Home >Web Front-end >JS Tutorial >Installation and usage tutorial for vue project internationalization vue-i18n

Installation and usage tutorial for vue project internationalization vue-i18n

亚连
亚连Original
2018-05-30 11:57:352521browse

Recently came into contact with learning Vue.js framework combined with Element-ui component development project. Due to the recent need to implement internationalization functions, the following article mainly introduces the relevant information on the use of vue-i18n for the internationalization of vue projects. The article introduces it in detail through sample code. Friends who need it can refer to it.

Preface

The project needs to support multiple languages. We need to extract the static text used in the project and use language packages to manage it. When switching When setting the language, you can automatically switch the text display of the entire project.

I found that there is a corresponding component vue-i18n in the Vue project, and the code of the project was not modified much, so I used this component to modify the code in the project. Not much to say below, let’s take a look at the detailed introduction.

Installation

// script 引入
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js"></script>

// npm 安装
npm install vue-i18n

// yarn 安装
yarn add vue-i18n

Generally, installation is used in a project It is run as a package, and script is introduced less.

Use

Configure i18n in the project

##

import VueI18n from &#39;vue-i18n&#39;
Vue.use(VueI18n)

const i18n = new VueI18n({
  local: &#39;cn&#39;, // 设置语言 
  messages // 语言包
})

new Vue({
  el: &#39;#app&#39;,
  ...
  i18n
})

// messages 大概的使用格式
{
  cn: {
    name: &#39;名字&#39;
  },
  us: {
    name: &#39;Name&#39;
  }
}

Using i18n


// html 需要使用 {{}} 将 name包装起来
{{$t(&#39;name&#39;)}}

// js
$t(&#39;name&#39;)

There are some other usages, such as:

  • For Different languages ​​display different formats

  • If you pass in custom variables to control the display

  • ... Please refer to the official documentation for details .

To switch languages, you can use built-in variables:

// 通过设置 locale 来切换语言
this.$i18n.locale = cn | us

Generation of language pack & Replace the original static text in the project
## This step is the most critical. Extract all Chinese characters that appear and replace them with $t('xxx') to maintain multiple versions. The language file

The language package is handled like this. Add a new directory languages

--languages
  --lib
    -- cn.js // 中文语言包
    -- us.js // 英文语言包
    -- .. // 其他语言,暂未实践
  -- index.js // 导出语言包

cn.js

under the project.

export default {
  common: {
    message: &#39;消息&#39;
  },
  xxx: {
  }
}

us.js

export default {
  common: {
    message: &#39;Messages&#39;
  },
  xxx: {
  }
}

index.js

import cn from &#39;./lib/cn.js&#39;
export default {
  cn,
  us
}

Replacement text

<template>
  ...
  <p>{{$t(&#39;message&#39;)}}</p>
  ...
</template>

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

JS implements the function of moving the left list to the right list


Get using EL expression in JS Methods for context parameter values


jQuery’s method of automatically adding ellipses when the text exceeds 1 line, 2 lines or a specified number of lines


The above is the detailed content of Installation and usage tutorial for vue project internationalization vue-i18n. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn