i18ntk 1.2.2 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +75 -2
  2. package/LICENSE +3 -1
  3. package/README.md +48 -47
  4. package/docs/README.md +42 -19
  5. package/docs/SCRIPT_DIRECTORY_GUIDE.md +278 -0
  6. package/docs/release-notes/v1.3.0.md +162 -0
  7. package/docs/release-notes/v1.3.1.md +136 -0
  8. package/main/i18ntk-analyze.js +14 -6
  9. package/main/i18ntk-autorun.js +37 -36
  10. package/main/i18ntk-complete.js +9 -5
  11. package/main/i18ntk-init.js +16 -12
  12. package/main/i18ntk-manage.js +6 -4
  13. package/main/i18ntk-sizing.js +12 -12
  14. package/main/i18ntk-summary.js +6 -2
  15. package/main/i18ntk-usage.js +5 -5
  16. package/main/i18ntk-validate.js +9 -5
  17. package/package.json +20 -19
  18. package/scripts/copy-translations.js +90 -0
  19. package/settings/i18ntk-config.json +10 -0
  20. package/settings/settings-cli.js +201 -77
  21. package/settings/settings-manager.js +19 -0
  22. package/ui-locales/de/autorun.json +69 -64
  23. package/ui-locales/de/common.json +14 -1
  24. package/ui-locales/de/errors.json +11 -1
  25. package/ui-locales/de/menu.json +10 -1
  26. package/ui-locales/de/operations.json +11 -0
  27. package/ui-locales/de/security.json +2 -1
  28. package/ui-locales/de/settings.json +67 -9
  29. package/ui-locales/de/sizing.json +14 -1
  30. package/ui-locales/de/status.json +18 -1
  31. package/ui-locales/de/test-complete-system.json +13 -1
  32. package/ui-locales/en/autorun.json +68 -65
  33. package/ui-locales/en/common.json +15 -1
  34. package/ui-locales/en/init.json +20 -5
  35. package/ui-locales/en/menu.json +1 -0
  36. package/ui-locales/en/operations.json +11 -1
  37. package/ui-locales/en/settings.json +158 -35
  38. package/ui-locales/en/validate.json +1 -0
  39. package/ui-locales/es/autorun.json +68 -65
  40. package/ui-locales/es/common.json +14 -1
  41. package/ui-locales/es/errors.json +11 -1
  42. package/ui-locales/es/menu.json +10 -1
  43. package/ui-locales/es/operations.json +11 -0
  44. package/ui-locales/es/security.json +2 -1
  45. package/ui-locales/es/settings.json +60 -9
  46. package/ui-locales/es/sizing.json +14 -1
  47. package/ui-locales/es/status.json +18 -1
  48. package/ui-locales/es/test-complete-system.json +13 -1
  49. package/ui-locales/fr/autorun.json +69 -64
  50. package/ui-locales/fr/common.json +14 -1
  51. package/ui-locales/fr/errors.json +11 -1
  52. package/ui-locales/fr/menu.json +10 -1
  53. package/ui-locales/fr/operations.json +11 -0
  54. package/ui-locales/fr/security.json +2 -1
  55. package/ui-locales/fr/settings.json +60 -9
  56. package/ui-locales/fr/sizing.json +14 -1
  57. package/ui-locales/fr/status.json +18 -1
  58. package/ui-locales/fr/test-complete-system.json +13 -1
  59. package/ui-locales/ja/autorun.json +69 -64
  60. package/ui-locales/ja/common.json +14 -1
  61. package/ui-locales/ja/errors.json +11 -1
  62. package/ui-locales/ja/menu.json +10 -1
  63. package/ui-locales/ja/operations.json +11 -0
  64. package/ui-locales/ja/security.json +2 -1
  65. package/ui-locales/ja/settings.json +60 -9
  66. package/ui-locales/ja/sizing.json +14 -1
  67. package/ui-locales/ja/status.json +18 -1
  68. package/ui-locales/ja/test-complete-system.json +13 -1
  69. package/ui-locales/pt/analyze.json +2 -1
  70. package/ui-locales/pt/autorun.json +69 -64
  71. package/ui-locales/pt/common.json +14 -1
  72. package/ui-locales/pt/errors.json +11 -1
  73. package/ui-locales/pt/init.json +5 -1
  74. package/ui-locales/pt/menu.json +10 -1
  75. package/ui-locales/pt/operations.json +11 -0
  76. package/ui-locales/pt/security.json +2 -1
  77. package/ui-locales/pt/settings.json +60 -9
  78. package/ui-locales/pt/sizing.json +14 -1
  79. package/ui-locales/pt/status.json +18 -1
  80. package/ui-locales/pt/test-complete-system.json +13 -1
  81. package/ui-locales/ru/autorun.json +69 -64
  82. package/ui-locales/ru/common.json +14 -1
  83. package/ui-locales/ru/errors.json +11 -1
  84. package/ui-locales/ru/menu.json +10 -1
  85. package/ui-locales/ru/operations.json +11 -0
  86. package/ui-locales/ru/security.json +2 -1
  87. package/ui-locales/ru/settings.json +60 -9
  88. package/ui-locales/ru/sizing.json +14 -1
  89. package/ui-locales/ru/status.json +18 -1
  90. package/ui-locales/ru/test-complete-system.json +13 -1
  91. package/ui-locales/zh/autorun.json +69 -64
  92. package/ui-locales/zh/common.json +14 -1
  93. package/ui-locales/zh/errors.json +11 -1
  94. package/ui-locales/zh/menu.json +10 -1
  95. package/ui-locales/zh/operations.json +11 -0
  96. package/ui-locales/zh/security.json +2 -1
  97. package/ui-locales/zh/settings.json +67 -9
  98. package/ui-locales/zh/sizing.json +13 -1
  99. package/ui-locales/zh/status.json +25 -8
  100. package/ui-locales/zh/test-complete-system.json +13 -1
  101. package/utils/test-complete-system.js +178 -162
  102. package/settings/backups/i18ntk-config-backup-2025-08-01T23-38-43-753Z.json +0 -117
  103. package/ui-locales/de-old.json +0 -705
  104. package/ui-locales/de.json +0 -15
  105. package/ui-locales/en-old.json +0 -709
  106. package/ui-locales/en.json +0 -15
  107. package/ui-locales/es-old.json +0 -654
  108. package/ui-locales/es.json +0 -15
  109. package/ui-locales/fr-old.json +0 -606
  110. package/ui-locales/fr.json +0 -15
  111. package/ui-locales/ja-old.json +0 -660
  112. package/ui-locales/ja.json +0 -15
  113. package/ui-locales/pt.json +0 -15
  114. package/ui-locales/ru-old.json +0 -655
  115. package/ui-locales/ru.json +0 -15
  116. package/ui-locales/zh-old.json +0 -647
  117. package/ui-locales/zh.json +0 -15
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "title": "⚙️ Settings Management",
3
3
  "separator": "============================================================",
