Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/renderer/components/settings/SettingsGeneral.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ export function SettingsGeneral() {
const languages = [
{ code: 'en', nativeName: 'English' },
{ code: 'zh', nativeName: '中文' },
{ code: 'es', nativeName: 'Español' },
{ code: 'fr', nativeName: 'Français' },
{ code: 'de', nativeName: 'Deutsch' },
{ code: 'it', nativeName: 'Italiano' },
{ code: 'uk', nativeName: 'Українська' },
{ code: 'pl', nativeName: 'Polski' },
{ code: 'sv', nativeName: 'Svenska' },
{ code: 'no', nativeName: 'Norsk' },
{ code: 'nl', nativeName: 'Nederlands' },
{ code: 'ro', nativeName: 'Română' },
];

const themeOptions = [
Expand Down
46 changes: 31 additions & 15 deletions src/renderer/i18n/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,45 @@ import LanguageDetector from 'i18next-browser-languagedetector';

import enTranslations from './locales/en.json';
import zhTranslations from './locales/zh.json';
import esTranslations from './locales/es.json';
import frTranslations from './locales/fr.json';
import deTranslations from './locales/de.json';
import itTranslations from './locales/it.json';
import ukTranslations from './locales/uk.json';
import plTranslations from './locales/pl.json';
import svTranslations from './locales/sv.json';
import noTranslations from './locales/no.json';
import nlTranslations from './locales/nl.json';
import roTranslations from './locales/ro.json';

i18n
.use(LanguageDetector) // 自动检测浏览器语言
.use(initReactI18next) // 初始化 react-i18next
.use(LanguageDetector) // auto-detect the browser/UI language
.use(initReactI18next) // initialize react-i18next
.init({
resources: {
en: {
translation: enTranslations,
},
zh: {
translation: zhTranslations,
},
en: { translation: enTranslations },
zh: { translation: zhTranslations },
es: { translation: esTranslations },
fr: { translation: frTranslations },
de: { translation: deTranslations },
it: { translation: itTranslations },
uk: { translation: ukTranslations },
pl: { translation: plTranslations },
sv: { translation: svTranslations },
no: { translation: noTranslations },
nl: { translation: nlTranslations },
ro: { translation: roTranslations },
},
fallbackLng: 'en', // 默认语言
supportedLngs: ['en', 'zh'], // 支持的语言
fallbackLng: 'en', // default language
supportedLngs: ['en', 'zh', 'es', 'fr', 'de', 'it', 'uk', 'pl', 'sv', 'no', 'nl', 'ro'],
interpolation: {
escapeValue: false, // React 已经处理了 XSS
escapeValue: false, // React already guards against XSS
},
pluralSeparator: '_', // 复数分隔符
contextSeparator: '_', // 上下文分隔符
pluralSeparator: '_', // plural separator
contextSeparator: '_', // context separator
detection: {
order: ['localStorage', 'navigator'], // 先检查 localStorage,再检查浏览器语言
caches: ['localStorage'], // 将语言选择保存到 localStorage
order: ['localStorage', 'navigator'], // check localStorage first, then the browser language
caches: ['localStorage'], // persist the language choice to localStorage
lookupLocalStorage: 'i18nextLng', // localStorage key
},
});
Expand Down
954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/de.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/es.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/fr.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/it.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/nl.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/no.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/pl.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/ro.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/sv.json

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions src/renderer/i18n/locales/uk.json

Large diffs are not rendered by default.

Loading