[ 'stripe_secret' => 'Stripe secret key', 'inbound_mail_password' => 'Support mailbox password', 'dns_token' => 'Hetzner DNS API token', 'monitoring_token' => 'Uptime Kuma API token', 'ssh_private_key' => 'SSH key (private)', ], 'ssh_private_key_hint' => 'This identity is deployed to every fresh host — the most sensitive value in the system, it opens every server CluPilot manages.', 'title' => 'Credentials', 'subtitle' => 'Keys for connected services — changeable here, without server access.', 'no_key' => 'SECRETS_KEY is not set on this server. Without a key of its own nothing is stored here — deliberately, because APP_KEY is rotated as routine maintenance.', 'locked_title' => 'Locked', 'locked_body' => 'Confirm your password. Being signed in is not enough here — the realistic case is an unlocked machine, and that is exactly what a session hands over.', 'unlock' => 'Unlock', 'unlocked_note' => 'Unlocked. Changes take effect on the running system immediately.', 'lock_again' => 'Lock again', 'source_stored' => 'Stored here', 'source_environment' => 'From the server file', 'source_none' => 'Not set', 'stored_value' => 'Stored', 'changed' => 'Changed', 'new_value' => 'New value', 'new_value_hint' => 'Stored encrypted and never shown in full again.', 'test' => 'Test connection', 'save' => 'Save', // Modal instead of wire:confirm (R23): the title names which of the // three keys is meant — the old sentence alone did not. The body is // unchanged, the former confirmation sentence; _confirm is now the short // confirm-button label, as everywhere else in the repo. 'save_title' => 'Really apply :label?', 'save_body' => 'It takes effect immediately — a wrong value stops payments.', 'save_confirm' => 'Apply', 'forget' => 'Remove from here', 'forget_title' => 'Remove :label from here?', 'forget_body' => 'The server file applies again — if it has one.', 'forget_confirm' => 'Remove', 'saved' => 'Saved. The new value applies immediately.', 'removed' => 'Removed. The server file applies again.', 'empty' => 'Enter a value.', 'check_title' => 'Result', 'check_missing' => 'No key is stored here and none is in the server file.', 'check_unreachable' => 'Stripe could not be reached. That says nothing about the key.', 'check_rejected' => 'Stripe rejected the key. It is wrong, revoked, or belongs to another account.', 'check_error' => 'Stripe answered unexpectedly.', 'check_account' => 'Account', 'check_mode' => 'Mode', 'mode_live' => 'LIVE — real payments', 'mode_test' => 'Test', 'mode_restricted' => 'restricted key', 'check_webhooks' => 'Configured webhooks and their events', 'check_webhooks_unknown' => 'This key may not read webhooks — normal for a restricted key.', 'check_webhooks_none' => 'Stripe has no webhook configured. Without one, payments are not recorded.', 'webhook_secret_note' => 'The webhook signing secret deliberately stays in the server file (.env). It is read on every incoming payment event — stored here, a database problem would turn into silently failing signature checks.', ];