i18n.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. module.exports = {
  2. t(key){
  3. if(this.locales[key]){
  4. if(this.lang){
  5. if(this.locales[key][this.lang]){
  6. return this.locales[key][this.lang];// key for current language
  7. }else{this.log(`Key "${key}" does not exists for language ${this.lang}`);}
  8. }else if(this.locales[key][this.fallback]){
  9. return this.locales[key][this.fallback];// key for fallback language
  10. }else{this.log(`Key "${key}" does not exists for fallback language ${this.fallback}`);}
  11. }else{this.log(`Key "${key}" does not exists.`);}
  12. return key;// if nothing else retrn key it self
  13. },
  14. setLang(l){
  15. this.lang = l
  16. },
  17. log(msg){
  18. console.warn(`i18n : ${msg}`);
  19. },
  20. fallback:'en',
  21. lang: null,
  22. locales:{
  23. 'Parts':{
  24. 'en':'Parts',
  25. 'fr':'Parties',
  26. 'bra':'Peças',
  27. 'lat':'Pars'
  28. },
  29. 'Mode':{
  30. 'en':'Mode',
  31. 'fr':'Mode',
  32. 'bra':'Modo',
  33. 'lat':'Modus'
  34. },
  35. 'Language':{
  36. 'en':'Language',
  37. 'fr':'Langue',
  38. 'bra':'Língua',
  39. 'lat':'Lingua'
  40. },
  41. 'Text':{
  42. 'en':'Text',
  43. 'fr':'Texte',
  44. 'bra':'Texto',
  45. 'lat':'Illud'
  46. },
  47. 'Connections':{
  48. 'en':'Connections',
  49. 'fr':'Connections',
  50. 'bra':'Conexões',
  51. 'lat':'Hospites'
  52. },
  53. 'Filters':{
  54. 'en':'Filters',
  55. 'fr':'Filtres',
  56. 'bra':'Filtros',
  57. 'lat':'Filtra'
  58. },
  59. 'definition':{
  60. 'en':'definition',
  61. 'fr':'definition',
  62. 'bra':'definições',
  63. 'lat':'definitione'
  64. },
  65. 'def.':{
  66. 'en':'def.',
  67. 'fr':'def.',
  68. 'bra':'def.',
  69. 'lat':'def.'
  70. },
  71. 'explication':{
  72. 'en':'explanation',
  73. 'fr':'explication',
  74. 'bra':'explicaçaõ',
  75. 'lat':'explicatio'
  76. },
  77. 'axiom':{
  78. 'en':'axiom',
  79. 'fr':'axiom',
  80. 'bra':'axioma',
  81. 'lat':'axiomata'
  82. },
  83. 'ax.':{
  84. 'en':'ax.',
  85. 'fr':'ax.',
  86. 'bra':'ax.',
  87. 'lat':'ax.'
  88. },
  89. 'proposition':{
  90. 'en':'proposition',
  91. 'fr':'proposition',
  92. 'bra':'proposiçaõ',
  93. 'lat':'propositio'
  94. },
  95. 'prop.':{
  96. 'en':'prop.',
  97. 'fr':'prop.',
  98. 'bra':'prop.',
  99. 'lat':'prop.'
  100. },
  101. 'demonstration':{
  102. 'en':'demonstration',
  103. 'fr':'demonstration',
  104. 'bra':'demonstraçaõ',
  105. 'lat':'demonstratio'
  106. },
  107. 'demo.':{
  108. 'en':'demo.',
  109. 'fr':'demo.',
  110. 'bra':'demo.',
  111. 'lat':'demo.'
  112. },
  113. 'corollaire':{
  114. 'en':'corollary',
  115. 'fr':'corollaire',
  116. 'bra':'corolário',
  117. 'lat':'corollarium'
  118. },
  119. 'cor.':{
  120. 'en':'cor.',
  121. 'fr':'cor.',
  122. 'bra':'cor.',
  123. 'lat':'cor.'
  124. },
  125. 'prop-axiom':{
  126. 'en':'prop-axiom',
  127. 'fr':'prop-axiom',
  128. 'bra':'prop-axioma',
  129. 'lat':'prop-axiomata'
  130. },
  131. 'scolie':{
  132. 'en':'scholium',
  133. 'fr':'scolie',
  134. 'bra':'escólio',
  135. 'lat':'scholium'
  136. },
  137. 'scol.':{
  138. 'en':'schol.',
  139. 'fr':'scol.',
  140. 'bra':'escól.',
  141. 'lat':'schol.'
  142. },
  143. 'appendice':{
  144. 'en':'appendix',
  145. 'fr':'appendice',
  146. 'bra':'apêndice',
  147. 'lat':'appendix'
  148. },
  149. 'preface':{
  150. 'en':'preface',
  151. 'fr':'preface',
  152. 'bra':'prefácio',
  153. 'lat':'preface'
  154. },
  155. 'corollaire-demo':{
  156. 'en':'corollary-demo',
  157. 'fr':'corollaire-demo',
  158. 'bra':'corolário-demo',
  159. 'lat':'corollarium-demo'
  160. },
  161. 'lemme':{
  162. 'en':'lemma',
  163. 'fr':'lemme',
  164. 'bra':'lema',
  165. 'lat':'lemma'
  166. },
  167. 'lem.':{
  168. 'en':'lem.',
  169. 'fr':'lem.',
  170. 'bra':'lem.',
  171. 'lat':'lem.'
  172. },
  173. 'lemme-demonstration':{
  174. 'en':'lemma-demo',
  175. 'fr':'lemme-demo',
  176. 'bra':'lema-demo',
  177. 'lat':'lemma-demo'
  178. },
  179. 'lemme-corrollaire':{
  180. 'en':'lemma-corollary',
  181. 'fr':'lemme-corollaire',
  182. 'bra':'lema-corolário',
  183. 'lat':'lemma-corollarium'
  184. },
  185. 'lemme-scolie':{
  186. 'en':'lemma-scholium',
  187. 'fr':'lemme-scolie',
  188. 'bra':'lema-escólio',
  189. 'lat':'lemma-scholium'
  190. },
  191. 'postulat':{
  192. 'en':'postulat',
  193. 'fr':'postulat',
  194. 'bra':'postulado',
  195. 'lat':'postulata'
  196. },
  197. 'post.':{
  198. 'en':'post.',
  199. 'fr':'post.',
  200. 'bra':'post.',
  201. 'lat':'post.'
  202. },
  203. 'def-affect':{
  204. 'en':'definitions of the emotions',
  205. 'fr':'définitions des affections',
  206. 'bra':'definições dos afetos',
  207. 'lat':'affectuum definitiones'
  208. },
  209. 'def-gen-affect':{
  210. 'en':'general definition of the emotions',
  211. 'fr':'définition générale des affections',
  212. 'bra':'definição geral dos afetos',
  213. 'lat':'affectum generalis definitio'
  214. },
  215. 'chapitre':{
  216. 'en':'chapter',
  217. 'fr':'chapitre',
  218. 'bra':'capítulo',
  219. 'lat':'caput'
  220. },
  221. 'Ethica, work without obstacle':{
  222. 'en':'Ethica, work without obstacle',
  223. 'fr':'Ethica, du travail sans obstacle'
  224. }
  225. }
  226. }