smartloc 1.2.1 → 2.0.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/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc +111 -0
- package/.vscode/launch.json +65 -0
- package/.vscode/settings.json +14 -0
- package/.vscode/tasks.json +27 -0
- package/README.md +225 -0
- package/build/README.md +225 -0
- package/build/package.json +60 -0
- package/bun.lock +310 -0
- package/index.js +1 -26
- package/package.json +17 -18
- package/samples/express/main.ts +37 -0
- package/samples/express/package.json +10 -0
- package/samples/graphql/main.ts +73 -0
- package/samples/graphql/package.json +15 -0
- package/src/adapters/adapter-base.ts +58 -0
- package/src/adapters/index.ts +31 -0
- package/src/adapters/json.ts +18 -0
- package/src/adapters/xliff.ts +30 -0
- package/src/cli/cli.ts +137 -0
- package/src/cli/collect.ts +196 -0
- package/src/cli/interfaces.ts +7 -0
- package/src/cli/reconciliate.ts +119 -0
- package/src/cli/utils.ts +36 -0
- package/src/core/default-locale.tsx +54 -0
- package/src/core/interfaces.ts +49 -0
- package/{core/json-utils.js → src/core/json-utils.ts} +45 -34
- package/src/core/literal.ts +66 -0
- package/src/core/load.ts +82 -0
- package/src/core/locale-list.ts +128 -0
- package/src/core/locale.tsx +75 -0
- package/src/core/smartloc.tsx +338 -0
- package/src/core/tag.ts +40 -0
- package/src/core/utils.tsx +24 -0
- package/src/express.ts +93 -0
- package/{graphql.js → src/graphql.ts} +80 -68
- package/src/index.ts +7 -0
- package/src/node/index.ts +1 -0
- package/src/node/load.ts +32 -0
- package/test/collect.spec.ts +45 -0
- package/test/reconciliation.spec.ts +132 -0
- package/test/serialization.spec.ts +162 -0
- package/test/translation.spec.ts +61 -0
- package/tsconfig.json +37 -0
- package/tslint.json +103 -0
- package/adapters/adapter-base.d.ts +0 -10
- package/adapters/adapter-base.js +0 -46
- package/adapters/adapter-base.js.map +0 -1
- package/adapters/index.d.ts +0 -3
- package/adapters/index.js +0 -33
- package/adapters/index.js.map +0 -1
- package/adapters/json.d.ts +0 -6
- package/adapters/json.js +0 -22
- package/adapters/json.js.map +0 -1
- package/adapters/xliff.d.ts +0 -6
- package/adapters/xliff.js +0 -32
- package/adapters/xliff.js.map +0 -1
- package/cli/cli.d.ts +0 -2
- package/cli/cli.js +0 -128
- package/cli/cli.js.map +0 -1
- package/cli/collect.d.ts +0 -12
- package/cli/collect.js +0 -151
- package/cli/collect.js.map +0 -1
- package/cli/interfaces.d.ts +0 -25
- package/cli/interfaces.js +0 -3
- package/cli/interfaces.js.map +0 -1
- package/cli/reconciliate.d.ts +0 -6
- package/cli/reconciliate.js +0 -108
- package/cli/reconciliate.js.map +0 -1
- package/cli/utils.d.ts +0 -7
- package/cli/utils.js +0 -54
- package/cli/utils.js.map +0 -1
- package/core/base-loc.d.ts +0 -3
- package/core/base-loc.js +0 -20
- package/core/base-loc.js.map +0 -1
- package/core/default-locale.d.ts +0 -8
- package/core/default-locale.js +0 -42
- package/core/default-locale.js.map +0 -1
- package/core/interfaces.d.ts +0 -32
- package/core/interfaces.js +0 -3
- package/core/interfaces.js.map +0 -1
- package/core/json-utils.d.ts +0 -19
- package/core/json-utils.js.map +0 -1
- package/core/literal.d.ts +0 -9
- package/core/literal.js +0 -52
- package/core/literal.js.map +0 -1
- package/core/locale-list.d.ts +0 -19
- package/core/locale-list.js +0 -84
- package/core/locale-list.js.map +0 -1
- package/core/locale.d.ts +0 -13
- package/core/locale.js +0 -34
- package/core/locale.js.map +0 -1
- package/core/locstr-array.d.ts +0 -10
- package/core/locstr-array.js +0 -48
- package/core/locstr-array.js.map +0 -1
- package/core/smartloc.d.ts +0 -64
- package/core/smartloc.js +0 -222
- package/core/smartloc.js.map +0 -1
- package/core/tag.d.ts +0 -5
- package/core/tag.js +0 -17
- package/core/tag.js.map +0 -1
- package/core/utils.d.ts +0 -1
- package/core/utils.js +0 -13
- package/core/utils.js.map +0 -1
- package/express.d.ts +0 -12
- package/express.js +0 -85
- package/express.js.map +0 -1
- package/graphql.d.ts +0 -12
- package/graphql.js.map +0 -1
- package/index.d.ts +0 -7
- package/index.js.map +0 -1
- package/node/index.d.ts +0 -1
- package/node/index.js +0 -14
- package/node/index.js.map +0 -1
- package/node/load.d.ts +0 -12
- package/node/load.js +0 -44
- package/node/load.js.map +0 -1
package/cli/collect.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.collectFromSource = exports.collect = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const gitignore_parser_1 = __importDefault(require("gitignore-parser"));
|
|
10
|
-
const utils_1 = require("../core/utils");
|
|
11
|
-
const util_1 = __importDefault(require("util"));
|
|
12
|
-
function collect(source, forceLocale) {
|
|
13
|
-
source = source
|
|
14
|
-
? path_1.default.join(process.cwd(), source)
|
|
15
|
-
: process.cwd();
|
|
16
|
-
// parse gitignore
|
|
17
|
-
// todo: parse .gitignore files in nested directories.
|
|
18
|
-
let ignore;
|
|
19
|
-
const gitIgnorePath = path_1.default.join(source, '.gitignore');
|
|
20
|
-
if (fs_1.default.existsSync(gitIgnorePath)) {
|
|
21
|
-
const content = fs_1.default.readFileSync(gitIgnorePath, 'utf8');
|
|
22
|
-
ignore = gitignore_parser_1.default.compile(content);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
ignore = gitignore_parser_1.default.compile('');
|
|
26
|
-
}
|
|
27
|
-
function* walk(dirRelative) {
|
|
28
|
-
try {
|
|
29
|
-
const files = fs_1.default.readdirSync(path_1.default.join(source, dirRelative));
|
|
30
|
-
for (const file of files) {
|
|
31
|
-
const filepath = path_1.default.join(source, dirRelative, file);
|
|
32
|
-
const fileRelative = path_1.default.join(dirRelative, file);
|
|
33
|
-
if (ignore.denies(fileRelative)) {
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
const stats = fs_1.default.statSync(filepath);
|
|
37
|
-
if (stats.isDirectory()) {
|
|
38
|
-
yield* walk(fileRelative);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
if (ignore.accepts(fileRelative)) {
|
|
42
|
-
yield fileRelative;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
console.error('Failed to read directory ' + dirRelative);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
const ids = new Map();
|
|
52
|
-
const all = [];
|
|
53
|
-
let defaultLocale;
|
|
54
|
-
let fcount = 0;
|
|
55
|
-
for (const f of walk('')) {
|
|
56
|
-
const ext = f.toLowerCase();
|
|
57
|
-
if (!ext.endsWith('.js') && !ext.endsWith('.ts') && !ext.endsWith('.jsx') && !ext.endsWith('.tsx')) {
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
fcount++;
|
|
61
|
-
try {
|
|
62
|
-
const content = fs_1.default.readFileSync(path_1.default.join(source, f), 'utf8');
|
|
63
|
-
// === try to find setDefaultLocale()
|
|
64
|
-
if (!forceLocale) {
|
|
65
|
-
const defLoc = /\bsetDefaultLocale\s*\(\s*('|")([a-zA-Z\-]+)('|")\s*\)/.exec(content);
|
|
66
|
-
const newDefLoc = defLoc === null || defLoc === void 0 ? void 0 : defLoc[2];
|
|
67
|
-
if (newDefLoc) {
|
|
68
|
-
if (defaultLocale && defaultLocale.val !== newDefLoc) {
|
|
69
|
-
console.error(`Ambiguous default locale. Found '${newDefLoc}' in ${f}, but was defined already defined as '${defaultLocale.val}' in ${defaultLocale.file}. Please use --locale:${defaultLocale.val}`);
|
|
70
|
-
}
|
|
71
|
-
defaultLocale = {
|
|
72
|
-
file: f,
|
|
73
|
-
val: newDefLoc,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
collectFromSource(content, ids, all, f);
|
|
78
|
-
}
|
|
79
|
-
catch (e) {
|
|
80
|
-
console.error('Failed to read file ' + f + ': ' + util_1.default.inspect(e));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// === WRITE RESULT ===
|
|
84
|
-
const result = {};
|
|
85
|
-
for (const v of all) {
|
|
86
|
-
result[v.id] = {
|
|
87
|
-
target: v.source,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
const targetLanguage = (defaultLocale === null || defaultLocale === void 0 ? void 0 : defaultLocale.val) || forceLocale;
|
|
91
|
-
if (!targetLanguage) {
|
|
92
|
-
console.error('Cannot infer the default locale. Either call setDefaultLocale() in analyzed sources, or set the --defaultLocale argument');
|
|
93
|
-
process.exit(1);
|
|
94
|
-
}
|
|
95
|
-
const collected = {
|
|
96
|
-
resources: result,
|
|
97
|
-
targetLanguage,
|
|
98
|
-
};
|
|
99
|
-
return { collected, files: fcount };
|
|
100
|
-
}
|
|
101
|
-
exports.collect = collect;
|
|
102
|
-
function collectFromSource(content, ids, all, f) {
|
|
103
|
-
// === parse loc() calls
|
|
104
|
-
const re = /\bloc\s*(\(\s*('|")([a-zA-Z0-9\-_\s\.]+)('|")\s*(?:,\s*)?\))?\s*`([^`]*)`/g;
|
|
105
|
-
let m;
|
|
106
|
-
while (m = re.exec(content)) {
|
|
107
|
-
let id = m[3];
|
|
108
|
-
const val = m[5];
|
|
109
|
-
// parse format
|
|
110
|
-
const reFormat = /\$\{([^\}]+)\}/g;
|
|
111
|
-
let fm;
|
|
112
|
-
let index = 0;
|
|
113
|
-
let cnt = 0;
|
|
114
|
-
const parts = [];
|
|
115
|
-
const idParts = id ? null : [];
|
|
116
|
-
while (fm = reFormat.exec(val)) {
|
|
117
|
-
const literal = val.substr(index, fm.index - index);
|
|
118
|
-
parts.push(literal);
|
|
119
|
-
idParts === null || idParts === void 0 ? void 0 : idParts.push(literal);
|
|
120
|
-
index = fm.index + fm[0].length;
|
|
121
|
-
parts.push('{', cnt.toString(), '}');
|
|
122
|
-
cnt++;
|
|
123
|
-
}
|
|
124
|
-
// add trailing
|
|
125
|
-
idParts === null || idParts === void 0 ? void 0 : idParts.push(val.substr(index));
|
|
126
|
-
parts.push(val.substr(index));
|
|
127
|
-
const raw = parts.join('');
|
|
128
|
-
id = id || utils_1.autoGenerateId(idParts);
|
|
129
|
-
const exists = ids.get(id);
|
|
130
|
-
// check no dupplicate
|
|
131
|
-
if (exists && exists.source !== raw) {
|
|
132
|
-
if (f === exists.file) {
|
|
133
|
-
console.error(`Duplicate translation id '${id}' found in ${f} but was already defined in ${exists.file}`);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
console.error(`Duplicate translation id '${id}' found in ${f}`);
|
|
137
|
-
}
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
const found = {
|
|
141
|
-
file: f,
|
|
142
|
-
id,
|
|
143
|
-
line: 0,
|
|
144
|
-
source: raw,
|
|
145
|
-
};
|
|
146
|
-
all.push(found);
|
|
147
|
-
ids.set(id, found);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
exports.collectFromSource = collectFromSource;
|
|
151
|
-
//# sourceMappingURL=collect.js.map
|
package/cli/collect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/cli/collect.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,wEAAwC;AAExC,yCAA+C;AAC/C,gDAAwB;AAQxB,SAAgB,OAAO,CAAC,MAAc,EAAE,WAAoB;IACxD,MAAM,GAAG,MAAM;QACX,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACpB,kBAAkB;IAClB,sDAAsD;IACtD,IAAI,MAA0E,CAAC;IAC/E,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtD,IAAI,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QAC9B,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,0BAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACtC;SAAM;QACH,MAAM,GAAG,0BAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACjC;IAGD,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAmB;QAC9B,IAAI;YACA,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBACtD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;oBAC7B,SAAS;iBACZ;gBACD,MAAM,KAAK,GAAG,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;oBACrB,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC7B;qBAAM;oBACH,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;wBAC9B,MAAM,YAAY,CAAC;qBACtB;iBACJ;aACJ;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,WAAW,CAAC,CAAC;SAC5D;IACL,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAe,CAAC;IACnC,MAAM,GAAG,GAAU,EAAE,CAAC;IACtB,IAAI,aAA6C,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChG,SAAS;SACZ;QACD,MAAM,EAAE,CAAC;QACT,IAAI;YACA,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAE9D,qCAAqC;YACrC,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,MAAM,GAAG,wDAAwD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;gBAC9B,IAAI,SAAS,EAAE;oBACX,IAAI,aAAa,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE;wBAClD,OAAO,CAAC,KAAK,CAAC,oCAAoC,SAAS,QAAQ,CAAC,yCAAyC,aAAa,CAAC,GAAG,QAAQ,aAAa,CAAC,IAAI,yBAAyB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAA;qBACxM;oBACD,aAAa,GAAG;wBACZ,IAAI,EAAE,CAAC;wBACP,GAAG,EAAE,SAAS;qBACjB,CAAC;iBACL;aACJ;YAED,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SAE3C;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE;KACJ;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;QACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;YACX,MAAM,EAAE,CAAC,CAAC,MAAM;SACnB,CAAC;KACL;IAED,MAAM,cAAc,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,KAAI,WAAW,CAAC;IACzD,IAAI,CAAC,cAAc,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,0HAA0H,CAAC,CAAC;QAC1I,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IACD,MAAM,SAAS,GAAG;QACd,SAAS,EAAE,MAAM;QACjB,cAAc;KACjB,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AA5FD,0BA4FC;AAGD,SAAgB,iBAAiB,CAAC,OAAe,EAAE,GAAqB,EAAE,GAAU,EAAE,CAAU;IAG5F,wBAAwB;IACxB,MAAM,EAAE,GAAG,4EAA4E,CAAC;IACxF,IAAI,CAAkB,CAAC;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjB,eAAe;QACf,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QACnC,IAAI,EAAmB,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,OAAO,EAAE;YACvB,KAAK,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YACrC,GAAG,EAAE,CAAC;SACT;QACD,eAAe;QACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAG9B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,EAAE,GAAG,EAAE,IAAI,sBAAc,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,sBAAsB;QACtB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACjC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,cAAc,CAAC,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7G;iBAAM;gBACH,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;aACnE;YACD,SAAS;SACZ;QAGD,MAAM,KAAK,GAAQ;YACf,IAAI,EAAE,CAAC;YACP,EAAE;YACF,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,GAAG;SACd,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KACtB;AACL,CAAC;AArDD,8CAqDC"}
|
package/cli/interfaces.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface IFormatAdapter {
|
|
2
|
-
write(data: Translation): Promise<void>;
|
|
3
|
-
loadLocales(locales: string[]): Promise<Translation[]>;
|
|
4
|
-
loadFile(path: string): Promise<Translation>;
|
|
5
|
-
}
|
|
6
|
-
export interface CollectItem {
|
|
7
|
-
source?: string;
|
|
8
|
-
target?: string;
|
|
9
|
-
dirty?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface CollectResult {
|
|
12
|
-
[id: string]: CollectItem;
|
|
13
|
-
}
|
|
14
|
-
export interface Translation {
|
|
15
|
-
resources: CollectResult;
|
|
16
|
-
sourceLanguage?: string;
|
|
17
|
-
targetLanguage: string;
|
|
18
|
-
}
|
|
19
|
-
export interface GroupedTranslation {
|
|
20
|
-
resources: {
|
|
21
|
-
[namespace: string]: CollectResult;
|
|
22
|
-
};
|
|
23
|
-
sourceLanguage?: string;
|
|
24
|
-
targetLanguage: string;
|
|
25
|
-
}
|
package/cli/interfaces.js
DELETED
package/cli/interfaces.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/cli/interfaces.ts"],"names":[],"mappings":""}
|
package/cli/reconciliate.d.ts
DELETED
package/cli/reconciliate.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.reconciliate = void 0;
|
|
7
|
-
const js_levenshtein_1 = __importDefault(require("js-levenshtein"));
|
|
8
|
-
const diacritics_1 = __importDefault(require("diacritics"));
|
|
9
|
-
const cache = {};
|
|
10
|
-
function clean(str) {
|
|
11
|
-
if (cache[str]) {
|
|
12
|
-
return cache[str];
|
|
13
|
-
}
|
|
14
|
-
return cache[str] = diacritics_1.default.remove(str.toLowerCase().trim());
|
|
15
|
-
}
|
|
16
|
-
function reconciliate(trans, def) {
|
|
17
|
-
// source is the new one
|
|
18
|
-
trans.sourceLanguage = def.targetLanguage;
|
|
19
|
-
// stores which translations do not exist in code anymore
|
|
20
|
-
const translatedLost = {};
|
|
21
|
-
function updateWithOrig(translated, origId, orig) {
|
|
22
|
-
if (translated.source && translated.source !== orig.target) {
|
|
23
|
-
translated.dirty = true;
|
|
24
|
-
}
|
|
25
|
-
translated.source = orig.target;
|
|
26
|
-
trans.resources[origId] = translated;
|
|
27
|
-
// remove it from 'def'
|
|
28
|
-
delete def.resources[origId];
|
|
29
|
-
}
|
|
30
|
-
// update source lines
|
|
31
|
-
for (const [id, value] of Object.entries(trans.resources)) {
|
|
32
|
-
const d = def.resources[id];
|
|
33
|
-
if (d) {
|
|
34
|
-
// already exists => update
|
|
35
|
-
updateWithOrig(value, id, d);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
// does not exist anymore => remove, but keep in mind.
|
|
39
|
-
delete trans.resources[id];
|
|
40
|
-
if (value.source) {
|
|
41
|
-
translatedLost[clean(value.source)] = value;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// for each NEW translations missing
|
|
46
|
-
// try to reconciliate with those which have changed id, but still same translation.
|
|
47
|
-
for (const [id, value] of Object.entries(def.resources)) {
|
|
48
|
-
const cleanTarget = clean(value.target);
|
|
49
|
-
if (translatedLost[cleanTarget]) {
|
|
50
|
-
updateWithOrig(translatedLost[cleanTarget], id, value);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// try to reconciliate with strings that look alike
|
|
54
|
-
// nb: avoid doing that when too much deleted translations: Levenshtein distance computation is expensive
|
|
55
|
-
const lostKeys = Object.keys(translatedLost);
|
|
56
|
-
if (Object.keys(def.resources).length * lostKeys.length < 5000 && lostKeys.length > 0) {
|
|
57
|
-
const reconc = [];
|
|
58
|
-
for (const lk of lostKeys) {
|
|
59
|
-
reconc.push(...Object.entries(def.resources)
|
|
60
|
-
.map(([id, orig]) => {
|
|
61
|
-
// distance between the lost source & the new source
|
|
62
|
-
const distance = js_levenshtein_1.default(lk, clean(orig.target));
|
|
63
|
-
return {
|
|
64
|
-
origId: id,
|
|
65
|
-
orig,
|
|
66
|
-
translatedLostSource: lk,
|
|
67
|
-
distance: distance,
|
|
68
|
-
};
|
|
69
|
-
})
|
|
70
|
-
// forbids to much change
|
|
71
|
-
.filter(x => x.distance < lk.length / 1.5));
|
|
72
|
-
}
|
|
73
|
-
reconc.sort((a, b) => a.distance - b.distance);
|
|
74
|
-
const done = new Set();
|
|
75
|
-
for (const d of reconc) {
|
|
76
|
-
if (done.has(d.origId)) {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
done.add(d.origId);
|
|
80
|
-
updateWithOrig(translatedLost[d.translatedLostSource], d.origId, d.orig);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// finally, add new translations...
|
|
84
|
-
for (const [id, value] of Object.entries(def.resources)) {
|
|
85
|
-
trans.resources[id] = {
|
|
86
|
-
source: value.target,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
// try to reconciliate
|
|
90
|
-
// count things
|
|
91
|
-
let missing = 0;
|
|
92
|
-
const same = [];
|
|
93
|
-
let dirty = 0;
|
|
94
|
-
for (const [k, c] of Object.entries(trans.resources)) {
|
|
95
|
-
if (!c.target) {
|
|
96
|
-
missing++;
|
|
97
|
-
}
|
|
98
|
-
else if (c.target === c.source) {
|
|
99
|
-
same.push(k);
|
|
100
|
-
}
|
|
101
|
-
if (c.dirty) {
|
|
102
|
-
dirty++;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return { missing, same, dirty };
|
|
106
|
-
}
|
|
107
|
-
exports.reconciliate = reconciliate;
|
|
108
|
-
//# sourceMappingURL=reconciliate.js.map
|
package/cli/reconciliate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reconciliate.js","sourceRoot":"","sources":["../../src/cli/reconciliate.ts"],"names":[],"mappings":"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"}
|
package/cli/utils.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Translation, CollectResult, GroupedTranslation } from './interfaces';
|
|
2
|
-
export declare function groupByNamespace(trans: CollectResult): {
|
|
3
|
-
[namespace: string]: CollectResult;
|
|
4
|
-
};
|
|
5
|
-
export declare function toGroupedTranslation(translation: Translation): GroupedTranslation;
|
|
6
|
-
export declare function ungroupTranslation(translation: GroupedTranslation): Translation;
|
|
7
|
-
export declare function getLocaleCode(locale: string): string;
|
package/cli/utils.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLocaleCode = exports.ungroupTranslation = exports.toGroupedTranslation = exports.groupByNamespace = void 0;
|
|
4
|
-
function groupByNamespace(trans) {
|
|
5
|
-
const result = {};
|
|
6
|
-
for (let [id, v] of Object.entries(trans)) {
|
|
7
|
-
let namespace = '$default';
|
|
8
|
-
const i = id.indexOf('.');
|
|
9
|
-
if (i > 0 && i < id.length - 2) {
|
|
10
|
-
namespace = id.substr(0, i);
|
|
11
|
-
id = id.substr(i + 1);
|
|
12
|
-
}
|
|
13
|
-
if (!result[namespace]) {
|
|
14
|
-
result[namespace] = {};
|
|
15
|
-
}
|
|
16
|
-
result[namespace][id] = v;
|
|
17
|
-
}
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
exports.groupByNamespace = groupByNamespace;
|
|
21
|
-
function toGroupedTranslation(translation) {
|
|
22
|
-
const data = {
|
|
23
|
-
resources: groupByNamespace(translation.resources),
|
|
24
|
-
sourceLanguage: translation.sourceLanguage,
|
|
25
|
-
targetLanguage: translation.targetLanguage,
|
|
26
|
-
};
|
|
27
|
-
return data;
|
|
28
|
-
}
|
|
29
|
-
exports.toGroupedTranslation = toGroupedTranslation;
|
|
30
|
-
function ungroupTranslation(translation) {
|
|
31
|
-
const result = {
|
|
32
|
-
targetLanguage: translation.targetLanguage,
|
|
33
|
-
sourceLanguage: translation.sourceLanguage,
|
|
34
|
-
resources: {},
|
|
35
|
-
};
|
|
36
|
-
for (const [namespace, data] of Object.entries(translation.resources)) {
|
|
37
|
-
for (const [id, val] of Object.entries(data)) {
|
|
38
|
-
if (namespace === '$default') {
|
|
39
|
-
result.resources[id] = val;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
result.resources[`${namespace}.${id}`] = val;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
exports.ungroupTranslation = ungroupTranslation;
|
|
49
|
-
function getLocaleCode(locale) {
|
|
50
|
-
var _a;
|
|
51
|
-
return locale && ((_a = /^[a-z]+/.exec(locale.toLowerCase())) === null || _a === void 0 ? void 0 : _a[0]);
|
|
52
|
-
}
|
|
53
|
-
exports.getLocaleCode = getLocaleCode;
|
|
54
|
-
//# sourceMappingURL=utils.js.map
|
package/cli/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,KAAoB;IACjD,MAAM,MAAM,GAAyC,EAAE,CAAC;IACxD,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvC,IAAI,SAAS,GAAG,UAAU,CAAC;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACpB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SAC1B;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;KAC7B;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAfD,4CAeC;AAED,SAAgB,oBAAoB,CAAC,WAAwB;IACzD,MAAM,IAAI,GAAG;QACT,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC;QAClD,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,cAAc,EAAE,WAAW,CAAC,cAAc;KAC7C,CAAC;IACF,OAAO,IAAI,CAAC;AAChB,CAAC;AAPD,oDAOC;AAED,SAAgB,kBAAkB,CAAC,WAA+B;IAC9D,MAAM,MAAM,GAAgB;QACxB,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,SAAS,EAAE,EAAE;KAChB,CAAC;IACF,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;QACnE,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,SAAS,KAAK,UAAU,EAAE;gBAC1B,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;aAC9B;iBAAM;gBACH,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;aAChD;SACJ;KACJ;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAhBD,gDAgBC;AAED,SAAgB,aAAa,CAAC,MAAc;;IACxC,OAAO,MAAM,WAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,0CAAG,CAAC,EAAC,CAAC;AAC/D,CAAC;AAFD,sCAEC"}
|
package/core/base-loc.d.ts
DELETED
package/core/base-loc.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseLoc = void 0;
|
|
4
|
-
let baseClass = class {
|
|
5
|
-
};
|
|
6
|
-
try {
|
|
7
|
-
const component = require('react').Component;
|
|
8
|
-
if (component) {
|
|
9
|
-
baseClass = class extends component {
|
|
10
|
-
render() {
|
|
11
|
-
return this.toString();
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
catch (e) {
|
|
17
|
-
// nop
|
|
18
|
-
}
|
|
19
|
-
exports.BaseLoc = baseClass;
|
|
20
|
-
//# sourceMappingURL=base-loc.js.map
|
package/core/base-loc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-loc.js","sourceRoot":"","sources":["../../src/core/base-loc.ts"],"names":[],"mappings":";;;AAAA,IAAI,SAAS,GAAG;CAAS,CAAC;AAC1B,IAAI;IACA,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAC7C,IAAI,SAAS,EAAE;QACX,SAAS,GAAG,KAAM,SAAQ,SAAS;YAC/B,MAAM;gBACF,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,CAAC;SACJ,CAAA;KAEJ;CACJ;AAAC,OAAO,CAAC,EAAE;IACR,MAAM;CACT;AAEY,QAAA,OAAO,GAAG,SAAS,CAAC"}
|
package/core/default-locale.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ILocaleDef, LocLiteral, ILiteralLocalizer } from './interfaces';
|
|
2
|
-
export declare class DefaultLocale implements ILocaleDef {
|
|
3
|
-
readonly id: string;
|
|
4
|
-
readonly literals: ILiteralLocalizer;
|
|
5
|
-
readonly code: string;
|
|
6
|
-
constructor(id: string);
|
|
7
|
-
localize(id: string, parts: TemplateStringsArray, placeholders: LocLiteral[]): string;
|
|
8
|
-
}
|
package/core/default-locale.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DefaultLocale = void 0;
|
|
4
|
-
const literal_1 = require("./literal");
|
|
5
|
-
const utils_1 = require("../cli/utils");
|
|
6
|
-
const locale_list_1 = require("./locale-list");
|
|
7
|
-
const utils_2 = require("./utils");
|
|
8
|
-
const emptyStringAutoId = utils_2.autoGenerateId([]);
|
|
9
|
-
class DefaultLocale {
|
|
10
|
-
constructor(id) {
|
|
11
|
-
this.id = id;
|
|
12
|
-
this.literals = new literal_1.LiteralLocalizer(this);
|
|
13
|
-
this.code = utils_1.getLocaleCode(id);
|
|
14
|
-
}
|
|
15
|
-
localize(id, parts, placeholders) {
|
|
16
|
-
const existing = locale_list_1.getLocale(this.id);
|
|
17
|
-
if (existing) {
|
|
18
|
-
const exist = existing.localize(id, parts, placeholders);
|
|
19
|
-
if (exist) {
|
|
20
|
-
return exist;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (!parts || !placeholders) {
|
|
24
|
-
// special case for empty string, which could not be translated.
|
|
25
|
-
if (id === emptyStringAutoId) {
|
|
26
|
-
return '';
|
|
27
|
-
}
|
|
28
|
-
throw new Error(`The smartloc string "${id}" cannot be translated to your default locale. It is likely that is has been deserialized. In order to support deserialized strings, you MUST load your default locale as a classic locale. nb: To generate your default locale translation file through smartloc CLI, use --generateDefault option`);
|
|
29
|
-
}
|
|
30
|
-
const result = [];
|
|
31
|
-
// interleave the literals with the placeholders
|
|
32
|
-
for (let i = 0; i < placeholders.length; i++) {
|
|
33
|
-
result.push(parts[i]);
|
|
34
|
-
result.push(this.literals.localize(placeholders[i]));
|
|
35
|
-
}
|
|
36
|
-
// add the last literal
|
|
37
|
-
result.push(parts[parts.length - 1]);
|
|
38
|
-
return result.join('');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.DefaultLocale = DefaultLocale;
|
|
42
|
-
//# sourceMappingURL=default-locale.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-locale.js","sourceRoot":"","sources":["../../src/core/default-locale.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAC7C,wCAA6C;AAC7C,+CAA0C;AAC1C,mCAAyC;AAEzC,MAAM,iBAAiB,GAAG,sBAAc,CAAC,EAAE,CAAC,CAAC;AAC7C,MAAa,aAAa;IAKtB,YAAqB,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,qBAAa,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,KAA2B,EAAE,YAA0B;QACxE,MAAM,QAAQ,GAAG,uBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,QAAQ,EAAE;YACV,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE;gBACP,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;YACzB,gEAAgE;YAChE,IAAI,EAAE,KAAK,iBAAiB,EAAE;gBAC1B,OAAO,EAAE,CAAC;aACb;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,qSAAqS,CAAC,CAAA;SACnV;QACD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,gDAAgD;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxD;QAED,uBAAuB;QACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACJ;AAtCD,sCAsCC"}
|
package/core/interfaces.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import moment from 'moment';
|
|
2
|
-
export interface LocStr {
|
|
3
|
-
readonly id: string;
|
|
4
|
-
/**
|
|
5
|
-
* Localizes this string. To be used within a @see withLocales scope to have an actual translation.
|
|
6
|
-
*/
|
|
7
|
-
toString(locale?: string | ILocaleDef): string;
|
|
8
|
-
toJSON(): any;
|
|
9
|
-
/** Apply a transformation to the final translated text */
|
|
10
|
-
transform(transformer: (x: string) => string): LocStr;
|
|
11
|
-
}
|
|
12
|
-
export declare type LocLiteral = string | number | Date | moment.Moment | moment.Duration | LocStr;
|
|
13
|
-
export interface ILiteralLocalizer {
|
|
14
|
-
localize(data: LocLiteral): string;
|
|
15
|
-
}
|
|
16
|
-
export interface ILocaleDef {
|
|
17
|
-
readonly id: string;
|
|
18
|
-
readonly code: string;
|
|
19
|
-
readonly literals: ILiteralLocalizer;
|
|
20
|
-
localize(id: string, parts: TemplateStringsArray, placeholders: LocLiteral[]): string;
|
|
21
|
-
}
|
|
22
|
-
export declare type TranslationOf<T> = T extends LocStr ? string : T extends Object ? {
|
|
23
|
-
[K in keyof T]: TranslationOf<T[K]>;
|
|
24
|
-
} : T extends (infer E)[] ? TranslationOf<E>[] : T;
|
|
25
|
-
export declare type StorableOf<T> = T extends LocStr ? (string | {
|
|
26
|
-
[key: string]: string;
|
|
27
|
-
} | {
|
|
28
|
-
i18n: string;
|
|
29
|
-
data: any[];
|
|
30
|
-
}) : T extends Object ? {
|
|
31
|
-
[K in keyof T]: StorableOf<T[K]>;
|
|
32
|
-
} : T extends (infer E)[] ? StorableOf<E>[] : T;
|
package/core/interfaces.js
DELETED
package/core/interfaces.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/core/interfaces.ts"],"names":[],"mappings":""}
|
package/core/json-utils.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { SerializationContextOptions } from './smartloc';
|
|
2
|
-
import { TranslationOf, StorableOf } from './interfaces';
|
|
3
|
-
/**
|
|
4
|
-
* Parse a JSON string where localized strings have been serialized in their non translated form
|
|
5
|
-
*/
|
|
6
|
-
export declare function jsonParseLocalized(value: string): any;
|
|
7
|
-
/**
|
|
8
|
-
* Transforms an object that has been deserialized from a non translated from to an object that is translatable
|
|
9
|
-
*/
|
|
10
|
-
export declare function toLocalizable(value: any): any;
|
|
11
|
-
/**
|
|
12
|
-
* Transforms an object so it can be stored with localized strings in their non translated form
|
|
13
|
-
* @returns Either a new copy of your object, or your object (if had no smarloc strings in it)
|
|
14
|
-
*/
|
|
15
|
-
export declare function toJsonStorable<T>(value: T, options?: SerializationContextOptions): StorableOf<T>;
|
|
16
|
-
/** Translates an object to the given language */
|
|
17
|
-
export declare function translateObject<T>(locales: string | string[], object: T): TranslationOf<T>;
|
|
18
|
-
/** Translates an object according to the current context (call this when wrapped in withSerializationContext() or withLocales()) */
|
|
19
|
-
export declare function translateInContext(object: any): any;
|
package/core/json-utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../src/core/json-utils.ts"],"names":[],"mappings":";;;;;;AAAA,yCAA+H;AAC/H,oDAA4B;AAC5B,uCAAqC;AAGrC;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAHD,gDAGC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAU;IACpC,OAAO,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAFD,sCAEC;AACD,SAAS,cAAc,CAAC,KAAU,EAAE,KAAa;IAC7C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACtE;IACD,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;YAClC,OAAO,IAAI,oBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC9B,OAAO,IAAI,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACpE;QACD,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,EAAE;QACpD,OAAO,KAAK,CAAC;KAChB;IAED,oBAAoB;IACpB,IAAI,KAAK,YAAY,KAAK,EAAE;QACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACpD,SAAS,GAAG,SAAS,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;QACD,OAAO,SAAS;YACZ,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,KAAK,CAAC;KACf;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,OAAO,KAAK,CAAC;KAChB;IAED,gCAAgC;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,YAAY,KAAK,EAAE;QACtI,OAAO,IAAI,mBAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;KACrD;IAED,mBAAmB;IACnB,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YAClB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,mBAAQ,CAAC,GAAG,CAAC,CAAC;KAC5B;IAED,0BAA0B;IAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C;IACD,OAAO,OAAO;QACV,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAI,KAAQ,EAAE,OAAqC;IAC7E,OAAO,mCAAwB,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAFD,wCAEC;AAED,iDAAiD;AACjD,SAAgB,eAAe,CAAI,OAA0B,EAAE,MAAS;IACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;KACvB;IACD,OAAO,sBAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AALD,0CAKC;AAED,oIAAoI;AACpI,SAAgB,kBAAkB,CAAC,MAAW;IAC1C,OAAO,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAFD,gDAEC;AAED,SAAS,eAAe,CAAC,CAAM,EAAE,KAAa;IAC1C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACtE;IACD,IAAI,CAAC,CAAC,EAAE;QACJ,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;QACvB,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,gBAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,gBAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAC5C,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,CAAC,YAAY,KAAK,EAAE;QACpB,IAAI,GAAU,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjB;aACJ;YACD,IAAI,GAAG,EAAE;gBACL,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACd;SACJ;QACD,OAAO,GAAG,IAAI,CAAC,CAAC;KACnB;IACD,IAAI,kBAAQ,CAAC,CAAC,CAAC,EAAE;QACb,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;KACrB;IAED,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,CAAC,EAAE;YACX,IAAI,GAAG,IAAI,CAAC;SACf;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAChB;IACD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,CAAC,CAAC;KACZ;IACD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/core/literal.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { LocLiteral, LocStr, ILocaleDef, ILiteralLocalizer } from './interfaces';
|
|
2
|
-
export declare function isLocStr(data: any): data is LocStr;
|
|
3
|
-
export declare function setIsLoc(data: any): void;
|
|
4
|
-
export declare class LiteralLocalizer implements ILiteralLocalizer {
|
|
5
|
-
private locale;
|
|
6
|
-
private numbers;
|
|
7
|
-
constructor(locale: ILocaleDef);
|
|
8
|
-
localize(data: LocLiteral): string;
|
|
9
|
-
}
|
package/core/literal.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LiteralLocalizer = exports.setIsLoc = exports.isLocStr = void 0;
|
|
7
|
-
const moment_1 = __importDefault(require("moment"));
|
|
8
|
-
const locTag = Symbol('_localizable');
|
|
9
|
-
function isLocStr(data) {
|
|
10
|
-
return data && typeof data === 'object' && data[locTag];
|
|
11
|
-
}
|
|
12
|
-
exports.isLocStr = isLocStr;
|
|
13
|
-
function setIsLoc(data) {
|
|
14
|
-
data[locTag] = true;
|
|
15
|
-
Object.freeze(data);
|
|
16
|
-
}
|
|
17
|
-
exports.setIsLoc = setIsLoc;
|
|
18
|
-
class LiteralLocalizer {
|
|
19
|
-
constructor(locale) {
|
|
20
|
-
this.locale = locale;
|
|
21
|
-
this.numbers = new Intl.NumberFormat(locale.id);
|
|
22
|
-
}
|
|
23
|
-
localize(data) {
|
|
24
|
-
if (typeof data === 'string') {
|
|
25
|
-
return data;
|
|
26
|
-
}
|
|
27
|
-
if (typeof data === 'number') {
|
|
28
|
-
return this.numbers.format(data);
|
|
29
|
-
}
|
|
30
|
-
if (data instanceof Date) {
|
|
31
|
-
data = moment_1.default(data);
|
|
32
|
-
}
|
|
33
|
-
if (moment_1.default.isMoment(data)) {
|
|
34
|
-
if (data.hour() || data.minute()) {
|
|
35
|
-
return data.locale(this.locale.id).format('LLL');
|
|
36
|
-
}
|
|
37
|
-
return data.locale(this.locale.id).format('LL');
|
|
38
|
-
}
|
|
39
|
-
if (moment_1.default.isDuration(data)) {
|
|
40
|
-
return data.locale(this.locale.id).humanize();
|
|
41
|
-
}
|
|
42
|
-
if (isLocStr(data)) {
|
|
43
|
-
return data.toString(this.locale);
|
|
44
|
-
}
|
|
45
|
-
return checkNever(data);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.LiteralLocalizer = LiteralLocalizer;
|
|
49
|
-
function checkNever(test) {
|
|
50
|
-
return '';
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=literal.js.map
|
package/core/literal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../src/core/literal.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,SAAgB,QAAQ,CAAC,IAAS;IAC9B,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,IAAS;IAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAHD,4BAGC;AAED,MAAa,gBAAgB;IAEzB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,QAAQ,CAAC,IAAgB;QACrB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,YAAY,IAAI,EAAE;YACtB,IAAI,GAAG,gBAAM,CAAC,IAAI,CAAC,CAAC;SACvB;QACD,IAAI,gBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACnD;QACD,IAAI,gBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjD;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AA7BD,4CA6BC;AAED,SAAS,UAAU,CAAC,IAAW;IAC3B,OAAO,EAAE,CAAC;AACd,CAAC"}
|
package/core/locale-list.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ILocaleDef } from './interfaces';
|
|
2
|
-
/** Defines the locale used in code */
|
|
3
|
-
export declare function setDefaultLocale(localeId: string): void;
|
|
4
|
-
export declare function getDefaultLocale(): ILocaleDef;
|
|
5
|
-
/** Resets all locales */
|
|
6
|
-
export declare function clearLocales(): void;
|
|
7
|
-
/** Remove a locale */
|
|
8
|
-
export declare function removeLocale(id: string): void;
|
|
9
|
-
/**
|
|
10
|
-
* Adds translations
|
|
11
|
-
* @param id Locale ID (ex: 'en', or 'en-US')
|
|
12
|
-
* @param localeDef Translations (string id as key, formatted string as values - ex : {myId: 'Translated {0} text {1}'})
|
|
13
|
-
* @param merge If true, then the translations will be merged with already existing translations.
|
|
14
|
-
*/
|
|
15
|
-
export declare function addLocale(id: string, localeDef: {
|
|
16
|
-
[id: string]: string;
|
|
17
|
-
}, merge?: boolean): void;
|
|
18
|
-
export declare function getLocale(id: string): ILocaleDef;
|
|
19
|
-
export declare function listLocales(): Generator<string, void, undefined>;
|