i18ntk
Version:
i18n Tool Kit - Zero-dependency internationalization toolkit for setup, scanning, analysis, validation, auto translation, fixing, reporting, and runtime translation loading.
780 lines • 155 kB
JSON
{
"meta": {
"version": "4.7.0",
"updated": "2026-07-07",
"lang": "sv"
},
"common": {
"welcome": "Välkomna",
"hello": "Hej",
"goodbye": "Adjö",
"yes": "Ja",
"no": "Inga",
"save": "Spara",
"cancel": "Avboka",
"delete": "Radera",
"edit": "Redigera",
"loading": "Belastning...",
"offlineTitle": "Du är offline",
"offlineMessage": "Kontrollera din internetanslutning",
"tryReconnect": "Försök att återansluta",
"logout": "Utloggning",
"login": "Inloggning",
"amount": "Belopp",
"success": "Framgång",
"error": "Fel",
"warning": "Varning",
"info": "Info:",
"debug": "Felsök",
"progress": "Framsteg:",
"remaining": "Återstående:",
"total": "Total:",
"completed": "7. Slutfört framgångsrikt!",
"missing": "Saknad",
"partial": "Partiell",
"sameAsSource": "Samma som källa:",
"formatMismatch": "Format som inte matchar:",
"typeMismatch": "Typ som inte matchar:",
"structureMismatch": "Strukturfel matchar:",
"invalidOption": "Ogiltigt alternativ",
"separator": "==================================================",
"initializationFailed": "❌ Initieringen misslyckades: {error}",
"stackTrace": "Stackspår: {stack}",
"pressEnterToContinue": "Tryck på Enter för att fortsätta...",
"pressEnterToReturn": "Tryck på Enter för att återgå till huvudmenyn...",
"stepCompleted": "Steg '{stepName}' slutfört.",
"stepFailed": "Steg '{stepName}' misslyckades.",
"runningStep": "Löpningssteg: {stepName}",
"command": "Kommando: {command}",
"startingWorkflow": "Startar arbetsflöde...",
"workflowCompleted": "Arbetsflödet avslutat.",
"checkReports": "Kontrollera rapporter för detaljer.",
"errorExecutingCommand": "Fel vid exekvering av kommando: {error}",
"genericError": "❌ Fel: {error}",
"errors": {
"errors": "Fel:",
"genericError": "❌ Fel: {error}",
"initializationFailed": "❌ Initieringen misslyckades: {error}",
"initializationCancelled": "❌ Initiering avbröts av användaren.",
"translationKeyNotFound": "Översättningsnyckel hittades inte: {key}",
"sourceDirectoryNotFound": "Källkatalogen hittades inte: {directory}",
"configLoadingFailed": "Konfigurationsladdningen misslyckades",
"invalidSourceDirectory": "Ogiltig källkatalog: {directory}",
"securityViolation": "Säkerhetsbrott upptäckt",
"authenticationFailed": "Autentiseringen misslyckades",
"sourceEqualsI18nWarn": "⚠️ sourceDir är lika med i18nDir ({sourceDir}). Faller tillbaka till {fallback} för källsökning."
},
"errorGeneratingStatusSummary": "Fel vid generering av statusöversikt: {error}",
"errorRunningDebugTool": "Fel vid körning av felsökningsverktyget{displayName}': {error}",
"errorReadingDebugLogs": "Fel vid läsning av felsökningsloggar: {error}",
"errorAnalyzingLogFile": "Fel vid analys av loggfil: {error}",
"errorAnalyzingTranslationKeys": "Fel vid analys av översättningsnycklar: {error}",
"errorAnalyzingTranslationCompleteness": "Det gick inte att analysera översättningens fullständighet: {error}",
"analyzingTranslationCompleteness": "Analyserar översättningens fullständighet på alla språk...",
"i18nDirectoryNotFound": "⚠️ i18n-katalogen hittades inte: {i18nDir}",
"translationCompletenessAnalysisFailed": "⚠️ Analys av översättningens fullständighet misslyckades: {error}",
"failedToAnalyzeLanguage": "❌ Det gick inte att analysera språket {language}: {error}",
"errorReadingI18nDirectory": "❌ Fel vid läsning av i18n-katalogen:",
"languageCompletenessTitle": "📈 ÖVERSÄTTNINGSFULLSTÄNDIGHET PÅ SPRÅK",
"errorAnalyzingTranslationFormat": "Fel vid analys av översättningsformat: {error}",
"errorAnalyzingTranslationType": "Fel vid analys av översättningstyp: {error}",
"errorAnalyzingTranslationStructure": "Fel vid analys av översättningsstruktur: {error}",
"errorAnalyzingTranslationFormatMismatch": "Fel vid analys av översättningsformat som inte matchar: {error}",
"errorAnalyzingTranslationTypeMismatch": "Fel vid analys av översättningstyp som inte matchar: {error}",
"errorAnalyzingTranslationStructureMismatch": "Det gick inte att analysera översättningsstruktur som inte matchar: {error}",
"errorAnalyzingTranslationSameAsSource": "Fel vid analys av översättning samma som källa: {error}",
"title": "Status",
"nextStep1": "1. Kontrollera användningsanalys:",
"nextStep2": "2. Validera översättningar:",
"nextStep3": "3. Analysera fullständighet:",
"nextStep4": "4. Komplettera saknade översättningar:",
"nextStep5": "5. Skapa en sammanfattande rapport:",
"nextStep6": "6. Granska och slutför översättningar:",
"generating": "Genererar sammanfattande rapport...",
"review": "Granskar översättningar...",
"finalizing": "Slutför översättningar...",
"finalized": "Slutfördes framgångsrikt!",
"warnings": "Varningar:",
"completedKeys": "Färdiga nycklar:",
"missingKeys": "Saknade nycklar:",
"partialKeys": "Delvis nycklar:",
"home": "Hem",
"settings": "Inställningar",
"startingSettings": "🎛️ Startinställningar CLI...",
"confirm": "Bekräfta",
"errorExiting": "Fel vid avslutandet."
},
"errors": {
"invalidOption": "❌ Ogiltigt alternativ: {option}. Försök igen.",
"readlineClosed": "Ingångsströmmen är stängd; körs i icke-interaktivt läge.",
"noPackageJson": "Inget package.json hittades. Kan inte automatiskt upptäcka i18n-ramverket.",
"noI18nDir": "Ingen i18n-katalog hittades i projektets rot.",
"noI18nConfig": "Ingen i18n-konfigurationsfil hittades i projektets rot.",
"errorReadingDebugLogs": "Fel vid läsning av felsökningsloggar: {error}"
},
"scanner": {
"help_message": "I18n Text Scanner Användning: nod i18ntk-scanner.js [options] Alternativ: --source-dir <dir> Källkatalog att skanna (standard: ./src) --output <file> Utdatafil för skanningsresultat (standard: ./i18ntk-scanner-report.json) --framework <name> Ramverk att rikta in sig på (reagera, vue, vinkel, vanilj) --mönster <patterns> Anpassade regexmönster (kommaseparerade) --include-tests Inkludera testfiler i scan --exclude-dirs <dirs> Kataloger att exkludera (kommaseparerade) --help Visa denna hjälp Exempel: nod i18ntk-scanner.js --source-dir=./src --framework=reagera nod i18ntk-scanner.js --patterns 'console.log\\((.*?)\\)' --include-tests nod iscanner.jtsk --output=./scan-results.json",
"help_options": {
"source_dir": "Källkatalog för att söka efter i18n-problem",
"output_dir": "Katalog för skanningsrapporter och resultat",
"framework": "Målramverk (reagera, vue, vinkel, vanilj)",
"patterns": "Anpassade regexmönster för textidentifiering",
"exclude": "Filmönster som ska uteslutas från skanning",
"output_report": "Skapa en detaljerad skanningsrapport",
"min_length": "Minsta textlängd att överväga för översättning",
"max_length": "Maximal textlängd att överväga för översättning",
"include_tests": "Inkludera testfiler i skanningsprocessen"
},
"starting": "🔍 Startar textskanner för ramverk: {framework}",
"sourceDirectory": "📁 Skanning av katalog: {sourceDir}",
"frameworkDetected": "🎯 Upptäckt ram: {framework}",
"scanningFiles": "📊 Skanning {fileCount} filer...",
"foundTexts": "📝 Hittade {textCount} texter som kräver översättning",
"generatingReport": "📊 Genererar detaljerad rapport...",
"reportSaved": "💾 Skanningsrapport sparad till: {reportPath}",
"noTextsFound": "✅ Inga hårdkodade engelska texter hittades",
"scanComplete": "🎉 Skanningen slutförd framgångsrikt!",
"analysisTitle": "🔍 ÖVERSÄTTNING SKANNA ANALYS",
"fileSummary": "📄 {file}: {count} texter hittade",
"textLocation": "📍 Linje {line}: {text}",
"foundText": "Hittade {count} potentiella hårdkodade textinstanser",
"context": "📝 Sammanhang: {context}",
"severity": "⚠️ Allvarlighetsgrad: {severity}",
"recommendation": "💡 Rekommendation: {recommendation}",
"welcome": {
"title": "🎯 Välkommen till textskannern!",
"description": "Det här verktyget skannar din källkod efter hårdkodad engelsk text som kan behöva översättas."
},
"frameworkPrompt": {
"title": "🎯 Välj Framework",
"available": "Tillgängliga ramverk: react, vue, angular, vanilj",
"description": "Ange ramtypen (eller tryck på Enter för automatisk upptäckt):",
"input": "Ram:"
},
"directoryPrompt": {
"title": "📁 Välj källkatalog",
"current": "Aktuell katalog: {dir}",
"description": "Gå in i katalogen för att skanna (eller tryck på Enter för aktuell):",
"input": "Katalog:"
},
"options": {
"includeTests": "Inkludera testfiler?",
"excludeDirs": "Kataloger att utesluta (kommaseparerade):",
"customPatterns": "Anpassade mönster att skanna efter (regex):"
},
"reportGenerated": "Skanningsrapport genererad: {path}"
},
"fixer": {
"help_message": "I18n Translation Fixer Användning: nod i18ntk-fixer.js [options] Alternativ: --source-dir <dir> Källkatalog att skanna (standard: ./locales) --languages <langs> Kommaseparerad lista över språk för att fixa --markers <markers> Kommaseparerade markörer att behandla som oöversatta --no-backup Hoppa över automatisk säkerhetskopiering --help Visa denna hjälp Exempel: node i18ntk-fixer.js --languages de,fr nod i18ntk-fixer.js --source-dir=./locales --markers NOT_TRANSLATED nod i18ntk-fixer.js ---no-fixerback.",
"starting": "🚀 Börjar fixa översättning för språk: {languages}",
"sourceDirectory": "📁 Källkatalog: {sourceDir}",
"sourceLanguage": "🔤 Källspråk: {sourceLanguage}",
"markers": "🏷️ Markörer att fixa: {markers}",
"scanningLanguage": "📊 Skanning {language}...",
"noLanguages": "❌ Inga språk specificerade för fixering.",
"allComplete": "🎉 Alla översättningar är redan klara!",
"fullReportSaved": "📊 Hela rapporten sparad till: {reportPath}",
"reviewReport": "Vänligen granska rapporten innan du fortsätter.",
"backupCreated": "💾 Säkerhetskopiering skapad framgångsrikt.",
"applyingFixes": "🔄 Tillämpar korrigeringar...",
"fixingComplete": "✅ Översättningsfixering klar!",
"operationCancelled": "❌ Operation avbruten av användaren.",
"analysisTitle": "🔍 ÖVERSÄTTNING FIXANDE ANALYS",
"analysisSeparator": "==================================================",
"totalIssues": "Totalt antal problem som hittades: {totalIssues}",
"missingTranslations": "Saknade översättningar: {missing}",
"placeholderTranslations": "Platshållaröversättningar: {placeholder}",
"noIssues": "✅ Inga problem hittades. Alla översättningar är färdiga.",
"detailedIssues": "📋 DETAILED ISSUES:",
"detailedSeparator": "--------------------------------------------------",
"filePath": "📄 {file} → {path}",
"missingKey": "❌ SAKNAS: {source} → {new}",
"placeholderKey": "⚠️ PLATSHÅLLARE: \"{target}\" → \"{new}\"",
"moreIssues": "... och {count} fler frågor. Kontrollera rapportfilen för fullständig information.",
"confirmationTitle": "🤔 Vill du fortsätta med dessa korrigeringar?",
"confirmationOptions": "Alternativ:",
"optionYes": "y - Ja, tillämpa alla korrigeringar",
"optionNo": "n - Nej, avbryt operationen",
"optionShow": "s - Visa detaljerade problem",
"choicePrompt": "Ditt val (y/n/s):",
"nonInteractiveMode": "⚡ Icke-interaktivt läge upptäckts - tillämpar korrigeringar automatiskt...",
"reportGenerated": "📊 Fixer rapport genererad: {path}",
"summary": "Fixer sammanfattning:",
"welcome": {
"title": "🎯 Välkommen till Translation Fixer!",
"description": "Det här verktyget hjälper dig att fixa trasiga översättningar och platshållare över dina språkfiler."
},
"markerPrompt": {
"title": "🏷️ Konfigurera platshållarmarkörer",
"description": "Ange markörerna som indikerar oöversatt text (kommaseparerad):",
"currentDefaults": "Standardmarkörer: {markers}",
"input": "Markörer (eller tryck på Enter för standardinställningar):"
},
"languagePrompt": {
"title": "🌍 Välj språk att fixa",
"available": "Tillgängliga språk: {languages}",
"description": "Ange språk att fixa (kommaseparerade) eller tryck på Retur för alla:",
"input": "Språk:",
"noLanguages": "Inga språk hittades att fixa."
},
"directoryPrompt": {
"title": "📁 Välj Katalog",
"current": "Aktuell katalog: {dir}",
"description": "Ange katalogen som innehåller dina språkfiler (eller tryck på Enter för aktuell):",
"input": "Katalog:"
},
"backupLocation": "Säkerhetskopieringsplats: {dir}",
"completed": "Fixering klar.",
"creatingBackup": "Skapar backup i {dir}...",
"dryRunMode": "Torrkörningsläge: {mode}",
"error": "Fixer misslyckades: {error}",
"fixing": "Fixering {language}...",
"foundLanguages": "Hittade {count} språk: {languages}",
"languageFixed": "{language}: fixat {fixed} nyckel(ar), överhoppad {skipped}.",
"running": "Kör översättningsfixer...",
"totalFixed": "Totalt fast: {count}"
},
"autorun": {
"stepAnalyzeTranslations": "Analysera översättningar",
"stepCompletedWithIcon": "✅ Avslutat: {stepName}",
"stepValidateTranslations": "Validera översättningar",
"stepRunning": "▶️ Steg {stepNumber}/{totalSteps}: {stepName}",
"separator": "==================================================",
"stepFailed": "❌ Misslyckades: {stepName}",
"errorLabel": "Fel",
"autoRunScriptTitle": "🧪 Autokör arbetsflöde",
"usageTitle": "Användande",
"runAllSteps": "Kör: nod i18ntk-autorun.js",
"configureSettingsFirst": "Config: i18ntk-config.json eller CLI-flaggor",
"runSpecificSteps": "Använd --steps=1,3 eller --list för att visa steg",
"showHelp": "--hjälp för mer info",
"examplesTitle": "Exempel",
"configExample": "nod i18ntk-autorun.js --ui-language=zh",
"stepsExample1": "nod i18ntk-autorun.js --steps=analysera, validera",
"stepsExample2": "nod i18ntk-autorun.js --list",
"customSettingsConfiguration": "Anpassade autoruninställningar",
"availableSteps": "Tillgängliga steg",
"startingAutoRunWorkflow": "🚀 Startar Auto-Run Workflow...",
"workflowIncludesSteps": "Arbetsflöde inkluderar {count} steg:",
"missingRequiredFile": "En obligatorisk fil saknas: {file}",
"workflowStopped": "Arbetsflödet stoppades på grund av ett fel.",
"workflowCompleted": "🎉 Arbetsflödet avslutat!",
"successfulSteps": "Framgångsrika steg: {count}",
"failedSteps": "Misslyckade steg: {count}",
"stepInitializeProject": "Initiera projektet",
"stepCheckUsage": "Kontrollera nyckelanvändningen",
"stepGenerateSummary": "Skapa sammanfattande rapport",
"runInitializationFirst": "Kör initiering först.",
"initializationCheckPassed": "Initieringskontrollen godkänd.",
"runningStep": "Löpningssteg: {stepName}",
"commandLabel": "Kommando: {command}",
"stepCompletedWithTime": "Steg '{stepName}' slutfört i {duration}ms.",
"stepCompleted": "Steg '{stepName}' slutfört.",
"stepFailedWithError": "Steg '{stepName}' misslyckades med fel: {error}",
"requiredStepFailed": "Det obligatoriska steget misslyckades. Stoppar arbetsflödet.",
"optionalStepFailed": "Valfritt steg misslyckades. Fortsatt arbetsflöde.",
"stepRequired": "(Nödvändig)",
"stepOptional": "(Frivillig)",
"startingExecution": "Börjar köra...",
"pressEnterToContinue": "Tryck på Enter för att fortsätta...",
"runningSelectedSteps": "Kör valda steg...",
"invalidStepNumber": "Ogiltigt stegnummer: {stepNum}",
"executionReport": "Utföranderapport:",
"requiredFailedSteps": "Nödvändiga steg misslyckades: {count}",
"stepDetails": "Stegdetaljer:",
"reportSavedTo": "Rapport sparad till: {path}",
"overallStatusSuccess": "SUCCESS",
"overallStatusFailed": "FAILED",
"overallStatus": "Övergripande status: {status}",
"pressEnterForDefaults": "Tryck på Enter för att använda standardinställningarna för valfri prompt.",
"sourceDirPrompt": "Ange källkatalog (standard: {default}):",
"sourceLangPrompt": "Ange källspråk (standard: {default}):",
"targetLangsPrompt": "Ange målspråk (kommaseparerade, standard: {default}):",
"translationMarkerPrompt": "Ange översättningsmarkör (standard: {default}):",
"outputDirPrompt": "Ange utdatakatalog för rapporter (standard: {default}):",
"settingsUpdatedSuccessfully": "Inställningarna har uppdaterats!",
"errorConfiguringSettings": "Fel vid konfigurering av inställningar: {error}",
"configurationComplete": "Konfigurationen är klar.",
"runAutoRunCommand": "Nu kan du köra kommandot auto-run.",
"configurationFailed": "Konfigurationen misslyckades: {error}",
"noValidStepNumbers": "Inga giltiga stegnummer har angetts.",
"autoRunFailed": "Automatisk körning misslyckades: {error}",
"stepCompleteTranslations": "Kompletta översättningar",
"stepAnalyzeSizing": "Analysera storlek",
"stepCompletedIcon": "✅",
"stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Steg '{stepName}'springer...",
"stepFailedIcon": "❌",
"translationLoadWarning": "Varning: Kunde inte ladda {lang} översättningar",
"configReadError": "Fel vid läsning {file}"
},
"analyze": {
"help_message": "I18n Translation Analyzer Användning: nod i18ntk-analyze.js [options] Alternativ: --source-dir <dir> Källkatalog att skanna (standard: ./src) --i18n-dir <dir> I18n-katalog (standard: ./src/locales) --output-report Generera detaljerad rapport --output-dir <dir> Utdatakatalog för rapporter (standard: ./reports) --help Visa den här hjälpen Exempel: nod i18ntk-analyze.js --output-report nod i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales nod i18ntk-analyze.js --isreport-utmatning.",
"source_directory": "📁 Källkatalog: {sourceDir}",
"i18n_directory": "🌐 I18n-katalog: {i18nDir}",
"loading_translation_files": "📋 Laddar översättningsfiler...",
"sourceDirectoryLabel": "📁 Källkatalog: {sourceDir}",
"sourceLanguageLabel": "🌍 Källspråk: {sourceLanguage}",
"strictModeLabel": "⚙️ Strikt läge: {mode}",
"found_translation_files_count": "✅ Hittade {count} översättningsfiler",
"analyzing_translations": "🔍 Analyserar översättningar...",
"analysis_completed_successfully": "🎉 Analys slutförd framgångsrikt!",
"analysis_results": "📊 ANALYSIS RESULTS",
"language_analysis_stats": "{language}: {translatedKeys}/{totalKeys} ({percentage}% översatta)",
"sample_missing_keys": "Exempel på saknade nycklar:",
"missing_key": "- {key}",
"and_more_missing": "...och {count} mer.",
"sample_unused_keys": "Exempel på oanvända nycklar:",
"unused_key": "- {key}",
"and_more_unused": "...och {count} mer.",
"recommendations": "📋 REKOMMENDATIONER",
"add_missing_translations": "💡 Lägg till saknade översättningar för att förbättra täckningen.",
"remove_unused_translations": "💡 Ta bort oanvända översättningar för att hålla ditt projekt rent.",
"next_steps": "📋 NEXT STEPS",
"review_analysis_results": "1. Granska analysresultaten i konsolen eller den genererade rapporten.",
"run_with_output_report": "2. Kör med --output-report för detaljerad rapport.",
"add_or_remove_translations": "3. Lägg till saknade översättningar eller ta bort oanvända.",
"rerun_analysis": "4. Kör analys igen för att verifiera förbättringar.",
"analysis_summary": "📊 ANALYSIS SUMMARY",
"source_files_scanned": "Skannade källfiler: {fileCount}",
"translation_files_checked": "Översättningsfiler kontrollerade: {translationFileCount}",
"total_keys": "Totalt antal nycklar: {totalKeys}",
"translated_keys": "Översatta nycklar: {translatedKeys}",
"missing_keys": "Saknade nycklar: {missingKeys}",
"unused_keys": "Oanvända nycklar: {unusedKeys}",
"translation_coverage": "Översättningstäckning: {coverage}%",
"analysis_passed_for_language": "✅ Analys godkänd {language}",
"analysis_failed_for_language": "❌ Analys misslyckades för {language} ({missingKeys} saknad, {unusedKeys} oanvänd)",
"starting": "🔍 Startar översättningsanalys...",
"foundLanguages": "📋 Hittade {count} Språk att analysera: {languages}",
"analyzing": "🔄 Analyserar {language}...",
"reportTitle": "📊 ÖVERSÄTTNINGSANALYS-RAPPORT",
"generated": "Genererad: {timestamp}",
"status": "Status: {translated}/{total} nycklar ({percentage}% översatta)",
"filesAnalyzed": "Filer analyserade: {analyzed}/{total}",
"keysNeedingTranslation": "Nycklar som behöver översättas: {count}",
"fileBreakdown": "📋 FILUPPLYSNING",
"error": "Fel",
"completed": "✅ Analys genomförd för {language}",
"progress": "📊 Övergripande framsteg: {translated}/{total} språk som bearbetas",
"reportSaved": "Rapport sparad: {reportPath}",
"summary": "📊 ANALYSIS SUMMARY",
"finished": "✅ Analys slutförd framgångsrikt!",
"statusFileMissing": "❌ Översättningsfil saknas",
"sourceKeys": "📊 Källnycklar: {count}",
"translation": "📊 Översättning: {translated}/{total} ({percentage}%)",
"structure": "🗂️ Struktur: {status}",
"consistent": "Konsekvent",
"inconsistent": "Inkonsekvent",
"missingKeys": "Saknade nycklar: {count}",
"extraKeys": "Extra nycklar: {count}",
"issues": "⚠️ Hittade problem: {count}",
"issueType": {
"not_translated": "Ej översatt: {count}",
"empty_value": "Tomma värden: {count}",
"partial_translation": "Partiella översättningar: {count}",
"format_mismatch": "Format som inte matchar: {count}",
"type_mismatch": "Typ som inte matchar: {count}",
"structure_mismatch": "Strukturfel matchar: {count}",
"same_as_source": "Samma som källa: {count}"
},
"keysToTranslate": "📋Nycklar att översätta",
"key": "Nyckel",
"english": "engelska",
"needsTranslation": "BEHÖVER ÖVERSÄTTNING",
"andMoreKeys": "...och {count} fler nycklar.",
"noLanguages": "⚠️ Inga målspråk hittades.",
"languageStats": "{language}: {percentage}% klar ({translated}/{total} nycklar)",
"invalidReportFilePath": "Ogiltig sökväg till rapportfilen",
"failedToWriteReportFile": "Det gick inte att skriva rapportfilen säkert"
},
"complete": {
"configLoadedSuccessfully": "Konfigurationen har lästs in",
"configLoadingFailed": "Konfigurationsladdningen misslyckades",
"sourceLanguageNotFound": "Källspråkskatalogen hittades inte: {sourceLanguage}",
"couldNotParseTarget": "Kunde inte analysera målfilen: {file}",
"couldNotParseSource": "Kunde inte analysera källfilen: {file}",
"reportGenerated": "Rapport genererad: {path}",
"generateReportPrompt": "Vill du ha en rapport genererad?",
"title": "🌍 I18NTK ÖVERSÄTTNING SLUTFÖRD",
"separator": "============================================================",
"sourceDir": "📁 Källkatalog: {sourceDir}",
"sourceLanguage": "🌐 Källspråk: {sourceLanguage}",
"dryRunMode": "🧪 Torrkörningsläge - inga ändringar kommer att göras",
"languages": "🌍 Tillgängliga språk: {languages}",
"addingMissingKeys": "➕ Lägger till saknade nycklar till översättningsfiler...",
"processing": "🔄 Bearbetning {language}...",
"addedKeys": "✅ Tillagd {count} saknade nycklar",
"noChangesNeeded": "✅ Inga ändringar behövs för {language}",
"summaryTitle": "📊 SAMMANFATTNING AV SLUTFÖRANDE",
"totalChanges": "📝 Totala ändringar: {totalChanges}",
"languagesProcessed": "🌍 Behandlade språk: {languagesProcessed}",
"missingKeysAdded": "➕ Saknade nycklar tillagda: {missingKeysAdded}",
"nextStepsTitle": "📋 NEXT STEPS",
"nextStep1": "1. Kör användningsanalys:",
"nextStep2": "nod i18ntk-usage.js --output-report",
"nextStep3": "2. Validera översättningar:",
"nextStep4": "nod i18ntk-validate.js",
"nextStep5": "3. Analysera mönster:",
"nextStep6": "nod i18ntk-analyze.js",
"allKeysAvailable": "🎉 Alla översättningsnycklar är nu tillgängliga!",
"runWithoutDryRun": "💡 Kör utan --torkkör för att tillämpa ändringar",
"deletingOldReport": "🗑️ Raderar gammal rapport...",
"generatingFreshAnalysis": "📊 Genererar färsk användningsanalys...",
"couldNotGenerate": "❌ Kunde inte generera användningsanalys",
"reportNotFound": "📋 Användningsrapport hittades inte. Använder vanliga nycklar...",
"foundMissingKeys": "📋 Hittade {count} saknade nycklar från användningsanalys",
"couldNotParse": "❌ Det gick inte att analysera användningsrapporten. Använder vanliga nycklar...",
"errorDuringCompletion": "❌ Fel under slutförandet: {error}",
"fatalError": "❌ Allvarligt fel: {error}",
"configurationValidationFailed": "Konfigurationsvalideringen misslyckades: obligatoriska fält saknas"
},
"sizing": {
"separator": "================================================================================",
"lineSeparator": "--------------------------------------------------------------------------------",
"analysisStats": "{stats}",
"sourceDirectoryLabel": "📁 Källkatalog: {sourceDir}",
"sourceLanguageLabel": "🌍 Källspråk: {sourceLanguage}",
"strictModeLabel": "⚙️ Strikt läge: {mode}",
"invalidSourceDirectoryError": "Ogiltig sökväg till källkatalogen: {sourceDir}",
"sourceDirectoryNotFoundError": "Källkatalogen hittades inte: {sourceDir}",
"invalidOutputDirectoryError": "Ogiltig sökväg för utdatakatalog: {outputDir}",
"invalidReportFileError": "Ogiltig sökväg till rapportfilen",
"problematic_keys": "Problematiska nycklar: {problematicKeys}",
"problematicKeysLabel": "Problematiska nycklar: {problematicKeys}",
"long_translations": "Långa översättningar: {longTranslations}",
"failedToSaveReportError": "Det gick inte att spara rapporten säkert",
"invalidCsvFileError": "Ogiltig CSV-filsökväg",
"failedToSaveCsvError": "Det gick inte att spara CSV-rapporten säkert",
"fatalError": "❌ Storleksanalys misslyckades: {error}",
"starting_i18n_sizing_analysis": "Startar i18n storleksanalys...",
"source_directory": "Källkatalog: {sourceDir}",
"found_languages": "Hittade språk: {languages}",
"analyzing_file_sizes": "Analyserar filstorlekar...",
"analyzing_translation_content": "Analyserar översättningsinnehåll...",
"generating_size_comparisons": "Genererar storleksjämförelser...",
"no_languages_found_for_comparison": "Inga språk hittades för jämförelse",
"sizing_analysis_results": "I18n Resultat av storleksanalys",
"file_sizes_title": "Filstorlekar",
"file_sizes_header": "Språkstorlek (KB) Rader Tecken",
"file_size_row": "{lang} {sizeKB} {lines} {characters}",
"language_statistics_title": "Språkstatistik",
"language_stats_header": "Språktangenter Tecken Genomsnittlig längd Maxlängd Tom Lång",
"language_stats_row": "{lang} {totalKeys} {totalCharacters} {averageKeyLength} {maxKeyLength} {emptyKeys} {longKeys}",
"size_variations_title": "Storleksvariationer",
"size_variations_header": "Språk Char Diff % Diff Problematiskt",
"size_variation_row": "{lang} {characterDifference} {percentageDifference}% {problematic}",
"problematic_yes": "Ja",
"problematic_no": "Inga",
"recommendations_title": "Rekommendationer",
"recommendation_item": "{index}. {recommendation}",
"problematic_key_detail": "{index}. Nyckel: '{key}' - Variationer: {variations}",
"generating_detailed_report": "Genererar detaljerad rapport...",
"keysHaveSignificantSizeVariations": "nycklar har betydande storleksvariationer",
"longTranslationsDetected": "${lang} har ${data.longKeys} översättningar längre än 100 tecken - överväg att dela upp dem",
"longer": "längre",
"shorter": "kortare",
"review_translations": "Överväg att granska {lang} översättningar - de är {percentageDifference}% {comparison} än baslinjen",
"report_saved_to": "Rapport sparad till: {reportPath}",
"considerReviewingTranslations": "Överväg att granska ${lang} översättningar - de är ${data.percentageDifference}% längre än baslinjen",
"csv_report_saved_to": "CSV-rapport sparad till: {csvPath}",
"human_report_saved": "Läsbar rapport sparad: {reportPath}",
"folder_summary_title": "Mappsammanfattning",
"folder_summary_table_header": "Språk Storlek (KB) Nycklar Genomsnittlig längd Totalt tecken",
"folder_summary_row": "{lang} {sizeKB} {totalKeys} {avgLength} {totalChars}",
"language_comparison_title": "Språkjämförelse",
"language_comparison_row": "{lang}: {diff} tecken ({percent}%) {status}",
"summary_stats": "📊 Sammanfattning: {totalLanguages} språk, {totalKeys} nycklar - Rapporter sparade till {reportPath}",
"detailedKeysDescription": "Visa detaljerad analys på nyckelnivå i konsolen",
"too_many_keys_warning": "⚠️ För många nycklar för att visa i konsolen - kontrollera den detaljerade rapportfilen för fullständig analys",
"no_translation_files_found": "Inga översättningsfiler hittades",
"analysis_completed": "Analys genomförd i {duration}ms",
"analysis_failed": "Analys misslyckades: {errorMessage}",
"starting_analysis": "Startar analys...",
"found_files": "Hittade {count} filer",
"failed_to_parse_language_error": "Det gick inte att analysera {language} översättningar: {errorMessage}",
"recommendations": {
"keys_have_significant_size_variations": "nycklar har betydande storleksvariationer",
"consider_reviewing_translations": "Överväg att granska {lang} översättningar - de är {percentageDifference}% {comparison} än baslinjen",
"long_translations_detected": "{lang} har {longKeys} översättningar längre än {threshold} karaktärer – överväg att bryta ner dem"
},
"detailed_key_analysis_title": "Detaljerad nyckelanalys",
"key_analysis_detail": "{lang}: {length} tecken ({status}) - {translation}",
"key_analysis_header": "Nyckel: {key}",
"status_empty": "tömma",
"status_long": "lång",
"status_ok": "ok"
},
"usage": {
"help_message": "I18n Usage Analyzer Användning: nod i18ntk-usage.js [options] Alternativ: --source-dir <dir> Källkatalog att skanna (standard: ./src) --i18n-dir <dir> I18n-katalog (standard: ./src/locales) --output-report Generera detaljerad rapport --output-dir <dir> Utdatakatalog för rapporter (standard: ./reports) --help Visa den här hjälpen Exempel: nod i18ntk-usage.js --output-report nod i18ntk-usage.js --source-dir=./app --i18n-dir=./locales nod i18ntk-usage.js.=reputation-usage.js.",
"source_directory_thissourcedir": "📁 Källkatalog: {sourceDir}",
"translationCompletenessTitle": "🌍 Översättningens fullständighet:",
"i18n_directory_thisi18ndir": "🌐 I18n-katalog: {i18nDir}",
"failed_to_parse_filename_error": "⚠️ Det gick inte att tolka {fileName}: {errorMessage}",
"analyzing_source_files": "🔍 Analyserar källfiler...",
"found_files_in_source": "📂 Hittade {numFiles} filer i källkatalogen",
"found_thisusedkeyssize_unique_": "🎯 Hittade {usedKeysSize} unika begagnade nycklar",
"total_key_usages_totalkeysfoun": "📊 Totala nyckelanvändningar: {totalKeysFound}",
"loading_available_translation_": "📋 Laddar tillgängliga översättningsnycklar...",
"found_thisavailablekeyssize_av": "✅ Hittade {availableKeysSize} tillgängliga nycklar",
"foundTranslationFiles": "✅ Hittade {count} översättningsfiler",
"errorReadingI18nDirectory": "⚠️ Fel vid läsning av i18n-katalogen: {error}",
"pressEnterToReturnToMenu": "📝 Tryck på Enter för att återgå till huvudmenyn...",
"notTranslatedKeysTotal": "⚠️ Ej översatta nycklar: {total}",
"noSourceFilesFound": "⚠️ Inga källfiler hittades i källkatalogen.",
"reviewNotTranslatedKeys": "💡 Recension ej översatta nycklar",
"analysisCompletedSuccessfully": "🎉 Analys slutförd framgångsrikt!",
"detectedSourceDirectory": "Upptäckt källkatalog: {sourceDir}",
"detectedI18nDirectory": "Upptäckt i18n-katalog: {i18nDir}",
"fileInfo": "📄 {namespace}: {keys} nycklar",
"failedToAnalyzeUsage": "❌ Det gick inte att analysera användning: {error}",
"failedToAnalyzeFile": "❌ Det gick inte att analysera filen: {error}",
"failedToExtractKeys": "❌ Det gick inte att extrahera nycklar från {filePath}: {error}",
"analysisFailedError": "❌ Analys misslyckades: {error}",
"analyzerInitialized": "Analysatorn initierad",
"analyzerInitFailed": "Analysatorinitiering misslyckades: {error}",
"argsParsed": "Argument analyserade",
"processedFiles": "Bearbetas {processedFiles} av {totalFiles} filer.",
"argsParseFailed": "Parsning av argument misslyckades: {error}",
"translationDiscoveryError": "Översättningsupptäcktsfel: {error}",
"fileTraversalError": "Filövergångsfel: {error}",
"sourceEqualsI18nWarn": "{reason}. Användningsanalys kommer inte att skanna språkfiler som källkod.",
"i18nEqualsSourceWarn": "⚠️ I18n-katalogen och källkatalogen är samma. Detta kan orsaka problem med analysen.",
"usageAnalysisFailed": "⚠️ Användningsanalys misslyckades: {error}",
"translationFileParseError": "⚠️ Översättningsfilens analysfel: {error}",
"translationKeysLoadError": "⚠️ Översättningsnycklar laddningsfel: {error}",
"languageCompletenessStats": "🌐 {language}: {translated}/{total} ({completeness}% översatta)",
"missingKeysCount": "⚠️ Saknade nycklar: {count}",
"analyzingTranslationCompleteness": "Analyserar översättningens fullständighet...",
"unusedKeysCount": "Oanvända nycklar: {count}",
"usedKeysCount": "Använda nycklar: {count}",
"availableKeysCount": "Tillgängliga nycklar: {count}",
"analysisResults": "Analysresultat:",
"i18nDirectoryNotFound": "⚠️ I18n-katalogen hittades inte. Kontrollera sökvägen.",
"sourceDirectoryNotFound": "⚠️ Källkatalogen hittades inte: {dir}",
"checkUsage": {
"title": "🔍 I18NTK USAGE ANALYSIS",
"analyzing_source_files": "🔍 Analyserar källfiler...",
"source_directory_thissourcedir": "📁 Källkatalog: {sourceDir}",
"i18n_directory_thisi18ndir": "📁 i18n-katalog: {i18nDir}",
"found_files_in_source": "✅ Hittade {numFiles} filer i källkatalogen",
"no_source_files_found": "⚠️ Inga källfiler hittades i den angivna katalogen",
"processedFiles": "📊 Bearbetad {processedFiles} av {totalFiles} filer",
"failedToProcessFile": "❌ Det gick inte att bearbeta",
"found_thisusedkeyssize_unique_": "🔍 Hittade {usedKeysSize} unika begagnade nycklar",
"total_key_usages_totalkeysfoun": "📊 Totala nyckelanvändningar: {totalKeysFound}",
"loading_available_translation_": "📂 Laddar tillgängliga översättningsnycklar...",
"found_thisavailablekeyssize_av": "✅ Hittade {availableKeysSize} tillgängliga nycklar",
"message": "Analyserar användningen av översättningsnyckeln i hela ditt projekt...",
"usage_analysis_results": "📊 USAGE ANALYSIS RESULTS",
"source_files_scanned_thisfileu": "📁 Skannade källfiler: {fileUsageSize}",
"available_translation_keys_thi": "✅ Tillgängliga översättningsnycklar: {availableKeysSize}",
"used_translation_keys_thisused": "🔍 Använda översättningsnycklar: {usedKeysSize}",
"dynamic_keys_detected_dynamick": "⚡ Dynamiska nycklar upptäckt: {dynamicKeysLength}",
"unused_keys_unusedkeyslength": "🗑️ Oanvända nycklar: {unusedKeysLength}",
"missing_keys_missingkeyslength": "❌ Saknade nycklar: {missingKeysLength}",
"translation_completeness_title": "📈 ÖVERSÄTTNINGSFULLSTÄNDIGHET",
"language_completeness_stats": "{language}: {translated}/{total} nycklar ({percentage}%)",
"n_sample_unused_keys": "🗑️ EXEMPEL OANVÄNDA NYCKLAR (de första 5):",
"key": "🔑 {key}",
"and_unusedkeyslength_5_more": "... och {count} fler oanvända nycklar",
"n_sample_missing_keys": "❌ EXEMPEL SAKNADE NYCKLAR (de första 5):",
"and_missingkeyslength_5_more": "... och {count} fler saknade nycklar",
"n_generating_detailed_report": "📊 Genererar detaljerad rapport...",
"report_saved_reportpath": "📄 Rapport sparad: {reportPath}",
"n_recommendations": "💡 REKOMMENDATIONER:",
"consider_removing_unused_trans": "🗑️ Överväg att ta bort oanvända översättningar för att minska paketstorleken",
"add_missing_translation_keys_t": "➕ Lägg till saknade översättningsnycklar för att upprätthålla konsekvens",
"review_dynamic_keys_manually_t": "🔍 Granska dynamiska nycklar manuellt (de kan vara giltiga)",
"all_translation_keys_are_prope": "✅ Alla översättningsnycklar används korrekt!",
"n_next_steps": "🎯 NEXT STEPS:",
"2_check_the_detailed_report_fo": "2. Kontrollera den detaljerade rapporten för specifika problem",
"help_message": "I18n Usage Analyzer Användning: nod i18ntk-usage.js [options] Alternativ: --source-dir <dir> Källkatalog att skanna (standard: ./src) --i18n-dir <dir> I18n-katalog (standard: ./src/locales) --output-report Generera detaljerad rapport --output-dir <dir> Utdatakatalog för rapporter (standard: ./reports) --help Visa den här hjälpen Exempel: nod i18ntk-usage.js --output-report nod i18ntk-usage.js --source-dir=./app --i18n-dir=./locales nod i18ntk-usage.js.=reputation-usage.js.",
"1_review_the_analysis_results": "1. Granska analysresultaten i konsolen eller den genererade rapporten.",
"2_run_with_outputreport_for_de": "2. Kör med --output-report för detaljerad rapport.",
"3_remove_unused_keys_or_add_mi": "3. Ta bort oanvända nycklar eller lägg till saknade nycklar till din källkod.",
"4_rerun_analysis_to_verify_imp": "4. Kör analys igen för att verifiera förbättringar.",
"noSourceFilesFound": "Inga källfiler hittades att analysera.",
"i18nDirectoryNotFound": "I18n-katalogen hittades inte: {i18nDir}",
"noTranslationLanguagesFound": "Inga översättningsspråk hittades.",
"failedToAnalyzeFile": "Det gick inte att analysera filen {filePath}: {error}",
"failedToAnalyzeLanguage": "Det gick inte att analysera språket {language}: {error}",
"translationCompletenessAnalysisFailed": "Analysen av översättningens fullständighet misslyckades: {error}",
"n": "\\n"
},
"complete": {
"configLoadedSuccessfully": "Konfigurationen har lästs in",
"configLoadingFailed": "Konfigurationsladdningen misslyckades",
"title": "🌍 I18NTK ÖVERSÄTTNING SLUTFÖRD",
"separator": "============================================================",
"sourceDir": "📁 Källkatalog: {sourceDir}",
"sourceLanguage": "🌐 Källspråk: {sourceLanguage}",
"dryRunMode": "🧪 Torrkörningsläge - inga ändringar kommer att göras",
"languages": "🌍 Tillgängliga språk: {languages}",
"addingMissingKeys": "➕ Lägger till saknade nycklar till översättningsfiler...",
"processing": "🔄 Bearbetning {language}...",
"addedKeys": "✅ Tillagd {count} saknade nycklar",
"changeDetails": "📝 {file}: {key}",
"andMore": "...och {count} mer",
"noChangesNeeded": "✅ Inga ändringar behövs för {language}",
"summaryTitle": "📊 SAMMANFATTNING AV SLUTFÖRANDE",
"totalChanges": "📝 Totala ändringar: {totalChanges}",
"languagesProcessed": "🌍 Behandlade språk: {languagesProcessed}",
"missingKeysAdded": "➕ Saknade nycklar tillagda: {missingKeysAdded}",
"nextStepsTitle": "📋 NEXT STEPS",
"nextStep1": "1. Kör användningsanalys:",
"nextStep2": "nod i18ntk-usage.js --output-report",
"nextStep3": "2. Validera översättningar:",
"nextStep4": "nod i18ntk-validate.js",
"nextStep5": "3. Analysera mönster:",
"nextStep6": "nod i18ntk-analyze.js",
"allKeysAvailable": "🎉 Alla översättningsnycklar är nu tillgängliga!",
"runWithoutDryRun": "💡 Kör utan --torkkör för att tillämpa ändringar",
"deletingOldReport": "🗑️ Raderar gammal rapport...",
"generatingFreshAnalysis": "📊 Genererar färsk användningsanalys...",
"couldNotGenerate": "❌ Kunde inte generera användningsanalys",
"reportNotFound": "📋 Användningsrapport hittades inte. Använder vanliga nycklar...",
"foundMissingKeys": "📋 Hittade {count} saknade nycklar från användningsanalys",
"couldNotParse": "❌ Det gick inte att analysera användningsrapporten. Använder vanliga nycklar..."
},
"noTranslationLanguagesFound": "Inga översättningsspråk hittades",
"failedToAnalyzeLanguage": "Det gick inte att analysera språket",
"translationCompletenessAnalysisFailed": "Analys av översättningens fullständighet misslyckades",
"failedToProcessFile": "Det gick inte att bearbeta filen:",
"failedToSaveReport": "Det gick inte att spara användningsrapporten: {error}",
"i18nDirectoryDoesNotExist": "I18n-katalogen finns inte: {dir}",
"reportSavedTo": "Användningsrapport sparad till: {reportPath}",
"sourceDirectoryDoesNotExist": "Källkatalogen finns inte: {dir}",
"noSourceDirectoryConfigured": "(ingen konfigurerad)"
},
"validate": {
"help_message": "I18n Translation Validator Användning: nod i18ntk-validate.js [options] Alternativ: --source-dir <dir> Källkatalog att skanna (standard: ./src) --i18n-dir <dir> I18n-katalog (standard: ./src/locales) --output-report Generera detaljerad rapport --output-dir <dir> Utdatakatalog för rapporter (standard: ./reports) --hjälp Visa denna hjälp Exempel: nod i18ntk-validate.js --output-report nod i18ntk-validate.js --source-dir=./app --i18n-dir=./locales nod i18ntk-output-analyskatalog ---port",
"title": "🔍 I18n Översättningsvalidator",
"message": "Startar valideringsprocessen...",
"sourceDirectory": "📁 Källkatalog: {dir}",
"sourceLanguage": "🌍 Källspråk: {sourceLanguage}",
"strictMode": "⚙️ Strikt läge: {mode}",
"noTargetLanguages": "Inga målspråk konfigurerade; hoppa över målvalidering. Lägg till språk via \"i18ntk init --languages=de,fr\".",
"validatingLanguages": "🌍 Validera språk: {langs}",
"validatingLanguage": "🔍 Validerande språk: {lang}",
"filesCount": "📄 Filer: {count}",
"keysCount": "🔑 Nycklar: {count}",
"missingFilesCount": "📁 Saknade filer: {count}",
"syntaxErrorsCount": "❌ Syntaxfel: {count}",
"translationPercentage": "🎯 Översättning: {percentage}% ({translated}/{total} nycklar)",
"validationSummary": "📊 SAMMANFATTNING AV VALIDERING",
"validation_failed": "❌ Validering misslyckades: {error}",
"totalErrors": "❌ Totalt antal fel: {count}",
"totalWarnings": "⚠️ Totala varningar: {count}",
"errorsSection": "❌ ERRORS",
"warningsSection": "⚠️ WARNINGS",
"recommendationsSection": "💡 REKOMMENDATIONER",
"fixErrorsFirst": "1. Åtgärda alla fel först",
"resolveMissingFilesAndSyntaxErrors": "1. Åtgärda saknade filer och syntaxfel",
"fixStructuralInconsistencies": "2. Åtgärda strukturella inkonsekvenser",
"completeMissingTranslations": "3. Komplettera saknade översättningar",
"rerunValidation": "4. Kör valideringen igen för att verifiera korrigeringar",
"addressWarnings": "Adressera varningar för att förbättra kvaliteten",
"reviewWarnings": "Granska varningar och fixa där det är lämpligt",
"considerRunningWithStrict": "2. Överväg att köra med flaggan --strict för strängare validering",
"allValidationsPassed": "🎉 Alla valideringar godkända!",
"considerRunningUsageAnalysis": "Överväg att köra användningsanalys: nod i18ntk-usage.js",
"deletedOldReport": "🗑️ Raderad gammal valideringsrapport",
"sourceDir": "📁 Källkatalog: {sourceDir}",
"i18nDir": "🌐 I18n-katalog: {i18nDir}",
"loadingTranslationFiles": "📋 Laddar översättningsfiler...",
"foundTranslationFilesCount": "✅ Hittade {count} översättningsfiler",
"analyzingTranslations": "🔍 Analyserar översättningar...",
"validationCompletedSuccessfully": "🎉 Validering slutförd framgångsrikt!",
"validationErrorsFound": "⚠️ Valideringsfel hittades: {count}",
"validationWarningsFound": "⚠️ Valideringsvarningar hittades: {count}",
"validationPassed": "✅ Validering godkänd utan fel",
"validationFailed": "Validering misslyckades: {error}",
"startingValidationProcess": "🔍 Startar valideringsprocessen...",
"validationProcessCompletedSuccessfully": "✅ Valideringsprocess slutförd framgångsrikt",
"stackTrace": "Stackspår: {stack}",
"authenticationFailed": "❌ Autentisering misslyckades. Åtkomst nekad.",
"fatalValidationError": "❌ Fatalt valideringsfel: {error}",
"configAccess": "Åtkomst till konfiguration för validering",
"configValidated": "Konfigurationen har validerats",
"configError": "Konfigurationsfel: {error}",
"validatorInit": "Initierar I18n validator",
"validatorInitialized": "I18n validator initierades framgångsrikt",
"validatorInitError": "Validatorinitieringsfel: {error}",
"argsParsing": "Parsar kommandoradsargument",
"argsParsed": "Kommandoradsargument tolkade framgångsrikt",
"argsParseError": "Argumenttolkningsfel: {error}",
"languagesScan": "Skannar tillgängliga språk",
"languagesFound": "Hittade {count} språk",
"languagesScanError": "Språkskanningsfel: {error}",
"filesScan": "Hittade {count} filer i {language}",
"filesScanError": "Filskanningsfel: {error}",
"jsonValidated": "JSON-syntax validerad: {filePath}",
"jsonValidationError": "JSON-valideringsfel: {error}",
"languageValidation": "Validerande språk: {language}",
"languageValidationError": "Språkvalideringsfel: {error}",
"fileDeleted": "Filen raderad",
"runStarted": "Startar valideringskörning",
"runCompleted": "Valideringskörningen slutfördes",
"runError": "Valideringskörningen misslyckades: {error}",
"scriptExecution": "Utförande av skript",
"validationCompleted": "Validering slutförd",
"validationError": "Valideringsfel: {error}",
"separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
"languageHeader": "🌐 Språk: {language}",
"validationResults": "📊 Valideringsresultat",
"noErrors": "✅ Inga fel hittades",
"noWarnings": "✅ Inga varningar hittades",
"summaryHeader": "📋 OVERALL SUMMARY",
"progressIndicator": "⏳ Bearbetar...",
"completedIndicator": "✅ Avslutad",
"errorIndicator": "❌ Fel",
"warningIndicator": "⚠️ Varning",
"infoIndicator": "ℹ️ Info",
"sourceDirNotConfigured": "Källkatalogen är inte konfigurerad",
"sourceLanguageNotConfigured": "Källspråket är inte konfigurerat",
"translationFunctionNotInitialized": "Översättningsfunktionen är inte korrekt initierad",
"sourceLanguageDirectoryNotFound": "Källspråkskatalogen hittades inte",
"specifiedLanguageNotFound": "Det angivna språket hittades inte",
"noJsonFilesFound": "Inga JSON-filer hittades i källkatalogen: {sourceDir}",
"i18nDirectoryNotFound": "I18n-katalogen hittades inte: {i18nDir}",
"invalidDirectoryPaths": "Ogiltiga katalogsökvägar upptäcktes",
"invalidSampleFilePath": "Ogiltig sökväg till exempelfil",
"failedToCreateSampleTranslationFile": "Det gick inte att skapa exempelöversättningsfil",
"invalidFilePathDetected": "Ogiltig sökväg har upptäckts",
"failedToWriteFile": "Det gick inte att skriva filen: {filePath}",
"invalidSourceDirectory": "Ogiltig källkatalog: {sourceDir}",
"invalidSourceLanguageDirectory": "Ogiltig källspråkskatalog: {sourceDir}"
},
"adminCli": {
"setupPinProtectionTitle": "🔐 Konfigurera Admin PIN-skydd",
"setupPinProtectionDescription": "Detta kräver en 4-6-siffrig PIN-kod för administrativa åtgärder.",
"enablePinProtectionPrompt": "Vill du aktivera admin PIN-skydd?",
"setupCancelled": "Administratörs-PIN-skyddet avbröts.",
"enterPinPrompt": "Ange en 4-6-siffrig PIN-kod:",
"pinFormatError": "❌ PIN-koden måste vara 4-6 siffror. Försök igen.",
"confirmPinPrompt": "Bekräfta PIN:",
"pinMismatchError": "❌ PIN-koderna stämmer inte överens. Försök igen.",
"pinProtectionEnabledSuccess": "✅ Admin PIN-skydd har aktiverats framgångsrikt!",
"pinRecoveryWarning": "⚠️ Kom ihåg din PIN-kod - den kan inte återställas om den tappas bort.",
"setupPinProtectionFailed": "❌ Det gick inte att ställa in admin PIN-skydd.",
"errorSettingUpPin": "❌ Fel vid inställning av administratörs-PIN: {message}",
"authRequiredForOperation": "🔐 Adminautentisering krävs för: {operation}",
"invalidPinFormat": "❌ Ogiltigt PIN-format. PIN-koden måste vara 4-6 siffror.",
"authenticationSuccess": "✅ Autentisering lyckad!",
"invalidPinAttemptsRemaining": "❌ Ogiltig PIN-kod. {remaining} försök kvar.",
"authenticationFailedAccessDenied": "❌ Autentisering misslyckades. Åtkomst nekad.",
"authenticationError": "❌ Autentiseringsfel: {message}",
"pinProtectionNotEnabled": "Admin PIN-skydd är för närvarande inte aktiverat.",
"disablingPinProtectionTitle": "🔓 Inaktiverar Admin PIN-skydd",
"confirmDisablePinProtection": "Är du säker på att du vill inaktivera administratörs-PIN-skydd?",
"operationCancelled": "Åtgärden avbröts.",
"pinProtectionDisabledSuccess": "✅ Admin PIN-skydd inaktiverat.",
"disablePinProtectionFailed": "❌ Det gick inte att inaktivera admin PIN-skydd.",
"errorDisablingPinProtection": "❌ Fel när administratörsskyddet inaktiverades: {message}",
"adminProtectionStatusTitle": "🔐 Adminskyddsstatus",
"statusEnabled": "Status: ✅ AKTIVERAD",
"protectionDetails": "Skydd: 4-6-siffrig PIN-kod krävs för administratörsfunktioner",
"lockoutDetails": "Lockout: 3 misslyckade försök = 15 minuters lockout",
"statusDisabled": "Status: ❌ INaktiverad",
"noAuthRequired": "Skydd: Ingen autentisering krävs",
"unprotectedRisk": "Risk: Administrativ verksamhet är oskydd