Vue国际化实战:轻松实现多语言切换

 main.js全局配置

import VueI18n from 'vue-i18n'

import { messages } from '@/static/js/locales.js' // 你的翻译文件

Vue.use(VueI18n)

const i18n = new VueI18n({

  locale: 'en', // 设置默认语言

  messages, // 设置翻译信息

  silentTranslationWarn: true // 忽略翻译警告

})

new Vue({

  i18n,

  router,

  store,

  render: (h) => h(App)

}).$mount('#app')

 message.js文件

import en from './en';
import zh from './zh';

export const messages = {
  en,
  zh
};

zh.js文件 

export default {
  中国: '中国'
}

en.js文件 

export default {
  中国: 'China'
}

 应用文件

<div class="title" :class="$i18n.locale == 'zh' ? '' : 'title-en'">{{ $t('中国') }}</div>

<style lang="scss" scoped>
.title {
   width: 128px;
   height: 18px;
   font-family: Alibaba PuHuiTi;
   font-weight: 400;
   font-size: 18px;
   color: #FFFFFF;
   position: absolute;
   right: 0px;
   top: 24px;
 }
 .title-en {
     width: 148px;
     font-size: 12px !important;
     //可分别配置样式
 }
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值