라이브룸 화면 문자열 리소스화

This commit is contained in:
2025-12-02 17:12:35 +09:00
parent b356591aba
commit 4ed6437ce3
5 changed files with 356 additions and 104 deletions

View File

@@ -167,7 +167,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
removeNoChatRoom() removeNoChatRoom()
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"채팅금지가 해제되었습니다.", getString(R.string.screen_live_room_no_chat_ended),
Toast.LENGTH_SHORT Toast.LENGTH_SHORT
).show() ).show()
} }
@@ -180,7 +180,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
isNoChatting = true isNoChatting = true
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"${viewModel.getManagerNickname()}님이 3분간 채팅을 금지하였습니다.", getString(
R.string.screen_live_room_no_chat_started,
viewModel.getManagerNickname()
),
Toast.LENGTH_SHORT Toast.LENGTH_SHORT
).show() ).show()
countDownTimer.start() countDownTimer.start()
@@ -221,7 +224,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
this.roomId = intent.getLongExtra(Constants.EXTRA_ROOM_ID, 0) this.roomId = intent.getLongExtra(Constants.EXTRA_ROOM_ID, 0)
if (roomId <= 0) { if (roomId <= 0) {
showToast("해당하는 라이브가 없습니다.") showToast(getString(R.string.screen_live_room_not_found))
finish() finish()
return return
} }
@@ -313,7 +316,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
if (speakerListAdapter.itemCount <= 5) { if (speakerListAdapter.itemCount <= 5) {
inviteSpeaker(memberId) inviteSpeaker(memberId)
} else { } else {
showToast("스피커 정원이 초과했습니다.") showToast(getString(R.string.screen_live_room_speaker_full))
} }
}, },
onClickChangeListener = { memberId -> onClickChangeListener = { memberId ->
@@ -346,11 +349,14 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
LiveDialog( LiveDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "내보내기", title = getString(R.string.screen_live_room_kick_title),
desc = "${viewModel.getUserNickname(it.toInt())}님을 내보내시겠어요?", desc = getString(
confirmButtonTitle = "내보내기", R.string.screen_live_room_kick_message,
viewModel.getUserNickname(it.toInt())
),
confirmButtonTitle = getString(R.string.screen_live_room_kick_confirm),
confirmButtonClick = { kickOut(it) }, confirmButtonClick = { kickOut(it) },
cancelButtonTitle = "취소", cancelButtonTitle = getString(R.string.cancel),
cancelButtonClick = {} cancelButtonClick = {}
).show(screenWidth) ).show(screenWidth)
}, },
@@ -371,7 +377,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
viewModel.setManager(roomId = roomId, userId = it) { viewModel.setManager(roomId = roomId, userId = it) {
setManagerMessage() setManagerMessage()
showDialog( showDialog(
content = "${viewModel.getUserNickname(it.toInt())}님을 스탭으로 지정했습니다." content = getString(
R.string.screen_live_room_staff_assigned,
viewModel.getUserNickname(it.toInt())
)
) )
} }
}, },
@@ -396,7 +405,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
if (speakerListAdapter.itemCount <= 5) { if (speakerListAdapter.itemCount <= 5) {
inviteSpeaker(it) inviteSpeaker(it)
} else { } else {
showToast("스피커 정원이 초과했습니다.") showToast(getString(R.string.screen_live_room_speaker_full))
} }
}, },
onClickChangeListener = { changeListenerMessage(it) }, onClickChangeListener = { changeListenerMessage(it) },
@@ -404,11 +413,14 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
LiveDialog( LiveDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "내보내기", title = getString(R.string.screen_live_room_kick_title),
desc = "${viewModel.getUserNickname(it.toInt())}님을 내보내시겠어요?", desc = getString(
confirmButtonTitle = "내보내기", R.string.screen_live_room_kick_message,
viewModel.getUserNickname(it.toInt())
),
confirmButtonTitle = getString(R.string.screen_live_room_kick_confirm),
confirmButtonClick = { kickOut(it) }, confirmButtonClick = { kickOut(it) },
cancelButtonTitle = "취소", cancelButtonTitle = getString(R.string.cancel),
cancelButtonClick = {} cancelButtonClick = {}
).show(screenWidth) ).show(screenWidth)
}, },
@@ -436,7 +448,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
if (isNoChatting && hasFocus) { if (isNoChatting && hasFocus) {
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"${remainingNoChattingTime}초 동안 채팅하실 수 없습니다", getString(
R.string.screen_live_room_no_chat_warning,
remainingNoChattingTime
),
Toast.LENGTH_SHORT Toast.LENGTH_SHORT
).show() ).show()
view.clearFocus() view.clearFocus()
@@ -479,9 +494,11 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
isLiveDonation = true isLiveDonation = true
) { can, message, isSecret -> ) { can, message, isSecret ->
if (isSecret && can < 10) { if (isSecret && can < 10) {
showToast("비밀 미션은 최소 10캔 이상부터 이용이 가능합니다.") showToast(
getString(R.string.screen_live_room_secret_mission_minimum)
)
} else if (can < 1) { } else if (can < 1) {
showToast("1캔 이상 후원하실 수 있습니다.") showToast(getString(R.string.screen_live_room_donation_minimum))
} else { } else {
donation(can, message, isSecret) donation(can, message, isSecret)
} }
@@ -578,25 +595,17 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
private fun showMemberBlockDialog(userId: Long, nickname: String) { private fun showMemberBlockDialog(userId: Long, nickname: String) {
val message = if (SharedPreferenceManager.role == MemberRole.CREATOR.name) { val message = if (SharedPreferenceManager.role == MemberRole.CREATOR.name) {
""" getString(
${nickname}님을 차단하시겠습니까? R.string.screen_live_room_block_message_creator,
nickname
사용자를 차단하면 사용자는 아래 기능이 제한됩니다. )
- 내가 개설한 라이브 입장 불가
- 나에게 메시지 보내기 불가
- 내 채널의 팬Talk 작성불가
""".trimIndent()
} else { } else {
""" getString(R.string.screen_live_room_block_message_user, nickname)
${nickname}님을 차단하시겠습니까?
- 사용자를 차단하면 '차단한 사용자의 라이브 중 채팅'이 보이지 않습니다.
""".trimIndent()
} }
val dialog = AlertDialog.Builder(this) val dialog = AlertDialog.Builder(this)
dialog.setTitle("사용자 차단") dialog.setTitle(getString(R.string.screen_live_room_block_title))
dialog.setMessage(message) dialog.setMessage(message)
dialog.setPositiveButton("차단") { _, _ -> dialog.setPositiveButton(getString(R.string.screen_live_room_block_confirm)) { _, _ ->
roomUserProfileDialog.dismiss() roomUserProfileDialog.dismiss()
viewModel.memberBlock(userId) { viewModel.memberBlock(userId) {
viewModel.addBlockedMember(memberId = userId) viewModel.addBlockedMember(memberId = userId)
@@ -605,7 +614,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
} }
} }
} }
dialog.setNegativeButton("취소") { _, _ -> } dialog.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
dialog.show() dialog.show()
} }
@@ -643,7 +652,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
viewModel.isBgOn.observe(this) { viewModel.isBgOn.observe(this) {
if (it) { if (it) {
binding.ivCover.visibility = View.VISIBLE binding.ivCover.visibility = View.VISIBLE
binding.tvBgSwitch.text = "배경 ON" binding.tvBgSwitch.text = getString(R.string.screen_live_room_bg_on)
binding.tvBgSwitch.setTextColor( binding.tvBgSwitch.setTextColor(
ContextCompat.getColor( ContextCompat.getColor(
applicationContext, applicationContext,
@@ -654,7 +663,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
.setBackgroundResource(R.drawable.bg_round_corner_5_3_transparent_3bb9f1) .setBackgroundResource(R.drawable.bg_round_corner_5_3_transparent_3bb9f1)
} else { } else {
binding.ivCover.visibility = View.GONE binding.ivCover.visibility = View.GONE
binding.tvBgSwitch.text = "배경 OFF" binding.tvBgSwitch.text = getString(R.string.screen_live_room_bg_off)
binding.tvBgSwitch.setTextColor( binding.tvBgSwitch.setTextColor(
ContextCompat.getColor( ContextCompat.getColor(
applicationContext, applicationContext,
@@ -668,7 +677,8 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
viewModel.isSignatureOn.observe(this) { viewModel.isSignatureOn.observe(this) {
if (it) { if (it) {
binding.tvSignatureSwitch.text = "시그 ON" binding.tvSignatureSwitch.text =
getString(R.string.screen_live_room_signature_on)
binding.tvSignatureSwitch.setTextColor( binding.tvSignatureSwitch.setTextColor(
ContextCompat.getColor( ContextCompat.getColor(
applicationContext, applicationContext,
@@ -678,7 +688,8 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
binding.tvSignatureSwitch binding.tvSignatureSwitch
.setBackgroundResource(R.drawable.bg_round_corner_5_3_transparent_3bb9f1) .setBackgroundResource(R.drawable.bg_round_corner_5_3_transparent_3bb9f1)
} else { } else {
binding.tvSignatureSwitch.text = "시그 OFF" binding.tvSignatureSwitch.text =
getString(R.string.screen_live_room_signature_off)
binding.tvSignatureSwitch.setTextColor( binding.tvSignatureSwitch.setTextColor(
ContextCompat.getColor( ContextCompat.getColor(
applicationContext, applicationContext,
@@ -710,9 +721,9 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
SodaDialog( SodaDialog(
this@LiveRoomActivity, this@LiveRoomActivity,
layoutInflater, layoutInflater,
"알림", getString(R.string.screen_live_room_age_limit_title),
"지금 참여하던 라이브는 '19세 이상' 연령제한이 설정되어 정보통신망 이용촉진 및 정보 보호 등에 관한 법률 및 청소년 보호법의 규정에 의해 만 19세 미만의 청소년은 이용할 수 없습니다.\n마이페이지에서 본인인증 후 다시 이용하시기 바랍니다.", getString(R.string.screen_live_room_age_limit_message),
"확인", getString(R.string.screen_live_room_ok),
{ finish() } { finish() }
).show(screenWidth) ).show(screenWidth)
} }
@@ -773,7 +784,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
copyMessage = { copyMessage = {
val clipboard = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager val clipboard = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
clipboard.setPrimaryClip(ClipData.newPlainText(it, it)) clipboard.setPrimaryClip(ClipData.newPlainText(it, it))
showToast("후원 히스토리가 복사되었습니다.") showToast(getString(R.string.screen_live_room_copy_history))
} }
).show() ).show()
} }
@@ -815,7 +826,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
cropper.cleanup() cropper.cleanup()
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"라이브 정보가 수정되었습니다.", getString(R.string.screen_live_room_info_updated),
Toast.LENGTH_LONG Toast.LENGTH_LONG
).show() ).show()
@@ -840,7 +851,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
} }
binding.ivEdit.visibility = View.VISIBLE binding.ivEdit.visibility = View.VISIBLE
binding.tvQuit.text = "라이브 종료" binding.tvQuit.text = getString(R.string.screen_live_room_quit)
handler.postDelayed({ handler.postDelayed({
binding.tvQuit.requestLayout() binding.tvQuit.requestLayout()
@@ -860,7 +871,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
intent.type = "text/plain" intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_TEXT, it) intent.putExtra(Intent.EXTRA_TEXT, it)
val shareIntent = Intent.createChooser(intent, "라이브 공유") val shareIntent = Intent.createChooser(
intent,
getString(R.string.screen_live_room_share_title)
)
startActivity(shareIntent) startActivity(shareIntent)
} }
} }
@@ -1034,26 +1048,22 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
LiveDialog( LiveDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "라이브 종료", title = getString(R.string.screen_live_room_end_title),
desc = "라이브를 종료하시겠습니까?\n" + desc = getString(R.string.screen_live_room_end_message),
"라이브를 종료하면 대화내용은\n" + confirmButtonTitle = getString(R.string.screen_live_room_yes),
"저장되지 않고 사라집니다.\n" +
"참여자들 또한 라이브가 종료되어\n" +
"강제퇴장 됩니다.",
confirmButtonTitle = "",
confirmButtonClick = { finish() }, confirmButtonClick = { finish() },
cancelButtonTitle = "아니오", cancelButtonTitle = getString(R.string.screen_live_room_no),
cancelButtonClick = {} cancelButtonClick = {}
).show(screenWidth) ).show(screenWidth)
} else { } else {
LiveDialog( LiveDialog(
activity = this, activity = this,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "라이브 나가기", title = getString(R.string.screen_live_room_exit_title),
desc = "라이브에서 나가시겠습니까?", desc = getString(R.string.screen_live_room_exit_message),
confirmButtonTitle = "", confirmButtonTitle = getString(R.string.screen_live_room_yes),
confirmButtonClick = { finish() }, confirmButtonClick = { finish() },
cancelButtonTitle = "아니오", cancelButtonTitle = getString(R.string.screen_live_room_no),
cancelButtonClick = {} cancelButtonClick = {}
).show(screenWidth) ).show(screenWidth)
} }
@@ -1136,7 +1146,9 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
requestType = LiveRoomRequestType.INVITE_SPEAKER requestType = LiveRoomRequestType.INVITE_SPEAKER
) { ) {
handler.post { handler.post {
showDialog(content = "스피커 요청을 보냈습니다.\n잠시만 기다려 주세요.") showDialog(
content = getString(R.string.screen_live_room_request_speaker)
)
} }
} }
} }
@@ -1179,13 +1191,19 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
handler.post { handler.post {
showDialog( showDialog(
content = "${viewModel.getUserNickname(peerId.toInt())}님을 스탭에서 해제했어요." content = getString(
R.string.screen_live_room_unstaffed,
viewModel.getUserNickname(peerId.toInt())
)
) )
} }
} else { } else {
handler.post { handler.post {
showDialog( showDialog(
content = "${viewModel.getUserNickname(peerId.toInt())}님을 리스너로 변경했어요." content = getString(
R.string.screen_live_room_changed_to_listener,
viewModel.getUserNickname(peerId.toInt())
)
) )
} }
} }
@@ -1227,7 +1245,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
) { ) {
handler.post { handler.post {
showDialog( showDialog(
content = "${viewModel.getUserNickname(userId.toInt())}님을 내보냈습니다." content = getString(
R.string.screen_live_room_ban_message,
viewModel.getUserNickname(userId.toInt())
)
) )
} }
} }
@@ -1239,7 +1260,12 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
requestType = LiveRoomRequestType.NO_CHATTING requestType = LiveRoomRequestType.NO_CHATTING
) { ) {
handler.post { handler.post {
showDialog(content = "${nickname}님을 3분간 채팅금지를 하였습니다.") showDialog(
content = getString(
R.string.screen_live_room_no_chat_applied,
nickname
)
)
} }
} }
} }
@@ -1293,7 +1319,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
if (isNoChatting) { if (isNoChatting) {
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"${remainingNoChattingTime}초 동안 채팅하실 수 없습니다", getString(
R.string.screen_live_room_no_chat_warning,
remainingNoChattingTime
),
Toast.LENGTH_SHORT Toast.LENGTH_SHORT
).show() ).show()
} else if (binding.etChat.text.isNotBlank() && nickname.isNotBlank() && profileUrl.isNotBlank()) { } else if (binding.etChat.text.isNotBlank() && nickname.isNotBlank() && profileUrl.isNotBlank()) {
@@ -1312,7 +1341,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
agora.inputChat(message) { agora.inputChat(message) {
Toast.makeText( Toast.makeText(
applicationContext, applicationContext,
"라이브 접속에 문제가 발생했습니다.\n재접속 해주세요", getString(R.string.screen_live_room_connection_issue),
Toast.LENGTH_SHORT Toast.LENGTH_SHORT
).show() ).show()
} }
@@ -1341,9 +1370,9 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
private fun donation(can: Int, message: String, isSecret: Boolean) { private fun donation(can: Int, message: String, isSecret: Boolean) {
val rawMessage = if (isSecret) { val rawMessage = if (isSecret) {
"${can}캔으로 비밀미션을 보냈습니다.\uD83E\uDD2B" getString(R.string.screen_live_room_secret_mission_sent, can)
} else { } else {
"${can}캔을 후원하셨습니다.\uD83D\uDCB0\uD83E\uDE99" getString(R.string.screen_live_room_donation_sent, can)
} }
viewModel.donation(roomId, can, message, isSecret) { signature -> viewModel.donation(roomId, can, message, isSecret) { signature ->
@@ -1506,7 +1535,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
Logger.e("onUserOffline - uid: $uid") Logger.e("onUserOffline - uid: $uid")
if (viewModel.isEqualToHostId(uid)) { if (viewModel.isEqualToHostId(uid)) {
handler.post { handler.post {
showToast("라이브가 종료되었습니다.") showToast(getString(R.string.screen_live_room_closed))
finish() finish()
} }
} else { } else {
@@ -1553,17 +1582,21 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
) { ) {
handler.post { handler.post {
showDialog( showDialog(
content = "스피커로 초대되었어요", content = getString(R.string.screen_live_room_invited_speaker),
cancelTitle = "다음에요", cancelTitle = getString(R.string.screen_live_room_invited_later),
cancelAction = {}, cancelAction = {},
confirmTitle = "스피커로 참여하기", confirmTitle = getString(R.string.screen_live_room_invited_join),
confirmAction = { confirmAction = {
handler.post { handler.post {
viewModel.setSpeaker( viewModel.setSpeaker(
roomId, roomId,
SharedPreferenceManager.userId SharedPreferenceManager.userId
) { ) {
showDialog(content = "스피커가 되었어요!") showDialog(
content = getString(
R.string.screen_live_room_became_speaker
)
)
setBroadcaster() setBroadcaster()
viewModel.getRoomInfo(roomId) viewModel.getRoomInfo(roomId)
binding.tvChangeListener.visibility = View.VISIBLE binding.tvChangeListener.visibility = View.VISIBLE
@@ -1591,7 +1624,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
handler.post { handler.post {
finish() finish()
showToast( showToast(
"${viewModel.getManagerNickname()}님이 라이브에서 내보냈습니다." getString(
R.string.screen_live_room_kicked,
viewModel.getManagerNickname()
)
) )
} }
@@ -1604,7 +1640,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
} }
handler.post { handler.post {
showDialog( showDialog(
content = "${viewModel.getManagerNickname()}님이 스탭으로 지정했습니다." content = getString(
R.string.screen_live_room_staff_assigned,
viewModel.getManagerNickname()
)
) )
} }
return return
@@ -1613,7 +1652,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
if (rawMessage == LiveRoomRequestType.RELEASE_MANAGER.toString()) { if (rawMessage == LiveRoomRequestType.RELEASE_MANAGER.toString()) {
handler.post { handler.post {
showDialog( showDialog(
content = "${viewModel.getManagerNickname()}님이 스탭에서 해제했습니다." content = getString(
R.string.screen_live_room_staff_removed,
viewModel.getManagerNickname()
)
) )
} }
viewModel.getRoomInfo(roomId = roomId) viewModel.getRoomInfo(roomId = roomId)
@@ -1781,7 +1823,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
} }
private fun joinChannel(roomInfo: GetRoomInfoResponse) { private fun joinChannel(roomInfo: GetRoomInfoResponse) {
loadingDialog.show(width = screenWidth, message = "라이브에 입장하고 있습니다.") loadingDialog.show(
width = screenWidth,
message = getString(R.string.screen_live_room_loading)
)
val userId = SharedPreferenceManager.userId val userId = SharedPreferenceManager.userId
agora.joinRtcChannel( agora.joinRtcChannel(
@@ -1806,7 +1851,10 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
val intent = Intent(this, SodaLiveService::class.java) val intent = Intent(this, SodaLiveService::class.java)
intent.putExtra("roomId", roomId) intent.putExtra("roomId", roomId)
intent.putExtra("content", "라이브 진행중 - ${roomInfo.title}") intent.putExtra(
"content",
getString(R.string.screen_live_room_now_playing, roomInfo.title)
)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(intent) startForegroundService(intent)
} else { } else {
@@ -1828,7 +1876,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
private fun agoraConnectFail() { private fun agoraConnectFail() {
handler.post { handler.post {
loadingDialog.dismiss() loadingDialog.dismiss()
showToast("라이브에 접속하지 못했습니다.\n다시 시도해 주세요.") showToast(getString(R.string.screen_live_room_connect_failed))
finish() finish()
} }
} }
@@ -1952,9 +2000,9 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
SodaDialog( SodaDialog(
activity = this@LiveRoomActivity, activity = this@LiveRoomActivity,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "안내", title = getString(R.string.screen_live_room_like_paid_title),
desc = "'좋아해요'는 유료 후원입니다.\n클릭시 1캔이 소진됩니다.", desc = getString(R.string.screen_live_room_like_paid_message),
confirmButtonTitle = "확인", confirmButtonTitle = getString(R.string.screen_live_room_like_paid_confirm),
confirmButtonClick = { isAvailableLikeHeart = true } confirmButtonClick = { isAvailableLikeHeart = true }
).show(screenWidth) ).show(screenWidth)
return true return true
@@ -2089,9 +2137,9 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
SodaDialog( SodaDialog(
activity = this@LiveRoomActivity, activity = this@LiveRoomActivity,
layoutInflater = layoutInflater, layoutInflater = layoutInflater,
title = "안내", title = getString(R.string.screen_live_room_like_paid_title),
desc = "'좋아해요'는 유료 후원입니다.\n클릭시 1캔이 소진됩니다.", desc = getString(R.string.screen_live_room_like_paid_message),
confirmButtonTitle = "확인", confirmButtonTitle = getString(R.string.screen_live_room_like_paid_confirm),
confirmButtonClick = { isAvailableLikeHeart = true } confirmButtonClick = { isAvailableLikeHeart = true }
).show(screenWidth) ).show(screenWidth)
} }
@@ -2152,7 +2200,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
} }
private fun showHeartMessage() { private fun showHeartMessage() {
val str = "'${heartNickname}'님이 마음을 전했습니다 : \uD83D\uDC95" val str = getString(R.string.screen_live_room_heart_sent, heartNickname)
val spStr = SpannableString(str) val spStr = SpannableString(str)
spStr.setSpan( spStr.setSpan(

View File

@@ -107,7 +107,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_bold" android:fontFamily="@font/gmarket_sans_bold"
android:text="[방송공지] " android:text="@string/screen_live_room_notice_prefix"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="11.3sp" /> android:textSize="11.3sp" />
@@ -160,7 +160,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_bold" android:fontFamily="@font/gmarket_sans_bold"
android:text="[메뉴판] " android:text="@string/screen_live_room_menu_prefix"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="11.3sp" /> android:textSize="11.3sp" />
@@ -202,7 +202,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="4.7dp" android:paddingVertical="4.7dp"
android:text="나가기" android:text="@string/screen_live_room_leave"
android:textColor="@color/color_ff5c49" android:textColor="@color/color_ff5c49"
android:textSize="12sp" android:textSize="12sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
@@ -226,7 +226,7 @@
android:gravity="center" android:gravity="center"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="4.7dp" android:paddingVertical="4.7dp"
android:text="리스너 변경" android:text="@string/screen_live_room_change_listener"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="12sp" android:textSize="12sp"
android:visibility="gone" android:visibility="gone"
@@ -242,7 +242,7 @@
android:gravity="center" android:gravity="center"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="4.7dp" android:paddingVertical="4.7dp"
android:text="시그 OFF" android:text="@string/screen_live_room_signature_off_label"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="12sp" android:textSize="12sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
@@ -257,7 +257,7 @@
android:gravity="center" android:gravity="center"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="4.7dp" android:paddingVertical="4.7dp"
android:text="배경 OFF" android:text="@string/screen_live_room_bg_off_label"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="12sp" android:textSize="12sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
@@ -421,7 +421,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="5.3dp" android:paddingVertical="5.3dp"
android:text="공지" android:text="@string/screen_live_room_notice"
android:textColor="@color/color_bbbbbb" android:textColor="@color/color_bbbbbb"
android:textSize="11sp" android:textSize="11sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
@@ -437,7 +437,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:paddingVertical="5.3dp" android:paddingVertical="5.3dp"
android:text="메뉴판" android:text="@string/screen_live_room_menu"
android:textColor="@color/color_bbbbbb" android:textColor="@color/color_bbbbbb"
android:textSize="11sp" android:textSize="11sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
@@ -523,7 +523,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/screen_live_room_participants"
android:textColor="@color/color_bbbbbb" android:textColor="@color/color_bbbbbb"
android:textSize="11sp" android:textSize="11sp"
tools:ignore="SmallSp" /> tools:ignore="SmallSp" />
@@ -696,7 +696,7 @@
android:drawablePadding="6.7dp" android:drawablePadding="6.7dp"
android:paddingHorizontal="13.3dp" android:paddingHorizontal="13.3dp"
android:paddingVertical="8dp" android:paddingVertical="8dp"
android:text="새로운 채팅" android:text="@string/screen_live_room_new_chat"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:visibility="gone" android:visibility="gone"
app:drawableStartCompat="@drawable/ic_bottom_white" app:drawableStartCompat="@drawable/ic_bottom_white"
@@ -721,7 +721,7 @@
android:background="@drawable/bg_round_corner_10_232323_eeeeee" android:background="@drawable/bg_round_corner_10_232323_eeeeee"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="채팅을 입력하세요" android:hint="@string/screen_live_room_chat_hint"
android:imeOptions="actionSend" android:imeOptions="actionSend"
android:importantForAutofill="no" android:importantForAutofill="no"
android:inputType="text" android:inputType="text"

View File

@@ -326,6 +326,74 @@
<string name="live_reservation_status_price">%1$d cans</string> <string name="live_reservation_status_price">%1$d cans</string>
<string name="live_reservation_status_cancel">Cancel\nreservation</string> <string name="live_reservation_status_cancel">Cancel\nreservation</string>
<string name="live_reservation_status_not_cancelable">Cannot cancel</string> <string name="live_reservation_status_not_cancelable">Cannot cancel</string>
<!-- Live Room -->
<string name="screen_live_room_no_chat_ended">Chat ban has been lifted.</string>
<string name="screen_live_room_no_chat_started">%1$s muted chat for 3 minutes.</string>
<string name="screen_live_room_not_found">The live room was not found.</string>
<string name="screen_live_room_speaker_full">Speaker slots are full.</string>
<string name="screen_live_room_kick_title">Remove</string>
<string name="screen_live_room_kick_message">Remove %1$s?</string>
<string name="screen_live_room_kick_confirm">Remove</string>
<string name="screen_live_room_staff_assigned">Set %1$s as staff.</string>
<string name="screen_live_room_staff_removed">Removed %1$s from staff.</string>
<string name="screen_live_room_changed_listener">Changed %1$s to listener.</string>
<string name="screen_live_room_ban_message">Removed %1$s.</string>
<string name="screen_live_room_kicked">%1$s removed you from the live.</string>
<string name="screen_live_room_no_chat_warning">Chat is disabled for %1$d seconds.</string>
<string name="screen_live_room_no_chat_applied">Muted %1$s for 3 minutes.</string>
<string name="screen_live_room_secret_mission_minimum">Secret missions require at least 10 cans.</string>
<string name="screen_live_room_donation_minimum">You can donate from 1 can.</string>
<string name="screen_live_room_block_title">Block user</string>
<string name="screen_live_room_block_confirm">Block</string>
<string name="screen_live_room_block_message_creator">Block %1$s?\n\nBlocking will restrict this user:\n- Cannot enter lives you host\n- Cannot send you messages\n- Cannot post in your fanTalk</string>
<string name="screen_live_room_block_message_user">Block %1$s?\n\n- You will not see chat messages from blocked users in live rooms.</string>
<string name="screen_live_room_bg_on">Background ON</string>
<string name="screen_live_room_bg_off">Background OFF</string>
<string name="screen_live_room_signature_on">Signature ON</string>
<string name="screen_live_room_signature_off">Signature OFF</string>
<string name="screen_live_room_age_limit_title">Notice</string>
<string name="screen_live_room_age_limit_message">This live room is restricted to ages 19 and over, so minors cannot join under the Information and Communications Network Act and the Youth Protection Act. Please verify your identity in My Page and try again.</string>
<string name="screen_live_room_ok">OK</string>
<string name="screen_live_room_copy_history">Donation history copied.</string>
<string name="screen_live_room_info_updated">Live info updated.</string>
<string name="screen_live_room_quit">End live</string>
<string name="screen_live_room_share_title">Share live</string>
<string name="screen_live_room_end_title">End live</string>
<string name="screen_live_room_end_message">End this live?\nChat history will not be saved and will disappear.\nParticipants will also be removed when the live ends.</string>
<string name="screen_live_room_exit_title">Leave live</string>
<string name="screen_live_room_exit_message">Leave this live room?</string>
<string name="screen_live_room_yes">Yes</string>
<string name="screen_live_room_no">No</string>
<string name="screen_live_room_request_speaker">Speaker request sent.\nPlease wait a moment.</string>
<string name="screen_live_room_unstaffed">Removed %1$s from staff.</string>
<string name="screen_live_room_changed_to_listener">Changed %1$s to listener.</string>
<string name="screen_live_room_banned">Removed %1$s.</string>
<string name="screen_live_room_connection_issue">Connection issue occurred.\nPlease reconnect.</string>
<string name="screen_live_room_secret_mission_sent">Sent a secret mission for %1$s cans.\uD83E\uDD2B</string>
<string name="screen_live_room_donation_sent">Donated %1$s cans.\uD83D\uDCB0\uD83E\uDE99</string>
<string name="screen_live_room_closed">The live has ended.</string>
<string name="screen_live_room_invited_speaker">You were invited as a speaker</string>
<string name="screen_live_room_invited_later">Maybe later</string>
<string name="screen_live_room_invited_join">Join as speaker</string>
<string name="screen_live_room_became_speaker">You are now a speaker!</string>
<string name="screen_live_room_loading">Joining live…</string>
<string name="screen_live_room_now_playing">Live in progress - %1$s</string>
<string name="screen_live_room_connect_failed">Could not connect to the live.\nPlease try again.</string>
<string name="screen_live_room_like_paid_title">Notice</string>
<string name="screen_live_room_like_paid_message">\"Like\" is a paid support.\n1 can will be spent when you tap.</string>
<string name="screen_live_room_like_paid_confirm">OK</string>
<string name="screen_live_room_heart_sent">\"%1$s\" sent a heart : \uD83D\uDC95</string>
<string name="screen_live_room_notice_prefix">[Notice] </string>
<string name="screen_live_room_menu_prefix">[Menu] </string>
<string name="screen_live_room_leave">Leave</string>
<string name="screen_live_room_change_listener">Change to listener</string>
<string name="screen_live_room_signature_off_label">Signature OFF</string>
<string name="screen_live_room_bg_off_label">Background OFF</string>
<string name="screen_live_room_notice">Notice</string>
<string name="screen_live_room_menu">Menu</string>
<string name="screen_live_room_participants">Participants</string>
<string name="screen_live_room_new_chat">New chat</string>
<string name="screen_live_room_chat_hint">Enter a message</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

@@ -326,6 +326,74 @@
<string name="live_reservation_status_price">%1$dCAN</string> <string name="live_reservation_status_price">%1$dCAN</string>
<string name="live_reservation_status_cancel">予約\nキャンセル</string> <string name="live_reservation_status_cancel">予約\nキャンセル</string>
<string name="live_reservation_status_not_cancelable">キャンセル不可</string> <string name="live_reservation_status_not_cancelable">キャンセル不可</string>
<!-- Live Room -->
<string name="screen_live_room_no_chat_ended">チャット禁止が解除されました。</string>
<string name="screen_live_room_no_chat_started">%1$sさんが3分間チャットを禁止しました。</string>
<string name="screen_live_room_not_found">該当するライブがありません。</string>
<string name="screen_live_room_speaker_full">スピーカー枠が満員です。</string>
<string name="screen_live_room_kick_title">退出</string>
<string name="screen_live_room_kick_message">%1$sさんを退出させますか</string>
<string name="screen_live_room_kick_confirm">退出</string>
<string name="screen_live_room_staff_assigned">%1$sさんをスタッフに設定しました。</string>
<string name="screen_live_room_staff_removed">%1$sさんをスタッフから解除しました。</string>
<string name="screen_live_room_changed_listener">%1$sさんをリスナーに変更しました。</string>
<string name="screen_live_room_ban_message">%1$sさんを退出させました。</string>
<string name="screen_live_room_kicked">%1$sさんにライブから退出させられました。</string>
<string name="screen_live_room_no_chat_warning">%1$d秒間チャットできません。</string>
<string name="screen_live_room_no_chat_applied">%1$sさんを3分間チャット禁止にしました。</string>
<string name="screen_live_room_secret_mission_minimum">シークレットミッションは10CAN以上から利用できます。</string>
<string name="screen_live_room_donation_minimum">1CAN以上から支援できます。</string>
<string name="screen_live_room_block_title">ユーザーをブロック</string>
<string name="screen_live_room_block_confirm">ブロック</string>
<string name="screen_live_room_block_message_creator">%1$sさんをブロックしますか\n\nブロックすると以下の機能が制限されます。\n- あなたが開設したライブに入場不可\n- あなたへのメッセージ送信不可\n- あなたのチャンネルのファンTalk投稿不可</string>
<string name="screen_live_room_block_message_user">%1$sさんをブロックしますか\n\n- ブロックするとそのユーザーのライブ中チャットが表示されません。</string>
<string name="screen_live_room_bg_on">背景 ON</string>
<string name="screen_live_room_bg_off">背景 OFF</string>
<string name="screen_live_room_signature_on">シグ ON</string>
<string name="screen_live_room_signature_off">シグ OFF</string>
<string name="screen_live_room_age_limit_title">お知らせ</string>
<string name="screen_live_room_age_limit_message">このライブは「19歳以上」制限が設定されているため、関連法令により19歳未満の方は利用できません。マイページで本人認証後、再度ご利用ください。</string>
<string name="screen_live_room_ok">確認</string>
<string name="screen_live_room_copy_history">支援履歴をコピーしました。</string>
<string name="screen_live_room_info_updated">ライブ情報を修正しました。</string>
<string name="screen_live_room_quit">ライブ終了</string>
<string name="screen_live_room_share_title">ライブを共有</string>
<string name="screen_live_room_end_title">ライブ終了</string>
<string name="screen_live_room_end_message">ライブを終了しますか?\n終了するとチャット内容は保存されず消えます。\n参加者もライブ終了とともに\n強制退出されます。</string>
<string name="screen_live_room_exit_title">ライブ退出</string>
<string name="screen_live_room_exit_message">ライブから退出しますか?</string>
<string name="screen_live_room_yes">はい</string>
<string name="screen_live_room_no">いいえ</string>
<string name="screen_live_room_request_speaker">スピーカーにリクエストを送りました。\n少々お待ちください。</string>
<string name="screen_live_room_unstaffed">%1$sさんをスタッフから解除しました。</string>
<string name="screen_live_room_changed_to_listener">%1$sさんをリスナーに変更しました。</string>
<string name="screen_live_room_banned">%1$sさんを退出させました。</string>
<string name="screen_live_room_connection_issue">ライブ接続に問題が発生しました。\n再接続してください。</string>
<string name="screen_live_room_secret_mission_sent">%1$sCANでシークレットミッションを送りました。\uD83E\uDD2B</string>
<string name="screen_live_room_donation_sent">%1$sCANを支援しました。\uD83D\uDCB0\uD83E\uDE99</string>
<string name="screen_live_room_closed">ライブが終了しました。</string>
<string name="screen_live_room_invited_speaker">スピーカーに招待されました</string>
<string name="screen_live_room_invited_later">後で</string>
<string name="screen_live_room_invited_join">スピーカーとして参加</string>
<string name="screen_live_room_became_speaker">スピーカーになりました!</string>
<string name="screen_live_room_loading">ライブに入場しています。</string>
<string name="screen_live_room_now_playing">ライブ進行中 - %1$s</string>
<string name="screen_live_room_connect_failed">ライブに接続できませんでした。\nもう一度お試しください。</string>
<string name="screen_live_room_like_paid_title">お知らせ</string>
<string name="screen_live_room_like_paid_message">「いいね」は有料の支援です。\nタップすると1CANが消費されます。</string>
<string name="screen_live_room_like_paid_confirm">確認</string>
<string name="screen_live_room_heart_sent">「%1$s」さんがハートを送りました : \uD83D\uDC95</string>
<string name="screen_live_room_notice_prefix">[放送告知] </string>
<string name="screen_live_room_menu_prefix">[メニュー] </string>
<string name="screen_live_room_leave">退出</string>
<string name="screen_live_room_change_listener">リスナー変更</string>
<string name="screen_live_room_signature_off_label">シグ OFF</string>
<string name="screen_live_room_bg_off_label">背景 OFF</string>
<string name="screen_live_room_notice">告知</string>
<string name="screen_live_room_menu">メニュー</string>
<string name="screen_live_room_participants">参加者</string>
<string name="screen_live_room_new_chat">新しいチャット</string>
<string name="screen_live_room_chat_hint">チャットを入力してください</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

@@ -325,6 +325,74 @@
<string name="live_reservation_status_price">%1$d캔</string> <string name="live_reservation_status_price">%1$d캔</string>
<string name="live_reservation_status_cancel">예약\n취소</string> <string name="live_reservation_status_cancel">예약\n취소</string>
<string name="live_reservation_status_not_cancelable">예약 취소 불가</string> <string name="live_reservation_status_not_cancelable">예약 취소 불가</string>
<!-- Live Room -->
<string name="screen_live_room_no_chat_ended">채팅금지가 해제되었습니다.</string>
<string name="screen_live_room_no_chat_started">%1$s님이 3분간 채팅을 금지하였습니다.</string>
<string name="screen_live_room_not_found">해당하는 라이브가 없습니다.</string>
<string name="screen_live_room_speaker_full">스피커 정원이 초과했습니다.</string>
<string name="screen_live_room_kick_title">내보내기</string>
<string name="screen_live_room_kick_message">%1$s님을 내보내시겠어요?</string>
<string name="screen_live_room_kick_confirm">내보내기</string>
<string name="screen_live_room_staff_assigned">%1$s님을 스탭으로 지정했습니다.</string>
<string name="screen_live_room_staff_removed">%1$s님을 스탭에서 해제했어요.</string>
<string name="screen_live_room_changed_listener">%1$s님을 리스너로 변경했어요.</string>
<string name="screen_live_room_ban_message">%1$s님을 내보냈습니다.</string>
<string name="screen_live_room_kicked">%1$s님이 라이브에서 내보냈습니다.</string>
<string name="screen_live_room_no_chat_warning">%1$d초 동안 채팅하실 수 없습니다</string>
<string name="screen_live_room_no_chat_applied">%1$s님을 3분간 채팅금지를 하였습니다.</string>
<string name="screen_live_room_secret_mission_minimum">비밀 미션은 최소 10캔 이상부터 이용이 가능합니다.</string>
<string name="screen_live_room_donation_minimum">1캔 이상 후원하실 수 있습니다.</string>
<string name="screen_live_room_block_title">사용자 차단</string>
<string name="screen_live_room_block_confirm">차단</string>
<string name="screen_live_room_block_message_creator">%1$s님을 차단하시겠습니까?\n\n사용자를 차단하면 사용자는 아래 기능이 제한됩니다.\n- 내가 개설한 라이브 입장 불가\n- 나에게 메시지 보내기 불가\n- 내 채널의 팬Talk 작성불가</string>
<string name="screen_live_room_block_message_user">%1$s님을 차단하시겠습니까?\n\n- 사용자를 차단하면 \'차단한 사용자의 라이브 중 채팅\'이 보이지 않습니다.</string>
<string name="screen_live_room_bg_on">배경 ON</string>
<string name="screen_live_room_bg_off">배경 OFF</string>
<string name="screen_live_room_signature_on">시그 ON</string>
<string name="screen_live_room_signature_off">시그 OFF</string>
<string name="screen_live_room_age_limit_title">알림</string>
<string name="screen_live_room_age_limit_message">지금 참여하던 라이브는 \'19세 이상\' 연령제한이 설정되어 정보통신망 이용촉진 및 정보 보호 등에 관한 법률 및 청소년 보호법의 규정에 의해 만 19세 미만의 청소년은 이용할 수 없습니다.\n마이페이지에서 본인인증 후 다시 이용하시기 바랍니다.</string>
<string name="screen_live_room_ok">확인</string>
<string name="screen_live_room_copy_history">후원 히스토리가 복사되었습니다.</string>
<string name="screen_live_room_info_updated">라이브 정보가 수정되었습니다.</string>
<string name="screen_live_room_quit">라이브 종료</string>
<string name="screen_live_room_share_title">라이브 공유</string>
<string name="screen_live_room_end_title">라이브 종료</string>
<string name="screen_live_room_end_message">라이브를 종료하시겠습니까?\n라이브를 종료하면 대화내용은\n저장되지 않고 사라집니다.\n참여자들 또한 라이브가 종료되어\n강제퇴장 됩니다.</string>
<string name="screen_live_room_exit_title">라이브 나가기</string>
<string name="screen_live_room_exit_message">라이브에서 나가시겠습니까?</string>
<string name="screen_live_room_yes"></string>
<string name="screen_live_room_no">아니오</string>
<string name="screen_live_room_request_speaker">스피커 요청을 보냈습니다.\n잠시만 기다려 주세요.</string>
<string name="screen_live_room_unstaffed">%1$s님을 스탭에서 해제했어요.</string>
<string name="screen_live_room_changed_to_listener">%1$s님을 리스너로 변경했어요.</string>
<string name="screen_live_room_banned">%1$s님을 내보냈습니다.</string>
<string name="screen_live_room_connection_issue">라이브 접속에 문제가 발생했습니다.\n재접속 해주세요</string>
<string name="screen_live_room_secret_mission_sent">%1$s캔으로 비밀미션을 보냈습니다.\uD83E\uDD2B</string>
<string name="screen_live_room_donation_sent">%1$s캔을 후원하셨습니다.\uD83D\uDCB0\uD83E\uDE99</string>
<string name="screen_live_room_closed">라이브가 종료되었습니다.</string>
<string name="screen_live_room_invited_speaker">스피커로 초대되었어요</string>
<string name="screen_live_room_invited_later">다음에요</string>
<string name="screen_live_room_invited_join">스피커로 참여하기</string>
<string name="screen_live_room_became_speaker">스피커가 되었어요!</string>
<string name="screen_live_room_loading">라이브에 입장하고 있습니다.</string>
<string name="screen_live_room_now_playing">라이브 진행중 - %1$s</string>
<string name="screen_live_room_connect_failed">라이브에 접속하지 못했습니다.\n다시 시도해 주세요.</string>
<string name="screen_live_room_like_paid_title">안내</string>
<string name="screen_live_room_like_paid_message">\'좋아해요\'는 유료 후원입니다.\n클릭시 1캔이 소진됩니다.</string>
<string name="screen_live_room_like_paid_confirm">확인</string>
<string name="screen_live_room_heart_sent">\'%1$s\'님이 마음을 전했습니다 : \uD83D\uDC95</string>
<string name="screen_live_room_notice_prefix">[방송공지] </string>
<string name="screen_live_room_menu_prefix">[메뉴판] </string>
<string name="screen_live_room_leave">나가기</string>
<string name="screen_live_room_change_listener">리스너 변경</string>
<string name="screen_live_room_signature_off_label">시그 OFF</string>
<string name="screen_live_room_bg_off_label">배경 OFF</string>
<string name="screen_live_room_notice">공지</string>
<string name="screen_live_room_menu">메뉴판</string>
<string name="screen_live_room_participants">참여자</string>
<string name="screen_live_room_new_chat">새로운 채팅</string>
<string name="screen_live_room_chat_hint">채팅을 입력하세요</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>