fix(i18n): update userfront english copy
This commit is contained in:
1 parent
2de22869c0
commit
318948c2fb
5 files changed
+582
-444
No files matched your search
@@ -41,75 +41,63 @@ verify_code_failed = "Verify Code Failed"
|
||||
missing = "Missing"
|
||||
|
||||
[msg.userfront]
|
||||
greeting = "Greeting"
|
||||
greeting = "Hello, {name}."
|
||||
|
||||
[msg.userfront.audit]
|
||||
date = "Date"
|
||||
device = "Device"
|
||||
end = "End"
|
||||
ip = "Ip"
|
||||
load_more_error = "Load More Error"
|
||||
result = "Result"
|
||||
date = "Date: {value}"
|
||||
device = "Device: {value}"
|
||||
end = "No more items to show."
|
||||
ip = "IP address: {value}"
|
||||
load_more_error = "Could not load more history."
|
||||
result = "Result: {value}"
|
||||
session_id = "Session ID: {value}"
|
||||
status = "Status"
|
||||
status = "Status: pending"
|
||||
|
||||
[msg.userfront.dashboard]
|
||||
approved_device = "Approved Device"
|
||||
approved_ip = "Approve IP: {ip}"
|
||||
audit_empty = "Audit Empty"
|
||||
audit_load_error = "Audit Load Error"
|
||||
approved_device = "Approved device: {device}"
|
||||
approved_ip = "Approved IP: {ip}"
|
||||
audit_empty = "No recent sign-in activity."
|
||||
audit_load_error = "Could not load sign-in history."
|
||||
render_error = "Dashboard render error: {error}"
|
||||
auth_method = "Auth Method"
|
||||
auth_method = "Auth method: {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"
|
||||
client_id_missing = "No client ID available."
|
||||
current_status = "Current status: {status}"
|
||||
last_auth = "Last signed in: {value}"
|
||||
link_missing = "This app does not have a launch URL configured."
|
||||
link_open_error = "Could not open the app link."
|
||||
session_id_copied = "Session ID copied."
|
||||
|
||||
[msg.userfront.dashboard.activities]
|
||||
empty = "Empty"
|
||||
empty_detail = "Empty Detail"
|
||||
error = "Error"
|
||||
empty = "No linked apps yet."
|
||||
empty_detail = "Linked apps and their latest activity will appear here."
|
||||
error = "Could not load linked apps."
|
||||
|
||||
[msg.userfront.dashboard.approved_session]
|
||||
copy_click = "Copy Click"
|
||||
copy_tap = "Copy Tap"
|
||||
none = "None"
|
||||
copy_click = "{label}: {id}\\\\nClick to copy."
|
||||
copy_tap = "{label}: {id}\\\\nTap to copy."
|
||||
none = "No {label}"
|
||||
|
||||
[msg.userfront.dashboard.revoke]
|
||||
confirm = "Confirm"
|
||||
error = "Error"
|
||||
success = "Success"
|
||||
confirm = "Disconnect {app}?\\\\nYou will need to grant access again the next time you sign in."
|
||||
error = "Could not disconnect the app: {error}"
|
||||
success = "{app} has been disconnected."
|
||||
|
||||
[msg.userfront.dashboard.scopes]
|
||||
empty = "Empty"
|
||||
empty = "No scopes were requested."
|
||||
|
||||
[msg.userfront.dashboard.timeline]
|
||||
load_error = "Load Error"
|
||||
load_error = "Could not load sign-in history."
|
||||
|
||||
[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."
|
||||
detail_contact = "If the problem continues, please contact your administrator."
|
||||
detail_generic = "Something went wrong."
|
||||
detail_request = "We had trouble processing your request."
|
||||
id = "Error ID: {id}"
|
||||
title = "An error occurred during authentication."
|
||||
title_generic = "An error occurred."
|
||||
title_with_code = "Error: {code}"
|
||||
type = "Error type: {type}"
|
||||
|
||||
[msg.userfront.error.ory]
|
||||
"$normalizedCode" = "{error}"
|
||||
@@ -127,57 +115,70 @@ 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.error.whitelist]
|
||||
"$normalizedCode" = "{error}"
|
||||
bad_request = "Please check your input."
|
||||
invalid_session = "Your session has expired. Please sign in again."
|
||||
not_found = "The requested page could not be found."
|
||||
password_or_email_mismatch = "Email or password does not match."
|
||||
rate_limited = "Too many requests. Please try again later."
|
||||
recovery_expired = "The recovery link has expired. Please request a new one."
|
||||
recovery_invalid = "The recovery link is invalid."
|
||||
settings_disabled = "Account settings are currently unavailable."
|
||||
verification_required = "Additional verification is required. Please follow the instructions."
|
||||
|
||||
[msg.userfront.forgot]
|
||||
description = "Description"
|
||||
dry_send = "Dry Send"
|
||||
error = "Error"
|
||||
input_required = "Input Required"
|
||||
sent = "Sent"
|
||||
description = "Enter the email address or phone number linked to your account and we will send you a password reset link."
|
||||
dry_send = "Dry-send mode: no email or SMS was actually sent."
|
||||
error = "Failed to send the reset link: {error}"
|
||||
input_required = "Enter your email address or phone number."
|
||||
sent = "A password reset link has been sent. Check your email or SMS."
|
||||
|
||||
[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"
|
||||
cookie_check_failed = "Could not verify your sign-in state: {error}"
|
||||
dry_send = "Dry-send mode: no email or SMS was actually sent."
|
||||
link_failed = "Could not complete link sign-in: {error}"
|
||||
link_send_failed = "Failed to send the sign-in link: {error}"
|
||||
link_sent_email = "We sent a sign-in link to your email address."
|
||||
link_sent_phone = "We sent a sign-in link to your phone number."
|
||||
link_timeout = "Time expired."
|
||||
no_account = "New to Baron?"
|
||||
oidc_failed = "OIDC Failed"
|
||||
oidc_failed = "OIDC sign-in failed. Please try again."
|
||||
qr_expired = "Time expired."
|
||||
qr_init_failed = "QR Init Failed"
|
||||
qr_login_required = "QR Login Required"
|
||||
token_missing = "Token Missing"
|
||||
verification_failed = "Verification Failed"
|
||||
qr_init_failed = "Failed to initialize QR sign-in: {error}"
|
||||
qr_login_required = "You need to be signed in to approve a QR sign-in."
|
||||
token_missing = "Could not find the sign-in token."
|
||||
verification_failed = "Failed to approve the sign-in request: {error}"
|
||||
|
||||
[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"
|
||||
approved = "Sign-in approved. You will be redirected to the sign-in page shortly."
|
||||
helper = "We will send a sign-in link using the information you enter."
|
||||
missing_login_id = "Enter your email address or phone number."
|
||||
missing_phone = "Enter your phone number."
|
||||
resend_wait = "You can resend in {time}."
|
||||
short_code_help = "You can also sign in with the last 2 letters and 6 digits from the link you received."
|
||||
|
||||
[msg.userfront.login.password]
|
||||
failed = "Failed"
|
||||
missing_credentials = "Missing Credentials"
|
||||
failed = "Sign-in failed: {error}"
|
||||
missing_credentials = "Enter both your email or phone number and your password."
|
||||
|
||||
[msg.userfront.login.qr]
|
||||
load_failed = "Load Failed"
|
||||
scan_hint = "Scan Hint"
|
||||
load_failed = "Could not load the QR code."
|
||||
scan_hint = "Scan it with the mobile app."
|
||||
|
||||
[msg.userfront.login.short_code]
|
||||
invalid = "Invalid"
|
||||
invalid = "Enter the 2 letters and 6 digits from your code."
|
||||
|
||||
[msg.userfront.login.unregistered]
|
||||
body = "Body"
|
||||
body = "We could not find an account for that information.\\\\nPlease sign up before continuing."
|
||||
|
||||
[msg.userfront.login.verification]
|
||||
approved = "Approved"
|
||||
approved_local = "Approved Local"
|
||||
success = "Success"
|
||||
approved = "Approved. Complete sign-in in the original window."
|
||||
approved_local = "Approved. This device is already signed in, and the remote window will be signed in shortly."
|
||||
success = "Sign-in approval completed."
|
||||
|
||||
[msg.userfront.login_success]
|
||||
subtitle = "Subtitle"
|
||||
subtitle = "You have signed in successfully."
|
||||
|
||||
[msg.userfront.consent]
|
||||
accept_error = "Failed to process consent: {error}"
|
||||
@@ -201,136 +202,139 @@ phone = "Phone number (identity verification and notifications)"
|
||||
profile = "Basic profile information (name, user identifier)"
|
||||
|
||||
[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"
|
||||
department_missing = "No department information"
|
||||
department_required = "Enter your department."
|
||||
email_missing = "No email address"
|
||||
greeting = "Hello, {name}."
|
||||
load_failed = "Could not load your profile."
|
||||
name_missing = "No name provided"
|
||||
name_required = "Enter your name."
|
||||
phone_required = "Enter your phone number."
|
||||
phone_verify_required = "Phone verification is required."
|
||||
update_failed = "Failed to update your profile: {error}"
|
||||
update_success = "Your profile has been updated."
|
||||
|
||||
[msg.userfront.profile.password]
|
||||
change_failed = "Change Failed"
|
||||
changed = "Changed"
|
||||
current_required = "Current Required"
|
||||
mismatch = "Mismatch"
|
||||
new_required = "New Required"
|
||||
subtitle = "Subtitle"
|
||||
change_failed = "Failed to change your password: {error}"
|
||||
changed = "Your password has been changed."
|
||||
current_required = "Enter your current password."
|
||||
mismatch = "The new passwords do not match."
|
||||
new_required = "Enter a new password."
|
||||
subtitle = "Verify your current password before setting a new one."
|
||||
|
||||
[msg.userfront.profile.phone]
|
||||
code_sent = "Code Sent"
|
||||
send_failed = "Send Failed"
|
||||
verified = "Verified"
|
||||
verify_failed = "Verify Failed"
|
||||
verify_notice = "Verify Notice"
|
||||
code_sent = "A verification code has been sent."
|
||||
send_failed = "Failed to send the code: {error}"
|
||||
verified = "Phone number verified."
|
||||
verify_failed = "Verification failed: {error}"
|
||||
verify_notice = "SMS verification is required to change your phone number."
|
||||
|
||||
[msg.userfront.profile.section]
|
||||
basic = "Basic"
|
||||
organization = "Organization"
|
||||
security = "Security"
|
||||
basic = "Manage your basic account information."
|
||||
organization = "Your organization and affiliation details."
|
||||
security = "Keep your password secure."
|
||||
|
||||
[msg.userfront.qr]
|
||||
camera_error = "Camera Error"
|
||||
permission_error = "Permission Error"
|
||||
permission_required = "Permission Required"
|
||||
approve_error = "QR approval failed: {error}"
|
||||
approve_success = "QR approval complete. Continue on your desktop."
|
||||
camera_error = "Camera error: {error}"
|
||||
permission_error = "Could not request camera access. Check your browser or OS settings."
|
||||
permission_required = "Camera access is required."
|
||||
|
||||
[msg.userfront.reset]
|
||||
invalid_body = "Invalid Body"
|
||||
invalid_link = "Invalid Link"
|
||||
invalid_title = "Invalid Title"
|
||||
policy_loading = "Policy Loading"
|
||||
success = "Success"
|
||||
invalid_body = "This password reset link is invalid or has expired. Please request a new one."
|
||||
invalid_link = "This reset link is invalid. Missing loginId or token."
|
||||
invalid_title = "Invalid reset link"
|
||||
policy_loading = "Loading the password policy..."
|
||||
success = "Your password has been changed successfully. Please sign in again."
|
||||
|
||||
[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"
|
||||
generic = "Failed to change your password: {error}"
|
||||
lowercase = "Include at least one lowercase letter."
|
||||
min_length = "Use at least {count} characters."
|
||||
min_types = "Use at least {count} character types: uppercase, lowercase, number, or symbol."
|
||||
mismatch = "The passwords do not match."
|
||||
number = "Include at least one number."
|
||||
symbol = "Include at least one symbol."
|
||||
uppercase = "Include at least one uppercase letter."
|
||||
|
||||
[msg.userfront.reset.policy]
|
||||
lowercase = "Lowercase"
|
||||
min_length = "Min Length"
|
||||
min_types = "Min Types"
|
||||
number = "Number"
|
||||
symbol = "Symbol"
|
||||
uppercase = "Uppercase"
|
||||
lowercase = "At least one lowercase letter"
|
||||
min_length = "At least {count} characters"
|
||||
min_types = "At least {count} character types"
|
||||
number = "At least one number"
|
||||
symbol = "At least one symbol"
|
||||
uppercase = "At least one uppercase letter"
|
||||
|
||||
[msg.userfront.sections]
|
||||
apps_subtitle = "Apps Subtitle"
|
||||
audit_subtitle = "Audit Subtitle"
|
||||
apps_subtitle = "Your linked apps and their latest sign-in status."
|
||||
audit_subtitle = "Recent access history for Baron sign-in."
|
||||
|
||||
[msg.userfront.settings]
|
||||
disabled = "Disabled"
|
||||
disabled = "Account settings are currently unavailable."
|
||||
|
||||
[msg.userfront.signup]
|
||||
failed = "Failed"
|
||||
privacy_full = "Privacy Full"
|
||||
tos_full = "Tos Full"
|
||||
privacy_full = "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n개인정보 수집 및 이용 동의\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n바론서비스 개인정보처리방침\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제1조 (목적)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n바론컨설턴트(이하 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"회사\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")는 바론서비스(이하 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"서비스\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")를 이용하는 고객(이하 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"이용자\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")의 개인정보를 보호하고, 「개인정보 보호법」에 따라 책임과 의무를 다하기 위해 본 개인정보처리방침을 마련했습니다. 본 방침은 이용자가 제공한 개인정보가 어떻게 수집, 이용, 보관, 보호되는지를 설명합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제2조 (개인정보의 처리목적)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 다음의 목적을 위해 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며, 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 본인확인: 회원가입 및 관리를 위한 본인 확인, 전화 또는 이메일을 통한 연락\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 서비스 제공: 각종 통보 및 서비스 제공을 위한 업무 처리\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 제품소개서 다운로드: 설명자료 전달\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 상담 및 데모 신청: 상담 제공 및 데모 제공, 계약 처리자 정보 수집\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 행사 참가 신청: 참석 안내 및 세미나/설명회/교육 제공\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 보안가이드 제공: 안내자료 전달\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 기술지원 문의: 서비스 사용 지원\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 서비스 개선 의견 접수: 서비스 품질 개선\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 마케팅 활동: 동의한 고객에 한해 뉴스레터 및 매거진 발송\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제3조 (개인정보의 처리 및 보유 기간)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 법령에 따른 개인정보 보유 및 이용기간 또는 정보주체로부터 개인정보를 수집 시 동의받은 개인정보 보유 및 이용기간 내에서 개인정보를 처리 및 보유합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 각각의 개인정보 처리 및 보유 기간은 다음과 같습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 회원정보: 회원가입일부터 회원탈퇴 후 1년까지\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 홍보, 상담, 계약용 개인정보: 2년\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제4조 (개인정보의 제3자 제공)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 정보주체의 개인정보를 제2조에서 명시한 범위 내에서만 처리하며, 정보 주체의 동의, 법률의 특별한 규정 등 「개인정보 보호법」 제17조 및 제18조에 해당하는 경우에만 개인정보를 제3자에게 제공합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 회사는 다음과 같이 개인정보를 제3자에게 제공하고 있습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 제공받는 자: 수사기관 및 유관기관, 피신고업체\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이용 목적: 개인Line truncated
|
||||
tos_full = "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n바론 소프트웨어 이용약관\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제1장 총칙\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제1조 (목적)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n이 약관은 바론컨설턴트(이하 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"회사\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"라 합니다)가 제공하는 바론소프트웨어(이하 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"서비스\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"라 합니다)를 이용함에 있어 회사와 이용자 간의 권리, 의무 및 책임사항과 기타 필요한 사항을 정하는 것을 목적으로 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제2조 (용어의 정의)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 본 약관에서 사용하는 용어의 정의는 다음과 같습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- “서비스”란 회사가 제공하는 소프트웨어 및 관련 제반 서비스를 의미합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- “이용자”란 회사의 서비스에 접속하여 본 약관에 따라 회사가 제공하는 서비스를 이용하는 회원 및 비회원을 말합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- “회원”이란 본 약관에 동의하고 회사와 이용계약을 체결한 자를 의미합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- “비회원”이란 회원가입을 하지 않고 회사가 제공하는 일부 서비스를 이용하는 자를 말합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제3조 (약관의 효력 및 변경)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 본 약관은 이용자가 본 약관에 동의하고, 회사가 이에 대한 승낙을 완료함으로써 효력이 발생합니다. ② 회사는 필요한 경우 본 약관을 변경할 수 있으며, 변경된 약관은 서비스 화면에 공지된 후 효력이 발생합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제4조 (약관 외 준칙)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 약관에 명시되지 않은 사항에 대해서는 대한민국의 관련 법령과 상관습에 따릅니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제2장 서비스 이용계약\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5조 (이용계약의 성립)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n이용계약은 이용자가 약관의 내용에 동의하고, 회사가 제공하는 소정의 회원가입 신청서를 작성하여 가입을 완료한 후, 회사가 이를 승인함으로써 성립합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6조 (이용계약의 유보와 거절)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 다음 각 호에 해당하는 경우 이용계약의 성립을 유보하거나 거절할 수 있습니다: - 신청서의 내용이 허위로 판명된 경우 - 서비스 제공이 기술적으로 어려운 경우\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7조 (계약사항의 변경)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회원은 개인정보 관리 메뉴를 통해 언제든지 자신의 정보를 열람하고 수정할 수 있습니다. 회원의 정보가 변경된 경우 즉시 수정해야 하며, 수정하지 않아 발생하는 문제의 책임은 회원에게 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제3장 개인정보 보호\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8조 (개인정보 보호의 원칙)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회원의 개인정보는 관련 법령에 따라 보호됩니다. ② 회사는 개인정보 보호와 관련된 세부 사항을 별도로 마련한 개인정보처리방침에 따라 관리하며, 이용자는 언제든지 해당 방침을 통해 개인정보 관리에 대한 자세한 내용을 확인할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제9조 (개인정보처리방침 준수)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 Line truncated
|
||||
|
||||
[msg.userfront.signup.agreement]
|
||||
title = "Agreement Title"
|
||||
title = "Please review and agree to the terms to continue."
|
||||
|
||||
[msg.userfront.signup.auth]
|
||||
affiliate_notice = "Affiliate Notice"
|
||||
title = "Auth Title"
|
||||
affiliate_notice = "If you are an affiliate employee, use your official company email address."
|
||||
title = "Verify your email and phone number."
|
||||
|
||||
[msg.userfront.signup.email]
|
||||
code_mismatch = "Code Mismatch"
|
||||
duplicate = "Duplicate"
|
||||
invalid = "Invalid"
|
||||
send_failed = "Send Failed"
|
||||
verified = "Verified"
|
||||
verify_failed = "Verify Failed"
|
||||
code_mismatch = "The verification code does not match."
|
||||
duplicate = "This email address is already registered."
|
||||
invalid = "Enter a valid email address."
|
||||
send_failed = "Failed to send the email: {error}"
|
||||
verified = "Email verified."
|
||||
verify_failed = "Email verification failed: {error}"
|
||||
|
||||
[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"
|
||||
length_required = "Your password must be at least 12 characters long."
|
||||
lowercase_required = "Include at least one lowercase letter."
|
||||
mismatch = "The passwords do not match."
|
||||
number_required = "Include at least one number."
|
||||
symbol_required = "Include at least one symbol."
|
||||
title = "Create a secure password to finish signing up."
|
||||
uppercase_required = "Include at least one uppercase letter."
|
||||
|
||||
[msg.userfront.signup.password.rule]
|
||||
lowercase = "Lowercase"
|
||||
min_length = "Min Length"
|
||||
min_types = "Min Types"
|
||||
lowercase = "Lowercase letter"
|
||||
min_length = "At least {count} characters"
|
||||
min_types = "At least {count} character types"
|
||||
number = "Number"
|
||||
symbol = "Symbol"
|
||||
uppercase = "Uppercase"
|
||||
uppercase = "Uppercase letter"
|
||||
|
||||
[msg.userfront.signup.phone]
|
||||
code_mismatch = "Code Mismatch"
|
||||
send_failed = "Send Failed"
|
||||
verified = "Verified"
|
||||
verify_failed = "Verify Failed"
|
||||
code_mismatch = "The verification code does not match."
|
||||
send_failed = "Failed to send the SMS: {error}"
|
||||
verified = "Phone number verified."
|
||||
verify_failed = "Phone verification failed: {error}"
|
||||
|
||||
[msg.userfront.signup.policy]
|
||||
loading = "Loading"
|
||||
lowercase = "Lowercase"
|
||||
min_length = "Min Length"
|
||||
min_types = "Min Types"
|
||||
loading = "Loading the password policy..."
|
||||
lowercase = "Lowercase letter"
|
||||
min_length = "At least {count} characters"
|
||||
min_types = "At least {count} character types"
|
||||
number = "Number"
|
||||
summary = "Summary"
|
||||
summary = "Security policy: {rules}"
|
||||
symbol = "Symbol"
|
||||
uppercase = "Uppercase"
|
||||
uppercase = "Uppercase letter"
|
||||
|
||||
[msg.userfront.signup.profile]
|
||||
affiliate_hint = "Affiliate Hint"
|
||||
title = "Profile Title"
|
||||
affiliate_hint = "This will be selected automatically when you use an affiliate email."
|
||||
title = "Tell us about your affiliation."
|
||||
|
||||
[msg.userfront.signup.success]
|
||||
body = "Body"
|
||||
title = "Title"
|
||||
body = "Your account has been created successfully."
|
||||
title = "Sign-up complete"
|
||||
|
||||
|
||||
[ui.common]
|
||||
add = "Add"
|
||||
@@ -426,19 +430,19 @@ ory = "Ory"
|
||||
session = "Session"
|
||||
|
||||
[ui.userfront.dashboard]
|
||||
last_auth_label = "Last Auth Label"
|
||||
status_history = "Status History"
|
||||
last_auth_label = "Last sign-in"
|
||||
status_history = "Activity history"
|
||||
|
||||
[ui.userfront.dashboard.activity]
|
||||
linked = "Linked"
|
||||
|
||||
[ui.userfront.dashboard.approved_session]
|
||||
default = "Default"
|
||||
userfront = "Userfront"
|
||||
userfront = "Approved UserFront session ID"
|
||||
|
||||
[ui.userfront.dashboard.revoke]
|
||||
confirm_button = "Confirm Button"
|
||||
title = "Title"
|
||||
confirm_button = "Disconnect"
|
||||
title = "Disconnect app"
|
||||
|
||||
[ui.userfront.dashboard.scopes]
|
||||
title = "Permission (Scopes)"
|
||||
@@ -458,26 +462,29 @@ go_home = "Go Home"
|
||||
go_login = "Go Login"
|
||||
|
||||
[ui.userfront.forgot]
|
||||
heading = "Heading"
|
||||
input_label = "Input Label"
|
||||
submit = "Submit"
|
||||
title = "Title"
|
||||
heading = "Forgot your password?"
|
||||
input_label = "Email address or phone number"
|
||||
submit = "Send reset link"
|
||||
title = "Reset password"
|
||||
|
||||
[ui.userfront.login]
|
||||
forgot_password = "Forgot Password"
|
||||
signup = "Signup"
|
||||
signup = "Sign up"
|
||||
|
||||
[ui.userfront.login.action]
|
||||
submit = "Submit"
|
||||
submit = "Sign in"
|
||||
|
||||
[ui.userfront.login.field]
|
||||
login_id = "Emain or Phone Number"
|
||||
login_id = "Email address or phone number"
|
||||
password = "Password"
|
||||
|
||||
[ui.userfront.login.link]
|
||||
code_only = "Code Only"
|
||||
resend_with_time = "Resend With Time"
|
||||
action_label = "Go to sign-in"
|
||||
code_only = "Get code only ({time})"
|
||||
page_title = "Link sign-in"
|
||||
resend_with_time = "Resend ({time})"
|
||||
send = "Send"
|
||||
title = "Link sign-in complete"
|
||||
|
||||
[ui.userfront.login.qr]
|
||||
expired = "Expired"
|
||||
@@ -485,29 +492,29 @@ refresh = "Refresh"
|
||||
remaining = "Remaining: {time}"
|
||||
|
||||
[ui.userfront.login.short_code]
|
||||
digits = "Digits"
|
||||
expire_time = "Expire Time"
|
||||
prefix = "Prefix"
|
||||
submit = "Submit"
|
||||
digits = "6 digits"
|
||||
expire_time = "Expires in {time}"
|
||||
prefix = "2 letters"
|
||||
submit = "Sign in with code"
|
||||
|
||||
[ui.userfront.login.tabs]
|
||||
link = "Link/Code"
|
||||
link = "Sign-in link"
|
||||
password = "Password"
|
||||
qr = "QR Code"
|
||||
|
||||
[ui.userfront.login.unregistered]
|
||||
action = "Action"
|
||||
title = "Title"
|
||||
action = "Create an account"
|
||||
title = "Account not found"
|
||||
|
||||
[ui.userfront.login.verification]
|
||||
action_label = "Confirm"
|
||||
page_title = "Page Title"
|
||||
title = "Title"
|
||||
action_label = "Done"
|
||||
page_title = "Sign-in approval"
|
||||
title = "Approval complete"
|
||||
|
||||
[ui.userfront.login_success]
|
||||
later = "Later"
|
||||
qr = "QR"
|
||||
title = "Title"
|
||||
later = "Do this later (go to dashboard)"
|
||||
qr = "Use QR approval"
|
||||
title = "Sign-in complete"
|
||||
|
||||
[ui.userfront.consent]
|
||||
accept = "Agree and continue"
|
||||
@@ -526,7 +533,7 @@ qr_scan = "QR Scan"
|
||||
|
||||
[ui.userfront.profile]
|
||||
department_empty = "Department Empty"
|
||||
manage = "Manage"
|
||||
manage = "Manage profile"
|
||||
user_fallback = "User"
|
||||
|
||||
[ui.userfront.profile.field]
|
||||
@@ -543,11 +550,11 @@ confirm = "Confirm"
|
||||
current = "Current"
|
||||
forgot = "Forgot"
|
||||
new = "New"
|
||||
title = "Title"
|
||||
title = "Change password"
|
||||
|
||||
[ui.userfront.profile.phone]
|
||||
code_hint = "Code Hint"
|
||||
request_code = "Request Code"
|
||||
code_hint = "6-digit code"
|
||||
request_code = "Send code"
|
||||
title = "Phone number"
|
||||
|
||||
[ui.userfront.profile.section]
|
||||
@@ -556,67 +563,65 @@ organization = "Organization"
|
||||
security = "Security"
|
||||
|
||||
[ui.userfront.qr]
|
||||
camera_error = "Camera Error"
|
||||
permission_error = "Permission Error"
|
||||
permission_required = "Permission Required"
|
||||
request_permission = "Allow camera access"
|
||||
rescan = "Rescan"
|
||||
result_success = "Result Success"
|
||||
result_failure = "Approval failed"
|
||||
result_success = "Approval complete"
|
||||
title = "Scan QR Code"
|
||||
|
||||
[ui.userfront.reset]
|
||||
confirm_password = "Confirm Password"
|
||||
new_password = "New Password"
|
||||
submit = "Submit"
|
||||
subtitle = "Subtitle"
|
||||
title = "Title"
|
||||
subtitle = "Set a new password"
|
||||
title = "Create a new password"
|
||||
|
||||
[ui.userfront.sections]
|
||||
apps = "Apps"
|
||||
audit = "Audit"
|
||||
|
||||
[ui.userfront.session]
|
||||
active = "Active"
|
||||
active = "Active session"
|
||||
unknown = "Unknown"
|
||||
|
||||
[ui.userfront.signup]
|
||||
complete = "Complete"
|
||||
next_step = "Next Step"
|
||||
title = "Title"
|
||||
complete = "Finish sign-up"
|
||||
next_step = "Next"
|
||||
title = "Sign up"
|
||||
|
||||
[ui.userfront.signup.agreement]
|
||||
all = "All"
|
||||
privacy_title = "Privacy Title"
|
||||
tos_title = "Tos Title"
|
||||
all = "Agree to all"
|
||||
privacy_title = "Privacy Policy (Required)"
|
||||
tos_title = "Terms of Service (Required)"
|
||||
|
||||
[ui.userfront.signup.auth]
|
||||
code_label = "Code Label"
|
||||
request_code = "Request Code"
|
||||
code_label = "6-digit verification code"
|
||||
request_code = "Send code"
|
||||
|
||||
[ui.userfront.signup.auth.email]
|
||||
label = "Label"
|
||||
title = "Title"
|
||||
label = "Email address"
|
||||
title = "Email verification"
|
||||
|
||||
[ui.userfront.signup.password]
|
||||
confirm_label = "Password Confirm"
|
||||
label = "Password"
|
||||
|
||||
[ui.userfront.signup.phone]
|
||||
label = "Label"
|
||||
title = "Title"
|
||||
label = "Phone number (no hyphens)"
|
||||
title = "Phone verification"
|
||||
|
||||
[ui.userfront.signup.profile]
|
||||
affiliation_type = "Affiliation Type"
|
||||
company = "Company"
|
||||
department = "Department"
|
||||
department_optional = "Department Optional"
|
||||
department_optional = "Department (optional)"
|
||||
name = "Name"
|
||||
|
||||
[ui.userfront.signup.steps]
|
||||
agreement = "Agreement"
|
||||
agreement = "Terms"
|
||||
password = "Password"
|
||||
profile = "Profile"
|
||||
verify = "Verify"
|
||||
verify = "Verification"
|
||||
|
||||
[ui.userfront.signup.success]
|
||||
action = "Action"
|
||||
|
||||
action = "Go to sign-in"
|
||||
@@ -0,0 +1,106 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:toml/toml.dart';
|
||||
|
||||
const Set<String> _placeholderValues = {
|
||||
'Action',
|
||||
'Action Label',
|
||||
'Approve Error',
|
||||
'Approve Success',
|
||||
'Body',
|
||||
'Code Hint',
|
||||
'Code Label',
|
||||
'Confirm',
|
||||
'Confirm Button',
|
||||
'Description',
|
||||
'Error',
|
||||
'Heading',
|
||||
'Input Label',
|
||||
'Invalid',
|
||||
'Label',
|
||||
'Load Failed',
|
||||
'Page Title',
|
||||
'Request Code',
|
||||
'Result Failure',
|
||||
'Sent',
|
||||
'Subtitle',
|
||||
'Title',
|
||||
'Update Success',
|
||||
};
|
||||
|
||||
String? _readTomlValue(Map<String, dynamic> root, String key) {
|
||||
dynamic cursor = root;
|
||||
for (final part in key.split('.')) {
|
||||
if (cursor is! Map<String, dynamic>) {
|
||||
return null;
|
||||
}
|
||||
cursor = cursor[part];
|
||||
}
|
||||
return cursor is String ? cursor : null;
|
||||
}
|
||||
|
||||
void main() {
|
||||
test('critical english copy does not expose placeholder values', () {
|
||||
final file = File('assets/translations/en.toml');
|
||||
final document = TomlDocument.parse(file.readAsStringSync());
|
||||
final translations = document.toMap();
|
||||
|
||||
const criticalKeys = <String>[
|
||||
'ui.userfront.forgot.heading',
|
||||
'ui.userfront.forgot.input_label',
|
||||
'ui.userfront.forgot.title',
|
||||
'msg.userfront.forgot.description',
|
||||
'msg.userfront.forgot.sent',
|
||||
'ui.userfront.login.link.action_label',
|
||||
'ui.userfront.login.link.page_title',
|
||||
'ui.userfront.login.link.title',
|
||||
'ui.userfront.login.unregistered.action',
|
||||
'ui.userfront.login.unregistered.title',
|
||||
'ui.userfront.login.verification.action_label',
|
||||
'ui.userfront.login.verification.page_title',
|
||||
'ui.userfront.login.verification.title',
|
||||
'msg.userfront.login.qr.load_failed',
|
||||
'msg.userfront.login.short_code.invalid',
|
||||
'msg.userfront.login.unregistered.body',
|
||||
'ui.userfront.login_success.title',
|
||||
'msg.userfront.login_success.subtitle',
|
||||
'msg.userfront.profile.load_failed',
|
||||
'msg.userfront.profile.update_success',
|
||||
'ui.userfront.profile.password.title',
|
||||
'ui.userfront.profile.phone.code_hint',
|
||||
'msg.userfront.reset.invalid_body',
|
||||
'msg.userfront.reset.invalid_title',
|
||||
'ui.userfront.reset.subtitle',
|
||||
'ui.userfront.reset.title',
|
||||
'ui.userfront.signup.title',
|
||||
'msg.userfront.signup.agreement.title',
|
||||
'msg.userfront.signup.auth.title',
|
||||
'ui.userfront.signup.auth.email.label',
|
||||
'ui.userfront.signup.auth.email.title',
|
||||
'msg.userfront.signup.password.title',
|
||||
'msg.userfront.signup.profile.title',
|
||||
'msg.userfront.signup.success.body',
|
||||
'msg.userfront.signup.success.title',
|
||||
'ui.userfront.signup.success.action',
|
||||
];
|
||||
|
||||
final failures = <String>[];
|
||||
for (final key in criticalKeys) {
|
||||
final value = _readTomlValue(translations, key);
|
||||
if (value == null || value.trim().isEmpty) {
|
||||
failures.add('$key is missing');
|
||||
continue;
|
||||
}
|
||||
if (_placeholderValues.contains(value.trim())) {
|
||||
failures.add('$key uses placeholder "$value"');
|
||||
}
|
||||
}
|
||||
|
||||
expect(
|
||||
failures,
|
||||
isEmpty,
|
||||
reason: failures.isEmpty ? null : failures.join('\n'),
|
||||
);
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user