app/assets/javascripts/select2_locale_pl.js in select2-rails-3.5.4 vs app/assets/javascripts/select2_locale_pl.js in select2-rails-3.5.5

- old
+ new

@@ -1,37 +1,22 @@ /** * Select2 Polish translation. * - * Author: Jan Kondratowicz <jan@kondratowicz.pl> + * @author Jan Kondratowicz <jan@kondratowicz.pl> + * @author Uriy Efremochkin <efremochkin@uriy.me> */ (function ($) { "use strict"; - - var pl_suffix = function(n) { - if(n == 1) return ""; - if((n%100 > 1 && n%100 < 5) || (n%100 > 20 && n%10 > 1 && n%10 < 5)) return "i"; - return "ów"; - }; $.extend($.fn.select2.defaults, { - formatNoMatches: function () { - return "Brak wyników."; - }, - formatInputTooShort: function (input, min) { - var n = min - input.length; - return "Wpisz jeszcze " + n + " znak" + pl_suffix(n) + "."; - }, - formatInputTooLong: function (input, max) { - var n = input.length - max; - return "Wpisana fraza jest za długa o " + n + " znak" + pl_suffix(n) + "."; - }, - formatSelectionTooBig: function (limit) { - return "Możesz zaznaczyć najwyżej " + limit + " element" + pl_suffix(limit) + "."; - }, - formatLoadMore: function (pageNumber) { - return "Ładowanie wyników..."; - }, - formatSearching: function () { - return "Szukanie..."; - } + formatNoMatches: function () { return "Brak wyników"; }, + formatInputTooShort: function (input, min) { return "Wpisz jeszcze" + character(min - input.length, "znak", "i"); }, + formatInputTooLong: function (input, max) { return "Wpisana fraza jest za długa o" + character(input.length - max, "znak", "i"); }, + formatSelectionTooBig: function (limit) { return "Możesz zaznaczyć najwyżej" + character(limit, "element", "y"); }, + formatLoadMore: function (pageNumber) { return "Ładowanie wyników…"; }, + formatSearching: function () { return "Szukanie…"; } }); -})(jQuery); \ No newline at end of file + + function character (n, word, pluralSuffix) { + return " " + n + " " + word + (n == 1 ? "" : n%10 < 5 && n%10 > 1 && (n%100 < 5 || n%100 > 20) ? pluralSuffix : "ów"); + } +})(jQuery);