4
+ "goodbyeMessage": "Thank you for using the i18ntk settings manager!",
5
+ "relativePathHint": "Use relative paths from this directory (e.g., ./src/i18n/locales)",
6
+ "currentDirectory": "Current project directory",
4
7
  "mainMenu": {
5
8
  "title": "Main Menu:",
6
9
  "uiSettings": "UI Settings",
@@ -14,6 +17,8 @@
14
17
  "viewAllSettings": "View All Settings",
15
18
  "viewAllSettingsDesc": "Display current configuration",
16
19
  "importExport": "Import/Export",
20
+ "updatePackage": "Update Package",
21
+ "updatePackageDesc": "Update the i18n-toolkit package via npm",
17
22
  "importExportDesc": "Backup and restore settings",
18
23
  "resetToDefaults": "Reset to Defaults",
19
24
  "resetToDefaultsDesc": "Restore factory settings",
@@ -25,13 +30,95 @@
25
30
  "helpDesc": "Show detailed help information",
26
31
  "quit": "Quit",
27
32
  "quitDesc": "Exit settings (with save prompt if needed)",
28
- "selectOption": "Select an option: "
33
+ "unsavedChangesWarning": "⚠️ You have unsaved changes",
34
+ "saveChangesBeforeQuit": "Do you want to save changes before quitting? (y/N): ",
35
+ "selectOption": "Select an option: ",
36
+ "goodbyeMessage": "Thank you for using the i18n settings manager!",
37
+ "selectSettingPrompt": "Select a setting to edit (or 'b' to go back): ",
38
+ "enterNewValue": "Enter new value: ",
39
+ "updatedSuccessfully": "{{setting}} updated successfully!",
40
+ "scriptDirectorySettings": "Script Directory Settings",
41
+ "scriptDirectoryDesc": "Specify custom directories for each script",
42
+ "scriptDirectorySettingsDesc": "You can set custom directories for each script. If not set, global settings will be used.",
43
+ "currentDirectory": "Current project directory"
29
44
  },
45
+ "updatePackage": {
46
+ "title": "Update Package",
47
+ "description": "Update the i18n-toolkit package via npm",
48
+ "command": "npm update i18ntk -g",
49
+ "success": "Update completed successfully.",
50
+ "failed": "Update failed.",
51
+ "prompt": "Do you want to update the package now? (y/N): ",
52
+ "promptDesc": "Note: This will update the i18ntk package to the latest version.",
53
+ "confirm": "y",
54
+ "cancelled": "Update cancelled."
55
+ },
56
+ "admin": {
57
+ "selectOption": "Select option: ",
58
+ "updateSuccess": "Admin PIN updated successfully!",
59
+ "updateFailed": "Failed to update admin PIN.",
60
+ "protectionRemoved": "Admin PIN protection removed.",
61
+ "configSuccess": "Admin PIN configured successfully!",
62
+ "configFailed": "Failed to configure admin PIN.",
63
+ "setupPinPrompt": "Would you like to set up an admin PIN? (y/N): ",
64
+ "pinUpdatedSuccess": "Admin PIN updated successfully!",
65
+ "pinUpdatedFailed": "Failed to update admin PIN.",
66
+ "pinRemoved": "Admin PIN protection removed.",
67
+ "pinConfiguredSuccess": "Admin PIN configured successfully!",
68
+ "pinConfiguredFailed": "Failed to configure admin PIN.",
69
+ "accessDenied": "❌ Access denied. Returning to menu.",
70
+ "setupPin": "🔐 Setting up admin PIN...",
71
+ "setupFailed": "❌ Failed to set up admin PIN. Setting not changed.",
72
+ "pinConfigured": "📌 Admin PIN is currently configured.",
73
+ "options": "Options:",
74
+ "changePin": "1) Change existing PIN",
75
+ "removePin": "2) Remove PIN protection",
76
+ "cancel": "3) Cancel",
77
+ "verifyCurrentPin": "\n🔐 Verify current PIN first:",
78
+ "settingNewPin": "\n🔄 Setting up new PIN...",
79
+ "verifyToRemove": "\n🔐 Verify current PIN to remove protection:",
80
+ "noPinConfigured": "🔓 No admin PIN is currently configured.",
81
+ "pinBenefits": "Setting up admin PIN will add security for:",
82
+ "benefitSecurity": "• Changing security settings",
83
+ "benefitAdvanced": "• Modifying advanced configurations",
84
+ "benefitDebug": "• Accessing debug tools",
85
+ "benefitReset": "• Resetting settings",
86
+ "setupCancelled": "⏭️ Admin PIN setup cancelled.",
87
+ "operationCancelled": "❌ Operation cancelled.",
88
+ "startingSettings": "🎛️ Starting Settings CLI...",
89
+ "authRequired": "🔒 Admin authentication required for: {{label}}",
90
+ "pinSetupTitle": "Admin PIN Setup",
91
+ "browserOpenFailed": "Could not automatically open browser.",
92
+ "manualVisit": "Please manually visit: {{url}}",
93
+ "browserOpened": "✅ Browser opened successfully!"
94
+ },
95
+ "importExport": {
96
+ "enterFilename": "Enter filename (or press Enter for default): ",
97
+ "exportSuccess": "Settings exported to {{file}}",
98
+ "exportFailed": "Failed to export settings: {{error}}",
99
+ "importFilename": "Enter filename to import: ",
100
+ "fileNotFound": "File not found.",
101
+ "invalidFormat": "Invalid settings file format.",
102
+ "confirmImport": "This will replace all current settings. Continue? (y/N): ",
103
+ "importSuccess": "Settings imported successfully.",
104
+ "importFailed": "Failed to import settings: {{error}}",
105
+ "backupSuccess": "Backup created: {{file}}",
106
+ "backupFailed": "Failed to create backup: {{error}}"
107
+ },
108
+ "resetConfirm": "Are you sure you want to continue? (y/N): ",
109
+ "resetSuccess": "Settings reset to defaults successfully.",
110
+ "resetFailed": "Failed to reset settings: {error}",
111
+ "saveSuccess": "Settings saved successfully.",
112
+ "saveFailed": "Failed to save settings.",
113
+ "pressEnter": "Press Enter to continue...",
114
+ "initFailed": "Failed to initialize settings: {error}",
115
+ "invalidValueFormat": "Invalid value format.",
30
116
  "categories": {
31
117
  "uiSettings": "UI Settings",
32
118
  "directorySettings": "Directory Settings",
33
119
  "processingSettings": "Processing Settings",
34
- "advancedSettings": "Advanced Settings"
120
+ "advancedSettings": "Advanced Settings",
121
+ "scriptDirectorySettings": "Script Directory Settings"
35
122
  },
