
[domain]

[domain.affiliation]
affiliate = "Affiliate"
general = "General"

[domain.company]
baron = "Baron"
halla = "Halla"
hanmac = "Hanmac"
jangheon = "Jangheon"
ptc = "PTC"
saman = "Saman"

[domain.tenant_type]
company = "Company"
company_group = "Company Group"
organization = "Organization"
personal = "Personal"
user_group = "User Group"

[err]

[err.common]
unknown = "An unknown error occurred."

[err.backend]
authorization_pending = "Authentication approval is still pending."
bad_request = "Please check your request."
conflict = "The request conflicts with the current state."
expired_token = "The token has expired."
forbidden = "This request is not allowed."
internal_error = "An internal error occurred while processing the request."
invalid_code = "The verification code is invalid."
invalid_or_expired_code = "The verification code is invalid or expired."
invalid_session = "The session is invalid."
invalid_session_reference = "The session reference is invalid."
not_found = "The requested authentication flow was not found."
not_supported = "This login method is not supported."
password_or_email_mismatch = "Email or password does not match."
rate_limited = "Too many requests. Please try again later."
service_unavailable = "The authentication service is currently unavailable."
slow_down = "Requests are too frequent. Please try again shortly."

[err.userfront]

[err.userfront.auth_proxy]
consent_accept = "Consent Accept"
consent_fetch = "Consent Fetch"
consent_reject = "Consent Reject"
linked_app_revoke = "Linked App Revoke"
login_failed = "Login Failed"
oidc_accept = "OIDC Accept"
password_reset_complete = "Password Reset Complete"
password_reset_init = "Password Reset Init"

[err.userfront.profile]
load_failed = "Load Failed"
password_change_failed = "Password Change Failed"
send_code_failed = "Send Code Failed"
update_failed = "Update Failed"
verify_code_failed = "Verify Code Failed"

[err.userfront.session]
missing = "Missing"

[msg]

[msg.admin]
idp_env_prod = "IDP env: prod"
logout_confirm = "Are you sure you want to log out?"
scope_admin = "Scoped to /admin"
session_ttl = "Session TTL: 15m admin"
tenant_headers = "Tenant-aware headers"

[msg.admin.common]
forbidden = "You do not have permission to perform this action."

[msg.admin.api_keys]

[msg.admin.api_keys.create]
error = "Error"
name_required = "Name Required"
scope_required = "Scope Required"
scopes_count = "Scopes Count"
scopes_hint = "Scopes Hint"
subtitle = "Subtitle"

[msg.admin.api_keys.create.success]
copy_hint = "Copy Hint"
notice = "Notice"
notice_emphasis = "Notice Emphasis"
notice_suffix = "Notice Suffix"

[msg.admin.api_keys.list]
delete_confirm = "Delete Confirm"
empty = "Empty"
fetch_error = "Fetch Error"
subtitle = "Subtitle"

[msg.admin.api_keys.list.registry]
count = "Count"

[msg.admin.audit]
empty = "Empty"
end = "End of audit feed"
load_error = "Error loading logs: {{error}}"
loading = "Loading audit logs..."
subtitle = "Subtitle"

[msg.admin.audit.filters]
empty = "Empty"

[msg.admin.audit.registry]
count = "Count"

[msg.admin.groups]

[msg.admin.groups.create]
description = "Adds a new organization unit such as a department or team."
title = "Create New Organization Unit"

[msg.admin.groups.list]
create_error = "Create Failed"
create_success = "Create Success"
delete_confirm = "Delete Confirm"
delete_error = "Delete Error"
delete_success = "Delete Success"
empty = "Empty"
import_error = "Import Error"
import_success = "Import Success"
loading = "Loading..."
subtitle = "Subtitle"

[msg.admin.groups.members]
add_success = "Add Success"
count = "Count"
empty = "Empty"
remove_confirm = "Remove Confirm"
remove_success = "Remove Success"
title = "Title"

[msg.admin.groups.prompt]
user_id = "User Id"

[msg.admin.groups.roles]
assign_success = "Assign Success"
description = "Description"
empty = "Empty"
remove_confirm = "Are you sure you want to revoke this role?"
remove_success = "Role revoked successfully."

[msg.admin.header]
subtitle = "Tenant isolation & least privilege by default"

[msg.admin.notice]
idp_policy = "IDP Policy"
scope = "Scope"

[msg.admin.org]
hover_member_info = "Hover to see member details."
import_description = "Upload a CSV file to bulk register the organization chart."
import_error = "An error occurred during organization chart import."
import_success = "Organization chart imported successfully."

[msg.admin.overview]
description = "Description"
idp_fallback = "Fallback: Descope"
idp_primary = "IDP: Ory primary"

[msg.admin.overview.playbook]
description = "Description"
idp_body = "IDP Body"
idp_title = "Backend-only IDP access"
tenant_body = "Tenant Body"
tenant_title = "Tenant isolation"

[msg.admin.overview.quick_links]
description = "Description"

[msg.admin.overview.summary]
audit_events_24h = "24h Audit Events"
oidc_clients = "OIDC Clients"
policy_gate = "Policy Gate Status"
total_tenants = "Total Tenants"

[msg.admin.tenants]
approve_confirm = "Approve Confirm"
approve_success = "Approve Success"
delete_confirm = "Delete Tenant \"{{name}}\"?"
delete_success = "Tenant deleted."
empty = "Empty"
fetch_error = "Fetch Error"
missing_id = "No Tenant ID."
not_found = "Tenant not found."
remove_sub_confirm = 'Remove tenant "{{name}}" from sub-tenants?'
subtitle = "Subtitle"

[msg.admin.tenants.admins]
add_success = "Add Success"
empty = "Empty"
remove_confirm = "Remove Confirm"
remove_success = "Remove Success"
subtitle = "Subtitle"

[msg.admin.tenants.owners]
add_success = "Owner added successfully."
empty = "No owners registered."
remove_confirm = "Are you sure you want to remove this owner?"
remove_success = "Owner permission revoked."
subtitle = "List of owners with top-level permissions for this tenant."

[msg.admin.tenants.create]
subtitle = "Subtitle"

[msg.admin.tenants.create.form]
domains_help = "Users with these email domains will be automatically assigned to this tenant."

