Локализация кнопок MessageBox
Всем привет!
Приложение у меня только на русском, поэтому я везде сразу по-русски пишу параметры. Так вот... каким образом можно глобально задать локализацию кнопок в MessageBox? В Ext 3.4 я делал так:
Ext.onReady(function(){
//show tooltips
Ext.QuickTips.init();
//add RU messagebox tanslation
Ext.MessageBox.buttonText.yes = 'Да';
Ext.MessageBox.buttonText.no = 'Нет';
.............
и все прекрасно работало. В Ext 6.2 решил прописать похожим образом в Application.js:
launch:function() {
Ext.window.MessageBox.buttonText.yes = "Да";
Ошибка `TypeError: Ext.window.MessageBox.buttonText is undefined`. В итоге я нашел решение:
Ext.Msg.show({
buttonText: {
yes: 'Да',
no: 'Нет'
},
title: 'Удаление',
msg: 'Вы действительно хотите удалить эту запись?',
buttons: Ext.Msg.YESNO,
icon: Ext.MessageBox.QUESTION,
fn: function(btn) {
if (btn === 'yes') {
}
}
});
Но такую портянку каждый раз надо писать, чтобы вызвать окошко. Как в 6.2 прописать глобально один раз перевод кнопок? |
Можете воспользоваться оверрайдом. ВОт, почитайте: http://moduscreate.com/writing-ext-js-overrides/
Там многабукаф но в целом понятно. |
А разве
Цитата:
там куча оверайдов компонентов на русский язык типа ext-locale-ru.js в дистрибутиве 6-ой версии разве его нет? |
Все есть, оказывается. В ExtJS 3.4 у меня был тестовый проект, поэтому этих 2х строк мне было достаточно.
А на ExtJS 6.2 сейчас проект куда больше и не все можно так сразу переопределить, как, например, сообщения валидации. Помогла эта инструкция: https://docs.sencha.com/extjs/6.2.0/...alization.html |
| Часовой пояс GMT +3, время: 21:37. |