chore: more i18n going on

This commit is contained in:
2026-02-21 13:15:58 +01:00
parent dbef7ef98b
commit 0082291fa4
15 changed files with 1552 additions and 413 deletions

View File

@@ -556,5 +556,216 @@
"panel.error.loadPostLinks": "Failed to load post links.",
"panel.error.loadGitLog": "Failed to load git log.",
"panel.direction.from": "from",
"panel.direction.to": "to"
"panel.direction.to": "to",
"settings.editor.description": "Configure the blog post editor behavior and appearance.",
"settings.editor.defaultModeLabel": "Default Editor Mode",
"settings.editor.defaultModeDescription": "Choose the default mode when opening posts. You can switch modes at any time using the editor toolbar.",
"settings.editor.diffViewStyleLabel": "Diff View Style",
"settings.editor.diffViewStyleDescription": "Choose how Git diffs are shown by default.",
"settings.editor.wrapLongLinesLabel": "Wrap Long Lines in Diff",
"settings.editor.wrapLongLinesDescription": "Enable word wrapping for long lines in Git diffs.",
"settings.editor.wrapLongLinesAria": "Wrap long lines in diff",
"settings.editor.hideUnchangedRegionsLabel": "Hide Unchanged Regions",
"settings.editor.hideUnchangedRegionsDescription": "Collapse unchanged regions in Git diffs.",
"settings.editor.hideUnchangedRegionsAria": "Hide unchanged regions",
"settings.content.newCategoryPlaceholder": "New category name...",
"settings.content.addCategory": "Add Category",
"settings.content.resetDefaults": "Reset to Defaults",
"settings.ai.apiKeyLabel": "OpenCode API Key",
"settings.ai.apiKeyDescription": "Your API key for the OpenCode Zen gateway. Required to use AI features.",
"settings.ai.apiKeyConfigured": "API key configured",
"settings.ai.configured": "✓ Configured",
"settings.ai.changeApiKey": "Change API Key",
"settings.ai.defaultModelLabel": "Default Model",
"settings.ai.defaultModelDescription": "The AI model to use for new chat conversations.",
"settings.ai.systemPromptLabel": "System Prompt",
"settings.ai.systemPromptDescription": "Instructions given to the AI at the start of each conversation. This defines how the assistant behaves and what tools it knows about.",
"settings.ai.systemPromptPlaceholder": "Enter system instructions for the AI assistant...",
"settings.ai.savePrompt": "Save Prompt",
"settings.ai.resetPrompt": "Reset to Default",
"settings.publishing.ftpHostDescription": "The FTP server hostname or IP address.",
"settings.publishing.ftpUsernameDescription": "Your FTP account username.",
"settings.publishing.ftpPasswordDescription": "Your FTP account password.",
"settings.publishing.showPassword": "Show password",
"settings.publishing.hidePassword": "Hide password",
"settings.publishing.sshHostDescription": "The SSH server hostname or IP address.",
"settings.publishing.sshUsernameDescription": "Your SSH account username.",
"settings.publishing.sshKeyPathDescription": "Path to your SSH private key file.",
"settings.data.description": "Rebuild the local database index from source files. Useful if post or media files were edited externally.",
"settings.data.rebuildPostsLabel": "Rebuild Posts Database",
"settings.data.rebuildPostsDescription": "Re-scan all post markdown files and rebuild the database index.",
"settings.data.rebuildPostsAction": "Rebuild Posts",
"sidebar.chat.header": "AI ASSISTANT",
"sidebar.chat.newChat": "New Chat",
"sidebar.chat.apiKeyNeeded": "API key needed. Open a chat to configure.",
"sidebar.chat.noConversations": "No conversations yet",
"sidebar.chat.startNew": "Start a new chat",
"sidebar.chat.deleteConversation": "Delete conversation",
"sidebar.chat.createFailed": "Failed to create new chat",
"sidebar.chat.deleteFailed": "Failed to delete chat",
"sidebar.chat.yesterday": "Yesterday",
"sidebar.import.header": "IMPORTS",
"sidebar.import.newDefinition": "New Import Definition",
"sidebar.import.none": "No import definitions yet",
"sidebar.import.createDefinition": "Create an import definition",
"sidebar.import.deleteDefinition": "Delete import definition",
"sidebar.import.createFailed": "Failed to create import definition",
"sidebar.import.deleteFailed": "Failed to delete import definition",
"editor.error.saveTitle": "Save Failed",
"editor.error.saveMessage": "Failed to save post",
"editor.error.publishTitle": "Publish Failed",
"editor.error.publishMessage": "Failed to publish post",
"editor.error.discardTitle": "Discard Failed",
"editor.error.deleteTitle": "Delete Failed",
"editor.error.operationMessage": "Operation failed",
"editor.error.deletePostMessage": "Failed to delete post",
"editor.error.fetchPostReferencesMessage": "Failed to fetch post references",
"editor.confirm.discardChanges": "Discard all changes since last publish? This cannot be undone.",
"editor.confirm.deleteDraft": "Delete this draft? This cannot be undone.",
"editor.toast.published": "Post published",
"editor.toast.reverted": "Reverted to last published version",
"editor.toast.draftDeleted": "Draft deleted",
"editor.toast.postDeleted": "Post deleted",
"editor.media.notFound": "Media not found",
"editor.media.error.analyzeImage": "Failed to analyze image",
"editor.media.error.updateTitle": "Update Failed",
"editor.media.error.updateMessage": "Failed to update media",
"editor.media.error.replaceTitle": "Replace Failed",
"editor.media.error.replaceMessage": "Failed to replace media file",
"editor.media.error.deleteMessage": "Failed to delete media",
"editor.media.error.fetchReferencesMessage": "Failed to fetch media references",
"editor.media.toast.aiApplied": "AI suggestions applied",
"editor.media.toast.linkedToPost": "Linked to post",
"editor.media.toast.linkFailed": "Failed to link to post",
"editor.media.toast.unlinkedFromPost": "Unlinked from post",
"editor.media.toast.unlinkFailed": "Failed to unlink from post",
"editor.media.toast.updated": "Media updated",
"editor.media.toast.fileReplaced": "File replaced (thumbnails regenerated)",
"editor.media.toast.deleted": "Media deleted",
"editor.media.quickActions.title": "Quick Actions",
"editor.media.quickActions.analyzing": "⏳ Analyzing...",
"editor.media.quickActions.button": "⚡ Quick Actions",
"editor.media.quickActions.aiTitle": "AI: Generate Title, Alt & Caption",
"editor.media.quickActions.aiDescription": "Analyzes the image to suggest metadata",
"editor.media.replaceFile": "Replace File",
"editor.media.field.fileName": "File Name",
"editor.media.field.type": "Type",
"editor.media.field.size": "Size",
"editor.media.field.dimensions": "Dimensions",
"editor.media.field.title": "Title",
"editor.media.field.altText": "Alt Text",
"editor.media.field.caption": "Caption",
"editor.media.field.tags": "Tags (comma-separated)",
"editor.media.field.author": "Author",
"editor.media.placeholder.title": "Title for lists and search results",
"editor.media.placeholder.altText": "Describe the image for accessibility",
"editor.media.placeholder.caption": "Image caption",
"editor.media.placeholder.tags": "tag1, tag2, tag3",
"editor.media.placeholder.author": "Author name",
"editor.media.linkedPosts": "Linked Posts",
"editor.media.linkToPostTitle": "Link to a post",
"editor.media.linkAction": "+ Link",
"editor.media.searchPosts": "Search posts...",
"editor.media.noMatchingPosts": "No matching posts",
"editor.media.noPostsToLink": "No posts available to link",
"editor.media.morePosts": "+{count} more posts",
"editor.media.notLinked": "Not linked to any posts",
"editor.media.openPost": "Open post",
"editor.media.unlinkFromPost": "Unlink from post",
"postSearch.placeholder": "Search posts by title or content...",
"postSearch.searching": "Searching...",
"postSearch.typeMore": "Type at least 2 characters to search",
"postSearch.noResults": "No posts found for \"{query}\"",
"postSearch.hint": "Use ↑↓ to navigate, Enter to select, Esc to close",
"statusBar.posts": "{count} posts",
"statusBar.media": "{count} media",
"statusBar.theme": "Theme: {theme}",
"statusBar.ui": "UI",
"statusBar.uiLanguage": "UI language",
"windowTitleBar.toggleSidebar": "Toggle Sidebar",
"windowTitleBar.hideSidebar": "Hide Sidebar (Ctrl+B)",
"windowTitleBar.showSidebar": "Show Sidebar (Ctrl+B)",
"windowTitleBar.togglePanel": "Toggle Panel",
"windowTitleBar.hidePanel": "Hide Panel (Ctrl+J)",
"windowTitleBar.showPanel": "Show Panel (Ctrl+J)",
"tagInput.alreadyAdded": "Tag already added",
"tagInput.remove": "Remove {tag}",
"tagInput.createdTag": "Tag \"{name}\" created",
"tagInput.createdCategory": "Category \"{name}\" created",
"tagInput.createTag": "Create tag \"{name}\"",
"tagInput.createCategory": "Create category \"{name}\"",
"importAnalysis.loadingDefinition": "Loading import definition...",
"importAnalysis.namePlaceholder": "Import name...",
"importAnalysis.headerDescription": "Select a WordPress export file (WXR) and an uploads folder to analyze what would be imported.",
"importAnalysis.uploadsFolder": "Uploads Folder",
"importAnalysis.noFolderSelected": "No folder selected",
"importAnalysis.wxrFile": "WXR File",
"importAnalysis.selectFileToAnalyze": "Select a file to analyze",
"importAnalysis.analyzing": "Analyzing...",
"importAnalysis.selectAndAnalyze": "Select & Analyze",
"importAnalysis.analyzingWxr": "Analyzing WXR file...",
"importAnalysis.emptyState": "Select a WordPress export file to begin analysis.",
"importAnalysis.importing": "Importing...",
"importAnalysis.importComplete": "Import completed successfully!",
"importAnalysis.importFailed": "Import failed: {error}",
"importAnalysis.untitledImport": "Untitled Import",
"importAnalysis.executionStarting": "Starting...",
"importAnalysis.unknownError": "Unknown error",
"importAnalysis.readyToImport": "Ready to import:",
"importAnalysis.tagsCategories": "tags/categories",
"importAnalysis.posts": "posts",
"importAnalysis.media": "media",
"importAnalysis.pages": "pages",
"importAnalysis.nothingToImport": "Nothing to Import",
"importAnalysis.importItems": "Import {count} Items",
"importAnalysis.postSlugConflicts": "Post Slug Conflicts",
"importAnalysis.pageSlugConflicts": "Page Slug Conflicts",
"importAnalysis.postsWithCount": "Posts ({count})",
"importAnalysis.otherWithCount": "Other ({count})",
"importAnalysis.pagesWithCount": "Pages ({count})",
"importAnalysis.mediaWithCount": "Media ({count})",
"importAnalysis.site": "Site",
"importAnalysis.untitled": "Untitled",
"importAnalysis.url": "URL",
"importAnalysis.language": "Language",
"importAnalysis.file": "File",
"importAnalysis.notAvailable": "N/A",
"importAnalysis.new": "new",
"importAnalysis.update": "update",
"importAnalysis.conflict": "conflict",
"importAnalysis.duplicate": "duplicate",
"importAnalysis.missing": "missing",
"importAnalysis.categories": "Categories",
"importAnalysis.existing": "existing",
"importAnalysis.mapped": "mapped",
"importAnalysis.tags": "Tags",
"importAnalysis.dateDistribution": "Date Distribution",
"importAnalysis.postsPages": "Posts/Pages",
"importAnalysis.total": "total",
"importAnalysis.wordpressId": "WordPress ID",
"importAnalysis.type": "Type",
"importAnalysis.author": "Author",
"importAnalysis.unknown": "Unknown",
"importAnalysis.published": "Published",
"importAnalysis.excerpt": "Excerpt",
"importAnalysis.content": "Content",
"importAnalysis.loading": "Loading...",
"importAnalysis.mimeType": "MIME Type",
"importAnalysis.uploaded": "Uploaded",
"importAnalysis.parentPostId": "Parent Post ID",
"importAnalysis.description": "Description",
"importAnalysis.slug": "Slug",
"importAnalysis.newEntryWxr": "New Entry (WXR)",
"importAnalysis.existingEntry": "Existing Entry",
"importAnalysis.resolution": "Resolution",
"importAnalysis.ignore": "Ignore",
"importAnalysis.overwrite": "Overwrite",
"importAnalysis.importNewSlug": "Import (new slug)",
"importAnalysis.status": "Status",
"importAnalysis.title": "Title",
"importAnalysis.wpStatus": "WP Status",
"importAnalysis.existingMatch": "Existing Match",
"importAnalysis.none": "--",
"importAnalysis.filename": "Filename",
"importAnalysis.path": "Path"
}