v2.3.1.5 (2025.11.04)

- update integrated roms info scraper to use tgdb api instead of https web requests
- Add Docker support (web server)
- Add region filters (web server)
- Add one-ROM-per-game filter with region priority (web server)
- Refactor code structure in RGSX Web to improved readability and maintainability (js, css, html separated)
- update language files and correct a bug that crash
when changing language, or changing filter
This commit is contained in:
skymike03
2025-11-04 19:25:43 +01:00
parent 40d0826a6b
commit 798ef13dd3
9 changed files with 393 additions and 369 deletions

View File

@@ -13,7 +13,7 @@ except Exception:
pygame = None # type: ignore
# Version actuelle de l'application
app_version = "2.3.1.4"
app_version = "2.3.1.5"
def get_application_root():

View File

@@ -25,7 +25,7 @@ from rgsx_settings import (
get_allow_unknown_extensions, set_display_grid, get_font_family, set_font_family,
get_show_unsupported_platforms, set_show_unsupported_platforms,
set_allow_unknown_extensions, get_hide_premium_systems, set_hide_premium_systems,
get_sources_mode, set_sources_mode, set_symlink_option, get_symlink_option
get_sources_mode, set_sources_mode, set_symlink_option, get_symlink_option, load_rgsx_settings, save_rgsx_settings
)
from accessibility import save_accessibility_settings
from scraper import get_game_metadata, download_image_to_surface

View File

@@ -357,5 +357,9 @@
"web_filter_hide_non_release": "Demos/Betas/Protos ausblenden",
"web_filter_regex_mode": "Regex-Suche aktivieren",
"web_filter_one_rom_per_game": "Eine ROM pro Spiel",
"web_filter_configure_priority": "Regions-Prioritätsreihenfolge konfigurieren"
"web_filter_configure_priority": "Regions-Prioritätsreihenfolge konfigurieren",
"filter_all": "Alles auswählen",
"filter_none": "Alles abwählen",
"filter_apply": "Filter anwenden",
"filter_back": "Zurück"
}

View File

