fix: address language review feedback

This commit is contained in:
Chebotov Nickolay
2026-02-06 15:08:53 +03:00
parent d5ccef8b24
commit 0bb8090686
5 changed files with 26 additions and 20 deletions

View File

@@ -3,6 +3,8 @@
* 从原项目 src/utils/constants.js 迁移
*/
import type { Language } from '@/types';
// 缓存过期时间(毫秒)
export const CACHE_EXPIRY_MS = 30 * 1000; // 与基线保持一致,减少管理端压力
@@ -33,6 +35,15 @@ export const STORAGE_KEY_LANGUAGE = 'cli-proxy-language';
export const STORAGE_KEY_SIDEBAR = 'cli-proxy-sidebar-collapsed';
export const STORAGE_KEY_AUTH_FILES_PAGE_SIZE = 'cli-proxy-auth-files-page-size';
// 语言配置
export const LANGUAGE_ORDER: Language[] = ['zh-CN', 'en', 'ru'];
export const LANGUAGE_LABEL_KEYS: Record<Language, string> = {
'zh-CN': 'language.chinese',
en: 'language.english',
ru: 'language.russian'
};
export const SUPPORTED_LANGUAGES: Language[] = LANGUAGE_ORDER;
// 通知持续时间
export const NOTIFICATION_DURATION_MS = 3000;

View File

@@ -1,16 +1,16 @@
import type { Language } from '@/types';
import { STORAGE_KEY_LANGUAGE } from '@/utils/constants';
import { STORAGE_KEY_LANGUAGE, SUPPORTED_LANGUAGES } from '@/utils/constants';
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' || candidate === 'ru') {
return candidate;
if (SUPPORTED_LANGUAGES.includes(candidate as Language)) {
return candidate as Language;
}
} catch {
if (value === 'zh-CN' || value === 'en' || value === 'ru') {
return value;
if (SUPPORTED_LANGUAGES.includes(value as Language)) {
return value as Language;
}
}
return null;