61 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
enum AppLanguage {
english,
chinese,
italian,
french,
}
String stringFromLanguage(AppLanguage language) {
switch (language) {
case AppLanguage.english:
return "en";
case AppLanguage.chinese:
return "ch";
case AppLanguage.italian:
return "it";
case AppLanguage.french:
return "fr";
}
}
AppLanguage languageFromString(String name) {
AppLanguage language = AppLanguage.english;
if (name == "ch") {
language = AppLanguage.chinese;
} else if (name == "it") {
language = AppLanguage.italian;
} else if (name == "fr") {
language = AppLanguage.french;
}
return language;
}
Locale localeFromLanguageName(AppLanguage language) {
switch (language) {
case AppLanguage.english:
return const Locale('en');
case AppLanguage.chinese:
return const Locale('zh', 'CN');
case AppLanguage.italian:
return const Locale('it', 'IT');
case AppLanguage.french:
return const Locale('fr', 'CA');
}
}
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;
}
}