@scoutello/i18n-magic 0.15.2 → 0.18.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 (63) hide show
  1. package/README.md +178 -17
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +101 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/check-missing.d.ts +1 -0
  7. package/dist/commands/check-missing.d.ts.map +1 -0
  8. package/dist/commands/check-missing.js +13 -0
  9. package/dist/commands/check-missing.js.map +1 -0
  10. package/dist/commands/clean.d.ts +3 -0
  11. package/dist/commands/clean.d.ts.map +1 -0
  12. package/dist/commands/clean.js +81 -0
  13. package/dist/commands/clean.js.map +1 -0
  14. package/dist/commands/create-pruned-namespace-automated.d.ts +20 -0
  15. package/dist/commands/create-pruned-namespace-automated.d.ts.map +1 -0
  16. package/dist/commands/create-pruned-namespace-automated.js +98 -0
  17. package/dist/commands/create-pruned-namespace-automated.js.map +1 -0
  18. package/dist/commands/create-pruned-namespace.d.ts +3 -0
  19. package/dist/commands/create-pruned-namespace.d.ts.map +1 -0
  20. package/dist/commands/create-pruned-namespace.js +122 -0
  21. package/dist/commands/create-pruned-namespace.js.map +1 -0
  22. package/dist/commands/replace.d.ts +1 -0
  23. package/dist/commands/replace.d.ts.map +1 -0
  24. package/dist/commands/replace.js +58 -0
  25. package/dist/commands/replace.js.map +1 -0
  26. package/dist/commands/scan.d.ts +1 -0
  27. package/dist/commands/scan.d.ts.map +1 -0
  28. package/dist/commands/scan.js +70 -0
  29. package/dist/commands/scan.js.map +1 -0
  30. package/dist/commands/sync-locales.d.ts +1 -0
  31. package/dist/commands/sync-locales.d.ts.map +1 -0
  32. package/dist/commands/sync-locales.js +78 -0
  33. package/dist/commands/sync-locales.js.map +1 -0
  34. package/dist/i18n-magic.cjs.development.js +458 -126
  35. package/dist/i18n-magic.cjs.development.js.map +1 -1
  36. package/dist/i18n-magic.cjs.production.min.js +1 -1
  37. package/dist/i18n-magic.cjs.production.min.js.map +1 -1
  38. package/dist/i18n-magic.esm.js +449 -126
  39. package/dist/i18n-magic.esm.js.map +1 -1
  40. package/dist/index.d.ts +11 -1
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +22 -9
  43. package/dist/index.js.map +1 -0
  44. package/dist/lib/languges.d.ts +1 -0
  45. package/dist/lib/languges.d.ts.map +1 -0
  46. package/dist/lib/languges.js +146 -0
  47. package/dist/lib/languges.js.map +1 -0
  48. package/dist/lib/types.d.ts +8 -0
  49. package/dist/lib/types.d.ts.map +1 -0
  50. package/dist/lib/types.js +3 -0
  51. package/dist/lib/types.js.map +1 -0
  52. package/dist/lib/utils.d.ts +1 -0
  53. package/dist/lib/utils.d.ts.map +1 -0
  54. package/dist/lib/utils.js +220 -0
  55. package/dist/lib/utils.js.map +1 -0
  56. package/package.json +37 -14
  57. package/src/cli.ts +117 -0
  58. package/src/commands/clean.ts +105 -0
  59. package/src/commands/create-pruned-namespace-automated.ts +165 -0
  60. package/src/commands/create-pruned-namespace.ts +165 -0
  61. package/src/commands/scan.ts +12 -0
  62. package/src/index.ts +23 -106
  63. package/src/lib/types.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-magic.esm.js","sources":["../src/lib/languges.ts","../src/lib/utils.ts","../src/commands/check-missing.ts","../src/commands/replace.ts","../src/commands/scan.ts","../src/commands/sync-locales.ts","../src/index.ts"],"sourcesContent":["export const languages = [\n {\n label: \"Deutsch\",\n name: \"German\",\n value: \"de\",\n },\n {\n label: \"English\",\n name: \"English\",\n value: \"en\",\n },\n {\n label: \"Español\",\n name: \"Spanish\",\n value: \"es\",\n },\n {\n label: \"Français\",\n name: \"French\",\n value: \"fr\",\n },\n {\n label: \"Dansk\",\n name: \"Danish\",\n value: \"dk\",\n },\n {\n label: \"中文\",\n name: \"Chinese\",\n value: \"cn\",\n },\n {\n label: \"Русский\",\n name: \"Russian\",\n value: \"ru\",\n },\n {\n label: \"Italiano\",\n name: \"Italian\",\n value: \"it\",\n },\n {\n label: \"Nederlands\",\n name: \"Dutch\",\n value: \"nl\",\n },\n {\n label: \"Português\",\n name: \"Portuguese\",\n value: \"pt\",\n },\n {\n label: \"Türkçe\",\n name: \"Turkish\",\n value: \"tr\",\n },\n {\n label: \"Polski\",\n name: \"Polish\",\n value: \"pl\",\n },\n {\n label: \"Українська\",\n name: \"Ukrainian\",\n value: \"ua\",\n },\n {\n label: \"Suomi\",\n name: \"Finnish\",\n value: \"fi\",\n },\n {\n label: \"Norsk\",\n name: \"Norwegian\",\n value: \"no\",\n },\n {\n label: \"Svenska\",\n name: \"Swedish\",\n value: \"sv\",\n },\n {\n label: \"Čeština\",\n name: \"Czech\",\n value: \"cz\",\n },\n {\n label: \"Ελληνικά\",\n name: \"Greek\",\n value: \"gr\",\n },\n {\n label: \"日本語\",\n name: \"Japanese\",\n value: \"jp\",\n },\n {\n label: \"한국어\",\n name: \"Korean\",\n value: \"kr\",\n },\n {\n label: \"Română\",\n name: \"Romanian\",\n value: \"ro\",\n },\n {\n label: \"Hrvatski\",\n name: \"Croatian\",\n value: \"hr\",\n },\n {\n label: \"Magyar\",\n name: \"Hungarian\",\n value: \"hu\",\n },\n {\n label: \"Slovensky\",\n name: \"Slovak\",\n value: \"sk\",\n },\n {\n label: \"हिन्दी\",\n name: \"Hindi\",\n value: \"hi\",\n },\n {\n label: \"தமிழ்\",\n name: \"Tamil\",\n value: \"ta\",\n },\n {\n label: \"Bahasa Indonesia\",\n name: \"Indonesian\",\n value: \"id\",\n },\n {\n label: \"Tiếng Việt\",\n name: \"Vietnamese\",\n value: \"vn\",\n },\n]\n","import glob from \"fast-glob\"\nimport { Parser } from \"i18next-scanner\"\nimport fs from \"node:fs\"\nimport path from \"node:path\"\nimport type OpenAI from \"openai\"\nimport prompts from \"prompts\"\nimport { languages } from \"./languges\"\nimport type { Configuration } from \"./types\"\n\nexport const loadConfig = ({\n configPath = \"i18n-magic.js\",\n}: { configPath: string }) => {\n const filePath = path.join(process.cwd(), configPath)\n\n if (!fs.existsSync(filePath)) {\n console.error(\"Config file does not exist:\", filePath)\n process.exit(1)\n }\n\n try {\n const config = require(filePath)\n // Validate config if needed\n return config\n } catch (error) {\n console.error(\"Error while loading config:\", error)\n process.exit(1)\n }\n}\n\nexport function removeDuplicatesFromArray<T>(arr: T[]): T[] {\n return arr.filter((item, index) => arr.indexOf(item) === index)\n}\n\nexport const translateKey = async ({\n inputLanguage,\n context,\n object,\n openai,\n outputLanguage,\n model,\n}: {\n object: Record<string, string>\n context: string\n inputLanguage: string\n outputLanguage: string\n model: string\n openai: OpenAI\n}) => {\n // Split object into chunks of 100 keys\n const entries = Object.entries(object)\n const chunks: Array<[string, string][]> = []\n\n for (let i = 0; i < entries.length; i += 100) {\n chunks.push(entries.slice(i, i + 100))\n }\n\n let result: Record<string, string> = {}\n\n const existingInput = languages.find((l) => l.value === inputLanguage)\n const existingOutput = languages.find((l) => l.value === outputLanguage)\n\n const input = existingInput?.label || inputLanguage\n const output = existingOutput?.label || outputLanguage\n\n // Translate each chunk\n for (const chunk of chunks) {\n const chunkObject = Object.fromEntries(chunk)\n const completion = await openai.beta.chat.completions.parse({\n model,\n messages: [\n {\n content: `You are a bot that translates the values of a locales JSON. ${\n context\n ? `The user provided some additional context or guidelines about what to fill in the blanks: \\\"${context}\\\". `\n : \"\"\n }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\"}.`,\n role: \"system\",\n },\n {\n content: JSON.stringify({\n inputLanguage: input,\n outputLanguage: output,\n data: chunkObject,\n }),\n role: \"user\",\n },\n ],\n response_format: {\n type: \"json_object\",\n },\n })\n\n const translatedChunk = JSON.parse(\n completion.choices[0].message.content,\n ) as Record<string, string>\n\n // Merge translated chunk with result\n result = { ...result, ...translatedChunk }\n\n // Optional: Add a small delay between chunks to avoid rate limiting\n await new Promise((resolve) => setTimeout(resolve, 100))\n }\n\n return result\n}\n\nexport const loadLocalesFile = async (\n loadPath:\n | string\n | ((locale: string, namespace: string) => Promise<Record<string, string>>),\n locale: string,\n namespace: string,\n) => {\n if (typeof loadPath === \"string\") {\n const resolvedPath = loadPath\n .replace(\"{{lng}}\", locale)\n .replace(\"{{ns}}\", namespace)\n\n const content = fs.readFileSync(resolvedPath, \"utf-8\")\n try {\n const json = JSON.parse(content)\n return json as Record<string, string>\n } catch (error) {\n throw new TranslationError(\n `Invalid JSON in locale file for ${locale}:${namespace}. Path: ${resolvedPath}`,\n locale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n }\n\n return loadPath(locale, namespace)\n}\n\nexport const writeLocalesFile = async (\n savePath:\n | string\n | ((\n locale: string,\n namespace: string,\n data: Record<string, string>,\n ) => Promise<void>),\n locale: string,\n namespace: string,\n data: Record<string, string>,\n) => {\n if (typeof savePath === \"string\") {\n const resolvedSavePath = savePath\n .replace(\"{{lng}}\", locale)\n .replace(\"{{ns}}\", namespace)\n\n fs.writeFileSync(resolvedSavePath, JSON.stringify(data, null, 2))\n\n return\n }\n\n await savePath(locale, namespace, data)\n}\n\nexport const getPureKey = (\n key: string,\n namespace?: string,\n isDefault?: boolean,\n) => {\n const splitted = key.split(\":\")\n\n if (splitted.length === 1) {\n if (isDefault) {\n return key\n }\n\n return null\n }\n\n if (splitted[0] === namespace) {\n return splitted[1]\n }\n\n return null\n}\n\nexport const getMissingKeys = async ({\n globPatterns,\n namespaces,\n defaultNamespace,\n defaultLocale,\n loadPath,\n}: Configuration) => {\n const parser = new Parser({\n nsSeparator: false,\n keySeparator: false,\n })\n\n const files = await glob([...globPatterns, \"!**/node_modules/**\"])\n\n const keys = []\n\n for (const file of files) {\n const content = fs.readFileSync(file, \"utf-8\")\n parser.parseFuncFromString(content, { list: [\"t\"] }, (key: string) => {\n keys.push(key)\n })\n }\n\n const uniqueKeys = removeDuplicatesFromArray(keys)\n\n const newKeys = []\n\n for (const namespace of namespaces) {\n const existingKeys = await loadLocalesFile(\n loadPath,\n defaultLocale,\n namespace,\n )\n\n console.log(Object.keys(existingKeys).length, \"existing keys\")\n\n for (const key of uniqueKeys) {\n const pureKey = getPureKey(key, namespace, namespace === defaultNamespace)\n\n if (!pureKey) {\n continue\n }\n\n if (!existingKeys[pureKey]) {\n newKeys.push({ key: pureKey, namespace })\n }\n }\n }\n\n return newKeys\n}\n\nexport const getTextInput = async (prompt: string) => {\n const input = await prompts({\n name: \"value\",\n type: \"text\",\n message: prompt,\n onState: (state) => {\n if (state.aborted) {\n process.nextTick(() => {\n process.exit(0)\n })\n }\n },\n })\n\n return input.value as string\n}\n\nexport const checkAllKeysExist = async ({\n namespaces,\n defaultLocale,\n loadPath,\n locales,\n context,\n openai,\n savePath,\n disableTranslation,\n model,\n}: Configuration) => {\n if (disableTranslation) {\n return\n }\n\n for (const namespace of namespaces) {\n const defaultLocaleKeys = await loadLocalesFile(\n loadPath,\n defaultLocale,\n namespace,\n )\n\n for (const locale of locales) {\n if (locale === defaultLocale) continue\n\n const localeKeys = await loadLocalesFile(loadPath, locale, namespace)\n const missingKeys: Record<string, string> = {}\n\n // Check which keys from default locale are missing in current locale\n for (const [key, value] of Object.entries(defaultLocaleKeys)) {\n if (!localeKeys[key]) {\n missingKeys[key] = value\n }\n }\n\n // If there are missing keys, translate them\n if (Object.keys(missingKeys).length > 0) {\n console.log(\n `Found ${Object.keys(missingKeys).length} missing keys in ${locale} (namespace: ${namespace})`,\n )\n\n const translatedValues = await translateKey({\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n context,\n object: missingKeys,\n openai,\n model,\n })\n\n // Merge translated values with existing ones\n const updatedLocaleKeys = {\n ...localeKeys,\n ...translatedValues,\n }\n\n // Save the updated translations\n writeLocalesFile(savePath, locale, namespace, updatedLocaleKeys)\n console.log(\n `✓ Translated and saved missing keys for ${locale} (namespace: ${namespace})`,\n )\n }\n }\n }\n}\n\nexport class TranslationError extends Error {\n constructor(\n message: string,\n public locale?: string,\n public namespace?: string,\n public cause?: Error,\n ) {\n super(message)\n this.name = \"TranslationError\"\n }\n}\n","import type { Configuration } from \"../lib/types\"\nimport { getMissingKeys } from \"../lib/utils\"\n\nexport const checkMissing = async (config: Configuration) => {\n const newKeys = await getMissingKeys(config)\n\n if (newKeys.length > 0) {\n console.error(\"Error: Missing translations found!\")\n process.exit(1)\n }\n}\n","import type { Configuration } from \"../lib/types\"\nimport {\n getTextInput,\n loadLocalesFile,\n translateKey,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nconst getKeyToReplace = async (keys: Record<string, string>) => {\n const keyToReplace = await getTextInput(\n \"Enter the key to replace the translation for: \",\n )\n\n if (!keys[keyToReplace]) {\n console.log(`The key \"${keyToReplace}\" does not exist.`)\n return await getKeyToReplace(keys)\n }\n\n console.log(`The key \"${keyToReplace}\" exists.`)\n return keyToReplace\n}\n\nexport const replaceTranslation = async (\n config: Configuration,\n key?: string,\n) => {\n const {\n loadPath,\n savePath,\n defaultLocale,\n defaultNamespace,\n namespaces,\n locales,\n globPatterns,\n context,\n openai,\n } = config\n\n const keys = await loadLocalesFile(\n config.loadPath,\n config.defaultLocale,\n config.defaultNamespace,\n )\n\n let keyToReplace: string\n\n if (key) {\n if (keys[key]) {\n keyToReplace = key\n console.log(`The key \"${keyToReplace}\" exists.`)\n } else {\n console.log(`The key \"${key}\" does not exist.`)\n keyToReplace = await getKeyToReplace(keys)\n }\n } else {\n keyToReplace = await getKeyToReplace(keys)\n }\n\n console.log(\n `The current translation in ${defaultLocale} for \"${keyToReplace}\" is \"${keys[keyToReplace]}\".`,\n )\n\n const newTranslation = await getTextInput(\"Enter the new translation: \")\n\n for (const locale of locales) {\n let newValue = \"\"\n if (locale === defaultLocale) {\n newValue = newTranslation\n } else {\n const translation = await translateKey({\n context,\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n object: {\n [keyToReplace]: newTranslation,\n },\n openai,\n model: config.model,\n })\n\n newValue = translation[keyToReplace]\n }\n\n const existingKeys = await loadLocalesFile(\n loadPath,\n locale,\n defaultNamespace,\n )\n\n existingKeys[keyToReplace] = newValue\n\n writeLocalesFile(savePath, locale, defaultNamespace, existingKeys)\n\n console.log(\n `The new translation for \"${keyToReplace}\" in ${locale} is \"${newValue}\".`,\n )\n }\n}\n","import type { Configuration } from \"../lib/types\"\nimport {\n checkAllKeysExist,\n getMissingKeys,\n getTextInput,\n loadLocalesFile,\n translateKey,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nexport const translateMissing = async (config: Configuration) => {\n const {\n loadPath,\n savePath,\n defaultLocale,\n namespaces,\n locales,\n context,\n openai,\n disableTranslation,\n } = config\n\n const newKeys = await getMissingKeys(config)\n\n if (newKeys.length === 0) {\n console.log(\"No new keys found.\")\n\n await checkAllKeysExist(config)\n\n return\n }\n\n console.log(\n `${newKeys.length} keys are missing. Please provide the values for the following keys in ${defaultLocale}:`,\n )\n\n const newKeysWithDefaultLocale = []\n\n for (const newKey of newKeys) {\n const answer = await getTextInput(newKey.key)\n\n newKeysWithDefaultLocale.push({\n key: newKey.key,\n namespace: newKey.namespace,\n value: answer,\n })\n }\n\n const newKeysObject = newKeysWithDefaultLocale.reduce((prev, next) => {\n prev[next.key] = next.value\n\n return prev\n }, {})\n\n const allLocales = disableTranslation ? [defaultLocale] : locales\n\n for (const locale of allLocales) {\n let translatedValues = {}\n\n if (locale === defaultLocale) {\n translatedValues = newKeysObject\n } else {\n translatedValues = await translateKey({\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n context,\n object: newKeysObject,\n openai,\n model: config.model,\n })\n }\n\n for (const namespace of namespaces) {\n const existingKeys = await loadLocalesFile(loadPath, locale, namespace)\n\n const relevantKeys = newKeysWithDefaultLocale.filter(\n (key) => key.namespace === namespace,\n )\n\n if (relevantKeys.length === 0) {\n continue\n }\n\n for (const key of relevantKeys) {\n existingKeys[key.key] = translatedValues[key.key]\n }\n\n writeLocalesFile(savePath, locale, namespace, existingKeys)\n }\n }\n\n await checkAllKeysExist(config)\n\n console.log(`Successfully translated ${newKeys.length} keys.`)\n}\n","import type { Configuration } from \"../lib/types\"\nimport {\n TranslationError,\n loadLocalesFile,\n translateKey,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nexport const syncLocales = async (config: Configuration) => {\n const {\n loadPath,\n savePath,\n defaultLocale,\n namespaces,\n locales,\n context,\n openai,\n } = config\n\n try {\n for (const namespace of namespaces) {\n let defaultLocaleKeys: Record<string, string>\n\n try {\n defaultLocaleKeys = await loadLocalesFile(\n loadPath,\n defaultLocale,\n namespace,\n )\n } catch (error) {\n throw new TranslationError(\n `Failed to load default locale file for namespace \"${namespace}\"`,\n defaultLocale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n\n for (const locale of locales) {\n if (locale === defaultLocale) continue\n\n let localeKeys: Record<string, string>\n try {\n localeKeys = await loadLocalesFile(loadPath, locale, namespace)\n } catch (error) {\n console.warn(\n `Warning: Could not load locale file for ${locale} (namespace: ${namespace}). Creating new file.`,\n )\n localeKeys = {}\n }\n\n const missingKeys: Record<string, string> = {}\n\n // Check which keys from default locale are missing in current locale\n for (const [key, value] of Object.entries(defaultLocaleKeys)) {\n if (!localeKeys[key]) {\n missingKeys[key] = value\n }\n }\n\n // If there are missing keys, translate them\n if (Object.keys(missingKeys).length > 0) {\n console.log(\n `Found ${Object.keys(missingKeys).length} missing keys in ${locale} (namespace: ${namespace})`,\n )\n\n let translatedValues: Record<string, string>\n try {\n translatedValues = await translateKey({\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n context,\n object: missingKeys,\n openai,\n model: config.model,\n })\n } catch (error) {\n throw new TranslationError(\n `Failed to translate keys for locale \"${locale}\" (namespace: ${namespace})`,\n locale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n\n // Merge translated values with existing ones\n const updatedLocaleKeys = {\n ...localeKeys,\n ...translatedValues,\n }\n\n try {\n await writeLocalesFile(\n savePath,\n locale,\n namespace,\n updatedLocaleKeys,\n )\n } catch (error) {\n throw new TranslationError(\n `Failed to save translations for locale \"${locale}\" (namespace: ${namespace})`,\n locale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n\n console.log(\n `Successfully translated and saved ${Object.keys(missingKeys).length} keys for ${locale} (namespace: ${namespace})`,\n )\n } else {\n console.log(\n `No missing keys found for ${locale} (namespace: ${namespace})`,\n )\n }\n }\n }\n } catch (error) {\n if (error instanceof TranslationError) {\n throw error\n }\n throw new TranslationError(\n \"An unexpected error occurred during translation\",\n undefined,\n undefined,\n error instanceof Error ? error : undefined,\n )\n }\n}\n","import { Command } from \"commander\"\nimport dotenv from \"dotenv\"\nimport OpenAI from \"openai\"\nimport { checkMissing } from \"./commands/check-missing\"\nimport { replaceTranslation } from \"./commands/replace\"\nimport { translateMissing } from \"./commands/scan\"\nimport { syncLocales } from \"./commands/sync-locales\"\nimport type { CommandType, Configuration } from \"./lib/types\"\nimport { loadConfig } from \"./lib/utils\"\n\n// Only run CLI initialization when this file is executed directly\n\nconst program = new Command()\n\nprogram\n .name(\"i18n-magic\")\n .description(\n \"CLI to help you manage your locales JSON with translations, replacements, etc. with OpenAI.\",\n )\n .version(\"0.2.0\")\n .option(\"-c, --config <path>\", \"path to config file\")\n .option(\"-e, --env <path>\", \"path to .env file\")\n\nconst commands: CommandType[] = [\n {\n name: \"scan\",\n description:\n \"Scan for missing translations, get prompted for each, translate it to the other locales and save it to the JSON file.\",\n action: translateMissing,\n },\n {\n name: \"replace\",\n description:\n \"Replace a translation based on the key, and translate it to the other locales and save it to the JSON file.\",\n action: replaceTranslation,\n },\n {\n name: \"check-missing\",\n description:\n \"Check if there are any missing translations. Useful for a CI/CD pipeline or husky hook.\",\n action: checkMissing,\n },\n {\n name: \"sync\",\n description:\n \"Sync the translations from the default locale to the other locales. Useful for a CI/CD pipeline or husky hook.\",\n action: syncLocales,\n },\n]\n\nfor (const command of commands) {\n const cmd = program.command(command.name).description(command.description)\n\n // Add key option to replace command\n if (command.name === \"replace\") {\n cmd\n .option(\"-k, --key <key>\", \"translation key to replace\")\n .allowExcessArguments(true)\n .argument(\"[key]\", \"translation key to replace\")\n }\n\n cmd.action(async (arg, options) => {\n const res = dotenv.config({\n path: program.opts().env || \".env\",\n })\n\n const config: Configuration = await loadConfig({\n configPath: program.opts().config,\n })\n\n const isGemini = (config.model as string)?.includes(\"gemini\")\n\n // Get API key from environment or config\n const openaiKey = res.parsed.OPENAI_API_KEY || config.OPENAI_API_KEY\n const geminiKey = res.parsed.GEMINI_API_KEY || config.GEMINI_API_KEY\n\n // Select appropriate key based on model type\n const key = isGemini ? geminiKey : openaiKey\n\n if (!key) {\n const keyType = isGemini ? \"GEMINI_API_KEY\" : \"OPENAI_API_KEY\"\n console.error(\n `Please provide a${isGemini ? \" Gemini\" : \"n OpenAI\"} API key in your .env file or config, called ${keyType}.`,\n )\n process.exit(1)\n }\n\n const openai = new OpenAI({\n apiKey: key,\n ...(isGemini && {\n baseURL: \"https://generativelanguage.googleapis.com/v1beta/openai/\",\n }),\n })\n\n // For replace command, check for key in argument or option\n if (command.name === \"replace\") {\n // If key is provided as positional argument, use that first\n const keyToUse = typeof arg === \"string\" ? arg : options.key\n command.action({ ...config, openai }, keyToUse)\n } else {\n command.action({ ...config, openai })\n }\n })\n}\n\nprogram.parse(process.argv)\n"],"names":["languages","label","name","value","loadConfig","_ref","_ref$configPath","configPath","filePath","path","join","process","cwd","fs","existsSync","console","error","exit","config","require","removeDuplicatesFromArray","arr","filter","item","index","indexOf","translateKey","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","inputLanguage","context","object","openai","outputLanguage","model","entries","chunks","i","result","existingInput","existingOutput","input","output","_i","_chunks","chunk","chunkObject","completion","translatedChunk","wrap","_callee$","_context","prev","next","Object","length","push","slice","find","l","fromEntries","beta","chat","completions","parse","messages","content","role","JSON","stringify","data","response_format","type","sent","choices","message","_extends","Promise","resolve","setTimeout","abrupt","stop","_x","apply","arguments","loadLocalesFile","_ref4","_callee2","loadPath","locale","namespace","resolvedPath","json","_callee2$","_context2","replace","readFileSync","t0","TranslationError","Error","undefined","_x2","_x3","_x4","writeLocalesFile","_ref5","_callee3","savePath","resolvedSavePath","_callee3$","_context3","writeFileSync","_x5","_x6","_x7","_x8","getPureKey","key","isDefault","splitted","split","getMissingKeys","_ref7","_callee4","_ref6","globPatterns","namespaces","defaultNamespace","defaultLocale","parser","files","keys","_iterator","_step","file","uniqueKeys","newKeys","_iterator2","_step2","existingKeys","_iterator3","_step3","pureKey","_callee4$","_context4","Parser","nsSeparator","keySeparator","glob","concat","_createForOfIteratorHelperLoose","done","parseFuncFromString","list","log","_x9","getTextInput","_ref8","_callee5","prompt","_callee5$","_context5","prompts","onState","state","aborted","nextTick","_x10","checkAllKeysExist","_ref10","_callee6","_ref9","locales","disableTranslation","_iterator4","_step4","defaultLocaleKeys","_iterator5","_step5","localeKeys","missingKeys","_i2","_Object$entries","_Object$entries$_i","translatedValues","updatedLocaleKeys","_callee6$","_context6","_x11","_Error","cause","_this","call","_inheritsLoose","_wrapNativeSuper","checkMissing","getKeyToReplace","keyToReplace","replaceTranslation","newTranslation","newValue","_object","translation","translateMissing","newKeysWithDefaultLocale","newKey","answer","newKeysObject","allLocales","_loop","reduce","relevantKeys","_loop$","delegateYield","syncLocales","t1","warn","t2","t3","t4","program","Command","description","version","option","commands","action","command","_commands","cmd","allowExcessArguments","argument","arg","options","_config$model","res","isGemini","openaiKey","geminiKey","keyType","keyToUse","dotenv","opts","env","includes","parsed","OPENAI_API_KEY","GEMINI_API_KEY","OpenAI","apiKey","baseURL","argv"],"mappings":"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"}
