首页 > 其他分享 >vue3使用 i18n

vue3使用 i18n

时间:2023-05-13 13:46:58浏览次数:31  
标签:lang vue const vue3 en 使用 i18n import

官网  https://vue-i18n.intlify.dev/guide/installation.html 安装 npm install vue-i18n   新建语言文件 如  // lang / zh.ts
export default {
    login: {         login: '登录',
        userName: '用户名',
        password: '密码',
    },
};   新建i18n  index.js文件

import { createI18n } from 'vue-i18n';
import zh from './zh';

const language = (navigator.language || 'en').toLocaleLowerCase(); // 这是获取浏览器的语言
const i18n = createI18n({
legacy: false, locale: localStorage.getItem('lang') || 'en', // 首先从缓存里拿,没有的话就用浏览器语言, fallbackLocale: 'en', // 设置备用语言 messages: {
en,
zh,
}, }); export default i18n;


在main.js

import  i18n from './i18n/index.js'
  app.use(i18n)   或者拆分文件   使用的地方 setup里面使用 import { useI18n } from 'vue-i18n'

const { t } = useI18n()
console.log (t("home.hello"))   在模板里 可以直接使用 无需引入 {{ $t("login.password") }} <div v-t="'login.password'"></div>   切换语言
<template>
    <div class="menu">
        <div  @click="changeLang('en')">English</div>
        <div  @click="changeLang('zh')">中文</div>
    </div>
</template>
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
const { locale } = useI18n()

const changeLang = (lang: string) => {
  locale.value = lang
  localStorage.setItem('lang', lang)
}
</script>
 
 

标签:lang,vue,const,vue3,en,使用,i18n,import
From: https://www.cnblogs.com/anans/p/17397218.html

相关文章

  • Element-plus中使用pagination显示sizes为中文
    需求描述使用分页组件中添加sizes信息,也就是一个下拉框,用户可以选择当前页的数据量<el-paginationbackgroundv-model:current-page="currentPage"v-model:page-size="pageSize":total="total":page-sizes="[5,10,15,20,25]"@current-change="......
  • Scanner进阶使用
    1. (if的使用会在后续学习)其他类型像int,float型等就把相应的都变成nextInt()/hasNextInt()  nextFloat()/hasNextFloat()(Scanner其实就是和键盘相关联,可以输入一些东西,然后运行。)......
  • python中os.path模块常见使用 和 os创建文件夹
    1、下面列举一些常用的os.path模块函数:os.path模块是Python中用于处理文件路径的模块之一,它提供了一系列函数用于对文件路径进行操作,例如连接、拆分、标准化、比较等。os.path.join(path1[,path2[,...]]):将多个路径组合成一个完整路径。该函数根据操作系统的不同,自动使......
  • 正确使用php开发系列:判断数组的key是否存在
    背景:我们习惯上使用!empty($data['data']['list']判断数组$data里有没有key为list的元素,正确判断key是否存在的方式应该使用array_key_exists 为什么不要使用!empty($data['data']['list'],因为当list不存在时,会报错!......
  • Django中使用分页器
    场景描述有一个get请求,如果传递的有id,则返回具体某一个菜品的信息,如果没有,则返回当前默认分页的内容,获取用户传递的分页参数进行查询。分页说明如果数据量很大,几百上千条,一般是需要使用分页器的,这样可以对用户,对服务器,对网络都比较友好。如果当前框架不提供分页查询功能,也就是......
  • 使用讯飞模型学习Excel VLOOKUP的一次体验
    提问1:EXCELVLOOKUP回答1:VLOOKUP是Excel中的一种查找函数,用于在一个表格中查找某个值,并返回该值所在行的指定列的值。其语法如下:```VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])```其中:-lookup_value:要查找的值。-table_array:要在其中进行查找的......
  • 利用FPGA对cameralink的数据进行发送编码。 不使用DS90CR
    利用FPGA对cameralink的数据进行发送编码。不使用DS90CR287芯片,直接在FPGA内部进行编码。调通案例见下图。本人在xilinx(赛灵思)A7,K7,V7,zynq7,ultrascale以及ultrascale+系列的FPGA上已经验证通过,相关项目已经交付。本人在此深耕多年,完全掌握cameralink传输标准,解码编码标准,现承接定......
  • 关于 Delphi 中流的使用 压缩与解压缩的函数
    unitUnit1;interfaceuses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls;type TForm1=class(TForm)  Button1:TButton;  Button2:TButton;  procedureButton1Click(Sender:TObject); ......
  • 关于 Delphi 中流的使用 分割与合并文件的函数
    unitUnit1;interfaceuses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls;type TForm1=class(TForm)  Button1:TButton;  Button2:TButton;  procedureButton1Click(Sender:TObject); ......
  • 关于 Delphi 中流的使用 用流读写结构化文件
    unitUnit1;interfaceuses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls;type TForm1=class(TForm)  Memo1:TMemo;  {添加Memo显示内容}  Button1:TButton;  Button2:TButton; ......