fix(auth): 로그인/회원가입 문자열 리소스화 및 영·일 번역 추가

This commit is contained in:
2025-11-28 18:01:48 +09:00
parent 0326fa89ea
commit 6e3edd1e96
7 changed files with 73 additions and 29 deletions

View File

@@ -29,6 +29,7 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import kotlinx.coroutines.launch
import kr.co.vividnext.sodalive.BuildConfig
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.base.BaseActivity
import kr.co.vividnext.sodalive.common.Constants
import kr.co.vividnext.sodalive.common.LoadingDialog
@@ -56,7 +57,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
}
override fun setupView() {
binding.toolbar.tvBack.text = "로그인"
binding.toolbar.tvBack.text = getString(R.string.title_login)
binding.toolbar.tvBack.setOnClickListener { finish() }
loadingDialog = LoadingDialog(this, layoutInflater)
@@ -113,7 +114,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
// Extract credential from the result returned by Credential Manager
handleSignIn(result.credential)
} catch (e: GetCredentialException) {
showToast("구글 로그인을 하지 못했습니다. 다시 시도해 주세요")
showToast(getString(R.string.login_google_failed))
Logger.e("Couldn't retrieve user's credentials: ${e.localizedMessage}")
loadingDialog.dismiss()
}
@@ -145,7 +146,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
startActivity(nextIntent)
}
} else {
showToast("로그인을 하지 못했습니다. 다시 시도해 주세요")
showToast(getString(R.string.login_failed))
Logger.e("Credential is not of type Google ID!")
}
}
@@ -214,7 +215,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(ActivityLoginBinding::i
private val kakaoLoginCallback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
loadingDialog.dismiss()
if (error != null) {
showToast("카카오 계정으로 로그인 하지 못했습니다. 다시 시도해 주세요")
showToast(getString(R.string.login_kakao_failed))
} else if (token != null) {
handleKakaoLogin(token)
}

View File

@@ -12,6 +12,7 @@ import androidx.media3.common.util.UnstableApi
import com.jakewharton.rxbinding4.widget.textChanges
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.base.BaseActivity
import kr.co.vividnext.sodalive.common.Constants
import kr.co.vividnext.sodalive.common.LoadingDialog
@@ -38,7 +39,7 @@ class SignUpActivity : BaseActivity<ActivitySignupBinding>(ActivitySignupBinding
}
override fun setupView() {
binding.toolbar.tvBack.text = "회원가입"
binding.toolbar.tvBack.text = getString(R.string.title_signup)
binding.toolbar.tvBack.setOnClickListener { finish() }
loadingDialog = LoadingDialog(this, layoutInflater)

View File

@@ -41,8 +41,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:fontFamily="@font/gmarket_sans_medium"
android:hint="이메일"
android:fontFamily="@font/pretendard_medium"
android:hint="@string/hint_email"
android:importantForAutofill="no"
android:inputType="textEmailAddress"
android:paddingVertical="18dp"
@@ -71,8 +71,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:fontFamily="@font/gmarket_sans_medium"
android:hint="비밀번호"
android:fontFamily="@font/pretendard_medium"
android:hint="@string/hint_password"
android:imeOptions="actionDone"
android:importantForAutofill="no"
android:inputType="textPassword"
@@ -89,10 +89,10 @@
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="40dp"
android:background="@drawable/bg_round_corner_6_7_3bb9f1"
android:fontFamily="@font/gmarket_sans_bold"
android:fontFamily="@font/pretendard_bold"
android:gravity="center"
android:paddingVertical="16dp"
android:text="로그인"
android:text="@string/title_login"
android:textColor="@color/white"
android:textSize="15sp" />
@@ -101,9 +101,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:fontFamily="@font/gmarket_sans_medium"
android:fontFamily="@font/pretendard_medium"
android:paddingVertical="10dp"
android:text="비밀번호를 잊으셨나요?"
android:text="@string/forgot_password"
android:textColor="@color/color_bbbbbb"
android:textSize="13.3sp" />
@@ -112,9 +112,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:fontFamily="@font/gmarket_sans_medium"
android:fontFamily="@font/pretendard_medium"
android:paddingVertical="10dp"
android:text="보이스온 회원이 아닌가요? 지금 가입하세요."
android:text="@string/signup_prompt"
android:textColor="@color/color_bbbbbb"
android:textSize="13.3sp" />

View File

@@ -42,8 +42,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:fontFamily="@font/gmarket_sans_medium"
android:hint="이메일"
android:fontFamily="@font/pretendard_medium"
android:hint="@string/hint_email"
android:importantForAutofill="no"
android:inputType="textEmailAddress"
android:paddingVertical="18dp"
@@ -72,8 +72,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:fontFamily="@font/gmarket_sans_medium"
android:hint="비밀번호"
android:fontFamily="@font/pretendard_medium"
android:hint="@string/hint_password"
android:imeOptions="actionDone"
android:importantForAutofill="no"
android:inputType="textPassword"
@@ -111,8 +111,8 @@
android:id="@+id/tv_terms_of_service"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:text="이용약관"
android:fontFamily="@font/pretendard_medium"
android:text="@string/terms_of_service"
android:textColor="@color/color_eeeeee"
android:textSize="12sp" />
@@ -120,8 +120,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6.7dp"
android:fontFamily="@font/gmarket_sans_medium"
android:text="(필수)"
android:fontFamily="@font/pretendard_medium"
android:text="@string/required_label"
android:textColor="@color/color_3bb9f1"
android:textSize="12sp" />
</LinearLayout>
@@ -155,8 +155,8 @@
android:id="@+id/tv_privacy_policy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:text="개인정보수집 및 이용동의"
android:fontFamily="@font/pretendard_medium"
android:text="@string/privacy_policy"
android:textColor="@color/color_eeeeee"
android:textSize="12sp" />
@@ -164,8 +164,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6.7dp"
android:fontFamily="@font/gmarket_sans_medium"
android:text="(필수)"
android:fontFamily="@font/pretendard_medium"
android:text="@string/required_label"
android:textColor="@color/color_3bb9f1"
android:textSize="12sp" />
</LinearLayout>
@@ -178,10 +178,10 @@
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="26.7dp"
android:background="@drawable/bg_round_corner_10_3bb9f1"
android:fontFamily="@font/gmarket_sans_bold"
android:fontFamily="@font/pretendard_bold"
android:gravity="center"
android:paddingVertical="16dp"
android:text="회원가입"
android:text="@string/title_signup"
android:textColor="@color/white"
android:textSize="18.3sp" />
</LinearLayout>

View File

@@ -43,4 +43,18 @@
<string name="confirm_delete_message">Delete this?</string>
<string name="confirm">OK</string>
<string name="cancel">Cancel</string>
<!-- Login / Sign up -->
<string name="title_login">Log in</string>
<string name="title_signup">Sign up</string>
<string name="hint_email">Email</string>
<string name="hint_password">Password</string>
<string name="forgot_password">Forgot your password?</string>
<string name="signup_prompt">Not a VoiceOn member yet? Sign up now.</string>
<string name="terms_of_service">Terms of Service</string>
<string name="privacy_policy">Privacy Policy</string>
<string name="required_label">(Required)</string>
<string name="login_google_failed">Could not sign in with Google. Please try again.</string>
<string name="login_failed">Could not sign in. Please try again.</string>
<string name="login_kakao_failed">Could not sign in with Kakao. Please try again.</string>
</resources>

View File

@@ -43,4 +43,18 @@
<string name="confirm_delete_message">削除しますか?</string>
<string name="confirm">OK</string>
<string name="cancel">キャンセル</string>
<!-- Login / Sign up -->
<string name="title_login">ログイン</string>
<string name="title_signup">新規登録</string>
<string name="hint_email">メールアドレス</string>
<string name="hint_password">パスワード</string>
<string name="forgot_password">パスワードをお忘れですか?</string>
<string name="signup_prompt">VoiceOnの会員ではありませんか今すぐ登録してください。</string>
<string name="terms_of_service">利用規約</string>
<string name="privacy_policy">個人情報の収集・利用について</string>
<string name="required_label">(必須)</string>
<string name="login_google_failed">Googleでログインできませんでした。もう一度お試しください。</string>
<string name="login_failed">ログインできませんでした。もう一度お試しください。</string>
<string name="login_kakao_failed">Kakaoアカウントでログインできませんでした。もう一度お試しください。</string>
</resources>

View File

@@ -42,4 +42,18 @@
<string name="confirm_delete_message">삭제 하시겠습니까?</string>
<string name="confirm">확인</string>
<string name="cancel">취소</string>
<!-- Login / Sign up -->
<string name="title_login">로그인</string>
<string name="title_signup">회원가입</string>
<string name="hint_email">이메일</string>
<string name="hint_password">비밀번호</string>
<string name="forgot_password">비밀번호를 잊으셨나요?</string>
<string name="signup_prompt">보이스온 회원이 아닌가요? 지금 가입하세요.</string>
<string name="terms_of_service">이용약관</string>
<string name="privacy_policy">개인정보수집 및 이용동의</string>
<string name="required_label">(필수)</string>
<string name="login_google_failed">구글 로그인을 하지 못했습니다. 다시 시도해 주세요</string>
<string name="login_failed">로그인을 하지 못했습니다. 다시 시도해 주세요</string>
<string name="login_kakao_failed">카카오 계정으로 로그인 하지 못했습니다. 다시 시도해 주세요</string>
</resources>