Проблема интернационализации валидации JQuery - PullRequest
14 голосов
/ 17 августа 2011

Как изменить плагин JQuery Validation, который выдает сообщение об ошибке на языке браузера. Я имею в виду, если я запускаю его в браузере, в котором ошибки на английском языке будут на английском языке, или если язык браузера - на турецком, сообщения об ошибках тоже будут на турецком (конечно, я буду определять сообщения на этих языках, также я должен определить язык по умолчанию, если Я не определил список сообщений об ошибках в соответствии с языком браузера)

Ответы [ 3 ]

25 голосов
/ 03 ноября 2011

Вы можете взглянуть на плагин локализации jquery: http://keith -wood.name / localisation.html
Позволяет загружать файлы JavaScript в зависимости от языка браузера.

Плагин проверки jquery поставляется с файлами локализации, доступными по этому адресу: http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/localization/messages_##.js, где ## - код loc.

Что вы можете сделать, это загрузить плагин проверки с сообщениями об ошибках по умолчанию, а затем использовать плагин локализации для загрузки сообщений об ошибках для конкретного языка. Вы даже можете написать свой локализованный JS-файл, синтаксис довольно прост:

/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: FR
 */
 jQuery.extend(jQuery.validator.messages, {
    required: "Ce champ est requis.",
    remote: "Veuillez remplir ce champ pour continuer.",
    email: "Veuillez entrer une adresse email valide.",
    url: "Veuillez entrer une URL valide.",
    date: "Veuillez entrer une date valide.",
    dateISO: "Veuillez entrer une date valide (ISO).",
    number: "Veuillez entrer un nombre valide.",
    digits: "Veuillez entrer (seulement) une valeur numérique.",
    creditcard: "Veuillez entrer un numéro de carte de crédit valide.",
    equalTo: "Veuillez entrer une nouvelle fois la même valeur.",
    accept: "Veuillez entrer une valeur avec une extension valide.",
    maxlength: jQuery.validator.format("Veuillez ne pas entrer plus de {0} caractères."),
    minlength: jQuery.validator.format("Veuillez entrer au moins {0} caractères."),
    rangelength: jQuery.validator.format("Veuillez entrer entre {0} et {1} caractères."),
    range: jQuery.validator.format("Veuillez entrer une valeur entre {0} et {1}."),
    max: jQuery.validator.format("Veuillez entrer une valeur inférieure ou égale à  {0}."),
    min: jQuery.validator.format("Veuillez entrer une valeur supérieure ou égale à  {0}.")
});



Надеюсь, это поможет!

1 голос
/ 13 ноября 2011

Плагин проверки Jquery работает с переменной массива.Я определил различные переменные массива как:

locale_tr, locale_en, locale_sw etc.

Я получаю язык браузера как два символа как

tr en sw

и вызываю переменную:

locale_ + browser's two character language

так у меня работает.

0 голосов
/ 19 июня 2014

Вот предложение для простого способа установить ваше пользовательское сообщение проверки:

1. Создайте файл js с именем XX_Messages.ee.js с синтаксисом:

 LANG = {

    PERSONAL_BIRTHDAY_CAN_T_BLANK : 'Birthday cannot be left blank',
    PERSONAL_COUNTRY_CAN_T_BLANK : 'Country cannot be left blank',
    PERSONAL_CITY_CAN_T_BLANK : 'City cannot be left blank',
.......
TEAM_EMAIL_NOT_VALID : 'E-mail is not a valid email address'
};

2.

<head>
....
<g:set var="locale" value="${session['language']}"/>
    <g:if test="${locale.equals("ee")}">
        <script src="${resource(dir: 'js',file:'/XX_Messages.ee.js')}"></script>
    </g:if>
....
</head>

Примечание: импортируйте файл XX_Messages.ee.js в html-заголовок, куда вы хотите проверить

3.

messages: {
            gender: {
                required: LANG.PERSONAL_BIRTHDAY_CAN_T_BLANK
            },
            firstName: {
                required:  LANG.PERSONAL_CITY_CAN_T_BLANK
            },
            lastName: {
                required: LANG.PERSONAL_COUNTRY_CAN_T_BLANK
            }
        }

Примечание: XX_Messages.ee.js файл должен быть импортирован в заголовок вашего html перед проверкой js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...