@prosopo/locale 3.1.20 → 3.1.21

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 (77) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/coverage/base.css +224 -0
  3. package/coverage/block-navigation.js +87 -0
  4. package/coverage/clover.xml +260 -0
  5. package/coverage/coverage-final.json +11 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/i18SharedOptions.ts.html +151 -0
  8. package/coverage/i18nBackend.ts.html +244 -0
  9. package/coverage/i18nFrontend.ts.html +328 -0
  10. package/coverage/i18nMiddleware.ts.html +160 -0
  11. package/coverage/index.html +251 -0
  12. package/coverage/index.ts.html +151 -0
  13. package/coverage/loadI18next.ts.html +232 -0
  14. package/coverage/prettify.css +1 -0
  15. package/coverage/prettify.js +2 -0
  16. package/coverage/sort-arrow-sprite.png +0 -0
  17. package/coverage/sorter.js +210 -0
  18. package/coverage/translationKey.ts.html +229 -0
  19. package/coverage/translations.ts.html +247 -0
  20. package/coverage/useTranslation.ts.html +181 -0
  21. package/coverage/util.ts.html +160 -0
  22. package/dist/cjs/i18nBackend.cjs +2 -1
  23. package/dist/i18SharedOptions.js +8 -10
  24. package/dist/i18SharedOptions.js.map +1 -0
  25. package/dist/i18nBackend.js +24 -26
  26. package/dist/i18nBackend.js.map +1 -0
  27. package/dist/i18nFrontend.js +43 -47
  28. package/dist/i18nFrontend.js.map +1 -0
  29. package/dist/i18nMiddleware.js +4 -5
  30. package/dist/i18nMiddleware.js.map +1 -0
  31. package/dist/index.js +7 -15
  32. package/dist/index.js.map +1 -0
  33. package/dist/loadI18next.js +29 -26
  34. package/dist/loadI18next.js.map +1 -0
  35. package/dist/locales/ar/translation.json +441 -441
  36. package/dist/locales/az/translation.json +441 -441
  37. package/dist/locales/cs/translation.json +441 -441
  38. package/dist/locales/de/translation.json +441 -441
  39. package/dist/locales/el/translation.json +441 -441
  40. package/dist/locales/en/translation.json +441 -441
  41. package/dist/locales/es/translation.json +441 -441
  42. package/dist/locales/fi/translation.json +441 -441
  43. package/dist/locales/fr/translation.json +441 -441
  44. package/dist/locales/hi/translation.json +441 -441
  45. package/dist/locales/hu/translation.json +441 -441
  46. package/dist/locales/id/translation.json +441 -441
  47. package/dist/locales/it/translation.json +441 -441
  48. package/dist/locales/ja/translation.json +441 -441
  49. package/dist/locales/jv/translation.json +441 -441
  50. package/dist/locales/ko/translation.json +441 -441
  51. package/dist/locales/ml/translation.json +441 -441
  52. package/dist/locales/ms/translation.json +441 -441
  53. package/dist/locales/nl/translation.json +441 -441
  54. package/dist/locales/no/translation.json +441 -441
  55. package/dist/locales/pl/translation.json +441 -441
  56. package/dist/locales/pt/translation.json +441 -441
  57. package/dist/locales/pt-BR/translation.json +441 -441
  58. package/dist/locales/ro/translation.json +441 -441
  59. package/dist/locales/ru/translation.json +441 -441
  60. package/dist/locales/sr/translation.json +441 -441
  61. package/dist/locales/sv/translation.json +441 -441
  62. package/dist/locales/th/translation.json +441 -441
  63. package/dist/locales/tr/translation.json +441 -441
  64. package/dist/locales/uk/translation.json +441 -441
  65. package/dist/locales/vi/translation.json +441 -441
  66. package/dist/locales/zh-CN/translation.json +441 -441
  67. package/dist/tests/locales.unit.test.js +49 -0
  68. package/dist/tests/locales.unit.test.js.map +1 -0
  69. package/dist/translationKey.js +15 -21
  70. package/dist/translationKey.js.map +1 -0
  71. package/dist/translations.js +35 -40
  72. package/dist/translations.js.map +1 -0
  73. package/dist/useTranslation.js +6 -7
  74. package/dist/useTranslation.js.map +1 -0
  75. package/dist/util.js +7 -8
  76. package/dist/util.js.map +1 -0
  77. package/package.json +7 -7
