룰렛 설정/프리뷰 문자열 리소스화
This commit is contained in:
@@ -212,7 +212,10 @@ class RoulettePreviewDialog(
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private fun setRouletteData(roulettePreview: RoulettePreview) {
|
||||
dialogView.tvSpinRoulette.text = "${roulettePreview.can}캔으로 룰렛 돌리기"
|
||||
dialogView.tvSpinRoulette.text = activity.getString(
|
||||
R.string.screen_roulette_preview_spin_format,
|
||||
roulettePreview.can
|
||||
)
|
||||
dialogView.tvSpinRoulette.setOnClickListener {
|
||||
if (onClickSpin != null) {
|
||||
onClickSpin!!(roulettePreview.id)
|
||||
@@ -240,9 +243,9 @@ class RoulettePreviewDialog(
|
||||
|
||||
dialogView.tvTitle.text = title.ifBlank {
|
||||
when (selectedRouletteLiveData.value) {
|
||||
SelectedRoulette.ROULETTE_2 -> "룰렛 2"
|
||||
SelectedRoulette.ROULETTE_3 -> "룰렛 3"
|
||||
else -> "룰렛 1"
|
||||
SelectedRoulette.ROULETTE_2 -> activity.getString(R.string.screen_roulette_config_preset_2)
|
||||
SelectedRoulette.ROULETTE_3 -> activity.getString(R.string.screen_roulette_config_preset_3)
|
||||
else -> activity.getString(R.string.screen_roulette_config_preset_1)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,7 +282,11 @@ class RoulettePreviewDialog(
|
||||
val tvItemTitle = itemView.findViewById<TextView>(R.id.tv_roulette_item_title)
|
||||
val tvOrder = itemView.findViewById<TextView>(R.id.tv_order)
|
||||
|
||||
tvItemTitle.text = "${item.title} (${item.percent})"
|
||||
tvItemTitle.text = activity.getString(
|
||||
R.string.screen_roulette_preview_item_title_format,
|
||||
item.title,
|
||||
item.percent
|
||||
)
|
||||
tvOrder.text = "${index + 1}"
|
||||
|
||||
return itemView
|
||||
|
||||
@@ -59,7 +59,7 @@ class RouletteConfigActivity : BaseActivity<ActivityRouletteConfigBinding>(
|
||||
}
|
||||
|
||||
override fun setupView() {
|
||||
binding.tvBack.text = "룰렛 설정"
|
||||
binding.tvBack.setText(R.string.screen_roulette_config_title)
|
||||
binding.tvBack.setOnClickListener { finish() }
|
||||
|
||||
loadingDialog = LoadingDialog(this, layoutInflater)
|
||||
@@ -118,7 +118,6 @@ class RouletteConfigActivity : BaseActivity<ActivityRouletteConfigBinding>(
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private fun bindData() {
|
||||
viewModel.selectedRouletteLiveData.observe(this) {
|
||||
deselectAllRoulette()
|
||||
@@ -151,11 +150,13 @@ class RouletteConfigActivity : BaseActivity<ActivityRouletteConfigBinding>(
|
||||
|
||||
viewModel.optionsLiveData.observe(this) { updateOptionUi(it) }
|
||||
|
||||
viewModel.toastLiveData.observe(this) { it?.let { showToast(it) } }
|
||||
viewModel.toastLiveData.observe(this) { uiText ->
|
||||
uiText?.let { showToast(it.asString(this)) }
|
||||
}
|
||||
|
||||
viewModel.canLiveData.observe(this) {
|
||||
if (it > 0) {
|
||||
binding.etSetPrice.setText("$it")
|
||||
binding.etSetPrice.setText(it.toString())
|
||||
} else {
|
||||
binding.etSetPrice.setText("")
|
||||
}
|
||||
@@ -173,19 +174,16 @@ class RouletteConfigActivity : BaseActivity<ActivityRouletteConfigBinding>(
|
||||
RoulettePreviewDialog(
|
||||
activity = this@RouletteConfigActivity,
|
||||
previewList = listOf(it),
|
||||
title = "룰렛 미리보기",
|
||||
title = getString(R.string.screen_roulette_config_preview_title),
|
||||
layoutInflater = layoutInflater
|
||||
).show()
|
||||
}
|
||||
|
||||
viewModel.totalPercentageLiveData.observe(this) {
|
||||
binding.tvTotalPercentage.text = "( ${
|
||||
String.format(
|
||||
Locale.KOREAN,
|
||||
"%.2f%%",
|
||||
it
|
||||
)
|
||||
} )"
|
||||
binding.tvTotalPercentage.text = getString(
|
||||
R.string.screen_roulette_config_option_total_format,
|
||||
String.format(Locale.getDefault(), "%.2f", it)
|
||||
)
|
||||
}
|
||||
|
||||
compositeDisposable.add(
|
||||
@@ -229,7 +227,10 @@ class RouletteConfigActivity : BaseActivity<ActivityRouletteConfigBinding>(
|
||||
val tvDelete = optionView.findViewById<TextView>(R.id.tv_delete)
|
||||
|
||||
etOption.setText(option.title)
|
||||
tvOptionTitle.text = "옵션 ${index + 1}"
|
||||
tvOptionTitle.text = getString(
|
||||
R.string.screen_roulette_config_option_title_format,
|
||||
index + 1
|
||||
)
|
||||
|
||||
try {
|
||||
if (option.percentage.toFloat() > 0f) {
|
||||
|
||||
@@ -6,12 +6,16 @@ import com.orhanobut.logger.Logger
|
||||
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.UiText
|
||||
import kr.co.vividnext.sodalive.common.UiText.DynamicString
|
||||
import kr.co.vividnext.sodalive.common.UiText.StringResource
|
||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
import kr.co.vividnext.sodalive.live.roulette.GetNewRouletteResponse
|
||||
import kr.co.vividnext.sodalive.live.roulette.RouletteItem
|
||||
import kr.co.vividnext.sodalive.live.roulette.RoulettePreview
|
||||
import kr.co.vividnext.sodalive.live.roulette.RoulettePreviewItem
|
||||
import kr.co.vividnext.sodalive.live.roulette.RouletteRepository
|
||||
import kr.co.vividnext.sodalive.R
|
||||
|
||||
class RouletteSettingsViewModel(private val repository: RouletteRepository) : BaseViewModel() {
|
||||
|
||||
@@ -23,8 +27,8 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
val isLoading: LiveData<Boolean>
|
||||
get() = _isLoading
|
||||
|
||||
private val _toastLiveData = MutableLiveData<String?>()
|
||||
val toastLiveData: LiveData<String?>
|
||||
private val _toastLiveData = MutableLiveData<UiText?>()
|
||||
val toastLiveData: LiveData<UiText?>
|
||||
get() = _toastLiveData
|
||||
|
||||
private val _optionsLiveData = MutableLiveData<List<RouletteOption>>(listOf())
|
||||
@@ -95,7 +99,8 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
if (validationOptions()) {
|
||||
for (option in options) {
|
||||
if (option.title.trim().isEmpty()) {
|
||||
_toastLiveData.value = "옵션은 빈칸을 할 수 없습니다."
|
||||
_toastLiveData.value =
|
||||
StringResource(R.string.msg_roulette_config_option_title_required)
|
||||
_isLoading.value = false
|
||||
return
|
||||
}
|
||||
@@ -127,19 +132,22 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
var totalPercentage = 0f
|
||||
for (option in options) {
|
||||
if (option.title.trim().isEmpty()) {
|
||||
_toastLiveData.value = "옵션은 빈칸을 할 수 없습니다."
|
||||
_toastLiveData.value =
|
||||
StringResource(R.string.msg_roulette_config_option_title_required)
|
||||
_isLoading.value = false
|
||||
return false
|
||||
}
|
||||
|
||||
if (option.percentage.isBlank()) {
|
||||
_toastLiveData.value = "옵션의 확률은 빈칸일 수 없습니다."
|
||||
_toastLiveData.value =
|
||||
StringResource(R.string.msg_roulette_config_option_percentage_required)
|
||||
_isLoading.value = false
|
||||
return false
|
||||
}
|
||||
|
||||
if (option.percentage.toFloat() <= 0f) {
|
||||
_toastLiveData.value = "옵션의 확률은 0%보다 커야합니다."
|
||||
_toastLiveData.value =
|
||||
StringResource(R.string.msg_roulette_config_option_percentage_min)
|
||||
_isLoading.value = false
|
||||
return false
|
||||
}
|
||||
@@ -148,7 +156,7 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
}
|
||||
|
||||
if (totalPercentage > 100.1f || totalPercentage <= 99.99f) {
|
||||
_toastLiveData.value = "확률이 100%가 아닙니다"
|
||||
_toastLiveData.value = StringResource(R.string.msg_roulette_config_percentage_invalid)
|
||||
_isLoading.value = false
|
||||
return false
|
||||
}
|
||||
@@ -168,7 +176,7 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
selectedRoulette.can == can &&
|
||||
selectedRoulette.items == items
|
||||
) {
|
||||
_toastLiveData.value = "변동사항이 없습니다."
|
||||
_toastLiveData.value = StringResource(R.string.msg_roulette_config_no_changes)
|
||||
_isLoading.value = false
|
||||
return
|
||||
}
|
||||
@@ -180,20 +188,16 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
items = items
|
||||
)
|
||||
|
||||
val selectedRouletteTitle = when (_selectedRouletteLiveData.value!!) {
|
||||
SelectedRoulette.ROULETTE_1 -> "룰렛 1"
|
||||
SelectedRoulette.ROULETTE_2 -> "룰렛 2"
|
||||
SelectedRoulette.ROULETTE_3 -> "룰렛 3"
|
||||
}
|
||||
val rouletteNumber = _selectedRouletteLiveData.value!!.ordinal + 1
|
||||
|
||||
val successMessage = if (availableActive) {
|
||||
if (isActive) {
|
||||
"${selectedRouletteTitle}을 활성화 했습니다."
|
||||
StringResource(R.string.msg_roulette_config_activate_success, rouletteNumber)
|
||||
} else {
|
||||
"${selectedRouletteTitle}을 비활성화 했습니다."
|
||||
StringResource(R.string.msg_roulette_config_deactivate_success, rouletteNumber)
|
||||
}
|
||||
} else {
|
||||
"${selectedRouletteTitle}을 변경했습니다."
|
||||
StringResource(R.string.msg_roulette_config_update_success, rouletteNumber)
|
||||
}
|
||||
|
||||
compositeDisposable.add(
|
||||
@@ -211,10 +215,10 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
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)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -222,7 +226,7 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(StringResource(R.string.common_error_unknown))
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -240,20 +244,22 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
items = items
|
||||
)
|
||||
|
||||
val selectedRouletteTitle = when (_selectedRouletteLiveData.value!!) {
|
||||
SelectedRoulette.ROULETTE_1 -> "룰렛 1"
|
||||
SelectedRoulette.ROULETTE_2 -> "룰렛 2"
|
||||
SelectedRoulette.ROULETTE_3 -> "룰렛 3"
|
||||
}
|
||||
val rouletteNumber = _selectedRouletteLiveData.value!!.ordinal + 1
|
||||
|
||||
val successMessage = if (availableActive) {
|
||||
if (isActive) {
|
||||
"${selectedRouletteTitle}로 설정하였습니다."
|
||||
StringResource(
|
||||
R.string.msg_roulette_config_create_activate_success,
|
||||
rouletteNumber
|
||||
)
|
||||
} else {
|
||||
"${selectedRouletteTitle}을 설정했습니다."
|
||||
StringResource(
|
||||
R.string.msg_roulette_config_create_deactivate_success,
|
||||
rouletteNumber
|
||||
)
|
||||
}
|
||||
} else {
|
||||
"${selectedRouletteTitle}을 생성했습니다."
|
||||
StringResource(R.string.msg_roulette_config_create_success, rouletteNumber)
|
||||
}
|
||||
|
||||
compositeDisposable.add(
|
||||
@@ -271,10 +277,10 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
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)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -282,7 +288,7 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(StringResource(R.string.common_error_unknown))
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -307,10 +313,10 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
selectRoulette(SelectedRoulette.ROULETTE_1)
|
||||
} else {
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
_toastLiveData.postValue(DynamicString(it.message))
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
StringResource(R.string.common_error_unknown)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -319,7 +325,7 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(StringResource(R.string.common_error_unknown))
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -334,12 +340,14 @@ class RouletteSettingsViewModel(private val repository: RouletteRepository) : Ba
|
||||
selectedRoulette == SelectedRoulette.ROULETTE_3
|
||||
)
|
||||
) {
|
||||
_toastLiveData.value = "룰렛 1을 먼저 설정하세요"
|
||||
_toastLiveData.value =
|
||||
StringResource(R.string.msg_roulette_config_first_required)
|
||||
return
|
||||
}
|
||||
|
||||
if (rouletteList.size == 1 && selectedRoulette == SelectedRoulette.ROULETTE_3) {
|
||||
_toastLiveData.value = "룰렛 1과 룰렛 2를 먼저 설정하세요"
|
||||
_toastLiveData.value =
|
||||
StringResource(R.string.msg_roulette_config_first_second_required)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:gravity="center"
|
||||
android:minHeight="48dp"
|
||||
android:text="@string/screen_roulette_config_title"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="18.3sp"
|
||||
app:drawableStartCompat="@drawable/ic_back"
|
||||
@@ -76,7 +77,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 1"
|
||||
android:text="@string/screen_roulette_config_preset_1"
|
||||
android:textColor="@color/color_3bb9f1"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
@@ -105,7 +106,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 2"
|
||||
android:text="@string/screen_roulette_config_preset_2"
|
||||
android:textColor="@color/color_555555"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
@@ -134,7 +135,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 3"
|
||||
android:text="@string/screen_roulette_config_preset_3"
|
||||
android:textColor="@color/color_555555"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
@@ -153,7 +154,7 @@
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛을 활성화 하시겠습니까?"
|
||||
android:text="@string/screen_roulette_config_activate_question"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="16sp" />
|
||||
|
||||
@@ -172,7 +173,7 @@
|
||||
android:layout_marginTop="26.7dp"
|
||||
android:layout_marginBottom="13.3dp"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 금액 설정"
|
||||
android:text="@string/screen_roulette_config_price_label"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="16sp" />
|
||||
|
||||
@@ -190,7 +191,7 @@
|
||||
android:layout_toStartOf="@+id/tv_price_unit"
|
||||
android:background="@drawable/bg_round_corner_6_7_222222"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:hint="룰렛 금액을 입력해 주세요.(최소 5캔)"
|
||||
android:hint="@string/screen_roulette_config_price_hint"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="numberSigned"
|
||||
android:paddingHorizontal="13.3dp"
|
||||
@@ -209,7 +210,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="캔"
|
||||
android:text="@string/screen_live_room_create_price_unit"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="16.7sp" />
|
||||
</RelativeLayout>
|
||||
@@ -219,7 +220,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="26.7dp"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 옵션 설정"
|
||||
android:text="@string/screen_roulette_config_option_label"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="16sp" />
|
||||
|
||||
@@ -234,7 +235,7 @@
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="※ 룰렛 옵션은 최소 2개,\n최대 10개까지 설정할 수 있습니다."
|
||||
android:text="@string/screen_roulette_config_option_limit"
|
||||
android:textColor="@color/color_ff5c49"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
@@ -257,7 +258,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="옵션 확률 합계"
|
||||
android:text="@string/screen_roulette_config_option_total"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="14.7sp"
|
||||
tools:ignore="RelativeOverlap" />
|
||||
@@ -303,7 +304,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="16dp"
|
||||
android:text="미리보기"
|
||||
android:text="@string/screen_roulette_config_preview"
|
||||
android:textColor="@color/color_3bb9f1"
|
||||
android:textSize="18.3sp" />
|
||||
|
||||
@@ -317,7 +318,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="16dp"
|
||||
android:text="설정완료"
|
||||
android:text="@string/screen_roulette_config_save"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18.3sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 1"
|
||||
android:text="@string/screen_roulette_config_preset_1"
|
||||
android:textColor="@color/color_3bb9f1"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
@@ -68,7 +68,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 2"
|
||||
android:text="@string/screen_roulette_config_preset_2"
|
||||
android:textColor="@color/color_ffcb14"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
@@ -98,7 +98,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:text="룰렛 3"
|
||||
android:text="@string/screen_roulette_config_preset_3"
|
||||
android:textColor="@color/color_ff14d9"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
@@ -157,7 +157,7 @@
|
||||
android:gravity="center"
|
||||
android:paddingHorizontal="18dp"
|
||||
android:paddingVertical="16dp"
|
||||
android:text="취소"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="@color/color_3bb9f1"
|
||||
android:textSize="18.3sp" />
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="삭제"
|
||||
android:text="@string/screen_roulette_config_option_delete"
|
||||
android:textColor="@color/color_ff5c49"
|
||||
android:textSize="14.7sp" />
|
||||
</RelativeLayout>
|
||||
@@ -48,7 +48,7 @@
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/bg_round_corner_6_7_222222"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:hint="옵션을 입력하세요"
|
||||
android:hint="@string/screen_roulette_config_option_hint"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="textWebEditText"
|
||||
android:paddingHorizontal="13.3dp"
|
||||
@@ -76,7 +76,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:hint="0.00"
|
||||
android:hint="@string/screen_roulette_config_option_percentage_hint"
|
||||
android:importantForAutofill="no"
|
||||
android:lines="1"
|
||||
android:maxLength="5"
|
||||
@@ -90,7 +90,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="%"
|
||||
android:text="@string/screen_roulette_config_option_percentage_unit"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="14.7sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -487,6 +487,41 @@
|
||||
<string name="screen_menu_config_title">Menu settings</string>
|
||||
<string name="screen_menu_config_save">Save menu</string>
|
||||
<string name="msg_menu_config_saved">Saved.</string>
|
||||
<!-- Roulette Config -->
|
||||
<string name="screen_roulette_config_title">Roulette settings</string>
|
||||
<string name="screen_roulette_config_preset_1">Roulette 1</string>
|
||||
<string name="screen_roulette_config_preset_2">Roulette 2</string>
|
||||
<string name="screen_roulette_config_preset_3">Roulette 3</string>
|
||||
<string name="screen_roulette_config_activate_question">Enable roulette?</string>
|
||||
<string name="screen_roulette_config_price_label">Roulette price</string>
|
||||
<string name="screen_roulette_config_price_hint">Enter roulette price (min 5 cans)</string>
|
||||
<string name="screen_roulette_config_option_label">Roulette options</string>
|
||||
<string name="screen_roulette_config_option_limit">At least 2 options,\nup to 10.</string>
|
||||
<string name="screen_roulette_config_option_total">Total probability</string>
|
||||
<string name="screen_roulette_config_option_total_format">( %1$s%% )</string>
|
||||
<string name="screen_roulette_config_preview">Preview</string>
|
||||
<string name="screen_roulette_config_preview_title">Roulette preview</string>
|
||||
<string name="screen_roulette_config_save">Save</string>
|
||||
<string name="screen_roulette_config_option_title_format">Option %1$d</string>
|
||||
<string name="screen_roulette_config_option_percentage_hint">0.00</string>
|
||||
<string name="screen_roulette_config_option_percentage_unit">%</string>
|
||||
<string name="screen_roulette_preview_spin_format">Spin roulette for %1$d cans</string>
|
||||
<string name="screen_roulette_preview_item_title_format">%1$s (%2$s)</string>
|
||||
<string name="screen_roulette_config_option_delete">Delete</string>
|
||||
<string name="screen_roulette_config_option_hint">Enter an option</string>
|
||||
<string name="msg_roulette_config_option_title_required">Option title cannot be empty.</string>
|
||||
<string name="msg_roulette_config_option_percentage_required">Option probability is required.</string>
|
||||
<string name="msg_roulette_config_option_percentage_min">Option probability must be greater than 0%%.</string>
|
||||
<string name="msg_roulette_config_percentage_invalid">Probabilities must total 100%%.</string>
|
||||
<string name="msg_roulette_config_no_changes">No changes to update.</string>
|
||||
<string name="msg_roulette_config_activate_success">Enabled roulette %1$d.</string>
|
||||
<string name="msg_roulette_config_deactivate_success">Disabled roulette %1$d.</string>
|
||||
<string name="msg_roulette_config_update_success">Updated roulette %1$d.</string>
|
||||
<string name="msg_roulette_config_create_activate_success">Set roulette %1$d.</string>
|
||||
<string name="msg_roulette_config_create_deactivate_success">Saved roulette %1$d.</string>
|
||||
<string name="msg_roulette_config_create_success">Created roulette %1$d.</string>
|
||||
<string name="msg_roulette_config_first_required">Set roulette 1 first.</string>
|
||||
<string name="msg_roulette_config_first_second_required">Set roulette 1 and 2 first.</string>
|
||||
<!-- Live Room Edit -->
|
||||
<string name="msg_live_room_edit_invalid_request">Invalid request.</string>
|
||||
<string name="msg_live_room_edit_no_changes">No changes to update.</string>
|
||||
|
||||
@@ -487,6 +487,41 @@
|
||||
<string name="screen_menu_config_title">メニュー設定</string>
|
||||
<string name="screen_menu_config_save">メニュー保存</string>
|
||||
<string name="msg_menu_config_saved">保存しました。</string>
|
||||
<!-- Roulette Config -->
|
||||
<string name="screen_roulette_config_title">ルーレット設定</string>
|
||||
<string name="screen_roulette_config_preset_1">ルーレット1</string>
|
||||
<string name="screen_roulette_config_preset_2">ルーレット2</string>
|
||||
<string name="screen_roulette_config_preset_3">ルーレット3</string>
|
||||
<string name="screen_roulette_config_activate_question">ルーレットを有効にしますか?</string>
|
||||
<string name="screen_roulette_config_price_label">ルーレット金額設定</string>
|
||||
<string name="screen_roulette_config_price_hint">ルーレット金額を入力してください。(最小5CAN)</string>
|
||||
<string name="screen_roulette_config_option_label">ルーレットオプション設定</string>
|
||||
<string name="screen_roulette_config_option_limit">※ルーレットオプションは最少2個、\n最大10個まで設定できます。</string>
|
||||
<string name="screen_roulette_config_option_total">オプション確率合計</string>
|
||||
<string name="screen_roulette_config_option_total_format">( %1$s%% )</string>
|
||||
<string name="screen_roulette_config_preview">プレビュー</string>
|
||||
<string name="screen_roulette_config_preview_title">ルーレットプレビュー</string>
|
||||
<string name="screen_roulette_config_save">設定完了</string>
|
||||
<string name="screen_roulette_config_option_title_format">オプション %1$d</string>
|
||||
<string name="screen_roulette_config_option_percentage_hint">0.00</string>
|
||||
<string name="screen_roulette_config_option_percentage_unit">%</string>
|
||||
<string name="screen_roulette_preview_spin_format">%1$dCANでルーレットを回す</string>
|
||||
<string name="screen_roulette_preview_item_title_format">%1$s (%2$s)</string>
|
||||
<string name="screen_roulette_config_option_delete">削除</string>
|
||||
<string name="screen_roulette_config_option_hint">オプションを入力してください</string>
|
||||
<string name="msg_roulette_config_option_title_required">オプションは空欄にできません。</string>
|
||||
<string name="msg_roulette_config_option_percentage_required">オプションの確率を入力してください。</string>
|
||||
<string name="msg_roulette_config_option_percentage_min">オプションの確率は0%より大きくする必要があります。</string>
|
||||
<string name="msg_roulette_config_percentage_invalid">確率の合計が100%ではありません。</string>
|
||||
<string name="msg_roulette_config_no_changes">変更内容がありません。</string>
|
||||
<string name="msg_roulette_config_activate_success">ルーレット%1$dを有効にしました。</string>
|
||||
<string name="msg_roulette_config_deactivate_success">ルーレット%1$dを無効にしました。</string>
|
||||
<string name="msg_roulette_config_update_success">ルーレット%1$dを変更しました。</string>
|
||||
<string name="msg_roulette_config_create_activate_success">ルーレット%1$dに設定しました。</string>
|
||||
<string name="msg_roulette_config_create_deactivate_success">ルーレット%1$dを保存しました。</string>
|
||||
<string name="msg_roulette_config_create_success">ルーレット%1$dを作成しました。</string>
|
||||
<string name="msg_roulette_config_first_required">まずルーレット1を設定してください。</string>
|
||||
<string name="msg_roulette_config_first_second_required">まずルーレット1とルーレット2を設定してください。</string>
|
||||
<!-- Live Room Edit -->
|
||||
<string name="msg_live_room_edit_invalid_request">不正なリクエストです。</string>
|
||||
<string name="msg_live_room_edit_no_changes">変更内容がありません。</string>
|
||||
|
||||
@@ -486,6 +486,41 @@
|
||||
<string name="screen_menu_config_title">메뉴 설정</string>
|
||||
<string name="screen_menu_config_save">메뉴 저장</string>
|
||||
<string name="msg_menu_config_saved">저장되었습니다.</string>
|
||||
<!-- Roulette Config -->
|
||||
<string name="screen_roulette_config_title">룰렛 설정</string>
|
||||
<string name="screen_roulette_config_preset_1">룰렛 1</string>
|
||||
<string name="screen_roulette_config_preset_2">룰렛 2</string>
|
||||
<string name="screen_roulette_config_preset_3">룰렛 3</string>
|
||||
<string name="screen_roulette_config_activate_question">룰렛을 활성화 하시겠습니까?</string>
|
||||
<string name="screen_roulette_config_price_label">룰렛 금액 설정</string>
|
||||
<string name="screen_roulette_config_price_hint">룰렛 금액을 입력해 주세요.(최소 5캔)</string>
|
||||
<string name="screen_roulette_config_option_label">룰렛 옵션 설정</string>
|
||||
<string name="screen_roulette_config_option_limit">※ 룰렛 옵션은 최소 2개,\n최대 10개까지 설정할 수 있습니다.</string>
|
||||
<string name="screen_roulette_config_option_total">옵션 확률 합계</string>
|
||||
<string name="screen_roulette_config_option_total_format">( %1$s%% )</string>
|
||||
<string name="screen_roulette_config_preview">미리보기</string>
|
||||
<string name="screen_roulette_config_preview_title">룰렛 미리보기</string>
|
||||
<string name="screen_roulette_config_save">설정완료</string>
|
||||
<string name="screen_roulette_config_option_title_format">옵션 %1$d</string>
|
||||
<string name="screen_roulette_config_option_percentage_hint">0.00</string>
|
||||
<string name="screen_roulette_config_option_percentage_unit">%</string>
|
||||
<string name="screen_roulette_preview_spin_format">%1$d캔으로 룰렛 돌리기</string>
|
||||
<string name="screen_roulette_preview_item_title_format">%1$s (%2$s)</string>
|
||||
<string name="screen_roulette_config_option_delete">삭제</string>
|
||||
<string name="screen_roulette_config_option_hint">옵션을 입력하세요</string>
|
||||
<string name="msg_roulette_config_option_title_required">옵션은 빈칸일 수 없습니다.</string>
|
||||
<string name="msg_roulette_config_option_percentage_required">옵션의 확률은 빈칸일 수 없습니다.</string>
|
||||
<string name="msg_roulette_config_option_percentage_min">옵션의 확률은 0%%보다 커야합니다.</string>
|
||||
<string name="msg_roulette_config_percentage_invalid">확률 합계가 100%%가 아닙니다.</string>
|
||||
<string name="msg_roulette_config_no_changes">변동사항이 없습니다.</string>
|
||||
<string name="msg_roulette_config_activate_success">룰렛 %1$d을 활성화했습니다.</string>
|
||||
<string name="msg_roulette_config_deactivate_success">룰렛 %1$d을 비활성화했습니다.</string>
|
||||
<string name="msg_roulette_config_update_success">룰렛 %1$d을 변경했습니다.</string>
|
||||
<string name="msg_roulette_config_create_activate_success">룰렛 %1$d로 설정했습니다.</string>
|
||||
<string name="msg_roulette_config_create_deactivate_success">룰렛 %1$d을 설정했습니다.</string>
|
||||
<string name="msg_roulette_config_create_success">룰렛 %1$d을 생성했습니다.</string>
|
||||
<string name="msg_roulette_config_first_required">룰렛 1을 먼저 설정하세요.</string>
|
||||
<string name="msg_roulette_config_first_second_required">룰렛 1과 룰렛 2를 먼저 설정하세요.</string>
|
||||
<!-- Live Room Edit -->
|
||||
<string name="msg_live_room_edit_invalid_request">잘못된 요청입니다.</string>
|
||||
<string name="msg_live_room_edit_no_changes">변경사항이 없습니다.</string>
|
||||
|
||||
Reference in New Issue
Block a user