feat: Added Ukrainian translation (#593)

This commit is contained in:
Danylo Kozhushko
2025-03-15 09:21:52 +01:00
committed by GitHub
parent 10bfa95060
commit cbcb160bdd
2 changed files with 478 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import ja from "./translations/ja.json";
import tr from "./translations/tr.json"; import tr from "./translations/tr.json";
import nl from "./translations/nl.json"; import nl from "./translations/nl.json";
import sv from "./translations/sv.json"; import sv from "./translations/sv.json";
import ua from "./translations/ua.json"
import zhCN from './translations/zh-CN.json'; import zhCN from './translations/zh-CN.json';
import zhTW from './translations/zh-TW.json'; import zhTW from './translations/zh-TW.json';
import { getLocales } from "expo-localization"; import { getLocales } from "expo-localization";
@@ -24,6 +25,7 @@ export const APP_LANGUAGES = [
{ label: "Türkçe", value: "tr" }, { label: "Türkçe", value: "tr" },
{ label: "Nederlands", value: "nl" }, { label: "Nederlands", value: "nl" },
{ label: "Svenska", value: "sv" }, { label: "Svenska", value: "sv" },
{ label: "Українська", value: "ua" },
{ label: "简体中文", value: "zh-CN" }, { label: "简体中文", value: "zh-CN" },
{ label: "繁體中文", value: "zh-TW" }, { label: "繁體中文", value: "zh-TW" },
]; ];
@@ -40,6 +42,7 @@ i18n.use(initReactI18next).init({
nl: { translation: nl }, nl: { translation: nl },
sv: { translation: sv }, sv: { translation: sv },
tr: { translation: tr }, tr: { translation: tr },
ua: { translation: ua },
"zh-CN": { translation: zhCN }, "zh-CN": { translation: zhCN },
"zh-TW": { translation: zhTW }, "zh-TW": { translation: zhTW },
}, },

475
translations/ua.json Normal file
View File

