fisi18n_test.dart 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import 'dart:ui';
  2. import 'package:fis_i18n/i18n.dart';
  3. import 'package:flutter_test/flutter_test.dart';
  4. void main() {
  5. test('test - type: FTrStr', () {
  6. final text = "My name is {0}, i'm {1} years old.";
  7. print('xx');
  8. print(FTrStr(text));
  9. print(FTrStr(text).runtimeType);
  10. print(FTrStr(text).t);
  11. print(FTrStr(text).t.runtimeType);
  12. print(FTrStr(text).translate());
  13. print(FTrStr(text).translate(['jack']));
  14. print(FTrStr(text).translate(['jack', 18]));
  15. });
  16. test('test - Load from json text', () async {
  17. TestWidgetsFlutterBinding.ensureInitialized();
  18. final book = await FTrKeybookOption.ChineseOption.builder();
  19. print(book.auth.login.t);
  20. print(book.common.versionNumber.translate(['1.2.11']));
  21. });
  22. test('test - init FI18n', () async {
  23. TestWidgetsFlutterBinding.ensureInitialized();
  24. var bookOptions = [
  25. FTrKeybookOption.ChineseOption,
  26. FTrKeybookOption.EnglishOption,
  27. FTrKeybookOption.RussianOption,
  28. FTrKeybookOption.SpanishOption,
  29. FTrKeybookOption.RomaniaOption,
  30. ];
  31. await FI18n.init((loacle) => {}, bookOptions);
  32. });
  33. test('test - switch language', () async {
  34. final curLocale = Locale("zh", "CN");
  35. final enLocale = Locale("en", "US");
  36. final ruLocale = Locale("ru", "RU");
  37. final esLocal = Locale("es", "ES");
  38. final roLocal = Locale("ro", "RO");
  39. await FI18n.load(curLocale);
  40. print(i18nBook.auth.login.t);
  41. print(i18nBook.common.versionNumber.translate(['1.2.11']));
  42. final matchLocale = await FI18n.ins.switchLanguage(enLocale);
  43. print(" ***Locale change to $matchLocale *** ");
  44. print(i18nBook.auth.login.t);
  45. print(i18nBook.common.versionNumber.translate(['1.2.11']));
  46. final ruLang = await FI18n.ins.switchLanguage(ruLocale);
  47. print(" ***Locale change to $ruLang *** ");
  48. print(i18nBook.auth.login.t);
  49. print(i18nBook.common.versionNumber.translate(['1.2.11']));
  50. final esLang = await FI18n.ins.switchLanguage(esLocal);
  51. print(" ***Locale change to $esLang *** ");
  52. print(i18nBook.auth.login.t);
  53. print(i18nBook.common.versionNumber.translate(['1.2.11']));
  54. final roLang = await FI18n.ins.switchLanguage(roLocal);
  55. print(" ***Locale change to $esLang *** ");
  56. print(i18nBook.auth.login.t);
  57. print(i18nBook.common.versionNumber.translate(['1.2.11']));
  58. });
  59. test('test - input value', () async {
  60. final curLocale = Locale("zh", "CN");
  61. await FI18n.load(curLocale);
  62. print(i18nBook.organization.removeMemberConfirm.t);
  63. print(i18nBook.organization.removeMembersConfirm.translate([4]));
  64. print(i18nBook.common.input.translate(["ID card"]));
  65. // change to english
  66. final anotherLocale = Locale("en", "US");
  67. final matchLocale = await FI18n.ins.switchLanguage(anotherLocale);
  68. print(" ***Locale change to $matchLocale *** ");
  69. print(i18nBook.organization.removeMemberConfirm.t);
  70. print(i18nBook.organization.removeMembersConfirm.translate([4]));
  71. print(i18nBook.common.input.translate(["ID card"]));
  72. });
  73. // test('test - error code', () async {
  74. // final int errorCode = 3021;
  75. // final curLocale = Locale("zh", "CN");
  76. // await FI18n.load(curLocale);
  77. // print("错误码 UN: " + i18nBook.errorCodes.translate('errorCode' + "UN"));
  78. // print("错误码 ${errorCode.toString()}: " +
  79. // i18nBook.errorCodes.translate('errorCode' + errorCode.toString()));
  80. // // change to english
  81. // final anotherLocale = Locale("en", "US");
  82. // final matchLocale = await FI18n.ins.switchLanguage(anotherLocale);
  83. // print(" ***Locale change to $matchLocale *** ");
  84. // print("错误码 UN: " + i18nBook.errorCodes.translate('errorCode' + "UN"));
  85. // print("错误码 ${errorCode.toString()}: " +
  86. // i18nBook.errorCodes.translate('errorCode' + errorCode.toString()));
  87. // });
  88. // test("test - Dynamic query form keybook", () {
  89. // final book = FTrKeybook(Locale("zh"), {
  90. // AuthModule.ModuleName: {
  91. // "login": "登录啦啦啦啦",
  92. // "signUp": "",
  93. // "account": "",
  94. // },
  95. // });
  96. // final findModule = book.getProp("auth") as ModuleBase;
  97. // print(findModule.getProp("login"));
  98. // print(findModule.getProp("testxxx"));
  99. // });
  100. }