原網頁網址:https://ask.dcloud.net.cn/article/35102
踩了很多坑,終於搗鼓出來了。
main.js
import Vue from 'vue' import App from './App' import VueI18n from 'vue-i18n' Vue.use(VueI18n) Vue.config.productuinTip = false const i18n = new VueI18n({ locale: 'en-US', messages: { 'en-US': { index: { invite: 'Invite', game: 'Game' } }, 'zh-CN': { index: { invite: '邀請', game: '游戲' } } } }) Vue.prototype._i18n = i18n App.mpType = 'app' const app = new Vue({ i18n, ...App }) app.$mount()
uniapp 不支持在取值表達式中直接調方法,因此,$t方法不可用,所以通過計算屬性的方式:
index.vue
<template> <view class="uni-content"> <text>{{ i18n.invite }}</text> <text>{{ i18n.game }}</text> </view> </template> <script> export default { computed: { i18n () { return this.$t('index') } } } </script> <style> </style>