@@ -93,7 +93,7 @@
"support_dialog_message": "A support file has been created with all your configuration and log files.\n\nFile: {0}\n\nTo get help:\n1. Join the RGSX Discord server\n2. Describe your issue\n3. Share this ZIP file\n\nPress {1} to return to the menu.",
"support_dialog_error": "Error generating support file:\n{0}\n\nPress {1} to return to the menu.",
"controls_action_history": "History / Downloads",
"controls_action_close_history": "Close History",
"controls_action_close_history": "Close History",
"network_checking_updates": "Update in progress please wait...",
"network_update_available": "Update available: {0}",
"network_extracting_update": "Extracting update...",
@@ -174,188 +174,192 @@
"menu_games": "Games",
"api_keys_hint_manage": "Put your keys in {path}",
"api_key_empty_suffix": "empty",
"menu_hide_premium_systems": "Hide Premium systems"
,"popup_hide_premium_on": "Premium systems hidden"
,"popup_hide_premium_off": "Premium systems visible"
,"submenu_display_font_family": "Font"
,"popup_font_family_changed": "Font changed: {0}",
"menu_hide_premium_systems": "Hide Premium systems",
"popup_hide_premium_on": "Premium systems hidden",
"popup_hide_premium_off": "Premium systems visible",
"submenu_display_font_family": "Font",
"popup_font_family_changed": "Font changed: {0}",
"instruction_pause_language": "Change the interface language",
"instruction_pause_controls": "View control layout or start remapping",
"instruction_pause_display": "Configure layout, fonts and system visibility",
"instruction_pause_games": "Open history, switch source or refresh list",
"instruction_pause_settings": "Music, symlink option & API keys status",
"instruction_pause_restart": "Restart RGSX to reload configuration"
,"instruction_pause_support": "Generate a diagnostic ZIP file for support"
,"instruction_pause_quit": "Exit the RGSX application"
,"instruction_controls_help": "Show full controller & keyboard reference"
,"instruction_controls_remap": "Change button / key bindings"
,"instruction_generic_back": "Return to the previous menu"
,"instruction_display_layout": "Cycle grid dimensions (columns × rows)"
,"instruction_display_font_size": "Adjust text scale for readability"
,"instruction_display_font_family": "Switch between available font families"
,"instruction_display_show_unsupported": "Show/hide systems not defined in es_systems.cfg"
,"instruction_display_unknown_ext": "Enable/disable warning for file extensions absent from es_systems.cfg"
,"instruction_display_hide_premium": "Hide systems requiring premium access via API: {providers}"
,"instruction_display_filter_platforms": "Manually choose which systems are visible"
,"instruction_games_history": "List past downloads and statuses"
,"instruction_games_source_mode": "Switch between RGSX or your own custom list source"
,"instruction_games_update_cache": "Redownload & refresh current games list"
,"instruction_settings_music": "Enable or disable background music playback"
,"instruction_settings_symlink": "Toggle using filesystem symlinks for installs"
,"instruction_settings_api_keys": "See detected premium provider API keys"
,"instruction_settings_web_service": "Enable/disable web service auto-start at boot"
,"settings_web_service": "Web Service at Boot"
,"settings_web_service_enabled": "Enabled"
,"settings_web_service_disabled": "Disabled"
,"settings_web_service_enabling": "Enabling web service..."
,"settings_web_service_disabling": "Disabling web service..."
,"settings_web_service_success_enabled": "Web service enabled at boot"
,"settings_web_service_success_disabled": "Web service disabled at boot"
,"settings_web_service_error": "Error: {0}"
,"controls_desc_confirm": "Confirm (e.g. A/Cross)"
,"controls_desc_cancel": "Cancel/Back (e.g. B/Circle)"
,"controls_desc_up": "UP ↑"
,"controls_desc_down": "DOWN ↓"
,"controls_desc_left": "LEFT ←"
,"controls_desc_right": "RIGHT →"
,"controls_desc_page_up": "Fast scroll up (e.g. LT/L2)"
,"controls_desc_page_down": "Fast scroll down (e.g. RT/R2)"
,"controls_desc_history": "Open history (e.g. Y/Triangle)"
,"controls_desc_clear_history": "Downloads: Multi-select / History: Clear (e.g. X/Square)"
,"controls_desc_filter": "Filter mode: Open/Confirm (e.g. Select)"
,"controls_desc_delete": "Filter mode: Delete character (e.g. LB/L1)"
,"controls_desc_space": "Filter mode: Add space (e.g. RB/R1)"
,"controls_desc_start": "Open pause menu (e.g. Start)"
,"controls_mapping_title": "Controls mapping"
,"controls_mapping_instruction": "Hold to confirm the mapping:"
,"controls_mapping_waiting": "Waiting for a key or button..."
,"controls_mapping_press": "Press a key or a button"
,"status_already_present": "Already Present"
,"footer_joystick": "Joystick: {0}"
,"history_game_options_title": "Game Options"
,"history_option_download_folder": "Locate file"
,"history_option_extract_archive": "Extract archive"
,"history_option_scraper": "Scrape metadata"
,"history_option_delete_game": "Delete game"
,"history_option_error_info": "Error details"
,"history_option_retry": "Retry download"
,"history_option_back": "Back"
,"history_folder_path_label": "Destination path:"
,"history_scraper_not_implemented": "Scraper not yet implemented"
,"history_confirm_delete": "Delete this game from disk?"
,"history_file_not_found": "File not found"
,"history_extracting": "Extracting..."
,"history_extracted": "Extracted"
,"history_delete_success": "Game deleted successfully"
,"history_delete_error": "Error deleting game: {0}"
,"history_error_details_title": "Error Details"
,"history_no_error_message": "No error message available"
,"web_title": "RGSX Web Interface"
,"web_tab_platforms": "Platforms List"
,"web_tab_downloads": "Downloads"
,"web_tab_history": "History"
,"web_tab_settings": "Settings"
,"web_tab_update": "Update games list"
,"web_tooltip_platforms": "Platforms list"
,"web_tooltip_downloads": "Downloads"
,"web_tooltip_history": "History"
,"web_tooltip_settings": "Settings"
,"web_tooltip_update": "Update games list"
,"web_search_platform": "Search platforms or games..."
,"web_search_game": "Search a game..."
,"web_search_results": "results for"
,"web_no_results": "No results found"
,"web_platforms": "Platforms"
,"web_games": "Games"
,"web_error_search": "Search error"
,"web_back_platforms": "Back to platforms"
,"web_back": "Back"
,"web_game_count": "{0} ({1} games)"
,"web_download": "Download"
,"web_cancel": "Cancel"
,"web_download_canceled": "Download canceled"
,"web_confirm_cancel": "Do you really want to cancel this download?"
,"web_update_title": "Updating games list..."
,"web_update_message": "Clearing cache and reloading data..."
,"web_update_wait": "This may take 10-30 seconds"
,"web_error": "Error"
,"web_error_unknown": "Unknown error"
,"web_error_update": "Error updating games list: {0}"
,"web_error_download": "Error: {0}"
,"web_history_clear": "Clear History"
,"web_history_cleared": "History cleared successfully!"
,"web_error_clear_history": "Error clearing history: {0}"
,"web_settings_title": "Info & Settings"
,"web_settings_roms_folder": "Custom ROMs folder"
,"web_settings_roms_placeholder": "Leave empty for default"
,"web_settings_browse": "Browse"
,"web_settings_language": "Language"
,"web_settings_font_scale": "Font scale"
,"web_settings_grid": "Grid layout"
,"web_settings_font_family": "Font family"
,"web_settings_music": "Music"
,"web_settings_symlink": "Symlink mode"
,"web_settings_source_mode": "Games source"
,"web_settings_custom_url": "Custom URL"
,"web_settings_custom_url_placeholder": "Let empty for local /saves/ports/rgsx/games.zip or use a direct URL like https://example.com/games.zip"
,"web_settings_save": "Save Settings"
,"web_settings_saved": "Settings saved successfully!"
,"web_settings_saved_restart": "Settings saved successfully!\\n\\n⚠ Some settings require a server restart:\\n- Custom ROMs folder\\n- Language\\n\\nPlease restart the web server to apply these changes."
,"web_error_save_settings": "Error saving settings: {0}"
,"web_browse_title": "Browse Directories"
,"web_browse_select_drive": "Select a drive..."
,"web_browse_drives": "Drives"
,"web_browse_parent": "Parent"
,"web_browse_select": "Select this folder"
,"web_browse_cancel": "Cancel"
,"web_browse_empty": "No subdirectories found"
,"web_browse_alert_restart": "Important: You need to SAVE the settings and then RESTART the web server/application for the custom ROMs folder to take effect.\\n\\n📝 Steps:\\n1. Click 'Save Settings' button below\\n2. Stop the web server (Ctrl+C in terminal)\\n3. Restart the web server\\n\\nSelected path: {0}"
,"web_error_browse": "Error browsing directories: {0}"
,"web_loading_platforms": "Loading platforms..."
,"web_loading_games": "Loading games..."
,"web_no_platforms": "No platforms found"
,"web_no_downloads": "No downloads in progress"
,"web_history_empty": "No completed downloads"
,"web_history_platform": "Platform"
,"web_history_size": "Size"
,"web_history_status_completed": "Completed"
,"web_history_status_error": "Error"
,"web_settings_os": "Operating System"
,"web_settings_platforms_count": "Number of platforms"
,"web_settings_show_unsupported": "Show unsupported platforms (system not found in es_systems.cfg)"
,"web_settings_allow_unknown": "Allow unknown extensions (don't show warnings)"
,"web_restart_confirm_title": "Restart application?"
,"web_restart_confirm_message": "Settings have been saved. Do you want to restart the application now to apply the changes?"
,"web_restart_yes": "Yes, restart"
,"web_restart_no": "No, later"
,"web_restart_success": "Restarting..."
,"web_restart_error": "Restart error: {0}"
,"web_support": "Support"
,"web_support_title": "📦 Support File Generated"
,"web_support_message": "Support file created successfully!\\n\\n📁 Contents:\\n• Controls configuration\\n• Download history\\n• RGSX settings\\n• Application logs\\n• Web server logs\\n\\n💬 To get help:\\n1. Join RGSX Discord\\n2. Describe your issue\\n3. Share this ZIP file\\n\\nDownload will start..."
,"web_support_generating": "Generating support file..."
,"web_support_download": "Download support file"
,"web_support_error": "Error generating support file: {0}"
,"web_tab_queue": "Queue"
,"web_tooltip_queue": "Download queue"
,"web_queue_active_download": "⏳ A download is currently active"
,"web_queue_no_active": "✓ No active download"
,"web_queue_title": "Download Queue"
,"web_queue_empty": "No items in queue"
,"web_queue_clear": "Clear Queue"
,"web_queue_cleared": "Queue cleared successfully!"
,"web_confirm_remove_queue": "Remove this item from the queue?"
,"web_confirm_clear_queue": "Clear the entire queue?"
,"web_remove": "Remove"
,"web_loading": "Loading..."
,"web_sort": "Sort by"
,"web_sort_name_asc": "A-Z (Name)"
,"web_sort_name_desc": "Z-A (Name)"
,"web_sort_size_asc": "Size +- (Small first)"
,"web_sort_size_desc": "Size -+ (Large first)"
,"web_filter_region": "Region"
,"web_filter_hide_non_release": "Hide Demos/Betas/Protos"
,"web_filter_regex_mode": "Enable Regex Search"
,"web_filter_one_rom_per_game": "One ROM Per Game"
,"web_filter_configure_priority": "Configure region priority order"
"instruction_pause_restart": "Restart RGSX to reload configuration",
"instruction_pause_support": "Generate a diagnostic ZIP file for support",
"instruction_pause_quit": "Exit the RGSX application",
"instruction_controls_help": "Show full controller & keyboard reference",
"instruction_controls_remap": "Change button / key bindings",
"instruction_generic_back": "Return to the previous menu",
"instruction_display_layout": "Cycle grid dimensions (columns × rows)",
"instruction_display_font_size": "Adjust text scale for readability",
"instruction_display_font_family": "Switch between available font families",
"instruction_display_show_unsupported": "Show/hide systems not defined in es_systems.cfg",
"instruction_display_unknown_ext": "Enable/disable warning for file extensions absent from es_systems.cfg",
"instruction_display_hide_premium": "Hide systems requiring premium access via API: {providers}",
"instruction_display_filter_platforms": "Manually choose which systems are visible",
"instruction_games_history": "List past downloads and statuses",
"instruction_games_source_mode": "Switch between RGSX or your own custom list source",
"instruction_games_update_cache": "Redownload & refresh current games list",
"instruction_settings_music": "Enable or disable background music playback",
"instruction_settings_symlink": "Toggle using filesystem symlinks for installs",
"instruction_settings_api_keys": "See detected premium provider API keys",
"instruction_settings_web_service": "Enable/disable web service auto-start at boot",
"settings_web_service": "Web Service at Boot",
"settings_web_service_enabled": "Enabled",
"settings_web_service_disabled": "Disabled",
"settings_web_service_enabling": "Enabling web service...",
"settings_web_service_disabling": "Disabling web service...",
"settings_web_service_success_enabled": "Web service enabled at boot",
"settings_web_service_success_disabled": "Web service disabled at boot",
"settings_web_service_error": "Error: {0}",
"controls_desc_confirm": "Confirm (e.g. A/Cross)",
"controls_desc_cancel": "Cancel/Back (e.g. B/Circle)",
"controls_desc_up": "UP ↑",
"controls_desc_down": "DOWN ↓",
"controls_desc_left": "LEFT ←",
"controls_desc_right": "RIGHT →",
"controls_desc_page_up": "Fast scroll up (e.g. LT/L2)",
"controls_desc_page_down": "Fast scroll down (e.g. RT/R2)",
"controls_desc_history": "Open history (e.g. Y/Triangle)",
"controls_desc_clear_history": "Downloads: Multi-select / History: Clear (e.g. X/Square)",
"controls_desc_filter": "Filter mode: Open/Confirm (e.g. Select)",
"controls_desc_delete": "Filter mode: Delete character (e.g. LB/L1)",
"controls_desc_space": "Filter mode: Add space (e.g. RB/R1)",
"controls_desc_start": "Open pause menu (e.g. Start)",
"controls_mapping_title": "Controls mapping",
"controls_mapping_instruction": "Hold to confirm the mapping:",
"controls_mapping_waiting": "Waiting for a key or button...",
"controls_mapping_press": "Press a key or a button",
"status_already_present": "Already Present",
"footer_joystick": "Joystick: {0}",
"history_game_options_title": "Game Options",
"history_option_download_folder": "Locate file",
"history_option_extract_archive": "Extract archive",
"history_option_scraper": "Scrape metadata",
"history_option_delete_game": "Delete game",
"history_option_error_info": "Error details",
"history_option_retry": "Retry download",
"history_option_back": "Back",
"history_folder_path_label": "Destination path:",
"history_scraper_not_implemented": "Scraper not yet implemented",
"history_confirm_delete": "Delete this game from disk?",
"history_file_not_found": "File not found",
"history_extracting": "Extracting...",
"history_extracted": "Extracted",
"history_delete_success": "Game deleted successfully",
"history_delete_error": "Error deleting game: {0}",
"history_error_details_title": "Error Details",
"history_no_error_message": "No error message available",
"web_title": "RGSX Web Interface",
"web_tab_platforms": "Platforms List",
"web_tab_downloads": "Downloads",
"web_tab_history": "History",
"web_tab_settings": "Settings",
"web_tab_update": "Update games list",
"web_tooltip_platforms": "Platforms list",
"web_tooltip_downloads": "Downloads",
"web_tooltip_history": "History",
"web_tooltip_settings": "Settings",
"web_tooltip_update": "Update games list",
"web_search_platform": "Search platforms or games...",
"web_search_game": "Search a game...",
"web_search_results": "results for",
"web_no_results": "No results found",
"web_platforms": "Platforms",
"web_games": "Games",
"web_error_search": "Search error",
"web_back_platforms": "Back to platforms",
"web_back": "Back",
"web_game_count": "{0} ({1} games)",
"web_download": "Download",
"web_cancel": "Cancel",
"web_download_canceled": "Download canceled",
"web_confirm_cancel": "Do you really want to cancel this download?",
"web_update_title": "Updating games list...",
"web_update_message": "Clearing cache and reloading data...",
"web_update_wait": "This may take 10-30 seconds",
"web_error": "Error",
"web_error_unknown": "Unknown error",
"web_error_update": "Error updating games list: {0}",
"web_error_download": "Error: {0}",
"web_history_clear": "Clear History",
"web_history_cleared": "History cleared successfully!",
"web_error_clear_history": "Error clearing history: {0}",
"web_settings_title": "Info & Settings",
"web_settings_roms_folder": "Custom ROMs folder",
"web_settings_roms_placeholder": "Leave empty for default",
"web_settings_browse": "Browse",
"web_settings_language": "Language",
"web_settings_font_scale": "Font scale",
"web_settings_grid": "Grid layout",
"web_settings_font_family": "Font family",
"web_settings_music": "Music",
"web_settings_symlink": "Symlink mode",
"web_settings_source_mode": "Games source",
"web_settings_custom_url": "Custom URL",
"web_settings_custom_url_placeholder": "Let empty for local /saves/ports/rgsx/games.zip or use a direct URL like https://example.com/games.zip",
"web_settings_save": "Save Settings",
"web_settings_saved": "Settings saved successfully!",
"web_settings_saved_restart": "Settings saved successfully!\\n\\n⚠ Some settings require a server restart:\\n- Custom ROMs folder\\n- Language\\n\\nPlease restart the web server to apply these changes.",
"web_error_save_settings": "Error saving settings: {0}",
"web_browse_title": "Browse Directories",
"web_browse_select_drive": "Select a drive...",
"web_browse_drives": "Drives",
"web_browse_parent": "Parent",
"web_browse_select": "Select this folder",
"web_browse_cancel": "Cancel",
"web_browse_empty": "No subdirectories found",
"web_browse_alert_restart": "Important: You need to SAVE the settings and then RESTART the web server/application for the custom ROMs folder to take effect.\\n\\n📝 Steps:\\n1. Click 'Save Settings' button below\\n2. Stop the web server (Ctrl+C in terminal)\\n3. Restart the web server\\n\\nSelected path: {0}",
"web_error_browse": "Error browsing directories: {0}",
"web_loading_platforms": "Loading platforms...",
"web_loading_games": "Loading games...",
"web_no_platforms": "No platforms found",
"web_no_downloads": "No downloads in progress",
"web_history_empty": "No completed downloads",
"web_history_platform": "Platform",
"web_history_size": "Size",
"web_history_status_completed": "Completed",
"web_history_status_error": "Error",
"web_settings_os": "Operating System",
"web_settings_platforms_count": "Number of platforms",
"web_settings_show_unsupported": "Show unsupported platforms (system not found in es_systems.cfg)",
"web_settings_allow_unknown": "Allow unknown extensions (don't show warnings)",
"web_restart_confirm_title": "Restart application?",
"web_restart_confirm_message": "Settings have been saved. Do you want to restart the application now to apply the changes?",
"web_restart_yes": "Yes, restart",
"web_restart_no": "No, later",
"web_restart_success": "Restarting...",
"web_restart_error": "Restart error: {0}",
"web_support": "Support",
"web_support_title": "📦 Support File Generated",
"web_support_message": "Support file created successfully!\\n\\n📁 Contents:\\n• Controls configuration\\n• Download history\\n• RGSX settings\\n• Application logs\\n• Web server logs\\n\\n💬 To get help:\\n1. Join RGSX Discord\\n2. Describe your issue\\n3. Share this ZIP file\\n\\nDownload will start...",
"web_support_generating": "Generating support file...",
"web_support_download": "Download support file",
"web_support_error": "Error generating support file: {0}",
"web_tab_queue": "Queue",
"web_tooltip_queue": "Download queue",
"web_queue_active_download": "⏳ A download is currently active",
"web_queue_no_active": "✓ No active download",
"web_queue_title": "Download Queue",
"web_queue_empty": "No items in queue",
"web_queue_clear": "Clear Queue",
"web_queue_cleared": "Queue cleared successfully!",
"web_confirm_remove_queue": "Remove this item from the queue?",
"web_confirm_clear_queue": "Clear the entire queue?",
"web_remove": "Remove",
"web_loading": "Loading...",
"web_sort": "Sort by",
"web_sort_name_asc": "A-Z (Name)",
"web_sort_name_desc": "Z-A (Name)",
"web_sort_size_asc": "Size +- (Small first)",
"web_sort_size_desc": "Size -+ (Large first)",
"web_filter_region": "Region",
"web_filter_hide_non_release": "Hide Demos/Betas/Protos",
"web_filter_regex_mode": "Enable Regex Search",
"web_filter_one_rom_per_game": "One ROM Per Game",
"web_filter_configure_priority": "Configure region priority order",
"filter_all": "Check All",
"filter_none": "Uncheck All",
"filter_apply": "Apply Filter",
"filter_back": "Back"
}

