nuxt3 vuei18n 中的国际化解析

使用版本

{
  "name": "nuxt-app",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  "devDependencies": {
    "@nuxt/devtools": "latest",
    "@nuxtjs/i18n": "^8.0.0-rc.5",
    "nuxt": "^3.7.4",
    "sass": "^1.69.0",
    "vite-plugin-vuetify": "^1.0.2",
    "vue": "^3.3.4",
    "vue-router": "^4.2.5",
    "vuetify": "^3.3.20"
  },
  "dependencies": {
    "@mdi/font": "^7.3.67",
    "@pinia/nuxt": "^0.4.11"
  }
}

$t

$t可以进行基础的变量翻译

<template>
  <div class="app">
    <div class="title">
      {{ $t("login") }}
      {{ $t("logout") }}
    </div>
  </div>
</template>

<script setup>

</script>

$tm

$tm 进行对象或数组类型的翻译,同时需要配合 $rt 进行操作
contents是配置在language中的语言包

export default {
    language: [
        {
            name: '简体中文',
            code: 'zh',
        },
        {
            name: '英语',
            code: 'en',
        }
    ],
    login: '登录',
    logout: '退出',
}

<div class="container">
  <template v-for="content in tm('contents')">
    <h2>{{ rt(content.title) }}</h2>
    <p v-for="paragraph in content.paragraphs">
     {{ rt(paragraph) }}
    </p>
  </template>
</div>
<script setup>
import { defineComponent } from 'vue

//import { useI18n } from 'vue-i18n'
import {useI18n} from "#imports"


const {locale, locales} = useI18n();
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值