什么是$t?$t的介绍及使用

news2025/1/20 14:57:45

目录

$t介绍:

作用:

安装国际化插件:

创建国际化资源文件

 配置 vue-i18n :

 切换语言:

下面为中文和英文状态下的效果:


如下面所示,这是一段前端代码:

<el-form-item :label="$t('extend.billingDesc')"
                          prop="billingDesc">
              <el-input size="small"
                        v-model="siteForm.billingDesc" />
            </el-form-item>

第一眼看到这个代码的时候,你应该能肯定这个是form表单的label显示的文字,

大概知道这个$t,是一个全局的方法或者哪里引入的东西

$t介绍:

$t 是一个通常用于国际化(i18n)的函数。具体来说,当你使用 Vue.js 并结合某些国际化库(如 vue-i18n)时,$t 函数被用来根据当前设置的语言环境(locale)返回相应的翻译文本

作用:

  1. 翻译文本$t 方法根据当前设置的语言环境(locale)和提供的键(key),返回对应的翻译文本。轻松地为应用提供多语言支持
  2. 动态翻译:由于 $t 方法是在运行时根据当前语言环境和键进行翻译的,因此它支持动态翻译。这意味着你可以根据用户的交互或应用的状态来改变显示的文本
  3. 可维护性:通过将文本与代码分离,并使用键来引用翻译文本,可以提高代码的可维护性。当需要修改或添加翻译时,只需更新国际化资源文件,而无需修改组件代码。

 当你直接复制文章前的代码到页面上去时,页面label的显示是会有问题的,如下图所示:

如果页面上的 label显示了 extend.billingDesc 而不是实际的翻译文本,那么很可能是国际化配置没有正确设置或者国际化资源文件没有正确加载

安装国际化插件:

(如果你还没有安装 vue-i18n 插件)

通过 npm 或 yarn 来安装:

npm install vue-i18n  
# 或者  
yarn add vue-i18n

创建国际化资源文件

在你的项目中创建一个目录(例如 src/i18n)来存放你的国际化资源文件。每个语言环境的资源文件都应该是一个 JavaScript 对象,其键是你要翻译的文本(如 extend.billingDesc),值是该文本在对应语言环境中的翻译。

如下图所示:

其中cn是中文,en是英文

代码例如:

//cn.js

module.exports = {
    language:'语言',
    rulesPage:{ //校验
      role:"角色不能为空",
      pickArea:"拣货库区不能为空",
      email:"请输入正确的邮箱地址",
      phone:"请输入正确的手机号码"
    },
    extend:{
      billingDesc:'账单描述'
    }
  }
//en.js
module.exports = {
    language:'language',
    rulesPage:{ //校验
      role:"The role cannot be empty",
      pickArea:"The picking warehouse area cannot be empty",
      email:"Please enter the correct email address",
      phone:"Please enter the correct phone number"
    },
    extend:{
      billingDesc:'billingDesc'
    }
 }

 配置 vue-i18n :

 引入自己搞的资源包,locale默认使用的包,下面为当你登录后,优先获取本地缓存的lang,再判断当前的用户需要什么语言,就是个语言环境持久化

当用户切换语言环境时,你可以把新的语言环境设置保存到这些存储机制中,并在应用启动时从它们中读取设置来恢复用户的语言环境偏好

//index.js

//引入
import VueI18n from 'vue-i18n'
import CN from './locale/cn'
import EN from './locale/en'
import Vue from 'vue'

//语言包对象
const messages = { EN , CN };

//需要创建一个 VueI18n 实例,并设置其 messages 属性为你的国际化资源文件。
Vue.use(VueI18n)
const i18n = new VueI18n({
//也可以通过使用浏览器的 sessionStorage 或 cookies 来实现。
//也可以用navigator.language 获取浏览器的语言,前提是你需要有这个语言的资源包哦,也可以对拿到的语言进行判断是否有此包,否则就默认中文
  locale: localStorage.lang||'CN',  //当前默认为中文
  messages,
});
//导出
export default i18n;

main.js:

//...
import i18n from './i18n/index';
//...
new Vue({
  el: '#app',
  i18n,
  router,
  store,
  render: h => h(App)
})

 切换语言:

你可以通过修改 VueI18n 实例 locale 属性切换语言环境。

例如,this.$i18n.locale = 'EN' 将把当前的语言环境切换到英语。如果使用的本地缓存之类的话,修改本地缓存的数据就可以了,使用Vuex的话就掉用他里面的方法就行

