@prosopo/locale 3.9.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +267 -14
  2. package/.turbo/turbo-build$colon$tsc.log +5 -5
  3. package/.turbo/turbo-build.log +266 -13
  4. package/CHANGELOG.md +43 -0
  5. package/README.md +203 -0
  6. package/dist/browserUiLanguages.d.ts +10 -0
  7. package/dist/browserUiLanguages.d.ts.map +1 -0
  8. package/dist/browserUiLanguages.js +768 -0
  9. package/dist/browserUiLanguages.js.map +1 -0
  10. package/dist/cjs/browserUiLanguages.cjs +768 -0
  11. package/dist/cjs/direction.cjs +30 -15
  12. package/dist/cjs/errorMessage.cjs +3 -2
  13. package/dist/cjs/i18SharedOptions.cjs +0 -1
  14. package/dist/cjs/i18nBackend.cjs +32 -20
  15. package/dist/cjs/i18nFrontend.cjs +23 -73
  16. package/dist/cjs/index.cjs +23 -2
  17. package/dist/cjs/languagePreference.cjs +142 -0
  18. package/dist/cjs/loadI18next.cjs +4 -4
  19. package/dist/cjs/locales/en/target.cjs +304 -0
  20. package/dist/cjs/locales/en/translation.cjs +1 -459
  21. package/dist/cjs/locales/en/widget.cjs +162 -0
  22. package/dist/cjs/requestLanguageDetector.cjs +24 -0
  23. package/dist/cjs/serverTranslationKeys.cjs +38 -0
  24. package/dist/cjs/translationKey.cjs +29 -7
  25. package/dist/cjs/translations.cjs +63 -2
  26. package/dist/cjs/translator.cjs +2 -1
  27. package/dist/direction.d.ts.map +1 -1
  28. package/dist/direction.js +30 -15
  29. package/dist/direction.js.map +1 -1
  30. package/dist/errorMessage.d.ts.map +1 -1
  31. package/dist/errorMessage.js +4 -3
  32. package/dist/errorMessage.js.map +1 -1
  33. package/dist/i18SharedOptions.d.ts +0 -1
  34. package/dist/i18SharedOptions.d.ts.map +1 -1
  35. package/dist/i18SharedOptions.js +0 -1
  36. package/dist/i18SharedOptions.js.map +1 -1
  37. package/dist/i18nBackend.d.ts +3 -1
  38. package/dist/i18nBackend.d.ts.map +1 -1
  39. package/dist/i18nBackend.js +32 -22
  40. package/dist/i18nBackend.js.map +1 -1
  41. package/dist/i18nFrontend.d.ts.map +1 -1
  42. package/dist/i18nFrontend.js +23 -73
  43. package/dist/i18nFrontend.js.map +1 -1
  44. package/dist/index.d.ts +8 -3
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +5 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/languagePreference.d.ts +17 -0
  49. package/dist/languagePreference.d.ts.map +1 -0
  50. package/dist/languagePreference.js +132 -0
  51. package/dist/languagePreference.js.map +1 -0
  52. package/dist/loadI18next.js +4 -4
  53. package/dist/locales/af/target.json +301 -0
  54. package/dist/locales/af/translation.json +71 -0
  55. package/dist/locales/af/widget.json +149 -0
  56. package/dist/locales/am/target.json +301 -0
  57. package/dist/locales/am/translation.json +71 -0
  58. package/dist/locales/am/widget.json +149 -0
  59. package/dist/locales/an/target.json +301 -0
  60. package/dist/locales/an/translation.json +71 -0
  61. package/dist/locales/an/widget.json +149 -0
  62. package/dist/locales/ar/target.json +301 -0
  63. package/dist/locales/ar/translation.json +0 -446
  64. package/dist/locales/ar/widget.json +149 -0
  65. package/dist/locales/as/target.json +301 -0
  66. package/dist/locales/as/translation.json +71 -0
  67. package/dist/locales/as/widget.json +149 -0
  68. package/dist/locales/ast/target.json +301 -0
  69. package/dist/locales/ast/translation.json +71 -0
  70. package/dist/locales/ast/widget.json +149 -0
  71. package/dist/locales/az/target.json +301 -0
  72. package/dist/locales/az/translation.json +0 -446
  73. package/dist/locales/az/widget.json +149 -0
  74. package/dist/locales/be/target.json +301 -0
  75. package/dist/locales/be/translation.json +71 -0
  76. package/dist/locales/be/widget.json +149 -0
  77. package/dist/locales/bg/target.json +301 -0
  78. package/dist/locales/bg/translation.json +71 -0
  79. package/dist/locales/bg/widget.json +149 -0
  80. package/dist/locales/bn/target.json +301 -0
  81. package/dist/locales/bn/translation.json +71 -0
  82. package/dist/locales/bn/widget.json +149 -0
  83. package/dist/locales/bs/target.json +301 -0
  84. package/dist/locales/bs/translation.json +71 -0
  85. package/dist/locales/bs/widget.json +149 -0
  86. package/dist/locales/ca/target.json +301 -0
  87. package/dist/locales/ca/translation.json +71 -0
  88. package/dist/locales/ca/widget.json +149 -0
  89. package/dist/locales/cs/target.json +301 -0
  90. package/dist/locales/cs/translation.json +0 -446
  91. package/dist/locales/cs/widget.json +149 -0
  92. package/dist/locales/cy/target.json +301 -0
  93. package/dist/locales/cy/translation.json +71 -0
  94. package/dist/locales/cy/widget.json +149 -0
  95. package/dist/locales/da/target.json +301 -0
  96. package/dist/locales/da/translation.json +71 -0
  97. package/dist/locales/da/widget.json +149 -0
  98. package/dist/locales/de/target.json +301 -0
  99. package/dist/locales/de/translation.json +0 -446
  100. package/dist/locales/de/widget.json +149 -0
  101. package/dist/locales/el/target.json +301 -0
  102. package/dist/locales/el/translation.json +0 -446
  103. package/dist/locales/el/widget.json +149 -0
  104. package/dist/locales/en/target.js +303 -0
  105. package/dist/locales/en/target.json +301 -0
  106. package/dist/locales/en/translation.js +2 -453
  107. package/dist/locales/en/translation.json +0 -446
  108. package/dist/locales/en/widget.js +156 -0
  109. package/dist/locales/en/widget.json +149 -0
  110. package/dist/locales/eo/target.json +301 -0
  111. package/dist/locales/eo/translation.json +71 -0
  112. package/dist/locales/eo/widget.json +149 -0
  113. package/dist/locales/es/target.json +301 -0
  114. package/dist/locales/es/translation.json +0 -446
  115. package/dist/locales/es/widget.json +149 -0
  116. package/dist/locales/et/target.json +301 -0
  117. package/dist/locales/et/translation.json +71 -0
  118. package/dist/locales/et/widget.json +149 -0
  119. package/dist/locales/eu/target.json +301 -0
  120. package/dist/locales/eu/translation.json +71 -0
  121. package/dist/locales/eu/widget.json +149 -0
  122. package/dist/locales/fa/target.json +301 -0
  123. package/dist/locales/fa/translation.json +71 -0
  124. package/dist/locales/fa/widget.json +149 -0
  125. package/dist/locales/fi/target.json +301 -0
  126. package/dist/locales/fi/translation.json +0 -446
  127. package/dist/locales/fi/widget.json +149 -0
  128. package/dist/locales/fil/target.json +301 -0
  129. package/dist/locales/fil/translation.json +71 -0
  130. package/dist/locales/fil/widget.json +149 -0
  131. package/dist/locales/fr/target.json +301 -0
  132. package/dist/locales/fr/translation.json +0 -446
  133. package/dist/locales/fr/widget.json +149 -0
  134. package/dist/locales/fy/target.json +301 -0
  135. package/dist/locales/fy/translation.json +71 -0
  136. package/dist/locales/fy/widget.json +149 -0
  137. package/dist/locales/ga/target.json +301 -0
  138. package/dist/locales/ga/translation.json +71 -0
  139. package/dist/locales/ga/widget.json +149 -0
  140. package/dist/locales/gd/target.json +301 -0
  141. package/dist/locales/gd/translation.json +71 -0
  142. package/dist/locales/gd/widget.json +149 -0
  143. package/dist/locales/gl/target.json +301 -0
  144. package/dist/locales/gl/translation.json +71 -0
  145. package/dist/locales/gl/widget.json +149 -0
  146. package/dist/locales/gu/target.json +301 -0
  147. package/dist/locales/gu/translation.json +71 -0
  148. package/dist/locales/gu/widget.json +149 -0
  149. package/dist/locales/he/target.json +301 -0
  150. package/dist/locales/he/translation.json +71 -0
  151. package/dist/locales/he/widget.json +149 -0
  152. package/dist/locales/hi/target.json +301 -0
  153. package/dist/locales/hi/translation.json +0 -446
  154. package/dist/locales/hi/widget.json +149 -0
  155. package/dist/locales/hr/target.json +301 -0
  156. package/dist/locales/hr/translation.json +71 -0
  157. package/dist/locales/hr/widget.json +149 -0
  158. package/dist/locales/hu/target.json +301 -0
  159. package/dist/locales/hu/translation.json +0 -446
  160. package/dist/locales/hu/widget.json +149 -0
  161. package/dist/locales/hy/target.json +301 -0
  162. package/dist/locales/hy/translation.json +71 -0
  163. package/dist/locales/hy/widget.json +149 -0
  164. package/dist/locales/ia/target.json +301 -0
  165. package/dist/locales/ia/translation.json +71 -0
  166. package/dist/locales/ia/widget.json +149 -0
  167. package/dist/locales/id/target.json +301 -0
  168. package/dist/locales/id/translation.json +10 -456
  169. package/dist/locales/id/widget.json +149 -0
  170. package/dist/locales/is/target.json +301 -0
  171. package/dist/locales/is/translation.json +71 -0
  172. package/dist/locales/is/widget.json +149 -0
  173. package/dist/locales/it/target.json +301 -0
  174. package/dist/locales/it/translation.json +0 -446
  175. package/dist/locales/it/widget.json +149 -0
  176. package/dist/locales/ja/target.json +301 -0
  177. package/dist/locales/ja/translation.json +0 -446
  178. package/dist/locales/ja/widget.json +149 -0
  179. package/dist/locales/jv/target.json +301 -0
  180. package/dist/locales/jv/translation.json +47 -493
  181. package/dist/locales/jv/widget.json +149 -0
  182. package/dist/locales/ka/target.json +301 -0
  183. package/dist/locales/ka/translation.json +71 -0
  184. package/dist/locales/ka/widget.json +149 -0
  185. package/dist/locales/kk/target.json +301 -0
  186. package/dist/locales/kk/translation.json +71 -0
  187. package/dist/locales/kk/widget.json +149 -0
  188. package/dist/locales/km/target.json +301 -0
  189. package/dist/locales/km/translation.json +71 -0
  190. package/dist/locales/km/widget.json +149 -0
  191. package/dist/locales/kn/target.json +301 -0
  192. package/dist/locales/kn/translation.json +71 -0
  193. package/dist/locales/kn/widget.json +149 -0
  194. package/dist/locales/ko/target.json +301 -0
  195. package/dist/locales/ko/translation.json +0 -446
  196. package/dist/locales/ko/widget.json +149 -0
  197. package/dist/locales/ky/target.json +301 -0
  198. package/dist/locales/ky/translation.json +71 -0
  199. package/dist/locales/ky/widget.json +149 -0
  200. package/dist/locales/lo/target.json +301 -0
  201. package/dist/locales/lo/translation.json +71 -0
  202. package/dist/locales/lo/widget.json +149 -0
  203. package/dist/locales/lt/target.json +301 -0
  204. package/dist/locales/lt/translation.json +71 -0
  205. package/dist/locales/lt/widget.json +149 -0
  206. package/dist/locales/lv/target.json +301 -0
  207. package/dist/locales/lv/translation.json +71 -0
  208. package/dist/locales/lv/widget.json +149 -0
  209. package/dist/locales/mk/target.json +301 -0
  210. package/dist/locales/mk/translation.json +71 -0
  211. package/dist/locales/mk/widget.json +149 -0
  212. package/dist/locales/ml/target.json +301 -0
  213. package/dist/locales/ml/translation.json +47 -493
  214. package/dist/locales/ml/widget.json +149 -0
  215. package/dist/locales/mn/target.json +301 -0
  216. package/dist/locales/mn/translation.json +71 -0
  217. package/dist/locales/mn/widget.json +149 -0
  218. package/dist/locales/mr/target.json +301 -0
  219. package/dist/locales/mr/translation.json +71 -0
  220. package/dist/locales/mr/widget.json +149 -0
  221. package/dist/locales/ms/target.json +301 -0
  222. package/dist/locales/ms/translation.json +47 -493
  223. package/dist/locales/ms/widget.json +149 -0
  224. package/dist/locales/my/target.json +301 -0
  225. package/dist/locales/my/translation.json +71 -0
  226. package/dist/locales/my/widget.json +149 -0
  227. package/dist/locales/ne/target.json +301 -0
  228. package/dist/locales/ne/translation.json +71 -0
  229. package/dist/locales/ne/widget.json +149 -0
  230. package/dist/locales/nl/target.json +301 -0
  231. package/dist/locales/nl/translation.json +0 -446
  232. package/dist/locales/nl/widget.json +149 -0
  233. package/dist/locales/nn/target.json +301 -0
  234. package/dist/locales/nn/translation.json +71 -0
  235. package/dist/locales/nn/widget.json +149 -0
  236. package/dist/locales/no/target.json +301 -0
  237. package/dist/locales/no/translation.json +1 -447
  238. package/dist/locales/no/widget.json +149 -0
  239. package/dist/locales/oc/target.json +301 -0
  240. package/dist/locales/oc/translation.json +71 -0
  241. package/dist/locales/oc/widget.json +149 -0
  242. package/dist/locales/or/target.json +301 -0
  243. package/dist/locales/or/translation.json +71 -0
  244. package/dist/locales/or/widget.json +149 -0
  245. package/dist/locales/pa/target.json +301 -0
  246. package/dist/locales/pa/translation.json +71 -0
  247. package/dist/locales/pa/widget.json +149 -0
  248. package/dist/locales/pl/target.json +301 -0
  249. package/dist/locales/pl/translation.json +0 -446
  250. package/dist/locales/pl/widget.json +149 -0
  251. package/dist/locales/pt/target.json +301 -0
  252. package/dist/locales/pt/translation.json +0 -446
  253. package/dist/locales/pt/widget.json +149 -0
  254. package/dist/locales/pt-BR/target.json +301 -0
  255. package/dist/locales/pt-BR/translation.json +0 -446
  256. package/dist/locales/pt-BR/widget.json +149 -0
  257. package/dist/locales/rm/target.json +301 -0
  258. package/dist/locales/rm/translation.json +71 -0
  259. package/dist/locales/rm/widget.json +149 -0
  260. package/dist/locales/ro/target.json +301 -0
  261. package/dist/locales/ro/translation.json +0 -446
  262. package/dist/locales/ro/widget.json +149 -0
  263. package/dist/locales/ru/target.json +301 -0
  264. package/dist/locales/ru/translation.json +0 -446
  265. package/dist/locales/ru/widget.json +149 -0
  266. package/dist/locales/sco/target.json +301 -0
  267. package/dist/locales/sco/translation.json +71 -0
  268. package/dist/locales/sco/widget.json +149 -0
  269. package/dist/locales/si/target.json +301 -0
  270. package/dist/locales/si/translation.json +71 -0
  271. package/dist/locales/si/widget.json +149 -0
  272. package/dist/locales/sk/target.json +301 -0
  273. package/dist/locales/sk/translation.json +71 -0
  274. package/dist/locales/sk/widget.json +149 -0
  275. package/dist/locales/sl/target.json +301 -0
  276. package/dist/locales/sl/translation.json +71 -0
  277. package/dist/locales/sl/widget.json +149 -0
  278. package/dist/locales/sq/target.json +301 -0
  279. package/dist/locales/sq/translation.json +71 -0
  280. package/dist/locales/sq/widget.json +149 -0
  281. package/dist/locales/sr/target.json +301 -0
  282. package/dist/locales/sr/translation.json +0 -446
  283. package/dist/locales/sr/widget.json +149 -0
  284. package/dist/locales/sv/target.json +301 -0
  285. package/dist/locales/sv/translation.json +0 -446
  286. package/dist/locales/sv/widget.json +149 -0
  287. package/dist/locales/sw/target.json +301 -0
  288. package/dist/locales/sw/translation.json +71 -0
  289. package/dist/locales/sw/widget.json +149 -0
  290. package/dist/locales/ta/target.json +301 -0
  291. package/dist/locales/ta/translation.json +71 -0
  292. package/dist/locales/ta/widget.json +149 -0
  293. package/dist/locales/te/target.json +301 -0
  294. package/dist/locales/te/translation.json +71 -0
  295. package/dist/locales/te/widget.json +149 -0
  296. package/dist/locales/tg/target.json +301 -0
  297. package/dist/locales/tg/translation.json +71 -0
  298. package/dist/locales/tg/widget.json +149 -0
  299. package/dist/locales/th/target.json +301 -0
  300. package/dist/locales/th/translation.json +0 -446
  301. package/dist/locales/th/widget.json +149 -0
  302. package/dist/locales/tr/target.json +301 -0
  303. package/dist/locales/tr/translation.json +6 -452
  304. package/dist/locales/tr/widget.json +149 -0
  305. package/dist/locales/uk/target.json +301 -0
  306. package/dist/locales/uk/translation.json +47 -493
  307. package/dist/locales/uk/widget.json +149 -0
  308. package/dist/locales/ur/target.json +301 -0
  309. package/dist/locales/ur/translation.json +71 -0
  310. package/dist/locales/ur/widget.json +149 -0
  311. package/dist/locales/uz/target.json +301 -0
  312. package/dist/locales/uz/translation.json +71 -0
  313. package/dist/locales/uz/widget.json +149 -0
  314. package/dist/locales/vi/target.json +301 -0
  315. package/dist/locales/vi/translation.json +0 -446
  316. package/dist/locales/vi/widget.json +149 -0
  317. package/dist/locales/xh/target.json +301 -0
  318. package/dist/locales/xh/translation.json +71 -0
  319. package/dist/locales/xh/widget.json +149 -0
  320. package/dist/locales/zh/target.json +301 -0
  321. package/dist/locales/zh/translation.json +71 -0
  322. package/dist/locales/zh/widget.json +149 -0
  323. package/dist/locales/zh-CN/target.json +301 -0
  324. package/dist/locales/zh-CN/translation.json +0 -446
  325. package/dist/locales/zh-CN/widget.json +149 -0
  326. package/dist/locales/zh-HK/target.json +301 -0
  327. package/dist/locales/zh-HK/translation.json +71 -0
  328. package/dist/locales/zh-HK/widget.json +149 -0
  329. package/dist/locales/zh-TW/target.json +301 -0
  330. package/dist/locales/zh-TW/translation.json +71 -0
  331. package/dist/locales/zh-TW/widget.json +149 -0
  332. package/dist/locales/zu/target.json +301 -0
  333. package/dist/locales/zu/translation.json +71 -0
  334. package/dist/locales/zu/widget.json +149 -0
  335. package/dist/requestLanguageDetector.d.ts +3 -0
  336. package/dist/requestLanguageDetector.d.ts.map +1 -0
  337. package/dist/requestLanguageDetector.js +24 -0
  338. package/dist/requestLanguageDetector.js.map +1 -0
  339. package/dist/serverTranslationKeys.d.ts +7 -0
  340. package/dist/serverTranslationKeys.d.ts.map +1 -0
  341. package/dist/serverTranslationKeys.js +34 -0
  342. package/dist/serverTranslationKeys.js.map +1 -0
  343. package/dist/tests/browserBundle.unit.test.d.ts +2 -0
  344. package/dist/tests/browserBundle.unit.test.d.ts.map +1 -0
  345. package/dist/tests/browserBundle.unit.test.js +26 -0
  346. package/dist/tests/browserBundle.unit.test.js.map +1 -0
  347. package/dist/tests/browserUiLanguages.unit.test.d.ts +2 -0
  348. package/dist/tests/browserUiLanguages.unit.test.d.ts.map +1 -0
  349. package/dist/tests/browserUiLanguages.unit.test.js +55 -0
  350. package/dist/tests/browserUiLanguages.unit.test.js.map +1 -0
  351. package/dist/tests/catalogues.test-d.d.ts +2 -0
  352. package/dist/tests/catalogues.test-d.d.ts.map +1 -0
  353. package/dist/tests/catalogues.test-d.js +766 -0
  354. package/dist/tests/catalogues.test-d.js.map +1 -0
  355. package/dist/tests/direction.unit.test.js +216 -5
  356. package/dist/tests/direction.unit.test.js.map +1 -1
  357. package/dist/tests/errorMessage.unit.test.js +9 -1
  358. package/dist/tests/errorMessage.unit.test.js.map +1 -1
  359. package/dist/tests/i18SharedOptions.unit.test.js +0 -4
  360. package/dist/tests/i18SharedOptions.unit.test.js.map +1 -1
  361. package/dist/tests/i18nBackend.unit.test.js +100 -21
  362. package/dist/tests/i18nBackend.unit.test.js.map +1 -1
  363. package/dist/tests/i18nBackendFiles.unit.test.d.ts +2 -0
  364. package/dist/tests/i18nBackendFiles.unit.test.d.ts.map +1 -0
  365. package/dist/tests/i18nBackendFiles.unit.test.js +22 -0
  366. package/dist/tests/i18nBackendFiles.unit.test.js.map +1 -0
  367. package/dist/tests/i18nFrontend.unit.test.js +90 -54
  368. package/dist/tests/i18nFrontend.unit.test.js.map +1 -1
  369. package/dist/tests/keptAsIs.d.ts +4 -0
  370. package/dist/tests/keptAsIs.d.ts.map +1 -0
  371. package/dist/tests/keptAsIs.js +1236 -0
  372. package/dist/tests/keptAsIs.js.map +1 -0
  373. package/dist/tests/languagePreference.unit.test.d.ts +2 -0
  374. package/dist/tests/languagePreference.unit.test.d.ts.map +1 -0
  375. package/dist/tests/languagePreference.unit.test.js +204 -0
  376. package/dist/tests/languagePreference.unit.test.js.map +1 -0
  377. package/dist/tests/locale.test-d.js +20 -1
  378. package/dist/tests/locale.test-d.js.map +1 -1
  379. package/dist/tests/localePlaceholders.unit.test.js +5 -2
  380. package/dist/tests/localePlaceholders.unit.test.js.map +1 -1
  381. package/dist/tests/locales.unit.test.js +136 -43
  382. package/dist/tests/locales.unit.test.js.map +1 -1
  383. package/dist/tests/requestLanguageDetector.unit.test.d.ts +2 -0
  384. package/dist/tests/requestLanguageDetector.unit.test.d.ts.map +1 -0
  385. package/dist/tests/requestLanguageDetector.unit.test.js +106 -0
  386. package/dist/tests/requestLanguageDetector.unit.test.js.map +1 -0
  387. package/dist/tests/thrownErrorKeys.unit.test.js +2 -10
  388. package/dist/tests/thrownErrorKeys.unit.test.js.map +1 -1
  389. package/dist/tests/translationKey.unit.test.js +110 -5
  390. package/dist/tests/translationKey.unit.test.js.map +1 -1
  391. package/dist/tests/translations.unit.test.js +9 -5
  392. package/dist/tests/translations.unit.test.js.map +1 -1
  393. package/dist/tests/translator.unit.test.js +8 -2
  394. package/dist/tests/translator.unit.test.js.map +1 -1
  395. package/dist/translationKey.d.ts +16 -4
  396. package/dist/translationKey.d.ts.map +1 -1
  397. package/dist/translationKey.js +27 -6
  398. package/dist/translationKey.js.map +1 -1
  399. package/dist/translations.d.ts +63 -2
  400. package/dist/translations.d.ts.map +1 -1
  401. package/dist/translations.js +63 -2
  402. package/dist/translations.js.map +1 -1
  403. package/dist/translator.d.ts +2 -2
  404. package/dist/translator.d.ts.map +1 -1
  405. package/dist/translator.js +2 -1
  406. package/dist/translator.js.map +1 -1
  407. package/dist/types.d.ts +2 -0
  408. package/dist/types.d.ts.map +1 -1
  409. package/package.json +13 -3