@@ -1,32 +1,30 @@
1
1
  import path from "node:path";
2
2
  import i18n from "i18next";
3
3
  import FSBackend from "i18next-fs-backend/cjs";
4
- import { LanguageDetector } from "i18next-http-middleware";
4
+ import { LanguageDetector as MiddlewareLanguageDetector } from "i18next-http-middleware";
5
5
  import { i18nSharedOptions } from "./i18SharedOptions.js";
6
6
  import { isServerSide } from "./util.js";
7
- const loadPath = `${path.dirname(import.meta.url)}/locales/{{lng}}/{{ns}}.json`.replace(
8
- "file://",
9
- ""
10
- );
11
- function initializeI18n(i18nLoadedCallback) {
12
- if (!i18n.isInitialized && isServerSide()) {
13
- const lngDetector = new LanguageDetector(null, {
14
- order: ["header", "query", "cookie"]
15
- });
16
- i18n.use(FSBackend).use(lngDetector).init({
17
- ...i18nSharedOptions,
18
- ns: ["translation"],
19
- backend: {
20
- loadPath
21
- }
22
- });
23
- i18n.on("loaded", () => {
24
- i18nLoadedCallback?.(i18n);
25
- });
26
- }
27
- return i18n;
7
+ const loadPath = `${path.dirname(import.meta.url)}/locales/{{lng}}/{{ns}}.json`.replace("file://", "");
8
+ export function initializeI18n(i18nLoadedCallback) {
9
+ if (!i18n.isInitialized && isServerSide()) {
10
+ const lngDetector = new MiddlewareLanguageDetector(null, {
11
+ order: ["header", "query", "cookie"],
12
+ });
13
+ i18n
14
+ .use(FSBackend)
15
+ .use(lngDetector)
16
+ .init({
17
+ ...i18nSharedOptions,
18
+ ns: ["translation"],
19
+ backend: {
20
+ loadPath,
21
+ },
22
+ });
23
+ i18n.on("loaded", () => {
24
+ i18nLoadedCallback?.(i18n);
25
+ });
26
+ }
27
+ return i18n;
28
28
  }
29
- export {
30
- initializeI18n as default,
31
- initializeI18n
32
- };
29
+ export default initializeI18n;
30
+ //# sourceMappingURL=i18nBackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nBackend.js","sourceRoot":"","sources":["../src/i18nBackend.ts"],"names":[],"mappings":"AAcA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,IAAI,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,QAAQ,GACb,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,OAAO,CACrE,SAAS,EACT,EAAE,CACF,CAAC;AAEH,MAAM,UAAU,cAAc,CAC7B,kBAAiD;IAEjD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAAC,IAAI,EAAE;YACxD,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,IAAI;aAEF,GAAG,CAAC,SAAS,CAAC;aACd,GAAG,CAAC,WAAW,CAAC;aAChB,IAAI,CAAC;YACL,GAAG,iBAAiB;YACpB,EAAE,EAAE,CAAC,aAAa,CAAC;YACnB,OAAO,EAAE;gBACR,QAAQ;aACR;SACD,CAAC,CAAC;QACJ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -6,54 +6,50 @@ import resourcesToBackend from "i18next-resources-to-backend";
6
6
  import { initReactI18next } from "react-i18next";
7
7
  import { i18nSharedOptions } from "./i18SharedOptions.js";
8
8
  const reactOptions = {
9
- react: {
10
- useSuspense: true
11
- },
12
- detection: {
13
- order: ["navigator", "htmlTag", "path", "subdomain"],
14
- caches: ["localStorage", "cookie"]
15
- }
9
+ react: {
10
+ useSuspense: true,
11
+ },
12
+ detection: {
13
+ order: ["navigator", "htmlTag", "path", "subdomain"],
14
+ caches: ["localStorage", "cookie"],
15
+ },
16
16
  };
17
17
  const getLoadPath = (language, namespace) => {
18
- const filename = import.meta.url.split("/").pop();
19
- return `${import.meta.url.replace(`/${filename}`, "")}/locales/${language}/${namespace}.json`;
18
+ const filename = import.meta.url.split("/").pop();
19
+ return `${import.meta.url.replace(`/${filename}`, "")}/locales/${language}/${namespace}.json`;
20
20
  };
21
- function initializeI18n(i18nLoadedCallback) {
22
- if (!i18n.isInitialized) {
23
- i18n.use(ChainedBackend).use(
24
- new I18nextBrowserLanguageDetector(null, {
25
- order: ["cookie", "localStorage", "navigator"],
26
- lookupQuerystring: "lng",
27
- lookupCookie: "i18next",
28
- lookupLocalStorage: "i18nextLng",
29
- caches: ["localStorage", "cookie"]
30
- })
31
- ).use(initReactI18next).init({
32
- ...i18nSharedOptions,
33
- backend: {
34
- backends: [
35
- HttpBackend,
36
- // if a namespace can't be loaded via normal http-backend loadPath, then the inMemoryLocalBackend will try to return the correct resources
37
- // with dynamic import, you have to use the "default" key of the module ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#importing_defaults )
38
- resourcesToBackend(
39
- (language, namespace) => import(getLoadPath(language, namespace))
40
- )
41
- ],
42
- backendOptions: [
43
- {
44
- loadPath: getLoadPath("{{lng}}", "{{ns}}")
45
- }
46
- ]
47
- },
48
- ...reactOptions
49
- });
50
- i18n.on("loaded", () => {
51
- i18nLoadedCallback?.(i18n);
52
- });
53
- }
54
- return i18n;
21
+ export function initializeI18n(i18nLoadedCallback) {
22
+ if (!i18n.isInitialized) {
23
+ i18n
24
+ .use(ChainedBackend)
25
+ .use(new I18nextBrowserLanguageDetector(null, {
26
+ order: ["cookie", "localStorage", "navigator"],
27
+ lookupQuerystring: "lng",
28
+ lookupCookie: "i18next",
29
+ lookupLocalStorage: "i18nextLng",
30
+ caches: ["localStorage", "cookie"],
31
+ }))
32
+ .use(initReactI18next)
33
+ .init({
34
+ ...i18nSharedOptions,
35
+ backend: {
36
+ backends: [
37
+ HttpBackend,
38
+ resourcesToBackend((language, namespace) => import(getLoadPath(language, namespace))),
39
+ ],
40
+ backendOptions: [
41
+ {
42
+ loadPath: getLoadPath("{{lng}}", "{{ns}}"),
43
+ },
44
+ ],
45
+ },
46
+ ...reactOptions,
47
+ });
48
+ i18n.on("loaded", () => {
49
+ i18nLoadedCallback?.(i18n);
50
+ });
51
+ }
52
+ return i18n;
55
53
  }
56
- export {
57
- initializeI18n as default,
58
- initializeI18n
59
- };
54
+ export default initializeI18n;
55
+ //# sourceMappingURL=i18nFrontend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nFrontend.js","sourceRoot":"","sources":["../src/i18nFrontend.ts"],"names":[],"mappings":"AAcA,OAAO,IAA0B,MAAM,SAAS,CAAC;AACjD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,YAAY,GAAgB;IACjC,KAAK,EAAE;QACN,WAAW,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACV,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;QACpD,MAAM,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;KAClC;CACD,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAClD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC,YAAY,QAAQ,IAAI,SAAS,OAAO,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAC7B,kBAAiD;IAEjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI;aAEF,GAAG,CAAC,cAAc,CAAC;aACnB,GAAG,CACH,IAAI,8BAA8B,CAAC,IAAI,EAAE;YACxC,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC;YAC9C,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,SAAS;YACvB,kBAAkB,EAAE,YAAY;YAChC,MAAM,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;SAClC,CAAC,CACF;aACA,GAAG,CAAC,gBAAgB,CAAC;aACrB,IAAI,CAAC;YACL,GAAG,iBAAiB;YACpB,OAAO,EAAE;gBACR,QAAQ,EAAE;oBACT,WAAW;oBAEX,kBAAkB,CACjB,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE,CACvC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CACzC;iBACD;gBACD,cAAc,EAAE;oBACf;wBACC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC;qBAC1C;iBACD;aACD;YACD,GAAG,YAAY;SACA,CAAC,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { handle } from "i18next-http-middleware";
2
2
  import loadI18next from "./loadI18next.js";
3
3
  async function i18nMiddleware(options) {
4
- const i18n = await loadI18next(true);
5
- return handle(i18n, { ...options });
4
+ const i18n = await loadI18next(true);
5
+ return handle(i18n, { ...options });
6
6
  }
7
- export {
8
- i18nMiddleware as default
9
- };
7
+ export default i18nMiddleware;
8
+ //# sourceMappingURL=i18nMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18nMiddleware.js","sourceRoot":"","sources":["../src/i18nMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,KAAK,UAAU,cAAc,CAC5B,OAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,eAAe,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,15 +1,7 @@
1
- import { default as default2 } from "./i18nMiddleware.js";
2
- import { default as default3 } from "./loadI18next.js";
3
- import { LanguageSchema, Languages } from "./translations.js";
4
- import { isClientSide } from "./util.js";
5
- import { TranslationKeysSchema } from "./translationKey.js";
6
- import { default as default4 } from "./useTranslation.js";
7
- export {
8
- LanguageSchema,
9
- Languages,
10
- TranslationKeysSchema,
11
- default2 as i18nMiddleware,
12
- isClientSide,
13
- default3 as loadI18next,
14
- default4 as useTranslation
15
- };
1
+ export { default as i18nMiddleware } from "./i18nMiddleware.js";
2
+ export { default as loadI18next } from "./loadI18next.js";
3
+ export { Languages, LanguageSchema } from "./translations.js";
4
+ export { isClientSide } from "./util.js";
5
+ export { TranslationKeysSchema } from "./translationKey.js";
6
+ export { default as useTranslation } from "./useTranslation.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,29 +1,32 @@
1
1
  let i18nInstance;
2
2
  async function loadI18next(backend) {
3
- return new Promise((resolve, reject) => {
4
- try {
5
- if (backend) {
6
- import("./i18nBackend.js").then(({ default: initializeI18n }) => {
7
- if (!i18nInstance) {
8
- i18nInstance = initializeI18n(resolve);
9
- } else {
10
- resolve(i18nInstance);
11
- }
12
- });
13
- } else {
14
- import("./i18nFrontend.js").then(({ default: initializeI18n }) => {
15
- if (!i18nInstance) {
16
- i18nInstance = initializeI18n(resolve);
17
- } else {
18
- resolve(i18nInstance);
19
- }
20
- });
21
- }
22
- } catch (e) {
23
- reject(e);
24
- }
25
- });
3
+ return new Promise((resolve, reject) => {
4
+ try {
5
+ if (backend) {
6
+ import("./i18nBackend.js").then(({ default: initializeI18n }) => {
7
+ if (!i18nInstance) {
8
+ i18nInstance = initializeI18n(resolve);
9
+ }
10
+ else {
11
+ resolve(i18nInstance);
12
+ }
13
+ });
14
+ }
15
+ else {
16
+ import("./i18nFrontend.js").then(({ default: initializeI18n }) => {
17
+ if (!i18nInstance) {
18
+ i18nInstance = initializeI18n(resolve);
19
+ }
20
+ else {
21
+ resolve(i18nInstance);
22
+ }
23
+ });
24
+ }
25
+ }
26
+ catch (e) {
27
+ reject(e);
28
+ }
29
+ });
26
30
  }
27
- export {
28
- loadI18next as default
29
- };
31
+ export default loadI18next;
32
+ //# sourceMappingURL=loadI18next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadI18next.js","sourceRoot":"","sources":["../src/loadI18next.ts"],"names":[],"mappings":"AAeA,IAAI,YAAkB,CAAC;AACvB,KAAK,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,IAAI,CAAC;YACJ,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;wBAEnB,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBAEP,OAAO,CAAC,YAAY,CAAC,CAAC;oBACvB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;oBAChE,IAAI,CAAC,YAAY,EAAE,CAAC;wBAEnB,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBAEP,OAAO,CAAC,YAAY,CAAC,CAAC;oBACvB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAID,eAAe,WAAW,CAAC"}