비밀번호 변경 화면 국제화

This commit is contained in:
Yu Sung
2026-01-23 06:05:45 +09:00
parent 0a40bdbee8
commit 791ebb0242
2 changed files with 55 additions and 10 deletions

View File

@@ -1029,6 +1029,51 @@ enum I18n {
pick(ko: "비밀번호가 변경되었습니다.", en: "Password has been changed.", ja: "パスワードが変更されました。")
}
static var modifyPasswordTitle: String {
pick(ko: "비밀번호 변경", en: "Change Password", ja: "パスワード変更")
}
static var modifyPasswordGuide: String {
pick(
ko: "안전한 비밀번호로 내 내 정보를 보호하세요",
en: "Protect your information with a secure password.",
ja: "安全なパスワードで情報を守りましょう。"
)
}
static var currentPasswordTitle: String {
pick(ko: "현재 비밀번호", en: "Current password", ja: "現在のパスワード")
}
static var currentPasswordHint: String {
pick(ko: "현재 비밀번호를 입력하세요.", en: "Enter your current password.", ja: "現在のパスワードを入力してください。")
}
static var newPasswordTitle: String {
pick(ko: "신규 비밀번호", en: "New password", ja: "新しいパスワード")
}
static var newPasswordHint: String {
pick(
ko: "신규 비밀번호를 입력해주세요(영문, 숫자 포함 8자 이상)",
en: "Enter a new password (8+ chars with letters and numbers).",
ja: "新しいパスワードを入力してください英数字を含む8文字以上"
)
}
static var confirmPasswordTitle: String {
pick(ko: "신규 비밀번호 확인", en: "Confirm new password", ja: "新しいパスワード確認")
}
static var confirmPasswordHint: String {
pick(ko: "신규 비밀번호를 재입력해주세요", en: "Re-enter the new password.", ja: "新しいパスワードを再入力してください。")
}
static var passwordRuleFootnote: String {
pick(ko: "* 영문, 숫자 포함 8자 이상", en: "* At least 8 characters with letters and numbers", ja: "※ 英数字を含む8文字以上")
}
static var changePasswordAction: String {
pick(ko: "비밀번호 변경하기", en: "Change password", ja: "パスワードを変更する")
}
static var profileImageUpdateFailed: String {
pick(
ko: "프로필 이미지를 업데이트 하지 못했습니다.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다.",

View File

@@ -16,32 +16,32 @@ struct ModifyPasswordView: View {
BaseView(isLoading: $viewModel.isLoading) {
GeometryReader { proxy in
VStack(spacing: 0) {
DetailNavigationBar(title: "비밀번호 변경")
DetailNavigationBar(title: I18n.ProfileUpdate.modifyPasswordTitle)
ScrollView(.vertical, showsIndicators: false) {
Text("안전한 비밀번호로 내 내 정보를 보호하세요")
Text(I18n.ProfileUpdate.modifyPasswordGuide)
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.top, 40)
VStack(spacing: 26.7) {
UserTextField(
title: "현재 비밀번호",
hint: "현재 비밀번호를 입력하세요.",
title: I18n.ProfileUpdate.currentPasswordTitle,
hint: I18n.ProfileUpdate.currentPasswordHint,
isSecure: true,
variable: $viewModel.currentPassword
)
UserTextField(
title: "신규 비밀번호",
hint: "신규 비밀번호를 입력해주세요(영문, 숫자 포함 8자 이상)",
title: I18n.ProfileUpdate.newPasswordTitle,
hint: I18n.ProfileUpdate.newPasswordHint,
isSecure: true,
variable: $viewModel.newPassword
)
UserTextField(
title: "신규 비밀번호 확인",
hint: "신규 비밀번호를 재입력해주세요",
title: I18n.ProfileUpdate.confirmPasswordTitle,
hint: I18n.ProfileUpdate.confirmPasswordHint,
isSecure: true,
variable: $viewModel.newPasswordConfirm
)
@@ -49,7 +49,7 @@ struct ModifyPasswordView: View {
.padding(.top, 40)
.frame(width: screenSize().width - 53.4)
Text("* 영문, 숫자 포함 8자 이상")
Text(I18n.ProfileUpdate.passwordRuleFootnote)
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.mainRed3)
.frame(width: screenSize().width - 53.4, alignment: .leading)
@@ -57,7 +57,7 @@ struct ModifyPasswordView: View {
}
if !viewModel.isLoading {
Text("비밀번호 변경하기")
Text(I18n.ProfileUpdate.changePasswordAction)
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 16)