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
11 changes: 8 additions & 3 deletions src/renderer/components/settings/SettingsGeneral.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ export function SettingsGeneral() {
const { i18n, t } = useTranslation();
const settings = useAppStore((s) => s.settings);
const updateSettings = useAppStore((s) => s.updateSettings);
const currentLang = i18n.language.startsWith('zh') ? 'zh' : 'en';
const currentLang = i18n.language.startsWith('zh')
? 'zh'
: i18n.language.startsWith('de')
? 'de'
: 'en';
const [appVer, setAppVer] = useState('');
useEffect(() => {
try {
Expand All @@ -19,8 +23,9 @@ export function SettingsGeneral() {
}, []);

const languages = [
{ code: 'en', nativeName: 'English' },
{ code: 'zh', nativeName: '中文' },
{ code: 'en', nativeName: t('language.english', 'English') },
{ code: 'zh', nativeName: t('language.chinese', '中文') },
{ code: 'de', nativeName: t('language.german', 'Deutsch') },
];

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

import enTranslations from './locales/en.json';
import zhTranslations from './locales/zh.json';
import deTranslations from './locales/de.json';

i18n
.use(LanguageDetector) // 自动检测浏览器语言
.use(initReactI18next) // 初始化 react-i18next
.use(LanguageDetector)
.use(initReactI18next)
.init({
resources: {
en: {
Expand All @@ -16,9 +17,12 @@ i18n
zh: {
translation: zhTranslations,
},
de: {
translation: deTranslations,
},
},
fallbackLng: 'en', // 默认语言
supportedLngs: ['en', 'zh'], // 支持的语言
fallbackLng: 'en',
supportedLngs: ['en', 'zh', 'de'],
interpolation: {
escapeValue: false, // React 已经处理了 XSS
},
Expand Down
Loading
Loading