我有一个定义了应用程序相关属性的 Translation.json 文件。
{
"firstName": "Vorname",
"First Name": "Vorname",
"lastName": "Nachname",
"Last Name": "Nachname",
"Experience": "Erfahrung",
"experience": "erfahrung",
"Country": "Land",
"Currency": "Währung",
"currency": "währung",
"country": "land",
"DefaultSelectValue": "--${$displayName} auswählen--",
"switchLanguage": "Sprache wechseln",
"youHaveErrors": "Es gibt Fehler!",
"allGood": "Alles in Ordnung!",
"latestValidationResult": "Aktuelles Validierungsergebnis",
"heading": "Validierungsergebnis" }
同样,我将验证消息放置在Validation.json文件中
{
"errorMessages": {
"required": "${$displayName} fehlt!",
"minLength": "Der ${$displayName} sollte mindestens ${$config.length} Zeichen lang sein",
"matches": "${$displayName} ist nicht gültig",
"email": "${$displayName} is not a valid email.",
} }
默认名称空间为 Translation.json,现在当我运行应用程序时,验证消息不会显示 displayName。
.HTML:
<span class="help-block" repeat.for="errorInfo of ValueErrors">${errorInfo.error.message & t:{ns:'validation'}}</span>
类型脚本:
ValidationRules.ensure('value').displayName(this.i18n.tr(model.displayName, {ns:'translation'})).required()
.minLength(model.minLength)
.on(this.model);
输出:${$displayName} fehlt!
预期: 嗡嗡�
�错误消息应该在默认命名空间中声明还是我错过了什么?
ValidationMessageProvider.prototype.getMessage = function (key( { const i18n = aurelia.container.get(I18N(;const translation = i18n.tr(errorMessages.${key}, {ns:'validation'}(;返回this.parser.parse(translation(;};