Переведите «Кнопки» в диалоги JQuery UI - PullRequest
7 голосов
/ 08 апреля 2011

У меня есть 2 Javascript-файла с переводами, которые будут включены в зависимости от языка пользователя. Это прекрасно работает в большинстве случаев. Но не для объекта Buttons внутри JQuery UI Dialog. Есть идеи как это решить?

if (data.status == 'success') {
    options = {
        buttons: {
            CLOSE: function() {
                      $(this).dialog('close');
                   }
            }
        };

ЗАКРЫТЬ необходимо перевести ..

Ответы [ 4 ]

8 голосов
/ 08 апреля 2011

Создайте объект кнопок следующим образом:

var myButtons = {};
myButtons[CLOSE] = function() { $(this).dialog('close'); };

if (data.status == 'success') {
  options = {
    buttons: myButtons
  };
}

Редактировать: Обновлено для использования переменной CLOSE.

3 голосов
/ 26 августа 2011

Существует два способа указания кнопок в диалоговом окне ( начиная с 1.8.5 ). Только один из них полезен для интернационализации. Определите ваши варианты, как это:

if (data.status == 'success') {
    options = {
        buttons: [{
            text: CLOSE,
            click: function() {
                      $(this).dialog('close');
                   }
        }]
    }
}

Решение @ dioslaska тоже работает, но я думаю, что этот способ красивее.

0 голосов
/ 30 сентября 2016

Вы должны изменить объявление виджета Dialog в jquery-ui файле javascript.

Найдите строку

closeText: "Close",

и замените «Закрыть» переводом.

0 голосов
/ 08 апреля 2011

Просто заключите в кавычки: P

if (data.status == 'success') {
  options = {
    buttons: {
      'translated text for close': function() {
                  $(this).dialog('close');
               }
       }
  };
...