diff --git a/select2_locale_ru.js b/select2_locale_ru.js index 3da956a8..90c89ddb 100644 --- a/select2_locale_ru.js +++ b/select2_locale_ru.js @@ -1,15 +1,21 @@ /** - * Select2 Russian translation + * Select2 Russian translation. + * + * @author Uriy Efremochkin */ (function ($) { "use strict"; $.extend($.fn.select2.defaults, { formatNoMatches: function () { return "Совпадений не найдено"; }, - formatInputTooShort: function (input, min) { var n = min - input.length; return "Пожалуйста, введите еще " + n + " символ" + (n == 1 ? "" : ((n > 1)&&(n < 5) ? "а" : "ов")); }, - formatInputTooLong: function (input, max) { var n = input.length - max; return "Пожалуйста, введите на " + n + " символ" + (n == 1 ? "" : ((n > 1)&&(n < 5)? "а" : "ов")) + " меньше"; }, - formatSelectionTooBig: function (limit) { return "Вы можете выбрать не более " + limit + " элемент" + (limit == 1 ? "а" : "ов"); }, + formatInputTooShort: function (input, min) { return "Пожалуйста, введите еще" + character(min - input.length); }, + formatInputTooLong: function (input, max) { return "Пожалуйста, введите на" + character(input.length - max) + " меньше"; }, + formatSelectionTooBig: function (limit) { return "Вы можете выбрать не более " + limit + " элемент" + (limit%10 == 1 && limit%100 != 11 ? "а" : "ов"); }, formatLoadMore: function (pageNumber) { return "Загрузка данных..."; }, formatSearching: function () { return "Поиск..."; } }); + + function character (n) { + return " " + n + " символ" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 20) ? n%10 > 1 ? "a" : "" : "ов"); + } })(jQuery);