diff --git a/src/views/subscribe/SubscribePopularView.vue b/src/views/subscribe/SubscribePopularView.vue
index fd8dbfb7..cb40b3ff 100644
--- a/src/views/subscribe/SubscribePopularView.vue
+++ b/src/views/subscribe/SubscribePopularView.vue
@@ -3,6 +3,10 @@ import api from '@/api'
import type { MediaInfo } from '@/api/types'
import MediaCard from '@/components/cards/MediaCard.vue'
import NoDataFound from '@/components/NoDataFound.vue'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
// 输入参数
const props = defineProps({
@@ -122,8 +126,8 @@ async function fetchData({ done }: { done: any }) {
diff --git a/src/views/subscribe/SubscribeShareView.vue b/src/views/subscribe/SubscribeShareView.vue
index a01c33f4..8d710f85 100644
--- a/src/views/subscribe/SubscribeShareView.vue
+++ b/src/views/subscribe/SubscribeShareView.vue
@@ -3,6 +3,10 @@ import api from '@/api'
import type { SubscribeShare } from '@/api/types'
import NoDataFound from '@/components/NoDataFound.vue'
import SubscribeShareCard from '@/components/cards/SubscribeShareCard.vue'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
// 定义输入参数
const props = defineProps({
@@ -115,7 +119,7 @@ function removeData(id: number) {
-
+
@@ -128,10 +132,8 @@ function removeData(id: number) {
diff --git a/src/views/system/LoggingView.vue b/src/views/system/LoggingView.vue
index 9b83b97c..cc815493 100644
--- a/src/views/system/LoggingView.vue
+++ b/src/views/system/LoggingView.vue
@@ -1,13 +1,18 @@
-
+
diff --git a/src/views/system/MessageView.vue b/src/views/system/MessageView.vue
index e401cfb4..d1614f54 100644
--- a/src/views/system/MessageView.vue
+++ b/src/views/system/MessageView.vue
@@ -2,6 +2,10 @@
import type { Message } from '@/api/types'
import MessageCard from '@/components/cards/MessageCard.vue'
import api from '@/api'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
// 定义事件
const emit = defineEmits(['scroll'])
@@ -103,12 +107,12 @@ onBeforeUnmount(() => {
:items="messages"
class="overflow-visible"
@load="loadMessages"
- load-more-text="加载更多 ..."
+ :load-more-text="t('message.loadMore') + ' ...'"
>
- 没有更多数据
+ {{ t('message.noMoreData') }}
import api from '@/api'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
// 定义所有的模块ID、名称列表
const modules = ref<
@@ -41,13 +45,13 @@ async function moduleTest(index: number) {
target.loading = false
if (result.success) {
target.state = 'success'
- target.name = `${target.name} - 正常`
+ target.name = `${target.name} - ${t('moduleTest.normal')}`
} else if (!result.message) {
target.state = undefined
- target.name = `${target.name} - 未启用`
+ target.name = `${target.name} - ${t('moduleTest.disabled')}`
} else {
target.state = 'error'
- target.name = `${target.name} - 错误!`
+ target.name = `${target.name} - ${t('moduleTest.error')}!`
target.errmsg = result.message
}
} catch (error) {
diff --git a/src/views/system/NameTestView.vue b/src/views/system/NameTestView.vue
index 6560179c..b3c8d0e5 100644
--- a/src/views/system/NameTestView.vue
+++ b/src/views/system/NameTestView.vue
@@ -4,6 +4,10 @@ import { requiredValidator } from '@/@validators'
import api from '@/api'
import type { Context } from '@/api/types'
import MediaInfoCard from '@/components/cards/MediaInfoCard.vue'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
// 识别结果
const nameTestResult = ref
()
@@ -18,19 +22,18 @@ const nameTestForm = reactive({
const nameTestLoading = ref(false)
// 识别按钮文本
-const nameTestText = ref('识别')
+const nameTestText = ref(t('nameTest.recognize'))
// 是否显示结果
const showResult = ref(false)
// 调用API识别
async function nameTest() {
- if (!nameTestForm.title)
- return
+ if (!nameTestForm.title) return
try {
nameTestLoading.value = true
- nameTestText.value = '识别中...'
+ nameTestText.value = t('nameTest.recognizing')
showResult.value = false
nameTestResult.value = await api.get('media/recognize', {
params: {
@@ -39,10 +42,9 @@ async function nameTest() {
},
})
nameTestLoading.value = false
- nameTestText.value = '重新识别'
+ nameTestText.value = t('nameTest.recognizeAgain')
showResult.value = true
- }
- catch (error) {
+ } catch (error) {
console.error(error)
}
}
@@ -52,30 +54,15 @@ async function nameTest() {
{}">
-
+
-
+
-
-
+
+
diff --git a/src/views/system/NetTestView.vue b/src/views/system/NetTestView.vue
index 36ab0039..941d4f00 100644
--- a/src/views/system/NetTestView.vue
+++ b/src/views/system/NetTestView.vue
@@ -8,6 +8,10 @@ import tmdb from '@images/logos/tmdb.png'
import wechat from '@images/logos/wechat.png'
import fanart from '@images/logos/fanart.webp'
import tvdb from '@images/logos/thetvdb.jpeg'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
interface Status {
OK: string
@@ -46,7 +50,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -56,7 +60,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -66,7 +70,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -76,7 +80,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -86,7 +90,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -96,7 +100,7 @@ const targets = ref([
proxy: false,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -106,7 +110,7 @@ const targets = ref([
proxy: false,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -116,7 +120,7 @@ const targets = ref([
proxy: false,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -126,7 +130,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -136,7 +140,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
{
@@ -146,7 +150,7 @@ const targets = ref([
proxy: true,
status: 'Normal',
time: '',
- message: '未测试',
+ message: t('netTest.notTested'),
btndisable: false,
},
])
@@ -165,7 +169,7 @@ async function netTest(index: number) {
target.btndisable = true
target.status = 'Doing'
- target.message = '测试中...'
+ target.message = t('netTest.testing')
const result: { [key: string]: any } = await api.get('system/nettest', {
params: {
@@ -176,7 +180,7 @@ async function netTest(index: number) {
if (result.success) {
target.status = 'OK'
- target.message = '正常'
+ target.message = t('netTest.normal')
} else {
target.status = 'Fail'
target.message = result.message
diff --git a/src/views/system/RuleTestView.vue b/src/views/system/RuleTestView.vue
index 7bc5eaff..096e8d7a 100644
--- a/src/views/system/RuleTestView.vue
+++ b/src/views/system/RuleTestView.vue
@@ -3,6 +3,10 @@ import { reactive, ref } from 'vue'
import { requiredValidator } from '@/@validators'
import api from '@/api'
import { FilterRuleGroup } from '@/api/types'
+import { useI18n } from 'vue-i18n'
+
+// 国际化
+const { t } = useI18n()
// 识别结果
const ruleTestResult = ref('')
@@ -18,7 +22,7 @@ const ruleTestForm = reactive({
const ruleTestLoading = ref(false)
// 识别按钮文本
-const ruleTestText = ref('测试')
+const ruleTestText = ref(t('ruleTest.test'))
// 是否显示结果
const showResult = ref(false)
@@ -47,7 +51,7 @@ async function ruleTest() {
try {
ruleTestLoading.value = true
- ruleTestText.value = '正在测试...'
+ ruleTestText.value = t('ruleTest.testing')
showResult.value = false
const result: { [key: string]: any } = await api.get('system/ruletest', {
params: {
@@ -56,11 +60,11 @@ async function ruleTest() {
rulegroup_name: ruleTestForm.rulegroup,
},
})
- if (result.success) ruleTestResult.value = `优先级:${result.data.priority}`
- else ruleTestResult.value = '未命中任何优先级规则!'
+ if (result.success) ruleTestResult.value = t('ruleTest.priority', { value: result.data.priority })
+ else ruleTestResult.value = t('ruleTest.noPriorityRule')
ruleTestLoading.value = false
- ruleTestText.value = '重新测试'
+ ruleTestText.value = t('ruleTest.testAgain')
showResult.value = true
} catch (error) {
console.error(error)
@@ -76,13 +80,13 @@ onMounted(() => {
{}">
-
+
-
+
-
+
diff --git a/vite.config.ts b/vite.config.ts
index 6ad9ba78..2493c7b7 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -29,7 +29,7 @@ export default defineConfig({
vueTemplate: true,
}),
VueI18n({
- include: [resolve(__dirname, 'src/locales/**')],
+ include: [resolve(__dirname, 'src/locales/*.ts')],
}),
VitePWA({
injectRegister: 'script',