Files
xianyan/lib/features/discover/models/translate_language.dart
Developer 63a0559721 refactor: 重构项目路由与模块结构,统一发现页命名与路径
1. 全局替换tool_center/inspiration为discover模块,统一路由路径
2. 调整AppRoutes路由常量,将discover作为主Tab页,inspiration作为子页面
3. 更新页面注册表与路由配置,修正跳转目标
4. 调整启动页可选配置项,修正路由ID对应关系
5. 新增翻译服务、内容发现、热搜相关工具类与数据模型
6. 修复缓存清理后未刷新统计的问题,调整x86_64架构注释
7. 更新AGENTS.md文档约束规则
8. 新增一批调试用截图资源文件
2026-05-28 06:42:20 +08:00

70 lines
3.2 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ============================================================
// 闲言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: '🔍',
);
}