[msg.admin.tenants.create.memo]
body = "Body"
subtitle = "Subtitle"

[msg.admin.tenants.create.profile]
subtitle = "Subtitle"

[msg.admin.tenants.members]
desc = "View the list of users belonging to this organization."
empty = "No members found."
limit_notice = "Showing members from the first 10 descendant organizations due to size limits."

[msg.admin.tenants.registry]
count = "Count"

[msg.admin.tenants.schema]
empty = "No custom fields defined. Click \"Add Field\" to begin."
missing_id = "Tenant ID missing"
subtitle = "Define custom attributes for users in this tenant."
update_error = "Failed to update schema"
update_success = "Schema updated successfully"

[msg.admin.tenants.sub]
empty = "Empty"
subtitle = "Subtitle"

[msg.admin.users]

[msg.admin.users.bulk]
delete_confirm = "Are you sure you want to delete the selected {{count}} users?"
delete_success = "{{count}} users have been deleted."
description = "Bulk register or manage users via CSV file."
move_description = "Bulk move selected users to another tenant."
move_error = "Error moving users."
move_success = "{{count}} users moved successfully."
parsed_count = "Parsed {{count}} rows."
update_success = "User info updated successfully."

[msg.admin.users.create]
error = "Failed to User Create."
password_required = "Password Required"
success = "User created successfully."

[msg.admin.users.create.account]
subtitle = "Subtitle"

[msg.admin.users.create.form]
email_required = "Email Required"
field_invalid = "Invalid {{label}} format."
field_required = "{{label}} is required."
name_required = "Name Required"
password_auto_help = "Password Auto Help"
password_manual_help = "Password Manual Help"
role_help = "Role Help"

[msg.admin.users.create.password_generated]
default = "Default"
with_email = "With Email"

[msg.admin.users.detail]
edit_subtitle = "Edit Subtitle"
not_found = "Not Found"
update_error = "Failed to User Edit."
update_success = "Update Success"

[msg.admin.users.detail.form]
field_required = "Required."
name_required = "Name Required"

[msg.admin.users.detail.security]
password_hint = "Password Hint"

[msg.admin.users.list]
delete_confirm = "Delete Confirm"
empty = "Empty"
fetch_error = "Fetch Error"
subtitle = "Subtitle"

[msg.admin.users.list.columns]
description = "Select columns to display in the table."
no_custom = "No custom fields defined for this tenant."

[msg.admin.users.list.registry]
count = "Count"

[msg.dev]
logout_confirm = "Are you sure you want to log out?"

[msg.dev.auth]
access_denied_description = "DevFront is for administrators only. Request access from your administrator."
access_denied_title = "Access denied."

[msg.dev.audit]
empty = "No audit logs found."
forbidden = "You do not have permission to view audit logs. Please request access from an administrator."
load_error = "Error loading audit logs: {{error}}"
loaded_count = "Loaded {{count}} rows"
loading = "Loading audit logs..."
subtitle = "Shows DevFront activity history within current tenant/app scope."

[msg.dev.clients]
load_error = "Error loading clients: {{error}}"
loading = "Loading apps..."
showing = "Showing {{shown}} of {{total}} apps"
deleted = "App deleted."
delete_error = "Failed to delete: {{error}}"
delete_confirm = "Are you sure you want to delete this app? This action cannot be undone."

[msg.dev.clients.consents]
empty = "No consents found."
load_error = "Error loading consents: {{error}}"
loading = "Loading consents..."
showing = "Showing users {{from}}-{{to}} of {{total}}"
subtitle = "Review and manage user consent grants for this OIDC relying party."
revoke_confirm = "Are you sure you want to revoke this user's permissions? After revocation, the user must consent again on next login."

[msg.dev.clients.details]
copy_client_id = "Client ID copied."
copy_client_secret = "Copy Client Secret"
copy_endpoint = "{{label}} copied."
load_error = "Error loading client: {{error}}"
loading = "Loading client..."
missing_id = "Client ID is required."
redirect_saved = "Redirect URIs saved."
rotate_confirm = "Rotate Confirm"
rotate_error = "Rotate Error"
save_error = "Save Error"
secret_rotated = "Secret Rotated"
secret_unavailable = "SECRET_NOT_AVAILABLE"
subtitle = "Manage OIDC credentials and endpoints."

[msg.dev.clients.details.redirect]
description = "List the allowed URLs to redirect users to after successful authentication. Separate multiple values with commas (,)."

[msg.dev.clients.details.security]
footer = "For secret rotation, we recommend checking admin session TTL, rate limits, and notification integrations."
note = "Keep endpoints read-only, and tie secret rotation/copy actions to audit logs."

[msg.dev.clients.general]
load_error = "Error loading client: {{error}}"
loading = "Loading client..."
saved = "Saved"
save_error = "Failed to save: {{error}}"
status_changed = "Status changed to {{status}}."

[msg.dev.clients.federation]
subtitle = "Manage external identity providers for this application."
add_subtitle = "Connect an external OIDC provider."
empty = "No IdP configurations found."

[msg.dev.clients.general.identity]
logo_help = "PNG or SVG URL shown on the consent and authentication screens."
logo_invalid = "The app logo URL format is invalid. Enter an http or https address."
logo_preview_loading = "Loading the logo preview."
logo_preview_ready = "Logo preview loaded."
logo_preview_failed = "Failed to load the logo preview. Check the URL or image access policy."
subtitle = "Set the application name, description, and logo."

[msg.dev.clients.general.redirect]
help = "Enter the redirect URIs. You can modify them in the Federation tab after creation."

[msg.dev.clients.general.scopes]
empty = "No scopes registered."
subtitle = "Define the permission scopes this application can request."

[msg.dev.clients.general.security]
private_help = "Server side App: For apps that can safely store a client secret, such as Node.js or Java servers."
pkce_help = "PKCE App (SPA/Mobile): For apps that cannot safely store a client secret. PKCE is mandatory."
subtitle = "Select application type. Security level determines authentication method."
headless_login_help = "Operate as Headless Login using private_key_jwt and public key registration. Headless login is only available for this profile."

