From d08a45ac4c5d5f91e81ee2ed8ba6488b47f63b8a Mon Sep 17 00:00:00 2001 From: Andre Date: Mon, 1 Dec 2025 08:35:18 +0000 Subject: [PATCH 1/2] feat: add copy link button --- src/locales/ar/translation.json | 1 + src/locales/be/translation.json | 3 ++- src/locales/bg/translation.json | 1 + src/locales/ca/translation.json | 1 + src/locales/cs/translation.json | 1 + src/locales/da/translation.json | 1 + src/locales/de/translation.json | 1 + src/locales/en/translation.json | 1 + src/locales/es/translation.json | 1 + src/locales/et/translation.json | 1 + src/locales/fa/translation.json | 3 ++- src/locales/fi/translation.json | 1 + src/locales/fr/translation.json | 1 + src/locales/hu/translation.json | 1 + src/locales/id/translation.json | 1 + src/locales/it/translation.json | 1 + src/locales/kk/translation.json | 1 + src/locales/ko/translation.json | 3 ++- src/locales/lv/translation.json | 1 + src/locales/nb/translation.json | 1 + src/locales/nl/translation.json | 3 ++- src/locales/pl/translation.json | 1 + src/locales/pt-BR/translation.json | 1 + src/locales/pt-PT/translation.json | 1 + src/locales/ru/translation.json | 1 + src/locales/tr/translation.json | 1 + src/locales/uk/translation.json | 1 + src/locales/uz/translation.json | 1 + src/locales/zh/translation.json | 1 + .../modals/download-settings-modal.tsx | 15 ++++++++++++++- 30 files changed, 47 insertions(+), 5 deletions(-) diff --git a/src/locales/ar/translation.json b/src/locales/ar/translation.json index 034d0cbd2..a9cee05c3 100644 --- a/src/locales/ar/translation.json +++ b/src/locales/ar/translation.json @@ -98,6 +98,7 @@ "repacks_modal_description": "اختر الإصدار المعاد الذي تريد تنزيله", "select_folder_hint": "لتغيير المجلد الافتراضي، انتقل إلى <0>الإعدادات", "download_now": "تنزيل الآن", + "copy_now": "رابط تحميل النسخ", "no_shop_details": "تعذر الحصول على تفاصيل المتجر.", "download_options": "خيارات التنزيل", "download_path": "مسار التنزيل", diff --git a/src/locales/be/translation.json b/src/locales/be/translation.json index 8d67e693e..3c63f24d3 100644 --- a/src/locales/be/translation.json +++ b/src/locales/be/translation.json @@ -69,7 +69,8 @@ "change": "Змяніць", "repacks_modal_description": "Абярыце рэпак, які хочаце сцягнуць", "select_folder_hint": "Каб змяніць папку па змоўчанні, адкрыйце", - "download_now": "Сцягнуць зараз" + "download_now": "Сцягнуць зараз", + "copy_now": "Скапіяваць спасылку для загрузкі" }, "activation": { "title": "Актываваць Hydra", diff --git a/src/locales/bg/translation.json b/src/locales/bg/translation.json index 3e2897006..0ab6014d7 100644 --- a/src/locales/bg/translation.json +++ b/src/locales/bg/translation.json @@ -101,6 +101,7 @@ "repacks_modal_description": "Изберете репак за изтегляне", "select_folder_hint": "За да промените папката по подразбиране, отидете в <0>Настройки", "download_now": "Изтегли сега", + "copy_now": "Копирай и изтегли линка", "no_shop_details": "Неуспешно извличане на детайли от магазина.", "download_options": "Опции за изтегляне", "download_path": "Път за изтегляне", diff --git a/src/locales/ca/translation.json b/src/locales/ca/translation.json index 96eb67e29..237692735 100644 --- a/src/locales/ca/translation.json +++ b/src/locales/ca/translation.json @@ -82,6 +82,7 @@ "repacks_modal_description": "Tria quin reempaquetat vols baixar", "select_folder_hint": "Per a canviar la carpeta predefinida, vés a la <0>Configuració", "download_now": "Baixa ara", + "copy_now": "Copiar l'enllaç de descàrrega", "no_shop_details": "No s'han pogut recuperar els detalls de la tenda.", "download_options": "Opcions de baixada", "download_path": "Ruta de baixada", diff --git a/src/locales/cs/translation.json b/src/locales/cs/translation.json index 6bcc89444..6d8e0b5c0 100644 --- a/src/locales/cs/translation.json +++ b/src/locales/cs/translation.json @@ -101,6 +101,7 @@ "repacks_modal_description": "Vyber repack který chceš stáhnout", "select_folder_hint": "Pro změnu základní složky, jdi do <0>Nastavení", "download_now": "Stáhnout", + "copy_now": "Kopírovat odkaz ke stažení", "no_shop_details": "Nepodařilo se mi načíst informace o obchodu.", "download_options": "Možnosti stahování", "download_path": "Umístění stahování", diff --git a/src/locales/da/translation.json b/src/locales/da/translation.json index 21a92f72c..841206cbd 100644 --- a/src/locales/da/translation.json +++ b/src/locales/da/translation.json @@ -86,6 +86,7 @@ "repacks_modal_description": "Vælg den repack du vil downloade", "select_folder_hint": "For at ændre standard mappen, gå til <0>Instillingerne", "download_now": "Download nu", + "copy_now": "Kopier downloadlink", "no_shop_details": "Kunne ikke modtage butiks detaljerne.", "download_options": "Download muligheder", "download_path": "Download sti", diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json index fb285ee0d..49b12a82d 100644 --- a/src/locales/de/translation.json +++ b/src/locales/de/translation.json @@ -102,6 +102,7 @@ "repacks_modal_description": "Wähle das Repack, das du herunterladen möchtest", "select_folder_hint": "Um das Standardverzeichnis zu ändern, gehe zu den <0>Einstellungen", "download_now": "Jetzt herunterladen", + "copy_now": "Link zum Herunterladen kopieren", "no_shop_details": "Shop-Details konnten nicht abgerufen werden.", "download_options": "Download-Optionen", "download_path": "Download-Verzeichnis", diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index ed8c7d4e8..4f27072de 100755 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -173,6 +173,7 @@ "repacks_modal_description": "Choose the repack you want to download", "select_folder_hint": "To change the default folder, go to the <0>Settings", "download_now": "Download now", + "copy_now": "Copy Download Link", "no_shop_details": "Could not retrieve shop details.", "download_options": "Download options", "download_path": "Download path", diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 4a582ef8c..a0b22d064 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -173,6 +173,7 @@ "repacks_modal_description": "Elegí el repack que querés descargar", "select_folder_hint": "Si querés cambiar la carpeta por defecto, andá a <0>Ajustes", "download_now": "Descargar ahora", + "copy_now": "Copiar enlace de descarga", "no_shop_details": "No se pudieron obtener detalles de la tienda.", "download_options": "Opciones de descarga", "download_path": "Ruta de descarga", diff --git a/src/locales/et/translation.json b/src/locales/et/translation.json index c5566eeb9..450ab008f 100644 --- a/src/locales/et/translation.json +++ b/src/locales/et/translation.json @@ -87,6 +87,7 @@ "repacks_modal_description": "Vali repack, mida soovid alla laadida", "select_folder_hint": "Vaikimisi kausta muutmiseks mine <0>Seadetesse", "download_now": "Laadi alla kohe", + "copy_now": "Kopeeri allalaadimislink", "no_shop_details": "Poe andmeid ei õnnestunud laadida.", "download_options": "Allalaadimise valikud", "download_path": "Allalaadimise tee", diff --git a/src/locales/fa/translation.json b/src/locales/fa/translation.json index 69a49b79e..1e0d91a1d 100644 --- a/src/locales/fa/translation.json +++ b/src/locales/fa/translation.json @@ -69,7 +69,8 @@ "change": "تغییر", "repacks_modal_description": "ریپک مورد نظر برای دانلود را انتخاب کنید", "select_folder_hint": "برای تغییر پوشه‌ی پیش‌فرض به <0>Settings بروید", - "download_now": "الان دانلود کن" + "download_now": "الان دانلود کن", + "copy_now": "لینک دانلود کپی" }, "activation": { "title": "فعال کردن هایدرا", diff --git a/src/locales/fi/translation.json b/src/locales/fi/translation.json index fee3ff225..48b541ae3 100644 --- a/src/locales/fi/translation.json +++ b/src/locales/fi/translation.json @@ -164,6 +164,7 @@ "repacks_modal_description": "Valitse repack ladattavaksi", "select_folder_hint": "Vaihtaaksesi oletuslatauskansiota, avaa <0>Asetukset", "download_now": "Lataa nyt", + "copy_now": "Kopioi latauslinkki", "no_shop_details": "Kuvausta ei saatu", "download_options": "Lähteet", "download_path": "Latauspolku", diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json index 8fc077225..b965f0784 100644 --- a/src/locales/fr/translation.json +++ b/src/locales/fr/translation.json @@ -102,6 +102,7 @@ "repacks_modal_description": "Choisissez le repack que vous souhaitez télécharger", "select_folder_hint": "Pour changer le dossier par défaut, allez dans les <0>Paramètres", "download_now": "Télécharger maintenant", + "copy_now": "Lien de téléchargement à copier", "no_shop_details": "Impossible d'obtenir les détails du magasin.", "download_options": "Options de téléchargement", "download_path": "Emplacement de téléchargement", diff --git a/src/locales/hu/translation.json b/src/locales/hu/translation.json index c2a598731..ef1a009a9 100644 --- a/src/locales/hu/translation.json +++ b/src/locales/hu/translation.json @@ -167,6 +167,7 @@ "repacks_modal_description": "Válaszd ki a repacket amit leszeretnél tölteni", "select_folder_hint": "A letöltési mappát a <0>Beállítások menüjében változtathatod meg", "download_now": "Letöltés", + "copy_now": "Másolj letöltési link", "no_shop_details": "A bolt adatai nem érhetőek el.", "download_options": "Letöltési opciók", "download_path": "Letöltési hely", diff --git a/src/locales/id/translation.json b/src/locales/id/translation.json index b782da211..0b3dde4d2 100644 --- a/src/locales/id/translation.json +++ b/src/locales/id/translation.json @@ -82,6 +82,7 @@ "repacks_modal_description": "Pilih repack yang ingin kamu unduh", "select_folder_hint": "Untuk ganti folder default, buka <0>Pengaturan", "download_now": "Unduh sekarang", + "copy_now": "Salin Tautan Unduhan", "no_shop_details": "Gagal mendapatkan detail toko.", "download_options": "Opsi unduhan", "download_path": "Path unduhan", diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index ac37ffe97..23753b89b 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -71,6 +71,7 @@ "repacks_modal_description": "Scegli il repack che vuoi scaricare", "select_folder_hint": "Per cambiare la cartella predefinita, accedi alle", "download_now": "Scarica ora", + "copy_now": "Copia link per il download", "no_shop_details": "Impossibile recuperare i dettagli del negozio.", "download_options": "Opzioni di download", "download_path": "Percorso di download", diff --git a/src/locales/kk/translation.json b/src/locales/kk/translation.json index 48fb8181a..2820d5ab1 100644 --- a/src/locales/kk/translation.json +++ b/src/locales/kk/translation.json @@ -81,6 +81,7 @@ "repacks_modal_description": "Жүктеу үшін репакты таңдаңыз", "select_folder_hint": "Әдепкі жүктеу қалтасын өзгерту үшін <0>Параметрлер ашыңыз", "download_now": "Қазір жүктеу", + "copy_now": "Жүктеу сілтемесін көшіру", "no_shop_details": "Сипаттаманы алу мүмкін болмады", "download_options": "Жүктеу нұсқалары", "download_path": "Жүктеу жолы", diff --git a/src/locales/ko/translation.json b/src/locales/ko/translation.json index a9b9c0e55..7298b3e7d 100644 --- a/src/locales/ko/translation.json +++ b/src/locales/ko/translation.json @@ -69,7 +69,8 @@ "change": "바꾸기", "repacks_modal_description": "다운로드 할 리팩을 선택해 주세요", "select_folder_hint": "기본 폴더를 바꾸려면 <0>설정으로 가세요", - "download_now": "지금 다운로드" + "download_now": "지금 다운로드", + "copy_now": "복사하기 다운로드 링크" }, "activation": { "title": "Hydra 실행", diff --git a/src/locales/lv/translation.json b/src/locales/lv/translation.json index 26aacb74e..8cf019992 100644 --- a/src/locales/lv/translation.json +++ b/src/locales/lv/translation.json @@ -164,6 +164,7 @@ "repacks_modal_description": "Izvēlieties repaku lejupielādei", "select_folder_hint": "Lai mainītu noklusējuma lejupielāžu mapi, atveriet <0>Iestatījumus", "download_now": "Lejupielādēt tagad", + "copy_now": "Kopēt lejupielādes saiti", "no_shop_details": "Neizdevās iegūt aprakstu", "download_options": "Avoti", "download_path": "Ceļš lejupielādēm", diff --git a/src/locales/nb/translation.json b/src/locales/nb/translation.json index 95bda8fe1..c2edff3ba 100644 --- a/src/locales/nb/translation.json +++ b/src/locales/nb/translation.json @@ -86,6 +86,7 @@ "repacks_modal_description": "Velg den gjennpakking du vil laste ned", "select_folder_hint": "For å endre standard mappen, gå til <0>Innstillingene", "download_now": "Last ned nå", + "copy_now": "Kopier nedlastingslenke", "no_shop_details": "Kunne ikke modta butikksdetaljene.", "download_options": "Nedlastingsmuligheter", "download_path": "Nedlastingssti", diff --git a/src/locales/nl/translation.json b/src/locales/nl/translation.json index baa6df6e1..6fabdd025 100644 --- a/src/locales/nl/translation.json +++ b/src/locales/nl/translation.json @@ -69,7 +69,8 @@ "change": "Verander", "repacks_modal_description": "Kies de herverpakking die u wilt downloaden", "select_folder_hint": "Om de standaardmap te wijzigen, gaat u naar <0>instellingen", - "download_now": "Download nu" + "download_now": "Download nu", + "copy_now": "Kopieer downloadlink" }, "activation": { "title": "Activeer Hydra", diff --git a/src/locales/pl/translation.json b/src/locales/pl/translation.json index 2e0d16964..0ceb2137f 100644 --- a/src/locales/pl/translation.json +++ b/src/locales/pl/translation.json @@ -71,6 +71,7 @@ "repacks_modal_description": "Wybierz repack, który chcesz pobrać", "select_folder_hint": "Aby zmienić domyślny folder, przejdź do", "download_now": "Pobierz teraz", + "copy_now": "Skopiuj link do pobrania", "no_shop_details": "Nie udało się pobrać danych sklepu.", "download_options": "Opcje pobierania", "download_path": "Ścieżka pobierania", diff --git a/src/locales/pt-BR/translation.json b/src/locales/pt-BR/translation.json index 6702c310b..97962793a 100755 --- a/src/locales/pt-BR/translation.json +++ b/src/locales/pt-BR/translation.json @@ -162,6 +162,7 @@ "repacks_modal_description": "Escolha o repack do jogo que deseja baixar", "select_folder_hint": "Para trocar o diretório padrão, acesse a <0>Tela de Ajustes", "download_now": "Iniciar download", + "copy_now": "Copiar link de download", "no_shop_details": "Não foi possível obter os detalhes da loja.", "download_options": "Opções de download", "download_path": "Diretório de download", diff --git a/src/locales/pt-PT/translation.json b/src/locales/pt-PT/translation.json index e48e14583..1649ea1b0 100644 --- a/src/locales/pt-PT/translation.json +++ b/src/locales/pt-PT/translation.json @@ -95,6 +95,7 @@ "repacks_modal_description": "Escolhe a versão do jogo que desejas transferir", "select_folder_hint": "Para alterar o local predefinido, acede às <0>Definições", "download_now": "Iniciar transferência", + "copy_now": "Copiar link de transferência", "no_shop_details": "Não foi possível obter os detalhes da loja.", "download_options": "Opções de transferência", "download_path": "Local de transferência", diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index 1cf7ae2f5..598c0c3a2 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -173,6 +173,7 @@ "repacks_modal_description": "Выберите репак для загрузки", "select_folder_hint": "Чтобы изменить папку загрузок по умолчанию, откройте <0>Настройки", "download_now": "Загрузить сейчас", + "copy_now": "Скопировать ссылку для скачивания", "no_shop_details": "Не удалось получить описание", "download_options": "Источники", "download_path": "Путь для загрузок", diff --git a/src/locales/tr/translation.json b/src/locales/tr/translation.json index 52e1f10f9..6edb7d495 100644 --- a/src/locales/tr/translation.json +++ b/src/locales/tr/translation.json @@ -166,6 +166,7 @@ "repacks_modal_description": "İndirmek istediğiniz paketi seçin", "select_folder_hint": "Varsayılan klasörü değiştirmek için <0>Ayarlar bölümüne gidin", "download_now": "Şimdi indir", + "copy_now": "İndirme Bağlantısını Kopyala", "no_shop_details": "Mağaza bilgileri alınamadı.", "download_options": "İndirme seçenekleri", "download_path": "İndirme yolu", diff --git a/src/locales/uk/translation.json b/src/locales/uk/translation.json index 323d8ad5c..dbc911ab4 100644 --- a/src/locales/uk/translation.json +++ b/src/locales/uk/translation.json @@ -162,6 +162,7 @@ "repacks_modal_description": "Виберіть репак, який хочете завантажити", "select_folder_hint": "Щоб змінити теку за замовчуванням, відкрийте", "download_now": "Завантажити зараз", + "copy_now": "Скопіювати Завантажити посилання", "calculating_eta": "Обчислення залишкового часу…", "create_shortcut": "Створити ярлик на робочому столі", "create_shortcut_simple": "Створити ярлик", diff --git a/src/locales/uz/translation.json b/src/locales/uz/translation.json index 24e508af3..3f9645f90 100644 --- a/src/locales/uz/translation.json +++ b/src/locales/uz/translation.json @@ -72,6 +72,7 @@ "repacks_modal_description": "Yuklab olish uchun repakni tanlang", "select_folder_hint": "Standart yuklab olish jildini o'zgartirish uchun <0>Sozlamalarni oching", "download_now": "Hozir yuklab olish", + "copy_now": "Yuklab olish havolasini nusxalash", "no_shop_details": "Tavsif olib bo'lmadi", "download_options": "Manbalar", "download_path": "Yuklab olish yo'li", diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json index bfc353d9b..c32cfcb12 100644 --- a/src/locales/zh/translation.json +++ b/src/locales/zh/translation.json @@ -163,6 +163,7 @@ "repacks_modal_description": "选择您想要下载的重打包", "select_folder_hint": "要更改默认文件夹,请访问<0>设置", "download_now": "立即下载", + "copy_now": "复制下载链接", "no_shop_details": "无法检索商店详细信息.", "download_options": "下载选项", "download_path": "下载路径", diff --git a/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx b/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx index a6c32b6e0..58666c6a7 100644 --- a/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx +++ b/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx @@ -7,7 +7,7 @@ import { Modal, TextField, } from "@renderer/components"; -import { CheckCircleFillIcon, DownloadIcon } from "@primer/octicons-react"; +import { CheckCircleFillIcon, DownloadIcon, CopyIcon } from "@primer/octicons-react"; import { Downloader, formatBytes, getDownloadersForUris } from "@shared"; import type { GameRepack } from "@types"; import { DOWNLOADER_NAME } from "@renderer/constants"; @@ -173,6 +173,12 @@ export function DownloadSettingsModal({ } }; + const handleCopyClick = async () => { + if (repack && repack.uris[0]) { + navigator.clipboard.writeText(repack.uris[0]); + } + }; + return ( {t("download_now")} + + ); From dc5a7aa7126d2a8b595bb3cc1f1b20e682b701e1 Mon Sep 17 00:00:00 2001 From: Andre Date: Thu, 5 Mar 2026 20:01:45 +0000 Subject: [PATCH 2/2] Fix missing language separator --- src/locales/be/translation.json | 2 +- src/locales/fa/translation.json | 2 +- src/locales/ko/translation.json | 2 +- src/locales/nl/translation.json | 2 +- .../pages/game-details/modals/download-settings-modal.tsx | 6 ++---- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/locales/be/translation.json b/src/locales/be/translation.json index d2ccf33c7..92df17e5d 100644 --- a/src/locales/be/translation.json +++ b/src/locales/be/translation.json @@ -211,7 +211,7 @@ "repacks_modal_description": "Абярыце рэпак, які хочаце сцягнуць", "select_folder_hint": "Каб змяніць папку па змоўчанні, адкрыйце", "download_now": "Сцягнуць зараз", - "copy_now": "Скапіяваць спасылку для загрузкі" + "copy_now": "Скапіяваць спасылку для загрузкі", "calculating_eta": "Calculating remaining time…", "paused": "Paused", "protondb_tier": "Tier", diff --git a/src/locales/fa/translation.json b/src/locales/fa/translation.json index e28b026bf..57e178d16 100644 --- a/src/locales/fa/translation.json +++ b/src/locales/fa/translation.json @@ -211,7 +211,7 @@ "repacks_modal_description": "ریپک مورد نظر برای دانلود را انتخاب کنید", "select_folder_hint": "برای تغییر پوشه‌ی پیش‌فرض به <0>Settings بروید", "download_now": "الان دانلود کن", - "copy_now": "لینک دانلود کپی" + "copy_now": "لینک دانلود کپی", "calculating_eta": "Calculating remaining time…", "paused": "Paused", "protondb_tier": "Tier", diff --git a/src/locales/ko/translation.json b/src/locales/ko/translation.json index 1c7f34b7f..9cbafd4fc 100644 --- a/src/locales/ko/translation.json +++ b/src/locales/ko/translation.json @@ -211,7 +211,7 @@ "repacks_modal_description": "다운로드 할 리팩을 선택해 주세요", "select_folder_hint": "기본 폴더를 바꾸려면 <0>설정으로 가세요", "download_now": "지금 다운로드", - "copy_now": "복사하기 다운로드 링크" + "copy_now": "복사하기 다운로드 링크", "calculating_eta": "Calculating remaining time…", "paused": "Paused", "protondb_tier": "Tier", diff --git a/src/locales/nl/translation.json b/src/locales/nl/translation.json index cc06bcf62..d3fc86929 100644 --- a/src/locales/nl/translation.json +++ b/src/locales/nl/translation.json @@ -211,7 +211,7 @@ "repacks_modal_description": "Kies de herverpakking die u wilt downloaden", "select_folder_hint": "Om de standaardmap te wijzigen, gaat u naar <0>instellingen", "download_now": "Download nu", - "copy_now": "Kopieer downloadlink" + "copy_now": "Kopieer downloadlink", "calculating_eta": "Calculating remaining time…", "paused": "Paused", "protondb_tier": "Tier", diff --git a/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx b/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx index 63b1ccb11..54cdf3cd4 100644 --- a/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx +++ b/src/renderer/src/pages/game-details/modals/download-settings-modal.tsx @@ -13,7 +13,7 @@ import { SyncIcon, CheckCircleFillIcon, PlusIcon, - CopyIcon + CopyIcon, } from "@primer/octicons-react"; import { Downloader, formatBytes, getDownloadersForUri } from "@shared"; import type { GameRepack } from "@types"; @@ -537,9 +537,7 @@ export function DownloadSettingsModal({ {getButtonContent()} -