From 99bc5f14f79a65e948dd80df39b944dd22bccee7 Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 2 Dec 2025 21:08:32 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20=ED=99=94=EB=A9=B4=20=EB=AC=B8=EC=9E=90=EC=97=B4=20?= =?UTF-8?q?=EB=A6=AC=EC=86=8C=EC=8A=A4=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 라이브 생성 입력/검증/라벨 문자열을 ko/en/ja 리소스로 분리 토스트, 로딩, 태그 제한 문구를 리소스 기반으로 통일 --- .../room/create/LiveRoomCreateActivity.kt | 38 ++++- .../room/create/LiveRoomCreateViewModel.kt | 57 ++++--- .../res/layout/activity_live_room_create.xml | 144 +++++++++--------- app/src/main/res/values-en/strings.xml | 46 ++++++ app/src/main/res/values-ja/strings.xml | 46 ++++++ app/src/main/res/values/strings.xml | 46 ++++++ 6 files changed, 276 insertions(+), 101 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateActivity.kt index 82860ad5..2a0d8b26 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateActivity.kt @@ -99,7 +99,7 @@ class LiveRoomCreateActivity : BaseActivity( else -> { Toast.makeText( this, - "최대 3개까지 선택 가능합니다.", + getString(R.string.msg_live_room_create_tag_limit), Toast.LENGTH_SHORT ).show() return@LiveTagFragment false @@ -156,7 +156,12 @@ class LiveRoomCreateActivity : BaseActivity( viewModel.coverImagePath = null }, onError = { e -> - Toast.makeText(this, "${e.message}", Toast.LENGTH_SHORT).show() + val errorMessage = e.message ?: getString(R.string.common_error_unknown) + Toast.makeText( + this, + getString(R.string.msg_live_room_create_cover_pick_error, errorMessage), + Toast.LENGTH_SHORT + ).show() } ) @@ -177,6 +182,15 @@ class LiveRoomCreateActivity : BaseActivity( binding.llTimeNow.setOnClickListener { viewModel.setTimeNow(true) } binding.llTimeReservation.setOnClickListener { viewModel.setTimeNow(false) } + binding.tvNumberOfCharacters.text = + getString(R.string.screen_live_room_create_notice_char_count_placeholder) + viewModel.setReservationDate( + getString(R.string.screen_live_room_create_reservation_date_placeholder) + ) + viewModel.setReservationTime( + getString(R.string.screen_live_room_create_reservation_time_placeholder) + ) + binding.tvReservationDate.setOnClickListener { val reservationDate = viewModel.beginDate.split("-") val datePicker: DatePickerDialog @@ -367,7 +381,10 @@ class LiveRoomCreateActivity : BaseActivity( .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { - binding.tvNumberOfCharacters.text = "${it.length}자" + binding.tvNumberOfCharacters.text = getString( + R.string.screen_live_room_create_notice_char_count_format, + it.length + ) viewModel.content = it.toString() } ) @@ -411,13 +428,22 @@ class LiveRoomCreateActivity : BaseActivity( } ) - viewModel.toastLiveData.observe(this) { - it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + viewModel.toastLiveData.observe(this) { uiText -> + uiText?.let { + Toast.makeText( + applicationContext, + it.asString(this), + Toast.LENGTH_LONG + ).show() + } } viewModel.isLoading.observe(this) { if (it) { - loadingDialog.show(screenWidth, "라이브를 생성하는 중입니다.") + loadingDialog.show( + screenWidth, + getString(R.string.dialog_live_room_create_loading) + ) } else { loadingDialog.dismiss() } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateViewModel.kt index c2970c71..959208cf 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/create/LiveRoomCreateViewModel.kt @@ -9,9 +9,13 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers import kr.co.vividnext.sodalive.base.BaseViewModel import kr.co.vividnext.sodalive.common.SharedPreferenceManager +import kr.co.vividnext.sodalive.common.UiText +import kr.co.vividnext.sodalive.common.UiText.DynamicString +import kr.co.vividnext.sodalive.common.UiText.StringResource import kr.co.vividnext.sodalive.live.LiveRepository import kr.co.vividnext.sodalive.live.room.LiveRoomType import kr.co.vividnext.sodalive.live.room.menu.GetMenuPresetResponse +import kr.co.vividnext.sodalive.R import okhttp3.MediaType.Companion.toMediaType import okhttp3.MultipartBody import okhttp3.RequestBody.Companion.asRequestBody @@ -35,11 +39,11 @@ class LiveRoomCreateViewModel( val timeNowLiveData: LiveData get() = _timeNowLiveData - private val _reservationDateLiveData = MutableLiveData("날짜를 선택해주세요") + private val _reservationDateLiveData = MutableLiveData("") val reservationDateLiveData: LiveData get() = _reservationDateLiveData - private val _reservationTimeLiveData = MutableLiveData("시간을 설정해주세요") + private val _reservationTimeLiveData = MutableLiveData("") val reservationTimeLiveData: LiveData get() = _reservationTimeLiveData @@ -47,8 +51,8 @@ class LiveRoomCreateViewModel( val selectedLiveData: LiveData> get() = _selectedLiveData - private val _toastLiveData = MutableLiveData() - val toastLiveData: LiveData + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData get() = _toastLiveData private var _isLoading = MutableLiveData(false) @@ -179,10 +183,10 @@ class LiveRoomCreateViewModel( onSuccess(it.data!!) } else { if (it.message != null) { - _toastLiveData.postValue(it.message) + _toastLiveData.postValue(DynamicString(it.message)) } else { _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + StringResource(R.string.common_error_unknown) ) } } @@ -191,7 +195,7 @@ class LiveRoomCreateViewModel( { _isLoading.postValue(false) it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue(StringResource(R.string.common_error_unknown)) } ) ) @@ -210,27 +214,29 @@ class LiveRoomCreateViewModel( private fun validateData(): Boolean { if (title.isBlank()) { - _toastLiveData.postValue("제목을 입력해주세요.") + _toastLiveData.postValue(StringResource(R.string.msg_live_room_create_title_required)) return false } if (content.isBlank() || content.length < 5) { - _toastLiveData.postValue("내용을 5자 이상 입력해주세요.") + _toastLiveData.postValue(StringResource(R.string.msg_live_room_create_notice_required)) return false } if (numberOfPeople < 3 || numberOfPeople > 999) { - _toastLiveData.postValue("인원을 3~999명 사이로 입력해주세요.") + _toastLiveData.postValue( + StringResource(R.string.msg_live_room_create_participants_invalid) + ) return false } if (coverImageFile == null && coverImagePath == null) { - _toastLiveData.postValue("커버이미지를 선택해주세요.") + _toastLiveData.postValue(StringResource(R.string.msg_live_room_create_cover_required)) return false } if (!_timeNowLiveData.value!! && (beginDate.isBlank() || beginTime.isBlank())) { - _toastLiveData.postValue("예약날짜와 시간을 선택해주세요.") + _toastLiveData.postValue(StringResource(R.string.msg_live_room_create_schedule_required)) return false } @@ -238,12 +244,12 @@ class LiveRoomCreateViewModel( _roomTypeLiveData.value!! == LiveRoomType.PRIVATE && (password == null || password!!.length != 6) ) { - _toastLiveData.postValue("방 입장 비밀번호 6자리를 입력해 주세요.") + _toastLiveData.postValue(StringResource(R.string.screen_live_room_create_password_hint)) return false } if (_isActivateMenuLiveData.value!! && menu.isBlank()) { - _toastLiveData.postValue("메뉴판은 빈칸일 수 없습니다.") + _toastLiveData.postValue(StringResource(R.string.msg_live_room_create_menu_required)) return false } @@ -275,13 +281,15 @@ class LiveRoomCreateViewModel( coverImagePath = it.data.coverImagePath onSuccess(it.data!!) - _toastLiveData.postValue("최근데이터를 불러왔습니다.") + _toastLiveData.postValue( + StringResource(R.string.msg_live_room_create_recent_loaded) + ) } else { if (it.message != null) { - _toastLiveData.postValue(it.message) + _toastLiveData.postValue(DynamicString(it.message)) } else { _toastLiveData.postValue( - "최근데이터를 불러오지 못했습니다.\n다시 시도해 주세요." + StringResource(R.string.msg_live_room_create_recent_load_failed) ) } } @@ -291,7 +299,9 @@ class LiveRoomCreateViewModel( { _isLoading.value = false it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("최근데이터를 불러오지 못했습니다.\n다시 시도해 주세요.") + _toastLiveData.postValue( + StringResource(R.string.msg_live_room_create_recent_load_failed) + ) } ) ) @@ -305,12 +315,13 @@ class LiveRoomCreateViewModel( selectedMenuPreset == SelectedMenu.MENU_3 ) ) { - _toastLiveData.value = "메뉴 1을 먼저 설정하세요" + _toastLiveData.value = StringResource(R.string.screen_live_room_menu_first_required) return } if (menuList.size == 1 && selectedMenuPreset == SelectedMenu.MENU_3) { - _toastLiveData.value = "메뉴 1과 메뉴 2를 먼저 설정하세요" + _toastLiveData.value = + StringResource(R.string.screen_live_room_menu_first_second_required) return } @@ -355,10 +366,10 @@ class LiveRoomCreateViewModel( selectMenuPreset(SelectedMenu.MENU_1) } else { if (it.message != null) { - _toastLiveData.postValue(it.message) + _toastLiveData.postValue(DynamicString(it.message)) } else { _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + StringResource(R.string.common_error_unknown) ) } } @@ -367,7 +378,7 @@ class LiveRoomCreateViewModel( { _isLoading.value = false it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue(StringResource(R.string.common_error_unknown)) } ) ) diff --git a/app/src/main/res/layout/activity_live_room_create.xml b/app/src/main/res/layout/activity_live_room_create.xml index 0e1dd7a6..b04c4bd5 100644 --- a/app/src/main/res/layout/activity_live_room_create.xml +++ b/app/src/main/res/layout/activity_live_room_create.xml @@ -23,7 +23,7 @@ android:layout_centerVertical="true" android:drawablePadding="6.7dp" android:fontFamily="@font/gmarket_sans_bold" - android:text="라이브 만들기" + android:text="@string/screen_live_room_create_title" android:textColor="@color/color_eeeeee" android:textSize="18.3sp" app:drawableStartCompat="@drawable/ic_back" /> @@ -37,7 +37,7 @@ android:background="@drawable/bg_round_corner_8_transparent_3bb9f1" android:paddingHorizontal="10.7dp" android:paddingVertical="8dp" - android:text="최근 데이터 가져오기" + android:text="@string/screen_live_room_create_get_recent_info" android:textColor="@color/color_3bb9f1" android:textSize="12sp" /> @@ -62,7 +62,7 @@ android:layout_marginHorizontal="13.3dp" android:layout_marginTop="13.3dp" android:fontFamily="@font/gmarket_sans_bold" - android:text="배경" + android:text="@string/screen_live_room_create_background_label" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -106,7 +106,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="제목" + android:text="@string/screen_live_room_title_label" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -117,7 +117,7 @@ android:layout_marginTop="13.3dp" android:background="@drawable/edittext_underline" android:fontFamily="@font/gmarket_sans_medium" - android:hint="라이브 제목을 입력해주세요." + android:hint="@string/screen_live_room_title_hint" android:importantForAutofill="no" android:inputType="textWebEditText" android:paddingHorizontal="6.7dp" @@ -147,7 +147,7 @@ android:layout_centerVertical="true" android:fontFamily="@font/gmarket_sans_bold" android:lineSpacingExtra="5sp" - android:text="공지" + android:text="@string/screen_live_room_notice" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -161,7 +161,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_medium" - android:text="0자" + android:text="@string/screen_live_room_create_notice_char_count_placeholder" android:textColor="@color/color_ff5c49" android:textSize="13.3sp" /> @@ -169,7 +169,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_medium" - android:text=" / 최대 1000자" + android:text="@string/screen_live_room_create_notice_char_limit" android:textColor="@color/color_777777" android:textSize="13.3sp" /> @@ -183,7 +183,7 @@ android:background="@drawable/bg_round_corner_6_7_222222" android:fontFamily="@font/gmarket_sans_medium" android:gravity="top" - android:hint="라이브 공지를 입력해 주세요" + android:hint="@string/screen_live_room_notice_hint" android:importantForAutofill="no" android:inputType="textMultiLine" android:overScrollMode="always" @@ -208,7 +208,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴" + android:text="@string/screen_live_room_menu_label_title" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -223,7 +223,7 @@ android:layout_centerVertical="true" android:fontFamily="@font/gmarket_sans_medium" android:lineSpacingExtra="5sp" - android:text="메뉴를 활성화 하시겠습니까?" + android:text="@string/screen_live_room_menu_activate_question" android:textColor="@color/color_eeeeee" android:textSize="13.3sp" /> @@ -273,7 +273,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴 1" + android:text="@string/screen_live_room_menu_preset_1" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -302,7 +302,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴 2" + android:text="@string/screen_live_room_menu_preset_2" android:textColor="@color/color_555555" android:textSize="14.7sp" /> @@ -331,7 +331,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴 3" + android:text="@string/screen_live_room_menu_preset_3" android:textColor="@color/color_555555" android:textSize="14.7sp" /> @@ -345,7 +345,7 @@ android:background="@drawable/bg_round_corner_6_7_222222" android:fontFamily="@font/gmarket_sans_medium" android:gravity="top" - android:hint="메뉴판을 작성해주세요." + android:hint="@string/screen_live_room_menu_hint" android:importantForAutofill="no" android:inputType="textMultiLine" android:overScrollMode="always" @@ -371,7 +371,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="관심사" + android:text="@string/screen_profile_update_interest_title" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -384,7 +384,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="13.7dp" - android:text="관심사 선택" + android:text="@string/screen_profile_update_interest_select" android:textColor="@color/color_3bb9f1" android:textSize="16.7sp" /> @@ -404,7 +404,7 @@ android:layout_marginTop="33.3dp" android:fontFamily="@font/gmarket_sans_bold" android:lineSpacingExtra="5sp" - android:text="시간 설정" + android:text="@string/screen_live_room_create_time_label" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -439,7 +439,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="지금 즉시" + android:text="@string/screen_live_room_create_time_now" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -468,7 +468,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="예약 설정" + android:text="@string/screen_live_room_create_time_reservation" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -495,7 +495,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_medium" - android:text="예약 날짜" + android:text="@string/screen_live_room_create_reservation_date_label" android:textColor="@color/color_eeeeee" android:textSize="13.3sp" /> @@ -525,7 +525,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_medium" - android:text="예약 시간" + android:text="@string/screen_live_room_create_reservation_time_label" android:textColor="@color/color_eeeeee" android:textSize="13.3sp" /> @@ -551,7 +551,7 @@ android:layout_marginTop="33.3dp" android:fontFamily="@font/gmarket_sans_bold" android:lineSpacingExtra="5sp" - android:text="참여인원 설정" + android:text="@string/screen_live_room_create_capacity_label" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -564,7 +564,7 @@ android:background="@drawable/bg_round_corner_6_7_222222" android:fontFamily="@font/gmarket_sans_medium" android:gravity="center" - android:hint="최대 인원 999명" + android:hint="@string/screen_live_room_create_capacity_hint" android:importantForAutofill="no" android:inputType="number" android:maxLength="3" @@ -581,7 +581,7 @@ android:layout_marginTop="33.3dp" android:fontFamily="@font/gmarket_sans_bold" android:lineSpacingExtra="5sp" - android:text="공개 설정" + android:text="@string/screen_live_room_create_visibility_label" android:textColor="@color/color_eeeeee" android:textSize="16.7sp" /> @@ -615,7 +615,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="공개" + android:text="@string/screen_live_room_create_open_label" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -644,7 +644,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="비공개" + android:text="@string/screen_live_room_create_private_label" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -660,13 +660,13 @@ + android:layout_marginHorizontal="13.3dp" + android:layout_marginTop="33.3dp" + android:fontFamily="@font/gmarket_sans_bold" + android:lineSpacingExtra="5sp" + android:text="@string/screen_live_room_create_password_label" + android:textColor="@color/color_eeeeee" + android:textSize="16.7sp" /> @@ -729,7 +729,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="가능" + android:text="@string/screen_live_room_create_creator_join_available" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -758,7 +758,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="불가능" + android:text="@string/screen_live_room_create_creator_join_unavailable" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -774,13 +774,13 @@ + android:layout_marginHorizontal="13.3dp" + android:layout_marginTop="33.3dp" + android:fontFamily="@font/gmarket_sans_bold" + android:lineSpacingExtra="5sp" + android:text="@string/screen_live_room_create_age_label" + android:textColor="@color/color_eeeeee" + android:textSize="16.7sp" /> + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:fontFamily="@font/gmarket_sans_bold" + android:text="@string/screen_live_room_create_age_all" + android:textColor="@color/color_3bb9f1" + android:textSize="14.7sp" /> + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:fontFamily="@font/gmarket_sans_bold" + android:text="@string/screen_live_room_age_limit_adult" + android:textColor="@color/color_3bb9f1" + android:textSize="14.7sp" /> @@ -859,13 +859,13 @@ + android:layout_marginHorizontal="13.3dp" + android:layout_marginTop="33.3dp" + android:fontFamily="@font/gmarket_sans_bold" + android:lineSpacingExtra="5sp" + android:text="@string/screen_live_room_create_price_label" + android:textColor="@color/color_eeeeee" + android:textSize="16.7sp" /> @@ -897,7 +897,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="16.7dp" - android:text="100 캔" + android:text="@string/screen_live_room_create_price_100" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -910,7 +910,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="16.7dp" - android:text="300 캔" + android:text="@string/screen_live_room_create_price_300" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -931,7 +931,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="16.7dp" - android:text="500 캔" + android:text="@string/screen_live_room_create_price_500" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -945,7 +945,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="16.7dp" - android:text="1000 캔" + android:text="@string/screen_live_room_create_price_1000" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -958,7 +958,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="16.7dp" - android:text="2000 캔" + android:text="@string/screen_live_room_create_price_2000" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -998,7 +998,7 @@ android:layout_centerVertical="true" android:layout_marginEnd="13.3dp" android:fontFamily="@font/gmarket_sans_medium" - android:text="캔" + android:text="@string/screen_live_room_create_price_unit" android:textColor="@color/color_3bb9f1" android:textSize="13.3sp" /> @@ -1018,7 +1018,7 @@ android:background="@drawable/bg_round_corner_10_3bb9f1" android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" - android:text="라이브 오픈하기" + android:text="@string/screen_live_room_create_submit" android:textColor="@color/white" android:textSize="18.3sp" /> diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 5b9df1d0..4f13cbbe 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -483,6 +483,52 @@ Set menu 1 first. Set menu 1 and menu 2 first. Please enter a cancellation reason. + + Create live + Load recent data + Background + 0 chars + %1$d chars + / Up to 1000 chars + Time settings + Start now + Schedule + Date + Time + Select a date + Set a time + Participants + Up to 999 people + Visibility + Public + Private + Enter room password + Enter the 6-digit room password. + Creator entry + Allowed + Not allowed + Age limit + All ages + Ticket price + Free + 100 cans + 300 cans + 500 cans + 1000 cans + 2000 cans + cans + Open live + Creating live... + You can select up to 3. + Failed to load image: %1$s + Enter a title. + Enter at least 5 characters. + Enter between 3 and 999 participants. + Select a cover image. + Select the reservation date and time. + Menu cannot be empty. + Recent data loaded. + Failed to load recent data.\nPlease try again. Details Login Edit profile diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index d8454f6b..5d0a65cc 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -483,6 +483,52 @@ メニュー1を先に設定してください メニュー1とメニュー2を先に設定してください キャンセル理由を入力してください。 + + ライブを作成 + 最近のデータを読み込む + 背景 + 0文字 + %1$d文字 + / 最大1000文字 + 時間設定 + すぐ開始 + 予約設定 + 予約日 + 予約時間 + 日付を選択してください + 時間を設定してください + 参加人数設定 + 最大人数 999人 + 公開設定 + 公開 + 非公開 + 入室パスワード入力 + 入室パスワード6桁を入力してください。 + クリエイター入室設定 + 可能 + 不可 + 年齢制限 + 全年齢 + チケット価格 + 無料 + 100缶 + 300缶 + 500缶 + 1000缶 + 2000缶 + + ライブをオープン + ライブを作成しています。 + 最大3個まで選択できます。 + 画像を読み込めませんでした: %1$s + タイトルを入力してください。 + 内容を5文字以上入力してください。 + 人数を3〜999人の間で入力してください。 + カバー画像を選択してください。 + 予約日時を選択してください。 + メニューは空欄にできません。 + 最近のデータを読み込みました。 + 最近のデータを読み込めませんでした。\nもう一度お試しください。 詳細 ログイン プロフィール編集 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 330d21ae..2f0befd5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -482,6 +482,52 @@ 메뉴 1을 먼저 설정하세요 메뉴 1과 메뉴 2를 먼저 설정하세요 취소사유를 입력하세요. + + 라이브 만들기 + 최근 데이터 가져오기 + 배경 + 0자 + %1$d자 + / 최대 1000자 + 시간 설정 + 지금 즉시 + 예약 설정 + 예약 날짜 + 예약 시간 + 날짜를 선택해주세요 + 시간을 설정해주세요 + 참여인원 설정 + 최대 인원 999명 + 공개 설정 + 공개 + 비공개 + 방 비밀번호 입력 + 방 입장 비밀번호 6자리를 입력해 주세요. + 크리에이터 입장 설정 + 가능 + 불가능 + 연령 제한 + 전체 연령 + 티켓 가격 + 무료 + 100 캔 + 300 캔 + 500 캔 + 1000 캔 + 2000 캔 + + 라이브 오픈하기 + 라이브를 생성하는 중입니다. + 최대 3개까지 선택 가능합니다. + 이미지를 불러오지 못했습니다: %1$s + 제목을 입력해주세요. + 내용을 5자 이상 입력해주세요. + 인원을 3~999명 사이로 입력해주세요. + 커버이미지를 선택해주세요. + 예약날짜와 시간을 선택해주세요. + 메뉴판은 빈칸일 수 없습니다. + 최근데이터를 불러왔습니다. + 최근데이터를 불러오지 못했습니다.\n다시 시도해 주세요. 자세히 LOGIN 프로필 수정