一般使用点击事件就行,更好的就是在创建用户或者角色的时候选择他是哪国人,使用哪国语言就行了,一般用于国际化的平台,一般国内来讲的话,用中文就可以了,其实不需要这么麻烦。

下面为中文和英文状态下的效果:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 Linux / Ubuntu 上下载和安装 JMeter?

Apache JMeter 是一个开源的负载测试工具&#xff0c;可以用于测试静态和动态资源&#xff0c;确定服务器的性能和稳定性。在本文中&#xff0c;我们将讨论如何下载和安装 JMeter。 安装 Java&#xff08;已安装 Java 的此步骤可跳过&#xff09; 安装 Java 要下载 Java&…

序列到序列模型在语言识别Speech Applications中的应用 Transformer应用于TTS Transformer应用于ASR 端到端RNN

序列到序列模型在语言识别Speech Applications中的应用 A Comparative Study on Transformer vs RNN in Speech Applications 序列到序列(Seq2Seq)模型在语音识别(Speech Applications)中有重要的应用。虽然Seq2Seq模型最初是为了解决自然语言处理中的序列生成问题而设计的…

访客管理系统对于校园安全的重要性

校园访客办理计划是针对校园安全需求规划的安全办理体系&#xff0c;主要用于对校园外来人员的科学办理。要做好校园安全作业&#xff0c;把风险分子拒之门外尤为要害。校园访客办理计划实现访客实名制&#xff0c;并结合公安网、黑名单功用&#xff0c;对风险人员进行提前预警…

指针的奥秘(四):回调函数+qsort使用+qsort模拟实现冒泡排序

指针 一.回调函数是什么&#xff1f;二.qsort函数使用1.qsort介绍2.qsort排序整型数据3.qsort排序结构体数据1.通过结构体中的整形成员排序2.通过结构体中的字符串成员排序 三.qsort模拟实现冒泡排序 一.回调函数是什么&#xff1f; 回调函数就是一个通过函数指针调用的函数。 …

机器人系统ros2-开发实践07-将机器人的状态广播到 tf2(Python)

上个教程将静态坐标系广播到 tf2&#xff0c;基于这个基础原理这个教程将演示机器人的点位状态发布到tf2 1. 写入广播节点 我们首先创建源文件。转到learning_tf2_py我们在上一教程中创建的包。在src/learning_tf2_py/learning_tf2_py目录中输入以下命令来下载示例广播示例代码…

显卡、显卡驱动、CUDA、cuDNN、CUDA Toolkit、NVCC、nvidia-smi等概念的区别与联系

在科技日新月异的今天&#xff0c;显卡、显卡驱动、CUDA、cuDNN、CUDA Toolkit、NVCC、nvidia-smi等术语已经成为了科技领域的重要组成部分。本文旨在阐述这些术语之间的区别与联系&#xff0c;帮助您更好地理解它们在技术生态系统中的作用。 一、显卡 显卡&#xff0c;也称为…

利用PS在不伤背景的前提下根据颜色去除图像上不想要的内容

下面为一个例子&#xff0c;去除图像上红色的虚线 Step1.用套索工具框选带有颜色的部分 Step2.切换到魔术棒工具&#xff0c;上端选项中&#xff0c;点击与选区交叉&#xff0c;连续这一项不要勾选 Step3.在需要去除的部分点击一下即可在框选范围内选中所有同颜色的区域&#x…

“二代”接班进行时:达利食品许阳阳揭秘“零食大王”成长密钥

“二代接班”早已不是一个新鲜话题。近年来&#xff0c;随着时间的推移&#xff0c;那些伴随改革开放和中国制造崛起的民营企业&#xff0c;更多的正在经历或已完成“二代接班”。 “毛巾王子”家的洁丽雅&#xff0c;最近因大手笔签约多位代言人而引起讨论的九牧王&#xff0…

用python写算法——队列笔记

1.队列定义 队列是一种特殊的线性表&#xff0c;它只允许在表的前端进行删除操作&#xff0c;在表的后端进行插入操作&#xff0c;和栈一样&#xff0c;队列是一种操作受限制的线性表。进行插入操作的端称为队尾&#xff0c;进行删除操作的端称为队头。队列中没有元素时&#…

MATLAB的Bar3函数调节渐变色(内附渐变色库.mat及.m文件免费下载链接)

