app-starlock/lib/translations/app_dept.dart
2024-05-18 09:37:50 +08:00

79 lines
1.7 KiB
Dart
Executable File

import 'dart:convert';
import 'dart:ui';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:star_lock/translations/trans_lib.dart';
import '../tools/app_manager.dart';
enum AppDept {
cdl,
}
extension ExtensionAppDept on AppDept {
static AppDept fromAppPackageName(String packageName) {
AppDept dept = AppDept.cdl;
packageName = packageName.toLowerCase();
if(packageName.contains('cdl')){
dept = AppDept.cdl;
}
return dept;
}
List<Locale> get deptSupportedLocales {
Locale enL = const Locale('en', 'US');
Locale zhL = const Locale('zh', 'CN');
return [enL,zhL];
}
}
AppDept appDept = ExtensionAppDept.fromAppPackageName(AppManager().packageName);
final List<Locale> appSupportedLocales = appDept.deptSupportedLocales;
enum LanguageType {
chinese,
english,
deutsch, // 德语
francais, // 法语
italiano, // 意大利
dutch, // 荷兰语
spanish, // 西班牙
czech, // 捷克语
slovak // 斯洛伐克语
}
extension ExtensionLanguageType on LanguageType {
String get lanTitle {
var str = '';
switch(this){
case LanguageType.english:
str = TranslationLoader.lanKeys!.lanEnglish!.tr;
break;
case LanguageType.chinese:
str = TranslationLoader.lanKeys!.lanChinese!.tr;
break;
}
return str;
}
static LanguageType fromLanguageCode(String code) {
LanguageType languageType = LanguageType.english;
switch(code.toLowerCase()){
case 'en':
languageType = LanguageType.english;
break;
case 'zh':
languageType = LanguageType.chinese;
break;
}
return languageType;
}
}