View File

@@ -357,5 +357,9 @@
"web_filter_hide_non_release": "Ocultar Demos/Betas/Protos",
"web_filter_regex_mode": "Activar búsqueda Regex",
"web_filter_one_rom_per_game": "Una ROM por juego",
"web_filter_configure_priority": "Configurar orden de prioridad de regiones"
"web_filter_configure_priority": "Configurar orden de prioridad de regiones",
"filter_all": "Marcar todo",
"filter_none": "Desmarcar todo",
"filter_apply": "Aplicar filtro",
"filter_back": "Volver"
}

View File

@@ -176,186 +176,190 @@
"api_key_empty_suffix": "vide",
"menu_hide_premium_systems": "Masquer systèmes Premium",
"popup_hide_premium_on": "Systèmes Premium masqués",
"popup_hide_premium_off": "Systèmes Premium visibles"
,"submenu_display_font_family": "Police"
,"popup_font_family_changed": "Police changée : {0}"
,"instruction_pause_language": "Changer la langue de l'interface"
,"instruction_pause_controls": "Afficher la configuration ou remapper"
,"instruction_pause_display": "Agencer l'affichage, polices et systèmes visibles"
,"instruction_pause_games": "Historique, source de liste ou rafraîchissement"
,"instruction_pause_settings": "Musique, option symlink & statut des clés API"
,"instruction_pause_restart": "Redémarrer RGSX pour recharger la configuration"
,"instruction_pause_support": "Générer un fichier ZIP de diagnostic pour l'assistance"
,"instruction_pause_quit": "Quitter l'application RGSX"
,"instruction_controls_help": "Afficher la référence complète manette & clavier"
,"instruction_controls_remap": "Modifier l'association boutons / touches"
,"instruction_generic_back": "Revenir au menu précédent"
,"instruction_display_layout": "Changer les dimensions de la grille"
,"instruction_display_font_size": "Ajuster la taille du texte pour la lisibilité"
,"instruction_display_font_family": "Basculer entre les polices disponibles"
,"instruction_display_show_unsupported": "Afficher/masquer systèmes absents de es_systems.cfg"
,"instruction_display_unknown_ext": "Avertir ou non pour extensions absentes de es_systems.cfg"
,"instruction_display_hide_premium": "Masquer les systèmes nécessitant un accès premium via API: {providers}"
,"instruction_display_filter_platforms": "Choisir manuellement les systèmes visibles"
,"instruction_games_history": "Lister les téléchargements passés et leur statut"
,"instruction_games_source_mode": "Basculer entre liste RGSX ou source personnalisée"
,"instruction_games_update_cache": "Retélécharger & rafraîchir la liste des jeux"
,"instruction_settings_music": "Activer ou désactiver la lecture musicale"
,"instruction_settings_symlink": "Basculer l'utilisation de symlinks pour l'installation"
,"instruction_settings_api_keys": "Voir les clés API détectées des services premium"
,"instruction_settings_web_service": "Activer/désactiver le démarrage automatique du service web"
,"settings_web_service": "Service Web au démarrage"
,"settings_web_service_enabled": "Activé"
,"settings_web_service_disabled": "Désactivé"
,"settings_web_service_enabling": "Activation du service web..."
,"settings_web_service_disabling": "Désactivation du service web..."
,"settings_web_service_success_enabled": "Service web activé au démarrage"
,"settings_web_service_success_disabled": "Service web désactivé au démarrage"
,"settings_web_service_error": "Erreur : {0}"
,"controls_desc_confirm": "Valider (ex: A/Croix)"
,"controls_desc_cancel": "Annuler/Retour (ex: B/Rond)"
,"controls_desc_up": "UP ↑"
,"controls_desc_down": "DOWN ↓"
,"controls_desc_left": "LEFT ←"
,"controls_desc_right": "RIGHT →"
,"controls_desc_page_up": "Défilement Rapide - (ex: LT/L2)"
,"controls_desc_page_down": "Défilement Rapide + (ex: RT/R2)"
,"controls_desc_history": "Ouvrir l'historique (ex: Y/Triangle)"
,"controls_desc_clear_history": "Téléchargements : Sélection multiple / Historique : Vider (ex: X/Carré)"
,"controls_desc_filter": "Mode Filtre : Ouvrir/Valider (ex: Select)"
,"controls_desc_delete": "Mode Filtre : Supprimer caractère (ex: LB/L1)"
,"controls_desc_space": "Mode Filtre : Ajouter espace (ex: RB/R1)"
,"controls_desc_start": "Ouvrir le menu pause (ex: Start)"
,"controls_mapping_title": "Configuration des contrôles"
,"controls_mapping_instruction": "Maintenez pour confirmer l'association :"
,"controls_mapping_waiting": "En attente d'une touche ou d'un bouton..."
,"controls_mapping_press": "Appuyez sur une touche ou un bouton"
,"status_already_present": "Déjà Présent"
,"footer_joystick": "Joystick : {0}"
,"history_game_options_title": "Options du jeu"
,"history_option_download_folder": "Localiser le fichier"
,"history_option_extract_archive": "Extraire l'archive"
,"history_option_scraper": "Scraper métadonnées"
,"history_option_delete_game": "Supprimer le jeu"
,"history_option_error_info": "Détails de l'erreur"
,"history_option_retry": "Réessayer le téléchargement"
,"history_option_back": "Retour"
,"history_folder_path_label": "Chemin de destination :"
,"history_scraper_not_implemented": "Scraper pas encore implémenté"
,"history_confirm_delete": "Supprimer ce jeu du disque ?"
,"history_file_not_found": "Fichier introuvable"
,"history_extracting": "Extraction en cours..."
,"history_extracted": "Extrait"
,"history_delete_success": "Jeu supprimé avec succès"
,"history_delete_error": "Erreur lors de la suppression du jeu : {0}"
,"history_error_details_title": "Détails de l'erreur"
,"history_no_error_message": "Aucun message d'erreur disponible"
,"web_title": "Interface Web RGSX"
,"web_tab_platforms": "Liste des systèmes"
,"web_tab_downloads": "Téléchargements"
,"web_tab_history": "Historique"
,"web_tab_settings": "Paramètres"
,"web_tab_update": "Mettre à jour la liste"
,"web_tooltip_platforms": "Liste des systèmes"
,"web_tooltip_downloads": "Téléchargements"
,"web_tooltip_history": "Historique"
,"web_tooltip_settings": "Paramètres"
,"web_tooltip_update": "Mettre à jour la liste des jeux"
,"web_search_platform": "Rechercher des systèmes ou jeux..."
,"web_search_game": "Rechercher un jeu..."
,"web_search_results": "résultats pour"
,"web_no_results": "Aucun résultat trouvé"
,"web_platforms": "Systèmes"
,"web_games": "Jeux"
,"web_error_search": "Erreur de recherche"
,"web_back_platforms": "Retour aux plateformes"
,"web_back": "Retour"
,"web_game_count": "{0} ({1} jeux)"
,"web_download": "Télécharger"
,"web_cancel": "Annuler"
,"web_download_canceled": "Téléchargement annulé"
,"web_confirm_cancel": "Voulez-vous vraiment annuler ce téléchargement ?"
,"web_update_title": "Mise à jour de la liste des jeux..."
,"web_update_message": "Nettoyage du cache et rechargement des données..."
,"web_update_wait": "Cela peut prendre 10-30 secondes"
,"web_error": "Erreur"
,"web_error_unknown": "Erreur inconnue"
,"web_error_update": "Erreur lors de la mise à jour de la liste : {0}"
,"web_error_download": "Erreur : {0}"
,"web_history_clear": "Vider l'historique"
,"web_history_cleared": "Historique vidé avec succès !"
,"web_error_clear_history": "Erreur lors du vidage de l'historique : {0}"
,"web_settings_title": "Informations & Paramètres"
,"web_settings_roms_folder": "Dossier ROMs personnalisé"
,"web_settings_roms_placeholder": "Laisser vide pour le dossier par défaut"
,"web_settings_browse": "Parcourir"
,"web_settings_language": "Langue"
,"web_settings_font_scale": "Échelle de police"
,"web_settings_grid": "Grille d'affichage"
,"web_settings_font_family": "Police de caractères"
,"web_settings_music": "Musique"
,"web_settings_symlink": "Mode symlink"
,"web_settings_source_mode": "Source des jeux"
,"web_settings_custom_url": "URL personnalisée"
,"web_settings_custom_url_placeholder": "Laisser vide pour /saves/ports/rgsx/games.zip ou utiliser une URL directe comme https://exemple.com/jeux.zip"
,"web_settings_save": "Enregistrer les paramètres"
,"web_settings_saved": "Paramètres enregistrés avec succès !"
,"web_settings_saved_restart": "Paramètres enregistrés avec succès !\\n\\n⚠ Certains paramètres nécessitent un redémarrage du serveur :\\n- Dossier ROMs personnalisé\\n- Langue\\n\\nVeuillez redémarrer le serveur web pour appliquer ces changements."
,"web_error_save_settings": "Erreur lors de l'enregistrement : {0}"
,"web_browse_title": "Parcourir les dossiers"
,"web_browse_select_drive": "Sélectionnez un lecteur..."
,"web_browse_drives": "Lecteurs"
,"web_browse_parent": "Parent"
,"web_browse_select": "Sélectionner ce dossier"
,"web_browse_cancel": "Annuler"
,"web_browse_empty": "Aucun sous-dossier trouvé"
,"web_browse_alert_restart": "Important : Vous devez ENREGISTRER les paramètres puis REDÉMARRER le serveur web pour que le dossier ROMs personnalisé soit pris en compte.\\n\\n📝 Étapes :\\n1. Cliquez sur 'Enregistrer les paramètres' ci-dessous\\n2. Arrêtez le serveur web (Ctrl+C dans le terminal)\\n3. Redémarrez le serveur web\\n\\nChemin sélectionné : {0}"
,"web_error_browse": "Erreur lors de la navigation : {0}"
,"web_loading_platforms": "Chargement des plateformes..."
,"web_loading_games": "Chargement des jeux..."
,"web_no_platforms": "Aucune plateforme trouvée"
,"web_no_downloads": "Aucun téléchargement en cours"
,"web_history_empty": "Aucun téléchargement terminé"
,"web_history_platform": "Plateforme"
,"web_history_size": "Taille"
,"web_history_status_completed": "Terminé"
,"web_history_status_error": "Erreur"
,"web_settings_os": "Système d'exploitation"
,"web_settings_platforms_count": "Nombre de plateformes"
,"web_settings_show_unsupported": "Afficher les systèmes non supportés (absents de es_systems.cfg)"
,"web_settings_allow_unknown": "Autoriser les extensions inconnues (ne pas afficher d'avertissement)"
,"web_restart_confirm_title": "Redémarrer l'application ?"
,"web_restart_confirm_message": "Les paramètres ont été enregistrés. Voulez-vous redémarrer l'application maintenant pour appliquer les changements ?"
,"web_restart_yes": "Oui, redémarrer"
,"web_restart_no": "Non, plus tard"
,"web_restart_success": "Redémarrage en cours..."
,"web_restart_error": "Erreur lors du redémarrage : {0}"
,"web_support": "Support"
,"web_support_title": "📦 Fichier de support généré"
,"web_support_message": "Le fichier de support a été créé avec succès !\\n\\n📁 Contenu :\\n• Configuration des contrôles\\n• Historique des téléchargements\\n• Paramètres RGSX\\n• Logs de l'application\\n• Logs du serveur web\\n\\n💬 Pour obtenir de l'aide :\\n1. Rejoignez le Discord RGSX\\n2. Décrivez votre problème\\n3. Partagez ce fichier ZIP\\n\\nLe téléchargement va démarrer..."
,"web_support_generating": "Génération du fichier de support..."
,"web_support_download": "Télécharger le fichier de support"
,"web_support_error": "Erreur lors de la génération du fichier de support : {0}"
,"web_tab_queue": "File d'attente"
,"web_tooltip_queue": "File d'attente des téléchargements"
,"web_queue_active_download": "⏳ Un téléchargement est actuellement en cours"
,"web_queue_no_active": "✓ Aucun téléchargement actif"
,"web_queue_title": "File d'attente des téléchargements"
,"web_queue_empty": "Aucun élément en attente"
,"web_queue_clear": "Vider la file d'attente"
,"web_queue_cleared": "File d'attente vidée avec succès !"
,"web_confirm_remove_queue": "Supprimer cet élément de la file d'attente ?"
,"web_confirm_clear_queue": "Vider toute la file d'attente ?"
,"web_remove": "Supprimer"
,"web_loading": "Chargement..."
,"web_sort": "Trier par"
,"web_sort_name_asc": "A-Z (Nom)"
,"web_sort_name_desc": "Z-A (Nom)"
,"web_sort_size_asc": "Taille +- (Petit d'abord)"
,"web_sort_size_desc": "Taille -+ (Grand d'abord)"
,"web_filter_region": "Région"
,"web_filter_hide_non_release": "Masquer Démos/Betas/Protos"
,"web_filter_regex_mode": "Activer recherche Regex"
,"web_filter_one_rom_per_game": "Une ROM par jeu"
,"web_filter_configure_priority": "Configurer l'ordre de priorité des régions"
"popup_hide_premium_off": "Systèmes Premium visibles",
"submenu_display_font_family": "Police",
"popup_font_family_changed": "Police changée : {0}",
"instruction_pause_language": "Changer la langue de l'interface",
"instruction_pause_controls": "Afficher la configuration ou remapper",
"instruction_pause_display": "Agencer l'affichage, polices et systèmes visibles",
"instruction_pause_games": "Historique, source de liste ou rafraîchissement",
"instruction_pause_settings": "Musique, option symlink & statut des clés API",
"instruction_pause_restart": "Redémarrer RGSX pour recharger la configuration",
"instruction_pause_support": "Générer un fichier ZIP de diagnostic pour l'assistance",
"instruction_pause_quit": "Quitter l'application RGSX",
"instruction_controls_help": "Afficher la référence complète manette & clavier",
"instruction_controls_remap": "Modifier l'association boutons / touches",
"instruction_generic_back": "Revenir au menu précédent",
"instruction_display_layout": "Changer les dimensions de la grille",
"instruction_display_font_size": "Ajuster la taille du texte pour la lisibilité",
"instruction_display_font_family": "Basculer entre les polices disponibles",
"instruction_display_show_unsupported": "Afficher/masquer systèmes absents de es_systems.cfg",
"instruction_display_unknown_ext": "Avertir ou non pour extensions absentes de es_systems.cfg",
"instruction_display_hide_premium": "Masquer les systèmes nécessitant un accès premium via API: {providers}",
"instruction_display_filter_platforms": "Choisir manuellement les systèmes visibles",
"instruction_games_history": "Lister les téléchargements passés et leur statut",
"instruction_games_source_mode": "Basculer entre liste RGSX ou source personnalisée",
"instruction_games_update_cache": "Retélécharger & rafraîchir la liste des jeux",
"instruction_settings_music": "Activer ou désactiver la lecture musicale",
"instruction_settings_symlink": "Basculer l'utilisation de symlinks pour l'installation",
"instruction_settings_api_keys": "Voir les clés API détectées des services premium",
"instruction_settings_web_service": "Activer/désactiver le démarrage automatique du service web",
"settings_web_service": "Service Web au démarrage",
"settings_web_service_enabled": "Activé",
"settings_web_service_disabled": "Désactivé",
"settings_web_service_enabling": "Activation du service web...",
"settings_web_service_disabling": "Désactivation du service web...",
"settings_web_service_success_enabled": "Service web activé au démarrage",
"settings_web_service_success_disabled": "Service web désactivé au démarrage",
"settings_web_service_error": "Erreur : {0}",
"controls_desc_confirm": "Valider (ex: A/Croix)",
"controls_desc_cancel": "Annuler/Retour (ex: B/Rond)",
"controls_desc_up": "UP ↑",
"controls_desc_down": "DOWN ↓",
"controls_desc_left": "LEFT ←",
"controls_desc_right": "RIGHT →",
"controls_desc_page_up": "Défilement Rapide - (ex: LT/L2)",
"controls_desc_page_down": "Défilement Rapide + (ex: RT/R2)",
"controls_desc_history": "Ouvrir l'historique (ex: Y/Triangle)",
"controls_desc_clear_history": "Téléchargements : Sélection multiple / Historique : Vider (ex: X/Carré)",
"controls_desc_filter": "Mode Filtre : Ouvrir/Valider (ex: Select)",
"controls_desc_delete": "Mode Filtre : Supprimer caractère (ex: LB/L1)",
"controls_desc_space": "Mode Filtre : Ajouter espace (ex: RB/R1)",
"controls_desc_start": "Ouvrir le menu pause (ex: Start)",
"controls_mapping_title": "Configuration des contrôles",
"controls_mapping_instruction": "Maintenez pour confirmer l'association :",
"controls_mapping_waiting": "En attente d'une touche ou d'un bouton...",
"controls_mapping_press": "Appuyez sur une touche ou un bouton",
"status_already_present": "Déjà Présent",
"footer_joystick": "Joystick : {0}",
"history_game_options_title": "Options du jeu",
"history_option_download_folder": "Localiser le fichier",
"history_option_extract_archive": "Extraire l'archive",
"history_option_scraper": "Scraper métadonnées",
"history_option_delete_game": "Supprimer le jeu",
"history_option_error_info": "Détails de l'erreur",
"history_option_retry": "Réessayer le téléchargement",
"history_option_back": "Retour",
"history_folder_path_label": "Chemin de destination :",
"history_scraper_not_implemented": "Scraper pas encore implémenté",
"history_confirm_delete": "Supprimer ce jeu du disque ?",
"history_file_not_found": "Fichier introuvable",
"history_extracting": "Extraction en cours...",
"history_extracted": "Extrait",
"history_delete_success": "Jeu supprimé avec succès",
"history_delete_error": "Erreur lors de la suppression du jeu : {0}",
"history_error_details_title": "Détails de l'erreur",
"history_no_error_message": "Aucun message d'erreur disponible",
"web_title": "Interface Web RGSX",
"web_tab_platforms": "Liste des systèmes",
"web_tab_downloads": "Téléchargements",
"web_tab_history": "Historique",
"web_tab_settings": "Paramètres",
"web_tab_update": "Mettre à jour la liste",
"web_tooltip_platforms": "Liste des systèmes",
"web_tooltip_downloads": "Téléchargements",
"web_tooltip_history": "Historique",
"web_tooltip_settings": "Paramètres",
"web_tooltip_update": "Mettre à jour la liste des jeux",
"web_search_platform": "Rechercher des systèmes ou jeux...",
"web_search_game": "Rechercher un jeu...",
"web_search_results": "résultats pour",
"web_no_results": "Aucun résultat trouvé",
"web_platforms": "Systèmes",
"web_games": "Jeux",
"web_error_search": "Erreur de recherche",
"web_back_platforms": "Retour aux plateformes",
"web_back": "Retour",
"web_game_count": "{0} ({1} jeux)",
"web_download": "Télécharger",
"web_cancel": "Annuler",
"web_download_canceled": "Téléchargement annulé",
"web_confirm_cancel": "Voulez-vous vraiment annuler ce téléchargement ?",
"web_update_title": "Mise à jour de la liste des jeux...",
"web_update_message": "Nettoyage du cache et rechargement des données...",
"web_update_wait": "Cela peut prendre 10-30 secondes",
"web_error": "Erreur",
"web_error_unknown": "Erreur inconnue",
"web_error_update": "Erreur lors de la mise à jour de la liste : {0}",
"web_error_download": "Erreur : {0}",
"web_history_clear": "Vider l'historique",
"web_history_cleared": "Historique vidé avec succès !",
"web_error_clear_history": "Erreur lors du vidage de l'historique : {0}",
"web_settings_title": "Informations & Paramètres",
"web_settings_roms_folder": "Dossier ROMs personnalisé",
"web_settings_roms_placeholder": "Laisser vide pour le dossier par défaut",
"web_settings_browse": "Parcourir",
"web_settings_language": "Langue",
"web_settings_font_scale": "Échelle de police",
"web_settings_grid": "Grille d'affichage",
"web_settings_font_family": "Police de caractères",
"web_settings_music": "Musique",
"web_settings_symlink": "Mode symlink",
"web_settings_source_mode": "Source des jeux",
"web_settings_custom_url": "URL personnalisée",
"web_settings_custom_url_placeholder": "Laisser vide pour /saves/ports/rgsx/games.zip ou utiliser une URL directe comme https://exemple.com/jeux.zip",
"web_settings_save": "Enregistrer les paramètres",
"web_settings_saved": "Paramètres enregistrés avec succès !",
"web_settings_saved_restart": "Paramètres enregistrés avec succès !\\n\\n⚠ Certains paramètres nécessitent un redémarrage du serveur :\\n- Dossier ROMs personnalisé\\n- Langue\\n\\nVeuillez redémarrer le serveur web pour appliquer ces changements.",
"web_error_save_settings": "Erreur lors de l'enregistrement : {0}",
"web_browse_title": "Parcourir les dossiers",
"web_browse_select_drive": "Sélectionnez un lecteur...",
"web_browse_drives": "Lecteurs",
"web_browse_parent": "Parent",
"web_browse_select": "Sélectionner ce dossier",
"web_browse_cancel": "Annuler",
"web_browse_empty": "Aucun sous-dossier trouvé",
"web_browse_alert_restart": "Important : Vous devez ENREGISTRER les paramètres puis REDÉMARRER le serveur web pour que le dossier ROMs personnalisé soit pris en compte.\\n\\n📝 Étapes :\\n1. Cliquez sur 'Enregistrer les paramètres' ci-dessous\\n2. Arrêtez le serveur web (Ctrl+C dans le terminal)\\n3. Redémarrez le serveur web\\n\\nChemin sélectionné : {0}",
"web_error_browse": "Erreur lors de la navigation : {0}",
"web_loading_platforms": "Chargement des plateformes...",
"web_loading_games": "Chargement des jeux...",
"web_no_platforms": "Aucune plateforme trouvée",
"web_no_downloads": "Aucun téléchargement en cours",
"web_history_empty": "Aucun téléchargement terminé",
"web_history_platform": "Plateforme",
"web_history_size": "Taille",
"web_history_status_completed": "Terminé",
"web_history_status_error": "Erreur",
"web_settings_os": "Système d'exploitation",
"web_settings_platforms_count": "Nombre de plateformes",
"web_settings_show_unsupported": "Afficher les systèmes non supportés (absents de es_systems.cfg)",
"web_settings_allow_unknown": "Autoriser les extensions inconnues (ne pas afficher d'avertissement)",
"web_restart_confirm_title": "Redémarrer l'application ?",
"web_restart_confirm_message": "Les paramètres ont été enregistrés. Voulez-vous redémarrer l'application maintenant pour appliquer les changements ?",
"web_restart_yes": "Oui, redémarrer",
"web_restart_no": "Non, plus tard",
"web_restart_success": "Redémarrage en cours...",
"web_restart_error": "Erreur lors du redémarrage : {0}",
"web_support": "Support",
"web_support_title": "📦 Fichier de support généré",
"web_support_message": "Le fichier de support a été créé avec succès !\\n\\n📁 Contenu :\\n• Configuration des contrôles\\n• Historique des téléchargements\\n• Paramètres RGSX\\n• Logs de l'application\\n• Logs du serveur web\\n\\n💬 Pour obtenir de l'aide :\\n1. Rejoignez le Discord RGSX\\n2. Décrivez votre problème\\n3. Partagez ce fichier ZIP\\n\\nLe téléchargement va démarrer...",
"web_support_generating": "Génération du fichier de support...",
"web_support_download": "Télécharger le fichier de support",
"web_support_error": "Erreur lors de la génération du fichier de support : {0}",
"web_tab_queue": "File d'attente",
"web_tooltip_queue": "File d'attente des téléchargements",
"web_queue_active_download": "⏳ Un téléchargement est actuellement en cours",
"web_queue_no_active": "✓ Aucun téléchargement actif",
"web_queue_title": "File d'attente des téléchargements",
"web_queue_empty": "Aucun élément en attente",
"web_queue_clear": "Vider la file d'attente",
"web_queue_cleared": "File d'attente vidée avec succès !",
"web_confirm_remove_queue": "Supprimer cet élément de la file d'attente ?",
"web_confirm_clear_queue": "Vider toute la file d'attente ?",
"web_remove": "Supprimer",
"web_loading": "Chargement...",
"web_sort": "Trier par",
"web_sort_name_asc": "A-Z (Nom)",
"web_sort_name_desc": "Z-A (Nom)",
"web_sort_size_asc": "Taille +- (Petit d'abord)",
"web_sort_size_desc": "Taille -+ (Grand d'abord)",
"web_filter_region": "Région",
"web_filter_hide_non_release": "Masquer Démos/Betas/Protos",
"web_filter_regex_mode": "Activer recherche Regex",
"web_filter_one_rom_per_game": "Une ROM par jeu",
"web_filter_configure_priority": "Configurer l'ordre de priorité des régions",
"filter_all": "Tout cocher",
"filter_none": "Tout décocher",
"filter_apply": "Appliquer filtre",
"filter_back": "Retour"
}

