首页 > 解决方案 > 来自 parsley.js 的翻译会引发错误并且无法正常工作

问题描述

我们需要将我们的表格错误从英文翻译成德文、法文、意大利文、西班牙文和中文。

为此,我们将特定的 parsley 文件链接到普通 parsley.js 文件之后的页脚。

这一切都很完美。

Parsley.addMessages('de', {
  defaultMessage: "Die Eingabe scheint nicht korrekt zu sein.",
  type: {
    email:        "Die Eingabe muss eine gültige E-Mail-Adresse sein.",
    url:          "Die Eingabe muss eine gültige URL sein.",
    number:       "Die Eingabe muss eine Zahl sein.",
    integer:      "Die Eingabe muss eine Zahl sein.",
    digits:       "Die Eingabe darf nur Ziffern enthalten.",
    alphanum:     "Die Eingabe muss alphanumerisch sein."
  },
  notblank:       "Die Eingabe darf nicht leer sein.",
  required:       "Dies ist ein Pflichtfeld.",
  pattern:        "Die Eingabe scheint ungültig zu sein.",
  min:            "Die Eingabe muss größer oder gleich %s sein.",
  max:            "Die Eingabe muss kleiner oder gleich %s sein.",
  range:          "Die Eingabe muss zwischen %s und %s liegen.",
  minlength:      "Die Eingabe ist zu kurz. Es müssen mindestens %s Zeichen eingegeben werden.",
  maxlength:      "Die Eingabe ist zu lang. Es dürfen höchstens %s Zeichen eingegeben werden.",
  length:         "Die Länge der Eingabe ist ungültig. Es müssen zwischen %s und %s Zeichen eingegeben werden.",
  mincheck:       "Wählen Sie mindestens %s Angaben aus.",
  maxcheck:       "Wählen Sie maximal %s Angaben aus.",
  check:          "Wählen Sie zwischen %s und %s Angaben.",
  equalto:        "Dieses Feld muss dem anderen entsprechen."
});

Parsley.setLocale('de');

问题是,底部的函数 setLocale 在错误中解析:

parsley.js:631 Uncaught Error: de is not available in the catalog
    at ValidatorRegistry.setLocale (parsley.js:631)
    at Base.window.Parsley.(/anonymous function) [as setLocale] (http://domain.tld/Resources/Public/Js/main.js?1554899096:29313:31)
    at Object.window.ParsleyValidator.(/anonymous function) [as setLocale] (http://domain.tld/Resources/Public/Js/main.js?1554899096:29320:57)
    at Function.initialize (ParsleyCustomized.js:26)
    at HTMLDocument.<anonymous> (main.js:45)
    at mightThrow (jquery.js:3534)
    at process (jquery.js:3602)

我们怎样才能修复这个错误并使翻译工作?

感谢您的回答

标签: javascriptparsley.js

解决方案


推荐阅读