Jonny Borges
Committed by GitHub

Merge pull request #493 from thaihuynhxyz/master

Fix fallback locale not working if missing country code
@@ -261,6 +261,7 @@ abstract class Translations { @@ -261,6 +261,7 @@ abstract class Translations {
261 Map<String, Map<String, String>> get keys; 261 Map<String, Map<String, String>> get keys;
262 } 262 }
263 263
  264 +
264 extension Trans on String { 265 extension Trans on String {
265 String get tr { 266 String get tr {
266 // Returns the key if locale is null. 267 // Returns the key if locale is null.
@@ -279,17 +280,20 @@ extension Trans on String { @@ -279,17 +280,20 @@ extension Trans on String {
279 Get.translations[Get.locale.languageCode].containsKey(this)) { 280 Get.translations[Get.locale.languageCode].containsKey(this)) {
280 return Get.translations[Get.locale.languageCode][this]; 281 return Get.translations[Get.locale.languageCode][this];
281 // If there is no corresponding language or corresponding key, return the key. 282 // If there is no corresponding language or corresponding key, return the key.
282 - } else if (Get.fallbackLocale != null &&  
283 - Get.translations.containsKey(  
284 - "${Get.fallbackLocale.languageCode}_${Get.fallbackLocale.countryCode}") &&  
285 - Get.translations[ 283 + } else if (Get.fallbackLocale != null) {
  284 + if (Get.translations.containsKey(
  285 + "${Get.fallbackLocale.languageCode}_${Get.fallbackLocale.countryCode}") &&
  286 + Get.translations[
  287 + "${Get.fallbackLocale.languageCode}_${Get.fallbackLocale.countryCode}"]
  288 + .containsKey(this)) {
  289 + return Get.translations[
286 "${Get.fallbackLocale.languageCode}_${Get.fallbackLocale.countryCode}"] 290 "${Get.fallbackLocale.languageCode}_${Get.fallbackLocale.countryCode}"]
287 - .containsKey(this)) {  
288 - return Get.translations[  
289 - "${Get.fallbackLocale.languageCode}_${Get.fallbackLocale.countryCode}"]  
290 - [this];  
291 -  
292 - // Checks if there is a callback language in the absence of the specific country, and if it contains that key. 291 + [this];
  292 + }
  293 + if (Get.translations.containsKey(Get.fallbackLocale.languageCode) &&
  294 + Get.translations[Get.fallbackLocale.languageCode].containsKey(this)) {
  295 + return Get.translations[Get.fallbackLocale.languageCode][this];
  296 + }
293 } else { 297 } else {
294 return this; 298 return this;
295 } 299 }