Browse Source

Russian l10n improved

Uriy Efremochkin 11 years ago
parent
commit
0c021ef90f
1 changed files with 10 additions and 4 deletions
  1. 10 4
      select2_locale_ru.js

+ 10 - 4
select2_locale_ru.js

@@ -1,15 +1,21 @@
 /**
- * Select2 Russian translation
+ * Select2 Russian translation.
+ *
+ * @author  Uriy Efremochkin <[email protected]>
  */
 (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);