Vue实现多语言(i18n)

这篇具有很好参考价值的文章主要介绍了Vue实现多语言(i18n)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一步

安装i18n插件。

npm install vue-i18n

第二步

在src目录下,创建一个【language】文件夹,并创建两个语言包js文件。
中文语言包:【zh.js】
英文语言包:【en.js】
Vue实现多语言(i18n),vue.js,javascript,ecmascript

第三步

完善en.js文件和zh.js文件。两个文件的结构要相同。如果用Element-UI,这里导入。
en.js

import enLocale from 'element-ui/lib/locale/lang/en'
const en = {
    'system' : {
        'home' : 'Home'
    },
    'button': {
        'login': 'Login'
    },
    'table' : {

    },
    'detail' : {

    },
    ...enLocale
}
export default en

zh.js

import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
const zh = {
    'system' : {
        'home' : '首页'
    },
    'button': {
        'login': '登陆'
    },
    'table' : {

    },
    'detail' : {

    },
    ...zhLocale
}
export default zh

第四步

在main.js引入插件。

//i18n插件
import VueI18n from 'vue-i18n';
// element-ui多语言文件
import locale from 'element-ui/lib/locale';

// 本地多语言文件
import zh from "./language/zh";
import en from "./language/en";


Vue.use(VueI18n);

const i18n = new VueI18n({
    locale: sessionStorage.getItem('locale') || 'zh',
    messages: {
        zh: zh,
        en: en
    }
});


locale.i18n((key, value) => i18n.t(key, value))

new Vue({
    router,
    i18n,
    render: h => h(App)
}).$mount('#app');

第五步

在页面上使用和切换。
使用:

<el-button type="primary" @click="submitForm()">{{$t("button.login")}}</el-button>

切换:文章来源地址https://www.toymoban.com/news/detail-552537.html

switchLanguage() {
    //先获取当前语言,
   var locale = sessionStorage.getItem('locale') || 'zh';
   if(locale == 'en') {
       this.$i18n.locale = 'zh';
       sessionStorage.setItem('locale','zh');
   } else {
       this.$i18n.locale = 'en';
       sessionStorage.setItem('locale','en');
   }
}

到了这里,关于Vue实现多语言(i18n)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • next.js app目录 i18n国际化简单实现

    最近在用next写一个多语言的项目,找了好久没找到简单实现的教程,实践起来感觉都比较复杂,最后终于是在官方文档找到了,结合网上找到的代码demo,终于实现了,在这里简单总结一下。 此教程适用于比较简单的项目实现,如果你是刚入门next,并且不想用太复杂的方式去

    2024年04月22日
    浏览(30)
  • Vue3中,国际化插件vue-i18n使用记录,配合VSCode自动化翻译插件i18n Ally

    说明文档: vue-i18n 版本说明: vue: 3.0.0+ vue-i18n: 9.x版 src 目录下新建目录 lang ,存放 i18n 的配置。 新建目录名称: lang (语言)、 locales (语系设定)、 i18n ,这些名称都可被VSCode图标插件( vscode-icons )检测到并美化。 lang 目录下,新建 index.js 文件,引入 vue-i18n 。 语言的配置信

    2024年02月12日
    浏览(30)
  • i18n多国语言Internationalization的实现

    i18n 是\\\"Internationalization”的缩写,这个术语来源于英文单词中首尾字母“”和“n”以及中间的字符数(共计18个字符) 当我们需要开发不同语言版本时,就可以使用i18n多国语言的一个操作处理,i18n主要实现那一方面的内容呢?例如: 文本内容本地化、日期/时间格式、货币与度

    2024年01月16日
    浏览(31)
  • i18n(国际化)代码简单实现

    各个国家都有各个国家的语言,如果网站需要让全世界的人使用,那就需要进行国际化功能开发 国际化我知道的一共有两种,其中一种是不同国家不同网站,也就是说页面风格都不一样。另外一种是网站都是一样的,只是里面的文字不同罢了。第一种没啥好说了,毕竟都是两

    2024年02月07日
    浏览(49)
  • Next实现 i18n 传递 locales 给 getStaticPaths

    在 Next.js 中实现国际化( i18n )时,可以通过配置 next.config.js 文件来传递 locales 给 getStaticPaths 函数。下面是一个示例代码,演示如何在 next.config.js 中配置 locales ,并在 getStaticPaths 中获取并使用这些 locales : 1、配置 next.config.js 文件: 2、在页面组件中使用 getStaticPaths : 在

    2024年04月24日
    浏览(23)
  • 【angular】实现简单的angular国际化(i18n)

    实现简单的angular国际化。本博客实现中文版和法语版。 将 Hello i18n! 变为 中文版:你好 i18n! 或 法语版:Bonjour l’i18n ! 。 创建一个项目: 在集成终端中打开。 添加本地化包: 在html中添加格式化标识: 现在运行一下,页面是: 生成翻译模板语言包: 生成了一个文件夹: l

    2024年02月08日
    浏览(41)
  • SpringBoot - SpringBoot整合i18n实现消息国际化

    在我们开发WEB项目的时候,项目可能涉及到在国外部署或者应用,也有可能会有国外的用户对项目进行访问,那么在这种项目中, 为客户展现的页面或者操作的信息就需要根据客户系统的环境来使用不同的语言,这就是我们所说的项目国际化。 1. MessageSource源码 Spring中定义了

    2024年02月03日
    浏览(41)
  • Spring之国际化:i18n

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好

    2024年02月03日
    浏览(48)
  • nuxt使用i18n进行中英文切换

    中文效果图: 英文效果图: 版本: 安装:  新建en.js与zh.js两个文件进行切换显示 en.js内容  zh.js内容: 在plugins下新建i18n.js i18n.js内容:  在nuxt.config.js引入i18n.js 切换按钮( 两种切换方式选择一种即可 ) 页面展示 有导航的需要在导航切换的时候处理一下相关内容:

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包