[619] | 1 | /* |
---|
| 2 | * Russian translation |
---|
| 3 | * By ZooKeeper (utf-8 encoding) |
---|
| 4 | * 6 November 2007 |
---|
| 5 | */ |
---|
| 6 | |
---|
| 7 | Ext.UpdateManager.defaults.indicatorText = '<div class="loading-indicator">Идет загрузка...</div>'; |
---|
| 8 | |
---|
| 9 | if(Ext.View){ |
---|
| 10 | Ext.View.prototype.emptyText = ""; |
---|
| 11 | } |
---|
| 12 | |
---|
| 13 | if(Ext.grid.GridPanel){ |
---|
| 14 | Ext.grid.GridPanel.prototype.ddText = "{0} выбранных строк"; |
---|
| 15 | } |
---|
| 16 | |
---|
| 17 | if(Ext.TabPanelItem){ |
---|
| 18 | Ext.TabPanelItem.prototype.closeText = "Закрыть эту вкладку"; |
---|
| 19 | } |
---|
| 20 | |
---|
| 21 | if(Ext.form.Field){ |
---|
| 22 | Ext.form.Field.prototype.invalidText = "Значение в этом поле неверное"; |
---|
| 23 | } |
---|
| 24 | |
---|
| 25 | if(Ext.LoadMask){ |
---|
| 26 | Ext.LoadMask.prototype.msg = "Загрузка..."; |
---|
| 27 | } |
---|
| 28 | |
---|
| 29 | Date.monthNames = [ |
---|
| 30 | "Январь", |
---|
| 31 | "Февраль", |
---|
| 32 | "Март", |
---|
| 33 | "Апрель", |
---|
| 34 | "Май", |
---|
| 35 | "Июнь", |
---|
| 36 | "Июль", |
---|
| 37 | "Август", |
---|
| 38 | "Сентябрь", |
---|
| 39 | "Октябрь", |
---|
| 40 | "Ноябрь", |
---|
| 41 | "Декабрь" |
---|
| 42 | ]; |
---|
| 43 | |
---|
| 44 | Date.shortMonthNames = [ |
---|
| 45 | "Янв", |
---|
| 46 | "Февр", |
---|
| 47 | "Март", |
---|
| 48 | "Апр", |
---|
| 49 | "Май", |
---|
| 50 | "Июнь", |
---|
| 51 | "Июль", |
---|
| 52 | "Авг", |
---|
| 53 | "Сент", |
---|
| 54 | "Окт", |
---|
| 55 | "Нояб", |
---|
| 56 | "Дек" |
---|
| 57 | ]; |
---|
| 58 | |
---|
| 59 | Date.getShortMonthName = function(month) { |
---|
| 60 | return Date.shortMonthNames[month]; |
---|
| 61 | }; |
---|
| 62 | |
---|
| 63 | Date.monthNumbers = { |
---|
| 64 | 'Янв': 0, |
---|
| 65 | 'Фев': 1, |
---|
| 66 | 'Мар': 2, |
---|
| 67 | 'Апр': 3, |
---|
| 68 | 'Май': 4, |
---|
| 69 | 'Июн': 5, |
---|
| 70 | 'Июл': 6, |
---|
| 71 | 'Авг': 7, |
---|
| 72 | 'Сен': 8, |
---|
| 73 | 'Окт': 9, |
---|
| 74 | 'Ноя': 10, |
---|
| 75 | 'Дек': 11 |
---|
| 76 | }; |
---|
| 77 | |
---|
| 78 | Date.getMonthNumber = function(name) { |
---|
| 79 | return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()]; |
---|
| 80 | }; |
---|
| 81 | |
---|
| 82 | Date.dayNames = [ |
---|
| 83 | "Воскресенье", |
---|
| 84 | "Понедельник", |
---|
| 85 | "Вторник", |
---|
| 86 | "Среда", |
---|
| 87 | "Четверг", |
---|
| 88 | "Пятница", |
---|
| 89 | "Суббота" |
---|
| 90 | ]; |
---|
| 91 | |
---|
| 92 | Date.getShortDayName = function(day) { |
---|
| 93 | return Date.dayNames[day].substring(0, 3); |
---|
| 94 | }; |
---|
| 95 | |
---|
| 96 | if(Ext.MessageBox){ |
---|
| 97 | Ext.MessageBox.buttonText = { |
---|
| 98 | ok : "OK", |
---|
| 99 | cancel : "Отмена", |
---|
| 100 | yes : "Да", |
---|
| 101 | no : "Нет" |
---|
| 102 | }; |
---|
| 103 | } |
---|
| 104 | |
---|
| 105 | if(Ext.util.Format){ |
---|
| 106 | Ext.util.Format.date = function(v, format){ |
---|
| 107 | if(!v) return ""; |
---|
| 108 | if(!(v instanceof Date)) v = new Date(Date.parse(v)); |
---|
| 109 | return v.dateFormat(format || "d.m.Y"); |
---|
| 110 | }; |
---|
| 111 | } |
---|
| 112 | |
---|
| 113 | if(Ext.DatePicker){ |
---|
| 114 | Ext.apply(Ext.DatePicker.prototype, { |
---|
| 115 | todayText : "Сегодня", |
---|
| 116 | minText : "Эта дата раньше минимальной даты", |
---|
| 117 | maxText : "Эта дата позже максимальной даты", |
---|
| 118 | disabledDaysText : "", |
---|
| 119 | disabledDatesText : "", |
---|
| 120 | monthNames : Date.monthNames, |
---|
| 121 | dayNames : Date.dayNames, |
---|
| 122 | nextText : 'Следующий месяц (Control+Вправо)', |
---|
| 123 | prevText : 'Предыдущий месяц (Control+Влево)', |
---|
| 124 | monthYearText : 'Выбор месяца (Control+Вверх/Вниз для выбора года)', |
---|
| 125 | todayTip : "{0} (Пробел)", |
---|
| 126 | format : "d.m.y", |
---|
| 127 | okText : " OK ", |
---|
| 128 | cancelText : "Отмена", |
---|
| 129 | startDay : 1 |
---|
| 130 | }); |
---|
| 131 | } |
---|
| 132 | |
---|
| 133 | if(Ext.PagingToolbar){ |
---|
| 134 | Ext.apply(Ext.PagingToolbar.prototype, { |
---|
| 135 | beforePageText : "Страница", |
---|
| 136 | afterPageText : "из {0}", |
---|
| 137 | firstText : "Первая страница", |
---|
| 138 | prevText : "Предыдущая страница", |
---|
| 139 | nextText : "Следующая страница", |
---|
| 140 | lastText : "Последняя страница", |
---|
| 141 | refreshText : "Обновить", |
---|
| 142 | displayMsg : "Отображаются записи с {0} по {1}, всего {2}", |
---|
| 143 | emptyMsg : 'Нет данных для отображения' |
---|
| 144 | }); |
---|
| 145 | } |
---|
| 146 | |
---|
| 147 | if(Ext.form.TextField){ |
---|
| 148 | Ext.apply(Ext.form.TextField.prototype, { |
---|
| 149 | minLengthText : "Минимальная длина этого поля {0}", |
---|
| 150 | maxLengthText : "Максимальная длина этого поля {0}", |
---|
| 151 | blankText : "Это поле обязательно для заполнения", |
---|
| 152 | regexText : "", |
---|
| 153 | emptyText : null |
---|
| 154 | }); |
---|
| 155 | } |
---|
| 156 | |
---|
| 157 | if(Ext.form.NumberField){ |
---|
| 158 | Ext.apply(Ext.form.NumberField.prototype, { |
---|
| 159 | minText : "Значение этого поля не может быть меньше {0}", |
---|
| 160 | maxText : "Значение этого поля не может быть больше {0}", |
---|
| 161 | nanText : "{0} не является числом" |
---|
| 162 | }); |
---|
| 163 | } |
---|
| 164 | |
---|
| 165 | if(Ext.form.DateField){ |
---|
| 166 | Ext.apply(Ext.form.DateField.prototype, { |
---|
| 167 | disabledDaysText : "Не доступно", |
---|
| 168 | disabledDatesText : "Не доступно", |
---|
| 169 | minText : "Дата в этом поле должна быть позде {0}", |
---|
| 170 | maxText : "Дата в этом поле должна быть раньше {0}", |
---|
| 171 | invalidText : "{0} не является правильной датой - дата должна быть указана в формате {1}", |
---|
| 172 | format : "d.m.y", |
---|
| 173 | altFormats : "d.m.y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d" |
---|
| 174 | }); |
---|
| 175 | } |
---|
| 176 | |
---|
| 177 | if(Ext.form.ComboBox){ |
---|
| 178 | Ext.apply(Ext.form.ComboBox.prototype, { |
---|
| 179 | loadingText : "Загрузка...", |
---|
| 180 | valueNotFoundText : undefined |
---|
| 181 | }); |
---|
| 182 | } |
---|
| 183 | |
---|
| 184 | if(Ext.form.VTypes){ |
---|
| 185 | Ext.apply(Ext.form.VTypes, { |
---|
| 186 | emailText : 'Это поле должно содержать адрес электронной почты в формате "user@domain.com"', |
---|
| 187 | urlText : 'Это поле должно содержать URL в формате "http:/'+'/www.domain.com"', |
---|
| 188 | alphaText : 'Это поле должно содержать только латинские буквы и символ подчеркивания "_"', |
---|
| 189 | alphanumText : 'Это поле должно содержать только латинские буквы, цифры и символ подчеркивания "_"' |
---|
| 190 | }); |
---|
| 191 | } |
---|
| 192 | |
---|
| 193 | if(Ext.form.HtmlEditor){ |
---|
| 194 | Ext.apply(Ext.form.HtmlEditor.prototype, { |
---|
| 195 | createLinkText : 'Пожалуйста введите адрес:', |
---|
| 196 | buttonTips : { |
---|
| 197 | bold : { |
---|
| 198 | title: 'Полужирный (Ctrl+B)', |
---|
| 199 | text: 'Применение полужирного начертания к выделенному тексту.', |
---|
| 200 | cls: 'x-html-editor-tip' |
---|
| 201 | }, |
---|
| 202 | italic : { |
---|
| 203 | title: 'Курсив (Ctrl+I)', |
---|
| 204 | text: 'Применение курсивного начертания к выделенному тексту.', |
---|
| 205 | cls: 'x-html-editor-tip' |
---|
| 206 | }, |
---|
| 207 | underline : { |
---|
| 208 | title: 'Подчёркнутый (Ctrl+U)', |
---|
| 209 | text: 'Подчёркивание выделенного текста.', |
---|
| 210 | cls: 'x-html-editor-tip' |
---|
| 211 | }, |
---|
| 212 | increasefontsize : { |
---|
| 213 | title: 'Увеличить размер', |
---|
| 214 | text: 'Увеличение размера шрифта.', |
---|
| 215 | cls: 'x-html-editor-tip' |
---|
| 216 | }, |
---|
| 217 | decreasefontsize : { |
---|
| 218 | title: 'Уменьшить размер', |
---|
| 219 | text: 'Уменьшение размера шрифта.', |
---|
| 220 | cls: 'x-html-editor-tip' |
---|
| 221 | }, |
---|
| 222 | backcolor : { |
---|
| 223 | title: 'Заливка', |
---|
| 224 | text: 'Изменение цвета фона для выделенного текста или абзаца.', |
---|
| 225 | cls: 'x-html-editor-tip' |
---|
| 226 | }, |
---|
| 227 | forecolor : { |
---|
| 228 | title: 'Цвет текста', |
---|
| 229 | text: 'Измение цвета текста.', |
---|
| 230 | cls: 'x-html-editor-tip' |
---|
| 231 | }, |
---|
| 232 | justifyleft : { |
---|
| 233 | title: 'Выровнять текст по левому краю', |
---|
| 234 | text: 'Выровнивание текста по левому краю.', |
---|
| 235 | cls: 'x-html-editor-tip' |
---|
| 236 | }, |
---|
| 237 | justifycenter : { |
---|
| 238 | title: 'По центру', |
---|
| 239 | text: 'Выровнивание текста по центру.', |
---|
| 240 | cls: 'x-html-editor-tip' |
---|
| 241 | }, |
---|
| 242 | justifyright : { |
---|
| 243 | title: 'Выровнять текст по правому краю', |
---|
| 244 | text: 'Выровнивание текста по правому краю.', |
---|
| 245 | cls: 'x-html-editor-tip' |
---|
| 246 | }, |
---|
| 247 | insertunorderedlist : { |
---|
| 248 | title: 'Маркеры', |
---|
| 249 | text: 'Начать маркированный список.', |
---|
| 250 | cls: 'x-html-editor-tip' |
---|
| 251 | }, |
---|
| 252 | insertorderedlist : { |
---|
| 253 | title: 'Нумерация', |
---|
| 254 | text: 'Начать нумернованный список.', |
---|
| 255 | cls: 'x-html-editor-tip' |
---|
| 256 | }, |
---|
| 257 | createlink : { |
---|
| 258 | title: 'Вставить гиперссылку', |
---|
| 259 | text: 'Создание ссылки из выделенного текста.', |
---|
| 260 | cls: 'x-html-editor-tip' |
---|
| 261 | }, |
---|
| 262 | sourceedit : { |
---|
| 263 | title: 'Исходный код', |
---|
| 264 | text: 'Переключиться на исходный код.', |
---|
| 265 | cls: 'x-html-editor-tip' |
---|
| 266 | } |
---|
| 267 | } |
---|
| 268 | }); |
---|
| 269 | } |
---|
| 270 | |
---|
| 271 | if(Ext.form.BasicForm){ |
---|
| 272 | Ext.form.BasicForm.prototype.waitTitle = "Пожалуйста подождите..."; |
---|
| 273 | } |
---|
| 274 | |
---|
| 275 | if(Ext.grid.GridView){ |
---|
| 276 | Ext.apply(Ext.grid.GridView.prototype, { |
---|
| 277 | sortAscText : "Сортировать по возрастанию", |
---|
| 278 | sortDescText : "Сортировать по убыванию", |
---|
| 279 | lockText : "Закрепить столбец", |
---|
| 280 | unlockText : "Снять закрепление столбца", |
---|
| 281 | columnsText : "Столбцы" |
---|
| 282 | }); |
---|
| 283 | } |
---|
| 284 | |
---|
| 285 | if(Ext.grid.GroupingView){ |
---|
| 286 | Ext.apply(Ext.grid.GroupingView.prototype, { |
---|
| 287 | emptyGroupText : '(Пусто)', |
---|
| 288 | groupByText : 'Группировать по этому полю', |
---|
| 289 | showGroupsText : 'Отображать по группам' |
---|
| 290 | }); |
---|
| 291 | } |
---|
| 292 | |
---|
| 293 | if(Ext.grid.PropertyColumnModel){ |
---|
| 294 | Ext.apply(Ext.grid.PropertyColumnModel.prototype, { |
---|
| 295 | nameText : "Название", |
---|
| 296 | valueText : "Значение", |
---|
| 297 | dateFormat : "d.m.Y" |
---|
| 298 | }); |
---|
| 299 | } |
---|
| 300 | |
---|
| 301 | if(Ext.SplitLayoutRegion){ |
---|
| 302 | Ext.apply(Ext.SplitLayoutRegion.prototype, { |
---|
| 303 | splitTip : "Тяните для изменения размера.", |
---|
| 304 | collapsibleSplitTip : "Тяните для изменения размера. Двойной щелчок спрячет панель." |
---|
| 305 | }); |
---|
| 306 | } |
---|
| 307 | |
---|
| 308 | if(Ext.layout.BorderLayout && Ext.layout.BorderLayout.SplitRegion){ |
---|
| 309 | Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype, { |
---|
| 310 | splitTip : "Тяните для изменения размера.", |
---|
| 311 | collapsibleSplitTip : "Тяните для изменения размера. Двойной щелчок спрячет панель." |
---|
| 312 | }); |
---|
| 313 | } |
---|