@scoutello/i18n-magic 0.65.0 → 0.67.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.
Files changed (59) hide show
  1. package/README.md +16 -10
  2. package/dist/cli.js +20 -15
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/check-missing.d.ts +11 -1
  5. package/dist/commands/check-missing.d.ts.map +1 -1
  6. package/dist/commands/check-missing.js +56 -96
  7. package/dist/commands/check-missing.js.map +1 -1
  8. package/dist/commands/replace.d.ts +6 -0
  9. package/dist/commands/replace.d.ts.map +1 -1
  10. package/dist/commands/replace.js +48 -29
  11. package/dist/commands/replace.js.map +1 -1
  12. package/dist/commands/scan.d.ts.map +1 -1
  13. package/dist/commands/scan.js +114 -80
  14. package/dist/commands/scan.js.map +1 -1
  15. package/dist/commands/sync-locales.d.ts.map +1 -1
  16. package/dist/commands/sync-locales.js +21 -28
  17. package/dist/commands/sync-locales.js.map +1 -1
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/locale-storage.d.ts +7 -0
  23. package/dist/lib/locale-storage.d.ts.map +1 -0
  24. package/dist/lib/locale-storage.js +49 -0
  25. package/dist/lib/locale-storage.js.map +1 -0
  26. package/dist/lib/mcp-write-schemas.d.ts +56 -0
  27. package/dist/lib/mcp-write-schemas.d.ts.map +1 -0
  28. package/dist/lib/mcp-write-schemas.js +36 -0
  29. package/dist/lib/mcp-write-schemas.js.map +1 -0
  30. package/dist/lib/translation-response.d.ts +8 -0
  31. package/dist/lib/translation-response.d.ts.map +1 -0
  32. package/dist/lib/translation-response.js +43 -0
  33. package/dist/lib/translation-response.js.map +1 -0
  34. package/dist/lib/types.d.ts +1 -1
  35. package/dist/lib/types.d.ts.map +1 -1
  36. package/dist/lib/update-translation-key.d.ts +16 -0
  37. package/dist/lib/update-translation-key.d.ts.map +1 -0
  38. package/dist/lib/update-translation-key.js +67 -0
  39. package/dist/lib/update-translation-key.js.map +1 -0
  40. package/dist/lib/utils.d.ts +2 -0
  41. package/dist/lib/utils.d.ts.map +1 -1
  42. package/dist/lib/utils.js +69 -51
  43. package/dist/lib/utils.js.map +1 -1
  44. package/dist/mcp-server.js +30 -117
  45. package/dist/mcp-server.js.map +1 -1
  46. package/package.json +5 -9
  47. package/src/cli.ts +26 -18
  48. package/src/commands/check-missing.ts +83 -137
  49. package/src/commands/replace.ts +81 -43
  50. package/src/commands/scan.ts +130 -108
  51. package/src/commands/sync-locales.ts +41 -63
  52. package/src/index.ts +6 -1
  53. package/src/lib/locale-storage.ts +76 -0
  54. package/src/lib/mcp-write-schemas.ts +46 -0
  55. package/src/lib/translation-response.ts +59 -0
  56. package/src/lib/types.ts +1 -1
  57. package/src/lib/update-translation-key.ts +119 -0
  58. package/src/lib/utils.ts +92 -76
  59. package/src/mcp-server.ts +38 -167
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-write-schemas.js","sourceRoot":"","sources":["../../src/lib/mcp-write-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,4BAA4B,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,kFAAkF,CACnF,CAAA;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,KAAK;IACL,OAAO;IACP,UAAU;CACF,CAAA;AAEV,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrE,QAAQ,EAAE,4BAA4B;CACvC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC;SACJ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,CAAC,sDAAsD,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACrE,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CACH;SACA,QAAQ,CACP,8GAA8G,CAC/G;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CAAC,yDAAyD,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACzE,QAAQ,EAAE,4BAA4B;CACvC,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export declare class TranslationResponseError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ export declare class TranslationProviderUnavailableError extends Error {
5
+ constructor();
6
+ }
7
+ export declare const parseTranslationResponse: (content: string | null, requestedKeys: string[]) => Record<string, string>;
8
+ //# sourceMappingURL=translation-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-response.d.ts","sourceRoot":"","sources":["../../src/lib/translation-response.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mCAAoC,SAAQ,KAAK;;CAO7D;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,GAAG,IAAI,EACtB,eAAe,MAAM,EAAE,KACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAuCvB,CAAA"}
@@ -0,0 +1,43 @@
1
+ export class TranslationResponseError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "TranslationResponseError";
5
+ }
6
+ }
7
+ export class TranslationProviderUnavailableError extends Error {
8
+ constructor() {
9
+ super("A translation provider is required for this operation, but no provider credentials are configured.");
10
+ this.name = "TranslationProviderUnavailableError";
11
+ }
12
+ }
13
+ export const parseTranslationResponse = (content, requestedKeys) => {
14
+ let parsed;
15
+ try {
16
+ parsed = content === null ? null : JSON.parse(content);
17
+ }
18
+ catch {
19
+ throw new TranslationResponseError("Translation provider returned malformed JSON.");
20
+ }
21
+ if (parsed === null || Array.isArray(parsed) || typeof parsed !== "object") {
22
+ throw new TranslationResponseError("Translation provider returned a value that is not a JSON object.");
23
+ }
24
+ const response = parsed;
25
+ const requested = new Set(requestedKeys);
26
+ const responseKeys = Object.keys(response);
27
+ const missingKeys = requestedKeys.filter((key) => !Object.hasOwn(response, key));
28
+ const extraKeys = responseKeys.filter((key) => !requested.has(key));
29
+ const invalidValueKeys = responseKeys.filter((key) => typeof response[key] !== "string");
30
+ if (missingKeys.length > 0 || extraKeys.length > 0 || invalidValueKeys.length > 0) {
31
+ const problems = [];
32
+ if (missingKeys.length > 0)
33
+ problems.push(`missing keys: ${missingKeys.join(", ")}`);
34
+ if (extraKeys.length > 0)
35
+ problems.push(`extra keys: ${extraKeys.join(", ")}`);
36
+ if (invalidValueKeys.length > 0) {
37
+ problems.push(`non-string values: ${invalidValueKeys.join(", ")}`);
38
+ }
39
+ throw new TranslationResponseError(`Translation provider returned an invalid key/value shape (${problems.join("; ")}).`);
40
+ }
41
+ return response;
42
+ };
43
+ //# sourceMappingURL=translation-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-response.js","sourceRoot":"","sources":["../../src/lib/translation-response.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,KAAK;IAC5D;QACE,KAAK,CACH,oGAAoG,CACrG,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAA;IACnD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAsB,EACtB,aAAuB,EACC,EAAE;IAC1B,IAAI,MAAe,CAAA;IAEnB,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,wBAAwB,CAChC,+CAA+C,CAChD,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,IAAI,wBAAwB,CAChC,kEAAkE,CACnE,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAiC,CAAA;IAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAA;IACxC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAChF,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,CAC3C,CAAA;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,6DAA6D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACrF,CAAA;IACH,CAAC;IAED,OAAO,QAAkC,CAAA;AAC3C,CAAC,CAAA"}
@@ -24,7 +24,7 @@ export interface Configuration {
24
24
  export interface CommandType {
25
25
  name: string;
26
26
  description: string;
27
- action: (config: Configuration, ...args: any[]) => Promise<void>;
27
+ action: (config: Configuration, ...args: any[]) => Promise<unknown>;
28
28
  }
29
29
  export {};
30
30
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,KAAK,KAAK,GACN,SAAS,GACT,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,CAAA;AAE3B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EACJ,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,QAAQ,EACJ,MAAM,GACN,CAAC,CACC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,EAAE,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAA;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACjE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,KAAK,KAAK,GACN,SAAS,GACT,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,CAAA;AAE3B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EACJ,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,QAAQ,EACJ,MAAM,GACN,CAAC,CACC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,EAAE,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAA;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACpE"}
@@ -0,0 +1,16 @@
1
+ import type { Configuration } from "./types.js";
2
+ export interface UpdateTranslationKeyResult {
3
+ key: string;
4
+ value: string;
5
+ sourceLocale: string;
6
+ targetNamespaces: string[];
7
+ updatedLocales: string[];
8
+ pendingLocales: string[];
9
+ }
10
+ export declare const updateTranslationKeyOperation: ({ config, key, value, language, }: {
11
+ config: Configuration;
12
+ key: string;
13
+ value: string;
14
+ language?: string;
15
+ }) => Promise<UpdateTranslationKeyResult>;
16
+ //# sourceMappingURL=update-translation-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-translation-key.d.ts","sourceRoot":"","sources":["../../src/lib/update-translation-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAQ/C,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,eAAO,MAAM,6BAA6B,GAAU,mCAKjD;IACD,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,KAAG,OAAO,CAAC,0BAA0B,CA2FrC,CAAA"}
@@ -0,0 +1,67 @@
1
+ import { resolveConfiguredLocale } from "./locale-storage.js";
2
+ import { loadLocalesFile, translateKey, writeLocalesFile, } from "./utils.js";
3
+ export const updateTranslationKeyOperation = async ({ config, key, value, language, }) => {
4
+ const sourceLocale = resolveConfiguredLocale(config, language);
5
+ const sourceFiles = await Promise.all(config.namespaces.map(async (namespace) => ({
6
+ namespace,
7
+ translations: await loadLocalesFile(config.loadPath, sourceLocale, namespace, { silent: true }),
8
+ })));
9
+ const targetNamespaces = sourceFiles
10
+ .filter(({ translations }) => Object.hasOwn(translations, key))
11
+ .map(({ namespace }) => namespace);
12
+ if (targetNamespaces.length === 0) {
13
+ throw new Error(`Key "${key}" does not exist in the ${sourceLocale} translation files. Use add_translation_key to create it.`);
14
+ }
15
+ const pendingLocales = config.openai
16
+ ? []
17
+ : config.locales.filter((locale) => locale !== sourceLocale);
18
+ const updatedLocales = config.openai ? [...config.locales] : [sourceLocale];
19
+ const translatedValues = {
20
+ [sourceLocale]: value,
21
+ };
22
+ if (config.openai) {
23
+ await Promise.all(config.locales
24
+ .filter((locale) => locale !== sourceLocale)
25
+ .map(async (locale) => {
26
+ const translation = await translateKey({
27
+ context: config.context || "",
28
+ inputLanguage: sourceLocale,
29
+ outputLanguage: locale,
30
+ object: { [key]: value },
31
+ openai: config.openai,
32
+ model: config.model,
33
+ });
34
+ translatedValues[locale] = translation[key];
35
+ }));
36
+ }
37
+ const snapshots = new Map();
38
+ await Promise.all(updatedLocales.flatMap((locale) => targetNamespaces.map(async (namespace) => {
39
+ const sourceSnapshot = locale === sourceLocale
40
+ ? sourceFiles.find((entry) => entry.namespace === namespace)
41
+ ?.translations
42
+ : undefined;
43
+ const existingKeys = sourceSnapshot ??
44
+ (await loadLocalesFile(config.loadPath, locale, namespace, {
45
+ silent: true,
46
+ }));
47
+ snapshots.set(JSON.stringify([locale, namespace]), { ...existingKeys, [key]: translatedValues[locale] });
48
+ })));
49
+ for (const locale of updatedLocales) {
50
+ for (const namespace of targetNamespaces) {
51
+ const snapshot = snapshots.get(JSON.stringify([locale, namespace]));
52
+ if (!snapshot) {
53
+ throw new Error(`Internal error: no staged snapshot for ${locale}/${namespace}.`);
54
+ }
55
+ await writeLocalesFile(config.savePath, locale, namespace, snapshot);
56
+ }
57
+ }
58
+ return {
59
+ key,
60
+ value,
61
+ sourceLocale,
62
+ targetNamespaces,
63
+ updatedLocales,
64
+ pendingLocales,
65
+ };
66
+ };
67
+ //# sourceMappingURL=update-translation-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-translation-key.js","sourceRoot":"","sources":["../../src/lib/update-translation-key.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,7 @@ export declare const addTranslationKeys: ({ keys, config, }: {
85
85
  results: {
86
86
  key: string;
87
87
  value: string;
88
+ providedLanguage: string;
88
89
  namespace: string;
89
90
  locale: string;
90
91
  }[];
@@ -103,6 +104,7 @@ export declare const addTranslationKey: ({ key, value, language, config, }: {
103
104
  }) => Promise<{
104
105
  key: string;
105
106
  value: string;
107
+ providedLanguage: string;
106
108
  namespace: string;
107
109
  locale: string;
108
110
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
package/dist/lib/utils.js CHANGED
@@ -6,11 +6,12 @@ import { Parser } from "i18next-scanner";
6
6
  import { minimatch } from "minimatch";
7
7
  import prompts from "prompts";
8
8
  import { languages } from "./languges.js";
9
+ import { resolveConfiguredLocale, resolveLocaleTemplatePath, } from "./locale-storage.js";
10
+ import { parseTranslationResponse, TranslationProviderUnavailableError, TranslationResponseError, } from "./translation-response.js";
9
11
  export const loadConfig = async ({ configPath = "i18n-magic.js", } = {}) => {
10
12
  const filePath = path.join(process.cwd(), configPath);
11
13
  if (!fs.existsSync(filePath)) {
12
- console.error("Config file does not exist:", filePath);
13
- process.exit(1);
14
+ throw new Error(`Config file does not exist: ${filePath}`);
14
15
  }
15
16
  try {
16
17
  // Use dynamic import for ESM compatibility
@@ -23,18 +24,10 @@ export const loadConfig = async ({ configPath = "i18n-magic.js", } = {}) => {
23
24
  const errorMessage = error instanceof Error ? error.message : String(error);
24
25
  const isModuleNotFound = errorMessage.includes("MODULE_NOT_FOUND") ||
25
26
  errorMessage.includes("Cannot find module");
26
- console.error("Error while loading config:", error);
27
- if (isModuleNotFound) {
28
- console.error("\n💡 Tip: This error usually occurs when:");
29
- console.error(" 1. Your config file imports dependencies that aren't installed");
30
- console.error(" 2. Dependencies are installed but have missing peer dependencies");
31
- console.error(" 3. You're using a custom storage solution (e.g., AWS S3) without proper dependencies");
32
- console.error("\n To fix:");
33
- console.error(" - Check if your config file imports any external packages");
34
- console.error(" - Ensure all dependencies are properly installed: pnpm install");
35
- console.error(" - If using AWS SDK, ensure all @smithy/* peer dependencies are installed");
36
- }
37
- process.exit(1);
27
+ const hint = isModuleNotFound
28
+ ? " Check the config imports and installed dependencies."
29
+ : "";
30
+ throw new Error(`Error while loading config: ${errorMessage}.${hint}`);
38
31
  }
39
32
  };
40
33
  export function removeDuplicatesFromArray(arr) {
@@ -63,6 +56,10 @@ const extractKeysWithRegex = (content) => {
63
56
  export const translateKey = async ({ inputLanguage, context, object, openai, outputLanguage, model, onProgress, }) => {
64
57
  // Split object into chunks of 100 keys
65
58
  const entries = Object.entries(object);
59
+ if (entries.length === 0)
60
+ return {};
61
+ if (!openai)
62
+ throw new TranslationProviderUnavailableError();
66
63
  const chunks = [];
67
64
  for (let i = 0; i < entries.length; i += 100) {
68
65
  chunks.push(entries.slice(i, i + 100));
@@ -77,29 +74,47 @@ export const translateKey = async ({ inputLanguage, context, object, openai, out
77
74
  const totalKeys = entries.length;
78
75
  for (const chunk of chunks) {
79
76
  const chunkObject = Object.fromEntries(chunk);
80
- const completion = await openai.chat.completions.create({
81
- model,
82
- messages: [
83
- {
84
- content: `You are a bot that translates the values of a locales JSON. ${context
85
- ? `The user provided some additional context or guidelines about what to fill in the blanks: "${context}". `
86
- : ""}The user provides you a JSON with a field named "inputLanguage", which defines the language the values of the JSON are defined in. It also has a field named "outputLanguage", which defines the language you should translate the values to. The last field is named "data", which includes the object with the values to translate. The keys of the values should never be changed. You output only a JSON, which has the same keys as the input, but with translated values. I give you an example input: {"inputLanguage": "English", outputLanguage: "German", "keys": {"hello": "Hello", "world": "World"}}. The output should be {"hello": "Hallo", "world": "Welt"}.`,
87
- role: "system",
77
+ const requestedKeys = chunk.map(([key]) => key);
78
+ let translatedChunk;
79
+ for (let attempt = 0; attempt < 2; attempt++) {
80
+ const correctivePrompt = attempt === 1
81
+ ? ` The previous response was invalid. Return exactly these keys with string values and no additional keys: ${JSON.stringify(requestedKeys)}.`
82
+ : "";
83
+ const completion = await openai.chat.completions.create({
84
+ model,
85
+ messages: [
86
+ {
87
+ content: `You are a bot that translates the values of a locales JSON. ${context
88
+ ? `The user provided some additional context or guidelines about what to fill in the blanks: "${context}". `
89
+ : ""}The user provides you a JSON with a field named "inputLanguage", which defines the language the values of the JSON are defined in. It also has a field named "outputLanguage", which defines the language you should translate the values to. The last field is named "data", which includes the object with the values to translate. The keys of the values should never be changed. You output only a JSON, which has the same keys as the input, but with translated values. I give you an example input: {"inputLanguage": "English", outputLanguage: "German", "keys": {"hello": "Hello", "world": "World"}}. The output should be {"hello": "Hallo", "world": "Welt"}.${correctivePrompt}`,
90
+ role: "system",
91
+ },
92
+ {
93
+ content: JSON.stringify({
94
+ inputLanguage: input,
95
+ outputLanguage: output,
96
+ data: chunkObject,
97
+ }),
98
+ role: "user",
99
+ },
100
+ ],
101
+ response_format: {
102
+ type: "json_object",
88
103
  },
89
- {
90
- content: JSON.stringify({
91
- inputLanguage: input,
92
- outputLanguage: output,
93
- data: chunkObject,
94
- }),
95
- role: "user",
96
- },
97
- ],
98
- response_format: {
99
- type: "json_object",
100
- },
101
- });
102
- const translatedChunk = JSON.parse(completion.choices[0].message.content);
104
+ });
105
+ try {
106
+ translatedChunk = parseTranslationResponse(completion.choices[0]?.message.content ?? null, requestedKeys);
107
+ break;
108
+ }
109
+ catch (error) {
110
+ if (!(error instanceof TranslationResponseError) || attempt === 1) {
111
+ throw error;
112
+ }
113
+ }
114
+ }
115
+ if (!translatedChunk) {
116
+ throw new TranslationResponseError("Translation provider did not return a valid response.");
117
+ }
103
118
  // Merge translated chunk with result
104
119
  result = { ...result, ...translatedChunk };
105
120
  // Report progress
@@ -115,9 +130,7 @@ export const translateKey = async ({ inputLanguage, context, object, openai, out
115
130
  export const loadLocalesFile = async (loadPath, locale, namespace, options) => {
116
131
  const silent = options?.silent ?? false;
117
132
  if (typeof loadPath === "string") {
118
- const resolvedPath = loadPath
119
- .replace("{{lng}}", locale)
120
- .replace("{{ns}}", namespace);
133
+ const resolvedPath = resolveLocaleTemplatePath(loadPath, locale, namespace);
121
134
  // Check if file exists, return empty object if it doesn't
122
135
  if (!fs.existsSync(resolvedPath)) {
123
136
  if (!silent) {
@@ -138,9 +151,7 @@ export const loadLocalesFile = async (loadPath, locale, namespace, options) => {
138
151
  };
139
152
  export const writeLocalesFile = async (savePath, locale, namespace, data) => {
140
153
  if (typeof savePath === "string") {
141
- const resolvedSavePath = savePath
142
- .replace("{{lng}}", locale)
143
- .replace("{{ns}}", namespace);
154
+ const resolvedSavePath = resolveLocaleTemplatePath(savePath, locale, namespace);
144
155
  // Ensure directory exists
145
156
  const dir = path.dirname(resolvedSavePath);
146
157
  if (!fs.existsSync(dir)) {
@@ -592,6 +603,11 @@ export const addTranslationKeys = async ({ keys, config, }) => {
592
603
  },
593
604
  };
594
605
  }
606
+ const validatedKeys = keys.map(({ key, value, language }) => ({
607
+ key,
608
+ value,
609
+ language: resolveConfiguredLocale(config, language),
610
+ }));
595
611
  const log = console.log;
596
612
  const namespaceResolutionDebug = process.env.DEBUG_NAMESPACE_RESOLUTION === "1" ||
597
613
  process.env.DEBUG_NAMESPACE_RESOLUTION === "true";
@@ -632,7 +648,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
632
648
  defaultLocaleKeysByNamespace.set(namespace, {});
633
649
  }
634
650
  }));
635
- const preparedKeys = keys.map(({ key, value, language = "en" }) => {
651
+ const preparedKeys = validatedKeys.map(({ key, value, language }) => {
636
652
  const splitKey = key.split(":");
637
653
  const hasNamespacedKey = splitKey.length > 1 && namespaces.includes(splitKey[0]);
638
654
  const normalizedKey = hasNamespacedKey ? splitKey.slice(1).join(":") : key;
@@ -709,6 +725,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
709
725
  const fileIOStartTime = performance.now();
710
726
  const localeFiles = new Map();
711
727
  const originalKeyCounts = new Map();
728
+ const changedFiles = new Set();
712
729
  const loadErrors = [];
713
730
  // Load files for all locales × all affected namespaces in parallel (read-only)
714
731
  const localeLoadPromises = [];
@@ -746,6 +763,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
746
763
  existingKeys[key] = value;
747
764
  }
748
765
  localeFiles.set(fileKey, existingKeys);
766
+ changedFiles.add(fileKey);
749
767
  }
750
768
  // Step 7: Batch translate if OpenAI is configured
751
769
  const translationStartTime = performance.now();
@@ -776,12 +794,8 @@ export const addTranslationKeys = async ({ keys, config, }) => {
776
794
  object: keysToTranslate,
777
795
  openai,
778
796
  model,
779
- })
780
- .then((translated) => {
797
+ }).then((translated) => {
781
798
  translationCache.set(`${inputLanguage}:${targetLocale}`, translated);
782
- })
783
- .catch((error) => {
784
- log(`⚠️ Failed to translate ${keyValues.length} key(s) from ${inputLanguage} to ${targetLocale}: ${error instanceof Error ? error.message : "Unknown error"}`);
785
799
  }));
786
800
  }
787
801
  }
@@ -794,7 +808,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
794
808
  if (!translated)
795
809
  continue;
796
810
  for (const { key, namespaces } of keyValues) {
797
- if (translated[key]) {
811
+ if (Object.hasOwn(translated, key)) {
798
812
  for (const namespace of namespaces) {
799
813
  const fileKey = `${targetLocale}:${namespace}`;
800
814
  // File MUST already be loaded from step 5 - if not, something went wrong
@@ -804,6 +818,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
804
818
  }
805
819
  // Merge translated key with existing keys (don't overwrite the whole file)
806
820
  localeFiles.get(fileKey)[key] = translated[key];
821
+ changedFiles.add(fileKey);
807
822
  }
808
823
  }
809
824
  }
@@ -828,6 +843,8 @@ export const addTranslationKeys = async ({ keys, config, }) => {
828
843
  }
829
844
  // All validations passed, now write files sequentially to avoid race conditions
830
845
  for (const [fileKey, keys] of localeFiles) {
846
+ if (!changedFiles.has(fileKey))
847
+ continue;
831
848
  const [locale, namespace] = fileKey.split(":");
832
849
  await writeLocalesFile(savePath, locale, namespace, keys);
833
850
  }
@@ -843,7 +860,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
843
860
  config.locales.forEach((locale) => {
844
861
  if (locale !== language) {
845
862
  const translated = translationCache.get(`${language}:${locale}`);
846
- if (translated?.[key]) {
863
+ if (translated && Object.hasOwn(translated, key)) {
847
864
  savedLocales.add(locale);
848
865
  }
849
866
  }
@@ -852,6 +869,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
852
869
  return {
853
870
  key,
854
871
  value,
872
+ providedLanguage: language,
855
873
  namespace: resolvedNamespaces.join(", "),
856
874
  locale: Array.from(savedLocales).sort().join(", "),
857
875
  };
@@ -866,7 +884,7 @@ export const addTranslationKeys = async ({ keys, config, }) => {
866
884
  },
867
885
  };
868
886
  };
869
- export const addTranslationKey = async ({ key, value, language = "en", config, }) => {
887
+ export const addTranslationKey = async ({ key, value, language, config, }) => {
870
888
  const startTime = performance.now();
871
889
  const result = await addTranslationKeys({
872
890
  keys: [{ key, value, language }],
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}