View File

@@ -357,5 +357,9 @@
"web_filter_hide_non_release": "Nascondi Demo/Beta/Proto",
"web_filter_regex_mode": "Attiva ricerca Regex",
"web_filter_one_rom_per_game": "Una ROM per gioco",
"web_filter_configure_priority": "Configura ordine di priorità delle regioni"
"web_filter_configure_priority": "Configura ordine di priorità delle regioni",
"filter_all": "Seleziona tutto",
"filter_none": "Deseleziona tutto",
"filter_apply": "Applica filtro",
"filter_back": "Indietro"
}

View File

@@ -357,5 +357,9 @@
"web_filter_hide_non_release": "Ocultar Demos/Betas/Protos",
"web_filter_regex_mode": "Ativar pesquisa Regex",
"web_filter_one_rom_per_game": "Uma ROM por jogo",
"web_filter_configure_priority": "Configurar ordem de prioridade das regiões"
"web_filter_configure_priority": "Configurar ordem de prioridade das regiões",
"filter_all": "Marcar tudo",
"filter_none": "Desmarcar tudo",
"filter_apply": "Aplicar filtro",
"filter_back": "Voltar"
}

View File

@@ -1,3 +1,3 @@
{
"version": "2.3.1.4"
"version": "2.3.1.5"
}