diff --git a/gui/src/bindings/strings.json b/gui/src/bindings/strings.json index 3e7f6cbf..7b681633 100644 --- a/gui/src/bindings/strings.json +++ b/gui/src/bindings/strings.json @@ -3665,17 +3665,17 @@ "youtube_playlist": "YouTube 播放列表" }, "infra": { - "audio_disconnected": "Audio output device disconnected.", - "audio_init_failed": "Audio output init failed: {error}", - "cast_access_token_missing": "no accessToken in the device-auth reply", - "cast_client_id_missing": "no clientID in getInfoResponse", - "cast_login_refused": "the speaker refused the login: {reply}", - "cast_malformed": "a malformed Cast message", - "cast_message_size": "a {size}-byte Cast message", - "cast_no_answer": "no answer from {address}", - "cast_no_reply": "no reply to {kind}", - "cast_no_tls": "no TLS handshake with {address}", - "cast_receiver_failed": "the Spotify receiver did not start: {reason}", + "audio_disconnected": "音频输出设备已断开。", + "audio_init_failed": "音频输出初始化失败:{error}", + "cast_access_token_missing": "device-auth 回复中缺少 accessToken", + "cast_client_id_missing": "getInfoResponse 中缺少 clientID", + "cast_login_refused": "音箱拒绝登录:{reply}", + "cast_malformed": "Cast 消息格式错误", + "cast_message_size": "Cast 消息大小为 {size} 字节", + "cast_no_answer": "{address} 没有响应", + "cast_no_reply": "{kind} 未收到回复", + "cast_no_tls": "与 {address} 的 TLS 握手未完成", + "cast_receiver_failed": "Spotify 接收器未启动:{reason}", "dj_duplicate": "{count} already queued", "dj_error": "DJ error ({backend}): {error}", "dj_index_capped": " (stopped at {count}; the rest is not filtered)", @@ -3688,7 +3688,7 @@ "dj_status": "DJ: {summary}", "dj_steps_exhausted": "Stopped after {count} steps. Ask again if that is not where you wanted to end up.", "dj_topped_up": "DJ: topped up the queue", - "fetching": "Fetching {name}…", + "fetching": "正在获取 {name}…", "friend_add_failed": "Could not add friend: {error}", "friend_added": "Added friend", "friend_added_code": "Added friend (code: {code})", @@ -3707,61 +3707,61 @@ "history_track_hits": "{count} track hits · {duration}", "history_week": "Last 7 Days", "liked_check_failed": "Could not check liked track state: {error}", - "local_audio_unavailable": "No audio output for local playback: {error}", - "local_exhausted": "{message} — no playable tracks left, stopping", - "local_no_folder": "No local music folder configured (set behavior.local_music_path)", - "local_no_tracks": "No local tracks to play", - "local_play_failed": "Cannot play local file: {error}", - "local_read_failed": "Cannot read folder: {error}", - "local_replay_failed": "Cannot replay local file", - "local_root_folder": "(root)", - "local_scan_failed": "Cannot scan music folder: {error}", - "local_scan_task_failed": "Local folder scan failed: {error}", - "local_task_failed": "Local playback task failed: {error}", - "local_tracks_scan_failed": "Local track scan failed: {error}", - "local_unknown_track": "Unknown Track", - "local_uri_invalid": "Invalid local file URI: {error}", + "local_audio_unavailable": "本地播放无音频输出:{error}", + "local_exhausted": "{message} — 已无可播放曲目,停止播放", + "local_no_folder": "尚未设置本地音乐文件夹(请设置 behavior.local_music_path)", + "local_no_tracks": "没有可播放的本地曲目", + "local_play_failed": "无法播放本地文件:{error}", + "local_read_failed": "无法读取文件夹:{error}", + "local_replay_failed": "无法重新播放本地文件", + "local_root_folder": "(根目录)", + "local_scan_failed": "无法扫描音乐文件夹:{error}", + "local_scan_task_failed": "本地文件夹扫描失败:{error}", + "local_task_failed": "本地播放任务失败:{error}", + "local_tracks_scan_failed": "本地曲目扫描失败:{error}", + "local_unknown_track": "未知曲目", + "local_uri_invalid": "本地文件 URI 无效:{error}", "made_for_you_missing": "Spotify did not send the Made For You page", "made_for_you_unavailable": "Made For You is unavailable: every known browsePage hash is retired", "mcp_status": "MCP: {message}", "monthly_recap_ready": "Monthly listening recap ready at {path} ({count} listens)", - "music_busy": "Music is busy; retry the request", - "music_busy_playback": "Music is busy; retry the playback request", - "music_loaded": "Apple Music: loaded {count} items", - "music_loading": "Loading Apple Music library: {end}/{total}", - "music_not_running": "Music is not running; choose a Music track to start it", - "music_queue_unsupported": "Apple Music tracks can't be queued", - "music_requires_macos": "Apple Music requires macOS and the apple-music feature", - "music_shuffle_repeat": "Use Music to change shuffle or repeat", - "music_status_unavailable": "Music status unavailable: {error}. Retrying in the background.", - "music_switch_spotify": "Start a Spotify track to switch playback from Music", - "music_wait_pause": "Waiting for Music to pause before switching source", - "native_connection_restored": "Native connection restored; restoring playback.", - "native_disconnected": "Native streaming disconnected; attempting recovery.", - "native_lost_reconnecting": "Native streaming connection lost; reconnecting.", - "native_lost_recovering": "Native streaming connection lost; attempting recovery.", - "native_many_unavailable": "Several tracks in a row couldn't be played natively, so playback was stopped. They may be unavailable on your account or region. Press 'd' to switch to an official Spotify Connect device.", - "native_moved": "Playback moved to another Spotify device.", - "native_no_state": "Native connection recovered, but there was no playback state to restore.", - "native_nothing_to_resume": "No playback to resume on {device}.", - "native_reconnect_resume": "Reconnecting native streaming; playback will resume.", - "native_reconnected": "Native streaming connection recovered.", - "native_reconnecting": "Reconnecting native streaming…", - "native_recovered": "Native streaming recovered.", - "native_recovery_dropped": "Native recovery failed; playback request dropped: {error}", - "native_recovery_failed": "Native recovery failed: {error}", - "native_restore_retry": "Native playback restore failed; reconnecting again.", - "native_restored": "Native playback restored.", - "native_restored_paused": "Native playback restored in paused state.", - "native_resume_failed": "Failed to resume playback: {error}", - "native_resuming": "Resuming the last playback here…", - "native_settling": "Native streaming is still settling…", - "native_shuffle_failed": "Failed to apply shuffle: {error}", - "native_skip_unavailable": "Couldn't play this track natively (unavailable or blocked); skipping.", - "native_stalled": "Native streaming stalled; attempting recovery.", - "native_start_failed": "Failed to start native playback: {error}", - "native_stopped": "Native streaming stopped.", - "native_stopped_recovering": "Native streaming stopped; attempting recovery.", + "music_busy": "Music 正忙,请重试请求", + "music_busy_playback": "Music 正忙,请重试播放请求", + "music_loaded": "Apple Music:已加载 {count} 项", + "music_loading": "正在加载 Apple Music 音乐库:{end}/{total}", + "music_not_running": "Music 未运行,请选择 Music 曲目启动", + "music_queue_unsupported": "Apple Music 曲目无法加入队列", + "music_requires_macos": "Apple Music 需要 macOS 和 apple-music 功能", + "music_shuffle_repeat": "请在 Music 中更改随机播放或循环播放", + "music_status_unavailable": "无法获取 Music 状态:{error}。正在后台重试。", + "music_switch_spotify": "播放 Spotify 曲目即可从 Music 切换", + "music_wait_pause": "正在等待 Music 暂停,再切换音源", + "native_connection_restored": "内置播放连接已恢复,正在恢复播放。", + "native_disconnected": "内置播放已断开,正在尝试恢复。", + "native_lost_reconnecting": "内置播放连接已断开,正在重新连接。", + "native_lost_recovering": "内置播放连接已断开,正在尝试恢复。", + "native_many_unavailable": "多首曲目连续无法使用内置播放,已停止播放。你的账号或所在地区可能无法使用这些曲目。请按 'd' 切换到官方 Spotify Connect 设备。", + "native_moved": "播放已转移到另一台 Spotify 设备。", + "native_no_state": "内置播放连接已恢复,但没有可恢复的播放状态。", + "native_nothing_to_resume": "{device} 上没有可恢复的播放。", + "native_reconnect_resume": "正在重新连接内置播放,随后将恢复播放。", + "native_reconnected": "内置播放连接已恢复。", + "native_reconnecting": "正在重新连接内置播放…", + "native_recovered": "内置播放已恢复。", + "native_recovery_dropped": "内置播放恢复失败,播放请求已放弃:{error}", + "native_recovery_failed": "内置播放恢复失败:{error}", + "native_restore_retry": "内置播放恢复失败,正在再次连接。", + "native_restored": "内置播放已恢复。", + "native_restored_paused": "内置播放已恢复,保持暂停。", + "native_resume_failed": "恢复播放失败:{error}", + "native_resuming": "正在此设备恢复上次播放…", + "native_settling": "内置播放仍在准备中…", + "native_shuffle_failed": "启用随机播放失败:{error}", + "native_skip_unavailable": "此曲目无法使用内置播放(不可用或被限制),正在跳过。", + "native_stalled": "内置播放已停滞,正在尝试恢复。", + "native_start_failed": "启动内置播放失败:{error}", + "native_stopped": "内置播放已停止。", + "native_stopped_recovering": "内置播放已停止,正在尝试恢复。", "network_error": "{error}", "network_rate_error": "{error}", "other_source_playing": "Another source owns playback", @@ -3783,46 +3783,46 @@ "playlist_removed": "Removed from playlist", "playlist_search_matches": "{count} playlist tracks match \"{query}\"{scope}", "playlist_search_scope": " in the first {count} tracks", - "qobuz_audio_unavailable": "No audio output for Qobuz playback: {error}", - "qobuz_browser_login": "Qobuz: open the browser window to log in", - "qobuz_logged_in": "Qobuz: logged in", - "qobuz_login_busy": "Qobuz login already in progress...", - "qobuz_login_expired": "Qobuz: login expired, press `d` and pick Qobuz to log in again", - "qobuz_login_failed": "Qobuz login failed: {error}", - "qobuz_login_url": "Open this URL in your browser to log in to Qobuz: {url}", - "qobuz_no_tracks": "No Qobuz tracks to play", - "qobuz_operation_failed": "Qobuz: {step}: {error}", - "qobuz_replay_failed": "Cannot replay Qobuz track", - "qobuz_step_constants": "web player constants", - "qobuz_step_library": "library", - "qobuz_step_login": "login", - "qobuz_step_search": "search", - "qobuz_step_stream": "stream", - "qobuz_step_tracks": "tracks", - "qobuz_uri_invalid": "Invalid Qobuz track URI", - "queue_added": "Added to queue", - "queue_audio_unavailable": "No audio output for queue playback: {error}", - "queue_finished": "Queue finished", - "queue_load_failed": "Could not load queue (no active device?)", - "queue_local_source": "Local", - "queue_no_uri": "Skipped a queued track with no URI", - "queue_play_failed": "Cannot play {name}: {error}", - "queue_playing": "♪ {name} (queue)", - "queue_repeat_unsupported": "Repeat does not apply to this source", - "queue_restore_failed": "Cannot restore {name}: {error}", - "queue_shuffle_unsupported": "Shuffle does not apply to this source", - "queue_skip_disconnected": "Native streaming isn't connected; skipped \"{name}\"", - "radio_audio_unavailable": "No audio output for radio playback: {error}", - "radio_empty": "No radio stations configured or saved; search to add some", - "radio_no_skip": "Live radio: no track skipping", - "radio_not_resumed": "Playback is paused - radio not resumed.", - "radio_open_failed": "Cannot open radio stream: {error}", - "radio_play_failed": "Cannot play radio stream: {error}", - "radio_playing": "♪ {name} (live)", - "radio_probe_timeout": "Cannot play radio stream: no recognisable audio format in time.", - "radio_search_failed": "Radio search failed: {error}", - "radio_task_failed": "Radio playback task failed: {error}", - "radio_uri_invalid": "Invalid radio URI", + "qobuz_audio_unavailable": "Qobuz 播放无音频输出:{error}", + "qobuz_browser_login": "Qobuz:请打开浏览器窗口登录", + "qobuz_logged_in": "Qobuz:已登录", + "qobuz_login_busy": "Qobuz 正在登录…", + "qobuz_login_expired": "Qobuz:登录已过期,请按 `d` 并选择 Qobuz 重新登录", + "qobuz_login_failed": "Qobuz 登录失败:{error}", + "qobuz_login_url": "请在浏览器中打开此 URL 登录 Qobuz:{url}", + "qobuz_no_tracks": "没有可播放的 Qobuz 曲目", + "qobuz_operation_failed": "Qobuz:{step}失败:{error}", + "qobuz_replay_failed": "无法重新播放 Qobuz 曲目", + "qobuz_step_constants": "网页播放器参数", + "qobuz_step_library": "音乐库", + "qobuz_step_login": "登录", + "qobuz_step_search": "搜索", + "qobuz_step_stream": "音频流", + "qobuz_step_tracks": "曲目", + "qobuz_uri_invalid": "Qobuz 曲目 URI 无效", + "queue_added": "已加入队列", + "queue_audio_unavailable": "队列播放无音频输出:{error}", + "queue_finished": "队列播放完毕", + "queue_load_failed": "无法加载队列(没有活动设备?)", + "queue_local_source": "本地", + "queue_no_uri": "已跳过队列中缺少 URI 的曲目", + "queue_play_failed": "无法播放 {name}:{error}", + "queue_playing": "♪ {name}(队列)", + "queue_repeat_unsupported": "此音源不支持循环播放", + "queue_restore_failed": "无法恢复 {name}:{error}", + "queue_shuffle_unsupported": "此音源不支持随机播放", + "queue_skip_disconnected": "内置播放未连接,已跳过“{name}”", + "radio_audio_unavailable": "电台播放无音频输出:{error}", + "radio_empty": "尚未设置或保存电台;请搜索并添加", + "radio_no_skip": "电台直播无法切换曲目", + "radio_not_resumed": "播放已暂停,未恢复电台播放。", + "radio_open_failed": "无法打开电台流:{error}", + "radio_play_failed": "无法播放电台流:{error}", + "radio_playing": "♪ {name}(直播)", + "radio_probe_timeout": "无法播放电台流:未能及时识别音频格式。", + "radio_search_failed": "电台搜索失败:{error}", + "radio_task_failed": "电台播放任务失败:{error}", + "radio_uri_invalid": "电台 URI 无效", "recap_created": "Listening recap generated at {path} ({count} listens)", "recap_failed": "Failed to generate recap: {error}", "search_query_unavailable": "Search is unavailable: every known {operation} hash is retired", @@ -3865,17 +3865,17 @@ "shuffle_capped": "Large context: shuffling the first {count} tracks", "shuffle_context_failed": "Shuffle: failed to load the context's track list", "shuffle_not_applied": "Playback started; couldn't apply shuffle.", - "source_playback_unavailable": "{source} playback isn't available in this build", - "speaker_client_id_missing": "no clientID in getInfo", - "speaker_login_refused": "the speaker refused the login: {message} ({error})", - "speaker_not_joined": "{name} did not join after its login", - "speaker_token_failed": "the token exchange failed ({status}): {error}", - "speaker_token_unsupported": "the speaker asks for token type {kind}, which is not supported yet", + "source_playback_unavailable": "此版本不支持 {source} 播放", + "speaker_client_id_missing": "getInfo 中缺少 clientID", + "speaker_login_refused": "音箱拒绝登录:{message}({error})", + "speaker_not_joined": "{name} 登录后未连接", + "speaker_token_failed": "令牌交换失败({status}):{error}", + "speaker_token_unsupported": "音箱请求的令牌类型 {kind} 尚不支持", "spotify_api_error": "Spotify API {status} failed: {body}", "spotify_connected": "Spotify connected. Restart spotatui to enable native playback.", "spotify_login_failed": "Spotify login failed: {error}", "spotify_login_timeout": "Spotify login timed out. Press `d` and pick Spotify to try again.", - "spotify_not_compiled": "This build of spotatui has no Spotify support", + "spotify_not_compiled": "此版本的 spotatui 不支持 Spotify", "spotify_not_connected": "Spotify not connected. Press `d` and pick Spotify to log in.", "spotify_pair": "Log in to Spotify: open {url} and confirm the code {code}", "spotify_playing_elsewhere": "Playback remains on another Spotify device.", @@ -3885,17 +3885,17 @@ "spotify_rate_retry": "Spotify rate limit hit. Retrying automatically; please wait a few seconds.", "spotify_rate_wait": "Spotify rate limit: waiting {seconds}s", "spotify_server_retry": "Spotify server temporarily unavailable (5xx); retrying automatically.", - "subsonic_audio_unavailable": "No audio output for Subsonic playback: {error}", - "subsonic_download_failed": "Cannot download Subsonic track: {error}", - "subsonic_no_server": "No Subsonic server configured (set behavior.subsonic_url)", - "subsonic_no_tracks": "No Subsonic tracks to play", - "subsonic_play_failed": "Cannot play Subsonic track: {error}", - "subsonic_playlist_failed": "Cannot load Subsonic playlist: {error}", - "subsonic_playlists_failed": "Cannot load Subsonic playlists: {error}", - "subsonic_replay_failed": "Cannot replay Subsonic track", - "subsonic_search_failed": "Subsonic search failed: {error}", - "subsonic_task_failed": "Subsonic playback task failed: {error}", - "subsonic_uri_invalid": "Invalid Subsonic track URI", + "subsonic_audio_unavailable": "Subsonic 播放无音频输出:{error}", + "subsonic_download_failed": "无法下载 Subsonic 曲目:{error}", + "subsonic_no_server": "尚未设置 Subsonic 服务器(请设置 behavior.subsonic_url)", + "subsonic_no_tracks": "没有可播放的 Subsonic 曲目", + "subsonic_play_failed": "无法播放 Subsonic 曲目:{error}", + "subsonic_playlist_failed": "无法加载 Subsonic 播放列表:{error}", + "subsonic_playlists_failed": "无法加载 Subsonic 播放列表:{error}", + "subsonic_replay_failed": "无法重新播放 Subsonic 曲目", + "subsonic_search_failed": "Subsonic 搜索失败:{error}", + "subsonic_task_failed": "Subsonic 播放任务失败:{error}", + "subsonic_uri_invalid": "Subsonic 曲目 URI 无效", "sync_busy": "Playlist sync already running", "sync_dry_run": " (dry run)", "sync_failed": "Playlist sync failed: {error}", @@ -3913,27 +3913,27 @@ "sync_summary": "Playlist sync{dry}: {added} added, {removed} removed, {unmatched} unmatched", "sync_using_playlist": "Using the existing {source} playlist \"{name}\"", "unnamed_folder": "Unnamed Folder", - "youtube_add_failed": "Cannot add video to playlist: {error}", - "youtube_added": "Added \"{name}\" to {playlist}", - "youtube_already_added": "\"{name}\" is already in {playlist}", - "youtube_audio_unavailable": "No audio output for YouTube playback: {error}", - "youtube_create_failed": "Cannot create YouTube playlist: {error}", - "youtube_created": "Created YouTube playlist \"{name}\"", - "youtube_decode_failed": "Cannot play YouTube audio: {error} (installing ffmpeg fixes most container issues)", - "youtube_delete_failed": "Cannot delete YouTube playlist: {error}", - "youtube_deleted": "Deleted YouTube playlist \"{name}\"", - "youtube_download_failed": "Cannot download YouTube audio: {error}", - "youtube_metadata_missing": "Cannot resolve that video's metadata", - "youtube_no_live": "Live streams aren't supported on the YouTube source yet", - "youtube_no_tracks": "No YouTube videos to play", - "youtube_playlist_missing": "That YouTube playlist no longer exists", - "youtube_playlists_failed": "Cannot load YouTube playlists: {error}", - "youtube_remove_failed": "Cannot remove video from playlist: {error}", - "youtube_removed": "Removed \"{name}\" from playlist", - "youtube_replay_failed": "Cannot replay YouTube track", - "youtube_search_failed": "YouTube search failed: {error}", - "youtube_task_failed": "YouTube playback task failed: {error}", - "youtube_uri_invalid": "Invalid YouTube URI" + "youtube_add_failed": "无法将视频添加到播放列表:{error}", + "youtube_added": "已将“{name}”添加到 {playlist}", + "youtube_already_added": "“{name}”已在 {playlist} 中", + "youtube_audio_unavailable": "YouTube 播放无音频输出:{error}", + "youtube_create_failed": "无法创建 YouTube 播放列表:{error}", + "youtube_created": "已创建 YouTube 播放列表“{name}”", + "youtube_decode_failed": "无法播放 YouTube 音频:{error}(安装 ffmpeg 可解决大多数容器格式问题)", + "youtube_delete_failed": "无法删除 YouTube 播放列表:{error}", + "youtube_deleted": "已删除 YouTube 播放列表“{name}”", + "youtube_download_failed": "无法下载 YouTube 音频:{error}", + "youtube_metadata_missing": "无法获取该视频的元数据", + "youtube_no_live": "YouTube 音源暂不支持直播", + "youtube_no_tracks": "没有可播放的 YouTube 视频", + "youtube_playlist_missing": "该 YouTube 播放列表已不存在", + "youtube_playlists_failed": "无法加载 YouTube 播放列表:{error}", + "youtube_remove_failed": "无法从播放列表移除视频:{error}", + "youtube_removed": "已从播放列表移除“{name}”", + "youtube_replay_failed": "无法重新播放 YouTube 曲目", + "youtube_search_failed": "YouTube 搜索失败:{error}", + "youtube_task_failed": "YouTube 播放任务失败:{error}", + "youtube_uri_invalid": "YouTube URI 无效" }, "runtime": { "apple_music_needs_macos": "Apple Music 播放需要 macOS", @@ -5676,17 +5676,17 @@ "youtube_playlist": "YouTube 播放清單" }, "infra": { - "audio_disconnected": "Audio output device disconnected.", - "audio_init_failed": "Audio output init failed: {error}", - "cast_access_token_missing": "no accessToken in the device-auth reply", - "cast_client_id_missing": "no clientID in getInfoResponse", - "cast_login_refused": "the speaker refused the login: {reply}", - "cast_malformed": "a malformed Cast message", - "cast_message_size": "a {size}-byte Cast message", - "cast_no_answer": "no answer from {address}", - "cast_no_reply": "no reply to {kind}", - "cast_no_tls": "no TLS handshake with {address}", - "cast_receiver_failed": "the Spotify receiver did not start: {reason}", + "audio_disconnected": "音訊輸出裝置已中斷連線。", + "audio_init_failed": "音訊輸出初始化失敗:{error}", + "cast_access_token_missing": "device-auth 回覆中缺少 accessToken", + "cast_client_id_missing": "getInfoResponse 中缺少 clientID", + "cast_login_refused": "喇叭拒絕登入:{reply}", + "cast_malformed": "Cast 訊息格式錯誤", + "cast_message_size": "Cast 訊息大小為 {size} 位元組", + "cast_no_answer": "{address} 沒有回應", + "cast_no_reply": "{kind} 未收到回覆", + "cast_no_tls": "與 {address} 的 TLS 交握未完成", + "cast_receiver_failed": "Spotify 接收器未啟動:{reason}", "dj_duplicate": "{count} already queued", "dj_error": "DJ error ({backend}): {error}", "dj_index_capped": " (stopped at {count}; the rest is not filtered)", @@ -5699,7 +5699,7 @@ "dj_status": "DJ: {summary}", "dj_steps_exhausted": "Stopped after {count} steps. Ask again if that is not where you wanted to end up.", "dj_topped_up": "DJ: topped up the queue", - "fetching": "Fetching {name}…", + "fetching": "正在取得 {name}…", "friend_add_failed": "Could not add friend: {error}", "friend_added": "Added friend", "friend_added_code": "Added friend (code: {code})", @@ -5718,61 +5718,61 @@ "history_track_hits": "{count} track hits · {duration}", "history_week": "Last 7 Days", "liked_check_failed": "Could not check liked track state: {error}", - "local_audio_unavailable": "No audio output for local playback: {error}", - "local_exhausted": "{message} — no playable tracks left, stopping", - "local_no_folder": "No local music folder configured (set behavior.local_music_path)", - "local_no_tracks": "No local tracks to play", - "local_play_failed": "Cannot play local file: {error}", - "local_read_failed": "Cannot read folder: {error}", - "local_replay_failed": "Cannot replay local file", - "local_root_folder": "(root)", - "local_scan_failed": "Cannot scan music folder: {error}", - "local_scan_task_failed": "Local folder scan failed: {error}", - "local_task_failed": "Local playback task failed: {error}", - "local_tracks_scan_failed": "Local track scan failed: {error}", - "local_unknown_track": "Unknown Track", - "local_uri_invalid": "Invalid local file URI: {error}", + "local_audio_unavailable": "本機播放無音訊輸出:{error}", + "local_exhausted": "{message} — 已無可播放曲目,停止播放", + "local_no_folder": "尚未設定本機音樂資料夾(請設定 behavior.local_music_path)", + "local_no_tracks": "沒有可播放的本機曲目", + "local_play_failed": "無法播放本機檔案:{error}", + "local_read_failed": "無法讀取資料夾:{error}", + "local_replay_failed": "無法重新播放本機檔案", + "local_root_folder": "(根目錄)", + "local_scan_failed": "無法掃描音樂資料夾:{error}", + "local_scan_task_failed": "本機資料夾掃描失敗:{error}", + "local_task_failed": "本機播放工作失敗:{error}", + "local_tracks_scan_failed": "本機曲目掃描失敗:{error}", + "local_unknown_track": "未知曲目", + "local_uri_invalid": "本機檔案 URI 無效:{error}", "made_for_you_missing": "Spotify did not send the Made For You page", "made_for_you_unavailable": "Made For You is unavailable: every known browsePage hash is retired", "mcp_status": "MCP: {message}", "monthly_recap_ready": "Monthly listening recap ready at {path} ({count} listens)", - "music_busy": "Music is busy; retry the request", - "music_busy_playback": "Music is busy; retry the playback request", - "music_loaded": "Apple Music: loaded {count} items", - "music_loading": "Loading Apple Music library: {end}/{total}", - "music_not_running": "Music is not running; choose a Music track to start it", - "music_queue_unsupported": "Apple Music tracks can't be queued", - "music_requires_macos": "Apple Music requires macOS and the apple-music feature", - "music_shuffle_repeat": "Use Music to change shuffle or repeat", - "music_status_unavailable": "Music status unavailable: {error}. Retrying in the background.", - "music_switch_spotify": "Start a Spotify track to switch playback from Music", - "music_wait_pause": "Waiting for Music to pause before switching source", - "native_connection_restored": "Native connection restored; restoring playback.", - "native_disconnected": "Native streaming disconnected; attempting recovery.", - "native_lost_reconnecting": "Native streaming connection lost; reconnecting.", - "native_lost_recovering": "Native streaming connection lost; attempting recovery.", - "native_many_unavailable": "Several tracks in a row couldn't be played natively, so playback was stopped. They may be unavailable on your account or region. Press 'd' to switch to an official Spotify Connect device.", - "native_moved": "Playback moved to another Spotify device.", - "native_no_state": "Native connection recovered, but there was no playback state to restore.", - "native_nothing_to_resume": "No playback to resume on {device}.", - "native_reconnect_resume": "Reconnecting native streaming; playback will resume.", - "native_reconnected": "Native streaming connection recovered.", - "native_reconnecting": "Reconnecting native streaming…", - "native_recovered": "Native streaming recovered.", - "native_recovery_dropped": "Native recovery failed; playback request dropped: {error}", - "native_recovery_failed": "Native recovery failed: {error}", - "native_restore_retry": "Native playback restore failed; reconnecting again.", - "native_restored": "Native playback restored.", - "native_restored_paused": "Native playback restored in paused state.", - "native_resume_failed": "Failed to resume playback: {error}", - "native_resuming": "Resuming the last playback here…", - "native_settling": "Native streaming is still settling…", - "native_shuffle_failed": "Failed to apply shuffle: {error}", - "native_skip_unavailable": "Couldn't play this track natively (unavailable or blocked); skipping.", - "native_stalled": "Native streaming stalled; attempting recovery.", - "native_start_failed": "Failed to start native playback: {error}", - "native_stopped": "Native streaming stopped.", - "native_stopped_recovering": "Native streaming stopped; attempting recovery.", + "music_busy": "Music 忙碌中,請重試請求", + "music_busy_playback": "Music 忙碌中,請重試播放請求", + "music_loaded": "Apple Music:已載入 {count} 項", + "music_loading": "正在載入 Apple Music 音樂庫:{end}/{total}", + "music_not_running": "Music 未執行,請選擇 Music 曲目啟動", + "music_queue_unsupported": "Apple Music 曲目無法加入佇列", + "music_requires_macos": "Apple Music 需要 macOS 和 apple-music 功能", + "music_shuffle_repeat": "請在 Music 中更改隨機播放或循環播放", + "music_status_unavailable": "無法取得 Music 狀態:{error}。正在背景重試。", + "music_switch_spotify": "播放 Spotify 曲目即可從 Music 切換", + "music_wait_pause": "正在等待 Music 暫停,再切換來源", + "native_connection_restored": "內建串流連線已恢復,正在恢復播放。", + "native_disconnected": "內建串流已中斷,正在嘗試恢復。", + "native_lost_reconnecting": "內建串流連線已中斷,正在重新連線。", + "native_lost_recovering": "內建串流連線已中斷,正在嘗試恢復。", + "native_many_unavailable": "多首曲目連續無法透過內建串流播放,已停止播放。你的帳號或所在地區可能無法使用這些曲目。請按 'd' 切換到官方 Spotify Connect 裝置。", + "native_moved": "播放已轉移到另一台 Spotify 裝置。", + "native_no_state": "內建串流連線已恢復,但沒有可恢復的播放狀態。", + "native_nothing_to_resume": "{device} 上沒有可恢復的播放。", + "native_reconnect_resume": "正在重新連線內建串流,隨後將恢復播放。", + "native_reconnected": "內建串流連線已恢復。", + "native_reconnecting": "正在重新連線內建串流…", + "native_recovered": "內建串流已恢復。", + "native_recovery_dropped": "內建串流恢復失敗,播放請求已放棄:{error}", + "native_recovery_failed": "內建串流恢復失敗:{error}", + "native_restore_retry": "內建串流恢復失敗,正在再次連線。", + "native_restored": "內建串流已恢復。", + "native_restored_paused": "內建串流已恢復,保持暫停。", + "native_resume_failed": "恢復播放失敗:{error}", + "native_resuming": "正在此裝置恢復上次播放…", + "native_settling": "內建串流仍在準備中…", + "native_shuffle_failed": "啟用隨機播放失敗:{error}", + "native_skip_unavailable": "無法透過內建串流播放此曲目(無法使用或受限制),正在略過。", + "native_stalled": "內建串流已停滯,正在嘗試恢復。", + "native_start_failed": "啟動內建串流失敗:{error}", + "native_stopped": "內建串流已停止。", + "native_stopped_recovering": "內建串流已停止,正在嘗試恢復。", "network_error": "{error}", "network_rate_error": "{error}", "other_source_playing": "Another source owns playback", @@ -5794,46 +5794,46 @@ "playlist_removed": "Removed from playlist", "playlist_search_matches": "{count} playlist tracks match \"{query}\"{scope}", "playlist_search_scope": " in the first {count} tracks", - "qobuz_audio_unavailable": "No audio output for Qobuz playback: {error}", - "qobuz_browser_login": "Qobuz: open the browser window to log in", - "qobuz_logged_in": "Qobuz: logged in", - "qobuz_login_busy": "Qobuz login already in progress...", - "qobuz_login_expired": "Qobuz: login expired, press `d` and pick Qobuz to log in again", - "qobuz_login_failed": "Qobuz login failed: {error}", - "qobuz_login_url": "Open this URL in your browser to log in to Qobuz: {url}", - "qobuz_no_tracks": "No Qobuz tracks to play", - "qobuz_operation_failed": "Qobuz: {step}: {error}", - "qobuz_replay_failed": "Cannot replay Qobuz track", - "qobuz_step_constants": "web player constants", - "qobuz_step_library": "library", - "qobuz_step_login": "login", - "qobuz_step_search": "search", - "qobuz_step_stream": "stream", - "qobuz_step_tracks": "tracks", - "qobuz_uri_invalid": "Invalid Qobuz track URI", - "queue_added": "Added to queue", - "queue_audio_unavailable": "No audio output for queue playback: {error}", - "queue_finished": "Queue finished", - "queue_load_failed": "Could not load queue (no active device?)", - "queue_local_source": "Local", - "queue_no_uri": "Skipped a queued track with no URI", - "queue_play_failed": "Cannot play {name}: {error}", - "queue_playing": "♪ {name} (queue)", - "queue_repeat_unsupported": "Repeat does not apply to this source", - "queue_restore_failed": "Cannot restore {name}: {error}", - "queue_shuffle_unsupported": "Shuffle does not apply to this source", - "queue_skip_disconnected": "Native streaming isn't connected; skipped \"{name}\"", - "radio_audio_unavailable": "No audio output for radio playback: {error}", - "radio_empty": "No radio stations configured or saved; search to add some", - "radio_no_skip": "Live radio: no track skipping", - "radio_not_resumed": "Playback is paused - radio not resumed.", - "radio_open_failed": "Cannot open radio stream: {error}", - "radio_play_failed": "Cannot play radio stream: {error}", - "radio_playing": "♪ {name} (live)", - "radio_probe_timeout": "Cannot play radio stream: no recognisable audio format in time.", - "radio_search_failed": "Radio search failed: {error}", - "radio_task_failed": "Radio playback task failed: {error}", - "radio_uri_invalid": "Invalid radio URI", + "qobuz_audio_unavailable": "Qobuz 播放無音訊輸出:{error}", + "qobuz_browser_login": "Qobuz:請開啟瀏覽器視窗登入", + "qobuz_logged_in": "Qobuz:已登入", + "qobuz_login_busy": "Qobuz 正在登入…", + "qobuz_login_expired": "Qobuz:登入已過期,請按 `d` 並選擇 Qobuz 重新登入", + "qobuz_login_failed": "Qobuz 登入失敗:{error}", + "qobuz_login_url": "請在瀏覽器中開啟此 URL 登入 Qobuz:{url}", + "qobuz_no_tracks": "沒有可播放的 Qobuz 曲目", + "qobuz_operation_failed": "Qobuz:{step}失敗:{error}", + "qobuz_replay_failed": "無法重新播放 Qobuz 曲目", + "qobuz_step_constants": "網頁播放器參數", + "qobuz_step_library": "音樂庫", + "qobuz_step_login": "登入", + "qobuz_step_search": "搜尋", + "qobuz_step_stream": "音訊串流", + "qobuz_step_tracks": "曲目", + "qobuz_uri_invalid": "Qobuz 曲目 URI 無效", + "queue_added": "已加入佇列", + "queue_audio_unavailable": "佇列播放無音訊輸出:{error}", + "queue_finished": "佇列播放完畢", + "queue_load_failed": "無法載入佇列(沒有使用中的裝置?)", + "queue_local_source": "本機", + "queue_no_uri": "已略過佇列中缺少 URI 的曲目", + "queue_play_failed": "無法播放 {name}:{error}", + "queue_playing": "♪ {name}(佇列)", + "queue_repeat_unsupported": "此來源不支援循環播放", + "queue_restore_failed": "無法恢復 {name}:{error}", + "queue_shuffle_unsupported": "此來源不支援隨機播放", + "queue_skip_disconnected": "內建串流未連線,已略過「{name}」", + "radio_audio_unavailable": "電台播放無音訊輸出:{error}", + "radio_empty": "尚未設定或儲存電台;請搜尋並新增", + "radio_no_skip": "電台直播無法切換曲目", + "radio_not_resumed": "播放已暫停,未恢復電台播放。", + "radio_open_failed": "無法開啟電台串流:{error}", + "radio_play_failed": "無法播放電台串流:{error}", + "radio_playing": "♪ {name}(直播)", + "radio_probe_timeout": "無法播放電台串流:未能及時辨識音訊格式。", + "radio_search_failed": "電台搜尋失敗:{error}", + "radio_task_failed": "電台播放工作失敗:{error}", + "radio_uri_invalid": "電台 URI 無效", "recap_created": "Listening recap generated at {path} ({count} listens)", "recap_failed": "Failed to generate recap: {error}", "search_query_unavailable": "Search is unavailable: every known {operation} hash is retired", @@ -5876,17 +5876,17 @@ "shuffle_capped": "Large context: shuffling the first {count} tracks", "shuffle_context_failed": "Shuffle: failed to load the context's track list", "shuffle_not_applied": "Playback started; couldn't apply shuffle.", - "source_playback_unavailable": "{source} playback isn't available in this build", - "speaker_client_id_missing": "no clientID in getInfo", - "speaker_login_refused": "the speaker refused the login: {message} ({error})", - "speaker_not_joined": "{name} did not join after its login", - "speaker_token_failed": "the token exchange failed ({status}): {error}", - "speaker_token_unsupported": "the speaker asks for token type {kind}, which is not supported yet", + "source_playback_unavailable": "此版本不支援 {source} 播放", + "speaker_client_id_missing": "getInfo 中缺少 clientID", + "speaker_login_refused": "喇叭拒絕登入:{message}({error})", + "speaker_not_joined": "{name} 登入後未連線", + "speaker_token_failed": "權杖交換失敗({status}):{error}", + "speaker_token_unsupported": "喇叭要求的權杖類型 {kind} 尚未支援", "spotify_api_error": "Spotify API {status} failed: {body}", "spotify_connected": "Spotify connected. Restart spotatui to enable native playback.", "spotify_login_failed": "Spotify login failed: {error}", "spotify_login_timeout": "Spotify login timed out. Press `d` and pick Spotify to try again.", - "spotify_not_compiled": "This build of spotatui has no Spotify support", + "spotify_not_compiled": "此版本的 spotatui 不支援 Spotify", "spotify_not_connected": "Spotify not connected. Press `d` and pick Spotify to log in.", "spotify_pair": "Log in to Spotify: open {url} and confirm the code {code}", "spotify_playing_elsewhere": "Playback remains on another Spotify device.", @@ -5896,17 +5896,17 @@ "spotify_rate_retry": "Spotify rate limit hit. Retrying automatically; please wait a few seconds.", "spotify_rate_wait": "Spotify rate limit: waiting {seconds}s", "spotify_server_retry": "Spotify server temporarily unavailable (5xx); retrying automatically.", - "subsonic_audio_unavailable": "No audio output for Subsonic playback: {error}", - "subsonic_download_failed": "Cannot download Subsonic track: {error}", - "subsonic_no_server": "No Subsonic server configured (set behavior.subsonic_url)", - "subsonic_no_tracks": "No Subsonic tracks to play", - "subsonic_play_failed": "Cannot play Subsonic track: {error}", - "subsonic_playlist_failed": "Cannot load Subsonic playlist: {error}", - "subsonic_playlists_failed": "Cannot load Subsonic playlists: {error}", - "subsonic_replay_failed": "Cannot replay Subsonic track", - "subsonic_search_failed": "Subsonic search failed: {error}", - "subsonic_task_failed": "Subsonic playback task failed: {error}", - "subsonic_uri_invalid": "Invalid Subsonic track URI", + "subsonic_audio_unavailable": "Subsonic 播放無音訊輸出:{error}", + "subsonic_download_failed": "無法下載 Subsonic 曲目:{error}", + "subsonic_no_server": "尚未設定 Subsonic 伺服器(請設定 behavior.subsonic_url)", + "subsonic_no_tracks": "沒有可播放的 Subsonic 曲目", + "subsonic_play_failed": "無法播放 Subsonic 曲目:{error}", + "subsonic_playlist_failed": "無法載入 Subsonic 播放清單:{error}", + "subsonic_playlists_failed": "無法載入 Subsonic 播放清單:{error}", + "subsonic_replay_failed": "無法重新播放 Subsonic 曲目", + "subsonic_search_failed": "Subsonic 搜尋失敗:{error}", + "subsonic_task_failed": "Subsonic 播放工作失敗:{error}", + "subsonic_uri_invalid": "Subsonic 曲目 URI 無效", "sync_busy": "Playlist sync already running", "sync_dry_run": " (dry run)", "sync_failed": "Playlist sync failed: {error}", @@ -5924,27 +5924,27 @@ "sync_summary": "Playlist sync{dry}: {added} added, {removed} removed, {unmatched} unmatched", "sync_using_playlist": "Using the existing {source} playlist \"{name}\"", "unnamed_folder": "Unnamed Folder", - "youtube_add_failed": "Cannot add video to playlist: {error}", - "youtube_added": "Added \"{name}\" to {playlist}", - "youtube_already_added": "\"{name}\" is already in {playlist}", - "youtube_audio_unavailable": "No audio output for YouTube playback: {error}", - "youtube_create_failed": "Cannot create YouTube playlist: {error}", - "youtube_created": "Created YouTube playlist \"{name}\"", - "youtube_decode_failed": "Cannot play YouTube audio: {error} (installing ffmpeg fixes most container issues)", - "youtube_delete_failed": "Cannot delete YouTube playlist: {error}", - "youtube_deleted": "Deleted YouTube playlist \"{name}\"", - "youtube_download_failed": "Cannot download YouTube audio: {error}", - "youtube_metadata_missing": "Cannot resolve that video's metadata", - "youtube_no_live": "Live streams aren't supported on the YouTube source yet", - "youtube_no_tracks": "No YouTube videos to play", - "youtube_playlist_missing": "That YouTube playlist no longer exists", - "youtube_playlists_failed": "Cannot load YouTube playlists: {error}", - "youtube_remove_failed": "Cannot remove video from playlist: {error}", - "youtube_removed": "Removed \"{name}\" from playlist", - "youtube_replay_failed": "Cannot replay YouTube track", - "youtube_search_failed": "YouTube search failed: {error}", - "youtube_task_failed": "YouTube playback task failed: {error}", - "youtube_uri_invalid": "Invalid YouTube URI" + "youtube_add_failed": "無法將影片加入播放清單:{error}", + "youtube_added": "已將「{name}」加入 {playlist}", + "youtube_already_added": "「{name}」已在 {playlist} 中", + "youtube_audio_unavailable": "YouTube 播放無音訊輸出:{error}", + "youtube_create_failed": "無法建立 YouTube 播放清單:{error}", + "youtube_created": "已建立 YouTube 播放清單「{name}」", + "youtube_decode_failed": "無法播放 YouTube 音訊:{error}(安裝 ffmpeg 可解決大多數容器格式問題)", + "youtube_delete_failed": "無法刪除 YouTube 播放清單:{error}", + "youtube_deleted": "已刪除 YouTube 播放清單「{name}」", + "youtube_download_failed": "無法下載 YouTube 音訊:{error}", + "youtube_metadata_missing": "無法取得該影片的中繼資料", + "youtube_no_live": "YouTube 來源暫不支援直播", + "youtube_no_tracks": "沒有可播放的 YouTube 影片", + "youtube_playlist_missing": "該 YouTube 播放清單已不存在", + "youtube_playlists_failed": "無法載入 YouTube 播放清單:{error}", + "youtube_remove_failed": "無法從播放清單移除影片:{error}", + "youtube_removed": "已從播放清單移除「{name}」", + "youtube_replay_failed": "無法重新播放 YouTube 曲目", + "youtube_search_failed": "YouTube 搜尋失敗:{error}", + "youtube_task_failed": "YouTube 播放工作失敗:{error}", + "youtube_uri_invalid": "YouTube URI 無效" }, "runtime": { "apple_music_needs_macos": "Apple Music 播放需要 macOS", diff --git a/src/core/i18n/status_infra.rs b/src/core/i18n/status_infra.rs index a38678a4..6557789b 100644 --- a/src/core/i18n/status_infra.rs +++ b/src/core/i18n/status_infra.rs @@ -1034,8 +1034,296 @@ pub const EN: InfraStatusStrings = InfraStatusStrings { // Keep ..EN so new English fields compile before their translations are added. #[allow(clippy::needless_update)] -pub const ZH_HANS: InfraStatusStrings = InfraStatusStrings { ..EN }; +pub const ZH_HANS: InfraStatusStrings = InfraStatusStrings { + cast_no_answer: "{address} 没有响应", + cast_no_tls: "与 {address} 的 TLS 握手未完成", + cast_message_size: "Cast 消息大小为 {size} 字节", + cast_malformed: "Cast 消息格式错误", + cast_no_reply: "{kind} 未收到回复", + cast_receiver_failed: "Spotify 接收器未启动:{reason}", + cast_client_id_missing: "getInfoResponse 中缺少 clientID", + cast_login_refused: "音箱拒绝登录:{reply}", + cast_access_token_missing: "device-auth 回复中缺少 accessToken", + speaker_token_failed: "令牌交换失败({status}):{error}", + speaker_token_unsupported: "音箱请求的令牌类型 {kind} 尚不支持", + speaker_client_id_missing: "getInfo 中缺少 clientID", + speaker_login_refused: "音箱拒绝登录:{message}({error})", + speaker_not_joined: "{name} 登录后未连接", + local_replay_failed: "无法重新播放本地文件", + local_no_tracks: "没有可播放的本地曲目", + local_no_folder: "尚未设置本地音乐文件夹(请设置 behavior.local_music_path)", + local_uri_invalid: "本地文件 URI 无效:{error}", + local_play_failed: "无法播放本地文件:{error}", + local_task_failed: "本地播放任务失败:{error}", + local_audio_unavailable: "本地播放无音频输出:{error}", + audio_init_failed: "音频输出初始化失败:{error}", + local_scan_failed: "无法扫描音乐文件夹:{error}", + local_scan_task_failed: "本地文件夹扫描失败:{error}", + local_read_failed: "无法读取文件夹:{error}", + local_tracks_scan_failed: "本地曲目扫描失败:{error}", + local_exhausted: "{message} — 已无可播放曲目,停止播放", + subsonic_audio_unavailable: "Subsonic 播放无音频输出:{error}", + youtube_audio_unavailable: "YouTube 播放无音频输出:{error}", + radio_audio_unavailable: "电台播放无音频输出:{error}", + qobuz_audio_unavailable: "Qobuz 播放无音频输出:{error}", + subsonic_no_tracks: "没有可播放的 Subsonic 曲目", + subsonic_uri_invalid: "Subsonic 曲目 URI 无效", + subsonic_replay_failed: "无法重新播放 Subsonic 曲目", + subsonic_playlists_failed: "无法加载 Subsonic 播放列表:{error}", + subsonic_playlist_failed: "无法加载 Subsonic 播放列表:{error}", + subsonic_search_failed: "Subsonic 搜索失败:{error}", + subsonic_download_failed: "无法下载 Subsonic 曲目:{error}", + subsonic_play_failed: "无法播放 Subsonic 曲目:{error}", + subsonic_task_failed: "Subsonic 播放任务失败:{error}", + subsonic_no_server: "尚未设置 Subsonic 服务器(请设置 behavior.subsonic_url)", + radio_no_skip: "电台直播无法切换曲目", + radio_empty: "尚未设置或保存电台;请搜索并添加", + radio_uri_invalid: "电台 URI 无效", + radio_probe_timeout: "无法播放电台流:未能及时识别音频格式。", + radio_search_failed: "电台搜索失败:{error}", + radio_open_failed: "无法打开电台流:{error}", + radio_play_failed: "无法播放电台流:{error}", + radio_task_failed: "电台播放任务失败:{error}", + radio_playing: "♪ {name}(直播)", + youtube_playlist_missing: "该 YouTube 播放列表已不存在", + youtube_metadata_missing: "无法获取该视频的元数据", + youtube_no_tracks: "没有可播放的 YouTube 视频", + youtube_no_live: "YouTube 音源暂不支持直播", + youtube_uri_invalid: "YouTube URI 无效", + youtube_replay_failed: "无法重新播放 YouTube 曲目", + youtube_search_failed: "YouTube 搜索失败:{error}", + youtube_playlists_failed: "无法加载 YouTube 播放列表:{error}", + youtube_create_failed: "无法创建 YouTube 播放列表:{error}", + youtube_delete_failed: "无法删除 YouTube 播放列表:{error}", + youtube_add_failed: "无法将视频添加到播放列表:{error}", + youtube_remove_failed: "无法从播放列表移除视频:{error}", + youtube_download_failed: "无法下载 YouTube 音频:{error}", + youtube_task_failed: "YouTube 播放任务失败:{error}", + youtube_created: "已创建 YouTube 播放列表“{name}”", + youtube_deleted: "已删除 YouTube 播放列表“{name}”", + youtube_removed: "已从播放列表移除“{name}”", + fetching: "正在获取 {name}…", + youtube_added: "已将“{name}”添加到 {playlist}", + youtube_already_added: "“{name}”已在 {playlist} 中", + youtube_decode_failed: "无法播放 YouTube 音频:{error}(安装 ffmpeg 可解决大多数容器格式问题)", + qobuz_login_expired: "Qobuz:登录已过期,请按 `d` 并选择 Qobuz 重新登录", + qobuz_login_busy: "Qobuz 正在登录…", + qobuz_browser_login: "Qobuz:请打开浏览器窗口登录", + qobuz_logged_in: "Qobuz:已登录", + qobuz_no_tracks: "没有可播放的 Qobuz 曲目", + qobuz_uri_invalid: "Qobuz 曲目 URI 无效", + qobuz_replay_failed: "无法重新播放 Qobuz 曲目", + qobuz_login_url: "请在浏览器中打开此 URL 登录 Qobuz:{url}", + qobuz_login_failed: "Qobuz 登录失败:{error}", + qobuz_step_constants: "网页播放器参数", + qobuz_step_login: "登录", + qobuz_step_library: "音乐库", + qobuz_step_tracks: "曲目", + qobuz_step_search: "搜索", + qobuz_step_stream: "音频流", + qobuz_operation_failed: "Qobuz:{step}失败:{error}", + music_busy_playback: "Music 正忙,请重试播放请求", + music_wait_pause: "正在等待 Music 暂停,再切换音源", + music_not_running: "Music 未运行,请选择 Music 曲目启动", + music_shuffle_repeat: "请在 Music 中更改随机播放或循环播放", + music_switch_spotify: "播放 Spotify 曲目即可从 Music 切换", + music_busy: "Music 正忙,请重试请求", + music_queue_unsupported: "Apple Music 曲目无法加入队列", + music_loading: "正在加载 Apple Music 音乐库:{end}/{total}", + music_loaded: "Apple Music:已加载 {count} 项", + music_status_unavailable: "无法获取 Music 状态:{error}。正在后台重试。", + queue_repeat_unsupported: "此音源不支持循环播放", + queue_shuffle_unsupported: "此音源不支持随机播放", + queue_no_uri: "已跳过队列中缺少 URI 的曲目", + queue_finished: "队列播放完毕", + audio_disconnected: "音频输出设备已断开。", + radio_not_resumed: "播放已暂停,未恢复电台播放。", + source_playback_unavailable: "此版本不支持 {source} 播放", + queue_skip_disconnected: "内置播放未连接,已跳过“{name}”", + queue_play_failed: "无法播放 {name}:{error}", + queue_restore_failed: "无法恢复 {name}:{error}", + queue_playing: "♪ {name}(队列)", + queue_audio_unavailable: "队列播放无音频输出:{error}", + music_requires_macos: "Apple Music 需要 macOS 和 apple-music 功能", + spotify_not_compiled: "此版本的 spotatui 不支持 Spotify", + native_reconnecting: "正在重新连接内置播放…", + native_settling: "内置播放仍在准备中…", + native_resuming: "正在此设备恢复上次播放…", + native_reconnect_resume: "正在重新连接内置播放,随后将恢复播放。", + native_connection_restored: "内置播放连接已恢复,正在恢复播放。", + native_no_state: "内置播放连接已恢复,但没有可恢复的播放状态。", + native_restore_retry: "内置播放恢复失败,正在再次连接。", + queue_added: "已加入队列", + queue_load_failed: "无法加载队列(没有活动设备?)", + native_nothing_to_resume: "{device} 上没有可恢复的播放。", + native_start_failed: "启动内置播放失败:{error}", + native_shuffle_failed: "启用随机播放失败:{error}", + native_resume_failed: "恢复播放失败:{error}", + native_recovered: "内置播放已恢复。", + native_lost_reconnecting: "内置播放连接已断开,正在重新连接。", + native_reconnected: "内置播放连接已恢复。", + native_restored: "内置播放已恢复。", + native_restored_paused: "内置播放已恢复,保持暂停。", + native_skip_unavailable: "此曲目无法使用内置播放(不可用或被限制),正在跳过。", + native_many_unavailable: "多首曲目连续无法使用内置播放,已停止播放。你的账号或所在地区可能无法使用这些曲目。请按 'd' 切换到官方 Spotify Connect 设备。", + native_recovery_dropped: "内置播放恢复失败,播放请求已放弃:{error}", + native_recovery_failed: "内置播放恢复失败:{error}", + native_lost_recovering: "内置播放连接已断开,正在尝试恢复。", + native_stalled: "内置播放已停滞,正在尝试恢复。", + native_stopped: "内置播放已停止。", + native_moved: "播放已转移到另一台 Spotify 设备。", + native_disconnected: "内置播放已断开,正在尝试恢复。", + native_stopped_recovering: "内置播放已停止,正在尝试恢复。", + queue_local_source: "本地", + local_root_folder: "(根目录)", + local_unknown_track: "未知曲目", + ..EN +}; // Keep ..EN so new English fields compile before their translations are added. #[allow(clippy::needless_update)] -pub const ZH_HANT: InfraStatusStrings = InfraStatusStrings { ..EN }; +pub const ZH_HANT: InfraStatusStrings = InfraStatusStrings { + cast_no_answer: "{address} 沒有回應", + cast_no_tls: "與 {address} 的 TLS 交握未完成", + cast_message_size: "Cast 訊息大小為 {size} 位元組", + cast_malformed: "Cast 訊息格式錯誤", + cast_no_reply: "{kind} 未收到回覆", + cast_receiver_failed: "Spotify 接收器未啟動:{reason}", + cast_client_id_missing: "getInfoResponse 中缺少 clientID", + cast_login_refused: "喇叭拒絕登入:{reply}", + cast_access_token_missing: "device-auth 回覆中缺少 accessToken", + speaker_token_failed: "權杖交換失敗({status}):{error}", + speaker_token_unsupported: "喇叭要求的權杖類型 {kind} 尚未支援", + speaker_client_id_missing: "getInfo 中缺少 clientID", + speaker_login_refused: "喇叭拒絕登入:{message}({error})", + speaker_not_joined: "{name} 登入後未連線", + local_replay_failed: "無法重新播放本機檔案", + local_no_tracks: "沒有可播放的本機曲目", + local_no_folder: "尚未設定本機音樂資料夾(請設定 behavior.local_music_path)", + local_uri_invalid: "本機檔案 URI 無效:{error}", + local_play_failed: "無法播放本機檔案:{error}", + local_task_failed: "本機播放工作失敗:{error}", + local_audio_unavailable: "本機播放無音訊輸出:{error}", + audio_init_failed: "音訊輸出初始化失敗:{error}", + local_scan_failed: "無法掃描音樂資料夾:{error}", + local_scan_task_failed: "本機資料夾掃描失敗:{error}", + local_read_failed: "無法讀取資料夾:{error}", + local_tracks_scan_failed: "本機曲目掃描失敗:{error}", + local_exhausted: "{message} — 已無可播放曲目,停止播放", + subsonic_audio_unavailable: "Subsonic 播放無音訊輸出:{error}", + youtube_audio_unavailable: "YouTube 播放無音訊輸出:{error}", + radio_audio_unavailable: "電台播放無音訊輸出:{error}", + qobuz_audio_unavailable: "Qobuz 播放無音訊輸出:{error}", + subsonic_no_tracks: "沒有可播放的 Subsonic 曲目", + subsonic_uri_invalid: "Subsonic 曲目 URI 無效", + subsonic_replay_failed: "無法重新播放 Subsonic 曲目", + subsonic_playlists_failed: "無法載入 Subsonic 播放清單:{error}", + subsonic_playlist_failed: "無法載入 Subsonic 播放清單:{error}", + subsonic_search_failed: "Subsonic 搜尋失敗:{error}", + subsonic_download_failed: "無法下載 Subsonic 曲目:{error}", + subsonic_play_failed: "無法播放 Subsonic 曲目:{error}", + subsonic_task_failed: "Subsonic 播放工作失敗:{error}", + subsonic_no_server: "尚未設定 Subsonic 伺服器(請設定 behavior.subsonic_url)", + radio_no_skip: "電台直播無法切換曲目", + radio_empty: "尚未設定或儲存電台;請搜尋並新增", + radio_uri_invalid: "電台 URI 無效", + radio_probe_timeout: "無法播放電台串流:未能及時辨識音訊格式。", + radio_search_failed: "電台搜尋失敗:{error}", + radio_open_failed: "無法開啟電台串流:{error}", + radio_play_failed: "無法播放電台串流:{error}", + radio_task_failed: "電台播放工作失敗:{error}", + radio_playing: "♪ {name}(直播)", + youtube_playlist_missing: "該 YouTube 播放清單已不存在", + youtube_metadata_missing: "無法取得該影片的中繼資料", + youtube_no_tracks: "沒有可播放的 YouTube 影片", + youtube_no_live: "YouTube 來源暫不支援直播", + youtube_uri_invalid: "YouTube URI 無效", + youtube_replay_failed: "無法重新播放 YouTube 曲目", + youtube_search_failed: "YouTube 搜尋失敗:{error}", + youtube_playlists_failed: "無法載入 YouTube 播放清單:{error}", + youtube_create_failed: "無法建立 YouTube 播放清單:{error}", + youtube_delete_failed: "無法刪除 YouTube 播放清單:{error}", + youtube_add_failed: "無法將影片加入播放清單:{error}", + youtube_remove_failed: "無法從播放清單移除影片:{error}", + youtube_download_failed: "無法下載 YouTube 音訊:{error}", + youtube_task_failed: "YouTube 播放工作失敗:{error}", + youtube_created: "已建立 YouTube 播放清單「{name}」", + youtube_deleted: "已刪除 YouTube 播放清單「{name}」", + youtube_removed: "已從播放清單移除「{name}」", + fetching: "正在取得 {name}…", + youtube_added: "已將「{name}」加入 {playlist}", + youtube_already_added: "「{name}」已在 {playlist} 中", + youtube_decode_failed: "無法播放 YouTube 音訊:{error}(安裝 ffmpeg 可解決大多數容器格式問題)", + qobuz_login_expired: "Qobuz:登入已過期,請按 `d` 並選擇 Qobuz 重新登入", + qobuz_login_busy: "Qobuz 正在登入…", + qobuz_browser_login: "Qobuz:請開啟瀏覽器視窗登入", + qobuz_logged_in: "Qobuz:已登入", + qobuz_no_tracks: "沒有可播放的 Qobuz 曲目", + qobuz_uri_invalid: "Qobuz 曲目 URI 無效", + qobuz_replay_failed: "無法重新播放 Qobuz 曲目", + qobuz_login_url: "請在瀏覽器中開啟此 URL 登入 Qobuz:{url}", + qobuz_login_failed: "Qobuz 登入失敗:{error}", + qobuz_step_constants: "網頁播放器參數", + qobuz_step_login: "登入", + qobuz_step_library: "音樂庫", + qobuz_step_tracks: "曲目", + qobuz_step_search: "搜尋", + qobuz_step_stream: "音訊串流", + qobuz_operation_failed: "Qobuz:{step}失敗:{error}", + music_busy_playback: "Music 忙碌中,請重試播放請求", + music_wait_pause: "正在等待 Music 暫停,再切換來源", + music_not_running: "Music 未執行,請選擇 Music 曲目啟動", + music_shuffle_repeat: "請在 Music 中更改隨機播放或循環播放", + music_switch_spotify: "播放 Spotify 曲目即可從 Music 切換", + music_busy: "Music 忙碌中,請重試請求", + music_queue_unsupported: "Apple Music 曲目無法加入佇列", + music_loading: "正在載入 Apple Music 音樂庫:{end}/{total}", + music_loaded: "Apple Music:已載入 {count} 項", + music_status_unavailable: "無法取得 Music 狀態:{error}。正在背景重試。", + queue_repeat_unsupported: "此來源不支援循環播放", + queue_shuffle_unsupported: "此來源不支援隨機播放", + queue_no_uri: "已略過佇列中缺少 URI 的曲目", + queue_finished: "佇列播放完畢", + audio_disconnected: "音訊輸出裝置已中斷連線。", + radio_not_resumed: "播放已暫停,未恢復電台播放。", + source_playback_unavailable: "此版本不支援 {source} 播放", + queue_skip_disconnected: "內建串流未連線,已略過「{name}」", + queue_play_failed: "無法播放 {name}:{error}", + queue_restore_failed: "無法恢復 {name}:{error}", + queue_playing: "♪ {name}(佇列)", + queue_audio_unavailable: "佇列播放無音訊輸出:{error}", + music_requires_macos: "Apple Music 需要 macOS 和 apple-music 功能", + spotify_not_compiled: "此版本的 spotatui 不支援 Spotify", + native_reconnecting: "正在重新連線內建串流…", + native_settling: "內建串流仍在準備中…", + native_resuming: "正在此裝置恢復上次播放…", + native_reconnect_resume: "正在重新連線內建串流,隨後將恢復播放。", + native_connection_restored: "內建串流連線已恢復,正在恢復播放。", + native_no_state: "內建串流連線已恢復,但沒有可恢復的播放狀態。", + native_restore_retry: "內建串流恢復失敗,正在再次連線。", + queue_added: "已加入佇列", + queue_load_failed: "無法載入佇列(沒有使用中的裝置?)", + native_nothing_to_resume: "{device} 上沒有可恢復的播放。", + native_start_failed: "啟動內建串流失敗:{error}", + native_shuffle_failed: "啟用隨機播放失敗:{error}", + native_resume_failed: "恢復播放失敗:{error}", + native_recovered: "內建串流已恢復。", + native_lost_reconnecting: "內建串流連線已中斷,正在重新連線。", + native_reconnected: "內建串流連線已恢復。", + native_restored: "內建串流已恢復。", + native_restored_paused: "內建串流已恢復,保持暫停。", + native_skip_unavailable: "無法透過內建串流播放此曲目(無法使用或受限制),正在略過。", + native_many_unavailable: "多首曲目連續無法透過內建串流播放,已停止播放。你的帳號或所在地區可能無法使用這些曲目。請按 'd' 切換到官方 Spotify Connect 裝置。", + native_recovery_dropped: "內建串流恢復失敗,播放請求已放棄:{error}", + native_recovery_failed: "內建串流恢復失敗:{error}", + native_lost_recovering: "內建串流連線已中斷,正在嘗試恢復。", + native_stalled: "內建串流已停滯,正在嘗試恢復。", + native_stopped: "內建串流已停止。", + native_moved: "播放已轉移到另一台 Spotify 裝置。", + native_disconnected: "內建串流已中斷,正在嘗試恢復。", + native_stopped_recovering: "內建串流已停止,正在嘗試恢復。", + queue_local_source: "本機", + local_root_folder: "(根目錄)", + local_unknown_track: "未知曲目", + ..EN +};