@prosopo/locale 3.5.0 → 3.6.1

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 (87) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +14 -12
  2. package/.turbo/turbo-build$colon$tsc.log +8 -5
  3. package/.turbo/turbo-build.log +16 -14
  4. package/CHANGELOG.md +54 -0
  5. package/dist/cjs/i18SharedOptions.cjs +2 -2
  6. package/dist/cjs/i18nBackend.cjs +1 -1
  7. package/dist/cjs/i18nFrontend.cjs +169 -51
  8. package/dist/cjs/i18nMiddleware.cjs +5 -2
  9. package/dist/cjs/index.cjs +3 -2
  10. package/dist/cjs/translationKey.cjs +2 -3
  11. package/dist/cjs/translations.cjs +4 -5
  12. package/dist/cjs/translator.cjs +2 -3
  13. package/dist/i18SharedOptions.d.ts +2 -2
  14. package/dist/i18SharedOptions.js +3 -3
  15. package/dist/i18SharedOptions.js.map +1 -1
  16. package/dist/i18nBackend.js +1 -1
  17. package/dist/i18nFrontend.d.ts +2 -2
  18. package/dist/i18nFrontend.d.ts.map +1 -1
  19. package/dist/i18nFrontend.js +169 -45
  20. package/dist/i18nFrontend.js.map +1 -1
  21. package/dist/i18nMiddleware.d.ts.map +1 -1
  22. package/dist/i18nMiddleware.js +3 -1
  23. package/dist/i18nMiddleware.js.map +1 -1
  24. package/dist/index.d.ts +4 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -3
  27. package/dist/index.js.map +1 -1
  28. package/dist/loadI18next.d.ts +2 -3
  29. package/dist/loadI18next.d.ts.map +1 -1
  30. package/dist/loadI18next.js.map +1 -1
  31. package/dist/locales/fi/translation.json +1 -1
  32. package/dist/locales/hi/translation.json +406 -406
  33. package/dist/locales/nl/translation.json +1 -1
  34. package/dist/tests/i18nFrontend.unit.test.js +218 -170
  35. package/dist/tests/i18nFrontend.unit.test.js.map +1 -1
  36. package/dist/tests/i18nMiddleware.unit.test.js +11 -2
  37. package/dist/tests/i18nMiddleware.unit.test.js.map +1 -1
  38. package/dist/tests/loadI18next.unit.test.js.map +1 -1
  39. package/dist/tests/locale.test-d.js +15 -11
  40. package/dist/tests/locale.test-d.js.map +1 -1
  41. package/dist/tests/localePlaceholders.unit.test.d.ts +2 -0
  42. package/dist/tests/localePlaceholders.unit.test.d.ts.map +1 -0
  43. package/dist/tests/localePlaceholders.unit.test.js +35 -0
  44. package/dist/tests/localePlaceholders.unit.test.js.map +1 -0
  45. package/dist/tests/translationKey.unit.test.js +11 -33
  46. package/dist/tests/translationKey.unit.test.js.map +1 -1
  47. package/dist/tests/translations.unit.test.js +12 -22
  48. package/dist/tests/translations.unit.test.js.map +1 -1
  49. package/dist/translationKey.d.ts +2 -3
  50. package/dist/translationKey.d.ts.map +1 -1
  51. package/dist/translationKey.js +2 -3
  52. package/dist/translationKey.js.map +1 -1
  53. package/dist/translations.d.ts +3 -2
  54. package/dist/translations.d.ts.map +1 -1
  55. package/dist/translations.js +3 -3
  56. package/dist/translations.js.map +1 -1
  57. package/dist/translator.d.ts +2 -3
  58. package/dist/translator.d.ts.map +1 -1
  59. package/dist/translator.js +2 -3
  60. package/dist/translator.js.map +1 -1
  61. package/dist/types.d.ts +16 -0
  62. package/dist/types.d.ts.map +1 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +1 -0
  65. package/package.json +4 -8
  66. package/src/i18SharedOptions.ts +3 -3
  67. package/src/i18nFrontend.ts +240 -73
  68. package/src/i18nMiddleware.ts +6 -1
  69. package/src/index.ts +9 -3
  70. package/src/loadI18next.ts +7 -8
  71. package/src/locales/fi/translation.json +1 -1
  72. package/src/locales/hi/translation.json +406 -406
  73. package/src/locales/nl/translation.json +1 -1
  74. package/src/tests/i18nFrontend.unit.test.ts +310 -216
  75. package/src/tests/i18nMiddleware.unit.test.ts +21 -2
  76. package/src/tests/loadI18next.unit.test.ts +11 -11
  77. package/src/tests/locale.test-d.ts +24 -23
  78. package/src/tests/localePlaceholders.unit.test.ts +81 -0
  79. package/src/tests/translationKey.unit.test.ts +12 -38
  80. package/src/tests/translations.unit.test.ts +18 -31
  81. package/src/translationKey.ts +10 -9
  82. package/src/translations.ts +6 -5
  83. package/src/translator.ts +6 -7
  84. package/src/types.ts +42 -0
  85. package/tsconfig.cjs.json +3 -0
  86. package/tsconfig.json +3 -0
  87. package/tsconfig.tsbuildinfo +1 -1
