feat(i18n): add Russian locale and enable 'ru' language; translate core keys to Russian

This commit is contained in:
Chebotov Nickolay
2026-02-06 11:26:32 +03:00
parent 26fa1ea98e
commit ad1387d076
4 changed files with 1123 additions and 5 deletions

View File

@@ -5,11 +5,11 @@ const parseStoredLanguage = (value: string): Language | null => {
try {
const parsed = JSON.parse(value);
const candidate = parsed?.state?.language ?? parsed?.language ?? parsed;
if (candidate === 'zh-CN' || candidate === 'en') {
if (candidate === 'zh-CN' || candidate === 'en' || candidate === 'ru') {
return candidate;
}
} catch {
if (value === 'zh-CN' || value === 'en') {
if (value === 'zh-CN' || value === 'en' || value === 'ru') {
return value;
}
}
@@ -36,7 +36,10 @@ const getBrowserLanguage = (): Language => {
return 'zh-CN';
}
const raw = navigator.languages?.[0] || navigator.language || 'zh-CN';
return raw.toLowerCase().startsWith('zh') ? 'zh-CN' : 'en';
const lower = raw.toLowerCase();
if (lower.startsWith('zh')) return 'zh-CN';
if (lower.startsWith('ru')) return 'ru';
return 'en';
};
export const getInitialLanguage = (): Language => getStoredLanguage() ?? getBrowserLanguage();