在vue3使用vue-i18n@9

本文介绍了如何在Vue3项目中使用vue-i18n@9进行国际化设置,包括下载引入、全局与局部配置、提供用户切换语言的选项。详细阐述了文本、日期和数字的本地化,以及自定义修饰符的使用。同时提供了简化组件导入i18n的hook示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在vue3使用vue-i18n@9

vue-i18n@9文档地址Home | Vue I18n (intlify.dev)

vue-i18n是vue的国际化插件, 它可以轻松将一些本地化功能集成到Vue.js项目中.

Get Started

下载并引入

暂时无法使用 <script setup> 写法

使用时的报错

局部 - 只作用于当前组件

// HelloWorld组件
<<template>
  <div class="hello-world">
    <!-- t是从执行useI18n函数解构得到函数, hello是自己定义的变量 -->
    <p>{
   {
    t("hello") }}</p>
    <p>{
   {
    t("home.title") }}</p>
    <p>{
   {
    hello }}</p>
  </div>
</template>

<script>
import {
    computed } from "vue";
import {
    useI18n } from "vue-i18n/index"; //导入并使用

export default {
   
  setup() {
   
    const {
    t } = useI18n({
   
      // 传入messages对象, 里面分别是需要被安排的文字. "zh-CN" - 中文, "en-US" - 英文, 两个对象的key必须完全一致.
      messages: {
   
        "zh-CN": {
   
          hello: "你好,世界",
          home: {
   
            title: "欢迎来到地球",
          },
        },
        "en-US": {
   
          hello: "hello, world",
          home: {
   
            title: "Welcome to the Earth",
          },
        },
      },
    });

    // t是一个函数,能在mustache(模板语法)中使用,当然也能在setup函数任何地方使用
    const hello = computed(() => t("hello"));

    return {
   
      t,
      hello,
    };
  },
};
</script>

<style scoped>
</style>
<p>{
   {
    t("hello") }}</p>
<p>{
   {
    t("home.title") }}</p>
<p>{
   {
    hello }}</p>
<p>你好, 世界</p>
<p>欢迎来到地球</p>
<p>你好, 世界</p>

全局 - 所有组件都能使用

  1. useI18n函数传入useScope: "global" 后再传入的messages即是全局变量.
// App.vue组件
// 当然也可以是其他任何组件, 写在这里符合vue的 单向数据流 原则, 包括切换语言按钮.
<template>
  <HelloWorld />
  <HelloChina></HelloChina>

  <!-- 给用户提供切换语言按钮 -->
  <button @click="changeLang">/English</button>
  <!-- 如果需要多语言切换 -->
  <select v-model
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值