Flutter plugin for scanning and generating QR codes using the ZXing library, supporting Android, iOS, and desktop platforms
flutterbarcode-generatorbarcode-scannergeneratorqrqrcodeqrcode-generatorqrcode-scannerscannerzxingbarcodezxscanner
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
49 lines
1.0 KiB
3 years ago
|
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;
|
||
|
}
|
||
|
}
|