赞
踩
npm install vue-i18n --save
main.js
文件配置使用- import Vue from 'vue'
- import VueI18n from 'vue-i18n'
-
- Vue.use(VueI18n);
- /*---------基本使用-----------*/
- const i18n = new VueI18n({
- locale: 'CN', // 语言标识
- messages : {
- en: {
- message: {
- hello: 'hello world'
- }
- },
- cn: {
- message: {
- hello: '你好、世界'
- }
- }
- }
- })
- /*---------使用语言包-----------*/
- const i18n = new VueI18n({
- locale: 'CN', // 语言标识
- messages: {
- 'CN': require('./assets/common/lang/cn'), // 中文语言包
- 'EN': require('./assets/common/lang/en') // 英文语言包
- },
- })
-
- /*---------语言包内部语法star-----------*/
- export const message = {
- language:'语言',
- hello: '你好,世界'
- }
- /*---------语言包内部语法end-----------*/
-
- /*---------挂载全局使用-----------*/
- new Vue({
- el: '#app',
- i18n,
- router,
- template: '<App/>',
- components: { App }
- })
-
- /*---------vue组件模板的使用-----------*/
- <template>
- <p>{{ $t("message.hello") }}</p>
- </template>
webpack.base.conf.js
- module.exports = {
- // ...
- module: {
- rules: [
- {
- test: /\.vue$/,
- loader: 'vue-loader',
- options: {
- loaders: {
- // you need to specify `i18n` loaders key with `vue-i18n-loader` (https://github.com/kazupon/vue-i18n-loader)
- i18n: '@kazupon/vue-i18n-loader'
- }
- }
- },
- // ...
- ]
- },
- // ...
- }
- <i18n>
- {
- "en": {
- "hello": "hello world!"
- },
- "ja": {
- "hello": "你好,世界!"
- }
- }
- </i18n>
-
- <template>
- <div id="app">
- <label for="locale">locale</label>
- <select v-model="locale">
- <option>en</option>
- <option>ja</option>
- </select>
- <p>message: {{ $t('hello') }}</p>
- </div>
- </template>
-
- <script>
- export default {
- name: 'app',
- data () { return { locale: 'en' } },
- watch: {
- locale (val) {
- this.$i18n.locale = val
- }
- }
- }
- </script>
作者:前端小兵
链接:https://www.jianshu.com/p/0324115fcd4e
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。