라이브 생성 화면 문자열 리소스화

라이브 생성 입력/검증/라벨 문자열을 ko/en/ja 리소스로 분리

토스트, 로딩, 태그 제한 문구를 리소스 기반으로 통일
This commit is contained in:
2025-12-02 21:08:32 +09:00
parent ddc7b9a76f
commit 99bc5f14f7
6 changed files with 276 additions and 101 deletions

View File

@@ -99,7 +99,7 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
else -> {
Toast.makeText(
this,
"최대 3개까지 선택 가능합니다.",
getString(R.string.msg_live_room_create_tag_limit),
Toast.LENGTH_SHORT
).show()
return@LiveTagFragment false
@@ -156,7 +156,12 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
viewModel.coverImagePath = null
},
onError = { e ->
Toast.makeText(this, "${e.message}", Toast.LENGTH_SHORT).show()
val errorMessage = e.message ?: getString(R.string.common_error_unknown)
Toast.makeText(
this,
getString(R.string.msg_live_room_create_cover_pick_error, errorMessage),
Toast.LENGTH_SHORT
).show()
}
)
@@ -177,6 +182,15 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
binding.llTimeNow.setOnClickListener { viewModel.setTimeNow(true) }
binding.llTimeReservation.setOnClickListener { viewModel.setTimeNow(false) }
binding.tvNumberOfCharacters.text =
getString(R.string.screen_live_room_create_notice_char_count_placeholder)
viewModel.setReservationDate(
getString(R.string.screen_live_room_create_reservation_date_placeholder)
)
viewModel.setReservationTime(
getString(R.string.screen_live_room_create_reservation_time_placeholder)
)
binding.tvReservationDate.setOnClickListener {
val reservationDate = viewModel.beginDate.split("-")
val datePicker: DatePickerDialog
@@ -367,7 +381,10 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
binding.tvNumberOfCharacters.text = "${it.length}"
binding.tvNumberOfCharacters.text = getString(
R.string.screen_live_room_create_notice_char_count_format,
it.length
)
viewModel.content = it.toString()
}
)
@@ -411,13 +428,22 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
}
)
viewModel.toastLiveData.observe(this) {
it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() }
viewModel.toastLiveData.observe(this) { uiText ->
uiText?.let {
Toast.makeText(
applicationContext,
it.asString(this),
Toast.LENGTH_LONG
).show()
}
}
viewModel.isLoading.observe(this) {
if (it) {
loadingDialog.show(screenWidth, "라이브를 생성하는 중입니다.")
loadingDialog.show(
screenWidth,
getString(R.string.dialog_live_room_create_loading)
)
} else {
loadingDialog.dismiss()
}

View File

@@ -9,9 +9,13 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import kr.co.vividnext.sodalive.base.BaseViewModel
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.UiText
import kr.co.vividnext.sodalive.common.UiText.DynamicString
import kr.co.vividnext.sodalive.common.UiText.StringResource
import kr.co.vividnext.sodalive.live.LiveRepository
import kr.co.vividnext.sodalive.live.room.LiveRoomType
import kr.co.vividnext.sodalive.live.room.menu.GetMenuPresetResponse
import kr.co.vividnext.sodalive.R
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.MultipartBody
import okhttp3.RequestBody.Companion.asRequestBody
@@ -35,11 +39,11 @@ class LiveRoomCreateViewModel(
val timeNowLiveData: LiveData<Boolean>
get() = _timeNowLiveData
private val _reservationDateLiveData = MutableLiveData("날짜를 선택해주세요")
private val _reservationDateLiveData = MutableLiveData("")
val reservationDateLiveData: LiveData<String>
get() = _reservationDateLiveData
private val _reservationTimeLiveData = MutableLiveData("시간을 설정해주세요")
private val _reservationTimeLiveData = MutableLiveData("")
val reservationTimeLiveData: LiveData<String>
get() = _reservationTimeLiveData
@@ -47,8 +51,8 @@ class LiveRoomCreateViewModel(
val selectedLiveData: LiveData<List<String>>
get() = _selectedLiveData
private val _toastLiveData = MutableLiveData<String?>()
val toastLiveData: LiveData<String?>
private val _toastLiveData = MutableLiveData<UiText?>()
val toastLiveData: LiveData<UiText?>
get() = _toastLiveData
private var _isLoading = MutableLiveData(false)
@@ -179,10 +183,10 @@ class LiveRoomCreateViewModel(
onSuccess(it.data!!)
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
_toastLiveData.postValue(DynamicString(it.message))
} else {
_toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
StringResource(R.string.common_error_unknown)
)
}
}
@@ -191,7 +195,7 @@ class LiveRoomCreateViewModel(
{
_isLoading.postValue(false)
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
_toastLiveData.postValue(StringResource(R.string.common_error_unknown))
}
)
)
@@ -210,27 +214,29 @@ class LiveRoomCreateViewModel(
private fun validateData(): Boolean {
if (title.isBlank()) {
_toastLiveData.postValue("제목을 입력해주세요.")
_toastLiveData.postValue(StringResource(R.string.msg_live_room_create_title_required))
return false
}
if (content.isBlank() || content.length < 5) {
_toastLiveData.postValue("내용을 5자 이상 입력해주세요.")
_toastLiveData.postValue(StringResource(R.string.msg_live_room_create_notice_required))
return false
}
if (numberOfPeople < 3 || numberOfPeople > 999) {
_toastLiveData.postValue("인원을 3~999명 사이로 입력해주세요.")
_toastLiveData.postValue(
StringResource(R.string.msg_live_room_create_participants_invalid)
)
return false
}
if (coverImageFile == null && coverImagePath == null) {
_toastLiveData.postValue("커버이미지를 선택해주세요.")
_toastLiveData.postValue(StringResource(R.string.msg_live_room_create_cover_required))
return false
}
if (!_timeNowLiveData.value!! && (beginDate.isBlank() || beginTime.isBlank())) {
_toastLiveData.postValue("예약날짜와 시간을 선택해주세요.")
_toastLiveData.postValue(StringResource(R.string.msg_live_room_create_schedule_required))
return false
}
@@ -238,12 +244,12 @@ class LiveRoomCreateViewModel(
_roomTypeLiveData.value!! == LiveRoomType.PRIVATE &&
(password == null || password!!.length != 6)
) {
_toastLiveData.postValue("방 입장 비밀번호 6자리를 입력해 주세요.")
_toastLiveData.postValue(StringResource(R.string.screen_live_room_create_password_hint))
return false
}
if (_isActivateMenuLiveData.value!! && menu.isBlank()) {
_toastLiveData.postValue("메뉴판은 빈칸일 수 없습니다.")
_toastLiveData.postValue(StringResource(R.string.msg_live_room_create_menu_required))
return false
}
@@ -275,13 +281,15 @@ class LiveRoomCreateViewModel(
coverImagePath = it.data.coverImagePath
onSuccess(it.data!!)
_toastLiveData.postValue("최근데이터를 불러왔습니다.")
_toastLiveData.postValue(
StringResource(R.string.msg_live_room_create_recent_loaded)
)
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
_toastLiveData.postValue(DynamicString(it.message))
} else {
_toastLiveData.postValue(
"최근데이터를 불러오지 못했습니다.\n다시 시도해 주세요."
StringResource(R.string.msg_live_room_create_recent_load_failed)
)
}
}
@@ -291,7 +299,9 @@ class LiveRoomCreateViewModel(
{
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("최근데이터를 불러오지 못했습니다.\n다시 시도해 주세요.")
_toastLiveData.postValue(
StringResource(R.string.msg_live_room_create_recent_load_failed)
)
}
)
)
@@ -305,12 +315,13 @@ class LiveRoomCreateViewModel(
selectedMenuPreset == SelectedMenu.MENU_3
)
) {
_toastLiveData.value = "메뉴 1을 먼저 설정하세요"
_toastLiveData.value = StringResource(R.string.screen_live_room_menu_first_required)
return
}
if (menuList.size == 1 && selectedMenuPreset == SelectedMenu.MENU_3) {
_toastLiveData.value = "메뉴 1과 메뉴 2를 먼저 설정하세요"
_toastLiveData.value =
StringResource(R.string.screen_live_room_menu_first_second_required)
return
}
@@ -355,10 +366,10 @@ class LiveRoomCreateViewModel(
selectMenuPreset(SelectedMenu.MENU_1)
} else {
if (it.message != null) {
_toastLiveData.postValue(it.message)
_toastLiveData.postValue(DynamicString(it.message))
} else {
_toastLiveData.postValue(
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
StringResource(R.string.common_error_unknown)
)
}
}
@@ -367,7 +378,7 @@ class LiveRoomCreateViewModel(
{
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
_toastLiveData.postValue(StringResource(R.string.common_error_unknown))
}
)
)

