i18ntk 4.7.0 → 4.7.2

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 (40) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.md +15 -4
  3. package/main/i18ntk-ui.js +35 -30
  4. package/main/i18ntk-usage.js +2 -2
  5. package/main/i18ntk-validate.js +1 -1
  6. package/main/manage/commands/ValidateCommand.js +1 -1
  7. package/main/manage/index.js +52 -47
  8. package/main/manage/managers/LanguageMenu.js +3 -1
  9. package/main/manage/services/ConfigurationService.js +1 -1
  10. package/main/manage/services/FrameworkDetectionService.js +1 -1
  11. package/main/manage/services/UsageService.js +2 -2
  12. package/package.json +11 -7
  13. package/settings/settings-manager.js +19 -3
  14. package/ui-locales/ar.json +2636 -0
  15. package/ui-locales/cs.json +2636 -0
  16. package/ui-locales/de.json +17 -1
  17. package/ui-locales/el.json +2636 -0
  18. package/ui-locales/en.json +17 -1
  19. package/ui-locales/es.json +17 -1
  20. package/ui-locales/fr.json +17 -1
  21. package/ui-locales/he.json +2636 -0
  22. package/ui-locales/hi.json +2636 -0
  23. package/ui-locales/hu.json +2636 -0
  24. package/ui-locales/it.json +2636 -0
  25. package/ui-locales/ja.json +17 -1
  26. package/ui-locales/ko.json +2636 -0
  27. package/ui-locales/nl.json +2636 -0
  28. package/ui-locales/pl.json +2636 -0
  29. package/ui-locales/pt.json +2636 -0
  30. package/ui-locales/ru.json +17 -1
  31. package/ui-locales/sv.json +2636 -0
  32. package/ui-locales/th.json +2636 -0
  33. package/ui-locales/tr.json +2636 -0
  34. package/ui-locales/uk.json +2636 -0
  35. package/ui-locales/vi.json +2636 -0
  36. package/ui-locales/zh.json +17 -1
  37. package/utils/config-helper.js +2 -2
  38. package/utils/config-manager.js +3 -4
  39. package/utils/env-manager.js +1 -1
  40. package/utils/locale-optimizer.js +1 -1
