feat: i18n support with first translations

This commit is contained in:
2026-02-21 10:45:41 +01:00
parent a5281a7750
commit b8005bec30
48 changed files with 2792 additions and 462 deletions

View File

@@ -0,0 +1,320 @@
{
"common.save": "Speichern",
"common.cancel": "Abbrechen",
"common.clear": "Leeren",
"common.settings": "Einstellungen",
"common.tasks": "Aufgaben",
"common.running": "laufend",
"common.pending": "ausstehend",
"activity.posts": "Beiträge",
"activity.pages": "Seiten",
"activity.media": "Medien",
"activity.tags": "Schlagwörter",
"activity.aiAssistant": "KI-Assistent",
"activity.import": "Importieren",
"activity.sourceControl": "Versionskontrolle",
"activity.toggleHint": "(erneut klicken, um die Seitenleiste umzuschalten)",
"tasks.backgroundTasks": "Hintergrundaufgaben",
"tasks.clearCompleted": "Abgeschlossene löschen",
"tasks.recent": "Zuletzt",
"tasks.noActive": "Keine aktiven Aufgaben",
"tasks.cancelTask": "Aufgabe abbrechen",
"tasks.triggerTitle": "{running} laufend, {pending} ausstehend",
"app.taskCompleted": "Aufgabe abgeschlossen: {message}",
"app.taskFailed": "Aufgabe fehlgeschlagen: {message}",
"app.databaseRebuildFailed": "Datenbank-Neuaufbau fehlgeschlagen",
"app.textReindexFailed": "Text-Neuindizierung fehlgeschlagen",
"app.sitemapGenerationFailed": "Sitemap-Erstellung fehlgeschlagen",
"app.previewOpenFailed": "Ausgewählte Beitragsvorschau konnte nicht geöffnet werden",
"app.metadataDiff": "Metadaten-Diff",
"app.importComplete": "Import abgeschlossen: {posts} Beiträge, {media} Mediendateien",
"settings.language.english": "Englisch",
"settings.language.german": "Deutsch",
"settings.language.french": "Französisch",
"settings.language.italian": "Italienisch",
"settings.language.spanish": "Spanisch",
"settings.language.portuguese": "Portugiesisch (Português)",
"settings.language.dutch": "Niederländisch (Nederlands)",
"settings.language.polish": "Polnisch (Polski)",
"settings.language.russian": "Russisch (Русский)",
"settings.language.japanese": "Japanisch (日本語)",
"settings.language.chinese": "Chinesisch (中文)",
"settings.language.korean": "Koreanisch (한국어)",
"settings.language.arabic": "Arabisch (العربية)",
"settings.language.hindi": "Hindi",
"settings.language.turkish": "Türkisch (Türkçe)",
"settings.language.swedish": "Schwedisch (Svenska)",
"settings.language.danish": "Dänisch (Dansk)",
"settings.language.norwegian": "Norwegisch (Norsk)",
"settings.language.finnish": "Finnisch (Suomi)",
"settings.language.czech": "Tschechisch (Čeština)",
"settings.project.title": "Projekt",
"settings.project.browse": "Durchsuchen",
"settings.project.reset": "Zurücksetzen",
"settings.project.resetDefault": "Auf Standard zurücksetzen",
"settings.project.selectDataFolder": "Projekt-Datenordner auswählen",
"settings.editor.title": "Texteditor",
"settings.editor.mode.wysiwyg": "WYSIWYG (Visueller Editor)",
"settings.editor.mode.markdown": "Markdown (Quelle)",
"settings.editor.mode.preview": "Vorschau (schreibgeschützt)",
"settings.editor.diff.inline": "Zeilenweise",
"settings.editor.diff.sideBySide": "Nebeneinander",
"settings.content.title": "Beitragskategorien",
"settings.content.renderInLists": "In Listen anzeigen",
"settings.content.showTitles": "Titel anzeigen",
"settings.ai.title": "KI-Assistent",
"settings.ai.noModels": "Keine Modelle verfügbar",
"settings.publishing.ftpTitle": "FTP-Veröffentlichung",
"settings.publishing.sshTitle": "SSH-Veröffentlichung",
"settings.data.title": "Datenbankwartung",
"settings.data.fileSystemTitle": "Dateisystem",
"settings.search.placeholder": "Einstellungen durchsuchen...",
"settings.search.noResults": "No Einstellungen found matching \"{query}\"",
"settings.search.clear": "Suche löschen",
"settings.toast.publishingSaved": "Veröffentlichungs-Anmeldedaten gespeichert",
"settings.toast.saveCredentialsFailed": "Fehler beim save credentials",
"settings.toast.credentialsCleared": "{type}-Anmeldedaten gelöscht",
"settings.toast.projectSaved": "Project Einstellungen saved",
"settings.toast.projectSaveFailed": "Fehler beim save project Einstellungen",
"settings.toast.categoryAdded": "Kategorie \"{category}\" hinzugefügt",
"settings.toast.categoryAddFailed": "Fehler beim add category",
"settings.toast.categoryExists": "Kategorie existiert bereits",
"settings.toast.categoryProtected": "Standardkategorie \"{category}\" kann nicht gelöscht werden",
"settings.toast.categoryAtLeastOne": "Mindestens eine Kategorie ist erforderlich",
"settings.toast.categoryRemoved": "Kategorie \"{category}\" entfernt",
"settings.toast.categoryRemoveFailed": "Fehler beim remove category",
"settings.toast.categoriesReset": "Kategorien auf Standard zurückgesetzt",
"settings.toast.categoriesResetFailed": "Fehler beim reset categories",
"settings.toast.categorySettingsUpdateFailed": "Fehler beim update category Einstellungen",
"settings.toast.systemPromptSaved": "System-Prompt gespeichert",
"settings.toast.systemPromptSaveFailed": "Fehler beim save system prompt",
"settings.toast.systemPromptReset": "System-Prompt auf Standard zurückgesetzt",
"settings.toast.systemPromptResetFailed": "Fehler beim reset system prompt",
"settings.toast.apiKeySaved": "API-Schlüssel gespeichert und validiert",
"settings.toast.apiKeyInvalid": "Ungültiger API-Schlüssel",
"settings.toast.apiKeySaveFailed": "Fehler beim save API key",
"settings.toast.defaultModelUpdated": "Standardmodell aktualisiert",
"settings.toast.defaultModelUpdateFailed": "Fehler beim set default model",
"settings.toast.rebuildPostsLoading": "Rebuilding Beiträge database...",
"settings.toast.rebuildPostsSuccess": "Beitragsdatenbank neu aufgebaut",
"settings.toast.rebuildPostsFailed": "Fehler beim rebuild Beiträge database",
"settings.toast.rebuildMediaLoading": "Rebuilding Medien database...",
"settings.toast.rebuildMediaSuccess": "Mediendatenbank neu aufgebaut",
"settings.toast.rebuildMediaFailed": "Fehler beim rebuild Medien database",
"settings.toast.rebuildLinksLoading": "Rebuilding Beitrag links...",
"settings.toast.rebuildLinksSuccess": "Beitragslinks neu aufgebaut",
"settings.toast.rebuildLinksFailed": "Fehler beim rebuild Beitrag links",
"settings.toast.thumbnailsLoading": "Vorschaubilder werden erzeugt...",
"settings.toast.thumbnailsGenerated": "{count} Vorschaubilder erzeugt",
"settings.toast.thumbnailsAlreadyExist": "Alle Vorschaubilder existieren bereits",
"settings.toast.thumbnailsComplete": "Generierung der Vorschaubilder abgeschlossen",
"settings.toast.thumbnailsFailed": "Fehler beim generate thumbnails",
"chat.setupTitle": "KI-Chat-Einrichtung",
"chat.apiKeyRequiredTitle": "OpenCode Zen API-Schlüssel erforderlich",
"chat.apiKeyRequiredDescription": "Gib deinen OpenCode API-Schlüssel ein, um den KI-Chat zu aktivieren.",
"chat.apiKeyPlaceholder": "API-Schlüssel eingeben...",
"chat.apiKeySave": "Schlüssel speichern",
"chat.apiKeyValidating": "Wird validiert...",
"chat.apiKeyInvalid": "Ungültiger API-Schlüssel. Bitte prüfen und erneut versuchen.",
"chat.apiKeyValidationFailed": "Fehler beim validate API key.",
"chat.newChat": "Neuer Chat",
"chat.welcomeTitle": "Willkommen beim KI-Assistenten",
"chat.welcomeDescription": "I can help you manage your Beiträge and Medien. Try asking me to:",
"chat.welcomeTipSearch": "Suche for Beiträge about a specific topic",
"chat.welcomeTipDetails": "Get details about a specific Beitrag",
"chat.welcomeTipTags": "Alle Tags oder Kategorien in deinem Blog auflisten",
"chat.welcomeTipMetadata": "Update metadata for Beiträge or Medien",
"chat.welcomeTipImages": "List all images in your Medien library",
"chat.role.you": "Du",
"chat.role.assistant": "Assistent",
"chat.stop": "Stopp",
"chat.inputPlaceholder": "Nachricht eingeben...",
"chat.errorPrefix": "Fehler: {error}",
"chat.errorNoResponse": "Fehler beim get a response. Please try again.",
"chat.errorEmptyResponse": "Das Modell hat eine leere Antwort zurückgegeben. Versuche ein anderes Modell oder formuliere deine Frage neu.",
"chat.errorGeneric": "Sorry, an error occurred while processing your Nachricht.",
"chat.cancelledSuffix": "(abgebrochen)",
"aiSuggestions.title": "KI-Bildanalyse",
"aiSuggestions.close": "Schließen",
"aiSuggestions.analyzing": "Bild wird analysiert...",
"aiSuggestions.titleField": "Titel",
"aiSuggestions.altField": "Alternativtext",
"aiSuggestions.captionField": "Bildunterschrift",
"aiSuggestions.hasExisting": "(hat vorhandenen Wert)",
"aiSuggestions.current": "Aktuell",
"aiSuggestions.intro": "Wähle aus, welche KI-generierten Werte übernommen werden sollen. Vorhandene Werte bleiben standardmäßig erhalten.",
"aiSuggestions.empty": "Für dieses Bild wurden keine Vorschläge erstellt.",
"aiSuggestions.wait": "Bitte warten...",
"aiSuggestions.applySelected": "Ausgewählte übernehmen",
"insert.title.link": "Link einfügen",
"insert.title.image": "Bild einfügen",
"insert.tab.linkInternal": "Mit Beitrag verlinken",
"insert.tab.imageInternal": "Mediathek",
"insert.tab.linkExternal": "Externe URL",
"insert.tab.imageExternal": "Externes Bild",
"insert.searchPlaceholder.link": "Suche Beiträge by title or content...",
"insert.searchPlaceholder.image": "Suche Medien by name, title, or alt text...",
"insert.status.searching": "Suche...",
"insert.status.typeMore": "Zum Suchen mindestens 2 Zeichen eingeben",
"insert.status.noResults": "Keine {kind} für \"{query}\" gefunden",
"insert.label.url": "Webadresse",
"insert.label.linkTextOptional": "Linktext (optional)",
"insert.label.altText": "Alternativtext",
"insert.placeholder.linkUrl": "https://beispiel.de",
"insert.placeholder.imageUrl": "https://beispiel.de/bild.jpg",
"insert.placeholder.linkText": "Hier klicken",
"insert.placeholder.imageAlt": "Beschreibung des Bildes",
"insert.submit.link": "Link einfügen",
"insert.submit.image": "Bild einfügen",
"insert.hint.internal": "Mit ↑↓ navigieren, Enter zum Auswählen, Esc zum Schließen",
"insert.hint.external": "URL eingeben und Enter drücken oder auf die Schaltfläche klicken, Esc zum Schließen",
"insert.hint.canonicalPost": "Kanonisch: /YYYY/MM/DD/slug",
"insert.hint.canonicalMedia": "Canonical: /Medien/YYYY/MM/file.ext",
"postLinks.loading": "Links werden geladen...",
"postLinks.link": "Link",
"postLinks.links": "Links",
"postLinks.linksTo": "Verlinkt auf ({count})",
"postLinks.linkedBy": "Verlinkt von ({count})",
"postLinks.openTitle": "Öffnen: {title}",
"docs.title": "Dokumentation",
"docs.subtitle": "Benutzerhandbuch für diese installierte bDS-Version.",
"gitDiff.header": "Unterschied: {target}",
"gitDiff.noProject": "Kein aktives Projekt ausgewählt.",
"gitDiff.noProjectPath": "Projektpfad konnte nicht ermittelt werden.",
"gitDiff.loadFailed": "Fehler beim load diff.",
"gitDiff.loading": "Diff wird geladen...",
"gitDiff.changedFiles": "Geänderte Dateien",
"gitDiff.previousFile": "Vorherige Datei",
"gitDiff.nextFile": "Nächste Datei",
"errorModal.error": "Fehler",
"errorModal.stackTrace": "Stack-Trace",
"errorModal.copyClipboard": "In Zwischenablage kopieren",
"errorModal.copy": "Kopieren",
"errorModal.noStack": "Kein Stack-Trace verfügbar",
"confirmDelete.title": "Löschen bestätigen",
"confirmDelete.promptPost": "Are you sure you want to delete the Beitrag",
"confirmDelete.promptMedia": "Are you sure you want to delete the Medien file",
"confirmDelete.warning": "Warnung:",
"confirmDelete.referencedBy": "Diese(r) {itemType} wird von folgenden Elementen referenziert:",
"confirmDelete.note": "Beim Löschen dieses/dieser {itemType} werden alle diese Verweise entfernt.",
"confirmDelete.cancel": "Abbrechen",
"confirmDelete.deletePost": "Beitrag löschen",
"confirmDelete.deleteMedia": "Medien löschen",
"confirmDelete.itemType.post": "Beitrag",
"confirmDelete.itemType.media": "Medien",
"lightbox.close": "Schließen (Esc)",
"lightbox.previous": "Vorheriges (←)",
"lightbox.next": "Nächstes (→)",
"credentials.error.load": "Fehler beim load credentials:",
"credentials.error.save": "Fehler beim save credentials:",
"credentials.toast.saved": "Anmeldedaten gespeichert",
"credentials.toast.saveFailed": "Fehler beim save credentials",
"credentials.toast.testing": "{type}-Verbindung wird getestet...",
"credentials.toast.connectionFailed": "Connection fehlgeschlagen - check credentials",
"credentials.tab.ftp": "FTP-Zugang",
"credentials.tab.ssh": "SSH-Zugang",
"credentials.ftp.title": "FTP-Veröffentlichung",
"credentials.ftp.description": "Konfiguriere FTP, um deinen Blog auf einem Webserver zu veröffentlichen.",
"credentials.ssh.title": "SSH-Veröffentlichung",
"credentials.ssh.description": "Konfiguriere SSH für eine sichere Veröffentlichung auf deinem Server.",
"credentials.field.host": "Server",
"credentials.field.username": "Benutzername",
"credentials.field.password": "Passwort",
"credentials.field.sshKeyPath": "SSH-Schlüsselpfad",
"credentials.action.testConnection": "Verbindung testen",
"credentials.ftp.placeholder.host": "ftp.beispiel.de",
"credentials.ftp.placeholder.username": "ftp-benutzer",
"credentials.ftp.placeholder.password": "Passwort",
"credentials.ssh.placeholder.host": "server.beispiel.de",
"credentials.ssh.placeholder.username": "ssh-benutzer",
"credentials.ssh.placeholder.keyPath": "~/.ssh/mein_schluessel",
"gitSidebar.header": "QUELLSTEUERUNG",
"gitSidebar.loading": "Laden...",
"gitSidebar.error.fetchRemoteUpdates": "Fehler beim fetch remote updates.",
"gitSidebar.error.refreshRemoteState": "Remote-Tracking-Status konnte nicht aktualisiert werden.",
"gitSidebar.error.gitMissing": "Git-Programm nicht gefunden. Bitte installiere Git und starte die App neu.",
"gitSidebar.error.noActiveProject": "Kein aktives Projekt ausgewählt.",
"gitSidebar.error.loadRepoStatus": "Repository-Status konnte nicht geladen werden.",
"gitSidebar.error.initFailed": "Fehler beim initialize git repository.",
"gitSidebar.error.actionFailed": "Fehler beim {action}.",
"gitSidebar.error.commitFailed": "Fehler beim commit changes.",
"gitSidebar.progress.preparingInit": "Repository-Initialisierung wird vorbereitet...",
"gitSidebar.progress.pushingRemote": "Commits werden zum Remote übertragen... das kann bei großen Uploads eine Weile dauern.",
"gitSidebar.progress.fetching": "Remote-Aktualisierungen werden abgerufen...",
"gitSidebar.progress.pulling": "Neueste Änderungen werden gezogen...",
"gitSidebar.progress.pruningLfs": "Lokaler Git-LFS-Cache wird bereinigt...",
"gitSidebar.progress.committing": "Commit wird erstellt...",
"gitSidebar.progress.initializingRepo": "Repository wird initialisiert...",
"gitSidebar.history.synced": "Synchronisiert",
"gitSidebar.history.localOnly": "Nur lokal",
"gitSidebar.history.remoteOnly": "Nur remote",
"gitSidebar.init.transcript": "Initialisierungsprotokoll",
"gitSidebar.aria.repoActions": "Repository-Aktionen",
"gitSidebar.aria.openChanges": "Offene Änderungen",
"gitSidebar.aria.commitStatusLegend": "Legende zum Commit-Status",
"gitSidebar.aria.versionHistory": "Versionsverlauf",
"gitSidebar.action.fetch": "Abrufen",
"gitSidebar.action.fetching": "Abrufen...",
"gitSidebar.action.pull": "Pullen",
"gitSidebar.action.pulling": "Pullen...",
"gitSidebar.action.push": "Pushen",
"gitSidebar.action.pushing": "Pushen...",
"gitSidebar.action.pruneLfs": "LFS bereinigen",
"gitSidebar.action.pruning": "Bereinigen...",
"gitSidebar.action.commit": "Commit erstellen",
"gitSidebar.action.committing": "Commit wird erstellt...",
"gitSidebar.action.initializeGit": "Git initialisieren",
"gitSidebar.action.initializing": "Initialisieren...",
"gitSidebar.openChanges": "Öffnen Changes ({count})",
"gitSidebar.versionHistory": "Versionsverlauf ({count})",
"gitSidebar.loadingChanges": "Änderungen werden geladen...",
"gitSidebar.noChanges": "Keine Änderungen",
"gitSidebar.loadingHistory": "Verlauf wird geladen...",
"gitSidebar.noCommits": "Noch keine Commits",
"gitSidebar.branch": "Zweig: {branch}",
"gitSidebar.aheadBehind": "voraus {ahead} / hinterher {behind}",
"gitSidebar.notRepo": "Dieses Projekt ist kein Git-Repository.",
"gitSidebar.placeholder.remoteUrl": "Optionale URL des Remote-Repositorys",
"gitSidebar.placeholder.commitMessage": "Commit-Nachricht",
"editor.untitled": "Unbenannt",
"tabBar.style": "Stil",
"tabBar.loading": "Laden...",
"tabBar.unknown": "Unbekannt",
"tabBar.preview": "Vorschau",
"tabBar.modified": "Geändert",
"tabBar.closeHint": "Schließen (Ctrl+W)",
"tabBar.scrollLeft": "Tabs nach links scrollen",
"tabBar.scrollRight": "Tabs nach rechts scrollen",
"tabBar.commitTitle": "Änderung {hash}",
"tabBar.error.fetchPostTitle": "Fehler beim fetch Beitrag title:",
"tabBar.error.fetchChatTitle": "Fehler beim fetch chat title:",
"tabBar.error.fetchImportTitle": "Fehler beim fetch import definition title:",
"tabBar.error.fetchCommitTitle": "Fehler beim fetch commit titles:",
"metadataDiff.title": "Metadaten-Diff-Werkzeug",
"metadataDiff.description": "Compare Beitrag metadata between database and markdown files. Fix inconsistencies caused by bugs or manual edits.",
"metadataDiff.error.loadStats": "Fehler beim load database statistics",
"metadataDiff.error.scan": "Fehler beim scan for differences",
"metadataDiff.progress.starting": "Scan wird gestartet...",
"metadataDiff.progress.scanningPublished": "Scanning published Beiträge...",
"metadataDiff.progress.scanning": "Scanne...",
"metadataDiff.action.scan": "Nach Unterschieden suchen",
"metadataDiff.action.rescan": "Erneut scannen",
"metadataDiff.stats.totalPosts": "Beiträge gesamt",
"metadataDiff.stats.published": "Veröffentlicht",
"metadataDiff.stats.drafts": "Entwürfe",
"metadataDiff.stats.mediaFiles": "Mediendateien",
"metadataDiff.summary.noDiffs": "✅ No differences found! All {total} published Beiträge are in sync.",
"metadataDiff.summary.withDiffs": "⚠️ Found {count} Beiträge with differences out of {total} published Beiträge.",
"metadataDiff.group.differences": "{label}-Unterschiede",
"metadataDiff.group.postsCount": "{count} Beiträge",
"metadataDiff.sync.failed": "fehlgeschlagen",
"metadataDiff.sync.dbToFile.title": "Dateien mit Datenbankwerten aktualisieren",
"metadataDiff.sync.dbToFile.success": "Synced {success} Beiträge to files{fehlgeschlagen}",
"metadataDiff.sync.dbToFile.error": "Fehler beim sync to files",
"metadataDiff.sync.fileToDb.title": "Datenbank mit Dateiwerten aktualisieren",
"metadataDiff.sync.fileToDb.success": "Synced {success} files to database{fehlgeschlagen}",
"metadataDiff.sync.fileToDb.error": "Fehler beim sync to database",
"metadataDiff.value.database": "Datenbank",
"metadataDiff.value.file": "Datei",
"metadataDiff.empty": "Klicke auf „Nach Unterschieden suchen“, um Datenbank-Metadaten mit Datei-Metadaten zu vergleichen."
}

