jquery - 翻译自定义 jQuery 验证消息

标签 jquery localization jquery-validate translation

我有一个关于 jQuery 验证的问题要问 plugin .

我已使用本地化来更改以西类牙语显示的错误消息的默认语言,但我找不到任何有关要翻译的自定义消息的信息。有什么线索吗?

例如

我已经包含了西类牙语的翻译文件,这是我的代码:

$('.signup-form').validate({
    lang : 'es',
    rules:{
        tandc : {required : true}
    },
    messages:{
        tandc : {required : "You have to accept terms and conditions to proceed further"}
    }
})

诸如“此字段为必填”等默认消息以西类牙语显示,现在我想将上述消息翻译为西类牙语,但我找不到在哪里以及如何定义翻译文本。

最佳答案

插件没有“翻译”任何内容。翻译是手动完成的,然后您将这些新消息放入 a localization file他们覆盖默认值。

还有没有这样的 .validate() optionlang任何地方in this plugin .

使用本地化文件只是意味着在包含插件后将文件包含在某个位置...

<script type="text/javascript" src="...path-to/jquery.validation/1.15.0/jquery.validate.js" />
<script type="text/javascript" src="...path-to/jquery-validation/localization/messages_es.js" />

然后所有默认消息都将为西类牙语。

Default messages like "This field is required" etc are appearing in Spanish, now I want to translate the above message to Spanish but I cannot find where and how to define the translated text.

包含西类牙语本地化文件只是告诉插件替换西类牙语本地化文件定义的默认消息。

您的messages对象会覆盖这些默认消息,因此如果您希望西类牙语消息覆盖 required规则仅适用于单个输入字段,那么您需要用西类牙语编写该规则。 没有内置的动态翻译可以即时解释您的消息。

rules:{
    tandc : {
        required : true
    }
},
messages:{
    tandc : {
        required : "Tienes que aceptar los términos y condiciones de seguir avanzando"
    }
}

这是所使用消息的优先级:

  1. 通过规则为单个字段或使用 messages 的整个字段声明的任何文本.validate() 内的对象或类似的方法。

  2. 如果第 #1 项中未定义任何内容:覆盖 $.extend( $.validator.messages, {...}) 定义的插件默认消息。这就是本地化文件的工作原理。

  3. 如果第 #2 项中未定义任何内容:插件定义的默认消息(英语)。

<小时/>

现在,如果您需要动态更改 messages 定义的任何消息.validate()之后的对象已在您的表单上初始化插件,您必须使用 .rules('add')方法来覆盖它。

$('[name="foo"]').rules('add', {
    messages: {
        required: "yo! I'm required."
    }
});

演示:jsfiddle.net/3fLkf47u/

关于jquery - 翻译自定义 jQuery 验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630386/

相关文章:

.net - 本地化-如何在ASP.NET MVC中获取客户端语言环境?

c# - 本地化/国际化工具

php - Qtranslate 语言切换器的自定义 URL

jquery validate 添加方法来验证日期时间

javascript - 如何在 highcharts 中获取 y 轴的最大值?

javascript - jQuery 将事件处理程序连接到被触发的对象的方法

JQuery 验证忽略 [] 等

php - 使用jquery验证插件到: some select box option value must be chosen

javascript - append json_encode 时出现问题

javascript - 展开/折叠 HTML 中的文本 - Javascript