스플래시와 메인 문자열 리소스화

This commit is contained in:
2025-12-01 11:43:11 +09:00
parent 1efd968b09
commit 41c11d763e
6 changed files with 52 additions and 12 deletions

View File

@@ -15,6 +15,7 @@ import com.google.firebase.remoteconfig.ktx.get
import com.google.firebase.remoteconfig.ktx.remoteConfig import com.google.firebase.remoteconfig.ktx.remoteConfig
import com.google.firebase.remoteconfig.ktx.remoteConfigSettings import com.google.firebase.remoteconfig.ktx.remoteConfigSettings
import kr.co.vividnext.sodalive.BuildConfig import kr.co.vividnext.sodalive.BuildConfig
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.base.BaseActivity
import kr.co.vividnext.sodalive.base.SodaDialog import kr.co.vividnext.sodalive.base.SodaDialog
import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.Constants
@@ -82,9 +83,9 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
SodaDialog( SodaDialog(
activity = this@SplashActivity, activity = this@SplashActivity,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "안내", title = getString(R.string.screen_splash_maintenance_title),
desc = "서비스 점검중입니다.", desc = getString(R.string.screen_splash_maintenance_desc),
confirmButtonTitle = "확인", confirmButtonTitle = getString(R.string.confirm),
confirmButtonClick = { finish() } confirmButtonClick = { finish() }
).show(screenWidth) ).show(screenWidth)
} else { } else {
@@ -124,9 +125,9 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
private fun showUpdateDialog(isEssential: Boolean = false) { private fun showUpdateDialog(isEssential: Boolean = false) {
val desc = if (isEssential) { val desc = if (isEssential) {
"필수 업데이트가 있습니다.\n업데이트 후 사용가능합니다." getString(R.string.screen_splash_update_required_desc)
} else { } else {
"최신 업데이트가 있습니다.\n업데이트 하시겠습니까?" getString(R.string.screen_splash_update_optional_desc)
} }
val cancelButtonClick = if (!isEssential) { val cancelButtonClick = if (!isEssential) {
@@ -138,9 +139,9 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
SodaDialog( SodaDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "업데이트", title = getString(R.string.screen_splash_update_title),
desc = desc, desc = desc,
confirmButtonTitle = "업데이트", confirmButtonTitle = getString(R.string.screen_splash_update_confirm),
confirmButtonClick = { confirmButtonClick = {
startActivity( startActivity(
Intent( Intent(
@@ -153,7 +154,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
cancelButtonTitle = if (isEssential) { cancelButtonTitle = if (isEssential) {
"" ""
} else { } else {
"다음에" getString(R.string.screen_splash_update_later)
}, },
cancelButtonClick = cancelButtonClick cancelButtonClick = cancelButtonClick
).show(screenWidth) ).show(screenWidth)

View File

@@ -20,7 +20,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_bold" android:fontFamily="@font/pretendard_bold"
android:text="목소리로 만나는 새로운 세계" android:text="@string/screen_splash_tagline"
android:textSize="21sp" android:textSize="21sp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:textColor="@color/white" android:textColor="@color/white"
@@ -42,7 +42,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_bold" android:fontFamily="@font/pretendard_bold"
android:text="소다라이브" android:text="@string/screen_splash_brand_name"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="21sp" android:textSize="21sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -22,7 +22,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:text="다시보지 않기" android:text="@string/dialog_event_popup_never_show"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="14.7sp" /> android:textSize="14.7sp" />
@@ -32,7 +32,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:text="닫기" android:text="@string/dialog_event_popup_close"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="14.7sp" /> android:textSize="14.7sp" />
</RelativeLayout> </RelativeLayout>

View File

@@ -13,6 +13,19 @@
<string name="read_storage_permission_denied_message"><![CDATA[You cannot upload content if you deny this permission.\n\nPlease allow it in [Settings]->[Permissions].]]></string> <string name="read_storage_permission_denied_message"><![CDATA[You cannot upload content if you deny this permission.\n\nPlease allow it in [Settings]->[Permissions].]]></string>
<string name="retry">Please try again.\nIf the issue continues, contact customer support.</string> <string name="retry">Please try again.\nIf the issue continues, contact customer support.</string>
<!-- Splash / Main common -->
<string name="screen_splash_tagline">A new world through voice</string>
<string name="screen_splash_brand_name">SodaLive</string>
<string name="screen_splash_maintenance_title">Notice</string>
<string name="screen_splash_maintenance_desc">The service is under maintenance.</string>
<string name="screen_splash_update_title">Update</string>
<string name="screen_splash_update_required_desc">A required update is available.\nYou can use the app after updating.</string>
<string name="screen_splash_update_optional_desc">A new update is available.\nWould you like to update?</string>
<string name="screen_splash_update_confirm">Update</string>
<string name="screen_splash_update_later">Later</string>
<string name="dialog_event_popup_never_show">Dont show again</string>
<string name="dialog_event_popup_close">Close</string>
<!-- Chat Room UI strings (English) --> <!-- Chat Room UI strings (English) -->
<string name="chat_notice_clone">AI Clone converses based on the creator\'s information, but it may not perfectly reflect all details or match real conversations.</string> <string name="chat_notice_clone">AI Clone converses based on the creator\'s information, but it may not perfectly reflect all details or match real conversations.</string>
<string name="chat_notice_character">VoiceOn AI Character Talk allows a high degree of freedom. You can be anyone in the conversation. Talk as a character in a universe or create your own story with a new persona together with the character.\nNote: AI Character Talk is in open beta; conversations may be awkward or incomplete.</string> <string name="chat_notice_character">VoiceOn AI Character Talk allows a high degree of freedom. You can be anyone in the conversation. Talk as a character in a universe or create your own story with a new persona together with the character.\nNote: AI Character Talk is in open beta; conversations may be awkward or incomplete.</string>

View File

@@ -13,6 +13,19 @@
<string name="read_storage_permission_denied_message"><![CDATA[権限を拒否するとコンテンツをアップロードできません。\n\n[設定]->[権限]で許可してください。]]></string> <string name="read_storage_permission_denied_message"><![CDATA[権限を拒否するとコンテンツをアップロードできません。\n\n[設定]->[権限]で許可してください。]]></string>
<string name="retry">もう一度お試しください。\n同じ問題が続く場合はカスタマーサポートにお問い合わせください。</string> <string name="retry">もう一度お試しください。\n同じ問題が続く場合はカスタマーサポートにお問い合わせください。</string>
<!-- Splash / Main common -->
<string name="screen_splash_tagline">声で出会う新しい世界</string>
<string name="screen_splash_brand_name">ソダライブ</string>
<string name="screen_splash_maintenance_title">案内</string>
<string name="screen_splash_maintenance_desc">サービスはメンテナンス中です。</string>
<string name="screen_splash_update_title">アップデート</string>
<string name="screen_splash_update_required_desc">必須アップデートがあります。\nアップデート後に利用できます。</string>
<string name="screen_splash_update_optional_desc">最新のアップデートがあります。\nアップデートしますか</string>
<string name="screen_splash_update_confirm">アップデート</string>
<string name="screen_splash_update_later">あとで</string>
<string name="dialog_event_popup_never_show">今後表示しない</string>
<string name="dialog_event_popup_close">閉じる</string>
<!-- Chat Room UI strings --> <!-- Chat Room UI strings -->
<string name="chat_notice_clone">AI Cloneはクリエイターの情報に基づいて会話しますが、すべての情報を完全に反映したり実際の会話と一致するとは限りません。</string> <string name="chat_notice_clone">AI Cloneはクリエイターの情報に基づいて会話しますが、すべての情報を完全に反映したり実際の会話と一致するとは限りません。</string>
<string name="chat_notice_character">ボイスオンのAIキャラクタートークでは自由度の高い会話を楽しめます。あなたは誰にでもなれます。\n世界観のキャラクターとして話したり、新しい人物としてキャラクターとあなただけのストーリーを作ってみましょう。\n※ AIキャラクタートークはオープンベータのため、会話が不自然または不完全な場合があります。</string> <string name="chat_notice_character">ボイスオンのAIキャラクタートークでは自由度の高い会話を楽しめます。あなたは誰にでもなれます。\n世界観のキャラクターとして話したり、新しい人物としてキャラクターとあなただけのストーリーを作ってみましょう。\n※ AIキャラクタートークはオープンベータのため、会話が不自然または不完全な場合があります。</string>

View File

@@ -13,6 +13,19 @@
<string name="read_storage_permission_denied_message"><![CDATA[권한을 거부하시면 콘텐츠를 업로드 하실 수 없습니다.\n\n[설정]->[권한]에서 권한을 허용해 주시기 바랍니다.]]></string> <string name="read_storage_permission_denied_message"><![CDATA[권한을 거부하시면 콘텐츠를 업로드 하실 수 없습니다.\n\n[설정]->[권한]에서 권한을 허용해 주시기 바랍니다.]]></string>
<string name="retry">다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다.</string> <string name="retry">다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다.</string>
<!-- Splash / Main common -->
<string name="screen_splash_tagline">목소리로 만나는 새로운 세계</string>
<string name="screen_splash_brand_name">소다라이브</string>
<string name="screen_splash_maintenance_title">안내</string>
<string name="screen_splash_maintenance_desc">서비스 점검중입니다.</string>
<string name="screen_splash_update_title">업데이트</string>
<string name="screen_splash_update_required_desc">필수 업데이트가 있습니다.\n업데이트 후 사용가능합니다.</string>
<string name="screen_splash_update_optional_desc">최신 업데이트가 있습니다.\n업데이트 하시겠습니까?</string>
<string name="screen_splash_update_confirm">업데이트</string>
<string name="screen_splash_update_later">다음에</string>
<string name="dialog_event_popup_never_show">다시보지 않기</string>
<string name="dialog_event_popup_close">닫기</string>
<!-- Chat Room UI strings (tasks 2.3) --> <!-- Chat Room UI strings (tasks 2.3) -->
<string name="chat_notice_clone">AI Clone은 크리에이터의 정보를 기반으로 대화하지만, 모든 정보를 완벽하게 반영하거나 실제 대화와 일치하지 않을 수 있습니다.</string> <string name="chat_notice_clone">AI Clone은 크리에이터의 정보를 기반으로 대화하지만, 모든 정보를 완벽하게 반영하거나 실제 대화와 일치하지 않을 수 있습니다.</string>
<string name="chat_notice_character">보이스온 AI캐릭터톡은 대화의 자유도가 높아 대화에 참여하는 당신은 누구든 될 수 있습니다.\n세계관 속 캐릭터로 대화를 하거나 새로운 인물로 캐릭터와 당신만의 스토리를 만들어보세요.\n※ AI캐릭터톡은 오픈베타 서비스 중이며, 캐릭터의 대화가 어색하거나 불완전할 수 있습니다.</string> <string name="chat_notice_character">보이스온 AI캐릭터톡은 대화의 자유도가 높아 대화에 참여하는 당신은 누구든 될 수 있습니다.\n세계관 속 캐릭터로 대화를 하거나 새로운 인물로 캐릭터와 당신만의 스토리를 만들어보세요.\n※ AI캐릭터톡은 오픈베타 서비스 중이며, 캐릭터의 대화가 어색하거나 불완전할 수 있습니다.</string>