View File

@@ -0,0 +1,320 @@
{
"common.save": "Save",
"common.cancel": "Cancel",
"common.clear": "Clear",
"common.settings": "Settings",
"common.tasks": "Tasks",
"common.running": "running",
"common.pending": "pending",
"activity.posts": "Posts",
"activity.pages": "Pages",
"activity.media": "Media",
"activity.tags": "Tags",
"activity.aiAssistant": "AI Assistant",
"activity.import": "Import",
"activity.sourceControl": "Source Control",
"activity.toggleHint": "(click again to toggle sidebar)",
"tasks.backgroundTasks": "Background Tasks",
"tasks.clearCompleted": "Clear completed",
"tasks.recent": "Recent",
"tasks.noActive": "No active tasks",
"tasks.cancelTask": "Cancel task",
"tasks.triggerTitle": "{running} running, {pending} pending",
"app.taskCompleted": "Task completed: {message}",
"app.taskFailed": "Task failed: {message}",
"app.databaseRebuildFailed": "Database rebuild failed",
"app.textReindexFailed": "Text reindex failed",
"app.sitemapGenerationFailed": "Sitemap generation failed",
"app.previewOpenFailed": "Failed to open selected post preview",
"app.metadataDiff": "Metadata Diff",
"app.importComplete": "Import complete: {posts} posts, {media} media files",
"settings.language.english": "English",
"settings.language.german": "German",
"settings.language.french": "French",
"settings.language.italian": "Italian",
"settings.language.spanish": "Spanish",
"settings.language.portuguese": "Portuguese (Português)",
"settings.language.dutch": "Dutch (Nederlands)",
"settings.language.polish": "Polish (Polski)",
"settings.language.russian": "Russian (Русский)",
"settings.language.japanese": "Japanese (日本語)",
"settings.language.chinese": "Chinese (中文)",
"settings.language.korean": "Korean (한국어)",
"settings.language.arabic": "Arabic (العربية)",
"settings.language.hindi": "Hindi (हिन्दी)",
"settings.language.turkish": "Turkish (Türkçe)",
"settings.language.swedish": "Swedish (Svenska)",
"settings.language.danish": "Danish (Dansk)",
"settings.language.norwegian": "Norwegian (Norsk)",
"settings.language.finnish": "Finnish (Suomi)",
"settings.language.czech": "Czech (Čeština)",
"settings.project.title": "Project",
"settings.project.browse": "Browse",
"settings.project.reset": "Reset",
"settings.project.resetDefault": "Reset to default",
"settings.project.selectDataFolder": "Select Project Data Folder",
"settings.editor.title": "Editor",
"settings.editor.mode.wysiwyg": "WYSIWYG (Visual Editor)",
"settings.editor.mode.markdown": "Markdown (Source)",
"settings.editor.mode.preview": "Preview (Read-only)",
"settings.editor.diff.inline": "Inline",
"settings.editor.diff.sideBySide": "Side by Side",
"settings.content.title": "Post Categories",
"settings.content.renderInLists": "Render in lists",
"settings.content.showTitles": "Show titles",
"settings.ai.title": "AI Assistant",
"settings.ai.noModels": "No models available",
"settings.publishing.ftpTitle": "FTP Publishing",
"settings.publishing.sshTitle": "SSH Publishing",
"settings.data.title": "Database Maintenance",
"settings.data.fileSystemTitle": "File System",
"settings.search.placeholder": "Search settings...",
"settings.search.noResults": "No settings found matching \"{query}\"",
"settings.search.clear": "Clear search",
"settings.toast.publishingSaved": "Publishing credentials saved",
"settings.toast.saveCredentialsFailed": "Failed to save credentials",
"settings.toast.credentialsCleared": "{type} credentials cleared",
"settings.toast.projectSaved": "Project settings saved",
"settings.toast.projectSaveFailed": "Failed to save project settings",
"settings.toast.categoryAdded": "Category \"{category}\" added",
"settings.toast.categoryAddFailed": "Failed to add category",
"settings.toast.categoryExists": "Category already exists",
"settings.toast.categoryProtected": "Cannot delete standard category \"{category}\"",
"settings.toast.categoryAtLeastOne": "Must have at least one category",
"settings.toast.categoryRemoved": "Category \"{category}\" removed",
"settings.toast.categoryRemoveFailed": "Failed to remove category",
"settings.toast.categoriesReset": "Categories reset to defaults",
"settings.toast.categoriesResetFailed": "Failed to reset categories",
"settings.toast.categorySettingsUpdateFailed": "Failed to update category settings",
"settings.toast.systemPromptSaved": "System prompt saved",
"settings.toast.systemPromptSaveFailed": "Failed to save system prompt",
"settings.toast.systemPromptReset": "System prompt reset to default",
"settings.toast.systemPromptResetFailed": "Failed to reset system prompt",
"settings.toast.apiKeySaved": "API key saved and validated",
"settings.toast.apiKeyInvalid": "Invalid API key",
"settings.toast.apiKeySaveFailed": "Failed to save API key",
"settings.toast.defaultModelUpdated": "Default model updated",
"settings.toast.defaultModelUpdateFailed": "Failed to set default model",
"settings.toast.rebuildPostsLoading": "Rebuilding posts database...",
"settings.toast.rebuildPostsSuccess": "Posts database rebuilt",
"settings.toast.rebuildPostsFailed": "Failed to rebuild posts database",
"settings.toast.rebuildMediaLoading": "Rebuilding media database...",
"settings.toast.rebuildMediaSuccess": "Media database rebuilt",
"settings.toast.rebuildMediaFailed": "Failed to rebuild media database",
"settings.toast.rebuildLinksLoading": "Rebuilding post links...",
"settings.toast.rebuildLinksSuccess": "Post links rebuilt",
"settings.toast.rebuildLinksFailed": "Failed to rebuild post links",
"settings.toast.thumbnailsLoading": "Generating thumbnails...",
"settings.toast.thumbnailsGenerated": "Generated {count} thumbnails",
"settings.toast.thumbnailsAlreadyExist": "All thumbnails already exist",
"settings.toast.thumbnailsComplete": "Thumbnail generation complete",
"settings.toast.thumbnailsFailed": "Failed to generate thumbnails",
"chat.setupTitle": "AI Chat Setup",
"chat.apiKeyRequiredTitle": "OpenCode Zen API Key Required",
"chat.apiKeyRequiredDescription": "Enter your OpenCode API key to enable AI chat.",
"chat.apiKeyPlaceholder": "Enter your API key...",
"chat.apiKeySave": "Save Key",
"chat.apiKeyValidating": "Validating...",
"chat.apiKeyInvalid": "Invalid API key. Please check and try again.",
"chat.apiKeyValidationFailed": "Failed to validate API key.",
"chat.newChat": "New Chat",
"chat.welcomeTitle": "Welcome to the AI Assistant",
"chat.welcomeDescription": "I can help you manage your posts and media. Try asking me to:",
"chat.welcomeTipSearch": "Search for posts about a specific topic",
"chat.welcomeTipDetails": "Get details about a specific post",
"chat.welcomeTipTags": "List all tags or categories in your blog",
"chat.welcomeTipMetadata": "Update metadata for posts or media",
"chat.welcomeTipImages": "List all images in your media library",
"chat.role.you": "You",
"chat.role.assistant": "Assistant",
"chat.stop": "Stop",
"chat.inputPlaceholder": "Type a message...",
"chat.errorPrefix": "Error: {error}",
"chat.errorNoResponse": "Failed to get a response. Please try again.",
"chat.errorEmptyResponse": "The model returned an empty response. Try a different model or rephrase your question.",
"chat.errorGeneric": "Sorry, an error occurred while processing your message.",
"chat.cancelledSuffix": "(cancelled)",
"aiSuggestions.title": "AI Image Analysis",
"aiSuggestions.close": "Close",
"aiSuggestions.analyzing": "Analyzing image...",
"aiSuggestions.titleField": "Title",
"aiSuggestions.altField": "Alt Text",
"aiSuggestions.captionField": "Caption",
"aiSuggestions.hasExisting": "(has existing value)",
"aiSuggestions.current": "Current",
"aiSuggestions.intro": "Select which AI-generated values to apply. Existing values are preserved by default.",
"aiSuggestions.empty": "No suggestions were generated for this image.",
"aiSuggestions.wait": "Please wait...",
"aiSuggestions.applySelected": "Apply Selected",
"insert.title.link": "Insert Link",
"insert.title.image": "Insert Image",
"insert.tab.linkInternal": "Link to Post",
"insert.tab.imageInternal": "Media Library",
"insert.tab.linkExternal": "External URL",
"insert.tab.imageExternal": "External Image",
"insert.searchPlaceholder.link": "Search posts by title or content...",
"insert.searchPlaceholder.image": "Search media by name, title, or alt text...",
"insert.status.searching": "Searching...",
"insert.status.typeMore": "Type at least 2 characters to search",
"insert.status.noResults": "No {kind} found for \"{query}\"",
"insert.label.url": "URL",
"insert.label.linkTextOptional": "Link Text (optional)",
"insert.label.altText": "Alt Text",
"insert.placeholder.linkUrl": "https://example.com",
"insert.placeholder.imageUrl": "https://example.com/image.jpg",
"insert.placeholder.linkText": "Click here",
"insert.placeholder.imageAlt": "Description of the image",
"insert.submit.link": "Insert Link",
"insert.submit.image": "Insert Image",
"insert.hint.internal": "Use ↑↓ to navigate, Enter to select, Esc to close",
"insert.hint.external": "Enter URL and press Enter or click button, Esc to close",
"insert.hint.canonicalPost": "Canonical: /YYYY/MM/DD/slug",
"insert.hint.canonicalMedia": "Canonical: /media/YYYY/MM/file.ext",
"postLinks.loading": "Loading links...",
"postLinks.link": "link",
"postLinks.links": "links",
"postLinks.linksTo": "Links to ({count})",
"postLinks.linkedBy": "Linked by ({count})",
"postLinks.openTitle": "Open: {title}",
"docs.title": "Documentation",
"docs.subtitle": "User guide for this installed bDS version.",
"gitDiff.header": "Diff: {target}",
"gitDiff.noProject": "No active project selected.",
"gitDiff.noProjectPath": "Unable to resolve project path.",
"gitDiff.loadFailed": "Failed to load diff.",
"gitDiff.loading": "Loading diff...",
"gitDiff.changedFiles": "Changed files",
"gitDiff.previousFile": "Previous file",
"gitDiff.nextFile": "Next file",
"errorModal.error": "Error",
"errorModal.stackTrace": "Stack Trace",
"errorModal.copyClipboard": "Copy to clipboard",
"errorModal.copy": "Copy",
"errorModal.noStack": "No stack trace available",
"confirmDelete.title": "Confirm Deletion",
"confirmDelete.promptPost": "Are you sure you want to delete the post",
"confirmDelete.promptMedia": "Are you sure you want to delete the media file",
"confirmDelete.warning": "Warning:",
"confirmDelete.referencedBy": "This {itemType} is referenced by the following items:",
"confirmDelete.note": "Deleting this {itemType} will remove all these references.",
"confirmDelete.cancel": "Cancel",
"confirmDelete.deletePost": "Delete Post",
"confirmDelete.deleteMedia": "Delete Media",
"confirmDelete.itemType.post": "post",
"confirmDelete.itemType.media": "media",
"lightbox.close": "Close (Esc)",
"lightbox.previous": "Previous (←)",
"lightbox.next": "Next (→)",
"credentials.error.load": "Failed to load credentials:",
"credentials.error.save": "Failed to save credentials:",
"credentials.toast.saved": "Credentials saved",
"credentials.toast.saveFailed": "Failed to save credentials",
"credentials.toast.testing": "Testing {type} connection...",
"credentials.toast.connectionFailed": "Connection failed - check credentials",
"credentials.tab.ftp": "FTP",
"credentials.tab.ssh": "SSH",
"credentials.ftp.title": "FTP Publishing",
"credentials.ftp.description": "Configure FTP for publishing your blog to a web server.",
"credentials.ssh.title": "SSH Publishing",
"credentials.ssh.description": "Configure SSH for secure publishing to your server.",
"credentials.field.host": "Host",
"credentials.field.username": "Username",
"credentials.field.password": "Password",
"credentials.field.sshKeyPath": "SSH Key Path",
"credentials.action.testConnection": "Test Connection",
"credentials.ftp.placeholder.host": "ftp.example.com",
"credentials.ftp.placeholder.username": "ftp-user",
"credentials.ftp.placeholder.password": "Password",
"credentials.ssh.placeholder.host": "server.example.com",
"credentials.ssh.placeholder.username": "ssh-user",
"credentials.ssh.placeholder.keyPath": "~/.ssh/id_rsa",
"gitSidebar.header": "SOURCE CONTROL",
"gitSidebar.loading": "Loading...",
"gitSidebar.error.fetchRemoteUpdates": "Failed to fetch remote updates.",
"gitSidebar.error.refreshRemoteState": "Unable to refresh remote tracking state.",
"gitSidebar.error.gitMissing": "Git executable not found. Please install Git and restart the app.",
"gitSidebar.error.noActiveProject": "No active project selected.",
"gitSidebar.error.loadRepoStatus": "Unable to load repository status.",
"gitSidebar.error.initFailed": "Failed to initialize git repository.",
"gitSidebar.error.actionFailed": "Failed to {action}.",
"gitSidebar.error.commitFailed": "Failed to commit changes.",
"gitSidebar.progress.preparingInit": "Preparing repository initialization...",
"gitSidebar.progress.pushingRemote": "Pushing commits to remote... this can take a while for large uploads.",
"gitSidebar.progress.fetching": "Fetching remote updates...",
"gitSidebar.progress.pulling": "Pulling latest changes...",
"gitSidebar.progress.pruningLfs": "Pruning local Git LFS cache...",
"gitSidebar.progress.committing": "Creating commit...",
"gitSidebar.progress.initializingRepo": "Initializing repository...",
"gitSidebar.history.synced": "Synced",
"gitSidebar.history.localOnly": "Local only",
"gitSidebar.history.remoteOnly": "Remote only",
"gitSidebar.init.transcript": "Initialization transcript",
"gitSidebar.aria.repoActions": "Repository actions",
"gitSidebar.aria.openChanges": "Open Changes",
"gitSidebar.aria.commitStatusLegend": "Commit status legend",
"gitSidebar.aria.versionHistory": "Version History",
"gitSidebar.action.fetch": "Fetch",
"gitSidebar.action.fetching": "Fetching...",
"gitSidebar.action.pull": "Pull",
"gitSidebar.action.pulling": "Pulling...",
"gitSidebar.action.push": "Push",
"gitSidebar.action.pushing": "Pushing...",
"gitSidebar.action.pruneLfs": "Prune LFS",
"gitSidebar.action.pruning": "Pruning...",
"gitSidebar.action.commit": "Commit",
"gitSidebar.action.committing": "Committing...",
"gitSidebar.action.initializeGit": "Initialize Git",
"gitSidebar.action.initializing": "Initializing...",
"gitSidebar.openChanges": "Open Changes ({count})",
"gitSidebar.versionHistory": "Version History ({count})",
"gitSidebar.loadingChanges": "Loading changes...",
"gitSidebar.noChanges": "No changes",
"gitSidebar.loadingHistory": "Loading history...",
"gitSidebar.noCommits": "No commits yet",
"gitSidebar.branch": "Branch: {branch}",
"gitSidebar.aheadBehind": "ahead {ahead} / behind {behind}",
"gitSidebar.notRepo": "This project is not a git repository.",
"gitSidebar.placeholder.remoteUrl": "Optional remote repository URL",
"gitSidebar.placeholder.commitMessage": "Commit message",
"editor.untitled": "Untitled",
"tabBar.style": "Style",
"tabBar.loading": "Loading...",
"tabBar.unknown": "Unknown",
"tabBar.preview": "Preview",
"tabBar.modified": "Modified",
"tabBar.closeHint": "Close (Ctrl+W)",
"tabBar.scrollLeft": "Scroll tabs left",
"tabBar.scrollRight": "Scroll tabs right",
"tabBar.commitTitle": "Commit {hash}",
"tabBar.error.fetchPostTitle": "Failed to fetch post title:",
"tabBar.error.fetchChatTitle": "Failed to fetch chat title:",
"tabBar.error.fetchImportTitle": "Failed to fetch import definition title:",
"tabBar.error.fetchCommitTitle": "Failed to fetch commit titles:",
"metadataDiff.title": "Metadata Diff Tool",
"metadataDiff.description": "Compare post metadata between database and markdown files. Fix inconsistencies caused by bugs or manual edits.",
"metadataDiff.error.loadStats": "Failed to load database statistics",
"metadataDiff.error.scan": "Failed to scan for differences",
"metadataDiff.progress.starting": "Starting scan...",
"metadataDiff.progress.scanningPublished": "Scanning published posts...",
"metadataDiff.progress.scanning": "Scanning...",
"metadataDiff.action.scan": "Scan for Differences",
"metadataDiff.action.rescan": "Re-scan",
"metadataDiff.stats.totalPosts": "Total Posts",
"metadataDiff.stats.published": "Published",
"metadataDiff.stats.drafts": "Drafts",
"metadataDiff.stats.mediaFiles": "Media Files",
"metadataDiff.summary.noDiffs": "✅ No differences found! All {total} published posts are in sync.",
"metadataDiff.summary.withDiffs": "⚠️ Found {count} posts with differences out of {total} published posts.",
"metadataDiff.group.differences": "{label} Differences",
"metadataDiff.group.postsCount": "{count} posts",
"metadataDiff.sync.failed": "failed",
"metadataDiff.sync.dbToFile.title": "Update files with database values",
"metadataDiff.sync.dbToFile.success": "Synced {success} posts to files{failed}",
"metadataDiff.sync.dbToFile.error": "Failed to sync to files",
"metadataDiff.sync.fileToDb.title": "Update database with file values",
"metadataDiff.sync.fileToDb.success": "Synced {success} files to database{failed}",
"metadataDiff.sync.fileToDb.error": "Failed to sync to database",
"metadataDiff.value.database": "Database",
"metadataDiff.value.file": "File",
"metadataDiff.empty": "Click \"Scan for Differences\" to compare database metadata with file metadata."
}

View File

@@ -0,0 +1,320 @@
{
"common.save": "Guardar",
"common.cancel": "Cancelar",
"common.clear": "Limpiar",
"common.settings": "Configuración",
"common.tasks": "Tareas",
"common.running": "en ejecución",
"common.pending": "pendiente",
"activity.posts": "Entradas",
"activity.pages": "Páginas",
"activity.media": "Medios",
"activity.tags": "Etiquetas",
"activity.aiAssistant": "Asistente IA",
"activity.import": "Importar",
"activity.sourceControl": "Control de código fuente",
"activity.toggleHint": "(haz clic de nuevo para alternar la barra lateral)",
"tasks.backgroundTasks": "Tareas en segundo plano",
"tasks.clearCompleted": "Limpiar completadas",
"tasks.recent": "Recientes",
"tasks.noActive": "No hay tareas activas",
"tasks.cancelTask": "Cancelar tarea",
"tasks.triggerTitle": "{running} en ejecución, {pending} pendiente",
"app.taskCompleted": "Tarea completada: {message}",
"app.taskFailed": "Tarea fallida: {message}",
"app.databaseRebuildFailed": "La reconstrucción de la base de datos falló",
"app.textReindexFailed": "La reindexación de texto falló",
"app.sitemapGenerationFailed": "La generación del sitemap falló",
"app.previewOpenFailed": "No se pudo abrir la vista previa de la entrada seleccionada",
"app.metadataDiff": "Diferencia de Metadatos",
"app.importComplete": "Importación completada: {posts} entradas, {media} archivos multimedia",
"settings.language.english": "Inglés",
"settings.language.german": "Alemán",
"settings.language.french": "Francés",
"settings.language.italian": "Italiano",
"settings.language.spanish": "Español",
"settings.language.portuguese": "Portugués (Português)",
"settings.language.dutch": "Neerlandés (Nederlands)",
"settings.language.polish": "Polaco (Polski)",
"settings.language.russian": "Ruso (Русский)",
"settings.language.japanese": "Japonés (日本語)",
"settings.language.chinese": "Chino (中文)",
"settings.language.korean": "Coreano (한국어)",
"settings.language.arabic": "Árabe (العربية)",
"settings.language.hindi": "Hindi",
"settings.language.turkish": "Turco (Türkçe)",
"settings.language.swedish": "Sueco (Svenska)",
"settings.language.danish": "Danés (Dansk)",
"settings.language.norwegian": "Noruego (Norsk)",
"settings.language.finnish": "Finés (Suomi)",
"settings.language.czech": "Checo (Čeština)",
"settings.project.title": "Proyecto",
"settings.project.browse": "Examinar",
"settings.project.reset": "Restablecer",
"settings.project.resetDefault": "Restablecer por defecto",
"settings.project.selectDataFolder": "Seleccionar carpeta de datos del proyecto",
"settings.editor.title": "Editor de texto",
"settings.editor.mode.wysiwyg": "WYSIWYG (editor visual)",
"settings.editor.mode.markdown": "Markdown (fuente)",
"settings.editor.mode.preview": "Vista previa (solo lectura)",
"settings.editor.diff.inline": "En línea",
"settings.editor.diff.sideBySide": "Lado a lado",
"settings.content.title": "Categorías de entradas",
"settings.content.renderInLists": "Mostrar en listas",
"settings.content.showTitles": "Mostrar títulos",
"settings.ai.title": "Asistente IA",
"settings.ai.noModels": "No hay modelos disponibles",
"settings.publishing.ftpTitle": "Publicación FTP",
"settings.publishing.sshTitle": "Publicación SSH",
"settings.data.title": "Mantenimiento de base de datos",
"settings.data.fileSystemTitle": "Sistema de archivos",
"settings.search.placeholder": "Buscar configuración...",
"settings.search.noResults": "No configuración found matching \"{query}\"",
"settings.search.clear": "Limpiar búsqueda",
"settings.toast.publishingSaved": "Credenciales de publicación guardadas",
"settings.toast.saveCredentialsFailed": "No se pudo save credentials",
"settings.toast.credentialsCleared": "Credenciales de {type} borradas",
"settings.toast.projectSaved": "Project configuración saved",
"settings.toast.projectSaveFailed": "No se pudo save project configuración",
"settings.toast.categoryAdded": "Categoría \"{category}\" agregada",
"settings.toast.categoryAddFailed": "No se pudo add category",
"settings.toast.categoryExists": "La categoría ya existe",
"settings.toast.categoryProtected": "No se puede eliminar la categoría estándar \"{category}\"",
"settings.toast.categoryAtLeastOne": "Debe haber al menos una categoría",
"settings.toast.categoryRemoved": "Categoría \"{category}\" eliminada",
"settings.toast.categoryRemoveFailed": "No se pudo remove category",
"settings.toast.categoriesReset": "Categorías restablecidas a los valores predeterminados",
"settings.toast.categoriesResetFailed": "No se pudo reset categories",
"settings.toast.categorySettingsUpdateFailed": "No se pudo update category configuración",
"settings.toast.systemPromptSaved": "Prompt del sistema guardado",
"settings.toast.systemPromptSaveFailed": "No se pudo save system prompt",
"settings.toast.systemPromptReset": "Prompt del sistema restablecido al predeterminado",
"settings.toast.systemPromptResetFailed": "No se pudo reset system prompt",
"settings.toast.apiKeySaved": "Clave API guardada y validada",
"settings.toast.apiKeyInvalid": "Clave API no válida",
"settings.toast.apiKeySaveFailed": "No se pudo save API key",
"settings.toast.defaultModelUpdated": "Modelo predeterminado actualizado",
"settings.toast.defaultModelUpdateFailed": "No se pudo set default model",
"settings.toast.rebuildPostsLoading": "Rebuilding entradas database...",
"settings.toast.rebuildPostsSuccess": "Base de datos de publicaciones reconstruida",
"settings.toast.rebuildPostsFailed": "No se pudo rebuild entradas database",
"settings.toast.rebuildMediaLoading": "Rebuilding medios database...",
"settings.toast.rebuildMediaSuccess": "Base de datos de medios reconstruida",
"settings.toast.rebuildMediaFailed": "No se pudo rebuild medios database",
"settings.toast.rebuildLinksLoading": "Rebuilding entrada links...",
"settings.toast.rebuildLinksSuccess": "Enlaces de publicaciones reconstruidos",
"settings.toast.rebuildLinksFailed": "No se pudo rebuild entrada links",
"settings.toast.thumbnailsLoading": "Generando miniaturas...",
"settings.toast.thumbnailsGenerated": "Se generaron {count} miniaturas",
"settings.toast.thumbnailsAlreadyExist": "Todas las miniaturas ya existen",
"settings.toast.thumbnailsComplete": "Generación de miniaturas completa",
"settings.toast.thumbnailsFailed": "No se pudo generate thumbnails",
"chat.setupTitle": "Configuración de chat IA",
"chat.apiKeyRequiredTitle": "Se requiere clave API de OpenCode Zen",
"chat.apiKeyRequiredDescription": "Introduce tu clave API de OpenCode para habilitar el chat de IA.",
"chat.apiKeyPlaceholder": "Introduce tu clave API...",
"chat.apiKeySave": "Guardar clave",
"chat.apiKeyValidating": "Validando...",
"chat.apiKeyInvalid": "Clave API no válida. Compruébala e inténtalo de nuevo.",
"chat.apiKeyValidationFailed": "No se pudo validate API key.",
"chat.newChat": "Nuevo chat",
"chat.welcomeTitle": "Bienvenido al asistente de IA",
"chat.welcomeDescription": "I can help you manage your entradas and medios. Try asking me to:",
"chat.welcomeTipSearch": "Buscar for entradas about a specific topic",
"chat.welcomeTipDetails": "Get details about a specific entrada",
"chat.welcomeTipTags": "Lista todas las etiquetas o categorías de tu blog",
"chat.welcomeTipMetadata": "Update metadata for entradas or medios",
"chat.welcomeTipImages": "List all images in your medios library",
"chat.role.you": "Tú",
"chat.role.assistant": "Asistente",
"chat.stop": "Detener",
"chat.inputPlaceholder": "Escribe un mensaje...",
"chat.errorPrefix": "Error del sistema: {error}",
"chat.errorNoResponse": "No se pudo get a response. Please try again.",
"chat.errorEmptyResponse": "El modelo devolvió una respuesta vacía. Prueba otro modelo o reformula tu pregunta.",
"chat.errorGeneric": "Sorry, an error occurred while processing your mensaje.",
"chat.cancelledSuffix": "(cancelado)",
"aiSuggestions.title": "Análisis de imagen IA",
"aiSuggestions.close": "Cerrar",
"aiSuggestions.analyzing": "Analizando imagen...",
"aiSuggestions.titleField": "Título",
"aiSuggestions.altField": "Texto alternativo",
"aiSuggestions.captionField": "Pie de foto",
"aiSuggestions.hasExisting": "(tiene valor existente)",
"aiSuggestions.current": "Actual",
"aiSuggestions.intro": "Selecciona qué valores generados por IA aplicar. Los valores existentes se conservan de forma predeterminada.",
"aiSuggestions.empty": "No se generaron sugerencias para esta imagen.",
"aiSuggestions.wait": "Por favor espera...",
"aiSuggestions.applySelected": "Aplicar seleccionados",
"insert.title.link": "Insertar enlace",
"insert.title.image": "Insertar imagen",
"insert.tab.linkInternal": "Enlazar a entrada",
"insert.tab.imageInternal": "Biblioteca multimedia",
"insert.tab.linkExternal": "URL externa",
"insert.tab.imageExternal": "Imagen externa",
"insert.searchPlaceholder.link": "Buscar entradas by title or content...",
"insert.searchPlaceholder.image": "Buscar medios by name, title, or alt text...",
"insert.status.searching": "Buscando...",
"insert.status.typeMore": "Escribe al menos 2 caracteres para buscar",
"insert.status.noResults": "No se encontró {kind} para \"{query}\"",
"insert.label.url": "Dirección URL",
"insert.label.linkTextOptional": "Texto del enlace (opcional)",
"insert.label.altText": "Texto alternativo",
"insert.placeholder.linkUrl": "https://ejemplo.es",
"insert.placeholder.imageUrl": "https://ejemplo.es/imagen.jpg",
"insert.placeholder.linkText": "Haz clic aquí",
"insert.placeholder.imageAlt": "Descripción de la imagen",
"insert.submit.link": "Insertar enlace",
"insert.submit.image": "Insertar imagen",
"insert.hint.internal": "Usa ↑↓ para navegar, Enter para seleccionar, Esc para cerrar",
"insert.hint.external": "Introduce la URL y pulsa Enter o haz clic en el botón, Esc para cerrar",
"insert.hint.canonicalPost": "Canónico: /YYYY/MM/DD/slug",
"insert.hint.canonicalMedia": "Canonical: /medios/YYYY/MM/file.ext",
"postLinks.loading": "Cargando enlaces...",
"postLinks.link": "enlace",
"postLinks.links": "enlaces",
"postLinks.linksTo": "Enlaces a ({count})",
"postLinks.linkedBy": "Enlazado por ({count})",
"postLinks.openTitle": "Abrir: {title}",
"docs.title": "Documentación",
"docs.subtitle": "Guía de usuario para esta versión instalada de bDS.",
"gitDiff.header": "Diferencia: {target}",
"gitDiff.noProject": "No hay un proyecto activo seleccionado.",
"gitDiff.noProjectPath": "No se pudo resolver la ruta del proyecto.",
"gitDiff.loadFailed": "No se pudo load diff.",
"gitDiff.loading": "Cargando diff...",
"gitDiff.changedFiles": "Archivos modificados",
"gitDiff.previousFile": "Archivo anterior",
"gitDiff.nextFile": "Archivo siguiente",
"errorModal.error": "Error del sistema",
"errorModal.stackTrace": "Traza de pila",
"errorModal.copyClipboard": "Copiar al portapapeles",
"errorModal.copy": "Copiar",
"errorModal.noStack": "No hay traza de pila disponible",
"confirmDelete.title": "Confirmar eliminación",
"confirmDelete.promptPost": "Are you sure you want to delete the entrada",
"confirmDelete.promptMedia": "Are you sure you want to delete the medios file",
"confirmDelete.warning": "Advertencia:",
"confirmDelete.referencedBy": "Este {itemType} está referenciado por los siguientes elementos:",
"confirmDelete.note": "Eliminar este {itemType} quitará todas estas referencias.",
"confirmDelete.cancel": "Cancelar",
"confirmDelete.deletePost": "Eliminar publicación",
"confirmDelete.deleteMedia": "Eliminar medio",
"confirmDelete.itemType.post": "entrada",
"confirmDelete.itemType.media": "medios",
"lightbox.close": "Cerrar (Esc)",
"lightbox.previous": "Anterior (←)",
"lightbox.next": "Siguiente (→)",
"credentials.error.load": "No se pudo load credentials:",
"credentials.error.save": "No se pudo save credentials:",
"credentials.toast.saved": "Credenciales guardadas",
"credentials.toast.saveFailed": "No se pudo save credentials",
"credentials.toast.testing": "Probando conexión {type}...",
"credentials.toast.connectionFailed": "Connection falló - check credentials",
"credentials.tab.ftp": "Acceso FTP",
"credentials.tab.ssh": "Acceso SSH",
"credentials.ftp.title": "Publicación FTP",
"credentials.ftp.description": "Configura FTP para publicar tu blog en un servidor web.",
"credentials.ssh.title": "Publicación SSH",
"credentials.ssh.description": "Configura SSH para publicar de forma segura en tu servidor.",
"credentials.field.host": "Servidor",
"credentials.field.username": "Nombre de usuario",
"credentials.field.password": "Contraseña",
"credentials.field.sshKeyPath": "Ruta de clave SSH",
"credentials.action.testConnection": "Probar conexión",
"credentials.ftp.placeholder.host": "ftp.ejemplo.es",
"credentials.ftp.placeholder.username": "usuario-ftp",
"credentials.ftp.placeholder.password": "Contraseña",
"credentials.ssh.placeholder.host": "servidor.ejemplo.es",
"credentials.ssh.placeholder.username": "usuario-ssh",
"credentials.ssh.placeholder.keyPath": "~/.ssh/clave_id_rsa",
"gitSidebar.header": "CONTROL DE CÓDIGO FUENTE",
"gitSidebar.loading": "Cargando...",
"gitSidebar.error.fetchRemoteUpdates": "No se pudo fetch remote updates.",
"gitSidebar.error.refreshRemoteState": "No se pudo actualizar el estado de seguimiento remoto.",
"gitSidebar.error.gitMissing": "No se encontró el ejecutable de Git. Instala Git y reinicia la aplicación.",
"gitSidebar.error.noActiveProject": "No hay un proyecto activo seleccionado.",
"gitSidebar.error.loadRepoStatus": "No se pudo cargar el estado del repositorio.",
"gitSidebar.error.initFailed": "No se pudo initialize git repository.",
"gitSidebar.error.actionFailed": "No se pudo {action}.",
"gitSidebar.error.commitFailed": "No se pudo commit changes.",
"gitSidebar.progress.preparingInit": "Preparando inicialización del repositorio...",
"gitSidebar.progress.pushingRemote": "Enviando commits al remoto... esto puede tardar con cargas grandes.",
"gitSidebar.progress.fetching": "Obteniendo actualizaciones remotas...",
"gitSidebar.progress.pulling": "Extrayendo los últimos cambios...",
"gitSidebar.progress.pruningLfs": "Limpiando caché local de Git LFS...",
"gitSidebar.progress.committing": "Creando commit...",
"gitSidebar.progress.initializingRepo": "Inicializando repositorio...",
"gitSidebar.history.synced": "Sincronizado",
"gitSidebar.history.localOnly": "Solo local",
"gitSidebar.history.remoteOnly": "Solo remoto",
"gitSidebar.init.transcript": "Registro de inicialización",
"gitSidebar.aria.repoActions": "Acciones del repositorio",
"gitSidebar.aria.openChanges": "Cambios abiertos",
"gitSidebar.aria.commitStatusLegend": "Leyenda del estado de commit",
"gitSidebar.aria.versionHistory": "Historial de versiones",
"gitSidebar.action.fetch": "Obtener",
"gitSidebar.action.fetching": "Obteniendo...",
"gitSidebar.action.pull": "Traer",
"gitSidebar.action.pulling": "Trayendo cambios...",
"gitSidebar.action.push": "Enviar",
"gitSidebar.action.pushing": "Enviando...",
"gitSidebar.action.pruneLfs": "Podar LFS",
"gitSidebar.action.pruning": "Podando...",
"gitSidebar.action.commit": "Realizar commit",
"gitSidebar.action.committing": "Haciendo commit...",
"gitSidebar.action.initializeGit": "Inicializar Git",
"gitSidebar.action.initializing": "Inicializando...",
"gitSidebar.openChanges": "Abrir Changes ({count})",
"gitSidebar.versionHistory": "Historial de versiones ({count})",
"gitSidebar.loadingChanges": "Cargando cambios...",
"gitSidebar.noChanges": "Sin cambios",
"gitSidebar.loadingHistory": "Cargando historial...",
"gitSidebar.noCommits": "Aún no hay commits",
"gitSidebar.branch": "Rama: {branch}",
"gitSidebar.aheadBehind": "adelante {ahead} / detrás {behind}",
"gitSidebar.notRepo": "Este proyecto no es un repositorio git.",
"gitSidebar.placeholder.remoteUrl": "URL opcional del repositorio remoto",
"gitSidebar.placeholder.commitMessage": "Mensaje de commit",
"editor.untitled": "Sin título",
"tabBar.style": "Estilo",
"tabBar.loading": "Cargando...",
"tabBar.unknown": "Desconocido",
"tabBar.preview": "Vista previa",
"tabBar.modified": "Modificado",
"tabBar.closeHint": "Cerrar (Ctrl+W)",
"tabBar.scrollLeft": "Desplazar pestañas a la izquierda",
"tabBar.scrollRight": "Desplazar pestañas a la derecha",
"tabBar.commitTitle": "Confirmación {hash}",
"tabBar.error.fetchPostTitle": "No se pudo fetch entrada title:",
"tabBar.error.fetchChatTitle": "No se pudo fetch chat title:",
"tabBar.error.fetchImportTitle": "No se pudo fetch import definition title:",
"tabBar.error.fetchCommitTitle": "No se pudo fetch commit titles:",
"metadataDiff.title": "Herramienta diff de metadatos",
"metadataDiff.description": "Compare entrada metadata between database and markdown files. Fix inconsistencies caused by bugs or manual edits.",
"metadataDiff.error.loadStats": "No se pudo load database statistics",
"metadataDiff.error.scan": "No se pudo scan for differences",
"metadataDiff.progress.starting": "Iniciando escaneo...",
"metadataDiff.progress.scanningPublished": "Scanning published entradas...",
"metadataDiff.progress.scanning": "Escaneando...",
"metadataDiff.action.scan": "Buscar diferencias",
"metadataDiff.action.rescan": "Volver a escanear",
"metadataDiff.stats.totalPosts": "Entradas totales",
"metadataDiff.stats.published": "Publicadas",
"metadataDiff.stats.drafts": "Borradores",
"metadataDiff.stats.mediaFiles": "Archivos multimedia",
"metadataDiff.summary.noDiffs": "✅ No differences found! All {total} published entradas are in sync.",
"metadataDiff.summary.withDiffs": "⚠️ Found {count} entradas with differences out of {total} published entradas.",
"metadataDiff.group.differences": "Diferencias de {label}",
"metadataDiff.group.postsCount": "{count} entradas",
"metadataDiff.sync.failed": "falló",
"metadataDiff.sync.dbToFile.title": "Actualizar archivos con valores de la base de datos",
"metadataDiff.sync.dbToFile.success": "Synced {success} entradas to files{falló}",
"metadataDiff.sync.dbToFile.error": "No se pudo sync to files",
"metadataDiff.sync.fileToDb.title": "Actualizar base de datos con valores de archivos",
"metadataDiff.sync.fileToDb.success": "Synced {success} files to database{falló}",
"metadataDiff.sync.fileToDb.error": "No se pudo sync to database",
"metadataDiff.value.database": "Base de datos",
"metadataDiff.value.file": "Archivo",
"metadataDiff.empty": "Haz clic en \"Buscar diferencias\" para comparar metadatos de base de datos con metadatos de archivos."
}