[msg.dev.clients.general.public_key]
auth_method_client_secret_basic_help = "Standard authentication method for server-side applications."
auth_method_none_help = "Use this for PKCE-based public clients."
auth_method_private_key_jwt_help = "Signed key-based client authentication recommended for Headless Login bootstrap and JAR verification."
guide_example = "Recommended example: https://rp.example.com/.well-known/jwks.json"
guide_intro = "A JWKS URI is not created by Baron. It is the URL where the RP backend exposes its public key."
guide_step_1 = "Generate a key pair on the RP server and keep the private key only in the RP backend."
guide_step_2 = "Expose the public key from the RP backend through a JWKS (JSON Web Key Set) endpoint."
guide_step_3 = "Enter a URL such as https://rp.example.com/.well-known/jwks.json in DevFront."
headless_help = "You can design your own login UI within the application. While the UI is yours, the actual identity verification and security checks are handled in the background via Baron's API."
jwks_uri_help = "Enter the public key endpoint URL exposed by the RP backend. Example: https://rp.example.com/.well-known/jwks.json"
request_object_alg_help = "Specify the JAR (Request Object) signing algorithm used for headless login."
allowed_algorithms_help = "Headless login JAR verification accepts only the algorithms listed below."
subtitle = "Manage the public key and headless login settings required for Headless Login evaluation."
cache_empty = "No cached JWKS exists yet. Use Refresh to ask the backend to verify and cache the key."
cache_help = "Shows the last JWKS verification state stored by the backend."
cache_parsed_keys_help = "Raw JWKS stays hidden. Only parsed key metadata is shown here."
cache_parsed_keys_empty = "No parsed JWKS keys are available yet."
cache_refresh_failed = "Failed to refresh the JWKS cache: {{error}}"
cache_refreshed = "JWKS cache refreshed."
cache_revoke_confirm = "Deleting the JWKS cache means the backend must fetch and verify it again before the next use. Continue?"
cache_revoke_failed = "Failed to delete the JWKS cache: {{error}}"
cache_revoked = "JWKS cache deleted."

[msg.dev.clients.general.public_key.validation]
headless_requires_alg = "Headless login requires a Request Object Signing Algorithm."
headless_requires_private_key_jwt = "Headless login requires token endpoint auth method to be private_key_jwt."
headless_requires_public_key = "Headless login requires a JWKS URI."
invalid_jwks_uri = "JWKS URI format is invalid."
private_key_jwt_requires_public_key = "Signed key-based authentication requires a JWKS URI."

[msg.dev.clients.help]
docs_body = "Includes PKCE, client_secret_basic, redirect URI validation tips."
subtitle = "Developer guides for Confidential/Public clients, redirect URIs, and auth methods."

[msg.dev.clients.registry]
description = "OIDC 앱, 인증 방식, 리다이렉트 URI, 비밀키 재발행을 감사 로그와 함께 관리합니다."

[msg.dev.clients.scopes]
email = "Email"
openid = "Openid"
profile = "Profile"

[msg.dev.dashboard]

[msg.dev.dashboard.hero]
body = "Body"
title_emphasis = "Title Emphasis"
title_prefix = "Title Prefix"
title_suffix = "Title Suffix"

[msg.dev.dashboard.notice]
consent_audit = "Consent Audit"
dev_scope = "Dev Scope"
hydra_health = "Hydra Health"

[msg.dev.sidebar]
notice = "Developer Console"
notice_detail = "Register and manage client applications."

[msg.info]
saved_success = "Saved successfully."

[msg.userfront]
greeting = "Greeting"

[msg.userfront.audit]
date = "Date"
device = "Device"
end = "End"
ip = "Ip"
load_more_error = "Load More Error"
result = "Result"
session_id = "Session ID: {{value}}"
status = "Status"

[msg.userfront.dashboard]
approved_device = "Approved Device"
approved_ip = "Approve IP: {{ip}}"
audit_empty = "Audit Empty"
audit_load_error = "Audit Load Error"
render_error = "Dashboard render error: {{error}}"
auth_method = "Auth Method"
client_id = "Client ID: {{id}}"
client_id_missing = "Client Id Missing"
current_status = "Current Status"
last_auth = "Last Auth"
link_missing = "Link Missing"
link_open_error = "Link Open Error"
session_id_copied = "Session Id Copied"

[msg.userfront.dashboard.activities]
empty = "Empty"
empty_detail = "Empty Detail"
error = "Error"

[msg.userfront.dashboard.approved_session]
copy_click = "Copy Click"
copy_tap = "Copy Tap"
none = "None"

[msg.userfront.dashboard.revoke]
confirm = "Confirm"
error = "Error"
success = "Success"

[msg.userfront.dashboard.scopes]
empty = "Empty"

[msg.userfront.dashboard.timeline]
load_error = "Load Error"

[msg.userfront.error]
detail_contact = "Please contact administrator."
detail_generic = "Detail Generic"
detail_request = "Detail Request"
id = "Id"
title = "Title"
title_generic = "Title Generic"
title_with_code = "Title With Code"
type = "Type"

[msg.userfront.error.whitelist]
"$normalizedCode" = "{{error}}"
settings_disabled = "Account settings are currently unavailable."
invalid_session = "Your session has expired. Please sign in again."
verification_required = "Additional verification is required. Please follow the instructions."
recovery_expired = "The recovery link has expired. Please request a new one."
recovery_invalid = "The recovery link is invalid."
rate_limited = "Too many requests. Please try again later."
not_found = "The requested page could not be found."
bad_request = "Please check your input."
password_or_email_mismatch = "Email or password does not match."

[msg.userfront.error.ory]
"$normalizedCode" = "{{error}}"
access_denied = "The user denied the consent request."
consent_required = "Consent is required to continue."
interaction_required = "Additional interaction is required. Please try again."
invalid_client = "Client authentication failed."
invalid_grant = "The authorization grant is invalid or expired."
invalid_request = "The request is invalid."
invalid_scope = "The requested scope is invalid."
login_required = "Login is required."
request_forbidden = "The request was forbidden."
server_error = "An authentication server error occurred."
temporarily_unavailable = "The authentication server is temporarily unavailable."
unauthorized_client = "The client is not authorized for this request."
unsupported_response_type = "The response type is not supported."

[msg.userfront.forgot]
description = "Description"
dry_send = "Dry Send"
error = "Error"
input_required = "Input Required"
sent = "Sent"

