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: "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!("{} を追加", ja_tracks(n)),
    added_to: |n, to| format!("{}{to} に追加", ja_tracks(n)),
    removed_n: |n| format!("{} を削除", ja_tracks(n)),
    removed_from: |n, from| format!("{}{from} から削除", ja_tracks(n)),
    pasted_into: |n, into| format!("{}{into} に貼り付け", ja_tracks(n)),
    saved_title: |t| format!("{t}」をライブラリに保存しました"),
    playlist_created: |n| format!("プレイリスト「{n}」を作成しました"),
    added_local: |n| format!("{} を追加(整理するプレイリストを選択)", ja_tracks(n)),
    downloading_n: |n| format!("{} をダウンロード中…", ja_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!("{name}」が {p} で見つかりません"),
    opening: |l| format!("開いています: {l}"),
    opening_artist: |name| format!("アーティストを開いています: {name}"),
    download_complete: |path| format!("ダウンロード完了!{path} に保存しました"),
    failed_resolve_on: |title, p, e| format!("{title}」の {p} での解決に失敗: {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!("{} をプレイリストに追加", ja_tracks(n)),
    ctx_download_n: |n| format!("{} をダウンロード", ja_tracks(n)),
    ctx_remove_from_queue_n: |n| format!("{} をキューから削除", ja_tracks(n)),
    ctx_remove_from_playlist_n: |n| format!("{} をプレイリストから削除", ja_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!("{} をインポート", ja_tracks(n)),
    import_imported_into: |n, into| format!("{}{into} にインポート", ja_tracks(n)),
    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 ja_tracks(n: usize) -> String {
    format!("{n}")
}