part of lib_trans; class TranslationLoader { static bool get isZh => Get.locale?.languageCode.toLowerCase() == 'zh'; static bool get isEn => Get.locale?.languageCode.toLowerCase() == 'en'; static Map _zhMap = {}, _enMap = {}, _keyMap = {}; static Map get zhDic => _zhMap; static Map get enDic => _enMap; static LanKeyEntity? _lanKeyEntity; static LanKeyEntity? get lanKeys => _lanKeyEntity; static Future loadTranslation({ String? zhSource, String? enSource, String? keySource,}) async { _zhMap = await _loadJsonFile(zhSource!); _enMap = await _loadJsonFile(enSource!); _keyMap = await _loadJsonFile(keySource!); _lanKeyEntity = LanKeyEntity.fromJson(_keyMap); } static Future> _loadJsonFile(String filePath) async => rootBundle.loadString(filePath).then((String jsonString){ final Map enJson = jsonDecode(jsonString); final Map map = {}; enJson.forEach((String key,dynamic value) { map[key] = value.toString(); }); return map; }).onError((Object? error, StackTrace stackTrace){ return Future>.value({}); }); }