@@ -0,0 +1,2636 @@
1
+ {
2
+ "meta": {
3
+ "version": "4.7.0",
4
+ "updated": "2026-07-07",
5
+ "lang": "pl"
6
+ },
7
+ "common": {
8
+ "welcome": "Powitanie",
9
+ "hello": "Cześć",
10
+ "goodbye": "Do widzenia",
11
+ "yes": "Tak",
12
+ "no": "NIE",
13
+ "save": "Ratować",
14
+ "cancel": "Anulować",
15
+ "delete": "Usuwać",
16
+ "edit": "Redagować",
17
+ "loading": "Załadunek...",
18
+ "offlineTitle": "Jesteś offline",
19
+ "offlineMessage": "Sprawdź swoje połączenie internetowe",
20
+ "tryReconnect": "Spróbuj połączyć się ponownie",
21
+ "logout": "Wyloguj się",
22
+ "login": "Login",
23
+ "amount": "Kwota",
24
+ "success": "Sukces",
25
+ "error": "Błąd",
26
+ "warning": "Ostrzeżenie",
27
+ "info": "Informacje:",
28
+ "debug": "Odpluskwić",
29
+ "progress": "Postęp:",
30
+ "remaining": "Pozostały:",
31
+ "total": "Całkowity:",
32
+ "completed": "7. Ukończono pomyślnie!",
33
+ "missing": "Zaginiony",
34
+ "partial": "Częściowy",
35
+ "sameAsSource": "To samo co źródło:",
36
+ "formatMismatch": "Niezgodność formatu:",
37
+ "typeMismatch": "Niezgodność typu:",
38
+ "structureMismatch": "Niedopasowanie struktury:",
39
+ "invalidOption": "Nieprawidłowa opcja",
40
+ "separator": "==================================================",
41
+ "initializationFailed": "❌ Inicjalizacja nie powiodła się: {error}",
42
+ "stackTrace": "Ślad stosu: {stack}",
43
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować...",
44
+ "pressEnterToReturn": "Naciśnij Enter, aby powrócić do menu głównego...",
45
+ "stepCompleted": "Krok{stepName}'ukończone.",
46
+ "stepFailed": "Krok{stepName}' przegrany.",
47
+ "runningStep": "Krok uruchamiania: {stepName}",
48
+ "command": "Rozkaz: {command}",
49
+ "startingWorkflow": "Rozpoczynanie przepływu pracy...",
50
+ "workflowCompleted": "Przebieg pracy ukończony.",
51
+ "checkReports": "Sprawdź raporty, aby poznać szczegóły.",
52
+ "errorExecutingCommand": "Błąd podczas wykonywania polecenia: {error}",
53
+ "genericError": "❌ Błąd: {error}",
54
+ "errors": {
55
+ "errors": "Błędy:",
56
+ "genericError": "❌ Błąd: {error}",
57
+ "initializationFailed": "❌ Inicjalizacja nie powiodła się: {error}",
58
+ "initializationCancelled": "❌ Inicjalizacja anulowana przez użytkownika.",
59
+ "translationKeyNotFound": "Nie znaleziono klucza tłumaczenia: {key}",
60
+ "sourceDirectoryNotFound": "Nie znaleziono katalogu źródłowego: {directory}",
61
+ "configLoadingFailed": "Ładowanie konfiguracji nie powiodło się",
62
+ "invalidSourceDirectory": "Nieprawidłowy katalog źródłowy: {directory}",
63
+ "securityViolation": "Wykryto naruszenie bezpieczeństwa",
64
+ "authenticationFailed": "Uwierzytelnienie nie powiodło się",
65
+ "sourceEqualsI18nWarn": "⚠️sourceDir równa się i18nDir ({sourceDir}). Wracając do {fallback} do skanowania źródła."
66
+ },
67
+ "errorGeneratingStatusSummary": "Błąd podczas generowania podsumowania stanu: {error}",
68
+ "errorRunningDebugTool": "Błąd podczas uruchamiania narzędzia debugowania „{displayName}': {error}",
69
+ "errorReadingDebugLogs": "Błąd odczytu dzienników debugowania: {error}",
70
+ "errorAnalyzingLogFile": "Błąd podczas analizy pliku dziennika: {error}",
71
+ "errorAnalyzingTranslationKeys": "Błąd podczas analizy kluczy tłumaczeniowych: {error}",
72
+ "errorAnalyzingTranslationCompleteness": "Błąd podczas analizy kompletności tłumaczenia: {error}",
73
+ "analyzingTranslationCompleteness": "Analizowanie kompletności tłumaczeń we wszystkich językach...",
74
+ "i18nDirectoryNotFound": "⚠️ Nie znaleziono katalogu i18n: {i18nDir}",
75
+ "translationCompletenessAnalysisFailed": "⚠️ Analiza kompletności tłumaczenia nie powiodła się: {error}",
76
+ "failedToAnalyzeLanguage": "❌ Nie udało się przeanalizować języka {language}: {error}",
77
+ "errorReadingI18nDirectory": "❌ Błąd odczytu katalogu i18n:",
78
+ "languageCompletenessTitle": "📈 KOMPLETNOŚĆ TŁUMACZEŃ WEDŁUG JĘZYKÓW",
79
+ "errorAnalyzingTranslationFormat": "Błąd podczas analizy formatu tłumaczenia: {error}",
80
+ "errorAnalyzingTranslationType": "Błąd podczas analizy typu tłumaczenia: {error}",
81
+ "errorAnalyzingTranslationStructure": "Błąd podczas analizy struktury tłumaczenia: {error}",
82
+ "errorAnalyzingTranslationFormatMismatch": "Błąd podczas analizy niedopasowania formatu tłumaczenia: {error}",
83
+ "errorAnalyzingTranslationTypeMismatch": "Błąd podczas analizy niezgodności typu tłumaczenia: {error}",
84
+ "errorAnalyzingTranslationStructureMismatch": "Błąd podczas analizy niedopasowania struktury tłumaczenia: {error}",
85
+ "errorAnalyzingTranslationSameAsSource": "Błąd podczas analizy tłumaczenia, takie samo jak źródło: {error}",
86
+ "title": "Status",
87
+ "nextStep1": "1. Sprawdź analizę użytkowania:",
88
+ "nextStep2": "2. Zweryfikuj tłumaczenia:",
89
+ "nextStep3": "3. Przeanalizuj kompletność:",
90
+ "nextStep4": "4. Uzupełnij brakujące tłumaczenia:",
91
+ "nextStep5": "5. Wygeneruj raport podsumowujący:",
92
+ "nextStep6": "6. Sprawdź i sfinalizuj tłumaczenia:",
93
+ "generating": "Generuję raport podsumowujący...",
94
+ "review": "Sprawdzanie tłumaczeń...",
95
+ "finalizing": "Finalizowanie tłumaczeń...",
96
+ "finalized": "Zakończono pomyślnie!",
97
+ "warnings": "Ostrzeżenia:",
98
+ "completedKeys": "Gotowe klucze:",
99
+ "missingKeys": "Brakujące klucze:",
100
+ "partialKeys": "Częściowe klucze:",
101
+ "home": "Dom",
102
+ "settings": "Ustawienia",
103
+ "startingSettings": "🎛️ Uruchamianie ustawień CLI...",
104
+ "confirm": "Potwierdzać",
105
+ "errorExiting": "Błąd podczas wychodzenia."
106
+ },
107
+ "errors": {
108
+ "invalidOption": "❌ Nieprawidłowa opcja: {option}. Spróbuj ponownie.",
109
+ "readlineClosed": "Strumień wejściowy jest zamknięty; działa w trybie nieinteraktywnym.",
110
+ "noPackageJson": "Nie znaleziono pakietu.json. Nie można automatycznie wykryć frameworku i18n.",
111
+ "noI18nDir": "W katalogu głównym projektu nie znaleziono katalogu i18n.",
112
+ "noI18nConfig": "W katalogu głównym projektu nie znaleziono pliku konfiguracyjnego i18n.",
113
+ "errorReadingDebugLogs": "Błąd odczytu dzienników debugowania: {error}"
114
+ },
115
+ "scanner": {
116
+ "help_message": "Skaner tekstowy I18n Użycie: węzeł i18ntk-scanner.js [opcje] Opcje: --source-dir <dir> Katalog źródłowy do skanowania (domyślnie: ./src) --output <file> Plik wyjściowy z wynikami skanowania (domyślnie: ./i18ntk-scanner-report.json) --framework <name> Framework docelowy (reagowanie, vue, kątowy, waniliowy) - wzorce <patterns> Niestandardowe wzorce wyrażeń regularnych (oddzielone przecinkami) --include-tests Dołącz pliki testowe do skanowania --exclude-dirs <dirs> Katalogi do wykluczenia (oddzielone przecinkami) --help Pokaż tę pomoc Przykłady: węzeł i18ntk-scanner.js --source-dir=./src --framework=react węzeł i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests węzeł i18ntk-scanner.js --output=./scan-results.json",
117
+ "help_options": {
118
+ "source_dir": "Katalog źródłowy do skanowania w poszukiwaniu problemów z i18n",
119
+ "output_dir": "Katalog raportów i wyników skanowania",
120
+ "framework": "Framework docelowy (react, vue, angular, waniliowy)",
121
+ "patterns": "Niestandardowe wzorce wyrażeń regularnych do wykrywania tekstu",
122
+ "exclude": "Wzorce plików, które należy wykluczyć ze skanowania",
123
+ "output_report": "Wygeneruj szczegółowy raport ze skanowania",
124
+ "min_length": "Minimalna długość tekstu brana pod uwagę przy tłumaczeniu",
125
+ "max_length": "Maksymalna długość tekstu brana pod uwagę przy tłumaczeniu",
126
+ "include_tests": "Dołącz pliki testowe do procesu skanowania"
127
+ },
128
+ "starting": "🔍 Uruchamianie skanera tekstu dla frameworka: {framework}",
129
+ "sourceDirectory": "📁 Skanowanie katalogu: {sourceDir}",
130
+ "frameworkDetected": "🎯 Wykryte frameworki: {framework}",
131
+ "scanningFiles": "📊 Skanowanie {fileCount} akta...",
132
+ "foundTexts": "📝 Znaleziono {textCount} teksty wymagające tłumaczenia",
133
+ "generatingReport": "📊 Generowanie szczegółowego raportu...",
134
+ "reportSaved": "💾 Raport ze skanowania zapisany w: {reportPath}",
135
+ "noTextsFound": "✅ Nie znaleziono zakodowanych na stałe tekstów w języku angielskim",
136
+ "scanComplete": "🎉 Skanowanie zakończone pomyślnie!",
137
+ "analysisTitle": "🔍 ANALIZA SKANÓW TŁUMACZEŃ",
138
+ "fileSummary": "📄 {file}: {count} znalezione teksty",
139
+ "textLocation": "📍Linia {line}: {text}",
140
+ "foundText": "Znaleziony {count} potencjalne wystąpienia zakodowanego na stałe tekstu",
141
+ "context": "📝 Kontekst: {context}",
142
+ "severity": "⚠️ Dotkliwość: {severity}",
143
+ "recommendation": "💡 Zalecenie: {recommendation}",
144
+ "welcome": {
145
+ "title": "🎯 Witamy w skanerze tekstu!",
146
+ "description": "To narzędzie skanuje kod źródłowy w poszukiwaniu zakodowanego na stałe tekstu w języku angielskim, który może wymagać tłumaczenia."
147
+ },
148
+ "frameworkPrompt": {
149
+ "title": "🎯 Wybierz Ramy",
150
+ "available": "Dostępne frameworki: reagują, vue, angular, wanilia",
151
+ "description": "Wprowadź typ struktury (lub naciśnij klawisz Enter, aby przeprowadzić automatyczne wykrywanie):",
152
+ "input": "Struktura:"
153
+ },
154
+ "directoryPrompt": {
155
+ "title": "📁 Wybierz katalog źródłowy",
156
+ "current": "Aktualny katalog: {dir}",
157
+ "description": "Wprowadź katalog do przeskanowania (lub naciśnij klawisz Enter, aby wyświetlić bieżący):",
158
+ "input": "Informator:"
159
+ },
160
+ "options": {
161
+ "includeTests": "Dołącz pliki testowe?",
162
+ "excludeDirs": "Katalogi do wykluczenia (oddzielone przecinkami):",
163
+ "customPatterns": "Niestandardowe wzorce do skanowania (regex):"
164
+ },
165
+ "reportGenerated": "Wygenerowano raport ze skanowania: {path}"
166
+ },
167
+ "fixer": {
168
+ "help_message": "Narzędzie do naprawy tłumaczenia I18n Użycie: węzeł i18ntk-fixer.js [opcje] Opcje: --source-dir <dir> Katalog źródłowy do przeskanowania (domyślnie: ./locales) --languages <langs> Lista oddzielonych przecinkami języków, w których należy naprawić --markers <markers> Znaczniki oddzielone przecinkami traktować jako nieprzetłumaczone --no-backup Pomiń automatyczne tworzenie kopii zapasowej --help Pokaż tę pomoc Przykłady: węzeł i18ntk-fixer.js --languages ​​de,fr węzeł i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED węzeł i18ntk-fixer.js --no-backup",
169
+ "starting": "🚀 Rozpoczęcie poprawiania tłumaczeń dla języków: {languages}",
170
+ "sourceDirectory": "📁 Katalog źródłowy: {sourceDir}",
171
+ "sourceLanguage": "🔤 Język źródłowy: {sourceLanguage}",
172
+ "markers": "🏷️ Markery do naprawienia: {markers}",
173
+ "scanningLanguage": "📊 Skanowanie {language}...",
174
+ "noLanguages": "❌ Nie określono języków do ustalenia.",
175
+ "allComplete": "🎉 Wszystkie tłumaczenia są już gotowe!",
176
+ "fullReportSaved": "📊 Pełny raport zapisany w: {reportPath}",
177
+ "reviewReport": "Zanim przejdziesz dalej, przejrzyj raport.",
178
+ "backupCreated": "💾 Kopia zapasowa została utworzona pomyślnie.",
179
+ "applyingFixes": "🔄 Stosowanie poprawek...",
180
+ "fixingComplete": "✅ Naprawa tłumaczenia zakończona!",
181
+ "operationCancelled": "❌ Operacja anulowana przez użytkownika.",
182
+ "analysisTitle": "🔍 ANALIZA POPRAWY TŁUMACZEŃ",
183
+ "analysisSeparator": "==================================================",
184
+ "totalIssues": "Całkowita liczba znalezionych problemów: {totalIssues}",
185
+ "missingTranslations": "Brakujące tłumaczenia: {missing}",
186
+ "placeholderTranslations": "Tłumaczenia zastępcze: {placeholder}",
187
+ "noIssues": "✅ Nie znaleziono żadnych problemów. Wszystkie tłumaczenia są kompletne.",
188
+ "detailedIssues": "📋 DETAILED ISSUES:",
189
+ "detailedSeparator": "--------------------------------------------------",
190
+ "filePath": "📄 {file} → {path}",
191
+ "missingKey": "❌ BRAKUJE: {source} → {new}",
192
+ "placeholderKey": "⚠️ ZMIENNIK: „{target}\" → \"{new}\"",
193
+ "moreIssues": "... I {count} więcej problemów. Sprawdź plik raportu, aby uzyskać szczegółowe informacje.",
194
+ "confirmationTitle": "🤔 Czy chcesz kontynuować te poprawki?",
195
+ "confirmationOptions": "Opcje:",
196
+ "optionYes": "y — Tak, zastosuj wszystkie poprawki",
197
+ "optionNo": "n - Nie, anuluj operację",
198
+ "optionShow": "s — Pokaż szczegółowe problemy",
199
+ "choicePrompt": "Twój wybór (t/n/s):",
200
+ "nonInteractiveMode": "⚡ Wykryto tryb nieinteraktywny – automatyczne stosowanie poprawek…",
201
+ "reportGenerated": "📊 Wygenerowany raport Fixera: {path}",
202
+ "summary": "Podsumowanie fixera:",
203
+ "welcome": {
204
+ "title": "🎯 Witamy w narzędziu do naprawy tłumaczeń!",
205
+ "description": "To narzędzie pomoże Ci naprawić uszkodzone tłumaczenia i elementy zastępcze w plikach ustawień regionalnych."
206
+ },
207
+ "markerPrompt": {
208
+ "title": "🏷️ Skonfiguruj znaczniki zastępcze",
209
+ "description": "Wprowadź znaczniki wskazujące nieprzetłumaczony tekst (oddzielone przecinkami):",
210
+ "currentDefaults": "Domyślne znaczniki: {markers}",
211
+ "input": "Znaczniki (lub naciśnij klawisz Enter, aby wyświetlić wartości domyślne):"
212
+ },
213
+ "languagePrompt": {
214
+ "title": "🌍 Wybierz języki do naprawy",
215
+ "available": "Dostępne języki: {languages}",
216
+ "description": "Wprowadź języki do poprawki (oddzielone przecinkami) lub naciśnij klawisz Enter dla wszystkich:",
217
+ "input": "Języki:",
218
+ "noLanguages": "Nie znaleziono języków do naprawienia."
219
+ },
220
+ "directoryPrompt": {
221
+ "title": "📁 Wybierz Katalog",
222
+ "current": "Aktualny katalog: {dir}",
223
+ "description": "Wprowadź katalog zawierający pliki ustawień regionalnych (lub naciśnij klawisz Enter, aby wybrać bieżący):",
224
+ "input": "Informator:"
225
+ },
226
+ "backupLocation": "Lokalizacja kopii zapasowej: {dir}",
227
+ "completed": "Naprawianie zakończone.",
228
+ "creatingBackup": "Tworzenie kopii zapasowej w {dir}...",
229
+ "dryRunMode": "Tryb pracy na sucho: {mode}",
230
+ "error": "Naprawa nie powiodła się: {error}",
231
+ "fixing": "Ustalenie {language}...",
232
+ "foundLanguages": "Znaleziony {count} języki: {languages}",
233
+ "languageFixed": "{language}: naprawił {fixed} klucz(e), pominięty {skipped}.",
234
+ "running": "Uruchamiam narzędzie do naprawy tłumaczeń...",
235
+ "totalFixed": "Razem stałe: {count}"
236
+ },
237
+ "autorun": {
238
+ "stepAnalyzeTranslations": "Analizuj tłumaczenia",
239
+ "stepCompletedWithIcon": "✅ Ukończono: {stepName}",
240
+ "stepValidateTranslations": "Zweryfikuj tłumaczenia",
241
+ "stepRunning": "▶️Krok {stepNumber}/{totalSteps}: {stepName}",
242
+ "separator": "==================================================",
243
+ "stepFailed": "❌ Niepowodzenie: {stepName}",
244
+ "errorLabel": "Błąd",
245
+ "autoRunScriptTitle": "🧪 Automatyczny przepływ pracy",
246
+ "usageTitle": "Stosowanie",
247
+ "runAllSteps": "Uruchom: węzeł i18ntk-autorun.js",
248
+ "configureSettingsFirst": "Konfiguracja: flagi i18ntk-config.json lub CLI",
249
+ "runSpecificSteps": "Użyj --steps=1,3 lub --list, aby wyświetlić kroki",
250
+ "showHelp": "--pomoc, aby uzyskać więcej informacji",
251
+ "examplesTitle": "Przykłady",
252
+ "configExample": "węzeł i18ntk-autorun.js --ui-language=zh",
253
+ "stepsExample1": "węzeł i18ntk-autorun.js --steps=analizuj, sprawdzaj",
254
+ "stepsExample2": "węzeł i18ntk-autorun.js --list",
255
+ "customSettingsConfiguration": "Niestandardowe ustawienia automatycznego uruchamiania",
256
+ "availableSteps": "Dostępne kroki",
257
+ "startingAutoRunWorkflow": "🚀 Rozpoczynanie automatycznego uruchamiania przepływu pracy...",
258
+ "workflowIncludesSteps": "Przepływ pracy obejmuje {count} kroki:",
259
+ "missingRequiredFile": "Brak wymaganego pliku: {file}",
260
+ "workflowStopped": "Przepływ pracy został zatrzymany z powodu awarii.",
261
+ "workflowCompleted": "🎉 Proces pracy zakończony!",
262
+ "successfulSteps": "Pomyślne kroki: {count}",
263
+ "failedSteps": "Nieudane kroki: {count}",
264
+ "stepInitializeProject": "Zainicjuj projekt",
265
+ "stepCheckUsage": "Sprawdź użycie klucza",
266
+ "stepGenerateSummary": "Wygeneruj raport podsumowujący",
267
+ "runInitializationFirst": "Najpierw wykonaj inicjalizację.",
268
+ "initializationCheckPassed": "Kontrola inicjalizacji przebiegła pomyślnie.",
269
+ "runningStep": "Krok uruchamiania: {stepName}",
270
+ "commandLabel": "Rozkaz: {command}",
271
+ "stepCompletedWithTime": "Krok{stepName}' ukończono w {duration}SM.",
272
+ "stepCompleted": "Krok{stepName}'ukończone.",
273
+ "stepFailedWithError": "Krok{stepName}' nie powiodło się z powodu błędu: {error}",
274
+ "requiredStepFailed": "Wymagany krok nie powiódł się. Zatrzymywanie przepływu pracy.",
275
+ "optionalStepFailed": "Opcjonalny krok nie powiódł się. Kontynuacja pracy.",
276
+ "stepRequired": "(Wymagany)",
277
+ "stepOptional": "(Fakultatywny)",
278
+ "startingExecution": "Rozpoczęcie wykonywania...",
279
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować...",
280
+ "runningSelectedSteps": "Uruchamianie wybranych kroków...",
281
+ "invalidStepNumber": "Nieprawidłowy numer kroku: {stepNum}",
282
+ "executionReport": "Raport wykonania:",
283
+ "requiredFailedSteps": "Wymagane kroki nie powiodły się: {count}",
284
+ "stepDetails": "Szczegóły kroku:",
285
+ "reportSavedTo": "Raport został zapisany w: {path}",
286
+ "overallStatusSuccess": "SUCCESS",
287
+ "overallStatusFailed": "FAILED",
288
+ "overallStatus": "Stan ogólny: {status}",
289
+ "pressEnterForDefaults": "Naciśnij klawisz Enter, aby użyć ustawień domyślnych dla dowolnego monitu.",
290
+ "sourceDirPrompt": "Wprowadź katalog źródłowy (domyślnie: {default}):",
291
+ "sourceLangPrompt": "Podaj język źródłowy (domyślnie: {default}):",
292
+ "targetLangsPrompt": "Wprowadź języki docelowe (oddzielone przecinkami, domyślnie: {default}):",
293
+ "translationMarkerPrompt": "Wprowadź znacznik tłumaczenia (domyślnie: {default}):",
294
+ "outputDirPrompt": "Wprowadź katalog wyjściowy raportów (domyślnie: {default}):",
295
+ "settingsUpdatedSuccessfully": "Ustawienia zostały pomyślnie zaktualizowane!",
296
+ "errorConfiguringSettings": "Błąd konfiguracji ustawień: {error}",
297
+ "configurationComplete": "Konfiguracja zakończona.",
298
+ "runAutoRunCommand": "Teraz możesz uruchomić polecenie automatycznego uruchamiania.",
299
+ "configurationFailed": "Konfiguracja nie powiodła się: {error}",
300
+ "noValidStepNumbers": "Nie podano prawidłowych numerów kroków.",
301
+ "autoRunFailed": "Automatyczne uruchomienie nie powiodło się: {error}",
302
+ "stepCompleteTranslations": "Kompletne tłumaczenia",
303
+ "stepAnalyzeSizing": "Analizuj rozmiar",
304
+ "stepCompletedIcon": "✅",
305
+ "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Krok{stepName}' działanie...",
306
+ "stepFailedIcon": "❌",
307
+ "translationLoadWarning": "Ostrzeżenie: nie można załadować {lang} tłumaczenia",
308
+ "configReadError": "Błąd odczytu {file}"
309
+ },
310
+ "analyze": {
311
+ "help_message": "Analizator tłumaczeń I18n Użycie: węzeł i18ntk-analyze.js [opcje] Opcje: --source-dir <dir> Katalog źródłowy do skanowania (domyślnie: ./src) --i18n-dir <dir> Katalog I18n (domyślnie: ./src/locales) --output-report Generuje szczegółowy raport --output-dir <dir> Katalog wyjściowy dla raportów (domyślnie: ./reports) --help Pokaż tę pomoc Przykłady: węzeł i18ntk-analyze.js --output-report węzeł i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales węzeł i18ntk-analyze.js --output-dir=./analytic --output-report",
312
+ "source_directory": "📁 Katalog źródłowy: {sourceDir}",
313
+ "i18n_directory": "🌐 Katalog I18n: {i18nDir}",
314
+ "loading_translation_files": "📋 Ładowanie plików tłumaczeniowych...",
315
+ "sourceDirectoryLabel": "📁 Katalog źródłowy: {sourceDir}",
316
+ "sourceLanguageLabel": "🌍 Język źródłowy: {sourceLanguage}",
317
+ "strictModeLabel": "⚙️ Tryb ścisły: {mode}",
318
+ "found_translation_files_count": "✅ Znaleziono {count} pliki tłumaczeń",
319
+ "analyzing_translations": "🔍Analiza tłumaczeń...",
320
+ "analysis_completed_successfully": "🎉 Analiza zakończona pomyślnie!",
321
+ "analysis_results": "📊 ANALYSIS RESULTS",
322
+ "language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% przetłumaczony)",
323
+ "sample_missing_keys": "Przykładowe brakujące klucze:",
324
+ "missing_key": "- {key}",
325
+ "and_more_missing": "...I {count} więcej.",
326
+ "sample_unused_keys": "Przykładowe nieużywane klucze:",
327
+ "unused_key": "- {key}",
328
+ "and_more_unused": "...I {count} więcej.",
329
+ "recommendations": "📋 REKOMENDACJE",
330
+ "add_missing_translations": "💡 Dodaj brakujące tłumaczenia, aby poprawić zasięg.",
331
+ "remove_unused_translations": "💡 Usuń nieużywane tłumaczenia, aby zachować porządek w projekcie.",
332
+ "next_steps": "📋 NEXT STEPS",
333
+ "review_analysis_results": "1. Przejrzyj wyniki analizy w konsoli lub wygenerowanym raporcie.",
334
+ "run_with_output_report": "2. Uruchom z opcją --output-report, aby uzyskać szczegółowy raport.",
335
+ "add_or_remove_translations": "3. Dodaj brakujące tłumaczenia lub usuń nieużywane.",
336
+ "rerun_analysis": "4. Przeprowadź ponownie analizę, aby zweryfikować ulepszenia.",
337
+ "analysis_summary": "📊 ANALYSIS SUMMARY",
338
+ "source_files_scanned": "Przeskanowane pliki źródłowe: {fileCount}",
339
+ "translation_files_checked": "Sprawdzone pliki tłumaczeń: {translationFileCount}",
340
+ "total_keys": "Razem klucze: {totalKeys}",
341
+ "translated_keys": "Przetłumaczone klucze: {translatedKeys}",
342
+ "missing_keys": "Brakujące klucze: {missingKeys}",
343
+ "unused_keys": "Nieużywane klucze: {unusedKeys}",
344
+ "translation_coverage": "Zakres tłumaczeń: {coverage}%",
345
+ "analysis_passed_for_language": "✅Analiza zaliczona {language}",
346
+ "analysis_failed_for_language": "❌ Analiza nie powiodła się {language} ({missingKeys} zaginiony, {unusedKeys} nie używany)",
347
+ "starting": "🔍 Rozpoczęcie analizy tłumaczeń...",
348
+ "foundLanguages": "📋 Znaleziono {count} języki do analizy: {languages}",
349
+ "analyzing": "🔄 Analizuję {language}...",
350
+ "reportTitle": "📊 RAPORT Z ANALIZY TŁUMACZEŃ",
351
+ "generated": "Wygenerowano: {timestamp}",
352
+ "status": "Status: {translated}/{total} klucze ({percentage}% przetłumaczony)",
353
+ "filesAnalyzed": "Analizowane pliki: {analyzed}/{total}",
354
+ "keysNeedingTranslation": "Klucze wymagające tłumaczenia: {count}",
355
+ "fileBreakdown": "📋 PODZIAŁ PLIKU",
356
+ "error": "Błąd",
357
+ "completed": "✅Analiza zakończona dla {language}",
358
+ "progress": "📊 Ogólny postęp: {translated}/{total} przetwarzane języki",
359
+ "reportSaved": "Raport został zapisany: {reportPath}",
360
+ "summary": "📊 ANALYSIS SUMMARY",
361
+ "finished": "✅Analiza zakończona pomyślnie!",
362
+ "statusFileMissing": "❌ Brak pliku tłumaczenia",
363
+ "sourceKeys": "📊 Klucze źródłowe: {count}",
364
+ "translation": "📊 Tłumaczenie: {translated}/{total} ({percentage}%)",
365
+ "structure": "🗂️ Struktura: {status}",
366
+ "consistent": "Spójny",
367
+ "inconsistent": "Niezgodny",
368
+ "missingKeys": "Brakujące klucze: {count}",
369
+ "extraKeys": "Dodatkowe klucze: {count}",
370
+ "issues": "⚠️ Znaleziono problemy: {count}",
371
+ "issueType": {
372
+ "not_translated": "Nie przetłumaczone: {count}",
373
+ "empty_value": "Puste wartości: {count}",
374
+ "partial_translation": "Częściowe tłumaczenia: {count}",
375
+ "format_mismatch": "Niezgodność formatu: {count}",
376
+ "type_mismatch": "Niezgodność typu: {count}",
377
+ "structure_mismatch": "Niedopasowania strukturalne: {count}",
378
+ "same_as_source": "To samo co źródło: {count}"
379
+ },
380
+ "keysToTranslate": "📋 KLUCZE DO TŁUMACZENIA",
381
+ "key": "Klawisz",
382
+ "english": "angielski",
383
+ "needsTranslation": "POTRZEBUJE TŁUMACZENIA",
384
+ "andMoreKeys": "...I {count} więcej kluczy.",
385
+ "noLanguages": "⚠️ Nie znaleziono języków docelowych.",
386
+ "languageStats": "{language}: {percentage}% kompletny ({translated}/{total} klawiatura)",
387
+ "invalidReportFilePath": "Nieprawidłowa ścieżka pliku raportu",
388
+ "failedToWriteReportFile": "Nie udało się bezpiecznie zapisać pliku raportu"
389
+ },
390
+ "complete": {
391
+ "configLoadedSuccessfully": "Konfiguracja została załadowana pomyślnie",
392
+ "configLoadingFailed": "Ładowanie konfiguracji nie powiodło się",
393
+ "sourceLanguageNotFound": "Nie znaleziono katalogu języka źródłowego: {sourceLanguage}",
394
+ "couldNotParseTarget": "Nie można przeanalizować pliku docelowego: {file}",
395
+ "couldNotParseSource": "Nie można przeanalizować pliku źródłowego: {file}",
396
+ "reportGenerated": "Wygenerowany raport: {path}",
397
+ "generateReportPrompt": "Czy chcesz wygenerować raport?",
398
+ "title": "🌍 UKOŃCZENIE TŁUMACZENIA I18NTK",
399
+ "separator": "============================================================",
400
+ "sourceDir": "📁 Katalog źródłowy: {sourceDir}",
401
+ "sourceLanguage": "🌐 Język źródłowy: {sourceLanguage}",
402
+ "dryRunMode": "🧪 Tryb pracy próbnej - żadne zmiany nie zostaną wprowadzone",
403
+ "languages": "🌍 Dostępne języki: {languages}",
404
+ "addingMissingKeys": "➕ Dodanie brakujących kluczy do plików tłumaczeniowych...",
405
+ "processing": "🔄 Przetwarzanie {language}...",
406
+ "addedKeys": "✅ Dodano {count} brakujące klucze",
407
+ "noChangesNeeded": "✅ Żadne zmiany nie są potrzebne {language}",
408
+ "summaryTitle": "📊 PODSUMOWANIE WYKOŃCZENIA",
409
+ "totalChanges": "📝 Całkowite zmiany: {totalChanges}",
410
+ "languagesProcessed": "🌍 Obsługiwane języki: {languagesProcessed}",
411
+ "missingKeysAdded": "➕ Dodano brakujące klawisze: {missingKeysAdded}",
412
+ "nextStepsTitle": "📋 NEXT STEPS",
413
+ "nextStep1": "1. Uruchom analizę użytkowania:",
414
+ "nextStep2": "węzeł i18ntk-usage.js --output-report",
415
+ "nextStep3": "2. Zweryfikuj tłumaczenia:",
416
+ "nextStep4": "węzeł i18ntk-validate.js",
417
+ "nextStep5": "3. Przeanalizuj wzorce:",
418
+ "nextStep6": "węzeł i18ntk-analyze.js",
419
+ "allKeysAvailable": "🎉 Wszystkie klucze do tłumaczeń są już dostępne!",
420
+ "runWithoutDryRun": "💡 Uruchom bez --dry-run, aby zastosować zmiany",
421
+ "deletingOldReport": "🗑️ Usuwanie starego raportu...",
422
+ "generatingFreshAnalysis": "📊 Generowanie nowej analizy użytkowania...",
423
+ "couldNotGenerate": "❌ Nie można wygenerować analizy użytkowania",
424
+ "reportNotFound": "📋 Nie znaleziono raportu użytkowania. Korzystanie ze zwykłych kluczy...",
425
+ "foundMissingKeys": "📋 Znaleziono {count} brakujące klucze z analizy użycia",
426
+ "couldNotParse": "❌ Nie można przeanalizować raportu użytkowania. Korzystanie ze zwykłych kluczy...",
427
+ "errorDuringCompletion": "❌ Błąd podczas zakończenia: {error}",
428
+ "fatalError": "❌ Błąd krytyczny: {error}",
429
+ "configurationValidationFailed": "Sprawdzanie poprawności konfiguracji nie powiodło się: brak wymaganych pól"
430
+ },
431
+ "sizing": {
432
+ "separator": "================================================================================",
433
+ "lineSeparator": "--------------------------------------------------------------------------------",
434
+ "analysisStats": "{stats}",
435
+ "sourceDirectoryLabel": "📁 Katalog źródłowy: {sourceDir}",
436
+ "sourceLanguageLabel": "🌍 Język źródłowy: {sourceLanguage}",
437
+ "strictModeLabel": "⚙️ Tryb ścisły: {mode}",
438
+ "invalidSourceDirectoryError": "Nieprawidłowa ścieżka katalogu źródłowego: {sourceDir}",
439
+ "sourceDirectoryNotFoundError": "Nie znaleziono katalogu źródłowego: {sourceDir}",
440
+ "invalidOutputDirectoryError": "Nieprawidłowa ścieżka katalogu wyjściowego: {outputDir}",
441
+ "invalidReportFileError": "Nieprawidłowa ścieżka pliku raportu",
442
+ "problematic_keys": "Problematyczne klawisze: {problematicKeys}",
443
+ "problematicKeysLabel": "Problematyczne klawisze: {problematicKeys}",
444
+ "long_translations": "Długie tłumaczenia: {longTranslations}",
445
+ "failedToSaveReportError": "Nie udało się bezpiecznie zapisać raportu",
446
+ "invalidCsvFileError": "Nieprawidłowa ścieżka pliku CSV",
447
+ "failedToSaveCsvError": "Nie udało się bezpiecznie zapisać raportu CSV",
448
+ "fatalError": "❌ Analiza rozmiaru nie powiodła się: {error}",
449
+ "starting_i18n_sizing_analysis": "Rozpoczęcie analizy rozmiaru i18n...",
450
+ "source_directory": "Katalog źródłowy: {sourceDir}",
451
+ "found_languages": "Znalezione języki: {languages}",
452
+ "analyzing_file_sizes": "Analizowanie rozmiarów plików...",
453
+ "analyzing_translation_content": "Analizowanie treści tłumaczenia...",
454
+ "generating_size_comparisons": "Generuję porównania rozmiarów...",
455
+ "no_languages_found_for_comparison": "Nie znaleziono języków do porównania",
456
+ "sizing_analysis_results": "Wyniki analizy wymiarowej I18n",
457
+ "file_sizes_title": "Rozmiary plików",
458
+ "file_sizes_header": "Rozmiar języka (KB) Linie Znaki",
459
+ "file_size_row": "{lang} {sizeKB} {lines} {characters}",
460
+ "language_statistics_title": "Statystyki językowe",
461
+ "language_stats_header": "Klawisze języka Znaki Średnia długość Maksymalna długość Pusty Długi",
462
+ "language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}",
463
+ "size_variations_title": "Różnice w rozmiarach",
464
+ "size_variations_header": "Język Char Diff % Diff Problematyczne",
465
+ "size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}",
466
+ "problematic_yes": "Tak",
467
+ "problematic_no": "NIE",
468
+ "recommendations_title": "Zalecenia",
469
+ "recommendation_item": "{index}. {recommendation}",
470
+ "problematic_key_detail": "{index}. Klucz: '{key}' - Odmiany: {variations}",
471
+ "generating_detailed_report": "Generuję szczegółowy raport...",
472
+ "keysHaveSignificantSizeVariations": "klucze mają znaczne różnice w rozmiarach",
473
+ "longTranslationsDetected": "${lang} zawiera tłumaczenia ${data.longKeys} dłuższe niż 100 znaków — rozważ ich podzielenie",
474
+ "longer": "dłużej",
475
+ "shorter": "krótszy",
476
+ "review_translations": "Rozważ recenzję {lang} tłumaczenia - są {percentageDifference}% {comparison} niż wartość podstawowa",
477
+ "report_saved_to": "Raport został zapisany w: {reportPath}",
478
+ "considerReviewingTranslations": "Rozważ recenzję ${lang} tłumaczenia - są ${data.percentageDifference}% dłuższe niż wartości bazowe",
479
+ "csv_report_saved_to": "Raport CSV zapisany w: {csvPath}",
480
+ "human_report_saved": "Czytelny raport został zapisany: {reportPath}",
481
+ "folder_summary_title": "Podsumowanie folderu",
482
+ "folder_summary_table_header": "Język Rozmiar (KB) Klucze Średnia długość Łączna liczba znaków",
483
+ "folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}",
484
+ "language_comparison_title": "Porównanie języków",
485
+ "language_comparison_row": "{lang}: {diff} znaki ({percent}%) {status}",
486
+ "summary_stats": "📊 Podsumowanie: {totalLanguages} języki, {totalKeys} klucze - Raporty zapisywane w {reportPath}",
487
+ "detailedKeysDescription": "Pokaż szczegółową analizę na poziomie klucza w konsoli",
488
+ "too_many_keys_warning": "⚠️ Zbyt wiele kluczy do wyświetlenia w konsoli - sprawdź szczegółowy plik raportu w celu uzyskania pełnej analizy",
489
+ "no_translation_files_found": "Nie znaleziono plików tłumaczeń",
490
+ "analysis_completed": "Analiza zakończona w {duration}SM",
491
+ "analysis_failed": "Analiza nie powiodła się: {errorMessage}",
492
+ "starting_analysis": "Rozpoczęcie analizy...",
493
+ "found_files": "Znaleziony {count} akta",
494
+ "failed_to_parse_language_error": "Nie udało się przeanalizować {language} tłumaczenia: {errorMessage}",
495
+ "recommendations": {
496
+ "keys_have_significant_size_variations": "klucze mają znaczne różnice w rozmiarach",
497
+ "consider_reviewing_translations": "Rozważ recenzję {lang} tłumaczenia - są {percentageDifference}% {comparison} niż wartość podstawowa",
498
+ "long_translations_detected": "{lang} ma {longKeys} tłumaczenia dłuższe niż {threshold} znaków — rozważ ich podzielenie"
499
+ },
500
+ "detailed_key_analysis_title": "Szczegółowa analiza kluczy",
501
+ "key_analysis_detail": "{lang}: {length} znaki ({status}) - {translation}",
502
+ "key_analysis_header": "Klawisz: {key}",
503
+ "status_empty": "pusty",
504
+ "status_long": "długi",
505
+ "status_ok": "OK"
506
+ },
507
+ "usage": {
508
+ "help_message": "Analizator użycia I18n Użycie: węzeł i18ntk-usage.js [opcje] Opcje: --source-dir <dir> Katalog źródłowy do skanowania (domyślnie: ./src) --i18n-dir <dir> Katalog I18n (domyślnie: ./src/locales) --output-report Generuje szczegółowy raport --output-dir <dir> Katalog wyjściowy dla raportów (domyślnie: ./reports) --help Pokaż tę pomoc Przykłady: węzeł i18ntk-usage.js --output-report węzeł i18ntk-usage.js --source-dir=./app --i18n-dir=./locales węzeł i18ntk-usage.js --output-dir=./analytic --output-report",
509
+ "source_directory_thissourcedir": "📁 Katalog źródłowy: {sourceDir}",
510
+ "translationCompletenessTitle": "🌍 Kompletność tłumaczenia:",
511
+ "i18n_directory_thisi18ndir": "🌐 Katalog I18n: {i18nDir}",
512
+ "failed_to_parse_filename_error": "⚠️ Nie udało się przeanalizować {fileName}: {errorMessage}",
513
+ "analyzing_source_files": "🔍Analiza plików źródłowych...",
514
+ "found_files_in_source": "📂 Znaleziono {numFiles} pliki w katalogu źródłowym",
515
+ "found_thisusedkeyssize_unique_": "🎯 Znaleziono {usedKeysSize} unikalne używane klucze",
516
+ "total_key_usages_totalkeysfoun": "📊 Łączna liczba kluczowych zastosowań: {totalKeysFound}",
517
+ "loading_available_translation_": "📋 Ładowanie dostępnych kluczy tłumaczeniowych...",
518
+ "found_thisavailablekeyssize_av": "✅ Znaleziono {availableKeysSize} dostępne klucze",
519
+ "foundTranslationFiles": "✅ Znaleziono {count} pliki tłumaczeń",
520
+ "errorReadingI18nDirectory": "⚠️ Błąd odczytu katalogu i18n: {error}",
521
+ "pressEnterToReturnToMenu": "📝 Naciśnij Enter, aby wrócić do menu głównego...",
522
+ "notTranslatedKeysTotal": "⚠️ Nieprzetłumaczone klucze: {total}",
523
+ "noSourceFilesFound": "⚠️ W katalogu źródłowym nie znaleziono plików źródłowych.",
524
+ "reviewNotTranslatedKeys": "💡 Przejrzyj nieprzetłumaczone klucze",
525
+ "analysisCompletedSuccessfully": "🎉 Analiza zakończona pomyślnie!",
526
+ "detectedSourceDirectory": "Wykryty katalog źródłowy: {sourceDir}",
527
+ "detectedI18nDirectory": "Wykryty katalog i18n: {i18nDir}",
528
+ "fileInfo": "📄 {namespace}: {keys} klawiatura",
529
+ "failedToAnalyzeUsage": "❌ Nie udało się przeanalizować użycia: {error}",
530
+ "failedToAnalyzeFile": "❌ Nie udało się przeanalizować pliku: {error}",
531
+ "failedToExtractKeys": "❌ Nie udało się wyodrębnić kluczy z {filePath}: {error}",
532
+ "analysisFailedError": "❌ Analiza nie powiodła się: {error}",
533
+ "analyzerInitialized": "Analizator zainicjowany",
534
+ "analyzerInitFailed": "Inicjalizacja analizatora nie powiodła się: {error}",
535
+ "argsParsed": "Argumenty przeanalizowane",
536
+ "processedFiles": "Obrobiony {processedFiles} z {totalFiles} akta.",
537
+ "argsParseFailed": "Analiza argumentu nie powiodła się: {error}",
538
+ "translationDiscoveryError": "Błąd wykrywania tłumaczenia: {error}",
539
+ "fileTraversalError": "Błąd przeglądania pliku: {error}",
540
+ "sourceEqualsI18nWarn": "{reason}. Analiza użycia nie będzie skanować plików ustawień regionalnych jako kodu źródłowego.",
541
+ "i18nEqualsSourceWarn": "⚠️ Katalog I18n i katalog źródłowy są takie same. Może to powodować problemy z analizą.",
542
+ "usageAnalysisFailed": "⚠️ Analiza użycia nie powiodła się: {error}",
543
+ "translationFileParseError": "⚠️ Błąd analizy pliku tłumaczenia: {error}",
544
+ "translationKeysLoadError": "⚠️ Błąd ładowania kluczy tłumaczeniowych: {error}",
545
+ "languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% przetłumaczony)",
546
+ "missingKeysCount": "⚠️Brakujące klucze: {count}",
547
+ "analyzingTranslationCompleteness": "Analizowanie kompletności tłumaczenia...",
548
+ "unusedKeysCount": "Nieużywane klucze: {count}",
549
+ "usedKeysCount": "Używane klucze: {count}",
550
+ "availableKeysCount": "Dostępne klucze: {count}",
551
+ "analysisResults": "Wyniki analizy:",
552
+ "i18nDirectoryNotFound": "⚠️ Nie znaleziono katalogu I18n. Sprawdź ścieżkę.",
553
+ "sourceDirectoryNotFound": "⚠️ Nie znaleziono katalogu źródłowego: {dir}",
554
+ "checkUsage": {
555
+ "title": "🔍 I18NTK USAGE ANALYSIS",
556
+ "analyzing_source_files": "🔍Analiza plików źródłowych...",
557
+ "source_directory_thissourcedir": "📁 Katalog źródłowy: {sourceDir}",
558
+ "i18n_directory_thisi18ndir": "📁 katalog i18n: {i18nDir}",
559
+ "found_files_in_source": "✅ Znaleziono {numFiles} pliki w katalogu źródłowym",
560
+ "no_source_files_found": "⚠️ W określonym katalogu nie znaleziono plików źródłowych",
561
+ "processedFiles": "📊 Przetworzone {processedFiles} z {totalFiles} akta",
562
+ "failedToProcessFile": "❌ Nie udało się przetworzyć",
563
+ "found_thisusedkeyssize_unique_": "🔍 Znaleziono {usedKeysSize} unikalne używane klucze",
564
+ "total_key_usages_totalkeysfoun": "📊 Łączna liczba kluczowych zastosowań: {totalKeysFound}",
565
+ "loading_available_translation_": "📂 Ładowanie dostępnych kluczy tłumaczeniowych...",
566
+ "found_thisavailablekeyssize_av": "✅ Znaleziono {availableKeysSize} dostępne klucze",
567
+ "message": "Analizuję użycie klucza tłumaczeniowego w całym projekcie...",
568
+ "usage_analysis_results": "📊 USAGE ANALYSIS RESULTS",
569
+ "source_files_scanned_thisfileu": "📁 Przeskanowane pliki źródłowe: {fileUsageSize}",
570
+ "available_translation_keys_thi": "✅ Dostępne klucze tłumaczeń: {availableKeysSize}",
571
+ "used_translation_keys_thisused": "🔍 Używane klucze do tłumaczeń: {usedKeysSize}",
572
+ "dynamic_keys_detected_dynamick": "⚡ Wykryto klucze dynamiczne: {dynamicKeysLength}",
573
+ "unused_keys_unusedkeyslength": "🗑️ Nieużywane klucze: {unusedKeysLength}",
574
+ "missing_keys_missingkeyslength": "❌ Brakujące klucze: {missingKeysLength}",
575
+ "translation_completeness_title": "📈 KOMPLETNOŚĆ TŁUMACZEŃ",
576
+ "language_completeness_stats": "{language}: {translated}/{total} klucze ({percentage}%)",
577
+ "n_sample_unused_keys": "🗑️ PRZYKŁADOWE NIEUŻYWANE KLUCZE (pierwsze 5):",
578
+ "key": "🔑 {key}",
579
+ "and_unusedkeyslength_5_more": "... I {count} więcej nieużywanych kluczy",
580
+ "n_sample_missing_keys": "❌ PRZYKŁADOWE BRAKUJĄCE KLUCZE (pierwsze 5):",
581
+ "and_missingkeyslength_5_more": "... I {count} więcej brakujących kluczy",
582
+ "n_generating_detailed_report": "📊 Generowanie szczegółowego raportu...",
583
+ "report_saved_reportpath": "📄 Raport został zapisany: {reportPath}",
584
+ "n_recommendations": "💡 REKOMENDACJE:",
585
+ "consider_removing_unused_trans": "🗑️ Rozważ usunięcie nieużywanych tłumaczeń, aby zmniejszyć rozmiar pakietu",
586
+ "add_missing_translation_keys_t": "➕ Dodaj brakujące klucze tłumaczeń, aby zachować spójność",
587
+ "review_dynamic_keys_manually_t": "🔍 Przejrzyj ręcznie klucze dynamiczne (mogą być ważne)",
588
+ "all_translation_keys_are_prope": "✅ Wszystkie klucze tłumaczeniowe są prawidłowo używane!",
589
+ "n_next_steps": "🎯 NEXT STEPS:",
590
+ "2_check_the_detailed_report_fo": "2. Sprawdź szczegółowy raport pod kątem konkretnych problemów",
591
+ "help_message": "Analizator użycia I18n Użycie: węzeł i18ntk-usage.js [opcje] Opcje: --source-dir <dir> Katalog źródłowy do skanowania (domyślnie: ./src) --i18n-dir <dir> Katalog I18n (domyślnie: ./src/locales) --output-report Generuje szczegółowy raport --output-dir <dir> Katalog wyjściowy dla raportów (domyślnie: ./reports) --help Pokaż tę pomoc Przykłady: węzeł i18ntk-usage.js --output-report węzeł i18ntk-usage.js --source-dir=./app --i18n-dir=./locales węzeł i18ntk-usage.js --output-dir=./analytic --output-report",
592
+ "1_review_the_analysis_results": "1. Przejrzyj wyniki analizy w konsoli lub wygenerowanym raporcie.",
593
+ "2_run_with_outputreport_for_de": "2. Uruchom z opcją --output-report, aby uzyskać szczegółowy raport.",
594
+ "3_remove_unused_keys_or_add_mi": "3. Usuń nieużywane klucze lub dodaj brakujące klucze do kodu źródłowego.",
595
+ "4_rerun_analysis_to_verify_imp": "4. Przeprowadź ponownie analizę, aby zweryfikować ulepszenia.",
596
+ "noSourceFilesFound": "Nie znaleziono plików źródłowych do analizy.",
597
+ "i18nDirectoryNotFound": "Nie znaleziono katalogu I18n: {i18nDir}",
598
+ "noTranslationLanguagesFound": "Nie znaleziono języków tłumaczeń.",
599
+ "failedToAnalyzeFile": "Nie udało się przeanalizować pliku {filePath}: {error}",
600
+ "failedToAnalyzeLanguage": "Nie udało się przeanalizować języka {language}: {error}",
601
+ "translationCompletenessAnalysisFailed": "Analiza kompletności tłumaczenia nie powiodła się: {error}",
602
+ "n": "\\N"
603
+ },
604
+ "complete": {
605
+ "configLoadedSuccessfully": "Konfiguracja została załadowana pomyślnie",
606
+ "configLoadingFailed": "Ładowanie konfiguracji nie powiodło się",
607
+ "title": "🌍 UKOŃCZENIE TŁUMACZENIA I18NTK",
608
+ "separator": "============================================================",
609
+ "sourceDir": "📁 Katalog źródłowy: {sourceDir}",
610
+ "sourceLanguage": "🌐 Język źródłowy: {sourceLanguage}",
611
+ "dryRunMode": "🧪 Tryb pracy próbnej - żadne zmiany nie zostaną wprowadzone",
612
+ "languages": "🌍 Dostępne języki: {languages}",
613
+ "addingMissingKeys": "➕ Dodanie brakujących kluczy do plików tłumaczeniowych...",
614
+ "processing": "🔄 Przetwarzanie {language}...",
615
+ "addedKeys": "✅ Dodano {count} brakujące klucze",
616
+ "changeDetails": "📝 {file}: {key}",
617
+ "andMore": "...I {count} więcej",
618
+ "noChangesNeeded": "✅ Żadne zmiany nie są potrzebne {language}",
619
+ "summaryTitle": "📊 PODSUMOWANIE WYKOŃCZENIA",
620
+ "totalChanges": "📝 Całkowite zmiany: {totalChanges}",
621
+ "languagesProcessed": "🌍 Obsługiwane języki: {languagesProcessed}",
622
+ "missingKeysAdded": "➕ Dodano brakujące klawisze: {missingKeysAdded}",
623
+ "nextStepsTitle": "📋 NEXT STEPS",
624
+ "nextStep1": "1. Uruchom analizę użytkowania:",
625
+ "nextStep2": "węzeł i18ntk-usage.js --output-report",
626
+ "nextStep3": "2. Zweryfikuj tłumaczenia:",
627
+ "nextStep4": "węzeł i18ntk-validate.js",
628
+ "nextStep5": "3. Przeanalizuj wzorce:",
629
+ "nextStep6": "węzeł i18ntk-analyze.js",
630
+ "allKeysAvailable": "🎉 Wszystkie klucze do tłumaczeń są już dostępne!",
631
+ "runWithoutDryRun": "💡 Uruchom bez --dry-run, aby zastosować zmiany",
632
+ "deletingOldReport": "🗑️ Usuwanie starego raportu...",
633
+ "generatingFreshAnalysis": "📊 Generowanie nowej analizy użytkowania...",
634
+ "couldNotGenerate": "❌ Nie można wygenerować analizy użytkowania",
635
+ "reportNotFound": "📋 Nie znaleziono raportu użytkowania. Korzystanie ze zwykłych kluczy...",
636
+ "foundMissingKeys": "📋 Znaleziono {count} brakujące klucze z analizy użycia",
637
+ "couldNotParse": "❌ Nie można przeanalizować raportu użytkowania. Korzystanie ze zwykłych kluczy..."
638
+ },
639
+ "noTranslationLanguagesFound": "Nie znaleziono języków tłumaczeń",
640
+ "failedToAnalyzeLanguage": "Nie udało się przeanalizować języka",
641
+ "translationCompletenessAnalysisFailed": "Analiza kompletności tłumaczenia nie powiodła się",
642
+ "failedToProcessFile": "Nie udało się przetworzyć pliku:",
643
+ "failedToSaveReport": "Nie udało się zapisać raportu użycia: {error}",
644
+ "i18nDirectoryDoesNotExist": "Katalog I18n nie istnieje: {dir}",
645
+ "reportSavedTo": "Raport użycia zapisany w: {reportPath}",
646
+ "sourceDirectoryDoesNotExist": "Katalog źródłowy nie istnieje: {dir}",
647
+ "noSourceDirectoryConfigured": "(żaden nie skonfigurowany)"
648
+ },
649
+ "validate": {
650
+ "help_message": "Walidator tłumaczenia I18n Użycie: węzeł i18ntk-validate.js [opcje] Opcje: --source-dir <dir> Katalog źródłowy do skanowania (domyślnie: ./src) --i18n-dir <dir> Katalog I18n (domyślnie: ./src/locales) --output-report Generuje szczegółowy raport --output-dir <dir> Katalog wyjściowy dla raportów (domyślnie: ./reports) --help Pokaż tę pomoc Przykłady: węzeł i18ntk-validate.js --output-report węzeł i18ntk-validate.js --source-dir=./app --i18n-dir=./locales węzeł i18ntk-validate.js --output-dir=./analytic --output-report",
651
+ "title": "🔍 Walidator tłumaczeń I18n",
652
+ "message": "Rozpoczęcie procesu weryfikacji...",
653
+ "sourceDirectory": "📁 Katalog źródłowy: {dir}",
654
+ "sourceLanguage": "🌍 Język źródłowy: {sourceLanguage}",
655
+ "strictMode": "⚙️ Tryb ścisły: {mode}",
656
+ "noTargetLanguages": "Nie skonfigurowano języków docelowych; pominięcie weryfikacji celu. Dodaj języki za pomocą „i18ntk init --languages=de,fr”.",
657
+ "validatingLanguages": "🌍 Sprawdzanie języków: {langs}",
658
+ "validatingLanguage": "🔍 Sprawdzanie języka: {lang}",
659
+ "filesCount": "📄 Pliki: {count}",
660
+ "keysCount": "🔑 Klucze: {count}",
661
+ "missingFilesCount": "📁 Brakujące pliki: {count}",
662
+ "syntaxErrorsCount": "❌ Błędy składniowe: {count}",
663
+ "translationPercentage": "🎯 Tłumaczenie: {percentage}% ({translated}/{total} klawiatura)",
664
+ "validationSummary": "📊 PODSUMOWANIE WALIDACJI",
665
+ "validation_failed": "❌ Walidacja nie powiodła się: {error}",
666
+ "totalErrors": "❌ Całkowita liczba błędów: {count}",
667
+ "totalWarnings": "⚠️ Łączna liczba ostrzeżeń: {count}",
668
+ "errorsSection": "❌ ERRORS",
669
+ "warningsSection": "⚠️ WARNINGS",
670
+ "recommendationsSection": "💡 REKOMENDACJE",
671
+ "fixErrorsFirst": "1. Najpierw napraw wszystkie błędy",
672
+ "resolveMissingFilesAndSyntaxErrors": "1. Napraw brakujące pliki i błędy składniowe",
673
+ "fixStructuralInconsistencies": "2. Napraw niespójności strukturalne",
674
+ "completeMissingTranslations": "3. Uzupełnij brakujące tłumaczenia",
675
+ "rerunValidation": "4. Uruchom ponownie weryfikację, aby zweryfikować poprawki",
676
+ "addressWarnings": "Usuń ostrzeżenia, aby poprawić jakość",
677
+ "reviewWarnings": "Przejrzyj ostrzeżenia i napraw je, jeśli to konieczne",
678
+ "considerRunningWithStrict": "2. Rozważ uruchomienie z flagą --strict w celu bardziej rygorystycznej walidacji",
679
+ "allValidationsPassed": "🎉 Wszystkie walidacje zaliczone!",
680
+ "considerRunningUsageAnalysis": "Rozważ uruchomienie analizy użycia: węzeł i18ntk-usage.js",
681
+ "deletedOldReport": "🗑️ Usunięto stary raport z walidacji",
682
+ "sourceDir": "📁 Katalog źródłowy: {sourceDir}",
683
+ "i18nDir": "🌐 Katalog I18n: {i18nDir}",
684
+ "loadingTranslationFiles": "📋 Ładowanie plików tłumaczeniowych...",
685
+ "foundTranslationFilesCount": "✅ Znaleziono {count} pliki tłumaczeń",
686
+ "analyzingTranslations": "🔍Analiza tłumaczeń...",
687
+ "validationCompletedSuccessfully": "🎉 Weryfikacja zakończona pomyślnie!",
688
+ "validationErrorsFound": "⚠️ Znaleziono błędy podczas walidacji: {count}",
689
+ "validationWarningsFound": "⚠️ Znaleziono ostrzeżenia dotyczące walidacji: {count}",
690
+ "validationPassed": "✅ Weryfikacja przebiegła bez błędów",
691
+ "validationFailed": "Walidacja nie powiodła się: {error}",
692
+ "startingValidationProcess": "🔍 Rozpoczęcie procesu walidacji...",
693
+ "validationProcessCompletedSuccessfully": "✅ Proces walidacji zakończył się pomyślnie",
694
+ "stackTrace": "Ślad stosu: {stack}",
695
+ "authenticationFailed": "❌ Uwierzytelnienie nie powiodło się. Odmowa dostępu.",
696
+ "fatalValidationError": "❌ Fatalny błąd walidacji: {error}",
697
+ "configAccess": "Dostęp do konfiguracji w celu sprawdzenia",
698
+ "configValidated": "Konfiguracja została sprawdzona pomyślnie",
699
+ "configError": "Błąd konfiguracji: {error}",
700
+ "validatorInit": "Inicjowanie walidatora I18n",
701
+ "validatorInitialized": "Walidator I18n został pomyślnie zainicjowany",
702
+ "validatorInitError": "Błąd inicjalizacji walidatora: {error}",
703
+ "argsParsing": "Analizowanie argumentów wiersza poleceń",
704
+ "argsParsed": "Argumenty wiersza poleceń zostały pomyślnie przeanalizowane",
705
+ "argsParseError": "Błąd analizy argumentu: {error}",
706
+ "languagesScan": "Skanowanie dostępnych języków",
707
+ "languagesFound": "Znaleziony {count} języki",
708
+ "languagesScanError": "Błąd skanowania języka: {error}",
709
+ "filesScan": "Znaleziony {count} pliki w {language}",
710
+ "filesScanError": "Błąd skanowania pliku: {error}",
711
+ "jsonValidated": "Sprawdzona składnia JSON: {filePath}",
712
+ "jsonValidationError": "Błąd sprawdzania poprawności JSON: {error}",
713
+ "languageValidation": "Walidacja języka: {language}",
714
+ "languageValidationError": "Błąd sprawdzania poprawności języka: {error}",
715
+ "fileDeleted": "Plik usunięty",
716
+ "runStarted": "Rozpoczęcie przebiegu walidacyjnego",
717
+ "runCompleted": "Walidacja została ukończona pomyślnie",
718
+ "runError": "Przebieg weryfikacji nie powiódł się: {error}",
719
+ "scriptExecution": "Wykonanie skryptu",
720
+ "validationCompleted": "Weryfikacja zakończona",
721
+ "validationError": "Błąd walidacji: {error}",
722
+ "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
723
+ "languageHeader": "🌐 Język: {language}",
724
+ "validationResults": "📊 Wyniki walidacji",
725
+ "noErrors": "✅ Nie znaleziono błędów",
726
+ "noWarnings": "✅ Nie znaleziono ostrzeżeń",
727
+ "summaryHeader": "📋 OVERALL SUMMARY",
728
+ "progressIndicator": "⏳ Przetwarzanie...",
729
+ "completedIndicator": "✅ Zakończono",
730
+ "errorIndicator": "❌ Błąd",
731
+ "warningIndicator": "⚠️Uwaga",
732
+ "infoIndicator": "ℹ️ Informacje",
733
+ "sourceDirNotConfigured": "Katalog źródłowy nie jest skonfigurowany",
734
+ "sourceLanguageNotConfigured": "Język źródłowy nie jest skonfigurowany",
735
+ "translationFunctionNotInitialized": "Funkcja tłumaczenia nie została poprawnie zainicjowana",
736
+ "sourceLanguageDirectoryNotFound": "Nie znaleziono katalogu języka źródłowego",
737
+ "specifiedLanguageNotFound": "Nie znaleziono określonego języka",
738
+ "noJsonFilesFound": "W katalogu źródłowym nie znaleziono plików JSON: {sourceDir}",
739
+ "i18nDirectoryNotFound": "Nie znaleziono katalogu I18n: {i18nDir}",
740
+ "invalidDirectoryPaths": "Wykryto nieprawidłowe ścieżki katalogów",
741
+ "invalidSampleFilePath": "Nieprawidłowa ścieżka pliku przykładowego",
742
+ "failedToCreateSampleTranslationFile": "Nie udało się utworzyć przykładowego pliku tłumaczenia",
743
+ "invalidFilePathDetected": "Wykryto nieprawidłową ścieżkę pliku",
744
+ "failedToWriteFile": "Nie udało się zapisać pliku: {filePath}",
745
+ "invalidSourceDirectory": "Nieprawidłowy katalog źródłowy: {sourceDir}",
746
+ "invalidSourceLanguageDirectory": "Nieprawidłowy katalog języka źródłowego: {sourceDir}"
747
+ },
748
+ "adminCli": {
749
+ "setupPinProtectionTitle": "🔐 Konfigurowanie ochrony PIN administratora",
750
+ "setupPinProtectionDescription": "Będzie to wymagało 4-6-cyfrowego kodu PIN do operacji administracyjnych.",
751
+ "enablePinProtectionPrompt": "Czy chcesz włączyć ochronę PIN-em administratora?",
752
+ "setupCancelled": "Konfiguracja ochrony PIN administratora została anulowana.",
753
+ "enterPinPrompt": "Wprowadź 4-6 cyfrowy PIN:",
754
+ "pinFormatError": "❌ PIN musi składać się z 4-6 cyfr. Spróbuj ponownie.",
755
+ "confirmPinPrompt": "Potwierdź PIN:",
756
+ "pinMismatchError": "❌ PIN-y nie pasują. Spróbuj ponownie.",
757
+ "pinProtectionEnabledSuccess": "✅ Ochrona PIN administratora została pomyślnie włączona!",
758
+ "pinRecoveryWarning": "⚠️ Zapamiętaj swój PIN - w przypadku zagubienia nie będzie go można odzyskać.",
759
+ "setupPinProtectionFailed": "❌ Nie udało się skonfigurować ochrony PIN-em administratora.",
760
+ "errorSettingUpPin": "❌ Błąd podczas konfigurowania PIN-u administratora: {message}",
761
+ "authRequiredForOperation": "🔐 Uwierzytelnienie administratora wymagane dla: {operation}",
762
+ "invalidPinFormat": "❌ Nieprawidłowy format PIN-u. PIN musi składać się z 4-6 cyfr.",
763
+ "authenticationSuccess": "✅ Uwierzytelnienie powiodło się!",
764
+ "invalidPinAttemptsRemaining": "❌ Nieprawidłowy PIN. {remaining} pozostałe próby.",
765
+ "authenticationFailedAccessDenied": "❌ Uwierzytelnienie nie powiodło się. Odmowa dostępu.",
766
+ "authenticationError": "❌ Błąd uwierzytelnienia: {message}",
767
+ "pinProtectionNotEnabled": "Ochrona PIN administratora nie jest obecnie włączona.",
768
+ "disablingPinProtectionTitle": "🔓 Wyłączanie ochrony PIN administratora",
769
+ "confirmDisablePinProtection": "Czy na pewno chcesz wyłączyć ochronę PIN-em administratora?",
770
+ "operationCancelled": "Operacja anulowana.",
771
+ "pinProtectionDisabledSuccess": "✅ Ochrona PIN administratora wyłączona.",
772
+ "disablePinProtectionFailed": "❌ Nie udało się wyłączyć ochrony PIN-em administratora.",
773
+ "errorDisablingPinProtection": "❌ Błąd wyłączania ochrony administratora: {message}",
774
+ "adminProtectionStatusTitle": "🔐 Stan ochrony administratora",
775
+ "statusEnabled": "Stan: ✅ WŁĄCZONY",
776
+ "protectionDetails": "Ochrona: 4-6 cyfrowy PIN wymagany do operacji administracyjnych",
777
+ "lockoutDetails": "Blokada: 3 nieudane próby = blokada na 15 minut",
778
+ "statusDisabled": "Stan: ❌ WYŁĄCZONY",
779
+ "noAuthRequired": "Ochrona: Nie jest wymagane uwierzytelnianie",
780
+ "unprotectedRisk": "Ryzyko: Operacje administracyjne nie są chronione",
781
+ "errorCheckingAdminStatus": "❌ Błąd podczas sprawdzania statusu administratora: {message}",
782
+ "authRequired": "🔐 Wymagane uwierzytelnienie administratora.",
783
+ "invalidPin": "❌ Nieprawidłowy PIN.",
784
+ "authSuccess": "✅ Uwierzytelnienie powiodło się!",
785
+ "adminPinSetupCli": "admin_pin_setup_cli",
786
+ "adminAuthFailedCli": "admin_auth_failed_cli",
787
+ "adminAuthDisabledCli": "admin_auth_disabled_cli",
788
+ "protectedAccess": "Dostęp chroniony: w przypadku wrażliwych operacji wymagane jest uwierzytelnianie administratora.",
789
+ "enterPin": "Wpisz PIN administratora:",
790
+ "accessGranted": "Dostęp przyznany."
791
+ },
792
+ "adminPin": {
793
+ "setup_title": "🔐 Konfiguracja PIN-u administratora",
794
+ "setup_separator": "============================================================",
795
+ "setup_description": "Utwórz 4–6-cyfrowy kod PIN, aby uzyskać dostęp administratora do poufnych ustawień.",
796
+ "required_for_title": "Ten PIN będzie wymagany do:",
797
+ "required_for_1": "• Zmiana ustawień zabezpieczeń",
798
+ "required_for_2": "• Modyfikowanie zaawansowanych konfiguracji",
799
+ "required_for_3": "• Dostęp do narzędzi debugowania",
800
+ "required_for_4": "• Resetowanie ustawień",
801
+ "setup_note": "💡 Uwaga: podczas pisania zobaczysz gwiazdki (*) - są to tylko znaki maskujące.",
802
+ "setup_digits_only": "Jako cyfry PIN akceptowane są wyłącznie cyfry 0-9.",
803
+ "invalid_pin_length": "❌ Nieprawidłowy PIN. Musi składać się z 4–6 cyfr (tylko cyfry 0–9).",
804
+ "invalid_pin_example": "Przykład: 1234 lub 567890",
805
+ "pins_do_not_match": "❌ PIN-y nie pasują.",
806
+ "setup_success": "✅ PIN administratora został pomyślnie ustawiony!",
807
+ "setup_warning": "⚠️ Trzymaj ten PIN w bezpiecznym miejscu. W przypadku utraty nie można go odzyskać.",
808
+ "setup_error": "❌ Błąd podczas ustawiania PIN-u:",
809
+ "session_expired": "⏰ Sesja administratora wygasła z powodu braku aktywności.",
810
+ "no_pin_set_setting_up": "⚠️ Brak ustawionego PIN-u administratora. Konfigurowanie kodu PIN...",
811
+ "no_pin_configured_access_denied": "⚠️ Nie skonfigurowano PIN-u administratora. Odmowa dostępu.",
812
+ "use_admin_settings_to_set_pin": "💡 Skorzystaj z ustawień administratora, aby najpierw skonfigurować kod PIN.",
813
+ "locked_out": "🔒 Dostęp administratora jest zablokowany z powodu zbyt wielu nieudanych prób.",
814
+ "wait_before_retry": "Odczekaj 5 minut przed ponowną próbą.",
815
+ "access_granted": "✅ Dostęp administratora przyznany.",
816
+ "incorrect_pin": "❌ Nieprawidłowy PIN. {attempts} pozostałe próby.",
817
+ "verify_pin_error": "❌ Błąd podczas weryfikacji PIN-u:",
818
+ "already_configured": "✅ PIN administratora jest już skonfigurowany.",
819
+ "optional_setup_title": "🔐 Konfiguracja PIN-u administratora (opcjonalnie)",
820
+ "optional_setup_description": "Ochrona PIN administratora zwiększa bezpieczeństwo wrażliwych operacji, takich jak:",
821
+ "setup_prompt": "Czy chcesz ustawić PIN administratora? (t/n):",
822
+ "skipping_setup": "⏭️ Pomijanie konfiguracji PIN-u administratora. Możesz to skonfigurować później w ustawieniach.",
823
+ "setup_prompt_error": "❌ Błąd podczas monitu o konfigurację kodu PIN:",
824
+ "protectedAccess": "Dostęp chroniony: w przypadku wrażliwych operacji wymagane jest uwierzytelnianie administratora.",
825
+ "enterPin": "Wpisz PIN administratora:",
826
+ "accessGranted": "Dostęp przyznany.",
827
+ "invalidPin": "❌ Nieprawidłowy PIN. Spróbuj ponownie.",
828
+ "weak_pin_warning": "⚠️ OSTRZEŻENIE: ten PIN wydaje się być słaby lub powszechny.",
829
+ "weak_pin_suggestion": "💡 Rozważ użycie silniejszego kodu PIN z różnymi cyframi.",
830
+ "use_anyway_prompt": "Wpisz „tak”, aby mimo to użyć, lub naciśnij klawisz Enter, aby wybrać inny kod PIN:",
831
+ "enter_new_pin": "Wprowadź nowy PIN administratora (4-6 cyfr):",
832
+ "confirm_pin": "Potwierdź PIN administratora:",
833
+ "not_set": "Nieustawione",
834
+ "pin_display_mask": "####"
835
+ },
836
+ "debug": {
837
+ "title": "🔧 Narzędzia do debugowania",
838
+ "separator": "============================================================",
839
+ "mainDebuggerSystemDiagnostics": "1. Diagnostyka systemu",
840
+ "_consoleTranslationsCheck": "// 2. Kontrola tłumaczeń konsoli",
841
+ "_exportMissingKeys": "// 3. Eksportuj brakujące klucze tłumaczeń",
842
+ "_replaceHardcodedConsole": "// 4. Zastąp zakodowane na stałe ciągi konsoli",
843
+ "_consoleKeyChecker": "// 5. Sprawdzanie kluczy konsoli",
844
+ "debugLogs": "2. Dzienniki debugowania",
845
+ "backToMainMenu": "0. Powrót do menu głównego",
846
+ "selectOption": "Wybierz narzędzie do debugowania:",
847
+ "runningDebugTool": "Działanie {displayName}...",
848
+ "debugToolNotFound": "❌ Nie znaleziono narzędzia debugującego: {toolName}",
849
+ "errorRunningDebugTool": "Błąd podczas uruchamiania narzędzia debugowania „{displayName}': {error}",
850
+ "recentDebugLogs": "📄 Najnowsze dzienniki debugowania",
851
+ "noDebugLogsFound": "❌ Nie znaleziono dzienników debugowania.",
852
+ "debugLogsDirectoryNotFound": "❌ Nie znaleziono katalogu dzienników debugowania.",
853
+ "selectLogPrompt": "Wybierz plik dziennika do wyświetlenia (1-{count}):",
854
+ "invalidChoiceSelectRange": "Nieprawidłowy wybór. Proszę wybrać z dostępnego asortymentu.",
855
+ "contentOf": "📄 Treść {filename}:",
856
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować..."
857
+ },
858
+ "detect_language_mismatches": {
859
+ "tool_title": "🔍 Narzędzie do wykrywania niezgodności języka",
860
+ "separator": "=====================================",
861
+ "analyzing_file": "📄 Analizuję {language}.json...",
862
+ "error_analyzing_file": "❌ Błąd podczas analizy {filename}: {errorMessage}",
863
+ "results_title": "📊 WYNIKI WYKRYWANIA NIEZGODNOŚCI JĘZYKÓW",
864
+ "results_separator": "========================================",
865
+ "summary_title": "📋 SUMMARY:",
866
+ "total_files_analyzed": "Całkowita liczba przeanalizowanych plików: {totalFiles}",
867
+ "files_with_mismatches": "Pliki z niezgodnościami: {filesWithMismatches}",
868
+ "total_mismatches_found": "Znaleziono wszystkie niezgodności: {totalMismatches}",
869
+ "no_mismatches_found": "✅ Nie znaleziono żadnych niezgodności językowych! Wszystkie tłumaczenia wydają się być we właściwych językach.",
870
+ "detailed_results_title": "🔍 DETAILED RESULTS:",
871
+ "file_mismatch_header": "📄 {filename} ({language})",
872
+ "mismatches_count": "Znaleziony {count} niedopasowanie:",
873
+ "mismatch_details": "{index}. Klawisz: {key}",
874
+ "mismatch_value": "Wartość: \"{value}\"",
875
+ "mismatch_issue": "Wydanie: {description}",
876
+ "recommendations_title": "💡 REKOMENDACJE:",
877
+ "recommendation_1": "1. Przejrzyj i przetłumacz wszystkie wpisy oznaczone [TŁUMACZ]",
878
+ "recommendation_2": "2. Zastąp przedrostki języków (np. [DE], [FR]) odpowiednimi tłumaczeniami",
879
+ "recommendation_3": "3. Przetłumacz tekst angielski na odpowiedni język docelowy",
880
+ "recommendation_4": "4. Używaj odpowiedników w języku ojczystym we wszystkich tekstach wyświetlanych użytkownikowi",
881
+ "recommendation_5": "5. Uruchom to narzędzie ponownie po wprowadzeniu poprawek, aby zweryfikować poprawki",
882
+ "detailed_report_saved": "📄 Szczegółowy raport zapisany w: {reportPath}",
883
+ "error_saving_report": "❌ Błąd podczas zapisywania raportu: {errorMessage}",
884
+ "auto_fix_mode": "🔧 Tryb automatycznej naprawy {dryRun}",
885
+ "auto_fix_separator": "=====================================",
886
+ "fixed_file": "✅ Naprawiono {filename}",
887
+ "auto_fix_summary_title": "📊 Podsumowanie automatycznej naprawy:",
888
+ "total_fixes_applied": "Całkowita liczba zastosowanych poprawek: {count}",
889
+ "preview_fixes_title": "🔍 Podgląd poprawek:",
890
+ "fix_details": "{file}: {key} Stary: \"{old}\" Nowy: \"{new}\"",
891
+ "more_fixes": "... I {count} więcej poprawek",
892
+ "run_with_apply_fixes": "💡 Uruchom z opcją --apply, aby zastosować te poprawki",
893
+ "error_general": "❌ Błąd:",
894
+ "mainDebuggerSystemDiagnostics": "Główny debuger / diagnostyka systemu",
895
+ "exportMissingKeys": "Eksportuj brakujące klucze",
896
+ "replaceHardcodedConsole": "Wymień zakodowaną na stałe konsolę",
897
+ "consoleKeyChecker": "Kontroler kluczy konsoli",
898
+ "debugLogs": "Dzienniki debugowania",
899
+ "backToMainMenu": "Powrót do menu głównego",
900
+ "invalidChoiceSelectRange": "❌ Nieprawidłowy wybór. Proszę wybrać liczbę z wyświetlanego zakresu.",
901
+ "runningDebugTool": "Uruchamianie narzędzia debugowania: {displayName}",
902
+ "debugToolNotFound": "Narzędzie do debugowania '{toolName}' nie znaleziono.",
903
+ "recentDebugLogs": "Najnowsze dzienniki debugowania",
904
+ "noDebugLogsFound": "Nie znaleziono dzienników debugowania.",
905
+ "logEntry": "Wpis do dziennika: {timestamp} - {message}",
906
+ "debugLogsDirectoryNotFound": "Nie znaleziono katalogu dzienników debugowania."
907
+ },
908
+ "help": {
909
+ "title": "📊 POMOC W ZARZĄDZANIU I18NTK",
910
+ "usage": "Użycie: węzeł main/manage/index.js [opcje]",
911
+ "interactiveMode": "💡 Użyj: węzeł main/manage/index.js --command=<command> do bezpośredniego wykonania",
912
+ "showHelp": "📖 Użyj: node main/manage/index.js --help dla dostępnych poleceń",
913
+ "availableCommands": "📖 Dostępne polecenia:",
914
+ "initProject": "🚀 Zainicjuj nowe języki",
915
+ "analyzeTranslations": "🔍 Analizuj tłumaczenia",
916
+ "validateTranslations": "✅ Sprawdzaj tłumaczenia",
917
+ "checkUsage": "📊 Sprawdź użycie klucza",
918
+ "initCommand": "init — inicjalizuje nowe języki",
919
+ "analyzeCommand": "analizuj - Analizuj tłumaczenia",
920
+ "validateCommand": "zatwierdź - Zatwierdź tłumaczenia",
921
+ "usageCommand": "użycie - Sprawdź użycie klucza",
922
+ "sizingCommand": "rozmiar - Analizuj rozmiar",
923
+ "completeCommand": "ukończone - Kompletne tłumaczenia (100% pokrycia)",
924
+ "summaryCommand": "podsumowanie - Pokaż status projektu",
925
+ "debugCommand": "debug - Debuguj problemy z tłumaczeniem",
926
+ "scannerCommand": "skaner - Skanuj w poszukiwaniu kluczy",
927
+ "translateCommand": "tłumacz - Automatyczne tłumaczenie plików regionalnych",
928
+ "menu": {
929
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować...",
930
+ "title": "🌐MENU ZARZĄDZANIA I18NTK",
931
+ "description": "Interaktywne menu do zarządzania internacjonalizacją",
932
+ "exit": "🚪 Wyjdź"
933
+ },
934
+ "commands": {
935
+ "init": "init — inicjalizuje nowe języki",
936
+ "analyze": "analizuj - Analizuj tłumaczenia",
937
+ "validate": "zatwierdź - Zatwierdź tłumaczenia",
938
+ "usage": "użycie - Sprawdź użycie klucza",
939
+ "sizing": "rozmiar - Analizuj rozmiar",
940
+ "complete": "ukończone - Kompletne tłumaczenia (100% pokrycia)",
941
+ "summary": "podsumowanie - Pokaż status projektu",
942
+ "debug": "debug - Debuguj problemy z tłumaczeniem"
943
+ },
944
+ "options": {
945
+ "sourceDir": "--katalog-źródłowy <dir> Katalog źródłowy do analizy",
946
+ "output": "--wyjście <file> Plik wyjściowy raportu",
947
+ "verbose": "--verbose, -v Wyświetla szczegółowe informacje",
948
+ "keepReports": "--keep-reports Zachowaj istniejące raporty",
949
+ "deleteReports": "--delete-reports Usuń istniejące raporty",
950
+ "help": "--help, -h Pokaż tę pomoc"
951
+ },
952
+ "examples": {
953
+ "title": "Przykłady:",
954
+ "example1": "węzeł i18ntk-manage.js",
955
+ "example2": "węzeł i18ntk-manage.js --katalog-źródłowy ./locales",
956
+ "example3": "węzeł i18ntk-manage.js --output raport podsumowujący.txt",
957
+ "example4": "węzeł i18ntk-manage.js --verbose",
958
+ "example5": "węzeł i18ntk-manage.js --katalog-źródłowy ./locales --report wyjściowy.json"
959
+ },
960
+ "features": {
961
+ "initProject": "🚀 Zainicjuj nowe języki",
962
+ "analyzeTranslations": "🔍 Analizuj tłumaczenia",
963
+ "validateTranslations": "✅ Sprawdzaj tłumaczenia",
964
+ "checkUsage": "📊 Sprawdź użycie klucza",
965
+ "completeTranslations": "🎯 Kompletne tłumaczenia (100% pokrycia)",
966
+ "showSizing": "📏 Przeanalizuj rozmiar",
967
+ "runWorkflow": "🔄 Uruchom pełny przepływ pracy",
968
+ "showStatus": "📋 Pokaż status projektu",
969
+ "deleteReports": "🗑️ Usuń wszystkie raporty",
970
+ "changeLanguage": "🌍 Zmień język interfejsu użytkownika",
971
+ "settings": "⚙️ Ustawienia",
972
+ "showHelp": "❓ Pomóż",
973
+ "debugTools": "🔧 Narzędzia do debugowania"
974
+ },
975
+ "messages": {
976
+ "selectOption": "Wybierz opcję:",
977
+ "invalidOption": "Nieprawidłowa opcja. Spróbuj ponownie.",
978
+ "operationCompleted": "✅Operacja zakończona pomyślnie!",
979
+ "pressEnter": "Naciśnij Enter, aby kontynuować...",
980
+ "goodbye": "👋 Do widzenia!",
981
+ "unknownCommand": "Nieznane polecenie: {command}",
982
+ "nonInteractive": "⚠️ Wykryto tryb nieinteraktywny. Menu wyświetlane wyłącznie w celach informacyjnych."
983
+ },
984
+ "i18n_helper": {
985
+ "translation_file_not_found": "Nie znaleziono pliku tłumaczenia: {translationFile}",
986
+ "error_loading_translations": "Błąd podczas ładowania tłumaczeń: {errorMessage}",
987
+ "translation_not_found": "Nie znaleziono tłumaczenia klucza: {key}",
988
+ "translation_key_not_string": "Klucz tłumaczenia nie jest rozpoznawany jako ciąg znaków: {key}",
989
+ "error_reading_locales_directory": "Błąd odczytu katalogu ustawień regionalnych: {errorMessage}"
990
+ }
991
+ },
992
+ "init": {
993
+ "initializationTitle": "🚀 Zestaw narzędzi do zarządzania i18n - Inicjalizacja projektu",
994
+ "initializationCancelled": "🚫 Inicjalizacja anulowana przez użytkownika.",
995
+ "sourceDirectoryLabel": "📁 Katalog źródłowy: {dir}",
996
+ "requiredTitle": "Wymagana inicjalizacja",
997
+ "requiredBody": "Przed uruchomieniem tego polecenia należy zainicjować ten projekt.",
998
+ "promptRunNow": "Czy chcesz teraz przeprowadzić inicjalizację? (t/n):",
999
+ "sourceLanguageLabel": "🌍 Język źródłowy: {language}",
1000
+ "detectedI18nFrameworks": "🔍 Wykryte frameworki i18n: {frameworks}",
1001
+ "pinMustBe4Digits": "🔐 PIN musi składać się z 4 cyfr.",
1002
+ "existingDirectoriesFound": "📁 Znaleziono istniejące katalogi tłumaczeń:",
1003
+ "useExistingDirectoryPrompt": "Czy chcesz skorzystać z istniejącego katalogu? (t/n)",
1004
+ "selectDirectoryPrompt": "Wybierz katalog wpisując jego numer (lub wybierz opcję „Utwórz nowy katalog”)",
1005
+ "enterNewDirectoryName": "Wprowadź nazwę nowego katalogu tłumaczeń",
1006
+ "createdNewDirectory": "✅ Utworzono nowy katalog: {dir}",
1007
+ "directoryAlreadyExists": "⚠️ Katalog już istnieje: {dir}",
1008
+ "invalidDirectoryName": "❌ Podano nieprawidłową nazwę katalogu.",
1009
+ "usingExistingDirectory": "Korzystanie z istniejącego katalogu: {dir}",
1010
+ "adminPinSetupOptional": "🔐 Opcjonalna konfiguracja PIN-u administratora (zalecana ze względów bezpieczeństwa)",
1011
+ "adminPinSeparator": "------------------------------",
1012
+ "adminPinDescription1": "PIN administratora: 4-cyfrowy numer zapewniający bezpieczny dostęp",
1013
+ "adminPinDescription2": "Pozostaw puste, aby pominąć konfigurację kodu PIN",
1014
+ "adminPinDescription3": "Jeśli ustawisz PIN, będzie on wymagany do wszystkich przyszłych bezpiecznych działań.",
1015
+ "adminPinDescription4": "Szyfrowanie AES-256-GCM wykorzystywane do bezpiecznego przechowywania kodu PIN.",
1016
+ "adminPinSetupPrompt": "Wprowadź PIN administratora (4 cyfry) lub pozostaw puste, aby pominąć:",
1017
+ "skippingAdminPinSetup": "Pomijam konfigurację PIN-u administratora...",
1018
+ "settingUpAdminPin": "🔐 Konfigurowanie kodu PIN administratora...",
1019
+ "enterAdminPin": "Wprowadź PIN administratora:",
1020
+ "confirmAdminPin": "Potwierdź PIN administratora:",
1021
+ "pinMismatch": "PIN-y nie pasują. Spróbuj ponownie.",
1022
+ "adminPinSetupSuccess": "🔐 Konfiguracja PIN-u administratora powiodła się!",
1023
+ "adminPinSetupFailure": "🔐 Konfiguracja PIN-u administratora nie powiodła się. Spróbuj ponownie.",
1024
+ "adminProtectionEnabled": "🔐 Włączono ochronę administracyjną. Wszystkie działania wymagają uwierzytelnienia PIN.",
1025
+ "adminProtectionDisabled": "🔐 Ochrona administratora wyłączona. Wszystkie akcje są teraz dostępne bez PIN-u.",
1026
+ "autoDetectedI18nDirectory": "Automatycznie wykryty katalog i18n: {directory}",
1027
+ "initializingProject": "⚙️ Inicjowanie konfiguracji projektu...",
1028
+ "createdSampleTranslationFile": "✅ Utworzono przykładowy plik tłumaczenia: {file}",
1029
+ "languageSelectionTitle": "🌐 Konfiguracja języka",
1030
+ "available": "Dostępny",
1031
+ "defaultLanguages": "📝 Domyślne języki: {languages}",
1032
+ "enterLanguageCodes": "🎯 Wpisz kody języka docelowego (oddzielone przecinkami, np. de, es, fr, ru):",
1033
+ "targetLanguages": "🌍 Języki docelowe",
1034
+ "foundSourceFiles": "📄 Znaleziono {count} pliki źródłowe do analizy",
1035
+ "processingLanguage": "🔄 Język przetwarzania: {language}",
1036
+ "fileProcessingResult": "✅ Przetworzone {file}: {translated}/{total} klucze ({percentage}%)",
1037
+ "overallProgress": "📊 Ogólny postęp: {translated}/{total} klucze przetworzone ({percentage}%)",
1038
+ "initializationSummaryTitle": "📋 Podsumowanie inicjalizacji",
1039
+ "languageSummary": "{icon} {name} ({code}): {percentage}% kompletny",
1040
+ "languageFiles": "📄 Pliki: {count}",
1041
+ "languageKeys": "🔤 Klucze: {translated}/{total}",
1042
+ "languageMissing": "⚠️ Brakuje: {count}",
1043
+ "initializationCompletedSuccessfully": "🎉 Inicjalizacja projektu zakończona pomyślnie!",
1044
+ "nextStepsTitle": "🚀 Kolejne kroki",
1045
+ "nextStep1": "1. Przejrzyj wygenerowane pliki tłumaczeń w katalogu locales/",
1046
+ "nextStep2": "2. Dodaj tłumaczenia dla każdego języka docelowego",
1047
+ "nextStep3": "3. Uruchom ponownie „npm run i18ntk”, aby sprawdzić tłumaczenia",
1048
+ "detectedFrameworks": "✅ Wykryte frameworki i18n: {frameworks}",
1049
+ "setup": {
1050
+ "title": "Organizować coś",
1051
+ "question": "Pytanie dotyczące konfiguracji",
1052
+ "opt_single": "Pojedynczy plik",
1053
+ "opt_modular": "Modułowy",
1054
+ "opt_existing": "Istniejący",
1055
+ "choice_prompt": "Wybierz opcję:",
1056
+ "opt_confirm": "Potwierdzać",
1057
+ "opt_cancel": "Anulować",
1058
+ "apply_all_prompt": "Zastosować tę strukturę do wszystkich języków? (t/n):",
1059
+ "per_language_intro": "Wybrałeś indywidualną konfigurację języków. Oto dostępne języki:",
1060
+ "available_languages": "Dostępne języki: {languages}",
1061
+ "include_prompt": "Wprowadź rozdzielone przecinkami kody języka, które chcesz uwzględnić (np. „de,fr,es”):"
1062
+ },
1063
+ "warnings": {
1064
+ "noPackageJson": "Nie znaleziono pakietu.json. Nie można automatycznie wykryć frameworku i18n."
1065
+ },
1066
+ "errorsPackageJsonRead": "Błąd odczytu pakietu.json: {error}",
1067
+ "errorsNoFramework": "Nie wykryto frameworku i18n. Zainstaluj jeden lub określ ręcznie.",
1068
+ "suggestions": {
1069
+ "noFramework": "Nie wykryto frameworku i18n. Rozważ użycie jednego z poniższych:",
1070
+ "installFramework": "Aby zainstalować framework, uruchom: npm install <nazwa-pakietu>"
1071
+ },
1072
+ "frameworks": {
1073
+ "react": "- Reaguj i18next (reaguj-i18next)",
1074
+ "vue": "- Vue i18n (vue-i18n)",
1075
+ "i18next": "- i18następny (i18następny)",
1076
+ "nuxt": "- Następny i18n (@nuxtjs/i18n)",
1077
+ "svelte": "- Svelte i18n (svelte-i18n)"
1078
+ },
1079
+ "continueWithoutI18nPrompt": "Nie wykryto frameworku i18n. Czy chcesz kontynuować bez niego? (t/n):",
1080
+ "detectedI18nFramework": "Wykryty framework i18n: {frameworks}",
1081
+ "existingDirectoryItem": "{index}. {location}",
1082
+ "usingExistingStructure": "Korzystanie z istniejącej struktury: {dir}",
1083
+ "creatingSourceDirectory": "Tworzenie katalogu źródłowego: {dir}",
1084
+ "creatingSourceLanguageDirectory": "Tworzenie katalogu języka źródłowego: {dir}",
1085
+ "errors": {
1086
+ "errorExecutingCommand": "Błąd podczas wykonywania polecenia: {error}",
1087
+ "sourceDirectoryNotFound": "Nie znaleziono katalogu źródłowego: {dir}",
1088
+ "sourceLanguageDirectoryNotFound": "Nie znaleziono katalogu języka źródłowego: {dir}",
1089
+ "noJsonFilesInSourceDirectory": "W katalogu źródłowym nie znaleziono plików JSON: {dir}",
1090
+ "invalidFilePathDetected": "Wykryto nieprawidłową ścieżkę pliku",
1091
+ "initializationFailed": "Inicjalizacja nie powiodła się: {error}",
1092
+ "noFramework": "Nie wykryto frameworku i18n. Kontynuuj w trybie ogólnym.",
1093
+ "packageJsonRead": "Błąd odczytu pakietu.json."
1094
+ },
1095
+ "processingFile": "Przetwarzanie {file} Do {language}...",
1096
+ "fileAlreadyExistsMerging": "Plik {file} już istnieje. Łączenie nowych kluczy.",
1097
+ "createdNewFile": "Utworzono nowy plik: {file}",
1098
+ "updatedFile": "Zaktualizowany plik: {file}",
1099
+ "skippingExcludedFile": "Skaczący {file} Do {language} ponieważ jest to wykluczone.",
1100
+ "continuingWithoutAdminPin": "Kontynuuj bez konfiguracji PIN-u administratora.",
1101
+ "createdSourceLanguageDirectory": "Utworzono katalog języka źródłowego: {dir}",
1102
+ "errorSettingUpAdminPin": "Błąd podczas konfigurowania kodu PIN administratora: {error}",
1103
+ "noTargetLanguagesSpecified": "Nie określono języków docelowych.",
1104
+ "translationFilesCreatedWarning": "Pliki tłumaczeń zostały utworzone z symbolami zastępczymi; przegląd przed użyciem w produkcji.",
1105
+ "warningCannotReadSourceDir": "Ostrzeżenie: nie można odczytać katalogu źródłowego {dir}: {error}",
1106
+ "warningInvalidLanguageCodes": "Ostrzeżenie: zignorowano nieprawidłowe kody językowe: {languages}",
1107
+ "warningProceedingWithoutFramework": "Kontynuowanie bez wykrycia frameworku i18n.",
1108
+ "backup": {
1109
+ "title": "Ustawienia kopii zapasowej",
1110
+ "description": "Kopie zapasowe są domyślnie wyłączone, aby uniknąć rekurencji kopii zapasowych i zanieczyszczenia repo.",
1111
+ "enablePrompt": "Włączyć automatyczne tworzenie kopii zapasowych? (t/n):",
1112
+ "keepPrompt": "Ile kopii zapasowych powinno być przechowywanych automatycznie (1-3, domyślnie 1):"
1113
+ },
1114
+ "completionSummaryTitle": "Podsumowanie ukończenia",
1115
+ "completionSummaryBasicTitle": "Podsumowanie ukończenia (podstawowe)",
1116
+ "totalChanges": "Całkowite zmiany: {count}",
1117
+ "languagesProcessed": "Obsługiwane języki: {count}",
1118
+ "missingKeysAdded": "Dodano brakujące klucze: {count}",
1119
+ "reportPrompt": "Czy chcesz wygenerować raport? (T/n):",
1120
+ "reportGenerated": "Wygenerowany raport: {reportPath}",
1121
+ "reportFailed": "Nie udało się wygenerować raportu: {error}",
1122
+ "completionError": "Błąd podczas kończenia: {error}",
1123
+ "optimize": {
1124
+ "title": "Optymalizacja wielkości opakowania",
1125
+ "preview": "Uruchamiam podgląd optymalizacji ustawień regionalnych...",
1126
+ "reduceTip": "Możesz zmniejszyć rozmiar pakietu, wybierając tylko te języki, których potrzebujesz.",
1127
+ "prompt": "Czy chcesz teraz przeprowadzić interaktywną optymalizację? (t/n):",
1128
+ "starting": "Rozpoczynam interaktywną optymalizację ustawień regionalnych...",
1129
+ "completed": "Optymalizacja pakietu zakończona.",
1130
+ "later": "Optymalizację ustawień regionalnych możesz przeprowadzić później za pomocą:",
1131
+ "unavailable": "Nie można zaoferować optymalizacji regionalnej: {error}"
1132
+ }
1133
+ },
1134
+ "language": {
1135
+ "title": "🌍 Zmień język",
1136
+ "separator": "============================================================",
1137
+ "current": "Aktualny język: {language}",
1138
+ "available": "Dostępne języki:",
1139
+ "languageOption": "{index}. {displayName}{current}",
1140
+ "backToMainMenu": "Powrót do menu głównego",
1141
+ "prompt": "Wybierz język (0-8):",
1142
+ "cancelled": "Zmiana języka anulowana.",
1143
+ "invalid": "Nieprawidłowy wybór. Spróbuj ponownie.",
1144
+ "changed": "Język zmieniony na: {language}",
1145
+ "changeFailed": "Nie udało się zmienić języka: {error}",
1146
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować..."
1147
+ },
1148
+ "maintainLanguagePurity": {
1149
+ "workflow_title": "🚀 Przebieg pracy związany z utrzymaniem czystości języka",
1150
+ "step1_title": "📊 KROK 1: Wstępna ocena czystości językowej",
1151
+ "step2_title": "🔧 KROK 2: Wykryj i automatycznie napraw niezgodności językowe",
1152
+ "step3_title": "🌐 KROK 3: Zastosuj tłumaczenia automatyczne",
1153
+ "step4_title": "✅ KROK 4: Końcowa ocena czystości językowej",
1154
+ "workflow_error": "❌ Błąd przepływu pracy: {errorMessage}",
1155
+ "running_initial_validation": "Uruchamiam wstępną weryfikację czystości języka...",
1156
+ "initial_assessment_complete": "✅ Wstępna ocena zakończona: {count} stwierdzono naruszenia",
1157
+ "initial_assessment_warnings": "⚠️Wstępna ocena zakończona ostrzeżeniami",
1158
+ "detecting_fixing_mismatches": "Wykrywanie i naprawianie niezgodności językowych...",
1159
+ "detection_complete_applying_fixes": "Wykrywanie zakończone. Stosowanie automatycznych poprawek...",
1160
+ "mismatch_fixes_complete": "✅ Ukończono poprawki niedopasowania językowego: {count} zastosowane poprawki",
1161
+ "mismatch_fixes_warnings": "⚠️ Poprawki niedopasowania językowego zakończone ostrzeżeniami",
1162
+ "applying_automatic_translations": "Stosowanie automatycznych tłumaczeń...",
1163
+ "translation_preview_complete": "Podgląd tłumaczenia gotowy. Stosowanie tłumaczeń..."
1164
+ },
1165
+ "menu": {
1166
+ "title": "🌐MENU ZARZĄDZANIA I18NTK",
1167
+ "separator": "============================================================",
1168
+ "options": {
1169
+ "init": "🚀 Zainicjuj nowe języki",
1170
+ "analyze": "🔍 Analizuj tłumaczenia",
1171
+ "validate": "✅ Sprawdzaj tłumaczenia",
1172
+ "usage": "📊 Sprawdź użycie klucza",
1173
+ "complete": "🎯 Kompletne tłumaczenia (100% pokrycia)",
1174
+ "sizing": "📏 Przeanalizuj rozmiar",
1175
+ "fix": "🛠️ Napraw tłumaczenia symboli zastępczych",
1176
+ "scanner": "🔍 Skanuj w poszukiwaniu problemów z i18n",
1177
+ "translate": "🌐 Automatyczne tłumaczenie",
1178
+ "workflow": "🔄 Uruchom pełny przepływ pracy",
1179
+ "status": "📋 Pokaż status projektu",
1180
+ "delete": "🗑️ Usuń wszystkie raporty",
1181
+ "language": "🌍 Zmień język interfejsu użytkownika",
1182
+ "settings": "⚙️ Ustawienia",
1183
+ "help": "❓ Pomóż",
1184
+ "debug": "🔧 Narzędzia do debugowania",
1185
+ "exit": "🚪 Wyjdź"
1186
+ },
1187
+ "update": "📦 Pakiet aktualizacji",
1188
+ "goodbye": "👋 Do widzenia!",
1189
+ "invalidChoice": "Nieprawidłowy wybór. Proszę wybrać 0-15.",
1190
+ "returning": "Wracając do menu głównego...",
1191
+ "invalidOption": "Nieprawidłowa opcja. Spróbuj ponownie.",
1192
+ "nonInteractiveModeWarning": "Wykryto tryb nieinteraktywny. Menu wyświetlane wyłącznie w celach informacyjnych.",
1193
+ "useDirectExecution": "Użyj: węzeł main/manage/index.js --command=<command> do bezpośredniego wykonania.",
1194
+ "useHelpForCommands": "Użyj: node main/manage/index.js --help dla dostępnych poleceń.",
1195
+ "returnToMainMenu": "Naciśnij Enter, aby powrócić do Menu Głównego.",
1196
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować...",
1197
+ "selectOptionPrompt": "Wybierz opcję:",
1198
+ "selectDebugToolPrompt": "Wybierz narzędzie do debugowania:",
1199
+ "selectLogPrompt": "Wybierz plik dziennika (1-{count}):",
1200
+ "autoDetectedI18nDirectory": "Automatycznie wykryty katalog i18n: {directory}",
1201
+ "executingCommand": "Wykonywanie polecenia: {command}",
1202
+ "unknownCommand": "Nieznane polecenie: {command}",
1203
+ "languageOption": "{index}. {displayName}{current}",
1204
+ "debugTools": {
1205
+ "1": "Analiza pliku dziennika",
1206
+ "2": "Analiza użycia klucza do tłumaczenia",
1207
+ "3": "Analiza kompletności tłumaczenia",
1208
+ "4": "Analiza formatu tłumaczenia",
1209
+ "5": "Analiza typu tłumaczenia",
1210
+ "6": "Analiza struktury tłumaczenia"
1211
+ },
1212
+ "native_translations": {
1213
+ "exact_translation_found": "✅ {keyPath}: {value}",
1214
+ "no_exact_translation": "⚠️ Brak dokładnego tłumaczenia dla „{keyPath}', znaleziono podobne klucze:",
1215
+ "similar_key": "- {key} ({similarity}% mecz)",
1216
+ "processing_language_files": "🔄 Przetwarzanie {count} pliki językowe...",
1217
+ "file_not_found": "⚠️ Nie znaleziono pliku: {file}",
1218
+ "processing_translations": "🌍 Przetwarzanie {code} tłumaczenia...",
1219
+ "backup_created": "📋 Utworzono kopię zapasową: {filename}",
1220
+ "error_parsing_json": "❌ Błąd podczas analizy {code}.json: {errorMessage}",
1221
+ "existing_keys_found": "📊 {code}: Znaleziony {count} istniejące klucze",
1222
+ "error_writing_json": "❌ Błąd podczas pisania {code}.json: {errorMessage}",
1223
+ "translations_replaced": "📊 {code}: {count} tłumaczenia zastąpione",
1224
+ "translation_replacement_complete": "✅ Wymiana tłumaczenia zakończona!",
1225
+ "total_replacements": "📊 Całkowita liczba zamienników: {count}",
1226
+ "dry_run_mode": "⚠️ TRYB PRACY NA SUCHE — żadne pliki nie zostały zmodyfikowane",
1227
+ "tool_title": "🌍 Natywny zamiennik tłumaczeń v1.9.1",
1228
+ "tool_separator": "======================================",
1229
+ "dry_run_warning": "⚠️ Działa w trybie DRY RUN - żadne pliki nie zostaną zmodyfikowane",
1230
+ "error_during_replacement": "❌ Błąd podczas zastępowania tłumaczenia:"
1231
+ }
1232
+ },
1233
+ "config": {
1234
+ "dirFallbackWarning": "⚠️ Katalog {dir} nie znaleziono. Używanie {fallback}.",
1235
+ "dirInvalidError": "❌ Nieprawidłowy katalog: {dir}"
1236
+ },
1237
+ "operations": {
1238
+ "completed": "✅Operacja zakończona pomyślnie!",
1239
+ "deleteReportsTitle": "🗑️ Usuń raporty, dzienniki i pamięć podręczną",
1240
+ "scanningForFiles": "🔍 Skanowanie w poszukiwaniu plików do usunięcia...",
1241
+ "noFilesFoundToDelete": "✅ Nie znaleziono plików do usunięcia.",
1242
+ "availableDirectories": "📁 Dostępne katalogi:",
1243
+ "allDirectories": "Wszystkie katalogi",
1244
+ "andMore": "i więcej...",
1245
+ "cancelOption": "Anulować",
1246
+ "cancelReportOption": "Anuluj / Wróć do menu",
1247
+ "invalidSelection": "❌ Nieprawidłowy wybór.",
1248
+ "foundFilesInSelectedDirectories": "📊 Znaleziono {count} pliki w wybranych katalogach:",
1249
+ "deletionOptions": "🗑️ Opcje usuwania:",
1250
+ "deleteAllFiles": "Usuń wszystkie pliki",
1251
+ "keepLast3Files": "Zachowaj ostatnie 3 pliki (według daty)",
1252
+ "keepLast5Files": "Zachowaj ostatnie 5 plików (według daty)",
1253
+ "noFilesToDelete": "✅ Brak plików do usunięcia.",
1254
+ "filesToDeleteCount": "📋 Pliki do usunięcia: {count}",
1255
+ "filesToKeepCount": "📋 Pliki do zachowania: {count}",
1256
+ "confirmDeletion": "⚠️ Czy na pewno chcesz usunąć te pliki? (t/n):",
1257
+ "deletedFile": "✅ Usunięto: {filename}",
1258
+ "failedToDeleteFile": "❌ Nie udało się usunąć {filename}: {error}",
1259
+ "cancelled": "❌ Operacja anulowana.",
1260
+ "init": {
1261
+ "title": "🚀 Zainicjuj nowy język"
1262
+ },
1263
+ "usage": {
1264
+ "title": "📊 Sprawdź użycie klucza",
1265
+ "noUsedKeysHint": "Znaleziono tłumaczenia, ale nie ma ich użycia w źródle. Sprawdź --source-dir i TranslationPatterns."
1266
+ },
1267
+ "analyze": {
1268
+ "title": "🔍 Analizuj tłumaczenia"
1269
+ },
1270
+ "validate": {
1271
+ "title": "✅ Sprawdź tłumaczenia"
1272
+ },
1273
+ "settings": {
1274
+ "title": "⚙️ Zarządzanie ustawieniami",
1275
+ "separator": "============================================================"
1276
+ },
1277
+ "complete": {
1278
+ "deletingOldReport": "🗑️ Usuwanie starego raportu użytkowania w celu nowej analizy",
1279
+ "generatingFreshAnalysis": "🔄 Generowanie nowej analizy użytkowania...",
1280
+ "couldNotGenerate": "⚠️ Nie można wygenerować analizy użytkowania. Używanie typowych brakujących kluczy.",
1281
+ "reportNotFound": "⚠️ Nie znaleziono raportu użytkowania. Generuję nową analizę...",
1282
+ "foundMissingKeys": "🔍 Znaleziono {count} brakujące klucze z analizy użycia",
1283
+ "couldNotParse": "⚠️ Nie można przeanalizować raportu użytkowania. Używanie typowych brakujących kluczy.",
1284
+ "title": "🎯 REALIZACJA TŁUMACZEŃ",
1285
+ "separator": "============================================================",
1286
+ "sourceDir": "📁 Katalog źródłowy: {sourceDir}",
1287
+ "sourceLanguage": "🔤 Język źródłowy: {sourceLanguage}",
1288
+ "dryRunMode": "🧪 TRYB PRACY NA SUCHE - Żadne pliki nie zostaną zmodyfikowane",
1289
+ "languages": "🎯 Języki docelowe: {languages}",
1290
+ "addingMissingKeys": "➕ Dodanie brakujących kluczy do plików tłumaczeniowych...",
1291
+ "processing": "🔄 Przetwarzanie {language}...",
1292
+ "addedKeys": "✅ Dodano {count} klawiatura",
1293
+ "changeDetails": "📝 {file}: {key}",
1294
+ "noChangesNeeded": "✅ Żadne zmiany nie są potrzebne {language}",
1295
+ "summaryTitle": "📊 PODSUMOWANIE WYKOŃCZENIA",
1296
+ "totalChanges": "📝 Całkowite zmiany: {totalChanges}",
1297
+ "languagesProcessed": "🌐 Obsługiwane języki: {languagesProcessed}",
1298
+ "missingKeysAdded": "➕ Dodano brakujące klawisze: {missingKeysAdded}",
1299
+ "nextStepsTitle": "📋 NEXT STEPS",
1300
+ "nextStep1": "1. Uruchom analizę użytkowania:",
1301
+ "nextStep2": "2. Zweryfikuj tłumaczenia:",
1302
+ "nextStep3": "3. Przeanalizuj kompletność:",
1303
+ "allKeysAvailable": "🎉 Wszystkie klucze do tłumaczeń są już dostępne!",
1304
+ "runWithoutDryRun": "💡 Uruchom bez --dry-run, aby zastosować zmiany",
1305
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować..."
1306
+ },
1307
+ "updatePackage": {
1308
+ "title": "📦 Zaktualizuj pakiet i18n-toolkit",
1309
+ "description": "Spowoduje to aktualizację pakietu i18n-toolkit do najnowszej wersji dostępnej na npm.",
1310
+ "command": "Komenda do biegu",
1311
+ "confirm": "Czy na pewno chcesz kontynuować aktualizację? (t/n):",
1312
+ "updating": "Aktualizowanie pakietu... To może chwilę potrwać.",
1313
+ "success": "✅ Zestaw narzędzi i18n został pomyślnie zaktualizowany!",
1314
+ "error": "❌ Nie udało się zaktualizować zestawu narzędzi i18n",
1315
+ "cancelled": "❌ Aktualizacja anulowana."
1316
+ }
1317
+ },
1318
+ "security": {
1319
+ "pathValidationFailed": "ścieżka_walidacji_nie powiodła się",
1320
+ "invalidInputType": "nieprawidłowy_typ_wejściowy",
1321
+ "pathTraversalAttempt": "ścieżka_traversal_próba",
1322
+ "pathValidated": "✅ Ścieżka została pomyślnie sprawdzona",
1323
+ "pathValidationError": "błąd_weryfikacji_ścieżki",
1324
+ "fileTooLarge": "Bezpieczeństwo: Plik jest za duży: {filePath}",
1325
+ "fileReadError": "Bezpieczeństwo: Błąd odczytu pliku: {errorMessage}",
1326
+ "contentTooLargeForFile": "Bezpieczeństwo: Treść jest zbyt duża dla pliku: {filePath}",
1327
+ "fileWriteError": "Bezpieczeństwo: Błąd zapisu pliku: {errorMessage}",
1328
+ "jsonStringTooLarge": "Bezpieczeństwo: ciąg JSON jest za duży",
1329
+ "jsonParseError": "Bezpieczeństwo: błąd analizy JSON: {errorMessage}",
1330
+ "inputContainsDisallowedCharacters": "Bezpieczeństwo: Dane wejściowe zawierają niedozwolone znaki",
1331
+ "unknownCommandArgument": "Bezpieczeństwo: Nieznany argument polecenia: {key}",
1332
+ "unknown_command_argument": "Bezpieczeństwo: Nieznany argument polecenia: {key}",
1333
+ "unknownConfigKey": "Bezpieczeństwo: nieznany klucz konfiguracyjny: {key}",
1334
+ "unknown_config_key": "Bezpieczeństwo: nieznany klucz konfiguracyjny: {key}",
1335
+ "securityAlert": "[ALERT BEZPIECZEŃSTWA] {timestamp}: {event}",
1336
+ "contentTooLarge": "Bezpieczeństwo: Treść jest zbyt duża dla pliku: {validatedPath}",
1337
+ "inputDisallowedCharacters": "Bezpieczeństwo: Dane wejściowe zawierają niedozwolone znaki",
1338
+ "unknownCommandArg": "Nieznany argument polecenia",
1339
+ "logMessage": "[BEZPIECZEŃSTWO {level}] {timestamp}: {event}",
1340
+ "alertMessage": "[ALERT BEZPIECZEŃSTWA] {timestamp}: {event}",
1341
+ "securityWarning": "[OSTRZEŻENIE BEZPIECZEŃSTWA] {timestamp}: {event}",
1342
+ "json_parse_error": "Bezpieczeństwo: błąd analizy JSON: {errorMessage}",
1343
+ "file_too_large": "Plik jest za duży",
1344
+ "file_read_error": "Błąd odczytu pliku",
1345
+ "content_too_large_for_file": "Treść jest za duża dla pliku",
1346
+ "file_write_error": "Błąd zapisu pliku",
1347
+ "json_string_too_large": "Ciąg Json jest za duży",
1348
+ "recursion_detected": "Wykryto rekurencję w {operation}",
1349
+ "operation_timeout": "Limit czasu operacji: {operation}",
1350
+ "operation_error": "Błąd operacji w {operation}: {error}",
1351
+ "directory_read_error": "Błąd odczytu katalogu: {errorMessage}",
1352
+ "security_alert": "Alarm bezpieczeństwa"
1353
+ },
1354
+ "settings-cli": {
1355
+ "settings": {
1356
+ "mainMenu": {
1357
+ "title": "Menu główne:",
1358
+ "uiSettings": "Ustawienia interfejsu użytkownika",
1359
+ "uiSettingsDesc": "Opcje języka, motywu i interfejsu",
1360
+ "directorySettings": "Ustawienia katalogu",
1361
+ "directorySettingsDesc": "Ścieżki do katalogów źródłowych i wyjściowych",
1362
+ "scriptDirectorySettings": "Ustawienia katalogu skryptów",
1363
+ "scriptDirectorySettingsDesc": "Ścieżki katalogów dla poszczególnych operacji skryptowych",
1364
+ "processingSettings": "Ustawienia przetwarzania",
1365
+ "processingSettingsDesc": "Rozmiar partii, współbieżność i wydajność",
1366
+ "advancedSettings": "Ustawienia zaawansowane",
1367
+ "advancedSettingsDesc": "Walidacja, rejestrowanie i opcje eksperckie",
1368
+ "viewAllSettings": "Wyświetl wszystkie ustawienia",
1369
+ "viewAllSettingsDesc": "Wyświetl aktualną konfigurację",
1370
+ "importExport": "Importuj/Eksportuj",
1371
+ "importExportDesc": "Tworzenie kopii zapasowych i przywracanie ustawień",
1372
+ "resetToDefaults": "Przywróć ustawienia domyślne",
1373
+ "resetToDefaultsDesc": "Przywróć ustawienia fabryczne",
1374
+ "reportBug": "Zgłoś błąd",
1375
+ "reportBugDesc": "Prześlij raport o problemie w serwisie GitHub",
1376
+ "saveChanges": "Zapisz zmiany",
1377
+ "saveChangesDesc": "Zapisz bieżące ustawienia do pliku",
1378
+ "updatePackage": "Aktualizuj pakiet",
1379
+ "updatePackageDesc": "Zaktualizuj pakiet i18n-toolkit poprzez npm",
1380
+ "help": "Pomoc",
1381
+ "helpDesc": "Pokaż szczegółowe informacje pomocy",
1382
+ "quit": "Zrezygnować",
1383
+ "quitDesc": "Wyjdź z ustawień (w razie potrzeby z monitem o zapisanie)",
1384
+ "unsavedChangesWarning": "⚠️ Masz niezapisane zmiany",
1385
+ "saveChangesBeforeQuit": "Czy chcesz zapisać zmiany przed opuszczeniem programu? (t/n):",
1386
+ "selectOption": "Wybierz opcję:",
1387
+ "goodbyeMessage": "Dziękujemy za skorzystanie z menedżera ustawień i18n!"
1388
+ },
1389
+ "goodbyeMessage": "Dziękujemy za skorzystanie z menedżera ustawień i18n!",
1390
+ "relativePathHint": "Użyj ścieżek względnych z tego katalogu (np. ./src/i18n/locales)",
1391
+ "currentDirectory": "Aktualny katalog projektu"
1392
+ },
1393
+ "settings_manager": {
1394
+ "error_loading_settings": "❌ Błąd podczas ładowania ustawień:",
1395
+ "error_saving_settings": "❌ Błąd podczas zapisywania ustawień:",
1396
+ "error_setting_value": "❌ Błąd ustawienia wartości:",
1397
+ "missing_required_setting": "❌ Brak wymaganego ustawienia: {prop}",
1398
+ "invalid_language": "❌ Nieprawidłowy język: {language}",
1399
+ "invalid_source_language": "❌ Nieprawidłowy język źródłowy: {sourceLanguage}",
1400
+ "default_languages_must_be_array": "❌ defaultLanguages ​​musi być tablicą",
1401
+ "invalid_date_format": "❌ Nieprawidłowy format daty: {dateFormat}. Prawidłowe formaty: {validFormats}",
1402
+ "invalid_time_format": "❌ Nieprawidłowy format czasu: {timeFormat}. Prawidłowe formaty: {validFormats}",
1403
+ "notifications_types_must_be_object": "❌ powiadomienia.typy muszą być obiektem",
1404
+ "exclude_files_must_be_array": "❌ wykluczone pliki muszą być tablicą",
1405
+ "exclude_dirs_must_be_array": "❌ wykluczoneDirs musi być tablicą",
1406
+ "include_extensions_must_be_array": "❌ includeExtensions musi być tablicą",
1407
+ "invalid_batch_size": "❌ Nieprawidłowy rozmiar partii. Musi być liczbą dodatnią",
1408
+ "invalid_max_concurrent_files": "❌ Nieprawidłowa maksymalna liczba jednoczesnych plików. Musi być liczbą dodatnią",
1409
+ "invalid_sizing_threshold": "❌ Nieprawidłowy próg rozmiaru. Musi być liczbą dodatnią",
1410
+ "invalid_timeout": "❌ Nieprawidłowy limit czasu. Musi wynosić co najmniej 1000 ms",
1411
+ "invalid_sizing_format": "❌ Nieprawidłowy format rozmiaru: {sizingFormat}. Prawidłowe formaty: {validFormats}",
1412
+ "error_validating_settings": "❌ Błąd podczas sprawdzania ustawień:",
1413
+ "backup_created": "📋 Utworzono kopię zapasową: {backupPath}",
1414
+ "error_creating_backup": "❌ Błąd podczas tworzenia kopii zapasowej:",
1415
+ "language_not_supported": "Język '{language}' nie jest obsługiwany. Dostępny: {availableLanguages}",
1416
+ "ui_language_set": "🌍 Język interfejsu użytkownika ustawiony na: {language}"
1417
+ }
1418
+ },
1419
+ "settings": {
1420
+ "title": "⚙️ Zarządzanie ustawieniami",
1421
+ "separator": "============================================================",
1422
+ "goodbyeMessage": "Dziękujemy za skorzystanie z menedżera ustawień i18ntk!",
1423
+ "relativePathHint": "Użyj ścieżek względnych z tego katalogu (np. ./src/i18n/locales)",
1424
+ "currentDirectory": "Aktualny katalog projektu",
1425
+ "startingSettings": "Ustawienia początkowe:",
1426
+ "pin": "PIN:",
1427
+ "reportBug": {
1428
+ "title": "Zgłoś błąd",
1429
+ "description": "Zgłaszaj wszelkie napotkane problemy i błędy",
1430
+ "guidance": "Aby skutecznie zgłaszać problemy:",
1431
+ "checkLogs": "1. Sprawdź dzienniki debugowania w katalogu projektu",
1432
+ "documentIssue": "2. Udokumentuj problem, podając kroki jego odtworzenia",
1433
+ "contactSupport": "3. Skontaktuj się z administratorem systemu lub zespołem wsparcia",
1434
+ "completed": "Wyświetlone wskazówki dotyczące raportowania błędów",
1435
+ "instructions": "Postępuj zgodnie z powyższymi instrukcjami, aby zgłosić błąd."
1436
+ },
1437
+ "mainMenu": {
1438
+ "title": "Menu główne:",
1439
+ "uiSettings": "Ustawienia interfejsu użytkownika",
1440
+ "uiSettingsDesc": "Opcje języka, motywu i interfejsu",
1441
+ "directorySettings": "Ustawienia katalogu",
1442
+ "directorySettingsDesc": "Ścieżki do katalogów źródłowych i wyjściowych",
1443
+ "processingSettings": "Ustawienia przetwarzania",
1444
+ "processingSettingsDesc": "Rozmiar partii, współbieżność i wydajność",
1445
+ "advancedSettings": "Ustawienia zaawansowane",
1446
+ "advancedSettingsDesc": "Walidacja, rejestrowanie i opcje eksperckie",
1447
+ "viewAllSettings": "Wyświetl wszystkie ustawienia",
1448
+ "viewAllSettingsDesc": "Wyświetl aktualną konfigurację",
1449
+ "importExport": "Importuj/Eksportuj",
1450
+ "updatePackage": "Aktualizuj pakiet",
1451
+ "updatePackageDesc": "Zaktualizuj pakiet i18n-toolkit poprzez npm",
1452
+ "importExportDesc": "Tworzenie kopii zapasowych i przywracanie ustawień",
1453
+ "resetToDefaults": "Przywróć ustawienia domyślne",
1454
+ "resetToDefaultsDesc": "Przywróć ustawienia fabryczne",
1455
+ "reportBug": "Zgłoś błąd",
1456
+ "reportBugDesc": "Prześlij raport o problemie w serwisie GitHub",
1457
+ "saveChanges": "Zapisz zmiany",
1458
+ "saveChangesDesc": "Zapisz bieżące ustawienia do pliku",
1459
+ "help": "Pomoc",
1460
+ "helpDesc": "Pokaż szczegółowe informacje pomocy",
1461
+ "quit": "Zrezygnować",
1462
+ "quitDesc": "Wyjdź z ustawień (w razie potrzeby z monitem o zapisanie)",
1463
+ "unsavedChangesWarning": "⚠️ Masz niezapisane zmiany",
1464
+ "saveChangesBeforeQuit": "Czy chcesz zapisać zmiany przed opuszczeniem programu? (t/n):",
1465
+ "selectOption": "Wybierz opcję:",
1466
+ "goodbyeMessage": "Dziękujemy za skorzystanie z menedżera ustawień i18n!",
1467
+ "selectSettingPrompt": "Wybierz ustawienie do edycji (lub „b”, aby wrócić):",
1468
+ "enterNewValue": "Wprowadź nową wartość:",
1469
+ "updatedSuccessfully": "{setting} zaktualizowano pomyślnie!",
1470
+ "scriptDirectorySettings": "Ustawienia katalogu skryptów",
1471
+ "scriptDirectoryDesc": "Określ niestandardowe katalogi dla każdego skryptu",
1472
+ "scriptDirectorySettingsDesc": "Możesz ustawić niestandardowe katalogi dla każdego skryptu. Jeśli nie zostaną ustawione, użyte zostaną ustawienia globalne.",
1473
+ "currentDirectory": "Aktualny katalog projektu",
1474
+ "securitySettings": "Ustawienia zabezpieczeń",
1475
+ "securitySettingsDesc": "PIN administratora i inne opcje bezpieczeństwa",
1476
+ "backupSettings": "Ustawienia kopii zapasowej",
1477
+ "backupSettingsDesc": "Tworzenie kopii zapasowych i przywracanie ustawień konfiguracyjnych",
1478
+ "autoTranslate": "Automatyczne tłumaczenie",
1479
+ "autoTranslateDesc": "Dostosuj obsługę symboli zastępczych, współbieżność, przetwarzanie wsadowe i raporty"
1480
+ },
1481
+ "updatePackage": {
1482
+ "title": "Aktualizuj pakiet",
1483
+ "description": "Zaktualizuj pakiet i18n-toolkit poprzez npm",
1484
+ "command": "aktualizacja npm i18ntk -g",
1485
+ "success": "Aktualizacja zakończona pomyślnie.",
1486
+ "failed": "Aktualizacja nie powiodła się.",
1487
+ "prompt": "Czy chcesz teraz zaktualizować pakiet? (t/n):",
1488
+ "promptDesc": "Uwaga: Spowoduje to aktualizację pakietu i18ntk do najnowszej wersji.",
1489
+ "confirm": "y",
1490
+ "cancelled": "Aktualizacja anulowana.",
1491
+ "error": "Nie udało się zaktualizować pakietu",
1492
+ "updating": "Aktualizuję pakiet..."
1493
+ },
1494
+ "admin": {
1495
+ "selectOption": "Wybierz opcję:",
1496
+ "updateSuccess": "Kod PIN administratora został pomyślnie zaktualizowany!",
1497
+ "updateFailed": "Nie udało się zaktualizować kodu PIN administratora.",
1498
+ "protectionRemoved": "Usunięto ochronę PIN-u administratora.",
1499
+ "configSuccess": "Kod PIN administratora został pomyślnie skonfigurowany!",
1500
+ "configFailed": "Nie udało się skonfigurować PIN-u administratora.",
1501
+ "setupPinPrompt": "Czy chcesz ustawić PIN administratora? (t/n):",
1502
+ "pinUpdatedSuccess": "Kod PIN administratora został pomyślnie zaktualizowany!",
1503
+ "pinUpdatedFailed": "Nie udało się zaktualizować kodu PIN administratora.",
1504
+ "pinRemoved": "Usunięto ochronę PIN-u administratora.",
1505
+ "pinConfiguredSuccess": "Kod PIN administratora został pomyślnie skonfigurowany!",
1506
+ "pinConfiguredFailed": "Nie udało się skonfigurować PIN-u administratora.",
1507
+ "accessDenied": "❌ Odmowa dostępu. Wracając do menu.",
1508
+ "setupPin": "🔐 Konfigurowanie kodu PIN administratora...",
1509
+ "setupFailed": "❌ Nie udało się skonfigurować PIN-u administratora. Ustawienie niezmienione.",
1510
+ "pinConfigured": "📌 PIN administratora jest obecnie skonfigurowany.",
1511
+ "options": "Opcje:",
1512
+ "changePin": "1) Zmień istniejący PIN",
1513
+ "removePin": "2) Usuń ochronę PIN",
1514
+ "cancel": "3) Anuluj",
1515
+ "verifyCurrentPin": "🔐 Najpierw zweryfikuj aktualny PIN:",
1516
+ "settingNewPin": "🔄 Konfigurowanie nowego PIN...",
1517
+ "verifyToRemove": "🔐 Zweryfikuj aktualny PIN, aby usunąć ochronę:",
1518
+ "noPinConfigured": "🔓 Aktualnie nie skonfigurowano PIN-u administratora.",
1519
+ "pinBenefits": "Skonfigurowanie kodu PIN administratora zwiększy bezpieczeństwo:",
1520
+ "benefitSecurity": "• Zmiana ustawień zabezpieczeń",
1521
+ "benefitAdvanced": "• Modyfikowanie zaawansowanych konfiguracji",
1522
+ "benefitDebug": "• Dostęp do narzędzi debugowania",
1523
+ "benefitReset": "• Resetowanie ustawień",
1524
+ "setupCancelled": "⏭️ Konfiguracja kodu PIN administratora została anulowana.",
1525
+ "operationCancelled": "❌ Operacja anulowana.",
1526
+ "startingSettings": "🎛️ Uruchamianie ustawień CLI...",
1527
+ "authRequired": "🔒 Uwierzytelnienie administratora wymagane dla: {label}",
1528
+ "pinSetupTitle": "Konfiguracja PIN-u administratora",
1529
+ "browserOpenFailed": "Nie można automatycznie otworzyć przeglądarki.",
1530
+ "manualVisit": "Proszę ręcznie odwiedzić: {url}",
1531
+ "browserOpened": "✅ Przeglądarka została pomyślnie otwarta!"
1532
+ },
1533
+ "importExport": {
1534
+ "title": "Ustawienia importu/eksportu",
1535
+ "export": "Eksportuj ustawienia",
1536
+ "import": "Importuj ustawienia",
1537
+ "backup": "Utwórz kopię zapasową",
1538
+ "enterFilename": "Wprowadź nazwę pliku (lub naciśnij klawisz Enter, aby ustawić domyślnie):",
1539
+ "exportSuccess": "Ustawienia wyeksportowane do {file}",
1540
+ "exportFailed": "Nie udało się wyeksportować ustawień: {error}",
1541
+ "importFilename": "Wpisz nazwę pliku do importu:",
1542
+ "fileNotFound": "Nie znaleziono pliku.",
1543
+ "invalidFormat": "Nieprawidłowy format pliku ustawień.",
1544
+ "confirmImport": "Spowoduje to zastąpienie wszystkich bieżących ustawień. Kontynuować? (t/n):",
1545
+ "importSuccess": "Ustawienia zostały zaimportowane pomyślnie.",
1546
+ "importFailed": "Nie udało się zaimportować ustawień: {error}",
1547
+ "backupSuccess": "Utworzono kopię zapasową: {file}",
1548
+ "backupFailed": "Nie udało się utworzyć kopii zapasowej: {error}",
1549
+ "exportFilenamePrompt": "Wpisz nazwę pliku eksportu:",
1550
+ "importConfirm": "Zaimportować ten plik ustawień? (t/n):",
1551
+ "importFilenamePrompt": "Wpisz nazwę pliku importu:",
1552
+ "manageBackups": "Zarządzaj kopiami zapasowymi",
1553
+ "restore": "Przywróć ustawienia"
1554
+ },
1555
+ "selectOption": "Wybierz opcję:",
1556
+ "resetToDefaultsTitle": "Zresetuj ustawienia do wartości domyślnych",
1557
+ "resetWarning1": "⚠️ Spowoduje to zresetowanie WSZYSTKICH ustawień do wartości domyślnych.",
1558
+ "resetWarning2": "Tej akcji nie można cofnąć.",
1559
+ "resetConfirm": "Czy na pewno chcesz kontynuować? (t/n):",
1560
+ "resetSuccess": "Ustawienia zostały pomyślnie zresetowane do wartości domyślnych.",
1561
+ "resetFailed": "Nie udało się zresetować ustawień: {error}",
1562
+ "resetDone": "Ustawienia zostały pomyślnie zresetowane do wartości domyślnych.",
1563
+ "resetScriptDirsDone": "Katalogi skryptów zostały pomyślnie zresetowane do ustawień domyślnych systemu.",
1564
+ "saveSuccess": "Ustawienia zostały zapisane pomyślnie.",
1565
+ "saveFailed": "Nie udało się zapisać ustawień.",
1566
+ "saveError": "Podano nieprawidłowe ustawienia",
1567
+ "pressEnter": "Naciśnij Enter, aby kontynuować...",
1568
+ "initFailed": "Nie udało się zainicjować ustawień: {error}",
1569
+ "invalidValueFormat": "Nieprawidłowy format wartości.",
1570
+ "help": {
1571
+ "title": "Ustawienia Pomoc",
1572
+ "navigationTitle": "Nawigacja",
1573
+ "navigation1": "1. Ustawienia ogólne — skonfiguruj język interfejsu użytkownika, motyw i podstawowe preferencje",
1574
+ "navigation2": "2. Ustawienia katalogów – Ustaw katalogi źródłowe i wyjściowe dla plików tłumaczeń",
1575
+ "navigation3": "3. Ustawienia przetwarzania — skonfiguruj rozmiar partii, współbieżność i opcje wydajności",
1576
+ "navigation4": "4. Ustawienia zaawansowane — dostęp do opcji sprawdzania poprawności, rejestrowania i konfiguracji eksperckiej",
1577
+ "categoriesTitle": "Kategorie ustawień",
1578
+ "categoryUI": "• Ustawienia interfejsu użytkownika: język interfejsu, motyw kolorów i preferencje wyświetlania",
1579
+ "categoryDirectory": "• Ustawienia katalogów: lokalizacja plików źródłowych i katalogi raportów wyjściowych",
1580
+ "categoryProcessing": "• Ustawienia przetwarzania: przetwarzanie wsadowe, limity plików i dostrajanie wydajności",
1581
+ "categoryAdvanced": "• Ustawienia zaawansowane: tryb debugowania, rejestrowanie audytu i opcje zabezpieczeń",
1582
+ "envVarsTitle": "Zmienne środowiskowe",
1583
+ "envVar1": "• I18N_SOURCE_DIR: Zastępuje domyślną ścieżkę katalogu źródłowego",
1584
+ "envVar2": "• I18N_OUTPUT_DIR: Zastępuje domyślną ścieżkę katalogu wyjściowego",
1585
+ "envVar3": "• I18N_DEBUG: Włącz tryb debugowania (true/false)",
1586
+ "cliUsageTitle": "Przykłady użycia interfejsu CLI",
1587
+ "cliUsage1": "• npx i18ntk --settings: Otwórz interaktywne menu ustawień",
1588
+ "cliUsage2": "• npx i18ntk --settings --lang de: Otwórz ustawienia w języku niemieckim",
1589
+ "cliUsage3": "• npx i18ntk --reset-settings: Resetuje wszystkie ustawienia do wartości domyślnych",
1590
+ "navigation": "Użyj klawiszy numerycznych, aby wybrać opcje, „b”, aby wrócić",
1591
+ "editing": "Po wyświetleniu monitu wprowadź nowe wartości lub naciśnij klawisz Enter, aby zachować aktualne",
1592
+ "saving": "Użyj „s”, aby zapisać zmiany przed wyjściem",
1593
+ "reset": "Użyj opcji 7, aby zresetować wszystkie ustawienia do wartości domyślnych"
1594
+ },
1595
+ "categories": {
1596
+ "uiSettings": "Ustawienia interfejsu użytkownika",
1597
+ "directorySettings": "Ustawienia katalogu",
1598
+ "processingSettings": "Ustawienia przetwarzania",
1599
+ "advancedSettings": "Ustawienia zaawansowane",
1600
+ "scriptDirectorySettings": "Ustawienia katalogu skryptów",
1601
+ "securitySettings": "Ustawienia zabezpieczeń",
1602
+ "autoTranslate": "Ustawienia automatycznego tłumaczenia"
1603
+ },
1604
+ "security": {
1605
+ "title": "🔐 Ustawienia zabezpieczeń",
1606
+ "description": "Skonfiguruj ochronę PIN administratora i opcje zabezpieczeń",
1607
+ "currentPin": "Aktualny PIN:",
1608
+ "pinConfigured": "✅ Skonfigurowany",
1609
+ "pinNotConfigured": "❌ Nie skonfigurowano",
1610
+ "pinDisplay": "Wyświetlacz PIN:",
1611
+ "menu": {
1612
+ "enableDisable": "1) Włącz/wyłącz PIN administratora",
1613
+ "setupChange": "2) Skonfiguruj/zmień PIN administratora",
1614
+ "sessionTimeout": "3) Limit czasu sesji",
1615
+ "maxAttempts": "4) Maksymalna liczba nieudanych prób",
1616
+ "lockoutDuration": "5) Czas trwania blokady",
1617
+ "back": "b) Powrót do Menu Głównego"
1618
+ },
1619
+ "prompts": {
1620
+ "enablePin": "Włączyć ochronę PIN-u administratora? (t/n):",
1621
+ "disablePin": "Wyłączyć ochronę PIN-u administratora? (t/n):",
1622
+ "enterTimeout": "Wprowadź limit czasu sesji (w minutach):",
1623
+ "enterMaxAttempts": "Podaj maksymalną liczbę nieudanych prób:",
1624
+ "enterLockoutDuration": "Podaj czas trwania blokady (w minutach):"
1625
+ },
1626
+ "messages": {
1627
+ "pinEnabled": "Włączono ochronę PIN-u administratora",
1628
+ "pinDisabled": "Ochrona PIN administratora wyłączona",
1629
+ "timeoutUpdated": "Limit czasu sesji zaktualizowany do {minutes} protokół",
1630
+ "maxAttemptsUpdated": "Zaktualizowano maksymalną liczbę nieudanych prób {attempts}",
1631
+ "lockoutDurationUpdated": "Czas trwania blokady zaktualizowano do {minutes} protokół"
1632
+ }
1633
+ },
1634
+ "fields": {
1635
+ "backup.enabled": {
1636
+ "label": "Enable Backup",
1637
+ "description": "Enable automatic backup of settings",
1638
+ "help": "Enable/disable backup feature"
1639
+ },
1640
+ "backup.singleFileMode": {
1641
+ "label": "Single File Mode",
1642
+ "description": "Use single file for backups",
1643
+ "help": "Backup settings in a single file"
1644
+ },
1645
+ "backup.singleBackupFile": {
1646
+ "label": "Backup File Path",
1647
+ "description": "Path to the backup file",
1648
+ "help": "Path to the single backup file"
1649
+ },
1650
+ "backup.retentionDays": {
1651
+ "label": "Retention Period",
1652
+ "description": "Days to keep backup files",
1653
+ "help": "Number of days to retain old backup files"
1654
+ },
1655
+ "backup.maxBackups": {
1656
+ "label": "Maximum Backups",
1657
+ "description": "Maximum backup files to keep",
1658
+ "help": "Maximum number of backup files to keep"
1659
+ },
1660
+ "backup.confirm": {
1661
+ "label": "Confirm Backup",
1662
+ "description": "Require confirmation for backup operations",
1663
+ "help": "Confirm backup operation"
1664
+ },
1665
+ "i18nDir": {
1666
+ "label": "Katalog I18n",
1667
+ "description": "Katalog zawierający pliki tłumaczeń",
1668
+ "current": "Aktualny: {value}",
1669
+ "help": "Ścieżka do katalogu z plikami tłumaczeń"
1670
+ },
1671
+ "projectRoot": {
1672
+ "label": "Korzeń projektu",
1673
+ "description": "Katalog główny projektu",
1674
+ "current": "Aktualny: {value}",
1675
+ "help": "Ścieżka do katalogu głównego projektu"
1676
+ },
1677
+ "checkUsage": {
1678
+ "usage_analysis_failed": "Analiza użycia nie powiodła się",
1679
+ "usage_analysis_success": "Analiza użycia przebiegła pomyślnie",
1680
+ "usage_analysis_complete": "Zakończono analizę użytkowania",
1681
+ "usage_analysis_in_progress": "Trwa analiza użytkowania",
1682
+ "usage_analysis_started": "Rozpoczęto analizę wykorzystania",
1683
+ "usage_analysis_skipped": "Pominięto analizę użycia"
1684
+ },
1685
+ "language": {
1686
+ "label": "Język interfejsu",
1687
+ "description": "Język interfejsu użytkownika",
1688
+ "current": "Aktualny: {value}",
1689
+ "help": "Wybierz preferowany język interfejsu"
1690
+ },
1691
+ "scriptDirectories": {
1692
+ "analyzeLabel": "Analizuj katalogi skryptów",
1693
+ "analyzeHelp": "Analizuj katalogi skryptów pod kątem problemów",
1694
+ "completeLabel": "Kompletne katalogi instalacyjne",
1695
+ "initLabel": "Zainicjuj katalogi skryptów",
1696
+ "manageLabel": "Zarządzaj katalogami skryptów",
1697
+ "sizingLabel": "Rozmiarowanie katalogów skryptów",
1698
+ "summaryLabel": "Katalogi raportów podsumowujących",
1699
+ "usageLabel": "Katalogi raportów użytkowania",
1700
+ "validateLabel": "Sprawdź katalogi skryptów"
1701
+ },
1702
+ "theme": {
1703
+ "label": "Motyw koloru",
1704
+ "description": "Preferencje motywu interfejsu użytkownika",
1705
+ "current": "Aktualny: {value}",
1706
+ "help": "Wybieraj pomiędzy jasnymi i ciemnymi motywami"
1707
+ },
1708
+ "dateFormat": {
1709
+ "label": "Format daty",
1710
+ "description": "Format wyświetlania dat",
1711
+ "current": "Aktualny: {value}",
1712
+ "help": "Wybierz sposób wyświetlania dat w raportach"
1713
+ },
1714
+ "notifications": {
1715
+ "enabled": {
1716
+ "label": "Włącz powiadomienia",
1717
+ "description": "Pokaż powiadomienia na pulpicie",
1718
+ "current": "Aktualny: {value}",
1719
+ "help": "Włącz powiadomienia na pulpicie o zakończonych operacjach"
1720
+ }
1721
+ },
1722
+ "sourceDir": {
1723
+ "label": "Katalog źródłowy",
1724
+ "description": "Katalog zawierający pliki tłumaczeń",
1725
+ "current": "Aktualny: {value}",
1726
+ "help": "Ścieżka do katalogu z plikami tłumaczeń źródłowych"
1727
+ },
1728
+ "sourceLanguage": {
1729
+ "label": "Język źródłowy",
1730
+ "description": "Podstawowy język tłumaczeń",
1731
+ "current": "Aktualny: {value}",
1732
+ "help": "Podstawowy język używany jako źródło tłumaczeń"
1733
+ },
1734
+ "outputDir": {
1735
+ "label": "Katalog wyjściowy",
1736
+ "description": "Katalog wygenerowanych raportów",
1737
+ "current": "Aktualny: {value}",
1738
+ "help": "Gdzie będą zapisywane raporty i przetworzone pliki"
1739
+ },
1740
+ "batchSize": {
1741
+ "label": "Rozmiar partii",
1742
+ "description": "Liczba elementów przetworzonych w partii",
1743
+ "current": "Aktualny: {value}",
1744
+ "help": "Ile plików do przetworzenia w każdej partii"
1745
+ },
1746
+ "maxConcurrentFiles": {
1747
+ "label": "Maksymalna liczba jednoczesnych plików",
1748
+ "description": "Maksymalna liczba plików przetwarzanych jednocześnie",
1749
+ "current": "Aktualny: {value}",
1750
+ "help": "Maksymalna liczba plików do jednoczesnego przetwarzania"
1751
+ },
1752
+ "sizingThreshold": {
1753
+ "label": "Próg rozmiaru (%)",
1754
+ "description": "Próg ostrzeżeń o zmianach rozmiaru",
1755
+ "current": "Aktualny: {value}%",
1756
+ "help": "Procentowy próg wykrywania niedopasowań rozmiaru"
1757
+ },
1758
+ "strictMode": {
1759
+ "label": "Tryb ścisłej walidacji",
1760
+ "description": "Włącz tryb ścisłej walidacji",
1761
+ "current": "Aktualny: {value}",
1762
+ "help": "Włącz ścisłą weryfikację plików tłumaczeń"
1763
+ },
1764
+ "enableAuditLog": {
1765
+ "label": "Włącz dziennik audytu",
1766
+ "description": "Śledź wszystkie zmiany w tłumaczeniach",
1767
+ "current": "Aktualny: {value}",
1768
+ "help": "Rejestruj wszystkie zmiany wprowadzone w plikach tłumaczeń"
1769
+ },
1770
+ "backupBeforeChanges": {
1771
+ "label": "Automatyczna kopia zapasowa",
1772
+ "description": "Twórz kopie zapasowe przed modyfikacjami",
1773
+ "current": "Aktualny: {value}",
1774
+ "help": "Automatycznie twórz kopie zapasowe przed wprowadzeniem zmian"
1775
+ },
1776
+ "advanced_maxConcurrentFiles": {
1777
+ "label": "Maksymalna liczba jednoczesnych plików",
1778
+ "description": "Maksymalna liczba plików przetwarzanych jednocześnie",
1779
+ "current": "Aktualny: {value}",
1780
+ "help": "Maksymalna liczba plików do jednoczesnego przetwarzania"
1781
+ },
1782
+ "advanced_strictMode": {
1783
+ "label": "Tryb ścisłej walidacji",
1784
+ "description": "Włącz tryb ścisłej walidacji",
1785
+ "current": "Aktualny: {value}",
1786
+ "help": "Włącz ścisłą weryfikację plików tłumaczeń"
1787
+ },
1788
+ "adminPinEnabled": {
1789
+ "label": "Ochrona PIN-u administratora",
1790
+ "description": "Włącz uwierzytelnianie PIN administratora dla poufnych ustawień",
1791
+ "current": "Aktualny: {value}",
1792
+ "help": "Wymagaj kodu PIN administratora do zmiany ustawień zabezpieczeń i zaawansowanych"
1793
+ },
1794
+ "sessionTimeout": {
1795
+ "label": "Limit czasu sesji",
1796
+ "description": "Limit czasu sesji administratora w minutach",
1797
+ "current": "Aktualny: {value} protokół",
1798
+ "help": "Jak długo sesje administratora pozostają aktywne przed koniecznością ponownego uwierzytelnienia"
1799
+ },
1800
+ "maxFailedAttempts": {
1801
+ "label": "Maksymalna liczba nieudanych prób",
1802
+ "description": "Maksymalna liczba nieudanych prób PIN-u przed blokadą",
1803
+ "current": "Aktualny: {value} próbowanie",
1804
+ "help": "Liczba nieudanych prób PIN-u dozwolona przed tymczasową blokadą"
1805
+ },
1806
+ "lockoutDuration": {
1807
+ "label": "Czas trwania blokady",
1808
+ "description": "Czas trwania blokady po nieudanych próbach",
1809
+ "current": "Aktualny: {value} protokół",
1810
+ "help": "Jak długo system pozostaje zablokowany po maksymalnej liczbie nieudanych prób"
1811
+ },
1812
+ "scriptDirectories_analyze": {
1813
+ "label": "Analizuj katalogi skryptów",
1814
+ "description": "Niestandardowe katalogi do analizy skryptu",
1815
+ "current": "Aktualny: {value}",
1816
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu analizy. Pozostaw puste, aby użyć ustawień globalnych."
1817
+ },
1818
+ "scriptDirectories_complete": {
1819
+ "label": "Kompletne katalogi instalacyjne",
1820
+ "description": "Niestandardowe katalogi dla pełnego skryptu instalacyjnego",
1821
+ "current": "Aktualny: {value}",
1822
+ "help": "Określ niestandardowy katalog źródłowy dla pełnego skryptu instalacyjnego. Pozostaw puste, aby użyć ustawień globalnych."
1823
+ },
1824
+ "scriptDirectories_init": {
1825
+ "label": "Zainicjuj katalogi skryptów",
1826
+ "description": "Niestandardowe katalogi do inicjowania skryptu",
1827
+ "current": "Aktualny: {value}",
1828
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu inicjującego. Pozostaw puste, aby użyć ustawień globalnych."
1829
+ },
1830
+ "scriptDirectories_manage": {
1831
+ "label": "Zarządzaj katalogami skryptów",
1832
+ "description": "Niestandardowe katalogi do zarządzania skryptem",
1833
+ "current": "Aktualny: {value}",
1834
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu zarządzającego. Pozostaw puste, aby użyć ustawień globalnych."
1835
+ },
1836
+ "scriptDirectories_sizing": {
1837
+ "label": "Rozmiarowanie katalogów skryptów",
1838
+ "description": "Niestandardowe katalogi do zmiany rozmiaru skryptu",
1839
+ "current": "Aktualny: {value}",
1840
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu zmiany rozmiaru. Pozostaw puste, aby użyć ustawień globalnych."
1841
+ },
1842
+ "scriptDirectories_summary": {
1843
+ "label": "Katalogi raportów podsumowujących",
1844
+ "description": "Niestandardowe katalogi dla skryptu raportu podsumowującego",
1845
+ "current": "Aktualny: {value}",
1846
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu raportu podsumowującego. Pozostaw puste, aby użyć ustawień globalnych."
1847
+ },
1848
+ "scriptDirectories_usage": {
1849
+ "label": "Katalogi raportów użytkowania",
1850
+ "description": "Niestandardowe katalogi dla skryptu raportu użycia",
1851
+ "current": "Aktualny: {value}",
1852
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu raportu użycia. Pozostaw puste, aby użyć ustawień globalnych."
1853
+ },
1854
+ "scriptDirectories_validate": {
1855
+ "label": "Sprawdź katalogi skryptów",
1856
+ "description": "Niestandardowe katalogi do sprawdzania poprawności skryptu",
1857
+ "current": "Aktualny: {value}",
1858
+ "help": "Określ niestandardowy katalog źródłowy dla skryptu sprawdzania poprawności. Pozostaw puste, aby użyć ustawień globalnych."
1859
+ },
1860
+ "security_adminPinEnabled": {
1861
+ "label": "Ochrona PIN-u administratora",
1862
+ "description": "Włącz uwierzytelnianie PIN administratora dla poufnych ustawień",
1863
+ "current": "Aktualny: {value}",
1864
+ "help": "Wymagaj kodu PIN administratora do zmiany ustawień zabezpieczeń i zaawansowanych"
1865
+ },
1866
+ "fields": {
1867
+ "adminPinEnabled": {
1868
+ "label": "Ochrona PIN-u administratora",
1869
+ "description": "Włącz uwierzytelnianie PIN administratora dla poufnych ustawień",
1870
+ "help": "Wymagaj kodu PIN administratora do zmiany ustawień zabezpieczeń i zaawansowanych"
1871
+ }
1872
+ },
1873
+ "security_pinProtection_enabled": {
1874
+ "label": "Ochrona PIN-em",
1875
+ "description": "Włącz ochronę PIN-em dla wrażliwych ustawień",
1876
+ "current": "Aktualny: {value}",
1877
+ "help": "Wymagaj kodu PIN do zmiany ustawień zabezpieczeń i zaawansowanych"
1878
+ },
1879
+ "pinProtection_configure": {
1880
+ "label": "Skonfiguruj skrypty chronione kodem PIN",
1881
+ "description": "Skonfiguruj, które skrypty wymagają ochrony PIN",
1882
+ "help": "Wybierz poszczególne skrypty, które wymagają uwierzytelnienia PIN"
1883
+ },
1884
+ "pinProtection_debugMenu": {
1885
+ "label": "Menu narzędzi debugowania",
1886
+ "description": "Wymagaj kodu PIN do menu narzędzi debugowania",
1887
+ "current": "Aktualny: {value}",
1888
+ "help": "Włącz ochronę PIN-em w celu uzyskania dostępu do narzędzi debugowania"
1889
+ },
1890
+ "pinProtection_deleteReports": {
1891
+ "label": "Usuń raporty",
1892
+ "description": "Wymagaj kodu PIN do usuwania raportów",
1893
+ "current": "Aktualny: {value}",
1894
+ "help": "Włącz ochronę PIN-em przy usuwaniu raportów"
1895
+ },
1896
+ "pinProtection_summaryReports": {
1897
+ "label": "Raporty podsumowujące",
1898
+ "description": "Wymagaj kodu PIN do raportów podsumowujących",
1899
+ "current": "Aktualny: {value}",
1900
+ "help": "Włącz ochronę PIN-em w celu generowania raportów zbiorczych"
1901
+ },
1902
+ "pinProtection_settingsMenu": {
1903
+ "label": "Menu ustawień",
1904
+ "description": "Wymagaj kodu PIN do menu ustawień",
1905
+ "current": "Aktualny: {value}",
1906
+ "help": "Włącz ochronę PIN-em w celu uzyskania dostępu do ustawień"
1907
+ },
1908
+ "pinProtection_initScript": {
1909
+ "label": "Zainicjuj skrypt",
1910
+ "description": "Wymagaj kodu PIN do inicjowania skryptu",
1911
+ "current": "Aktualny: {value}",
1912
+ "help": "Włącz ochronę PIN-em w celu uruchomienia skryptu inicjującego"
1913
+ },
1914
+ "pinProtection_resetDefaults": {
1915
+ "label": "Zresetuj ochronę PIN",
1916
+ "description": "Zresetuj wszystkie ustawienia ochrony PIN do wartości domyślnych",
1917
+ "help": "Zresetuj wszystkie indywidualne zabezpieczenia PIN-u skryptu do wartości domyślnych"
1918
+ },
1919
+ "removeUiLanguages": {
1920
+ "label": "Usuń języki interfejsu użytkownika",
1921
+ "description": "Usuń języki interfejsu użytkownika, które nie są zainstalowane",
1922
+ "help": "Usuń języki interfejsu użytkownika, które nie są zainstalowane w systemie"
1923
+ },
1924
+ "${helperKey}": {
1925
+ "help": "Pomoc"
1926
+ },
1927
+ "reports_format": {
1928
+ "label": "Format raportu",
1929
+ "help": "Wybierz przecenę, aby uzyskać czytelne raporty, JSON do automatyzacji lub tekst, aby uzyskać zwykłe dzienniki."
1930
+ },
1931
+ "autoTranslate_placeholderMode": {
1932
+ "label": "Tryb obsługi symboli zastępczych",
1933
+ "help": "Jak obsługiwane są ciągi znaków zastępczych podczas automatycznego tłumaczenia."
1934
+ },
1935
+ "autoTranslate_concurrency": {
1936
+ "label": "Równoczesne prośby o tłumaczenie",
1937
+ "help": "Maksymalna liczba jednoczesnych żądań dostawcy. Google obsługuje do 100 w i18ntk; DeepL i LibreTranslate mają niższy limit."
1938
+ },
1939
+ "autoTranslate_batchSize": {
1940
+ "label": "Segmenty tekstu na partię",
1941
+ "help": "Liczba segmentów tekstu zaplanowanych na partię."
1942
+ },
1943
+ "autoTranslate_progressInterval": {
1944
+ "label": "Interwał aktualizacji postępu",
1945
+ "help": "Wypełnione segmenty tekstu pomiędzy aktualizacjami postępu."
1946
+ },
1947
+ "autoTranslate_retryCount": {
1948
+ "label": "Liczba ponownych prób",
1949
+ "help": "Maksymalna liczba ponownych prób na nieudane żądanie."
1950
+ },
1951
+ "autoTranslate_retryDelay": {
1952
+ "label": "Opóźnienie ponownej próby (ms)",
1953
+ "help": "Podstawowe opóźnienie ponownej próby w milisekundach."
1954
+ },
1955
+ "autoTranslate_timeout": {
1956
+ "label": "Limit czasu żądania (ms)",
1957
+ "help": "Upłynął limit czasu żądania dostawcy tłumaczeń."
1958
+ },
1959
+ "autoTranslate_dryRunFirst": {
1960
+ "label": "Najpierw podgląd próbny",
1961
+ "help": "Podgląd tego, co zostanie przetłumaczone przed zapisaniem plików."
1962
+ },
1963
+ "autoTranslate_onlyMissingOrEnglish": {
1964
+ "label": "Brakuje tylko kluczy angielskich lub angielskich",
1965
+ "help": "Zachowaj istniejące przetłumaczone wartości docelowe i przetłumacz tylko brakujące wartości, znaczniki, kopię źródłową lub prawdopodobne wartości w języku angielskim."
1966
+ },
1967
+ "autoTranslate_reportStdout": {
1968
+ "label": "Wydrukuj raport na terminalu",
1969
+ "help": "Wydrukuj raport po tłumaczeniu na standardowe wyjście."
1970
+ },
1971
+ "autoTranslate_bom": {
1972
+ "label": "Napisz BOM w formacie UTF-8",
1973
+ "help": "Zapisuj przetłumaczone pliki JSON z BOM-em UTF-8."
1974
+ },
1975
+ "autoTranslate_protectionEnabled": {
1976
+ "label": "Chroń terminy, klucze i wartości marki",
1977
+ "help": "Włącz edytowalne przez użytkownika chronione terminy, klucze, wartości i wzorce."
1978
+ },
1979
+ "autoTranslate_protectionFile": {
1980
+ "label": "Plik JSON ochrony",
1981
+ "help": "Plik JSON projektu zawierający reguły ochrony automatycznego tłumaczenia."
1982
+ },
1983
+ "autoTranslate_promptProtectionSetup": {
1984
+ "label": "Poproś o utworzenie pliku zabezpieczającego",
1985
+ "help": "Poproś o utworzenie pliku zabezpieczającego przy pierwszym uruchomieniu automatycznego tłumaczenia."
1986
+ },
1987
+ "autoTranslate_promptProtectionUpdate": {
1988
+ "label": "Poproś o aktualizację zasad ochrony",
1989
+ "help": "Zapytaj, czy zaktualizować reguły ochrony przed tłumaczeniami menedżera."
1990
+ },
1991
+ "backup": {
1992
+ "enabled": {
1993
+ "label": "Włącz kopię zapasową",
1994
+ "description": "Włącz automatyczną kopię zapasową ustawień",
1995
+ "help": "Włącz/wyłącz funkcję tworzenia kopii zapasowych"
1996
+ },
1997
+ "singleFileMode": {
1998
+ "label": "Tryb pojedynczego pliku",
1999
+ "description": "Używaj pojedynczego pliku do tworzenia kopii zapasowych",
2000
+ "help": "Ustawienia kopii zapasowej w jednym pliku"
2001
+ },
2002
+ "singleBackupFile": {
2003
+ "label": "Ścieżka pliku kopii zapasowej",
2004
+ "description": "Ścieżka do pliku kopii zapasowej",
2005
+ "help": "Ścieżka do pojedynczego pliku kopii zapasowej"
2006
+ },
2007
+ "retentionDays": {
2008
+ "label": "Okres przechowywania",
2009
+ "description": "Dni przechowywania plików kopii zapasowych",
2010
+ "help": "Liczba dni przechowywania starych plików kopii zapasowych"
2011
+ },
2012
+ "maxBackups": {
2013
+ "label": "Maksymalne kopie zapasowe",
2014
+ "description": "Maksymalna liczba plików kopii zapasowych do przechowywania",
2015
+ "help": "Maksymalna liczba plików kopii zapasowych do przechowywania"
2016
+ },
2017
+ "confirm": {
2018
+ "label": "Potwierdź kopię zapasową",
2019
+ "description": "Wymagaj potwierdzenia operacji tworzenia kopii zapasowych",
2020
+ "help": "Potwierdź operację tworzenia kopii zapasowej"
2021
+ }
2022
+ }
2023
+ },
2024
+ "actions": {
2025
+ "editSetting": "Redagować {setting}:",
2026
+ "settingUpdated": "✅ {setting} zaktualizowano pomyślnie!",
2027
+ "invalidValue": "❌ Nieprawidłowa wartość. Spróbuj ponownie.",
2028
+ "pressEnter": "Naciśnij Enter, aby kontynuować...",
2029
+ "backToMenu": "Powrót do menu głównego",
2030
+ "saveSuccess": "✅ Ustawienia zostały zapisane pomyślnie!",
2031
+ "saveFailed": "❌ Nie udało się zapisać ustawień: {error}",
2032
+ "resetConfirm": "Czy na pewno chcesz zresetować wszystkie ustawienia do wartości domyślnych? (t/n):",
2033
+ "resetSuccess": "✅ Ustawienia zostały pomyślnie zresetowane do wartości domyślnych!",
2034
+ "importSuccess": "✅ Ustawienia zostały zaimportowane pomyślnie!",
2035
+ "exportSuccess": "✅ Ustawienia wyeksportowane pomyślnie!",
2036
+ "fileNotFound": "❌ Nie znaleziono pliku: {path}",
2037
+ "invalidFormat": "❌ Nieprawidłowy format pliku ustawień",
2038
+ "pinProtectionUpdated": "✅Ochrona PIN-em dla {script} zaktualizowano pomyślnie!",
2039
+ "pinProtectionReset": "✅ Wszystkie ustawienia ochrony PIN zostały zresetowane do wartości domyślnych!",
2040
+ "pinProtectionConfigure": "Skonfiguruj ochronę PIN-em dla poszczególnych skryptów",
2041
+ "pinProtectionSelectScript": "Wybierz skrypt, aby przełączyć ochronę PIN:",
2042
+ "pinProtectionCurrentStatus": "Aktualny stan: {status}",
2043
+ "pinProtectionEnabled": "Włączony",
2044
+ "pinProtectionDisabled": "Wyłączony",
2045
+ "pinProtectionToggle": "Przełącz ochronę PIN-em",
2046
+ "pinProtectionResetAll": "Zresetuj wszystko do ustawień domyślnych",
2047
+ "pinProtectionBack": "Powrót do Ustawień zabezpieczeń"
2048
+ },
2049
+ "themes": {
2050
+ "light": "Światło",
2051
+ "dark": "Ciemny",
2052
+ "system": "System"
2053
+ },
2054
+ "languages": {
2055
+ "en": "angielski",
2056
+ "de": "niemiecki",
2057
+ "es": "hiszpański",
2058
+ "fr": "francuski",
2059
+ "ru": "rosyjski",
2060
+ "ja": "japoński",
2061
+ "zh": "chiński",
2062
+ "it": "Włoski",
2063
+ "pt": "Portugalski",
2064
+ "nl": "Holenderski",
2065
+ "pl": "Polski",
2066
+ "sv": "Szwedzki",
2067
+ "uk": "Ukraiński",
2068
+ "cs": "Czeski",
2069
+ "tr": "Turecki",
2070
+ "ko": "Koreański",
2071
+ "ar": "Arabski",
2072
+ "hi": "Hindi",
2073
+ "th": "Tajski",
2074
+ "vi": "Wietnamski",
2075
+ "he": "Hebrajski",
2076
+ "el": "Grecki",
2077
+ "hu": "Węgierski"
2078
+ },
2079
+ "viewAll": {
2080
+ "title": "Wyświetl wszystkie ustawienia"
2081
+ },
2082
+ "current": "Aktualny",
2083
+ "back": "Powrót do menu głównego",
2084
+ "selectSettingPrompt": "Wybierz ustawienie do edycji (lub b dla tyłu, r dla resetowania):",
2085
+ "invalidOption": "Nieprawidłowa opcja.",
2086
+ "editing": "Redagowanie",
2087
+ "enterNewValue": "Wprowadź nową wartość (lub naciśnij klawisz Enter, aby zachować aktualną, wpisz „domyślne”, aby użyć wartości domyślnych systemu):",
2088
+ "validOptions": "Prawidłowe opcje",
2089
+ "updatedSuccessfully": "zaktualizowano pomyślnie!",
2090
+ "noHelp": "Brak pomocy dla tego ustawienia",
2091
+ "resetScriptDirectories": "Przywróć wartości domyślne",
2092
+ "resetScriptDirectoriesTitle": "Zresetuj katalogi skryptów do wartości domyślnych",
2093
+ "resetScriptDirectoriesWarning1": "Spowoduje to zresetowanie wszystkich konfiguracji katalogów skryptów do wartości domyślnych systemu.",
2094
+ "resetScriptDirectoriesWarning2": "Wszystkie niestandardowe ścieżki katalogów zostaną wyczyszczone. Tej akcji nie można cofnąć.",
2095
+ "resetScriptDirectoriesConfirm": "Czy na pewno chcesz zresetować wszystkie katalogi skryptów do wartości domyślnych? (t/n):",
2096
+ "backup": {
2097
+ "title": "Ustawienia kopii zapasowej",
2098
+ "description": "Utwórz kopię zapasową bieżących ustawień w pliku",
2099
+ "confirm": "Czy na pewno chcesz wykonać kopię zapasową bieżących ustawień? (t/n):",
2100
+ "success": "✅ Pomyślnie utworzono kopię zapasową ustawień {backupFile}",
2101
+ "failed": "❌ Nie udało się wykonać kopii zapasowej ustawień: {error}",
2102
+ "enabled": "Włącz kopię zapasową",
2103
+ "enabledHelp": "Włącz/wyłącz funkcję tworzenia kopii zapasowych",
2104
+ "singleFileMode": "Tryb pojedynczego pliku",
2105
+ "singleFileModeHelp": "Ustawienia kopii zapasowej w jednym pliku",
2106
+ "singleBackupFile": "Pojedynczy plik kopii zapasowej",
2107
+ "singleBackupFileHelp": "Ścieżka do pojedynczego pliku kopii zapasowej",
2108
+ "retentionDays": "Dni zatrzymania",
2109
+ "retentionDaysHelp": "Liczba dni przechowywania starych plików kopii zapasowych",
2110
+ "maxBackups": "Maksymalna liczba kopii zapasowych",
2111
+ "maxBackupsHelp": "Maksymalna liczba plików kopii zapasowych do przechowywania",
2112
+ "confirmHelp": "Potwierdź operację tworzenia kopii zapasowej",
2113
+ "confirmYes": "Tak",
2114
+ "confirmNo": "NIE"
2115
+ },
2116
+ "validation": {
2117
+ "valid": "Ważny",
2118
+ "validatingPaths": "Sprawdzam skonfigurowane ścieżki...",
2119
+ "validationComplete": "Zakończono weryfikację ścieżki: {valid}/{total} ważny."
2120
+ }
2121
+ },
2122
+ "summary": {
2123
+ "separator": "============================================================",
2124
+ "configurationTitle": "🔧 Konfiguracja:",
2125
+ "sourceLanguage": "Język źródłowy: {sourceLanguage}",
2126
+ "supportedExtensions": "Obsługiwane rozszerzenia: {extensions}",
2127
+ "excludedFiles": "Wykluczone pliki: {files}",
2128
+ "reportContent": "{report}",
2129
+ "fatalError": "❌ Błąd krytyczny: {error}",
2130
+ "helpTitle": "📊 GENERATOR RAPORTÓW PODSUMOWUJĄCYCH I18NTK",
2131
+ "helpDescription": "Analizuje strukturę folderów i18n i generuje kompleksowy raport podsumowujący, zawierający kluczowe statystyki, analizę struktury plików i kontrole walidacyjne.",
2132
+ "helpUsage": "Użycie: węzeł i18ntk-summary.js [opcje]",
2133
+ "helpOptions": "--katalog-źródłowy <dir> Katalog źródłowy do analizy",
2134
+ "helpSourceDir": "--katalog-źródłowy <dir> Katalog źródłowy do analizy",
2135
+ "helpOutput": "--wyjście <file> Plik wyjściowy raportu",
2136
+ "helpVerbose": "--verbose, -v Wyświetla szczegółowe informacje",
2137
+ "helpKeepReports": "--keep-reports Zachowaj istniejące raporty",
2138
+ "helpDeleteReports": "--delete-reports Usuń istniejące raporty",
2139
+ "helpHelp": "--help, -h Pokaż tę pomoc",
2140
+ "helpExamples": "Przykłady:",
2141
+ "helpExample1": "węzeł i18ntk-summary.js",
2142
+ "helpExample2": "węzeł i18ntk-summary.js --katalog-źródłowy ./locales",
2143
+ "helpExample3": "węzeł i18ntk-summary.js --output raport podsumowujący.txt",
2144
+ "helpExample4": "węzeł i18ntk-summary.js --verbose",
2145
+ "helpExample5": "węzeł i18ntk-summary.js --katalog-źródłowy ./locales --report wyjściowy.json",
2146
+ "couldNotReadFile": "⚠️ Nie można odczytać pliku: {filePath}",
2147
+ "couldNotParseJSFile": "⚠️ Nie można przeanalizować pliku JS/TS: {filePath}",
2148
+ "errorReadingFile": "⚠️Błąd odczytu pliku {filePath}: {error}",
2149
+ "analyzingFolder": "🔍 Analizowanie struktury folderów...",
2150
+ "noLanguageDirectoriesFound": "❌ W podanym katalogu źródłowym nie znaleziono katalogów językowych.",
2151
+ "foundLanguages": "✅ Znaleziono {count} języki: {languages}",
2152
+ "referenceLanguageFiles": "📁 Język odniesienia”{language}' ma {count} akta",
2153
+ "analyzingLanguage": "🌍 Analiza języka: {language}",
2154
+ "keysInFiles": "📊 Znaleziono {keys} klucze w poprzek {files} akta",
2155
+ "checkingInconsistentKeys": "🔍 Sprawdzanie niespójnych kluczy w różnych językach...",
2156
+ "generatingSummaryReport": "📝 Generowanie raportu podsumowującego...",
2157
+ "reportTitle": "📊 I18NTK SUMMARY REPORT",
2158
+ "generated": "Wygenerowano: {timestamp}",
2159
+ "sourceDirectory": "Katalog źródłowy: {dir}",
2160
+ "overview": "📈 OVERVIEW",
2161
+ "languagesCount": "Języki: {count}",
2162
+ "totalFiles": "Całkowita liczba plików: {count}",
2163
+ "totalKeys": "Razem klucze: {count}",
2164
+ "avgKeysPerLanguage": "Średnia liczba kluczy na język: {count}",
2165
+ "languagesBreakdown": "🌍 PODZIAŁ JĘZYKÓW",
2166
+ "languageBreakdown": "{language}: {files} akta, {keys} klawiatura",
2167
+ "fileStructure": "📁 STRUKTURA PLIKU",
2168
+ "fileKeys": "{file}: {keys} klawiatura",
2169
+ "missingInLanguages": "⚠️ Brakuje w: {languages}",
2170
+ "issuesFound": "❌ ISSUES FOUND",
2171
+ "missingFiles": "📁 Brakujące pliki:",
2172
+ "emptyFiles": "📄 Puste pliki:",
2173
+ "malformedFiles": "⚠️ Zniekształcone pliki:",
2174
+ "duplicateKeys": "🔑 Duplikaty kluczy:",
2175
+ "inconsistentKeys": "🔍 Niespójne klucze:",
2176
+ "missingKeys": "Zaginiony: {keys}{more}",
2177
+ "extraKeys": "Dodatkowy: {keys}{more}",
2178
+ "noIssuesFound": "✅ NO ISSUES FOUND",
2179
+ "allFilesConsistent": "Wszystkie pliki tłumaczeń są spójne w różnych językach.",
2180
+ "recommendations": "💡 REKOMENDACJE",
2181
+ "createMissingFiles": "• Utwórz brakujące pliki tłumaczeń",
2182
+ "addContentToEmptyFiles": "• Dodaj zawartość do pustych plików tłumaczeń",
2183
+ "fixMalformedFiles": "• Napraw zniekształcone pliki JSON/JS",
2184
+ "removeDuplicateKeys": "• Usuń zduplikowane klucze z plików",
2185
+ "synchronizeKeys": "• Synchronizuj klawisze we wszystkich językach",
2186
+ "splitLargeFiles": "• Rozważ podzielenie dużych plików na mniejsze przestrzenie nazw",
2187
+ "addMoreLanguages": "• Rozważ dodanie większej liczby języków",
2188
+ "nextSteps": "🎯 NEXT STEPS",
2189
+ "nextStep1": "1. Napraw wszelkie problemy zidentyfikowane powyżej",
2190
+ "nextStep2": "2. Przeprowadź weryfikację, aby zapewnić spójność",
2191
+ "nextStep3": "3. Rozważ użycie i18ntk-validate do szczegółowej walidacji",
2192
+ "nextStep4": "4. Zalecane regularne monitorowanie",
2193
+ "couldNotFindI18nDirectory": "❌ Nie można znaleźć katalogu i18n. Proszę podać --source-dir.",
2194
+ "sourceDirectoryDoesNotExist": "❌ Katalog źródłowy nie istnieje: {dir}",
2195
+ "i18nSummaryReportGenerator": "📊 Generator raportów podsumowujących I18N",
2196
+ "analysisComplete": "✅ Analiza ukończona",
2197
+ "analyzedLanguages": "📊 Analizowane języki: {count}",
2198
+ "processedFiles": "📁 Przetworzone pliki: {count}",
2199
+ "foundTranslationKeys": "🔑 Znaleziono klucze do tłumaczeń: {count}",
2200
+ "foundIssues": "❌ Znaleziono {count} kwestie",
2201
+ "noIssuesConsole": "✅ Nie znaleziono żadnych problemów - wszystkie pliki są spójne!",
2202
+ "errorDuringAnalysis": "❌ Błąd podczas analizy: {error}",
2203
+ "usageReportTitle": "📊 I18NTK USAGE REPORT",
2204
+ "usageReportGenerated": "Wygenerowano: {timestamp}",
2205
+ "usageReportSourceDir": "Katalog źródłowy: {sourceDir}",
2206
+ "usageReportI18nDir": "Katalog I18n: {i18nDir}",
2207
+ "usageReportSummary": "📈 SUMMARY",
2208
+ "usageReportSourceFilesScanned": "Przeskanowane pliki źródłowe: {count}",
2209
+ "usageReportTranslationFilesFound": "Znaleziono pliki tłumaczeń: {count}",
2210
+ "usageReportAvailableKeys": "Dostępne klucze tłumaczące: {count}",
2211
+ "usageReportUsedKeys": "Używane klucze do tłumaczeń: {count}",
2212
+ "usageReportDynamicKeys": "Klucze dynamicznego tłumaczenia: {count}",
2213
+ "usageReportUnusedKeys": "Niewykorzystane klucze do tłumaczeń: {count}",
2214
+ "usageReportMissingKeys": "Brakujące klucze tłumaczeń: {count}",
2215
+ "usageReportNotTranslatedKeys": "Nie przetłumaczone klucze: {count}",
2216
+ "usageReportTranslationCompleteness": "🌍 KOMPLETNOŚĆ TŁUMACZEŃ",
2217
+ "usageReportLanguageCompleteness": "{language}: {completeness}% ({translated}/{total})",
2218
+ "usageReportNotTranslatedInLanguage": "Nie przetłumaczone: {count} klawiatura",
2219
+ "usageReportTranslationFilesDiscovered": "📁 PLIKI TŁUMACZENIOWE",
2220
+ "usageReportFileInfo": "{relativePath} (przestrzeń nazw: {namespace}, typ: {type})",
2221
+ "usageReportUnusedTranslationKeys": "🗑️ NIEUŻYWANE KLUCZE TŁUMACZEŃ",
2222
+ "usageReportUnusedKeysDescription": "Te klucze istnieją w plikach tłumaczeń, ale nie są używane w kodzie źródłowym:",
2223
+ "usageReportUnusedKey": "• {key}",
2224
+ "usageReportMoreUnusedKeys": "... I {count} więcej nieużywanych kluczy",
2225
+ "usageReportMissingTranslationKeys": "❌ BRAK KLUCZY TŁUMACZEŃ",
2226
+ "usageReportMissingKeysDescription": "Te klucze są używane w kodzie źródłowym, ale brakuje ich w plikach tłumaczeń:",
2227
+ "usageReportMissingKey": "• {key}",
2228
+ "usageReportUsedIn": "Używany w: {filePath}",
2229
+ "usageReportMoreFiles": "... I {count} więcej plików",
2230
+ "usageReportDynamicTranslationKeys": "⚡ KLUCZE DYNAMICZNEGO TŁUMACZENIA",
2231
+ "usageReportDynamicKeysDescription": "Te klucze są używane dynamicznie (konstruowane w czasie wykonywania):",
2232
+ "usageReportDynamicKey": "• {key}",
2233
+ "usageReportFileUsageBreakdown": "📊 PODZIAŁ WYKORZYSTANIA PLIKU",
2234
+ "usageReportFileUsage": "{filePath}: {count} klawiatura",
2235
+ "status": {
2236
+ "generating": "⏳ Generowanie...",
2237
+ "completed": "✅ Zakończono"
2238
+ },
2239
+ "help": {
2240
+ "usage": "Użycie: węzeł main/manage/index.js [opcje]",
2241
+ "interactiveMode": "💡 Użyj: węzeł main/manage/index.js --command=<command> do bezpośredniego wykonania",
2242
+ "initProject": "🚀 Zainicjuj nowe języki",
2243
+ "analyzeTranslations": "🔍 Analizuj tłumaczenia",
2244
+ "validateTranslations": "✅ Sprawdzaj tłumaczenia",
2245
+ "checkUsage": "📊 Sprawdź użycie klucza",
2246
+ "showHelp": "📖 Użyj: node main/manage/index.js --help dla dostępnych poleceń",
2247
+ "availableCommands": "📖 Dostępne polecenia:",
2248
+ "initCommand": "init — inicjalizuje nowe języki",
2249
+ "analyzeCommand": "analizuj - Analizuj tłumaczenia",
2250
+ "validateCommand": "zatwierdź - Zatwierdź tłumaczenia",
2251
+ "usageCommand": "użycie - Sprawdź użycie klucza",
2252
+ "sizingCommand": "rozmiar - Analizuj rozmiar",
2253
+ "completeCommand": "ukończone - Kompletne tłumaczenia (100% pokrycia)",
2254
+ "summaryCommand": "podsumowanie - Pokaż status projektu",
2255
+ "scannerCommand": "skaner — Skanuj w poszukiwaniu problemów z i18n",
2256
+ "translateCommand": "tłumacz - Automatyczne tłumaczenie plików regionalnych",
2257
+ "debugCommand": "debug - Debuguj problemy z tłumaczeniem"
2258
+ },
2259
+ "test_complete_system": {
2260
+ "starting_test": "🧪 Rozpoczęcie pełnego testu systemu",
2261
+ "separator": "=",
2262
+ "testing_ui_translations": "📝 Testowanie tłumaczeń interfejsu użytkownika...",
2263
+ "testing_settings_manager": "⚙️ Testowanie Menedżera ustawień...",
2264
+ "testing_main_scripts": "🔧 Testowanie głównych skryptów...",
2265
+ "checking_translation_consistency": "🌐 Sprawdzanie spójności tłumaczenia...",
2266
+ "non_critical_missing_keys": "ℹ️ {file}: {count} niekrytyczne brakujące klucze",
2267
+ "extra_keys": "ℹ️ {file}: {count} dodatkowe klucze",
2268
+ "generating_report": "📊 Generowanie raportu...",
2269
+ "final_test_report_title": "📋 FINAL TEST REPORT",
2270
+ "passed": "✅ Zaliczone: {passed}",
2271
+ "failed": "❌ Niepowodzenie: {failed}",
2272
+ "warnings": "⚠️ Ostrzeżenia: {warnings}",
2273
+ "missing_translations_title": "🔍 Brakujące tłumaczenia ({count}):",
2274
+ "missing_translation_key": "- {key}",
2275
+ "missing_translations_more": "... I {count} więcej",
2276
+ "errors_title": "❌ Błędy:",
2277
+ "error_message": "- {error}",
2278
+ "overall_status": "📊 Stan ogólny: {status}",
2279
+ "success_message": "✅ {message}",
2280
+ "failure_message": "❌ {message}",
2281
+ "failure_error_message": "{errorMessage}",
2282
+ "warning_message": "⚠️ {message}",
2283
+ "test_runner_failed": "❌ Osoba przeprowadzająca test nie powiodła się:",
2284
+ "recommendations": {
2285
+ "add_missing_translation_keys": "Dodaj brakujące klucze tłumaczeń, aby zachować spójność",
2286
+ "fix_failing_scripts": "Napraw niedziałające skrypty przed wdrożeniem",
2287
+ "review_warning_messages": "Przejrzyj i zajmij się komunikatami ostrzegawczymi",
2288
+ "system_ready_for_deployment": "System jest gotowy do wdrożenia"
2289
+ },
2290
+ "hardcodedTexts": {
2291
+ "addMissingTranslationKeys": "Dodaj brakujące klucze tłumaczeń, aby zachować spójność",
2292
+ "fixFailingScripts": "Napraw niedziałające skrypty przed wdrożeniem",
2293
+ "reviewWarningMessages": "Przejrzyj i zajmij się komunikatami ostrzegawczymi",
2294
+ "systemReadyForDeployment": "System jest gotowy do wdrożenia"
2295
+ }
2296
+ },
2297
+ "testConsoleI18n": {
2298
+ "found_target_file": "Znaleziono plik docelowy: {fileName}",
2299
+ "scanning_files_for_console_statements": "Skanowanie plików w poszukiwaniu instrukcji konsoli...",
2300
+ "found_javascript_files": "Znaleziony {count} Pliki JavaScript.",
2301
+ "console_i18n_analysis_results": "Wyniki analizy konsoli I18n",
2302
+ "total_console_statements": "Łączne wyciągi konsoli: {count}",
2303
+ "translated_statements": "Przetłumaczone wypowiedzi: {count}",
2304
+ "hardcoded_statements": "Zakodowane na stałe instrukcje: {count}",
2305
+ "translation_coverage": "Zakres tłumaczeń: {percentage}%",
2306
+ "coverage_by_file": "Pokrycie według pliku:",
2307
+ "file_coverage_stats": "{emoji} {fileName}: {coverage}% ({translated}/{total})",
2308
+ "hardcoded_console_statements": "Zakodowane na stałe instrukcje konsoli:",
2309
+ "file_header": "Plik: {file}",
2310
+ "line_statement": "Linia {line}: {statement}",
2311
+ "suggested_key": "Sugerowany klucz: {key}",
2312
+ "suggested_replacement": "Sugerowany zamiennik: {replacement}",
2313
+ "recommendations": "Zalecenia:",
2314
+ "recommendation_1": "1. Zastąp zakodowane na stałe ciągi wywołaniami i18n.t().",
2315
+ "recommendation_2": "2. Dodaj nowe klucze do odpowiednich plików JSON tłumaczeń.",
2316
+ "recommendation_3": "3. Upewnij się, że wszystkie komunikaty konsoli są skierowane do użytkownika i wymagają tłumaczenia.",
2317
+ "recommendation_4": "4. Używaj literałów szablonowych lub łączenia ciągów dla komunikatów dynamicznych, przekazując zmienne do i18n.t().",
2318
+ "translation_keys_to_add": "Sugerowane klucze tłumaczeń do dodania:",
2319
+ "add_keys_instruction": "Skopiuj następującą strukturę JSON do plików tłumaczeniowych:",
2320
+ "perfect_translation_coverage": "Idealne pokrycie tłumaczeń!",
2321
+ "all_statements_using_translation": "Wszystkie instrukcje konsoli korzystają z systemu tłumaczeń.",
2322
+ "i18n_console_translation_checker": "Kontroler tłumaczenia konsoli I18n",
2323
+ "script_description_line1": "Ten skrypt skanuje wszystkie pliki JavaScript w poszukiwaniu instrukcji konsoli",
2324
+ "script_description_line2": "i sprawdza, czy korzystają z systemu tłumaczeń.",
2325
+ "analysis_completed_in_duration": "Analiza zakończona w {duration} towary drugiej jakości.",
2326
+ "report_saved_to_path": "Raport został zapisany w: {path}",
2327
+ "found_hardcoded_messages": "Znaleziony {count} zakodowane na stałe wiadomości. Wychodzenie z kodem błędu 1.",
2328
+ "all_console_messages_use_translation": "Wszystkie komunikaty konsoli korzystają z tłumaczenia. Wyjście z kodem 0.",
2329
+ "consoleTranslationsCheck": "Kontrola tłumaczeń konsoli"
2330
+ },
2331
+ "translate_mismatches": {
2332
+ "title": "🌐 Pomocnik tłumaczeniowy {dryRun}",
2333
+ "separator": "=====================================",
2334
+ "processing_file": "📄 Przetwarzanie {language}.json...",
2335
+ "translation_summary_title": "📊 Podsumowanie tłumaczenia:",
2336
+ "total_translations_applied": "Całkowita liczba zastosowanych tłumaczeń: {totalTranslations}",
2337
+ "run_with_apply_instruction": "💡 Uruchom z --apply, aby zastosować te tłumaczenia",
2338
+ "no_translation_mappings": "⚠️ Brak dostępnych map tłumaczeń dla {language}",
2339
+ "translation_applied": "✅ {key}: \"{oldValue}\" → \"{newValue}\"",
2340
+ "saved_translations": "💾 Zapisano {count} tłumaczenia do {filename}",
2341
+ "found_translatable_items": "🔍 Znaleziono {count} elementy do przetłumaczenia",
2342
+ "no_automatic_translations": "✨ Brak dostępnych automatycznych tłumaczeń",
2343
+ "error_processing_file": "❌ Błąd przetwarzania {filename}: {errorMessage}",
2344
+ "coverage_report_title": "📊 Raport zasięgu tłumaczeń",
2345
+ "coverage_report_separator": "===============================",
2346
+ "file_header": "📄 {filename}:",
2347
+ "total_keys": "Razem klucze: {total}",
2348
+ "translated_keys": "Przetłumaczony: {translated}",
2349
+ "untranslated_markers": "Nieprzetłumaczone znaczniki: {untranslated}",
2350
+ "contains_english": "Zawiera język angielski: {hasEnglish}",
2351
+ "coverage_percentage": "Zasięg: {coverage}%",
2352
+ "error_general": "❌ Błąd:",
2353
+ "use_help": "Użyj --help, aby uzyskać informacje o użytkowaniu"
2354
+ },
2355
+ "cleaningUpReportFiles": "Czyszczenie starych plików raportów...",
2356
+ "couldNotDelete": "Nie udało się usunąć {file}: {error}",
2357
+ "deletedOldReportFiles": "Usunięto {count} stare pliki raportów.",
2358
+ "errorCleaningUpReports": "Błąd podczas czyszczenia raportów: {error}",
2359
+ "noOldReportFilesToDelete": "Brak starych plików raportów do usunięcia.",
2360
+ "reportFilesPreserved": "Pliki raportów zostały zachowane.",
2361
+ "reportSaveFailed": "Nie udało się zapisać raportu w: {reportPath}",
2362
+ "reportSaved": "Raport został zapisany w: {reportPath}"
2363
+ },
2364
+ "ui": {
2365
+ "autoDetectedI18nDirectory": "Automatycznie wykryty katalog i18n: {path}",
2366
+ "executingCommand": "Wykonywanie polecenia: {command}",
2367
+ "unknownCommand": "Nieznane polecenie: {command}",
2368
+ "errorExecutingCommand": "Błąd podczas wykonywania polecenia: {error}",
2369
+ "errorLoadingTranslationFile": "Błąd podczas ładowania pliku tłumaczenia dla „{language}': {error}",
2370
+ "errorSavingLanguagePreference": "Błąd podczas zapisywania preferencji językowych: {error}",
2371
+ "noActiveReadlineInterface": "Brak aktywnego interfejsu Readline",
2372
+ "uiLanguageUpdated": "Język interfejsu zaktualizowany do: {language}",
2373
+ "selectOptionPrompt": "Wybierz opcję:",
2374
+ "pressEnterToReturn": "Naciśnij Enter, aby powrócić do menu głównego...",
2375
+ "detectedSourceDirectory": "Wykryty katalog źródłowy: {sourceDir}",
2376
+ "detectedI18nDirectory": "Wykryty katalog i18n: {directory}",
2377
+ "toolkitTitle": "i18ntk — zestaw narzędzi do zarządzania i18n dla przedsiębiorstw",
2378
+ "versionInfo": "Wersja: {version}",
2379
+ "releaseDate": "Data wydania: {date}",
2380
+ "maintainer": "Opiekun: {maintainer}",
2381
+ "nodeVersion": "Node.js: {version}",
2382
+ "license": "Licencja: {license}",
2383
+ "whatsNew": "✨ Co nowego w v{version}:",
2384
+ "changeItem": "{change}",
2385
+ "documentation": "📚 Dokumentacja: {url}",
2386
+ "issues": "🐛 Problemy: {url}",
2387
+ "versionInfoUnavailable": "Informacje o wersji i18ntk są niedostępne",
2388
+ "versionInfoError": "Błąd: {error}"
2389
+ },
2390
+ "validateLanguagePurity": {
2391
+ "phrase_debug_tools": "narzędzia do debugowania",
2392
+ "phrase_settings": "ustawienia",
2393
+ "phrase_configuration": "konfiguracja",
2394
+ "phrase_invalid_choice": "nieważny wybór",
2395
+ "phrase_please_select": "proszę wybrać",
2396
+ "phrase_back_to_main_menu": "powrót do menu głównego",
2397
+ "phrase_error": "błąd",
2398
+ "phrase_warning": "ostrzeżenie",
2399
+ "phrase_success": "sukces",
2400
+ "phrase_failed": "przegrany",
2401
+ "phrase_loading": "załadunek",
2402
+ "phrase_saving": "oszczędność",
2403
+ "phrase_full_system_debug": "pełne debugowanie systemu",
2404
+ "phrase_configuration_debug": "debugowanie konfiguracji",
2405
+ "phrase_translation_debug": "debugowanie tłumaczenia",
2406
+ "phrase_performance_debug": "debugowanie wydajności",
2407
+ "phrase_admin_pin_setup": "konfiguracja PIN-u administratora",
2408
+ "phrase_enter_admin_pin": "wprowadź PIN administratora",
2409
+ "phrase_confirm_admin_pin": "potwierdź PIN administratora",
2410
+ "phrase_authentication_failed": "uwierzytelnienie nie powiodło się",
2411
+ "phrase_access_denied": "Odmowa dostępu",
2412
+ "phrase_security_log": "dziennik bezpieczeństwa",
2413
+ "language_german": "niemiecki",
2414
+ "language_french": "francuski",
2415
+ "language_spanish": "hiszpański",
2416
+ "language_russian": "rosyjski",
2417
+ "language_japanese": "japoński",
2418
+ "language_chinese": "chiński",
2419
+ "validator_title": "🔍 Walidator czystości języka",
2420
+ "validating_file": "📄 Weryfikacja {language}.json ({name})...",
2421
+ "valid_file_message": "✅ Obowiązuje - brak naruszeń czystości językowej",
2422
+ "invalid_file_message": "❌ Nieprawidłowy - {count} Znaleziono naruszenia",
2423
+ "no_validation_rules": "Nie zdefiniowano żadnych reguł walidacji dla języka: {language}",
2424
+ "error_reading_file": "Błąd odczytu pliku: {errorMessage}",
2425
+ "issue_forbidden_marker": "Zawiera zabroniony znacznik: {marker}",
2426
+ "issue_english_phrase": "Zawiera angielskie wyrażenie: „{phrase}\"",
2427
+ "issue_english_words": "Zawiera angielskie słowa: {words}",
2428
+ "issue_missing_cyrillic": "Długi tekst powinien zawierać znaki cyrylicy w przypadku języka rosyjskiego",
2429
+ "issue_missing_japanese": "Długi tekst powinien zawierać znaki japońskie",
2430
+ "issue_missing_chinese": "Długi tekst powinien zawierać chińskie znaki",
2431
+ "summary_title": "📊 PODSUMOWANIE WALIDACJI",
2432
+ "overall_results_header": "📋 Wyniki ogólne:",
2433
+ "total_files_validated": "Całkowita liczba zweryfikowanych plików: {count}",
2434
+ "valid_files": "Prawidłowe pliki: {count}",
2435
+ "invalid_files": "Nieprawidłowe pliki: {count}",
2436
+ "total_violations": "Całkowita liczba naruszeń: {count}",
2437
+ "violations_by_file_header": "❌ NARUSZENIA WEDŁUG PLIKÓW:"
2438
+ },
2439
+ "workflow": {
2440
+ "title": "Zarządzanie przepływem pracy",
2441
+ "description": "Zarządzaj przepływami pracy i18n.",
2442
+ "select_workflow_file": "Wybierz plik przepływu pracy do uruchomienia:",
2443
+ "no_workflow_files": "W katalogu przepływów pracy nie znaleziono plików przepływu pracy.",
2444
+ "invalid_selection": "Nieprawidłowy wybór. Proszę wpisać numer odpowiadający plikowi przepływu pracy.",
2445
+ "workflow_execution_started": "Rozpoczęcie przepływu pracy: {workflowName}",
2446
+ "workflow_execution_completed": "Zakończono przepływ pracy: {workflowName}",
2447
+ "workflow_execution_failed": "Przepływ pracy nie powiódł się: {workflowName} - {error}",
2448
+ "workflow_cancelled": "Wykonywanie przepływu pracy zostało anulowane.",
2449
+ "press_enter_to_continue": "Naciśnij Enter, aby kontynuować!",
2450
+ "starting": "🚀 Rozpoczynanie przepływu pracy...",
2451
+ "completed": "✅ Przepływ pracy zakończył się pomyślnie!",
2452
+ "checkReports": "📄 Sprawdź raporty, aby poznać szczegóły.",
2453
+ "exitingCompleted": "📝 Przebieg pracy zakończony. Wychodzę...",
2454
+ "summary": {
2455
+ "title": "📋 WORKFLOW SUMMARY",
2456
+ "separator": "===================",
2457
+ "completedAt": "🕐 Przebieg pracy został ukończony o: {timestamp}",
2458
+ "initialViolations": "📊 Początkowe naruszenia: {count}",
2459
+ "finalViolations": "📉 Ostateczne naruszenia: {count}",
2460
+ "totalFixes": "🔧 Łączna liczba zastosowanych poprawek: {count}",
2461
+ "improvement": "📈 Ulepszenie: {percentage}%",
2462
+ "stepResults": "📝 STEP RESULTS:",
2463
+ "stepDetail": "{number}. {status} {stepName}",
2464
+ "violations": "Naruszenia: {count}",
2465
+ "fixesApplied": "Zastosowane poprawki: {count}",
2466
+ "nextSteps": "💡 NEXT STEPS:",
2467
+ "congratulations": "🎉 Gratulacje! Wszystkie pliki ustawień regionalnych mają teraz idealną czystość językową!",
2468
+ "cicdIntegration": "✅ Rozważ integrację walidatora z potokiem CI/CD",
2469
+ "automatedChecks": "✅ Skonfiguruj automatyczne sprawdzanie nowych tłumaczeń",
2470
+ "greatProgress": "🎯 Wielki postęp! Większość problemów została rozwiązana.",
2471
+ "manualReview": "🔍 Ręcznie przejrzyj pozostałe naruszenia",
2472
+ "addMappings": "🌐 Rozważ dodanie większej liczby mapowań tłumaczeń dla przypadków brzegowych",
2473
+ "goodProgress": "📈 Poczyniono znaczne postępy, ale potrzeba więcej pracy.",
2474
+ "expandMappings": "🔧 Rozwiń automatyczne mapowania tłumaczeń",
2475
+ "professionalReview": "👥 Rozważ ręczną weryfikację skomplikowanych tłumaczeń",
2476
+ "runAgain": "🔄 Uruchom przepływ pracy ponownie po dodaniu kolejnych mapowań",
2477
+ "limitedProgress": "⚠️ Ograniczony postęp. Może być konieczna ręczna interwencja.",
2478
+ "reviewMappings": "🔍 Przejrzyj mapowania tłumaczeń i dodaj brakujące",
2479
+ "professionalServices": "👥 Rozważ profesjonalne usługi tłumaczeniowe",
2480
+ "checkIssues": "🔧 Sprawdź, czy nie ma systematycznych problemów w plikach regionalnych",
2481
+ "success": "✅",
2482
+ "warning": "⚠️"
2483
+ }
2484
+ },
2485
+ "consoleI18nTester": {
2486
+ "found_target_file": "Znaleziono plik docelowy",
2487
+ "scanning_files_for_console_statements": "Skanowanie plików w poszukiwaniu instrukcji konsoli",
2488
+ "found_javascript_files": "Znaleziono pliki JavaScript",
2489
+ "console_i18n_analysis_results": "Wyniki analizy konsoli i18n",
2490
+ "total_console_statements": "Łączne wyciągi konsoli",
2491
+ "translated_statements": "Przetłumaczone wypowiedzi",
2492
+ "hardcoded_statements": "Zakodowane na stałe oświadczenia",
2493
+ "translation_coverage": "Zakres tłumaczeń",
2494
+ "coverage_by_file": "Pokrycie według pliku",
2495
+ "file_coverage_stats": "Statystyki zasięgu plików",
2496
+ "hardcoded_console_statements": "Zakodowane na stałe instrukcje konsoli",
2497
+ "file_header": "Nagłówek pliku",
2498
+ "line_statement": "Oświadczenie liniowe",
2499
+ "suggested_key": "Sugerowany klucz",
2500
+ "suggested_replacement": "Sugerowana wymiana",
2501
+ "recommendations": "Zalecenia",
2502
+ "recommendation_1": "Zalecenie 1",
2503
+ "recommendation_2": "Zalecenie 2",
2504
+ "recommendation_3": "Zalecenie 3",
2505
+ "recommendation_4": "Zalecenie 4",
2506
+ "translation_keys_to_add": "Klucze tłumaczeń do dodania",
2507
+ "add_keys_instruction": "Dodaj instrukcję kluczy",
2508
+ "perfect_translation_coverage": "Doskonałe pokrycie tłumaczeń",
2509
+ "all_statements_using_translation": "Wszystkie stwierdzenia przy użyciu tłumaczenia",
2510
+ "i18n_console_translation_checker": "Kontroler tłumaczenia konsoli I18n",
2511
+ "script_description_line1": "Linia opisu skryptu 1",
2512
+ "script_description_line2": "Linia opisu skryptu 2",
2513
+ "analysis_completed_in_duration": "Analiza ukończona w czasie trwania",
2514
+ "report_saved_to_path": "Raport zapisany w ścieżce",
2515
+ "found_hardcoded_messages": "Znaleziono wiadomości zakodowane na stałe",
2516
+ "all_console_messages_use_translation": "Wszystkie komunikaty konsoli korzystają z tłumaczenia"
2517
+ },
2518
+ "exportTranslations": {
2519
+ "createdDirectory": "Utworzony katalog",
2520
+ "foundFiles": "Znaleziono pliki",
2521
+ "createdTemplate": "Utworzony szablon",
2522
+ "skippedExisting": "Pominięte istniejące",
2523
+ "title": "Tytuł",
2524
+ "creatingTemplates": "Tworzenie szablonów",
2525
+ "summary": "Streszczenie",
2526
+ "summaryLanguages": "Podsumowanie Języki",
2527
+ "summaryFilesPerLanguage": "Pliki podsumowania według języka",
2528
+ "summaryTotalFiles": "Podsumowanie wszystkich plików",
2529
+ "success": "Sukces",
2530
+ "location": "Lokalizacja",
2531
+ "nextSteps": "Następne kroki"
2532
+ },
2533
+ "dashboard": {
2534
+ "title": "Tytuł",
2535
+ "overview": "Przegląd"
2536
+ },
2537
+ "auth": {
2538
+ "title": "Tytuł",
2539
+ "email": "E-mail",
2540
+ "password": "Hasło",
2541
+ "signIn": "Zalogować się",
2542
+ "forgotPassword": "Zapomniałem hasła",
2543
+ "signUp": "Zapisać się"
2544
+ },
2545
+ "checkUsage": {
2546
+ "usage_analysis_failed": "Analiza użycia nie powiodła się."
2547
+ },
2548
+ "completeTranslations": {
2549
+ "warning_could_not_parse_filepa": "Ostrzeżenie: nie można przeanalizować ścieżki pliku: {filePath}"
2550
+ },
2551
+ "pressEnterToContinue": "Naciśnij Enter, aby kontynuować...",
2552
+ "status": {
2553
+ "exitingCompleted": "Przebieg pracy ukończony. Wychodzę..."
2554
+ },
2555
+ "prompt": {
2556
+ "yesTokens": [
2557
+ "y",
2558
+ "Tak"
2559
+ ],
2560
+ "noTokens": [
2561
+ "N",
2562
+ "NIE"
2563
+ ]
2564
+ },
2565
+ "translate": {
2566
+ "title": "Automatyczne tłumaczenie",
2567
+ "sourceDirectory": {
2568
+ "title": "Źródłowy katalog ustawień regionalnych",
2569
+ "currentProject": "Aktualny projekt: {dir}",
2570
+ "accepted": "Zaakceptowano: ścieżka bezwzględna lub ścieżka względem bieżącego projektu.",
2571
+ "localeRootExample": "./locales (następnie wybierz język źródłowy: en)",
2572
+ "folderHint": "Folder może zawierać bezpośrednio pliki JSON lub foldery językowe, takie jak ./locales/en.",
2573
+ "defaultNotFound": "Nie znaleziono domyślnego katalogu: {dir}",
2574
+ "enterExisting": "Wprowadź istniejący katalog z plikami ustawień regionalnych JSON.",
2575
+ "directoryNotFound": "Nie znaleziono katalogu: {dir}",
2576
+ "enterFolderExample": "Wprowadź istniejący folder, na przykład ./locales/en.",
2577
+ "notDirectory": "To nie jest katalog: {dir}",
2578
+ "using": "Korzystanie z katalogu źródłowego: {dir}"
2579
+ },
2580
+ "targetLanguages": {
2581
+ "title": "Języki docelowe",
2582
+ "allConfigured": "a) Wszystkie skonfigurowane języki docelowe: {languages}",
2583
+ "noneConfigured": "a) Wszystkie skonfigurowane języki docelowe: brak skonfigurowanych",
2584
+ "enterCodes": "Lub wprowadź jeden lub więcej kodów języka oddzielonych przecinkami/spacjami.",
2585
+ "sourceExcluded": "Język źródłowy \"{lang}\" zostanie automatycznie wykluczone.",
2586
+ "noneSelected": "Nie wybrano prawidłowych języków docelowych. Przerywanie.",
2587
+ "configureHint": "Skonfiguruj domyślne języki w .i18ntk-config lub wprowadź ręcznie kody docelowe.",
2588
+ "selected": "Języki docelowe: {languages}"
2589
+ },
2590
+ "protection": {
2591
+ "title": "Chronione terminy i klucze"
2592
+ },
2593
+ "common": {
2594
+ "default": "Domyślny: {value}",
2595
+ "examples": "Przykłady:",
2596
+ "exampleValue": "Przykład: {value}",
2597
+ "examplesInline": "Przykłady: {examples}",
2598
+ "pressEnterDefault": "Naciśnij Enter, aby użyć wartości domyślnej.",
2599
+ "usingDefault": "Używanie domyślnego: {value}"
2600
+ },
2601
+ "sourceLanguage": {
2602
+ "title": "Kod języka źródłowego",
2603
+ "hint": "Powinno to pasować do języka źródłowych wartości JSON.",
2604
+ "using": "Używanie języka źródłowego: {lang}",
2605
+ "invalid": "Nieprawidłowy kod języka. Użyj co najmniej 2 znaków (np. en, de, fr)."
2606
+ },
2607
+ "files": {
2608
+ "title": "Które pliki przetłumaczyć?",
2609
+ "all": "a) Wszystkie pliki JSON ({count}: {files})",
2610
+ "choicePrompt": "Wybór [a/wszystko lub numer pliku]:",
2611
+ "invalidChoice": "Nieprawidłowy wybór. Przerywanie."
2612
+ },
2613
+ "dryRun": {
2614
+ "previewFor": "Podgląd próbny dla „{lang}\"..."
2615
+ },
2616
+ "confirm": {
2617
+ "proceed": "Kontynuować faktyczne tłumaczenie?",
2618
+ "yesNoPrompt": "[y]es / [n]o:",
2619
+ "cancelled": "Tłumaczenie anulowane."
2620
+ },
2621
+ "run": {
2622
+ "translatingTo": "Tłumaczenie na „{lang}\"...",
2623
+ "failedFor": "Nie udało się dla „{lang}\": {error}"
2624
+ },
2625
+ "summary": {
2626
+ "title": "Streszczenie:",
2627
+ "complete": "Tłumaczenie zakończone!"
2628
+ },
2629
+ "nonInteractive": {
2630
+ "useDirect": "Tryb nieinteraktywny. Zamiast tego użyj bezpośredniego interfejsu CLI:"
2631
+ },
2632
+ "errors": {
2633
+ "sourceDirectoryNotFound": "Nie znaleziono źródłowego katalogu ustawień regionalnych: {dir}"
2634
+ }
2635
+ }
2636
+ }