View File

@@ -23,7 +23,7 @@
android:layout_centerVertical="true"
android:drawablePadding="6.7dp"
android:fontFamily="@font/gmarket_sans_bold"
android:text="라이브 만들기"
android:text="@string/screen_live_room_create_title"
android:textColor="@color/color_eeeeee"
android:textSize="18.3sp"
app:drawableStartCompat="@drawable/ic_back" />
@@ -37,7 +37,7 @@
android:background="@drawable/bg_round_corner_8_transparent_3bb9f1"
android:paddingHorizontal="10.7dp"
android:paddingVertical="8dp"
android:text="최근 데이터 가져오기"
android:text="@string/screen_live_room_create_get_recent_info"
android:textColor="@color/color_3bb9f1"
android:textSize="12sp" />
</RelativeLayout>
@@ -62,7 +62,7 @@
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="13.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:text="배경"
android:text="@string/screen_live_room_create_background_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -106,7 +106,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="제목"
android:text="@string/screen_live_room_title_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -117,7 +117,7 @@
android:layout_marginTop="13.3dp"
android:background="@drawable/edittext_underline"
android:fontFamily="@font/gmarket_sans_medium"
android:hint="라이브 제목을 입력해주세요."
android:hint="@string/screen_live_room_title_hint"
android:importantForAutofill="no"
android:inputType="textWebEditText"
android:paddingHorizontal="6.7dp"
@@ -147,7 +147,7 @@
android:layout_centerVertical="true"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="공지"
android:text="@string/screen_live_room_notice"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -161,7 +161,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:text="0자"
android:text="@string/screen_live_room_create_notice_char_count_placeholder"
android:textColor="@color/color_ff5c49"
android:textSize="13.3sp" />
@@ -169,7 +169,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:text=" / 최대 1000자"
android:text="@string/screen_live_room_create_notice_char_limit"
android:textColor="@color/color_777777"
android:textSize="13.3sp" />
</LinearLayout>
@@ -183,7 +183,7 @@
android:background="@drawable/bg_round_corner_6_7_222222"
android:fontFamily="@font/gmarket_sans_medium"
android:gravity="top"
android:hint="라이브 공지를 입력해 주세요"
android:hint="@string/screen_live_room_notice_hint"
android:importantForAutofill="no"
android:inputType="textMultiLine"
android:overScrollMode="always"
@@ -208,7 +208,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="메뉴"
android:text="@string/screen_live_room_menu_label_title"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -223,7 +223,7 @@
android:layout_centerVertical="true"
android:fontFamily="@font/gmarket_sans_medium"
android:lineSpacingExtra="5sp"
android:text="메뉴를 활성화 하시겠습니까?"
android:text="@string/screen_live_room_menu_activate_question"
android:textColor="@color/color_eeeeee"
android:textSize="13.3sp" />
@@ -273,7 +273,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="메뉴 1"
android:text="@string/screen_live_room_menu_preset_1"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -302,7 +302,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="메뉴 2"
android:text="@string/screen_live_room_menu_preset_2"
android:textColor="@color/color_555555"
android:textSize="14.7sp" />
</LinearLayout>
@@ -331,7 +331,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="메뉴 3"
android:text="@string/screen_live_room_menu_preset_3"
android:textColor="@color/color_555555"
android:textSize="14.7sp" />
</LinearLayout>
@@ -345,7 +345,7 @@
android:background="@drawable/bg_round_corner_6_7_222222"
android:fontFamily="@font/gmarket_sans_medium"
android:gravity="top"
android:hint="메뉴판을 작성해주세요."
android:hint="@string/screen_live_room_menu_hint"
android:importantForAutofill="no"
android:inputType="textMultiLine"
android:overScrollMode="always"
@@ -371,7 +371,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="관심사"
android:text="@string/screen_profile_update_interest_title"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -384,7 +384,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="13.7dp"
android:text="관심사 선택"
android:text="@string/screen_profile_update_interest_select"
android:textColor="@color/color_3bb9f1"
android:textSize="16.7sp" />
@@ -404,7 +404,7 @@
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="시간 설정"
android:text="@string/screen_live_room_create_time_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -439,7 +439,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="지금 즉시"
android:text="@string/screen_live_room_create_time_now"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -468,7 +468,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="예약 설정"
android:text="@string/screen_live_room_create_time_reservation"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -495,7 +495,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:text="예약 날짜"
android:text="@string/screen_live_room_create_reservation_date_label"
android:textColor="@color/color_eeeeee"
android:textSize="13.3sp" />
@@ -525,7 +525,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:text="예약 시간"
android:text="@string/screen_live_room_create_reservation_time_label"
android:textColor="@color/color_eeeeee"
android:textSize="13.3sp" />
@@ -551,7 +551,7 @@
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="참여인원 설정"
android:text="@string/screen_live_room_create_capacity_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -564,7 +564,7 @@
android:background="@drawable/bg_round_corner_6_7_222222"
android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center"
android:hint="최대 인원 999명"
android:hint="@string/screen_live_room_create_capacity_hint"
android:importantForAutofill="no"
android:inputType="number"
android:maxLength="3"
@@ -581,7 +581,7 @@
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="공개 설정"
android:text="@string/screen_live_room_create_visibility_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -615,7 +615,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="공개"
android:text="@string/screen_live_room_create_open_label"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -644,7 +644,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="비공개"
android:text="@string/screen_live_room_create_private_label"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -660,13 +660,13 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="방 비밀번호 입력"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="@string/screen_live_room_create_password_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
<EditText
android:id="@+id/et_room_password"
@@ -677,7 +677,7 @@
android:background="@drawable/bg_round_corner_6_7_222222"
android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center"
android:hint="방 입장 비밀번호 6자리를 입력해 주세요."
android:hint="@string/screen_live_room_create_password_hint"
android:importantForAutofill="no"
android:inputType="number"
android:maxLength="6"
@@ -695,7 +695,7 @@
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="크리에이터 입장 설정"
android:text="@string/screen_live_room_create_creator_join_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
@@ -729,7 +729,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="가능"
android:text="@string/screen_live_room_create_creator_join_available"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -758,7 +758,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="불가능"
android:text="@string/screen_live_room_create_creator_join_unavailable"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -774,13 +774,13 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="연령 제한"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="@string/screen_live_room_create_age_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
<LinearLayout
android:layout_width="match_parent"
@@ -809,12 +809,12 @@
<TextView
android:id="@+id/tv_age_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="전체 연령"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="@string/screen_live_room_create_age_all"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
<LinearLayout
@@ -838,12 +838,12 @@
<TextView
android:id="@+id/tv_age_19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="19세 이상"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="@string/screen_live_room_age_limit_adult"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
</LinearLayout>
@@ -859,13 +859,13 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="티켓 가격"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="@string/screen_live_room_create_price_label"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
<LinearLayout
android:layout_width="match_parent"
@@ -883,7 +883,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="16.7dp"
android:text="무료"
android:text="@string/screen_live_room_create_price_free"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
@@ -897,7 +897,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="16.7dp"
android:text="100"
android:text="@string/screen_live_room_create_price_100"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
@@ -910,7 +910,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="16.7dp"
android:text="300"
android:text="@string/screen_live_room_create_price_300"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -931,7 +931,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="16.7dp"
android:text="500"
android:text="@string/screen_live_room_create_price_500"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
@@ -945,7 +945,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="16.7dp"
android:text="1000"
android:text="@string/screen_live_room_create_price_1000"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
@@ -958,7 +958,7 @@
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:paddingVertical="16.7dp"
android:text="2000"
android:text="@string/screen_live_room_create_price_2000"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
@@ -998,7 +998,7 @@
android:layout_centerVertical="true"
android:layout_marginEnd="13.3dp"
android:fontFamily="@font/gmarket_sans_medium"
android:text=""
android:text="@string/screen_live_room_create_price_unit"
android:textColor="@color/color_3bb9f1"
android:textSize="13.3sp" />
</RelativeLayout>
@@ -1018,7 +1018,7 @@
android:background="@drawable/bg_round_corner_10_3bb9f1"
android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center"
android:text="라이브 오픈하기"
android:text="@string/screen_live_room_create_submit"
android:textColor="@color/white"
android:textSize="18.3sp" />
</FrameLayout>

