Vue中使用$t(‘xxx‘)实现中英文切换;

(原文链接)

介绍

{{$t('key')}} :是VueI18n插件提供的函数,主要用于根据当前语言环境返回对应的翻译文本,以便在页面上显示多语言内容。
key:作为参数传递给函数$t()的字符串,用于指定需要翻译的文本的标识符或键值;这个标识符通常是一个在翻译文件中定义的键,用于查找对应的翻译文本。

工作原理

1.当调用$t(‘key’)时,VueI18n插件会根据当前语言环境和给定的’key’来查找对应的翻译文本;
2.VueI18n插件会检查当前语言环境下的翻译文件(通常是JSON格式的文件),根据’key’查找对应的翻译文本;
3.如果找到了匹配的翻译文本,则返回该文本;否则,返回默认文本或者’key’本身。

Demo

<template>
  <div class="support">
    <p>{{ $t('support') }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {};
  }
};
</script>

<style scoped>
/* 样式可以根据需求自定义 */
</style>

const i18n = new VueI18n({
  locale: 'zh',
  messages: {
    'zh': {
      hello: '你好',
      support: '技术支持:Vue.js 社区'
    },
    'en': {
      hello: 'hello',
      support: 'Technical Support: Vue.js Community'
    }
  }
});

步骤

