feat(i18n): 라이브 룸 하드코딩 문구를 I18n 키로 통일한다

This commit is contained in:
Yu Sung
2026-04-01 13:52:02 +09:00
parent 540238eb48
commit bceec46ebc
36 changed files with 571 additions and 324 deletions

View File

@@ -133,7 +133,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
@Published var kickOutDesc = ""
@Published var kickOutId = 0 {
didSet {
kickOutDesc = "\(getUserNicknameAndProfileUrl(accountId: kickOutId).nickname)님을 내보내시겠어요?"
kickOutDesc = I18n.LiveRoom.kickOutQuestion(getUserNicknameAndProfileUrl(accountId: kickOutId).nickname)
}
}
@@ -579,13 +579,13 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowErrorPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowErrorPopup = true
}
@@ -665,7 +665,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowErrorPopup = true
@@ -674,7 +674,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.isLoading = false
} catch {
self.isLoading = false
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowErrorPopup = true
}
}
@@ -726,7 +726,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.popupContent = I18n.LiveRoom.chatFreezeBlockedMessage
self.isShowPopup = true
} else if isNoChatting {
self.popupContent = "\(remainingNoChattingTime)초 동안 채팅하실 수 없습니다"
self.popupContent = I18n.CreateLive.remainingNoChattingMessage(remainingNoChattingTime)
self.isShowPopup = true
} else if !chatMessage.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
let chatId = UUID().uuidString
@@ -887,10 +887,10 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
func donation(can: Int, message: String = "", isSecret: Bool = false) {
if isSecret && can < 10 {
popupContent = "비밀 미션은 최소 10캔 이상부터 이용이 가능합니다."
popupContent = I18n.LiveRoom.secretMissionMinimumCanMessage
isShowPopup = true
} else if can < 1 {
popupContent = "1캔 이상 후원하실 수 있습니다."
popupContent = I18n.LiveRoom.atLeastOneCanDonationMessage
isShowPopup = true
} else {
isLoading = true
@@ -916,9 +916,9 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
var rawMessage = ""
if isSecret {
rawMessage = "\(can)캔으로 비밀미션을 보냈습니다.🤫"
rawMessage = I18n.LiveChat.canWithUnit(can) + I18n.LiveChat.secretMissionDonationSuffix
} else {
rawMessage = "\(can)캔을 후원하셨습니다.💰🪙"
rawMessage = I18n.LiveChat.canWithUnit(can) + I18n.LiveChat.donationSuffix
}
let donationRawMessage = LiveRoomChatRawMessage(
@@ -986,14 +986,14 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.popupContent = message
} else {
self.popupContent = "후원에 실패했습니다.\n다시 후원해주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.popupContent = I18n.LiveRoom.donationFailedMessage
}
self.isShowPopup = true
}
} catch {
self.isLoading = false
self.popupContent = "후원에 실패했습니다.\n다시 후원해주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.popupContent = I18n.LiveRoom.donationFailedMessage
self.isShowPopup = true
}
}
@@ -1022,20 +1022,20 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.isLoading = false
if decoded.success {
self.popupContent = "후원에 실패했습니다.\n다시 후원해주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.popupContent = I18n.LiveRoom.donationFailedMessage
self.isShowPopup = true
} else {
if let message = decoded.message {
self.errorMessage = message
} else {
self.popupContent = "후원에 실패한 캔이 환불되지 않았습니다\n고객센터로 문의해주세요."
self.popupContent = I18n.LiveRoom.donationRefundFailedMessage
}
self.isShowPopup = true
}
} catch {
self.isLoading = false
self.popupContent = "후원에 실패한 캔이 환불되지 않았습니다\n고객센터로 문의해주세요."
self.popupContent = I18n.LiveRoom.donationRefundFailedMessage
self.isShowPopup = true
}
}
@@ -1045,7 +1045,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
func inviteSpeaker(peerId: Int) {
agora.sendMessageToPeer(peerId: String(peerId), rawMessage: LiveRoomRequestType.INVITE_SPEAKER.rawValue.data(using: .utf8)!) { [unowned self] _, error in
if error == nil {
self.popupContent = "스피커 요청을 보냈습니다.\n잠시만 기다려 주세요."
self.popupContent = I18n.CreateLive.speakerRequestSent
self.isShowPopup = true
}
}
@@ -1061,9 +1061,9 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self?.getRoomInfo()
}
self.popupContent = "\(getUserNicknameAndProfileUrl(accountId: peerId).nickname)님을 스탭에서 해제했어요."
self.popupContent = I18n.LiveRoom.staffReleasedMessage(getUserNicknameAndProfileUrl(accountId: peerId).nickname)
} else {
self.popupContent = "\(getUserNicknameAndProfileUrl(accountId: peerId).nickname)님을 리스너로 변경했어요."
self.popupContent = I18n.LiveRoom.changedToListenerMessage(getUserNicknameAndProfileUrl(accountId: peerId).nickname)
}
self.isShowPopup = true
@@ -1161,7 +1161,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if decoded.success {
self.role = .SPEAKER
self.agora.setRole(role: .broadcaster)
self.popupContent = "스피커가 되었어요!"
self.popupContent = I18n.LiveRoom.becameSpeakerMessage
self.isShowPopup = true
self.isMute = false
self.getRoomInfo()
@@ -1257,11 +1257,11 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.agora.sendRawMessageToGroup(rawMessage: editRoomInfoMessage)
} else {
self.errorMessage = decoded.message ?? "라이브 정보를 수정하지 못했습니다.\n다시 시도해 주세요."
self.errorMessage = decoded.message ?? I18n.CreateLive.editFailedMessage
self.isShowErrorPopup = true
}
} catch {
self.errorMessage = "라이브 정보를 수정하지 못했습니다.\n다시 시도해 주세요."
self.errorMessage = I18n.CreateLive.editFailedMessage
self.isShowErrorPopup = true
}
}
@@ -1270,13 +1270,13 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
func selectMenuPreset(selectedMenuPreset: SelectedMenu) {
if menuList.isEmpty && (selectedMenuPreset == .MENU_2 || selectedMenuPreset == .MENU_3) {
errorMessage = "메뉴 1을 먼저 설정하세요"
errorMessage = I18n.MissionMenu.needMenu1First
isShowPopup = true
return
}
if menuList.count == 1 && selectedMenuPreset == .MENU_3 {
errorMessage = "메뉴 1과 메뉴 2를 먼저 설정하세요"
errorMessage = I18n.MissionMenu.needMenu1And2First
isShowPopup = true
return
}
@@ -1342,14 +1342,14 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
onFailure()
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1366,22 +1366,19 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let shareUrl = createOneLinkUrlWithURLComponents(params: params) {
if liveRoomInfo.isPrivateRoom {
shareMessage = "\(UserDefaults.string(forKey: .nickname))님이 귀하를 보이스온 비공개라이브에 초대하였습니다.\n" +
"※ 라이브 참여: \(shareUrl)\n" +
"(입장 비밀번호: \(liveRoomInfo.password!))"
shareMessage = I18n.LiveRoom.invitePrivateLiveMessage(UserDefaults.string(forKey: .nickname), shareUrl, liveRoomInfo.password ?? "")
} else {
shareMessage = "\(UserDefaults.string(forKey: .nickname))님이 귀하를 보이스온 공개라이브에 초대하였습니다.\n" +
"※ 라이브 참여: \(shareUrl)"
shareMessage = I18n.LiveRoom.invitePublicLiveMessage(UserDefaults.string(forKey: .nickname), shareUrl)
}
isShowShareView = true
} else {
self.errorMessage = "공유링크를 생성하지 못했습니다.\n다시 시도해 주세요."
self.errorMessage = I18n.MemberChannel.shareLinkCreateFailed
self.isShowErrorPopup = true
return
}
} else {
self.errorMessage = "공유링크를 생성하지 못했습니다.\n다시 시도해 주세요."
self.errorMessage = I18n.MemberChannel.shareLinkCreateFailed
self.isShowErrorPopup = true
return
}
@@ -1409,7 +1406,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if decoded.success {
let nickname = self.getUserNicknameAndProfileUrl(accountId: targetUserId).nickname
self.agora.sendMessageToPeer(peerId: String(targetUserId), rawMessage: LiveRoomRequestType.KICK_OUT.rawValue.data(using: .utf8)!) { [unowned self] _, _ in
self.popupContent = "\(nickname)님을 내보냈습니다."
self.popupContent = I18n.LiveRoom.kickedOutMessage(nickname)
self.isShowPopup = true
}
self.deleteChatsByUserId(userId: targetUserId)
@@ -1459,12 +1456,12 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let data = decoded.data, decoded.success {
self.donationStatus = data
} else {
self.errorMessage = "후원현황을 가져오지 못했습니다\n다시 시도해 주세요."
self.errorMessage = I18n.LiveRoom.donationStatusFetchFailed
self.isShowPopup = true
}
} catch {
self.isLoading = false
self.errorMessage = "후원현황을 가져오지 못했습니다\n다시 시도해 주세요."
self.errorMessage = I18n.LiveRoom.donationStatusFetchFailed
self.isShowPopup = true
}
}
@@ -1492,12 +1489,12 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let data = decoded.data, decoded.success {
self.heartStatus = data
} else {
self.errorMessage = "하트 랭킹을 가져오지 못했습니다\n다시 시도해 주세요."
self.errorMessage = I18n.LiveRoom.heartRankingFetchFailed
self.isShowPopup = true
}
} catch {
self.isLoading = false
self.errorMessage = "하트 랭킹을 가져오지 못했습니다\n다시 시도해 주세요."
self.errorMessage = I18n.LiveRoom.heartRankingFetchFailed
self.isShowPopup = true
}
}
@@ -1547,13 +1544,13 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1599,13 +1596,13 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1721,21 +1718,21 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
let jsonDecoder = JSONDecoder()
let decoded = try jsonDecoder.decode(ApiResponse<[LiveRoomDonationMessage]>.self, from: responseData)
if let data = decoded.data, decoded.success {
self.donationMessageList.removeAll()
self.donationMessageList.append(contentsOf: data)
self.donationMessageCount = data.count
} else {
if let message = decoded.message {
self.errorMessage = message
if let data = decoded.data, decoded.success {
self.donationMessageList.removeAll()
self.donationMessageList.append(contentsOf: data)
self.donationMessageCount = data.count
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
}
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1766,11 +1763,11 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.donationMessageList.removeAll()
self.donationMessageList.append(contentsOf: filteredDonationMessageList)
} else {
self.errorMessage = "메시지를 삭제하지 못했습니다.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
} catch {
self.errorMessage = "메시지를 삭제하지 못했습니다.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1795,20 +1792,20 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
let jsonDecoder = JSONDecoder()
let decoded = try jsonDecoder.decode(ApiResponse<GetLiveRoomUserProfileResponse>.self, from: responseData)
if let data = decoded.data, decoded.success {
userProfile = data
isShowUserProfilePopup = true
} else {
if let message = decoded.message {
self.errorMessage = message
if let data = decoded.data, decoded.success {
userProfile = data
isShowUserProfilePopup = true
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
}
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1837,19 +1834,19 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
getRoomInfo()
setManagerMessage()
self.popupContent = "\(getUserNicknameAndProfileUrl(accountId: userId).nickname)님을 스탭으로 지정했습니다."
self.popupContent = I18n.LiveRoom.assignedStaffMessage(getUserNicknameAndProfileUrl(accountId: userId).nickname)
self.isShowPopup = true
} else {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
}
self.isShowPopup = true
}
} catch {
self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.errorMessage = I18n.Common.commonError
self.isShowPopup = true
}
}
@@ -1875,7 +1872,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
func setNoChatting() {
agora.sendMessageToPeer(peerId: String(noChattingUserId), rawMessage: LiveRoomRequestType.NO_CHATTING.rawValue.data(using: .utf8)!) { [unowned self] _, error in
if error == nil {
self.popupContent = "\(noChattingUserNickname)님을 3분간 채팅금지를 하였습니다."
self.popupContent = I18n.LiveRoom.noChattingAppliedMessage(noChattingUserNickname)
self.isShowPopup = true
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
@@ -1919,7 +1916,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData)
if decoded.success {
self.reportMessage = "차단하였습니다."
self.reportMessage = I18n.MemberChannel.userBlocked
self.getUserProfile(userId: reportUserId)
onSuccess(reportUserId)
@@ -1930,13 +1927,13 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.reportMessage = message
} else {
self.reportMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.reportMessage = I18n.Common.commonError
}
}
self.isShowReportPopup = true
} catch {
self.reportMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.reportMessage = I18n.Common.commonError
self.isShowReportPopup = true
}
}
@@ -1964,7 +1961,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData)
if decoded.success {
self.reportMessage = "차단이 해제 되었습니다."
self.reportMessage = I18n.MemberChannel.userUnblocked
self.getUserProfile(userId: reportUserId)
self.reportUserId = 0
self.reportUserNickname = ""
@@ -1973,20 +1970,20 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.reportMessage = message
} else {
self.reportMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.reportMessage = I18n.Common.commonError
}
}
self.isShowReportPopup = true
} catch {
self.reportMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.reportMessage = I18n.Common.commonError
self.isShowReportPopup = true
}
}
.store(in: &subscription)
}
func report(type: ReportType, reason: String = "프로필 신고") {
func report(type: ReportType, reason: String = I18n.Dialog.MemberProfile.reportProfile) {
isLoading = true
let request = ReportRequest(type: type, reason: reason, reportedMemberId: reportUserId, cheersId: nil, audioContentId: nil)
@@ -2013,12 +2010,12 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.reportMessage = message
} else {
self.reportMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.reportMessage = I18n.Common.commonError
}
self.isShowReportPopup = true
} catch {
self.reportMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.reportMessage = I18n.Common.commonError
self.isShowReportPopup = true
}
}
@@ -2037,7 +2034,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
private func startNoChatting() {
isNoChatting = true
remainingNoChattingTime = noChattingTime
popupContent = "\(self.getUserNicknameAndProfileUrl(accountId: liveRoomInfo!.creatorId).nickname)님이 3분간 채팅을 금지하였습니다."
popupContent = I18n.LiveRoom.noChattingByCreatorMessage(self.getUserNicknameAndProfileUrl(accountId: liveRoomInfo!.creatorId).nickname)
isShowPopup = true
startCountDown()
@@ -2056,7 +2053,7 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.isNoChatting = false
self.timer?.cancel()
self.removeNoChatRoom()
self.popupContent = "채팅금지가 해제되었습니다."
self.popupContent = I18n.LiveRoom.noChattingReleasedMessage
self.isShowPopup = true
}
}
@@ -2217,12 +2214,12 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "룰렛을 사용할 수 없습니다. 다시 시도해 주세요."
self.errorMessage = I18n.CreateLive.rouletteUnavailableError
}
self.isShowErrorPopup = true
}
} catch {
self.errorMessage = "룰렛을 사용할 수 없습니다. 다시 시도해 주세요."
self.errorMessage = I18n.CreateLive.rouletteUnavailableError
self.isShowErrorPopup = true
}
}
@@ -2260,12 +2257,12 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
if let message = decoded.message {
self.errorMessage = message
} else {
self.errorMessage = "룰렛을 사용할 수 없습니다. 다시 시도해 주세요."
self.errorMessage = I18n.CreateLive.rouletteUnavailableError
}
self.isShowErrorPopup = true
}
} catch {
self.errorMessage = "룰렛을 사용할 수 없습니다. 다시 시도해 주세요."
self.errorMessage = I18n.CreateLive.rouletteUnavailableError
self.isShowErrorPopup = true
}
}
@@ -2367,20 +2364,20 @@ final class LiveRoomViewModel: NSObject, ObservableObject {
self.isLoading = false
if decoded.success {
self.popupContent = "후원에 실패했습니다.\n다시 후원해주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."
self.popupContent = I18n.LiveRoom.donationFailedMessage
self.isShowPopup = true
} else {
if let message = decoded.message {
self.errorMessage = message
} else {
self.popupContent = "후원에 실패한 캔이 환불되지 않았습니다\n고객센터로 문의해주세요."
self.popupContent = I18n.LiveRoom.donationRefundFailedMessage
}
self.isShowPopup = true
}
} catch {
self.isLoading = false
self.popupContent = "후원에 실패한 캔이 환불되지 않았습니다\n고객센터로 문의해주세요."
self.popupContent = I18n.LiveRoom.donationRefundFailedMessage
self.isShowPopup = true
}
}
@@ -2978,7 +2975,7 @@ extension LiveRoomViewModel: AgoraRtcEngineDelegate {
//
self.deInitAgoraEngine()
self.liveRoomInfo = nil
AppState.shared.errorMessage = "라이브가 종료되었습니다."
AppState.shared.errorMessage = I18n.LiveRoom.liveEndedMessage
AppState.shared.isShowErrorPopup = true
AppState.shared.roomId = 0
} else {
@@ -3023,18 +3020,18 @@ extension LiveRoomViewModel: AgoraRtmClientDelegate {
}
if rawMessageString == LiveRoomRequestType.REQUEST_SPEAKER.rawValue {
self.popupContent = "\(nickname)님이 스피커 요청을 했어요!\n스퍼커로 초대할까요?"
self.popupCancelTitle = "건너뛰기"
self.popupContent = I18n.LiveRoom.speakerRequestQuestion(nickname)
self.popupCancelTitle = I18n.LiveRoom.skipAction
self.popupCancelAction = {
self.isShowPopup = false
}
self.popupConfirmTitle = "스피커로 초대"
self.popupConfirmTitle = I18n.CreateLive.inviteSpeakerAction
self.popupConfirmAction = {
self.isShowPopup = false
if self.liveRoomInfo!.speakerList.count <= 5 {
self.requestSpeakerAllow(publisher)
} else {
self.errorMessage = "스피커 정원이 초과되었습니다."
self.errorMessage = I18n.CreateLive.speakerCapacityExceeded
self.isShowErrorPopup = true
}
}
@@ -3043,12 +3040,12 @@ extension LiveRoomViewModel: AgoraRtmClientDelegate {
}
if rawMessageString == LiveRoomRequestType.INVITE_SPEAKER.rawValue && self.role == .LISTENER {
self.popupContent = "스피커로 초대되었어요"
self.popupCancelTitle = "다음에요"
self.popupContent = I18n.CreateLive.inviteSpeakerAction
self.popupCancelTitle = I18n.LiveRoom.maybeLaterAction
self.popupCancelAction = {
self.isShowPopup = false
}
self.popupConfirmTitle = "스피커로 참여하기"
self.popupConfirmTitle = I18n.LiveRoom.joinAsSpeakerAction
self.popupConfirmAction = {
self.isShowPopup = false
self.setSpeaker()
@@ -3064,9 +3061,9 @@ extension LiveRoomViewModel: AgoraRtmClientDelegate {
if rawMessageString == LiveRoomRequestType.KICK_OUT.rawValue {
if let roomInfo = self.liveRoomInfo {
self.popupContent = "\(self.getUserNicknameAndProfileUrl(accountId: roomInfo.creatorId).nickname)님이 라이브에서 내보냈습니다."
self.popupContent = I18n.LiveRoom.kickedOutByCreatorMessage(self.getUserNicknameAndProfileUrl(accountId: roomInfo.creatorId).nickname)
} else {
self.popupContent = "방장님이 라이브에서 내보냈습니다."
self.popupContent = I18n.LiveRoom.kickedOutByHostMessage
}
self.isShowPopup = true
@@ -3085,18 +3082,18 @@ extension LiveRoomViewModel: AgoraRtmClientDelegate {
}
if let roomInfo = self.liveRoomInfo {
self.popupContent = "\(self.getUserNicknameAndProfileUrl(accountId: roomInfo.creatorId).nickname)님이 스탭으로 지정했습니다."
self.popupContent = I18n.LiveRoom.assignedStaffByCreatorMessage(self.getUserNicknameAndProfileUrl(accountId: roomInfo.creatorId).nickname)
} else {
self.popupContent = "방장님이 스탭으로 지정했습니다"
self.popupContent = I18n.LiveRoom.assignedStaffByHostMessage
}
self.isShowPopup = true
}
if rawMessageString == LiveRoomRequestType.RELEASE_MANAGER.rawValue {
if let roomInfo = self.liveRoomInfo {
self.popupContent = "\(self.getUserNicknameAndProfileUrl(accountId: roomInfo.creatorId).nickname)님이 스탭에서 해제했습니다."
self.popupContent = I18n.LiveRoom.releasedStaffByCreatorMessage(self.getUserNicknameAndProfileUrl(accountId: roomInfo.creatorId).nickname)
} else {
self.popupContent = "방장님이 스탭에서 해제했습니다."
self.popupContent = I18n.LiveRoom.releasedStaffByHostMessage
}
self.isShowPopup = true
}