Преглед изворни кода

feat: 暂时只启用英文

F-DEV пре 4 часа
родитељ
комит
f064d7d0eb
4 измењених фајлова са 17 додато и 12 уклоњено
  1. 10 10
      src/components/LanguageSwitch.tsx
  2. 4 0
      src/i18n/index.ts
  3. 2 1
      src/locales/fa-IR/pages.ts
  4. 1 1
      src/locales/zh-CN/pages.ts

+ 10 - 10
src/components/LanguageSwitch.tsx

@@ -1,18 +1,18 @@
-import { Dropdown, type MenuProps } from 'antd'
-import { useTranslation } from 'react-i18next'
+import { Dropdown, type MenuProps } from 'antd';
+import { useTranslation } from 'react-i18next';
 
 const LANGUAGES = [
     { code: 'en-US', label: 'English' },
-    { code: 'zh-CN', label: '简体中文' },
-    { code: 'fa-IR', label: 'فارسی' },
-]
+    // { code: 'zh-CN', label: '简体中文' },
+    // { code: 'fa-IR', label: 'فارسی' },
+];
 
 interface LanguageSwitchProps {
-    className?: string
+    className?: string;
 }
 
 export function LanguageSwitch({ className }: LanguageSwitchProps) {
-    const { i18n, t } = useTranslation()
+    const { i18n, t } = useTranslation();
 
     const menuProps: MenuProps = {
         items: LANGUAGES.map((lang) => ({
@@ -21,7 +21,7 @@ export function LanguageSwitch({ className }: LanguageSwitchProps) {
         })),
         selectedKeys: [i18n.language],
         onClick: ({ key }) => i18n.changeLanguage(key),
-    }
+    };
 
     return (
         <Dropdown menu={menuProps} trigger={['click']} placement="bottomRight">
@@ -29,7 +29,7 @@ export function LanguageSwitch({ className }: LanguageSwitchProps) {
                 {t('components.topbar.language')}
             </button>
         </Dropdown>
-    )
+    );
 }
 
-export default LanguageSwitch
+export default LanguageSwitch;

+ 4 - 0
src/i18n/index.ts

@@ -119,12 +119,16 @@ i18n.use(LanguageDetector)
 */
 
 // ****************** 使用 LanguageDetector、支持按需加载翻译文件 时 i18n 的配置方法 ******************
+// 临时只启用英文,恢复多语言时把数组清空或删掉过滤逻辑
+const ENABLED_LANGS = ['en-US'];
+
 // 匹配 locales 下所有 .ts,显式排除 dirMap.ts(fast-glob 否定语法)
 const modules = import.meta.glob(['@/locales/*.ts', '!@/locales/dirMap.ts']);
 const languageFiles: Record<string, () => Promise<any>> = {};
 const languageCodes = new Set<string>();
 Object.entries(modules).forEach(([path]) => {
     const lang = path.split('/').pop()?.replace('.ts', '') || '';
+    if (ENABLED_LANGS.length > 0 && !ENABLED_LANGS.includes(lang)) return;
     languageFiles[lang] = modules[path];
     languageCodes.add(lang);
     const baseCode = lang.split('-')[0];

+ 2 - 1
src/locales/fa-IR/pages.ts

@@ -25,7 +25,8 @@ export default {
             },
             trial: {
                 title: '۳ روز\nآزمایش رایگان',
-                description: 'بدون تعهد، ۳ روز تمام امکانات ویژه را رایگان امتحان کنید',
+                description:
+                    'بدون نیاز به کارت بانکی، ۳ روز تمام امکانات ویژه را رایگان تجربه کنید',
             },
             speed: {
                 title: 'سرعت بالا و تأخیر کم',

+ 1 - 1
src/locales/zh-CN/pages.ts

@@ -25,7 +25,7 @@ export default {
             },
             trial: {
                 title: '3天免费试用',
-                description: '无需承诺,免费体验3天全部高级功能',
+                description: '无需注册,免费体验3天全部高级功能',
             },
             speed: {
                 title: '高速低延迟',