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: "आईडी",
    lbl_url: "यूआरएल",
    lbl_artist_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!("जोड़े गए {}", hi_tracks(n)),
    added_to: |n, to| format!("जोड़े गए {} को {to}", hi_tracks(n)),
    removed_n: |n| format!("हटाए गए {}", hi_tracks(n)),
    removed_from: |n, from| format!("हटाए गए {} से {from}", hi_tracks(n)),
    pasted_into: |n, into| format!("चिपकाए गए {} में {into}", hi_tracks(n)),
    saved_title: |t| format!("\"{t}\" को लाइब्रेरी में सहेजा गया"),
    playlist_created: |n| format!("प्लेलिस्ट \"{n}\" बनाई गई"),
    added_local: |n| format!("जोड़े गए {} (व्यवस्थित करने के लिए एक प्लेलिस्ट चुनें)", hi_tracks(n)),
    downloading_n: |n| format!("डाउनलोड हो रहे हैं {}", hi_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!("{} प्लेलिस्ट में जोड़ें", hi_tracks(n)),
    ctx_download_n: |n| format!("डाउनलोड करें {}", hi_tracks(n)),
    ctx_remove_from_queue_n: |n| format!("{} कतार से हटाएँ", hi_tracks(n)),
    ctx_remove_from_playlist_n: |n| format!("{} प्लेलिस्ट से हटाएँ", hi_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!("आयातित {}", hi_tracks(n)),
    import_imported_into: |n, into| format!("आयातित {} में {into}", hi_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 hi_tracks(n: usize) -> String {
    if n == 1 {
        "1 ट्रैक".into()
    } else {
        format!("{n} ट्रैक")
    }
}