feat(client/i18n): 新增 日/韩/俄/西 4 语,默认语种改英文

- AppLang enum 扩为 zh/en/ja/ko/ru/es;新增 strings_{ja,ko,ru,es}.dart
  (各 161 条,照 strings_en.dart 结构逐条翻译,无红线词,scan-redline 过)
- app_providers: localeProvider 默认 AppLang.en(国际化默认);appTextProvider
  三元改 switch 全覆盖 6 语
- AppLang.nativeLabel 扩展(各语言本地名);settings/account 两处 _LangSwitch
  段控改下拉(6 语横排会挤)
- flutter analyze lib 仅剩 2 个既有 withOpacity deprecation info

注:节点/套餐名、错误消息等 ~11 处数据驱动的 zh/en 三元暂回退 en(非崩溃,
后续可扩多语字段)。localeProvider 暂无持久化(沿用原设计,后续可加)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013nMthbVEmQquxBRKb9Fj8u
This commit is contained in:
wangjia
2026-07-07 13:20:16 +08:00
parent c3b64e8d0f
commit 3aeb2a8680
8 changed files with 1594 additions and 49 deletions
+22 -1
View File
@@ -11,7 +11,28 @@
// 接口形态与 .arb 一致,后续可平滑迁移到官方 l10n 工具链。
/// 受支持语言。单显——任一时刻只渲染其一。
enum AppLang { zh, en }
/// zh 中文 · en English · ja 日本語 · ko 한국어 · ru Русский · es Español。
enum AppLang { zh, en, ja, ko, ru, es }
/// 语言的本地名(用于语言切换 UI,各语言用自身文字标注)。
extension AppLangLabel on AppLang {
String get nativeLabel {
switch (this) {
case AppLang.zh:
return '中文';
case AppLang.en:
return 'English';
case AppLang.ja:
return '日本語';
case AppLang.ko:
return '한국어';
case AppLang.ru:
return 'Русский';
case AppLang.es:
return 'Español';
}
}
}
/// 全部界面文案的抽象契约。zh / en 各实现一份。
abstract class AppText {