@@ -0,0 +1,301 @@
1
+ {
2
+ "TARGET": {
3
+ "bird": "Inyoni",
4
+ "bus": "Ibhasi",
5
+ "car": "Imoto",
6
+ "cat": "Ikati",
7
+ "deer": "Inyamazane",
8
+ "dog": "Inja",
9
+ "horse": "Ihhashi",
10
+ "plane": "Indiza",
11
+ "train": "Isitimela",
12
+ "animals": "Izilwane",
13
+ "antelope": "I-antelope",
14
+ "backpack": "Isikhwama sasemhlane",
15
+ "badger": "Insele",
16
+ "baseball-bat": "Induku ye-baseball",
17
+ "baseball-glove": "Iglavu ye-baseball",
18
+ "basketball-hoop": "Iringi ye-basketball",
19
+ "bat": "Ilulwane",
20
+ "bathtub": "Ubhavu",
21
+ "bear": "Ibhere",
22
+ "bee": "Inyosi",
23
+ "beer-mug": "Inkomishi kabhiya",
24
+ "beetle": "Ibhungane",
25
+ "billiards": "Ibhiliyadi",
26
+ "binoculars": "Izibonakude",
27
+ "birdbath": "Isitsha sokugeza izinyoni",
28
+ "bison": "Inyathi yaseMelika",
29
+ "blimp": "Ibhaluni elikhulu",
30
+ "boar": "Ingulube yasendle",
31
+ "bonsai-tree": "Isihlahla se-bonsai",
32
+ "boom-box": "I-boom box",
33
+ "bowling-ball": "Ibhola le-bowling",
34
+ "bowling-pin": "Iphini le-bowling",
35
+ "boxing-glove": "Iglavu yesibhakela",
36
+ "breadmaker": "Umshini wokwenza isinkwa",
37
+ "bulldozer": "I-bulldozer",
38
+ "butterfly": "Uvemvane",
39
+ "cactus": "Ukhakhasi",
40
+ "cake": "Ikhekhe",
41
+ "calculator": "Isibali",
42
+ "camel": "Ikamela",
43
+ "canoe": "Isikebhe se-canoe",
44
+ "car-tire": "Isondo lemoto",
45
+ "caterpillar": "Icimbi",
46
+ "cd": "I-CD",
47
+ "cereal-box": "Ibhokisi likasiriyeli",
48
+ "chandelier": "Isibani esilenga ophahleni",
49
+ "chess-board": "Ibhodi le-chess",
50
+ "chimpanzee": "Ishimpanzi",
51
+ "chopsticks": "Izinti zokudla",
52
+ "cockroach": "Iphela",
53
+ "coffin": "Ibhokisi lesidumbu",
54
+ "coin": "Uhlamvu lwemali",
55
+ "comet": "Inkanyezi enomsila",
56
+ "computer-keyboard": "Ikhibhodi yekhompyutha",
57
+ "computer-monitor": "Isikrini sekhompyutha",
58
+ "computer-mouse": "Igundane lekhompyutha",
59
+ "conch": "Igobolondo lasolwandle",
60
+ "cormorant": "I-cormorant",
61
+ "covered-wagon": "Inqola embozwe",
62
+ "cow": "Inkomo",
63
+ "cowboy-hat": "Isigqoko se-cowboy",
64
+ "coyote": "I-coyote",
65
+ "crab": "Inkalankala",
66
+ "crow": "Igwababa",
67
+ "desk-globe": "Imbulunga yomhlaba yetafula",
68
+ "diamond-ring": "Iringi yedayimane",
69
+ "dice": "Amadayisi",
70
+ "dolphin": "Ihlengethwa",
71
+ "donkey": "Imbongolo",
72
+ "doorknob": "Isibambo somnyango",
73
+ "dragonfly": "Uzekamanzi",
74
+ "drinking-straw": "Ishubhu lokuphuza",
75
+ "duck": "Idada",
76
+ "dumb-bell": "I-dumbbell",
77
+ "eagle": "Ukhozi",
78
+ "eiffel-tower": "I-Eiffel Tower",
79
+ "electric-guitar": "Isiginci sikagesi",
80
+ "elephant": "Indlovu",
81
+ "elk": "I-elk",
82
+ "eyeglasses": "Izibuko zamehlo",
83
+ "fern": "Isihlahla se-fern",
84
+ "fire-extinguisher": "Isicimi-mlilo",
85
+ "fire-hydrant": "Umpompi wamanzi wokucima umlilo",
86
+ "fire-truck": "Inqola yokucima umlilo",
87
+ "fireworks": "Iziqhumane",
88
+ "flamingo": "Ufulamingo",
89
+ "fly": "Impukane",
90
+ "fox": "Impungushe",
91
+ "french-horn": "Uphondo lwesiFulentshi",
92
+ "fried-egg": "Iqanda elithosiwe",
93
+ "frisbee": "I-frisbee",
94
+ "frog": "Ixoxo",
95
+ "frying-pan": "Ipani lokuthosa",
96
+ "galaxy": "Umthala",
97
+ "gas-pump": "Umpompi kaphethiloli",
98
+ "giraffe": "Indlulamithi",
99
+ "goat": "Imbuzi",
100
+ "golden-gate-bridge": "I-Golden Gate Bridge",
101
+ "goldfish": "Inhlanzi yegolide",
102
+ "golf-ball": "Ibhola legalofu",
103
+ "goose": "Ihansi",
104
+ "gorilla": "Ingorila",
105
+ "grapes": "Amagilebhisi",
106
+ "grasshopper": "Intethe",
107
+ "greyhound": "I-greyhound",
108
+ "guitar-pick": "I-guitar pick",
109
+ "hamburger": "I-hamburger",
110
+ "hammock": "Umbhede olengayo",
111
+ "hamster": "I-hamster",
112
+ "hare": "Unogwaja wasendle",
113
+ "harmonica": "I-harmonica",
114
+ "harp": "Ihabhu",
115
+ "harpsichord": "I-harpsichord",
116
+ "head-phones": "Ama-headphone",
117
+ "hedgehog": "Inhloni",
118
+ "helicopter": "Indiza enophephela",
119
+ "hibiscus": "Imbali ye-hibiscus",
120
+ "hippopotamus": "Imvubu",
121
+ "homer-simpson": "U-Homer Simpson",
122
+ "hornbill": "Ingududu",
123
+ "horseshoe-crab": "Inkalankala ye-horseshoe",
124
+ "hot-air-balloon": "Ibhaluni lomoya oshisayo",
125
+ "hot-dog": "I-hot dog",
126
+ "hot-tub": "Ubhavu wamanzi ashisayo",
127
+ "hourglass": "Iwashi lesihlabathi",
128
+ "house-fly": "Impukane yasendlini",
129
+ "hummingbird": "Inyoni encane ye-hummingbird",
130
+ "hyena": "Impisi",
131
+ "ice-cream-cone": "Ikhoni ka-ayisikhilimu",
132
+ "iguana": "I-iguana",
133
+ "ipod": "I-iPod",
134
+ "jellyfish": "Ijelifishi",
135
+ "joy-stick": "I-joystick",
136
+ "kangaroo": "Ikhangaru",
137
+ "kayak": "I-kayak",
138
+ "killer-whale": "Umkhomo obulalayo",
139
+ "koala": "I-koala",
140
+ "ladder": "Isitebhisi",
141
+ "ladybugs": "Ibhungane elibomvu",
142
+ "laptop": "I-laptop",
143
+ "leopard": "Ingwe",
144
+ "license-plate": "Ipuleti lenombolo",
145
+ "light-house": "Indlu yesibani sasolwandle",
146
+ "lightbulb": "Isibani sikagesi",
147
+ "lightning": "Umbani",
148
+ "lion": "Ibhubesi",
149
+ "lizard": "Isibankwa",
150
+ "llama": "I-llama",
151
+ "lobster": "Uzinkala",
152
+ "mailbox": "Ibhokisi leposi",
153
+ "mandolin": "I-mandolin",
154
+ "mars": "I-Mars",
155
+ "mattress": "Umatilasi",
156
+ "megaphone": "Isikhulisazwi",
157
+ "microscope": "Isibonakhulu",
158
+ "microwave": "I-microwave",
159
+ "minaret": "I-minaret",
160
+ "minotaur": "I-minotaur",
161
+ "mosquito": "Umiyane",
162
+ "moth": "Uvemvane lwasebusuku",
163
+ "motorbikes": "Isithuthuthu",
164
+ "mountain-bike": "Ibhayisikili lezintaba",
165
+ "mouse": "Igundane",
166
+ "mushroom": "Ikhowe",
167
+ "mussels": "Imbaza",
168
+ "necktie": "Uthayi",
169
+ "octopus": "Ingwane",
170
+ "okapi": "I-okapi",
171
+ "orangutan": "I-orangutan",
172
+ "ostrich": "Intshe",
173
+ "otter": "Umthini",
174
+ "owl": "Isikhova",
175
+ "ox": "Inkabi",
176
+ "oyster": "I-oyster",
177
+ "palm-pilot": "I-Palm Pilot",
178
+ "palm-tree": "Isihlahla sesundu",
179
+ "panda": "I-panda",
180
+ "paper-shredder": "Umshini wokusika iphepha",
181
+ "paperclip": "Isiqeshana sephepha",
182
+ "parrot": "Upholi",
183
+ "pci-card": "Ikhadi le-PCI",
184
+ "pelecaniformes": "Ivuba",
185
+ "penguin": "Iphengwini",
186
+ "photocopier": "Umshini wokukopisha",
187
+ "piano": "Upiyano",
188
+ "picnic-table": "Itafula le-picnic",
189
+ "pig": "Ingulube",
190
+ "pigeon": "Ijuba",
191
+ "playing-card": "Ikhadi lokudlala",
192
+ "porcupine": "Ingungumbane",
193
+ "possum": "I-possum",
194
+ "pram": "Inqola yengane",
195
+ "pyramid": "Iphiramidi",
196
+ "raccoon": "I-raccoon",
197
+ "radio-telescope": "Isibonakude somsakazo",
198
+ "rainbow": "Uthingo lwenkosazana",
199
+ "rat": "Ibuzi",
200
+ "refrigerator": "Isiqandisi",
201
+ "reindeer": "Inyamazane ye-reindeer",
202
+ "rhinoceros": "Ubhejane",
203
+ "rotary-phone": "Ucingo olunedayela",
204
+ "roulette-wheel": "Isondo le-roulette",
205
+ "saddle": "Isihlalo sehhashi",
206
+ "sandpiper": "Inyoni ye-sandpiper",
207
+ "saturn": "I-Saturn",
208
+ "school-bus": "Ibhasi lesikole",
209
+ "screwdriver": "I-screwdriver",
210
+ "seahorse": "Ihhashi lasolwandle",
211
+ "seal": "Imvu yamanzi",
212
+ "segway": "I-Segway",
213
+ "self-propelled-lawn-mower": "Umshini wokugunda utshani ozihambelayo",
214
+ "shark": "Ushaka",
215
+ "sheep": "Imvu",
216
+ "sheet-music": "Umculo obhaliwe",
217
+ "skateboard": "I-skateboard",
218
+ "skunk": "I-skunk",
219
+ "skyscraper": "Isakhiwo eside kakhulu",
220
+ "smokestack": "Ushimula",
221
+ "snail": "Umnenke",
222
+ "snake": "Inyoka",
223
+ "sneaker": "Izicathulo zezemidlalo",
224
+ "snowmobile": "Imoto yeqhwa",
225
+ "soccer-ball": "Ibhola lezinyawo",
226
+ "socks": "Amasokisi",
227
+ "soda-can": "Ikani lesiphuzo",
228
+ "spaghetti": "I-spaghetti",
229
+ "sparrow": "Undlunkulu",
230
+ "speed-boat": "Isikebhe esishesha kakhulu",
231
+ "spoon": "Isipuni",
232
+ "squid": "I-squid",
233
+ "squirrel": "Ingwejeje",
234
+ "stained-glass": "Ingilazi enemibala",
235
+ "starfish": "Inkanyezi yasolwandle",
236
+ "steering-wheel": "Isondo lokushayela",
237
+ "stirrups": "Izinyathelo zehhashi",
238
+ "sunflower": "Ujikanelanga",
239
+ "superman": "U-Superman",
240
+ "sushi": "I-sushi",
241
+ "swan": "Idada elimhlophe",
242
+ "t-shirt": "Isikibha",
243
+ "teapot": "Iketela letiye",
244
+ "teddy-bear": "Ibhere lokudlala",
245
+ "telephone-box": "Indlwana yocingo",
246
+ "tennis-ball": "Ibhola lethenisi",
247
+ "tennis-court": "Inkundla yethenisi",
248
+ "tennis-racket": "Irakhethi yethenisi",
249
+ "tiger": "Ingwe enemigqa",
250
+ "toad": "Isiqhwagi",
251
+ "toaster": "I-toaster",
252
+ "tomato": "Utamatisi",
253
+ "tombstone": "Itshe lethuna",
254
+ "top-hat": "Isigqoko eside",
255
+ "touring-bike": "Ibhayisikili lokuvakasha",
256
+ "tower-pisa": "I-Leaning Tower of Pisa",
257
+ "traffic-light": "Isibani sezimoto",
258
+ "treadmill": "I-treadmill",
259
+ "triceratops": "I-triceratops",
260
+ "tricycle": "Ibhayisikili elinamasondo amathathu",
261
+ "tripod": "I-tripod",
262
+ "tuning-fork": "I-tuning fork",
263
+ "turkey": "I-turkey",
264
+ "turtle": "Ufudu",
265
+ "tweezer": "Insingo",
266
+ "umbrella": "Isambulela",
267
+ "unicorn": "I-unicorn",
268
+ "video-projector": "I-projector yevidiyo",
269
+ "washing-machine": "Umshini wokuwasha",
270
+ "watch": "Iwashi lesandla",
271
+ "waterfall": "Impophoma",
272
+ "watermelon": "Ikhabe",
273
+ "welding-mask": "Isifihla-buso sokushisela",
274
+ "whale": "Umkhomo",
275
+ "wheelbarrow": "Ibhala elinesondo",
276
+ "windmill": "Isigayo somoya",
277
+ "wine-bottle": "Ibhodlela lewayini",
278
+ "wolf": "Impisi yasendle",
279
+ "wombat": "I-wombat",
280
+ "woodpecker": "Isiqophamuthi",
281
+ "xylophone": "I-xylophone",
282
+ "yo-yo": "I-yo-yo",
283
+ "zebra": "Idube",
284
+ "airplanes": "Izindiza",
285
+ "american-flag": "Ifulegi laseMelika",
286
+ "bonsai": "I-bonsai",
287
+ "buddha": "UBuddha",
288
+ "cannon": "Inganono",
289
+ "coffee-mug": "Inkomishi yekhofi",
290
+ "flashlight": "Ithoshi",
291
+ "floppy-disk": "I-floppy disk",
292
+ "football-helmet": "Isigqoko sebhola lezinyawo",
293
+ "grand-piano": "Upiyano omkhulu",
294
+ "jesus-christ": "UJesu Kristu",
295
+ "knife": "Ummese",
296
+ "leopards": "Izingwe",
297
+ "sword": "Inkemba",
298
+ "syringe": "Isirinji",
299
+ "tambourine": "Isigubhu esincane"
300
+ }
301
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "CONTRACT": {
3
+ "INVALID_ADDRESS": "Kwehlulekile ukufaka ikhodi ekhelini elingavumelekile",
4
+ "CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST": "Isibophezelo sesixazululo se-captcha asikho",
5
+ "SIGNER_UNDEFINED": "Osayinayo akachazwanga",
6
+ "CANNOT_FIND_KEYPAIR": "I-keypair ayitholakalanga",
7
+ "INVALID_DATA_FORMAT": "Ifomethi yedatha engavumelekile"
8
+ },
9
+ "CONFIG": {
10
+ "UNKNOWN_ENVIRONMENT": "Kuceliwe imvelo engaziwa",
11
+ "INVALID_CAPTCHA_NUMBER": "Sicela usethe ukulungiselelwa kwe-captcha ngendlela efanele",
12
+ "INVALID_LOG_LEVEL": "Izinga lelogi elingavumelekile",
13
+ "INVALID_PACKAGE_DIR": "Uhla lwemibhalo lwephakheji olungavumelekile"
14
+ },
15
+ "DATASET": {
16
+ "DATASET_PARSE_ERROR": "Iphutha lokuhlaziya iqoqo ledatha",
17
+ "SOLUTION_PARSE_ERROR": "Iphutha lokucubungula iqoqo ledatha",
18
+ "HASH_ERROR": "Iphutha lokwenza i-hash yeqoqo ledatha",
19
+ "DATASET_ID_UNDEFINED": "I-ID yeqoqo ledatha ayichazwanga",
20
+ "NOT_ENOUGH_LABELS": "Amalebula awanele",
21
+ "NOT_ENOUGH_IMAGES": "Izithombe azanele",
22
+ "CAPTCHAS_COUNT_LESS_THAN_CONFIGURED": "Inani lama-captcha eqoqweni ledatha lingaphansi kwenani elilungiselelwe",
23
+ "SOLUTIONS_COUNT_LESS_THAN_CONFIGURED": "Inani lezixazululo eqoqweni ledatha lingaphansi kwenani elilungiselelwe",
24
+ "DUPLICATE_IMAGE": "Kutholwe isithombe esiphindaphindiwe",
25
+ "MERKLE_ERROR": "Iphutha lokwakha isihlahla se-Merkle"
26
+ },
27
+ "DATABASE": {
28
+ "DATABASE_IMPORT_FAILED": "Kwehlulekile ukungenisa injini yesizindalwazi",
29
+ "DATABASE_UNDEFINED": "Iklayenti lesizindalwazi alixhunyiwe",
30
+ "DATABASE_HOST_UNDEFINED": "Ikheli lomsingathi wesizindalwazi alichazwanga",
31
+ "DATASET_LOAD_FAILED": "Ukulayisha iqoqo ledatha kwehlulekile",
32
+ "DATASET_GET_FAILED": "Kwehlulekile ukuthola iqoqo ledatha",
33
+ "CAPTCHA_GET_FAILED": "Kwehlulekile ukuthola ama-captcha",
34
+ "CAPTCHA_UPDATE_FAILED": "Kwehlulekile ukubuyekeza ama-captcha",
35
+ "IMAGE_GET_FAILED": "Kwehlulekile ukuthola isithombe",
36
+ "PENDING_RECORD_NOT_FOUND": "Awekho amarekhodi alindile atholakele",
37
+ "INVALID_HASH": "I-hash engavumelekile",
38
+ "SOLUTION_GET_FAILED": "Kwehlulekile ukuthola isixazululo",
39
+ "DATASET_WITH_SOLUTIONS_GET_FAILED": "Alitholakalanga iqoqo ledatha elinenani elidingekayo lezixazululo",
40
+ "SOLUTION_APPROVE_FAILED": "Kwehlulekile ukwamukela isixazululo",
41
+ "SOLUTION_FLAG_FAILED": "Kwehlulekile ukuphawula isixazululo njengesicutshunguliwe",
42
+ "TABLES_UNDEFINED": "Amathebula awachazwanga",
43
+ "CONNECTION_UNDEFINED": "Uxhumano aluchazwanga",
44
+ "COMMITMENT_FLAG_FAILED": "Kwehlulekile ukuphawula isibophezelo njengesicutshunguliwe",
45
+ "UNKNOWN": "Iphutha lesizindalwazi elingaziwa",
46
+ "QUERY_ERROR": "Umbuzo wesizindalwazi wehlulekile",
47
+ "REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Uxhumano lwe-Redis lwemithetho yokufinyelela aluchazwanga",
48
+ "USER_ACCESS_RULES_STORAGE_UNDEFINED": "Isitolo semithetho yokufinyelela komsebenzisi asichazwanga",
49
+ "SESSION_STORE_FAILED": "Kwehlulekile ukugcina iseshini",
50
+ "SESSION_CHECK_REMOVE_FAILED": "Kwehlulekile ukuhlola nokususa iseshini",
51
+ "SESSION_GET_FAILED": "Kwehlulekile ukuthola iseshini"
52
+ },
53
+ "PORTAL": {
54
+ "CANNOT_MODIFY_OWNER_USER": "Awukwazi ukushintsha umsebenzisi ongumnikazi",
55
+ "CANNOT_DELETE_OWN_USER": "Awukwazi ukususa i-akhawunti yakho",
56
+ "CANNOT_DELETE_LAST_USER": "Awukwazi ukususa umsebenzisi wokugcina",
57
+ "USER_ALREADY_EXISTS": "Umsebenzisi usevele ukhona",
58
+ "NO_SUGGESTIONS_FOUND": "Azikho iziphakamiso ezitholakele",
59
+ "CANNOT_DEACTIVATE_LAST_SITE": "Awukwazi ukuvala isayithi lokugcina elisebenzayo",
60
+ "DUPLICATE_SITE_NAME": "Isayithi elinaleli gama selivele likhona",
61
+ "INVALID_SITE_NAME": "Igama lesayithi lingaqukatha kuphela izinhlamvu, izinombolo, ama-underscore nama-hyphen"
62
+ },
63
+ "CLI": {
64
+ "PARAMETER_ERROR": "Ipharamitha engavumelekile"
65
+ },
66
+ "FS": {
67
+ "FILE_NOT_FOUND": "Ifayela alitholakalanga",
68
+ "FILE_ALREADY_EXISTS": "Ifayela selivele likhona",
69
+ "INVALID_DIR_FORMAT": "Ifomethi yohla lwemibhalo engavumelekile"
70
+ }
71
+ }
@@ -0,0 +1,149 @@
1
+ {
2
+ "ACCOUNT": {
3
+ "NO_POLKADOT_EXTENSION": "Isandiso se-Polkadot asitholakalanga"
4
+ },
5
+ "WIDGET": {
6
+ "SELECT_ALL": "Khetha konke okuqukethe lokhu okulandelayo:",
7
+ "IF_NONE_CLICK_NEXT": "Uma kungekho, chofoza Okulandelayo",
8
+ "NEXT": "Okulandelayo",
9
+ "SUBMIT": "Thumela",
10
+ "CANCEL": "Khansela",
11
+ "I_AM_HUMAN": "Ngingumuntu",
12
+ "NO_ACCOUNTS_FOUND": "Awekho ama-akhawunti atholakele",
13
+ "ACCOUNT_NOT_FOUND": "I-akhawunti ayitholakalanga",
14
+ "NO_EXTENSION_FOUND": "Asikho isandiso esitholakele",
15
+ "INSECURE_CONTEXT": "I-Procaptcha idinga uxhumano oluvikelekile (HTTPS)",
16
+ "CHECKING": "Sihlola ukuthi ungumuntu",
17
+ "IMAGE_DIALOG_LABEL": "Inselelo yesithombe",
18
+ "CANNOT_LOAD": "Ayikwazanga ukulayisha i-CAPTCHA",
19
+ "RELOAD": "Layisha kabusha",
20
+ "VERIFIED_AGENT": "Umenzeli oqinisekisiwe",
21
+ "TRUSTED_REQUEST": "Isicelo esithembekile",
22
+ "LOADING": "Iyalayisha",
23
+ "PUZZLE": {
24
+ "DIALOG_LABEL": "Inselelo yephazili",
25
+ "DRAG": "Hudula ucezu uluyise endaweni okuhloswe kuyo",
26
+ "RETRY": "Akulungile — zama futhi",
27
+ "PIECE_LABEL": "Ucezu lwephazili",
28
+ "PIECE_ROLE": "Ucezu lwephazili oluhudulekayo",
29
+ "KEYBOARD_HINT": "Sebenzisa okhiye bemicibisholo ukuhambisa ucezu, ubambe u-Shift ukuze uthathe izinyathelo ezincane. Cindezela u-Enter ukuthumela, u-Home ukubuyela ekuqaleni, no-Escape ukukhansela.",
30
+ "POSITION": "amaphesenti angu-{{x}} kwesokudla, amaphesenti angu-{{y}} phansi",
31
+ "CHECKING": "Sihlola impendulo yakho",
32
+ "RETRY_ANNOUNCEMENT": "Akulungile. Kulayishwe iphazili entsha futhi ucezu lubuyiselwe ekuqaleni.",
33
+ "REFRESH": "Ngibonise enye iphazili",
34
+ "SWITCH_TO_IMAGE": "Shintshela enseleleni yesithombe",
35
+ "SWITCH_TO_IMAGE_ANNOUNCEMENT": "Ungashintshela futhi enseleleni yesithombe."
36
+ },
37
+ "ICON_ORDER": {
38
+ "DIALOG_LABEL": "Inselelo yokulandelana kwezithonjana",
39
+ "SELECT": "Khetha ngalokhu kulandelana",
40
+ "RETRY": "Akulungile — zama futhi",
41
+ "LEGEND_ALT": "Izithonjana okufanele zikhethwe, ngokulandelana",
42
+ "RESET": "Setha kabusha",
43
+ "CHECKING": "Iyahlola…",
44
+ "SUBMIT": "KULUNGILE"
45
+ },
46
+ "AUDIO_CHALLENGE_LABEL": "Audio verification challenge",
47
+ "AUDIO_INSTRUCTIONS": "Listen and type the {{count}} digits you hear.",
48
+ "AUDIO_INPUT_LABEL": "Type the {{count}} digits you hear",
49
+ "AUDIO_PLAY": "Play",
50
+ "AUDIO_REPLAY": "Play again",
51
+ "AUDIO_PLAYING": "Playing",
52
+ "AUDIO_FINISHED": "Playback finished",
53
+ "AUDIO_PLAYBACK_FAILED": "Audio could not be played. Check your device volume and try again.",
54
+ "AUDIO_INCORRECT": "That wasn't right. Here's a new one.",
55
+ "AUDIO_SUBMIT": "Verify",
56
+ "AUDIO_CHECKING": "Checking",
57
+ "AUDIO_ALTERNATIVE": "Use audio instead"
58
+ },
59
+ "GENERAL": {
60
+ "JSON_LOAD_FAILED": "Yehlulekile ukulayisha ifayela le-JSON",
61
+ "MNEMONIC_UNDEFINED": "I-mnemonic ayichazwanga. Sicela usethe i-mnemonic kokuguquguqukayo kwemvelo",
62
+ "NO_MNEMONIC_OR_SEED": "Azikho izimfihlo ezinikeziwe",
63
+ "CANT_FIND_KEYRINGPAIR": "I-keypair ye-{{address}} ayitholakalanga",
64
+ "ENVIRONMENT_NOT_READY": "Imvelo ayilungile",
65
+ "INVALID_SIGNATURE": "Isiginesha engavumelekile",
66
+ "SITE_KEY_MISSING": "Ukhiye wesayithi awukho",
67
+ "ACCOUNT_NOT_FOUND": "I-akhawunti ayitholakalanga",
68
+ "SITE_KEY_NOT_FOUND": "Ukhiye wesayithi awutholakalanga",
69
+ "INVALID_TIMESTAMP": "Isitembu sesikhathi esingavumelekile",
70
+ "MISSING_SECRET_KEY": "Ukhiye oyimfihlo awukho",
71
+ "MISSING_AUTH_HEADER": "Inhloko yokuqinisekisa ayikho",
72
+ "INVALID_JWT": "I-JWT engavumelekile"
73
+ },
74
+ "CAPTCHA": {
75
+ "PARSE_ERROR": "Iphutha lokuhlaziya i-captcha",
76
+ "INVALID_CAPTCHA_ID": "I-ID ye-captcha engavumelekile",
77
+ "INVALID_ITEM_FORMAT": "Kuvunyelwe kuphela izinto zohlobo lwesithombe nombhalo",
78
+ "INVALID_SOLUTION_TYPE": "Uhlobo lwesixazululo olungavumelekile",
79
+ "INVALID_ITEM_HASH": "I-hash yento engavumelekile",
80
+ "DIFFERENT_DATASET_IDS": "I-ID yeqoqo ledatha ayifani",
81
+ "ID_MISMATCH": "I-ID ye-captcha ayifani",
82
+ "MISSING_ITEM_HASH": "I-hash yento ayikho",
83
+ "INVALID_CAPTCHA_CHALLENGE": "Inselelo ye-captcha engavumelekile",
84
+ "DAPP_USER_SOLUTION_NOT_FOUND": "Isixazululo somsebenzisi wohlelo asitholakalanga",
85
+ "NO_CAPTCHA": "Awekho ama-captcha atholakele",
86
+ "NO_SESSION_FOUND": "Ayikho iseshini etholakele",
87
+ "IP_ADDRESS_MISMATCH": "Kutholwe ukungafani kwekheli le-IP",
88
+ "INVALID_SALT": "I-salt engavumelekile",
89
+ "INVALID_TOKEN": "Ithokheni engavumelekile",
90
+ "INVALID_SOLUTION": "Isixazululo esingavumelekile",
91
+ "DECRYPTION_ERROR": "Iphutha lokuqopha",
92
+ "SOLUTION_NOT_FOUND": "Isixazululo asitholakalanga",
93
+ "DECISION_MACHINE_DENIED": "Kwenqatshwe yinjini yezinqumo",
94
+ "INVALID_TIMESTAMP": "Isitembu sesikhathi esingavumelekile"
95
+ },
96
+ "API": {
97
+ "CAPTCHA_FAILED": "Uphendule i-captcha eyodwa noma ngaphezulu ngokungalungile. Sicela uzame futhi",
98
+ "CAPTCHA_PASSED": "Uphendule ama-captcha ngendlela efanele",
99
+ "BAD_REQUEST": "Isicelo esibi",
100
+ "USER_VERIFIED": "Umsebenzisi uqinisekisiwe",
101
+ "USER_NOT_VERIFIED": "Umsebenzisi akaqinisekisiwe",
102
+ "USER_NOT_VERIFIED_TIME_EXPIRED": "Umsebenzisi akaqinisekisiwe. Isixazululo se-captcha siphelelwe yisikhathi.",
103
+ "USER_NOT_VERIFIED_NO_SOLUTION": "Umsebenzisi akaqinisekisiwe. Asikho isixazululo se-captcha esitholakele.",
104
+ "USER_ALREADY_VERIFIED": "Lesi sixazululo sesivele siqinisekisiwe. Umsebenzisi kufanele aqedele i-captcha entsha.",
105
+ "UNKNOWN": "Iphutha le-API elingaziwa",
106
+ "SITE_KEY_NOT_REGISTERED": "Ukhiye wesayithi awubhalisiwe",
107
+ "INCORRECT_CAPTCHA_TYPE": "Uhlobo lwe-CAPTCHA olungalungile",
108
+ "INSUFFICIENT_PERMISSIONS": "Izimvume azanele ukwenza lesi senzo",
109
+ "INVALID_SITE_KEY": "Ukhiye wesayithi ongavumelekile",
110
+ "UNAUTHORIZED_ORIGIN_URL": "I-URL yomsuka engagunyaziwe",
111
+ "UNAUTHORIZED": "Akugunyaziwe",
112
+ "INVALID_IP": "I-IP engavumelekile",
113
+ "INVALID_URL": "I-URL engavumelekile",
114
+ "INVALID_BODY": "I-body engavumelekile",
115
+ "MISSING_BODY": "I-body ayikho",
116
+ "MISSING_QUERY_PARAMETERS": "Amapharamitha e-query awekho",
117
+ "MISSING_AUTHORIZATION_HEADER": "Inhloko yokuqinisekisa ayikho",
118
+ "PARSE_ERROR": "Iphutha lokuhlaziya isicelo",
119
+ "NO_CONTENT_TYPE_HEADER": "Inhloko ye-content-type ayikho. Bekucatshangwa ukuthi i-body efakwe ikhodi ye-JSON kodwa ukuhlaziya kwehlulekile.",
120
+ "TIMESTAMP_TOO_OLD": "Isitembu sesikhathi sidala kakhulu",
121
+ "FAILED_IP_VALIDATION": "Ukuqinisekiswa kwe-IP kwehlulekile",
122
+ "ACCESS_POLICY_BLOCK": "Ukufinyelela kuvinjelwe yinqubomgomo",
123
+ "CLIENT_SESSION_MISMATCH": "Iseshini ayifani. I-captcha ayiqedwanga kule seshini.",
124
+ "FORBIDDEN": "Kunqatshelwe",
125
+ "PROVIDER_VERIFY_FAILED": "Ukuhlola komhlinzeki kwehlulekile",
126
+ "SPAM_EMAIL_DOMAIN": "Isizinda se-imeyili asivunyelwe",
127
+ "SPAM_EMAIL_RULE": "Ikheli le-imeyili livinjelwe yimithetho yokuhlunga ugaxekile",
128
+ "SPAM_EMAIL_COUNT_EXCEEDED": "Kunezithumelo eziningi kakhulu ezivela kuleli kheli le-imeyili",
129
+ "VPN_BLOCKED": "Izicelo ezivela ekuxhumekeni kwe-VPN azivunyelwe kule sayithi",
130
+ "PROXY_BLOCKED": "Izicelo ezivela kumaseva e-proxy azivunyelwe kule sayithi",
131
+ "TOO_MANY_LOCALHOST": "Kunezicelo eziningi kakhulu ze-CAPTCHA ezivela ku-localhost zalo khiye wesayithi",
132
+ "TOR_BLOCKED": "Izicelo ezivela kuma-node okuphuma e-Tor azivunyelwe kule sayithi",
133
+ "ABUSER_BLOCKED": "Izicelo ezivela kumanethiwekhi aphawulwe ngokuhlukumeza azivunyelwe kule sayithi",
134
+ "DATACENTER_BLOCKED": "Izicelo ezivela kumakheli e-IP esikhungo sedatha azivunyelwe kule sayithi",
135
+ "MOBILE_BLOCKED": "Izicelo ezivela ekuxhumekeni kwenethiwekhi yeselula azivunyelwe kule sayithi",
136
+ "SATELLITE_BLOCKED": "Izicelo ezivela ekuxhumekeni kwesathelayithi azivunyelwe kule sayithi",
137
+ "CRAWLER_BLOCKED": "Izicelo ezivela kuma-crawler aziwayo azivunyelwe kule sayithi",
138
+ "DISALLOWED_WEBVIEW": "Izicelo ezivela eziphequlini ezingaphakathi kwezinhlelo zokusebenza (WebView) azivunyelwe kule sayithi",
139
+ "INTERNAL_SERVER_ERROR": "Iphutha leseva langaphakathi"
140
+ },
141
+ "DEVELOPER": {
142
+ "PROSOPO_SITE_KEY_MISSING": "I-PROSOPO_SITE_KEY ayisethiwe efayeleni le-.env.",
143
+ "PROVIDER_NO_CAPTCHA": "Umhlinzeki akabuyisanga ama-captcha",
144
+ "MISSING_PROVIDER_PAIR": "Ipheya yomhlinzeki ayikho",
145
+ "MISSING_ENV_VARIABLE": "Okuguquguqukayo kwemvelo akukho",
146
+ "GENERAL": "Iphutha elijwayelekile lokuthuthukisa, bheka umongo",
147
+ "METHOD_NOT_IMPLEMENTED": "Indlela ayisetshenziswanga"
148
+ }
149
+ }
@@ -0,0 +1,3 @@
1
+ import { LanguageDetector } from "i18next-http-middleware";
2
+ export declare const createRequestLanguageDetector: () => LanguageDetector;
3
+ //# sourceMappingURL=requestLanguageDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestLanguageDetector.d.ts","sourceRoot":"","sources":["../src/requestLanguageDetector.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAY3D,eAAO,MAAM,6BAA6B,QAAO,gBAUhD,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { requestLanguage } from "./languagePreference.js";
2
+ import { LanguageDetector } from "i18next-http-middleware";
3
+ //#region src/requestLanguageDetector.ts
4
+ var DETECTOR_NAME = "prosopo";
5
+ /**
6
+ * The provider's request language detector: `?lng=`, then the Prosopo-Lang
7
+ * header, then Accept-Language, negotiated exactly as the widget negotiates
8
+ * (languagePreference.ts). It replaces the middleware's built-in
9
+ * header/query/cookie order, which read the cookie (set by the host site, not
10
+ * by us) and did not map `nb`/`nn` to `no`. Nothing is cached in a cookie.
11
+ */
12
+ var createRequestLanguageDetector = () => {
13
+ const detector = new LanguageDetector(null, {
14
+ order: [DETECTOR_NAME],
15
+ caches: false
16
+ });
17
+ detector.addDetector({
18
+ name: DETECTOR_NAME,
19
+ lookup: (request) => requestLanguage(request)
20
+ });
21
+ return detector;
22
+ };
23
+ //#endregion
24
+ export { createRequestLanguageDetector };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestLanguageDetector.js","sourceRoot":"","sources":["../src/requestLanguageDetector.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,aAAa,GAAG,SAAS,CAAC;AAShC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAqB,EAAE;IACnE,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE;QAC3C,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,MAAM,EAAE,KAAK;KACb,CAAC,CAAC;IACH,QAAQ,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,CAAC,OAAO,EAAU,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC;KACrD,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type TargetKey, type TranslationKey } from "./translationKey.js";
2
+ export declare const translationKeys: string[];
3
+ export declare const isTranslationKey: (value: string) => value is TranslationKey;
4
+ export declare const targetKeys: readonly string[];
5
+ export declare const isTargetKey: (value: string) => value is TargetKey;
6
+ export declare const englishText: (key: TranslationKey) => string;
7
+ //# sourceMappingURL=serverTranslationKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverTranslationKeys.d.ts","sourceRoot":"","sources":["../src/serverTranslationKeys.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,MAAM,qBAAqB,CAAC;AAM7B,eAAO,MAAM,eAAe,EAAE,MAAM,EAAoC,CAAC;AAKzE,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,KAAK,IAAI,cAC7B,CAAC;AAE9B,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAiC,CAAC;AAQ1E,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,KAAK,IAAI,SAC7B,CAAC;AASzB,eAAO,MAAM,WAAW,QAAS,cAAc,KAAG,MASjD,CAAC"}
@@ -0,0 +1,34 @@
1
+ import target_default from "./locales/en/target.js";
2
+ import translation_default from "./locales/en/translation.js";
3
+ import widget_default from "./locales/en/widget.js";
4
+ import { getLeafFieldPath } from "./translationKey.js";
5
+ //#region src/serverTranslationKeys.ts
6
+ var translationEn = {
7
+ ...translation_default,
8
+ ...widget_default,
9
+ ...target_default
10
+ };
11
+ var translationKeys = getLeafFieldPath(translationEn);
12
+ var translationKeySet = new Set(translationKeys);
13
+ /** For keys that only exist at runtime, e.g. an error message. */
14
+ var isTranslationKey = (value) => translationKeySet.has(value);
15
+ var targetKeys = Object.keys(target_default.TARGET);
16
+ var targetKeySet = new Set(targetKeys);
17
+ /**
18
+ * For a dataset's target, which is only known at runtime. A dataset can carry
19
+ * a label the catalogue does not have yet, so callers must handle `false`.
20
+ */
21
+ var isTargetKey = (value) => targetKeySet.has(value);
22
+ /**
23
+ * The English text for a key, whatever the request's language. The provider
24
+ * sends it beside translated text the widget cannot look up itself (image
25
+ * labels, server-only errors), so logs and crash reports can be read in
26
+ * English. Read from the bundled catalogues, not i18next, so it cannot depend
27
+ * on which languages the server has loaded.
28
+ */
29
+ var englishText = (key) => {
30
+ const text = key.split(".").reduce((node, part) => typeof node === "object" ? node[part] : void 0, translationEn);
31
+ return typeof text === "string" ? text : key;
32
+ };
33
+ //#endregion
34
+ export { englishText, isTargetKey, isTranslationKey, targetKeys, translationKeys };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverTranslationKeys.js","sourceRoot":"","sources":["../src/serverTranslationKeys.ts"],"names":[],"mappings":"AAcA,OAAO,QAAQ,MAAM,0BAA0B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACtE,OAAO,QAAQ,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3E,OAAO,QAAQ,MAAM,0BAA0B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACtE,OAAO,EAIN,gBAAgB,GAChB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,aAAa,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAa,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAEzE,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;AAGxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAA2B,EAAE,CAC1E,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,UAAU,GAAsB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAM9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAsB,EAAE,CAChE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AASzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAmB,EAAU,EAAE;IAC1D,MAAM,IAAI,GAAgC,GAAG;SAC3C,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CACN,CAAC,IAAiC,EAAE,IAAY,EAAE,EAAE,CACnD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAClD,aAAa,CACb,CAAC;IACH,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=browserBundle.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserBundle.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/browserBundle.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { builtinModules } from "node:module";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { build } from "vite";
5
+ import { describe, expect, test } from "vitest";
6
+ const entry = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../loadI18next.ts");
7
+ const nodeBuiltins = [
8
+ ...builtinModules,
9
+ ...builtinModules.map((name) => `node:${name}`),
10
+ ];
11
+ describe("a UMD browser bundle of loadI18next", () => {
12
+ test("builds, so nothing on the backend import path uses top-level await", async () => {
13
+ await expect(build({
14
+ configFile: false,
15
+ logLevel: "silent",
16
+ build: {
17
+ write: false,
18
+ minify: false,
19
+ reportCompressedSize: false,
20
+ lib: { entry, name: "loadI18next", formats: ["umd"] },
21
+ rollupOptions: { external: nodeBuiltins },
22
+ },
23
+ })).resolves.toBeDefined();
24
+ });
25
+ });
26
+ //# sourceMappingURL=browserBundle.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserBundle.unit.test.js","sourceRoot":"","sources":["../../src/tests/browserBundle.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,KAAK,GAAW,IAAI,CAAC,OAAO,CACjC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,mBAAmB,CACnB,CAAC;AAEF,MAAM,YAAY,GAAa;IAC9B,GAAG,cAAc;IACjB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;CAC/D,CAAC;AAIF,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACpD,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,MAAM,CACX,KAAK,CAAC;YACL,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK;gBACb,oBAAoB,EAAE,KAAK;gBAC3B,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;gBACrD,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;aACzC;SACD,CAAC,CACF,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}