首页前端开发VUEvue多语言转换的几种方法总结

vue多语言转换的几种方法总结

时间2024-02-11 03:05:03发布访客分类VUE浏览452
导读:收集整理的这篇文章主要介绍了vue多语言转换的几种方法总结,觉得挺不错的,现在分享给大家,也给大家做个参考。 目录一、静态转换使用方式二、vue-i18n按字查询替换使用总结一、静态转换...
收集整理的这篇文章主要介绍了vue多语言转换的几种方法总结,觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
  • 一、静态转换
    • 使用方式
  • 二、vue-i18n按字查询替换
    • 使用
  • 总结

    一、静态转换

    • 使用 Vue 插件 language-tw-loader
    • 在打包时把本地的文字转换成繁体,动态加载的文字不会转换。也就是说接口返回的文字不会自动转换。
    • 打包后无法再切换为简体。除非专门打一个简体的包。

    使用方式

    1、安装插件

    npm i language-tw-loader --save

    2、修改 webpack 配置文件webpack.base.conf.js

    module: {
    rules: [    ......  {
        test: /\.(js|vue)$/,    loader: 'language-tw-loader',  }
      ]}
        

    3、打包或者运行

    npm run dev

    此方法不适用于vue-cli3 

    二、vue-i18n按字查询替换

    1、安装

    npm install vue-i18n

    2、然后在我们的项目中的statics文件夹下面添加i18n文件夹,然后在文件夹中新建我们的json格式的语言包目录大致为:

    en.js

    module.exports = {
      login:{
          'tITle' : 'this title',      'username' : 'Please enter the user name',      'password' : 'Please enter your password',  }
    ,}
        

    zh.js

      module.exports = {
        LOGin:{
            'title' : '标题',        'username' : '请输入用户名',        'password' : '请输入密码',    }
    ,}
        

    在i18n.js中引入i18n和语言包

    import Vue From 'vue'import Vuei18n from 'vue-i18n'Vue.use(VueI18n) // 以下为语言包单独设置的场景,单独设置时语言包需单独引入const messages = {
      'zh_CN': require('../statics/i18n/zh'),   // 中文语言包  'en_US': require('../statics/i18n/en')    // 英文语言包}
     // 最后 export default,这一步肯定要写的。export default new VueI18n({
      locale : 'en', // set locale 默认显示英文  messages : messages // set locale messages}
        )

    然后在main.js中挂载至入口文件

    - main.js//注意,因为我们index.js中把i18n绑定到了window,所以要在第一个引入import i18n from './locales'import Vue from 'vue'import App from './App.vue'import './common.scss' const app = new Vue({
      components: {
        App  }
        ,  i18n,  render: h =>
     h(App),}
        );
        

    使用

    template>
          div id="pageDiv">
            section class="content">
              h3>
    {
    {
    $t("login.title")}
    }
        /h3>
              button @click='langToggle'>
        切换语言/button>
            /section>
          /div>
        /template>
        script>
    export default {
      data() {
        return {
        }
        ;
      methods: {
        langToggle(){
          if(this.$i18n.locale == 'zh_CN'){
                this.$i18n.locale = 'en_US';
          }
    else{
                this.$i18n.locale = 'zh_CN';
          }
          console.log(this.$i18n.locale)    }
      }
    ,  mounted(){
      }
    ,  created() {
      }
    }
        ;
        /script>
        

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    @H_742_126@您可能感兴趣的文章:
    • vue项目实现多语言切换的思路
    • Vue中使用vue-i18插件实现多语言切换功能
    • 利用vue-i18n实现多语言切换效果的方法

    声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


    若转载请注明出处: vue多语言转换的几种方法总结
    本文地址: https://pptw.com/jishu/609236.html
    vue3和ts封装axios以及使用mock.js详解 vue中$refs的三种用法解读

    游客 回复需填写必要信息