feat(demo-vue): 全站 i18n 抽文案、中英文资源与页面接入
- 引入 vue-i18n,集中维护 zh-CN / en-US 文案与产品 catalog、长文 HTML - 前台与后台列表/弹窗/校验/删除确认等改为 t(),顶栏与新闻/行业列表与详情页多语言 - 修正 Industry 等页面文首误粘贴;请求头 Accept-Language 与 Element 语言随 locale 切换
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
NEW_FILE_CODE
|
||||
|
||||
<template>
|
||||
<div class="industry-page">
|
||||
<HeaderComponent />
|
||||
@@ -8,17 +6,17 @@ NEW_FILE_CODE
|
||||
<section class="industry-banner">
|
||||
<div class="banner-overlay">
|
||||
<div class="banner-wrapper">
|
||||
<h1 class="banner-title">行业动态</h1>
|
||||
<p class="banner-subtitle">Industry News</p>
|
||||
<h1 class="banner-title">{{ t('industry.listBanner') }}</h1>
|
||||
<p class="banner-subtitle">{{ t('industry.listBannerSub') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="breadcrumb-section">
|
||||
<div class="breadcrumb-wrapper">
|
||||
<span class="breadcrumb-item">首页</span>
|
||||
<span class="breadcrumb-item">{{ t('nav.home') }}</span>
|
||||
<span class="breadcrumb-separator">/</span>
|
||||
<span class="breadcrumb-item active">行业动态</span>
|
||||
<span class="breadcrumb-item active">{{ t('nav.industryNews') }}</span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -30,7 +28,7 @@ NEW_FILE_CODE
|
||||
<div class="industry-meta">
|
||||
<span class="meta-item">
|
||||
<el-icon><View /></el-icon>
|
||||
访问量:{{ item.views }}
|
||||
{{ t('common.viewsLabel') }}{{ item.views }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,10 +47,10 @@ NEW_FILE_CODE
|
||||
<button class="page-btn" :disabled="currentPage === totalPages" @click="nextPage">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</button>
|
||||
<span class="jump-text">跳往</span>
|
||||
<span class="jump-text">{{ t('common.goTo') }}</span>
|
||||
<input type="number" class="page-input" v-model.number="jumpPage" @keyup.enter="jumpToPage" min="1" :max="totalPages" />
|
||||
<span class="jump-text">前往</span>
|
||||
<span class="page-info">页</span>
|
||||
<span class="jump-text">{{ t('common.toPage') }}</span>
|
||||
<span class="page-info">{{ t('common.pageUnit') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,12 +64,14 @@ NEW_FILE_CODE
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { View, ArrowLeft, ArrowRight } from '@element-plus/icons-vue'
|
||||
import HeaderComponent from '@/components/HeaderComponent.vue'
|
||||
import FooterComponent from '@/components/FooterComponent.vue'
|
||||
import { post } from '@/utils/request'
|
||||
|
||||
const router = useRouter()
|
||||
const { t } = useI18n()
|
||||
|
||||
// 行业动态列表数据
|
||||
const industryList = ref<any[]>([])
|
||||
@@ -124,7 +124,7 @@ const getIndustryList = async (page: number = 1) => {
|
||||
// 设置总页数
|
||||
totalPages.value = Math.ceil(response.data.total / pageSize)
|
||||
} catch (error: any) {
|
||||
console.error('获取行业动态列表失败:', error)
|
||||
console.error(t('industry.fetchFail'), error)
|
||||
industryList.value = []
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user