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: "Звычайны",
lyrics_translations: "Пераклады",
lyrics_original: "Арыгінал",
add_custom: "Дадаць тэкст",
lyrics_name: "Назва",
translate_with_ai: "Перакласьці з ШІ",
translate_title: "Пераклад тэксту з дапамогай ШІ",
translate_language_lbl: "Мэтавая мова",
translate_prompt_lbl: "Промпт",
translate_submit: "Перакласьці",
translate_reset: "Скінуць промпт",
translating: "Пераклад…",
translation_ready: "Пераклад гатовы — праверце і захавайце",
translation_language_empty: "Увядзіце мэтавую мову",
no_lyrics_to_translate: "Для гэтага трэку няма тэксту для перакладу.",
translation_not_configured: "Пазначце URL сэрверы і мадэль у наладах.",
translation_failed: |e| format!("Памылка перакладу: {e}"),
sec_translation: "ШІ-пераклад",
translation_base_url_lbl: "URL сэрверу (сумяшчальны з OpenAI)",
translation_api_key_lbl: "API-ключ (пуста для лякальных сэрвераў)",
translation_model_lbl: "Мадэль",
translation_refresh_models: "Запытаць сьпіс мадэляў",
translation_no_models: "На гэтым сэрверы мадэлі ня знойдзены.",
translation_models_failed: |e| format!("Не ўдалося загрузіць сьпіс мадэляў: {e}"),
edit_lyrics: "Рэдагаваць тэкст",
lyrics_editor_hint: "Адзін радок на радок тэксту. Дадайце [mm:ss.xx] напачатку для сынхранізацыі або пакіньце як ёсьць. Дадайце радок `# note` пад любым радком, каб паказаць нататку пад тэкстам.",
playlist_not_found: "Плэйліст ня знойдзены",
add_local: "Дадаць лякальны",
downloaded_tracks: "Спампаваныя трэкі",
no_downloaded_tracks: "Няма спампаваных трэкаў",
ctx_play: "Граць",
ctx_play_local: "Граць лакальна",
ctx_edit: "Зьмяніць",
ctx_go_to_artist: "Перайсьці да выканаўцы",
ctx_add_to_queue: "Дадаць у чаргу",
ctx_add_to_playlist: "Дадаць у плэйліст",
ctx_download: "Спампаваць",
ctx_song_radio: "Радыё трэка",
ctx_artist_radio: "Радыё выканаўцы",
ctx_remove_from_queue: "Прыбраць з чаргі",
ctx_remove_from_playlist: "Прыбраць з плэйліста",
ctx_remove_from_recent: "Прыбраць зь нядаўніх",
ctx_clear_cache: "Ачысьціць кэш",
sub_play_via: "Граць праз",
sub_download_from: "Спампаваць з",
sub_via: "Праз",
sub_on: "На",
sub_clear_cache_from: "Ачысьціць з",
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: "Перадвызначаная крыніца стрымінгу і спамповак",
cookie_browser_lbl: "Cookies браўзэра (відэа з векавым абмежаваньнем)",
cookies_off: "Выкл",
normalize_volume_lbl: "Нармалізаваць гучнасьць паміж трэкамі",
download_dir_lbl: "Папка спамповак",
cache_size_lbl: "Макс. памер кэша стрымінгу (МБ)",
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: "Для гэтага трэка тэкст ня знойдзены.",
lyrics_saved: "Уласны тэкст захаваны",
lyrics_deleted: "Уласны тэкст выдалены",
lyrics_empty: "Тэкст ня можа быць пустым",
lyrics_name_empty: "Дайце тэксту назву",
select_playlist_drop: "Выберыце плэйліст, каб кінуць у яго трэкі",
reordered_playlist: "Плэйліст пераўпарадкаваны",
max_panes_reached: "Дасягнута максімальная колькасць панэляў",
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!("Дададзена: {}", be_tracks(n)),
added_to: |n, to| format!("Дададзена: {} у {to}", be_tracks(n)),
removed_n: |n| format!("Выдалена: {}", be_tracks(n)),
removed_from: |n, from| format!("Выдалена: {} з {from}", be_tracks(n)),
pasted_into: |n, into| format!("Устаўлена: {} у {into}", be_tracks(n)),
saved_title: |t| format!("«{t}» захавана ў бібліятэку"),
playlist_created: |n| format!("Плэйліст «{n}» створаны"),
added_local: |n| format!("Дададзена: {} (выберыце плэйліст для ўпарадкаваньня)", be_tracks(n)),
downloading_n: |n| format!("Спампоўваньне {}…", be_tracks(n)),
resolving_on: |title, p| format!("Вызначэньне «{title}» на {p}…"),
resolving_player_client: "Падбор сумяшчальнага плэер-кліента…",
resolved_player_client: |c| format!("Абраны плэер-кліент: {c}"),
player_client_unavailable: "Сумяшчальны плэер-кліент ня знойдзены, выкарыстоўваецца перадвызначаны…",
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}"),
cache_cleared_for: |p| format!("Кэш ачышчаны для {p}"),
radio_label: |w, name| format!("Радыё ({w}): {name}"),
ctx_add_to_playlist_n: |n| format!("Дадаць {} у плэйліст", be_tracks(n)),
ctx_add_to_queue_n: |n| format!("Дадаць {} у чаргу", be_tracks(n)),
ctx_download_n: |n| format!("Спампаваць {}", be_tracks(n)),
ctx_remove_from_queue_n: |n| format!("Прыбраць {} з чаргі", be_tracks(n)),
ctx_remove_from_playlist_n: |n| format!("Прыбраць {} з плэйліста", be_tracks(n)),
ctx_remove_from_recent_n: |n| format!("Прыбраць {} зь нядаўніх", be_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: "Падтрымлівае плэйлісты Spotify, экспартаваныя з https://exportify.net/.",
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!("Імпартавана {}", be_tracks(n)),
import_imported_into: |n, into| format!("Імпартавана {} у {into}", be_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: "Патокавае перадаваньне і спампоўка аўдыё (абавязкова для YouTube і SoundCloud)",
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}"),
percent: |pct| format!("{pct}%"),
list_match_pos: |pos, total| format!("{pos}/{total}"),
sub_menu_label: |base, provider, suffix| format!("{base} {provider} {suffix}"),
deps_failed_detail: |e| format!("Failed: {e}"),
deps_delete_failed_detail: |e| format!("Delete failed: {e}"),
sc_title: "Спалучэньні клавіш",
sc_sec_list: "Сьпіс трэкаў",
sc_move: "Рух па сьпісе (з зацыкленьнем)",
sc_focus_panel: "Фокус на чарзе ці сьпісе трэкаў",
sc_first_last: "Першы / апошні радок",
sc_page: "Старонка / паўстаронкі",
sc_play: "Граць выбраны трэк",
sc_sec_select: "Выбар і рэдагаваньне",
sc_extend: "Пашырыць выбар",
sc_toggle_sel: "Пераключыць выбар радка",
sc_select_all: "Выбраць усё ў сьпісе",
sc_copy_paste: "Капіяваць / уставіць выбраныя трэкі",
sc_delete: "Выдаліць выбраныя трэкі",
sc_esc: "Закрыць акно, потым ачысьціць выбар, потым вярнуцца да пошуку",
sc_sec_search: "Пошук",
sc_focus_search: "Фокус на пошук",
sc_stage_provider: "Падрыхтаваць крыніцу пошуку (чакае)",
sc_stage_scope: "Падрыхтаваць вобласьць пошуку (чакае)",
sc_run_search: "Выканаць падрыхтаваны пошук",
sc_find_list: "Няпоўны пошук у спісе (пераход паміж супадзеньнямі)",
sc_sec_playlists: "Плэйлісты і гісторыя",
sc_prev_next_pl: "Папярэдні / наступны плэйліст",
sc_jump: "Пераход да плэйліста (Enter адкрывае, Shift+Enter грае)",
sc_back_fwd: "Назад / наперад у панэлі",
sc_sec_playback: "Прайграваньне",
sc_play_pause: "Граць / паўза",
sc_next_prev: "Наступны / папярэдні трэк",
sc_mute: "Заглушыць гук",
sc_volume: "Цішэй / гучней",
sc_seek: "Назад / наперад на 5 с (Shift: 10 с)",
sc_toggles: "Чарга / паўтор / тэкст / укладка чаргі",
sc_sec_panes: "Панэлі",
sc_split: "Падзяліць побач / адна пад адной",
sc_close_pane: "Закрыць панэль",
sc_adj_pane: "Фокус на суседнюю панэль",
sc_cycle_pane: "Пераход / скачок паміж панэлямі",
sc_sec_menu: "Кантэкстнае меню",
sc_open_menu: "Адкрыць для выбранага трэка",
sc_nav_menu: "Навігацыя па мэню",
};
fn be_tracks(n: usize) -> String {
let m10 = n % 10;
let m100 = n % 100;
if m10 == 1 && m100 != 11 {
format!("{n} трэк")
} else if (2..=4).contains(&m10) && !(12..=14).contains(&m100) {
format!("{n} трэкі")
} else {
format!("{n} трэкаў")
}
}