diff --git a/gpt4all-chat/main.cpp b/gpt4all-chat/main.cpp index d502903e..4546a95b 100644 --- a/gpt4all-chat/main.cpp +++ b/gpt4all-chat/main.cpp @@ -67,6 +67,8 @@ int main(int argc, char *argv[]) qmlRegisterSingletonInstance("download", 1, 0, "Download", Download::globalInstance()); qmlRegisterSingletonInstance("network", 1, 0, "Network", Network::globalInstance()); qmlRegisterSingletonInstance("localdocs", 1, 0, "LocalDocs", LocalDocs::globalInstance()); + qmlRegisterUncreatableMetaObject(MySettingsEnums::staticMetaObject, "mysettingsenums", 1, 0, "MySettingsEnums", "Error: only enums"); + const QUrl url(u"qrc:/gpt4all/main.qml"_qs); QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, diff --git a/gpt4all-chat/mysettings.cpp b/gpt4all-chat/mysettings.cpp index d89f6e32..3567b4d0 100644 --- a/gpt4all-chat/mysettings.cpp +++ b/gpt4all-chat/mysettings.cpp @@ -24,6 +24,11 @@ using namespace Qt::Literals::StringLiterals; +// used only for settings serialization, do not translate +static const QStringList suggestionModeNames { "LocalDocsOnly", "On", "Off" }; +static const QStringList chatThemeNames { "Light", "Dark", "LegacyDark" }; +static const QStringList fontSizeNames { "Small", "Medium", "Large" }; + // FIXME: All of these default strings that are shown in the UI for settings need to be marked as // translatable @@ -39,8 +44,8 @@ static const QString languageAndLocale = "Default"; } // namespace defaults static const QVariantMap basicDefaults { - { "chatTheme", "Light" }, - { "fontSize", "Small" }, + { "chatTheme", QVariant::fromValue(ChatTheme::Light) }, + { "fontSize", QVariant::fromValue(FontSize::Small) }, { "lastVersionStarted", "" }, { "networkPort", 4891, }, { "saveChatsContext", false }, @@ -169,6 +174,12 @@ void MySettings::setBasicSetting(const QString &name, const QVariant &value, std QMetaObject::invokeMethod(this, u"%1Changed"_s.arg(signal.value_or(name)).toLatin1().constData()); } +int MySettings::getEnumSetting(const QString &setting, const QStringList &valueNames) const +{ + int idx = valueNames.indexOf(getBasicSetting(setting).toString()); + return idx != -1 ? idx : *reinterpret_cast(basicDefaults.value(setting).constData()); +} + void MySettings::restoreModelDefaults(const ModelInfo &info) { setModelTemperature(info, info.m_temperature); @@ -189,8 +200,8 @@ void MySettings::restoreModelDefaults(const ModelInfo &info) void MySettings::restoreApplicationDefaults() { - setChatTheme(basicDefaults.value("chatTheme").toString()); - setFontSize(basicDefaults.value("fontSize").toString()); + setChatTheme(basicDefaults.value("chatTheme").value()); + setFontSize(basicDefaults.value("fontSize").value()); setDevice(defaults::device); setThreadCount(defaults::threadCount); setSaveChatsContext(basicDefaults.value("saveChatsContext").toBool()); @@ -431,29 +442,28 @@ void MySettings::setThreadCount(int value) emit threadCountChanged(); } -bool MySettings::saveChatsContext() const { return getBasicSetting("saveChatsContext" ).toBool(); } -bool MySettings::serverChat() const { return getBasicSetting("serverChat" ).toBool(); } -int MySettings::networkPort() const { return getBasicSetting("networkPort" ).toInt(); } -QString MySettings::userDefaultModel() const { return getBasicSetting("userDefaultModel" ).toString(); } -QString MySettings::chatTheme() const { return getBasicSetting("chatTheme" ).toString(); } -QString MySettings::fontSize() const { return getBasicSetting("fontSize" ).toString(); } -QString MySettings::lastVersionStarted() const { return getBasicSetting("lastVersionStarted" ).toString(); } -int MySettings::localDocsChunkSize() const { return getBasicSetting("localdocs/chunkSize" ).toInt(); } -int MySettings::localDocsRetrievalSize() const { return getBasicSetting("localdocs/retrievalSize" ).toInt(); } -bool MySettings::localDocsShowReferences() const { return getBasicSetting("localdocs/showReferences").toBool(); } -QStringList MySettings::localDocsFileExtensions() const { return getBasicSetting("localdocs/fileExtensions").toStringList(); } -bool MySettings::localDocsUseRemoteEmbed() const { return getBasicSetting("localdocs/useRemoteEmbed").toBool(); } -QString MySettings::localDocsNomicAPIKey() const { return getBasicSetting("localdocs/nomicAPIKey" ).toString(); } -QString MySettings::localDocsEmbedDevice() const { return getBasicSetting("localdocs/embedDevice" ).toString(); } -QString MySettings::networkAttribution() const { return getBasicSetting("network/attribution" ).toString(); } -SuggestionMode MySettings::suggestionMode() const { return getBasicSetting("suggestionMode").value(); }; +bool MySettings::saveChatsContext() const { return getBasicSetting("saveChatsContext" ).toBool(); } +bool MySettings::serverChat() const { return getBasicSetting("serverChat" ).toBool(); } +int MySettings::networkPort() const { return getBasicSetting("networkPort" ).toInt(); } +QString MySettings::userDefaultModel() const { return getBasicSetting("userDefaultModel" ).toString(); } +QString MySettings::lastVersionStarted() const { return getBasicSetting("lastVersionStarted" ).toString(); } +int MySettings::localDocsChunkSize() const { return getBasicSetting("localdocs/chunkSize" ).toInt(); } +int MySettings::localDocsRetrievalSize() const { return getBasicSetting("localdocs/retrievalSize" ).toInt(); } +bool MySettings::localDocsShowReferences() const { return getBasicSetting("localdocs/showReferences").toBool(); } +QStringList MySettings::localDocsFileExtensions() const { return getBasicSetting("localdocs/fileExtensions").toStringList(); } +bool MySettings::localDocsUseRemoteEmbed() const { return getBasicSetting("localdocs/useRemoteEmbed").toBool(); } +QString MySettings::localDocsNomicAPIKey() const { return getBasicSetting("localdocs/nomicAPIKey" ).toString(); } +QString MySettings::localDocsEmbedDevice() const { return getBasicSetting("localdocs/embedDevice" ).toString(); } +QString MySettings::networkAttribution() const { return getBasicSetting("network/attribution" ).toString(); } + +ChatTheme MySettings::chatTheme() const { return ChatTheme (getEnumSetting("chatTheme", chatThemeNames)); } +FontSize MySettings::fontSize() const { return FontSize (getEnumSetting("fontSize", fontSizeNames)); } +SuggestionMode MySettings::suggestionMode() const { return SuggestionMode(getEnumSetting("suggestionMode", suggestionModeNames)); } void MySettings::setSaveChatsContext(bool value) { setBasicSetting("saveChatsContext", value); } void MySettings::setServerChat(bool value) { setBasicSetting("serverChat", value); } void MySettings::setNetworkPort(int value) { setBasicSetting("networkPort", value); } void MySettings::setUserDefaultModel(const QString &value) { setBasicSetting("userDefaultModel", value); } -void MySettings::setChatTheme(const QString &value) { setBasicSetting("chatTheme", value); } -void MySettings::setFontSize(const QString &value) { setBasicSetting("fontSize", value); } void MySettings::setLastVersionStarted(const QString &value) { setBasicSetting("lastVersionStarted", value); } void MySettings::setLocalDocsChunkSize(int value) { setBasicSetting("localdocs/chunkSize", value, "localDocsChunkSize"); } void MySettings::setLocalDocsRetrievalSize(int value) { setBasicSetting("localdocs/retrievalSize", value, "localDocsRetrievalSize"); } @@ -463,7 +473,10 @@ void MySettings::setLocalDocsUseRemoteEmbed(bool value) { setBasic void MySettings::setLocalDocsNomicAPIKey(const QString &value) { setBasicSetting("localdocs/nomicAPIKey", value, "localDocsNomicAPIKey"); } void MySettings::setLocalDocsEmbedDevice(const QString &value) { setBasicSetting("localdocs/embedDevice", value, "localDocsEmbedDevice"); } void MySettings::setNetworkAttribution(const QString &value) { setBasicSetting("network/attribution", value, "networkAttribution"); } -void MySettings::setSuggestionMode(SuggestionMode value) { setBasicSetting("suggestionMode", int(value)); } + +void MySettings::setChatTheme(ChatTheme value) { setBasicSetting("chatTheme", chatThemeNames .value(int(value))); } +void MySettings::setFontSize(FontSize value) { setBasicSetting("fontSize", fontSizeNames .value(int(value))); } +void MySettings::setSuggestionMode(SuggestionMode value) { setBasicSetting("suggestionMode", suggestionModeNames.value(int(value))); } QString MySettings::modelPath() { diff --git a/gpt4all-chat/mysettings.h b/gpt4all-chat/mysettings.h index b84a44f8..64eb54c5 100644 --- a/gpt4all-chat/mysettings.h +++ b/gpt4all-chat/mysettings.h @@ -16,12 +16,29 @@ namespace MySettingsEnums { Q_NAMESPACE + /* NOTE: values of these enums are used as indices for the corresponding combo boxes in + * ApplicationSettings.qml, as well as the corresponding name lists in mysettings.cpp */ + enum class SuggestionMode { LocalDocsOnly = 0, - On = 1, - Off = 2, + On = 1, + Off = 2, }; Q_ENUM_NS(SuggestionMode) + + enum class ChatTheme { + Light = 0, + Dark = 1, + LegacyDark = 2, + }; + Q_ENUM_NS(ChatTheme) + + enum class FontSize { + Small = 0, + Medium = 1, + Large = 2, + }; + Q_ENUM_NS(FontSize) } using namespace MySettingsEnums; @@ -33,10 +50,8 @@ class MySettings : public QObject Q_PROPERTY(bool serverChat READ serverChat WRITE setServerChat NOTIFY serverChatChanged) Q_PROPERTY(QString modelPath READ modelPath WRITE setModelPath NOTIFY modelPathChanged) Q_PROPERTY(QString userDefaultModel READ userDefaultModel WRITE setUserDefaultModel NOTIFY userDefaultModelChanged) - // FIXME: This should be changed to an enum to allow translations to work - Q_PROPERTY(QString chatTheme READ chatTheme WRITE setChatTheme NOTIFY chatThemeChanged) - // FIXME: This should be changed to an enum to allow translations to work - Q_PROPERTY(QString fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged) + Q_PROPERTY(ChatTheme chatTheme READ chatTheme WRITE setChatTheme NOTIFY chatThemeChanged) + Q_PROPERTY(FontSize fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged) Q_PROPERTY(QString languageAndLocale READ languageAndLocale WRITE setLanguageAndLocale NOTIFY languageAndLocaleChanged) Q_PROPERTY(bool forceMetal READ forceMetal WRITE setForceMetal NOTIFY forceMetalChanged) Q_PROPERTY(QString lastVersionStarted READ lastVersionStarted WRITE setLastVersionStarted NOTIFY lastVersionStartedChanged) @@ -131,10 +146,10 @@ public: void setModelPath(const QString &value); QString userDefaultModel() const; void setUserDefaultModel(const QString &value); - QString chatTheme() const; - void setChatTheme(const QString &value); - QString fontSize() const; - void setFontSize(const QString &value); + ChatTheme chatTheme() const; + void setChatTheme(ChatTheme value); + FontSize fontSize() const; + void setFontSize(FontSize value); bool forceMetal() const; void setForceMetal(bool value); QString device(); @@ -144,7 +159,7 @@ public: int32_t gpuLayers() const; void setGpuLayers(int32_t value); SuggestionMode suggestionMode() const; - void setSuggestionMode(SuggestionMode mode); + void setSuggestionMode(SuggestionMode value); QString languageAndLocale() const; void setLanguageAndLocale(const QString &bcp47Name = QString()); // called on startup with QString() @@ -239,6 +254,7 @@ private: QVariant getBasicSetting(const QString &name) const; void setBasicSetting(const QString &name, const QVariant &value, std::optional signal = std::nullopt); + int getEnumSetting(const QString &setting, const QStringList &valueNames) const; QVariant getModelSetting(const QString &name, const ModelInfo &info) const; void setModelSetting(const QString &name, const ModelInfo &info, const QVariant &value, bool force, bool signal = false); diff --git a/gpt4all-chat/qml/ApplicationSettings.qml b/gpt4all-chat/qml/ApplicationSettings.qml index 5969dbb8..f7c6a0b8 100644 --- a/gpt4all-chat/qml/ApplicationSettings.qml +++ b/gpt4all-chat/qml/ApplicationSettings.qml @@ -107,11 +107,12 @@ MySettingsTab { Layout.maximumWidth: 200 Layout.fillWidth: false Layout.alignment: Qt.AlignRight - model: [qsTr("Dark"), qsTr("Light"), qsTr("LegacyDark")] + // NOTE: indices match values of ChatTheme enum, keep them in sync + model: [qsTr("Light"), qsTr("Dark"), qsTr("LegacyDark")] Accessible.name: themeLabel.text Accessible.description: themeLabel.helpText function updateModel() { - themeBox.currentIndex = themeBox.indexOfValue(MySettings.chatTheme); + themeBox.currentIndex = MySettings.chatTheme; } Component.onCompleted: { themeBox.updateModel() @@ -123,7 +124,7 @@ MySettingsTab { } } onActivated: { - MySettings.chatTheme = themeBox.currentText + MySettings.chatTheme = themeBox.currentIndex } } MySettingsLabel { @@ -141,11 +142,12 @@ MySettingsTab { Layout.maximumWidth: 200 Layout.fillWidth: false Layout.alignment: Qt.AlignRight - model: ["Small", "Medium", "Large"] + // NOTE: indices match values of FontSize enum, keep them in sync + model: [qsTr("Small"), qsTr("Medium"), qsTr("Large")] Accessible.name: fontLabel.text Accessible.description: fontLabel.helpText function updateModel() { - fontBox.currentIndex = fontBox.indexOfValue(MySettings.fontSize); + fontBox.currentIndex = MySettings.fontSize; } Component.onCompleted: { fontBox.updateModel() @@ -157,7 +159,7 @@ MySettingsTab { } } onActivated: { - MySettings.fontSize = fontBox.currentText + MySettings.fontSize = fontBox.currentIndex } } MySettingsLabel { @@ -271,6 +273,7 @@ MySettingsTab { Layout.minimumWidth: 400 Layout.maximumWidth: 400 Layout.alignment: Qt.AlignRight + // NOTE: indices match values of SuggestionMode enum, keep them in sync model: [ qsTr("When chatting with LocalDocs"), qsTr("Whenever possible"), qsTr("Never") ] Accessible.name: suggestionModeLabel.text Accessible.description: suggestionModeLabel.helpText diff --git a/gpt4all-chat/qml/MyButton.qml b/gpt4all-chat/qml/MyButton.qml index ae106677..58dda2ee 100644 --- a/gpt4all-chat/qml/MyButton.qml +++ b/gpt4all-chat/qml/MyButton.qml @@ -3,6 +3,7 @@ import QtQuick import QtQuick.Controls import QtQuick.Controls.Basic import mysettings +import mysettingsenums Button { id: myButton @@ -14,7 +15,7 @@ Button { property color backgroundColor: theme.buttonBackground property color backgroundColorHovered: theme.buttonBackgroundHovered property real backgroundRadius: 10 - property real borderWidth: MySettings.chatTheme === "LegacyDark" ? 1 : 0 + property real borderWidth: MySettings.chatTheme === MySettingsEnums.ChatTheme.LegacyDark ? 1 : 0 property color borderColor: theme.buttonBorder property real fontPixelSize: theme.fontSizeLarge property bool fontPixelBold: false diff --git a/gpt4all-chat/qml/Theme.qml b/gpt4all-chat/qml/Theme.qml index 70191cc6..670c6664 100644 --- a/gpt4all-chat/qml/Theme.qml +++ b/gpt4all-chat/qml/Theme.qml @@ -2,6 +2,7 @@ import QtCore import QtQuick import QtQuick.Controls.Basic import mysettings +import mysettingsenums QtObject { // black and white @@ -119,9 +120,9 @@ QtObject { property color accentColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return yellow300 default: return yellow300 @@ -134,9 +135,9 @@ QtObject { property color darkContrast: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray300 default: return gray100 @@ -145,9 +146,9 @@ QtObject { property color lightContrast: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray0 default: return gray0 @@ -156,9 +157,9 @@ QtObject { */ property color controlBorder: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue800 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray0 default: return gray300 @@ -167,9 +168,9 @@ QtObject { property color controlBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray300 default: return gray100 @@ -178,9 +179,9 @@ QtObject { property color disabledControlBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray200 default: return gray200 @@ -189,9 +190,9 @@ QtObject { property color dividerColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray200 default: return grayRed0 @@ -204,9 +205,9 @@ QtObject { property color settingsDivider: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return dividerColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray400 default: return grayRed500 @@ -215,9 +216,9 @@ QtObject { property color viewBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue600 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray100 default: return gray50 @@ -228,9 +229,9 @@ QtObject { property color containerForeground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray300 default: return gray300 @@ -239,9 +240,9 @@ QtObject { */ property color containerBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue900 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray200 default: return gray100 @@ -250,9 +251,9 @@ QtObject { property color viewBarBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray400 default: return gray100 @@ -261,9 +262,9 @@ QtObject { property color progressForeground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return accentColor default: return green600 @@ -272,9 +273,9 @@ QtObject { property color progressBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue900 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green600 default: return green100 @@ -283,7 +284,7 @@ QtObject { property color altProgressForeground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return progressForeground default: return "#fcf0c9" @@ -292,7 +293,7 @@ QtObject { property color altProgressBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return progressBackground default: return "#fff9d2" @@ -301,7 +302,7 @@ QtObject { property color altProgressText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return textColor default: return "#d16f0e" @@ -310,9 +311,9 @@ QtObject { property color checkboxBorder: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return gray200 default: return gray600 @@ -321,9 +322,9 @@ QtObject { property color checkboxForeground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green300 default: return green600 @@ -332,9 +333,9 @@ QtObject { property color buttonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue950 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray300 default: return green600 @@ -343,9 +344,9 @@ QtObject { property color buttonBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue900 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray400 default: return green500 @@ -354,9 +355,9 @@ QtObject { property color lightButtonText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return textColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return textColor default: return green600 @@ -365,9 +366,9 @@ QtObject { property color lightButtonMutedText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return mutedTextColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return mutedTextColor default: return green300 @@ -376,9 +377,9 @@ QtObject { property color lightButtonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackground - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackground default: return green100 @@ -387,9 +388,9 @@ QtObject { property color lightButtonBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackgroundHovered - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackgroundHovered default: return green200 @@ -398,9 +399,9 @@ QtObject { property color darkButtonText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return textColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return textColor default: return red600 @@ -409,9 +410,9 @@ QtObject { property color darkButtonMutedText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return mutedTextColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return mutedTextColor default: return red300 @@ -420,9 +421,9 @@ QtObject { property color darkButtonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackground - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackground default: return red200 @@ -431,9 +432,9 @@ QtObject { property color darkButtonBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackgroundHovered - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackgroundHovered default: return red300 @@ -442,9 +443,9 @@ QtObject { property color lighterButtonForeground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return textColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return textColor default: return green600 @@ -453,9 +454,9 @@ QtObject { property color lighterButtonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackground - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackground default: return green100 @@ -464,9 +465,9 @@ QtObject { property color lighterButtonBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackgroundHovered - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackgroundHovered default: return green50 @@ -475,9 +476,9 @@ QtObject { property color lighterButtonBackgroundHoveredRed: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackgroundHovered - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackgroundHovered default: return red50 @@ -486,9 +487,9 @@ QtObject { property color sourcesBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return lighterButtonBackground - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return lighterButtonBackground default: return gray100 @@ -497,9 +498,9 @@ QtObject { property color sourcesBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return lighterButtonBackgroundHovered - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return lighterButtonBackgroundHovered default: return gray200 @@ -508,9 +509,9 @@ QtObject { property color buttonBorder: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return controlBorder default: return yellow200 @@ -519,9 +520,9 @@ QtObject { property color conversationInputButtonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return accentColor default: return black @@ -530,9 +531,9 @@ QtObject { property color conversationInputButtonBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue0 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkwhite default: return accentColor @@ -541,9 +542,9 @@ QtObject { property color selectedBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue700 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray200 default: return gray0 @@ -552,9 +553,9 @@ QtObject { property color conversationButtonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue500 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray100 default: return gray0 @@ -562,9 +563,9 @@ QtObject { } property color conversationBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue500 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray50 default: return white @@ -573,9 +574,9 @@ QtObject { property color conversationProgress: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green400 default: return green400 @@ -584,9 +585,9 @@ QtObject { property color conversationButtonBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray0 default: return gray100 @@ -595,9 +596,9 @@ QtObject { property color conversationButtonBorder: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return yellow200 default: return yellow200 @@ -606,9 +607,9 @@ QtObject { property color conversationHeader: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green400 default: return green500 @@ -617,9 +618,9 @@ QtObject { property color collectionsButtonText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return black - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return black default: return white @@ -628,9 +629,9 @@ QtObject { property color collectionsButtonProgress: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray400 default: return green400 @@ -639,9 +640,9 @@ QtObject { property color collectionsButtonForeground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green300 default: return green600 @@ -664,9 +665,9 @@ QtObject { property color welcomeButtonBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBackground - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBackground default: return lighterButtonBackground @@ -675,9 +676,9 @@ QtObject { property color welcomeButtonBorder: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return buttonBorder - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return buttonBorder default: return green300 @@ -686,9 +687,9 @@ QtObject { property color welcomeButtonBorderHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray100 default: return green400 @@ -697,9 +698,9 @@ QtObject { property color welcomeButtonText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return textColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return textColor default: return green700 @@ -708,9 +709,9 @@ QtObject { property color welcomeButtonTextHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return gray400 default: return green800 @@ -719,9 +720,9 @@ QtObject { property color fancyLinkText: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return textColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return textColor default: return grayRed900 @@ -730,9 +731,9 @@ QtObject { property color fancyLinkTextHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return mutedTextColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return mutedTextColor default: return textColor @@ -741,9 +742,9 @@ QtObject { property color iconBackgroundDark: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green400 default: return black @@ -752,9 +753,9 @@ QtObject { property color iconBackgroundLight: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkwhite default: return gray500 @@ -763,9 +764,9 @@ QtObject { property color iconBackgroundHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue0 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return gray400 default: return accentColor @@ -774,9 +775,9 @@ QtObject { property color iconBackgroundViewBar: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return iconBackgroundLight - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return iconBackgroundLight default: return green500 @@ -785,9 +786,9 @@ QtObject { property color iconBackgroundViewBarToggled: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return iconBackgroundLight - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray50 default: return green200 @@ -796,9 +797,9 @@ QtObject { property color iconBackgroundViewBarHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return iconBackgroundHovered - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return iconBackgroundHovered default: return green600 @@ -807,9 +808,9 @@ QtObject { property color slugBackground: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue600 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray300 default: return gray100 @@ -818,9 +819,9 @@ QtObject { property color textColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue0 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkwhite default: return black @@ -846,9 +847,9 @@ QtObject { // normal contrast property color mutedTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return gray400 default: return gray500 @@ -858,9 +859,9 @@ QtObject { // dark contrast property color mutedDarkTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return mutedTextColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return mutedTextColor default: return grayRed500 @@ -870,7 +871,7 @@ QtObject { // dark contrast hovered property color mutedDarkTextColorHovered: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue400 default: return grayRed900 @@ -879,9 +880,9 @@ QtObject { property color oppositeTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return white - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkwhite default: return white @@ -890,9 +891,9 @@ QtObject { property color oppositeMutedTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return white - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkwhite default: return white @@ -901,9 +902,9 @@ QtObject { property color textAccent: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return accentColor default: return accentColor @@ -912,9 +913,9 @@ QtObject { property color textErrorColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return red400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return red400 default: return red400 @@ -923,9 +924,9 @@ QtObject { property color settingsTitleTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue100 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green200 default: return black @@ -934,9 +935,9 @@ QtObject { property color titleTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green300 default: return green700 @@ -945,9 +946,9 @@ QtObject { property color titleTextColor2: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return darkwhite - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green200 default: return green700 @@ -956,9 +957,9 @@ QtObject { property color titleInfoTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue200 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return gray400 default: return gray600 @@ -967,9 +968,9 @@ QtObject { property color styledTextColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple100 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return yellow25 default: return grayRed900 @@ -978,9 +979,9 @@ QtObject { property color styledTextColor2: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue0 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return yellow50 default: return green500 @@ -989,9 +990,9 @@ QtObject { property color chatDrawerSectionHeader: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple50 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return yellow0 default: return grayRed800 @@ -1000,9 +1001,9 @@ QtObject { property color dialogBorder: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return accentColor - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray0 default: return darkgray0 @@ -1011,9 +1012,9 @@ QtObject { property color linkColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return yellow600 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return yellow600 default: return yellow600 @@ -1022,9 +1023,9 @@ QtObject { property color mainHeader: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue900 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green600 default: return green600 @@ -1040,9 +1041,9 @@ QtObject { property color sendGlow: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue1000 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green950 default: return green300 @@ -1051,9 +1052,9 @@ QtObject { property color userColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue800 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return green700 default: return green700 @@ -1062,9 +1063,9 @@ QtObject { property color assistantColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return purple400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return accentColor default: return accentColor @@ -1073,8 +1074,8 @@ QtObject { property color codeDefaultColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: default: return textColor } @@ -1082,8 +1083,8 @@ QtObject { property color codeKeywordColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return "#2e95d3" // blue default: return "#195273" // dark blue @@ -1092,8 +1093,8 @@ QtObject { property color codeFunctionColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return"#f22c3d" // red default: return"#7d1721" // dark red @@ -1102,8 +1103,8 @@ QtObject { property color codeFunctionCallColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return "#e9950c" // orange default: return "#815207" // dark orange @@ -1112,8 +1113,8 @@ QtObject { property color codeCommentColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return "#808080" // gray default: return "#474747" // dark gray @@ -1122,8 +1123,8 @@ QtObject { property color codeStringColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return "#00a37d" // green default: return "#004a39" // dark green @@ -1132,8 +1133,8 @@ QtObject { property color codeNumberColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return "#df3079" // fuchsia default: return "#761942" // dark fuchsia @@ -1142,8 +1143,8 @@ QtObject { property color codeHeaderColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return containerBackground default: return green50 @@ -1152,8 +1153,8 @@ QtObject { property color codeBackgroundColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return controlBackground default: return gray100 @@ -1162,8 +1163,8 @@ QtObject { property color chatNameEditBgColor: { switch (MySettings.chatTheme) { - case "LegacyDark": - case "Dark": + case MySettingsEnums.ChatTheme.LegacyDark: + case MySettingsEnums.ChatTheme.Dark: return controlBackground default: return gray100 @@ -1172,9 +1173,9 @@ QtObject { property color menuBackgroundColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue700 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray200 default: return gray50 @@ -1183,9 +1184,9 @@ QtObject { property color menuHighlightColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return darkgray0 default: return green100 @@ -1194,17 +1195,17 @@ QtObject { property color menuBorderColor: { switch (MySettings.chatTheme) { - case "LegacyDark": + case MySettingsEnums.ChatTheme.LegacyDark: return blue400 - case "Dark": + case MySettingsEnums.ChatTheme.Dark: return gray800 default: return gray300 } } - property real fontScale: MySettings.fontSize === "Small" ? 1 : - MySettings.fontSize === "Medium" ? 1.3 : + property real fontScale: MySettings.fontSize === MySettingsEnums.FontSize.Small ? 1 : + MySettings.fontSize === MySettingsEnums.FontSize.Medium ? 1.3 : /* "Large" */ 1.8 property real fontSizeSmallest: 8 * fontScale diff --git a/gpt4all-chat/translations/gpt4all_en.ts b/gpt4all-chat/translations/gpt4all_en.ts index b33f9a21..f67221b1 100644 --- a/gpt4all-chat/translations/gpt4all_en.ts +++ b/gpt4all-chat/translations/gpt4all_en.ts @@ -485,6 +485,24 @@ The size of text in the application. + + + + Small + + + + + + Medium + + + + + + Large + + @@ -1653,47 +1671,47 @@ model to get started ModelList - + <ul><li>Requires personal OpenAI API key.</li><li>WARNING: Will send your chats to OpenAI!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with OpenAI</li><li>You can apply for an API key <a href="https://platform.openai.com/account/api-keys">here.</a></li> - + <strong>OpenAI's ChatGPT model GPT-3.5 Turbo</strong><br> %1 - + <strong>OpenAI's ChatGPT model GPT-4</strong><br> %1 %2 - + <strong>Mistral Tiny model</strong><br> %1 - + <strong>Mistral Small model</strong><br> %1 - + <strong>Mistral Medium model</strong><br> %1 - + <br><br><i>* Even if you pay OpenAI for ChatGPT-4 this does not guarantee API key access. Contact OpenAI for more info. - + <ul><li>Requires personal Mistral API key.</li><li>WARNING: Will send your chats to Mistral!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with Mistral</li><li>You can apply for an API key <a href="https://console.mistral.ai/user/api-keys">here</a>.</li> - + <strong>Created by %1.</strong><br><ul><li>Published on %2.<li>This model has %3 likes.<li>This model has %4 downloads.<li>More info can be found <a href="https://huggingface.co/%5">here.</a></ul> @@ -2345,6 +2363,14 @@ NOTE: By turning on this feature, you will be sending your data to the GPT4All O + + QObject + + + Default + + + SettingsView diff --git a/gpt4all-chat/translations/gpt4all_es_MX.ts b/gpt4all-chat/translations/gpt4all_es_MX.ts index 53e49076..4a057166 100644 --- a/gpt4all-chat/translations/gpt4all_es_MX.ts +++ b/gpt4all-chat/translations/gpt4all_es_MX.ts @@ -538,6 +538,24 @@ reinstall. + + + + Small + + + + + + Medium + + + + + + Large + + @@ -1830,47 +1848,47 @@ model to get started OpenAI</strong><br> %1 - + <ul><li>Requires personal OpenAI API key.</li><li>WARNING: Will send your chats to OpenAI!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with OpenAI</li><li>You can apply for an API key <a href="https://platform.openai.com/account/api-keys">here.</a></li> - + <strong>OpenAI's ChatGPT model GPT-3.5 Turbo</strong><br> %1 - + <br><br><i>* Even if you pay OpenAI for ChatGPT-4 this does not guarantee API key access. Contact OpenAI for more info. - + <strong>OpenAI's ChatGPT model GPT-4</strong><br> %1 %2 <strong>Modelo ChatGPT GPT-4 de OpenAI</strong><br> %1 %2 - + <ul><li>Requires personal Mistral API key.</li><li>WARNING: Will send your chats to Mistral!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with Mistral</li><li>You can apply for an API key <a href="https://console.mistral.ai/user/api-keys">here</a>.</li> - + <strong>Mistral Tiny model</strong><br> %1 <strong>Modelo Mistral Tiny</strong><br> %1 - + <strong>Mistral Small model</strong><br> %1 <strong>Modelo Mistral Small</strong><br> %1 - + <strong>Mistral Medium model</strong><br> %1 <strong>Modelo Mistral Medium</strong><br> %1 - + <strong>Created by %1.</strong><br><ul><li>Published on %2.<li>This model has %3 likes.<li>This model has %4 downloads.<li>More info can be found <a href="https://huggingface.co/%5">here.</a></ul> @@ -2657,6 +2675,14 @@ NOTE: By turning on this feature, you will be sending your data to the GPT4All O Se muestra cuando la ventana emergente está ocupada + + QObject + + + Default + Predeterminado + + SettingsView diff --git a/gpt4all-chat/translations/gpt4all_zh_CN.ts b/gpt4all-chat/translations/gpt4all_zh_CN.ts index b1eeb9f8..20a155ab 100644 --- a/gpt4all-chat/translations/gpt4all_zh_CN.ts +++ b/gpt4all-chat/translations/gpt4all_zh_CN.ts @@ -528,6 +528,24 @@ The size of text in the application. 应用中的文本大小。 + + + + Small + + + + + + Medium + + + + + + Large + + @@ -1744,32 +1762,32 @@ model to get started ModelList - + <ul><li>Requires personal OpenAI API key.</li><li>WARNING: Will send your chats to OpenAI!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with OpenAI</li><li>You can apply for an API key <a href="https://platform.openai.com/account/api-keys">here.</a></li> <ul><li>需要个人 OpenAI API 密钥。</li><li>警告:将把您的聊天内容发送给 OpenAI!</li><li>您的 API 密钥将存储在磁盘上</li><li>仅用于与 OpenAI 通信</li><li>您可以在此处<a href="https://platform.openai.com/account/api-keys">申请 API 密钥。</a></li> - + <strong>OpenAI's ChatGPT model GPT-3.5 Turbo</strong><br> %1 - + <strong>OpenAI's ChatGPT model GPT-4</strong><br> %1 %2 - + <strong>Mistral Tiny model</strong><br> %1 - + <strong>Mistral Small model</strong><br> %1 - + <strong>Mistral Medium model</strong><br> %1 @@ -1778,7 +1796,7 @@ model to get started <strong>OpenAI's ChatGPT model GPT-3.5 Turbo</strong><br> - + <br><br><i>* Even if you pay OpenAI for ChatGPT-4 this does not guarantee API key access. Contact OpenAI for more info. <br><br><i>* 即使您为ChatGPT-4向OpenAI付款,这也不能保证API密钥访问。联系OpenAI获取更多信息。 @@ -1787,7 +1805,7 @@ model to get started <strong>OpenAI's ChatGPT model GPT-4</strong><br> - + <ul><li>Requires personal Mistral API key.</li><li>WARNING: Will send your chats to Mistral!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with Mistral</li><li>You can apply for an API key <a href="https://console.mistral.ai/user/api-keys">here</a>.</li> <ul><li>Requires personal Mistral API key.</li><li>WARNING: Will send your chats to Mistral!</li><li>Your API key will be stored on disk</li><li>Will only be used to communicate with Mistral</li><li>You can apply for an API key <a href="https://console.mistral.ai/user/api-keys">here</a>.</li> @@ -1804,7 +1822,7 @@ model to get started <strong>Mistral Medium model</strong><br> - + <strong>Created by %1.</strong><br><ul><li>Published on %2.<li>This model has %3 likes.<li>This model has %4 downloads.<li>More info can be found <a href="https://huggingface.co/%5">here.</a></ul> <strong>Created by %1.</strong><br><ul><li>Published on %2.<li>This model has %3 likes.<li>This model has %4 downloads.<li>More info can be found <a href="https://huggingface.co/%5">here.</a></ul> @@ -2492,6 +2510,14 @@ NOTE: By turning on this feature, you will be sending your data to the GPT4All O 在弹出窗口显示忙碌时显示 + + QObject + + + Default + 默认 + + SettingsView