插件沒有任何內容被「翻譯」。翻譯是手動完成的,然後你會把這些新消息放到的地方,它們會覆蓋默認值。
還有沒有這樣的.validate()
option稱爲lang
隨時隨地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" />
然後所有默認的郵件將在西班牙語。
默認消息,如「此字段是必需的」等出現在西班牙語,現在我想將上述消息翻譯成西班牙語,但我找不到在哪裏以及如何定義翻譯文本。
包括西班牙本地化文件只是告訴插件取代西班牙本地化文件定義的默認消息。
您的messages
對象覆蓋了這些默認消息,因此如果您希望西班牙語消息僅用於單個輸入字段就可以覆蓋required
規則,那麼您需要用西班牙語編寫該消息。 沒有內置的動態翻譯,可以即時解釋您的消息。
rules:{
tandc : {
required : true
}
},
messages:{
tandc : {
required : "Tienes que aceptar los términos y condiciones de seguir avanzando"
}
}
這是消息的使用的優先級:
任何文本使用內.validate()
或類似的方法messages
對象聲明用於通過規則或整個場的單個字段。
如果在項目#1中沒有定義:覆蓋$.extend($.validator.messages, {...})
定義的插件默認消息。這就是本地化文件的工作方式。
如果沒有在項目#2中定義:由插件定義的默認消息(英文)。
現在,如果你需要動態變化的任何消息由messages
對象定義後.validate()
已初始化表單上的插件,你將不得不使用的方法.rules('add')
超過-騎它。
$('[name="foo"]').rules('add', {
messages: {
required: "yo! I'm required."
}
});
DEMO:jsfiddle.net/3fLkf47u/
謝謝清除 「郎」 的東西,我看到了它的地方使用,並圍繞此愚弄。 無論如何,我在問如何在「messages_es」文件中定義翻譯,現在我想我有我的答案,因爲我需要使用此添加方法覆蓋西班牙語的消息。歡呼夥伴進行適當的澄清! –
查看[github]上所有支持的語言和翻譯密鑰(https://github.com/jquery-validation/jquery-validation/tree/master/src/localization) –