2026-03-13 22:20:12 +08:00
{
2026-03-04 15:22:52 +08:00
"app.title" : "LanMountainDesktop" ,
2026-03-10 16:35:43 +08:00
"tray.tooltip" : "LanMountainDesktop" ,
2026-03-12 21:01:23 +08:00
"tray.menu.show_desktop" : "Open Desktop" ,
2026-03-10 16:35:43 +08:00
"tray.menu.settings" : "Settings" ,
2026-03-13 22:20:12 +08:00
"tray.menu.component_library" : "Component Library" ,
2026-03-10 16:35:43 +08:00
"tray.menu.restart" : "Restart App" ,
"tray.menu.exit" : "Exit App" ,
2026-03-02 20:02:14 +08:00
"button.back_to_windows" : "Back to Windows" ,
2026-03-19 02:02:07 +08:00
"button.back_to_platform" : "Back to {0}" ,
2026-03-02 20:02:14 +08:00
"tooltip.back_to_windows" : "Back to Windows" ,
2026-03-19 02:02:07 +08:00
"tooltip.back_to_platform" : "Back to {0}" ,
"platform.windows" : "Windows" ,
"platform.linux" : "Linux" ,
"platform.macos" : "macOS" ,
2026-03-02 20:02:14 +08:00
"tooltip.open_settings" : "Settings" ,
"settings.title" : "Settings" ,
2026-03-12 21:01:23 +08:00
"settings.shell.title" : "Settings" ,
"settings.shell.subtitle" : "LanMountainDesktop independent settings module" ,
2026-03-10 09:55:49 +08:00
"settings.shell.sidebar_hint" : "Choose a category to adjust application behavior, desktop layout, and appearance." ,
2026-03-12 21:01:23 +08:00
"settings.shell.footer_hint" : "Tray-opened settings are managed in this independent settings module." ,
2026-03-02 20:02:14 +08:00
"settings.back_to_desktop" : "Back to Desktop" ,
"settings.nav_header" : "Settings" ,
2026-03-10 09:55:49 +08:00
"settings.nav.group_desktop" : "Desktop" ,
"settings.nav.group_system" : "System" ,
"settings.nav.group_extensions" : "Extensions" ,
2026-03-02 20:02:14 +08:00
"settings.nav.wallpaper" : "Wallpaper" ,
2026-03-20 00:41:14 +08:00
"settings.nav.grid" : "Components" ,
2026-03-02 20:02:14 +08:00
"settings.nav.color" : "Color" ,
"settings.nav.status_bar" : "Status Bar" ,
2026-03-03 04:56:04 +08:00
"settings.nav.weather" : "Weather" ,
2026-03-02 20:02:14 +08:00
"settings.nav.region" : "Region" ,
2026-03-05 18:46:32 +08:00
"settings.nav.update" : "Update" ,
2026-03-15 17:08:07 +08:00
"settings.nav.privacy" : "Privacy" ,
2026-03-06 08:53:45 +08:00
"settings.nav.launcher" : "App Launcher" ,
2026-03-06 22:24:59 +08:00
"settings.nav.plugins" : "Plugins" ,
2026-03-03 04:56:04 +08:00
"settings.nav.about" : "About" ,
2026-03-02 20:02:14 +08:00
"settings.wallpaper.title" : "Wallpaper" ,
"settings.wallpaper.description" : "Pick an image or video to apply as the app window wallpaper immediately." ,
"settings.wallpaper.current_label" : "Current Wallpaper" ,
"settings.wallpaper.placement_label" : "Placement" ,
"settings.wallpaper.placement_desc" : "Adjust how the image fills the desktop." ,
"settings.wallpaper.pick_button" : "Browse Files" ,
"settings.wallpaper.clear_button" : "Reset to Solid Color" ,
"settings.wallpaper.no_selection" : "No wallpaper selected." ,
"settings.wallpaper.storage_unavailable" : "Storage provider is unavailable." ,
"settings.wallpaper.import_failed" : "Failed to import wallpaper file." ,
"settings.wallpaper.image_applied" : "Image wallpaper applied." ,
"settings.wallpaper.video_applied" : "Video wallpaper applied." ,
"settings.wallpaper.unsupported_file" : "Selected file type is not supported." ,
"settings.wallpaper.apply_failed_format" : "Failed to apply wallpaper: {0}" ,
"settings.wallpaper.mode_format" : "Wallpaper mode: {0}." ,
"settings.wallpaper.video_mode" : "Video wallpaper uses automatic fill mode." ,
"settings.wallpaper.cleared" : "Background reset to solid color." ,
"settings.wallpaper.default_status" : "Current background uses solid color." ,
"settings.wallpaper.saved_not_found" : "Saved wallpaper file was not found. Using solid color background." ,
"settings.wallpaper.restored" : "Wallpaper restored from saved settings." ,
"settings.wallpaper.video_restored" : "Video wallpaper restored from saved settings." ,
"settings.wallpaper.restore_failed" : "Failed to restore saved wallpaper. Using solid color background." ,
"settings.wallpaper.video_not_found" : "Video wallpaper file not found." ,
"settings.wallpaper.video_player_unavailable" : "Video player is unavailable." ,
"settings.wallpaper.video_play_failed_format" : "Failed to play video wallpaper: {0}" ,
"settings.grid.title" : "Grid Layout" ,
"settings.grid.description" : "Every component must occupy at least one cell (minimum 1x1)." ,
"settings.grid.short_side_label" : "Short Side Cells" ,
"settings.grid.spacing_label" : "Grid Spacing" ,
"settings.grid.spacing_relaxed" : "Relaxed (iOS)" ,
"settings.grid.spacing_compact" : "Compact (Android)" ,
"settings.grid.edge_inset_label" : "Screen Inset" ,
"settings.grid.edge_inset_px_format" : "≈ {0:F1}px" ,
"settings.grid.apply_button" : "Apply" ,
"settings.grid.info_format" : "Grid: {0} cols x {1} rows | cell {2:F1}px (1:1)" ,
"settings.color.title" : "Color" ,
"settings.color.description" : "Switch day/night mode and choose app accent colors." ,
"settings.color.day_night_label" : "Day/Night Mode" ,
"settings.color.day_night_on" : "Night" ,
"settings.color.day_night_off" : "Day" ,
"settings.color.recommended_label" : "Recommended Colors" ,
"settings.color.system_monet_label" : "System Monet Colors" ,
"settings.color.refresh_button" : "Refresh" ,
"settings.color.mode_night" : "Night mode enabled" ,
"settings.color.mode_day" : "Day mode enabled" ,
"settings.color.mode_status_format" : "Theme mode: {0}." ,
"settings.color.monet_refreshed" : "Monet colors refreshed." ,
"settings.color.theme_ready_format" : "Theme color ready: {0}." ,
"settings.color.theme_applied_format" : "{0} color applied: {1}." ,
"settings.color.theme_updated_wallpaper" : "Wallpaper updated. Monet colors refreshed." ,
"settings.color.theme_updated_video" : "Video wallpaper updated. Theme colors refreshed." ,
"settings.color.theme_cleared_wallpaper" : "Wallpaper cleared. Monet colors refreshed." ,
"settings.status_bar.title" : "Status Bar" ,
"settings.status_bar.description" : "Choose which components appear on the top status bar." ,
"settings.status_bar.clock_header" : "Clock Component" ,
"settings.status_bar.clock_description" : "Display a clock on the top status bar." ,
2026-03-19 00:17:21 +08:00
"settings.status_bar.clock_transparent_background_label" : "Transparent background" ,
"settings.status_bar.clock_transparent_background_desc" : "Remove the capsule background and keep only the clock text." ,
2026-03-02 20:02:14 +08:00
"settings.status_bar.spacing_header" : "Component Spacing" ,
"settings.status_bar.spacing_desc" : "Adjust spacing between status bar components." ,
"settings.status_bar.spacing_mode_compact" : "Compact" ,
"settings.status_bar.spacing_mode_relaxed" : "Relaxed" ,
"settings.status_bar.spacing_mode_custom" : "Custom" ,
"settings.status_bar.spacing_custom_label" : "Custom spacing (%)" ,
"settings.status_bar.spacing_custom_px_format" : "≈ {0:F1}px" ,
2026-03-15 17:08:07 +08:00
"settings.privacy.title" : "Privacy" ,
"settings.privacy.description" : "Manage optional anonymous uploads that help improve the app over time." ,
"settings.privacy.crash_upload_title" : "Anonymous crash data uploads" ,
"settings.privacy.crash_upload_description" : "Help us improve application stability." ,
"settings.privacy.usage_upload_title" : "Anonymous usage data uploads" ,
"settings.privacy.usage_upload_description" : "Help us improve application features." ,
2026-03-17 01:01:48 +08:00
"settings.privacy.device_id_title" : "Device ID" ,
"settings.privacy.device_id_description" : "Unique identifier for this device. Click refresh to regenerate." ,
"settings.privacy.refresh_device_id" : "Refresh" ,
"settings.privacy.policy_hint_prefix" : "For more details, please " ,
"settings.privacy.view_policy" : "view our privacy policy" ,
2026-03-03 04:56:04 +08:00
"settings.weather.title" : "Weather" ,
2026-03-14 22:45:09 +08:00
"settings.weather.description" : "Configure weather location, Xiaomi weather preview, and startup positioning behavior." ,
2026-03-03 04:56:04 +08:00
"settings.weather.location_source_header" : "Location Source" ,
"settings.weather.location_source_desc" : "Choose how weather widgets resolve location." ,
"settings.weather.mode_city_search" : "City Search" ,
"settings.weather.mode_coordinates" : "Coordinates" ,
"settings.weather.auto_refresh" : "Auto refresh location on startup" ,
"settings.weather.city_search_header" : "City Search" ,
"settings.weather.city_search_desc" : "Search cities and apply one weather location." ,
"settings.weather.search_placeholder" : "e.g. Beijing" ,
"settings.weather.search_button" : "Search" ,
"settings.weather.apply_city_button" : "Apply City" ,
"settings.weather.search_hint" : "Search by city name and apply one location." ,
"settings.weather.search_required" : "Please enter a city keyword first." ,
"settings.weather.search_no_results" : "No locations were found." ,
"settings.weather.search_failed_format" : "Search failed: {0}" ,
"settings.weather.search_result_count_format" : "Found {0} locations." ,
"settings.weather.search_select_required" : "Please select one location from search results." ,
"settings.weather.search_applied_format" : "Location applied: {0}" ,
"settings.weather.coordinates_header" : "Coordinates" ,
"settings.weather.coordinates_desc" : "Set latitude/longitude and optional key/name." ,
"settings.weather.latitude_label" : "Latitude" ,
"settings.weather.longitude_label" : "Longitude" ,
"settings.weather.location_key_placeholder" : "Location key (optional)" ,
"settings.weather.location_name_placeholder" : "Display name (optional)" ,
"settings.weather.apply_coordinates_button" : "Apply Coordinates" ,
"settings.weather.coordinates_saved_format" : "Coordinates saved: {0:F4}, {1:F4}" ,
"settings.weather.coordinates_default_name_format" : "Coordinate {0:F4}, {1:F4}" ,
2026-03-14 22:45:09 +08:00
"settings.weather.location_services_header" : "Location Service" ,
"settings.weather.location_services_desc" : "Use the current Windows location and decide whether it refreshes automatically on startup." ,
"settings.weather.use_current_location" : "Use Current Location" ,
"settings.weather.location_unsupported" : "Current platform does not support retrieving the current location." ,
"settings.weather.location_ready" : "You can use the current Windows location." ,
"settings.weather.location_refreshing" : "Requesting current location..." ,
"settings.weather.location_refresh_success_format" : "Current location applied: {0}" ,
"settings.weather.location_refresh_failed_format" : "Failed to get current location: {0}" ,
2026-03-03 04:56:04 +08:00
"settings.weather.preview_header" : "Connection Test" ,
"settings.weather.preview_desc" : "Send one test request to verify current settings." ,
"settings.weather.preview_button" : "Test Fetch" ,
2026-03-10 09:55:49 +08:00
"settings.weather.preview_section" : "Weather Preview" ,
"settings.weather.settings_section" : "Settings" ,
2026-03-03 15:09:49 +08:00
"settings.weather.preview_panel_header" : "Weather Preview" ,
"settings.weather.preview_panel_desc" : "Refresh and verify current weather service status." ,
"settings.weather.refresh_button" : "Refresh" ,
2026-03-14 22:45:09 +08:00
"settings.weather.preview_updated_format" : "Updated {0}" ,
2026-03-03 04:56:04 +08:00
"settings.weather.preview_hint" : "Use test fetch to verify your weather configuration." ,
"settings.weather.preview_missing_location" : "Please apply one weather location before testing." ,
"settings.weather.preview_success_format" : "Test success: {0} · {1} · {2}" ,
"settings.weather.preview_failed_format" : "Test fetch failed: {0}" ,
"settings.weather.preview_unknown" : "Unknown" ,
2026-03-03 15:09:49 +08:00
"settings.weather.alert_filter_header" : "Excluded Alerts" ,
"settings.weather.alert_filter_desc" : "Alerts containing these words will not be shown. One rule per line." ,
"settings.weather.alert_filter_placeholder" : "One keyword per line" ,
"settings.weather.icon_style_header" : "Weather Icon Style" ,
"settings.weather.icon_style_desc" : "Choose Fluent Icon style for weather symbols." ,
"settings.weather.icon_style_fluent_regular" : "Fluent Regular" ,
"settings.weather.icon_style_fluent_filled" : "Fluent Filled" ,
"settings.weather.no_tls_header" : "No TLS Weather Request" ,
"settings.weather.no_tls_desc" : "Not recommended. Enable only for incompatible network environments." ,
2026-03-03 04:56:04 +08:00
"settings.weather.status_city_empty" : "No city location is configured." ,
"settings.weather.status_city_format" : "Mode: {0} | {1} | Key: {2}" ,
"settings.weather.status_coordinates_format" : "Mode: {0} | Lat {1:F4}, Lon {2:F4} | Key: {3}" ,
2026-03-10 09:55:49 +08:00
"settings.weather.city_selection_label" : "City Selection" ,
"settings.weather.coordinates_selection_label" : "Coordinate Location" ,
"settings.weather.location_city_summary_desc" : "Select the current city used for weather queries." ,
"settings.weather.location_coordinates_summary_desc" : "Set latitude/longitude and optional location name used for weather queries." ,
"settings.weather.location_not_selected" : "No location selected" ,
"settings.weather.alert_list_label" : "Exclude List" ,
"settings.weather.alert_list_desc" : "One exclusion rule per line." ,
"settings.weather.no_tls_toggle" : "Allow non-TLS request fallback" ,
"settings.weather.footer_hint" : "Desktop weather widgets will reuse the location and alert exclusion settings configured here." ,
2026-03-03 04:56:04 +08:00
"settings.weather.location_header" : "Weather Location" ,
"settings.weather.location_desc" : "Set the location used by weather widgets." ,
"settings.weather.location_placeholder" : "e.g. Beijing" ,
"settings.weather.location_apply" : "Save" ,
"settings.weather.location_empty" : "Weather location is not set." ,
"settings.weather.location_required" : "Weather location cannot be empty." ,
"settings.weather.location_current_format" : "Current weather location: {0}" ,
"settings.weather.location_saved_format" : "Weather location saved: {0}" ,
"weather.widget.location_not_configured" : "Weather location is not configured" ,
"weather.widget.configure_hint" : "Open Settings > Weather to configure" ,
"weather.widget.loading" : "Loading..." ,
"weather.widget.fetch_failed" : "Weather fetch failed" ,
"weather.widget.retrying" : "Retrying automatically" ,
"weather.widget.location_unknown" : "Unknown location" ,
"weather.widget.condition_clear" : "Clear" ,
"weather.widget.condition_cloudy" : "Cloudy" ,
"weather.widget.condition_rain" : "Rain" ,
"weather.widget.condition_storm" : "Thunderstorm" ,
"weather.widget.condition_snow" : "Snow" ,
"weather.widget.condition_fog" : "Fog" ,
"weather.widget.condition_unknown" : "Unknown" ,
"weather.widget.range_unknown" : "-- / --" ,
"weather.widget.range_format" : "{0} / {1}" ,
2026-03-03 15:09:49 +08:00
"schedule.widget.no_source" : "ClassIsland schedule data not found" ,
"schedule.widget.no_class_today" : "No classes today" ,
"schedule.widget.layout_missing" : "Schedule time layout is missing" ,
"schedule.widget.subject_fallback" : "Untitled class" ,
"schedule.widget.detail_fallback" : "No details" ,
"schedule.settings.title" : "Schedule Import" ,
"schedule.settings.desc" : "Import ClassIsland CSES schedules and choose which one is enabled." ,
"schedule.settings.add" : "Add Schedule" ,
"schedule.settings.empty" : "No imported schedules" ,
"schedule.settings.unnamed" : "Unnamed Schedule" ,
"schedule.settings.delete" : "Delete" ,
"schedule.settings.picker_title" : "Select ClassIsland schedule file" ,
"schedule.settings.picker_file_type" : "ClassIsland CSES schedule" ,
2026-03-05 16:34:22 +08:00
"worldclock.settings.title" : "World Clock Settings" ,
"worldclock.settings.desc" : "Choose a time zone for each of the four clocks." ,
"worldclock.settings.clock_1" : "Clock 1" ,
"worldclock.settings.clock_2" : "Clock 2" ,
"worldclock.settings.clock_3" : "Clock 3" ,
"worldclock.settings.clock_4" : "Clock 4" ,
"worldclock.settings.second_mode_label" : "Second Hand" ,
"worldclock.widget.today" : "Today" ,
"worldclock.widget.yesterday" : "Yesterday" ,
"worldclock.widget.tomorrow" : "Tomorrow" ,
"worldclock.widget.offset_same" : "0h" ,
"worldclock.widget.offset_ahead_hours" : "Ahead {0}h" ,
"worldclock.widget.offset_behind_hours" : "Behind {0}h" ,
"worldclock.widget.offset_ahead_hm" : "Ahead {0}h {1}m" ,
"worldclock.widget.offset_behind_hm" : "Behind {0}h {1}m" ,
2026-03-03 04:56:04 +08:00
"weather.widget.aqi_unknown" : "AQI --" ,
"weather.widget.aqi_format" : "AQI {0}" ,
"weather.widget.updated_format" : "Updated {0:HH:mm}" ,
"weather.hourly.now" : "Now" ,
2026-03-04 02:02:34 +08:00
"weather.hourly.sunset" : "Sunset" ,
2026-03-03 04:56:04 +08:00
"weather.multiday.today" : "Today" ,
"weather.multiday.tomorrow" : "Tomorrow" ,
"weather.multiday.aqi_format" : "Air Quality {0}" ,
"weather.multiday.aqi_unknown" : "Air --" ,
2026-03-02 20:02:14 +08:00
"settings.region.title" : "Region" ,
"settings.region.description" : "Choose language and apply immediately to settings and key UI." ,
"settings.region.language_header" : "Language" ,
"settings.region.language_label" : "Language" ,
"settings.region.language_zh" : "Chinese" ,
"settings.region.language_en" : "English" ,
2026-03-03 04:56:04 +08:00
"settings.region.timezone_header" : "Time Zone" ,
"settings.region.timezone_desc" : "Select a time zone. Clock and calendar widgets will follow this zone." ,
2026-03-02 20:02:14 +08:00
"settings.region.applied_format" : "Language switched to: {0}" ,
2026-03-13 22:20:12 +08:00
"settings.region.follow_system" : "Follow system default" ,
"settings.general.title" : "General" ,
"settings.general.description" : "Adjust language, time zone, and runtime behavior." ,
"settings.general.basic_header" : "Basic Settings" ,
"settings.general.runtime_header" : "Runtime" ,
"settings.general.preview_header" : "Date & Time Preview" ,
"settings.general.preview_time_label" : "Time" ,
"settings.general.preview_date_label" : "Date" ,
"settings.general.render_mode_restart_message" : "Rendering mode changes require restarting the app." ,
"settings.appearance.title" : "Appearance" ,
2026-03-15 17:08:07 +08:00
"settings.appearance.description" : "Adjust theme source, system material, and window chrome." ,
2026-03-13 22:20:12 +08:00
"settings.appearance.theme_header" : "Theme" ,
"settings.color.enable_night_mode_toggle" : "Enable night mode" ,
"settings.color.use_system_chrome_toggle" : "Use system window chrome" ,
"settings.color.theme_color_label" : "Theme accent color" ,
2026-03-15 17:08:07 +08:00
"settings.appearance.theme_color_mode_label" : "Theme color source" ,
"settings.appearance.theme_color_mode.neutral" : "Default neutral" ,
"settings.appearance.theme_color_mode.user" : "User theme color Monet" ,
"settings.appearance.theme_color_mode.wallpaper" : "Wallpaper Monet" ,
"settings.appearance.theme_color_mode_desc.neutral" : "Use the default white and black neutral surfaces for light and dark mode." ,
"settings.appearance.theme_color_mode_desc.user" : "Use the selected theme color as the Monet seed for the whole shell." ,
"settings.appearance.theme_color_mode_desc.wallpaper" : "Use wallpaper colors. The app wallpaper is preferred, then the system wallpaper." ,
"settings.appearance.theme_color_preview.app" : "Currently previewing colors extracted from the app wallpaper." ,
"settings.appearance.theme_color_preview.system" : "Currently previewing colors extracted from the system wallpaper." ,
"settings.appearance.theme_color_preview.fallback" : "No usable wallpaper was found. The app is using a fallback accent." ,
2026-03-16 15:19:46 +08:00
"component.color_scheme.follow_system" : "Follow system color scheme" ,
"component.color_scheme.native" : "Use component custom color scheme" ,
2026-03-15 17:08:07 +08:00
"settings.appearance.system_material.none" : "None" ,
"settings.appearance.system_material.mica" : "Mica" ,
"settings.appearance.system_material.acrylic" : "Acrylic" ,
"settings.appearance.system_material_desc.switchable" : "Apply the selected material to windows, Dock, status bar, and component hosts." ,
"settings.appearance.system_material_desc.fixed" : "Your current system only exposes the material modes listed here." ,
"settings.appearance.restart_message" : "Theme source and system material changes require restarting the app." ,
"settings.appearance.preview.primary" : "Primary" ,
"settings.appearance.preview.secondary" : "Secondary" ,
"settings.appearance.preview.tertiary" : "Tertiary" ,
"settings.appearance.preview.neutral" : "Neutral" ,
"settings.appearance.preview.seed" : "Seed" ,
"settings.appearance.preview.neutral_light" : "White" ,
"settings.appearance.preview.neutral_dark" : "Black" ,
"settings.appearance.preview.apply_seed" : "Apply" ,
"settings.appearance.preview.wallpaper_candidates" : "Wallpaper seed candidates" ,
"settings.appearance.preview.wallpaper_current" : "Current" ,
2026-03-13 22:20:12 +08:00
"settings.wallpaper.placement.fill" : "Fill" ,
"settings.wallpaper.placement.fit" : "Fit" ,
"settings.wallpaper.placement.stretch" : "Stretch" ,
"settings.wallpaper.placement.center" : "Center" ,
"settings.wallpaper.placement.tile" : "Tile" ,
"settings.status_bar.clock_format_label" : "Clock format" ,
"settings.status_bar.clock_format.hm" : "Hour:Minute" ,
"settings.status_bar.clock_format.hms" : "Hour:Minute:Second" ,
"settings.components.title" : "Components" ,
2026-03-20 00:41:14 +08:00
"settings.components.description" : "Adjust component layout and corner design." ,
"settings.components.grid_header" : "Grid Settings" ,
"settings.components.header" : "Grid Settings" ,
"settings.components.short_side_label" : "Short Side Cells" ,
"settings.components.edge_inset_label" : "Screen Inset" ,
"settings.components.spacing_label" : "Component Spacing" ,
"settings.components.spacing_compact" : "Compact" ,
"settings.components.spacing_relaxed" : "Relaxed" ,
"settings.components.corner_radius.header" : "Corner Design" ,
"settings.components.corner_radius.label" : "Component Corner Radius" ,
"settings.components.corner_radius.description" : "Adjust the shared corner radius used by component containers, and expand the internal safe area with it." ,
2026-03-05 18:46:32 +08:00
"settings.update.title" : "Update" ,
"settings.update.current_version_label" : "Current Version" ,
"settings.update.latest_version_label" : "Latest Release" ,
"settings.update.published_at_label" : "Published At" ,
"settings.update.options_header" : "Update Options" ,
"settings.update.options_desc" : "Configure update checks and release channel." ,
"settings.update.auto_check_toggle" : "Automatically check for updates on startup" ,
"settings.update.include_prerelease_toggle" : "Include prerelease versions" ,
"settings.update.channel_label" : "Update Channel" ,
"settings.update.channel_stable" : "Stable" ,
"settings.update.channel_preview" : "Preview" ,
"settings.update.actions_header" : "Update Actions" ,
"settings.update.actions_desc" : "Check releases, download installer, and start update." ,
"settings.update.check_button" : "Check for Updates" ,
"settings.update.download_install_button" : "Download & Install" ,
"settings.update.download_progress_idle" : "Download progress: -" ,
"settings.update.download_progress_format" : "Download progress: {0:F0}%" ,
"settings.update.status_ready" : "Ready to check for updates." ,
"settings.update.status_channel_changed" : "Update channel changed. Please check again." ,
"settings.update.status_channel_changed_format" : "Update channel switched to {0}. Please check again." ,
"settings.update.status_windows_only" : "Automatic installer update is currently available only on Windows." ,
"settings.update.status_checking" : "Checking GitHub releases..." ,
"settings.update.status_check_failed_format" : "Update check failed: {0}" ,
"settings.update.status_up_to_date" : "You are already on the latest version." ,
"settings.update.status_asset_missing" : "A new release is available, but no compatible installer was found." ,
"settings.update.status_available_format" : "New version {0} is available. Click Download & Install." ,
"settings.update.status_downloading" : "Downloading installer..." ,
"settings.update.status_download_failed_format" : "Download failed: {0}" ,
"settings.update.status_launching_installer" : "Download complete. Launching installer..." ,
"settings.update.status_installer_missing" : "Installer file was not found after download." ,
"settings.update.status_installer_started" : "Installer started. The app will close for update." ,
2026-03-11 09:40:36 +08:00
"settings.update.status_elevation_cancelled" : "Administrator permission was not granted. Update was cancelled." ,
2026-03-05 18:46:32 +08:00
"settings.update.status_launch_failed_format" : "Failed to start installer: {0}" ,
2026-03-03 04:56:04 +08:00
"settings.about.title" : "About" ,
"settings.about.version_format" : "Version: {0}" ,
"settings.about.codename_format" : "Code Name: {0}" ,
"settings.about.font_format" : "Font: {0}" ,
2026-03-05 12:34:39 +08:00
"settings.about.startup_header" : "Windows Startup" ,
"settings.about.startup_desc" : "Launch the app automatically when signing in to Windows." ,
"settings.about.startup_toggle" : "Launch at Windows sign-in" ,
2026-03-09 15:11:48 +08:00
"settings.about.render_mode_header" : "App Rendering Mode" ,
"settings.about.render_mode_desc" : "Choose the rendering backend. Restart the app after changing this option. Unsupported modes fall back to software." ,
"settings.about.render_mode.default" : "Default" ,
"settings.about.render_mode.software" : "Software" ,
"settings.about.render_mode.angle_egl" : "angleEgl" ,
"settings.about.render_mode.wgl" : "WGL" ,
"settings.about.render_mode.vulkan" : "Vulkan" ,
2026-03-09 17:54:49 +08:00
"settings.about.render_mode.unknown" : "Unknown" ,
"settings.about.render_mode.current_label" : "Current actual backend" ,
"settings.about.render_mode.current_format" : "Current backend: {0}" ,
"settings.about.render_mode.impl_format" : "Runtime implementation: {0}" ,
"settings.about.render_mode.impl_unavailable" : "Runtime implementation details are unavailable." ,
2026-03-15 04:35:34 +08:00
"settings.about.description" : "Application details." ,
"settings.update.description" : "Check releases, choose the update channel and download source, and control how updates are installed." ,
"settings.update.status_card_title" : "Update Status" ,
"settings.update.status_card_description" : "Check for updates, review release details, and continue with download or installation when a new version is available." ,
"settings.update.preferences_header" : "Update Preferences" ,
"settings.update.preferences_description" : "Choose the release channel, installer download source, installation behavior, and download parallelism." ,
"settings.update.last_checked_label" : "Last Checked" ,
"settings.update.source_label" : "Download Source" ,
"settings.update.source_github" : "GitHub" ,
"settings.update.source_ghproxy" : "gh-proxy" ,
"settings.update.source_github_desc" : "Download release assets directly from GitHub." ,
"settings.update.source_ghproxy_desc" : "Use the gh-proxy mirror when downloading GitHub release assets." ,
"settings.update.mode_label" : "Update Mode" ,
"settings.update.mode_manual" : "Manual Update" ,
"settings.update.mode_download_then_confirm" : "Silent Download" ,
"settings.update.mode_silent_on_exit" : "Silent Install" ,
"settings.update.mode_manual_desc" : "Only check for updates. You decide when downloads and installation happen." ,
"settings.update.mode_download_then_confirm_desc" : "Download updates in the background and ask for confirmation before installing them." ,
"settings.update.mode_silent_on_exit_desc" : "Download updates in the background and install them the next time you exit the app." ,
"settings.update.channel_stable_desc" : "Stable builds prioritize reliability and are recommended for most users." ,
"settings.update.channel_preview_desc" : "Preview builds may contain newer features but can be less stable." ,
"settings.update.download_threads_label" : "Download Threads" ,
"settings.update.download_threads_desc" : "Set the number of parallel download threads for application update packages." ,
"settings.update.install_now_button" : "Install Now" ,
"settings.update.status_downloaded_confirm" : "Update downloaded. Review it and choose when to install." ,
"settings.update.status_downloaded_exit" : "Update downloaded. It will be installed when you exit the app." ,
2026-03-13 22:20:12 +08:00
"settings.about.app_info_header" : "Application Information" ,
"settings.about.update_header" : "Updates" ,
"settings.about.version_label" : "Version" ,
2026-03-15 04:35:34 +08:00
"settings.about.codename_label" : "Codename" ,
2026-03-13 22:20:12 +08:00
"settings.about.render_backend_label" : "Render Backend" ,
"settings.about.render_backend_format" : "Render Backend: {0}" ,
2026-03-09 22:26:42 +08:00
"settings.restart_dialog.title" : "Restart required" ,
"settings.restart_dialog.render_mode_message" : "Restart the app to switch the rendering mode from \"{0}\" to \"{1}\". Restart now?" ,
"settings.restart_dialog.restart" : "Restart now" ,
2026-03-15 17:08:07 +08:00
"settings.restart_dialog.later" : "Later" ,
2026-03-09 22:26:42 +08:00
"settings.restart_dialog.cancel" : "Cancel" ,
"settings.restart_dock.title" : "Restart required" ,
"settings.restart_dock.description" : "Some changes will take effect after restarting the app." ,
"settings.restart_dock.button" : "Restart app" ,
2026-03-04 15:22:52 +08:00
"settings.footer" : "LanMountainDesktop Settings" ,
2026-03-02 20:02:14 +08:00
"filepicker.title" : "Select wallpaper" ,
"filepicker.image_files" : "Image files" ,
"filepicker.video_files" : "Video files" ,
"common.day" : "Day" ,
"common.night" : "Night" ,
"common.back" : "Back" ,
"common.close" : "Close" ,
2026-03-05 18:46:32 +08:00
"common.unknown" : "Unknown error" ,
2026-03-02 20:02:14 +08:00
"common.recommended" : "Recommended" ,
"common.monet" : "Monet" ,
"desktop.page_index_format" : "Desktop {0}" ,
"launcher.title" : "App Launcher" ,
2026-03-19 16:27:16 +08:00
"launcher.folder" : "Folder" ,
2026-03-02 20:02:14 +08:00
"launcher.subtitle" : "Apps and folders from Windows Start Menu" ,
2026-03-07 00:58:52 +08:00
"launcher.subtitle_linux" : "Installed apps discovered from Linux desktop entries" ,
2026-03-02 20:02:14 +08:00
"launcher.empty" : "No Start Menu entries found." ,
2026-03-07 00:58:52 +08:00
"launcher.empty_linux" : "No Linux desktop entries were found." ,
2026-03-02 20:02:14 +08:00
"launcher.empty_folder" : "This folder is empty." ,
"launcher.folder_items_format" : "{0} apps" ,
2026-03-06 08:53:45 +08:00
"launcher.context.hide_icon" : "Hide Icon" ,
2026-03-06 10:32:02 +08:00
"launcher.action.hide" : "Hide" ,
2026-03-06 08:53:45 +08:00
"settings.launcher.title" : "App Launcher" ,
2026-03-14 22:45:09 +08:00
"settings.launcher.description" : "Manage hidden apps and folders in the App Launcher." ,
2026-03-06 08:53:45 +08:00
"settings.launcher.hidden_header" : "Hidden Items" ,
"settings.launcher.hidden_desc" : "Review hidden launcher entries and show them again." ,
2026-03-06 10:32:02 +08:00
"settings.launcher.hidden_hint" : "In desktop edit mode, select a launcher icon and click Hide. Hidden entries appear here." ,
2026-03-06 08:53:45 +08:00
"settings.launcher.hidden_empty" : "No hidden items." ,
2026-03-14 22:45:09 +08:00
"settings.launcher.hidden_summary_format" : "{0} hidden items" ,
2026-03-06 08:53:45 +08:00
"settings.launcher.hidden_type_folder" : "Folder" ,
2026-03-14 22:45:09 +08:00
"settings.launcher.hidden_type_shortcut" : "App" ,
2026-03-10 21:25:47 +08:00
"settings.launcher.restore_button" : "Unhide" ,
2026-03-06 22:24:59 +08:00
"settings.plugins.title" : "Plugins" ,
"settings.plugins.runtime_header" : "Plugin Runtime" ,
2026-03-09 12:27:33 +08:00
"settings.plugins.runtime_desc" : "Review plugin runtime state and load results." ,
"settings.plugins.runtime_hint" : "This page shows discovery status, load results, and runtime diagnostics for installed plugins." ,
"settings.plugins.runtime_status" : "Plugin runtime status will appear here after plugin discovery completes." ,
2026-03-14 23:52:26 +08:00
"settings.plugins.description" : "Manage installed plugins and review their runtime state." ,
"settings.plugins.initial_status" : "Refresh plugin state to see the latest installed plugins." ,
2026-03-13 22:20:12 +08:00
"settings.plugins.refresh_button" : "Refresh Plugins" ,
2026-03-14 23:52:26 +08:00
"settings.plugins.refresh_success_installed_format" : "Loaded {0} installed plugins." ,
2026-03-13 22:20:12 +08:00
"settings.plugins.refresh_success_format" : "Loaded {0} installed plugins and {1} marketplace entries." ,
"settings.plugins.refresh_failed" : "Failed to load plugin market index." ,
"settings.plugins.marketplace_header" : "Marketplace" ,
"settings.plugins.marketplace_empty" : "No marketplace plugins are available right now." ,
"settings.plugins.delete_button_short" : "Delete" ,
"settings.plugins.install_button_short" : "Install" ,
"settings.plugins.restart_required" : "Plugin changes take effect after restart." ,
"settings.plugins.toggle_unchanged_format" : "Plugin '{0}' did not change." ,
"settings.plugins.delete_failed_name_format" : "Failed to remove plugin '{0}'." ,
"settings.plugins.install_failed_name_format" : "Failed to install '{0}'." ,
2026-03-09 12:27:33 +08:00
"settings.plugins.installed_header" : "Installed Plugins" ,
2026-03-10 21:25:47 +08:00
"settings.plugins.installed_desc" : "Review installed plugins and remove them here." ,
"settings.plugins.import_header" : "Install From Package" ,
"settings.plugins.import_desc" : "Open a .laapp package and stage it into the local plugin directory." ,
"settings.plugins.restart_hint" : "Plugin installation and deletion changes take effect after restarting the app." ,
2026-03-09 12:27:33 +08:00
"settings.plugins.empty" : "No plugins found." ,
"settings.plugins.runtime_unavailable" : "Plugin runtime is not available." ,
"settings.plugins.summary_format" : "Detected {0} plugin(s); enabled {1}; loaded {2}; settings pages {3}; widgets {4}; failures {5}." ,
"settings.plugins.summary_item_format" : "{0} v{1} | {2}" ,
"settings.plugins.state.enabled" : "Enabled" ,
"settings.plugins.state.enabled_failed" : "Enabled / failed to load" ,
"settings.plugins.state.disabled" : "Disabled" ,
"settings.plugins.state.loaded" : "Loaded" ,
"settings.plugins.state.load_failed" : "Load failed" ,
"settings.plugins.toggle_on" : "Enabled" ,
"settings.plugins.toggle_off" : "Disabled" ,
"settings.plugins.toggle_result_format" : "Plugin '{0}' was {1} for the next launch. Restart the app to apply page and widget changes." ,
"settings.plugins.toggle_state_enabled" : "enabled" ,
"settings.plugins.toggle_state_disabled" : "disabled" ,
2026-03-10 21:25:47 +08:00
"settings.plugins.toggle_failed_detail_format" : "Failed to update plugin '{0}': {1}" ,
2026-03-10 00:04:33 +08:00
"settings.plugins.install_button" : "Open .laapp package" ,
"settings.plugins.install_unavailable" : "Plugin runtime is unavailable, so .laapp packages cannot be installed right now." ,
"settings.plugins.install_hint_format" : "Open a .laapp package to install it into: {0}" ,
"settings.plugins.install_picker_title" : "Select plugin package" ,
"settings.plugins.install_file_type" : ".laapp plugin package" ,
"settings.plugins.install_picker_unavailable" : "Storage provider is unavailable." ,
"settings.plugins.install_copy_failed" : "Failed to copy the selected .laapp package." ,
"settings.plugins.install_success_format" : "Installed plugin '{0}'. Restart the app to apply newly added settings pages and widgets." ,
"settings.plugins.install_failed_format" : "Failed to install plugin package: {0}" ,
2026-03-10 21:25:47 +08:00
"settings.plugins.delete_button" : "Delete plugin" ,
"settings.plugins.delete_success_format" : "Plugin '{0}' was staged for deletion. Restart the app to finish removing it." ,
"settings.plugins.delete_failed_format" : "Failed to delete plugin: {0}" ,
"settings.plugins.delete_failed_detail_format" : "Failed to delete plugin '{0}': {1}" ,
"settings.plugins.publisher_format" : "Publisher: {0}" ,
"settings.plugins.publisher_unknown" : "Unknown publisher" ,
2026-03-09 12:27:33 +08:00
"settings.plugins.source_package" : ".laapp package" ,
"settings.plugins.source_manifest" : "Loose manifest" ,
"settings.plugins.subtitle_format" : "{0} | {1} | {2}" ,
"settings.plugins.detail_format" : "Settings pages: {0} | Widgets: {1}" ,
2026-03-10 14:56:05 +08:00
"settings.nav.plugin_market" : "Plugin Market" ,
"settings.plugin_market.title" : "Plugin Market" ,
"settings.plugin_market.subtitle" : "Browse plugins from the official LanAirApp source and stage installs." ,
"settings.plugin_market.unavailable" : "Plugin runtime is not available, so the official market cannot be opened right now." ,
2026-03-13 22:20:12 +08:00
"settings.update.status_idle" : "No update check has been performed yet." ,
"settings.update.status_preferences_saved" : "Update preferences saved." ,
"settings.update.status_check_failed" : "Failed to check for updates." ,
"settings.update.status_available_summary_format" : "Update available: {0} (current: {1})" ,
"settings.update.status_up_to_date_format" : "You are up to date ({0})." ,
"settings.window.drawer_default" : "Details" ,
2026-03-10 09:55:49 +08:00
"market.toolbar.search_placeholder" : "Search plugins" ,
"market.toolbar.refresh" : "Refresh" ,
"market.status.loading" : "Loading the official plugin market..." ,
"market.status.loaded_network_format" : "Loaded {0} plugin(s) from the official source." ,
"market.status.loaded_cache_format" : "Official source unavailable. Loaded {0} plugin(s) from cache. Reason: {1}" ,
"market.status.load_failed_format" : "Failed to load the plugin market: {0}" ,
"market.status.installing_format" : "Downloading and staging plugin '{0}'..." ,
"market.status.install_success_format" : "Plugin '{0}' has been staged. Restart the app to apply it." ,
"market.status.install_failed_format" : "Failed to install plugin: {0}" ,
"market.status.host_incompatible_format" : "This host is too old. Version {0} or newer is required." ,
"market.list.empty" : "The plugin market has not been loaded yet." ,
"market.list.no_results" : "No plugins match the current search." ,
"market.card.subtitle_format" : "{0} | v{1}" ,
"market.card.loaded" : "Loaded" ,
"market.card.pending_restart" : "Restart required" ,
"market.detail.placeholder" : "Select a plugin on the left to inspect details." ,
2026-03-14 23:52:26 +08:00
"market.detail.author" : "Publisher" ,
2026-03-10 09:55:49 +08:00
"market.detail.version" : "Version" ,
"market.detail.api_version" : "API Version" ,
"market.detail.min_host_version" : "Minimum Host Version" ,
"market.detail.installed_version" : "Installed Version" ,
"market.detail.not_installed" : "Not installed" ,
2026-03-10 16:35:43 +08:00
"market.detail.readme" : "README" ,
"market.detail.plugin_information" : "Plugin Information" ,
"market.detail.author_subtitle_format" : "By {0}" ,
"market.detail.package_size" : "Package Size" ,
"market.detail.published_at" : "Published At" ,
"market.detail.updated_at" : "Updated At" ,
"market.detail.tags" : "Tags" ,
"market.detail.project" : "Project" ,
"market.detail.state" : "Install State" ,
2026-03-10 09:55:49 +08:00
"market.detail.market_source" : "Market Source" ,
"market.detail.homepage" : "Homepage" ,
"market.detail.repository" : "Repository" ,
"market.detail.release_notes" : "Release Notes" ,
2026-03-14 23:52:26 +08:00
"market.detail.dependencies" : "Dependencies" ,
"market.detail.dependencies_empty" : "No shared contract dependencies were declared by this plugin." ,
"market.detail.readme_loading" : "Loading README..." ,
"market.detail.readme_empty" : "README is empty." ,
"market.detail.readme_error_format" : "README could not be loaded: {0}" ,
2026-03-10 09:55:49 +08:00
"market.detail.state.not_installed" : "Not installed" ,
"market.detail.state.update_available" : "Update available" ,
"market.detail.state.installed" : "Installed" ,
"market.detail.unknown" : "Unknown" ,
"market.button.install" : "Install" ,
"market.button.update" : "Update" ,
"market.button.installed" : "Installed" ,
"market.button.installing" : "Installing..." ,
2026-03-14 23:52:26 +08:00
"market.button.restart" : "Restart to apply" ,
2026-03-02 20:02:14 +08:00
"button.component_library" : "Edit Desktop" ,
"tooltip.component_library" : "Edit Desktop" ,
"component_library.title" : "Widgets" ,
"component_library.empty" : "Swipe to pick a category, tap to open, then drag a widget onto the desktop." ,
"component_library.drag_hint" : "Drag to place" ,
"component.delete" : "Delete" ,
"component.edit" : "Edit" ,
2026-03-14 22:45:09 +08:00
"component.editor.instance_scope" : "Changes apply to this component instance only." ,
"component.editor.info_header" : "Component Info" ,
"component.editor.id_label" : "Component ID" ,
"component.editor.placement_label" : "Placement ID" ,
"component.editor.scope_label" : "Scope" ,
"component.editor.scope_instance" : "Instance-scoped editor" ,
2026-03-02 22:46:10 +08:00
"component_category.clock" : "Clock" ,
2026-03-02 20:02:14 +08:00
"component_category.date" : "Calendar" ,
2026-03-03 04:56:04 +08:00
"component_category.weather" : "Weather" ,
"component_category.board" : "Board" ,
2026-03-03 18:26:29 +08:00
"component_category.media" : "Media" ,
2026-03-04 02:02:34 +08:00
"component_category.info" : "Info" ,
2026-03-06 00:29:40 +08:00
"component_category.calculator" : "Calculator" ,
2026-03-04 11:28:59 +08:00
"component_category.study" : "Study" ,
2026-03-17 12:30:30 +08:00
"component_category.file" : "File" ,
2026-03-02 20:02:14 +08:00
"component.date" : "Calendar" ,
"component.month_calendar" : "Month Calendar" ,
"component.lunar_calendar" : "Lunar Calendar" ,
2026-03-02 22:46:10 +08:00
"component.desktop_clock" : "Clock" ,
2026-03-03 04:56:04 +08:00
"component.weather_clock" : "Weather Clock" ,
2026-03-05 16:34:22 +08:00
"component.world_clock" : "World Clock" ,
2026-03-02 22:46:10 +08:00
"component.desktop_timer" : "Timer" ,
2026-03-03 04:56:04 +08:00
"component.desktop_weather" : "Weather" ,
"component.hourly_weather" : "Hourly Weather" ,
"component.multiday_weather" : "Multi-day Weather" ,
2026-03-03 15:09:49 +08:00
"component.extended_weather" : "Extended Weather" ,
"component.class_schedule" : "Class Schedule" ,
2026-03-03 18:26:29 +08:00
"component.music_control" : "Music Control" ,
"component.audio_recorder" : "Recorder" ,
2026-03-04 02:02:34 +08:00
"component.daily_poetry" : "Daily Poetry" ,
"component.daily_artwork" : "Daily Artwork" ,
2026-03-05 18:46:32 +08:00
"component.daily_word" : "Daily Word" ,
2026-03-06 18:38:20 +08:00
"component.daily_word_2x2" : "Daily Word 2x2" ,
2026-03-05 18:46:32 +08:00
"component.cnr_daily_news" : "CNR Headlines" ,
2026-03-06 22:24:59 +08:00
"component.ifeng_news" : "iFeng News" ,
2026-03-06 00:29:40 +08:00
"component.bilibili_hot_search" : "Bilibili Hot Search" ,
2026-03-06 22:24:59 +08:00
"component.baidu_hot_search" : "Baidu Hot Search" ,
2026-03-06 08:53:45 +08:00
"component.stcn24_forum" : "STCN 24" ,
2026-03-06 00:29:40 +08:00
"component.exchange_rate_converter" : "Exchange Rate Converter" ,
2026-03-03 04:56:04 +08:00
"component.whiteboard" : "Blackboard (Portrait)" ,
"component.blackboard_landscape" : "Blackboard (Landscape)" ,
2026-03-04 03:41:59 +08:00
"component.browser" : "Browser" ,
2026-03-16 15:19:46 +08:00
"component.office_recent_documents" : "Recent Documents" ,
2026-03-19 16:27:16 +08:00
"whiteboard.settings.desc" : "Each blackboard keeps its own note history and saves it independently." ,
"whiteboard.settings.retention.title" : "Note retention" ,
"whiteboard.settings.retention.desc" : "Choose how long this blackboard should keep saved notes before expired data is removed automatically." ,
"whiteboard.settings.retention.option" : "{0} days" ,
"whiteboard.settings.instance_scope" : "This retention setting is stored per blackboard component instance." ,
"office_recent_documents.settings.desc" : "Choose which Windows and Office sources this widget should scan for recent documents." ,
"office_recent_documents.settings.sources_title" : "Recent document sources" ,
"office_recent_documents.settings.sources_desc" : "You can combine multiple sources. Registry selection also keeps the Office interop MRU fallback available." ,
"office_recent_documents.settings.source.registry" : "Office registry MRU" ,
"office_recent_documents.settings.source.recent_folders" : "Windows Recent folders" ,
"office_recent_documents.settings.source.jump_lists" : "Windows Jump Lists" ,
"office_recent_documents.settings.hint" : "If you disable all sources, this widget will stay empty until at least one source is enabled again." ,
2026-03-19 00:17:21 +08:00
"component.removable_storage" : "Removable Storage" ,
2026-03-02 22:46:10 +08:00
"component.holiday_calendar" : "Holiday Calendar" ,
2026-03-04 11:28:59 +08:00
"component.study_environment" : "Environment" ,
2026-03-04 20:58:17 +08:00
"component.study_session_control" : "Study Session Control" ,
2026-03-05 00:40:49 +08:00
"component.study_session_history" : "Session History" ,
2026-03-04 11:28:59 +08:00
"component.study_noise_curve" : "Noise Curve" ,
2026-03-04 20:03:14 +08:00
"component.study_noise_distribution" : "Noise Distribution" ,
2026-03-04 19:16:51 +08:00
"component.study_score_overview" : "Study Score Overview" ,
2026-03-04 20:03:14 +08:00
"component.study_deduction_reasons" : "Deduction Reasons" ,
"component.study_interrupt_density" : "Interrupt Density" ,
2026-03-05 16:34:22 +08:00
"desktop_clock.settings.title" : "Clock Settings" ,
"desktop_clock.settings.desc" : "Choose the time zone for the single clock." ,
"desktop_clock.settings.timezone_label" : "Time Zone" ,
"desktop_clock.settings.second_mode_label" : "Second Hand" ,
"clock.second_mode.tick" : "Tick" ,
"clock.second_mode.sweep" : "Sweep" ,
2026-03-04 02:02:34 +08:00
"poetry.widget.loading_content" : "Loading poetry..." ,
"poetry.widget.loading_author" : "Loading..." ,
"poetry.widget.fetch_failed" : "Poetry fetch failed" ,
"poetry.widget.fallback_content" : "Daily poetry is temporarily unavailable." ,
"poetry.widget.fallback_author" : "Try again later" ,
"poetry.widget.unknown_author" : "Unknown" ,
"artwork.widget.loading" : "Loading..." ,
"artwork.widget.loading_title" : "Daily Artwork" ,
"artwork.widget.loading_subtitle" : "Fetching today's masterpiece" ,
"artwork.widget.fetch_failed" : "Artwork fetch failed" ,
"artwork.widget.fallback_title" : "Daily Artwork" ,
2026-03-04 16:43:10 +08:00
"artwork.widget.fallback_artist" : "Recommendation service unavailable" ,
2026-03-04 02:02:34 +08:00
"artwork.widget.fallback_year" : "Try again later" ,
"artwork.widget.unknown_artist" : "Unknown artist" ,
2026-03-05 18:46:32 +08:00
"dailyword.widget.loading" : "Loading..." ,
"dailyword.widget.loading_word" : "daily word" ,
"dailyword.widget.loading_pronunciation" : "Fetching pronunciation..." ,
"dailyword.widget.loading_meaning" : "Fetching meaning..." ,
"dailyword.widget.loading_example" : "Fetching example sentence..." ,
"dailyword.widget.loading_example_translation" : "Loading..." ,
"dailyword.widget.fetch_failed" : "Daily word fetch failed" ,
"dailyword.widget.fallback_word" : "daily word" ,
"dailyword.widget.fallback_pronunciation" : "Pronunciation unavailable" ,
"dailyword.widget.fallback_meaning" : "Youdao dictionary is temporarily unavailable." ,
"dailyword.widget.fallback_example" : "Tap the refresh button and try again." ,
"dailyword.widget.fallback_example_translation" : "It will retry when network recovers." ,
2026-03-06 18:38:20 +08:00
"dailyword2x2.widget.tap_to_show" : "Tap to reveal meaning" ,
2026-03-05 18:46:32 +08:00
"cnrnews.widget.loading" : "Loading..." ,
"cnrnews.widget.loading_title" : "Fetching CNR headlines" ,
"cnrnews.widget.loading_subtitle" : "Please wait" ,
"cnrnews.widget.fetch_failed" : "News fetch failed" ,
"cnrnews.widget.fallback_title" : "CNR news is temporarily unavailable" ,
"cnrnews.widget.fallback_subtitle" : "Tap refresh and try again" ,
2026-03-05 20:17:28 +08:00
"cnrnews.widget.hot_label" : "Hot" ,
2026-03-06 00:29:40 +08:00
"bilihot.widget.brand" : "bilibili hot search" ,
"bilihot.widget.top_right_label" : "bilibili热搜" ,
"bilihot.widget.search_entry" : "Search" ,
"bilihot.widget.search_placeholder" : "Search trending topics" ,
"bilihot.widget.loading" : "Loading..." ,
"bilihot.widget.loading_item" : "Loading..." ,
"bilihot.widget.fetch_failed" : "Hot search fetch failed" ,
"bilihot.widget.fallback_item" : "No hot search data" ,
"bilihot.widget.more_hot" : "More hot search" ,
2026-03-06 22:24:59 +08:00
"baiduhot.widget.brand" : "Baidu Hot Search" ,
"baiduhot.widget.loading" : "Loading..." ,
"baiduhot.widget.loading_item" : "Loading..." ,
"baiduhot.widget.fetch_failed" : "Hot search fetch failed" ,
"baiduhot.widget.fallback_item" : "No hot search data" ,
"baiduhot.widget.refresh_tooltip" : "Refresh" ,
"ifeng.widget.brand" : "iFeng News" ,
"ifeng.widget.loading" : "Loading..." ,
"ifeng.widget.loading_item" : "Loading..." ,
"ifeng.widget.fetch_failed" : "News fetch failed" ,
"ifeng.widget.fallback_item" : "No news data" ,
"ifeng.widget.refresh_tooltip" : "Refresh" ,
2026-03-06 10:32:02 +08:00
"dailyword.settings.title" : "Daily word settings" ,
"dailyword.settings.desc" : "Configure auto refresh and refresh interval." ,
"dailyword.settings.auto_refresh_label" : "Auto refresh" ,
"dailyword.settings.auto_refresh_enabled" : "Enable auto refresh" ,
"dailyword.settings.frequency_label" : "Refresh interval" ,
"bilihot.settings.title" : "Bilibili hot search settings" ,
"bilihot.settings.desc" : "Configure auto refresh and refresh interval." ,
"bilihot.settings.auto_refresh_label" : "Auto refresh" ,
"bilihot.settings.auto_refresh_enabled" : "Enable auto refresh" ,
"bilihot.settings.frequency_label" : "Refresh interval" ,
2026-03-06 22:24:59 +08:00
"baiduhot.settings.title" : "Baidu hot search settings" ,
"baiduhot.settings.desc" : "Configure source, auto refresh and refresh interval." ,
"baiduhot.settings.source_label" : "Data source" ,
"baiduhot.settings.source_official" : "Official Source" ,
"baiduhot.settings.source_rss" : "Third-party RSS" ,
"baiduhot.settings.auto_refresh_label" : "Auto refresh" ,
"baiduhot.settings.auto_refresh_enabled" : "Enable auto refresh" ,
"baiduhot.settings.frequency_label" : "Refresh interval" ,
"ifeng.settings.title" : "iFeng news settings" ,
"ifeng.settings.desc" : "Configure channel, auto refresh and refresh interval." ,
"ifeng.settings.channel_label" : "News channel" ,
"ifeng.settings.channel_comprehensive" : "Comprehensive" ,
"ifeng.settings.channel_mainland" : "China Mainland" ,
"ifeng.settings.channel_taiwan" : "Taiwan" ,
"ifeng.settings.auto_refresh_label" : "Auto refresh" ,
"ifeng.settings.auto_refresh_enabled" : "Enable auto refresh" ,
"ifeng.settings.frequency_label" : "Refresh interval" ,
2026-03-06 10:32:02 +08:00
"refresh.frequency.5m" : "5 minutes" ,
"refresh.frequency.10m" : "10 minutes" ,
"refresh.frequency.12m" : "12 minutes" ,
"refresh.frequency.15m" : "15 minutes" ,
"refresh.frequency.20m" : "20 minutes" ,
"refresh.frequency.30m" : "30 minutes" ,
"refresh.frequency.40m" : "40 minutes" ,
"refresh.frequency.1h" : "1 hour" ,
"refresh.frequency.3h" : "3 hours" ,
"refresh.frequency.6h" : "6 hours" ,
"refresh.frequency.12h" : "12 hours" ,
"refresh.frequency.24h" : "24 hours" ,
"weather.widget.settings.title" : "Weather widget settings" ,
"weather.widget.settings.desc" : "Configure auto refresh and refresh interval for all weather widgets." ,
"weather.widget.settings.auto_refresh_label" : "Auto refresh" ,
"weather.widget.settings.auto_refresh_enabled" : "Enable auto refresh" ,
"weather.widget.settings.frequency_label" : "Refresh interval" ,
"weather.widget.settings.frequency_10m" : "10 minutes" ,
"weather.widget.settings.frequency_12m" : "12 minutes" ,
"weather.widget.settings.frequency_15m" : "15 minutes" ,
"weather.widget.settings.frequency_30m" : "30 minutes" ,
"weather.widget.settings.frequency_1h" : "1 hour" ,
"weather.widget.settings.frequency_3h" : "3 hours" ,
2026-03-06 08:53:45 +08:00
"stcn24.widget.loading" : "Loading..." ,
"stcn24.widget.loading_item" : "Loading..." ,
"stcn24.widget.fetch_failed" : "Forum posts fetch failed" ,
"stcn24.widget.fallback_item" : "No posts" ,
2026-03-06 10:32:02 +08:00
"stcn24.settings.title" : "STCN 24 settings" ,
"stcn24.settings.desc" : "Configure information source, auto refresh and refresh interval." ,
"stcn24.settings.source_label" : "Information source" ,
"stcn24.settings.source_latest_created" : "Latest posts" ,
"stcn24.settings.source_latest_activity" : "Latest activity" ,
"stcn24.settings.source_most_replies" : "Most replies" ,
"stcn24.settings.source_earliest_created" : "Earliest posts" ,
"stcn24.settings.source_earliest_activity" : "Earliest activity" ,
"stcn24.settings.source_least_replies" : "Least replies" ,
"stcn24.settings.source_frontpage_latest" : "Frontpage latest" ,
"stcn24.settings.source_frontpage_earliest" : "Frontpage earliest" ,
"stcn24.settings.auto_refresh_label" : "Auto refresh" ,
"stcn24.settings.auto_refresh_enabled" : "Enable auto refresh" ,
"stcn24.settings.frequency_label" : "Refresh interval" ,
"stcn24.settings.frequency_5m" : "5 minutes" ,
"stcn24.settings.frequency_10m" : "10 minutes" ,
"stcn24.settings.frequency_20m" : "20 minutes" ,
"stcn24.settings.frequency_30m" : "30 minutes" ,
"stcn24.settings.frequency_1h" : "1 hour" ,
"stcn24.settings.frequency_3h" : "3 hours" ,
2026-03-06 00:29:40 +08:00
"exchange.widget.loading" : "Loading exchange rates..." ,
"exchange.widget.fetch_failed" : "Exchange rate fetch failed" ,
2026-03-05 21:21:03 +08:00
"cnrnews.settings.title" : "CNR Settings" ,
"cnrnews.settings.desc" : "Configure auto-rotation and refresh interval." ,
"cnrnews.settings.auto_rotate_label" : "Auto-rotation" ,
"cnrnews.settings.auto_rotate_enabled" : "Enable auto-rotation" ,
"cnrnews.settings.frequency_label" : "Rotation interval" ,
"cnrnews.settings.frequency_5m" : "5 minutes" ,
"cnrnews.settings.frequency_10m" : "10 minutes" ,
"cnrnews.settings.frequency_40m" : "40 minutes" ,
"cnrnews.settings.frequency_1h" : "1 hour" ,
"cnrnews.settings.frequency_12h" : "12 hours" ,
"cnrnews.settings.frequency_24h" : "24 hours" ,
2026-03-05 12:34:39 +08:00
"artwork.settings.title" : "Daily Artwork Settings" ,
"artwork.settings.desc" : "Switch the data source used by Daily Artwork." ,
"artwork.settings.source_label" : "Mirror Source" ,
"artwork.settings.source_domestic" : "Domestic Mirror" ,
"artwork.settings.source_overseas" : "Overseas Mirror" ,
"artwork.settings.source_status_domestic" : "Current source: Domestic mirror (optimized for China network)" ,
"artwork.settings.source_status_overseas" : "Current source: Overseas mirror (art museum recommendations)" ,
2026-03-03 18:26:29 +08:00
"music.widget.unsupported" : "Music control is not supported on this platform" ,
"music.widget.unsupported_hint" : "This widget requires Windows SMTC" ,
2026-03-04 02:02:34 +08:00
"music.widget.no_session" : "No music source" ,
"music.widget.no_session_hint" : "Install QQ Music / KuGou / NetEase Cloud Music from the app store" ,
2026-03-03 18:26:29 +08:00
"music.widget.open_player" : "Open player" ,
"music.widget.unknown_title" : "Unknown title" ,
"music.widget.unknown_artist" : "Unknown artist" ,
"music.widget.status.opened" : "Opened" ,
"music.widget.status.changing" : "Changing" ,
"music.widget.status.stopped" : "Stopped" ,
"music.widget.status.playing" : "Playing" ,
"music.widget.status.paused" : "Paused" ,
"recording.widget.title" : "Recorder" ,
"recording.widget.hint.ready" : "Tap red button to record" ,
"recording.widget.hint.recording" : "Recording" ,
"recording.widget.hint.paused" : "Paused" ,
"recording.widget.hint.unsupported" : "Microphone is unavailable" ,
"recording.widget.hint.error" : "Recording failed" ,
"recording.widget.hint.saved_format" : "Saved {0}" ,
2026-03-04 02:02:34 +08:00
"recording.widget.save_picker_title" : "Save recording file" ,
"recording.widget.save_picker_type" : "WAV audio" ,
2026-03-04 11:28:59 +08:00
"study.environment.status_label" : "Environment" ,
"study.environment.status.initializing" : "Initializing" ,
"study.environment.status.ready" : "Ready" ,
"study.environment.status.quiet" : "Quiet" ,
"study.environment.status.noisy" : "Noisy" ,
"study.environment.status.paused" : "Paused" ,
"study.environment.status.error" : "Error" ,
"study.environment.status.unsupported" : "Unsupported" ,
"study.environment.value.unavailable" : "--" ,
"study.environment.value.display_format" : "{0:F1} dB" ,
"study.environment.value.dbfs_format" : "{0:F1} dBFS" ,
"study.environment.settings.title" : "Environment Widget Settings" ,
"study.environment.settings.desc" : "Configure real-time noise value display on the right side." ,
"study.environment.settings.show_display_db" : "Show display dB" ,
"study.environment.settings.show_dbfs" : "Show dBFS" ,
"study.environment.settings.hint" : "At least one display mode must stay enabled." ,
2026-03-19 00:17:21 +08:00
"removable_storage.settings.desc" : "Show a connected USB drive with quick open and eject actions." ,
"removable_storage.settings.behavior_title" : "Behavior" ,
"removable_storage.settings.behavior_desc" : "The widget automatically watches for removable drives and switches to the newest inserted USB drive." ,
"removable_storage.action.open" : "Open" ,
"removable_storage.action.eject" : "Eject" ,
"removable_storage.widget.default_name" : "Removable Drive" ,
"removable_storage.widget.empty_title" : "No device inserted" ,
"removable_storage.widget.empty_subtitle" : "Insert a USB drive to show it here." ,
"removable_storage.widget.empty_hint" : "Buttons stay disabled until a removable device is inserted." ,
"removable_storage.widget.ready" : "Ready to open or eject." ,
"removable_storage.widget.ejecting" : "Ejecting drive..." ,
"removable_storage.widget.eject_failed" : "Could not eject this drive. Close any files on it and try again." ,
"removable_storage.widget.open_failed" : "Failed to open this drive." ,
"removable_storage.widget.refresh_failed" : "Drive list refresh failed." ,
2026-03-04 20:58:17 +08:00
"study.session_control.action.start" : "Start Study Session" ,
"study.session_control.action.stop" : "Stop Study Session" ,
"study.session_control.idle_hint" : "Tap the right button to start" ,
"study.session_control.report_preview" : "Preview Report" ,
"study.session_control.report_confirm_hint" : "Tap right button to confirm" ,
"study.session_control.running_elapsed_format" : "Elapsed {0}" ,
"study.session_control.last_session_format" : "Last {0}" ,
"study.session_control.start_failed" : "Unable to start session" ,
"study.session_control.stop_failed" : "Unable to stop session" ,
2026-03-05 00:40:49 +08:00
"study.session_history.title" : "Session History" ,
"study.session_history.empty" : "No session history" ,
"study.session_history.select_failed" : "Unable to switch session" ,
"study.session_history.rename_failed" : "Unable to rename session" ,
"study.session_history.delete_failed" : "Unable to delete session" ,
"study.session_history.rename_placeholder" : "Enter session name" ,
"study.session_history.rename_confirm" : "Confirm rename" ,
"study.session_history.rename_cancel" : "Cancel rename" ,
"study.session_history.loading" : "Loading data..." ,
"study.session_history.loaded" : "Data loaded" ,
"study.session_history.duration_format" : "{0:hh\\:mm\\:ss}" ,
"study.session_history.meta_format" : "{0} · Avg {1:F1}" ,
"study.session_history.action.view" : "View" ,
"study.session_history.action.rename" : "Rename" ,
"study.session_history.action.delete" : "Delete" ,
"study.session_history.dialog.rename_title" : "Rename Session" ,
"study.session_history.dialog.rename_message" : "Enter a new name for \"{0}\"." ,
"study.session_history.dialog.delete_title" : "Delete Session" ,
"study.session_history.dialog.delete_message" : "Delete \"{0}\"? This cannot be undone." ,
"study.session_history.dialog.delete_confirm" : "Delete" ,
2026-03-04 11:28:59 +08:00
"study.noise_curve.value_format" : "{0:F1} dB" ,
"study.noise_curve.axis.now" : "Now" ,
2026-03-04 20:03:14 +08:00
"study.noise_distribution.title" : "Noise Level Distribution" ,
"study.noise_distribution.mode.realtime" : "Realtime" ,
"study.noise_distribution.mode.session" : "Session" ,
"study.noise_distribution.summary.mainly_format" : "Mainly: {0}" ,
"study.noise_distribution.summary.latest_format" : "Latest: {0}" ,
"study.noise_distribution.summary.compact_format" : "Main {0} · New {1}" ,
"study.noise_distribution.level.quiet" : "Quiet" ,
"study.noise_distribution.level.normal" : "Normal" ,
"study.noise_distribution.level.noisy" : "Noisy" ,
"study.noise_distribution.level.extreme" : "Extreme" ,
"study.noise_distribution.axis.extreme" : "Extreme" ,
"study.noise_distribution.axis.noisy" : "Noisy" ,
"study.noise_distribution.axis.normal" : "Normal" ,
"study.noise_distribution.axis.quiet" : "Quiet" ,
"study.noise_distribution.axis.now" : "Now" ,
2026-03-04 19:16:51 +08:00
"study.score_overview.title" : "Study Score" ,
"study.score_overview.mode.realtime" : "Realtime" ,
"study.score_overview.mode.session" : "Session" ,
"study.score_overview.current" : "Current" ,
"study.score_overview.average" : "Average" ,
"study.score_overview.minimum" : "Minimum" ,
"study.score_overview.maximum" : "Maximum" ,
"study.score_overview.average_short" : "Avg" ,
"study.score_overview.minimum_short" : "Min" ,
"study.score_overview.maximum_short" : "Max" ,
"study.score_overview.unavailable" : "--" ,
2026-03-04 20:03:14 +08:00
"study.deduction.title" : "Deduction Reasons" ,
"study.deduction.mode.realtime" : "Realtime" ,
"study.deduction.mode.session" : "Session" ,
"study.deduction.reason.sustained" : "Sustained Noise" ,
"study.deduction.reason.time" : "Over-threshold Time" ,
"study.deduction.reason.segment" : "Interrupt Frequency" ,
"study.deduction.reason.sustained_short" : "Sustained" ,
"study.deduction.reason.time_short" : "Duration" ,
"study.deduction.reason.segment_short" : "Interrupt" ,
"study.deduction.metric.sustained_format" : "p50 {0:F1} dBFS" ,
"study.deduction.metric.sustained_short_format" : "p50 {0:F1}" ,
"study.deduction.metric.time_format" : "over {0:F1}%" ,
"study.deduction.metric.time_short_format" : "{0:F1}%" ,
"study.deduction.metric.segment_format" : "{0:F1}/min" ,
"study.deduction.metric.segment_short_format" : "{0:F1}/m" ,
"study.deduction.loss_format" : "-{0:F1}" ,
"study.deduction.total_loss_format" : "Total -{0:F1}" ,
"study.deduction.total_score_format" : "Score {0:F1}" ,
"study.deduction.total_loss_unavailable" : "Total {0}" ,
"study.deduction.total_score_unavailable" : "Score {0}" ,
"study.deduction.unavailable" : "--" ,
"study.interrupt_density.title" : "Interrupt Density" ,
"study.interrupt_density.mode.realtime" : "Realtime" ,
"study.interrupt_density.mode.session" : "Session" ,
"study.interrupt_density.unit" : "/min" ,
"study.interrupt_density.segment_count" : "Interrupts" ,
"study.interrupt_density.segment_count_short" : "Count" ,
"study.interrupt_density.duration" : "Duration" ,
"study.interrupt_density.duration_short" : "Time" ,
"study.interrupt_density.density_value_format" : "{0:F1}" ,
"study.interrupt_density.segment_count_value_format" : "{0}" ,
"study.interrupt_density.level_format" : "Level {0}" ,
"study.interrupt_density.level.calm" : "Calm" ,
"study.interrupt_density.level.normal" : "Normal" ,
"study.interrupt_density.level.frequent" : "Frequent" ,
"study.interrupt_density.level.severe" : "Severe" ,
"study.interrupt_density.threshold_format" : "Penalty threshold {0:F1}/min" ,
"study.interrupt_density.unavailable" : "--" ,
2026-03-02 20:02:14 +08:00
"desktop.add_page" : "Add page" ,
"desktop.delete_page" : "Delete page" ,
"placement.fill" : "Fill" ,
"placement.fit" : "Fit" ,
"placement.stretch" : "Stretch" ,
"placement.center" : "Center" ,
2026-03-11 15:14:08 +08:00
"placement.tile" : "Tile" ,
2026-03-12 12:25:22 +08:00
"single_instance.notice.title" : "App already running" ,
"single_instance.notice.description" : "The app is already running. There is no need to click multiple times to open it." ,
2026-03-17 12:30:30 +08:00
"single_instance.notice.button" : "OK" ,
"market.status.install_success_restart_format" : "✓ Plugin '{0}' installed successfully! Please restart the application to activate it." ,
"market.dialog.restart_message_format" : "Plugin '{0}' has been installed successfully.\n\nTo use this plugin, you need to restart the application now.\n\nWould you like to restart?"
2026-03-11 15:14:08 +08:00
}