33 lines
676 B
Vue
33 lines
676 B
Vue
|
|
<script setup lang="ts">
|
||
|
|
import zhCN from '~~/i18n/locales/zh.json';
|
||
|
|
import enUS from '~~/i18n/locales/en.json';
|
||
|
|
|
||
|
|
const { locale } = useI18n();
|
||
|
|
|
||
|
|
useHead({
|
||
|
|
htmlAttrs: {
|
||
|
|
lang: () => (locale.value === 'zh' ? 'zh-CN' : 'en-US')
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
// 根据当前语言动态设置页面标题
|
||
|
|
const head = useLocaleHead({
|
||
|
|
addDirAttribute: true,
|
||
|
|
identifierAttribute: 'id',
|
||
|
|
addSeoAttributes: true
|
||
|
|
});
|
||
|
|
|
||
|
|
useHead({
|
||
|
|
title: () => (locale.value === 'zh' ? zhCN.app.name : enUS.app.name),
|
||
|
|
htmlAttrs: head.value.htmlAttrs,
|
||
|
|
link: [...(head.value.link || [])],
|
||
|
|
meta: [...(head.value.meta || [])]
|
||
|
|
});
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<template>
|
||
|
|
<NuxtLayout>
|
||
|
|
<NuxtPage />
|
||
|
|
</NuxtLayout>
|
||
|
|
</template>
|