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 引入 // 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 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ local: 'cn', // 设置语言 messages // 语言包 }) new Vue({ el: '#app', ... i18n }) // messages 大概的使用格式 { cn: { name: '名字' }, us: { name: 'Name' } }
// html 需要使用 {{}} 将 name包装起来 {{$t('name')}} // js $t('name')
// 通过设置 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: '消息' }, xxx: { } }
us.js
export default { common: { message: 'Messages' }, xxx: { } }
index.js
import cn from './lib/cn.js' export default { cn, us }
Replacement text
...{{$t('message')}}
...
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!