LiveReservationAll 문자열 리소스화

This commit is contained in:
2025-12-02 15:46:28 +09:00
parent 4a8442cb33
commit cc517eb4d3
8 changed files with 48 additions and 24 deletions

View File

@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.databinding.ItemMyLiveReservationBinding import kr.co.vividnext.sodalive.databinding.ItemMyLiveReservationBinding
import kr.co.vividnext.sodalive.databinding.LiveBookingCardBinding import kr.co.vividnext.sodalive.databinding.LiveBookingCardBinding
@@ -94,7 +95,8 @@ class LiveReservationAdapter(
binding.tvDayOfWeek.text = dateMap["dayOfWeek"] binding.tvDayOfWeek.text = dateMap["dayOfWeek"]
binding.tvTime.text = dateMap["time"] binding.tvTime.text = dateMap["time"]
binding.tvMonth.text = "${dateMap["month"]}" binding.tvMonth.text =
context.getString(R.string.live_reservation_month_label, dateMap["month"])
binding.tvDay.text = dateMap["day"] binding.tvDay.text = dateMap["day"]
if (item.isReservation) { if (item.isReservation) {
@@ -149,7 +151,8 @@ class LiveReservationAdapter(
binding.tvDayOfWeek.text = dateMap["dayOfWeek"] binding.tvDayOfWeek.text = dateMap["dayOfWeek"]
binding.tvTime.text = dateMap["time"] binding.tvTime.text = dateMap["time"]
binding.tvMonth.text = "${dateMap["month"]}" binding.tvMonth.text =
context.getString(R.string.live_reservation_month_label, dateMap["month"])
binding.tvDay.text = dateMap["day"] binding.tvDay.text = dateMap["day"]
if (item.price <= 0) { if (item.price <= 0) {

View File

@@ -83,7 +83,7 @@ class LiveReservationAllActivity : BaseActivity<ActivityLiveReservationAllBindin
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
override fun setupView() { override fun setupView() {
binding.toolbar.tvBack.text = "라이브, 예약 캘린더" binding.toolbar.tvBack.text = getString(R.string.screen_live_reservation_all_title)
binding.toolbar.tvBack.setOnClickListener { finish() } binding.toolbar.tvBack.setOnClickListener { finish() }
loadingDialog = LoadingDialog(this, layoutInflater) loadingDialog = LoadingDialog(this, layoutInflater)
@@ -199,7 +199,7 @@ class LiveReservationAllActivity : BaseActivity<ActivityLiveReservationAllBindin
private fun onClickReservation(roomId: Long) { private fun onClickReservation(roomId: Long) {
viewModel.getRoomDetail(roomId) { viewModel.getRoomDetail(roomId) {
if (it.manager.id == SharedPreferenceManager.userId) { if (it.manager.id == SharedPreferenceManager.userId) {
showToast("내가 만든 라이브는 예약할 수 없습니다.") showToast(getString(R.string.screen_live_reservation_self_block))
} else { } else {
if (it.isPrivateRoom) { if (it.isPrivateRoom) {
LiveRoomPasswordDialog( LiveRoomPasswordDialog(
@@ -217,11 +217,14 @@ class LiveReservationAllActivity : BaseActivity<ActivityLiveReservationAllBindin
LivePaymentDialog( LivePaymentDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "${it.price.moneyFormat()} 캔으로 예약", title = getString(
desc = "'${it.title}' 라이브에 참여하기 위해 결제합니다.", R.string.screen_live_reservation_pay_title,
confirmButtonTitle = "예약하기", it.price.moneyFormat()
),
desc = getString(R.string.screen_live_reservation_pay_desc, it.title),
confirmButtonTitle = getString(R.string.screen_live_reservation_confirm),
confirmButtonClick = { processLiveReservation(roomId) }, confirmButtonClick = { processLiveReservation(roomId) },
cancelButtonTitle = "취소", cancelButtonTitle = getString(R.string.cancel),
cancelButtonClick = {} cancelButtonClick = {}
).show(screenWidth) ).show(screenWidth)
} }
@@ -259,21 +262,21 @@ class LiveReservationAllActivity : BaseActivity<ActivityLiveReservationAllBindin
LiveCancelDialog( LiveCancelDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "예약취소", title = getString(R.string.screen_live_cancel_title),
hint = "취소사유를 입력하세요.", hint = getString(R.string.screen_live_cancel_hint),
confirmButtonTitle = "예약취소", confirmButtonTitle = getString(R.string.screen_live_cancel_confirm),
confirmButtonClick = { confirmButtonClick = {
viewModel.cancelLive(roomId, it) { viewModel.cancelLive(roomId, it) {
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"예약이 취소되었습니다.", getString(R.string.screen_live_cancel_success),
Toast.LENGTH_LONG Toast.LENGTH_LONG
).show() ).show()
adapter.clear() adapter.clear()
refresh() refresh()
} }
}, },
cancelButtonTitle = "닫기", cancelButtonTitle = getString(R.string.dialog_close),
cancelButtonClick = {} cancelButtonClick = {}
).show(screenWidth) ).show(screenWidth)
} }

View File

@@ -60,7 +60,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center" android:gravity="center"
android:lineSpacingExtra="8dp" android:lineSpacingExtra="8dp"
android:text="지금 예약중인 라이브가 없습니다.\n다른 날짜의 라이브를 예약하고 참여해 보세요." android:text="@string/screen_live_reservation_all_empty_message"
android:textColor="@color/color_bbbbbb" android:textColor="@color/color_bbbbbb"
android:textSize="13sp" android:textSize="13sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />

View File

@@ -14,7 +14,7 @@
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:fontFamily="@font/pretendard_bold" android:fontFamily="@font/pretendard_bold"
android:text="내가 개설한 라이브" android:text="@string/live_reservation_my_live"
android:textColor="@color/color_80d8ff" android:textColor="@color/color_80d8ff"
android:textSize="18sp" android:textSize="18sp"
app:drawableStartCompat="@drawable/ic_mic_colored" /> app:drawableStartCompat="@drawable/ic_mic_colored" />
@@ -226,7 +226,7 @@
android:gravity="center" android:gravity="center"
android:minWidth="52dp" android:minWidth="52dp"
android:padding="4dp" android:padding="4dp"
android:text="무료" android:text="@string/live_reservation_free"
android:textColor="#263238" android:textColor="#263238"
android:textSize="14sp" android:textSize="14sp"
android:visibility="gone" android:visibility="gone"

View File

@@ -208,7 +208,7 @@
android:fontFamily="@font/pretendard_regular" android:fontFamily="@font/pretendard_regular"
android:minWidth="52dp" android:minWidth="52dp"
android:padding="4dp" android:padding="4dp"
android:text="예약완료" android:text="@string/live_reservation_complete"
android:textColor="#FFF" android:textColor="#FFF"
android:textSize="14sp" android:textSize="14sp"
android:visibility="gone" android:visibility="gone"
@@ -224,7 +224,7 @@
android:gravity="center" android:gravity="center"
android:minWidth="52dp" android:minWidth="52dp"
android:padding="4dp" android:padding="4dp"
android:text="무료" android:text="@string/live_reservation_free"
android:textColor="#263238" android:textColor="#263238"
android:textSize="14sp" android:textSize="14sp"
android:visibility="gone" android:visibility="gone"

View File

@@ -298,9 +298,15 @@
<string name="screen_live_cancel_success">Reservation has been cancelled.</string> <string name="screen_live_cancel_success">Reservation has been cancelled.</string>
<string name="dialog_close">Close</string> <string name="dialog_close">Close</string>
<string name="screen_live_reservation_self_block">You cannot reserve a live you created.</string> <string name="screen_live_reservation_self_block">You cannot reserve a live you created.</string>
<string name="screen_live_reservation_all_title">Live reservation calendar</string>
<string name="screen_live_reservation_all_empty_message">No live reservations right now.\nReserve a live on another date and join in.</string>
<string name="screen_live_reservation_pay_title">Reserve with %1$s cans</string> <string name="screen_live_reservation_pay_title">Reserve with %1$s cans</string>
<string name="screen_live_reservation_pay_desc">Pay to join the live \"%1$s\".</string> <string name="screen_live_reservation_pay_desc">Pay to join the live \"%1$s\".</string>
<string name="screen_live_reservation_confirm">Reserve</string> <string name="screen_live_reservation_confirm">Reserve</string>
<string name="live_reservation_month_label">%1$s mo</string>
<string name="live_reservation_complete">Reserved</string>
<string name="live_reservation_free">Free</string>
<string name="live_reservation_my_live">My live rooms</string>
<string name="screen_my_notice_more">Details</string> <string name="screen_my_notice_more">Details</string>
<string name="screen_my_login">Login</string> <string name="screen_my_login">Login</string>
<string name="screen_my_edit_profile">Edit profile</string> <string name="screen_my_edit_profile">Edit profile</string>

View File

@@ -298,9 +298,15 @@
<string name="screen_live_cancel_success">予約がキャンセルされました。</string> <string name="screen_live_cancel_success">予約がキャンセルされました。</string>
<string name="dialog_close">閉じる</string> <string name="dialog_close">閉じる</string>
<string name="screen_live_reservation_self_block">自分が作成したライブは予約できません。</string> <string name="screen_live_reservation_self_block">自分が作成したライブは予約できません。</string>
<string name="screen_live_reservation_all_title">ライブ予約カレンダー</string>
<string name="screen_live_reservation_all_empty_message">現在予約中のライブはありません。\n別の日のライブを予約して参加してみてください。</string>
<string name="screen_live_reservation_pay_title">%1$sCANで予約</string> <string name="screen_live_reservation_pay_title">%1$sCANで予約</string>
<string name="screen_live_reservation_pay_desc">ライブ「%1$s」に参加するために決済します。</string> <string name="screen_live_reservation_pay_desc">ライブ「%1$s」に参加するために決済します。</string>
<string name="screen_live_reservation_confirm">予約する</string> <string name="screen_live_reservation_confirm">予約する</string>
<string name="live_reservation_month_label">%1$s月</string>
<string name="live_reservation_complete">予約済み</string>
<string name="live_reservation_free">無料</string>
<string name="live_reservation_my_live">自分が開設したライブ</string>
<string name="screen_my_notice_more">詳細</string> <string name="screen_my_notice_more">詳細</string>
<string name="screen_my_login">ログイン</string> <string name="screen_my_login">ログイン</string>
<string name="screen_my_edit_profile">プロフィール編集</string> <string name="screen_my_edit_profile">プロフィール編集</string>

View File

@@ -297,9 +297,15 @@
<string name="screen_live_cancel_success">예약이 취소되었습니다.</string> <string name="screen_live_cancel_success">예약이 취소되었습니다.</string>
<string name="dialog_close">닫기</string> <string name="dialog_close">닫기</string>
<string name="screen_live_reservation_self_block">내가 만든 라이브는 예약할 수 없습니다.</string> <string name="screen_live_reservation_self_block">내가 만든 라이브는 예약할 수 없습니다.</string>
<string name="screen_live_reservation_all_title">라이브, 예약 캘린더</string>
<string name="screen_live_reservation_all_empty_message">지금 예약중인 라이브가 없습니다.\n다른 날짜의 라이브를 예약하고 참여해 보세요.</string>
<string name="screen_live_reservation_pay_title">%1$s캔으로 예약</string> <string name="screen_live_reservation_pay_title">%1$s캔으로 예약</string>
<string name="screen_live_reservation_pay_desc">\'%1$s\' 라이브에 참여하기 위해 결제합니다.</string> <string name="screen_live_reservation_pay_desc">\'%1$s\' 라이브에 참여하기 위해 결제합니다.</string>
<string name="screen_live_reservation_confirm">예약하기</string> <string name="screen_live_reservation_confirm">예약하기</string>
<string name="live_reservation_month_label">%1$s월</string>
<string name="live_reservation_complete">예약완료</string>
<string name="live_reservation_free">무료</string>
<string name="live_reservation_my_live">내가 개설한 라이브</string>
<string name="screen_my_notice_more">자세히</string> <string name="screen_my_notice_more">자세히</string>
<string name="screen_my_login">LOGIN</string> <string name="screen_my_login">LOGIN</string>
<string name="screen_my_edit_profile">프로필 수정</string> <string name="screen_my_edit_profile">프로필 수정</string>