fix(ui): 홈/메인 문자열 리소스화 및 영·일 번역 추가
This commit is contained in:
@@ -8,7 +8,6 @@ import android.widget.Toast
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import kr.co.vividnext.sodalive.audio_content.series.SeriesListAdapter
|
||||
import kr.co.vividnext.sodalive.audio_content.series.detail.SeriesDetailActivity
|
||||
import kr.co.vividnext.sodalive.base.BaseFragment
|
||||
import kr.co.vividnext.sodalive.common.Constants
|
||||
@@ -61,7 +60,7 @@ class SeriesMainDayOfWeekFragment : BaseFragment<FragmentSeriesMainDayOfWeekBind
|
||||
}
|
||||
|
||||
private fun setupDayOfWeekDay() {
|
||||
val dayOfWeekAdapter = DayOfWeekAdapter(screenWidth = screenWidth) {
|
||||
val dayOfWeekAdapter = DayOfWeekAdapter(requireContext()) {
|
||||
adapter.clear()
|
||||
viewModel.dayOfWeek = it
|
||||
}
|
||||
@@ -73,7 +72,7 @@ class SeriesMainDayOfWeekFragment : BaseFragment<FragmentSeriesMainDayOfWeekBind
|
||||
false
|
||||
) {
|
||||
override fun canScrollVertically() = false
|
||||
override fun canScrollHorizontally() = false
|
||||
override fun canScrollHorizontally() = true
|
||||
}
|
||||
rvDayOfWeek.layoutManager = layoutManager
|
||||
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package kr.co.vividnext.sodalive.home
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.databinding.ItemDayOfWeekBinding
|
||||
import java.util.Calendar
|
||||
|
||||
class DayOfWeekAdapter(
|
||||
private val screenWidth: Int,
|
||||
private val context: Context,
|
||||
private val onClickItem: (SeriesPublishedDaysOfWeek) -> Unit,
|
||||
) : RecyclerView.Adapter<DayOfWeekAdapter.ViewHolder>() {
|
||||
|
||||
@@ -20,17 +22,6 @@ class DayOfWeekAdapter(
|
||||
binding.tvDayOfWeek.text = dayOfWeek.dayOfWeekStr
|
||||
binding.tvDayOfWeek.isSelected = dayOfWeek.dayOfWeek == selectedDayOfWeek
|
||||
|
||||
val lp = binding.tvDayOfWeek.layoutParams
|
||||
lp.height = screenWidth * 38 / 400
|
||||
|
||||
if (dayOfWeek.dayOfWeek == SeriesPublishedDaysOfWeek.RANDOM) {
|
||||
lp.width = screenWidth * 54 / 400
|
||||
} else {
|
||||
lp.width = screenWidth * 38 / 400
|
||||
}
|
||||
|
||||
binding.tvDayOfWeek.layoutParams = lp
|
||||
|
||||
binding.root.setOnClickListener {
|
||||
onClickItem(dayOfWeek.dayOfWeek)
|
||||
selectedDayOfWeek = dayOfWeek.dayOfWeek
|
||||
@@ -42,14 +33,14 @@ class DayOfWeekAdapter(
|
||||
private var selectedDayOfWeek = SeriesPublishedDaysOfWeek.RANDOM
|
||||
|
||||
private val dayOfWeekItems = listOf(
|
||||
DayOfWeek(dayOfWeekStr = "월", dayOfWeek = SeriesPublishedDaysOfWeek.MON),
|
||||
DayOfWeek(dayOfWeekStr = "화", dayOfWeek = SeriesPublishedDaysOfWeek.TUE),
|
||||
DayOfWeek(dayOfWeekStr = "수", dayOfWeek = SeriesPublishedDaysOfWeek.WED),
|
||||
DayOfWeek(dayOfWeekStr = "목", dayOfWeek = SeriesPublishedDaysOfWeek.THU),
|
||||
DayOfWeek(dayOfWeekStr = "금", dayOfWeek = SeriesPublishedDaysOfWeek.FRI),
|
||||
DayOfWeek(dayOfWeekStr = "토", dayOfWeek = SeriesPublishedDaysOfWeek.SAT),
|
||||
DayOfWeek(dayOfWeekStr = "일", dayOfWeek = SeriesPublishedDaysOfWeek.SUN),
|
||||
DayOfWeek(dayOfWeekStr = "랜덤", dayOfWeek = SeriesPublishedDaysOfWeek.RANDOM),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_mon_short), dayOfWeek = SeriesPublishedDaysOfWeek.MON),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_tue_short), dayOfWeek = SeriesPublishedDaysOfWeek.TUE),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_wed_short), dayOfWeek = SeriesPublishedDaysOfWeek.WED),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_thu_short), dayOfWeek = SeriesPublishedDaysOfWeek.THU),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_fri_short), dayOfWeek = SeriesPublishedDaysOfWeek.FRI),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_sat_short), dayOfWeek = SeriesPublishedDaysOfWeek.SAT),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_sun_short), dayOfWeek = SeriesPublishedDaysOfWeek.SUN),
|
||||
DayOfWeek(dayOfWeekStr = context.getString(R.string.day_random), dayOfWeek = SeriesPublishedDaysOfWeek.RANDOM),
|
||||
)
|
||||
|
||||
// 요일 숫자에 맞춰 배열
|
||||
|
||||
@@ -6,9 +6,6 @@ import android.graphics.Rect
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.text.SpannableString
|
||||
import android.text.Spanned
|
||||
import android.text.style.ForegroundColorSpan
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
@@ -199,20 +196,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupLiveView() {
|
||||
val spSectionTitle = SpannableString(binding.tvLiveTitle.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvLiveTitle.text = spSectionTitle
|
||||
|
||||
liveAdapter = HomeLiveAdapter {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
val detailFragment = LiveRoomDetailFragment(
|
||||
@@ -282,20 +265,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
fun setupSectionCreator() {
|
||||
val spSectionTitle = SpannableString(binding.tvFamousCreatorTitle.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvFamousCreatorTitle.text = spSectionTitle
|
||||
|
||||
creatorRankingAdapter = CreatorRankingAdapter(
|
||||
onClickItem = {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
@@ -372,20 +341,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupLatestContent() {
|
||||
val spSectionTitle = SpannableString(binding.tvNewContent.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvNewContent.text = spSectionTitle
|
||||
|
||||
latestContentThemeAdapter = HomeContentThemeAdapter {
|
||||
viewModel.getLatestContentByTheme(theme = it)
|
||||
}
|
||||
@@ -583,20 +538,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupOriginalSeries() {
|
||||
val spSectionTitle = SpannableString(binding.tvSeriesOriginal.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvSeriesOriginal.text = spSectionTitle
|
||||
|
||||
originalSeriesAdapter = HomeSeriesAdapter {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
startActivity(
|
||||
@@ -698,20 +639,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupSeriesDayOfWeek() {
|
||||
val spSectionTitle = SpannableString(binding.tvSeriesDayOfWeek.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
3,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvSeriesDayOfWeek.text = spSectionTitle
|
||||
|
||||
seriesDayOfWeekAdapter = HomeSeriesAdapter {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
startActivity(
|
||||
@@ -767,7 +694,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
}
|
||||
|
||||
val dayOfWeekAdapter = DayOfWeekAdapter(screenWidth = screenWidth) {
|
||||
val dayOfWeekAdapter = DayOfWeekAdapter(requireContext()) {
|
||||
viewModel.getDayOfWeekSeriesList(it)
|
||||
}
|
||||
|
||||
@@ -778,7 +705,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
false
|
||||
) {
|
||||
override fun canScrollVertically() = false
|
||||
override fun canScrollHorizontally() = false
|
||||
override fun canScrollHorizontally() = true
|
||||
}
|
||||
rvDayOfWeek.layoutManager = layoutManager
|
||||
|
||||
@@ -889,20 +816,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupWeelyChart() {
|
||||
val spSectionTitle = SpannableString(binding.tvWeeklyChart.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvWeeklyChart.text = spSectionTitle
|
||||
|
||||
// 정렬 선택 RecyclerView 설정
|
||||
val sortAdapter = ContentRankingSortAdapter {
|
||||
viewModel.getContentRanking(it)
|
||||
@@ -1009,20 +922,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupRecommendChannel() {
|
||||
val spSectionTitle = SpannableString(binding.tvRecommendChannel.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvRecommendChannel.text = spSectionTitle
|
||||
|
||||
recommendChannelAdapter = HomeRecommendChannelAdapter(
|
||||
onClickCreatorProfile = {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
@@ -1093,20 +992,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupFreeContent() {
|
||||
val spSectionTitle = SpannableString(binding.tvFreeContent.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
2,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvFreeContent.text = spSectionTitle
|
||||
|
||||
homeFreeContentAdapter = HomeContentAdapter {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
startActivity(
|
||||
@@ -1168,20 +1053,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
}
|
||||
|
||||
private fun setupPointContent() {
|
||||
val spSectionTitle = SpannableString(binding.tvPointContent.text)
|
||||
spSectionTitle.setSpan(
|
||||
ForegroundColorSpan(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
),
|
||||
0,
|
||||
3,
|
||||
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvPointContent.text = spSectionTitle
|
||||
|
||||
homePointContentAdapter = HomeContentAdapter {
|
||||
if (SharedPreferenceManager.token.isNotBlank()) {
|
||||
startActivity(
|
||||
@@ -1400,7 +1271,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
LivePaymentDialog(
|
||||
activity = requireActivity(),
|
||||
layoutInflater = layoutInflater,
|
||||
title = "유료 라이브 입장",
|
||||
title = getString(R.string.live_paid_title),
|
||||
startDateTime = if (hours >= 1) {
|
||||
dateFormat.format(beginDate)
|
||||
} else {
|
||||
@@ -1411,19 +1282,19 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
} else {
|
||||
null
|
||||
},
|
||||
desc = "${it.price}캔을 차감하고\n라이브에 입장 하시겠습니까?",
|
||||
desc = getString(R.string.live_paid_desc, it.price),
|
||||
desc2 = if (hours >= 1) {
|
||||
"라이브를 시작한 지 ${hours}시간 ${mins}분이 지났습니다. 라이브에 입장 후 30분 이내에 라이브가 종료될 수도 있습니다."
|
||||
getString(R.string.live_paid_warning, hours, mins)
|
||||
} else {
|
||||
null
|
||||
},
|
||||
confirmButtonTitle = "결제 후 입장",
|
||||
confirmButtonTitle = getString(R.string.live_paid_confirm),
|
||||
confirmButtonClick = {
|
||||
handler.postDelayed({
|
||||
liveViewModel.enterRoom(roomId, onEnterRoomSuccess)
|
||||
}, 300)
|
||||
},
|
||||
cancelButtonTitle = "취소",
|
||||
cancelButtonTitle = getString(R.string.cancel),
|
||||
cancelButtonClick = {}
|
||||
).show(screenWidth)
|
||||
}
|
||||
@@ -1442,12 +1313,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
||||
SodaDialog(
|
||||
activity = requireActivity(),
|
||||
layoutInflater = layoutInflater,
|
||||
title = "본인인증",
|
||||
desc = "보이스온의 오픈월드 캐릭터톡은\n청소년 보호를 위해 본인인증한\n성인만 이용이 가능합니다.\n" +
|
||||
"캐릭터톡 서비스를 이용하시려면\n본인인증을 하고 이용해주세요.",
|
||||
confirmButtonTitle = "본인인증 하러가기",
|
||||
title = getString(R.string.auth_title),
|
||||
desc = getString(R.string.auth_desc),
|
||||
confirmButtonTitle = getString(R.string.auth_go),
|
||||
confirmButtonClick = { startAuthFlow() },
|
||||
cancelButtonTitle = "취소",
|
||||
cancelButtonTitle = getString(R.string.cancel),
|
||||
cancelButtonClick = {},
|
||||
descGravity = Gravity.CENTER
|
||||
).show(screenWidth)
|
||||
|
||||
@@ -377,7 +377,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
|
||||
private fun setupBottomTabLayout() {
|
||||
setupTab(
|
||||
binding = binding.tabHome,
|
||||
title = "홈",
|
||||
title = getString(R.string.tab_home),
|
||||
imageSrc = R.drawable.ic_tabbar_home,
|
||||
colorStateList = ContextCompat.getColorStateList(
|
||||
applicationContext,
|
||||
@@ -388,7 +388,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
|
||||
|
||||
setupTab(
|
||||
binding = binding.tabChat,
|
||||
title = "채팅",
|
||||
title = getString(R.string.tab_chat),
|
||||
imageSrc = R.drawable.ic_tabbar_chat,
|
||||
colorStateList = ContextCompat.getColorStateList(
|
||||
applicationContext,
|
||||
@@ -399,7 +399,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
|
||||
|
||||
setupTab(
|
||||
binding = binding.tabLive,
|
||||
title = "라이브",
|
||||
title = getString(R.string.tab_live),
|
||||
imageSrc = R.drawable.ic_tabbar_live,
|
||||
colorStateList = ContextCompat.getColorStateList(
|
||||
applicationContext,
|
||||
@@ -410,7 +410,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
|
||||
|
||||
setupTab(
|
||||
binding = binding.tabMy,
|
||||
title = "마이",
|
||||
title = getString(R.string.tab_my),
|
||||
imageSrc = R.drawable.ic_tabbar_my,
|
||||
colorStateList = ContextCompat.getColorStateList(
|
||||
applicationContext,
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="지금 라이브 중"
|
||||
android:text="@string/live_now"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="인기 크리에이터"
|
||||
android:text="@string/famous_creator"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="최신 콘텐츠"
|
||||
android:text="@string/latest_content"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="전체보기"
|
||||
android:text="@string/view_all"
|
||||
android:textColor="@color/color_607d8b" />
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="오직 보이스온에서만"
|
||||
android:text="@string/voiceon_original_only"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="전체보기"
|
||||
android:text="@string/view_all"
|
||||
android:textColor="#90A4AE"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
@@ -266,7 +266,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="요일별 시리즈"
|
||||
android:text="@string/series_by_weekday"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="전체보기"
|
||||
android:text="@string/view_all"
|
||||
android:textColor="#90A4AE"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
@@ -319,7 +319,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="인기 캐릭터 채팅"
|
||||
android:text="@string/popular_character_chat"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -328,7 +328,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="전체보기"
|
||||
android:text="@string/view_all"
|
||||
android:textColor="#90A4AE"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
@@ -356,7 +356,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="보온 주간 차트"
|
||||
android:text="@string/weekly_chart"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -393,7 +393,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="추천 채널"
|
||||
android:text="@string/recommend_channel"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -427,7 +427,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="무료 콘텐츠"
|
||||
android:text="@string/free_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -436,7 +436,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="전체보기"
|
||||
android:text="@string/view_all"
|
||||
android:textColor="#90A4AE"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
@@ -472,7 +472,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="포인트 대여 콘텐츠"
|
||||
android:text="@string/point_rental_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -481,7 +481,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="전체보기"
|
||||
android:text="@string/view_all"
|
||||
android:textColor="#90A4AE"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
@@ -517,7 +517,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="추천 콘텐츠"
|
||||
android:text="@string/recommend_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp" />
|
||||
|
||||
@@ -543,14 +543,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="
|
||||
- 회사명 : 주식회사 소다라이브\n\n
|
||||
- 대표자 : 이재형\n\n
|
||||
- 주소 : 경기도 성남시 분당구 황새울로335번길 10, 5층 563A호\n\n
|
||||
- 사업자등록번호 : 870-81-03220\n\n
|
||||
- 통신판매업신고 : 제2024-성남분당B-1012호\n\n
|
||||
- 고객센터 : 02.2055.1477(이용시간 10:00~19:00)\n\n
|
||||
- 대표 이메일 : sodalive.official@gmail.com"
|
||||
android:text="@string/company_info"
|
||||
android:textColor="@color/color_777777"
|
||||
android:textSize="11sp"
|
||||
app:animDuration="500"
|
||||
@@ -558,8 +551,8 @@
|
||||
app:ellipsizeTextColor="@color/color_777777"
|
||||
app:expandType="layout"
|
||||
app:isExpanded="false"
|
||||
app:readLessText="간략히"
|
||||
app:readMoreText="더보기"
|
||||
app:readLessText="@string/read_less"
|
||||
app:readMoreText="@string/read_more"
|
||||
app:textMode="line" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
@@ -588,7 +581,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="콘텐츠 업로드"
|
||||
android:text="@string/action_upload_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13.3sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
android:background="@drawable/bg_selectable_day_of_week"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:gravity="center"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="6dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18sp"
|
||||
tools:text="월" />
|
||||
|
||||
@@ -57,4 +57,41 @@
|
||||
<string name="login_google_failed">Could not sign in with Google. Please try again.</string>
|
||||
<string name="login_failed">Could not sign in. Please try again.</string>
|
||||
<string name="login_kakao_failed">Could not sign in with Kakao. Please try again.</string>
|
||||
|
||||
<!-- Main / Home -->
|
||||
<string name="tab_home">Home</string>
|
||||
<string name="tab_chat">Chat</string>
|
||||
<string name="tab_live">Live</string>
|
||||
<string name="tab_my">My</string>
|
||||
<string name="live_now">Live now</string>
|
||||
<string name="famous_creator">Popular creators</string>
|
||||
<string name="latest_content">Latest content</string>
|
||||
<string name="view_all">View all</string>
|
||||
<string name="voiceon_original_only">Only on VoiceOn</string>
|
||||
<string name="series_by_weekday">Series by weekday</string>
|
||||
<string name="popular_character_chat">Popular character chat</string>
|
||||
<string name="weekly_chart">Bo-on weekly chart</string>
|
||||
<string name="recommend_channel">Recommended channels</string>
|
||||
<string name="free_content">Free content</string>
|
||||
<string name="point_rental_content">Point rental content</string>
|
||||
<string name="recommend_content">Recommended content</string>
|
||||
<string name="read_more">Read more</string>
|
||||
<string name="read_less">Read less</string>
|
||||
<string name="action_upload_content">Upload content</string>
|
||||
<string name="company_info">- Company: SodaLive Inc.\n\n- CEO: Jaehyung Lee\n\n- Address: 5F #563A, 10, Hwangsaeul-ro 335beon-gil, Bundang-gu, Seongnam-si, Gyeonggi-do\n\n- Business Registration No.: 870-81-03220\n\n- Mail-Order Sales Report: No. 2024-SeongnamBundangB-1012\n\n- Customer Center: 02-2055-1477 (10:00~19:00)\n\n- Contact Email: sodalive.official@gmail.com</string>
|
||||
<string name="live_paid_title">Paid live entry</string>
|
||||
<string name="live_paid_desc">Spend %1$d cans and\nenter the live?</string>
|
||||
<string name="live_paid_warning">The live started %1$d hour(s) %2$d minute(s) ago. It may end within 30 minutes after you enter.</string>
|
||||
<string name="live_paid_confirm">Enter after payment</string>
|
||||
<string name="auth_title">Identity verification</string>
|
||||
<string name="auth_desc">VoiceOn open-world character chat is available only to verified adults to protect youth.\nPlease verify your identity to use the service.</string>
|
||||
<string name="auth_go">Verify now</string>
|
||||
<string name="day_mon_short">Mon</string>
|
||||
<string name="day_tue_short">Tue</string>
|
||||
<string name="day_wed_short">Wed</string>
|
||||
<string name="day_thu_short">Thu</string>
|
||||
<string name="day_fri_short">Fri</string>
|
||||
<string name="day_sat_short">Sat</string>
|
||||
<string name="day_sun_short">Sun</string>
|
||||
<string name="day_random">Random</string>
|
||||
</resources>
|
||||
|
||||
@@ -57,4 +57,41 @@
|
||||
<string name="login_google_failed">Googleでログインできませんでした。もう一度お試しください。</string>
|
||||
<string name="login_failed">ログインできませんでした。もう一度お試しください。</string>
|
||||
<string name="login_kakao_failed">Kakaoアカウントでログインできませんでした。もう一度お試しください。</string>
|
||||
|
||||
<!-- Main / Home -->
|
||||
<string name="tab_home">ホーム</string>
|
||||
<string name="tab_chat">チャット</string>
|
||||
<string name="tab_live">ライブ</string>
|
||||
<string name="tab_my">マイ</string>
|
||||
<string name="live_now">ライブ配信中</string>
|
||||
<string name="famous_creator">人気クリエイター</string>
|
||||
<string name="latest_content">最新コンテンツ</string>
|
||||
<string name="view_all">すべて見る</string>
|
||||
<string name="voiceon_original_only">ボイスオン限定</string>
|
||||
<string name="series_by_weekday">曜日別シリーズ</string>
|
||||
<string name="popular_character_chat">人気キャラクターチャット</string>
|
||||
<string name="weekly_chart">ボオン週間チャート</string>
|
||||
<string name="recommend_channel">おすすめチャンネル</string>
|
||||
<string name="free_content">無料コンテンツ</string>
|
||||
<string name="point_rental_content">ポイントレンタルコンテンツ</string>
|
||||
<string name="recommend_content">おすすめコンテンツ</string>
|
||||
<string name="read_more">もっと見る</string>
|
||||
<string name="read_less">折りたたむ</string>
|
||||
<string name="action_upload_content">コンテンツをアップロード</string>
|
||||
<string name="company_info">- 会社名: 株式会社ソダライブ\n\n- 代表者: イ・ジェヒョン\n\n- 住所: 京畿道 城南市 盆唐区 ファンセウル路335番キル10, 5階 563A号\n\n- 事業者登録番号: 870-81-03220\n\n- 通信販売業申告: 第2024-城南盆唐B-1012号\n\n- カスタマーセンター: 02-2055-1477(営業時間 10:00~19:00)\n\n- 代表メール: sodalive.official@gmail.com</string>
|
||||
<string name="live_paid_title">有料ライブ入場</string>
|
||||
<string name="live_paid_desc">%1$dCANを消費して\nライブに入場しますか?</string>
|
||||
<string name="live_paid_warning">ライブ開始から%1$d時間%2$d分経過しています。入場後30分以内に終了する場合があります。</string>
|
||||
<string name="live_paid_confirm">決済して入場</string>
|
||||
<string name="auth_title">本人認証</string>
|
||||
<string name="auth_desc">ボイスオンのオープンワールドキャラクタートークは、青少年保護のため本人認証済みの成人のみ利用できます。\n利用するには本人認証を行ってください。</string>
|
||||
<string name="auth_go">本人認証へ進む</string>
|
||||
<string name="day_mon_short">月</string>
|
||||
<string name="day_tue_short">火</string>
|
||||
<string name="day_wed_short">水</string>
|
||||
<string name="day_thu_short">木</string>
|
||||
<string name="day_fri_short">金</string>
|
||||
<string name="day_sat_short">土</string>
|
||||
<string name="day_sun_short">日</string>
|
||||
<string name="day_random">ランダム</string>
|
||||
</resources>
|
||||
|
||||
@@ -56,4 +56,41 @@
|
||||
<string name="login_google_failed">구글 로그인을 하지 못했습니다. 다시 시도해 주세요</string>
|
||||
<string name="login_failed">로그인을 하지 못했습니다. 다시 시도해 주세요</string>
|
||||
<string name="login_kakao_failed">카카오 계정으로 로그인 하지 못했습니다. 다시 시도해 주세요</string>
|
||||
|
||||
<!-- Main / Home -->
|
||||
<string name="tab_home">홈</string>
|
||||
<string name="tab_chat">채팅</string>
|
||||
<string name="tab_live">라이브</string>
|
||||
<string name="tab_my">마이</string>
|
||||
<string name="live_now">지금 라이브 중</string>
|
||||
<string name="famous_creator">인기 크리에이터</string>
|
||||
<string name="latest_content">최신 콘텐츠</string>
|
||||
<string name="view_all">전체보기</string>
|
||||
<string name="voiceon_original_only">오직 보이스온에서만</string>
|
||||
<string name="series_by_weekday">요일별 시리즈</string>
|
||||
<string name="popular_character_chat">인기 캐릭터 채팅</string>
|
||||
<string name="weekly_chart">보온 주간 차트</string>
|
||||
<string name="recommend_channel">추천 채널</string>
|
||||
<string name="free_content">무료 콘텐츠</string>
|
||||
<string name="point_rental_content">포인트 대여 콘텐츠</string>
|
||||
<string name="recommend_content">추천 콘텐츠</string>
|
||||
<string name="read_more">더보기</string>
|
||||
<string name="read_less">간략히</string>
|
||||
<string name="action_upload_content">콘텐츠 업로드</string>
|
||||
<string name="company_info">- 회사명 : 주식회사 소다라이브\n\n- 대표자 : 이재형\n\n- 주소 : 경기도 성남시 분당구 황새울로335번길 10, 5층 563A호\n\n- 사업자등록번호 : 870-81-03220\n\n- 통신판매업신고 : 제2024-성남분당B-1012호\n\n- 고객센터 : 02.2055.1477(이용시간 10:00~19:00)\n\n- 대표 이메일 : sodalive.official@gmail.com</string>
|
||||
<string name="live_paid_title">유료 라이브 입장</string>
|
||||
<string name="live_paid_desc">%1$d캔을 차감하고\n라이브에 입장 하시겠습니까?</string>
|
||||
<string name="live_paid_warning">라이브를 시작한 지 %1$d시간 %2$d분이 지났습니다. 라이브에 입장 후 30분 이내에 라이브가 종료될 수도 있습니다.</string>
|
||||
<string name="live_paid_confirm">결제 후 입장</string>
|
||||
<string name="auth_title">본인인증</string>
|
||||
<string name="auth_desc">보이스온의 오픈월드 캐릭터톡은\n청소년 보호를 위해 본인인증한\n성인만 이용이 가능합니다.\n캐릭터톡 서비스를 이용하시려면\n본인인증을 하고 이용해주세요.</string>
|
||||
<string name="auth_go">본인인증 하러가기</string>
|
||||
<string name="day_mon_short">월</string>
|
||||
<string name="day_tue_short">화</string>
|
||||
<string name="day_wed_short">수</string>
|
||||
<string name="day_thu_short">목</string>
|
||||
<string name="day_fri_short">금</string>
|
||||
<string name="day_sat_short">토</string>
|
||||
<string name="day_sun_short">일</string>
|
||||
<string name="day_random">랜덤</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user