Nuxt.js使用i18n时如何基于当前展示语言而非路由路径设置v-if条件
Nuxt.js i18n 语言判断最优方案
你可以直接使用i18n模块内置的当前语言属性做判断,不需要依赖路由路径,该属性会同步所有语言切换场景的状态,包括浏览器自动检测、手动切换、路由前缀匹配等场景。
模板直接判断写法(适配选项式API/大部分常规使用场景)
直接替换原有的路由判断逻辑即可:
<!-- 英文分支 --> <v-row v-if="$i18n.locale === 'en'"> <!-- 韩语(默认)分支 --> <v-row v-else>
组合式API写法(Nuxt3适用)
如果使用组合式API,可通过useI18n方法获取当前语言实例:
<script setup> import { useI18n } from 'vue-i18n' const { locale } = useI18n() </script> <template> <v-row v-if="locale === 'en'"> <v-row v-else> </template>
内容的提问来源于stack exchange,提问作者Jeon
相关产品推荐
相关产品推荐