案例:点击默认中文后切换为英文,如:中文变英文;首页变Home;职业生涯变Careers展示;
1.需要在main.js中引入vue-i18n(版本:"vue-i18n": "^9.2.2"

import i18n from './language'

2.浏览器的语言环境不同,相应设置不同的语言配置文件
在这里插入图片描述
3.创建不同语言标识对应的文件。
index.js:

import { createI18n } from "vue-i18n"; //引入vue-i18n组件
import zh from "./zh";
import en from "./en";
//注册i18n实例并引入语言文件

const i18n = createI18n({
    locale: localStorage.getItem("lang") || "en", // 语言标识(缓存里面没有就用中文)
    fallbackLocale: "zh", //没有英文的时候默认中文语言
    messages: {
        en, zh
    }
});

export default i18n;

en.js:

//创建英文语言包对象
export default {
	lang: '中文',
    menus: {
        Home: 'Home',
        Careers:'Careers',
    },
   
}

zh.js:

// 1、创建中文语言包对象
export default{
	lang: 'English',
    menus: {
        Home: '首页',
        Careers:'职业生涯',
    },
}

Demo.vue:

//来一个可以中英文切换按钮
<el-button class="item" type="text" @click="exchangeLanguage( this.$t('lang'))">
	<div>{{ this.$i18n.t('lang') }}</div>
</el-button>

<div class="item1" @click="aClick">{{ $i18n.t('menus.Home') }}</div>
<div class="item2" @click="jump">{{ $i18n.t('menus.Careers') }}</div>
data() {
    return {
      zh: this.$i18n.locale.includes("z"),
      en: this.$i18n.locale.includes("e"),
	}
},
created() {
    window.localStorage.setItem("lang", this.$i18n.locale);
    console.log("zh还是en" ,this.$i18n.locale)
    },

methods: {
	//点击导航在新窗口显示目标网页
    aClick() {
      if (item.value === "menus.Home"){
        this.$router.push({ name: 'demo1Path' });//首页
      }
    },
	jump() {
        let route = this.$router.resolve({name: 'demo2Path'});
        window.open(route.href, '_blank');//职业生涯
      },
    //点击切换中英文
    exchangeLanguage(value) {
      if (value === 'English') {
        this.$i18n.locale = 'en';
        //localStorage.setItem 将 "lang" 的值设置为 "en",使用 i18n 的英文作为默认语言
        localStorage.setItem("lang", "en");
      } else if (value === '中文') {
        this.$i18n.locale = 'zh';
         //localStorage.setItem 将 "lang" 的值设置为 "zh",使用 i18n 的中文作为默认语言
        localStorage.setItem("lang", "zh");
      }
      console.log("this.$i18n.locale:是en还是zh", this.$i18n.locale)
    },
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/605219.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uni-app实战在线教育类app开发

随着移动互联网的快速发展&#xff0c;教育行业也在不断向在线化、数字化方向转型。开发一款功能丰富、用户体验优秀的在线教育类 App 对于满足学习者需求、促进教育行业的发展至关重要。本文将介绍如何利用 Uni-App 进行在线教育类 App 的开发&#xff0c;让您快速上手&#x…

svg画扇形进度动画

有人问下面这种图好怎么画&#xff1f;svg 想了下&#xff0c;确实用svg可以&#xff0c;可以这么设计 外层是一个容器放置内容&#xff0c;并且设置overflow:hidden&#xff0c; 内层放一个半径大于容器宽高一半的svg&#xff0c;并定位居中&#xff0c;然后svg画扇形&#x…

如何评估大模型音频理解能力-从Gemini说起

Gemini家族包含Ultra、Pro和Nano三种大小的模型是谷歌开发的大型多模态人工智能模型&#xff0c;它在人工智能的多模态领域实现了重大突破&#xff0c;结合了语言、图像、音频和视频的理解能力。 Gemini的性能评估情况如下&#xff1a; Gemini模型的评估的具体指标从文本理解能…

量化地形处理

1: 量化地形切片&#xff1a;GDAL查询数据&#xff1b;CTB算法转mesh&#xff1b;高度图需要和周围高度图边界做高度融合&#xff0c;四顶点需要做平均值融合&#xff1b;法线想要在前端显示正确必须将mesh坐标转为4326或者3857&#xff1b; 这个使用开源即可&#xff1a;cesi…

【进程间通信】共享内存

文章目录 共享内存常用的接口指令利用命名管道实现同步机制总结 System V的IPC资源的生命周期都是随内核的。 共享内存 共享内存也是为了进程间进行通信的&#xff0c;因为进程间具有独立性&#xff0c;通信的本质是两个不同的进程看到同一份公共资源&#xff0c;所以共享内存…

数仓开发,分层(ods,dw,app层)

1、从数据源中导入源数据&#xff0c;到ODS表&#xff0c;作为事实表的数据 2、可以根据自己的开发设计&#xff0c;是否单独分支出来一个维度表&#xff0c;帮助和协助处理源数据表ODS层 和需求层ADS&#xff08;APP&#xff09;层 3、现在我们有了一个事实ODS层&#xff0…

【R语言】边缘概率密度图

边缘概率密度图是一种在多变量数据分析中常用的图形工具&#xff0c;用于显示每个单独变量的概率密度估计。它通常用于散点图的边缘&#xff0c;以便更好地理解单个变量的分布情况&#xff0c;同时保留了散点图的相关性信息。 在边缘概率密度图中&#xff0c;每个变量的概率密度…

Linux-信号保存

1. 概念 进程执行信号的处理动作&#xff0c;称为 信号递达&#xff08;Delivery&#xff09; 信号从产生到递达之间的状态&#xff0c;称为 信号未决&#xff08;Pending&#xff09; 进程可以选择 阻塞&#xff08;Block&#xff09;某个信号 过程&#xff1a; 信号产生 ——…

Java的BIO/NIO/AIO

1. Java中的BIO、NIO和AIO的基本概念及其主要区别 BIO (Blocking I/O): 传统的同步阻塞I/O模型。每个连接创建成功后都需要一个线程来处理&#xff0c;如果连接没有数据可读&#xff0c;则线程会阻塞在读操作上。这种模型简单易理解&#xff0c;但在高并发环境下会消耗大量系统…

苹果Mac用户下载VS Code(Universal、Intel Chip、Apple Silicon)哪个版本?

苹果macOS用户既可以下载通用版&#xff08;Universal&#xff09;&#xff0c;软件将自动检测用户的处理器并进行适配。 也可以根据型号下载对应CPU的版本&#xff1a; 使用Intel CPU的Mac电脑可下载Intel Chip版本&#xff1b; 使用苹果自研M系列CPU的Mac电脑下载Apple Si…

Animation: (1) animatedline

目录 示例1&#xff1a;显示线条动画示例2&#xff1a;指定动画线条颜色示例3&#xff1a;指定日期时间和持续时间值示例4&#xff1a;设置最大点数示例5&#xff1a;批量添加点以生成快速动画示例6&#xff1a;使用drawnow limitrate创建快速动画示例7&#xff1a;定时更新屏幕…

如何获取中国各省市区的边界

前几个专栏我介绍了获取各流域边界的方法&#xff0c;可参见以下的文章&#xff1a; 格林兰岛和南极洲的流域边界文件下载-CSDN博客 读取shp文件中的经纬度坐标-CSDN博客 读取谷歌地球的kml文件中的经纬度坐标_谷歌地球识别穿过矿区的公路,并获取公路的经纬度坐标-CSDN博客 关于…

docker-compose部署gitlab

需要提前安装docker和docker-compose环境 参考&#xff1a;部署docker-ce_安装部署docker-ce-CSDN博客 参考&#xff1a;docker-compose部署_docker compose部署本地tar-CSDN博客 创建gitlab的数据存放目录 mkdir /opt/gitlab && cd mkdir /opt/gitlab mkdir {conf…

算法学习Day2——单调栈习题

第一题&#xff0c;合并球 题解&#xff1a;一开始写了一次暴力双循环&#xff0c;直接O(n^2)严重超时&#xff0c;后面于是又想到了O(n)时间复杂度的链表&#xff0c;但是还是卡在 最后一个数据会TLE&#xff0c;我也是高兴的拍起来安塞腰鼓和华氏护肤水&#xff0c;后面学长给…

内网安全【2】——域防火墙/入站出站规则/不出网隧道上线/组策略对象同步

-隧道技术&#xff1a;解决不出网协议上线的问题(利用出网协议进行封装出网)&#xff08;网络里面有网络防护&#xff0c;防火墙设置让你不能正常访问网络 但有些又能正常访问&#xff0c;利用不同的协议tcp udp 以及连接的方向&#xff1a;正向、反向&#xff09; -代理技术&…

《ESP8266通信指南》13-Lua 简单入门(打印数据)

往期 《ESP8266通信指南》12-Lua 固件烧录-CSDN博客 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP8266通信指南》10-MQTT通信&#xff08;Arduino开发&#xff09;-CSDN博客 《ESP8266通信指南》9-TCP通信&#xff08;Arudino开发&#xff09;-CSDN博客 《ESP82…

数据库管理-第185期 23ai:一套关系型数据干掉多套JSON存储(20240508)

数据库管理185期 2024-05-08 数据库管理-第185期 23ai:一套关系型数据干掉多套JSON存储&#xff08;20240508&#xff09;1 上期示例说明2 两个参数2.1 NEST/UNNEST2.2 CHECK/NOCHECK 3 一数多用3.1 以用户维度输出订单信息3.2 以产品维度3.3 以产品种类维度 4 美化输出总结 数…

出差——蓝桥杯十三届2022国赛大学B组真题

问题分析 该题属于枚举类型&#xff0c;遍历所有情况选出符合条件的即可。因为只需要派两个人&#xff0c;因此采用两层循环遍历每一种情况。 AC_Code #include <bits/stdc.h> using namespace std; string str;//选择的两人 bool ok(){if(str.find("A")!-1…

SwiGLU激活函数

SwiGLU激活函数已经成为LLM的标配了。它是GLU的变体&#xff0c;公式如下&#xff1a; SwiGLU ⁡ ( x , W , V , b , c , β ) Swish ⁡ β ( x W b ) ⊗ ( x V c ) \operatorname{SwiGLU}(x, W, V, b, c, \beta)\operatorname{Swish}_\beta(x Wb) \otimes(x Vc) SwiGLU(x,…

CSS---复合选择器和元素显示模式(三)

一、CSS的复合选择器 1.1 什么是复合选择器 在CSS中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基本选择器进行组合形成的。 复合选择器是由两个或多个基础选择器连写组成&#xff0c;它…