@@ -1,53 +1,177 @@
1
1
  import "./_virtual/_rolldown/runtime.js";
2
2
  import { i18nSharedOptions } from "./i18SharedOptions.js";
3
- import i18n from "i18next";
4
- import I18nextBrowserLanguageDetector from "i18next-browser-languagedetector";
5
- import ChainedBackend from "i18next-chained-backend";
6
- import HttpBackend from "i18next-http-backend";
7
- import resourcesToBackend from "i18next-resources-to-backend";
3
+ import { flatten } from "@prosopo/util";
8
4
  //#region src/i18nFrontend.ts
9
- var detectionOptions = { detection: {
10
- order: [
11
- "navigator",
12
- "htmlTag",
13
- "path",
14
- "subdomain"
15
- ],
16
- caches: ["localStorage", "cookie"]
17
- } };
18
- var getLoadPath = (language, namespace) => {
19
- const filename = import.meta.url.split("/").pop();
20
- return `${import.meta.url.replace(`/${filename}`, "")}/locales/${language}/${namespace}.json`;
5
+ var NAMESPACE = "translation";
6
+ var FALLBACK_LANGUAGE = i18nSharedOptions.fallbackLng;
7
+ var STORAGE_KEY = "i18nextLng";
8
+ var COOKIE_KEY = "i18next";
9
+ var COOKIE_MAX_AGE_SECONDS = 10080 * 60;
10
+ /**
11
+ * How long to wait for a catalogue before rendering untranslated.
12
+ *
13
+ * A widget with no text is worse than a widget in English: every caller
14
+ * supplies a `defaultValue`, and `t()` falls back to the key otherwise, so a
15
+ * catalogue that never arrives degrades rather than blocks.
16
+ */
17
+ var CATALOGUE_FETCH_TIMEOUT_MS = 1e4;
18
+ var SUPPORTED_LANGUAGES = i18nSharedOptions.supportedLngs;
19
+ /**
20
+ * Locale JSON sits next to the bundle that asked for it. The widget is embedded
21
+ * by third parties and cannot know a base URL, but it does know where its own
22
+ * module was served from.
23
+ */
24
+ var catalogueUrl = (language) => {
25
+ const moduleUrl = import.meta.url;
26
+ return `${moduleUrl.slice(0, moduleUrl.lastIndexOf("/"))}/locales/${language}/${NAMESPACE}.json`;
21
27
  };
28
+ /**
29
+ * `en-GB` is not in the catalogue list but `en` is, so a regional tag resolves
30
+ * to its base language rather than falling all the way back to English.
31
+ */
32
+ var resolveLanguage = (candidate) => {
33
+ if (!candidate) return;
34
+ if (SUPPORTED_LANGUAGES.includes(candidate)) return candidate;
35
+ const base = candidate.split("-")[0];
36
+ return base && SUPPORTED_LANGUAGES.includes(base) ? base : void 0;
37
+ };
38
+ var readCookie = () => {
39
+ try {
40
+ const match = document.cookie.match(new RegExp(`(?:^|; )${COOKIE_KEY}=([^;]*)`));
41
+ return match?.[1] ? decodeURIComponent(match[1]) : void 0;
42
+ } catch {
43
+ return;
44
+ }
45
+ };
46
+ var readStorage = () => {
47
+ try {
48
+ return localStorage.getItem(STORAGE_KEY) ?? void 0;
49
+ } catch {
50
+ return;
51
+ }
52
+ };
53
+ var navigatorLanguages = () => {
54
+ try {
55
+ return navigator.languages?.length ? navigator.languages : [navigator.language];
56
+ } catch {
57
+ return [];
58
+ }
59
+ };
60
+ /**
61
+ * Cookie and localStorage are both written, matching what the widget did when
62
+ * i18next-browser-languagedetector handled this, so a visitor's choice survives
63
+ * across pages that embed the widget. Either store can throw in a sandboxed
64
+ * iframe or with third-party storage blocked; neither is load-bearing.
65
+ */
66
+ var cacheLanguage = (language) => {
67
+ try {
68
+ localStorage.setItem(STORAGE_KEY, language);
69
+ } catch {}
70
+ try {
71
+ document.cookie = `${COOKIE_KEY}=${encodeURIComponent(language)};max-age=${COOKIE_MAX_AGE_SECONDS};path=/`;
72
+ } catch {}
73
+ };
74
+ var detectLanguage = () => {
75
+ const candidates = [
76
+ readCookie(),
77
+ readStorage(),
78
+ ...navigatorLanguages()
79
+ ];
80
+ for (const candidate of candidates) {
81
+ const resolved = resolveLanguage(candidate);
82
+ if (resolved) return resolved;
83
+ }
84
+ return FALLBACK_LANGUAGE;
85
+ };
86
+ var fetchCatalogue = async (language) => {
87
+ const controller = new AbortController();
88
+ const timer = setTimeout(() => controller.abort(), CATALOGUE_FETCH_TIMEOUT_MS);
89
+ try {
90
+ const response = await fetch(catalogueUrl(language), { signal: controller.signal });
91
+ if (!response.ok) return {};
92
+ const body = await response.json();
93
+ return typeof body === "object" && body !== null ? flatten(body) : {};
94
+ } catch {
95
+ return {};
96
+ } finally {
97
+ clearTimeout(timer);
98
+ }
99
+ };
100
+ var interpolate = (template, options) => options ? template.replace(/\{\{(\w+)\}\}/g, (placeholder, name) => name in options ? String(options[name]) : placeholder) : template;
101
+ var createBrowserI18n = (requested) => {
102
+ const catalogues = /* @__PURE__ */ new Map();
103
+ const listeners = /* @__PURE__ */ new Map();
104
+ let language = resolveLanguage(requested) ?? detectLanguage();
105
+ let initialised = false;
106
+ const emit = (event) => {
107
+ for (const listener of listeners.get(event) ?? []) listener();
108
+ };
109
+ /**
110
+ * The fallback catalogue is fetched alongside the active one so a key
111
+ * missing from a translation still renders English rather than its key —
112
+ * the same key-level fallback i18next gave us via `fallbackLng`.
113
+ */
114
+ const loadCatalogues = async (target) => {
115
+ const wanted = [.../* @__PURE__ */ new Set([target, FALLBACK_LANGUAGE])].filter((candidate) => !catalogues.has(candidate));
116
+ await Promise.all(wanted.map(async (candidate) => {
117
+ catalogues.set(candidate, await fetchCatalogue(candidate));
118
+ }));
119
+ };
120
+ const lookup = (candidate, key) => catalogues.get(candidate)?.[key];
121
+ cacheLanguage(language);
122
+ const loading = loadCatalogues(language).then(() => {
123
+ initialised = true;
124
+ emit("initialized");
125
+ emit("loaded");
126
+ });
127
+ const instance = {
128
+ get language() {
129
+ return language;
130
+ },
131
+ get isInitialized() {
132
+ return initialised;
133
+ },
134
+ t: (key, options) => interpolate(lookup(language, key) ?? lookup(FALLBACK_LANGUAGE, key) ?? options?.defaultValue ?? key, options),
135
+ hasLoadedNamespace: (namespace) => namespace === NAMESPACE && catalogues.has(language),
136
+ changeLanguage: async (next) => {
137
+ const resolved = resolveLanguage(next) ?? FALLBACK_LANGUAGE;
138
+ if (resolved !== language) {
139
+ language = resolved;
140
+ cacheLanguage(resolved);
141
+ await loadCatalogues(resolved);
142
+ emit("loaded");
143
+ emit("languageChanged");
144
+ }
145
+ return instance;
146
+ },
147
+ on: (event, listener) => {
148
+ const existing = listeners.get(event) ?? /* @__PURE__ */ new Set();
149
+ existing.add(listener);
150
+ listeners.set(event, existing);
151
+ },
152
+ off: (event, listener) => {
153
+ listeners.get(event)?.delete(listener);
154
+ },
155
+ ready: async () => {
156
+ await loading;
157
+ return instance;
158
+ }
159
+ };
160
+ return instance;
161
+ };
162
+ /**
163
+ * The widget owns this instance. A host page running its own i18n must not be
164
+ * able to capture the widget's translations, and every widget on the page
165
+ * shares one catalogue fetch.
166
+ */
167
+ var instance;
22
168
  function initializeI18n(i18nLoadedCallback, lng) {
23
- if (!i18n.isInitialized) {
24
- i18n.use(ChainedBackend).use(new I18nextBrowserLanguageDetector(null, {
25
- order: [
26
- "cookie",
27
- "localStorage",
28
- "navigator"
29
- ],
30
- lookupQuerystring: "lng",
31
- lookupCookie: "i18next",
32
- lookupLocalStorage: "i18nextLng",
33
- caches: ["localStorage", "cookie"]
34
- })).init({
35
- ...i18nSharedOptions,
36
- ...lng ? { lng } : {},
37
- backend: {
38
- backends: [HttpBackend, resourcesToBackend((language, namespace) => import(getLoadPath(language, namespace)))],
39
- backendOptions: [{ loadPath: getLoadPath("{{lng}}", "{{ns}}") }]
40
- },
41
- ...detectionOptions
42
- });
43
- let notified = false;
44
- i18n.on("loaded", () => {
45
- if (notified) return;
46
- notified = true;
47
- i18nLoadedCallback?.(i18n);
48
- });
49
- } else i18nLoadedCallback?.(i18n);
50
- return i18n;
169
+ if (!instance) {
170
+ const created = createBrowserI18n(lng);
171
+ instance = created;
172
+ created.ready().then(() => i18nLoadedCallback?.(created));
173
+ } else i18nLoadedCallback?.(instance);
174
+ return instance;
51
175
  }
52
176
  //#endregion
53
177
  export { initializeI18n as default, initializeI18n };
@@ -1 +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,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,gBAAgB,GAAgB;IACrC,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,EACjD,GAAY;IAEZ,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,IAAI,CAAC;YACL,GAAG,iBAAiB;YAOpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,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,gBAAgB;SACJ,CAAC,CAAC;QAKnB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO;YACR,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QAMP,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"i18nFrontend.js","sourceRoot":"","sources":["../src/i18nFrontend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18nMiddleware.d.ts","sourceRoot":"","sources":["../src/i18nMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMjD,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,iBAAe,cAAc,CAC5B,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAGpC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"i18nMiddleware.d.ts","sourceRoot":"","sources":["../src/i18nMiddleware.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMjD,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,iBAAe,cAAc,CAC5B,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAOpC;AAED,eAAe,cAAc,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import loadI18next from "./loadI18next.js";
2
+ import i18n from "i18next";
2
3
  import { handle } from "i18next-http-middleware";
3
4
  //#region src/i18nMiddleware.ts
4
5
  async function i18nMiddleware(options) {
5
- return handle(await loadI18next(true), { ...options });
6
+ await loadI18next(true);
7
+ return handle(i18n, { ...options });
6
8
  }
7
9
  //#endregion
8
10
  export { i18nMiddleware as default };
@@ -1 +1 @@
1
- {"version":3,"file":"i18nMiddleware.js","sourceRoot":"","sources":["../src/i18nMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAO3C,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"}
1
+ {"version":3,"file":"i18nMiddleware.js","sourceRoot":"","sources":["../src/i18nMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAO3C,KAAK,UAAU,cAAc,CAC5B,OAAsB;IAMtB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,eAAe,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { default as i18nMiddleware } from "./i18nMiddleware.js";
2
2
  export { default as loadI18next } from "./loadI18next.js";
3
- export { Languages, LanguageSchema } from "./translations.js";
3
+ export { isLanguage, LanguageCodes, Languages } from "./translations.js";
4
+ export type { Language } from "./translations.js";
4
5
  export { isClientSide } from "./util.js";
5
- export { TranslationKeysSchema } from "./translationKey.js";
6
+ export { translationKeys } from "./translationKey.js";
6
7
  export type { TranslationKey } from "./translationKey.js";
7
8
  export { createTranslator } from "./translator.js";
8
9
  export type { Translator } from "./translator.js";
9
- export type { Ti18n } from "./loadI18next.js";
10
+ export type { I18nEvent, Ti18n, TranslateFn, TranslateOptions, } from "./types.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","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;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","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,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,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACX,SAAS,EACT,KAAK,EACL,WAAW,EACX,gBAAgB,GAChB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import "./_virtual/_rolldown/runtime.js";
2
2
  import loadI18next from "./loadI18next.js";
3
3
  import i18nMiddleware from "./i18nMiddleware.js";
4
- import { LanguageSchema, Languages } from "./translations.js";
4
+ import { LanguageCodes, Languages, isLanguage } from "./translations.js";
5
5
  import { isClientSide } from "./util.js";
6
- import { TranslationKeysSchema } from "./translationKey.js";
6
+ import { translationKeys } from "./translationKey.js";
7
7
  import { createTranslator } from "./translator.js";
8
- export { LanguageSchema, Languages, TranslationKeysSchema, createTranslator, i18nMiddleware, isClientSide, loadI18next };
8
+ export { LanguageCodes, Languages, createTranslator, i18nMiddleware, isClientSide, isLanguage, loadI18next, translationKeys };
package/dist/index.js.map CHANGED
@@ -1 +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,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
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,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,5 @@
1
- import type { i18n } from "i18next";
1
+ import type { Ti18n } from "./types.js";
2
2
  export declare const I18N_LOAD_TIMEOUT_MS = 10000;
3
- declare function loadI18next(backend: boolean, lng?: string): Promise<i18n>;
4
- export type { i18n as Ti18n };
3
+ declare function loadI18next(backend: boolean, lng?: string): Promise<Ti18n>;
5
4
  export default loadI18next;
6
5
  //# sourceMappingURL=loadI18next.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadI18next.d.ts","sourceRoot":"","sources":["../src/loadI18next.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAapC,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAY3C,iBAAe,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FxE;AAED,YAAY,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC;AAE9B,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"loadI18next.d.ts","sourceRoot":"","sources":["../src/loadI18next.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcxC,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAY3C,iBAAe,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CA6FzE;AAED,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadI18next.js","sourceRoot":"","sources":["../src/loadI18next.ts"],"names":[],"mappings":"AAeA,IAAI,YAAkB,CAAC;AAYvB,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,MAAM,iBAAiB,GAAG,KAAK,EAC9B,QAAc,EACd,GAAuB,EACP,EAAE;IAClB,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,GAAY;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAQtC,IAAI,OAAO,GAAG,KAAK,CAAC;QAGpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,YAAY,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACP,MAAM,CACL,IAAI,KAAK,CACR,+BAA+B,oBAAoB,gCAAgC,CACnF,CACD,CAAC;YACH,CAAC;QACF,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAIzB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAKhB,MAAM,IAAI,GAAG,CAAC,QAAc,EAAQ,EAAE;YACrC,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO;YACR,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAQ,EAAE;YACzC,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO;YACR,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QACf,CAAC,CAAC;QAQF,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,kBAAkB,CAAC;iBACxB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;gBACrC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAGnB,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBAEP,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,mBAAmB,CAAC;iBACzB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;gBACrC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAKnB,YAAY,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC1C,KAAK,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBAMP,KAAK,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC;yBACvC,IAAI,CAAC,IAAI,CAAC;yBACV,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAID,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"loadI18next.js","sourceRoot":"","sources":["../src/loadI18next.ts"],"names":[],"mappings":"AAgBA,IAAI,YAAmB,CAAC;AAYxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,MAAM,iBAAiB,GAAG,KAAK,EAC9B,QAAe,EACf,GAAuB,EACN,EAAE;IACnB,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,GAAY;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAQtC,IAAI,OAAO,GAAG,KAAK,CAAC;QAGpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,YAAY,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACP,MAAM,CACL,IAAI,KAAK,CACR,+BAA+B,oBAAoB,gCAAgC,CACnF,CACD,CAAC;YACH,CAAC;QACF,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAIzB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAKhB,MAAM,IAAI,GAAG,CAAC,QAAe,EAAQ,EAAE;YACtC,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO;YACR,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAQ,EAAE;YACzC,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO;YACR,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QACf,CAAC,CAAC;QAQF,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,kBAAkB,CAAC;iBACxB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;gBACrC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAGnB,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBAEP,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,mBAAmB,CAAC;iBACzB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;gBACrC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAKnB,YAAY,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC1C,KAAK,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBAMP,KAAK,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC;yBACvC,IAAI,CAAC,IAAI,CAAC;yBACV,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC,CAAC;iBACD,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -84,7 +84,7 @@
84
84
  "JSON_LOAD_FAILED": "JSON-tiedoston lataaminen epäonnistui",
85
85
  "MNEMONIC_UNDEFINED": "Mnemonic Undefined. Aseta mnemonic ympäristömuuttujiin",
86
86
  "NO_MNEMONIC_OR_SEED": "Ei annettu mnemonicia tai siemenavainta",
87
- "CANT_FIND_KEYRINGPAIR": "Avainta ei löydy {{osoite}}",
87
+ "CANT_FIND_KEYRINGPAIR": "Avainta ei löydy {{address}}",
88
88
  "ENVIRONMENT_NOT_READY": "Ympäristö ei ole valmis",
89
89
  "INVALID_SIGNATURE": "Virheellinen allekirjoitus",
90
90
  "SITE_KEY_MISSING": "Sivuston avain puuttuu",