1. 全局替换tool_center/inspiration为discover模块,统一路由路径 2. 调整AppRoutes路由常量,将discover作为主Tab页,inspiration作为子页面 3. 更新页面注册表与路由配置,修正跳转目标 4. 调整启动页可选配置项,修正路由ID对应关系 5. 新增翻译服务、内容发现、热搜相关工具类与数据模型 6. 修复缓存清理后未刷新统计的问题,调整x86_64架构注释 7. 更新AGENTS.md文档约束规则 8. 新增一批调试用截图资源文件
70 lines
3.2 KiB
Dart
70 lines
3.2 KiB
Dart
// ============================================================
|
||
// 闲言APP — 翻译语言模型
|
||
// 创建时间: 2026-05-19
|
||
// 更新时间: 2026-05-19
|
||
// 作用: 翻译助手支持的语言定义,含语言代码、名称、国旗emoji
|
||
// 上次更新: 初始创建
|
||
// ============================================================
|
||
|
||
class TranslateLanguage {
|
||
const TranslateLanguage({
|
||
required this.code,
|
||
required this.name,
|
||
required this.flag,
|
||
this.isPopular = false,
|
||
});
|
||
|
||
final String code;
|
||
final String name;
|
||
final String flag;
|
||
final bool isPopular;
|
||
|
||
static const List<TranslateLanguage> supported = [
|
||
TranslateLanguage(code: 'zh-CN', name: '中文', flag: '🇨🇳', isPopular: true),
|
||
TranslateLanguage(code: 'zh-TW', name: '繁体中文', flag: '🇹🇼'),
|
||
TranslateLanguage(code: 'en', name: '英语', flag: '🇺🇸', isPopular: true),
|
||
TranslateLanguage(code: 'ja', name: '日语', flag: '🇯🇵', isPopular: true),
|
||
TranslateLanguage(code: 'ko', name: '韩语', flag: '🇰🇷', isPopular: true),
|
||
TranslateLanguage(code: 'fr', name: '法语', flag: '🇫🇷', isPopular: true),
|
||
TranslateLanguage(code: 'de', name: '德语', flag: '🇩🇪', isPopular: true),
|
||
TranslateLanguage(code: 'es', name: '西班牙语', flag: '🇪🇸', isPopular: true),
|
||
TranslateLanguage(code: 'ru', name: '俄语', flag: '🇷🇺', isPopular: true),
|
||
TranslateLanguage(code: 'pt', name: '葡萄牙语', flag: '🇵🇹'),
|
||
TranslateLanguage(code: 'it', name: '意大利语', flag: '🇮🇹'),
|
||
TranslateLanguage(code: 'ar', name: '阿拉伯语', flag: '🇸🇦'),
|
||
TranslateLanguage(code: 'th', name: '泰语', flag: '🇹🇭'),
|
||
TranslateLanguage(code: 'vi', name: '越南语', flag: '🇻🇳'),
|
||
TranslateLanguage(code: 'id', name: '印尼语', flag: '🇮🇩'),
|
||
TranslateLanguage(code: 'ms', name: '马来语', flag: '🇲🇾'),
|
||
TranslateLanguage(code: 'hi', name: '印地语', flag: '🇮🇳'),
|
||
TranslateLanguage(code: 'nl', name: '荷兰语', flag: '🇳🇱'),
|
||
TranslateLanguage(code: 'pl', name: '波兰语', flag: '🇵🇱'),
|
||
TranslateLanguage(code: 'tr', name: '土耳其语', flag: '🇹🇷'),
|
||
TranslateLanguage(code: 'sv', name: '瑞典语', flag: '🇸🇪'),
|
||
TranslateLanguage(code: 'uk', name: '乌克兰语', flag: '🇺🇦'),
|
||
TranslateLanguage(code: 'el', name: '希腊语', flag: '🇬🇷'),
|
||
TranslateLanguage(code: 'cs', name: '捷克语', flag: '🇨🇿'),
|
||
TranslateLanguage(code: 'da', name: '丹麦语', flag: '🇩🇰'),
|
||
TranslateLanguage(code: 'fi', name: '芬兰语', flag: '🇫🇮'),
|
||
TranslateLanguage(code: 'no', name: '挪威语', flag: '🇳🇴'),
|
||
TranslateLanguage(code: 'ro', name: '罗马尼亚语', flag: '🇷🇴'),
|
||
TranslateLanguage(code: 'hu', name: '匈牙利语', flag: '🇭🇺'),
|
||
];
|
||
|
||
static List<TranslateLanguage> get popular =>
|
||
supported.where((l) => l.isPopular).toList();
|
||
|
||
static TranslateLanguage? findByCode(String code) {
|
||
for (final lang in supported) {
|
||
if (lang.code == code) return lang;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
static const autoDetect = TranslateLanguage(
|
||
code: 'auto',
|
||
name: '自动检测',
|
||
flag: '🔍',
|
||
);
|
||
}
|