[msg.userfront.login]
cookie_check_failed = "Cookie Check Failed"
dry_send = "Dry Send"
link_failed = "Link Failed"
link_send_failed = "Link Send Failed"
link_sent_email = "Link Sent Email"
link_sent_phone = "Link Sent Phone"
link_timeout = "Time expired."
no_account = "New to Baron?"
oidc_failed = "OIDC Failed"
qr_expired = "Time expired."
qr_init_failed = "QR Init Failed"
qr_login_required = "QR Login Required"
token_missing = "Token Missing"
verification_failed = "Verification Failed"

[msg.userfront.login.link]
helper = "Sending you a login link"
missing_login_id = "Missing Login Id"
missing_phone = "Missing Phone"
resend_wait = "Resend Wait"
short_code_help = "Short Code Help"

[msg.userfront.login.password]
failed = "Failed"
missing_credentials = "Missing Credentials"

[msg.userfront.login.qr]
load_failed = "Load Failed"
scan_hint = "Scan Hint"

[msg.userfront.login.short_code]
invalid = "Invalid"

[msg.userfront.login.unregistered]
body = "Body"

[msg.userfront.login.verification]
approved = "Approved"
approved_local = "Approved Local"
success = "Success"

[msg.userfront.login_success]
subtitle = "Subtitle"

[msg.userfront.profile]
department_missing = "Department Missing"
department_required = "Department Required"
email_missing = "Email Missing"
greeting = "Greeting"
load_failed = "Load Failed"
name_missing = "Name Missing"
name_required = "Name Required"
phone_required = "Phone Required"
phone_verify_required = "Phone Verify Required"
update_failed = "Update Failed"
update_success = "Update Success"

[msg.userfront.profile.password]
change_failed = "Change Failed"
changed = "Changed"
current_required = "Current Required"
mismatch = "Mismatch"
new_required = "New Required"
subtitle = "Subtitle"

[msg.userfront.profile.phone]
code_sent = "Code Sent"
send_failed = "Send Failed"
verified = "Verified"
verify_failed = "Verify Failed"
verify_notice = "Verify Notice"

[msg.userfront.profile.section]
basic = "Basic"
organization = "Organization"
security = "Security"

[msg.userfront.qr]
camera_error = "Camera Error"
permission_error = "Permission Error"
permission_required = "Permission Required"

[msg.userfront.reset]
invalid_body = "Invalid Body"
invalid_link = "Invalid Link"
invalid_title = "Invalid Title"
policy_loading = "Policy Loading"
success = "Success"

[msg.userfront.reset.error]
empty_password = "Please enter Password."
generic = "Generic"
lowercase = "Lowercase"
min_length = "Min Length"
min_types = "Min Types"
mismatch = "Mismatch"
number = "Number"
symbol = "Symbol"
uppercase = "Uppercase"

[msg.userfront.reset.policy]
lowercase = "Lowercase"
min_length = "Min Length"
min_types = "Min Types"
number = "Number"
symbol = "Symbol"
uppercase = "Uppercase"

[msg.userfront.sections]
apps_subtitle = "Apps Subtitle"
audit_subtitle = "Audit Subtitle"

[msg.userfront.settings]
disabled = "Disabled"

[msg.userfront.signup]
failed = "Failed"
privacy_full = "Privacy Full"
tos_full = "Tos Full"

[msg.userfront.signup.agreement]
title = "Agreement Title"

[msg.userfront.signup.auth]
affiliate_notice = "Affiliate Notice"
title = "Auth Title"

[msg.userfront.signup.email]
code_mismatch = "Code Mismatch"
duplicate = "Duplicate"
invalid = "Invalid"
send_failed = "Send Failed"
verified = "Verified"
verify_failed = "Verify Failed"

[msg.userfront.signup.password]
length_required = "Length Required"
lowercase_required = "Lowercase Required"
mismatch = "Mismatch"
number_required = "Number Required"
symbol_required = "Symbol Required"
title = "Password Title"
uppercase_required = "Uppercase Required"

[msg.userfront.signup.password.rule]
lowercase = "Lowercase"
min_length = "Min Length"
min_types = "Min Types"
number = "Number"
symbol = "Symbol"
uppercase = "Uppercase"

[msg.userfront.signup.phone]
code_mismatch = "Code Mismatch"
send_failed = "Send Failed"
verified = "Verified"
verify_failed = "Verify Failed"

[msg.userfront.signup.policy]
loading = "Loading"
lowercase = "Lowercase"
min_length = "Min Length"
min_types = "Min Types"
number = "Number"
summary = "Summary"
symbol = "Symbol"
uppercase = "Uppercase"

[msg.userfront.signup.profile]
affiliate_hint = "Affiliate Hint"
title = "Profile Title"

[msg.userfront.signup.success]
body = "Body"
title = "Title"

[ui]

[ui.admin]
brand = "Brand"
dev_role_switcher = "🛠 DEV Role Switcher"
title = "Admin Control"

[ui.admin.api_keys]

[ui.admin.api_keys.create]
name_label = "Name Label"
name_placeholder = "Name Placeholder"
section_name = "Section Name"
section_scopes = "Section Scopes"
submit = "Submit"
title = "Title"

[ui.admin.api_keys.create.success]
copy_secret = "Copy Secret"
go_list = "Go List"
title = "Title"

[ui.admin.api_keys.list]
add = "Add"
title = "Title"

[ui.admin.api_keys.list.breadcrumb]
list = "List"
section = "API Keys"

[ui.admin.api_keys.list.registry]
title = "API Key Registry"

[ui.admin.api_keys.list.table]
actions = "ACTIONS"
client_id = "CLIENT ID"
last_used = "LAST USED"
name = "NAME"
scopes = "SCOPES"

[ui.admin.audit]
export_csv = "Export CSV"
load_more = "Load more"
target = "Target · {{target}}"
title = "Title"

[ui.admin.audit.breadcrumb]
logs = "Logs"
section = "Audit"

[ui.admin.audit.copy]
actor_id = "Copy actor id"
request_id = "Copy request id"
target = "Copy target"

