Flutter plugin for scanning and generating QR codes using the ZXing library, supporting Android, iOS, and desktop platforms
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.0 KiB

import 'dart:ui';
extension LocaleParsing on String {
Locale parseLocale() {
assert(contains('_') == true);
var languageCode = split('_').first;
var countryCode = split('_').last;
return Locale.fromSubtags(
languageCode: languageCode, countryCode: countryCode);
}
String toLangIcon() {
assert(length == 2);
switch (toLowerCase()) {
case 'us':
case 'en':
return '🇺🇸';
case 'ru':
return '🇷🇺';
case 'am':
case 'hy':
return '🇦🇲';
default:
return '🇺🇸';
}
}
String toLangName() {
assert(length == 2);
switch (toLowerCase()) {
case 'us':
case 'en':
return toLangIcon() + ' English';
case 'ru':
return toLangIcon() + ' Русский';
case 'am':
case 'hy':
return toLangIcon() + ' Հայերեն';
default:
return toLangIcon() + ' English';
}
}
String toLangCode() {
assert(contains('_') == true);
return split('_').first;
}
}