[fix] uproszczenie i poprawienie logiki dodawania suffiksów liczby mnogiej
Signed-off-by:Damian Zajkowski <damian.zajkowski@rst.com.pl>
This commit is contained in:
parent
bbb3722a9b
commit
21628abb1a
@ -1,25 +1,54 @@
|
|||||||
/**
|
/**
|
||||||
* Select2 Polish translation.
|
* Select2 Polish translation.
|
||||||
*
|
*
|
||||||
* @author Jan Kondratowicz <jan@kondratowicz.pl>
|
* @author Jan Kondratowicz <jan@kondratowicz.pl>
|
||||||
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
||||||
* @author Michał Połtyn <mike@poltyn.com>
|
* @author Michał Połtyn <mike@poltyn.com>
|
||||||
|
* @author Damian Zajkowski <damian.zajkowski@gmail.com>
|
||||||
*/
|
*/
|
||||||
(function ($) {
|
(function($) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
$.fn.select2.locales['pl'] = {
|
$.fn.select2.locales['pl'] = {
|
||||||
formatNoMatches: function () { return "Brak wyników"; },
|
formatNoMatches: function() {
|
||||||
formatInputTooShort: function (input, min) { return "Wpisz co najmniej" + character(min - input.length, "znak", "i"); },
|
return "Brak wyników";
|
||||||
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"); },
|
formatInputTooShort: function(input, min) {
|
||||||
formatLoadMore: function (pageNumber) { return "Ładowanie wyników…"; },
|
return "Wpisz co najmniej" + character(min - input.length, "znak", "i");
|
||||||
formatSearching: function () { return "Szukanie…"; }
|
},
|
||||||
|
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…";
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$.extend($.fn.select2.defaults, $.fn.select2.locales['pl']);
|
$.extend($.fn.select2.defaults, $.fn.select2.locales['pl']);
|
||||||
|
|
||||||
function character (n, word, pluralSuffix) {
|
function character(n, word, pluralSuffix) {
|
||||||
return " " + n + " " + word + (n == 1 ? "" : n%10 < 5 && n%10 > 1 && (n%100 < 5 || n%100 > 20) ? pluralSuffix : "ów");
|
//Liczba pojedyncza - brak suffiksu
|
||||||
|
//jeden znak
|
||||||
|
//jeden element
|
||||||
|
var suffix = '';
|
||||||
|
if (n > 1 && n < 5) {
|
||||||
|
//Liczaba mnoga ilość od 2 do 4 - własny suffiks
|
||||||
|
//Dwa znaki, trzy znaki, cztery znaki.
|
||||||
|
//Dwa elementy, trzy elementy, cztery elementy
|
||||||
|
suffix = pluralSuffix;
|
||||||
|
} else if (n == 0 || n >= 5) {
|
||||||
|
//Ilość 0 suffiks ów
|
||||||
|
//Liczaba mnoga w ilości 5 i więcej - suffiks ów (nie poprawny dla wszystkich wyrazów, np. 100 wiadomości)
|
||||||
|
//Zero znaków, Pięć znaków, sześć znaków, siedem znaków, osiem znaków.
|
||||||
|
//Zero elementów Pięć elementów, sześć elementów, siedem elementów, osiem elementów.
|
||||||
|
suffix = 'ów';
|
||||||
|
}
|
||||||
|
return " " + n + " " + word + suffix;
|
||||||
}
|
}
|
||||||
})(jQuery);
|
})(jQuery);
|
||||||
|
Loading…
Reference in New Issue
Block a user