language.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import 'package:flutter/material.dart';
  2. String languageFromLocale(Locale locale) {
  3. switch (locale.languageCode) {
  4. // Most often used languages
  5. case "en":
  6. return "English";
  7. case "zh":
  8. switch (locale.countryCode) {
  9. case "CN":
  10. return "简体中文";
  11. case "TW":
  12. return "繁體中文";
  13. default:
  14. return locale.languageCode;
  15. }
  16. // Then in alphabetical order
  17. case "ar":
  18. return "العربية";
  19. case "ca":
  20. return "Català";
  21. case "de":
  22. return "Deutsch";
  23. case "es":
  24. return "Español";
  25. case "eu":
  26. return "Euskera";
  27. case "fr":
  28. switch (locale.countryCode) {
  29. case "CA":
  30. return "Français (CA)";
  31. case "FR":
  32. return "Français (FR)";
  33. default:
  34. return locale.languageCode;
  35. }
  36. case "hu":
  37. return "Magyar";
  38. case "id":
  39. return "Bahasa Indonesia";
  40. case "it":
  41. return "Italiano";
  42. case "ja":
  43. return "日本語";
  44. case "ko":
  45. return "한국어";
  46. case "pl":
  47. return "Polski";
  48. case "pt":
  49. return "Português";
  50. case "ru":
  51. return "русский";
  52. case "sv":
  53. return "Svenska";
  54. case "tr":
  55. return "Türkçe";
  56. // If not found then the language code will be displayed
  57. default:
  58. return locale.languageCode;
  59. }
  60. }