로컬라이징 문자열 정비
탭, 상세, 설정 화면 텍스트를 I18n 키로 교체 신규 캐릭터 전체보기 등 문자열 번역을 추가
This commit is contained in:
@@ -54,7 +54,7 @@ struct CharacterView: View {
|
||||
title: "신규 캐릭터",
|
||||
items: viewModel.newCharacters,
|
||||
isShowRank: false,
|
||||
trailingTitle: "전체보기",
|
||||
trailingTitle: I18n.Common.viewAll,
|
||||
onTapTrailing: {
|
||||
onSelectNewCharacterAll()
|
||||
},
|
||||
|
||||
@@ -25,8 +25,8 @@ struct CharacterDetailView: View {
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .detail: return "상세"
|
||||
case .gallery: return "갤러리"
|
||||
case .detail: return I18n.Tab.detail
|
||||
case .gallery: return I18n.Tab.gallery
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ struct CharacterDetailView: View {
|
||||
var body: some View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "캐릭터 정보") {
|
||||
DetailNavigationBar(title: String(localized: "캐릭터 정보")) {
|
||||
if presentationMode.wrappedValue.isPresented {
|
||||
presentationMode.wrappedValue.dismiss()
|
||||
} else {
|
||||
|
||||
@@ -18,7 +18,7 @@ struct NewCharacterListView: View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 8) {
|
||||
// Toolbar
|
||||
DetailNavigationBar(title: "신규 캐릭터 전체보기")
|
||||
DetailNavigationBar(title: String(localized: "신규 캐릭터 전체보기"))
|
||||
|
||||
VStack(alignment: .leading, spacing: 12) {
|
||||
// 전체 n개
|
||||
|
||||
@@ -21,9 +21,9 @@ struct ChatTabView: View {
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .character: return "캐릭터"
|
||||
case .original: return "작품별"
|
||||
case .talk: return "톡"
|
||||
case .character: return I18n.Tab.character
|
||||
case .original: return I18n.Tab.work
|
||||
case .talk: return I18n.Tab.talk
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ struct OriginalWorkDetailView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
SeriesDetailTabView(
|
||||
title: "캐릭터",
|
||||
title: I18n.Tab.character,
|
||||
width: screenSize().width / 2,
|
||||
isSelected: viewModel.currentTab == .character
|
||||
) {
|
||||
@@ -63,7 +63,7 @@ struct OriginalWorkDetailView: View {
|
||||
}
|
||||
|
||||
SeriesDetailTabView(
|
||||
title: "작품정보",
|
||||
title: I18n.Tab.workInfo,
|
||||
width: screenSize().width / 2,
|
||||
isSelected: viewModel.currentTab == .info
|
||||
) {
|
||||
|
||||
@@ -12,6 +12,8 @@ import Foundation
|
||||
// 기준 언어 선택은 LanguageHeaderProvider.current("ko"|"en"|"ja").
|
||||
enum I18n {
|
||||
enum Common {
|
||||
static var viewAll: String { pick(ko: "전체보기", en: "View all", ja: "すべて見る") }
|
||||
|
||||
// 기본 샘플들
|
||||
static var apply: String { pick(ko: "적용", en: "Apply", ja: "適用") }
|
||||
static var confirm: String { pick(ko: "확인", en: "Confirm", ja: "確認") }
|
||||
@@ -38,8 +40,12 @@ enum I18n {
|
||||
enum Tab {
|
||||
// 탭/도메인
|
||||
static var character: String { pick(ko: "캐릭터", en: "Character", ja: "キャラクター") }
|
||||
static var work: String { pick(ko: "작품", en: "Work", ja: "作品") }
|
||||
static var work: String { pick(ko: "작품별", en: "Works", ja: "作品別") }
|
||||
static var talk: String { pick(ko: "톡", en: "Talk", ja: "トーク") }
|
||||
static var workInfo: String { pick(ko: "작품정보", en: "Work info", ja: "作品情報") }
|
||||
|
||||
static var detail: String { pick(ko: "상세", en: "Details", ja: "詳細") }
|
||||
static var gallery: String { pick(ko: "갤러리", en: "Gallery", ja: "ギャラリー") }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ struct SettingsView: View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
GeometryReader { geo in
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "설정")
|
||||
DetailNavigationBar(title: String(localized: "설정"))
|
||||
|
||||
ScrollView(.vertical, showsIndicators: false) {
|
||||
VStack(spacing: 0) {
|
||||
|
||||
Reference in New Issue
Block a user