From 318948c2fb5c4d9114f1d4de28d393529e907cb8 Mon Sep 17 00:00:00 2001 From: Lectom C Han Date: Mon, 23 Mar 2026 13:44:55 +0900 Subject: [PATCH] fix(i18n): update userfront english copy --- README.md | 1 + docs/i18n.md | 19 + locales/en.toml | 451 +++++++++--------- userfront/assets/translations/en.toml | 449 ++++++++--------- .../test/english_locale_placeholder_test.dart | 106 ++++ 5 files changed, 582 insertions(+), 444 deletions(-) create mode 100644 userfront/test/english_locale_placeholder_test.dart diff --git a/README.md b/README.md index 0378e249..113cd8a6 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,7 @@ KETO_WRITE_URL = "http://keto:4467" - **Source of Truth**: `locales/template.toml`이 전체 키의 기준이며 `locales/ko.toml`, `locales/en.toml`과 항상 동기화합니다. - **React(Admin/Dev)**: `adminfront/src/lib/i18n.ts`, `devfront/src/lib/i18n.ts`에서 `t(key, fallback, vars)`로 사용하고 TOML을 `?raw`로 로드합니다. - **Flutter(User)**: `userfront/lib/i18n.dart`에서 `tr(key, fallback, params)` 사용. `locales/*.toml`을 `tools/i18n-scanner/gen-flutter-i18n.js`로 `userfront/lib/i18n_data.dart`에 사전 생성합니다. +- **UserFront 동기화 규칙**: `locales/*.toml`을 수정한 뒤에는 반드시 `./scripts/sync_userfront_locales.sh`를 실행해 `userfront/assets/translations/*.toml`과 런타임 번역 리소스를 동기화합니다. - **검증**: `node tools/i18n-scanner/index.js`로 코드-키-로케일 동기화 상태를 점검합니다. ## 🧪 Code Check CI diff --git a/docs/i18n.md b/docs/i18n.md index 8a78bee2..26f0eaba 100644 --- a/docs/i18n.md +++ b/docs/i18n.md @@ -111,6 +111,14 @@ TOML에서는 `[Section]`을 사용하여 계층을 표현합니다. #### 5.2.2 관리 프로세스 (Template & CI) 1. **`template.toml`**: 개발자가 새로운 번역 키를 추가할 때 반드시 이 파일에 먼저 정의해야 합니다. 2. **`ko.toml`, `en.toml`**: 템플릿의 키를 바탕으로 실제 번역 값을 채워 넣습니다. +3. **UserFront 런타임 리소스 동기화**: + * UserFront는 런타임에 `userfront/assets/translations/*.toml`을 직접 읽습니다. + * 따라서 `locales/ko.toml`, `locales/en.toml`, `locales/template.toml`을 수정한 뒤에는 반드시 아래 동기화 스크립트를 실행해야 합니다. + * 실행 명령: + ```bash + ./scripts/sync_userfront_locales.sh + ``` + * 이 단계가 누락되면 루트 SoT와 UserFront 실제 표시 문구가 어긋날 수 있습니다. 3. **CI 검증 (Verification)**: * **Level 1: 리소스 동기화 검사 (`template` vs `lang`)** * `template.toml`에 있는 모든 키가 `ko.toml`, `en.toml`에 존재하는지 재귀적으로 검사합니다. @@ -244,3 +252,14 @@ UserFront(`/error`)는 프로덕션에서 다음 규칙으로 에러를 표시 2. [ ] **CI**: `template.toml` vs `*.toml` 키 동기화 검증 스크립트 작성 (`scripts/verify-i18n.js` or `py`). 3. [ ] **Admin/DevFront**: Vite TOML 플러그인 설정 및 `react-i18next` 연동. 4. [ ] **UserFront**: TOML -> JSON 변환 스크립트 추가 및 `easy_localization` 연동. + +### 6.1 UserFront 번역 수정 체크포인트 + +UserFront 번역을 수정할 때는 아래 순서를 기본 절차로 사용합니다. + +1. `locales/*.toml` 수정 +2. `./scripts/sync_userfront_locales.sh` 실행 +3. UserFront 회귀 테스트 실행 + - 예: `cd userfront && flutter test test/english_locale_placeholder_test.dart` +4. 전체 키 정합성 점검 + - 예: `node tools/i18n-scanner/index.js` diff --git a/locales/en.toml b/locales/en.toml index c06e1401..1fd73f87 100644 --- a/locales/en.toml +++ b/locales/en.toml @@ -439,76 +439,65 @@ notice_detail = "Register and manage client applications." [msg.info] saved_success = "Saved successfully." + [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}}" @@ -526,57 +515,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}}" @@ -600,136 +602,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- 이용 목적: 개인정보 침해 민원 처리\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 제공하는 개인정보 항목: 성명, 연락처, 이메일\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 보유 및 이용기간: 법령에서 정한 보존기간 및 제공목적 달성 시 파기\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5조 (개인정보 처리 위탁)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 개인정보 처리업무를 외부 업체에 위탁하지 않으며, 자체적으로 처리하고 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 회사가 특정 업무(예: 채용 업무)를 외부 업체에 위탁할 경우, 개인정보 처리방침 시행 전 회사 홈페이지에서 공지한 후 정보주체의 동의를 받은 후 위탁합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6조 (정보주체의 권리·의무 및 행사 방법)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 정보주체는 회사에 대해 언제든지 개인정보 열람, 정정, 삭제, 처리정지 요구 등의 권리를 행사할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 권리 행사는 다음과 같은 방법으로 할 수 있습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 서면: 회사 주소로 서면 제출\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 전자우편: 회사 이메일로 요청\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 모사전송(FAX): 회사 FAX로 요청\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n③ 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자를 통해 대리로도 가능합니다. 이 경우 “개인정보 처리 방법에 관한 고시” 별지 제11호 서식에 따른 위임장을 제출해야 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n④ 개인정보 열람 및 처리정지 요구는 「개인정보 보호법」 제35조 제4항, 제37조 제2항에 따라 제한될 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n⑤ 개인정보의 정정 및 삭제 요구는 다른 법령에 따라 수집된 개인정보인 경우 제한될 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n⑥ 회사는 권리 행사를 요청한 자가 본인 또는 정당한 대리인인지를 확인합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7조 (처리하는 개인정보의 항목)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 다음의 개인정보 항목을 처리합니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 수집 항목:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 필수 항목: 성명, 휴대전화번호, 이메일\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 선택 항목: 회사전화번호, 문의사항\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 수집 방법:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 홈페이지, 전화, 이메일을 통해 수집\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8조 (개인정보의 파기)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 개인정보 보유 기간의 경과, 처리 목적 달성 등 개인정보가 불필요하게 되었을 때 지체 없이 해당 개인정보를 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 정보주체로부터 동의받은 개인정보 보유 기간이 경과하거나 처리 목적이 달성된 경우에도 다른 법령에 따라 개인정보를 계속 보존해야 할 경우에는, 해당 개인정보를 별도의 데이터베이스(DB)로 옮기거나 보관 장소를 달리하여 보존합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n③ 개인정보 파기의 절차 및 방법은 다음과 같습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 파기 절차: 회사는 파기 사유가 발생한 개인정보를 선정하고, 개인정보 보호책임자의 승인을 받아 개인정보를 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 파기 방법: 전자적 파일 형태로 기록된 개인정보는 복구할 수 없도록 기술적 방법을 사용해 삭제하며, 종이 문서에 기록된 개인정보는 분쇄기로 분쇄하거나 소각하여 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제9조 (개인정보의 안전성 확보 조치)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보의 안전성 확보를 위해 다음과 같은 조치를 취합니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 관리적 조치: 내부관리계획 수립·시행, 정기적 직원 교육\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 기술적 조치: 개인정보처리시스템 접근 권한 관리, 접근통제시스템 설치, 고유식별정보 암호화, 보안 프로그램 설치\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 물리적 조치: 전산실 및 자료보관실 접근 통제\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제10조 (개인정보 자동 수집 장치의 설치·운영 및 거부에 관한 사항)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 쿠키(Cookie)를 사용하지 않습니다. 쿠키는 이용자의 이용 정보를 저장하고 수시로 불러오는 작은 파일로, 바론서비스에서는 쿠키를 사용하지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제11조 (개인정보 보호책임자)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보 처리에 관한 업무를 총괄하여 책임지고, 개인정보 처리와 관련된 정보주체의 불만처리 및 피해구제를 위해 개인정보 보호책임자를 지정하고 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n개인정보 보호책임자:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 성명: 염승호\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 직책: 수석연구원\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 연락처: 02-2141-7448\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 팩스번호: 02-2141-7599\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이메일: b23008@baroncs.co.kr\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제12조 (개인정보 열람청구)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n정보주체는 「개인정보 보호법」 제35조에 따른 개인정보 열람 청구를 아래 부서에 할 수 있습니다. 회사는 정보주체의 개인정보 열람청구가 신속하게 처리되도록 노력하겠습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n개인정보 열람청구 접수·처리 부서:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 부서명: 총괄기획실\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 담당자: 권혁진\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 연락처: 02-2141-7465\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 팩스번호: 02-2141-7599\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이메일: baroncs@baroncs.co.kr\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제13조 (권익침해 구제방법)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n정보주체는 개인정보 침해로 인한 구제를 위해 개인정보분쟁조정위원회, 한국인터넷진흥원 개인정보해신고센터 등에 분쟁 해결이나 상담을 신청할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 개인정보분쟁조정위원회: (국번없이) 1833-6972 (www.kopico.go.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 개인정보침해신고센터: (국번없이) 118 (privacy.kisa.or.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 대검찰청: (국번없이) 1301 (www.spo.go.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 경찰청: (국번없이) 182 (www.police.go.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제14조 (개인정보 처리방침의 변경)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 개인정보처리방침은 법령, 정책 또는 보안 기술의 변경에 따라 내용의 추가, 삭제 및 수정이 있을 시, 개정 최소 7일 전에 홈페이지를 통해 사전 공지합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n부칙\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제1조 (시행일자)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n이 개인정보처리방침은 2024년 10월 1일부터 시행됩니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제2조 (개정 및 고지의 의무)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보처리방침을 변경하는 경우, 변경사항을 시행일자 7일 전부터 서비스 내 공지사항 페이지를 통해 고지할 것입니다. 다만, 이용자의 권리나 의무에 중대한 변경이 발생하는 경우에는 시행일자 30일 전부터 고지합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제3조 (유효성)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 개인정보처리방침의 일부 조항이 법적 또는 기타 사유로 인해 무효화되거나 시행할 수 없는 경우, 나머지 조항들은 계속해서 유효합니다. 무효화된 조항은 관련 법령에 부합하는 방식으로 수정되어 효력을 지속합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제4조 (변경 통지의 방법)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보처리방침의 변경 시, 다음의 방법으로 이용자에게 고지합니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 서비스 초기화면 또는 팝업 공지\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이메일 발송\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 회사 홈페이지 공지사항\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5조 (비회원의 개인정보 보호)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 비회원의 개인정보도 회원과 동일한 수준으로 보호합니다. 비회원이 개인정보 제공을 거부할 경우 일부 서비스 이용에 제한이 있을 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6조 (14세 미만 아동의 개인정보 보호)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 14세 미만 아동의 개인정보를 수집하지 않습니다. 만일 14세 미만 아동의 개인정보가 수집된 경우, 법정 대리인의 동의를 받아야 하며, 법정 대리인의 동의 없이 수집된 경우 이를 지체 없이 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7조 (개인정보의 국외 이전)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 이용자의 개인정보를 국외로 이전하지 않으며, 향후 필요한 경우, 사전에 이용자의 동의를 받습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8조 (기타)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 방침에 명시되지 않은 사항은 회사의 내부 방침과 관련 법령에 따릅니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n" +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① 회사는 개인정보 보호와 관련된 구체적인 사항을 개인정보처리방침에 따라 관리합니다. ② 개인정보의 수집, 이용, 제공, 보관, 보호 등에 관한 사항은 회사의 개인정보처리방침을 따르며, 이용자는 회사 웹사이트에서 이를 확인할 수 있습니다. ③ 회사는 개인정보 보호를 위해 최선을 다하며, 관련 법령에 따라 이용자의 개인정보를 안전하게 관리합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제10조 (14세 미만 아동의 개인정보 보호)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 14세 미만 아동의 개인정보를 수집할 경우, 반드시 법정대리인의 동의를 받아야 합니다. ② 법정대리인은 아동의 개인정보 열람, 수정, 삭제를 요청할 수 있으며, 회사는 이를 신속하게 처리합니다. ③ 14세 미만 아동의 개인정보 보호와 관련된 구체적인 사항은 개인정보처리방침에 명시되어 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제4장 서비스 제공 및 이용\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제11조 (서비스 제공)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 회원의 이용 신청을 승인한 때부터 서비스를 개시합니다. 서비스 이용은 연중무휴 24시간을 원칙으로 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제12조 (서비스의 변경 및 중단)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 서비스 제공이 어려운 경우 사전 고지 후 서비스를 변경하거나 중단할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5장 정보 제공 및 광고\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제13조 (정보 제공 및 광고)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 서비스 이용 중 필요하다고 인정되는 정보 및 광고를 제공할 수 있습니다. ② 회원은 원치 않는 정보를 수신 거부할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6장 게시물 관리\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제14조 (게시물의 관리)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 회원이 게시한 내용이 불법적이거나 약관에 위배될 경우 이를 삭제할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제15조 (게시물의 저작권)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n게시물의 저작권은 회원에게 있으며, 회사는 이를 서비스 홍보 및 개선 목적으로 사용할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7장 계약 해지 및 이용 제한\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제16조 (계약 해지)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회원은 언제든지 계약 해지를 요청할 수 있으며, 회사는 신속하게 처리합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제17조 (이용 제한)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 회원이 약관을 위반할 경우 서비스 이용을 제한할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8장 손해 배상 및 면책 조항\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제18조 (손해 배상)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 무료로 제공되는 서비스와 관련하여 회원에게 발생한 손해에 대해 책임을 지지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제19조 (면책 조항)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 천재지변 등 불가항력적인 사유로 인해 서비스를 제공하지 못하는 경우 책임을 지지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제9장 유료 서비스\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n20조 (유료 서비스의 이용)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 회원에게 특정 서비스에 대해 유료로 제공할 수 있습니다. ② 유료 서비스의 이용 요금, 결제 방식, 환불 절차 등에 대한 상세 내용은 서비스 안내 페이지와 결제 화면에 명시합니다. ③ 유료 서비스 이용 요금은 회사가 정한 결제 방식에 따라 결제됩니다. 회원은 신용카드, 계좌이체, 휴대전화 결제 등 회사가 제공하는 다양한 결제 방식을 통해 요금을 납부할 수 있습니다. ④ 유료 서비스의 이용 요금은 선불 결제를 원칙으로 하며, 이용 기간 중 서비스 중지 및 해지 시 남은 이용 기간에 대한 환불은 회사의 환불 정책에 따라 처리됩니다. ⑤ 회사는 회원의 유료 서비스 이용과 관련하여 발생한 문제에 대해 최선을 다해 해결하도록 노력합니다. 다만, 회사의 고의 또는 중대한 과실이 없는 한 회원이 유료 서비스 이용 중 입은 손해에 대해서는 책임을 지지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제21조(환불 정책)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회원은 결제 후 7일 이내에 서비스 이용을 시작하지 않은 경우, 요금 전액을 환불받을 수 있습니다. ② 유료 서비스 이용 중 부득이한 사유로 서비스가 중지된 경우, 회사는 이용하지 않은 부분에 대해 환불 절차를 밟습니다. ③ 회원의 귀책사유로 인해 서비스 이용이 중지된 경우, 환불이 불가능합니다. ④ 환불은 회원이 지정한 계좌로 환불 절차를 거치며, 환불 요청 후 7일 이내에 처리됩니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제22조 (유료 서비스의 중지 및 해지)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회원이 유료 서비스를 해지하고자 하는 경우, 회사의 고객 지원 센터에 해지 신청을 해야 합니다. ② 회사는 회원이 약관을 위반하거나 부정한 방법으로 유료 서비스를 이용한 경우, 유료 서비스 이용을 즉시 중지하고 계약을 해지할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제10장 양도 금지\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제23조 (양도 금지)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회원은 서비스 이용권한, 기타 이용계약상의 지위를 제3자에게 양도, 증여할 수 없으며, 이를 담보로 제공할 수 없습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제11장 관할 법원\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제24조 (분쟁 해결)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n서비스 이용과 관련하여 분쟁이 발생한 경우, 회사와 회원은 성실히 협의하여 해결합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제25조 (관할 법원)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 약관에 따른 분쟁은 서울중앙지방법원을 관할 법원으로 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n부칙\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 약관은 2024년 10월 1일부터 시행됩니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n" [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] @@ -1527,6 +1532,7 @@ remaining = "Expires in: {{minutes}}m {{seconds}}s" refresh = "Refresh session expiry" refreshing = "Refreshing session expiry..." + [ui.userfront] app_title = "Baron SW Portal" @@ -1553,19 +1559,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)" @@ -1585,26 +1591,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" @@ -1612,29 +1621,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" @@ -1653,7 +1662,7 @@ qr_scan = "QR Scan" [ui.userfront.profile] department_empty = "Department Empty" -manage = "Manage" +manage = "Manage profile" user_fallback = "User" [ui.userfront.profile.field] @@ -1670,11 +1679,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] @@ -1683,67 +1692,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" diff --git a/userfront/assets/translations/en.toml b/userfront/assets/translations/en.toml index c49affda..c3525849 100644 --- a/userfront/assets/translations/en.toml +++ b/userfront/assets/translations/en.toml @@ -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- 이용 목적: 개인정보 침해 민원 처리\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 제공하는 개인정보 항목: 성명, 연락처, 이메일\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 보유 및 이용기간: 법령에서 정한 보존기간 및 제공목적 달성 시 파기\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5조 (개인정보 처리 위탁)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 개인정보 처리업무를 외부 업체에 위탁하지 않으며, 자체적으로 처리하고 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 회사가 특정 업무(예: 채용 업무)를 외부 업체에 위탁할 경우, 개인정보 처리방침 시행 전 회사 홈페이지에서 공지한 후 정보주체의 동의를 받은 후 위탁합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6조 (정보주체의 권리·의무 및 행사 방법)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 정보주체는 회사에 대해 언제든지 개인정보 열람, 정정, 삭제, 처리정지 요구 등의 권리를 행사할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 권리 행사는 다음과 같은 방법으로 할 수 있습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 서면: 회사 주소로 서면 제출\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 전자우편: 회사 이메일로 요청\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 모사전송(FAX): 회사 FAX로 요청\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n③ 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자를 통해 대리로도 가능합니다. 이 경우 “개인정보 처리 방법에 관한 고시” 별지 제11호 서식에 따른 위임장을 제출해야 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n④ 개인정보 열람 및 처리정지 요구는 「개인정보 보호법」 제35조 제4항, 제37조 제2항에 따라 제한될 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n⑤ 개인정보의 정정 및 삭제 요구는 다른 법령에 따라 수집된 개인정보인 경우 제한될 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n⑥ 회사는 권리 행사를 요청한 자가 본인 또는 정당한 대리인인지를 확인합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7조 (처리하는 개인정보의 항목)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 다음의 개인정보 항목을 처리합니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 수집 항목:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 필수 항목: 성명, 휴대전화번호, 이메일\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 선택 항목: 회사전화번호, 문의사항\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 수집 방법:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 홈페이지, 전화, 이메일을 통해 수집\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8조 (개인정보의 파기)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 개인정보 보유 기간의 경과, 처리 목적 달성 등 개인정보가 불필요하게 되었을 때 지체 없이 해당 개인정보를 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n② 정보주체로부터 동의받은 개인정보 보유 기간이 경과하거나 처리 목적이 달성된 경우에도 다른 법령에 따라 개인정보를 계속 보존해야 할 경우에는, 해당 개인정보를 별도의 데이터베이스(DB)로 옮기거나 보관 장소를 달리하여 보존합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n③ 개인정보 파기의 절차 및 방법은 다음과 같습니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 파기 절차: 회사는 파기 사유가 발생한 개인정보를 선정하고, 개인정보 보호책임자의 승인을 받아 개인정보를 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 파기 방법: 전자적 파일 형태로 기록된 개인정보는 복구할 수 없도록 기술적 방법을 사용해 삭제하며, 종이 문서에 기록된 개인정보는 분쇄기로 분쇄하거나 소각하여 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제9조 (개인정보의 안전성 확보 조치)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보의 안전성 확보를 위해 다음과 같은 조치를 취합니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 관리적 조치: 내부관리계획 수립·시행, 정기적 직원 교육\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 기술적 조치: 개인정보처리시스템 접근 권한 관리, 접근통제시스템 설치, 고유식별정보 암호화, 보안 프로그램 설치\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 물리적 조치: 전산실 및 자료보관실 접근 통제\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제10조 (개인정보 자동 수집 장치의 설치·운영 및 거부에 관한 사항)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 쿠키(Cookie)를 사용하지 않습니다. 쿠키는 이용자의 이용 정보를 저장하고 수시로 불러오는 작은 파일로, 바론서비스에서는 쿠키를 사용하지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제11조 (개인정보 보호책임자)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보 처리에 관한 업무를 총괄하여 책임지고, 개인정보 처리와 관련된 정보주체의 불만처리 및 피해구제를 위해 개인정보 보호책임자를 지정하고 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n개인정보 보호책임자:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 성명: 염승호\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 직책: 수석연구원\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 연락처: 02-2141-7448\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 팩스번호: 02-2141-7599\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이메일: b23008@baroncs.co.kr\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제12조 (개인정보 열람청구)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n정보주체는 「개인정보 보호법」 제35조에 따른 개인정보 열람 청구를 아래 부서에 할 수 있습니다. 회사는 정보주체의 개인정보 열람청구가 신속하게 처리되도록 노력하겠습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n개인정보 열람청구 접수·처리 부서:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 부서명: 총괄기획실\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 담당자: 권혁진\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 연락처: 02-2141-7465\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 팩스번호: 02-2141-7599\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이메일: baroncs@baroncs.co.kr\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제13조 (권익침해 구제방법)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n정보주체는 개인정보 침해로 인한 구제를 위해 개인정보분쟁조정위원회, 한국인터넷진흥원 개인정보해신고센터 등에 분쟁 해결이나 상담을 신청할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 개인정보분쟁조정위원회: (국번없이) 1833-6972 (www.kopico.go.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 개인정보침해신고센터: (국번없이) 118 (privacy.kisa.or.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 대검찰청: (국번없이) 1301 (www.spo.go.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 경찰청: (국번없이) 182 (www.police.go.kr)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제14조 (개인정보 처리방침의 변경)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 개인정보처리방침은 법령, 정책 또는 보안 기술의 변경에 따라 내용의 추가, 삭제 및 수정이 있을 시, 개정 최소 7일 전에 홈페이지를 통해 사전 공지합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n부칙\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제1조 (시행일자)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n이 개인정보처리방침은 2024년 10월 1일부터 시행됩니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제2조 (개정 및 고지의 의무)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보처리방침을 변경하는 경우, 변경사항을 시행일자 7일 전부터 서비스 내 공지사항 페이지를 통해 고지할 것입니다. 다만, 이용자의 권리나 의무에 중대한 변경이 발생하는 경우에는 시행일자 30일 전부터 고지합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제3조 (유효성)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 개인정보처리방침의 일부 조항이 법적 또는 기타 사유로 인해 무효화되거나 시행할 수 없는 경우, 나머지 조항들은 계속해서 유효합니다. 무효화된 조항은 관련 법령에 부합하는 방식으로 수정되어 효력을 지속합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제4조 (변경 통지의 방법)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 개인정보처리방침의 변경 시, 다음의 방법으로 이용자에게 고지합니다:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 서비스 초기화면 또는 팝업 공지\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 이메일 발송\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n- 회사 홈페이지 공지사항\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5조 (비회원의 개인정보 보호)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 비회원의 개인정보도 회원과 동일한 수준으로 보호합니다. 비회원이 개인정보 제공을 거부할 경우 일부 서비스 이용에 제한이 있을 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6조 (14세 미만 아동의 개인정보 보호)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 14세 미만 아동의 개인정보를 수집하지 않습니다. 만일 14세 미만 아동의 개인정보가 수집된 경우, 법정 대리인의 동의를 받아야 하며, 법정 대리인의 동의 없이 수집된 경우 이를 지체 없이 파기합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7조 (개인정보의 국외 이전)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 이용자의 개인정보를 국외로 이전하지 않으며, 향후 필요한 경우, 사전에 이용자의 동의를 받습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8조 (기타)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 방침에 명시되지 않은 사항은 회사의 내부 방침과 관련 법령에 따릅니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n" +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① 회사는 개인정보 보호와 관련된 구체적인 사항을 개인정보처리방침에 따라 관리합니다. ② 개인정보의 수집, 이용, 제공, 보관, 보호 등에 관한 사항은 회사의 개인정보처리방침을 따르며, 이용자는 회사 웹사이트에서 이를 확인할 수 있습니다. ③ 회사는 개인정보 보호를 위해 최선을 다하며, 관련 법령에 따라 이용자의 개인정보를 안전하게 관리합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제10조 (14세 미만 아동의 개인정보 보호)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 14세 미만 아동의 개인정보를 수집할 경우, 반드시 법정대리인의 동의를 받아야 합니다. ② 법정대리인은 아동의 개인정보 열람, 수정, 삭제를 요청할 수 있으며, 회사는 이를 신속하게 처리합니다. ③ 14세 미만 아동의 개인정보 보호와 관련된 구체적인 사항은 개인정보처리방침에 명시되어 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제4장 서비스 제공 및 이용\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제11조 (서비스 제공)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 회원의 이용 신청을 승인한 때부터 서비스를 개시합니다. 서비스 이용은 연중무휴 24시간을 원칙으로 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제12조 (서비스의 변경 및 중단)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 서비스 제공이 어려운 경우 사전 고지 후 서비스를 변경하거나 중단할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제5장 정보 제공 및 광고\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제13조 (정보 제공 및 광고)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 서비스 이용 중 필요하다고 인정되는 정보 및 광고를 제공할 수 있습니다. ② 회원은 원치 않는 정보를 수신 거부할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제6장 게시물 관리\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제14조 (게시물의 관리)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 회원이 게시한 내용이 불법적이거나 약관에 위배될 경우 이를 삭제할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제15조 (게시물의 저작권)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n게시물의 저작권은 회원에게 있으며, 회사는 이를 서비스 홍보 및 개선 목적으로 사용할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제7장 계약 해지 및 이용 제한\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제16조 (계약 해지)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회원은 언제든지 계약 해지를 요청할 수 있으며, 회사는 신속하게 처리합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제17조 (이용 제한)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 회원이 약관을 위반할 경우 서비스 이용을 제한할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제8장 손해 배상 및 면책 조항\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제18조 (손해 배상)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 무료로 제공되는 서비스와 관련하여 회원에게 발생한 손해에 대해 책임을 지지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제19조 (면책 조항)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회사는 천재지변 등 불가항력적인 사유로 인해 서비스를 제공하지 못하는 경우 책임을 지지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제9장 유료 서비스\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n20조 (유료 서비스의 이용)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회사는 회원에게 특정 서비스에 대해 유료로 제공할 수 있습니다. ② 유료 서비스의 이용 요금, 결제 방식, 환불 절차 등에 대한 상세 내용은 서비스 안내 페이지와 결제 화면에 명시합니다. ③ 유료 서비스 이용 요금은 회사가 정한 결제 방식에 따라 결제됩니다. 회원은 신용카드, 계좌이체, 휴대전화 결제 등 회사가 제공하는 다양한 결제 방식을 통해 요금을 납부할 수 있습니다. ④ 유료 서비스의 이용 요금은 선불 결제를 원칙으로 하며, 이용 기간 중 서비스 중지 및 해지 시 남은 이용 기간에 대한 환불은 회사의 환불 정책에 따라 처리됩니다. ⑤ 회사는 회원의 유료 서비스 이용과 관련하여 발생한 문제에 대해 최선을 다해 해결하도록 노력합니다. 다만, 회사의 고의 또는 중대한 과실이 없는 한 회원이 유료 서비스 이용 중 입은 손해에 대해서는 책임을 지지 않습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제21조(환불 정책)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회원은 결제 후 7일 이내에 서비스 이용을 시작하지 않은 경우, 요금 전액을 환불받을 수 있습니다. ② 유료 서비스 이용 중 부득이한 사유로 서비스가 중지된 경우, 회사는 이용하지 않은 부분에 대해 환불 절차를 밟습니다. ③ 회원의 귀책사유로 인해 서비스 이용이 중지된 경우, 환불이 불가능합니다. ④ 환불은 회원이 지정한 계좌로 환불 절차를 거치며, 환불 요청 후 7일 이내에 처리됩니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제22조 (유료 서비스의 중지 및 해지)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n① 회원이 유료 서비스를 해지하고자 하는 경우, 회사의 고객 지원 센터에 해지 신청을 해야 합니다. ② 회사는 회원이 약관을 위반하거나 부정한 방법으로 유료 서비스를 이용한 경우, 유료 서비스 이용을 즉시 중지하고 계약을 해지할 수 있습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제10장 양도 금지\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제23조 (양도 금지)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n회원은 서비스 이용권한, 기타 이용계약상의 지위를 제3자에게 양도, 증여할 수 없으며, 이를 담보로 제공할 수 없습니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제11장 관할 법원\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제24조 (분쟁 해결)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n서비스 이용과 관련하여 분쟁이 발생한 경우, 회사와 회원은 성실히 협의하여 해결합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n제25조 (관할 법원)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 약관에 따른 분쟁은 서울중앙지방법원을 관할 법원으로 합니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n부칙\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n본 약관은 2024년 10월 1일부터 시행됩니다.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n" [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" diff --git a/userfront/test/english_locale_placeholder_test.dart b/userfront/test/english_locale_placeholder_test.dart new file mode 100644 index 00000000..059329e2 --- /dev/null +++ b/userfront/test/english_locale_placeholder_test.dart @@ -0,0 +1,106 @@ +import 'dart:io'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:toml/toml.dart'; + +const Set _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 root, String key) { + dynamic cursor = root; + for (final part in key.split('.')) { + if (cursor is! Map) { + 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 = [ + '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 = []; + 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'), + ); + }); +}