一. colormap函数 可以使用colormap函数&#xff1a; t1[281.1,584.6, 884.3,1182.9,1485.2; 291.6,592.6,896,1197.75,1497.33; 293.8,596.4,898.6,1204.4,1506.4; 295.8,598,904.4,1209.0,1514.6];bar3(t1,1) set(gca,XTickLabel,{300,600,900,1200,1500},FontSize,10) set…

机器学习周记(第三十八周:语义分割)2024.5.6~2024.5.12

目录 摘要 ABSTRACT 1 DeeplabV3实现思路 预测部分 ①主干网络介绍​编辑 ② 加强特征提取结构 ③ 利用特征获得预测结果 摘要 本周继续了语义分割的学习&#xff0c;主要学习了DeepLabV3的部分实现思路&#xff0c;即DeepLabV3的整个模型的预测过程&#xff0c;并通过代…

HCIP(BGP综合实验)--8

一&#xff1a;实验要求 二&#xff1a;实现过程 &#xff08;一&#xff09;配置IP地址&#xff1a; AR1: [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [AR1-GigabitEthernet0/0/0]int l0 [AR1-LoopBack0]ip add 172.16.0.1 32 [AR1-LoopBack0]int l1 […

vscode怎么设置背景图片?

vscode背景图片是可以自己设置的&#xff0c;软件安装后默认背景的颜色是黑色的&#xff0c;这是默认的设计&#xff0c;如果要修改背景为指定的图片&#xff0c;那么我们需要安装插件&#xff0c;然后再通过代码来设置背景图片的样式&#xff0c;下面我们就来看看详细的教程。…

【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”

看到这句话的时候证明&#xff1a;此刻你我都在努力~ 加油陌生人~ 个人主页&#xff1a; Gu Gu Study ​​ 专栏&#xff1a;一步一步了解Java 喜欢的一句话&#xff1a; 常常会回顾努力的自己&#xff0c;所以要为自己的努…

VScode 修改 Markdown Preview Enhanced 主题与字体

VScode 修改 Markdown Preview Enhanced 主题与字体 1. 修改前后效果对比2. 修改主题2.1 更改默认主题2.2 修改背景色 3. 修改字体 VS Code基础入门使用可查看&#xff1a; VS Code 基础入门使用&#xff08;配置&#xff09;教程 其他Vs Code 配置可关注查看&#xff1a; Vs C…

使用train.py----yolov7

准备工作 在训练之前&#xff0c;数据集的工作和配置环境的工作要做好 数据集&#xff1a;看这里划分数据集&#xff0c;训练自己的数据集。_划分数据集后如何训练-CSDN博客 划分数据集2&#xff0c;详细说明-CSDN博客 配置环境看这里 从0开始配置环境-yolov7_gpu0是inter g…

使用python撰写计算书

使用python撰写电路计算书 1、效果预览 下图是效果预览&#xff0c;可以写公式&#xff0c;画图&#xff0c;带单位计算 我们通常写计算书&#xff0c;使用mathcad或者maple等商业软件&#xff0c;但是个人使用可能还行&#xff0c;在很多公司是不允许使用破解版的。这时…

Spring Boot 自动装配

本篇主要介绍Spring Boot 自动装配的相关内容。 目录 一、什么是自动装配 二、Bean的扫描方式 ComponentScan Import ImportSelector接口 三、Spring Boot自动装配原理 一、什么是自动装配 在我们在创建Spring Boot项目时往往会根据项目需求&#xff0c;引入很多第三方…

分享一个处理大文件效率拉满的神器

&#x1f3c3;‍♂️ 微信公众号: 朕在debugger© 版权: 本文由【朕在debugger】原创、需要转载请联系博主&#x1f4d5; 如果文章对您有所帮助&#xff0c;欢迎关注、点赞、转发和订阅专栏&#xff01; 前言 系统当天有些表的数据需要恢复成前一天的样子&#xff0c;幸好有…

Redis 的主从复制

Redis 的主从复制 1、主从复制的实现2、主从复制的同步功能(PSYNC)2.1、部分重同步 本文讲解的Redis 主从复制机制&#xff0c;是基于 2.8及以后的版本而言&#xff0c;2.8以前的版本主从复制机制与此有所不同&#xff0c;请知悉。 Redis的复制功能分为 同步 (psync) 和 命令传…