vue3 + i18n 实现国际化并动态切换语言

news2024/9/22 1:54:54

安装

npm install vue-i18n

在这里插入图片描述

// index.ts
import { createI18n } from 'vue-i18n'
// 语言包
import ch from './ch'
import en from './en'

const lang = localStorage.getItem('localeLangD') || 'ch'
if (!localStorage.getItem('localeLangD')) {
  localStorage.setItem('localeLangD', lang)
}

const i18n = createI18n({
  legacy: false, // 设置为 false,启用 composition API 模式
  locale: en,
  messages: {
    ch,
    en
  }
})
export default i18n

// 中文语言包
export default {
  tips: {
    placeholder: '通过文件名、正文、创建者搜索文档',
    switchLange: '点击切换语言'
  },
  button: {
    ch: '中文',
    en: '英文',
    fileName: '文件名',
    fileContent: '正文',
    fileType: '类型'
  }
}

main.js引入

import i18n from '@/lang/index'

.use(i18n)

切换语言的方法:

    const switchLangFn = (value: string) => {
      console.log(value)
      if (value === 'ch') {
        localStorage.setItem('localeLangD', 'ch')
      } else if (value === 'en') {
        localStorage.setItem('localeLangD', 'en')
      }
      location.reload()
    }

HTML中使用

{{ $t('tips.switchLange') }}

外部 js 文件使用:

import i18n from "@/lang/index";

const tips = i18n.global.t('tips.switchLange') 

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

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

相关文章

linux文本命令:文本处理工具awk详解

目录 一、概述 二、基本语法 1、awk 命令的基本语法 2、常用选项 3、获取帮助 三、工作原理 四、 功能特点 五、分割字段 六、 示例 1. 打印所有行 2. 计算总和 3. 过滤特定模式 4. 使用多个模式 5. 复杂的脚本 6. 自定义分隔符 7. 打印指定列 8. 使用 BEGIN …

微信小程序教程011-1:京西购物商城实战

文章目录 1、起步1.1 uni-app简介1.2 开发工具1.2.1 下载HBuilderX1.2.2 安装HBuilderX1.2.3 安装scss/sass编译1.2.4 快捷键方案切换1.3 创建uni-app项目1.4 目录结构1.5 把项目运行到微信开发者工具1.6 使用Git管理项目1.6.1 本地管理1.6.2 把项目托管到码云1、起步 1.1 uni…

【Unity】3D功能开发入门系列(五)

Unity3D功能开发入门系列(五) 一、预制体(一)预制体(二)预制体的创建(三)预制体实例(四)预制体的编辑 二、动态创建实例(一)动态创建实…

2024/8/4 汇川变频器低压产品分类选型

VF就是通过电压、频率控制 矢量就是通过开环(svc)和闭环(fvc) MD310、MD200 开环,不支持闭环,无法接编码器 290 、200s、280、都是VF控制

有哪些供应链管理方法?详解四种常用的供应链管理方法!

在当今复杂多变的商业环境中,供应链管理已成为企业获取竞争优势的关键。有效的供应链策略不仅能提升企业的响应速度和市场适应性,还能显著降低成本、提高效率。本文将深入探讨几种主流的供应链管理方法,包括快速反应、有效客户反应、基于活动…

LeetCode 0572.另一棵树的子树:深搜+广搜(n^2做法就能过,也有复杂度耕地的算法)

【LetMeFly】572.另一棵树的子树:深搜广搜(n^2做法就能过,也有复杂度耕地的算法) 力扣题目链接:https://leetcode.cn/problems/subtree-of-another-tree/ 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 s…

DEBUG:sw模板不对

问题 sw自带模板不合适 解决 工具 选项 文件位置 自己新建一个文件夹 放入模板 (三维 二维各一个 一般就是统一标准 可以自己新建个模板)

深度学习笔记(神经网络+VGG+ResNet)