[ui.admin.audit.details]
actor = "Actor"
actor_id = "Actor ID · {{value}}"
after = "After · {{value}}"
before = "Before · {{value}}"
device = "Device · {{value}}"
error = "Error · {{value}}"
event_id = "Event ID · {{value}}"
ip = "IP · {{value}}"
latency = "Latency · {{value}}"
request = "Request"
request_id = "Request ID · {{value}}"
result = "Result"
tenant = "Tenant · {{value}}"

[ui.admin.audit.filters]
placeholder = "Placeholder"
remove = "Remove"

[ui.admin.audit.registry]
title = "Audit registry"

[ui.admin.audit.table]
action_target = "Action / Target"
actor = "ACTOR (ID)"
path = "PATH"
request = "REQUEST"
status = "STATUS"
time = "TIME"

[ui.admin.groups]
import_csv = "Import Csv"

[ui.admin.groups.create]
description = "Adds a new organization unit such as a department or team."
title = "Title"

[ui.admin.groups.detail]
breadcrumb_org = "Breadcrumb Org"
breadcrumb_tenant = "Tenant Details"
breadcrumb_unit = "Breadcrumb Unit"
members_subtitle = "Members Subtitle"
members_title = "Members Title"
permissions_subtitle = "Permissions Subtitle"
permissions_title = "Permission Manage"

[ui.admin.groups.form]
desc_label = "Description"
desc_placeholder = "Desc Placeholder"
name_label = "Group Name"
name_placeholder = "Name Placeholder"
parent_label = "Parent Unit"
submit = "Submit"
unit_level_label = "Unit Level Label"
unit_level_placeholder = "Unit Level Placeholder"

[ui.admin.groups.list]
title = "User Groups"

[ui.admin.groups.members]

[ui.admin.groups.members.table]
email = "Email"
name = "Name"
remove = "Remove"

[ui.admin.groups.table]
actions = "ACTIONS"
members = "MEMBERS"
name = "NAME"

[ui.admin.header]
plane = "Admin Plane"

[ui.admin.nav]
api_keys = "API Keys"
audit_logs = "Audit Logs"
auth_guard = "Auth Guard"
logout = "Logout"
overview = "Overview"
relying_parties = "Apps (RP)"
tenant_dashboard = "Tenant Dashboard"
user_groups = "User Groups"
tenants = "Tenants"
users = "Users"

[ui.admin.org]
download_template = "Download Template"
import_btn = "Import"
import_title = "Bulk Organization Import"
start_import = "Start Import"

[ui.admin.overview]
kicker = "Global Overview"
title = "Tenant-independent control plane"

[ui.admin.overview.playbook]
title = "Admin playbook"

[ui.admin.overview.quick_links]
add_tenant = "Tenant Add"
api_key_management = "API Key Management"
user_management = "User Management"
title = "Title"
view_audit_logs = "View Audit Logs"

[ui.admin.overview.summary]
audit_events_24h = "24h Events"
oidc_clients = "OIDC Clients"
policy_gate = "Policy Gate"
total_tenants = "Total Tenants"

[ui.admin.profile]
manageable_tenants = "Manageable Tenants"

[ui.admin.role]
rp_admin = "Service Administrator (RP Admin)"
super_admin = "System Administrator (Super Admin)"
tenant_admin = "Tenant Administrator (Tenant Admin)"
tenant_member = "General User (Tenant Member)"
user = "General User (Tenant Member)"

[ui.admin.tenants]
add = "Add Tenant"
title = "Tenant Registry"

[ui.admin.tenants.admins]
add_button = "Add Button"
already_admin = "Already Admin"
dialog_description = "Dialog Description"
dialog_no_results = "Dialog No Results"
dialog_search_hint = "Dialog Search Hint"
dialog_search_placeholder = "Dialog Search Placeholder"
dialog_title = "Dialog Title"
remove_title = "Remove Title"
table_actions = "Table Actions"
table_email = "Email"
table_name = "Name"
title = "Title"

[ui.admin.tenants.owners]
add_button = "Add Owner"
already_owner = "Already Owner"
dialog_description = "Search users by name or email."
dialog_title = "Add New Owner"
remove_title = "Revoke Owner Permission"
table_actions = "Actions"
table_email = "Email"
table_name = "Name"
title = "Tenant Owners"

[ui.admin.tenants.breadcrumb]
list = "List"
section = "Tenants"

[ui.admin.tenants.create]
title = "Tenant Add"

[ui.admin.tenants.create.breadcrumb]
action = "Create"
section = "Tenants"

[ui.admin.tenants.create.form]
description = "Description"
domains_label = "Allowed Domains (Comma separated)"
domains_placeholder = "example.com, example.kr"
name = "Tenant name"
parent = "Parent"
slug = "Slug"
slug_placeholder = "tenant-slug"
status = "Status"
type = "Type"

[ui.admin.tenants.create.memo]
title = "Title"

[ui.admin.tenants.create.profile]
title = "Tenant Profile"

[ui.admin.tenants.detail]
breadcrumb_list = "Tenant List"
header_subtitle = "Header Subtitle"
loading = "Loading"
tab_federation = "Tab Federation"
tab_organization = "Organization Manage"
tab_permissions = "Permissions"
tab_profile = "Profile"
tab_schema = "Tab Schema"
title = "Details"

[ui.admin.tenants.list]
select_placeholder = "Select Placeholder"

[ui.admin.tenants.members]
descendants = "Descendant Members"
direct = "Direct Members"
direct_label = "Direct"
list_title = "Member Management"
title = "Tenant Members ({{count}})"
total = "Total"
total_label = "Total"

[ui.admin.tenants.members.table]
email = "EMAIL"
name = "NAME"
role = "ROLE"
status = "STATUS"

[ui.admin.tenants.profile]
allowed_domains = "Allowed Domains"
allowed_domains_help = "Users with these email domains will be automatically assigned to this tenant."
approve_button = "Approve Tenant"
description = "Description"
name = "Tenant Name"
slug = "Slug"
status = "Status"
subtitle = "Slug and status changes are applied immediately."
title = "Tenant Profile"
type = "Type"

[ui.admin.tenants.registry]
title = "Tenant registry"

[ui.admin.tenants.schema]
add_field = "Add Field"
save = "Save Schema"
title = "User Schema Extension"