View File

@@ -483,6 +483,52 @@
<string name="screen_live_room_menu_first_required">Set menu 1 first.</string>
<string name="screen_live_room_menu_first_second_required">Set menu 1 and menu 2 first.</string>
<string name="screen_live_room_cancel_reason_required">Please enter a cancellation reason.</string>
<!-- Live Room Create -->
<string name="screen_live_room_create_title">Create live</string>
<string name="screen_live_room_create_get_recent_info">Load recent data</string>
<string name="screen_live_room_create_background_label">Background</string>
<string name="screen_live_room_create_notice_char_count_placeholder">0 chars</string>
<string name="screen_live_room_create_notice_char_count_format">%1$d chars</string>
<string name="screen_live_room_create_notice_char_limit"> / Up to 1000 chars</string>
<string name="screen_live_room_create_time_label">Time settings</string>
<string name="screen_live_room_create_time_now">Start now</string>
<string name="screen_live_room_create_time_reservation">Schedule</string>
<string name="screen_live_room_create_reservation_date_label">Date</string>
<string name="screen_live_room_create_reservation_time_label">Time</string>
<string name="screen_live_room_create_reservation_date_placeholder">Select a date</string>
<string name="screen_live_room_create_reservation_time_placeholder">Set a time</string>
<string name="screen_live_room_create_capacity_label">Participants</string>
<string name="screen_live_room_create_capacity_hint">Up to 999 people</string>
<string name="screen_live_room_create_visibility_label">Visibility</string>
<string name="screen_live_room_create_open_label">Public</string>
<string name="screen_live_room_create_private_label">Private</string>
<string name="screen_live_room_create_password_label">Enter room password</string>
<string name="screen_live_room_create_password_hint">Enter the 6-digit room password.</string>
<string name="screen_live_room_create_creator_join_label">Creator entry</string>
<string name="screen_live_room_create_creator_join_available">Allowed</string>
<string name="screen_live_room_create_creator_join_unavailable">Not allowed</string>
<string name="screen_live_room_create_age_label">Age limit</string>
<string name="screen_live_room_create_age_all">All ages</string>
<string name="screen_live_room_create_price_label">Ticket price</string>
<string name="screen_live_room_create_price_free">Free</string>
<string name="screen_live_room_create_price_100">100 cans</string>
<string name="screen_live_room_create_price_300">300 cans</string>
<string name="screen_live_room_create_price_500">500 cans</string>
<string name="screen_live_room_create_price_1000">1000 cans</string>
<string name="screen_live_room_create_price_2000">2000 cans</string>
<string name="screen_live_room_create_price_unit">cans</string>
<string name="screen_live_room_create_submit">Open live</string>
<string name="dialog_live_room_create_loading">Creating live...</string>
<string name="msg_live_room_create_tag_limit">You can select up to 3.</string>
<string name="msg_live_room_create_cover_pick_error">Failed to load image: %1$s</string>
<string name="msg_live_room_create_title_required">Enter a title.</string>
<string name="msg_live_room_create_notice_required">Enter at least 5 characters.</string>
<string name="msg_live_room_create_participants_invalid">Enter between 3 and 999 participants.</string>
<string name="msg_live_room_create_cover_required">Select a cover image.</string>
<string name="msg_live_room_create_schedule_required">Select the reservation date and time.</string>
<string name="msg_live_room_create_menu_required">Menu cannot be empty.</string>
<string name="msg_live_room_create_recent_loaded">Recent data loaded.</string>
<string name="msg_live_room_create_recent_load_failed">Failed to load recent data.\nPlease try again.</string>
<string name="screen_my_notice_more">Details</string>
<string name="screen_my_login">Login</string>
<string name="screen_my_edit_profile">Edit profile</string>