@@ -0,0 +1,475 @@
{
"login": {
"username_required": "Імʼя користувача необхідне",
"error_title": "Помилка",
"login_title": "Вхід",
"login_to_title": "Увійти в",
"username_placeholder": "Імʼя користувача",
"password_placeholder": "Пароль",
"login_button": "Вхід",
"quick_connect": "Швидке Зʼєднання",
"enter_code_to_login": "Введіть код {{code}} для входу",
"failed_to_initiate_quick_connect": "Не вдалося ініціалізувати Швидке Зʼєднання",
"got_it": "Готово",
"connection_failed": "Помилка зʼєднання",
"could_not_connect_to_server": "Неможливо підʼєднатися до серверу. Будь ласка перевірте URL і ваше зʼєднання з мережею",
"an_unexpected_error_occured": "Сталася несподівана помилка",
"change_server": "Змінити сервер",
"invalid_username_or_password": "Неправильні імʼя користувача або пароль",
"user_does_not_have_permission_to_log_in": "Користувач не маю дозволу на вхід",
"server_is_taking_too_long_to_respond_try_again_later": "Сервер відповідає занадто довго, будь-ласка спробуйте пізніше",
"server_received_too_many_requests_try_again_later": "Server received too many requests, try again later.",
"there_is_a_server_error": "Відбулася помилка на стороні сервера",
"an_unexpected_error_occured_did_you_enter_the_correct_url": "Відбулася несподівана помилка. Чи введений URL сервера правильний?"
},
"server": {
"enter_url_to_jellyfin_server": "Введіть URL вашого Jellyfin сервера",
"server_url_placeholder": "http(s)://your-server.com",
"connect_button": "Підʼєднатися",
"previous_servers": "попередні сервери",
"clear_button": "Очистити",
"search_for_local_servers": "Пошук локальних серверів",
"searching": "Пошук...",
"servers": "Сервери"
},
"home": {
"no_internet": "Інтернет відсутній",
"no_items": "Пусто",
"no_internet_message": "Не хвилюйтеся, ви все ще можете переглядати\nзавантажений контент.",
"go_to_downloads": "Перейти в завантаження",
"oops": "Упс!",
"error_message": "Щось пішло не так.\nБудь ласка вийдіть і увійдіть знов.",
"continue_watching": "Продовжити перегляд",
"next_up": "Далі",
"recently_added_in": "Нещодавно додане до медіатеки {{libraryName}}",
"suggested_movies": "Рекомендовані Фільми",
"suggested_episodes": "Рекомендовані Епізоди",
"intro": {
"welcome_to_streamyfin": "Вітаємо у Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Вільний і open-source клієнт для Jellyfin.",
"features_title": "Функції",
"features_description": "Streamyfin має безліч функцій та інтегрується з широким спектром програмного забезпечення, яке ви можете знайти в меню налаштувань, зокрема:",
"jellyseerr_feature_description": "Підключіться до вашого екземпляру Jellyseerr і запитуватуйте фільми безпосередньо в застосунку.",
"downloads_feature_title": "Завантаження",
"downloads_feature_description": "Завантажуйте фільми і серіали для перегляду офлайн. Використовуйте або метод за замовчуванням або встановіть оптимізований сервер для завантаження файлів у фоні.",
"chromecast_feature_description": "Транслюйте фільми і серіали но ваші Chromecast прилади.",
"centralised_settings_plugin_title": "Centralised Settings Plugin",
"centralised_settings_plugin_description": "Налаштуйте параметри з централізованої локації на вашому сервері Jellyfin. Всі налаштування клієнтів для всіх користувачів будуть синхронізовані автоматично.",
"done_button": "Готово",
"go_to_settings_button": "Перейти до параметрів",
"read_more": "Прочитати більше"
},
"settings": {
"settings_title": "Параметри",
"log_out_button": "Вихід",
"user_info": {
"user_info_title": "Інформація користувача",
"user": "Користувач",
"server": "Сервер",
"token": "Токен",
"app_version": "Версія Застосунку"
},
"quick_connect": {
"quick_connect_title": "Швидке Зʼєднання",
"authorize_button": "Авторизуйте Швидке Зʼєднання",
"enter_the_quick_connect_code": "Введіть код для швидкого зʼєднання...",
"success": "Успіх",
"quick_connect_autorized": "Швидке Зʼєднання авторизовано",
"error": "Помилка",
"invalid_code": "Не правильний код",
"authorize": "Авторизувати"
},
"media_controls": {
"media_controls_title": "Керування Медія",
"forward_skip_length": "Тривалість перемотування вперед",
"rewind_length": "Довжина перемотування назад",
"seconds_unit": "с"
},
"audio": {
"audio_title": "Аудіо",
"set_audio_track": "Виставити аудіо доріжку як в попередньому епізоду",
"audio_language": "Мова аудіо",
"audio_hint": "Вибрати мову аудіо за замовчуванням.",
"none": "Ніяка",
"language": "Мова"
},
"subtitles": {
"subtitle_title": "Субтитри",
"subtitle_language": "Мова субтитрів",
"subtitle_mode": "Режим субтитрів",
"set_subtitle_track": "Виставити доріжку субтитрів як в попередньому епізоду",
"subtitle_size": "Розмір субтитрів",
"subtitle_hint": "Налаштуйте параметри субтитрів.",
"none": "Ніякі",
"language": "Мова",
"loading": "Завантаження",
"modes": {
"Default": "За замовчування",
"Smart": "Smart",
"Always": "Завжди",
"None": "Някий",
"OnlyForced": "Виключно Форсовані"
}
},
"other": {
"other_title": "Інші",
"follow_device_orientation": "Дотримуйтесь орієнтації пристрою",
"video_orientation": "Орієнтація відео",
"orientation": "Orientation",
"orientations": {
"DEFAULT": "За змовчуванням",
"ALL": "Всі",
"PORTRAIT": "Портретна",
"PORTRAIT_UP": "Портретна Догори",
"PORTRAIT_DOWN": "Портретна Донизу",
"LANDSCAPE": "Альбомна",
"LANDSCAPE_LEFT": "Альбомна Ліва",
"LANDSCAPE_RIGHT": "Альбомна Права",
"OTHER": "Інше",
"UNKNOWN": "Невідомо"
},
"safe_area_in_controls": "Безпечна зона в елементах керування",
"video_player": "Відео плеєр",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Показати посилання на користувацьке меню",
"hide_libraries": "Сховати медіатеки",
"select_liraries_you_want_to_hide": "Виберіть медіатеки, що бажаєте приховати з вкладки Медіатека і з секції на головній сторінці.",
"disable_haptic_feedback": "Вимкнути тактильний зворотний зв'язок",
"default_quality": "Якість за замовченням"
},
"downloads": {
"downloads_title": "Завантаження",
"download_method": "Метод завантаження",
"remux_max_download": "Remux max download",
"auto_download": "Авто-завантаження",
"optimized_versions_server": "Optimized versions server",
"save_button": "Зберегти",
"optimized_server": "Оптимізований Сервер",
"optimized": "Оптимізований",
"default": "За замовченням",
"optimized_version_hint": "Введіть URL-адресу сервера для оптимізації. URL-адреса має містити http або https і, за бажанням, порт.",
"read_more_about_optimized_server": "Дізнайтеся більше про сервер для оптимізації.",
"url": "URL",
"server_url_placeholder": "http(s)://domain.org:port"
},
"plugins": {
"plugins_title": "Плагіни",
"jellyseerr": {
"jellyseerr_warning": "Ця інтеграція перебуває на початковій стадії. Очікуйте, що все зміниться.",
"server_url": "URL Сервера",
"server_url_hint": "Наприклад: http(s)://your-host.url\n(додайте порт якщо необхідно)",
"server_url_placeholder": "Jellyseerr URL...",
"password": "Пароль",
"password_placeholder": "Введіть Jellyfin пароль для користувача {{username}}",
"save_button": "Зберегти",
"clear_button": "Очистити",
"login_button": "Вхід",
"total_media_requests": "Загальна кількість медіа запитів",
"movie_quota_limit": "Дні квоти на фільми",
"movie_quota_days": "Дні квоти на фільми",
"tv_quota_limit": "Дні квоти на серіали",
"tv_quota_days": "Дні квоти на серіали",
"reset_jellyseerr_config_button": "Скинути конфігурацію Jellyseerr",
"unlimited": "Необмежене",
"plus_n_more": "+{{n}} ще",
"order_by": {
"DEFAULT": "За замовченням",
"VOTE_COUNT_AND_AVERAGE": "Кількість голосів і середнє",
"POPULARITY": "Популярність"
}
},
"marlin_search": {
"enable_marlin_search": "Увімкнути Marlin Search ",
"url": "URL",
"server_url_placeholder": "http(s)://domain.org:port",
"marlin_search_hint": "Введіть URL-адресу сервера Marlin. Адреса повинна містити http або https і, за бажанням, порт.",
"read_more_about_marlin": "Дізнайтеся більше про Marlin.",
"save_button": "Зберегти",
"toasts": {
"saved": "Збережено"
}
}
},
"storage": {
"storage_title": "Сховище",
"app_usage": "Застосунок {{usedSpace}}%",
"device_usage": "Гаджет {{availableSpace}}%",
"size_used": "{{used}} з {{total}} використано",
"delete_all_downloaded_files": "Видалити усі завантаженні файли"
},
"intro": {
"show_intro": "Показати інтро",
"reset_intro": "Скинути інтро"
},
"logs": {
"logs_title": "Журнал",
"no_logs_available": "Нема доступних журналів",
"delete_all_logs": "Видалити усі журнали"
},
"languages": {
"title": "Мова",
"app_language": "Мова застосунку",
"app_language_description": "Виберіть мову застосунку.",
"system": "Системна"
},
"toasts": {
"error_deleting_files": "Помилка при видалені файлів",
"background_downloads_enabled": "Завантаження в фоні увімкнене",
"background_downloads_disabled": "Завантаження в фоні вимкнене",
"connected": "Зʼєднано",
"could_not_connect": "Неможливо зʼєднатися",
"invalid_url": "Неправльий URL"
}
},
"sessions": {
"title": "Сесії",
"no_active_sessions": "Нема активних сесій"
},
"downloads": {
"downloads_title": "Завантаження",
"tvseries": "ТБ-Серіали",
"movies": "Фільми",
"queue": "Черга",
"queue_hint": "Черга і завантаження буде втрачене при перезапуску застосунку",
"no_items_in_queue": "Нема елементів в черзі",
"no_downloaded_items": "Нема завантажених елементів",
"delete_all_movies_button": "Видалити всі Фільми",
"delete_all_tvseries_button": "Видалити всі ТБ-Серіали",
"delete_all_button": "Видалити Все",
"active_download": "Активне завантаження",
"no_active_downloads": "Нема активних завантажень",
"active_downloads": "Активні завантаження",
"new_app_version_requires_re_download": "Нова версія застосунку вимагає завантажити заново",
"new_app_version_requires_re_download_description": "Нове оновлення вимагає повторного завантаження вмісту. Будь ласка, видаліть весь завантажений вміст і повторіть спробу.",
"back": "Назад",
"delete": "Видалити",
"something_went_wrong": "Щось пішло не так",
"could_not_get_stream_url_from_jellyfin": "Не вдалося отримати URL-адресу потоку від Jellyfin",
"eta": "ETA {{eta}}",
"methods": "Методи",
"toasts": {
"you_are_not_allowed_to_download_files": "Вам не дозволено завантажувати файли.",
"deleted_all_movies_successfully": "Видалення всіх фільмів було успішне!",
"failed_to_delete_all_movies": "Не вдалося видалити усі фільми",
"deleted_all_tvseries_successfully": "Успішно видалено всі серіали!",
"failed_to_delete_all_tvseries": "Не вдалося видалити всі телесеріали",
"download_cancelled": "Завантаження скасоване",
"could_not_cancel_download": "Неможливо скасувати завантаження",
"download_completed": "Завантаження завершено",
"download_started_for": "Почалося завантаження {{item}}",
"item_is_ready_to_be_downloaded": "{{item}} вже завантажено",
"download_stated_for_item": "Почалося завантаження {{item}}",
"download_failed_for_item": "Не вдалося завантажити {{item}} - {{error}}",
"download_completed_for_item": "Завантаження завершено {{item}}",
"queued_item_for_optimization": "{{item}} в черзі на оптимізацію",
"failed_to_start_download_for_item": "Не вдалося почати завантаження {{item}}: {{message}}",
"server_responded_with_status_code": "Сервер відповів зі статусом {{statusCode}}",
"no_response_received_from_server": "Не отримано відповіді від сервера",
"error_setting_up_the_request": "Помилка налаштування запиту",
"failed_to_start_download_for_item_unexpected_error": "Не вдалося почати завантаження {{item}}: Несподівана помилка",
"all_files_folders_and_jobs_deleted_successfully": "Усі файли, папки та завдання успішно видалено",
"an_error_occured_while_deleting_files_and_jobs": "Виникла помилка під час видалення файлів і завдань",
"go_to_downloads": "Перейти до завантаження"
}
}
},
"search": {
"search_here": "Шукати тут...",
"search": "Шукати...",
"x_items": "{{count}} елементів",
"library": "Медіатека",
"discover": "Відкрийте для себе",
"no_results": "Без результатів",
"no_results_found_for": "Жодних результатів не знайдено для",
"movies": "Фільми",
"series": "Серіали",
"episodes": "Епізоди",
"collections": "Колекції",
"actors": "Актори",
"request_movies": "Запитати Фільми",
"request_series": "Запитати Серіали",
"recently_added": "Нещодавно Додане",
"recent_requests": "Нещодавні Запити",
"plex_watchlist": "Список перегляду Plex",
"trending": "У Тренді",
"popular_movies": "Популярні Фільми",
"movie_genres": "Жанри Кіно",
"upcoming_movies": "Майбутні Фільми",
"studios": "Студії",
"popular_tv": "Популярні Серіали",
"tv_genres": "Жанри Серіалів",
"upcoming_tv": "Майбутні Серіали",
"networks": "ТБ Канали",
"tmdb_movie_keyword": "TMDB Ключові слова Фільмів",
"tmdb_movie_genre": "TMDB Жанри Кіно",
"tmdb_tv_keyword": "TMDB ТБ Ключові слова",
"tmdb_tv_genre": "TMDB ТБ Жанри",
"tmdb_search": "TMDB Пошук",
"tmdb_studio": "TMDB Студії",
"tmdb_network": "TMDB ТБ Канали",
"tmdb_movie_streaming_services": "TMDB Стрімінгові Сервіси Фільмів",
"tmdb_tv_streaming_services": "TMDB Стрімінгові Сервіси Серіалів"
},
"library": {
"no_items_found": "Елементів не знайдено",
"no_results": "Без результатів",
"no_libraries_found": "Не знайдено медіатек",
"item_types": {
"movies": "фільми",
"series": "серіали",
"boxsets": "бокс-сети",
"items": "елементи"
},
"options": {
"display": "Показати",
"row": "Ряд",
"list": "Список",
"image_style": "Стиль зображення",
"poster": "Постер",
"cover": "Обкладинка",
"show_titles": "Показати заголовки",
"show_stats": "Показати статистику"
},
"filters": {
"genres": "Жанри",
"years": "Роки",
"sort_by": "Відсортувати за",
"sort_order": "Порядок сортування",
"asc": "За зростанням",
"desc": "За спаданням",
"tags": "Теги"
}
},
"favorites": {
"series": "Серіали",
"movies": "Фільми",
"episodes": "Епізоди",
"videos": "Відео",
"boxsets": "Бокс-сети",
"playlists": "Плейлісти"
},
"custom_links": {
"no_links": "Немає посилань"
},
"player": {
"error": "Помилка",
"failed_to_get_stream_url": "Не вдалося отримати URL-адресу потоку",
"an_error_occured_while_playing_the_video": "Під час відтворення відео сталася помилка. Перевірте журнали в налаштуваннях.",
"client_error": "Помилка клієнту",
"could_not_create_stream_for_chromecast": "Не вдалося створити потік для Chromecast",
"message_from_server": "Повідомлення від серверу: {{message}}",
"video_has_finished_playing": "Відтворення відео завершено!",
"no_video_source": "Немає джерела відео...",
"next_episode": "Наступний Епізод",
"refresh_tracks": "Оновити доріжки",
"subtitle_tracks": "Доріжки Субтитрів:",
"audio_tracks": "Аудіо-доріжки:",
"playback_state": "Стан відтворення:",
"no_data_available": "Дані відсутні",
"index": "Індекс:"
},
"item_card": {
"next_up": "Далі",
"no_items_to_display": "Немає елементів для відображення",
"cast_and_crew": "Акторський склад та команда",
"series": "Серіали",
"seasons": "Сезони",
"season": "Сезон",
"no_episodes_for_this_season": "У цьому сезоні немає епізодів",
"overview": "Огляд",
"more_with": "Більше з {{name}}",
"similar_items": "Схожі елементи",
"no_similar_items_found": "Не знайдено схожих елементів",
"video": "Відео",
"more_details": "Більше деталей",
"quality": "Якість",
"audio": "Аудіо",
"subtitles": "Субтитри",
"show_more": "Показати більше",
"show_less": "Показати менше",
"appeared_in": "Зʼявлявся у",
"could_not_load_item": "Неможливо завантажити елемент",
"none": "Нічого",
"download": {
"download_season": "Завантажити Сезон",
"download_series": "Завантажити Серіал",
"download_episode": "Завантажити Епізод",
"download_movie": "Завантажити Фільм",
"download_x_item": "Завантажено {{item_count}} елементів",
"download_button": "Завантажити",
"using_optimized_server": "Використовуючи сервер оптимізації",
"using_default_method": "Використовуючи метод за замовченням"
}
},
"live_tv": {
"next": "Наступний",
"previous": "Попередній",
"live_tv": "Live TV",
"coming_soon": "Скоро",
"on_now": "Просто зараз",
"shows": "Серіали",
"movies": "Фільми",
"sports": "Спорт",
"for_kids": "Для дітей",
"news": "Новини"
},
"jellyseerr": {
"confirm": "Підтвердити",
"cancel": "Скасувати",
"yes": "Так",
"whats_wrong": "Щось сталося?",
"issue_type": "Тип проблеми",
"select_an_issue": "Виберіть проблему",
"types": "Типи",
"describe_the_issue": "(опціонально) Опишіть проблему...",
"submit_button": "Надіслати",
"report_issue_button": "Звіт про проблему",
"request_button": "Запити",
"are_you_sure_you_want_to_request_all_seasons": "Ви впевнені, що хочете запросити всі сезони?",
"failed_to_login": "Не вдалося увійти",
"cast": "Акторський склад",
"details": "Деталі",
"status": "Статус",
"original_title": "Оригінальна Назва",
"series_type": "Тип Серіалу",
"release_dates": "Дата Виходу",
"first_air_date": "Дата першого етеру",
"next_air_date": "Дата наступного етеру",
"revenue": "Збори",
"budget": "Бюджет",
"original_language": "Мова Оригіналу",
"production_country": "Країна Виробництва",
"studios": "Студії",
"network": "ТБ Канали",
"currently_streaming_on": "Наразі транслюється на",
"advanced": "Просунуте",
"request_as": "Запит Як",
"tags": "Теги",
"quality_profile": "Профіль якості",
"root_folder": "Корнева Тека",
"season_all": "Сезон (всі)",
"season_number": "Сезон {{season_number}}",
"number_episodes": "{{episode_number}} Епізодів",
"born": "Дата народження",
"appearances": "Зовнішній вигляд",
"toasts": {
"jellyseer_does_not_meet_requirements": "Сервер Jellyseerr не відповідає мінімальним вимогам до версії! Будь ласка, оновіть версію принаймні до 2.0.0",
"jellyseerr_test_failed": "Тест Jellyseerr завершився невдало. Спробуйте ще раз.",
"failed_to_test_jellyseerr_server_url": "Не вдалося перевірити URL-адресу сервера jellyseerr",
"issue_submitted": "Звіт про проблему відправлено",
"requested_item": "Запитано {{item}}!",
"you_dont_have_permission_to_request": "У вас нема дозволу на запит медіа!",
"something_went_wrong_requesting_media": "Щось пішло не так під час запиту медіа!"
}
},
"tabs": {
"home": "Головна",
"search": "Пошук",
"library": "Медіатека",
"custom_links": "Ваші Посилання",
"favorites": "Улюблене"
}
}