Panel/modules/steam_workshop/lang/en_US.php
2026-05-04 20:34:14 +00:00

300 lines
21 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 type',
'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' => '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' => 'Game configuration',
'admin_no_game_keys' => 'No server configuration XML files were detected.',
'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 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 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',
'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' => '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' => '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.',
'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 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 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' => 'Game 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 game configuration admin (WorkshopProfileController)
// -------------------------------------------------------
'config_heading_list' => 'Workshop Game Configurations',
'config_intro' => 'One configuration per supported game. Each configuration controls how SteamCMD downloads and installs Workshop mods for servers of that game type.',
'config_btn_create' => 'Add Game Configuration',
'config_list_empty' => 'No Workshop configurations defined yet. Add one for each game that supports Steam Workshop mods.',
'config_confirm_delete' => 'Delete this Workshop configuration? Servers using it will no longer have Workshop mod support.',
'config_back_list' => 'Back to configurations',
'config_heading_edit' => 'Edit Workshop Configuration: %s',
'config_heading_create' => 'Add Workshop Game Configuration',
'config_steamcmd_heading' => 'How mods are downloaded',
'config_steamcmd_note' => 'Workshop mods are downloaded using SteamCMD with the command: +workshop_download_item {app_id} {mod_id}. The cache path below is where SteamCMD stores downloaded mod files on the agent machine. The install path below is where those files are copied into the game server directory.',
'config_label_app_id' => 'Steam App ID',
'config_hint_app_id' => 'The Steam App ID used with +workshop_download_item, e.g. 107410 for Arma 3',
'config_hint_game_key' => 'Short identifier matching the game XML key, e.g. arma3_linux',
'config_section_copy' => 'Copy / sync method',
'config_hint_launch_tpl' => 'Extra launch parameters added when this game has Workshop mods enabled. E.g. -mod=@{mod_id}',
'config_label_enabled' => 'Configuration enabled (allows servers to use Workshop mods for this game)',
'profile_col_game' => 'Game',
'profile_col_key' => 'Game Key',
'profile_col_method' => 'Install Method',
'profile_col_restart' => 'Restart?',
'profile_col_status' => 'Status',
'profile_section_basic' => 'Basic info',
'profile_section_paths' => 'Paths & templates',
'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' => 'SteamCMD 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' => 'Server install path template',
'profile_hint_install_path' => 'Where mod files are placed inside the game server 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 inside the install path. Default: @{mod_id}',
'profile_label_copy_method' => 'Method used to copy mod files from SteamCMD cache to the server',
'profile_label_install_script'=> 'Custom install script (optional, admin-defined)',
'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' => 'Server restart required after mod install or update',
'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}',
'profile_saved' => 'Workshop configuration saved.',
'profile_save_error' => 'Failed to save Workshop configuration.',
'profile_deleted' => 'Workshop configuration deleted.',
'profile_delete_error' => 'Failed to delete Workshop configuration.',
'profile_not_found' => 'Configuration not found.',
'button_delete' => 'Delete',
'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' => 'SteamCMD cache path template is required.',
'error_install_path_required' => 'Server 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.',
// -------------------------------------------------------
// New v2 labels
// -------------------------------------------------------
// Admin profile form new fields
'config_steamcmd_note' => 'Workshop mods are downloaded using SteamCMD: +workshop_download_item <App ID> <Mod ID>. Configure the paths and scripts below to control how mods are installed for servers of this game type.',
'config_label_enabled' => 'Profile enabled',
'config_hint_game_key' => 'Short identifier matching the game XML key, e.g. dayz_linux',
'config_hint_app_id' => 'The App ID used with +workshop_download_item, e.g. 221100 for DayZ',
'config_hint_launch_tpl' => 'Complete launch parameter string appended to server start. Each mod folder is joined with the separator above.',
'profile_section_basic' => 'Basic identification',
'profile_section_steam' => 'Steam & SteamCMD settings',
'profile_section_paths' => 'Download & install paths',
'profile_section_folder' => 'Mod folder naming',
'profile_section_launch' => 'Launch parameters',
'profile_section_scripts' => 'Bash scripts',
'profile_section_flags' => 'Options & validation',
'profile_label_game_name' => 'Game display name',
'profile_label_steam_app_id' => 'Steam App ID',
'profile_hint_steam_app_id' => 'The Steam game App ID (e.g. 221100 for DayZ). Used when Steam login is required.',
'config_label_app_id' => 'Workshop App ID',
'config_hint_app_id' => 'The App ID used with +workshop_download_item, e.g. 221100 for DayZ',
'profile_label_steamcmd_path' => 'SteamCMD path on agent',
'profile_hint_steamcmd_path' => 'Full path to steamcmd.sh on the remote agent. Leave blank to use the agent default (/home/gameserver/steamcmd/steamcmd.sh).',
'profile_label_steam_login_required'=> 'Steam login required (game is not free / requires ownership)',
'profile_label_steamcmd_login_mode' => 'SteamCMD login mode',
'profile_hint_steamcmd_login_mode' => 'Use anonymous for free Workshop mods. Configured account mode stores the intent; full credential injection requires panel-level Steam account configuration (see admin docs).',
'profile_label_os' => 'Supported OS',
'profile_label_cache_path' => 'Workshop download/cache path',
'profile_hint_cache_path' => 'Where SteamCMD stores downloaded mod content on the agent. E.g. /home/gameserver/steamcmd/steamapps/workshop/content/%workshop_app_id%/%workshop_id%',
'profile_label_install_path' => 'Server mod install root',
'profile_hint_install_path' => 'Base directory inside the server where mods are installed. E.g. %server_path%/mods/%install_name%',
'profile_label_folder_format' => 'Folder naming format',
'profile_hint_folder_format' => 'How each mod folder is named inside the install root.',
'profile_label_folder_name' => 'Custom folder name template',
'profile_hint_folder_name' => 'Use %workshop_id% or %mod_name%. E.g. @%workshop_id%',
'profile_label_mod_launch_param' => 'Mod launch parameter format',
'profile_hint_mod_launch_param' => 'How the full mod list is passed to the server start command. E.g. -mod=%mods%',
'profile_label_mod_separator' => 'Mod separator',
'profile_hint_mod_separator' => 'Character used to join multiple mod folder names in the launch parameter.',
'profile_label_launch_tpl' => 'Full launch parameter template (optional)',
'profile_label_copy_method' => 'Copy method',
'profile_label_copy_keys' => 'Copy mod keys (*.bikey) to server keys directory',
'profile_label_key_source' => 'Key source path',
'profile_hint_key_source' => 'Path inside the mod cache where key files live. E.g. %source_path%/keys',
'profile_label_key_dest' => 'Key destination path',
'profile_hint_key_dest' => 'Where keys are copied on the server. E.g. %server_path%/keys',
'profile_label_pre_script' => 'Pre-update bash script',
'profile_hint_pre_script' => 'Runs once before any mod is downloaded/installed. Variables: %home_id% %server_path% %workshop_app_id%',
'profile_label_install_script' => 'Per-mod install bash script',
'profile_hint_install_script' => 'Runs once for each mod. All template variables listed above are available.',
'profile_label_post_script' => 'Post-update bash script',
'profile_hint_post_script' => 'Runs once after all mods have been installed. Variables: %home_id% %server_path% %workshop_app_id%',
'profile_label_requires_restart' => 'Server restart required after mod install or update',
'profile_label_validation_notes' => 'Validation notes / help text (shown to server owners)',
'profile_label_config_tpl' => 'Config file template (optional)',
'profile_template_vars' => 'Variables: %home_id% %server_path% %steam_app_id% %workshop_app_id% %workshop_id% %mod_name% %install_name% %download_path% %source_path% %target_path% %keys_source_path% %keys_target_path% %steamcmd_path%',
'profile_template_vars_heading' => 'Template variables:',
'profile_scripts_order' => 'Execution order:',
'profile_scripts_per_mod' => 'repeated for each mod',
'profile_script_example_toggle' => 'Show DayZ-style example',
'profile_col_app_ids' => 'App IDs',
'profile_col_login' => 'Login',
'profile_col_steam' => 'Steam',
'profile_col_workshop' => 'Workshop',
'profile_badge_login_required' => 'Login req.',
'profile_col_game' => 'Game',
'profile_col_key' => 'Game Key',
'profile_col_method' => 'Install Method',
'profile_col_restart' => 'Restart?',
'profile_col_status' => 'Status',
'error_folder_template_required' => 'Custom folder name template is required when format is set to custom.',
// Server-level settings (user/server page)
'heading_server_settings' => 'Workshop Settings for this server',
'label_workshop_enabled' => 'Enable Workshop for this server',
'label_select_profile' => 'Workshop game profile',
'label_auto_detect' => 'Auto-detect from game type',
'label_update_mode' => 'Update mode',
'label_restart_behavior' => 'Restart behavior',
'update_mode_manual' => 'Manual only',
'update_mode_scheduled' => 'Scheduled',
'update_mode_on_restart' => 'Before server restart',
'restart_behavior_none' => 'No restart',
'restart_behavior_queue' => 'Queue restart',
'restart_behavior_stop' => 'Stop / Update / Start',
'btn_queue_update' => 'Queue manual update',
'label_last_update_status' => 'Last update status',
'label_last_update_time' => 'Last update time',
'label_last_success_time' => 'Last successful update',
'label_last_update_error' => 'Last error',
'update_queued_notice' => 'A manual update is queued and will run on the next scheduler cycle.',
'settings_saved' => 'Workshop settings saved.',
'update_queued' => 'Manual update queued. It will run on the next scheduler cycle.',
'col_mod_folder' => 'Install folder',
'label_admin_notes' => 'Admin notes:',
];