@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.
- package/.turbo/turbo-build$colon$cjs.log +267 -14
- package/.turbo/turbo-build$colon$tsc.log +5 -5
- package/.turbo/turbo-build.log +266 -13
- package/CHANGELOG.md +43 -0
- package/README.md +203 -0
- package/dist/browserUiLanguages.d.ts +10 -0
- package/dist/browserUiLanguages.d.ts.map +1 -0
- package/dist/browserUiLanguages.js +768 -0
- package/dist/browserUiLanguages.js.map +1 -0
- package/dist/cjs/browserUiLanguages.cjs +768 -0
- package/dist/cjs/direction.cjs +30 -15
- package/dist/cjs/errorMessage.cjs +3 -2
- package/dist/cjs/i18SharedOptions.cjs +0 -1
- package/dist/cjs/i18nBackend.cjs +32 -20
- package/dist/cjs/i18nFrontend.cjs +23 -73
- package/dist/cjs/index.cjs +23 -2
- package/dist/cjs/languagePreference.cjs +142 -0
- package/dist/cjs/loadI18next.cjs +4 -4
- package/dist/cjs/locales/en/target.cjs +304 -0
- package/dist/cjs/locales/en/translation.cjs +1 -459
- package/dist/cjs/locales/en/widget.cjs +162 -0
- package/dist/cjs/requestLanguageDetector.cjs +24 -0
- package/dist/cjs/serverTranslationKeys.cjs +38 -0
- package/dist/cjs/translationKey.cjs +29 -7
- package/dist/cjs/translations.cjs +63 -2
- package/dist/cjs/translator.cjs +2 -1
- package/dist/direction.d.ts.map +1 -1
- package/dist/direction.js +30 -15
- package/dist/direction.js.map +1 -1
- package/dist/errorMessage.d.ts.map +1 -1
- package/dist/errorMessage.js +4 -3
- package/dist/errorMessage.js.map +1 -1
- package/dist/i18SharedOptions.d.ts +0 -1
- package/dist/i18SharedOptions.d.ts.map +1 -1
- package/dist/i18SharedOptions.js +0 -1
- package/dist/i18SharedOptions.js.map +1 -1
- package/dist/i18nBackend.d.ts +3 -1
- package/dist/i18nBackend.d.ts.map +1 -1
- package/dist/i18nBackend.js +32 -22
- package/dist/i18nBackend.js.map +1 -1
- package/dist/i18nFrontend.d.ts.map +1 -1
- package/dist/i18nFrontend.js +23 -73
- package/dist/i18nFrontend.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/languagePreference.d.ts +17 -0
- package/dist/languagePreference.d.ts.map +1 -0
- package/dist/languagePreference.js +132 -0
- package/dist/languagePreference.js.map +1 -0
- package/dist/loadI18next.js +4 -4
- package/dist/locales/af/target.json +301 -0
- package/dist/locales/af/translation.json +71 -0
- package/dist/locales/af/widget.json +149 -0
- package/dist/locales/am/target.json +301 -0
- package/dist/locales/am/translation.json +71 -0
- package/dist/locales/am/widget.json +149 -0
- package/dist/locales/an/target.json +301 -0
- package/dist/locales/an/translation.json +71 -0
- package/dist/locales/an/widget.json +149 -0
- package/dist/locales/ar/target.json +301 -0
- package/dist/locales/ar/translation.json +0 -446
- package/dist/locales/ar/widget.json +149 -0
- package/dist/locales/as/target.json +301 -0
- package/dist/locales/as/translation.json +71 -0
- package/dist/locales/as/widget.json +149 -0
- package/dist/locales/ast/target.json +301 -0
- package/dist/locales/ast/translation.json +71 -0
- package/dist/locales/ast/widget.json +149 -0
- package/dist/locales/az/target.json +301 -0
- package/dist/locales/az/translation.json +0 -446
- package/dist/locales/az/widget.json +149 -0
- package/dist/locales/be/target.json +301 -0
- package/dist/locales/be/translation.json +71 -0
- package/dist/locales/be/widget.json +149 -0
- package/dist/locales/bg/target.json +301 -0
- package/dist/locales/bg/translation.json +71 -0
- package/dist/locales/bg/widget.json +149 -0
- package/dist/locales/bn/target.json +301 -0
- package/dist/locales/bn/translation.json +71 -0
- package/dist/locales/bn/widget.json +149 -0
- package/dist/locales/bs/target.json +301 -0
- package/dist/locales/bs/translation.json +71 -0
- package/dist/locales/bs/widget.json +149 -0
- package/dist/locales/ca/target.json +301 -0
- package/dist/locales/ca/translation.json +71 -0
- package/dist/locales/ca/widget.json +149 -0
- package/dist/locales/cs/target.json +301 -0
- package/dist/locales/cs/translation.json +0 -446
- package/dist/locales/cs/widget.json +149 -0
- package/dist/locales/cy/target.json +301 -0
- package/dist/locales/cy/translation.json +71 -0
- package/dist/locales/cy/widget.json +149 -0
- package/dist/locales/da/target.json +301 -0
- package/dist/locales/da/translation.json +71 -0
- package/dist/locales/da/widget.json +149 -0
- package/dist/locales/de/target.json +301 -0
- package/dist/locales/de/translation.json +0 -446
- package/dist/locales/de/widget.json +149 -0
- package/dist/locales/el/target.json +301 -0
- package/dist/locales/el/translation.json +0 -446
- package/dist/locales/el/widget.json +149 -0
- package/dist/locales/en/target.js +303 -0
- package/dist/locales/en/target.json +301 -0
- package/dist/locales/en/translation.js +2 -453
- package/dist/locales/en/translation.json +0 -446
- package/dist/locales/en/widget.js +156 -0
- package/dist/locales/en/widget.json +149 -0
- package/dist/locales/eo/target.json +301 -0
- package/dist/locales/eo/translation.json +71 -0
- package/dist/locales/eo/widget.json +149 -0
- package/dist/locales/es/target.json +301 -0
- package/dist/locales/es/translation.json +0 -446
- package/dist/locales/es/widget.json +149 -0
- package/dist/locales/et/target.json +301 -0
- package/dist/locales/et/translation.json +71 -0
- package/dist/locales/et/widget.json +149 -0
- package/dist/locales/eu/target.json +301 -0
- package/dist/locales/eu/translation.json +71 -0
- package/dist/locales/eu/widget.json +149 -0
- package/dist/locales/fa/target.json +301 -0
- package/dist/locales/fa/translation.json +71 -0
- package/dist/locales/fa/widget.json +149 -0
- package/dist/locales/fi/target.json +301 -0
- package/dist/locales/fi/translation.json +0 -446
- package/dist/locales/fi/widget.json +149 -0
- package/dist/locales/fil/target.json +301 -0
- package/dist/locales/fil/translation.json +71 -0
- package/dist/locales/fil/widget.json +149 -0
- package/dist/locales/fr/target.json +301 -0
- package/dist/locales/fr/translation.json +0 -446
- package/dist/locales/fr/widget.json +149 -0
- package/dist/locales/fy/target.json +301 -0
- package/dist/locales/fy/translation.json +71 -0
- package/dist/locales/fy/widget.json +149 -0
- package/dist/locales/ga/target.json +301 -0
- package/dist/locales/ga/translation.json +71 -0
- package/dist/locales/ga/widget.json +149 -0
- package/dist/locales/gd/target.json +301 -0
- package/dist/locales/gd/translation.json +71 -0
- package/dist/locales/gd/widget.json +149 -0
- package/dist/locales/gl/target.json +301 -0
- package/dist/locales/gl/translation.json +71 -0
- package/dist/locales/gl/widget.json +149 -0
- package/dist/locales/gu/target.json +301 -0
- package/dist/locales/gu/translation.json +71 -0
- package/dist/locales/gu/widget.json +149 -0
- package/dist/locales/he/target.json +301 -0
- package/dist/locales/he/translation.json +71 -0
- package/dist/locales/he/widget.json +149 -0
- package/dist/locales/hi/target.json +301 -0
- package/dist/locales/hi/translation.json +0 -446
- package/dist/locales/hi/widget.json +149 -0
- package/dist/locales/hr/target.json +301 -0
- package/dist/locales/hr/translation.json +71 -0
- package/dist/locales/hr/widget.json +149 -0
- package/dist/locales/hu/target.json +301 -0
- package/dist/locales/hu/translation.json +0 -446
- package/dist/locales/hu/widget.json +149 -0
- package/dist/locales/hy/target.json +301 -0
- package/dist/locales/hy/translation.json +71 -0
- package/dist/locales/hy/widget.json +149 -0
- package/dist/locales/ia/target.json +301 -0
- package/dist/locales/ia/translation.json +71 -0
- package/dist/locales/ia/widget.json +149 -0
- package/dist/locales/id/target.json +301 -0
- package/dist/locales/id/translation.json +10 -456
- package/dist/locales/id/widget.json +149 -0
- package/dist/locales/is/target.json +301 -0
- package/dist/locales/is/translation.json +71 -0
- package/dist/locales/is/widget.json +149 -0
- package/dist/locales/it/target.json +301 -0
- package/dist/locales/it/translation.json +0 -446
- package/dist/locales/it/widget.json +149 -0
- package/dist/locales/ja/target.json +301 -0
- package/dist/locales/ja/translation.json +0 -446
- package/dist/locales/ja/widget.json +149 -0
- package/dist/locales/jv/target.json +301 -0
- package/dist/locales/jv/translation.json +47 -493
- package/dist/locales/jv/widget.json +149 -0
- package/dist/locales/ka/target.json +301 -0
- package/dist/locales/ka/translation.json +71 -0
- package/dist/locales/ka/widget.json +149 -0
- package/dist/locales/kk/target.json +301 -0
- package/dist/locales/kk/translation.json +71 -0
- package/dist/locales/kk/widget.json +149 -0
- package/dist/locales/km/target.json +301 -0
- package/dist/locales/km/translation.json +71 -0
- package/dist/locales/km/widget.json +149 -0
- package/dist/locales/kn/target.json +301 -0
- package/dist/locales/kn/translation.json +71 -0
- package/dist/locales/kn/widget.json +149 -0
- package/dist/locales/ko/target.json +301 -0
- package/dist/locales/ko/translation.json +0 -446
- package/dist/locales/ko/widget.json +149 -0
- package/dist/locales/ky/target.json +301 -0
- package/dist/locales/ky/translation.json +71 -0
- package/dist/locales/ky/widget.json +149 -0
- package/dist/locales/lo/target.json +301 -0
- package/dist/locales/lo/translation.json +71 -0
- package/dist/locales/lo/widget.json +149 -0
- package/dist/locales/lt/target.json +301 -0
- package/dist/locales/lt/translation.json +71 -0
- package/dist/locales/lt/widget.json +149 -0
- package/dist/locales/lv/target.json +301 -0
- package/dist/locales/lv/translation.json +71 -0
- package/dist/locales/lv/widget.json +149 -0
- package/dist/locales/mk/target.json +301 -0
- package/dist/locales/mk/translation.json +71 -0
- package/dist/locales/mk/widget.json +149 -0
- package/dist/locales/ml/target.json +301 -0
- package/dist/locales/ml/translation.json +47 -493
- package/dist/locales/ml/widget.json +149 -0
- package/dist/locales/mn/target.json +301 -0
- package/dist/locales/mn/translation.json +71 -0
- package/dist/locales/mn/widget.json +149 -0
- package/dist/locales/mr/target.json +301 -0
- package/dist/locales/mr/translation.json +71 -0
- package/dist/locales/mr/widget.json +149 -0
- package/dist/locales/ms/target.json +301 -0
- package/dist/locales/ms/translation.json +47 -493
- package/dist/locales/ms/widget.json +149 -0
- package/dist/locales/my/target.json +301 -0
- package/dist/locales/my/translation.json +71 -0
- package/dist/locales/my/widget.json +149 -0
- package/dist/locales/ne/target.json +301 -0
- package/dist/locales/ne/translation.json +71 -0
- package/dist/locales/ne/widget.json +149 -0
- package/dist/locales/nl/target.json +301 -0
- package/dist/locales/nl/translation.json +0 -446
- package/dist/locales/nl/widget.json +149 -0
- package/dist/locales/nn/target.json +301 -0
- package/dist/locales/nn/translation.json +71 -0
- package/dist/locales/nn/widget.json +149 -0
- package/dist/locales/no/target.json +301 -0
- package/dist/locales/no/translation.json +1 -447
- package/dist/locales/no/widget.json +149 -0
- package/dist/locales/oc/target.json +301 -0
- package/dist/locales/oc/translation.json +71 -0
- package/dist/locales/oc/widget.json +149 -0
- package/dist/locales/or/target.json +301 -0
- package/dist/locales/or/translation.json +71 -0
- package/dist/locales/or/widget.json +149 -0
- package/dist/locales/pa/target.json +301 -0
- package/dist/locales/pa/translation.json +71 -0
- package/dist/locales/pa/widget.json +149 -0
- package/dist/locales/pl/target.json +301 -0
- package/dist/locales/pl/translation.json +0 -446
- package/dist/locales/pl/widget.json +149 -0
- package/dist/locales/pt/target.json +301 -0
- package/dist/locales/pt/translation.json +0 -446
- package/dist/locales/pt/widget.json +149 -0
- package/dist/locales/pt-BR/target.json +301 -0
- package/dist/locales/pt-BR/translation.json +0 -446
- package/dist/locales/pt-BR/widget.json +149 -0
- package/dist/locales/rm/target.json +301 -0
- package/dist/locales/rm/translation.json +71 -0
- package/dist/locales/rm/widget.json +149 -0
- package/dist/locales/ro/target.json +301 -0
- package/dist/locales/ro/translation.json +0 -446
- package/dist/locales/ro/widget.json +149 -0
- package/dist/locales/ru/target.json +301 -0
- package/dist/locales/ru/translation.json +0 -446
- package/dist/locales/ru/widget.json +149 -0
- package/dist/locales/sco/target.json +301 -0
- package/dist/locales/sco/translation.json +71 -0
- package/dist/locales/sco/widget.json +149 -0
- package/dist/locales/si/target.json +301 -0
- package/dist/locales/si/translation.json +71 -0
- package/dist/locales/si/widget.json +149 -0
- package/dist/locales/sk/target.json +301 -0
- package/dist/locales/sk/translation.json +71 -0
- package/dist/locales/sk/widget.json +149 -0
- package/dist/locales/sl/target.json +301 -0
- package/dist/locales/sl/translation.json +71 -0
- package/dist/locales/sl/widget.json +149 -0
- package/dist/locales/sq/target.json +301 -0
- package/dist/locales/sq/translation.json +71 -0
- package/dist/locales/sq/widget.json +149 -0
- package/dist/locales/sr/target.json +301 -0
- package/dist/locales/sr/translation.json +0 -446
- package/dist/locales/sr/widget.json +149 -0
- package/dist/locales/sv/target.json +301 -0
- package/dist/locales/sv/translation.json +0 -446
- package/dist/locales/sv/widget.json +149 -0
- package/dist/locales/sw/target.json +301 -0
- package/dist/locales/sw/translation.json +71 -0
- package/dist/locales/sw/widget.json +149 -0
- package/dist/locales/ta/target.json +301 -0
- package/dist/locales/ta/translation.json +71 -0
- package/dist/locales/ta/widget.json +149 -0
- package/dist/locales/te/target.json +301 -0
- package/dist/locales/te/translation.json +71 -0
- package/dist/locales/te/widget.json +149 -0
- package/dist/locales/tg/target.json +301 -0
- package/dist/locales/tg/translation.json +71 -0
- package/dist/locales/tg/widget.json +149 -0
- package/dist/locales/th/target.json +301 -0
- package/dist/locales/th/translation.json +0 -446
- package/dist/locales/th/widget.json +149 -0
- package/dist/locales/tr/target.json +301 -0
- package/dist/locales/tr/translation.json +6 -452
- package/dist/locales/tr/widget.json +149 -0
- package/dist/locales/uk/target.json +301 -0
- package/dist/locales/uk/translation.json +47 -493
- package/dist/locales/uk/widget.json +149 -0
- package/dist/locales/ur/target.json +301 -0
- package/dist/locales/ur/translation.json +71 -0
- package/dist/locales/ur/widget.json +149 -0
- package/dist/locales/uz/target.json +301 -0
- package/dist/locales/uz/translation.json +71 -0
- package/dist/locales/uz/widget.json +149 -0
- package/dist/locales/vi/target.json +301 -0
- package/dist/locales/vi/translation.json +0 -446
- package/dist/locales/vi/widget.json +149 -0
- package/dist/locales/xh/target.json +301 -0
- package/dist/locales/xh/translation.json +71 -0
- package/dist/locales/xh/widget.json +149 -0
- package/dist/locales/zh/target.json +301 -0
- package/dist/locales/zh/translation.json +71 -0
- package/dist/locales/zh/widget.json +149 -0
- package/dist/locales/zh-CN/target.json +301 -0
- package/dist/locales/zh-CN/translation.json +0 -446
- package/dist/locales/zh-CN/widget.json +149 -0
- package/dist/locales/zh-HK/target.json +301 -0
- package/dist/locales/zh-HK/translation.json +71 -0
- package/dist/locales/zh-HK/widget.json +149 -0
- package/dist/locales/zh-TW/target.json +301 -0
- package/dist/locales/zh-TW/translation.json +71 -0
- package/dist/locales/zh-TW/widget.json +149 -0
- package/dist/locales/zu/target.json +301 -0
- package/dist/locales/zu/translation.json +71 -0
- package/dist/locales/zu/widget.json +149 -0
- package/dist/requestLanguageDetector.d.ts +3 -0
- package/dist/requestLanguageDetector.d.ts.map +1 -0
- package/dist/requestLanguageDetector.js +24 -0
- package/dist/requestLanguageDetector.js.map +1 -0
- package/dist/serverTranslationKeys.d.ts +7 -0
- package/dist/serverTranslationKeys.d.ts.map +1 -0
- package/dist/serverTranslationKeys.js +34 -0
- package/dist/serverTranslationKeys.js.map +1 -0
- package/dist/tests/browserBundle.unit.test.d.ts +2 -0
- package/dist/tests/browserBundle.unit.test.d.ts.map +1 -0
- package/dist/tests/browserBundle.unit.test.js +26 -0
- package/dist/tests/browserBundle.unit.test.js.map +1 -0
- package/dist/tests/browserUiLanguages.unit.test.d.ts +2 -0
- package/dist/tests/browserUiLanguages.unit.test.d.ts.map +1 -0
- package/dist/tests/browserUiLanguages.unit.test.js +55 -0
- package/dist/tests/browserUiLanguages.unit.test.js.map +1 -0
- package/dist/tests/catalogues.test-d.d.ts +2 -0
- package/dist/tests/catalogues.test-d.d.ts.map +1 -0
- package/dist/tests/catalogues.test-d.js +766 -0
- package/dist/tests/catalogues.test-d.js.map +1 -0
- package/dist/tests/direction.unit.test.js +216 -5
- package/dist/tests/direction.unit.test.js.map +1 -1
- package/dist/tests/errorMessage.unit.test.js +9 -1
- package/dist/tests/errorMessage.unit.test.js.map +1 -1
- package/dist/tests/i18SharedOptions.unit.test.js +0 -4
- package/dist/tests/i18SharedOptions.unit.test.js.map +1 -1
- package/dist/tests/i18nBackend.unit.test.js +100 -21
- package/dist/tests/i18nBackend.unit.test.js.map +1 -1
- package/dist/tests/i18nBackendFiles.unit.test.d.ts +2 -0
- package/dist/tests/i18nBackendFiles.unit.test.d.ts.map +1 -0
- package/dist/tests/i18nBackendFiles.unit.test.js +22 -0
- package/dist/tests/i18nBackendFiles.unit.test.js.map +1 -0
- package/dist/tests/i18nFrontend.unit.test.js +90 -54
- package/dist/tests/i18nFrontend.unit.test.js.map +1 -1
- package/dist/tests/keptAsIs.d.ts +4 -0
- package/dist/tests/keptAsIs.d.ts.map +1 -0
- package/dist/tests/keptAsIs.js +1236 -0
- package/dist/tests/keptAsIs.js.map +1 -0
- package/dist/tests/languagePreference.unit.test.d.ts +2 -0
- package/dist/tests/languagePreference.unit.test.d.ts.map +1 -0
- package/dist/tests/languagePreference.unit.test.js +204 -0
- package/dist/tests/languagePreference.unit.test.js.map +1 -0
- package/dist/tests/locale.test-d.js +20 -1
- package/dist/tests/locale.test-d.js.map +1 -1
- package/dist/tests/localePlaceholders.unit.test.js +5 -2
- package/dist/tests/localePlaceholders.unit.test.js.map +1 -1
- package/dist/tests/locales.unit.test.js +136 -43
- package/dist/tests/locales.unit.test.js.map +1 -1
- package/dist/tests/requestLanguageDetector.unit.test.d.ts +2 -0
- package/dist/tests/requestLanguageDetector.unit.test.d.ts.map +1 -0
- package/dist/tests/requestLanguageDetector.unit.test.js +106 -0
- package/dist/tests/requestLanguageDetector.unit.test.js.map +1 -0
- package/dist/tests/thrownErrorKeys.unit.test.js +2 -10
- package/dist/tests/thrownErrorKeys.unit.test.js.map +1 -1
- package/dist/tests/translationKey.unit.test.js +110 -5
- package/dist/tests/translationKey.unit.test.js.map +1 -1
- package/dist/tests/translations.unit.test.js +9 -5
- package/dist/tests/translations.unit.test.js.map +1 -1
- package/dist/tests/translator.unit.test.js +8 -2
- package/dist/tests/translator.unit.test.js.map +1 -1
- package/dist/translationKey.d.ts +16 -4
- package/dist/translationKey.d.ts.map +1 -1
- package/dist/translationKey.js +27 -6
- package/dist/translationKey.js.map +1 -1
- package/dist/translations.d.ts +63 -2
- package/dist/translations.d.ts.map +1 -1
- package/dist/translations.js +63 -2
- package/dist/translations.js.map +1 -1
- package/dist/translator.d.ts +2 -2
- package/dist/translator.d.ts.map +1 -1
- package/dist/translator.js +2 -1
- package/dist/translator.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
+
export { BROWSER_UI_LANGUAGES } from "./browserUiLanguages.js";
|
|
2
|
+
export type { Browser, BrowserUiLanguage } from "./browserUiLanguages.js";
|
|
1
3
|
export { getLanguageDirection } from "./direction.js";
|
|
2
4
|
export type { TextDirection } from "./direction.js";
|
|
3
5
|
export { default as i18nMiddleware } from "./i18nMiddleware.js";
|
|
4
6
|
export { default as loadI18next } from "./loadI18next.js";
|
|
5
7
|
export { isLanguage, LanguageCodes, Languages } from "./translations.js";
|
|
8
|
+
export { browserLanguages, LANGUAGE_HEADER, LANGUAGE_QUERY_PARAM, languageHeaders, matchLanguage, matchLanguageTag, negotiateLanguage, parseLanguageList, requestLanguage, resolveLanguageList, widgetLanguageHeaders, } from "./languagePreference.js";
|
|
9
|
+
export type { LanguageRequest } from "./languagePreference.js";
|
|
6
10
|
export type { Language } from "./translations.js";
|
|
7
11
|
export { isClientSide } from "./util.js";
|
|
8
|
-
export { isTranslationKey, translationKeys } from "./
|
|
9
|
-
export
|
|
12
|
+
export { englishText, isTargetKey, isTranslationKey, targetKeys, translationKeys, } from "./serverTranslationKeys.js";
|
|
13
|
+
export { canTranslate, isWidgetTranslationKey, NAMESPACES, } from "./translationKey.js";
|
|
14
|
+
export type { Namespace, TargetKey, TranslationKey, WidgetTranslationKey, } from "./translationKey.js";
|
|
10
15
|
export { createTranslator } from "./translator.js";
|
|
11
16
|
export type { Translator } from "./translator.js";
|
|
12
|
-
export type { I18nEvent, Ti18n, TranslateFn, TranslateOptions, } from "./types.js";
|
|
17
|
+
export type { I18nEvent, I18nLookup, Ti18n, TranslateFn, TranslateOptions, } from "./types.js";
|
|
13
18
|
export { localiseErrorMessage } from "./errorMessage.js";
|
|
14
19
|
export type { KeyedErrorMessage } from "./errorMessage.js";
|
|
15
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACN,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,YAAY,EACZ,sBAAsB,EACtB,UAAU,GACV,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,gBAAgB,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { BROWSER_UI_LANGUAGES } from "./browserUiLanguages.js";
|
|
2
3
|
import { getLanguageDirection } from "./direction.js";
|
|
3
4
|
import loadI18next from "./loadI18next.js";
|
|
4
5
|
import i18nMiddleware from "./i18nMiddleware.js";
|
|
5
6
|
import { LanguageCodes, Languages, isLanguage } from "./translations.js";
|
|
7
|
+
import { LANGUAGE_HEADER, LANGUAGE_QUERY_PARAM, browserLanguages, languageHeaders, matchLanguage, matchLanguageTag, negotiateLanguage, parseLanguageList, requestLanguage, resolveLanguageList, widgetLanguageHeaders } from "./languagePreference.js";
|
|
6
8
|
import { isClientSide } from "./util.js";
|
|
7
|
-
import {
|
|
9
|
+
import { NAMESPACES, canTranslate, isWidgetTranslationKey } from "./translationKey.js";
|
|
10
|
+
import { englishText, isTargetKey, isTranslationKey, targetKeys, translationKeys } from "./serverTranslationKeys.js";
|
|
8
11
|
import { createTranslator } from "./translator.js";
|
|
9
12
|
import { localiseErrorMessage } from "./errorMessage.js";
|
|
10
|
-
export { LanguageCodes, Languages, createTranslator, getLanguageDirection, i18nMiddleware, isClientSide, isLanguage, isTranslationKey, loadI18next, localiseErrorMessage, translationKeys };
|
|
13
|
+
export { BROWSER_UI_LANGUAGES, LANGUAGE_HEADER, LANGUAGE_QUERY_PARAM, LanguageCodes, Languages, NAMESPACES, browserLanguages, canTranslate, createTranslator, englishText, getLanguageDirection, i18nMiddleware, isClientSide, isLanguage, isTargetKey, isTranslationKey, isWidgetTranslationKey, languageHeaders, loadI18next, localiseErrorMessage, matchLanguage, matchLanguageTag, negotiateLanguage, parseLanguageList, requestLanguage, resolveLanguageList, targetKeys, translationKeys, widgetLanguageHeaders };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACN,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,YAAY,EACZ,sBAAsB,EACtB,UAAU,GACV,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AASnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Language } from "./translations.js";
|
|
2
|
+
export declare const LANGUAGE_HEADER = "Prosopo-Lang";
|
|
3
|
+
export declare const LANGUAGE_QUERY_PARAM = "lng";
|
|
4
|
+
export declare const parseLanguageList: (value: string | undefined) => string[];
|
|
5
|
+
export declare const matchLanguageTag: (tag: string) => Language | undefined;
|
|
6
|
+
export declare const matchLanguage: (preferences: readonly string[]) => Language | undefined;
|
|
7
|
+
export declare const resolveLanguageList: (value: string | null | undefined) => Language | undefined;
|
|
8
|
+
export declare const negotiateLanguage: (preferences: readonly string[]) => Language;
|
|
9
|
+
export declare const languageHeaders: (preferences: readonly string[]) => Record<string, string>;
|
|
10
|
+
export declare const browserLanguages: () => readonly string[];
|
|
11
|
+
export declare const widgetLanguageHeaders: (siteLanguage: string | undefined) => Record<string, string>;
|
|
12
|
+
export type LanguageRequest = {
|
|
13
|
+
query?: Readonly<Record<string, unknown>>;
|
|
14
|
+
headers?: Readonly<Record<string, string | string[] | undefined>>;
|
|
15
|
+
};
|
|
16
|
+
export declare const requestLanguage: (request: LanguageRequest) => Language;
|
|
17
|
+
//# sourceMappingURL=languagePreference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languagePreference.d.ts","sourceRoot":"","sources":["../src/languagePreference.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAG7D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAkC1C,eAAO,MAAM,iBAAiB,UAAW,MAAM,GAAG,SAAS,KAAG,MAAM,EAyBnE,CAAC;AA8BF,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,QAAQ,GAAG,SAezD,CAAC;AAGF,eAAO,MAAM,aAAa,gBACZ,SAAS,MAAM,EAAE,KAC5B,QAAQ,GAAG,SAQb,CAAC;AAMF,eAAO,MAAM,mBAAmB,UACxB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC9B,QAAQ,GAAG,SAAiE,CAAC;AAGhF,eAAO,MAAM,iBAAiB,gBAAiB,SAAS,MAAM,EAAE,KAAG,QACnB,CAAC;AASjD,eAAO,MAAM,eAAe,gBACd,SAAS,MAAM,EAAE,KAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAKvB,CAAC;AAMF,eAAO,MAAM,gBAAgB,QAAO,SAAS,MAAM,EAWlD,CAAC;AAQF,eAAO,MAAM,qBAAqB,iBACnB,MAAM,GAAG,SAAS,KAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAC4C,CAAC;AAGrE,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CAClE,CAAC;AAkBF,eAAO,MAAM,eAAe,YAAa,eAAe,KAAG,QAc1D,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Languages } from "./translations.js";
|
|
2
|
+
//#region src/languagePreference.ts
|
|
3
|
+
/** Our own header for the widget's language list, beside the browser's Accept-Language. */
|
|
4
|
+
var LANGUAGE_HEADER = "Prosopo-Lang";
|
|
5
|
+
/** Query parameter for clients that cannot set headers. Wins over both. */
|
|
6
|
+
var LANGUAGE_QUERY_PARAM = "lng";
|
|
7
|
+
var MAX_PREFERENCES = 10;
|
|
8
|
+
var LANGUAGE_TAG = /^[A-Za-z]{1,8}(?:-[A-Za-z0-9]{1,8})*$/;
|
|
9
|
+
/**
|
|
10
|
+
* Primary subtags we do not have a catalogue for but can serve from one we
|
|
11
|
+
* do: Norwegian Bokmål and Nynorsk read the `no` catalogue, and browsers
|
|
12
|
+
* still send the withdrawn codes for Indonesian and Javanese.
|
|
13
|
+
*/
|
|
14
|
+
var ALIASES = {
|
|
15
|
+
nb: Languages.norwegian,
|
|
16
|
+
in: Languages.indonesian,
|
|
17
|
+
iw: Languages.hebrew,
|
|
18
|
+
jw: Languages.javanese,
|
|
19
|
+
tl: Languages.filipino
|
|
20
|
+
};
|
|
21
|
+
var byLowerCase = new Map(Object.values(Languages).map((code) => [code.toLowerCase(), code]));
|
|
22
|
+
/**
|
|
23
|
+
* A comma-separated list in Accept-Language form ("tr-TR, tr;q=0.9, en;q=0.8")
|
|
24
|
+
* as tags, most preferred first. Order is kept between equal weights,
|
|
25
|
+
* `q=0` and `*` entries are dropped, and anything malformed is skipped.
|
|
26
|
+
*/
|
|
27
|
+
var parseLanguageList = (value) => {
|
|
28
|
+
if (!value) return [];
|
|
29
|
+
return value.split(",").map((entry, index) => {
|
|
30
|
+
const [tag = "", ...params] = entry.split(";").map((part) => part.trim());
|
|
31
|
+
const weight = params.find((param) => /^q=/i.test(param));
|
|
32
|
+
return {
|
|
33
|
+
tag,
|
|
34
|
+
q: weight === void 0 ? 1 : /^q=[0-9]+(?:\.[0-9]*)?$/i.test(weight) ? Number(weight.slice(2)) : NaN,
|
|
35
|
+
index
|
|
36
|
+
};
|
|
37
|
+
}).filter(({ tag, q }) => LANGUAGE_TAG.test(tag) && Number.isFinite(q) && q > 0 && q <= 1).sort((a, b) => b.q - a.q || a.index - b.index).map(({ tag }) => tag).slice(0, MAX_PREFERENCES);
|
|
38
|
+
};
|
|
39
|
+
var TRADITIONAL_CHINESE_SUBTAGS = /* @__PURE__ */ new Set([
|
|
40
|
+
"hant",
|
|
41
|
+
"tw",
|
|
42
|
+
"hk",
|
|
43
|
+
"mo"
|
|
44
|
+
]);
|
|
45
|
+
var HONG_KONG_CHINESE_SUBTAGS = /* @__PURE__ */ new Set(["hk", "mo"]);
|
|
46
|
+
var isTraditionalChinese = (subtags) => subtags[0] === "zh" && !subtags.includes("hans") && subtags.some((subtag) => TRADITIONAL_CHINESE_SUBTAGS.has(subtag));
|
|
47
|
+
var traditionalChinese = (subtags) => subtags.some((subtag) => HONG_KONG_CHINESE_SUBTAGS.has(subtag)) ? Languages.chineseHongKong : Languages.chineseTaiwan;
|
|
48
|
+
/**
|
|
49
|
+
* The catalogue for one tag: the exact code, then the tag with its last subtag
|
|
50
|
+
* dropped, and so on (RFC 4647 lookup), so `zh-Hans-SG` reaches `zh` and
|
|
51
|
+
* `pt-BR` stays `pt-BR`. Traditional Chinese (`zh-Hant`, `zh-MO`) goes to
|
|
52
|
+
* `zh-TW` or `zh-HK`, never `zh`. Case is ignored. Aliases apply to the primary subtag.
|
|
53
|
+
*/
|
|
54
|
+
var matchLanguageTag = (tag) => {
|
|
55
|
+
if (!LANGUAGE_TAG.test(tag)) return;
|
|
56
|
+
const subtags = tag.toLowerCase().split("-");
|
|
57
|
+
if (isTraditionalChinese(subtags)) return traditionalChinese(subtags);
|
|
58
|
+
for (let length = subtags.length; length >= 1; length--) {
|
|
59
|
+
const match = byLowerCase.get(subtags.slice(0, length).join("-"));
|
|
60
|
+
if (match) return match;
|
|
61
|
+
}
|
|
62
|
+
return subtags[0] === void 0 ? void 0 : ALIASES[subtags[0]];
|
|
63
|
+
};
|
|
64
|
+
/** The first preference we have a catalogue for, or undefined if none. */
|
|
65
|
+
var matchLanguage = (preferences) => {
|
|
66
|
+
for (const tag of preferences) {
|
|
67
|
+
const match = matchLanguageTag(tag);
|
|
68
|
+
if (match) return match;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* A site-supplied list such as `data-language="xx, tr-TR"`: the first entry we
|
|
73
|
+
* have a catalogue for, or undefined if none.
|
|
74
|
+
*/
|
|
75
|
+
var resolveLanguageList = (value) => matchLanguage(parseLanguageList(value ?? void 0));
|
|
76
|
+
/** Like matchLanguage, but falls back to English. */
|
|
77
|
+
var negotiateLanguage = (preferences) => matchLanguage(preferences) ?? Languages.english;
|
|
78
|
+
/**
|
|
79
|
+
* The headers the widget sends with every provider request: Prosopo-Lang
|
|
80
|
+
* only. The browser's own Accept-Language is left as it is, because the
|
|
81
|
+
* provider's bot rules read it and a value set by script would hide the real
|
|
82
|
+
* one. Prosopo-Lang beats Accept-Language on the provider, so the site's
|
|
83
|
+
* data-language still wins.
|
|
84
|
+
*/
|
|
85
|
+
var languageHeaders = (preferences) => {
|
|
86
|
+
const tags = preferences.filter((tag) => LANGUAGE_TAG.test(tag)).slice(0, MAX_PREFERENCES);
|
|
87
|
+
return tags.length === 0 ? {} : { [LANGUAGE_HEADER]: tags.join(",") };
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* navigator.languages, most preferred first. Empty outside a browser, and
|
|
91
|
+
* where navigator access throws (some sandboxed iframes).
|
|
92
|
+
*/
|
|
93
|
+
var browserLanguages = () => {
|
|
94
|
+
try {
|
|
95
|
+
if (typeof navigator === "undefined") return [];
|
|
96
|
+
return navigator.languages?.length ? navigator.languages : [navigator.language];
|
|
97
|
+
} catch {
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* The language headers for the widget's provider requests: the site's choice
|
|
103
|
+
* when it made one (already resolved, so the provider cannot pick otherwise),
|
|
104
|
+
* else the browser's list, which the provider negotiates exactly as the
|
|
105
|
+
* widget did.
|
|
106
|
+
*/
|
|
107
|
+
var widgetLanguageHeaders = (siteLanguage) => languageHeaders(siteLanguage ? [siteLanguage] : browserLanguages());
|
|
108
|
+
var firstString = (value) => {
|
|
109
|
+
if (typeof value === "string") return value;
|
|
110
|
+
if (Array.isArray(value) && typeof value[0] === "string") return value[0];
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* The provider's choice for one request: `?lng=` beats the Prosopo-Lang
|
|
114
|
+
* header, which beats Accept-Language. A source naming only languages we do
|
|
115
|
+
* not have is skipped, not taken as English, so the next one still counts.
|
|
116
|
+
* No cookie: the widget runs on other people's sites and must not set one.
|
|
117
|
+
*/
|
|
118
|
+
var requestLanguage = (request) => {
|
|
119
|
+
const headers = request.headers ?? {};
|
|
120
|
+
const sources = [
|
|
121
|
+
firstString(request.query?.["lng"]),
|
|
122
|
+
firstString(headers[LANGUAGE_HEADER.toLowerCase()]),
|
|
123
|
+
firstString(headers["accept-language"])
|
|
124
|
+
];
|
|
125
|
+
for (const source of sources) {
|
|
126
|
+
const match = matchLanguage(parseLanguageList(source));
|
|
127
|
+
if (match) return match;
|
|
128
|
+
}
|
|
129
|
+
return Languages.english;
|
|
130
|
+
};
|
|
131
|
+
//#endregion
|
|
132
|
+
export { LANGUAGE_HEADER, LANGUAGE_QUERY_PARAM, browserLanguages, languageHeaders, matchLanguage, matchLanguageTag, negotiateLanguage, parseLanguageList, requestLanguage, resolveLanguageList, widgetLanguageHeaders };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languagePreference.js","sourceRoot":"","sources":["../src/languagePreference.ts"],"names":[],"mappings":"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"}
|
package/dist/loadI18next.js
CHANGED
|
@@ -3,10 +3,10 @@ var i18nInstance;
|
|
|
3
3
|
/**
|
|
4
4
|
* How long to wait for i18next to report `loaded` before giving up on it.
|
|
5
5
|
*
|
|
6
|
-
* Resolution is driven by an event, and events are not guaranteed: a
|
|
7
|
-
* that never
|
|
8
|
-
* missing locales dir) leaves the listener armed and the promise
|
|
9
|
-
* the lifetime of the process. `cli.ts` calls loadI18next(true).then(...) with
|
|
6
|
+
* Resolution is driven by an event, and events are not guaranteed: a catalogue
|
|
7
|
+
* that never arrives (the widget's fetch against a dead CDN, the fs backend
|
|
8
|
+
* against a missing locales dir) leaves the listener armed and the promise
|
|
9
|
+
* pending for the lifetime of the process. `cli.ts` calls loadI18next(true).then(...) with
|
|
10
10
|
* nothing to time it out, so a pending promise there is a silent boot hang with
|
|
11
11
|
* no log line to explain it.
|
|
12
12
|
*/
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
{
|
|
2
|
+
"TARGET": {
|
|
3
|
+
"bird": "voël",
|
|
4
|
+
"bus": "bus",
|
|
5
|
+
"car": "motor",
|
|
6
|
+
"cat": "kat",
|
|
7
|
+
"deer": "takbok",
|
|
8
|
+
"dog": "hond",
|
|
9
|
+
"horse": "perd",
|
|
10
|
+
"plane": "vliegtuig",
|
|
11
|
+
"train": "trein",
|
|
12
|
+
"animals": "diere",
|
|
13
|
+
"antelope": "wildsbok",
|
|
14
|
+
"backpack": "rugsak",
|
|
15
|
+
"badger": "das",
|
|
16
|
+
"baseball-bat": "bofbalkolf",
|
|
17
|
+
"baseball-glove": "bofbalhandskoen",
|
|
18
|
+
"basketball-hoop": "korfbalring",
|
|
19
|
+
"bat": "vlermuis",
|
|
20
|
+
"bathtub": "bad",
|
|
21
|
+
"bear": "beer",
|
|
22
|
+
"bee": "by",
|
|
23
|
+
"beer-mug": "bierbeker",
|
|
24
|
+
"beetle": "kewer",
|
|
25
|
+
"billiards": "biljart",
|
|
26
|
+
"binoculars": "verkyker",
|
|
27
|
+
"birdbath": "voëlbad",
|
|
28
|
+
"bison": "bison",
|
|
29
|
+
"blimp": "lugskip",
|
|
30
|
+
"boar": "wildevark",
|
|
31
|
+
"bonsai-tree": "bonsaiboom",
|
|
32
|
+
"boom-box": "draagbare klankstelsel",
|
|
33
|
+
"bowling-ball": "rolbal",
|
|
34
|
+
"bowling-pin": "kegel",
|
|
35
|
+
"boxing-glove": "bokshandskoen",
|
|
36
|
+
"breadmaker": "broodmaker",
|
|
37
|
+
"bulldozer": "stootskraper",
|
|
38
|
+
"butterfly": "skoenlapper",
|
|
39
|
+
"cactus": "kaktus",
|
|
40
|
+
"cake": "koek",
|
|
41
|
+
"calculator": "sakrekenaar",
|
|
42
|
+
"camel": "kameel",
|
|
43
|
+
"canoe": "kano",
|
|
44
|
+
"car-tire": "motorband",
|
|
45
|
+
"caterpillar": "ruspe",
|
|
46
|
+
"cd": "CD",
|
|
47
|
+
"cereal-box": "graankosdoos",
|
|
48
|
+
"chandelier": "kroonkandelaar",
|
|
49
|
+
"chess-board": "skaakbord",
|
|
50
|
+
"chimpanzee": "sjimpansee",
|
|
51
|
+
"chopsticks": "eetstokkies",
|
|
52
|
+
"cockroach": "kakkerlak",
|
|
53
|
+
"coffin": "doodskis",
|
|
54
|
+
"coin": "munt",
|
|
55
|
+
"comet": "komeet",
|
|
56
|
+
"computer-keyboard": "rekenaarsleutelbord",
|
|
57
|
+
"computer-monitor": "rekenaarmonitor",
|
|
58
|
+
"computer-mouse": "rekenaarmuis",
|
|
59
|
+
"conch": "seeslak",
|
|
60
|
+
"cormorant": "duiker",
|
|
61
|
+
"covered-wagon": "bedekte wa",
|
|
62
|
+
"cow": "koei",
|
|
63
|
+
"cowboy-hat": "cowboyhoed",
|
|
64
|
+
"coyote": "prêriewolf",
|
|
65
|
+
"crab": "krap",
|
|
66
|
+
"crow": "kraai",
|
|
67
|
+
"desk-globe": "aardbol",
|
|
68
|
+
"diamond-ring": "diamantring",
|
|
69
|
+
"dice": "dobbelstene",
|
|
70
|
+
"dolphin": "dolfyn",
|
|
71
|
+
"donkey": "donkie",
|
|
72
|
+
"doorknob": "deurknop",
|
|
73
|
+
"dragonfly": "naaldekoker",
|
|
74
|
+
"drinking-straw": "drinkstrooitjie",
|
|
75
|
+
"duck": "eend",
|
|
76
|
+
"dumb-bell": "handgewig",
|
|
77
|
+
"eagle": "arend",
|
|
78
|
+
"eiffel-tower": "Eiffeltoring",
|
|
79
|
+
"electric-guitar": "elektriese kitaar",
|
|
80
|
+
"elephant": "olifant",
|
|
81
|
+
"elk": "wapiti",
|
|
82
|
+
"eyeglasses": "bril",
|
|
83
|
+
"fern": "varing",
|
|
84
|
+
"fire-extinguisher": "brandblusser",
|
|
85
|
+
"fire-hydrant": "brandkraan",
|
|
86
|
+
"fire-truck": "brandweerwa",
|
|
87
|
+
"fireworks": "vuurwerke",
|
|
88
|
+
"flamingo": "flamink",
|
|
89
|
+
"fly": "vlieg",
|
|
90
|
+
"fox": "jakkals",
|
|
91
|
+
"french-horn": "Franse horing",
|
|
92
|
+
"fried-egg": "gebakte eier",
|
|
93
|
+
"frisbee": "frisbee",
|
|
94
|
+
"frog": "padda",
|
|
95
|
+
"frying-pan": "braaipan",
|
|
96
|
+
"galaxy": "sterrestelsel",
|
|
97
|
+
"gas-pump": "petrolpomp",
|
|
98
|
+
"giraffe": "kameelperd",
|
|
99
|
+
"goat": "bok",
|
|
100
|
+
"golden-gate-bridge": "Golden Gate-brug",
|
|
101
|
+
"goldfish": "goudvis",
|
|
102
|
+
"golf-ball": "gholfbal",
|
|
103
|
+
"goose": "gans",
|
|
104
|
+
"gorilla": "gorilla",
|
|
105
|
+
"grapes": "druiwe",
|
|
106
|
+
"grasshopper": "sprinkaan",
|
|
107
|
+
"greyhound": "windhond",
|
|
108
|
+
"guitar-pick": "kitaarplektrum",
|
|
109
|
+
"hamburger": "hamburger",
|
|
110
|
+
"hammock": "hangmat",
|
|
111
|
+
"hamster": "hamster",
|
|
112
|
+
"hare": "haas",
|
|
113
|
+
"harmonica": "mondfluitjie",
|
|
114
|
+
"harp": "harp",
|
|
115
|
+
"harpsichord": "klavesimbel",
|
|
116
|
+
"head-phones": "koptelefoon",
|
|
117
|
+
"hedgehog": "krimpvarkie",
|
|
118
|
+
"helicopter": "helikopter",
|
|
119
|
+
"hibiscus": "hibiskus",
|
|
120
|
+
"hippopotamus": "seekoei",
|
|
121
|
+
"homer-simpson": "Homer Simpson",
|
|
122
|
+
"hornbill": "neushoringvoël",
|
|
123
|
+
"horseshoe-crab": "hoefysterkrap",
|
|
124
|
+
"hot-air-balloon": "warmlugballon",
|
|
125
|
+
"hot-dog": "worsbroodjie",
|
|
126
|
+
"hot-tub": "borrelbad",
|
|
127
|
+
"hourglass": "uurglas",
|
|
128
|
+
"house-fly": "huisvlieg",
|
|
129
|
+
"hummingbird": "kolibrie",
|
|
130
|
+
"hyena": "hiëna",
|
|
131
|
+
"ice-cream-cone": "roomyshorinkie",
|
|
132
|
+
"iguana": "likkewaan",
|
|
133
|
+
"ipod": "iPod",
|
|
134
|
+
"jellyfish": "jellievis",
|
|
135
|
+
"joy-stick": "stuurstang",
|
|
136
|
+
"kangaroo": "kangaroe",
|
|
137
|
+
"kayak": "kajak",
|
|
138
|
+
"killer-whale": "moordvis",
|
|
139
|
+
"koala": "koala",
|
|
140
|
+
"ladder": "leer",
|
|
141
|
+
"ladybugs": "lieweheersbesies",
|
|
142
|
+
"laptop": "skootrekenaar",
|
|
143
|
+
"leopard": "luiperd",
|
|
144
|
+
"license-plate": "nommerplaat",
|
|
145
|
+
"light-house": "vuurtoring",
|
|
146
|
+
"lightbulb": "gloeilamp",
|
|
147
|
+
"lightning": "weerlig",
|
|
148
|
+
"lion": "leeu",
|
|
149
|
+
"lizard": "akkedis",
|
|
150
|
+
"llama": "lama",
|
|
151
|
+
"lobster": "kreef",
|
|
152
|
+
"mailbox": "posbus",
|
|
153
|
+
"mandolin": "mandolien",
|
|
154
|
+
"mars": "Mars",
|
|
155
|
+
"mattress": "matras",
|
|
156
|
+
"megaphone": "megafoon",
|
|
157
|
+
"microscope": "mikroskoop",
|
|
158
|
+
"microwave": "mikrogolfoond",
|
|
159
|
+
"minaret": "minaret",
|
|
160
|
+
"minotaur": "minotourus",
|
|
161
|
+
"mosquito": "muskiet",
|
|
162
|
+
"moth": "mot",
|
|
163
|
+
"motorbikes": "motorfietse",
|
|
164
|
+
"mountain-bike": "bergfiets",
|
|
165
|
+
"mouse": "muis",
|
|
166
|
+
"mushroom": "sampioen",
|
|
167
|
+
"mussels": "mossels",
|
|
168
|
+
"necktie": "nekdas",
|
|
169
|
+
"octopus": "seekat",
|
|
170
|
+
"okapi": "okapi",
|
|
171
|
+
"orangutan": "orangoetang",
|
|
172
|
+
"ostrich": "volstruis",
|
|
173
|
+
"otter": "otter",
|
|
174
|
+
"owl": "uil",
|
|
175
|
+
"ox": "os",
|
|
176
|
+
"oyster": "oester",
|
|
177
|
+
"palm-pilot": "Palm Pilot",
|
|
178
|
+
"palm-tree": "palmboom",
|
|
179
|
+
"panda": "panda",
|
|
180
|
+
"paper-shredder": "papierversnipperaar",
|
|
181
|
+
"paperclip": "skuifspeld",
|
|
182
|
+
"parrot": "papegaai",
|
|
183
|
+
"pci-card": "PCI-kaart",
|
|
184
|
+
"pelecaniformes": "pelikaanagtiges",
|
|
185
|
+
"penguin": "pikkewyn",
|
|
186
|
+
"photocopier": "fotostaatmasjien",
|
|
187
|
+
"piano": "klavier",
|
|
188
|
+
"picnic-table": "piekniektafel",
|
|
189
|
+
"pig": "vark",
|
|
190
|
+
"pigeon": "duif",
|
|
191
|
+
"playing-card": "speelkaart",
|
|
192
|
+
"porcupine": "ystervark",
|
|
193
|
+
"possum": "opossum",
|
|
194
|
+
"pram": "kinderwaentjie",
|
|
195
|
+
"pyramid": "piramide",
|
|
196
|
+
"raccoon": "wasbeer",
|
|
197
|
+
"radio-telescope": "radioteleskoop",
|
|
198
|
+
"rainbow": "reënboog",
|
|
199
|
+
"rat": "rot",
|
|
200
|
+
"refrigerator": "yskas",
|
|
201
|
+
"reindeer": "rendier",
|
|
202
|
+
"rhinoceros": "renoster",
|
|
203
|
+
"rotary-phone": "draaiskyftelefoon",
|
|
204
|
+
"roulette-wheel": "roeletwiel",
|
|
205
|
+
"saddle": "saal",
|
|
206
|
+
"sandpiper": "strandloper",
|
|
207
|
+
"saturn": "Saturnus",
|
|
208
|
+
"school-bus": "skoolbus",
|
|
209
|
+
"screwdriver": "skroewedraaier",
|
|
210
|
+
"seahorse": "seeperdjie",
|
|
211
|
+
"seal": "rob",
|
|
212
|
+
"segway": "Segway",
|
|
213
|
+
"self-propelled-lawn-mower": "selfaangedrewe grassnyer",
|
|
214
|
+
"shark": "haai",
|
|
215
|
+
"sheep": "skaap",
|
|
216
|
+
"sheet-music": "bladmusiek",
|
|
217
|
+
"skateboard": "skaatsplank",
|
|
218
|
+
"skunk": "stinkdier",
|
|
219
|
+
"skyscraper": "wolkekrabber",
|
|
220
|
+
"smokestack": "skoorsteen",
|
|
221
|
+
"snail": "slak",
|
|
222
|
+
"snake": "slang",
|
|
223
|
+
"sneaker": "oefenskoen",
|
|
224
|
+
"snowmobile": "sneeuscooter",
|
|
225
|
+
"soccer-ball": "sokkerbal",
|
|
226
|
+
"socks": "sokkies",
|
|
227
|
+
"soda-can": "koeldrankblikkie",
|
|
228
|
+
"spaghetti": "spaghetti",
|
|
229
|
+
"sparrow": "mossie",
|
|
230
|
+
"speed-boat": "spoedboot",
|
|
231
|
+
"spoon": "lepel",
|
|
232
|
+
"squid": "pylinkvis",
|
|
233
|
+
"squirrel": "eekhoring",
|
|
234
|
+
"stained-glass": "loodglas",
|
|
235
|
+
"starfish": "seester",
|
|
236
|
+
"steering-wheel": "stuurwiel",
|
|
237
|
+
"stirrups": "stiebeuels",
|
|
238
|
+
"sunflower": "sonneblom",
|
|
239
|
+
"superman": "Superman",
|
|
240
|
+
"sushi": "sushi",
|
|
241
|
+
"swan": "swaan",
|
|
242
|
+
"t-shirt": "T-hemp",
|
|
243
|
+
"teapot": "teepot",
|
|
244
|
+
"teddy-bear": "teddiebeer",
|
|
245
|
+
"telephone-box": "telefoonhokkie",
|
|
246
|
+
"tennis-ball": "tennisbal",
|
|
247
|
+
"tennis-court": "tennisbaan",
|
|
248
|
+
"tennis-racket": "tennisraket",
|
|
249
|
+
"tiger": "tier",
|
|
250
|
+
"toad": "skurwepadda",
|
|
251
|
+
"toaster": "broodrooster",
|
|
252
|
+
"tomato": "tamatie",
|
|
253
|
+
"tombstone": "grafsteen",
|
|
254
|
+
"top-hat": "keil",
|
|
255
|
+
"touring-bike": "toerfiets",
|
|
256
|
+
"tower-pisa": "Toring van Pisa",
|
|
257
|
+
"traffic-light": "verkeerslig",
|
|
258
|
+
"treadmill": "trapmeul",
|
|
259
|
+
"triceratops": "triceratops",
|
|
260
|
+
"tricycle": "driewiel",
|
|
261
|
+
"tripod": "driepoot",
|
|
262
|
+
"tuning-fork": "stemvurk",
|
|
263
|
+
"turkey": "kalkoen",
|
|
264
|
+
"turtle": "skilpad",
|
|
265
|
+
"tweezer": "haartangetjie",
|
|
266
|
+
"umbrella": "sambreel",
|
|
267
|
+
"unicorn": "eenhoorn",
|
|
268
|
+
"video-projector": "videoprojektor",
|
|
269
|
+
"washing-machine": "wasmasjien",
|
|
270
|
+
"watch": "horlosie",
|
|
271
|
+
"waterfall": "waterval",
|
|
272
|
+
"watermelon": "waatlemoen",
|
|
273
|
+
"welding-mask": "sweismasker",
|
|
274
|
+
"whale": "walvis",
|
|
275
|
+
"wheelbarrow": "kruiwa",
|
|
276
|
+
"windmill": "windpomp",
|
|
277
|
+
"wine-bottle": "wynbottel",
|
|
278
|
+
"wolf": "wolf",
|
|
279
|
+
"wombat": "wombat",
|
|
280
|
+
"woodpecker": "houtkapper",
|
|
281
|
+
"xylophone": "xilofoon",
|
|
282
|
+
"yo-yo": "jojo",
|
|
283
|
+
"zebra": "sebra",
|
|
284
|
+
"airplanes": "vliegtuie",
|
|
285
|
+
"american-flag": "Amerikaanse vlag",
|
|
286
|
+
"bonsai": "bonsai",
|
|
287
|
+
"buddha": "Boeddha",
|
|
288
|
+
"cannon": "kanon",
|
|
289
|
+
"coffee-mug": "koffiebeker",
|
|
290
|
+
"flashlight": "flitslig",
|
|
291
|
+
"floppy-disk": "slapskyf",
|
|
292
|
+
"football-helmet": "Amerikaanse voetbalhelm",
|
|
293
|
+
"grand-piano": "vleuelklavier",
|
|
294
|
+
"jesus-christ": "Jesus Christus",
|
|
295
|
+
"knife": "mes",
|
|
296
|
+
"leopards": "luiperds",
|
|
297
|
+
"sword": "swaard",
|
|
298
|
+
"syringe": "spuit",
|
|
299
|
+
"tambourine": "tamboeryn"
|
|
300
|
+
}
|
|
301
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"CONTRACT": {
|
|
3
|
+
"INVALID_ADDRESS": "Kon nie ongeldige adres enkodeer nie",
|
|
4
|
+
"CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST": "Captcha-oplossingverbintenis bestaan nie",
|
|
5
|
+
"SIGNER_UNDEFINED": "Ondertekenaar ongedefinieer",
|
|
6
|
+
"CANNOT_FIND_KEYPAIR": "Kan nie sleutelpaar vind nie",
|
|
7
|
+
"INVALID_DATA_FORMAT": "Ongeldige dataformaat"
|
|
8
|
+
},
|
|
9
|
+
"CONFIG": {
|
|
10
|
+
"UNKNOWN_ENVIRONMENT": "Onbekende omgewing versoek",
|
|
11
|
+
"INVALID_CAPTCHA_NUMBER": "Stel asseblief die captcha-konfigurasies korrek op",
|
|
12
|
+
"INVALID_LOG_LEVEL": "Ongeldige logvlak",
|
|
13
|
+
"INVALID_PACKAGE_DIR": "Ongeldige pakketgids"
|
|
14
|
+
},
|
|
15
|
+
"DATASET": {
|
|
16
|
+
"DATASET_PARSE_ERROR": "Fout met ontleding van datastel",
|
|
17
|
+
"SOLUTION_PARSE_ERROR": "Fout met ontleding van datastel",
|
|
18
|
+
"HASH_ERROR": "Fout met hashing van datastel",
|
|
19
|
+
"DATASET_ID_UNDEFINED": "Datastel-ID ongedefinieer",
|
|
20
|
+
"NOT_ENOUGH_LABELS": "Nie genoeg etikette nie",
|
|
21
|
+
"NOT_ENOUGH_IMAGES": "Nie genoeg prente nie",
|
|
22
|
+
"CAPTCHAS_COUNT_LESS_THAN_CONFIGURED": "Aantal captchas in datastel is minder as die gekonfigureerde aantal captchas",
|
|
23
|
+
"SOLUTIONS_COUNT_LESS_THAN_CONFIGURED": "Aantal oplossings in datastel is minder as die gekonfigureerde aantal oplossings",
|
|
24
|
+
"DUPLICATE_IMAGE": "duplikaatprent bespeur",
|
|
25
|
+
"MERKLE_ERROR": "Fout met skep van Merkle-boom"
|
|
26
|
+
},
|
|
27
|
+
"DATABASE": {
|
|
28
|
+
"DATABASE_IMPORT_FAILED": "Kon nie databasisenjin invoer nie",
|
|
29
|
+
"DATABASE_UNDEFINED": "Databasiskliënt is nie gekoppel nie",
|
|
30
|
+
"DATABASE_HOST_UNDEFINED": "Databasisgasheeradres is nie gedefinieer nie",
|
|
31
|
+
"DATASET_LOAD_FAILED": "Laai van datastel het misluk",
|
|
32
|
+
"DATASET_GET_FAILED": "Kon nie datastel kry nie",
|
|
33
|
+
"CAPTCHA_GET_FAILED": "Kon nie captcha kry nie",
|
|
34
|
+
"CAPTCHA_UPDATE_FAILED": "Kon nie captcha bywerk nie",
|
|
35
|
+
"IMAGE_GET_FAILED": "Kon nie prent kry nie",
|
|
36
|
+
"PENDING_RECORD_NOT_FOUND": "Geen hangende rekord gevind nie",
|
|
37
|
+
"INVALID_HASH": "Ongeldige hash",
|
|
38
|
+
"SOLUTION_GET_FAILED": "Kon nie oplossing kry nie",
|
|
39
|
+
"DATASET_WITH_SOLUTIONS_GET_FAILED": "Geen datastelle met die vereiste aantal oplossings gevind nie",
|
|
40
|
+
"SOLUTION_APPROVE_FAILED": "Kon nie oplossing goedkeur nie",
|
|
41
|
+
"SOLUTION_FLAG_FAILED": "Kon nie oplossing as verwerk merk nie",
|
|
42
|
+
"TABLES_UNDEFINED": "Tabelle ongedefinieer",
|
|
43
|
+
"CONNECTION_UNDEFINED": "Verbinding ongedefinieer",
|
|
44
|
+
"COMMITMENT_FLAG_FAILED": "Kon nie verbintenis as verwerk merk nie",
|
|
45
|
+
"UNKNOWN": "Onbekende databasisfout",
|
|
46
|
+
"QUERY_ERROR": "Databasisnavraag het misluk",
|
|
47
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Redis-toegangsreëlsverbinding ongedefinieer",
|
|
48
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Gebruikerstoegangsreëlsberging ongedefinieer",
|
|
49
|
+
"SESSION_STORE_FAILED": "Kon nie sessie stoor nie",
|
|
50
|
+
"SESSION_CHECK_REMOVE_FAILED": "Kon nie sessie kontroleer en verwyder nie",
|
|
51
|
+
"SESSION_GET_FAILED": "Kon nie sessie kry nie"
|
|
52
|
+
},
|
|
53
|
+
"PORTAL": {
|
|
54
|
+
"CANNOT_MODIFY_OWNER_USER": "Kan nie eienaargebruiker wysig nie",
|
|
55
|
+
"CANNOT_DELETE_OWN_USER": "Kan nie jou eie rekening uitvee nie",
|
|
56
|
+
"CANNOT_DELETE_LAST_USER": "Kan nie laaste gebruiker uitvee nie",
|
|
57
|
+
"USER_ALREADY_EXISTS": "Gebruiker bestaan reeds",
|
|
58
|
+
"NO_SUGGESTIONS_FOUND": "Geen voorstelle gevind nie",
|
|
59
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "Kan nie die laaste aktiewe webwerf deaktiveer nie",
|
|
60
|
+
"DUPLICATE_SITE_NAME": "'n Webwerf met hierdie naam bestaan reeds",
|
|
61
|
+
"INVALID_SITE_NAME": "Webwerfnaam mag slegs letters, syfers, koppeltekens en onderstrepings bevat"
|
|
62
|
+
},
|
|
63
|
+
"CLI": {
|
|
64
|
+
"PARAMETER_ERROR": "Ongeldige parameter"
|
|
65
|
+
},
|
|
66
|
+
"FS": {
|
|
67
|
+
"FILE_NOT_FOUND": "Lêer nie gevind nie",
|
|
68
|
+
"FILE_ALREADY_EXISTS": "Lêer bestaan reeds",
|
|
69
|
+
"INVALID_DIR_FORMAT": "Ongeldige gidsformaat"
|
|
70
|
+
}
|
|
71
|
+
}
|