{
  "login": {
    "subtitle": "Sign in to continue",
    "registerSubtitle": "Create an account",
    "createAdminSubtitle": "Create your admin account",
    "tokenSubtitle": "Enter your API key to continue",
    "email": "Email",
    "emailPlaceholder": "you@example.com",
    "name": "Name",
    "namePlaceholder": "Your name (optional)",
    "password": "Password",
    "passwordPlaceholder": "Enter password...",
    "newPasswordPlaceholder": "At least 12 characters",
    "confirmPassword": "Confirm Password",
    "confirmPasswordPlaceholder": "Repeat password",
    "inviteCodeLabel": "Invite Code",
    "inviteCodeOptional": " (optional — skip the approval wait)",
    "inviteCodePlaceholder": "Paste your invite code...",
    "tokenPlaceholder": "Enter API key...",
    "tokenAltPlaceholder": "Enter API token...",
    "signIn": "Sign In",
    "signingIn": "Signing in...",
    "register": "Register",
    "creatingAccount": "Creating account...",
    "createAdminAccount": "Create Admin Account",
    "signInWithGitHub": "Sign in with GitHub",
    "signInWithSSO": "Sign in with SSO",
    "loginWithToken": "Login with Token",
    "showTokenLogin": "Login with API Token",
    "hideTokenLogin": "Hide token login",
    "noAccount": "Don't have an account?",
    "hasAccount": "Already have an account?",
    "or": "or",
    "errors": {
      "loginFailed": "Login failed",
      "registrationFailed": "Registration failed",
      "invalidToken": "Invalid token",
      "passwordsDoNotMatch": "Passwords do not match",
      "enterToken": "Please enter a token",
      "networkError": "Network error",
      "inviteRequired": "A valid invite code is required to register"
    },
    "messages": {
      "registrationPending": "Registration successful, awaiting approval."
    }
  },
  "account": {
    "title": "Account",
    "subtitle": "Profile, credentials, and API keys",
    "unavailable": "Account unavailable",
    "unavailableText": "Authentication must be enabled to manage your account.",
    "tabs": {
      "profile": "Profile",
      "security": "Security",
      "apiKeys": "API Keys"
    },
    "profile": {
      "displayName": "Display name",
      "displayNameDescription": "Your public display name",
      "avatarUrl": "Avatar URL",
      "avatarUrlDescription": "URL to your profile picture",
      "avatarUrlPlaceholder": "https://example.com/avatar.png",
      "save": "Save",
      "saving": "Saving...",
      "updated": "Profile updated",
      "updateFailed": "Failed to update profile: {{message}}"
    },
    "security": {
      "currentPassword": "Current password",
      "currentPasswordDescription": "Enter your existing password to verify your identity",
      "currentPasswordPlaceholder": "Current password",
      "newPassword": "New password",
      "newPasswordDescription": "Must be at least 12 characters",
      "newPasswordPlaceholder": "New password",
      "confirmPassword": "Confirm password",
      "confirmPasswordDescription": "Re-enter your new password",
      "confirmPasswordPlaceholder": "Confirm new password",
      "changePassword": "Change password",
      "changing": "Changing...",
      "changed": "Password changed",
      "passwordsDoNotMatch": "Passwords do not match",
      "tooShort": "New password must be at least 12 characters",
      "oauthOnly": "Password management is not available for {{provider}} accounts."
    },
    "apiKeys": {
      "create": "Create API key",
      "createDescription": "Generate a key for programmatic access",
      "namePlaceholder": "Key name (e.g. my-app)",
      "createButton": "Create",
      "creating": "Creating...",
      "createdToast": "API key created",
      "createFailed": "Failed to create API key: {{message}}",
      "loadFailed": "Failed to load API keys: {{message}}",
      "revoke": "Revoke",
      "revokeKey": "Revoke key",
      "revokeTitle": "Revoke API Key",
      "revokeMessage": "Revoke API key \"{{name}}\"? This cannot be undone.",
      "revoked": "API key revoked",
      "revokeFailed": "Failed to revoke API key: {{message}}",
      "copyNow": "Copy now — this key won't be shown again",
      "copiedToast": "Copied to clipboard",
      "copyFailed": "Failed to copy",
      "empty": "No API keys yet. Create one above to get programmatic access.",
      "lastUsed": "last used {{date}}"
    }
  },
  "notFound": {
    "title": "Page Not Found",
    "text": "Looks like this page wandered off. Let's get you back on track.",
    "goHome": "Go Home"
  }
}
