feat(i18n): 공통/주요 화면 문자열 치환, 포맷 정책 적용, 언어 전환 UX 및 스캔 스크립트 추가

This commit is contained in:
Yu Sung
2026-05-08 14:09:58 +09:00
parent c2663a1e9d
commit 43d0ebc9ed
13 changed files with 459 additions and 178 deletions

View File

@@ -2,7 +2,7 @@
<div>
<v-toolbar dark>
<v-spacer />
<v-toolbar-title>소속 크리에이터 - {{ totalCount }}</v-toolbar-title>
<v-toolbar-title>{{ $t('view.agent.creators.titleWithCount', { count: $n(totalCount, 'decimal') }) }}</v-toolbar-title>
<v-spacer />
</v-toolbar>
@@ -68,11 +68,7 @@ export default {
name: 'AgentCreators',
data() {
return {
headers: [
{ text: '순번', value: 'no', align: 'center', sortable: false },
{ text: '프로필', value: 'profileImageUrl', align: 'center', sortable: false },
{ text: '닉네임', value: 'creatorNickname', align: 'center' }
],
// headers는 locale 변경 시 동적으로 계산(computed headers)으로 대체
items: [],
totalCount: 0,
page: 1,
@@ -81,6 +77,15 @@ export default {
is_loading: false
};
},
computed: {
headers() {
return [
{ text: this.$t('view.agent.creators.headers.no'), value: 'no', align: 'center', sortable: false },
{ text: this.$t('view.agent.creators.headers.profile'), value: 'profileImageUrl', align: 'center', sortable: false },
{ text: this.$t('view.agent.creators.headers.nickname'), value: 'creatorNickname', align: 'center' }
]
}
},
watch: {
itemsPerPage() {
// 페이지 크기 변경 시 첫 페이지부터 다시 조회
@@ -122,7 +127,7 @@ export default {
}
if (!payload) {
this.notifyError(res?.data?.message || '목록을 불러오지 못했습니다. 다시 시도해 주세요.');
this.notifyError(res?.data?.message || this.$t('common.error.fetchFailed'));
this.items = [];
this.totalCount = 0;
this.total_page = 1;
@@ -144,7 +149,7 @@ export default {
// 최소한의 에러 로깅
// eslint-disable-next-line no-console
console.error('[AgentCreators] 목록 조회 실패', e);
this.notifyError('알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.');
this.notifyError(this.$t('common.error.unknown'));
} finally {
this.is_loading = false;
}