[ui.admin.tenants.schema.field]
admin_only = "Admin Only"
key = "Field Key (ID)"
key_placeholder = "e.g. employee_id"
label = "Display Label"
label_placeholder = "Label Placeholder"
required = "Required"
type = "Type"
type_boolean = "Boolean"
type_date = "Date"
type_number = "Number"
type_text = "Text Value"
validation_placeholder = "Regex Pattern (Optional)"

[ui.admin.tenants.sub]
add = "Add"
add_dialog_desc = "Select a tenant to add as a sub-tenant."
add_dialog_title = "Add Sub-tenant"
add_existing = "Add Existing Tenant"
manage = "Manage"
no_candidates = "No available tenants to add."
search_placeholder = "Search..."
title = "Sub-tenants ({{count}})"
tree_search_placeholder = "Search in tree..."

[ui.admin.tenants.sub.table]
action = "ACTION"
name = "NAME"
slug = "SLUG"
status = "STATUS"

[ui.admin.tenants.table]
actions = "ACTIONS"
members = "Members"
name = "NAME"
slug = "SLUG"
status = "STATUS"
type = "TYPE"
updated = "UPDATED"

[ui.admin.users]

[ui.admin.users.bulk]
do_move = "Execute Move"
download_template = "Download Template"
move_group = "Bulk Tenant Move"
move_title = "Bulk User Move"
no_department = "No Department"
select_group = "Select Target Tenant"
selected_count = "{{count}} users selected"
start_upload = "Start Upload"
title = "Bulk Actions"

[ui.admin.users.create]
back = "Back"
go_list = "Go List"
submit = "User Create"
title = "User Add"

[ui.admin.users.create.account]
title = "Title"

[ui.admin.users.create.breadcrumb]
new = "New"
section = "Users"

[ui.admin.users.create.custom_fields]
title = "Title"

[ui.admin.users.create.form]
auto_password = "Auto Password"
department = "Department"
department_placeholder = "Department Placeholder"
email = "Email"
email_placeholder = "user@example.com"
job_title = "Job Title"
job_title_placeholder = "e.g. Frontend Developer"
name = "Name"
name_placeholder = "Name Placeholder"
password = "Password"
password_placeholder = "********"
phone = "Phone number"
phone_placeholder = "010-1234-5678"
position = "Position"
position_placeholder = "e.g. Senior"
role = "Role"
tenant = "Tenant"
tenant_global = "Tenant Global"

[ui.admin.users.create.password_generated]
title = "Title"

[ui.admin.users.detail]
back = "Back"
edit_title = "Edit Title"
title = "User Details"

[ui.admin.users.detail.breadcrumb]
section = "Users"

[ui.admin.users.detail.custom_fields]
multi_title = "Per-tenant Profile Management"

[ui.admin.users.detail.form]
department = "Department"
department_placeholder = "Department Placeholder"
name = "Name"
name_placeholder = "Name Placeholder"
phone = "Phone number"
phone_placeholder = "010-1234-5678"
role = "Role"
status = "Status"
tenant = "Representative Affiliated Tenant"
tenant_global = "Tenant Global"

[ui.admin.users.detail.security]
password = "Password"
password_placeholder = "Password Placeholder"
title = "Security Settings"

[ui.admin.users.detail.tenants_section]
additional = "Additional Affiliated/Manageable Tenants"
primary = "Representative Affiliated Tenant"
title = "Affiliation & Organization Info"

[ui.admin.users.list]
add = "User Add"
bulk_import = "Bulk Import"
empty = "Empty"
fetch_error = "Fetch Error"
search_placeholder = "Search Placeholder"
subtitle = "Subtitle"
title = "User Manage"

[ui.admin.users.list.breadcrumb]
list = "List"
section = "Users"

[ui.admin.users.list.columns]
title = "Column Settings"

[ui.admin.users.list.filter]
tenant = "Tenant Filter"

[ui.admin.users.list.registry]
count = "Count"
title = "User Registry"

[ui.admin.users.list.table]
actions = "ACTIONS"
created = "CREATED"
name_email = "NAME / EMAIL"
role = "ROLE"
status = "STATUS"
tenant_dept = "TENANT / DEPT"

[ui.admin.users.table]
email = "Email"
name = "Name"
role = "Role"


[test]
key = "Test"

[non.existent]
key = "Non-existent key"

[ui.dev]
brand = "Brand"
console_title = "Developer Console"
env_badge = "Env: dev"
scope_badge = "Scoped to /dev"

[ui.dev.nav]
audit_logs = "Audit Logs"
clients = "Connected Application"
logout = "Logout"

[ui.dev.audit]
load_more = "Load more"
title = "Audit Logs"

[ui.dev.audit.registry]
title = "Audit registry"

[ui.dev.audit.filter]
action = "Filter by Action (e.g. ROTATE_SECRET)"
client_id = "Filter by Client ID"
status_all = "All Status"

[ui.dev.audit.table]
action = "Action"
actor = "Actor"
status = "Status"
target = "Target"
time = "Time"

[ui.dev.profile]
menu_aria = "Open account menu"
menu_title = "Account"
unknown_email = "unknown@example.com"
unknown_name = "Unknown User"

[ui.dev.clients]
new = "Add Connected Application"
search_placeholder = "Search by app name or ID..."
tenant_scoped = "Tenant-scoped"
untitled = "Untitled"

[ui.dev.clients.badge]
admin_session = "Admin Session"
tenant_selected = "Tenant Selected"

[ui.dev.clients.filter]
status_all = "All Statuses"
type_all = "All Types"
type_label = "Type:"

[ui.dev.clients.consents]
export_csv = "Export CSV"
revoke = "Revoke"
revoked_at = "Revoked: "
scope_label = "Scope:"
search_placeholder = "Search Placeholder"
status_all = "All Statuses"
status_label = "Status:"
status_revoked = "Revoked"
subject = "Subject"
title = "User Consent Grants"

[ui.dev.clients.consents.breadcrumb]
clients = "Clients"
current = "User Consent Grants"
home = "Home"

[ui.dev.clients.consents.filters]
advanced = "Advanced Filters"

[ui.dev.clients.consents.stats]
active_grants = "Active Grants"
avg_scopes = "Avg. Scopes per User"
total_scopes = "Total Scopes Issued"

