使用VueI18n.js实现国际化

Vue安装VueI18n实现项目国际化 1、安装VueI8n 我是Vue2.x vue-cli所以命令时 npm install vuei18n 阅读详情

1、介绍

本文使用Vue.js、VueI18n.js和代码块封装了web国际化。
注意:type="module"是ES6新特性,因此有部分浏览还不支持,例如IE、360浏览器,支持的浏览器有Safari 10.1、Chrome 61、Firefox 60、Edge 16;代码块的使用(import、export);VueI18n的参数使用。
本文工程在github下载地址:https://github.com/MasonYyp/vueI18n-globalization

参考VueI18n.js官网API:http://kazupon.github.io/vue-i18n/started.html#html
此项目,可以将相关的方法和变量全部修改为function对象,不使用module,即可使用所有浏览器。

2、工程截图

  

3、源代码

3.1 index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <script type="text/javascript" src="./js/libs/vue-2.6.10.min.js" ></script>
        <script type="text/javascript" src="./js/libs/vue-i18n-8.14.0.min.js" ></script>
    </head>
    <body>
        <div id="nav">
            <button id="change_language" v-on:click="change_language">{{ $t("nav.change_language") }}</button>
            <ol>
                <li>{{ $t("nav.department_software") }}</li>
                <li>{{ $t("nav.department_computer_technology") }}</li>
            </ol>
        </div>
        <footer id="foot">{{ $t("foot.copyright") }}</footer>
    </body>
    <!-- 导入js 注意tpye -->
    <script type="module" src="./js/globalization.js" ></script>
</html>

3.2 globalization.js

// 导入配置文件
import configure from "../js/language/language_configure.js";

// 执行主函数
main()

function main(){
    globalization();
}

// 国际化
function globalization(){
    
    var i18n = configure.i18n;
        
    new Vue({
        el:"#nav",
        i18n: i18n,
        data(){
            return{
                count_local_code:configure.locale_code
            }
        },
        methods:{
            change_language(){
                if(this.count_local_code == configure.language_number){
                    this.count_local_code = 1;
                }else{
                    this.count_local_code = this.count_local_code + 1;
                }
                configure.change_language(this.count_local_code); 

               // 可以使用 $t调用语言中的参数,但是必须在Vue实例中调用

               // alert(this.$t("nav.department_software")); 
            }
        }
    });
    
    new Vue({ i18n }).$mount("#foot");
}

3.3 配置文件language_configure.js


import zh from "../language/messages_zh.js";
import en from "../language/messages_en.js";

/**
 * 设置语言
 * @param {Object} language 语言
 */
function set_language(language){
    // 保存语言设置
    sessionStorage.setItem("language", language);
    // 切换语言
    i18n.locale = language;
}

/**
 * 获得语言
 * Return 返回语言
 */
function get_language(){
    return sessionStorage.getItem("language");
}

/**
 * 获得VueI18n实例
 * Return 返回i18n实例和语言编码
 */
function get_i18n(){
    var messages_zh = zh.messages;
    var messages_en = en.messages;
    
    // 添加所有的语言
    var i18n_messages = {    
        zh:messages_zh,
        en:messages_en
    }
    
    // 设置语言
    var temp_locale = get_language();
    if(temp_locale == null){
        // 默认中文
        temp_locale = 'zh';
    }
    var temp_locale_code = get_language_code(temp_locale);
    
    // 实例化i18n
    var temp_i18n = new VueI18n({
      locale: temp_locale, // 设置语言
      messages: i18n_messages // 设置数据
    });
    
    return {"i18n":temp_i18n, "i18n_locale_code":temp_locale_code};
}

/**
 * 获得语言编码
 * @param {Object} temp_locale 表示自定义的语言符号
 * Return 返回语言编码
 */
function get_language_code(temp_locale){
    var temp_locale_code = 1;
    switch(temp_locale){
        case "zh":{
            temp_locale_code = 1;
            break;
        }
        case "en":{
            temp_locale_code = 2;
            break;
        }
    }
    return temp_locale_code;
}

/**
 * 修改语言
 * @param {Object} temp_local_code 表示语言的编码
 */
function change_language(temp_local_code){
    var temp_local = "zh";
    switch(temp_local_code){
        case 1:{
            temp_local = "zh";
            break;
        }
        case 2:{
            temp_local = "en";
            break;
        }
    }
    
    // 设置语言
    set_language(temp_local);
}

