diff --git a/__main__.py b/__main__.py index bded501..820bb10 100644 --- a/__main__.py +++ b/__main__.py @@ -196,7 +196,6 @@ async def main(): for event in events: # Gestion directe des événements pour le menu de langue if config.menu_state == "language_select": - from language import handle_language_menu_events if handle_language_menu_events(event, screen): config.needs_redraw = True continue diff --git a/languages/de.json b/languages/de.json new file mode 100644 index 0000000..7113dfe --- /dev/null +++ b/languages/de.json @@ -0,0 +1,176 @@ +{ + "welcome_message": "Willkommen bei RGSX", + "disclaimer_line1": "Es ist gefährlich, allein zu gehen, nimm alles, was du brauchst!", + "disclaimer_line2": "Aber lade nur Spiele herunter,", + "disclaimer_line3": "von denen du die Originale besitzt!", + "disclaimer_line4": "RGSX ist nicht verantwortlich für heruntergeladene Inhalte,", + "disclaimer_line5": "und hostet keine ROMs.", + + "loading_test_connection": "Verbindung wird getestet...", + "loading_update_check": "Prüfung auf Updates läuft... Bitte warten...", + "loading_download_data": "Spiele und Bilder werden heruntergeladen...", + "loading_download_initial": "Download des initialen Datenordners...", + "loading_extract_initial": "Extrahieren des initialen Datenordners...", + "loading_systems": "Systeme werden geladen...", + "loading_progress": "Fortschritt: {0}%", + + "error_no_internet": "Keine Internetverbindung. Überprüfe dein Netzwerk.", + "error_load_sources": "Fehler beim Laden von sources.json", + "error_controls_mapping": "Fehler beim Zuordnen der Steuerung", + "error_download_data": "Fehler beim Herunterladen/Extrahieren des Datenordners: {0}", + "error_api_key": "Achtung, du musst deinen API-Schlüssel (nur Premium) in der Datei {0} eingeben", + "error_api_key_extended": "Achtung, du musst deinen API-Schlüssel (nur Premium) in der Datei /userdata/saves/ports/rgsx/1fichierAPI.txt einfügen. Öffne die Datei in einem Texteditor und füge den API-Schlüssel ein", + "error_invalid_download_data": "Ungültige Downloaddaten", + "error_delete_sources": "Fehler beim Löschen der Datei sources.json oder Ordner", + "error_extension": "Nicht unterstützte Erweiterung oder Downloadfehler", + "error_no_download": "Keine Downloads ausstehend.", + + "platform_no_platform": "Keine Plattform", + "platform_page": "Seite {0}/{1}", + + "game_no_games": "Keine Spiele verfügbar", + "game_count": "{0} ({1} Spiele)", + "game_filter": "Aktiver Filter: {0}", + "game_search": "Filtern: {0}", + + "history_title": "Downloads ({0})", + "history_empty": "Keine Downloads im Verlauf", + "history_column_system": "System", + "history_column_game": "Spielname", + "history_column_status": "Status", + "history_status_downloading": "Download: {0}%", + "history_status_extracting": "Extrahieren: {0}%", + "history_status_completed": "Abgeschlossen", + "history_status_error": "Fehler: {0}", + "history_status_canceled": "Abgebrochen", + + "download_status": "{0}: {1}", + "download_progress": "{0}% {1} MB / {2} MB", + "download_canceled": "Download vom Benutzer abgebrochen.", + + "extension_warning_zip": "Die Datei '{0}' ist ein Archiv und Batocera unterstützt keine Archive für dieses System. Die automatische Extraktion der Datei erfolgt nach dem Download, fortfahren?", + "extension_warning_unsupported": "Die Erweiterung der Datei '{0}' wird laut der Datei info.txt von Batocera nicht unterstützt. Möchtest du fortfahren?", + + "confirm_exit": "Anwendung beenden?", + "confirm_clear_history": "Verlauf löschen?", + "confirm_redownload_cache": "Spiele-Cache erneut herunterladen?", + + "popup_redownload_success": "Download der Spiele abgeschlossen.\nBitte starte die Anwendung neu, um die Änderungen zu sehen.", + "popup_no_cache": "Kein Cache gefunden.\nBitte starte die Anwendung neu, um die Spiele zu laden.", + "popup_countdown": "Diese Nachricht schließt in {0} Sekunde{1}", + + "language_select_title": "Sprachauswahl", + "language_select_instruction": "Verwende die Pfeiltasten zum Navigieren und Enter zum Auswählen", + "language_changed": "Sprache geändert zu {0}", + + "menu_controls": "Steuerung", + "menu_remap_controls": "Steuerung neu zuordnen", + "menu_history": "Verlauf", + "menu_language": "Sprache", + "menu_accessibility": "Barrierefreiheit", + "menu_redownload_cache": "Spiele-Cache erneut herunterladen", + "menu_quit": "Beenden", + + "button_yes": "Ja", + "button_no": "Nein", + "button_validate": "Bestätigen", + + "controls_hold_message": "3 Sekunden halten für: '{0}'", + "controls_skip_message": "Drücke Esc, um zu überspringen (nur PC)", + "controls_waiting": "Warten...", + "controls_hold": "3 Sekunden halten", + + "controls_action_confirm": "Bestätigen", + "controls_action_cancel": "Abbrechen", + "controls_action_up": "Hoch", + "controls_action_down": "Runter", + "controls_action_left": "Links", + "controls_action_right": "Rechts", + "controls_action_page_up": "Vorherige Seite", + "controls_action_page_down": "Nächste Seite", + "controls_action_progress": "Fortschritt", + "controls_action_history": "Verlauf", + "controls_action_filter": "Filtern", + "controls_action_delete": "Löschen", + "controls_action_space": "Leerzeichen", + "controls_action_start": "Hilfe / Einstellungen", + + "controls_desc_confirm": "Bestätigen (z.B.: A, Enter)", + "controls_desc_cancel": "Abbrechen/Zurück (z.B.: B, Rücktaste)", + "controls_desc_up": "Nach oben navigieren", + "controls_desc_down": "Nach unten navigieren", + "controls_desc_left": "Nach links navigieren", + "controls_desc_right": "Nach rechts navigieren", + "controls_desc_page_up": "Vorherige Seite/Schnelles Scrollen nach oben (z.B.: BildAuf, LB)", + "controls_desc_page_down": "Nächste Seite/Schnelles Scrollen nach unten (z.B.: BildAb, RB)", + "controls_desc_progress": "Fortschritt anzeigen (z.B.: X)", + "controls_desc_history": "Verlauf öffnen (z.B.: H, Y)", + "controls_desc_filter": "Filter öffnen (z.B.: F, Select)", + "controls_desc_delete": "Zeichen löschen (z.B.: LT, Entf)", + "controls_desc_space": "Leerzeichen hinzufügen (z.B.: RT, Leertaste)", + "controls_desc_start": "Pausenmenü öffnen (z.B.: Start, AltGr)", + + "footer_version": "RGSX v{0} - {1}: Optionen - {2}: Verlauf - {3}: Filtern", + + "action_retry": "Wiederholen", + "action_quit": "Beenden", + "action_select": "Auswählen", + "action_history": "Verlauf", + "action_progress": "Fortschritt", + "action_download": "Herunterladen", + "action_filter": "Filtern", + "action_cancel": "Abbrechen", + "action_back": "Zurück", + "action_navigate": "Navigieren", + "action_page": "Seite", + "action_cancel_download": "Download abbrechen", + "action_background": "Hintergrund", + "action_confirm": "Bestätigen", + "action_redownload": "Erneut herunterladen", + "action_clear_history": "Verlauf löschen", + + "network_checking_updates": "Updates werden geprüft...", + "network_update_available": "Update verfügbar: {0}", + "network_extracting_update": "Update wird extrahiert...", + "network_update_completed": "Update abgeschlossen", + "network_update_success": "Update auf {0} erfolgreich abgeschlossen. Bitte starte die Anwendung neu.", + "network_update_success_message": "Update erfolgreich abgeschlossen", + "network_no_update_available": "Keine Updates verfügbar", + "network_update_error": "Fehler während des Updates: {0}", + "network_download_extract_ok": "Download und Extraktion von {0} erfolgreich", + "network_check_update_error": "Fehler bei der Überprüfung von Updates: {0}", + "network_extraction_failed": "Fehler beim Extrahieren des Updates: {0}", + "network_extraction_partial": "Extraktion erfolgreich, aber einige Dateien wurden aufgrund von Fehlern übersprungen: {0}", + "network_extraction_success": "Extraktion erfolgreich", + "network_zip_extraction_error": "Fehler beim Extrahieren des ZIP {0}: {1}", + "network_permission_error": "Keine Schreibberechtigung für {0}", + "network_file_not_found": "Die Datei {0} existiert nicht", + "network_cannot_get_filename": "Dateiname konnte nicht abgerufen werden", + "network_cannot_get_download_url": "Download-URL konnte nicht abgerufen werden", + "download_initializing": "Initialisierung läuft...", + "accessibility_font_size": "Schriftgröße: {0}", + "confirm_cancel_download": "Laufenden Download abbrechen?", + "controls_help_title": "Hilfe zu Steuerung", + "controls_category_navigation": "Navigation", + "controls_category_main_actions": "Hauptaktionen", + "controls_category_downloads": "Downloads", + "controls_category_search": "Suche", + "controls_navigation": "Navigation", + "controls_pages": "Seiten", + "controls_confirm_select": "Bestätigen/Auswählen", + "controls_cancel_back": "Abbrechen/Zurück", + "controls_history": "Verlauf", + "controls_clear_history": "Verlauf löschen", + "controls_filter_search": "Filtern/Suchen", + "network_download_failed": "Download nach {0} Versuchen fehlgeschlagen", + "network_api_error": "Fehler bei der API-Anfrage, der Schlüssel könnte falsch sein: {0}", + "network_download_error": "Downloadfehler {0}: {1}", + "network_download_ok": "Download erfolgreich: {0}", + + "utils_extracted": "Extrahiert: {0}", + "utils_corrupt_zip": "Beschädigtes ZIP-Archiv: {0}", + "utils_permission_denied": "Berechtigung während der Extraktion verweigert: {0}", + "utils_extraction_failed": "Extraktion fehlgeschlagen: {0}", + "utils_unrar_unavailable": "Befehl unrar nicht verfügbar", + "utils_rar_list_failed": "Fehler beim Auflisten der RAR-Dateien: {0}" +} \ No newline at end of file diff --git a/languages/es.json b/languages/es.json new file mode 100644 index 0000000..b598bd3 --- /dev/null +++ b/languages/es.json @@ -0,0 +1,176 @@ +{ + "welcome_message": "Bienvenido a RGSX", + "disclaimer_line1": "¡Es peligroso ir solo, toma todo lo que necesites!", + "disclaimer_line2": "Pero solo descarga juegos", + "disclaimer_line3": "de los que poseas los originales.", + "disclaimer_line4": "RGSX no es responsable del contenido descargado,", + "disclaimer_line5": "y no aloja ROMs.", + + "loading_test_connection": "Probando conexión...", + "loading_update_check": "Verificando actualización en curso... Por favor, espera...", + "loading_download_data": "Descargando juegos e imágenes...", + "loading_download_initial": "Descargando la carpeta de datos inicial...", + "loading_extract_initial": "Extrayendo la carpeta de datos inicial...", + "loading_systems": "Cargando sistemas...", + "loading_progress": "Progreso: {0}%", + + "error_no_internet": "Sin conexión a Internet. Verifica tu red.", + "error_load_sources": "Error al cargar sources.json", + "error_controls_mapping": "Error al mapear los controles", + "error_download_data": "Error al descargar/extraer la carpeta de datos: {0}", + "error_api_key": "Atención, debes ingresar tu clave API (solo premium) en el archivo {0}", + "error_api_key_extended": "Atención, debes ingresar tu clave API (solo premium) en el archivo /userdata/saves/ports/rgsx/1fichierAPI.txt, abrirlo en un editor de texto y pegar la clave API", + "error_invalid_download_data": "Datos de descarga no válidos", + "error_delete_sources": "Error al eliminar el archivo sources.json o carpetas", + "error_extension": "Extensión no soportada o error de descarga", + "error_no_download": "No hay descargas pendientes.", + + "platform_no_platform": "Ninguna plataforma", + "platform_page": "Página {0}/{1}", + + "game_no_games": "No hay juegos disponibles", + "game_count": "{0} ({1} juegos)", + "game_filter": "Filtro activo: {0}", + "game_search": "Filtrar: {0}", + + "history_title": "Descargas ({0})", + "history_empty": "No hay descargas en el historial", + "history_column_system": "Sistema", + "history_column_game": "Nombre del juego", + "history_column_status": "Estado", + "history_status_downloading": "Descargando: {0}%", + "history_status_extracting": "Extrayendo: {0}%", + "history_status_completed": "Completado", + "history_status_error": "Error: {0}", + "history_status_canceled": "Cancelado", + + "download_status": "{0}: {1}", + "download_progress": "{0}% {1} MB / {2} MB", + "download_canceled": "Descarga cancelada por el usuario.", + + "extension_warning_zip": "El archivo '{0}' es un archivo comprimido y Batocera no soporta archivos comprimidos para este sistema. La extracción automática del archivo se realizará después de la descarga, ¿continuar?", + "extension_warning_unsupported": "La extensión del archivo '{0}' no es soportada por Batocera según el archivo info.txt. ¿Deseas continuar?", + + "confirm_exit": "¿Salir de la aplicación?", + "confirm_clear_history": "¿Vaciar el historial?", + "confirm_redownload_cache": "¿Volver a descargar la caché de juegos?", + + "popup_redownload_success": "Descarga de juegos completada.\nPor favor, reinicia la aplicación para ver los cambios.", + "popup_no_cache": "No se encontró caché.\nPor favor, reinicia la aplicación para cargar los juegos.", + "popup_countdown": "Este mensaje se cerrará en {0} segundo{1}", + + "language_select_title": "Selección de idioma", + "language_select_instruction": "Usa las flechas para navegar y Enter para seleccionar", + "language_changed": "Idioma cambiado a {0}", + + "menu_controls": "Controles", + "menu_remap_controls": "Remapear controles", + "menu_history": "Historial", + "menu_language": "Idioma", + "menu_accessibility": "Accesibilidad", + "menu_redownload_cache": "Volver a descargar la caché de juegos", + "menu_quit": "Salir", + + "button_yes": "Sí", + "button_no": "No", + "button_validate": "Validar", + + "controls_hold_message": "Mantén presionado durante 3s para: '{0}'", + "controls_skip_message": "Presiona Esc para omitir (solo PC)", + "controls_waiting": "Esperando...", + "controls_hold": "Mantener 3s", + + "controls_action_confirm": "Confirmar", + "controls_action_cancel": "Cancelar", + "controls_action_up": "Arriba", + "controls_action_down": "Abajo", + "controls_action_left": "Izquierda", + "controls_action_right": "Derecha", + "controls_action_page_up": "Página anterior", + "controls_action_page_down": "Página siguiente", + "controls_action_progress": "Progreso", + "controls_action_history": "Historial", + "controls_action_filter": "Filtrar", + "controls_action_delete": "Eliminar", + "controls_action_space": "Espacio", + "controls_action_start": "Ayuda / Configuración", + + "controls_desc_confirm": "Validar (ej: A, Enter)", + "controls_desc_cancel": "Cancelar/Volver (ej: B, Retroceso)", + "controls_desc_up": "Navegar hacia arriba", + "controls_desc_down": "Navegar hacia abajo", + "controls_desc_left": "Navegar a izquierda", + "controls_desc_right": "Navegar a derecha", + "controls_desc_page_up": "Página anterior/Desplazamiento rápido arriba (ej: RePág, LB)", + "controls_desc_page_down": "Página siguiente/Desplazamiento rápido abajo (ej: AvPág, RB)", + "controls_desc_progress": "Ver progreso (ej: X)", + "controls_desc_history": "Abrir historial (ej: H, Y)", + "controls_desc_filter": "Abrir filtro (ej: F, Select)", + "controls_desc_delete": "Eliminar carácter (ej: LT, Supr)", + "controls_desc_space": "Añadir espacio (ej: RT, Espacio)", + "controls_desc_start": "Abrir el menú de pausa (ej: Start, AltGr)", + + "footer_version": "RGSX v{0} - {1} : Opciones - {2} : Historial - {3} : Filtrar", + + "action_retry": "Reintentar", + "action_quit": "Salir", + "action_select": "Seleccionar", + "action_history": "Historial", + "action_progress": "Progreso", + "action_download": "Descargar", + "action_filter": "Filtrar", + "action_cancel": "Cancelar", + "action_back": "Volver", + "action_navigate": "Navegar", + "action_page": "Página", + "action_cancel_download": "Cancelar la descarga", + "action_background": "Fondo", + "action_confirm": "Confirmar", + "action_redownload": "Volver a descargar", + "action_clear_history": "Vaciar el historial", + + "network_checking_updates": "Verificando actualizaciones...", + "network_update_available": "Actualización disponible: {0}", + "network_extracting_update": "Extrayendo la actualización...", + "network_update_completed": "Actualización completada", + "network_update_success": "Actualización a {0} completada con éxito. Por favor, reinicia la aplicación.", + "network_update_success_message": "Actualización completada con éxito", + "network_no_update_available": "No hay actualizaciones disponibles", + "network_update_error": "Error durante la actualización: {0}", + "network_download_extract_ok": "Descarga y extracción exitosa de {0}", + "network_check_update_error": "Error al verificar actualizaciones: {0}", + "network_extraction_failed": "Error al extraer la actualización: {0}", + "network_extraction_partial": "Extracción exitosa, pero algunos archivos fueron omitidos debido a errores: {0}", + "network_extraction_success": "Extracción exitosa", + "network_zip_extraction_error": "Error al extraer el ZIP {0}: {1}", + "network_permission_error": "Sin permiso de escritura en {0}", + "network_file_not_found": "El archivo {0} no existe", + "network_cannot_get_filename": "No se pudo obtener el nombre del archivo", + "network_cannot_get_download_url": "No se pudo obtener la URL de descarga", + "download_initializing": "Inicializando...", + "accessibility_font_size": "Tamaño de fuente: {0}", + "confirm_cancel_download": "¿Cancelar la descarga en curso?", + "controls_help_title": "Ayuda de controles", + "controls_category_navigation": "Navegación", + "controls_category_main_actions": "Acciones principales", + "controls_category_downloads": "Descargas", + "controls_category_search": "Búsqueda", + "controls_navigation": "Navegación", + "controls_pages": "Páginas", + "controls_confirm_select": "Confirmar/Seleccionar", + "controls_cancel_back": "Cancelar/Volver", + "controls_history": "Historial", + "controls_clear_history": "Vaciar historial", + "controls_filter_search": "Filtrar/Buscar", + "network_download_failed": "Error en la descarga tras {0} intentos", + "network_api_error": "Error en la solicitud de API, la clave puede ser incorrecta: {0}", + "network_download_error": "Error en la descarga {0}: {1}", + "network_download_ok": "Descarga exitosa: {0}", + + "utils_extracted": "Extraído: {0}", + "utils_corrupt_zip": "Archivo ZIP corrupto: {0}", + "utils_permission_denied": "Permiso denegado durante la extracción: {0}", + "utils_extraction_failed": "Error en la extracción: {0}", + "utils_unrar_unavailable": "Comando unrar no disponible", + "utils_rar_list_failed": "Error al listar los archivos RAR: {0}" +} \ No newline at end of file