final locale = Get.locale!;
final keys = <String>[
// zh_Hans
if (locale.scriptCode != null)
'${locale.languageCode}_${locale.scriptCode}',
// zh_CN
if (locale.countryCode != null)
'${locale.languageCode}_${locale.countryCode}',
// zh
locale.languageCode,
];
for (final key in keys) {
final map = Get.translations[key];
if (map != null && map.containsKey(this)) {
return map[this]!;
}
}
if (Get.fallbackLocale != null) {
final fallback = Get.fallbackLocale!;
final fallbackKeys = <String>[
if (fallback.scriptCode != null)
'${fallback.languageCode}_${fallback.scriptCode}',
if (fallback.countryCode != null)
'${fallback.languageCode}_${fallback.countryCode}',
fallback.languageCode,
];
for (final key in fallbackKeys) {
final map = Get.translations[key];
if (map != null && map.containsKey(this)) {
return map[this]!;
}
}
}
return this;
String get tr {
if (Get.locale == null) return this;
}