Replaced inline confirm() dialogs with proper modal dialogs for key migration, DEK rotation, token revocation, and version rollback operations. Improves UX and provides better context for destructive actions.
210 lines
13 KiB
JSON
210 lines
13 KiB
JSON
{
|
|
"vault.title": "Vault",
|
|
"vault.secrets": "Secrets",
|
|
"vault.audit": "Audit Log",
|
|
"vault.tokens": "Access Tokens",
|
|
"vault.version_history": "Version History",
|
|
"vault.new_secret": "New Secret",
|
|
"vault.secrets_description": "Securely store and manage secrets for this repository",
|
|
"vault.audit_description": "View all access and modification events for this vault",
|
|
"vault.tokens_description": "Manage API access tokens for CI/CD and automation",
|
|
"vault.config_error_title": "Vault Not Configured",
|
|
"vault.config_error_message": "The vault encryption key has not been configured. Secrets cannot be encrypted or decrypted.",
|
|
"vault.config_error_fix": "Add MASTER_KEY to the [vault] section in app.ini or set the GITCADDY_VAULT_KEY environment variable.",
|
|
"vault.fallback_key_warning_title": "Vault Using Fallback Encryption Key",
|
|
"vault.fallback_key_warning_message": "The vault is currently using Gitea's SECRET_KEY for encryption because no dedicated vault key has been configured. If the SECRET_KEY is ever changed or lost, all vault secrets will become permanently unreadable.",
|
|
"vault.fallback_key_warning_fix": "To fix this, copy the current SECRET_KEY value and set it as MASTER_KEY in the [vault] section of app.ini, or set the GITCADDY_VAULT_KEY environment variable. This ensures vault encryption remains stable even if the SECRET_KEY changes.",
|
|
"vault.decryption_error_title": "Vault Decryption Failed",
|
|
"vault.decryption_error_message": "Unable to decrypt vault secrets. The encryption key may have been changed or is incorrect.",
|
|
"vault.decryption_error_fix": "Verify that the MASTER_KEY in the [vault] section of app.ini (or the GITCADDY_VAULT_KEY environment variable) matches the key that was used when the secrets were originally created.",
|
|
"vault.encryption_error_message": "Unable to encrypt the secret value. The vault encryption key may not be configured correctly.",
|
|
"vault.secret_name": "Name",
|
|
"vault.secret_type": "Type",
|
|
"vault.secret_value": "Secret Value",
|
|
"vault.description": "Description",
|
|
"vault.version": "Version",
|
|
"vault.created": "Created",
|
|
"vault.updated": "Updated",
|
|
"vault.created_by": "Created By",
|
|
"vault.comment": "Comment",
|
|
"vault.type": "Type",
|
|
"vault.all_types": "All Types",
|
|
"vault.type_generic": "Generic",
|
|
"vault.type_password": "Password",
|
|
"vault.type_api_key": "API Key",
|
|
"vault.type_certificate": "Certificate",
|
|
"vault.type_ssh_key": "SSH Key",
|
|
"vault.secret_name_placeholder": "my_secret_name",
|
|
"vault.secret_name_help": "Must start with a letter and contain only letters, numbers, underscores, and hyphens",
|
|
"vault.description_placeholder": "Optional description of this secret",
|
|
"vault.value_placeholder": "Enter the secret value",
|
|
"vault.value_help": "The value will be encrypted and stored securely",
|
|
"vault.version_comment_placeholder": "Optional comment describing this change",
|
|
"vault.enter_new_value": "Enter new value",
|
|
"vault.new_value": "New Value",
|
|
"vault.update": "Update",
|
|
"vault.update_secret": "Update Secret",
|
|
"vault.edit_secret": "Edit Secret",
|
|
"vault.edit_hint": "Saving creates a new version. Previous versions are preserved.",
|
|
"vault.value": "Value",
|
|
"vault.version_comment": "Version Comment",
|
|
"vault.save": "Save",
|
|
"vault.delete": "Delete",
|
|
"vault.create_secret": "Create Secret",
|
|
"vault.delete_secret": "Delete Secret",
|
|
"vault.restore_secret": "Restore Secret",
|
|
"vault.view_all_versions": "View All Versions",
|
|
"vault.back_to_list": "Back to List",
|
|
"vault.back_to_secret": "Back to Secret",
|
|
"vault.show_value": "Show value",
|
|
"vault.copy_value": "Copy to clipboard",
|
|
"vault.view_hidden": "View hidden",
|
|
"vault.view_raw": "View raw value",
|
|
"vault.hidden": "Hidden",
|
|
"vault.raw": "Raw",
|
|
"vault.copy": "Copy",
|
|
"vault.copied": "Copied!",
|
|
"vault.multiline_hint": "Supports multi-line content (env files, certificates, etc.)",
|
|
"vault.rollback": "Rollback",
|
|
"vault.rollback_to_this": "Rollback to this version",
|
|
"vault.restore": "Restore",
|
|
"vault.current": "Current",
|
|
"vault.deleted": "Deleted",
|
|
"vault.no_comment": "No comment",
|
|
"vault.unknown_user": "Unknown user",
|
|
"vault.no_secrets": "No Secrets",
|
|
"vault.no_secrets_description": "This repository doesn't have any secrets stored yet.",
|
|
"vault.create_first_secret": "Create your first secret",
|
|
"vault.no_versions": "No version history available",
|
|
"vault.no_audit_entries": "No Audit Entries",
|
|
"vault.no_audit_entries_description": "No vault activity has been recorded yet.",
|
|
"vault.show_deleted": "Show deleted secrets",
|
|
"vault.danger_zone": "Danger Zone",
|
|
"vault.confirm_delete": "Are you sure you want to delete this secret? It can be restored later.",
|
|
"vault.confirm_rollback": "Are you sure you want to rollback to version %d?",
|
|
"vault.secret_created": "Secret created successfully",
|
|
"vault.secret_updated": "Secret updated successfully",
|
|
"vault.secret_deleted": "Secret deleted successfully",
|
|
"vault.secret_restored": "Secret restored successfully",
|
|
"vault.secret_rolled_back": "Secret rolled back to version %d",
|
|
"vault.error_value_required": "Secret value is required",
|
|
"vault.error_update_failed": "Failed to update secret",
|
|
"vault.error_required_fields": "Name and value are required",
|
|
"vault.error_secret_exists": "A secret with this name already exists",
|
|
"vault.error_invalid_version": "Invalid version number",
|
|
"vault.error_version_not_found": "Version not found",
|
|
"vault.timestamp": "Timestamp",
|
|
"vault.action": "Action",
|
|
"vault.secret": "Secret",
|
|
"vault.user": "User",
|
|
"vault.ip_address": "IP Address",
|
|
"vault.status": "Status",
|
|
"vault.success": "Success",
|
|
"vault.failed": "Failed",
|
|
"vault.unknown": "Unknown",
|
|
"vault.user_id": "User",
|
|
"vault.token_access": "Token",
|
|
"vault.action_list": "List",
|
|
"vault.action_read": "Read",
|
|
"vault.action_write": "Write",
|
|
"vault.action_delete": "Delete",
|
|
"vault.action_restore": "Restore",
|
|
"vault.action_rollback": "Rollback",
|
|
"vault.action_rotate_key": "Rotate Key",
|
|
"vault.new_token": "New Token",
|
|
"vault.create_token": "Create Token",
|
|
"vault.token_description": "Description",
|
|
"vault.token_description_placeholder": "CI/CD pipeline token",
|
|
"vault.token_scope": "Scope",
|
|
"vault.scope_read": "Read Only",
|
|
"vault.scope_write": "Read & Write",
|
|
"vault.scope_admin": "Admin",
|
|
"vault.scope_help": "Read allows viewing secrets. Write allows creating and updating. Admin allows token management.",
|
|
"vault.token_ttl": "Expiration",
|
|
"vault.never_expires": "Never expires",
|
|
"vault.days": "days",
|
|
"vault.year": "year",
|
|
"vault.expires": "Expires",
|
|
"vault.last_used": "Last Used",
|
|
"vault.usage_count": "Uses",
|
|
"vault.never": "Never",
|
|
"vault.revoked": "Revoked",
|
|
"vault.expired": "Expired",
|
|
"vault.revoke": "Revoke",
|
|
"vault.token_created": "Token Created",
|
|
"vault.token_created_warning": "Copy this token now. You won't be able to see it again!",
|
|
"vault.no_tokens": "No Tokens",
|
|
"vault.no_tokens_description": "Create a token to allow API access to this vault.",
|
|
"vault.confirm_revoke_token": "Are you sure you want to revoke this token? This cannot be undone.",
|
|
"vault.token_revoked": "Token revoked successfully",
|
|
"vault.error_description_required": "Token description is required",
|
|
"vault.error_create_token_failed": "Failed to create token",
|
|
"vault.error_invalid_token_id": "Invalid token ID",
|
|
"vault.error_token_not_found": "Token not found",
|
|
"vault.error_revoke_failed": "Failed to revoke token",
|
|
"vault.license": "License",
|
|
"vault.license_tier": "Tier",
|
|
"vault.max_secrets": "Max Secrets",
|
|
"vault.max_versions": "Max Versions",
|
|
"vault.audit_retention": "Audit Retention",
|
|
"vault.unlimited": "Unlimited",
|
|
"vault.type_file": "File",
|
|
"vault.compare": "Compare",
|
|
"vault.compare_version": "Compare this version",
|
|
"vault.compare_versions": "Compare Versions",
|
|
"vault.compare_from": "From Version",
|
|
"vault.compare_to": "To Version",
|
|
"vault.run_compare": "Compare",
|
|
"vault.unified_diff": "Unified Diff",
|
|
"vault.back_to_versions": "Back to Versions",
|
|
"vault.compare_same_version": "Cannot compare a version with itself",
|
|
"vault.key_mismatch_title": "Encryption Key Mismatch",
|
|
"vault.key_mismatch_message": "The vault encryption key has changed since these secrets were created.",
|
|
"vault.key_mismatch_explanation": "Secrets in this vault were encrypted with a different master key than what is currently configured. This can happen if the MASTER_KEY in app.ini was changed, or if secrets were created before the key was set (using the fallback key).",
|
|
"vault.key_mismatch_solutions_title": "Possible Solutions",
|
|
"vault.key_mismatch_solution_1": "Restore the original MASTER_KEY that was used when secrets were created",
|
|
"vault.key_mismatch_solution_2": "If using the fallback key previously, temporarily remove MASTER_KEY from [vault] section to use the original key",
|
|
"vault.key_mismatch_solution_3": "Contact your administrator to migrate secrets to the new key",
|
|
"vault.key_mismatch_admin_note": "Admin: Check app.ini [vault] MASTER_KEY setting and compare with the key used when secrets were originally created.",
|
|
"vault.key_migration_title": "Key Migration",
|
|
"vault.key_migration_description": "Migrate vault secrets from an old encryption key to the current key",
|
|
"vault.key_migration_warning_title": "Important",
|
|
"vault.key_migration_warning": "This operation will re-encrypt your vault's data encryption keys using the current master key. Make sure you have the correct old key before proceeding.",
|
|
"vault.when_to_migrate": "When to use key migration",
|
|
"vault.migrate_reason_1": "You changed the MASTER_KEY in app.ini and existing secrets are now inaccessible",
|
|
"vault.migrate_reason_2": "Secrets were created using the fallback key (Gitea's SECRET_KEY) before a dedicated MASTER_KEY was configured",
|
|
"vault.migrate_reason_3": "You're seeing 'Encryption Key Mismatch' errors when accessing vault secrets",
|
|
"vault.old_master_key": "Old Master Key",
|
|
"vault.old_key_placeholder": "Enter the previous encryption key",
|
|
"vault.old_key_help": "Enter the old MASTER_KEY or Gitea's SECRET_KEY that was used when secrets were originally created. Can be hex-encoded (64 characters) or raw text.",
|
|
"vault.migration_scope": "Migration Scope",
|
|
"vault.migrate_this_repo": "This repository only",
|
|
"vault.migrate_all_repos": "All repositories (instance-wide)",
|
|
"vault.migration_scope_help": "Choose whether to migrate just this repository or all repositories with vault data",
|
|
"vault.confirm_migrate": "Are you sure you want to migrate the encryption keys? This cannot be undone.",
|
|
"vault.start_migration": "Start Migration",
|
|
"vault.migration_complete": "Migration Complete",
|
|
"vault.migration_success_count": "%d repository keys migrated successfully",
|
|
"vault.migration_failed_count": "%d repository keys failed to migrate",
|
|
"vault.migration_failed": "Migration Failed",
|
|
"vault.dek_rotation_title": "DEK Rotation (Enterprise)",
|
|
"vault.dek_rotation_description": "Generate a new Data Encryption Key and re-encrypt all secrets. This is a security best practice for periodic key rotation.",
|
|
"vault.dek_rotation_enterprise_only": "DEK rotation requires an Enterprise license.",
|
|
"vault.confirm_rotate": "Are you sure you want to rotate the encryption key? All secret versions will be re-encrypted.",
|
|
"vault.rotate_dek": "Rotate DEK",
|
|
"vault.key_management": "Key Management",
|
|
"vault.old_key_required": "Old master key is required",
|
|
"vault.dek_rotation_complete": "DEK rotation completed successfully",
|
|
"vault.migrate_from_fallback": "Migrate from Fallback Key",
|
|
"vault.migrate_from_fallback_description": "Your vault is using a dedicated MASTER_KEY, but existing secrets were encrypted with Gitea's SECRET_KEY (fallback). Click below to automatically migrate all secrets to your new master key.",
|
|
"vault.migrate_from_fallback_button": "Migrate All Secrets to MASTER_KEY",
|
|
"vault.no_dedicated_master_key": "No dedicated MASTER_KEY is configured. Cannot migrate from fallback.",
|
|
"vault.no_fallback_key": "Could not retrieve the fallback key.",
|
|
"vault.migration_from_fallback_success": "Successfully migrated %d repository keys to the new master key.",
|
|
"vault.migration_partial_success": "Migration completed: %d succeeded, %d failed.",
|
|
"vault.current_key_source": "Current key source",
|
|
"vault.one_click_migration": "One-Click Migration",
|
|
"vault.manual_migration": "Manual Migration",
|
|
"vault.manual_migration_description": "If your secrets were encrypted with a different key (not the fallback), enter it manually below.",
|
|
"vault.confirm_migrate_fallback": "This will migrate all vault secrets from the fallback key (Gitea SECRET_KEY) to your dedicated MASTER_KEY. This operation cannot be undone. Continue?"
|
|
} |