use super::Strings;
use crate::providers::ProviderId;
pub const STRINGS: Strings = Strings {
search: "搜索",
downloads: "下载",
settings: "设置",
library: "媒体库",
nothing_saved_yet: "还没有保存任何内容",
new_playlist_name: "新播放列表名称",
queue: "播放队列",
recently_played: "最近播放",
now_playing_from: "正在播放来自",
now_playing: "正在播放",
up_next: "接下来播放",
no_track_playing: "没有正在播放的曲目",
no_more_tracks_in_queue: "队列中没有更多曲目",
no_recently_played_tracks: "没有最近播放的曲目",
not_playing: "未播放",
no_tracks_found: "未找到曲目",
searching: "搜索中…",
loading: "加载中…",
load_more: "加载更多",
no_results_found: "未找到结果",
no_recent_searches: "没有最近的搜索",
generating_radio: "正在生成电台…",
not_an_artist_page: "不是艺术家页面",
provided_by: "由……提供",
retry: "重试",
nothing_here: "这里什么都没有",
most_popular_songs: "最受欢迎的歌曲",
albums: "专辑",
playlists: "播放列表",
fans_also_like: "粉丝也喜欢",
looking_up_lyrics: "正在查找歌词…",
play_a_track_for_lyrics: "播放一首曲目以查看其歌词。",
lyrics_selectable: "可选中",
lyrics_synced: "已同步",
lyrics_plain: "纯文本",
playlist_not_found: "未找到播放列表",
add_local: "添加本地",
downloaded_tracks: "已下载的曲目",
no_downloaded_tracks: "没有已下载的曲目",
ctx_play: "播放",
ctx_play_local: "播放本地文件",
ctx_edit: "编辑",
ctx_go_to_artist: "转到艺术家",
ctx_add_to_playlist: "添加到播放列表",
ctx_download: "下载",
ctx_song_radio: "歌曲电台",
ctx_artist_radio: "艺术家电台",
ctx_remove_from_queue: "从队列移除",
ctx_remove_from_playlist: "从播放列表移除",
sub_play_via: "通过……播放",
sub_download_from: "从……下载",
sub_via: "通过",
sub_on: "在",
via_search_suffix: "(搜索)",
current: "(当前)",
select: "选择",
find: "查找",
finding: "查找中…",
found_on: |p| format!("在 {p} 上找到"),
not_linked: "未关联",
providers: "提供方",
no_provider_data: "该曲目没有提供方数据。",
save: "保存",
cancel: "取消",
edit_track: "编辑曲目",
lbl_title: "标题",
lbl_artist: "艺术家",
ph_track_title: "曲目标题",
ph_track_artist: "曲目艺术家",
delete: "删除",
delete_playlist_q: "删除播放列表?",
tracks_wont_be_deleted: "曲目不会被删除。",
lbl_id: "ID",
lbl_url: "网址",
lbl_artist_id: "艺术家 ID",
lbl_duration_secs: "时长(秒)",
lbl_thumbnail: "缩略图",
lbl_album: "专辑",
sec_playback: "播放",
sec_storage: "存储",
sec_history: "历史记录",
sec_appearance: "外观",
sec_dependencies: "依赖项",
theme_lbl: "主题",
language_lbl: "语言",
default_provider_lbl: "默认的流媒体与下载提供方",
normalize_volume_lbl: "在各曲目间统一音量",
download_dir_lbl: "下载目录",
cache_size_lbl: "流媒体缓存最大大小(MB)",
hist_rows_lbl: "显示的搜索历史行数",
hist_entries_lbl: "保留的搜索历史条目数",
recent_kept_lbl: "保留的最近播放曲目数",
reset_defaults: "恢复默认",
find_in_list: "在列表中查找…",
scope_songs: "歌曲",
scope_videos: "视频",
scope_artists: "艺术家",
scope_albums: "专辑",
scope_playlists: "播放列表",
radio_word_song: "歌曲",
radio_word_artist: "艺术家",
lyrics_copied: "歌词已复制到剪贴板",
saved_to_library: "已保存到媒体库",
removed_from_library: "已从媒体库移除",
no_lyrics_found: "未找到该曲目的歌词。",
select_playlist_drop: "选择一个播放列表以放入曲目",
reordered_playlist: "播放列表已重新排序",
n_saved: |n| format!("已保存 {n} 项"),
n_plays: |n| format!("{} 次播放", crate::util::format_count(n)),
search_placeholder: |p| match p {
ProviderId::YouTube => "在 YouTube Music 中搜索…".into(),
ProviderId::Local => "搜索…".into(),
other => format!("在 {} 中搜索…", other.label()),
},
added: |n| format!("已添加 {}", zh_tracks(n)),
added_to: |n, to| format!("已添加 {} 到 {to}", zh_tracks(n)),
removed_n: |n| format!("已移除 {}", zh_tracks(n)),
removed_from: |n, from| format!("已从 {from} 移除 {}", zh_tracks(n)),
pasted_into: |n, into| format!("已粘贴 {} 到 {into}", zh_tracks(n)),
saved_title: |t| format!("已将“{t}”保存到媒体库"),
playlist_created: |n| format!("已创建播放列表“{n}”"),
added_local: |n| format!("已添加 {}(选择一个播放列表进行整理)", zh_tracks(n)),
downloading_n: |n| format!("正在下载 {}…", zh_tracks(n)),
resolving_on: |title, p| format!("正在解析“{title}”于 {p}…"),
provider_no_radio: |p| format!("{p} 不支持电台"),
generating_radio_for: |w, name| format!("正在为 {w} 生成电台:{name}…"),
could_not_find_on: |name, p| format!("在 {p} 上找不到“{name}”"),
opening: |l| format!("正在打开:{l}…"),
opening_artist: |name| format!("正在打开艺术家:{name}…"),
download_complete: |path| format!("下载完成!已保存到 {path}"),
failed_resolve_on: |title, p, e| format!("在 {p} 上解析“{title}”失败:{e}"),
couldnt_load: |e| format!("无法加载:{e}"),
couldnt_load_lyrics: |e| format!("无法加载歌词:{e}"),
search_failed: |e| format!("搜索失败:{e}"),
radio_label: |w, name| format!("电台({w}):{name}"),
ctx_add_to_playlist_n: |n| format!("添加 {} 到播放列表", zh_tracks(n)),
ctx_download_n: |n| format!("下载 {}", zh_tracks(n)),
ctx_remove_from_queue_n: |n| format!("从队列移除 {}", zh_tracks(n)),
ctx_remove_from_playlist_n: |n| format!("从播放列表移除 {}", zh_tracks(n)),
import_playlist: "导入播放列表",
import_method_native: "原生",
import_method_filelist: "文件列表",
import_method_csv: "CSV",
import_native_hint: "从 playlists.json 文件导入播放列表。",
import_csv_name_col: "名称列",
import_csv_artist_col: "艺术家列",
import_csv_album_col: "专辑列",
import_csv_preset: "预设",
import_csv_preset_default: "默认",
import_csv_preset_exportify: "Exportify",
import_csv_exportify_note: "支持从 https://exportify.net/ 导出的 Spotify 播放列表。",
import_pattern_lbl: "文件名模式",
import_playlist_name: "播放列表名称",
import_add_pattern: "添加模式",
import_select_file: "选择文件",
import_select_folder: "选择文件夹",
import_pattern_conflict: |a, b| {
format!(
"模式“{a}”和“{b}”可能匹配同一文件且字段冲突。请移除或修复其中一个。"
)
},
import_playlists_imported: |n| format!("已导入 {}", zh_tracks(n)),
import_imported_into: |n, into| format!("已将 {} 导入到 {}", zh_tracks(n), into),
import_no_tracks: "没有找到可导入的曲目。",
import_no_match: "没有文件匹配这些模式。",
import_bad_file: "无法读取所选文件。",
deps_title: "缺少依赖项",
deps_intro: "应用使用的部分工具缺失。选择要安装的项,或丢弃以继续(在它们就位前,搜索和流媒体可能无法使用)。",
deps_install: "安装",
deps_install_selected: "安装所选",
deps_discard: "丢弃",
deps_installing: "正在安装…",
deps_installed: "已安装",
deps_failed: "失败",
deps_installed_toast: "已安装所选依赖项。",
deps_yt_dlp_desc: "流式传输并下载音频(必需)",
deps_ytmusicapi_desc: "YouTube Music 搜索(可选,回退到 yt-dlp)",
deps_python3_desc: "ytmusicapi 所需(YouTube Music 搜索)",
deps_ytmusicapi_requires_python: "需要 Python 3(请先安装)",
deps_play_requires_yt_dlp: "播放需要 yt-dlp——请从启动对话框安装以播放此项。",
deps_source_not_playable: "此来源无法播放。",
deps_found_section_title: "在你的系统中找到",
deps_found_section_intro: "这些已经可用。勾选任一项以通过应用安装受管理的副本(应用副本优先于系统副本)。",
deps_found_on_system: "在系统中找到",
deps_managed_by_app: "已安装(由应用管理)",
deps_not_installed: "未安装",
deps_delete: "删除",
deps_deleting: "删除中…",
deps_deleted: "已删除",
deps_delete_failed: "删除失败",
sec_updates: "更新",
check_for_updates: "检查更新",
checking_for_updates: "检查更新中…",
up_to_date: "已是最新",
current_version: |v| format!("版本 {v}"),
update_available: |v| format!("版本 {v} 可用。前往设置更新应用。"),
update_now: "立即更新",
updating: "更新中…",
update_applied: |v| format!("已更新到 {v}。正在重启…"),
package_managed: "无法自动更新(没有对应用程序目录的写入权限)。如果通过包管理器安装,请使用它进行更新。",
update_failed: |e| format!("更新失败:{e}"),
};
fn zh_tracks(n: usize) -> String {
format!("{n} 首")
}