View File

@@ -0,0 +1,320 @@
{
"common.save": "Enregistrer",
"common.cancel": "Annuler",
"common.clear": "Effacer",
"common.settings": "Paramètres",
"common.tasks": "Tâches",
"common.running": "en cours",
"common.pending": "en attente",
"activity.posts": "Articles",
"activity.pages": "Pages du site",
"activity.media": "Médias",
"activity.tags": "Étiquettes",
"activity.aiAssistant": "Assistant IA",
"activity.import": "Importation",
"activity.sourceControl": "Contrôle de source",
"activity.toggleHint": "(cliquez à nouveau pour basculer la barre latérale)",
"tasks.backgroundTasks": "Tâches en arrière-plan",
"tasks.clearCompleted": "Effacer terminé",
"tasks.recent": "Récentes",
"tasks.noActive": "Aucune tâche active",
"tasks.cancelTask": "Annuler la tâche",
"tasks.triggerTitle": "{running} en cours, {pending} en attente",
"app.taskCompleted": "Tâche terminée : {message}",
"app.taskFailed": "Échec de la tâche : {message}",
"app.databaseRebuildFailed": "Échec de la reconstruction de la base de données",
"app.textReindexFailed": "Échec de la réindexation du texte",
"app.sitemapGenerationFailed": "Échec de la génération du sitemap",
"app.previewOpenFailed": "Impossible douvrir laperçu de larticle sélectionné",
"app.metadataDiff": "Diff Métadonnées",
"app.importComplete": "Import terminé : {posts} articles, {media} fichiers média",
"settings.language.english": "Anglais",
"settings.language.german": "Allemand",
"settings.language.french": "Français",
"settings.language.italian": "Italien",
"settings.language.spanish": "Espagnol",
"settings.language.portuguese": "Portugais (Português)",
"settings.language.dutch": "Néerlandais (Nederlands)",
"settings.language.polish": "Polonais (Polski)",
"settings.language.russian": "Russe (Русский)",
"settings.language.japanese": "Japonais (日本語)",
"settings.language.chinese": "Chinois (中文)",
"settings.language.korean": "Coréen (한국어)",
"settings.language.arabic": "Arabe (العربية)",
"settings.language.hindi": "Hindi",
"settings.language.turkish": "Turc (Türkçe)",
"settings.language.swedish": "Suédois (Svenska)",
"settings.language.danish": "Danois (Dansk)",
"settings.language.norwegian": "Norvégien (Norsk)",
"settings.language.finnish": "Finnois (Suomi)",
"settings.language.czech": "Tchèque (Čeština)",
"settings.project.title": "Projet",
"settings.project.browse": "Parcourir",
"settings.project.reset": "Réinitialiser",
"settings.project.resetDefault": "Réinitialiser par défaut",
"settings.project.selectDataFolder": "Sélectionner le dossier de données du projet",
"settings.editor.title": "Éditeur",
"settings.editor.mode.wysiwyg": "WYSIWYG (éditeur visuel)",
"settings.editor.mode.markdown": "Markdown (source)",
"settings.editor.mode.preview": "Aperçu (lecture seule)",
"settings.editor.diff.inline": "En ligne",
"settings.editor.diff.sideBySide": "Côte à côte",
"settings.content.title": "Catégories darticles",
"settings.content.renderInLists": "Afficher dans les listes",
"settings.content.showTitles": "Afficher les titres",
"settings.ai.title": "Assistant IA",
"settings.ai.noModels": "Aucun modèle disponible",
"settings.publishing.ftpTitle": "Publication FTP",
"settings.publishing.sshTitle": "Publication SSH",
"settings.data.title": "Maintenance de la base de données",
"settings.data.fileSystemTitle": "Système de fichiers",
"settings.search.placeholder": "Rechercher des paramètres...",
"settings.search.noResults": "No paramètres found matching \"{query}\"",
"settings.search.clear": "Effacer la recherche",
"settings.toast.publishingSaved": "Identifiants de publication enregistrés",
"settings.toast.saveCredentialsFailed": "Échec de save credentials",
"settings.toast.credentialsCleared": "Identifiants {type} effacés",
"settings.toast.projectSaved": "Project paramètres saved",
"settings.toast.projectSaveFailed": "Échec de save project paramètres",
"settings.toast.categoryAdded": "Catégorie \"{category}\" ajoutée",
"settings.toast.categoryAddFailed": "Échec de add category",
"settings.toast.categoryExists": "La catégorie existe déjà",
"settings.toast.categoryProtected": "Impossible de supprimer la catégorie standard \"{category}\"",
"settings.toast.categoryAtLeastOne": "Au moins une catégorie est requise",
"settings.toast.categoryRemoved": "Catégorie \"{category}\" supprimée",
"settings.toast.categoryRemoveFailed": "Échec de remove category",
"settings.toast.categoriesReset": "Catégories réinitialisées aux valeurs par défaut",
"settings.toast.categoriesResetFailed": "Échec de reset categories",
"settings.toast.categorySettingsUpdateFailed": "Échec de update category paramètres",
"settings.toast.systemPromptSaved": "Prompt système enregistré",
"settings.toast.systemPromptSaveFailed": "Échec de save system prompt",
"settings.toast.systemPromptReset": "Prompt système réinitialisé par défaut",
"settings.toast.systemPromptResetFailed": "Échec de reset system prompt",
"settings.toast.apiKeySaved": "Clé API enregistrée et validée",
"settings.toast.apiKeyInvalid": "Clé API invalide",
"settings.toast.apiKeySaveFailed": "Échec de save API key",
"settings.toast.defaultModelUpdated": "Modèle par défaut mis à jour",
"settings.toast.defaultModelUpdateFailed": "Échec de set default model",
"settings.toast.rebuildPostsLoading": "Rebuilding articles database...",
"settings.toast.rebuildPostsSuccess": "Base des articles reconstruite",
"settings.toast.rebuildPostsFailed": "Échec de rebuild articles database",
"settings.toast.rebuildMediaLoading": "Rebuilding médias database...",
"settings.toast.rebuildMediaSuccess": "Base médias reconstruite",
"settings.toast.rebuildMediaFailed": "Échec de rebuild médias database",
"settings.toast.rebuildLinksLoading": "Rebuilding article links...",
"settings.toast.rebuildLinksSuccess": "Liens darticles reconstruits",
"settings.toast.rebuildLinksFailed": "Échec de rebuild article links",
"settings.toast.thumbnailsLoading": "Génération des miniatures...",
"settings.toast.thumbnailsGenerated": "{count} miniatures générées",
"settings.toast.thumbnailsAlreadyExist": "Toutes les miniatures existent déjà",
"settings.toast.thumbnailsComplete": "Génération des miniatures terminée",
"settings.toast.thumbnailsFailed": "Échec de generate thumbnails",
"chat.setupTitle": "Configuration du chat IA",
"chat.apiKeyRequiredTitle": "Clé API OpenCode Zen requise",
"chat.apiKeyRequiredDescription": "Saisissez votre clé API OpenCode pour activer le chat IA.",
"chat.apiKeyPlaceholder": "Saisissez votre clé API...",
"chat.apiKeySave": "Enregistrer la clé",
"chat.apiKeyValidating": "Validation...",
"chat.apiKeyInvalid": "Clé API invalide. Veuillez vérifier et réessayer.",
"chat.apiKeyValidationFailed": "Échec de validate API key.",
"chat.newChat": "Nouveau chat",
"chat.welcomeTitle": "Bienvenue dans lassistant IA",
"chat.welcomeDescription": "I can help you manage your articles and médias. Try asking me to:",
"chat.welcomeTipSearch": "Recherche for articles about a specific topic",
"chat.welcomeTipDetails": "Get details about a specific article",
"chat.welcomeTipTags": "Lister toutes les étiquettes ou catégories de votre blog",
"chat.welcomeTipMetadata": "Update metadata for articles or médias",
"chat.welcomeTipImages": "List all images in your médias library",
"chat.role.you": "Vous",
"chat.role.assistant": "Assistant IA",
"chat.stop": "Arrêter",
"chat.inputPlaceholder": "Saisissez un message...",
"chat.errorPrefix": "Erreur : {error}",
"chat.errorNoResponse": "Échec de get a response. Please try again.",
"chat.errorEmptyResponse": "Le modèle a renvoyé une réponse vide. Essayez un autre modèle ou reformulez votre question.",
"chat.errorGeneric": "Désolé, une erreur est survenue lors du traitement de votre message.",
"chat.cancelledSuffix": "(annulé)",
"aiSuggestions.title": "Analyse dimage IA",
"aiSuggestions.close": "Fermer",
"aiSuggestions.analyzing": "Analyse de limage...",
"aiSuggestions.titleField": "Titre",
"aiSuggestions.altField": "Texte alternatif",
"aiSuggestions.captionField": "Légende",
"aiSuggestions.hasExisting": "(valeur existante)",
"aiSuggestions.current": "Actuel",
"aiSuggestions.intro": "Sélectionnez les valeurs générées par lIA à appliquer. Les valeurs existantes sont conservées par défaut.",
"aiSuggestions.empty": "Aucune suggestion na été générée pour cette image.",
"aiSuggestions.wait": "Veuillez patienter...",
"aiSuggestions.applySelected": "Appliquer la sélection",
"insert.title.link": "Insérer un lien",
"insert.title.image": "Insérer une image",
"insert.tab.linkInternal": "Lier à un article",
"insert.tab.imageInternal": "Bibliothèque média",
"insert.tab.linkExternal": "URL externe",
"insert.tab.imageExternal": "Image externe",
"insert.searchPlaceholder.link": "Recherche articles by title or content...",
"insert.searchPlaceholder.image": "Recherche médias by name, title, or alt text...",
"insert.status.searching": "Recherche...",
"insert.status.typeMore": "Saisissez au moins 2 caractères pour rechercher",
"insert.status.noResults": "Aucun(e) {kind} trouvé(e) pour \"{query}\"",
"insert.label.url": "Adresse URL",
"insert.label.linkTextOptional": "Texte du lien (optionnel)",
"insert.label.altText": "Texte alternatif",
"insert.placeholder.linkUrl": "https://exemple.fr",
"insert.placeholder.imageUrl": "https://exemple.fr/image.jpg",
"insert.placeholder.linkText": "Cliquez ici",
"insert.placeholder.imageAlt": "Description de limage",
"insert.submit.link": "Insérer un lien",
"insert.submit.image": "Insérer une image",
"insert.hint.internal": "Utilisez ↑↓ pour naviguer, Entrée pour sélectionner, Esc pour fermer",
"insert.hint.external": "Entrez lURL et appuyez sur Entrée ou cliquez sur le bouton, Esc pour fermer",
"insert.hint.canonicalPost": "Canonique : /YYYY/MM/DD/slug",
"insert.hint.canonicalMedia": "Canonical: /médias/YYYY/MM/file.ext",
"postLinks.loading": "Chargement des liens...",
"postLinks.link": "lien",
"postLinks.links": "liens",
"postLinks.linksTo": "Liens vers ({count})",
"postLinks.linkedBy": "Lié par ({count})",
"postLinks.openTitle": "Ouvrir: {title}",
"docs.title": "Guide utilisateur",
"docs.subtitle": "Guide utilisateur pour cette version installée de bDS.",
"gitDiff.header": "Diff : {target}",
"gitDiff.noProject": "Aucun projet actif sélectionné.",
"gitDiff.noProjectPath": "Impossible de résoudre le chemin du projet.",
"gitDiff.loadFailed": "Échec de load diff.",
"gitDiff.loading": "Chargement du diff...",
"gitDiff.changedFiles": "Fichiers modifiés",
"gitDiff.previousFile": "Fichier précédent",
"gitDiff.nextFile": "Fichier suivant",
"errorModal.error": "Erreur",
"errorModal.stackTrace": "Trace de pile",
"errorModal.copyClipboard": "Copier dans le presse-papiers",
"errorModal.copy": "Copier",
"errorModal.noStack": "Aucune trace de pile disponible",
"confirmDelete.title": "Confirmer la suppression",
"confirmDelete.promptPost": "Are you sure you want to delete the article",
"confirmDelete.promptMedia": "Are you sure you want to delete the médias file",
"confirmDelete.warning": "Avertissement :",
"confirmDelete.referencedBy": "Ce/cette {itemType} est référencé(e) par les éléments suivants :",
"confirmDelete.note": "La suppression de ce/cette {itemType} supprimera toutes ces références.",
"confirmDelete.cancel": "Annuler",
"confirmDelete.deletePost": "Supprimer larticle",
"confirmDelete.deleteMedia": "Supprimer le média",
"confirmDelete.itemType.post": "article",
"confirmDelete.itemType.media": "médias",
"lightbox.close": "Fermer (Esc)",
"lightbox.previous": "Précédent (←)",
"lightbox.next": "Suivant (→)",
"credentials.error.load": "Échec de load credentials:",
"credentials.error.save": "Échec de save credentials:",
"credentials.toast.saved": "Identifiants enregistrés",
"credentials.toast.saveFailed": "Échec de save credentials",
"credentials.toast.testing": "Test de la connexion {type}...",
"credentials.toast.connectionFailed": "Connection échoué - check credentials",
"credentials.tab.ftp": "Accès FTP",
"credentials.tab.ssh": "Accès SSH",
"credentials.ftp.title": "Publication FTP",
"credentials.ftp.description": "Configurez FTP pour publier votre blog sur un serveur web.",
"credentials.ssh.title": "Publication SSH",
"credentials.ssh.description": "Configurez SSH pour une publication sécurisée sur votre serveur.",
"credentials.field.host": "Hôte",
"credentials.field.username": "Nom dutilisateur",
"credentials.field.password": "Mot de passe",
"credentials.field.sshKeyPath": "Chemin de clé SSH",
"credentials.action.testConnection": "Tester la connexion",
"credentials.ftp.placeholder.host": "ftp.exemple.fr",
"credentials.ftp.placeholder.username": "utilisateur-ftp",
"credentials.ftp.placeholder.password": "Mot de passe",
"credentials.ssh.placeholder.host": "serveur.exemple.fr",
"credentials.ssh.placeholder.username": "utilisateur-ssh",
"credentials.ssh.placeholder.keyPath": "~/.ssh/ma_cle",
"gitSidebar.header": "CONTRÔLE DE SOURCE",
"gitSidebar.loading": "Chargement...",
"gitSidebar.error.fetchRemoteUpdates": "Échec de fetch remote updates.",
"gitSidebar.error.refreshRemoteState": "Impossible dactualiser létat de suivi distant.",
"gitSidebar.error.gitMissing": "Exécutable Git introuvable. Veuillez installer Git et redémarrer lapplication.",
"gitSidebar.error.noActiveProject": "Aucun projet actif sélectionné.",
"gitSidebar.error.loadRepoStatus": "Impossible de charger létat du dépôt.",
"gitSidebar.error.initFailed": "Échec de initialize git repository.",
"gitSidebar.error.actionFailed": "Échec de {action}.",
"gitSidebar.error.commitFailed": "Échec de commit changes.",
"gitSidebar.progress.preparingInit": "Préparation de linitialisation du dépôt...",
"gitSidebar.progress.pushingRemote": "Envoi des commits vers le distant... cela peut prendre un moment pour les gros envois.",
"gitSidebar.progress.fetching": "Récupération des mises à jour distantes...",
"gitSidebar.progress.pulling": "Récupération des dernières modifications...",
"gitSidebar.progress.pruningLfs": "Nettoyage du cache local Git LFS...",
"gitSidebar.progress.committing": "Création du commit...",
"gitSidebar.progress.initializingRepo": "Initialisation du dépôt...",
"gitSidebar.history.synced": "Synchronisé",
"gitSidebar.history.localOnly": "Local uniquement",
"gitSidebar.history.remoteOnly": "Distant uniquement",
"gitSidebar.init.transcript": "Journal dinitialisation",
"gitSidebar.aria.repoActions": "Actions du dépôt",
"gitSidebar.aria.openChanges": "Modifications ouvertes",
"gitSidebar.aria.commitStatusLegend": "Légende du statut de commit",
"gitSidebar.aria.versionHistory": "Historique des versions",
"gitSidebar.action.fetch": "Récupérer",
"gitSidebar.action.fetching": "Récupération...",
"gitSidebar.action.pull": "Tirer",
"gitSidebar.action.pulling": "Récupération des changements...",
"gitSidebar.action.push": "Pousser",
"gitSidebar.action.pushing": "Envoi...",
"gitSidebar.action.pruneLfs": "Purger LFS",
"gitSidebar.action.pruning": "Purge...",
"gitSidebar.action.commit": "Valider",
"gitSidebar.action.committing": "Commit en cours...",
"gitSidebar.action.initializeGit": "Initialiser Git",
"gitSidebar.action.initializing": "Initialisation...",
"gitSidebar.openChanges": "Ouvrir Changes ({count})",
"gitSidebar.versionHistory": "Historique des versions ({count})",
"gitSidebar.loadingChanges": "Chargement des modifications...",
"gitSidebar.noChanges": "Aucune modification",
"gitSidebar.loadingHistory": "Chargement de lhistorique...",
"gitSidebar.noCommits": "Aucun commit pour le moment",
"gitSidebar.branch": "Branche : {branch}",
"gitSidebar.aheadBehind": "en avance {ahead} / en retard {behind}",
"gitSidebar.notRepo": "Ce projet nest pas un dépôt git.",
"gitSidebar.placeholder.remoteUrl": "URL optionnelle du dépôt distant",
"gitSidebar.placeholder.commitMessage": "Message de commit",
"editor.untitled": "Sans titre",
"tabBar.style": "Apparence",
"tabBar.loading": "Chargement...",
"tabBar.unknown": "Inconnu",
"tabBar.preview": "Aperçu",
"tabBar.modified": "Modifié",
"tabBar.closeHint": "Fermer (Ctrl+W)",
"tabBar.scrollLeft": "Faire défiler les onglets vers la gauche",
"tabBar.scrollRight": "Faire défiler les onglets vers la droite",
"tabBar.commitTitle": "Validation {hash}",
"tabBar.error.fetchPostTitle": "Échec de fetch article title:",
"tabBar.error.fetchChatTitle": "Échec de fetch chat title:",
"tabBar.error.fetchImportTitle": "Échec de fetch import definition title:",
"tabBar.error.fetchCommitTitle": "Échec de fetch commit titles:",
"metadataDiff.title": "Outil de diff des métadonnées",
"metadataDiff.description": "Compare article metadata between database and markdown files. Fix inconsistencies caused by bugs or manual edits.",
"metadataDiff.error.loadStats": "Échec de load database statistics",
"metadataDiff.error.scan": "Échec de scan for differences",
"metadataDiff.progress.starting": "Démarrage de lanalyse...",
"metadataDiff.progress.scanningPublished": "Scanning published articles...",
"metadataDiff.progress.scanning": "Analyse en cours...",
"metadataDiff.action.scan": "Analyser les différences",
"metadataDiff.action.rescan": "Relancer lanalyse",
"metadataDiff.stats.totalPosts": "Articles au total",
"metadataDiff.stats.published": "Publiés",
"metadataDiff.stats.drafts": "Brouillons",
"metadataDiff.stats.mediaFiles": "Fichiers média",
"metadataDiff.summary.noDiffs": "✅ No differences found! All {total} published articles are in sync.",
"metadataDiff.summary.withDiffs": "⚠️ Found {count} articles with differences out of {total} published articles.",
"metadataDiff.group.differences": "Différences de {label}",
"metadataDiff.group.postsCount": "{count} articles",
"metadataDiff.sync.failed": "échoué",
"metadataDiff.sync.dbToFile.title": "Mettre à jour les fichiers avec les valeurs de la base",
"metadataDiff.sync.dbToFile.success": "Synced {success} articles to files{échoué}",
"metadataDiff.sync.dbToFile.error": "Échec de sync to files",
"metadataDiff.sync.fileToDb.title": "Mettre à jour la base avec les valeurs des fichiers",
"metadataDiff.sync.fileToDb.success": "Synced {success} files to database{échoué}",
"metadataDiff.sync.fileToDb.error": "Échec de sync to database",
"metadataDiff.value.database": "Base de données",
"metadataDiff.value.file": "Fichier",
"metadataDiff.empty": "Cliquez sur « Rechercher les différences » pour comparer les métadonnées de la base et celles des fichiers."
}