1
+ {"version":3,"file":"i18n-magic.esm.js","sources":["../src/lib/languges.ts","../src/lib/utils.ts","../src/commands/check-missing.ts","../src/commands/clean.ts","../src/commands/create-pruned-namespace.ts","../src/commands/create-pruned-namespace-automated.ts","../src/commands/replace.ts","../src/commands/scan.ts","../src/commands/sync-locales.ts"],"sourcesContent":["export const languages = [\n {\n label: \"Deutsch\",\n name: \"German\",\n value: \"de\",\n },\n {\n label: \"English\",\n name: \"English\",\n value: \"en\",\n },\n {\n label: \"Español\",\n name: \"Spanish\",\n value: \"es\",\n },\n {\n label: \"Français\",\n name: \"French\",\n value: \"fr\",\n },\n {\n label: \"Dansk\",\n name: \"Danish\",\n value: \"dk\",\n },\n {\n label: \"中文\",\n name: \"Chinese\",\n value: \"cn\",\n },\n {\n label: \"Русский\",\n name: \"Russian\",\n value: \"ru\",\n },\n {\n label: \"Italiano\",\n name: \"Italian\",\n value: \"it\",\n },\n {\n label: \"Nederlands\",\n name: \"Dutch\",\n value: \"nl\",\n },\n {\n label: \"Português\",\n name: \"Portuguese\",\n value: \"pt\",\n },\n {\n label: \"Türkçe\",\n name: \"Turkish\",\n value: \"tr\",\n },\n {\n label: \"Polski\",\n name: \"Polish\",\n value: \"pl\",\n },\n {\n label: \"Українська\",\n name: \"Ukrainian\",\n value: \"ua\",\n },\n {\n label: \"Suomi\",\n name: \"Finnish\",\n value: \"fi\",\n },\n {\n label: \"Norsk\",\n name: \"Norwegian\",\n value: \"no\",\n },\n {\n label: \"Svenska\",\n name: \"Swedish\",\n value: \"sv\",\n },\n {\n label: \"Čeština\",\n name: \"Czech\",\n value: \"cz\",\n },\n {\n label: \"Ελληνικά\",\n name: \"Greek\",\n value: \"gr\",\n },\n {\n label: \"日本語\",\n name: \"Japanese\",\n value: \"jp\",\n },\n {\n label: \"한국어\",\n name: \"Korean\",\n value: \"kr\",\n },\n {\n label: \"Română\",\n name: \"Romanian\",\n value: \"ro\",\n },\n {\n label: \"Hrvatski\",\n name: \"Croatian\",\n value: \"hr\",\n },\n {\n label: \"Magyar\",\n name: \"Hungarian\",\n value: \"hu\",\n },\n {\n label: \"Slovensky\",\n name: \"Slovak\",\n value: \"sk\",\n },\n {\n label: \"हिन्दी\",\n name: \"Hindi\",\n value: \"hi\",\n },\n {\n label: \"தமிழ்\",\n name: \"Tamil\",\n value: \"ta\",\n },\n {\n label: \"Bahasa Indonesia\",\n name: \"Indonesian\",\n value: \"id\",\n },\n {\n label: \"Tiếng Việt\",\n name: \"Vietnamese\",\n value: \"vn\",\n },\n]\n","import glob from \"fast-glob\"\nimport { Parser } from \"i18next-scanner\"\nimport fs from \"node:fs\"\nimport path from \"node:path\"\nimport type OpenAI from \"openai\"\nimport prompts from \"prompts\"\nimport { languages } from \"./languges\"\nimport type { Configuration } from \"./types\"\n\nexport const loadConfig = ({\n configPath = \"i18n-magic.js\",\n}: { configPath: string }) => {\n const filePath = path.join(process.cwd(), configPath)\n\n if (!fs.existsSync(filePath)) {\n console.error(\"Config file does not exist:\", filePath)\n process.exit(1)\n }\n\n try {\n const config = require(filePath)\n // Validate config if needed\n return config\n } catch (error) {\n console.error(\"Error while loading config:\", error)\n process.exit(1)\n }\n}\n\nexport function removeDuplicatesFromArray<T>(arr: T[]): T[] {\n return arr.filter((item, index) => arr.indexOf(item) === index)\n}\n\nexport const translateKey = async ({\n inputLanguage,\n context,\n object,\n openai,\n outputLanguage,\n model,\n}: {\n object: Record<string, string>\n context: string\n inputLanguage: string\n outputLanguage: string\n model: string\n openai: OpenAI\n}) => {\n // Split object into chunks of 100 keys\n const entries = Object.entries(object)\n const chunks: Array<[string, string][]> = []\n\n for (let i = 0; i < entries.length; i += 100) {\n chunks.push(entries.slice(i, i + 100))\n }\n\n let result: Record<string, string> = {}\n\n const existingInput = languages.find((l) => l.value === inputLanguage)\n const existingOutput = languages.find((l) => l.value === outputLanguage)\n\n const input = existingInput?.label || inputLanguage\n const output = existingOutput?.label || outputLanguage\n\n // Translate each chunk\n for (const chunk of chunks) {\n const chunkObject = Object.fromEntries(chunk)\n const completion = await openai.beta.chat.completions.parse({\n model,\n messages: [\n {\n content: `You are a bot that translates the values of a locales JSON. ${\n context\n ? `The user provided some additional context or guidelines about what to fill in the blanks: \\\"${context}\\\". `\n : \"\"\n }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\"}.`,\n role: \"system\",\n },\n {\n content: JSON.stringify({\n inputLanguage: input,\n outputLanguage: output,\n data: chunkObject,\n }),\n role: \"user\",\n },\n ],\n response_format: {\n type: \"json_object\",\n },\n })\n\n const translatedChunk = JSON.parse(\n completion.choices[0].message.content,\n ) as Record<string, string>\n\n // Merge translated chunk with result\n result = { ...result, ...translatedChunk }\n\n // Optional: Add a small delay between chunks to avoid rate limiting\n await new Promise((resolve) => setTimeout(resolve, 100))\n }\n\n return result\n}\n\nexport const loadLocalesFile = async (\n loadPath:\n | string\n | ((locale: string, namespace: string) => Promise<Record<string, string>>),\n locale: string,\n namespace: string,\n) => {\n if (typeof loadPath === \"string\") {\n const resolvedPath = loadPath\n .replace(\"{{lng}}\", locale)\n .replace(\"{{ns}}\", namespace)\n\n const content = fs.readFileSync(resolvedPath, \"utf-8\")\n try {\n const json = JSON.parse(content)\n return json as Record<string, string>\n } catch (error) {\n throw new TranslationError(\n `Invalid JSON in locale file for ${locale}:${namespace}. Path: ${resolvedPath}`,\n locale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n }\n\n return loadPath(locale, namespace)\n}\n\nexport const writeLocalesFile = async (\n savePath:\n | string\n | ((\n locale: string,\n namespace: string,\n data: Record<string, string>,\n ) => Promise<void>),\n locale: string,\n namespace: string,\n data: Record<string, string>,\n) => {\n if (typeof savePath === \"string\") {\n const resolvedSavePath = savePath\n .replace(\"{{lng}}\", locale)\n .replace(\"{{ns}}\", namespace)\n\n fs.writeFileSync(resolvedSavePath, JSON.stringify(data, null, 2))\n\n return\n }\n\n await savePath(locale, namespace, data)\n}\n\nexport const getPureKey = (\n key: string,\n namespace?: string,\n isDefault?: boolean,\n) => {\n const splitted = key.split(\":\")\n\n if (splitted.length === 1) {\n if (isDefault) {\n return key\n }\n\n return null\n }\n\n if (splitted[0] === namespace) {\n return splitted[1]\n }\n\n return null\n}\n\nexport const getMissingKeys = async ({\n globPatterns,\n namespaces,\n defaultNamespace,\n defaultLocale,\n loadPath,\n}: Configuration) => {\n const parser = new Parser({\n nsSeparator: false,\n keySeparator: false,\n })\n\n const files = await glob([...globPatterns, \"!**/node_modules/**\"])\n\n const keys = []\n\n for (const file of files) {\n const content = fs.readFileSync(file, \"utf-8\")\n parser.parseFuncFromString(content, { list: [\"t\"] }, (key: string) => {\n keys.push(key)\n })\n }\n\n const uniqueKeys = removeDuplicatesFromArray(keys)\n\n const newKeys = []\n\n for (const namespace of namespaces) {\n const existingKeys = await loadLocalesFile(\n loadPath,\n defaultLocale,\n namespace,\n )\n\n console.log(Object.keys(existingKeys).length, \"existing keys\")\n\n for (const key of uniqueKeys) {\n const pureKey = getPureKey(key, namespace, namespace === defaultNamespace)\n\n if (!pureKey) {\n continue\n }\n\n if (!existingKeys[pureKey]) {\n newKeys.push({ key: pureKey, namespace })\n }\n }\n }\n\n return newKeys\n}\n\nexport const getTextInput = async (prompt: string) => {\n const input = await prompts({\n name: \"value\",\n type: \"text\",\n message: prompt,\n onState: (state) => {\n if (state.aborted) {\n process.nextTick(() => {\n process.exit(0)\n })\n }\n },\n })\n\n return input.value as string\n}\n\nexport const checkAllKeysExist = async ({\n namespaces,\n defaultLocale,\n loadPath,\n locales,\n context,\n openai,\n savePath,\n disableTranslation,\n model,\n}: Configuration) => {\n if (disableTranslation) {\n return\n }\n\n for (const namespace of namespaces) {\n const defaultLocaleKeys = await loadLocalesFile(\n loadPath,\n defaultLocale,\n namespace,\n )\n\n for (const locale of locales) {\n if (locale === defaultLocale) continue\n\n const localeKeys = await loadLocalesFile(loadPath, locale, namespace)\n const missingKeys: Record<string, string> = {}\n\n // Check which keys from default locale are missing in current locale\n for (const [key, value] of Object.entries(defaultLocaleKeys)) {\n if (!localeKeys[key]) {\n missingKeys[key] = value\n }\n }\n\n // If there are missing keys, translate them\n if (Object.keys(missingKeys).length > 0) {\n console.log(\n `Found ${Object.keys(missingKeys).length} missing keys in ${locale} (namespace: ${namespace})`,\n )\n\n const translatedValues = await translateKey({\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n context,\n object: missingKeys,\n openai,\n model,\n })\n\n // Merge translated values with existing ones\n const updatedLocaleKeys = {\n ...localeKeys,\n ...translatedValues,\n }\n\n // Save the updated translations\n writeLocalesFile(savePath, locale, namespace, updatedLocaleKeys)\n console.log(\n `✓ Translated and saved missing keys for ${locale} (namespace: ${namespace})`,\n )\n }\n }\n }\n}\n\nexport class TranslationError extends Error {\n constructor(\n message: string,\n public locale?: string,\n public namespace?: string,\n public cause?: Error,\n ) {\n super(message)\n this.name = \"TranslationError\"\n }\n}\n","import type { Configuration } from \"../lib/types\"\nimport { getMissingKeys } from \"../lib/utils\"\n\nexport const checkMissing = async (config: Configuration) => {\n const newKeys = await getMissingKeys(config)\n\n if (newKeys.length > 0) {\n console.error(\"Error: Missing translations found!\")\n process.exit(1)\n }\n}\n","import glob from \"fast-glob\"\nimport { Parser } from \"i18next-scanner\"\nimport fs from \"node:fs\"\nimport type { Configuration } from \"../lib/types\"\nimport {\n getPureKey,\n loadLocalesFile,\n removeDuplicatesFromArray,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nexport const removeUnusedKeys = async (config: Configuration) => {\n const {\n globPatterns,\n namespaces,\n defaultNamespace,\n locales,\n loadPath,\n savePath,\n } = config\n\n // Set up the parser\n const parser = new Parser({\n nsSeparator: false,\n keySeparator: false,\n })\n\n // Find all files to scan\n const files = await glob([...globPatterns, \"!**/node_modules/**\"])\n\n // Extract all translation keys from the codebase\n const extractedKeys = []\n for (const file of files) {\n const content = fs.readFileSync(file, \"utf-8\")\n parser.parseFuncFromString(content, { list: [\"t\"] }, (key: string) => {\n extractedKeys.push(key)\n })\n }\n\n // Remove duplicates\n const uniqueExtractedKeys = removeDuplicatesFromArray(extractedKeys)\n\n // Track stats for reporting\n const stats = {\n total: 0,\n removed: 0,\n }\n\n // Process each namespace and locale\n for (const namespace of namespaces) {\n // Build a set of pure keys that are actually used in the codebase for this namespace\n const usedKeysSet = new Set<string>()\n\n for (const key of uniqueExtractedKeys) {\n const pureKey = getPureKey(key, namespace, namespace === defaultNamespace)\n if (pureKey) {\n usedKeysSet.add(pureKey)\n }\n }\n\n // Process each locale\n for (const locale of locales) {\n // Load existing keys for this locale and namespace\n const existingKeys = await loadLocalesFile(loadPath, locale, namespace)\n const existingKeysCount = Object.keys(existingKeys).length\n stats.total += existingKeysCount\n\n // Create a new object with only the keys that are used\n const cleanedKeys: Record<string, string> = {}\n let removedCount = 0\n\n for (const [key, value] of Object.entries(existingKeys)) {\n if (usedKeysSet.has(key)) {\n cleanedKeys[key] = value\n } else {\n removedCount++\n }\n }\n\n stats.removed += removedCount\n\n // Only write the file if keys were removed\n if (removedCount > 0) {\n await writeLocalesFile(savePath, locale, namespace, cleanedKeys)\n console.log(\n `✓ Removed ${removedCount} unused keys from ${locale}:${namespace} (${\n Object.keys(cleanedKeys).length\n } keys remaining)`,\n )\n } else {\n console.log(`No unused keys found in ${locale}:${namespace}`)\n }\n }\n }\n\n if (stats.removed > 0) {\n console.log(\n `✅ Removed ${stats.removed} unused keys (out of ${stats.total} total keys)`,\n )\n } else {\n console.log(\n `✅ No unused keys found in the project (${stats.total} total keys)`,\n )\n }\n}\n","import glob from \"fast-glob\"\nimport { Parser } from \"i18next-scanner\"\nimport fs from \"node:fs\"\nimport prompts from \"prompts\"\nimport type { Configuration } from \"../lib/types\"\nimport {\n getPureKey,\n loadLocalesFile,\n removeDuplicatesFromArray,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nexport const createPrunedNamespace = async (config: Configuration) => {\n const { namespaces, loadPath, savePath, locales, defaultNamespace } = config\n\n // Step 1: Ask for source namespace\n const sourceNamespaceResponse = await prompts({\n type: \"select\",\n name: \"value\",\n message: \"Select source namespace to create pruned version from:\",\n choices: namespaces.map((namespace) => ({\n title: namespace,\n value: namespace,\n })),\n onState: (state) => {\n if (state.aborted) {\n process.nextTick(() => {\n process.exit(0)\n })\n }\n },\n })\n\n const sourceNamespace = sourceNamespaceResponse.value\n\n // Step 2: Ask for new namespace name\n const newNamespaceResponse = await prompts({\n type: \"text\",\n name: \"value\",\n message: \"Enter the name for the new namespace:\",\n validate: (value) => {\n if (!value) return \"Namespace name cannot be empty\"\n if (namespaces.includes(value)) return \"Namespace already exists\"\n return true\n },\n onState: (state) => {\n if (state.aborted) {\n process.nextTick(() => {\n process.exit(0)\n })\n }\n },\n })\n\n const newNamespace = newNamespaceResponse.value\n\n // Step 3: Ask for glob patterns to find relevant keys\n const globPatternsResponse = await prompts({\n type: \"list\",\n name: \"value\",\n message: \"Enter glob patterns to find relevant keys (comma separated):\",\n initial: config.globPatterns.join(\",\"),\n separator: \",\",\n onState: (state) => {\n if (state.aborted) {\n process.nextTick(() => {\n process.exit(0)\n })\n }\n },\n })\n\n const selectedGlobPatterns = globPatternsResponse.value\n\n console.log(\n `Finding keys used in files matching: ${selectedGlobPatterns.join(\", \")}`,\n )\n\n // Extract keys from files matching the glob patterns\n const parser = new Parser({\n nsSeparator: false,\n keySeparator: false,\n })\n\n const files = await glob([...selectedGlobPatterns, \"!**/node_modules/**\"])\n console.log(`Found ${files.length} files to scan`)\n\n const extractedKeys = []\n\n for (const file of files) {\n const content = fs.readFileSync(file, \"utf-8\")\n parser.parseFuncFromString(content, { list: [\"t\"] }, (key: string) => {\n extractedKeys.push(key)\n })\n }\n\n const uniqueExtractedKeys = removeDuplicatesFromArray(extractedKeys)\n console.log(`Found ${uniqueExtractedKeys.length} unique translation keys`)\n\n // Filter keys that belong to the source namespace\n const relevantKeys = []\n\n for (const key of uniqueExtractedKeys) {\n const pureKey = getPureKey(\n key,\n sourceNamespace,\n sourceNamespace === defaultNamespace,\n )\n\n if (pureKey) {\n relevantKeys.push(pureKey)\n }\n }\n\n console.log(\n `Found ${relevantKeys.length} keys from namespace '${sourceNamespace}'`,\n )\n\n if (relevantKeys.length === 0) {\n console.log(\"No relevant keys found. Exiting...\")\n return\n }\n\n // Get translations from source namespace and create new namespace files\n for (const locale of locales) {\n try {\n // Load source namespace translations\n const sourceTranslations = await loadLocalesFile(\n loadPath,\n locale,\n sourceNamespace,\n )\n\n // Create new namespace with only the keys used in the glob pattern files\n const newNamespaceTranslations: Record<string, string> = {}\n\n for (const key of relevantKeys) {\n if (sourceTranslations[key]) {\n newNamespaceTranslations[key] = sourceTranslations[key]\n }\n }\n\n // Write the new namespace file\n await writeLocalesFile(\n savePath,\n locale,\n newNamespace,\n newNamespaceTranslations,\n )\n\n console.log(\n `Created pruned namespace '${newNamespace}' for locale '${locale}' with ${\n Object.keys(newNamespaceTranslations).length\n } keys`,\n )\n } catch (error) {\n console.error(\n `Error creating pruned namespace for locale '${locale}':`,\n error,\n )\n }\n }\n\n console.log(`✅ Successfully created pruned namespace '${newNamespace}'`)\n}\n","import glob from \"fast-glob\"\nimport { Parser } from \"i18next-scanner\"\nimport fs from \"node:fs\"\nimport type { Configuration } from \"../lib/types\"\nimport {\n getPureKey,\n loadLocalesFile,\n removeDuplicatesFromArray,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nexport interface PruneOptions {\n sourceNamespace: string\n newNamespace: string\n globPatterns: string[]\n}\n\nexport interface PruneResult {\n locale: string\n keyCount: number\n success: boolean\n error?: string\n}\n\nexport interface PruneResponse {\n success: boolean\n message: string\n keysCount: number\n results?: PruneResult[]\n}\n\nexport const createPrunedNamespaceAutomated = async (\n config: Configuration,\n options: PruneOptions,\n): Promise<PruneResponse> => {\n const { namespaces, loadPath, savePath, locales, defaultNamespace } = config\n const { sourceNamespace, newNamespace, globPatterns } = options\n\n // Validate inputs\n if (!namespaces.includes(sourceNamespace)) {\n throw new Error(\n `Source namespace '${sourceNamespace}' not found in configuration`,\n )\n }\n\n if (namespaces.includes(newNamespace)) {\n throw new Error(`Namespace '${newNamespace}' already exists`)\n }\n\n console.log(\n `Creating pruned namespace '${newNamespace}' from '${sourceNamespace}'`,\n )\n console.log(`Using glob patterns: ${globPatterns.join(\", \")}`)\n\n // Extract keys from files matching the glob patterns\n const parser = new Parser({\n nsSeparator: false,\n keySeparator: false,\n })\n\n const files = await glob([...globPatterns, \"!**/node_modules/**\"])\n console.log(`Found ${files.length} files to scan`)\n\n const extractedKeys = []\n\n for (const file of files) {\n const content = fs.readFileSync(file, \"utf-8\")\n parser.parseFuncFromString(content, { list: [\"t\"] }, (key: string) => {\n extractedKeys.push(key)\n })\n }\n\n const uniqueExtractedKeys = removeDuplicatesFromArray(extractedKeys)\n console.log(`Found ${uniqueExtractedKeys.length} unique translation keys`)\n\n // Filter keys that belong to the source namespace\n const relevantKeys = []\n\n for (const key of uniqueExtractedKeys) {\n const pureKey = getPureKey(\n key,\n sourceNamespace,\n sourceNamespace === defaultNamespace,\n )\n\n if (pureKey) {\n relevantKeys.push(pureKey)\n }\n }\n\n console.log(\n `Found ${relevantKeys.length} keys from namespace '${sourceNamespace}'`,\n )\n\n if (relevantKeys.length === 0) {\n console.log(\"No relevant keys found. Exiting...\")\n return {\n success: false,\n message: \"No relevant keys found\",\n keysCount: 0,\n }\n }\n\n // Get translations from source namespace and create new namespace files\n const results: PruneResult[] = []\n\n for (const locale of locales) {\n try {\n // Load source namespace translations\n const sourceTranslations = await loadLocalesFile(\n loadPath,\n locale,\n sourceNamespace,\n )\n\n // Create new namespace with only the keys used in the glob pattern files\n const newNamespaceTranslations: Record<string, string> = {}\n\n for (const key of relevantKeys) {\n if (sourceTranslations[key]) {\n newNamespaceTranslations[key] = sourceTranslations[key]\n }\n }\n\n // Write the new namespace file\n await writeLocalesFile(\n savePath,\n locale,\n newNamespace,\n newNamespaceTranslations,\n )\n\n const keyCount = Object.keys(newNamespaceTranslations).length\n console.log(\n `Created pruned namespace '${newNamespace}' for locale '${locale}' with ${keyCount} keys`,\n )\n\n results.push({\n locale,\n keyCount,\n success: true,\n })\n } catch (error) {\n console.error(\n `Error creating pruned namespace for locale '${locale}':`,\n error,\n )\n results.push({\n locale,\n keyCount: 0,\n success: false,\n error: error instanceof Error ? error.message : String(error),\n })\n }\n }\n\n console.log(`✅ Successfully created pruned namespace '${newNamespace}'`)\n\n return {\n success: true,\n message: `Created pruned namespace '${newNamespace}' with ${relevantKeys.length} keys`,\n keysCount: relevantKeys.length,\n results,\n }\n}\n","import type { Configuration } from \"../lib/types\"\nimport {\n getTextInput,\n loadLocalesFile,\n translateKey,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nconst getKeyToReplace = async (keys: Record<string, string>) => {\n const keyToReplace = await getTextInput(\n \"Enter the key to replace the translation for: \",\n )\n\n if (!keys[keyToReplace]) {\n console.log(`The key \"${keyToReplace}\" does not exist.`)\n return await getKeyToReplace(keys)\n }\n\n console.log(`The key \"${keyToReplace}\" exists.`)\n return keyToReplace\n}\n\nexport const replaceTranslation = async (\n config: Configuration,\n key?: string,\n) => {\n const {\n loadPath,\n savePath,\n defaultLocale,\n defaultNamespace,\n namespaces,\n locales,\n globPatterns,\n context,\n openai,\n } = config\n\n const keys = await loadLocalesFile(\n config.loadPath,\n config.defaultLocale,\n config.defaultNamespace,\n )\n\n let keyToReplace: string\n\n if (key) {\n if (keys[key]) {\n keyToReplace = key\n console.log(`The key \"${keyToReplace}\" exists.`)\n } else {\n console.log(`The key \"${key}\" does not exist.`)\n keyToReplace = await getKeyToReplace(keys)\n }\n } else {\n keyToReplace = await getKeyToReplace(keys)\n }\n\n console.log(\n `The current translation in ${defaultLocale} for \"${keyToReplace}\" is \"${keys[keyToReplace]}\".`,\n )\n\n const newTranslation = await getTextInput(\"Enter the new translation: \")\n\n for (const locale of locales) {\n let newValue = \"\"\n if (locale === defaultLocale) {\n newValue = newTranslation\n } else {\n const translation = await translateKey({\n context,\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n object: {\n [keyToReplace]: newTranslation,\n },\n openai,\n model: config.model,\n })\n\n newValue = translation[keyToReplace]\n }\n\n const existingKeys = await loadLocalesFile(\n loadPath,\n locale,\n defaultNamespace,\n )\n\n existingKeys[keyToReplace] = newValue\n\n writeLocalesFile(savePath, locale, defaultNamespace, existingKeys)\n\n console.log(\n `The new translation for \"${keyToReplace}\" in ${locale} is \"${newValue}\".`,\n )\n }\n}\n","import console from \"console\"\nimport type { Configuration } from \"../lib/types\"\nimport {\n checkAllKeysExist,\n getMissingKeys,\n getTextInput,\n loadLocalesFile,\n translateKey,\n writeLocalesFile,\n} from \"../lib/utils\"\nimport { removeUnusedKeys } from \"./clean\"\n\nexport const translateMissing = async (config: Configuration) => {\n const {\n loadPath,\n savePath,\n defaultLocale,\n namespaces,\n locales,\n context,\n openai,\n disableTranslation,\n autoClear,\n } = config\n\n // Run clean command first if autoClear is enabled\n if (autoClear) {\n console.log(\"🧹 Auto-clearing unused translations before scanning...\")\n await removeUnusedKeys(config)\n console.log(\n \"✅ Auto-clear completed. Now scanning for missing translations...\\n\",\n )\n }\n\n const newKeys = await getMissingKeys(config)\n\n if (newKeys.length === 0) {\n console.log(\"No new keys found.\")\n\n await checkAllKeysExist(config)\n\n return\n }\n\n console.log(\n `${newKeys.length} keys are missing. Please provide the values for the following keys in ${defaultLocale}:`,\n )\n\n const newKeysWithDefaultLocale = []\n\n for (const newKey of newKeys) {\n const answer = await getTextInput(newKey.key)\n\n newKeysWithDefaultLocale.push({\n key: newKey.key,\n namespace: newKey.namespace,\n value: answer,\n })\n }\n\n const newKeysObject = newKeysWithDefaultLocale.reduce((prev, next) => {\n prev[next.key] = next.value\n\n return prev\n }, {})\n\n const allLocales = disableTranslation ? [defaultLocale] : locales\n\n for (const locale of allLocales) {\n let translatedValues = {}\n\n if (locale === defaultLocale) {\n translatedValues = newKeysObject\n } else {\n translatedValues = await translateKey({\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n context,\n object: newKeysObject,\n openai,\n model: config.model,\n })\n }\n\n for (const namespace of namespaces) {\n const existingKeys = await loadLocalesFile(loadPath, locale, namespace)\n\n const relevantKeys = newKeysWithDefaultLocale.filter(\n (key) => key.namespace === namespace,\n )\n\n if (relevantKeys.length === 0) {\n continue\n }\n\n for (const key of relevantKeys) {\n existingKeys[key.key] = translatedValues[key.key]\n }\n\n writeLocalesFile(savePath, locale, namespace, existingKeys)\n }\n }\n\n await checkAllKeysExist(config)\n\n console.log(`Successfully translated ${newKeys.length} keys.`)\n}\n","import type { Configuration } from \"../lib/types\"\nimport {\n TranslationError,\n loadLocalesFile,\n translateKey,\n writeLocalesFile,\n} from \"../lib/utils\"\n\nexport const syncLocales = async (config: Configuration) => {\n const {\n loadPath,\n savePath,\n defaultLocale,\n namespaces,\n locales,\n context,\n openai,\n } = config\n\n try {\n for (const namespace of namespaces) {\n let defaultLocaleKeys: Record<string, string>\n\n try {\n defaultLocaleKeys = await loadLocalesFile(\n loadPath,\n defaultLocale,\n namespace,\n )\n } catch (error) {\n throw new TranslationError(\n `Failed to load default locale file for namespace \"${namespace}\"`,\n defaultLocale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n\n for (const locale of locales) {\n if (locale === defaultLocale) continue\n\n let localeKeys: Record<string, string>\n try {\n localeKeys = await loadLocalesFile(loadPath, locale, namespace)\n } catch (error) {\n console.warn(\n `Warning: Could not load locale file for ${locale} (namespace: ${namespace}). Creating new file.`,\n )\n localeKeys = {}\n }\n\n const missingKeys: Record<string, string> = {}\n\n // Check which keys from default locale are missing in current locale\n for (const [key, value] of Object.entries(defaultLocaleKeys)) {\n if (!localeKeys[key]) {\n missingKeys[key] = value\n }\n }\n\n // If there are missing keys, translate them\n if (Object.keys(missingKeys).length > 0) {\n console.log(\n `Found ${Object.keys(missingKeys).length} missing keys in ${locale} (namespace: ${namespace})`,\n )\n\n let translatedValues: Record<string, string>\n try {\n translatedValues = await translateKey({\n inputLanguage: defaultLocale,\n outputLanguage: locale,\n context,\n object: missingKeys,\n openai,\n model: config.model,\n })\n } catch (error) {\n throw new TranslationError(\n `Failed to translate keys for locale \"${locale}\" (namespace: ${namespace})`,\n locale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n\n // Merge translated values with existing ones\n const updatedLocaleKeys = {\n ...localeKeys,\n ...translatedValues,\n }\n\n try {\n await writeLocalesFile(\n savePath,\n locale,\n namespace,\n updatedLocaleKeys,\n )\n } catch (error) {\n throw new TranslationError(\n `Failed to save translations for locale \"${locale}\" (namespace: ${namespace})`,\n locale,\n namespace,\n error instanceof Error ? error : undefined,\n )\n }\n\n console.log(\n `Successfully translated and saved ${Object.keys(missingKeys).length} keys for ${locale} (namespace: ${namespace})`,\n )\n } else {\n console.log(\n `No missing keys found for ${locale} (namespace: ${namespace})`,\n )\n }\n }\n }\n } catch (error) {\n if (error instanceof TranslationError) {\n throw error\n }\n throw new TranslationError(\n \"An unexpected error occurred during translation\",\n undefined,\n undefined,\n error instanceof Error ? error : undefined,\n )\n }\n}\n"],"names":["languages","label","name","value","loadConfig","_ref","_ref$configPath","configPath","filePath","path","join","process","cwd","fs","existsSync","console","error","exit","config","require","removeDuplicatesFromArray","arr","filter","item","index","indexOf","translateKey","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","inputLanguage","context","object","openai","outputLanguage","model","entries","chunks","i","result","existingInput","existingOutput","input","output","_i","_chunks","chunk","chunkObject","completion","translatedChunk","wrap","_callee$","_context","prev","next","Object","length","push","slice","find","l","fromEntries","beta","chat","completions","parse","messages","content","role","JSON","stringify","data","response_format","type","sent","choices","message","_extends","Promise","resolve","setTimeout","abrupt","stop","_x","apply","arguments","loadLocalesFile","_ref4","_callee2","loadPath","locale","namespace","resolvedPath","json","_callee2$","_context2","replace","readFileSync","t0","TranslationError","Error","undefined","_x2","_x3","_x4","writeLocalesFile","_ref5","_callee3","savePath","resolvedSavePath","_callee3$","_context3","writeFileSync","_x5","_x6","_x7","_x8","getPureKey","key","isDefault","splitted","split","getMissingKeys","_ref7","_callee4","_ref6","globPatterns","namespaces","defaultNamespace","defaultLocale","parser","files","keys","_iterator","_step","file","uniqueKeys","newKeys","_iterator2","_step2","existingKeys","_iterator3","_step3","pureKey","_callee4$","_context4","Parser","nsSeparator","keySeparator","glob","concat","_createForOfIteratorHelperLoose","done","parseFuncFromString","list","log","_x9","getTextInput","_ref8","_callee5","prompt","_callee5$","_context5","prompts","onState","state","aborted","nextTick","_x10","checkAllKeysExist","_ref10","_callee6","_ref9","locales","disableTranslation","_iterator4","_step4","defaultLocaleKeys","_iterator5","_step5","localeKeys","missingKeys","_i2","_Object$entries","_Object$entries$_i","translatedValues","updatedLocaleKeys","_callee6$","_context6","_x11","_Error","cause","_this","call","_inheritsLoose","_wrapNativeSuper","checkMissing","removeUnusedKeys","extractedKeys","uniqueExtractedKeys","stats","usedKeysSet","existingKeysCount","cleanedKeys","removedCount","_key","total","removed","Set","add","has","createPrunedNamespace","sourceNamespaceResponse","sourceNamespace","newNamespaceResponse","newNamespace","globPatternsResponse","selectedGlobPatterns","relevantKeys","sourceTranslations","newNamespaceTranslations","map","title","validate","includes","initial","separator","createPrunedNamespaceAutomated","options","results","keyCount","success","keysCount","String","getKeyToReplace","keyToReplace","replaceTranslation","newTranslation","newValue","_object","translation","translateMissing","autoClear","newKeysWithDefaultLocale","newKey","answer","newKeysObject","allLocales","_loop","reduce","_loop$","delegateYield","syncLocales","t1","warn","t2","t3","t4"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1 +1,11 @@
1
- export {};
1
+ export { checkMissing } from "./commands/check-missing";
2
+ export { removeUnusedKeys } from "./commands/clean";
3
+ export { createPrunedNamespace } from "./commands/create-pruned-namespace";
4
+ export { createPrunedNamespaceAutomated } from "./commands/create-pruned-namespace-automated";
5
+ export { replaceTranslation } from "./commands/replace";
6
+ export { translateMissing } from "./commands/scan";
7
+ export { syncLocales } from "./commands/sync-locales";
8
+ export { loadConfig } from "./lib/utils";
9
+ export type { PruneOptions, PruneResponse, PruneResult, } from "./commands/create-pruned-namespace-automated";
10
+ export type { CommandType, Configuration, NamespacePruneConfig, } from "./lib/types";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,8CAA8C,CAAA;AACrD,YAAY,EACV,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -1,9 +1,22 @@
1
- #!/usr/bin/env node
2
-
3
- 'use strict'
4
-
5
- if (process.env.NODE_ENV === 'production') {
6
- module.exports = require('./i18n-magic.cjs.production.min.js')
7
- } else {
8
- module.exports = require('./i18n-magic.cjs.development.js')
9
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadConfig = exports.syncLocales = exports.translateMissing = exports.replaceTranslation = exports.createPrunedNamespaceAutomated = exports.createPrunedNamespace = exports.removeUnusedKeys = exports.checkMissing = void 0;
4
+ // Export command functions for programmatic usage
5
+ var check_missing_1 = require("./commands/check-missing");
6
+ Object.defineProperty(exports, "checkMissing", { enumerable: true, get: function () { return check_missing_1.checkMissing; } });
7
+ var clean_1 = require("./commands/clean");
8
+ Object.defineProperty(exports, "removeUnusedKeys", { enumerable: true, get: function () { return clean_1.removeUnusedKeys; } });
9
+ var create_pruned_namespace_1 = require("./commands/create-pruned-namespace");
10
+ Object.defineProperty(exports, "createPrunedNamespace", { enumerable: true, get: function () { return create_pruned_namespace_1.createPrunedNamespace; } });
11
+ var create_pruned_namespace_automated_1 = require("./commands/create-pruned-namespace-automated");
12
+ Object.defineProperty(exports, "createPrunedNamespaceAutomated", { enumerable: true, get: function () { return create_pruned_namespace_automated_1.createPrunedNamespaceAutomated; } });
13
+ var replace_1 = require("./commands/replace");
14
+ Object.defineProperty(exports, "replaceTranslation", { enumerable: true, get: function () { return replace_1.replaceTranslation; } });
15
+ var scan_1 = require("./commands/scan");
16
+ Object.defineProperty(exports, "translateMissing", { enumerable: true, get: function () { return scan_1.translateMissing; } });
17
+ var sync_locales_1 = require("./commands/sync-locales");
18
+ Object.defineProperty(exports, "syncLocales", { enumerable: true, get: function () { return sync_locales_1.syncLocales; } });
19
+ // Export utility functions
20
+ var utils_1 = require("./lib/utils");
21
+ Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return utils_1.loadConfig; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,0DAAuD;AAA9C,6GAAA,YAAY,OAAA;AACrB,0CAAmD;AAA1C,yGAAA,gBAAgB,OAAA;AACzB,8EAA0E;AAAjE,gIAAA,qBAAqB,OAAA;AAC9B,kGAA6F;AAApF,mJAAA,8BAA8B,OAAA;AACvC,8CAAuD;AAA9C,6GAAA,kBAAkB,OAAA;AAC3B,wCAAkD;AAAzC,wGAAA,gBAAgB,OAAA;AACzB,wDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,2BAA2B;AAC3B,qCAAwC;AAA/B,mGAAA,UAAU,OAAA"}
@@ -3,3 +3,4 @@ export declare const languages: {
3
3
  name: string;
4
4
  value: string;
5
5
  }[];
6
+ //# sourceMappingURL=languges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languges.d.ts","sourceRoot":"","sources":["../../src/lib/languges.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;GA6IrB,CAAA"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.languages = void 0;
4
+ exports.languages = [
5
+ {
6
+ label: "Deutsch",
7
+ name: "German",
8
+ value: "de",
9
+ },
10
+ {
11
+ label: "English",
12
+ name: "English",
13
+ value: "en",
14
+ },
15
+ {
16
+ label: "Español",
17
+ name: "Spanish",
18
+ value: "es",
19
+ },
20
+ {
21
+ label: "Français",
22
+ name: "French",
23
+ value: "fr",
24
+ },
25
+ {
26
+ label: "Dansk",
27
+ name: "Danish",
28
+ value: "dk",
29
+ },
30
+ {
31
+ label: "中文",
32
+ name: "Chinese",
33
+ value: "cn",
34
+ },
35
+ {
36
+ label: "Русский",
37
+ name: "Russian",
38
+ value: "ru",
39
+ },
40
+ {
41
+ label: "Italiano",
42
+ name: "Italian",
43
+ value: "it",
44
+ },
45
+ {
46
+ label: "Nederlands",
47
+ name: "Dutch",
48
+ value: "nl",
49
+ },
50
+ {
51
+ label: "Português",
52
+ name: "Portuguese",
53
+ value: "pt",
54
+ },
55
+ {
56
+ label: "Türkçe",
57
+ name: "Turkish",
58
+ value: "tr",
59
+ },
60
+ {
61
+ label: "Polski",
62
+ name: "Polish",
63
+ value: "pl",
64
+ },
65
+ {
66
+ label: "Українська",
67
+ name: "Ukrainian",
68
+ value: "ua",
69
+ },
70
+ {
71
+ label: "Suomi",
72
+ name: "Finnish",
73
+ value: "fi",
74
+ },
75
+ {
76
+ label: "Norsk",
77
+ name: "Norwegian",
78
+ value: "no",
79
+ },
80
+ {
81
+ label: "Svenska",
82
+ name: "Swedish",
83
+ value: "sv",
84
+ },
85
+ {
86
+ label: "Čeština",
87
+ name: "Czech",
88
+ value: "cz",
89
+ },
90
+ {
91
+ label: "Ελληνικά",
92
+ name: "Greek",
93
+ value: "gr",
94
+ },
95
+ {
96
+ label: "日本語",
97
+ name: "Japanese",
98
+ value: "jp",
99
+ },
100
+ {
101
+ label: "한국어",
102
+ name: "Korean",
103
+ value: "kr",
104
+ },
105
+ {
106
+ label: "Română",
107
+ name: "Romanian",
108
+ value: "ro",
109
+ },
110
+ {
111
+ label: "Hrvatski",
112
+ name: "Croatian",
113
+ value: "hr",
114
+ },
115
+ {
116
+ label: "Magyar",
117
+ name: "Hungarian",
118
+ value: "hu",
119
+ },
120
+ {
121
+ label: "Slovensky",
122
+ name: "Slovak",
123
+ value: "sk",
124
+ },
125
+ {
126
+ label: "हिन्दी",
127
+ name: "Hindi",
128
+ value: "hi",
129
+ },
130
+ {
131
+ label: "தமிழ்",
132
+ name: "Tamil",
133
+ value: "ta",
134
+ },
135
+ {
136
+ label: "Bahasa Indonesia",
137
+ name: "Indonesian",
138
+ value: "id",
139
+ },
140
+ {
141
+ label: "Tiếng Việt",
142
+ name: "Vietnamese",
143
+ value: "vn",
144
+ },
145
+ ];
146
+ //# sourceMappingURL=languges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languges.js","sourceRoot":"","sources":["../../src/lib/languges.ts"],"names":[],"mappings":"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"}