diff --git a/frontend/locales/en.json b/frontend/locales/en.json index 29d5db4..841d55f 100644 --- a/frontend/locales/en.json +++ b/frontend/locales/en.json @@ -2666,5 +2666,96 @@ "guide105.dl_md_title": "Download this guide as Markdown", "guide105.dl_pdf_title": "Download this guide as PDF", "guide105.export_title": "ObsiGate User Guide", - "guide105.export_footer": "Generated from ObsiGate {version} — {date}. This document mirrors the in-app guide; the latest version always lives in the application." + "guide105.export_footer": "Generated from ObsiGate {version} — {date}. This document mirrors the in-app guide; the latest version always lives in the application.", + "coffres.acces": "Access and consumers", + "coffres.actions": "Actions", + "coffres.active": "Active", + "coffres.confirm_dek_rotate": "Rotate this vault's DEK? Secrets will be re-encrypted, with no change for consumers.", + "coffres.confirm_delete": "Delete this secret? The following grants will break:", + "coffres.confirm_revoke_consumer": "Revoke this consumer? All of its distributions will be denied.", + "coffres.confirm_revoke_octroi": "Revoke this grant? Access will be denied on the next call.", + "coffres.consumer_no_distribution": "No distribution in the recent log.", + "coffres.consumers": "Consumers", + "coffres.copied": "Copied.", + "coffres.copy_failed": "Copy failed.", + "coffres.copy_generated": "Copy the generated value", + "coffres.copy_reference": "Copy", + "coffres.create_coffre_title": "New vault", + "coffres.create_octroi": "Create a grant", + "coffres.create_secret_title": "New secret", + "coffres.created": "Created", + "coffres.dek_rotate": "Rotate DEK", + "coffres.delete": "Delete", + "coffres.deleted": "Secret deleted.", + "coffres.description": "Description", + "coffres.detail": "Details", + "coffres.disabled": "Secret vaults are disabled on this instance (OBSIGATE_SECRETS_ENABLED).", + "coffres.expiration": "Expiration", + "coffres.expired": "Expired", + "coffres.expires": "Expires", + "coffres.expiring_soon": "Expiring soon", + "coffres.generate": "Generate", + "coffres.generate_unavailable": "Generation is unavailable in this browser.", + "coffres.grant_all_coffre": "Whole vault", + "coffres.journal": "Access log", + "coffres.kek_absente": "Master key missing: metadata is visible, but no secret can be created or distributed.", + "coffres.kek_generate": "Generate a KEK", + "coffres.kek_generate_hint": "The generated KEK is returned only once and is never stored by ObsiGate: back it up outside the repository immediately.", + "coffres.kek_new": "New KEK", + "coffres.kek_ok": "Master key configured.", + "coffres.kek_once_hint": "Copy it now and back it up outside the repository: it will never be shown again.", + "coffres.kek_rotate": "Rotate KEK", + "coffres.kek_rotated": "KEK rotated. Remember to replace the KEK in the environment or KEK file.", + "coffres.kek_rotation_hint": "After rotation, replace the KEK in the environment or KEK file, otherwise distributions will fail.", + "coffres.last_use": "Last use", + "coffres.loading": "Loading vaults…", + "coffres.manual_copy": "One-time manual copy", + "coffres.manual_copy_admin_only": "Admin only (no session-based distribution endpoint exists yet on the backend).", + "coffres.manual_copy_confirm": "A temporary consumer will be created, the value will be copied to the clipboard without being shown, then the consumer will be revoked immediately. The distribution will be audited.", + "coffres.modified": "Modified", + "coffres.name": "Name", + "coffres.name_hint": "Lowercase, digits, - or _ ; 3 to 128 characters (e.g. gitea-token).", + "coffres.name_required": "A name is required.", + "coffres.never_in_note": "Never paste the value into the note.", + "coffres.new_coffre": "New vault", + "coffres.new_consumer": "New consumer", + "coffres.new_secret": "New secret", + "coffres.no_coffre": "No visible vault.", + "coffres.no_secrets": "No secret in this vault.", + "coffres.note": "Note", + "coffres.octroi_created": "Grant created.", + "coffres.octroi_default_90": "Empty = default expiration (90 days).", + "coffres.octroi_no_expiration": "No expiration", + "coffres.octroi_revoked": "Grant revoked.", + "coffres.octrois": "Grants", + "coffres.perimetre": "Scope", + "coffres.propose_octroi": "Propose a grant (optional)", + "coffres.reference": "Reference", + "coffres.revoke": "Revoke", + "coffres.rotated": "Secret rotated: the new version is active.", + "coffres.rotation": "Rotate", + "coffres.rotation_title": "Rotate secret", + "coffres.save": "Save", + "coffres.saved": "Secret saved. The value will no longer be shown.", + "coffres.search_placeholder": "Filter secrets…", + "coffres.secret": "Secret", + "coffres.secret_saved_octroi_failed": "Secret saved, but the grant failed", + "coffres.secrets": "Secrets", + "coffres.select_secret": "Select a secret to see its metadata.", + "coffres.service": "Service", + "coffres.show_before_save": "Show before saving", + "coffres.slug": "Slug", + "coffres.slug_hint": "Lowercase, digits, - or _ ; 3 to 64 characters.", + "coffres.status": "Status", + "coffres.subtitle": "Secret vaults — metadata only, a value is never shown again after it is saved.", + "coffres.target_id": "Target id", + "coffres.target_id_required": "A target id is required.", + "coffres.target_type": "Target type", + "coffres.title": "Secrets", + "coffres.token_once": "Token (shown only once)", + "coffres.token_once_hint": "Copy it now: it will never be shown again.", + "coffres.type": "Type", + "coffres.value": "Value", + "coffres.value_required": "A value is required.", + "coffres.version": "Version" }