View File

@@ -0,0 +1,320 @@
{
"common.save": "Salva",
"common.cancel": "Annulla",
"common.clear": "Cancella",
"common.settings": "Impostazioni",
"common.tasks": "Attività",
"common.running": "in esecuzione",
"common.pending": "in attesa",
"activity.posts": "Post",
"activity.pages": "Pagine",
"activity.media": "Contenuti media",
"activity.tags": "Tag",
"activity.aiAssistant": "Assistente IA",
"activity.import": "Importa",
"activity.sourceControl": "Controllo sorgente",
"activity.toggleHint": "(clicca di nuovo per mostrare/nascondere la barra laterale)",
"tasks.backgroundTasks": "Attività in background",
"tasks.clearCompleted": "Cancella completate",
"tasks.recent": "Recenti",
"tasks.noActive": "Nessuna attività attiva",
"tasks.cancelTask": "Annulla attività",
"tasks.triggerTitle": "{running} in esecuzione, {pending} in attesa",
"app.taskCompleted": "Attività completata: {message}",
"app.taskFailed": "Attività non riuscita: {message}",
"app.databaseRebuildFailed": "Ricostruzione database non riuscita",
"app.textReindexFailed": "Reindicizzazione testo non riuscita",
"app.sitemapGenerationFailed": "Generazione sitemap non riuscita",
"app.previewOpenFailed": "Impossibile aprire lanteprima del post selezionato",
"app.metadataDiff": "Diff Metadati",
"app.importComplete": "Import completato: {posts} post, {media} file multimediali",
"settings.language.english": "Inglese",
"settings.language.german": "Tedesco",
"settings.language.french": "Francese",
"settings.language.italian": "Italiano",
"settings.language.spanish": "Spagnolo",
"settings.language.portuguese": "Portoghese (Português)",
"settings.language.dutch": "Olandese (Nederlands)",
"settings.language.polish": "Polacco (Polski)",
"settings.language.russian": "Russo (Русский)",
"settings.language.japanese": "Giapponese (日本語)",
"settings.language.chinese": "Cinese (中文)",
"settings.language.korean": "Coreano (한국어)",
"settings.language.arabic": "Arabo (العربية)",
"settings.language.hindi": "Hindi",
"settings.language.turkish": "Turco (Türkçe)",
"settings.language.swedish": "Svedese (Svenska)",
"settings.language.danish": "Danese (Dansk)",
"settings.language.norwegian": "Norvegese (Norsk)",
"settings.language.finnish": "Finlandese (Suomi)",
"settings.language.czech": "Ceco (Čeština)",
"settings.project.title": "Progetto",
"settings.project.browse": "Sfoglia",
"settings.project.reset": "Reimposta",
"settings.project.resetDefault": "Ripristina predefinito",
"settings.project.selectDataFolder": "Seleziona cartella dati del progetto",
"settings.editor.title": "Editor di testo",
"settings.editor.mode.wysiwyg": "WYSIWYG (editor visuale)",
"settings.editor.mode.markdown": "Markdown (sorgente)",
"settings.editor.mode.preview": "Anteprima (sola lettura)",
"settings.editor.diff.inline": "In linea",
"settings.editor.diff.sideBySide": "Affiancato",
"settings.content.title": "Categorie post",
"settings.content.renderInLists": "Mostra negli elenchi",
"settings.content.showTitles": "Mostra titoli",
"settings.ai.title": "Assistente IA",
"settings.ai.noModels": "Nessun modello disponibile",
"settings.publishing.ftpTitle": "Pubblicazione FTP",
"settings.publishing.sshTitle": "Pubblicazione SSH",
"settings.data.title": "Manutenzione database",
"settings.data.fileSystemTitle": "File system",
"settings.search.placeholder": "Cerca impostazioni...",
"settings.search.noResults": "No impostazioni found matching \"{query}\"",
"settings.search.clear": "Cancella ricerca",
"settings.toast.publishingSaved": "Credenziali di pubblicazione salvate",
"settings.toast.saveCredentialsFailed": "Impossibile save credentials",
"settings.toast.credentialsCleared": "Credenziali {type} cancellate",
"settings.toast.projectSaved": "Project impostazioni saved",
"settings.toast.projectSaveFailed": "Impossibile save project impostazioni",
"settings.toast.categoryAdded": "Categoria \"{category}\" aggiunta",
"settings.toast.categoryAddFailed": "Impossibile add category",
"settings.toast.categoryExists": "La categoria esiste già",
"settings.toast.categoryProtected": "Impossibile eliminare la categoria standard \"{category}\"",
"settings.toast.categoryAtLeastOne": "Deve esserci almeno una categoria",
"settings.toast.categoryRemoved": "Categoria \"{category}\" rimossa",
"settings.toast.categoryRemoveFailed": "Impossibile remove category",
"settings.toast.categoriesReset": "Categorie ripristinate ai predefiniti",
"settings.toast.categoriesResetFailed": "Impossibile reset categories",
"settings.toast.categorySettingsUpdateFailed": "Impossibile update category impostazioni",
"settings.toast.systemPromptSaved": "Prompt di sistema salvato",
"settings.toast.systemPromptSaveFailed": "Impossibile save system prompt",
"settings.toast.systemPromptReset": "Prompt di sistema ripristinato al predefinito",
"settings.toast.systemPromptResetFailed": "Impossibile reset system prompt",
"settings.toast.apiKeySaved": "Chiave API salvata e convalidata",
"settings.toast.apiKeyInvalid": "Chiave API non valida",
"settings.toast.apiKeySaveFailed": "Impossibile save API key",
"settings.toast.defaultModelUpdated": "Modello predefinito aggiornato",
"settings.toast.defaultModelUpdateFailed": "Impossibile set default model",
"settings.toast.rebuildPostsLoading": "Rebuilding post database...",
"settings.toast.rebuildPostsSuccess": "Database post ricostruito",
"settings.toast.rebuildPostsFailed": "Impossibile rebuild post database",
"settings.toast.rebuildMediaLoading": "Ricostruzione database media...",
"settings.toast.rebuildMediaSuccess": "Database media ricostruito",
"settings.toast.rebuildMediaFailed": "Impossibile rebuild media database",
"settings.toast.rebuildLinksLoading": "Ricostruzione dei link dei post...",
"settings.toast.rebuildLinksSuccess": "Link dei post ricostruiti",
"settings.toast.rebuildLinksFailed": "Impossibile rebuild post links",
"settings.toast.thumbnailsLoading": "Generazione miniature in corso...",
"settings.toast.thumbnailsGenerated": "Generate {count} miniature",
"settings.toast.thumbnailsAlreadyExist": "Tutte le miniature esistono già",
"settings.toast.thumbnailsComplete": "Generazione miniature completata",
"settings.toast.thumbnailsFailed": "Impossibile generate thumbnails",
"chat.setupTitle": "Configurazione chat IA",
"chat.apiKeyRequiredTitle": "Chiave API OpenCode Zen richiesta",
"chat.apiKeyRequiredDescription": "Inserisci la tua chiave API OpenCode per abilitare la chat IA.",
"chat.apiKeyPlaceholder": "Inserisci la tua chiave API...",
"chat.apiKeySave": "Salva chiave",
"chat.apiKeyValidating": "Convalida in corso...",
"chat.apiKeyInvalid": "Chiave API non valida. Controlla e riprova.",
"chat.apiKeyValidationFailed": "Impossibile validate API key.",
"chat.newChat": "Nuova chat",
"chat.welcomeTitle": "Benvenuto nellassistente IA",
"chat.welcomeDescription": "I can help you manage your post and media. Try asking me to:",
"chat.welcomeTipSearch": "Ricerca for post about a specific topic",
"chat.welcomeTipDetails": "Ottieni dettagli su un post specifico",
"chat.welcomeTipTags": "Elenca tutti i tag o le categorie del tuo blog",
"chat.welcomeTipMetadata": "Update metadata for post or media",
"chat.welcomeTipImages": "Elenca tutte le immagini nella tua libreria media",
"chat.role.you": "Tu",
"chat.role.assistant": "Assistente",
"chat.stop": "Ferma",
"chat.inputPlaceholder": "Scrivi un messaggio...",
"chat.errorPrefix": "Errore: {error}",
"chat.errorNoResponse": "Impossibile get a response. Please try again.",
"chat.errorEmptyResponse": "Il modello ha restituito una risposta vuota. Prova un modello diverso o riformula la domanda.",
"chat.errorGeneric": "Sorry, an error occurred while processing your messaggio.",
"chat.cancelledSuffix": "(annullato)",
"aiSuggestions.title": "Analisi immagine IA",
"aiSuggestions.close": "Chiudi",
"aiSuggestions.analyzing": "Analisi dellimmagine in corso...",
"aiSuggestions.titleField": "Titolo",
"aiSuggestions.altField": "Testo alternativo",
"aiSuggestions.captionField": "Didascalia",
"aiSuggestions.hasExisting": "(ha un valore esistente)",
"aiSuggestions.current": "Attuale",
"aiSuggestions.intro": "Seleziona quali valori generati dallIA applicare. I valori esistenti vengono mantenuti per impostazione predefinita.",
"aiSuggestions.empty": "Nessun suggerimento è stato generato per questa immagine.",
"aiSuggestions.wait": "Attendere...",
"aiSuggestions.applySelected": "Applica selezionati",
"insert.title.link": "Inserisci link",
"insert.title.image": "Inserisci immagine",
"insert.tab.linkInternal": "Collega al post",
"insert.tab.imageInternal": "Libreria media",
"insert.tab.linkExternal": "URL esterno",
"insert.tab.imageExternal": "Immagine esterna",
"insert.searchPlaceholder.link": "Ricerca post by title or content...",
"insert.searchPlaceholder.image": "Ricerca media by name, title, or alt text...",
"insert.status.searching": "Ricerca...",
"insert.status.typeMore": "Digita almeno 2 caratteri per cercare",
"insert.status.noResults": "Nessun {kind} trovato per \"{query}\"",
"insert.label.url": "Indirizzo URL",
"insert.label.linkTextOptional": "Testo link (opzionale)",
"insert.label.altText": "Testo alternativo",
"insert.placeholder.linkUrl": "https://esempio.it",
"insert.placeholder.imageUrl": "https://esempio.it/immagine.jpg",
"insert.placeholder.linkText": "Clicca qui",
"insert.placeholder.imageAlt": "Descrizione dellimmagine",
"insert.submit.link": "Inserisci link",
"insert.submit.image": "Inserisci immagine",
"insert.hint.internal": "Usa ↑↓ per navigare, Invio per selezionare, Esc per chiudere",
"insert.hint.external": "Inserisci URL e premi Invio o clicca il pulsante, Esc per chiudere",
"insert.hint.canonicalPost": "Canonico: /YYYY/MM/DD/slug",
"insert.hint.canonicalMedia": "Canonico: /media/YYYY/MM/file.ext",
"postLinks.loading": "Caricamento link...",
"postLinks.link": "collegamento",
"postLinks.links": "link",
"postLinks.linksTo": "Collega a ({count})",
"postLinks.linkedBy": "Collegato da ({count})",
"postLinks.openTitle": "Apri: {title}",
"docs.title": "Documentazione",
"docs.subtitle": "Guida utente per questa versione installata di bDS.",
"gitDiff.header": "Differenza: {target}",
"gitDiff.noProject": "Nessun progetto attivo selezionato.",
"gitDiff.noProjectPath": "Impossibile risolvere il percorso del progetto.",
"gitDiff.loadFailed": "Impossibile load diff.",
"gitDiff.loading": "Caricamento diff...",
"gitDiff.changedFiles": "File modificati",
"gitDiff.previousFile": "File precedente",
"gitDiff.nextFile": "File successivo",
"errorModal.error": "Errore",
"errorModal.stackTrace": "Traccia dello stack",
"errorModal.copyClipboard": "Copia negli appunti",
"errorModal.copy": "Copia",
"errorModal.noStack": "Nessuna traccia dello stack disponibile",
"confirmDelete.title": "Conferma eliminazione",
"confirmDelete.promptPost": "Sei sicuro di voler eliminare il post",
"confirmDelete.promptMedia": "Sei sicuro di voler eliminare il file multimediale",
"confirmDelete.warning": "Attenzione:",
"confirmDelete.referencedBy": "Questo {itemType} è referenziato dai seguenti elementi:",
"confirmDelete.note": "Leliminazione di questo {itemType} rimuoverà tutti questi riferimenti.",
"confirmDelete.cancel": "Annulla",
"confirmDelete.deletePost": "Elimina post",
"confirmDelete.deleteMedia": "Elimina media",
"confirmDelete.itemType.post": "articolo",
"confirmDelete.itemType.media": "file multimediale",
"lightbox.close": "Chiudi (Esc)",
"lightbox.previous": "Precedente (←)",
"lightbox.next": "Successivo (→)",
"credentials.error.load": "Impossibile load credentials:",
"credentials.error.save": "Impossibile save credentials:",
"credentials.toast.saved": "Credenziali salvate",
"credentials.toast.saveFailed": "Impossibile save credentials",
"credentials.toast.testing": "Test della connessione {type} in corso...",
"credentials.toast.connectionFailed": "Connection fallito - check credentials",
"credentials.tab.ftp": "Accesso FTP",
"credentials.tab.ssh": "Accesso SSH",
"credentials.ftp.title": "Pubblicazione FTP",
"credentials.ftp.description": "Configura FTP per pubblicare il tuo blog su un server web.",
"credentials.ssh.title": "Pubblicazione SSH",
"credentials.ssh.description": "Configura SSH per una pubblicazione sicura sul tuo server.",
"credentials.field.host": "Server",
"credentials.field.username": "Nome utente",
"credentials.field.password": "Password di accesso",
"credentials.field.sshKeyPath": "Percorso chiave SSH",
"credentials.action.testConnection": "Testa connessione",
"credentials.ftp.placeholder.host": "ftp.esempio.it",
"credentials.ftp.placeholder.username": "utente-ftp",
"credentials.ftp.placeholder.password": "Inserisci password",
"credentials.ssh.placeholder.host": "server.esempio.it",
"credentials.ssh.placeholder.username": "utente-ssh",
"credentials.ssh.placeholder.keyPath": "~/.ssh/chiave_id_rsa",
"gitSidebar.header": "CONTROLLO SORGENTE",
"gitSidebar.loading": "Caricamento...",
"gitSidebar.error.fetchRemoteUpdates": "Impossibile fetch remote updates.",
"gitSidebar.error.refreshRemoteState": "Impossibile aggiornare lo stato di tracciamento remoto.",
"gitSidebar.error.gitMissing": "Eseguibile Git non trovato. Installa Git e riavvia lapp.",
"gitSidebar.error.noActiveProject": "Nessun progetto attivo selezionato.",
"gitSidebar.error.loadRepoStatus": "Impossibile caricare lo stato del repository.",
"gitSidebar.error.initFailed": "Impossibile initialize git repository.",
"gitSidebar.error.actionFailed": "Impossibile {action}.",
"gitSidebar.error.commitFailed": "Impossibile commit changes.",
"gitSidebar.progress.preparingInit": "Preparazione inizializzazione repository...",
"gitSidebar.progress.pushingRemote": "Invio dei commit al remoto... può richiedere tempo per upload grandi.",
"gitSidebar.progress.fetching": "Recupero aggiornamenti remoti...",
"gitSidebar.progress.pulling": "Recupero ultime modifiche...",
"gitSidebar.progress.pruningLfs": "Pulizia cache locale Git LFS...",
"gitSidebar.progress.committing": "Creazione commit...",
"gitSidebar.progress.initializingRepo": "Inizializzazione repository...",
"gitSidebar.history.synced": "Sincronizzato",
"gitSidebar.history.localOnly": "Solo locale",
"gitSidebar.history.remoteOnly": "Solo remoto",
"gitSidebar.init.transcript": "Registro di inizializzazione",
"gitSidebar.aria.repoActions": "Azioni repository",
"gitSidebar.aria.openChanges": "Modifiche aperte",
"gitSidebar.aria.commitStatusLegend": "Legenda stato commit",
"gitSidebar.aria.versionHistory": "Cronologia versioni",
"gitSidebar.action.fetch": "Recupera",
"gitSidebar.action.fetching": "Recupero...",
"gitSidebar.action.pull": "Esegui pull",
"gitSidebar.action.pulling": "Pull in corso...",
"gitSidebar.action.push": "Esegui push",
"gitSidebar.action.pushing": "Push in corso...",
"gitSidebar.action.pruneLfs": "Pulisci LFS",
"gitSidebar.action.pruning": "Pulizia...",
"gitSidebar.action.commit": "Registra commit",
"gitSidebar.action.committing": "Commit in corso...",
"gitSidebar.action.initializeGit": "Inizializza Git",
"gitSidebar.action.initializing": "Inizializzazione...",
"gitSidebar.openChanges": "Apri Changes ({count})",
"gitSidebar.versionHistory": "Cronologia versioni ({count})",
"gitSidebar.loadingChanges": "Caricamento modifiche...",
"gitSidebar.noChanges": "Nessuna modifica",
"gitSidebar.loadingHistory": "Caricamento cronologia...",
"gitSidebar.noCommits": "Nessun commit ancora",
"gitSidebar.branch": "Ramo: {branch}",
"gitSidebar.aheadBehind": "avanti {ahead} / indietro {behind}",
"gitSidebar.notRepo": "Questo progetto non è un repository git.",
"gitSidebar.placeholder.remoteUrl": "URL facoltativo del repository remoto",
"gitSidebar.placeholder.commitMessage": "Messaggio di commit",
"editor.untitled": "Senza titolo",
"tabBar.style": "Stile",
"tabBar.loading": "Caricamento...",
"tabBar.unknown": "Sconosciuto",
"tabBar.preview": "Anteprima",
"tabBar.modified": "Modificato",
"tabBar.closeHint": "Chiudi (Ctrl+W)",
"tabBar.scrollLeft": "Scorri le schede a sinistra",
"tabBar.scrollRight": "Scorri le schede a destra",
"tabBar.commitTitle": "Revisione {hash}",
"tabBar.error.fetchPostTitle": "Impossibile fetch post title:",
"tabBar.error.fetchChatTitle": "Impossibile fetch chat title:",
"tabBar.error.fetchImportTitle": "Impossibile fetch import definition title:",
"tabBar.error.fetchCommitTitle": "Impossibile fetch commit titles:",
"metadataDiff.title": "Strumento diff metadati",
"metadataDiff.description": "Confronta i metadati dei post tra database e file markdown. Correggi incongruenze causate da bug o modifiche manuali.",
"metadataDiff.error.loadStats": "Impossibile load database statistics",
"metadataDiff.error.scan": "Impossibile scan for differences",
"metadataDiff.progress.starting": "Avvio scansione...",
"metadataDiff.progress.scanningPublished": "Scanning published post...",
"metadataDiff.progress.scanning": "Scansione in corso...",
"metadataDiff.action.scan": "Cerca differenze",
"metadataDiff.action.rescan": "Riesegui scansione",
"metadataDiff.stats.totalPosts": "Post totali",
"metadataDiff.stats.published": "Pubblicati",
"metadataDiff.stats.drafts": "Bozze",
"metadataDiff.stats.mediaFiles": "File multimediali",
"metadataDiff.summary.noDiffs": "✅ No differences found! All {total} published post are in sync.",
"metadataDiff.summary.withDiffs": "⚠️ Found {count} post with differences out of {total} published post.",
"metadataDiff.group.differences": "Differenze {label}",
"metadataDiff.group.postsCount": "{count} post",
"metadataDiff.sync.failed": "fallito",
"metadataDiff.sync.dbToFile.title": "Aggiorna i file con i valori del database",
"metadataDiff.sync.dbToFile.success": "Synced {success} post to files{fallito}",
"metadataDiff.sync.dbToFile.error": "Impossibile sync to files",
"metadataDiff.sync.fileToDb.title": "Aggiorna il database con i valori dei file",
"metadataDiff.sync.fileToDb.success": "Synced {success} files to database{fallito}",
"metadataDiff.sync.fileToDb.error": "Impossibile sync to database",
"metadataDiff.value.database": "Database locale",
"metadataDiff.value.file": "File sorgente",
"metadataDiff.empty": "Fai clic su \"Scansiona differenze\" per confrontare i metadati del database con quelli dei file."
}