[ui.dev.clients.consents.table]
action = "Action"
first_granted = "First Granted"
last_auth = "Last Authenticated"
scopes = "Granted Scopes"
status = "Status"
tenant = "Tenant"
user = "User"

[ui.dev.clients.details]

[ui.dev.clients.details.credentials]
client_id = "Client ID"
client_secret = "Client Secret"
title = "Client Credentials"

[ui.dev.clients.details.endpoints]
read_only = "Read Only"
title = "OIDC Endpoints"

[ui.dev.clients.details.redirect]
callback_label = "Callback Label"
label = "Redirect URIs"
placeholder = "https://your-app.com/callback, http://localhost:3000/auth/callback"
save = "Save"
title = "Redirection Settings"

[ui.dev.clients.details.secret]
hide = "Hide"
rotate = "Rotate"
show = "Show"

[ui.dev.clients.details.security]
title = "Security Note"

[ui.dev.clients.details.tab]
connection = "Federation"
consents = "Consent & Users"
settings = "Settings"

[ui.dev.clients.general]
create = "Create Application"
display_new = "Add Connected Application"
subtitle = "Manage application identity, permission scopes, and security settings."
title_create = "Create Client"
title_edit = "Client Settings"

[ui.dev.clients.federation]
title = "Identity Federation"
add_title = "Add Identity Provider"
add_btn = "Add Provider"

[ui.dev.clients.general.identity]
description = "Application Description"
description_placeholder = "Description Placeholder"
logo = "App Logo URL"
logo_placeholder = "https://example.com/logo.png"
logo_preview = "Logo Preview"
logo_open = "Open in new tab"
logo_preview_error_badge = "Preview failed"
logo_preview_empty = "Preview"
name = "Name"
name_placeholder = "My Awesome Application"
title = "Application Identity"

[ui.dev.clients.general.redirect]
label = "Redirect URIs"
placeholder = "Placeholder"

[ui.dev.clients.general.scopes]
add = "Scope Add"
description_placeholder = "Description Placeholder"
name_placeholder = "e.g. profile"
title = "Scopes"

[ui.dev.clients.general.scopes.table]
description = "Scope Description"
mandatory = "Mandatory"
name = "Scope Name"
delete = "Delete"

[ui.dev.clients.general.security]
private = "Server Side App"
pkce = "PKCE"
headless_login = "Headless Login"
title = "Security Settings"
headless_login_enable = "Headless Login (Custom Login UI)"
headless_login_enable_help = "Enable this if you want to implement your own login screen within the app instead of using the Baron SSO login page."

[ui.dev.clients.general.public_key]
auth_method = "Token Endpoint Auth Method"
auth_method_client_secret_basic = "client_secret_basic"
auth_method_none = "none"
auth_method_private_key_jwt = "Signed Key Authentication"
guide_toggle = "JWKS URI Setup Guide"
headless_disabled = "Headless Disabled"
headless_enabled = "Headless Enabled"
headless_toggle = "Headless Login"
jwks_uri = "JWKS URI"
jwks_uri_placeholder = "https://rp.example.com/.well-known/jwks.json"
request_object_alg = "Request Object Signing Algorithm"
request_object_alg_placeholder = "RS256"
allowed_algorithms = "Allowed Algorithms"
title = "Public Key Registration"
validation_title = "Check before saving"
cache_error = "Last Error"
cache_cached_at = "Cached At"
cache_expires_at = "Expires At"
cache_failures = "Consecutive Failures"
cache_kids = "Cached KIDs"
cache_last_checked_at = "Last Checked"
cache_last_success = "Last Successful Verification"
cache_parsed_keys = "Parsed Keys"
cache_parsed_key_n = "n Preview"
cache_status = "Status"
cache_uri = "JWKS URI"
revoke_cache = "Revoke Cache"

[ui.dev.clients.help]
docs_body = "Includes PKCE, client_secret_basic, redirect URI validation tips."
docs_title = "Docs & Examples"
subtitle = "Developer guides for Confidential/Public clients, redirect URIs, and auth methods."
title = "Need help with OIDC configuration?"
view_guides = "View guides"

[ui.dev.clients.list]
title = "Connected Applications"

[ui.dev.clients.owner]
avatar_alt = "ops user"
email = "admin@brsw.kr"
name = "AI Admin Bot"
role = "Role: Tenant Admin"
scope = "Scope: TENANT-12"
subtitle = "Tenant admin on-call"
title = "Owner"

[ui.dev.clients.registry]
description = "OIDC 앱, 인증 방식, 리다이렉트 URI, 비밀키 재발행을 감사 로그와 함께 관리합니다."
subtitle = "Applications"
title = "RP registry"

[ui.dev.clients.scopes]
email = "Email"
openid = "Openid"
profile = "Profile"

[ui.dev.clients.table]
actions = "Actions"
application = "Application"
client_id = "Client ID"
created_at = "Created At"
status = "Status"
type = "Type"

[ui.dev.clients.type]
pkce = "PKCE"
private = "Server side App"
pkce_headless = "PKCE (Headless Login)"

[ui.dev.dashboard]
ready_badge = "devfront ready"

[ui.dev.dashboard.badge]
consent_guard = "Consent guard ready"
policy_toggle = "Policy toggle enabled"
rp_synced = "RP registry synced"

[ui.dev.dashboard.next]
subtitle = "Ship the RP controls"
title = "Next actions"

[ui.dev.dashboard.ops]
subtitle = "Subtitle"
title = "Ops board"

[ui.dev.dashboard.ops.card]
consent_revoked = "Consent Revoked"
hydra_status = "Hydra Status"
rp_requests = "Rp Requests"

[ui.dev.dashboard.ops.tag]
consent = "Consent grants"
rp_status = "RP status"

[ui.dev.dashboard.stack]
notes = "Setup notes"
subtitle = "Devfront baseline"
title = "Stack readiness"

[ui.dev.header]
plane = "Dev Plane"
subtitle = "Manage your applications"

[ui.dev.session]
auto_extend = "Session expiry"
active = "Session active"
disabled = "Session expiry disabled"
unknown = "Unknown"
expired = "Session expired"
expiring = "Expiring soon: {{minutes}}m {{seconds}}s left"
remaining = "Expires in {{minutes}}m {{seconds}}s"

[ui.userfront]
app_title = "Baron SW Portal"

