Я сейчас использую Vue -i18n для проекта.
Из того, что я узнал, все слова, которые нужно перевести, должны использовать $t
.
Есть ли любой способ изменить $t
на что-то другое вместо этого? Может быть, какой-нибудь метод перезаписи?
Например, вместо: {{ $t('name') }}
Измените его на: {{ $ba('name') }}
Мне удалось сделать это с помощью @ Метод Alex, но более i18n .
Но если я также изменю возвращаемые параметры (с $t
на $ba
), будет ошибка TypeError: Cannot read property 'apply' of undefined
.
Есть ли способ решить эту проблему?
function extend (Vue) {
Vue.prototype.$ba = function (key) {
var values = [], len = arguments.length - 1;
while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];
var i18n = this.$i18n;
return i18n._ba.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))
};
};