36
123
  "fields": {
37
124
  "language": {
@@ -40,6 +127,17 @@
40
127
  "current": "Current: {value}",
41
128
  "help": "Select your preferred interface language"
42
129
  },
130
+ "scriptDirectories": {
131
+ "analyzeLabel": "Analyze Script Directories",
132
+ "analyzeHelp": "Analyze script directories for issues",
133
+ "completeLabel": "Complete Setup Directories",
134
+ "initLabel": "Initialize Script Directories",
135
+ "manageLabel": "Manage Script Directories",
136
+ "sizingLabel": "Sizing Script Directories",
137
+ "summaryLabel": "Summary Report Directories",
138
+ "usageLabel": "Usage Report Directories",
139
+ "validateLabel": "Validate Script Directories"
140
+ },
43
141
  "theme": {
44
142
  "label": "Color Theme",
45
143
  "description": "UI theme preference",
@@ -113,6 +211,54 @@
113
211
  "description": "Create backups before modifications",
114
212
  "current": "Current: {value}",
115
213
  "help": "Automatically create backups before making changes"
214
+ },
215
+ "scriptDirectories_analyze": {
216
+ "label": "Analyze Script Directories",
217
+ "description": "Custom directories for analyze script",
218
+ "current": "Current: {value}",
219
+ "help": "Specify custom source directory for the analyze script. Leave empty to use global setting."
220
+ },
221
+ "scriptDirectories_complete": {
222
+ "label": "Complete Setup Directories",
223
+ "description": "Custom directories for complete setup script",
224
+ "current": "Current: {value}",
225
+ "help": "Specify custom source directory for the complete setup script. Leave empty to use global setting."
226
+ },
227
+ "scriptDirectories_init": {
228
+ "label": "Initialize Script Directories",
229
+ "description": "Custom directories for initialize script",
230
+ "current": "Current: {value}",
231
+ "help": "Specify custom source directory for the initialize script. Leave empty to use global setting."
232
+ },
233
+ "scriptDirectories_manage": {
234
+ "label": "Manage Script Directories",
235
+ "description": "Custom directories for manage script",
236
+ "current": "Current: {value}",
237
+ "help": "Specify custom source directory for the manage script. Leave empty to use global setting."
238
+ },
239
+ "scriptDirectories_sizing": {
240
+ "label": "Sizing Script Directories",
241
+ "description": "Custom directories for sizing script",
242
+ "current": "Current: {value}",
243
+ "help": "Specify custom source directory for the sizing script. Leave empty to use global setting."
244
+ },
245
+ "scriptDirectories_summary": {
246
+ "label": "Summary Report Directories",
247
+ "description": "Custom directories for summary report script",
248
+ "current": "Current: {value}",
249
+ "help": "Specify custom source directory for the summary report script. Leave empty to use global setting."
250
+ },
251
+ "scriptDirectories_usage": {
252
+ "label": "Usage Report Directories",
253
+ "description": "Custom directories for usage report script",
254
+ "current": "Current: {value}",
255
+ "help": "Specify custom source directory for the usage report script. Leave empty to use global setting."
256
+ },
257
+ "scriptDirectories_validate": {
258
+ "label": "Validate Script Directories",
259
+ "description": "Custom directories for validate script",
260
+ "current": "Current: {value}",
261
+ "help": "Specify custom source directory for the validate script. Leave empty to use global setting."
116
262
  }
117
263
  },
118
264
  "actions": {
@@ -132,7 +278,8 @@
132
278
  },