[ui.userfront.app_label]
admin_console = "Admin Console"
baron = "Baron"
dev_console = "Dev Console"

[ui.userfront.audit]

[ui.userfront.audit.table]
app = "App"
auth_method = "Auth Method"
date = "Date"
device = "Device"
ip = "IP"
pending = "Pending"
result = "Result"
session_id = "Session ID"
status = "Status"

[ui.userfront.auth_method]
ory = "Ory"
session = "Session"

[ui.userfront.dashboard]
last_auth_label = "Last Auth Label"
status_history = "Status History"

[ui.userfront.dashboard.activity]
linked = "Linked"

[ui.userfront.dashboard.approved_session]
default = "Default"
userfront = "Userfront"

[ui.userfront.dashboard.revoke]
confirm_button = "Confirm Button"
title = "Title"

[ui.userfront.dashboard.scopes]
title = "Permission (Scopes)"

[ui.userfront.dashboard.status]
revoked = "Revoked"

[ui.userfront.device]
android = "Mobile(Android)"
ios = "Mobile(iOS)"
linux = "Desktop(Linux)"
macos = "Desktop(macOS)"
windows = "Desktop(Windows)"

[ui.userfront.error]
go_home = "Go Home"
go_login = "Go Login"

[ui.userfront.forgot]
heading = "Heading"
input_label = "Input Label"
submit = "Submit"
title = "Title"

[ui.userfront.login]
forgot_password = "Forgot Password"
signup = "Signup"

[ui.userfront.login.action]
submit = "Submit"

[ui.userfront.login.field]
login_id = "Emain or Phone Number"
password = "Password"

[ui.userfront.login.link]
code_only = "Code Only"
resend_with_time = "Resend With Time"
send = "Send"

[ui.userfront.login.qr]
expired = "Expired"
refresh = "Refresh"
remaining = "Remaining: {{time}}"

[ui.userfront.login.short_code]
digits = "Digits"
expire_time = "Expire Time"
prefix = "Prefix"
submit = "Submit"

[ui.userfront.login.tabs]
link = "Link/Code"
password = "Password"
qr = "QR Code"

[ui.userfront.login.unregistered]
action = "Action"
title = "Title"

[ui.userfront.login.verification]
action_label = "Confirm"
page_title = "Page Title"
title = "Title"

[ui.userfront.login_success]
later = "Later"
qr = "QR"
title = "Title"

[ui.userfront.nav]
dashboard = "Dashboard"
logout = "Logout"
profile = "Profile"
qr_scan = "QR Scan"

[ui.userfront.profile]
department_empty = "Department Empty"
manage = "Manage"
user_fallback = "User"

[ui.userfront.profile.field]
affiliation = "Affiliation"
company_code = "Company Code"
department = "Department"
email = "Email"
name = "Name"
tenant = "Tenant"

[ui.userfront.profile.password]
change = "Change"
confirm = "Confirm"
current = "Current"
forgot = "Forgot"
new = "New"
title = "Title"

[ui.userfront.profile.phone]
code_hint = "Code Hint"
request_code = "Request Code"
title = "Phone number"

[ui.userfront.profile.section]
basic = "Basic"
organization = "Organization"
security = "Security"

[ui.userfront.qr]
camera_error = "Camera Error"
permission_error = "Permission Error"
permission_required = "Permission Required"
rescan = "Rescan"
result_success = "Result Success"
title = "Scan QR Code"

[ui.userfront.reset]
confirm_password = "Confirm Password"
new_password = "New Password"
submit = "Submit"
subtitle = "Subtitle"
title = "Title"

[ui.userfront.sections]
apps = "Apps"
audit = "Audit"

[ui.userfront.session]
active = "Active"
unknown = "Unknown"

[ui.userfront.signup]
complete = "Complete"
next_step = "Next Step"
title = "Title"

[ui.userfront.signup.agreement]
all = "All"
privacy_title = "Privacy Title"
tos_title = "Tos Title"

[ui.userfront.signup.auth]
code_label = "Code Label"
request_code = "Request Code"

[ui.userfront.signup.auth.email]
label = "Label"
title = "Title"

[ui.userfront.signup.password]
confirm_label = "Password Confirm"
label = "Password"

[ui.userfront.signup.phone]
label = "Label"
title = "Title"

[ui.userfront.signup.profile]
affiliation_type = "Affiliation Type"
company = "Company"
department = "Department"
department_optional = "Department Optional"
name = "Name"

[ui.userfront.signup.steps]
agreement = "Agreement"
password = "Password"
profile = "Profile"
verify = "Verify"

[ui.userfront.signup.success]
action = "Action"

[ui.dev.profile]
unknown_name = "Unknown User"
unknown_email = "unknown@example.com"
menu_aria = "Open account menu"
menu_title = "Account"
title = "Profile"
subtitle = "View user details and assigned roles."
loading = "Loading profile..."
error = "Failed to load profile."

[ui.dev.profile.tab]
basic = "Basic Info"
role = "Roles & Permissions"

[ui.dev.profile.basic]
title = "User Info"
id = "User ID"
name = "Name"
email = "Email"
phone = "Phone Number"

[ui.dev.profile.org]
title = "Organization Info"
tenant = "Tenant"
company_code = "Company Code"

[ui.dev.profile.role]
title = "System Role"
description = "The permission level granted to this account."
current = "Current Role"
desc_super_admin = "Can manage all tenants and applications system-wide without restriction."
desc_tenant_admin = "Can manage all applications within their assigned tenant."
desc_rp_admin = "Can view and manage only assigned/linked applications."
desc_user = "Standard application access. DevFront access is denied."
desc_tenant_member = "Standard application access. DevFront access is denied."

[ui.admin.nav]
api_keys = "API Keys"
audit_logs = "Audit Logs"
auth_guard = "Auth Guard"
logout = "Logout"
overview = "Overview"
relying_parties = "Apps (RP)"
tenant_dashboard = "Tenant Dashboard"
user_groups = "User Groups"
tenants = "Tenants"
users = "Users"

[ui.dev.tenant]
workspace = "Workspace Tenant (Context)"
workspace_desc = "Select and save the tenant you are currently working on to change the API request context."
switch_success = "Tenant switch completed"
single_notice = "You belong to a single tenant and do not need to switch."
