feat(ui): localize channels page to Korean

채널/추적 안내/전체 선택/채널 추가/구독자/영상 수/총 조회수/상세/방문/삭제.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
hehihoho3@gmail.com 2026-06-13 06:24:49 +09:00
parent 1ebe2dda44
commit f3be6bd803

View File

@ -10,19 +10,19 @@
<div layout:fragment="content"> <div layout:fragment="content">
<header class="flex justify-between items-center mb-4" style="margin-bottom: 2rem;"> <header class="flex justify-between items-center mb-4" style="margin-bottom: 2rem;">
<div> <div>
<h1 class="text-xl font-bold mb-4">Channels</h1> <h1 class="text-xl font-bold mb-4">채널</h1>
<p class="text-muted">Manage the YouTube channels you are tracking.</p> <p class="text-muted">추적 중인 YouTube 채널을 관리합니다.</p>
</div> </div>
<div class="flex items-center gap-4"> <div class="flex items-center gap-4">
<label class="flex items-center gap-2 cursor-pointer text-sm text-muted hover:text-white transition-colors"> <label class="flex items-center gap-2 cursor-pointer text-sm text-muted hover:text-white transition-colors">
<input type="checkbox" id="selectAllCheckbox" onchange="toggleSelectAll()" style="width: 18px; height: 18px; cursor: pointer;"> <input type="checkbox" id="selectAllCheckbox" onchange="toggleSelectAll()" style="width: 18px; height: 18px; cursor: pointer;">
Select All 전체 선택
</label> </label>
<button id="viewSelectedBtn" class="btn btn-outline" onclick="viewSelectedVideos()" style="display: none;"> <button id="viewSelectedBtn" class="btn btn-outline" onclick="viewSelectedVideos()" style="display: none;">
<i data-lucide="play" style="width: 18px; margin-right: 8px;"></i> View Selected Videos (<span id="selectedCount">0</span>) <i data-lucide="play" style="width: 18px; margin-right: 8px;"></i> View Selected Videos (<span id="selectedCount">0</span>)
</button> </button>
<button class="btn btn-primary" onclick="openAddModal()"> <button class="btn btn-primary" onclick="openAddModal()">
<i data-lucide="plus" style="width: 18px; margin-right: 8px;"></i> Add Channel <i data-lucide="plus" style="width: 18px; margin-right: 8px;"></i> 채널 추가
</button> </button>
</div> </div>
</header> </header>
@ -57,8 +57,8 @@
<div> <div>
<h3 class="font-bold" th:text="${channel.title}">Tech Reviewer A</h3> <h3 class="font-bold" th:text="${channel.title}">Tech Reviewer A</h3>
<div class="text-muted text-sm" <div class="text-muted text-sm"
th:text="${#numbers.formatInteger(channel.subscriberCount ?: 0, 0, 'COMMA')} + ' Subscribers'"> th:text="${#numbers.formatInteger(channel.subscriberCount ?: 0, 0, 'COMMA')} + ' 구독자'">
1.2M Subscribers</div> 1.2M 구독자</div>
</div> </div>
</div> </div>
</div> </div>
@ -76,13 +76,13 @@
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem;"> <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem;">
<div class="p-4" <div class="p-4"
style="background: var(--surface-2); border-radius: 8px; text-align: center;"> style="background: var(--surface-2); border-radius: 8px; text-align: center;">
<div class="text-muted mb-4" style="font-size: 0.75rem">Videos</div> <div class="text-muted mb-4" style="font-size: 0.75rem">영상 수</div>
<div class="font-bold" th:text="${#numbers.formatInteger(channel.videoCount ?: 0, 0, 'COMMA')}">450 <div class="font-bold" th:text="${#numbers.formatInteger(channel.videoCount ?: 0, 0, 'COMMA')}">450
</div> </div>
</div> </div>
<div class="p-4" <div class="p-4"
style="background: var(--surface-2); border-radius: 8px; text-align: center;"> style="background: var(--surface-2); border-radius: 8px; text-align: center;">
<div class="text-muted mb-4" style="font-size: 0.75rem">Total Views</div> <div class="text-muted mb-4" style="font-size: 0.75rem">총 조회수</div>
<div class="font-bold" th:text="${#numbers.formatInteger(channel.viewCount ?: 0, 0, 'COMMA')}">45K <div class="font-bold" th:text="${#numbers.formatInteger(channel.viewCount ?: 0, 0, 'COMMA')}">45K
</div> </div>
</div> </div>
@ -91,15 +91,15 @@
<div class="flex gap-2" onclick="event.stopPropagation()"> <div class="flex gap-2" onclick="event.stopPropagation()">
<a th:href="@{/channels/{id}(id=${channel.id})}" class="btn btn-primary w-full" <a th:href="@{/channels/{id}(id=${channel.id})}" class="btn btn-primary w-full"
style="font-size: 0.8rem; text-decoration: none; display: flex; align-items: center; justify-content: center;"> style="font-size: 0.8rem; text-decoration: none; display: flex; align-items: center; justify-content: center;">
<i data-lucide="list" style="width: 14px; margin-right: 6px;"></i> Detail <i data-lucide="list" style="width: 14px; margin-right: 6px;"></i> 상세
</a> </a>
<a th:href="'https://www.youtube.com/channel/' + ${channel.channelId}" target="_blank" <a th:href="'https://www.youtube.com/channel/' + ${channel.channelId}" target="_blank"
class="btn btn-ghost w-full" class="btn btn-ghost w-full"
style="font-size: 0.8rem; text-decoration: none; display: flex; align-items: center; justify-content: center;"> style="font-size: 0.8rem; text-decoration: none; display: flex; align-items: center; justify-content: center;">
<i data-lucide="external-link" style="width: 14px; margin-right: 6px;"></i> Visit <i data-lucide="external-link" style="width: 14px; margin-right: 6px;"></i> 방문
</a> </a>
<button class="btn btn-ghost w-full" style="color: var(--danger); font-size: 0.8rem;" th:onclick="'deleteChannel(' + ${channel.id} + '); event.stopPropagation();'"> <button class="btn btn-ghost w-full" style="color: var(--danger); font-size: 0.8rem;" th:onclick="'deleteChannel(' + ${channel.id} + '); event.stopPropagation();'">
<i data-lucide="trash-2" style="width: 14px; margin-right: 6px;"></i> Remove <i data-lucide="trash-2" style="width: 14px; margin-right: 6px;"></i> 삭제
</button> </button>
</div> </div>
</div> </div>
@ -118,7 +118,7 @@
</div> </div>
<div class="flex justify-end gap-2"> <div class="flex justify-end gap-2">
<button class="btn btn-ghost" onclick="closeAddModal()">Cancel</button> <button class="btn btn-ghost" onclick="closeAddModal()">Cancel</button>
<button class="btn btn-primary" onclick="submitAddChannel()">Add Channel</button> <button class="btn btn-primary" onclick="submitAddChannel()">채널 추가</button>
</div> </div>
</div> </div>
</div> </div>