2016-11-08 2 views
0

Я настраиваю существующий пользовательский интерфейс jQuery 1.10.4 Datepicker для поддержки нескольких языков. Я хочу использовать официальные переводы без изменений, чтобы я мог обновляться в будущем. Однако мне также необходимо изменить некоторые термины или добавить отсутствующие.Изменить переводы Datepicker во время выполнения

Я испытываю это:

$.datepicker.regional["es"]["buttonText"] = "Foo!"; 
$('.is-a-date').each(function(){ 
    $(this).datepicker({ 
     buttonImage: '/img/datepicker.png', 
     buttonImageOnly: true 
    }); 
}); 

Я проверил, что $.datepicker.regional["es"] содержит новые значения и buttonText является localisable (он отлично работает, если добавить его прямо в jquery.ui.datepicker-es.js). Все заключено в обертку jQuery(function(){...}). Но мои пользовательские тексты нигде не отображаются.

Что мне не хватает? Нужно ли мне повторно инициализировать что-то?

ответ

1

После изменений, которые вы делаете на региональные вы должны зарегистрировать их использованияКонтактной функцию setDefaults:

$.datepicker.setDefaults($.datepicker.regional["es"]) 

проверить следующий пример - текст на кнопке следующего месяца меняется на «Bar!».

$.datepicker.regional["es"]["buttonText"] = "Foo!"; 
 
$.datepicker.regional["es"]["nextText"] = "Bar!"; 
 

 
$.datepicker.setDefaults($.datepicker.regional["es"]) 
 

 
$('.is-a-date').each(function(){ 
 
    $(this).datepicker({ 
 
     buttonImage: '/img/datepicker.png', 
 
     buttonImageOnly: true 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" /> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
 
<script src="https://cdn.rawgit.com/jquery/jquery-ui/master/ui/i18n/datepicker-es.js"></script> 
 

 
<input class="is-a-date" />

+0

Это было, спасибо очень много. В моем реальном коде я решил не использовать пустые ключи в '$ .datepicker.regional' и обновить все загруженные языки - надеюсь, это не глупая идея. –

+0

Я думаю, что имеет смысл использовать один в моем ответе :) – Dekel

+0

Я не верю, что кто-нибудь будет кодировать материал позже (это может быть даже я!) :) –

Смежные вопросы