133
279
  "themes": {
134
280
  "light": "Light",
135
- "dark": "Dark"
281
+ "dark": "Dark",
282
+ "system": "System"
136
283
  },
137
284
  "languages": {
138
285
  "en": "English",
@@ -153,43 +300,19 @@
153
300
  "viewAll": {
154
301
  "title": "View All Settings"
155
302
  },
156
- "importExport": {
157
- "title": "Import/Export Settings",
158
- "export": "Export Settings",
159
- "import": "Import Settings",
160
- "backup": "Create Backup"
161
- },
162
- "pressEnter": "Press Enter to continue...",
163
- "selectOption": "Select an option: ",
164
303
  "current": "Current",
165
304
  "back": "Back to main menu",
166
- "selectSettingPrompt": "Select setting to edit (or b for back): ",
305
+ "selectSettingPrompt": "Select setting to edit (or b for back, r for reset): ",
167
306
  "invalidOption": "Invalid option.",
168
307
  "editing": "Editing",
169
- "enterNewValue": "Enter new value (or press Enter to keep current):",
308
+ "enterNewValue": "Enter new value (or press Enter to keep current, type 'default' to use system default):",
170
309
  "validOptions": "Valid options",
171
310
  "updatedSuccessfully": "updated successfully!",
172
311
  "noHelp": "No help available for this setting",
173
- "admin": {
174
- "accessDenied": " Access denied. Returning to menu.",
175
- "setupPin": "🔐 Setting up admin PIN...",
176
- "setupFailed": " Failed to set up admin PIN. Setting not changed.",
177
- "pinConfigured": "📌 Admin PIN is currently configured.",
178
- "options": "Options:",
179
- "changePin": "1) Change existing PIN",
180
- "removePin": "2) Remove PIN protection",
181
- "cancel": "3) Cancel",
182
- "verifyCurrentPin": "\n🔐 Verify current PIN first:",
183
- "settingNewPin": "\n🔄 Setting up new PIN...",
184
- "verifyToRemove": "\n🔐 Verify current PIN to remove protection:",
185
- "noPinConfigured": "🔓 No admin PIN is currently configured.",
186
- "pinBenefits": "Setting up admin PIN will add security for:",
187
- "benefitSecurity": "• Changing security settings",
188
- "benefitAdvanced": "• Modifying advanced configurations",
189
- "benefitDebug": "• Accessing debug tools",
190
- "benefitReset": "• Resetting settings",
191
- "setupCancelled": "⏭️ Admin PIN setup cancelled.",
192
- "operationCancelled": "❌ Operation cancelled.",
193
- "startingSettings": "🎛️ Starting Settings CLI..."
312
+ "resetScriptDirectories": "Reset to Default Values",
313
+ "resetScriptDirectoriesTitle": "Reset Script Directories to Defaults",
314
+ "resetScriptDirectoriesWarning1": "This will reset all script directory configurations to their system defaults.",
315
+ "resetScriptDirectoriesWarning2": "All custom directory paths will be cleared. This action cannot be undone.",
316
+ "resetScriptDirectoriesConfirm": "Are you sure you want to reset all script directories to defaults? (y/N): "
194
317
  }
195
- }
318
+
@@ -14,6 +14,7 @@
14
14
  "syntaxErrorsCount": "❌ Syntax errors: {count}",
15
15
  "translationPercentage": "🎯 Translation: {percentage}% ({translated}/{total} keys)",
16
16
  "validationSummary": "📊 VALIDATION SUMMARY",
17
+ "validation_failed": "❌ Validation failed: {error}",
17
18
  "totalErrors": "❌ Total errors: {count}",
18
19
  "totalWarnings": "⚠️ Total warnings: {count}",
19
20
  "errorsSection": "❌ ERRORS",
