Browse Source

fix(登录): 改进语言检测逻辑并清理翻译文件格式

修改登录模块中检测语言的逻辑,从比较字符串改为分别检查语言代码和国家代码,提高准确性
清理翻译文件中的注释格式和代码对齐
newdev_shunjiawei
lxm 1 year ago
parent
commit
67b3185734
  1. 56
      lib/core/translations/app_translations.dart
  2. 4
      lib/main.dart
  3. 3
      lib/modules/login/controllers/login_controller.dart
  4. 6
      lib/modules/login/views/login_view.dart

56
lib/core/translations/app_translations.dart

@ -7,14 +7,14 @@ import 'language/en_us.dart';
import 'language/zh_cn.dart';
import 'language/es_es.dart';
import 'language/zh_hk.dart';
import 'language/pt_pt.dart'; // 添加葡萄牙语导入
import 'language/ja_jp.dart'; // 添加日语导入
import 'language/ko_kr.dart'; // 添加韩语导入
import 'language/fr_fr.dart'; // 添加法语导入
import 'language/de_de.dart'; // 添加德语导入
import 'language/ru_ru.dart'; // 添加俄语导入
import 'language/vi_vn.dart'; // 添加越南语导入
import 'language/it_it.dart'; // 添加意大利语导入
import 'language/pt_pt.dart'; // 添加葡萄牙语导入
import 'language/ja_jp.dart'; // 添加日语导入
import 'language/ko_kr.dart'; // 添加韩语导入
import 'language/fr_fr.dart'; // 添加法语导入
import 'language/de_de.dart'; // 添加德语导入
import 'language/ru_ru.dart'; // 添加俄语导入
import 'language/vi_vn.dart'; // 添加越南语导入
import 'language/it_it.dart'; // 添加意大利语导入
import 'language/hi_in.dart'; // 添加印度语导入
import 'language/id_id.dart'; // 添加印尼语导入
import 'language/th_Th.dart'; // 添加泰语导入
@ -26,15 +26,15 @@ class AppTranslations extends Translations {
static const fallbackLocale = Locale('zh', 'CN');
static final supportedLocales = [
const Locale('zh', 'CN'),
const Locale('zh', 'HK'), // 添加繁体中文支持
const Locale('zh', 'HK'), // 添加繁体中文支持
const Locale('en', 'US'),
const Locale('es', 'ES'), // 添加西班牙语
const Locale('pt', 'PT'), // 添加葡萄牙语支持
const Locale('ja', 'JP'), // 添加日语支持
const Locale('ko', 'KR'), // 添加韩语支持
const Locale('fr', 'FR'), // 添加法语支持
const Locale('de', 'DE'), // 添加德语支持
const Locale('ru', 'RU'), // 添加俄语支持
const Locale('pt', 'PT'), // 添加葡萄牙语支持
const Locale('ja', 'JP'), // 添加日语支持
const Locale('ko', 'KR'), // 添加韩语支持
const Locale('fr', 'FR'), // 添加法语支持
const Locale('de', 'DE'), // 添加德语支持
const Locale('ru', 'RU'), // 添加俄语支持
const Locale('vi', 'VN'), // 添加越南语支持
const Locale('it', 'IT'), // 添加意大利语支持
const Locale('hi', 'IN'), // 添加印度语支持
@ -58,23 +58,23 @@ class AppTranslations extends Translations {
@override
Map<String, Map<String, String>> get keys => {
'en_US': enUS,
'zh_CN': zhCN,
'zh_HK': zhHK, // 添加繁体中文映射
'es_ES': esES, // 添加西班牙语翻译映射
'pt_PT': ptPT, // 添加葡萄牙语映射
'ja_JP': jaJP, // 添加日语映射
'ko_KR': koKR, // 添加韩语映射
'fr_FR': frFR, // 添加法语映射
'de_DE': deDE, // 添加德语映射
'ru_RU': ruRU, // 添加俄语映射
'vi_VN': viVN, // 添加越南语映射
'it_IT': itIT, // 添加意大利语映射
'en_US': enUS,
'zh_CN': zhCN,
'zh_HK': zhHK, // 添加繁体中文映射
'es_ES': esES, // 添加西班牙语翻译映射
'pt_PT': ptPT, // 添加葡萄牙语映射
'ja_JP': jaJP, // 添加日语映射
'ko_KR': koKR, // 添加韩语映射
'fr_FR': frFR, // 添加法语映射
'de_DE': deDE, // 添加德语映射
'ru_RU': ruRU, // 添加俄语映射
'vi_VN': viVN, // 添加越南语映射
'it_IT': itIT, // 添加意大利语映射
'hi_IN': hiIN, // 添加印度语映射
'id_ID': idID, // 添加印尼语映射
'th_TH': thTH, // 添加泰语映射
'ms_MY': msMY, // 添加马来语映射
'tr_TR': trTR, // 添加土耳其语映射
'pl_PL': plPL, // 添加波兰语映射
};
};
}

4
lib/main.dart

@ -24,10 +24,10 @@ void main() async {
// 初始化环境变量
await dotenv.load();
// 初始化登录服务(包含Firebase初始化)
LoginService();
// 设置窗口大小(仅在 macOS 下生效)
if (Platform.isMacOS) {
const double width = 375.0;

3
lib/modules/login/controllers/login_controller.dart

@ -234,7 +234,8 @@ class LoginController extends GetxController {
child: GestureDetector(
onTap: () {
String url = 'https://www.deepsoud.com/ysxy.html';
if (Get.locale?.toString() != 'zh_CN') {
if (Get.locale?.languageCode != 'zh' ||
Get.locale?.countryCode != 'CN') {
url = 'https://www.deepsoud.com/ysxy_en.html';
}
Get.to(() => WebViewPage(

6
lib/modules/login/views/login_view.dart

@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import '../controllers/login_controller.dart';
import '../../common/webview_page.dart';
import 'package:get_storage/get_storage.dart';
class LoginView extends GetView<LoginController> {
const LoginView({Key? key}) : super(key: key);
@ -601,9 +602,12 @@ class LoginView extends GetView<LoginController> {
GestureDetector(
onTap: () {
String url = 'https://www.deepsoud.com/ysxy.html';
if (Get.locale?.toString() != 'zh_CN') {
if (Get.locale?.languageCode != 'zh' ||
Get.locale?.countryCode != 'CN') {
url = 'https://www.deepsoud.com/ysxy_en.html';
}
Get.to(() => WebViewPage(
url: url,
title: 'privacyPolicy'.tr,

Loading…
Cancel
Save