View File

@@ -483,6 +483,52 @@
<string name="screen_live_room_menu_first_required">メニュー1を先に設定してください</string>
<string name="screen_live_room_menu_first_second_required">メニュー1とメニュー2を先に設定してください</string>
<string name="screen_live_room_cancel_reason_required">キャンセル理由を入力してください。</string>
<!-- Live Room Create -->
<string name="screen_live_room_create_title">ライブを作成</string>
<string name="screen_live_room_create_get_recent_info">最近のデータを読み込む</string>
<string name="screen_live_room_create_background_label">背景</string>
<string name="screen_live_room_create_notice_char_count_placeholder">0文字</string>
<string name="screen_live_room_create_notice_char_count_format">%1$d文字</string>
<string name="screen_live_room_create_notice_char_limit"> / 最大1000文字</string>
<string name="screen_live_room_create_time_label">時間設定</string>
<string name="screen_live_room_create_time_now">すぐ開始</string>
<string name="screen_live_room_create_time_reservation">予約設定</string>
<string name="screen_live_room_create_reservation_date_label">予約日</string>
<string name="screen_live_room_create_reservation_time_label">予約時間</string>
<string name="screen_live_room_create_reservation_date_placeholder">日付を選択してください</string>
<string name="screen_live_room_create_reservation_time_placeholder">時間を設定してください</string>
<string name="screen_live_room_create_capacity_label">参加人数設定</string>
<string name="screen_live_room_create_capacity_hint">最大人数 999人</string>
<string name="screen_live_room_create_visibility_label">公開設定</string>
<string name="screen_live_room_create_open_label">公開</string>
<string name="screen_live_room_create_private_label">非公開</string>
<string name="screen_live_room_create_password_label">入室パスワード入力</string>
<string name="screen_live_room_create_password_hint">入室パスワード6桁を入力してください。</string>
<string name="screen_live_room_create_creator_join_label">クリエイター入室設定</string>
<string name="screen_live_room_create_creator_join_available">可能</string>
<string name="screen_live_room_create_creator_join_unavailable">不可</string>
<string name="screen_live_room_create_age_label">年齢制限</string>
<string name="screen_live_room_create_age_all">全年齢</string>
<string name="screen_live_room_create_price_label">チケット価格</string>
<string name="screen_live_room_create_price_free">無料</string>
<string name="screen_live_room_create_price_100">100缶</string>
<string name="screen_live_room_create_price_300">300缶</string>
<string name="screen_live_room_create_price_500">500缶</string>
<string name="screen_live_room_create_price_1000">1000缶</string>
<string name="screen_live_room_create_price_2000">2000缶</string>
<string name="screen_live_room_create_price_unit"></string>
<string name="screen_live_room_create_submit">ライブをオープン</string>
<string name="dialog_live_room_create_loading">ライブを作成しています。</string>
<string name="msg_live_room_create_tag_limit">最大3個まで選択できます。</string>
<string name="msg_live_room_create_cover_pick_error">画像を読み込めませんでした: %1$s</string>
<string name="msg_live_room_create_title_required">タイトルを入力してください。</string>
<string name="msg_live_room_create_notice_required">内容を5文字以上入力してください。</string>
<string name="msg_live_room_create_participants_invalid">人数を3〜999人の間で入力してください。</string>
<string name="msg_live_room_create_cover_required">カバー画像を選択してください。</string>
<string name="msg_live_room_create_schedule_required">予約日時を選択してください。</string>
<string name="msg_live_room_create_menu_required">メニューは空欄にできません。</string>
<string name="msg_live_room_create_recent_loaded">最近のデータを読み込みました。</string>
<string name="msg_live_room_create_recent_load_failed">最近のデータを読み込めませんでした。\nもう一度お試しください。</string>
<string name="screen_my_notice_more">詳細</string>
<string name="screen_my_login">ログイン</string>
<string name="screen_my_edit_profile">プロフィール編集</string>

