2022-01-28 21:03:03 +05:30
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
2022-01-28 22:08:57 +05:30
|
|
|
enum AppLanguage {
|
2022-01-28 21:03:03 +05:30
|
|
|
english,
|
|
|
|
chinese,
|
|
|
|
italian,
|
|
|
|
french,
|
|
|
|
}
|
|
|
|
|
2022-02-01 09:12:59 +08:00
|
|
|
String stringFromLanguage(AppLanguage language) {
|
2022-01-28 21:03:03 +05:30
|
|
|
switch (language) {
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.english:
|
2022-01-28 21:03:03 +05:30
|
|
|
return "en";
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.chinese:
|
2022-01-28 21:03:03 +05:30
|
|
|
return "ch";
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.italian:
|
2022-01-28 21:03:03 +05:30
|
|
|
return "it";
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.french:
|
2022-01-28 21:03:03 +05:30
|
|
|
return "fr";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-01-28 22:08:57 +05:30
|
|
|
AppLanguage languageFromString(String name) {
|
|
|
|
AppLanguage language = AppLanguage.english;
|
2022-01-28 21:03:03 +05:30
|
|
|
if (name == "ch") {
|
2022-01-28 22:08:57 +05:30
|
|
|
language = AppLanguage.chinese;
|
2022-01-28 21:03:03 +05:30
|
|
|
} else if (name == "it") {
|
2022-01-28 22:08:57 +05:30
|
|
|
language = AppLanguage.italian;
|
2022-01-28 21:03:03 +05:30
|
|
|
} else if (name == "fr") {
|
2022-01-28 22:08:57 +05:30
|
|
|
language = AppLanguage.french;
|
2022-01-28 21:03:03 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
return language;
|
|
|
|
}
|
|
|
|
|
2022-01-28 22:08:57 +05:30
|
|
|
Locale localeFromLanguageName(AppLanguage language) {
|
2022-01-28 21:03:03 +05:30
|
|
|
switch (language) {
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.english:
|
2022-01-28 21:03:03 +05:30
|
|
|
return const Locale('en');
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.chinese:
|
2022-01-28 21:03:03 +05:30
|
|
|
return const Locale('zh', 'CN');
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.italian:
|
2022-01-28 21:03:03 +05:30
|
|
|
return const Locale('it', 'IT');
|
2022-01-28 22:08:57 +05:30
|
|
|
case AppLanguage.french:
|
2022-01-28 21:03:03 +05:30
|
|
|
return const Locale('fr', 'CA');
|
|
|
|
}
|
|
|
|
}
|
2022-02-01 09:12:59 +08:00
|
|
|
|
|
|
|
AppLanguage languageFromLocale(Locale locale) {
|
|
|
|
switch (locale.languageCode) {
|
|
|
|
case "zh":
|
|
|
|
return AppLanguage.chinese;
|
|
|
|
case "it":
|
|
|
|
return AppLanguage.italian;
|
|
|
|
case "fr":
|
|
|
|
return AppLanguage.french;
|
|
|
|
default:
|
|
|
|
return AppLanguage.english;
|
|
|
|
}
|
|
|
|
}
|