diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 07de37f3..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve. Write in English, please -title: "[BUG]" -labels: bug -assignees: "" ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: - -1. Go to '...' -2. Click on '....' -3. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Additional context** - -- OS: [Windows 11/Linux Distro/Steam Deck] -- Hydra Version: -- Additional information and context of your problem: diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..88467f6a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,58 @@ +name: Bug Report +description: Create a report to help us improve. Write in English, please. +title: "[BUG] " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thank you for creating a bug report to help us improve! + - type: textarea + id: bug-description + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: bug-reproduce + attributes: + label: Steps to Reproduce + description: Steps to reproduce the behavior. For example, "1. Go to '...', 2. Click on '...', 3. See error" + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: If applicable, add screenshots to help explain your problem. + validations: + required: false + - type: input + id: OS + attributes: + label: Operating System + description: Which operating system are you using (e.g., Windows 11/Linux Distro/Steam Deck)? + validations: + required: true + - type: input + id: hydra-version + attributes: + label: Hydra Version + description: Please provide the version of Hydra you are using. + validations: + required: true + - type: textarea + id: additional-info + attributes: + label: Additional Information + description: Please provide any additional information and context about your problem. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 1a651d9f..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for Hydra. Write in English, please -title: "[REQUEST]" -labels: enhancement -assignees: "" ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..295cee45 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,37 @@ +name: Feature Request +description: Request a new feature. +title: "[REQUEST] " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to suggest a new feature! + - type: textarea + id: problem-related + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. + validations: + required: true + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + validations: + required: false diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index af4cbae7..2612e737 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -26,3 +26,6 @@ jobs: - name: Lint run: yarn lint + + - name: Format check + run: yarn format-check diff --git a/README.pt-BR.md b/README.pt-BR.md index b91e4adb..5d04e48b 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -19,7 +19,6 @@ [![uk-UA](https://img.shields.io/badge/lang-uk--UA-blue)](README.uk-UA.md) [![be](https://img.shields.io/badge/lang-be-orange)](README.be.md) - ![Hydra Catalogue](./docs/screenshot.png) diff --git a/package.json b/package.json index c0adccfb..31c75072 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "type": "module", "scripts": { "format": "prettier --write .", + "format-check": "prettier --check .", "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix", "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false", "typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false", diff --git a/src/locales/ar/translation.json b/src/locales/ar/translation.json index d5e3cb83..3ea46b4f 100644 --- a/src/locales/ar/translation.json +++ b/src/locales/ar/translation.json @@ -55,62 +55,62 @@ "remove_from_list": "إزالة", "space_left_on_disk": "{{space}} متبقية على القرص", "eta": "الوقت المتبقي {{eta}}", - "downloading_metadata": "جاري تنزيل البيانات الوصفية...", - "checking_files": "جاري التحقق من الملفات...", - "filter": "تصفية حزم إعادة التجميع", - "requirements": "متطلبات النظام", - "minimum": "الحد الأدنى", - "recommended": "موصى به", - "no_minimum_requirements": "{{title}} لا تتوفر معلومات عن الحد الأدنى للمتطلبات", - "no_recommended_requirements": "{{title}} لا تتوفر معلومات عن المتطلبات الموصى بها", - "paused_progress": "{{progress}} (متوقف)", - "release_date": "تم الإصدار في {{date}}", - "publisher": "نشر بواسطة {{publisher}}", - "copy_link_to_clipboard": "نسخ الرابط", - "copied_link_to_clipboard": "تم نسخ الرابط", - "hours": "ساعات", - "minutes": "دقائق", - "amount_hours": "{{amount}} ساعات", - "amount_minutes": "{{amount}} دقائق", - "accuracy": "دقة {{accuracy}}%", - "add_to_library": "إضافة إلى المكتبة", - "remove_from_library": "إزالة من المكتبة", - "no_downloads": "لا توجد تنزيلات متاحة", - "play_time": "تم اللعب لمدة {{amount}}", - "last_time_played": "آخر مرة لعبت {{period}}", - "not_played_yet": "لم تلعب {{title}} بعد", - "next_suggestion": "الاقتراح التالي", - "play": "لعب", - "deleting": "جاري حذف المثبت...", - "close": "إغلاق", - "playing_now": "قيد التشغيل الآن", - "change": "تغيير", - "repacks_modal_description": "اختر الحزمة التي تريد تنزيلها", - "select_folder_hint": "لتغيير المجلد الافتراضي، انتقل إلى الإعدادات", - "download_now": "تنزيل الآن", - "installation_instructions": "إرشادات التثبيت", - "installation_instructions_description": "هناك خطوات إضافية مطلوبة لتثبيت هذه اللعبة", - "online_fix_instruction": "تتطلب ألعاب OnlineFix كلمة مرور لاستخراجها. عند الحاجة، استخدم كلمة المرور التالية:", - "dodi_installation_instruction": "عند فتح مثبت DODI، اضغط على مفتاح التشغيل لأعلى <0 /> لبدء عملية التثبيت:", - "dont_show_it_again": "لا تعرضها مرة أخرى", - "copy_to_clipboard": "نسخ", - "copied_to_clipboard": "تم النسخ", - "got_it": "حسنأ", - "no_shop_details": "لم يتم استرداد تفاصيل المتجر.", - "download_options": "خيارات التنزيل", - "download_path": "مسار التنزيل", - "previous_screenshot": "لقطة الشاشة السابقة", - "next_screenshot": "لقطة الشاشة التالية", - "screenshot": "لقطة شاشة {{number}}", - "open_screenshot": "افتح لقطة الشاشة {{number}}" + "downloading_metadata": "جاري تنزيل البيانات الوصفية...", + "checking_files": "جاري التحقق من الملفات...", + "filter": "تصفية حزم إعادة التجميع", + "requirements": "متطلبات النظام", + "minimum": "الحد الأدنى", + "recommended": "موصى به", + "no_minimum_requirements": "{{title}} لا تتوفر معلومات عن الحد الأدنى للمتطلبات", + "no_recommended_requirements": "{{title}} لا تتوفر معلومات عن المتطلبات الموصى بها", + "paused_progress": "{{progress}} (متوقف)", + "release_date": "تم الإصدار في {{date}}", + "publisher": "نشر بواسطة {{publisher}}", + "copy_link_to_clipboard": "نسخ الرابط", + "copied_link_to_clipboard": "تم نسخ الرابط", + "hours": "ساعات", + "minutes": "دقائق", + "amount_hours": "{{amount}} ساعات", + "amount_minutes": "{{amount}} دقائق", + "accuracy": "دقة {{accuracy}}%", + "add_to_library": "إضافة إلى المكتبة", + "remove_from_library": "إزالة من المكتبة", + "no_downloads": "لا توجد تنزيلات متاحة", + "play_time": "تم اللعب لمدة {{amount}}", + "last_time_played": "آخر مرة لعبت {{period}}", + "not_played_yet": "لم تلعب {{title}} بعد", + "next_suggestion": "الاقتراح التالي", + "play": "لعب", + "deleting": "جاري حذف المثبت...", + "close": "إغلاق", + "playing_now": "قيد التشغيل الآن", + "change": "تغيير", + "repacks_modal_description": "اختر الحزمة التي تريد تنزيلها", + "select_folder_hint": "لتغيير المجلد الافتراضي، انتقل إلى الإعدادات", + "download_now": "تنزيل الآن", + "installation_instructions": "إرشادات التثبيت", + "installation_instructions_description": "هناك خطوات إضافية مطلوبة لتثبيت هذه اللعبة", + "online_fix_instruction": "تتطلب ألعاب OnlineFix كلمة مرور لاستخراجها. عند الحاجة، استخدم كلمة المرور التالية:", + "dodi_installation_instruction": "عند فتح مثبت DODI، اضغط على مفتاح التشغيل لأعلى <0 /> لبدء عملية التثبيت:", + "dont_show_it_again": "لا تعرضها مرة أخرى", + "copy_to_clipboard": "نسخ", + "copied_to_clipboard": "تم النسخ", + "got_it": "حسنأ", + "no_shop_details": "لم يتم استرداد تفاصيل المتجر.", + "download_options": "خيارات التنزيل", + "download_path": "مسار التنزيل", + "previous_screenshot": "لقطة الشاشة السابقة", + "next_screenshot": "لقطة الشاشة التالية", + "screenshot": "لقطة شاشة {{number}}", + "open_screenshot": "افتح لقطة الشاشة {{number}}" }, "activation": { - "title": "تفعيل هايدرا", - "installation_id": "معرف التثبيت:", - "enter_activation_code": "أدخل رمز التفعيل الخاص بك", - "message": "إذا كنت لا تعرف أين تسأل عن هذا ، فلا يجب أن يكون لديك هذا.", + "title": "تفعيل هايدرا", + "installation_id": "معرف التثبيت:", + "enter_activation_code": "أدخل رمز التفعيل الخاص بك", + "message": "إذا كنت لا تعرف أين تسأل عن هذا ، فلا يجب أن يكون لديك هذا.", "activate": "تفعيل", - "loading": "جار التحميل…" + "loading": "جار التحميل…" }, "downloads": { "resume": "استئناف", @@ -146,7 +146,7 @@ "telemetry": "القياس عن بعد", "telemetry_description": "تفعيل إحصائيات الاستخدام مجهولة المصدر", "real_debrid_api_token_label": "رمز واجهة برمجة التطبيقات (API) لـReal Debrid ", - "quit_app_instead_hiding": "إنهاء هايدرا بدلاً من التصغير الى شريط الحالة", + "quit_app_instead_hiding": "إنهاء هايدرا بدلاً من التصغير الى شريط الحالة", "launch_with_system": "تشغيل هايدرا عند بدء تشغيل النظام", "general": "عام", "behavior": "السلوك", @@ -177,4 +177,4 @@ "modal": { "close": "زر إغلاق" } -} \ No newline at end of file +} diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 1c97adae..d3f90cb6 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -24,12 +24,12 @@ "github": "Contribuye en GitHub" }, "header": { - "search": "Buscar", + "search": "Buscar juegos", + "home": "Inicio", "catalogue": "Catálogo", "downloads": "Descargas", "search_results": "Resultados de búsqueda", - "settings": "Ajustes", - "home": "Inicio" + "settings": "Ajustes" }, "bottom_panel": { "no_downloads_in_progress": "Sin descargas en progreso", @@ -37,12 +37,17 @@ "checking_files": "Analizando archivos de {{title}} - ({{percentage}} completado)", "downloading": "Descargando {{title}}… ({{percentage}} completado) - Finalizando {{eta}} - {{speed}}" }, + "catalogue": { + "next_page": "Siguiente página", + "previous_page": "Pagina anterior" + }, "game_details": { "open_download_options": "Ver opciones de descargas", "download_options_zero": "No hay opciones de descargas disponibles", "download_options_one": "{{count}} opción de descarga", "download_options_other": "{{count}} opciones de descargas", "updated_at": "Actualizado el {{updated_at}}", + "install": "Instalar", "resume": "Continuar", "pause": "Pausa", "cancel": "Cancelar", @@ -52,7 +57,7 @@ "eta": "Finalizando en {{eta}}", "downloading_metadata": "Descargando metadatos…", "checking_files": "Analizando archivos…", - "filter": "Filtrar repacks", + "filter": "Buscar repacks", "requirements": "Requisitos del Sistema", "minimum": "Mínimos", "recommended": "Recomendados", @@ -71,20 +76,17 @@ "add_to_library": "Agregar a la biblioteca", "remove_from_library": "Eliminar de la biblioteca", "no_downloads": "No hay descargas disponibles", - "next_suggestion": "Siguiente sugerencia", "play_time": "Jugado por {{amount}}", - "install": "Instalar", - "play": "Jugar", - "not_played_yet": "Aún no has jugado a {{title}}", - "close": "Cerrar", - "deleting": "Eliminando instalador…", - "playing_now": "Jugando ahora", "last_time_played": "Jugado por última vez {{period}}", - "got_it": "Entendido", + "not_played_yet": "Aún no has jugado a {{title}}", + "next_suggestion": "Siguiente sugerencia", + "play": "Jugar", + "deleting": "Eliminando instalador…", + "close": "Cerrar", + "playing_now": "Jugando ahora", "change": "Cambiar", "repacks_modal_description": "Selecciona el repack que quieres descargar", - "downloads_path": "Ruta de descarga", - "select_folder_hint": "Para cambiar la carpeta predeterminada, accede a", + "select_folder_hint": "Para cambiar la carpeta predeterminada, ve a <0>Ajustes", "download_now": "Descargar ahora", "installation_instructions": "Instrucciones de instalación", "installation_instructions_description": "Se requieren de pasos adicionales para instalar este juego", @@ -92,7 +94,15 @@ "dodi_installation_instruction": "Cuando abras el instalador de DODI, presiona la tecla hacia arriba del teclado <0 /> para iniciar el proceso de instalación:", "dont_show_it_again": "No mostrar de nuevo", "copy_to_clipboard": "Copiar", - "copied_to_clipboard": "Copiado" + "copied_to_clipboard": "Copiado", + "got_it": "Entendido", + "no_shop_details": "No se pudieron obtener detalles de la tienda.", + "download_options": "Opciones de descarga", + "download_path": "Ruta de descarga", + "previous_screenshot": "Anterior captura", + "next_screenshot": "Siguiente captura", + "screenshot": "Captura {{number}}", + "open_screenshot": "Abrir captura {{number}}" }, "activation": { "title": "Activar Hydra", @@ -118,12 +128,14 @@ "downloading_metadata": "Descargando metadatos…", "checking_files": "Verificando archivos…", "starting_download": "Iniciando descarga…", - "remove_from_list": "Eliminar", - "delete": "Eliminar instalador", - "delete_modal_description": "Esto eliminará todos los archivos de instalación de tu computadora.", - "delete_modal_title": "¿Estás seguro?", "deleting": "Eliminando instalador…", - "install": "Instalar" + "delete": "Eliminar instalador", + "remove_from_list": "Eliminar", + "delete_modal_title": "¿Estás seguro?", + "delete_modal_description": "Esto eliminará todos los archivos de instalación de tu computadora.", + "install": "Instalar", + "real_debrid": "Real Debrid", + "torrent": "Torrent" }, "settings": { "downloads_path": "Ruta de descarga", @@ -132,7 +144,16 @@ "enable_download_notifications": "Cuando se completa una descarga", "enable_repack_list_notifications": "Cuando se añade un repack nuevo", "telemetry": "Telemetría", - "telemetry_description": "Habilitar recopilación de datos de manera anónima" + "telemetry_description": "Habilitar recopilación de datos de manera anónima", + "real_debrid_api_token_label": "Token API de Real Debrid", + "quit_app_instead_hiding": "Salir de Hydra en vez de minimizar en la bandeja del sistema", + "launch_with_system": "Iniciar Hydra al inicio del sistema", + "general": "General", + "behavior": "Otros", + "enable_real_debrid": "Activar Real Debrid", + "real_debrid": "Real Debrid", + "real_debrid_api_token_hint": "Puedes obtener tu clave de API <0>aquí.", + "save_changes": "Guardar cambios" }, "notifications": { "download_complete": "Descarga completada", @@ -155,9 +176,5 @@ }, "modal": { "close": "Botón de cierre" - }, - "catalogue": { - "next_page": "Siguiente página", - "previous_page": "Pagina anterior" } } diff --git a/src/locales/ko/translation.json b/src/locales/ko/translation.json index bdf3b7e8..94a945d1 100644 --- a/src/locales/ko/translation.json +++ b/src/locales/ko/translation.json @@ -15,7 +15,7 @@ "checking_files": "{{title}} ({{percentage}} - 파일 검사 중…)", "paused": "{{title}} (일시 정지됨)", "downloading": "{{title}} ({{percentage}} - 다운로드 중…)", - "filter": "필터 라이브러리", + "filter": "라이브러리 정렬", "follow_us": "공식 SNS", "home": "홈", "discord": "공식 디스코드", @@ -54,10 +54,10 @@ "remove": "제거", "remove_from_list": "목록에서 제거", "space_left_on_disk": "여유 저장 용량 {{space}} 남음", - "eta": "왼료까지 {{eta}}", + "eta": "완료까지 {{eta}}", "downloading_metadata": "메타데이터 다운로드 중…", "checking_files": "파일 검사 중…", - "filter": "리팩들을 다음과 같이 걸러내기", + "filter": "리팩들을 다음과 같이 정렬하기", "requirements": "시스템 사양", "minimum": "최저 사양", "recommended": "권장 사양", @@ -91,8 +91,8 @@ "download_now": "지금 다운로드", "installation_instructions": "설치 방법", "installation_instructions_description": "이 게임을 설치하기 위해서는 추가적인 단계가 필요합니다", - "online_fix_instruction": "OnlineFix 게임들은 추출 시 암호가 필요합니다. 비밀번호를 물을 때 다음을 암호로 사용하기:", - "dodi_installation_instruction": "DODI 인스톨러를 열었다면 키보드의 위 방향키를 눌러 설치를 시작하세요:", + "online_fix_instruction": "OnlineFix 게임들은 압축 해제 시 암호가 필요합니다. 비밀번호를 물을 때 다음을 암호로 사용하기:", + "dodi_installation_instruction": "DODI 인스톨러를 실행했다면 키보드의 위 방향키를 눌러 설치를 시작하세요:", "dont_show_it_again": "다시 보지 않기", "copy_to_clipboard": "복사하기", "copied_to_clipboard": "복사됨", diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index 49af7e58..f7a80771 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -152,7 +152,7 @@ "behavior": "Поведение", "enable_real_debrid": "Включить Real Debrid", "real_debrid": "Real Debrid", - "real_debrid_api_token_hint": "API ключ можно получить <0>здесь/0>.", + "real_debrid_api_token_hint": "API ключ можно получить <0>здесь.", "save_changes": "Сохранить изменения" }, "notifications": { diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json index 90fac513..134e83a1 100644 --- a/src/locales/zh/translation.json +++ b/src/locales/zh/translation.json @@ -150,7 +150,7 @@ "launch_with_system": "随系统启动时运行应用程序", "enable_real_debrid": "启用 Real Debrid", "real_debrid": "Real Debrid", - "real_debrid_api_token_hint": "您可以将API密钥填入<0>这里.", + "real_debrid_api_token_hint": "您可以从<0>这里获取API密钥.", "save_changes": "保存更改" }, "notifications": { diff --git a/src/main/index.ts b/src/main/index.ts index c6738960..343caeed 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -19,6 +19,8 @@ autoUpdater.setFeedURL({ const gotTheLock = app.requestSingleInstanceLock(); if (!gotTheLock) app.quit(); +app.disableHardwareAcceleration(); + i18n.init({ resources, lng: "en", diff --git a/src/renderer/src/helpers.ts b/src/renderer/src/helpers.ts index 8fa9b943..975940b9 100644 --- a/src/renderer/src/helpers.ts +++ b/src/renderer/src/helpers.ts @@ -27,7 +27,7 @@ export const getSteamLanguage = (language: string) => { if (language.startsWith("it")) return "italian"; if (language.startsWith("hu")) return "hungarian"; if (language.startsWith("pl")) return "polish"; - if (language.startsWith("zh")) return "chinese"; + if (language.startsWith("zh")) return "schinese"; if (language.startsWith("da")) return "danish"; return "english";