Panel/modules/steam_workshop/lang/en_US.php
copilot-swe-agent[bot] fd860963d1
fix: address code review feedback
- Fix toggle/load_order handlers to use page-reload (not JSON) responses
- Remove dead jsonResponse helper method from WorkshopModController
- Fix robocopy exit code detection using ROBOCOPY_EXIT: sentinel (not text parsing)
- Fix rsync dry-run change detection using RSYNC_EXIT: sentinel
- Remove agentIdFromRemote() stub; pass agentId directly to triggerSteamCmdDownload() logging
- Fix 'enabled' checkbox default in profile_form to use ($profile['enabled'] ?? 1)
- Add missing error_toggle_failed / error_order_failed lang strings

Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/dbeebd0e-e7a5-469d-8a8c-e63193d1ebb0

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
2026-04-30 18:06:05 +00:00

198 lines
12 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
return [
'heading_overview' => 'Steam Workshop automation (preview)',
'heading_edit_home' => 'Edit Workshop settings for %s',
'button_edit' => 'Configure',
'button_create_config' => 'Create config',
'button_save' => 'Save settings',
'button_cancel' => 'Back to list',
'label_feature_flag' => 'Enable scheduled Workshop updates for this server',
'label_adapter' => 'Game adapter',
'label_interval' => 'Update interval (minutes)',
'label_interval_hint' => 'Runs on the agent scheduler. Allowed range: 15360 minutes.',
'label_staging_dir' => 'Staging directory (optional)',
'label_install_strategy' => 'Install strategy',
'label_on_update_action' => 'On update action',
'label_post_install_script' => 'Post-install script (absolute path)',
'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.',
'admin_col_game_key' => 'Game key',
'admin_col_adapter' => 'Adapter',
'admin_no_game_keys' => 'No server configuration XML files were detected.',
'admin_heading_adapters' => 'Available adapters',
'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_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',
'status_enabled' => 'Enabled',
'status_disabled' => 'Disabled',
'status_hot_reload' => 'Hot reload ready',
'status_restart_required' => 'Restart required',
'empty_state_admin' => 'No game homes are assigned yet. Use "Assign Game Homes" to continue.',
'empty_state_user' => 'No servers available. Ask an administrator to assign a game home.',
'message_config_saved' => 'Workshop settings saved.',
'error_missing_home' => 'Select a server before editing Workshop settings.',
'error_home_not_found' => 'Unable to locate that server or you do not have permission.',
'mods_table_heading' => 'Parsed Workshop entries',
'mods_table_empty' => 'No Workshop IDs have been added yet.',
'mods_header_id' => 'Workshop ID',
'mods_header_label' => 'Label',
'mods_header_source' => 'Source',
'mods_header_enabled' => 'Enabled',
'install_copy' => 'Copy files into the server directory',
'install_symlink' => 'Symlink from Steam workshop content',
'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_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.',
'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.',
'mod_picker_search_label' => 'Search Steam Workshop',
'mod_picker_search_placeholder' => 'Example: 221100 or QoL tweaks',
'mod_picker_search_button' => 'Search',
'mod_picker_selected_heading' => 'Selected mods',
'mod_picker_selected_hint' => 'Enable syncing to pull each mod before game server restarts.',
'mod_picker_selected_empty' => 'No mods selected yet. Use the search above to add your first entry.',
'mod_picker_results_heading' => 'Search results',
'mod_picker_results_select' => 'Select',
'mod_picker_results_title' => 'Title',
'mod_picker_results_author' => 'Author',
'mod_picker_action_add' => 'Add',
'mod_picker_action_remove' => 'Remove',
'mod_picker_status_loading' => 'Searching Steam Workshop…',
'mod_picker_status_error' => 'Unable to contact the Steam Workshop. Try again in a moment.',
'mod_picker_results_empty' => 'No workshop items matched that search.',
'mod_picker_status_need_query' => 'Enter a Workshop ID or keyword before searching.',
'mod_picker_toggle_label' => 'Sync',
'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.',
'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.',
'label_game_key' => 'Game key',
'label_adapter_name' => 'Adapter display name',
'label_adapter_app_id' => 'Steam App ID',
'label_adapter_mods_dir' => 'Mods directory',
'label_adapter_keys_dir' => 'Keys directory (optional)',
'label_adapter_hot_reload' => 'Supports hot reload',
'label_adapter_activation' => 'Activation template',
'label_adapter_notes' => 'Notes',
'error_missing_query' => 'Enter a search term before querying the Workshop.',
// -------------------------------------------------------
// Workshop profile admin (WorkshopProfileController)
// -------------------------------------------------------
'nav_workshop_profiles' => 'Workshop Profiles (DB)',
'profile_heading_list' => 'Workshop Game Profiles',
'profile_intro' => 'One profile per supported game. Each profile drives mod install and caching behaviour.',
'profile_btn_create' => 'Create Profile',
'profile_list_empty' => 'No Workshop profiles defined yet.',
'profile_col_game' => 'Game',
'profile_col_key' => 'Game Key',
'profile_col_method' => 'Copy Method',
'profile_col_restart' => 'Restart?',
'profile_col_status' => 'Status',
'profile_confirm_delete' => 'Delete this Workshop profile? This will not affect already-installed server mods.',
'profile_back_adapters' => 'Back to adapter management',
'profile_back_list' => 'Back to profiles',
'profile_heading_edit' => 'Edit Workshop Profile: %s',
'profile_heading_create' => 'Create Workshop Profile',
'profile_saved' => 'Workshop profile saved.',
'profile_save_error' => 'Failed to save Workshop profile.',
'profile_deleted' => 'Workshop profile deleted.',
'profile_delete_error' => 'Failed to delete Workshop profile.',
'profile_not_found' => 'Profile not found.',
'profile_section_basic' => 'Basic info',
'profile_section_paths' => 'Paths & templates',
'profile_section_copy' => 'Copy / sync method',
'profile_section_config' => 'Config & launch parameters',
'profile_section_flags' => 'Flags',
'profile_label_game_name' => 'Game name',
'profile_label_os' => 'Supported OS',
'profile_label_cache_path' => 'Cache path template',
'profile_hint_cache_path' => 'Where SteamCMD downloads mods on the agent. E.g. {steamcmd_path}/steamapps/workshop/content/{workshop_app_id}/{mod_id}',
'profile_label_install_path' => 'Install path template',
'profile_hint_install_path' => 'Server-side mod directory. E.g. {server_path}/mods/{mod_folder}',
'profile_label_folder_name' => 'Mod folder name template',
'profile_hint_folder_name' => 'Folder name for each mod. Default: @{mod_id}',
'profile_label_copy_method' => 'Copy method',
'profile_label_install_script'=> 'Custom install script (admin-defined only, optional)',
'profile_hint_install_script' => 'Only used when copy method is custom_script. Template variables are replaced before execution.',
'profile_label_config_tpl' => 'Config file template (optional)',
'profile_label_launch_tpl' => 'Launch parameter template (optional)',
'profile_label_requires_restart' => 'Restart required after mod install/update',
'profile_label_enabled' => 'Profile enabled',
'profile_template_vars' => 'Available: {home_id} {agent_id} {workshop_app_id} {mod_id} {mod_title} {mod_folder} {steamcmd_path} {server_path} {install_path} {cache_path}',
'error_game_key_invalid' => 'Game key may only contain letters, digits, underscores, dots, and hyphens.',
'error_game_name_required' => 'Game name is required.',
'error_app_id_required' => 'Workshop App ID is required (numeric).',
'error_cache_path_required' => 'Cache path template is required.',
'error_install_path_required' => 'Install path template is required.',
// -------------------------------------------------------
// User mod management (WorkshopModController)
// -------------------------------------------------------
'user_workshop_heading' => 'Steam Workshop',
'user_workshop_server_heading' => 'Workshop Mods %s',
'col_server' => 'Server',
'col_game' => 'Game',
'col_mods_count' => 'Installed mods',
'col_profile' => 'Profile',
'col_mod_id' => 'Workshop ID',
'col_mod_title' => 'Title',
'col_load_order' => 'Load order',
'col_cache_status' => 'Cache status',
'no_profile' => 'No profile',
'hint_no_profile' => 'Ask an admin to create a Workshop profile for this game.',
'btn_manage_mods' => 'Manage Mods',
'no_profile_notice' => 'No Workshop profile is configured for this game. An administrator needs to create one first.',
'heading_installed_mods' => 'Installed Mods',
'no_installed_mods' => 'No mods installed yet.',
'heading_cached_mods' => 'Available Cached Mods (this agent)',
'heading_install_mod' => 'Install Mod by Workshop ID',
'label_workshop_id_input' => 'Workshop ID',
'placeholder_workshop_id' => 'e.g. 1234567890',
'btn_install_mod' => 'Install',
'btn_remove_mod' => 'Remove',
'btn_sync_now' => 'Sync now',
'confirm_remove_mod' => 'Remove this mod from this server? (Files on disk are not deleted.)',
'mod_installed' => 'Mod installed successfully.',
'mod_install_error' => 'Install failed: ',
'restart_required' => 'A server restart is required to activate this mod.',
'mod_removed' => 'Mod removed from this server.',
'mod_remove_error' => 'Failed to remove mod.',
'sync_success' => 'Mod synced successfully.',
'sync_no_change' => 'Mod is already up to date.',
'sync_error' => 'Sync failed: ',
'error_missing_params' => 'Missing required parameters.',
'error_no_profile' => 'No Workshop profile configured for this game.',
'error_mod_not_found' => 'Mod or profile not found.',
'error_toggle_failed' => 'Failed to update mod status.',
'error_order_failed' => 'Failed to update load order.',
];