goosemusic 1.2.0

A music player with YouTube search, local playback, and OS media controls
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}")
}