diff --git a/src/components/LocaleSelector.tsx b/src/components/LocaleSelector.tsx index 41233c1..44c54df 100644 --- a/src/components/LocaleSelector.tsx +++ b/src/components/LocaleSelector.tsx @@ -24,6 +24,10 @@ const localeItemList: LocaleItem[] = [ value: "jp", label: "日本語", }, + { + value: "de", + label: "Deutsch", + }, ]; const LocaleSelector = () => { diff --git a/src/components/LocaleSwitch.tsx b/src/components/LocaleSwitch.tsx index a8dbcd9..29d98a2 100644 --- a/src/components/LocaleSwitch.tsx +++ b/src/components/LocaleSwitch.tsx @@ -12,6 +12,8 @@ const LocaleSwitch = () => { settingStore.setLocale("es"); } else if (locale === "es") { settingStore.setLocale("jp"); + } else if (locale === "jp") { + settingStore.setLocale("de"); } else { settingStore.setLocale("en"); } diff --git a/src/locales/de.json b/src/locales/de.json new file mode 100644 index 0000000..12a2fc2 --- /dev/null +++ b/src/locales/de.json @@ -0,0 +1,77 @@ +{ + "common": { + "clear": "Löschen", + "close": "Schließen", + "confirm": "Bestätigen", + "save": "Speichern", + "edit": "Bearbeiten", + "loading": "Laden", + "setting": "Einstellung", + "copy": "Kopieren", + "delete": "Löschen", + "execute": "Ausführen" + }, + "conversation": { + "new-chat": "Neuer Chat", + "conversation-title": "Titel des Gesprächs", + "update": "Gespräch aktualisieren", + "title": "Titel" + }, + "connection": { + "self": "Verbindung", + "new": "Verbindung erstellen", + "edit": "Verbindung bearbeiten", + "select-database": "Wählen Sie Ihre Datenbank aus", + "database-type": "Datenbanktyp", + "title": "Titel", + "host": "Host", + "port": "Port", + "database-name": "Datenbankname", + "username": "Benutzername", + "password": "Passwort" + }, + "assistant": { + "self": "Bot", + "create-your-bot": "Sie finden den benötigten Bot nicht? Erstellen Sie einen" + }, + "execution": { + "title": "SQL ausführen", + "message": { + "executing": "Abfrage wird ausgeführt...", + "no-connection": "Keine Verbindung ausgewählt", + "no-data": "Keine Daten zurückgegeben" + } + }, + "editor": { + "placeholder": "Geben Sie hier Ihre Frage ein..." + }, + "setting": { + "self": "Einstellung", + "basic": { + "self": "Grundlegend", + "language": "Sprache" + }, + "theme": { + "self": "Thema", + "system": "System folgen", + "light": "Hell", + "dark": "Dunkel" + }, + "openai-api-configuration": { + "self": "OpenAI API-Konfiguration" + }, + "data": { + "self": "Daten", + "clear-all-data": "Alle Daten löschen" + } + }, + "social": { + "join-discord-channel": "Discord-Kanal beitreten", + "join-wechat-group": "WeChat-Gruppe beitreten" + }, + "banner": { + "data-storage": "Verbindungseinstellungen werden in Ihrem lokalen Browser gespeichert", + "non-select-sql-warning": "Die aktuelle Anweisung kann eine nicht-SELECT SQL-Anweisung sein, die zu einer Änderung des Datenbankschemas oder der Daten führen wird. Stellen Sie sicher, dass Sie wissen, was Sie tun.", + "product-hunt": "🚀🚀🚀 Wir haben gerade auf Product Hunt gestartet, bitte geben Sie uns eine Stimme! 🚀🚀🚀" + } +} diff --git a/src/locales/i18n.ts b/src/locales/i18n.ts index b064663..c176d3b 100644 --- a/src/locales/i18n.ts +++ b/src/locales/i18n.ts @@ -4,6 +4,7 @@ import enLocale from "./en.json"; import zhLocale from "./zh.json"; import esLocale from "./es.json"; import jpLocale from "./jp.json"; +import deLocale from "./de.json"; i18n.use(initReactI18next).init({ resources: { @@ -19,6 +20,9 @@ i18n.use(initReactI18next).init({ jp: { translation: jpLocale, }, + de: { + translation: deLocale, + }, }, fallbackLng: "en", }); diff --git a/src/types/setting.ts b/src/types/setting.ts index cdf6458..253b9c7 100644 --- a/src/types/setting.ts +++ b/src/types/setting.ts @@ -1,4 +1,4 @@ -export type Locale = "en" | "zh" | "es" | "jp"; +export type Locale = "en" | "zh" | "es" | "jp" | "de"; export type Theme = "light" | "dark" | "system";