深度学习 主要参考博客常用英语单词 概念应用神经网络基础神经网络基本结构 超参数超参数是什么常用超参数超参数搜索过程常用超参数调优办法(通过问题复杂度和计算资源选择) 激活函数介绍为什么要使用激活函数推荐博客 sigmoid激活函数(使用…

【教程-时间序列预测】PyTorch 时间序列预测入门

文章目录 from博客: https://zhajiman.github.io/post/pytorch_time_series_tutorial/#%E9%AB%98%E7%BA%A7%E6%96%B9%E6%B3%95%E8%87%AA%E5%9B%9E%E5%BD%92%E6%A8%A1%E5%9E%8B 数据集产生 窗口 也是难点!

工作中,如何有效解决“冲突”?不回避,不退让才是最佳方式

职场里每个人都在争取自己的利益,由于立场的不同,“冲突”不可避免。区别在于有些隐藏在暗处,有些摆在了台面上。 隐藏在“暗处”的冲突,表面上一团和气,实则在暗自较劲,甚至会有下三滥的手段;…

常见API(二)

API 应用程序编程接口,提高编程效率。本次学习了Object类,Objects工具类,包装类,StringBuilder,StringBuffer,和StringJoiner。 目录 1.Object 常见方法: 2.Objects 常见方法: 3…

AcWing开放地址法和拉链法

开放地址法&#xff0c;把h数组全部设置为3f&#xff0c;然后设定null为0x3f3f3f3f&#xff0c;find函数设定返回值t&#xff0c;如果h[t]null,那么x在h中不存在&#xff0c;否则为存在 #include<iostream> #include<cstring> #include<string> #define LEN…

在Vue3中如何为路由Query参数标注类型

前言 最近发布了一款支持IOC容器的Vue3框架&#xff1a;Zova。与以往的OOP或者Class方案不同&#xff0c;Zova在界面交互层面仍然采用Setup语法&#xff0c;仅仅在业务层面引入IOC容器。IOC容器犹如一把钥匙&#xff0c;为我们打开了业务工程化的大门&#xff0c;允许我们探索…

Linux网络编程2

TCP编程 顺序图 socket() 函数 socket()函数用于创建一个新的套接字。它是进行网络编程的第一步&#xff0c;因为所有的网络通信都需要通过套接字来进行。 原型&#xff1a; #include <sys/socket.h> int socket(int domain, int type, int protocol); domain&…

使用Go语言绘制饼图的教程

使用Go语言绘制饼图的教程 在本教程中&#xff0c;我们将学习如何使用Go语言及gg包绘制饼图&#xff0c;并将其保存为PNG格式的图片。饼图是一种常用的数据可视化图表&#xff0c;用于展示数据的比例关系和组成部分。 安装gg包 首先&#xff0c;确保你已经安装了gg包。如果还…

前端的学习-CSS(七)

一&#xff1a;定位(position) 1&#xff1a;为什么使用定位。 有一些固定的盒子&#xff0c;并且压在其他盒子上面&#xff0c;一些网页&#xff0c;会有固定的窗口&#xff0c;这些是标准流和浮动无法解决的&#xff0c;比如下面的例子。旁边的红色边框的效果是不会随着页面的…

汇昌联信数字做拼多多运营怎么入行?

拼多多作为中国领先的电商平台之一&#xff0c;近年来在数字运营领域展现出了强大的生命力和创新能力。汇昌联信数字作为一个潜在的新入行者&#xff0c;如何进入拼多多的运营领域&#xff0c;成为业界关注的焦点。本文旨在探讨汇昌联信数字如何通过有效的策略和方法&#xff0…

hal库回调函数机制

1. 第一行就是标准库函数的 在 nvic那个中断向量表里面的函数 以前写的都是 在中断向量表里面把这个中断处理函数重写 2. 第二行 第三行 的 hal库就是 通过中断向量表里面的这个函数 &#xff0c;再一次调用hal自己的中断回调函数&#xff0c;就是相当于多封装了两层 这个图更…

局部整体(二)利用python绘制维恩图

局部整体&#xff08;二&#xff09;利用python绘制维恩图 维恩图&#xff08; Venn Diagram&#xff09;简介 维恩图显示集与集之间所有可能存在的逻辑关系&#xff0c;每个集通常以一个圆圈表示&#xff0c;每个集都是一组具有共同之处的物件或数据。当多个圆圈&#xff08;…

【Material-UI】File Upload Button 组件详解

文章目录 一、基础实现1. component"label"2. 隐藏的输入元素 二、样式和交互增强1. 自定义按钮样式2. 交互提示 三、支持多文件上传四、无障碍性&#xff08;Accessibility&#xff09;1. 提供 aria-label 或 aria-labelledby2. 支持键盘导航 五、高级用法和集成1. …