@@ -1,66 +1,69 @@
1
1
  {
2
- "missingRequiredFile": "Missing required file: {file}",
3
- "runInitializationFirst": "Please run initialization first.",
4
- "initializationCheckPassed": "Initialization check passed.",
5
- "runningStep": "Running step: {stepName}",
6
- "commandLabel": "Command: {command}",
7
- "stepRunning": "Step '{stepName}' running...",
8
- "stepCompletedWithTime": "Step '{stepName}' completed in {duration}ms.",
9
- "stepCompleted": "Step '{stepName}' completed.",
10
- "stepFailed": "Step '{stepName}' failed.",
11
- "errorLabel": "Error: {error}",
12
- "stepFailedWithError": "Step '{stepName}' failed with error: {error}",
13
- "requiredStepFailed": "Required step failed. Stopping workflow.",
14
- "optionalStepFailed": "Optional step failed. Continuing workflow.",
15
- "startingAutoRunWorkflow": "Starting Auto-Run Workflow...",
16
- "workflowIncludesSteps": "Workflow includes {count} steps:",
17
- "stepRequired": "(Required)",
18
- "stepOptional": "(Optional)",
19
- "startingExecution": "Starting execution...",
20
- "workflowStopped": "Workflow stopped.",
21
- "workflowCompleted": "Workflow completed.",
22
- "pressEnterToContinue": "Press Enter to continue...",
23
- "runningSelectedSteps": "Running selected steps...",
24
- "invalidStepNumber": "Invalid step number: {stepNum}",
25
- "executionReport": "Execution Report:",
26
- "successfulSteps": "Successful steps: {count}",
27
- "failedSteps": "Failed steps: {count}",
28
- "requiredFailedSteps": "Required steps failed: {count}",
29
- "stepDetails": "Step Details:",
30
- "errorDetails": "Error: {error}",
31
- "reportSavedTo": "Report saved to: {path}",
32
- "overallStatusSuccess": "SUCCESS",
33
- "overallStatusFailed": "FAILED",
34
- "overallStatus": "Overall Status: {status}",
35
- "customSettingsConfiguration": "Custom Settings Configuration",
36
- "pressEnterForDefaults": "Press Enter to use default settings for any prompt.",
37
- "sourceDirPrompt": "Enter source directory (default: {default}): ",
38
- "sourceLangPrompt": "Enter source language (default: {default}): ",
39
- "targetLangsPrompt": "Enter target languages (comma-separated, default: {default}): ",
40
- "translationMarkerPrompt": "Enter translation marker (default: {default}): ",
41
- "outputDirPrompt": "Enter output directory for reports (default: {default}): ",
42
- "settingsUpdatedSuccessfully": "Settings updated successfully!",
43
- "errorConfiguringSettings": "Error configuring settings: {error}",
44
- "autoRunScriptTitle": "Auto-Run Script",
45
- "usageTitle": "Usage:",
46
- "runAllSteps": "node i18ntk-autorun.js --all - Run all steps defined in i18ntk-config.json",
47
- "configureSettingsFirst": "node i18ntk-autorun.js --config - Configure settings for the workflow",
48
- "runSpecificSteps": "node i18ntk-autorun.js --steps <step_numbers> - Run specific steps (e.g., --steps 1,3,5)",
49
- "showHelp": "node i18ntk-autorun.js --help - Show this help message",
50
- "availableSteps": "Available Steps:",
51
- "examplesTitle": "Examples:",
52
- "configExample": "node i18ntk-autorun.js --config",
53
- "stepsExample1": "node i18ntk-autorun.js --steps 1,2,3",
54
- "stepsExample2": "node i18ntk-autorun.js --all",
55
- "configurationComplete": "Configuration complete.",
56
- "runAutoRunCommand": "Now you can run the auto-run command.",
57
- "configurationFailed": "Configuration failed: {error}",
58
- "noValidStepNumbers": "No valid step numbers provided.",
59
- "autoRunFailed": "Auto-run failed: {error}",
60
- "stepAnalyzeTranslations": "Analizar traducciones",
61
- "stepValidateTranslations": "Validar traducciones",
62
- "stepCheckUsage": "Verificar uso",
63
- "stepCompleteTranslations": "Completar traducciones",
64
- "stepAnalyzeSizing": "Analizar tamaño",
65
- "stepGenerateSummary": "Generar resumen"
66
- }
2
+ "missingRequiredFile": "[ES] Missing required file: {file}",
3
+ "runInitializationFirst": "[ES] Please run initialization first.",
4
+ "initializationCheckPassed": "[ES] Initialization check passed.",
5
+ "runningStep": "[ES] Running step: {stepName}",
6
+ "commandLabel": "[ES] Command: {command}",
7
+ "stepRunning": "[ES] Step '{stepName}' running...",
8
+ "stepCompletedWithTime": "[ES] Step '{stepName}' completed in {duration}ms.",
9
+ "stepCompleted": "[ES] Step '{stepName}' completed.",
10
+ "stepFailed": "[ES] Step '{stepName}' failed.",
11
+ "errorLabel": "[ES] Error: {error}",
12
+ "stepFailedWithError": "[ES] Step '{stepName}' failed with error: {error}",
13
+ "requiredStepFailed": "[ES] Required step failed. Stopping workflow.",
14
+ "optionalStepFailed": "[ES] Optional step failed. Continuing workflow.",
15
+ "startingAutoRunWorkflow": "[ES] Starting Auto-Run Workflow...",
16
+ "workflowIncludesSteps": "[ES] Workflow includes {count} steps:",
17
+ "stepRequired": "[ES] (Required)",
18
+ "stepOptional": "[ES] (Optional)",
19
+ "startingExecution": "[ES] Starting execution...",
20
+ "workflowStopped": "[ES] Workflow stopped.",
21
+ "workflowCompleted": "[ES] Workflow completed.",
22
+ "pressEnterToContinue": "[ES] Press Enter to continue...",
23
+ "runningSelectedSteps": "[ES] Running selected steps...",
24
+ "invalidStepNumber": "[ES] Invalid step number: {stepNum}",
25
+ "executionReport": "[ES] Execution Report:",
26
+ "successfulSteps": "[ES] Successful steps: {count}",
27
+ "failedSteps": "[ES] Failed steps: {count}",
28
+ "requiredFailedSteps": "[ES] Required steps failed: {count}",
29
+ "stepDetails": "[ES] Step Details:",
30
+ "errorDetails": "[ES] Error: {error}",
31
+ "reportSavedTo": "[ES] Report saved to: {path}",
32
+ "overallStatusSuccess": "[ES] SUCCESS",
33
+ "overallStatusFailed": "[ES] FAILED",
34
+ "overallStatus": "[ES] Overall Status: {status}",
35
+ "customSettingsConfiguration": "[ES] Custom Settings Configuration",
36
+ "pressEnterForDefaults": "[ES] Press Enter to use default settings for any prompt.",
37
+ "sourceDirPrompt": "[ES] Enter source directory (default: {default}): ",
38
+ "sourceLangPrompt": "[ES] Enter source language (default: {default}): ",
39
+ "targetLangsPrompt": "[ES] Enter target languages (comma-separated, default: {default}): ",
40
+ "translationMarkerPrompt": "[ES] Enter translation marker (default: {default}): ",
41
+ "outputDirPrompt": "[ES] Enter output directory for reports (default: {default}): ",
42
+ "settingsUpdatedSuccessfully": "[ES] Settings updated successfully!",
43
+ "errorConfiguringSettings": "[ES] Error configuring settings: {error}",
44
+ "autoRunScriptTitle": "[ES] Auto-Run Script",
45
+ "usageTitle": "[ES] Usage:",
46
+ "runAllSteps": "[ES] node i18ntk-autorun.js --all - Run all steps defined in i18ntk-config.json",
47
+ "configureSettingsFirst": "[ES] node i18ntk-autorun.js --config - Configure settings for the workflow",
48
+ "runSpecificSteps": "[ES] node i18ntk-autorun.js --steps <step_numbers> - Run specific steps (e.g., --steps 1,3,5)",
49
+ "showHelp": "[ES] node i18ntk-autorun.js --help - Show this help message",
50
+ "availableSteps": "[ES] Available Steps:",
51
+ "examplesTitle": "[ES] Examples:",
52
+ "configExample": "[ES] node i18ntk-autorun.js --config",
53
+ "stepsExample1": "[ES] node i18ntk-autorun.js --steps 1,2,3",
54
+ "stepsExample2": "[ES] node i18ntk-autorun.js --all",
55
+ "configurationComplete": "[ES] Configuration complete.",
56
+ "runAutoRunCommand": "[ES] Now you can run the auto-run command.",
57
+ "configurationFailed": "[ES] Configuration failed: {error}",
58
+ "noValidStepNumbers": "[ES] No valid step numbers provided.",
59
+ "autoRunFailed": "[ES] Auto-run failed: {error}",
60
+ "stepAnalyzeTranslations": "[ES] Analyze Translations",
61
+ "stepValidateTranslations": "[ES] Validate Translations",
62
+ "stepCheckUsage": "[ES] Check Usage",
63
+ "stepCompleteTranslations": "[ES] Complete Translations",
64
+ "stepAnalyzeSizing": "[ES] Analyze Sizing",
65
+ "stepGenerateSummary": "[ES] Generate Summary",
66
+ "translationLoadWarning": "[ES] Warning: Could not load {lang} translations",
67
+ "configReadError": "[ES] Error reading {file}",
68
+ "separator": "[ES] =================================================="
69
+ }
@@ -1,4 +1,17 @@
1
1
  {
2
2
  "success": "Éxito",
3
- "error": "Error"
3
+ "error": "Error",
4
+ "warning": "[ES] Warning",
5
+ "info": "[ES] Info",
6
+ "debug": "[ES] Debug",
7
+ "progress": "[ES] Progress",
8
+ "remaining": "[ES] Remaining",
9
+ "total": "[ES] Total",
10
+ "completed": "[ES] Completed",
11
+ "missing": "[ES] Missing",
12
+ "partial": "[ES] Partial",
13
+ "sameAsSource": "[ES] Same as source",
14
+ "formatMismatch": "[ES] Format mismatch",
15
+ "typeMismatch": "[ES] Type mismatch",
16
+ "structureMismatch": "[ES] Structure mismatch"
4
17
  }
