1. 设置国际化匹配文字:

locales/zh.json: (locales/en.json 英文同理)

{"topbar": {"home": "首页","pin": "沸点","topic": "话题","book": "小册","search": "搜索"},"menu": {"home": "我的主页","label": "标签管理","logout": "登出","login": "登录"}
}

2. 设置vue-i18n国际化插件:(用户通过改变locale,使$t(‘topbar.name’)输出不同语言)

plugins/i18n.js:

import Vue from "vue"
import VueI18n from "vue-i18n"
Vue.use(VueI18n)
export default ({ app }) => {app.i18n = new VueI18n({locale: app.$cookies.get('lang') || 'zh',  //通过cookie设置国际化(用户选择一次终身不切换)fallbackLocale: 'zh',   //默认国际化messages: {en: require('~/locales/en.json'),zh: require('~/locales/zh.json')}})
}

3. 国际化保存至vuex:

store/locale.js:

export default {state: () => ({locales: ['zh', 'en'],locale: 'zh'    }),mutations: {SET_LANG(state, locale) {  //用于更改当前国际化if (state.locales.includes(locale)) {state.locale = locale}}}
}

4. 配置路由中间件:

middleware/i18n.js:

export default ({ isHMR, app, store, error }) => {if ( isHMR ) return  //是否是通过模块热替换 webpack hot module replacement (仅在客户端以 dev 模式)const locale = app.$cookies.get('lang') || app.i18n.fallbackLocaleif (!store.state.locale.locales.includes(locale)) {return error({ message: 'This page could not be found.', statusCode: 404 })}store.commit('locale/SET_LANG', locale)app.i18n.locale = locale
}

5. 配置到路由中间件内:

nuxt.config.js:

export default {...router: {  //路由配置middleware: ['i18n']  //路由中间件},plugins: ['~/plugins/i18n.js',  //添加至插件],
}

6.vue使用国际化i18n:

//页面使用:  (若:item.name = 'home', 则:'<div>首页</div>')
<div>{{ $t('topbar.'+item.name) }}</div>// 切换语言
computed: {...mapState('locale', [ 'locale' ]),
},
methods: {...mapMutations({ 'SET_LANG': 'locale/SET_LANG' }),switchLocale() {let locale = this.locale === 'zh' ? 'en' : 'zh'this.$i18n.locale = localethis.SET_LANG(locale)   //or this.$store.commit('locale/SET_LANG', locale)this.$cookies.set('lang', locale)}
}

nuxtjs 国际化i18n相关推荐

  1. springMVC项目国际化(i18n)实现方法

    SpringMVC项目国际化(i18n)实现方法 按照作息规律,每周五晚必须是分享知识的时间\(^o^)/~,这周讲点儿啥呢,项目需要逼格,咱们国际化吧(* ̄rǒ ̄)~,项目中碰到这类需求的童鞋可能并 ...

  2. javaweb学习总结(三十一)——国际化(i18n)

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...

  3. Python中国际化(i18n)完整指南

    这是一个完整的指南,展示了如何为一个Python应用程序进行国际化(i18n).当我在handroll项目中添加i18n时,我很难找到支持其他语言的明确建议.这是我个人的一点经验,解释了我是如何做到这 ...

  4. java i18n实例_Java国际化(i18n)格式化日期

    本篇文章帮大家学习java国际化(i18n)格式化日期,包含了Java国际化(i18n)格式化日期使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. DateFormat类提 ...

  5. Docker+Nginx部署Angular国际化i18n

    Docker+Nginx部署Angular国际化i18n 在Angular项目中添加default.conf文件 default.conf 为了支持局域网,增加一个域名,即本地的局域网ip地址. se ...

  6. spring 国际化-i18n

    i18n(其 来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是"国际化"的简称.在资讯领域,国际化(i18n)指让产品(出版 物,软 ...

  7. 深入分析JavaWeb Item22 -- 国际化(i18n)

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...

  8. 项目国际化I18N多语言切换

    作为国际化的门户网站,支持多种不同的语言,以方便不同国家,不同语种的用户访问尤其重要,目前通过Vue I18n已实现中英文自由切换. 一.了解I18N 1.什么是I18N i18n(其来源是英文单词 ...

  9. windows下安装python的i18n_python国际化(i18n)和中英文切换

    [1.到Flex SDK3.2的bin下运行命令:copylocale en_US zh_HK 2.在flex project下创建一个文件夹locale(与src同目录),在locale下分别创建e ...

最新文章

  1. FIND_IN_SET 精确查找
  2. linux修改jdk环境变量6,Linux CentOS 6.5 使用自带jdk修改环境变量(示例代码)
  3. 漫步者蓝牙驱动_2020年知乎最受欢迎的高性价比真无线蓝牙耳机推荐,轻松选择蓝牙耳机(9月最新)!...
  4. Java并发编程 - Executor,Executors,ExecutorService, CompletionServie,Future,Callable
  5. ICPC 2019-2020 North-Western Russia Regional Contest 补题部分
  6. WebService初入
  7. 21道Python经典面试题,助你offer拿到手软!
  8. NGINX 笔记 - GeoIP 限制策略配置
  9. 算法设计与分析(屈婉玲)pdf
  10. 混凝土静力受压弹性模量试验计算公式_C50混凝土静力受压弹性模量试验报告
  11. 计算机应用基础搜题答案,大一计算机应用基础试题及答案
  12. 计算机课flash课件,flash课件在计算机教学过程中的应用
  13. sqlmap自动化注入工具使用浅析
  14. oracle 统计标准误差,标准偏差和标准误差的区别
  15. 内存保护单元(Memery Protection Unit)
  16. Dell笔记本(预装win10)重装win7的方法
  17. 版权所有者删除链接要求大部分被尊重 谷歌去年共删3.45亿个侵权
  18. KDRB-ZC变压器绕组阻抗测试仪
  19. framework层加了打印信息打印intent传递的数据,报错:ActivityManager: Activity Manager Crash. UID:10074 PID:7444 TRANS:3
  20. Linux Socekt 相关操作代码

热门文章

  1. Android ExpandableList扩展用法
  2. CTF常用知识点整理(个人刷题中整理)
  3. 如何用powerPCB设定4层板的层?-道合顺大数据Infinigo
  4. 超异构融合:边缘计算腾飞的契机
  5. 网上评卷系统无法连接服务器,网上阅卷系统上传到系统服务器判卷
  6. html表单通过js提交表单提交,JavaScript动态创建form表单并提交的实现方法
  7. 什么是 SYN 洪水攻击?如何防护?
  8. java to ee_JavaEE的技术结构
  9. kali linux 字体大小,kali linux字体渲染和infinality安装配置
  10. 大型游戏服务器架构该怎么设计?