@prosopo/locale 3.6.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.
- package/.turbo/turbo-build$colon$cjs.log +3 -3
- package/.turbo/turbo-build$colon$tsc.log +6 -6
- package/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +7 -0
- package/dist/locales/fi/translation.json +1 -1
- package/dist/locales/hi/translation.json +406 -406
- package/dist/locales/nl/translation.json +1 -1
- package/dist/tests/localePlaceholders.unit.test.d.ts +2 -0
- package/dist/tests/localePlaceholders.unit.test.d.ts.map +1 -0
- package/dist/tests/localePlaceholders.unit.test.js +35 -0
- package/dist/tests/localePlaceholders.unit.test.js.map +1 -0
- package/package.json +3 -3
- package/src/locales/fi/translation.json +1 -1
- package/src/locales/hi/translation.json +406 -406
- package/src/locales/nl/translation.json +1 -1
- package/src/tests/localePlaceholders.unit.test.ts +81 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"JSON_LOAD_FAILED": "Laden van JSON-bestand mislukt",
|
|
6
6
|
"MNEMONIC_UNDEFINED": "Mnemonic Undefined. Stel de mnemonic in omgevingsvariabelen in",
|
|
7
7
|
"NO_MNEMONIC_OR_SEED": "Geen mnemonic of seed opgegeven",
|
|
8
|
-
"CANT_FIND_KEYRINGPAIR": "Kan het sleutelhangerpaar niet vinden voor {{
|
|
8
|
+
"CANT_FIND_KEYRINGPAIR": "Kan het sleutelhangerpaar niet vinden voor {{address}}",
|
|
9
9
|
"ENVIRONMENT_NOT_READY": "Omgeving is niet gereed",
|
|
10
10
|
"INVALID_SIGNATURE": "Ongeldige handtekening",
|
|
11
11
|
"SITE_KEY_MISSING": "SITE KEY ontbreekt",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localePlaceholders.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/localePlaceholders.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { Languages } from "../index.js";
|
|
5
|
+
const readLocale = (locale) => JSON.parse(fs.readFileSync(path.resolve(`./src/locales/${locale}/translation.json`), "utf8"));
|
|
6
|
+
const flatten = (tree, prefix = "") => Object.entries(tree).flatMap(([key, value]) => typeof value === "string"
|
|
7
|
+
? [[`${prefix}${key}`, value]]
|
|
8
|
+
: flatten(value, `${prefix}${key}.`));
|
|
9
|
+
const placeholders = (text) => (text.match(/\{\{[^}]*\}\}/g) ?? [])
|
|
10
|
+
.map((token) => token.replace(/\s+/g, ""))
|
|
11
|
+
.sort();
|
|
12
|
+
const en = new Map(flatten(readLocale("en")));
|
|
13
|
+
const locales = Object.values(Languages).filter((locale) => locale !== "en");
|
|
14
|
+
describe("locale interpolation placeholders", () => {
|
|
15
|
+
it.each(locales)("%s keeps every {{placeholder}} of the en source", (locale) => {
|
|
16
|
+
const mismatches = flatten(readLocale(locale))
|
|
17
|
+
.filter(([key, value]) => en.has(key) &&
|
|
18
|
+
placeholders(value).join() !==
|
|
19
|
+
placeholders(en.get(key) ?? "").join())
|
|
20
|
+
.map(([key, value]) => `${key}: ${value}`);
|
|
21
|
+
expect(mismatches).toEqual([]);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe("hi translations", () => {
|
|
25
|
+
it("keep their Devanagari vowel signs", () => {
|
|
26
|
+
const devanagariLetter = /[ऄ-हक़-ॡ]/gu;
|
|
27
|
+
const sign = /[ऀ-ःऺ-ॏॕ-ॗॢॣ]/u;
|
|
28
|
+
const stripped = flatten(readLocale("hi"))
|
|
29
|
+
.filter(([, value]) => (value.match(devanagariLetter) ?? []).length >= 4 &&
|
|
30
|
+
!sign.test(value))
|
|
31
|
+
.map(([key, value]) => `${key}: ${value}`);
|
|
32
|
+
expect(stripped).toEqual([]);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=localePlaceholders.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localePlaceholders.unit.test.js","sourceRoot":"","sources":["../../src/tests/localePlaceholders.unit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/locale",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.1",
|
|
4
4
|
"description": "Prosopo locale library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"author": "Prosopo Limited",
|
|
33
33
|
"license": "Apache-2.0",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@prosopo/util": "3.3.
|
|
35
|
+
"@prosopo/util": "3.3.12",
|
|
36
36
|
"i18next": "26.4.2",
|
|
37
37
|
"i18next-fs-backend": "2.6.8",
|
|
38
38
|
"i18next-http-middleware": "3.9.9"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@prosopo/config": "3.4.
|
|
41
|
+
"@prosopo/config": "3.4.2",
|
|
42
42
|
"@types/node": "22.10.2",
|
|
43
43
|
"@vitest/coverage-v8": "4.1.11",
|
|
44
44
|
"concurrently": "9.0.1",
|
|
@@ -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 {{
|
|
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",
|