View File

@@ -482,6 +482,52 @@
<string name="screen_live_room_menu_first_required">메뉴 1을 먼저 설정하세요</string>
<string name="screen_live_room_menu_first_second_required">메뉴 1과 메뉴 2를 먼저 설정하세요</string>
<string name="screen_live_room_cancel_reason_required">취소사유를 입력하세요.</string>
<!-- Live Room Create -->
<string name="screen_live_room_create_title">라이브 만들기</string>
<string name="screen_live_room_create_get_recent_info">최근 데이터 가져오기</string>
<string name="screen_live_room_create_background_label">배경</string>
<string name="screen_live_room_create_notice_char_count_placeholder">0자</string>
<string name="screen_live_room_create_notice_char_count_format">%1$d자</string>
<string name="screen_live_room_create_notice_char_limit"> / 최대 1000자</string>
<string name="screen_live_room_create_time_label">시간 설정</string>
<string name="screen_live_room_create_time_now">지금 즉시</string>
<string name="screen_live_room_create_time_reservation">예약 설정</string>
<string name="screen_live_room_create_reservation_date_label">예약 날짜</string>
<string name="screen_live_room_create_reservation_time_label">예약 시간</string>
<string name="screen_live_room_create_reservation_date_placeholder">날짜를 선택해주세요</string>
<string name="screen_live_room_create_reservation_time_placeholder">시간을 설정해주세요</string>
<string name="screen_live_room_create_capacity_label">참여인원 설정</string>
<string name="screen_live_room_create_capacity_hint">최대 인원 999명</string>
<string name="screen_live_room_create_visibility_label">공개 설정</string>
<string name="screen_live_room_create_open_label">공개</string>
<string name="screen_live_room_create_private_label">비공개</string>
<string name="screen_live_room_create_password_label">방 비밀번호 입력</string>
<string name="screen_live_room_create_password_hint">방 입장 비밀번호 6자리를 입력해 주세요.</string>
<string name="screen_live_room_create_creator_join_label">크리에이터 입장 설정</string>
<string name="screen_live_room_create_creator_join_available">가능</string>
<string name="screen_live_room_create_creator_join_unavailable">불가능</string>
<string name="screen_live_room_create_age_label">연령 제한</string>
<string name="screen_live_room_create_age_all">전체 연령</string>
<string name="screen_live_room_create_price_label">티켓 가격</string>
<string name="screen_live_room_create_price_free">무료</string>
<string name="screen_live_room_create_price_100">100 캔</string>
<string name="screen_live_room_create_price_300">300 캔</string>
<string name="screen_live_room_create_price_500">500 캔</string>
<string name="screen_live_room_create_price_1000">1000 캔</string>
<string name="screen_live_room_create_price_2000">2000 캔</string>
<string name="screen_live_room_create_price_unit"></string>
<string name="screen_live_room_create_submit">라이브 오픈하기</string>
<string name="dialog_live_room_create_loading">라이브를 생성하는 중입니다.</string>
<string name="msg_live_room_create_tag_limit">최대 3개까지 선택 가능합니다.</string>
<string name="msg_live_room_create_cover_pick_error">이미지를 불러오지 못했습니다: %1$s</string>
<string name="msg_live_room_create_title_required">제목을 입력해주세요.</string>
<string name="msg_live_room_create_notice_required">내용을 5자 이상 입력해주세요.</string>
<string name="msg_live_room_create_participants_invalid">인원을 3~999명 사이로 입력해주세요.</string>
<string name="msg_live_room_create_cover_required">커버이미지를 선택해주세요.</string>
<string name="msg_live_room_create_schedule_required">예약날짜와 시간을 선택해주세요.</string>
<string name="msg_live_room_create_menu_required">메뉴판은 빈칸일 수 없습니다.</string>
<string name="msg_live_room_create_recent_loaded">최근데이터를 불러왔습니다.</string>
<string name="msg_live_room_create_recent_load_failed">최근데이터를 불러오지 못했습니다.\n다시 시도해 주세요.</string>
<string name="screen_my_notice_more">자세히</string>
<string name="screen_my_login">LOGIN</string>
<string name="screen_my_edit_profile">프로필 수정</string>