// 获得i18n实例和语言编码
var global_temp_i18n = get_i18n();
var i18n = global_temp_i18n.i18n;
var locale_code = global_temp_i18n.i18n_locale_code;
// 设置语言种类的个数
var language_number = 2;
export default {i18n, locale_code, change_language, language_number}
 

3.4 英文数据文件messages_en.js

const messages = {
    nav:{
        change_language:"change language",
        department_software:" software ",
        department_computer_technology:" computer technology "
    },
    foot:{
        copyright:"Henan university 1912 "
    }    
}

export default{ messages }
 

3.5 中文数据文件messages_zh.js


const messages = {    
    nav:{
        change_language:"更改语言",
        department_software:" 软件学院 ",
        department_computer_technology:" 计算机学院 "
    },
    foot:{
        copyright:"河南大学 1912 "
    }
}

export default{ messages }
 


 

若依框架i18n国际化 ruoyi国际化,vue国际化,springboot国际化,i18n国际化,vue菜单国际化不起作用,vue页面刷新国际化失效 阅读详情

相关推荐

i18n.js资源包

jquery.i18n.properties-min-1.0.9.js资源包,具体使用参考https://blog.csdn.net/qq_33609401/article/details/88674416

js实现中英文切换(jquery.i18n.js)

jquery.i18n.js 实现中英文切换 方法 由于在公司官网所用到中英文切换功能,代码时js、jq写的。个人简单记录一下过程: 用的方法是 jquery.i18n.js。 jquery.i18n不多介绍,网上有很多相关的东东。 用法 用法是在html页面中引入jquery.i18n.js文件。 在jquery.i18n.js中配置一下json语言包路径。 在对应文件夹下引入编写语言...

zeng092210的博客 1万+

1991-2020年气候背景数据集

2011 年,国家气象信息中心对 1951-2010 年 2400 余个地面站气温、气压、降水、湿度、日照等 19 大要素项的定时观测资料和日极值资料中由数字化过程中引起的系统性问题(例如数字化遗漏、整段拷贝等问题)进行质量检测、质量控制和错误数据的更正,形成较高质量的地面基础资料集。1991-2020年中国地面气候值数据集提供了中国2438个站点的气温、降水、气压、风向风速、相对湿度、水汽压、云、天气现象、能见度、蒸发、积雪、地温、冻土、日照共14个要素的气候背景信息。数据时间:30年平均。

地球资源数据云的官方博客 1597

i18n.js:为您的JavaScript应用提供国际化支持

i18n.js:为您的JavaScript应用提供国际化支持 项目介绍 在构建现代Web应用时,国际化(i18n)是一个不可或缺的功能。为了让您的应用能够支持多语言,我们推荐使用 i18n.js 这个轻量级的JavaScript库。i18n.js 是一个专门为JavaScript环境设计的国际化库,它能够轻松地将您的应用翻译成多种语言,并且支持动态更新翻译内容。 项目技术分析 i18n.js 的核...

gitblog_00470的博客 952

Nvidia Tesla A100 驱动安装方法

Nvidia Tesla A100 驱动安装方法 遇到的问题:以前安装tesla系列、geforce系列等gpu 驱动的时候,只需执行nvidiaxxxx.run驱动包或者安装nvidiaxxxx.rpm包即可,但遇到新的GPU Nvidia Tesla A100的时候,安装完驱动似乎不起作用,找了半天资料,原来需要以下步骤才可以使用;

qq_24343177的博客 2万+

PX4|Gazebo模型加载失败排查指南:从环境变量到资源路径的全面解析

本文针对PX4与Gazebo联合仿真中常见的'Unable to get model name'错误,提供了从环境变量配置、资源路径排查到网络访问问题的全面解决方案。详细解析了GZ_SIM_RESOURCE_PATH等关键变量的作用与设置方法,并给出了离线模型库部署等一劳永逸的修复指南,帮助开发者彻底解决无人机模型加载失败问题。

weixin_29243063的博客 1230

vue-ant-admin中如何使用 i18n.js 国际化文件

1.路由配置:config.js文件下配置页面路由 import TabsView from '@/layouts/tabs/TabsView' import BlankView from '@/layouts/BlankView' import PageView from '@/layouts/PageView' // 路由配置 const options = { routes: [ { path: '/login', na

前端-尔嵘 670

使用循环神经网络预测温度