@@ -3,5 +3,15 @@
3
3
  "genericError": "⚠️ TRANSLATION NEEDED ⚠️",
4
4
  "errorGeneratingStatusSummary": "⚠️ TRANSLATION NEEDED ⚠️",
5
5
  "errorRunningDebugTool": "⚠️ TRANSLATION NEEDED ⚠️",
6
- "errorReadingDebugLogs": "⚠️ TRANSLATION NEEDED ⚠️"
6
+ "errorReadingDebugLogs": "⚠️ TRANSLATION NEEDED ⚠️",
7
+ "errorAnalyzingLogFile": "[ES] Error analyzing log file: {error}",
8
+ "errorAnalyzingTranslationKeys": "[ES] Error analyzing translation keys: {error}",
9
+ "errorAnalyzingTranslationCompleteness": "[ES] Error analyzing translation completeness: {error}",
10
+ "errorAnalyzingTranslationFormat": "[ES] Error analyzing translation format: {error}",
11
+ "errorAnalyzingTranslationType": "[ES] Error analyzing translation type: {error}",
12
+ "errorAnalyzingTranslationStructure": "[ES] Error analyzing translation structure: {error}",
13
+ "errorAnalyzingTranslationFormatMismatch": "[ES] Error analyzing translation format mismatch: {error}",
14
+ "errorAnalyzingTranslationTypeMismatch": "[ES] Error analyzing translation type mismatch: {error}",
15
+ "errorAnalyzingTranslationStructureMismatch": "[ES] Error analyzing translation structure mismatch: {error}",
16
+ "errorAnalyzingTranslationSameAsSource": "[ES] Error analyzing translation same as source: {error}"
7
17
  }
@@ -32,5 +32,14 @@
32
32
  "autoDetectedI18nDirectory": "⚠️ TRANSLATION NEEDED ⚠️",
33
33
  "executingCommand": "⚠️ TRANSLATION NEEDED ⚠️",
34
34
  "unknownCommand": "⚠️ TRANSLATION NEEDED ⚠️",
35
- "languageOption": "⚠️ TRANSLATION NEEDED ⚠️"
35
+ "languageOption": "⚠️ TRANSLATION NEEDED ⚠️",
36
+ "update": "[ES] 📦 Update Package",
37
+ "debugTools": {
38
+ "1": "[ES] Log file analysis",
39
+ "2": "[ES] Translation key usage analysis",
40
+ "3": "[ES] Translation completeness analysis",
41
+ "4": "[ES] Translation format analysis",
42
+ "5": "[ES] Translation type analysis",
43
+ "6": "[ES] Translation structure analysis"
44
+ }
36
45
  }
@@ -64,5 +64,16 @@
64
64
  "allKeysAvailable": "⚠️ TRANSLATION NEEDED ⚠️",
65
65
  "runWithoutDryRun": "⚠️ TRANSLATION NEEDED ⚠️",
