Skip to content

Commit

Permalink
Merge branch 'rc/v2.0' of github.com:hydralauncher/hydra into rc/v2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
thegrannychaseroperation committed Jun 22, 2024
2 parents 22c8fdf + c055dcf commit d62d73e
Show file tree
Hide file tree
Showing 18 changed files with 354 additions and 150 deletions.
4 changes: 3 additions & 1 deletion src/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,9 @@
"danger_zone_section_description": "Remove this game from your library or the files downloaded by Hydra",
"download_in_progress": "Download in progress",
"download_paused": "Download paused",
"last_downloaded_option": "Last downloaded option"
"last_downloaded_option": "Last downloaded option",
"create_shortcut_success": "Shortcut created successfully",
"create_shortcut_error": "Error creating shortcut"
},
"activation": {
"title": "Activate Hydra",
Expand Down
4 changes: 3 additions & 1 deletion src/locales/pt/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,9 @@
"danger_zone_section_description": "Remova o jogo da sua biblioteca ou os arquivos que foram baixados pelo Hydra",
"download_in_progress": "Download em andamento",
"download_paused": "Download pausado",
"last_downloaded_option": "Última opção baixada"
"last_downloaded_option": "Última opção baixada",
"create_shortcut_success": "Atalho criado com sucesso",
"create_shortcut_error": "Erro ao criar atalho"
},
"activation": {
"title": "Ativação",
Expand Down
60 changes: 31 additions & 29 deletions src/locales/ru/translation.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"app": {
"successfully_signed_in": "Successfully signed in (TRANSLATE ME)"
"successfully_signed_in": "Успешный вход"
},
"home": {
"featured": "Рекомендованное",
Expand All @@ -20,7 +20,7 @@
"home": "Главная",
"queued": "{{title}} (В очереди)",
"game_has_no_executable": "Файл запуска игры не выбран",
"sign_in": "Sign in (TRANSLATE ME)"
"sign_in": "Войти"
},
"header": {
"search": "Поиск",
Expand Down Expand Up @@ -110,7 +110,9 @@
"danger_zone_section_description": "Удалить эту игру из вашей библиотеки или файлы скачанные Hydra",
"download_in_progress": "Идёт загрузка",
"download_paused": "Загрузка приостановлена",
"last_downloaded_option": "Последний вариант загрузки"
"last_downloaded_option": "Последний вариант загрузки",
"create_shortcut_success": "Ярлык создан",
"create_shortcut_error": "Не удалось создать ярлык"
},
"activation": {
"title": "Активировать Hydra",
Expand Down Expand Up @@ -183,12 +185,12 @@
"sync_download_sources": "Синхронизировать источники",
"removed_download_source": "Источник загрузок удален",
"added_download_source": "Источник загрузок добавлен",
"download_sources_synced": "All download sources are synced (TRANSLATE ME)",
"insert_valid_json_url": "Insert a valid JSON url (TRANSLATE ME)",
"found_download_option_zero": "No download option found (TRANSLATE ME)",
"found_download_option_one": "Found {{countFormatted}} download option (TRANSLATE ME)",
"found_download_option_other": "Found {{countFormatted}} download options (TRANSLATE ME)",
"import": "Import (TRANSLATE ME)"
"download_sources_synced": "Все источники загрузок синхронизированы",
"insert_valid_json_url": "Вставьте действительный URL JSON-файла",
"found_download_option_zero": "Не найдено вариантов загрузки",
"found_download_option_one": "Найден {{countFormatted}} вариант загрузки",
"found_download_option_other": "Найдено {{countFormatted}} вариантов загрузки",
"import": "Импортировать"
},
"notifications": {
"download_complete": "Загрузка завершена",
Expand Down Expand Up @@ -216,25 +218,25 @@
"toggle_password_visibility": "Показывать пароль"
},
"user_profile": {
"amount_hours": "{{amount}} hours (TRANSLATE ME)",
"amount_minutes": "{{amount}} minutes (TRANSLATE ME)",
"last_time_played": "Last played {{period}} (TRANSLATE ME)",
"activity": "Recent activity (TRANSLATE ME)",
"library": "Library (TRANSLATE ME)",
"total_play_time": "Total playtime: {{amount}} (TRANSLATE ME)",
"no_recent_activity_title": "Hmmm… nothing here (TRANSLATE ME)",
"no_recent_activity_description": "You haven't played any games recently. It's time to change that! (TRANSLATE ME)",
"display_name": "Display name (TRANSLATE ME)",
"saving": "Saving (TRANSLATE ME)",
"save": "Save (TRANSLATE ME)",
"edit_profile": "Edit Profile (TRANSLATE ME)",
"saved_successfully": "Saved successfully (TRANSLATE ME)",
"try_again": "Please, try again (TRANSLATE ME)",
"sign_out_modal_title": "Are you sure? (TRANSLATE ME)",
"cancel": "Cancel (TRANSLATE ME)",
"successfully_signed_out": "Successfully signed out (TRANSLATE ME)",
"sign_out": "Sign out (TRANSLATE ME)",
"playing_for": "Playing for {{amount}} (TRANSLATE ME)",
"sign_out_modal_text": "Your library is linked with your current account. When signing out, your library will not be visible anymore, and any progress will not be saved. Continue with sign out? (TRANSLATE ME)"
"amount_hours": "{{amount}} часов",
"amount_minutes": "{{amount}} минут",
"last_time_played": "Последняя игра {{period}}",
"activity": "Недавняя активность",
"library": "Библиотека",
"total_play_time": "Всего сыграно: {{amount}}",
"no_recent_activity_title": "Хммм... Тут ничего нет",
"no_recent_activity_description": "Вы давно ни во что не играли. Пора это изменить!",
"display_name": "Отображаемое имя",
"saving": "Сохранение",
"save": "Сохранено",
"edit_profile": "Редактировать Профиль",
"saved_successfully": "Успешно сохранено",
"try_again": "Пожалуйста, попробуйте ещё раз",
"sign_out_modal_title": "Вы уверены?",
"cancel": "Отменить",
"successfully_signed_out": "Успешный выход из аккаунта",
"sign_out": "Выйти",
"playing_for": "Сыграно {{amount}}",
"sign_out_modal_text": "Ваша библиотека связана с текущей учетной записью. При выходе из системы ваша библиотека станет недоступна, и прогресс не будет сохранен. Выйти?"
}
}
122 changes: 114 additions & 8 deletions src/locales/uk/translation.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"app": {
"successfully_signed_in": "Успішний вхід в систему"
},
"home": {
"featured": "Рекомендоване",
"trending": "У тренді",
Expand All @@ -14,20 +17,26 @@
"paused": "{{title}} (Призупинено)",
"downloading": "{{title}} ({{percentage}} - Завантаження…)",
"filter": "Фільтр бібліотеки",
"home": "Головна"
"home": "Головна",
"game_has_no_executable": "Не було вибрано файл для запуску гри",
"queued": "{{title}} в черзі",
"sign_in": "Увійти"
},
"header": {
"search": "Пошук",
"home": "Головна",
"catalogue": "Каталог",
"downloads": "Завантаження",
"search_results": "Результати пошуку",
"settings": "Налаштування"
"settings": "Налаштування",
"version_available_download": "Доступна версія {{version}}. Натисніть тут, щоб перезапустити та встановити.",
"version_available_install": "Доступна версія {{version}}. Натисніть тут для завантаження."
},
"bottom_panel": {
"no_downloads_in_progress": "Немає активних завантажень",
"downloading_metadata": "Завантаження метаданих {{title}}…",
"downloading": "Завантаження {{title}}… ({{percentage}} завершено) - Закінчення {{eta}} - {{speed}}"
"downloading": "Завантаження {{title}}… ({{percentage}} завершено) - Закінчення {{eta}} - {{speed}}",
"calculating_eta": "Завантаження {{title}}… ({{percentage}} завершено) - Обчислення залишкового часу…"
},
"catalogue": {
"next_page": "Наступна сторінка",
Expand Down Expand Up @@ -72,13 +81,42 @@
"change": "Змінити",
"repacks_modal_description": "Виберіть репак, який хочете завантажити",
"select_folder_hint": "Щоб змінити теку за замовчуванням, відкрийте",
"download_now": "Завантажити зараз"
"download_now": "Завантажити зараз",
"calculating_eta": "Обчислення залишкового часу…",
"create_shortcut": "Створити ярлик на робочому столі",
"danger_zone_section_description": "Видалити цю гру з вашої бібліотеки або файли скачані Hydra",
"danger_zone_section_title": "Небезпечна зона",
"download_in_progress": "Триває завантаження.",
"download_options": "Варіантів завантаження",
"download_path": "Тека для завантажень",
"download_paused": "Завантаження призупинено",
"download_settings": "Налаштування завантаження",
"downloader": "Завантажувач",
"downloads_secion_title": "Завантаження",
"downloads_section_description": "Перевірити наявність оновлень або інших версій гри",
"executable_section_description": "Шлях до файлу, який буде запущений при натисканні на кнопку \"Play\"",
"executable_section_title": "Файл",
"last_downloaded_option": "Останній варіант завантаження",
"next_screenshot": "Наступний скрішнот",
"no_executable_selected": "Файл не вибрано",
"no_shop_details": "Не вдалося отримати опис",
"open_download_location": "Переглянути папку завантажень",
"open_folder": "Відкрити папку",
"open_screenshot": "Відкрити скріншот",
"options": "Налаштування",
"paused": "Призупинено",
"previous_screenshot": "Попередній скріншот",
"remove_files": "Видалити файли",
"remove_from_library_description": "{{game}} буде видалено з вашої бібліотеки",
"remove_from_library_title": "Ви впевнені?",
"screenshot": "Скріншот",
"select_executable": "Обрати"
},
"activation": {
"title": "Активувати Hydra",
"installation_id": "ID установки:",
"enter_activation_code": "Введіть ваш активаційний код",
"message": "Якщо ви не знаєте, де його запросити, то не повинні мати цього.",
"message": "Якщо ви не знаєте, де його запросити, то не повинні мати його.",
"activate": "Активувати",
"loading": "Завантаження…"
},
Expand All @@ -97,7 +135,14 @@
"delete": "Видалити інсталятор",
"delete_modal_title": "Ви впевнені?",
"delete_modal_description": "Це видалить усі інсталяційні файли з вашого комп'ютера",
"install": "Встановити"
"install": "Встановити",
"download_in_progress": "В процесі",
"downloads_completed": "Завершено",
"no_downloads_description": "Ви ще нічого не завантажили через Hydra, але ніколи не пізно почати.",
"no_downloads_title": "Тут так пусто...",
"queued": "В черзі",
"queued_downloads": "Завантаження в черзі",
"removed": "Не завантажено"
},
"settings": {
"downloads_path": "Тека завантажень",
Expand All @@ -106,8 +151,44 @@
"enable_download_notifications": "Після завершення завантаження",
"enable_repack_list_notifications": "Коли додається новий репак",
"behavior": "Поведінка",
"quit_app_instead_hiding": "Закривати програму замість того, щоб згортати її в трей",
"launch_with_system": "Запускати програми із запуском комп'ютера"
"quit_app_instead_hiding": "Закривати Hydra замість того, щоб згортати її в трей",
"launch_with_system": "Запускати Hydra із запуском комп'ютера",
"add_download_source": "Добавити джерело",
"add_download_source_description": "Введіть посилання на .json-файл",
"added_download_source": "Джерело для завантаження було додано",
"changes_saved": "Зміни успішно збережено",
"download_count_one": "{{countFormatted}} завантаження в списку",
"download_count_other": "{{countFormatted}} завантажень в списку",
"download_count_zero": "В списку немає завантажень",
"download_options_one": "{{countFormatted}} доступний варіант завантаження",
"download_options_other": "{{countFormatted}} доступних варіантів завантаження",
"download_options_zero": "Немає доступних завантажень",
"download_source_errored": "Помилка",
"download_source_up_to_date": "Оновлено",
"download_source_url": "Посилання на джерело",
"download_sources": "Джерела для завантаження",
"download_sources_description": "Hydra буде отримувати посилання для завантажень із цих джерел. URL має містити пряме посилання на .json-файл із посиланнями для завантажень.",
"download_sources_synced": "Всі джерела для завантаження синхронізовано",
"enable_real_debrid": "Включити Real-Debrid",
"found_download_option_one": "Знайдено {{countFormatted}} варіант завантаження",
"found_download_option_other": "Знайдено {{countFormatted}} варіантів завантаження",
"found_download_option_zero": "Немає доступних завантажень",
"general": "Основні",
"import": "Імпортувати",
"insert_valid_json_url": "Вставте дійсний URL JSON-файлу",
"language": "Мова",
"real_debrid_api_token": "API-токен",
"real_debrid_api_token_hint": "API токен можливо отримати <0>тут</0>",
"real_debrid_api_token_label": "Real-Debrid API-токен",
"real_debrid_description": "Real-Debrid — це необмежений завантажувач, який дозволяє швидко завантажувати файли, розміщені в Інтернеті, або миттєво передавати їх у плеєр через приватну мережу, що дозволяє обходити будь-які блокування.",
"real_debrid_free_account_error": "Акаунт \"{{username}}\" - не має наявної підписки. Будь ласка, оформіть підписку на Real-Debrid",
"real_debrid_invalid_token": "Невірний API-токен",
"real_debrid_linked_message": "Акаунт \"{{username}}\" привязаний",
"remove_download_source": "Видалити",
"removed_download_source": "Джерело завантажень було видалено",
"save_changes": "Зберегти зміни",
"sync_download_sources": "Синхронізувати джерела",
"validate_download_source": "Перевірити"
},
"notifications": {
"download_complete": "Завантаження завершено",
Expand All @@ -130,5 +211,30 @@
},
"modal": {
"close": "Закрити"
},
"forms": {
"toggle_password_visibility": "Показувати пароль"
},
"user_profile": {
"activity": "Остання активність",
"amount_hours": "{{amount}} годин",
"amount_minutes": "{{amount}} хвилин",
"cancel": "Скасувати",
"display_name": "Відображуване ім'я",
"edit_profile": "Редагувати профіль",
"last_time_played": "Остання гра {{period}}",
"library": "Бібліотека",
"no_recent_activity_description": "Ви давно не грали в ігри. Пора це змінити!",
"no_recent_activity_title": "Хммм... Тут нічого немає",
"playing_for": "Зіграно {{amount}}",
"save": "Збережено",
"saved_successfully": "Успішно збережено",
"saving": "Збереження",
"sign_out": "Вийти",
"sign_out_modal_text": "Ваша бібліотека пов'язана з поточним обліковим записом. При виході з системи ваша бібліотека буде недоступною, і прогрес не буде збережено. Продовжити вихід?",
"sign_out_modal_title": "Ви впевнені?",
"successfully_signed_out": "Успішний вихід з акаунту",
"total_play_time": "Всього зіграно: {{amount}}",
"try_again": "Будь ласка, попробуйте ще раз"
}
}
1 change: 0 additions & 1 deletion src/main/events/helpers/validators.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ export const downloadSourceSchema = z.object({
downloads: z.array(
z.object({
title: z.string().max(255),
downloaders: z.array(z.enum(["real_debrid", "torrent"])),
uris: z.array(z.string()),
uploadDate: z.string().max(255),
fileSize: z.string().max(255),
Expand Down
23 changes: 14 additions & 9 deletions src/main/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,16 @@ app.on("browser-window-created", (_, window) => {
optimizer.watchWindowShortcuts(window);
});

app.on("second-instance", (_event) => {
const handleDeepLinkPath = (uri?: string) => {
if (!uri) return;
const url = new URL(uri);

if (url.host === "install-source") {
WindowManager.redirect(`settings${url.search}`);
}
};

app.on("second-instance", (_event, commandLine) => {
// Someone tried to run a second instance, we should focus our window.
if (WindowManager.mainWindow) {
if (WindowManager.mainWindow.isMinimized())
Expand All @@ -84,16 +93,12 @@ app.on("second-instance", (_event) => {
WindowManager.createMainWindow();
}

// const [, path] = commandLine.pop()?.split("://") ?? [];
// if (path) {
// WindowManager.redirect(path);
// }
handleDeepLinkPath(commandLine.pop());
});

// app.on("open-url", (_event, url) => {
// const [, path] = url.split("://");
// WindowManager.redirect(path);
// });
app.on("open-url", (_event, url) => {
handleDeepLinkPath(url);
});

// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
Expand Down
Loading

0 comments on commit d62d73e

Please sign in to comment.