mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-21 02:04:26 +08:00
fix error message wrong in toast
This commit is contained in:
@@ -183,6 +183,24 @@ export function getLocalizedError(error) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getLocalizedErrorParameters(parameters, i18nFunc) {
|
||||||
|
let localizedParameters = {};
|
||||||
|
|
||||||
|
if (parameters) {
|
||||||
|
for (let i = 0; i < parameters.length; i++) {
|
||||||
|
const parameter = parameters[i];
|
||||||
|
|
||||||
|
if (parameter.localized) {
|
||||||
|
localizedParameters[parameter.key] = i18nFunc(`parameter.${parameter.value}`);
|
||||||
|
} else {
|
||||||
|
localizedParameters[parameter.key] = parameter.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return localizedParameters;
|
||||||
|
}
|
||||||
|
|
||||||
function getLocaleFromLanguageAlias(alias) {
|
function getLocaleFromLanguageAlias(alias) {
|
||||||
for (let locale in allLanguages) {
|
for (let locale in allLanguages) {
|
||||||
if (!Object.prototype.hasOwnProperty.call(allLanguages, locale)) {
|
if (!Object.prototype.hasOwnProperty.call(allLanguages, locale)) {
|
||||||
|
|||||||
+11
-14
@@ -12,7 +12,7 @@ import 'moment/min/locales';
|
|||||||
import 'framework7/css/framework7.bundle.css';
|
import 'framework7/css/framework7.bundle.css';
|
||||||
import 'framework7-icons';
|
import 'framework7-icons';
|
||||||
|
|
||||||
import { getAllLanguages, getLanguage, getDefaultLanguage, getI18nOptions, getLocalizedError } from './lib/i18n.js';
|
import { getAllLanguages, getLanguage, getDefaultLanguage, getI18nOptions, getLocalizedError, getLocalizedErrorParameters } from './lib/i18n.js';
|
||||||
import currency from './consts/currency.js';
|
import currency from './consts/currency.js';
|
||||||
import account from './consts/account.js';
|
import account from './consts/account.js';
|
||||||
import version from './lib/version.js';
|
import version from './lib/version.js';
|
||||||
@@ -78,18 +78,7 @@ Vue.prototype.$alert = function (message, confirmCallback) {
|
|||||||
if (message && message.error) {
|
if (message && message.error) {
|
||||||
const localizedError = getLocalizedError(message.error);
|
const localizedError = getLocalizedError(message.error);
|
||||||
message = localizedError.message;
|
message = localizedError.message;
|
||||||
|
parameters = getLocalizedErrorParameters(localizedError.parameters, i18n.t);
|
||||||
if (localizedError.parameters) {
|
|
||||||
for (let i = 0; i < localizedError.parameters.length; i++) {
|
|
||||||
const parameter = localizedError.parameters[i];
|
|
||||||
|
|
||||||
if (parameter.localized) {
|
|
||||||
parameters[parameter.key] = i18n.t(`parameter.${parameter.value}`);
|
|
||||||
} else {
|
|
||||||
parameters[parameter.key] = parameter.value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$f7.dialog.create({
|
this.$f7.dialog.create({
|
||||||
@@ -120,8 +109,16 @@ Vue.prototype.$confirm = function (message, confirmCallback, cancelCallback) {
|
|||||||
}).open();
|
}).open();
|
||||||
};
|
};
|
||||||
Vue.prototype.$toast = function (message, timeout) {
|
Vue.prototype.$toast = function (message, timeout) {
|
||||||
|
let parameters = {};
|
||||||
|
|
||||||
|
if (message && message.error) {
|
||||||
|
const localizedError = getLocalizedError(message.error);
|
||||||
|
message = localizedError.message;
|
||||||
|
parameters = getLocalizedErrorParameters(localizedError.parameters, i18n.t);
|
||||||
|
}
|
||||||
|
|
||||||
this.$f7.toast.create({
|
this.$f7.toast.create({
|
||||||
text: i18n.t(message),
|
text: i18n.t(message, parameters),
|
||||||
position: 'center',
|
position: 'center',
|
||||||
closeTimeout: timeout || 1500
|
closeTimeout: timeout || 1500
|
||||||
}).open();
|
}).open();
|
||||||
|
|||||||
Reference in New Issue
Block a user