简介 本文以天气时间序列数据集为例,讨论如何使用深度学习模型预测未来天气温度。 使用的是由德国耶拿马克思普朗克生物地球化学研究所的气象站记录。 数据每10分钟记录一次,共记录14种不同的量,如气温、气压、湿度、风向等,原始数据可追溯到2003年,本例只使用2009-2016年的数据。 数据 下载并解压数据略。 加载数据: data_dir = r'E:\practice\tf2\temperature' fname = os.path.join(data_dir, 'jena_climate_2009_

guotianqing的博客 5282

Vuei18n 在数组中使用

Vuei18n 在html页面表单和js数组中使用 html的结构: <a-table :columns="columns" :dataSource="tabledata" :pagination="false"> javascript的结构: import moment from "moment"; const columns = [ { dataIndex: "na...

weixin_44083426的博客 2473

Unity-Mirror网络框架-从入门到精通之Mirror简介

在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架,专为多人游戏开发设计。它使得开发者能够轻松实现网络连接、数据同步和游戏状态管理。本文将深入介绍Mirror的基本概念、如何与其他网络框架进行比较,以及如何从零开始创建一个使用Mirror的简单网络项目。Mirror是一个功能强大的Lite网络框架,旨在替代Unity的UNet网络解决方案。它提供了高效的多玩家架构、简单易用的API,以及良好的社区支持。

TxNet 3089

Unity 编辑器篇|(一)MenuItem菜单栏

"一级菜单/二级菜单上/三级菜单""一级菜单/二级菜单中 %#_B""一级菜单/二级菜单下 %&_C""一级菜单/二级菜单中 %#_B""一级菜单/二级菜单下 %&_C""GameObject/二级菜单""CONTEXT/组件名/菜单名""一级菜单/二级菜单上 #_A""Assets/二级菜单""一级菜单/二级菜单下""一级菜单/二级菜单上""一级菜单/二级菜单中""一级菜单/二级菜单下""一级菜单/二级菜单下""一级菜单/二级菜单上""一级菜单/二级菜单中""一级菜单/二级菜单下""自定义/Test"

游戏开发小Y的博客 13万+

VueI18n多语言

npm install vue-i18n 新建语言包(zh,en两种语言为例) zh.js文件 const zh = { header: '头' } export default zh; en.js文件 const en = { header: 'header' } export default en; 在main.js中引入,注意,如果项目中有用到UI库,别落下了...

Call_me_small_pure的博客 396

基于STM32、HAL库的 CH9102X USB转UART收发器 驱动程序设计

/ 或 UART_HWCONTROL_RTS_CTS。// 其他函数实现类似,使用HAL_UART_Transmit_IT, HAL_UART_Receive_IT等。UART_TXD <---> USARTx_RX (STM32接收)UART_RXD <---> USARTx_TX (STM32发送)* @param huart: UART句柄指针。* @param huart: UART句柄指针。* @param huart: UART句柄指针。* @param huart: UART句柄指针。

corlin6688的博客 506

nuxt2 国际化设置及UI组件配置

以上只有antdesignVue组件引入的中英文包,其他具体的不同语言描述请在components后添加,中文添加中文的,英文添加英文的,key值保持一致。将刚刚创建的两个语言JS引入,在nuxt.config.js的plugins模块引入使用。最后就是在页面中的使用了,创建了一个selectLang.vue。服务端还是老问题就是刷新的问题,这个就好解决了,在几个父页面上。然后在plugins文件中创建i18n.js文件。首先在assets文件中创建两个语言JS文件。

weixin_43666952的博客 1555

AI Agent在智能腰带中的姿势矫正与提醒

随着人们生活方式的改变,长时间不正确的坐姿、站姿等不良姿势问题日益普遍,这不仅会导致身体疲劳,还可能引发颈椎病、腰椎病等多种健康问题。智能腰带作为一种可穿戴设备,具有实时监测人体姿势的潜力。本研究的目的是将AI Agent引入智能腰带,实现对人体姿势的准确识别、矫正与提醒功能。本研究的范围涵盖了从AI Agent的核心算法原理到智能腰带的实际开发与应用。包括传感器数据的采集与处理、机器学习算法的选择与训练、智能腰带的硬件设计与软件开发,以及在不同场景下的实际应用测试。本文共分为十个部分。

AI 原生应用开发的博客 344

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【Vue.js进阶】9、国际化:多语言支持

Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架,在 2014 年创建,设计理念是自底向上增量开发,核心库主要关注视图层,易于上手且可轻松与其他库或项目集成。Vue.js 提供直观的 API 和优雅的编程模型,组件系统允许开发者将应用程序拆分为可复用的独立组件,单文件组件 (SFC) 格式进一步简化了开发流程。Vue.js 拥有强大的生态系统,包括 Vue Router(用于单页应用路由)、Vuex(用于状态管理)和 Vue CLI(提供项目脚手架和构建工具)

weixin_52938153的博客 1267

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

vue项目多语言配置

vue项目使用i18n

忘忧 703

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

循序渐进VUE+Element 前端应用开发(9)— 界面语言国际化的处理,循序渐进VUE+Element 前端应用开发(5)— 表格列表页面的查询,列表展示和字段转义处理,...

我们开发的系统,一般可以不用考虑语言国际化的问题,大多数系统一般是给本国人使用的,而且直接使用中文开发界面会更加迅速 一些,不过框架最好能够支持国际化的处理,以便在需要的时候,可以花点时间来实现多语言切换的处理,使系统具有更广泛的受众用户。VUE+Element 前端应用实现国际化的处理还是非常方便的,一般在Main.js函数里面引入语言文件,然后在界面上进行一定的处理,把对应的键值转换...

weixin_36016360的博客 1108

2024年循序渐进VUE+Element 前端应用开发(9)--- 界面语言国际化的处理,前端面试题

你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】我特地针对初学者整理一套前端学习资料。

2401_84438067的博客 929

VueI18n插件的简单应用于国际化

刚刚接触学习Vue.js框架结合Element-ui组件开发项目,由于最近需要实现国际化功能,在看element-ui的开发文档时,只有简单的引入没有应用实例......

Bonjourjw的博客 1843

vue的element-ui 中 i18N国际化

i18N 1.在main.js中引入i8n . import VueI18n from 'vue-i18n' import enLocale from 'element-ui/lib/locale/lang/en' import zhLocale from 'element-ui/lib/locale/lang/zh-CN' Vue.use(VueI18n) // 语言切换 const i18n = new VueI18n({ locale:localStorage.getItem('niulan.

YanR_W的博客 641

Element + vue2.0 + vue-cli3.0 的国际化使用(二)

接着上一篇继续我们的国际化的封装上篇链接。因为在上篇中虽然实现了可以切换了,但是我们为了更好的管理,我们需要单独的去放到一个文件中,我们需要国际化的数据绝对不会是一个hello这么简单,肯定是有很多的数据的。 1.我们先在src目录下新建一个lang的文件夹 2.新建一个js文件,一个index.js,再新建几个我们语言的文件,比如你需要en和zh那么就见两个js文件,依次类推,这里我将值见一个en和zh,如下: 这里我们两个文件的格式要一样,即使有很多的语言文件也要一样 在lang文件夹中的inde

月落星河 304

NuxtJs seo 国际化

NuxtJs创建项目的选项说明文档。 创建完项目能运行即可。这里选用NuxtJs官方集成的Vuei18n插件。(网上各种自己集成的的真鸡儿麻烦) 安装完之后修改nuxt.config.js配置文件。 内容国际化 seo国际化 修改nuxt.config.js配置文件。 根据浏览器语言不同,标题会发生相对于的变化,其他seo属性酌情配置即可。......

weixin_44540722的博客 1312

vue国际化

main.js import Vue from 'vue' import App from './App' import router from './router' import VueI18n from 'vue-i18n' import ElementUI from 'element-ui'; Vue.use(ElementUI); Vue.use(VueI18n) cons...

Jevons的博客 678

UNI-APP开发之Vue + i18n实现国际化

首先,介绍下项目结构,如图: 1.在i18n/lang下编写json文件。 //zh_CN.json {"message":{"hello": "关于"}} //en.json {"message":{"hello": "about"}} 2.i18n/index.js 国际化配置文件 import VueI18n from 'vue-i18n'//需先安装vue-i18n import Vue from 'vue' Vue.use(VueI18n) var langMessages = {

沧海龙腾LV的博客 1799

vue中多语言配置(繁体,简体,英文)

vue多语言配置,i18n的详细配置

luofei_create的博客 3244
上一篇: javascript中的模块调用
下一篇: 百度语音合成(Android简单实现)
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值