更新国际化支持:为站点资源对话框及相关组件添加多语言文本,提升用户体验

This commit is contained in:
jxxghp
2025-04-28 22:10:30 +08:00
parent b228246508
commit 4682cdb1a8
4 changed files with 69 additions and 24 deletions

View File

@@ -4,6 +4,10 @@ import api from '@/api'
import type { TorrentInfo, SiteCategory } from '@/api/types' import type { TorrentInfo, SiteCategory } from '@/api/types'
import { formatFileSize } from '@core/utils/formatters' import { formatFileSize } from '@core/utils/formatters'
import AddDownloadDialog from '../dialog/AddDownloadDialog.vue' import AddDownloadDialog from '../dialog/AddDownloadDialog.vue'
import { useI18n } from 'vue-i18n'
// 国际化
const { t } = useI18n()
// 输入参数 // 输入参数
const props = defineProps({ const props = defineProps({
@@ -49,11 +53,11 @@ const torrent = ref<TorrentInfo>()
// 资源浏览表头 // 资源浏览表头
const resourceHeaders = [ const resourceHeaders = [
{ title: '标题', key: 'title', sortable: false }, { title: t('dialog.siteResource.titleColumn'), key: 'title', sortable: false },
{ title: '时间', key: 'pubdate', sortable: true }, { title: t('dialog.siteResource.timeColumn'), key: 'pubdate', sortable: true },
{ title: '大小', key: 'size', sortable: true }, { title: t('dialog.siteResource.sizeColumn'), key: 'size', sortable: true },
{ title: '做种', key: 'seeders', sortable: true }, { title: t('dialog.siteResource.seedersColumn'), key: 'seeders', sortable: true },
{ title: '下载', key: 'peers', sortable: true }, { title: t('dialog.siteResource.peersColumn'), key: 'peers', sortable: true },
{ title: '', key: 'actions', sortable: false }, { title: '', key: 'actions', sortable: false },
] ]
@@ -131,7 +135,7 @@ onMounted(() => {
<!-- Toolbar --> <!-- Toolbar -->
<div> <div>
<VToolbar color="primary"> <VToolbar color="primary">
<VToolbarTitle>{{ `浏览 - ${props.site?.name}` }}</VToolbarTitle> <VToolbarTitle>{{ t('dialog.siteResource.browseTitle', { name: props.site?.name }) }}</VToolbarTitle>
<VSpacer /> <VSpacer />
<VToolbarItems> <VToolbarItems>
<VBtn icon @click="emit('close')" class="me-3"> <VBtn icon @click="emit('close')" class="me-3">
@@ -143,7 +147,13 @@ onMounted(() => {
<div class="p-3"> <div class="p-3">
<VRow> <VRow>
<VCol cols="6" md="5"> <VCol cols="6" md="5">
<VTextField v-model="keyword" size="small" density="compact" label="搜索关键字" clearable /> <VTextField
v-model="keyword"
size="small"
density="compact"
:label="t('dialog.siteResource.searchKeyword')"
clearable
/>
</VCol> </VCol>
<VCol cols="6" md="5"> <VCol cols="6" md="5">
<VSelect <VSelect
@@ -152,13 +162,13 @@ onMounted(() => {
size="small" size="small"
density="compact" density="compact"
chips chips
label="资源分类" :label="t('dialog.siteResource.resourceCategory')"
multiple multiple
clearable clearable
/> />
</VCol> </VCol>
<VCol cols="12" md="2" class="text-center"> <VCol cols="12" md="2" class="text-center">
<VBtn block prepend-icon="mdi-magnify" @click="getResourceList">搜索</VBtn> <VBtn block prepend-icon="mdi-magnify" @click="getResourceList">{{ t('dialog.siteResource.search') }}</VBtn>
</VCol> </VCol>
</VRow> </VRow>
</div> </div>
@@ -175,9 +185,9 @@ onMounted(() => {
return-object return-object
fixed-header fixed-header
hover hover
items-per-page-text="每页条数" :items-per-page-text="t('dialog.siteResource.itemsPerPage')"
page-text="{0}-{1} {2} " :page-text="t('dialog.siteResource.pageText')"
loading-text="加载中..." :loading-text="t('dialog.siteResource.loading')"
class="h-full" class="h-full"
> >
<template #item.title="{ item }"> <template #item.title="{ item }">
@@ -242,20 +252,20 @@ onMounted(() => {
<template #prepend> <template #prepend>
<VIcon icon="mdi-information" /> <VIcon icon="mdi-information" />
</template> </template>
<VListItemTitle>查看详情</VListItemTitle> <VListItemTitle>{{ t('dialog.siteResource.viewDetails') }}</VListItemTitle>
</VListItem> </VListItem>
<VListItem v-if="item.enclosure?.startsWith('http')" @click="downloadTorrentFile(item.enclosure)"> <VListItem v-if="item.enclosure?.startsWith('http')" @click="downloadTorrentFile(item.enclosure)">
<template #prepend> <template #prepend>
<VIcon icon="mdi-download" /> <VIcon icon="mdi-download" />
</template> </template>
<VListItemTitle>下载种子文件</VListItemTitle> <VListItemTitle>{{ t('dialog.siteResource.downloadTorrent') }}</VListItemTitle>
</VListItem> </VListItem>
</VList> </VList>
</VMenu> </VMenu>
</IconBtn> </IconBtn>
</div> </div>
</template> </template>
<template #no-data> 没有数据 </template> <template #no-data>{{ t('dialog.siteResource.noData') }}</template>
</VDataTable> </VDataTable>
</VCardText> </VCardText>
</VCard> </VCard>

View File

@@ -1572,9 +1572,20 @@ export default {
close: 'Close', close: 'Close',
}, },
siteResource: { siteResource: {
title: 'Site Resources', browseTitle: 'Browse - {name}',
searchHint: 'Search resources', searchKeyword: 'Search Keyword',
close: 'Close', resourceCategory: 'Resource Category',
search: 'Search',
itemsPerPage: 'Items Per Page',
noData: 'No Data',
loading: 'Loading...',
titleColumn: 'Title',
timeColumn: 'Time',
sizeColumn: 'Size',
seedersColumn: 'Seeders',
peersColumn: 'Peers',
viewDetails: 'View Details',
downloadTorrent: 'Download Torrent',
}, },
forkSubscribe: { forkSubscribe: {
title: 'Copy Subscription', title: 'Copy Subscription',

View File

@@ -1549,9 +1549,21 @@ export default {
close: '关闭', close: '关闭',
}, },
siteResource: { siteResource: {
title: '站点资源', browseTitle: '浏览 - {name}',
searchHint: '搜索资源', searchKeyword: '搜索关键字',
close: '关闭', resourceCategory: '资源分类',
search: '搜索',
itemsPerPage: '每页条数',
pageText: '{0}-{1} 共 {2} 条',
noData: '没有数据',
loading: '加载中...',
titleColumn: '标题',
timeColumn: '时间',
sizeColumn: '大小',
seedersColumn: '做种',
peersColumn: '下载',
viewDetails: '查看详情',
downloadTorrent: '下载种子文件',
}, },
forkSubscribe: { forkSubscribe: {
title: '复制订阅', title: '复制订阅',

View File

@@ -1546,9 +1546,21 @@ export default {
close: '關閉', close: '關閉',
}, },
siteResource: { siteResource: {
title: '站點資源', browseTitle: '瀏覽 - {name}',
searchHint: '搜索資源', searchKeyword: '搜索關鍵字',
close: '關閉', resourceCategory: '資源分類',
search: '搜索',
itemsPerPage: '每頁條數',
pageText: '{0}-{1} 共 {2} 條',
noData: '沒有數據',
loading: '加載中...',
titleColumn: '標題',
timeColumn: '時間',
sizeColumn: '大小',
seedersColumn: '做種',
peersColumn: '下載',
viewDetails: '查看詳情',
downloadTorrent: '下載種子文件',
}, },
forkSubscribe: { forkSubscribe: {
title: '複製訂閱', title: '複製訂閱',