diff --git a/frontend/src/lib/i18n/locales/ko-KR.json b/frontend/src/lib/i18n/locales/ko-KR.json
index 71e61641..cf674472 100644
--- a/frontend/src/lib/i18n/locales/ko-KR.json
+++ b/frontend/src/lib/i18n/locales/ko-KR.json
@@ -1,83 +1,105 @@
{
- "loginTitle": "다시 오신 것을 환영합니다. 아래 방법으로 로그인하세요",
- "loginTitleSimple": "다시 오신 것을 환영합니다. 로그인해 주세요",
- "loginDivider": "또는",
- "loginUsername": "사용자 이름",
- "loginPassword": "비밀번호",
- "loginSubmit": "로그인",
- "loginFailTitle": "로그인 실패",
- "loginFailSubtitle": "사용자 이름과 비밀번호를 확인해 주세요",
- "loginFailRateLimit": "로그인을 너무 많이 시도했습니다. 나중에 다시 시도해 주세요",
- "loginSuccessTitle": "로그인 성공",
- "loginSuccessSubtitle": "다시 오신 것을 환영합니다!",
- "loginOauthFailTitle": "오류가 발생했습니다",
- "loginOauthFailSubtitle": "OAuth URL을 가져오는 데 실패했습니다",
- "loginOauthSuccessTitle": "리디렉션 중",
- "loginOauthSuccessSubtitle": "OAuth 제공자로 리디렉션 중입니다",
- "loginOauthAutoRedirectTitle": "OAuth 자동 리디렉션",
- "loginOauthAutoRedirectSubtitle": "인증을 위해 OAuth 제공자로 자동 리디렉션됩니다.",
- "loginOauthAutoRedirectButton": "지금 리디렉션",
- "continueTitle": "계속",
- "continueRedirectingTitle": "리디렉션 중...",
- "continueRedirectingSubtitle": "곧 앱으로 리디렉션됩니다",
- "continueRedirectManually": "직접 리디렉션하기",
- "continueInsecureRedirectTitle": "안전하지 않은 리디렉션",
- "continueInsecureRedirectSubtitle": "https에서 http로 리디렉션하려고 합니다. 이는 안전하지 않습니다. 계속하시겠습니까?",
- "continueUntrustedRedirectTitle": "신뢰할 수 없는 리디렉션",
- "continueUntrustedRedirectSubtitle": "설정된 도메인({{cookieDomain}})과 일치하지 않는 도메인으로 리디렉션하려고 합니다. 계속하시겠습니까?",
- "logoutFailTitle": "로그아웃 실패",
- "logoutFailSubtitle": "다시 시도해 주세요",
- "logoutSuccessTitle": "로그아웃 완료",
- "logoutSuccessSubtitle": "로그아웃되었습니다",
- "logoutTitle": "로그아웃",
- "logoutUsernameSubtitle": "현재 {{username}}로 로그인되어 있습니다. 아래 버튼을 클릭하여 로그아웃하세요.",
- "logoutOauthSubtitle": "현재 {{provider}} OAuth 제공자를 통해 {{username}}(으)로 로그인되어 있습니다. 아래 버튼을 클릭하여 로그아웃하세요.",
- "notFoundTitle": "페이지를 찾을 수 없습니다",
- "notFoundSubtitle": "찾으시는 페이지가 존재하지 않습니다.",
- "notFoundButton": "홈으로 가기",
- "totpFailTitle": "코드 확인 실패",
- "totpFailSubtitle": "코드를 확인하고 다시 시도해 주세요",
- "totpSuccessTitle": "확인 완료",
- "totpSuccessSubtitle": "앱으로 리디렉션 중입니다",
- "totpTitle": "TOTP 코드 입력",
- "totpSubtitle": "인증 앱의 코드를 입력해 주세요.",
- "unauthorizedTitle": "권한 없음",
- "unauthorizedResourceSubtitle": "사용자 이름 {{username}}은(는) 리소스 {{resource}}에 접근할 권한이 없습니다.",
- "unauthorizedLoginSubtitle": "사용자 이름 {{username}}은(는) 로그인할 권한이 없습니다.",
- "unauthorizedGroupsSubtitle": "사용자 이름 {{username}}은(는) 리소스 {{resource}}에서 요구하는 그룹에 속해 있지 않습니다.",
- "unauthorizedIpSubtitle": "IP 주소 {{ip}}는 리소스 {{resource}}에 접근할 권한이 없습니다.",
- "unauthorizedButton": "다시 시도",
- "cancelTitle": "취소",
- "forgotPasswordTitle": "비밀번호를 잊으셨나요?",
- "failedToFetchProvidersTitle": "인증 제공자를 불러오는 데 실패했습니다. 설정을 확인해 주세요.",
- "errorTitle": "오류가 발생했습니다",
- "errorSubtitleInfo": "요청 처리 중 다음 오류가 발생했습니다:",
- "errorSubtitle": "An error occurred while trying to perform this action. Please check the console for more information.",
- "forgotPasswordMessage": "USERS 환경 변수를 변경하여 비밀번호를 재설정할 수 있습니다.",
- "fieldRequired": "필수 입력 항목입니다",
- "invalidInput": "잘못된 입력입니다",
- "domainWarningTitle": "잘못된 도메인",
- "domainWarningSubtitle": "잘못된 도메인에서 이 인스턴스에 접근하고 있습니다. 계속 진행하면 인증 문제가 발생할 수 있습니다.",
- "domainWarningCurrent": "현재:",
- "domainWarningExpected": "예상:",
- "ignoreTitle": "무시",
- "goToCorrectDomainTitle": "올바른 도메인으로 이동",
- "authorizeTitle": "권한 부여",
- "authorizeCardTitle": "{{app}}(으)로 계속하시겠습니까?",
- "authorizeSubtitle": "이 앱으로 계속하시겠습니까? 앱에서 요청한 권한을 주의 깊게 검토해 주세요.",
- "authorizeSubtitleOAuth": "이 앱으로 계속하시겠습니까?",
- "authorizeLoadingTitle": "로딩 중...",
- "authorizeLoadingSubtitle": "클라이언트 정보를 불러오는 동안 기다려 주세요.",
- "authorizeSuccessTitle": "권한 부여 완료",
- "authorizeSuccessSubtitle": "몇 초 후에 앱으로 리디렉션됩니다.",
- "authorizeErrorClientInfo": "클라이언트 정보를 불러오는 중 오류가 발생했습니다. 나중에 다시 시도해 주세요.",
- "authorizeErrorMissingParams": "다음 매개변수가 누락되었습니다: {{missingParams}}",
- "openidScopeName": "OpenID Connect",
- "openidScopeDescription": "앱이 OpenID Connect 정보에 접근할 수 있도록 허용합니다.",
- "emailScopeName": "이메일",
- "emailScopeDescription": "앱이 이메일 주소에 접근할 수 있도록 허용합니다.",
- "profileScopeName": "프로필",
- "profileScopeDescription": "앱이 프로필 정보에 접근할 수 있도록 허용합니다.",
- "groupsScopeName": "그룹",
- "groupsScopeDescription": "앱이 그룹 정보에 접근할 수 있도록 허용합니다."
+ "loginTitle": "다시 오신 것을 환영합니다. 아래 방법으로 로그인하세요",
+ "loginTitleSimple": "다시 오신 것을 환영합니다. 로그인해 주세요",
+ "loginDivider": "또는",
+ "loginUsername": "사용자 이름",
+ "loginPassword": "비밀번호",
+ "loginSubmit": "로그인",
+ "loginFailTitle": "로그인 실패",
+ "loginFailSubtitle": "사용자 이름과 비밀번호를 확인해 주세요",
+ "loginFailRateLimit": "로그인을 너무 많이 시도했습니다. 나중에 다시 시도해 주세요",
+ "loginSuccessTitle": "로그인 성공",
+ "loginSuccessSubtitle": "다시 오신 것을 환영합니다!",
+ "loginOauthFailTitle": "오류가 발생했습니다",
+ "loginOauthFailSubtitle": "OAuth URL을 가져오는 데 실패했습니다",
+ "loginOauthSuccessTitle": "리디렉션 중",
+ "loginOauthSuccessSubtitle": "OAuth 제공자로 리디렉션 중입니다",
+ "loginOauthAutoRedirectTitle": "OAuth 자동 리디렉션",
+ "loginOauthAutoRedirectSubtitle": "인증을 위해 OAuth 제공자로 자동 리디렉션됩니다.",
+ "loginOauthAutoRedirectButton": "지금 리디렉션",
+ "continueTitle": "계속",
+ "continueRedirectingTitle": "리디렉션 중...",
+ "continueRedirectingSubtitle": "곧 앱으로 리디렉션됩니다",
+ "continueRedirectManually": "직접 리디렉션하기",
+ "continueInsecureRedirectTitle": "안전하지 않은 리디렉션",
+ "continueInsecureRedirectSubtitle": "https에서 http로 리디렉션하려고 합니다. 이는 안전하지 않습니다. 계속하시겠습니까?",
+ "continueUntrustedRedirectTitle": "신뢰할 수 없는 리디렉션",
+ "continueUntrustedRedirectSubtitle": "설정된 도메인({{cookieDomain}})과 일치하지 않는 도메인으로 리디렉션하려고 합니다. 계속하시겠습니까?",
+ "logoutFailTitle": "로그아웃 실패",
+ "logoutFailSubtitle": "다시 시도해 주세요",
+ "logoutSuccessTitle": "로그아웃 완료",
+ "logoutSuccessSubtitle": "로그아웃되었습니다",
+ "logoutTitle": "로그아웃",
+ "logoutUsernameSubtitle": "현재 {{username}}로 로그인되어 있습니다. 아래 버튼을 클릭하여 로그아웃하세요.",
+ "logoutOauthSubtitle": "현재 {{provider}} OAuth 제공자를 통해 {{username}}(으)로 로그인되어 있습니다. 아래 버튼을 클릭하여 로그아웃하세요.",
+ "notFoundTitle": "페이지를 찾을 수 없습니다",
+ "notFoundSubtitle": "찾으시는 페이지가 존재하지 않습니다.",
+ "notFoundButton": "홈으로 가기",
+ "totpFailTitle": "코드 확인 실패",
+ "totpFailSubtitle": "코드를 확인하고 다시 시도해 주세요",
+ "totpSuccessTitle": "확인 완료",
+ "totpSuccessSubtitle": "앱으로 리디렉션 중입니다",
+ "totpTitle": "TOTP 코드 입력",
+ "totpSubtitle": "인증 앱의 코드를 입력해 주세요.",
+ "unauthorizedTitle": "권한 없음",
+ "unauthorizedResourceSubtitle": "사용자 이름 {{username}}은(는) 리소스 {{resource}}에 접근할 권한이 없습니다.",
+ "unauthorizedLoginSubtitle": "사용자 이름 {{username}}은(는) 로그인할 권한이 없습니다.",
+ "unauthorizedGroupsSubtitle": "사용자 이름 {{username}}은(는) 리소스 {{resource}}에서 요구하는 그룹에 속해 있지 않습니다.",
+ "unauthorizedIpSubtitle": "IP 주소 {{ip}}는 리소스 {{resource}}에 접근할 권한이 없습니다.",
+ "unauthorizedButton": "다시 시도",
+ "cancelTitle": "취소",
+ "forgotPasswordTitle": "비밀번호를 잊으셨나요?",
+ "failedToFetchProvidersTitle": "인증 제공자를 불러오는 데 실패했습니다. 설정을 확인해 주세요.",
+ "errorTitle": "오류가 발생했습니다",
+ "errorSubtitleInfo": "요청 처리 중 다음 오류가 발생했습니다:",
+ "errorSubtitle": "An error occurred while trying to perform this action. Please check the console for more information.",
+ "forgotPasswordMessage": "USERS 환경 변수를 변경하여 비밀번호를 재설정할 수 있습니다.",
+ "fieldRequired": "필수 입력 항목입니다",
+ "invalidInput": "잘못된 입력입니다",
+ "domainWarningTitle": "잘못된 도메인",
+ "domainWarningSubtitle": "잘못된 도메인에서 이 인스턴스에 접근하고 있습니다. 계속 진행하면 인증 문제가 발생할 수 있습니다.",
+ "domainWarningCurrent": "현재:",
+ "domainWarningExpected": "예상:",
+ "ignoreTitle": "무시",
+ "goToCorrectDomainTitle": "올바른 도메인으로 이동",
+ "authorizeTitle": "권한 부여",
+ "authorizeCardTitle": "{{app}}(으)로 계속하시겠습니까?",
+ "authorizeSubtitle": "이 앱으로 계속하시겠습니까? 앱에서 요청한 권한을 주의 깊게 검토해 주세요.",
+ "authorizeSubtitleOAuth": "이 앱으로 계속하시겠습니까?",
+ "authorizeLoadingTitle": "로딩 중...",
+ "authorizeLoadingSubtitle": "클라이언트 정보를 불러오는 동안 기다려 주세요.",
+ "authorizeSuccessTitle": "권한 부여 완료",
+ "authorizeSuccessSubtitle": "몇 초 후에 앱으로 리디렉션됩니다.",
+ "authorizeErrorClientInfo": "클라이언트 정보를 불러오는 중 오류가 발생했습니다. 나중에 다시 시도해 주세요.",
+ "authorizeErrorInvalidParams": "요청에 필수 매개변수가 누락되었거나 유효하지 않은 매개변수가 포함되어 있습니다. URL을 확인한 후 다시 시도해 주세요.",
+ "openidScopeName": "OpenID Connect",
+ "openidScopeDescription": "앱이 OpenID Connect 정보에 접근할 수 있도록 허용합니다.",
+ "emailScopeName": "이메일",
+ "emailScopeDescription": "앱이 이메일 주소에 접근할 수 있도록 허용합니다.",
+ "profileScopeName": "프로필",
+ "profileScopeDescription": "앱이 프로필 정보에 접근할 수 있도록 허용합니다.",
+ "groupsScopeName": "그룹",
+ "groupsScopeDescription": "앱이 그룹 정보에 접근할 수 있도록 허용합니다.",
+ "backToLoginButton": "로그인 페이지로 돌아가기",
+ "phoneScopeName": "전화번호",
+ "phoneScopeDescription": "앱이 전화번호에 접근할 수 있도록 허용합니다.",
+ "addressScopeName": "주소",
+ "addressScopeDescription": "앱이 주소에 접근할 수 있도록 허용합니다.",
+ "loginTailscaleTitle": "Tailscale로 계속",
+ "loginTailscaleDescription": "사용자님은 인증된 Tailscale 기기에서 Tinyauth에 접속 중인 것으로 보입니다. Tailscale 연결을 계속하시겠습니까?",
+ "loginTailscaleDeviceName": "기기 이름:",
+ "loginTailscaleOtherMethod": "다른 방법으로 로그인",
+ "loginTailscaleSuccess": "Tailscale을 통해 성공적으로 인증되었습니다.",
+ "loginTailscaleFail": "Tailscale을 통한 인증에 실패했습니다. 다른 방식을 사용해 주세요.",
+ "logoutTailscaleSubtitle": "현재 {{deviceName}}가 Tailscale을 통해 로그인 되어 있습니다. 로그아웃 하시려면 아래 버튼을 클릭하세요.",
+ "quickActionsLanguage": "언어",
+ "quickActionsTheme": "테마",
+ "quickActionsThemeLight": "밝은 테마",
+ "quickActionsThemeDark": "어두운 테마",
+ "quickActionsThemeSystem": "시스템",
+ "quickActionsLogout": "로그아웃",
+ "quickActionsTitle": "빠른 동작",
+ "quickActionsProviderLocal": "로컬",
+ "quickActionsProviderLDAP": "LDAP",
+ "quickActionsProviderOAuth": "{{provider}} OAuth"
}