i18n_model.dart 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  1. enum LocaleType { en, zh, nl, ru, it, fr, es, pt, ko, ar, tr, jp, de }
  2. final _i18nModel = {
  3. 'en': {
  4. 'cancel': 'Cancel',
  5. 'done': 'Done',
  6. 'today': 'Today',
  7. 'monthShort': [
  8. 'Jan',
  9. 'Feb',
  10. 'Mar',
  11. 'Apr',
  12. 'May',
  13. 'Jun',
  14. 'Jul',
  15. 'Aug',
  16. 'Sep',
  17. 'Oct',
  18. 'Nov',
  19. 'Dec'
  20. ],
  21. 'monthLong': [
  22. 'January',
  23. 'February',
  24. 'March',
  25. 'April',
  26. 'May',
  27. 'June',
  28. 'July',
  29. 'August',
  30. 'September',
  31. 'October',
  32. 'November',
  33. 'December'
  34. ],
  35. 'day': ['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'],
  36. 'am': 'AM',
  37. 'pm': 'PM'
  38. },
  39. 'zh': {
  40. //Chinese
  41. 'cancel': '取消',
  42. 'done': '确定',
  43. 'today': '今天',
  44. 'monthShort': [
  45. '一月',
  46. '二月',
  47. '三月',
  48. '四月',
  49. '五月',
  50. '六月',
  51. '七月',
  52. '八月',
  53. '九月',
  54. '十月',
  55. '十一月',
  56. '十二月'
  57. ],
  58. 'monthLong': [
  59. '一月',
  60. '二月',
  61. '三月',
  62. '四月',
  63. '五月',
  64. '六月',
  65. '七月',
  66. '八月',
  67. '九月',
  68. '十月',
  69. '十一月',
  70. '十二月'
  71. ],
  72. 'day': ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'],
  73. 'am': '上午',
  74. 'pm': '下午'
  75. },
  76. 'nl': {
  77. //Dutch
  78. 'cancel': 'Annuleer',
  79. 'done': 'Klaar',
  80. 'today': 'Vandaag',
  81. 'monthShort': [
  82. 'Jan',
  83. 'Feb',
  84. 'Mar',
  85. 'Apr',
  86. 'Mei',
  87. 'Jun',
  88. 'Jul',
  89. 'Aug',
  90. 'Sep',
  91. 'Okt',
  92. 'Nov',
  93. 'Dec',
  94. ],
  95. 'monthLong': [
  96. 'Januari',
  97. 'Februari',
  98. 'Maart',
  99. 'April',
  100. 'Mei',
  101. 'Juni',
  102. 'Juli',
  103. 'Augustus',
  104. 'September',
  105. 'Oktober',
  106. 'November',
  107. 'December',
  108. ],
  109. 'day': [
  110. 'Ma',
  111. 'Di',
  112. 'Wo',
  113. 'Do',
  114. 'Vr',
  115. 'Za',
  116. 'Zo',
  117. ],
  118. 'am': 'AM',
  119. 'pm': 'PM'
  120. },
  121. 'ru': {
  122. 'cancel': 'Отмена',
  123. 'done': 'Готово',
  124. 'today': 'Сегодня',
  125. 'monthShort': [
  126. 'Янв',
  127. 'Фев',
  128. 'Март',
  129. 'Апр',
  130. 'Май',
  131. 'Июнь',
  132. 'Июль',
  133. 'Авг',
  134. 'Сен',
  135. 'Окт',
  136. 'Ноя',
  137. 'Дек'
  138. ],
  139. 'monthLong': [
  140. 'Январь',
  141. 'Февраль',
  142. 'Март',
  143. 'Апрель',
  144. 'Май',
  145. 'Июнь',
  146. 'Июль',
  147. 'Август',
  148. 'Сентябрь',
  149. 'Октябрь',
  150. 'Ноябрь',
  151. 'Декабрь'
  152. ],
  153. 'day': ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],
  154. 'am': 'AM',
  155. 'pm': 'PM'
  156. },
  157. 'it': {
  158. 'cancel': 'Annulla',
  159. 'done': 'Conferma',
  160. 'today': 'Oggi',
  161. 'monthShort': [
  162. 'Gen',
  163. 'Feb',
  164. 'Mar',
  165. 'Apr',
  166. 'Mag',
  167. 'Giu',
  168. 'Lug',
  169. 'Ago',
  170. 'Set',
  171. 'Ott',
  172. 'Nov',
  173. 'Dic'
  174. ],
  175. 'monthLong': [
  176. 'Gennaio',
  177. 'Febbraio',
  178. 'Marzo',
  179. 'Aprile',
  180. 'Maggio',
  181. 'Giugno',
  182. 'Luglio',
  183. 'Agosto',
  184. 'Settembre',
  185. 'Ottobre',
  186. 'Novembre',
  187. 'Dicembre'
  188. ],
  189. 'day': ['Lun', 'Mar', 'Mer', 'Giov', 'Ven', 'Sab', 'Dom'],
  190. 'am': 'AM',
  191. 'pm': 'PM'
  192. },
  193. 'fr': {
  194. 'cancel': 'Annuler',
  195. 'done': 'Confirmer',
  196. 'today': "Aujourd'hui",
  197. 'monthShort': [
  198. 'Jan',
  199. 'Fév',
  200. 'Mar',
  201. 'Avr',
  202. 'Mai',
  203. 'Juin',
  204. 'Juil',
  205. 'Aoû',
  206. 'Sep',
  207. 'Oct',
  208. 'Nov',
  209. 'Déc'
  210. ],
  211. 'monthLong': [
  212. 'Janvier',
  213. 'Février',
  214. 'Mars',
  215. 'Avril',
  216. 'Mai',
  217. 'Juin',
  218. 'Juillet',
  219. 'Août',
  220. 'Septembre',
  221. 'Octobre',
  222. 'November',
  223. 'Décembre'
  224. ],
  225. 'day': ['Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim'],
  226. 'am': 'AM',
  227. 'pm': 'PM'
  228. },
  229. 'es': {
  230. 'cancel': 'Cancelar',
  231. 'done': 'Confirmar',
  232. 'today': 'Hoy',
  233. 'monthShort': [
  234. 'Ene',
  235. 'Feb',
  236. 'Mar',
  237. 'Abr',
  238. 'May',
  239. 'Jun',
  240. 'Jul',
  241. 'Ago',
  242. 'Sep',
  243. 'Oct',
  244. 'Nov',
  245. 'Dic'
  246. ],
  247. 'monthLong': [
  248. 'Enero',
  249. 'Febrero',
  250. 'Marzo',
  251. 'Abril',
  252. 'Mayo',
  253. 'Junio',
  254. 'Julio',
  255. 'Agosto',
  256. 'Septiembre',
  257. 'Octubre',
  258. 'Noviembre',
  259. 'Diciembre'
  260. ],
  261. 'day': ['Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb', 'Dom'],
  262. 'am': 'AM',
  263. 'pm': 'PM'
  264. },
  265. 'pt': {
  266. 'cancel': 'Cancelar',
  267. 'done': 'Confirmar',
  268. 'today': 'Hoje',
  269. 'monthShort': [
  270. 'Jan',
  271. 'Fev',
  272. 'Mar',
  273. 'Abr',
  274. 'Mai',
  275. 'Jun',
  276. 'Jul',
  277. 'Ago',
  278. 'Set',
  279. 'Out',
  280. 'Nov',
  281. 'Dez'
  282. ],
  283. 'monthLong': [
  284. 'Janeiro',
  285. 'Fevereiro',
  286. 'Março',
  287. 'Abril',
  288. 'Maio',
  289. 'Junho',
  290. 'Julho',
  291. 'Agosto',
  292. 'Setembro',
  293. 'Outubro',
  294. 'Novembro',
  295. 'Dezembro'
  296. ],
  297. 'day': ['Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb', 'Dom'],
  298. 'am': 'AM',
  299. 'pm': 'PM'
  300. },
  301. 'ko': {
  302. 'cancel': '취소',
  303. 'done': '완료',
  304. 'today': '오늘',
  305. 'monthShort': [
  306. '1월',
  307. '2월',
  308. '3월',
  309. '4월',
  310. '5월',
  311. '6월',
  312. '7월',
  313. '8월',
  314. '9월',
  315. '10월',
  316. '11월',
  317. '12월'
  318. ],
  319. 'monthLong': [
  320. '1월',
  321. '2월',
  322. '3월',
  323. '4월',
  324. '5월',
  325. '6월',
  326. '7월',
  327. '8월',
  328. '9월',
  329. '10월',
  330. '11월',
  331. '12월'
  332. ],
  333. 'day': ['월', '화', '수', '목', '금', '토', '일'],
  334. 'am': '오전',
  335. 'pm': '오후'
  336. },
  337. 'ar': {
  338. 'cancel': 'إنهاء',
  339. 'done': 'تأكيد',
  340. 'today': 'اليوم',
  341. 'monthShort': [
  342. 'يناير',
  343. 'فبراير',
  344. 'مارس',
  345. 'إبريل',
  346. 'مايو',
  347. 'يونيو',
  348. 'يوليو',
  349. 'أغسطس',
  350. 'سبتمبر',
  351. 'أكتوبر',
  352. 'نوفمبر',
  353. 'ديسمبر'
  354. ],
  355. 'monthLong': [
  356. 'يناير',
  357. 'فبراير',
  358. 'مارس',
  359. 'إبريل',
  360. 'مايو',
  361. 'يونيو',
  362. 'يوليو',
  363. 'أغسطس',
  364. 'سبتمبر',
  365. 'أكتوبر',
  366. 'نوفمبر',
  367. 'ديسمبر'
  368. ],
  369. 'day': [
  370. 'الإثنين',
  371. 'الثلاثاء',
  372. 'الأربعاء',
  373. 'الخميس',
  374. 'الجمعه',
  375. 'السبت',
  376. 'الاحد'
  377. ],
  378. 'am': 'ص',
  379. 'pm': 'م'
  380. },
  381. 'tr': {
  382. 'cancel': 'İptal',
  383. 'done': 'Tamam',
  384. 'today': 'Bugün',
  385. 'monthShort': [
  386. 'Oca',
  387. 'Şub',
  388. 'Mar',
  389. 'Nis',
  390. 'May',
  391. 'Haz',
  392. 'Tem',
  393. 'Ağu',
  394. 'Eyl',
  395. 'Eki',
  396. 'Kas',
  397. 'Ara'
  398. ],
  399. 'monthLong': [
  400. 'Ocak',
  401. 'Şubat',
  402. 'Mart',
  403. 'Nisan',
  404. 'Mayıs',
  405. 'Haziran',
  406. 'Temmuz',
  407. 'Ağustos',
  408. 'Eylül',
  409. 'Ekim',
  410. 'Kasım',
  411. 'Aralık'
  412. ],
  413. 'day': ['Pzt', 'Sal', 'Çarş', 'Perş', 'Cum', 'Ctes', 'Paz'],
  414. 'am': 'ÖÖ',
  415. 'pm': 'ÖS'
  416. },
  417. 'jp': {
  418. //Japanese
  419. 'cancel': 'キャンセル',
  420. 'done': '決定する',
  421. 'today': '今日',
  422. 'monthShort': [
  423. '一月',
  424. '二月',
  425. '三月',
  426. '四月',
  427. '五月',
  428. '六月',
  429. '七月',
  430. '八月',
  431. '九月',
  432. '十月',
  433. '十一月',
  434. '十二月'
  435. ],
  436. 'monthLong': [
  437. '一月',
  438. '二月',
  439. '三月',
  440. '四月',
  441. '五月',
  442. '六月',
  443. '七月',
  444. '八月',
  445. '九月',
  446. '十月',
  447. '十一月',
  448. '十二月'
  449. ],
  450. 'day': ['月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日'],
  451. 'am': '朝',
  452. 'pm': '午後'
  453. },
  454. 'de': {
  455. //German
  456. 'cancel': 'Abbrechen',
  457. 'done': 'OK',
  458. 'today': 'Heute',
  459. 'monthShort': [
  460. 'Jan',
  461. 'Feb',
  462. 'Mrz',
  463. 'Apr',
  464. 'Mai',
  465. 'Jun',
  466. 'Jul',
  467. 'Aug',
  468. 'Sep',
  469. 'Okt',
  470. 'Nov',
  471. 'Dez'
  472. ],
  473. 'monthLong': [
  474. 'Januar',
  475. 'Februar',
  476. 'März',
  477. 'April',
  478. 'Mai',
  479. 'Juni',
  480. 'Juli',
  481. 'August',
  482. 'September',
  483. 'Oktober',
  484. 'November',
  485. 'Dezember'
  486. ],
  487. 'day': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
  488. 'am': 'AM',
  489. 'pm': 'PM'
  490. },
  491. };
  492. //get international object
  493. Map<String, dynamic> i18nObjInLocale(LocaleType type) {
  494. switch (type) {
  495. case LocaleType.zh:
  496. return _i18nModel['zh'];
  497. case LocaleType.nl:
  498. return _i18nModel['nl'];
  499. case LocaleType.ru:
  500. return _i18nModel['ru'];
  501. case LocaleType.it:
  502. return _i18nModel['it'];
  503. case LocaleType.fr:
  504. return _i18nModel['fr'];
  505. case LocaleType.es:
  506. return _i18nModel['es'];
  507. case LocaleType.pt:
  508. return _i18nModel['pt'];
  509. case LocaleType.ko:
  510. return _i18nModel['ko'];
  511. case LocaleType.ar:
  512. return _i18nModel['ar'];
  513. case LocaleType.tr:
  514. return _i18nModel['tr'];
  515. case LocaleType.jp:
  516. return _i18nModel['jp'];
  517. case LocaleType.de:
  518. return _i18nModel['de'];
  519. default:
  520. return _i18nModel['en'];
  521. }
  522. }