language.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:flutter/material.dart';
  2. enum AppLanguage {
  3. english,
  4. chinese,
  5. italian,
  6. french,
  7. }
  8. String stringFromLanguageName(AppLanguage language) {
  9. switch (language) {
  10. case AppLanguage.english:
  11. return "en";
  12. case AppLanguage.chinese:
  13. return "ch";
  14. case AppLanguage.italian:
  15. return "it";
  16. case AppLanguage.french:
  17. return "fr";
  18. }
  19. }
  20. AppLanguage languageFromString(String name) {
  21. AppLanguage language = AppLanguage.english;
  22. if (name == "ch") {
  23. language = AppLanguage.chinese;
  24. } else if (name == "it") {
  25. language = AppLanguage.italian;
  26. } else if (name == "fr") {
  27. language = AppLanguage.french;
  28. }
  29. return language;
  30. }
  31. Locale localeFromLanguageName(AppLanguage language) {
  32. switch (language) {
  33. case AppLanguage.english:
  34. return const Locale('en');
  35. case AppLanguage.chinese:
  36. return const Locale('zh', 'CN');
  37. case AppLanguage.italian:
  38. return const Locale('it', 'IT');
  39. case AppLanguage.french:
  40. return const Locale('fr', 'CA');
  41. }
  42. }