66
66
  "pressEnterToContinue": "⚠️ TRANSLATION NEEDED ⚠️"
67
+ },
68
+ "cancelReportOption": "[ES] Cancel / Return to Menu",
69
+ "updatePackage": {
70
+ "title": "[ES] 📦 Update i18n-toolkit Package",
71
+ "description": "[ES] This will update the i18n-toolkit package to the latest version available on npm.",
72
+ "command": "[ES] Command to run",
73
+ "confirm": "[ES] Are you sure you want to proceed with the update? (y/N): ",
74
+ "updating": "[ES] Updating package... This may take a moment.",
75
+ "success": "[ES] ✅ i18n-toolkit updated successfully!",
76
+ "error": "[ES] ❌ Failed to update i18n-toolkit",
77
+ "cancelled": "[ES] ❌ Update cancelled."
67
78
  }
68
79
  }
@@ -20,5 +20,6 @@
20
20
  "inputDisallowedCharacters": "⚠️ TRANSLATION NEEDED ⚠️",
21
21
  "unknownCommandArg": "⚠️ TRANSLATION NEEDED ⚠️",
22
22
  "logMessage": "⚠️ TRANSLATION NEEDED ⚠️",
23
- "alertMessage": "⚠️ TRANSLATION NEEDED ⚠️"
23
+ "alertMessage": "⚠️ TRANSLATION NEEDED ⚠️",
24
+ "securityWarning": "[ES] [SECURITY WARNING] {timestamp}: {event}"
24
25
  }
@@ -25,7 +25,15 @@
25
25
  "helpDesc": "⚠️ TRANSLATION NEEDED ⚠️",
26
26
  "quit": "⚠️ TRANSLATION NEEDED ⚠️",
27
27
  "quitDesc": "⚠️ TRANSLATION NEEDED ⚠️",
28
- "selectOption": "⚠️ TRANSLATION NEEDED ⚠️"
28
+ "selectOption": "⚠️ TRANSLATION NEEDED ⚠️",
29
+ "updatePackage": "[ES] Update Package",
30
+ "updatePackageDesc": "[ES] Update the i18n-toolkit package via npm",
31
+ "unsavedChangesWarning": "[ES] ⚠️ You have unsaved changes",
32
+ "saveChangesBeforeQuit": "[ES] Do you want to save changes before quitting? (y/N): ",
33
+ "goodbyeMessage": "[ES] Thank you for using the i18n settings manager!",
34
+ "selectSettingPrompt": "[ES] Select a setting to edit (or 'b' to go back): ",
35
+ "enterNewValue": "[ES] Enter new value: ",
36
+ "updatedSuccessfully": "[ES] {{setting}} updated successfully!"
29
37
  },
30
38
  "categories": {
31
39
  "uiSettings": "⚠️ TRANSLATION NEEDED ⚠️",
@@ -132,7 +140,8 @@
132
140
  },
133
141
  "themes": {
134
142
  "light": "⚠️ TRANSLATION NEEDED ⚠️",
135
- "dark": "⚠️ TRANSLATION NEEDED ⚠️"
143
+ "dark": "⚠️ TRANSLATION NEEDED ⚠️",
144
+ "system": "[ES] System"
136
145
  },
137
146
  "languages": {
138
147
  "en": "⚠️ TRANSLATION NEEDED ⚠️",
@@ -154,13 +163,19 @@
154
163
  "title": "⚠️ TRANSLATION NEEDED ⚠️"
155
164
  },
156
165
  "importExport": {
157
- "title": "⚠️ TRANSLATION NEEDED ⚠️",
158
- "export": "⚠️ TRANSLATION NEEDED ⚠️",
159
- "import": "⚠️ TRANSLATION NEEDED ⚠️",
160
- "backup": "⚠️ TRANSLATION NEEDED ⚠️"
166
+ "enterFilename": "[ES] Enter filename (or press Enter for default): ",
167
+ "exportSuccess": "[ES] Settings exported to {{file}}",
168
+ "exportFailed": "[ES] Failed to export settings: {{error}}",
169
+ "importFilename": "[ES] Enter filename to import: ",
170
+ "fileNotFound": "[ES] File not found.",
171
+ "invalidFormat": "[ES] Invalid settings file format.",
172
+ "confirmImport": "[ES] This will replace all current settings. Continue? (y/N): ",
173
+ "importSuccess": "[ES] Settings imported successfully.",
174
+ "importFailed": "[ES] Failed to import settings: {{error}}",
175
+ "backupSuccess": "[ES] Backup created: {{file}}",
176
+ "backupFailed": "[ES] Failed to create backup: {{error}}"
161
177
  },
162
178
  "pressEnter": "⚠️ TRANSLATION NEEDED ⚠️",
163
- "selectOption": "⚠️ TRANSLATION NEEDED ⚠️",
164
179
  "current": "⚠️ TRANSLATION NEEDED ⚠️",
165
180
  "back": "⚠️ TRANSLATION NEEDED ⚠️",
166
181
  "selectSettingPrompt": "⚠️ TRANSLATION NEEDED ⚠️",
@@ -190,6 +205,42 @@
190
205
  "benefitReset": "⚠️ TRANSLATION NEEDED ⚠️",
191
206
  "setupCancelled": "⚠️ TRANSLATION NEEDED ⚠️",
192
207
  "operationCancelled": "⚠️ TRANSLATION NEEDED ⚠️",
