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.
48 lines
1.0 KiB
48 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; |
|
} |
|
}
|
|
|