webdrop-bridge/resources/translations/en.json
claudi 7daec731ca Add internationalization support with English and French translations
- Introduced a new i18n module for managing translations using JSON files.
- Added English (en.json) and French (fr.json) translation files for UI elements.
- Implemented lazy initialization of the translator to load translations on demand.
- Added unit tests for translation lookup, fallback behavior, and available languages detection.
2026-03-10 14:32:38 +01:00

167 lines
9.8 KiB
JSON

{
"toolbar.tooltip.open_drop": "Drop a file here to open it with its default application",
"toolbar.tooltip.open_with_drop": "Drop a file here to choose which app should open it",
"toolbar.tooltip.home": "Home",
"toolbar.tooltip.about": "About WebDrop Bridge",
"toolbar.tooltip.settings": "Settings",
"toolbar.tooltip.check_updates": "Check for Updates",
"toolbar.tooltip.clear_cache": "Clear Cache and Cookies",
"toolbar.tooltip.open_log": "Open Log File",
"toolbar.tooltip.dev_tools": "Developer Tools (F12)",
"status.ready": "Ready",
"status.opened": "Opened: {name}",
"status.choose_app": "Choose app for: {name}",
"status.download_started": "\ud83d\udce5 Download: {filename}",
"status.download_completed": "Download completed: {name}",
"status.download_cancelled": "\u26a0\ufe0f Download cancelled: {name}",
"status.download_failed": "\u274c Download failed: {name}",
"status.download_error": "Download error: {error}",
"update.status.checking": "Checking for updates",
"update.status.ready": "Ready",
"update.status.available": "Update available: v{version}",
"update.status.deferred": "Update deferred",
"update.status.downloading": "Downloading v{version}",
"update.status.verifying": "Verifying download",
"update.status.download_failed": "Download failed",
"update.status.verification_failed": "Verification failed",
"update.status.timed_out": "Operation timed out",
"update.status.ready_to_install": "Ready to install",
"update.status.installation_started": "Installation started",
"update.status.installation_failed": "Installation failed",
"update.status.check_timed_out": "Check timed out - no server response",
"update.status.check_failed": "Check failed: {error}",
"update.status.download_timed_out": "Download timed out - no server response",
"dialog.error.title": "Error",
"dialog.log_not_found.title": "Log File Not Found",
"dialog.log_not_found.msg": "No log file found at:\n{log_file}",
"dialog.cache_cleared.title": "Cache Cleared",
"dialog.cache_cleared.msg": "Browser cache and cookies have been cleared successfully.\n\nYou may need to reload the page or restart the application for changes to take effect.",
"dialog.cache_clear_failed.title": "Error",
"dialog.cache_clear_failed.msg": "Failed to clear cache and cookies: {error}",
"dialog.drag_error.title": "Drag-and-Drop Error",
"dialog.drag_error.msg": "Could not complete the drag-and-drop operation.\n\nError: {error}",
"dialog.open_file_error.title": "Open File Error",
"dialog.open_file_error.msg": "Could not open the file with its default application.\n\nFile: {file_path}\nError: {error}",
"dialog.open_with_error.title": "Open With Error",
"dialog.open_with_error.msg": "Could not open an application chooser for this file on your platform.",
"dialog.dev_tools.window_title": "\ud83d\udd27 Developer Tools",
"dialog.dev_tools.error_title": "Developer Tools",
"dialog.dev_tools.error_msg": "Could not open Developer Tools:\n{error}",
"dialog.domain_changed.title": "Domain Changed - Restart Recommended",
"dialog.domain_changed.msg": "Web Application Domain Has Changed\n\nYou've switched to a different domain. For maximum stability and to ensure proper authentication, the application should be restarted.\n\nThe profile and cache have been cleared, but we recommend restarting.",
"dialog.domain_changed.restart_now": "Restart Now",
"dialog.domain_changed.restart_later": "Restart Later",
"dialog.restart_failed.title": "Restart Failed",
"dialog.restart_failed.msg": "Could not automatically restart the application:\n\n{error}\n\nPlease restart manually.",
"dialog.update_timeout.title": "Update Check Timeout",
"dialog.update_timeout.msg": "The server did not respond within 30 seconds.\n\nThis may be due to a network issue or server unavailability.\n\nPlease check your connection and try again.",
"dialog.update_failed.title": "Update Check Failed",
"dialog.update_failed.msg": "Could not check for updates:\n\n{error}\n\nPlease try again later.",
"dialog.download_failed.title": "Download Failed",
"dialog.download_failed.msg": "Could not download the update:\n\n{error}\n\nPlease try again later.",
"dialog.checkout.title": "Checkout Asset",
"dialog.checkout.msg": "Do you want to check out this asset?\n\n{filename}",
"about.title": "About {app_name}",
"about.version": "Version: {version}",
"about.description": "Bridges web-based drag-and-drop workflows with native file operations for professional desktop applications.",
"about.drop_zones_title": "Toolbar Drop Zones:",
"about.open_icon_desc": "Open icon: Opens dropped files with the system default app.",
"about.open_with_icon_desc": "Open-with icon: Shows an app chooser for dropped files.",
"about.product_of": "Product of:",
"about.rights": "\u00a9 2026 h\u00f6rl Information Management GmbH. All rights reserved.",
"settings.title": "Settings",
"settings.tab.web_source": "Web Source",
"settings.tab.paths": "Paths",
"settings.tab.urls": "URLs",
"settings.tab.logging": "Logging",
"settings.tab.window": "Window",
"settings.tab.profiles": "Profiles",
"settings.tab.general": "General",
"settings.web_url.label": "Web Application URL:",
"settings.web_url.placeholder": "e.g., http://localhost:8080 or file:///./webapp/index.html",
"settings.web_url.open_btn": "Open",
"settings.url_mappings.label": "URL Mappings (Azure Blob Storage \u2192 Local Paths):",
"settings.url_mappings.col_prefix": "URL Prefix",
"settings.url_mappings.col_path": "Local Path",
"settings.url_mappings.add_btn": "Add Mapping",
"settings.url_mappings.edit_btn": "Edit Selected",
"settings.url_mappings.remove_btn": "Remove Selected",
"settings.paths.label": "Allowed root directories for file access:",
"settings.paths.add_btn": "Add Path",
"settings.paths.remove_btn": "Remove Selected",
"settings.urls.label": "Allowed web URLs (supports wildcards like http://*.example.com):",
"settings.urls.add_btn": "Add URL",
"settings.urls.remove_btn": "Remove Selected",
"settings.log_level.label": "Log Level:",
"settings.log_file.label": "Log File (optional):",
"settings.log_file.browse_btn": "Browse...",
"settings.window.width_label": "Window Width:",
"settings.window.height_label": "Window Height:",
"settings.profiles.label": "Saved Configuration Profiles:",
"settings.profiles.save_btn": "Save as Profile",
"settings.profiles.load_btn": "Load Profile",
"settings.profiles.delete_btn": "Delete Profile",
"settings.profiles.export_btn": "Export Configuration",
"settings.profiles.import_btn": "Import Configuration",
"settings.general.language_label": "Language:",
"settings.general.language_restart_note": "Language change takes effect after restart.",
"settings.add_mapping.url_title": "Add URL Mapping",
"settings.add_mapping.url_prompt": "Enter Azure Blob Storage URL prefix:\n(e.g., https://myblob.blob.core.windows.net/container/)",
"settings.add_mapping.path_prompt": "Enter local file system path:\n(e.g., C:\\Share or /mnt/share)",
"settings.edit_mapping.title": "Edit URL Mapping",
"settings.edit_mapping.url_prompt": "Enter Azure Blob Storage URL prefix:",
"settings.edit_mapping.path_prompt": "Enter local file system path:",
"settings.add_url.title": "Add URL",
"settings.add_url.prompt": "Enter URL pattern (e.g., http://example.com or http://*.example.com):",
"settings.profile.save.title": "Save Profile",
"settings.profile.save.prompt": "Enter profile name (e.g., work, personal):",
"settings.select_directory.title": "Select Directory to Allow",
"settings.select_log_file.title": "Select Log File",
"settings.export_config.title": "Export Configuration",
"settings.import_config.title": "Import Configuration",
"settings.error.select_mapping": "Please select a mapping to edit",
"settings.error.select_profile_load": "Please select a profile to load",
"settings.error.select_profile_delete": "Please select a profile to delete",
"update.checking.title": "Checking for Updates",
"update.checking.label": "Checking for updates...",
"update.checking.timeout_info": "This may take up to 10 seconds",
"update.available.title": "Update Available",
"update.available.header": "WebDrop Bridge v{version} is available",
"update.available.changelog_label": "Release Notes:",
"update.available.update_now_btn": "Update Now",
"update.available.later_btn": "Later",
"update.downloading.title": "Downloading Update",
"update.downloading.header": "Downloading update...",
"update.downloading.preparing": "Preparing download",
"update.downloading.filename": "Downloading: {filename}",
"update.downloading.cancel_btn": "Cancel",
"update.install.title": "Install Update",
"update.install.header": "Ready to Install",
"update.install.message": "The update is ready to install. The application will restart.",
"update.install.warning": "\u26a0\ufe0f Please save any unsaved work before continuing.\nThe application will close and restart.",
"update.install.now_btn": "Install Now",
"update.install.cancel_btn": "Cancel",
"update.no_update.title": "No Updates Available",
"update.no_update.message": "\u2713 You're using the latest version",
"update.no_update.info": "WebDrop Bridge is up to date.",
"update.no_update.ok_btn": "OK",
"update.error.title": "Update Failed",
"update.error.header": "\u26a0\ufe0f Update Failed",
"update.error.info": "Please try again or visit the website to download the update manually.",
"update.error.retry_btn": "Retry",
"update.error.manual_btn": "Download Manually",
"update.error.cancel_btn": "Cancel",
"worker.server_not_responding": "Server not responding - check again later",
"worker.no_installer": "No installer found in release",
"worker.checksum_failed": "Checksum verification failed",
"worker.download_timed_out": "Download or verification timed out (no response from server)",
"worker.download_error": "Download error: {error}",
"worker.check_failed": "Check failed: {error}"
}