feat: config_games XML tag descriptions + jump link; support optional fields; steam_workshop remove adapter terminology

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/7c776773-fa8f-4f5d-afec-ff62cf7b2bba

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-05-04 20:34:14 +00:00 committed by GitHub
parent e338eafb36
commit e30c6ac25d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 237 additions and 52 deletions

View file

@ -7,7 +7,7 @@ return [
'button_save' => 'Save settings',
'button_cancel' => 'Back to list',
'label_feature_flag' => 'Enable scheduled Workshop updates for this server',
'label_adapter' => 'Game adapter',
'label_adapter' => 'Game type',
'label_interval' => 'Update interval (minutes)',
'label_interval_hint' => 'Runs on the agent scheduler. Allowed range: 15360 minutes.',
'label_staging_dir' => 'Staging directory (optional)',
@ -17,24 +17,24 @@ return [
'label_mod_import' => 'Workshop IDs list (one "id,@ModName" per line)',
'hint_mod_import' => 'Paste from Modlist.txt or import from a collection. IDs are sanitized automatically.',
'hint_admin_only' => 'Managed by your administrator.',
'adapter_locked_note' => 'This adapter is enforced for the current game type by your administrator.',
'admin_heading_game_mapping' => 'Adapter mapping by game type',
'admin_subheading_game_mapping' => 'Pick which adapter becomes the default whenever a server of that game opens the Workshop UI.',
'adapter_locked_note' => 'The game type for this server is managed by your administrator.',
'admin_heading_game_mapping' => 'Game type mapping',
'admin_subheading_game_mapping' => 'Pick which game configuration becomes the default whenever a server of that game opens the Workshop UI.',
'admin_col_game_key' => 'Game key',
'admin_col_adapter' => 'Adapter',
'admin_col_adapter' => 'Game configuration',
'admin_no_game_keys' => 'No server configuration XML files were detected.',
'admin_heading_adapters' => 'Available adapters',
'admin_heading_adapters' => 'Available game configurations',
'admin_col_key' => 'Key',
'admin_col_mods_dir' => 'Mods directory',
'admin_col_notes' => 'Notes',
'admin_heading_per_game' => 'Per-game adapters',
'admin_subheading_per_game' => 'Each game should have its own adapter XML for Steam Workshop automation.',
'admin_heading_per_game' => 'Per-game Workshop configurations',
'admin_subheading_per_game' => 'Each game should have its own Workshop configuration to control how mods are installed.',
'admin_col_status' => 'Status',
'admin_col_updated' => 'Last updated',
'admin_col_actions' => 'Actions',
'admin_heading_edit_adapter' => 'Editing adapter for %s',
'admin_hint_select_game' => 'Select a game in the table above to edit or create its adapter.',
'status_no_adapter' => 'No adapter defined',
'admin_heading_edit_adapter' => 'Editing Workshop configuration for %s',
'admin_hint_select_game' => 'Select a game in the table above to edit or create its Workshop configuration.',
'status_no_adapter' => 'Not configured',
'status_enabled' => 'Enabled',
'status_disabled' => 'Disabled',
'status_hot_reload' => 'Hot reload ready',
@ -55,15 +55,15 @@ return [
'install_staging' => 'Download to staging only (manual apply)',
'action_queue_for_restart' => 'Queue for restart',
'action_hot_reload_if_supported' => 'Hot reload if the adapter allows it',
'summary_adapter' => 'Adapter',
'summary_adapter' => 'Game',
'summary_interval' => 'Interval',
'summary_mods' => 'Mods',
'summary_last_saved' => 'Last saved',
'summary_hot_reload' => 'Hot reload',
'raw_definition_label' => 'Raw Workshop list',
'message_mappings_saved' => 'Adapter mappings saved.',
'message_adapter_saved' => 'Adapter saved.',
'message_adapter_deleted' => 'Adapter deleted.',
'message_mappings_saved' => 'Game type mappings saved.',
'message_adapter_saved' => 'Game configuration saved.',
'message_adapter_deleted' => 'Game configuration deleted.',
'error_admin_only' => 'Administrator access required.',
'mod_picker_heading' => 'Workshop library',
'mod_picker_hint' => 'Search Steam Workshop and add mods to keep them synced automatically.',
@ -87,15 +87,15 @@ return [
'mod_picker_request_label' => 'Submitting request',
'mod_picker_request_hint' => 'Exact Steam URL preview. The input shows the text that will be submitted.',
'mod_picker_request_input_label' => 'Workshop query preview',
'error_game_key_required' => 'Select a valid game key before editing the adapter.',
'error_adapter_delete_failed' => 'Adapter could not be deleted.',
'error_game_key_required' => 'Select a valid game key before editing the Workshop configuration.',
'error_adapter_delete_failed' => 'Game configuration could not be deleted.',
'button_edit_adapter' => 'Edit',
'button_create_adapter' => 'Create',
'button_delete_adapter' => 'Delete',
'button_save_adapter' => 'Save adapter',
'confirm_delete_adapter' => 'Delete this adapter? Servers mapped to it will fall back to defaults.',
'button_save_adapter' => 'Save game configuration',
'confirm_delete_adapter' => 'Delete this game configuration? Servers mapped to it will fall back to defaults.',
'label_game_key' => 'Game key',
'label_adapter_name' => 'Adapter display name',
'label_adapter_name' => 'Game display name',
'label_adapter_app_id' => 'Steam App ID',
'label_adapter_mods_dir' => 'Mods directory',
'label_adapter_keys_dir' => 'Keys directory (optional)',