193
- "startingSettings": "⚠️ TRANSLATION NEEDED ⚠️"
194
- }
208
+ "startingSettings": "⚠️ TRANSLATION NEEDED ⚠️",
209
+ "selectOption": "[ES] Select option: ",
210
+ "updateSuccess": "[ES] Admin PIN updated successfully!",
211
+ "updateFailed": "[ES] Failed to update admin PIN.",
212
+ "protectionRemoved": "[ES] Admin PIN protection removed.",
213
+ "configSuccess": "[ES] Admin PIN configured successfully!",
214
+ "configFailed": "[ES] Failed to configure admin PIN.",
215
+ "setupPinPrompt": "[ES] Would you like to set up an admin PIN? (y/N): ",
216
+ "pinUpdatedSuccess": "[ES] Admin PIN updated successfully!",
217
+ "pinUpdatedFailed": "[ES] Failed to update admin PIN.",
218
+ "pinRemoved": "[ES] Admin PIN protection removed.",
219
+ "pinConfiguredSuccess": "[ES] Admin PIN configured successfully!",
220
+ "pinConfiguredFailed": "[ES] Failed to configure admin PIN.",
221
+ "authRequired": "[ES] 🔒 Admin authentication required for: {{label}}",
222
+ "pinSetupTitle": "[ES] Admin PIN Setup",
223
+ "browserOpenFailed": "[ES] Could not automatically open browser.",
224
+ "manualVisit": "[ES] Please manually visit: {{url}}",
225
+ "browserOpened": "[ES] ✅ Browser opened successfully!"
226
+ },
227
+ "goodbyeMessage": "[ES] Thank you for using the i18ntk settings manager!",
228
+ "updatePackage": {
229
+ "title": "[ES] Update Package",
230
+ "description": "[ES] Update the i18n-toolkit package via npm",
231
+ "command": "[ES] npm update i18ntk -g",
232
+ "success": "[ES] Update completed successfully.",
233
+ "failed": "[ES] Update failed.",
234
+ "prompt": "[ES] Do you want to update the package now? (y/N): ",
235
+ "promptDesc": "[ES] Note: This will update the i18ntk package to the latest version.",
236
+ "confirm": "[ES] y",
237
+ "cancelled": "[ES] Update cancelled."
238
+ },
239
+ "resetConfirm": "[ES] Are you sure you want to continue? (y/N): ",
240
+ "resetSuccess": "[ES] Settings reset to defaults successfully.",
241
+ "resetFailed": "[ES] Failed to reset settings: {error}",
242
+ "saveSuccess": "[ES] Settings saved successfully.",
243
+ "saveFailed": "[ES] Failed to save settings.",
244
+ "initFailed": "[ES] Failed to initialize settings: {error}",
245
+ "invalidValueFormat": "[ES] Invalid value format."
195
246
  }
@@ -29,5 +29,18 @@
29
29
  "no_translation_files_found": "⚠️ TRANSLATION NEEDED ⚠️",
30
30
  "analysis_completed": "⚠️ TRANSLATION NEEDED ⚠️",
31
31
  "analysis_failed": "⚠️ TRANSLATION NEEDED ⚠️",
32
- "failed_to_parse_language_error": "⚠️ TRANSLATION NEEDED ⚠️"
32
+ "failed_to_parse_language_error": "⚠️ TRANSLATION NEEDED ⚠️",
33
+ "keysHaveSignificantSizeVariations": "[ES] keys have significant size variations",
34
+ "longTranslationsDetected": "[ES] ${lang} has ${data.longKeys} translations longer than 100 characters - consider breaking them down",
35
+ "considerReviewingTranslations": "[ES] Consider reviewing ${lang} translations - they are ${data.percentageDifference}% longer than baseline",
36
+ "recommendations": {
37
+ "keys_have_significant_size_variations": "[ES] keys have significant size variations",
38
+ "consider_reviewing_translations": "[ES] Consider reviewing {{lang}} translations - they are {{percentageDifference}}% {{comparison}} than baseline",
39
+ "long_translations_detected": "[ES] {{lang}} has {{longKeys}} translations longer than {{threshold}} characters - consider breaking them down"
40
+ },
41
+ "hardcodedTexts": {
42
+ "keysHaveSignificantSizeVariations": "[ES] keys have significant size variations",
43
+ "considerReviewingTranslations": "[ES] Consider reviewing {{lang}} translations - they are {{percentageDifference}}% {{comparison}} than baseline",
44
+ "longTranslationsDetected": "[ES] {{lang}} has {{longKeys}} translations longer than {{threshold}} characters - consider breaking them down"
45
+ }
33
46
  }
@@ -6,5 +6,22 @@
6
6
  "nextStep4": "⚠️ TRANSLATION NEEDED ⚠️",
7
7
  "nextStep5": "⚠️ TRANSLATION NEEDED ⚠️",
8
8
  "nextStep6": "⚠️ TRANSLATION NEEDED ⚠️",
9
- "completed": "⚠️ TRANSLATION NEEDED ⚠️"
9
+ "completed": "⚠️ TRANSLATION NEEDED ⚠️",
10
+ "generating": "[ES] Generating summary report...",
11
+ "review": "[ES] Reviewing translations...",
12
+ "finalizing": "[ES] Finalizing translations...",
13
+ "finalized": "[ES] Finalized successfully!",
14
+ "errors": "[ES] Errors:",
15
+ "warnings": "[ES] Warnings:",
16
+ "info": "[ES] Info:",
17
+ "progress": "[ES] Progress:",
18
+ "remaining": "[ES] Remaining:",
19
+ "total": "[ES] Total:",
20
+ "completedKeys": "[ES] Completed keys:",
21
+ "missingKeys": "[ES] Missing keys:",
22
+ "partialKeys": "[ES] Partial keys:",
23
+ "sameAsSource": "[ES] Same as source:",
24
+ "formatMismatch": "[ES] Format mismatch:",
25
+ "typeMismatch": "[ES] Type mismatch:",
26
+ "structureMismatch": "[ES] Structure mismatch:"
10
27
  }