fromLocale function
final locale1 = Locale('en', 'US');
print(fromLocale(locale1)); // Outputs: en_US
final locale2 = Locale('zh', 'CN', 'Hans');
print(fromLocale(locale2)); // Outputs: zh_Hans_CN
final locale3 = Locale('ja');
print(fromLocale(locale3)); // Outputs: ja
Implementation
String fromLocale(Locale locale) {
final languageCode = locale.languageCode;
final countryCode = locale.countryCode;
final scriptCode = locale.scriptCode;
if (scriptCode != null) {
return countryCode != null
? '${languageCode}_${scriptCode}_$countryCode'
: '${languageCode}_$scriptCode';
} else if (countryCode != null && countryCode.isNotEmpty) {
return '${languageCode}_$countryCode';
} else {
return languageCode;
}
}