Skip to content

Commit 21628ab

Browse files
author
Damian Zajkowski
committed
[fix] uproszczenie i poprawienie logiki dodawania suffiksów liczby mnogiej
Signed-off-by:Damian Zajkowski <damian.zajkowski@rst.com.pl>
1 parent bbb3722 commit 21628ab

1 file changed

Lines changed: 39 additions & 10 deletions

File tree

select2_locale_pl.js

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,54 @@
11
/**
22
* Select2 Polish translation.
3-
*
3+
*
44
* @author Jan Kondratowicz <jan@kondratowicz.pl>
55
* @author Uriy Efremochkin <efremochkin@uriy.me>
66
* @author Michał Połtyn <mike@poltyn.com>
7+
* @author Damian Zajkowski <damian.zajkowski@gmail.com>
78
*/
8-
(function ($) {
9+
(function($) {
910
"use strict";
1011

1112
$.fn.select2.locales['pl'] = {
12-
formatNoMatches: function () { return "Brak wyników"; },
13-
formatInputTooShort: function (input, min) { return "Wpisz co najmniej" + character(min - input.length, "znak", "i"); },
14-
formatInputTooLong: function (input, max) { return "Wpisana fraza jest za długa o" + character(input.length - max, "znak", "i"); },
15-
formatSelectionTooBig: function (limit) { return "Możesz zaznaczyć najwyżej" + character(limit, "element", "y"); },
16-
formatLoadMore: function (pageNumber) { return "Ładowanie wyników…"; },
17-
formatSearching: function () { return "Szukanie…"; }
13+
formatNoMatches: function() {
14+
return "Brak wyników";
15+
},
16+
formatInputTooShort: function(input, min) {
17+
return "Wpisz co najmniej" + character(min - input.length, "znak", "i");
18+
},
19+
formatInputTooLong: function(input, max) {
20+
return "Wpisana fraza jest za długa o" + character(input.length - max, "znak", "i");
21+
},
22+
formatSelectionTooBig: function(limit) {
23+
return "Możesz zaznaczyć najwyżej" + character(limit, "element", "y");
24+
},
25+
formatLoadMore: function(pageNumber) {
26+
return "Ładowanie wyników…";
27+
},
28+
formatSearching: function() {
29+
return "Szukanie…";
30+
}
1831
};
1932

2033
$.extend($.fn.select2.defaults, $.fn.select2.locales['pl']);
2134

22-
function character (n, word, pluralSuffix) {
23-
return " " + n + " " + word + (n == 1 ? "" : n%10 < 5 && n%10 > 1 && (n%100 < 5 || n%100 > 20) ? pluralSuffix : "ów");
35+
function character(n, word, pluralSuffix) {
36+
//Liczba pojedyncza - brak suffiksu
37+
//jeden znak
38+
//jeden element
39+
var suffix = '';
40+
if (n > 1 && n < 5) {
41+
//Liczaba mnoga ilość od 2 do 4 - własny suffiks
42+
//Dwa znaki, trzy znaki, cztery znaki.
43+
//Dwa elementy, trzy elementy, cztery elementy
44+
suffix = pluralSuffix;
45+
} else if (n == 0 || n >= 5) {
46+
//Ilość 0 suffiks ów
47+
//Liczaba mnoga w ilości 5 i więcej - suffiks ów (nie poprawny dla wszystkich wyrazów, np. 100 wiadomości)
48+
//Zero znaków, Pięć znaków, sześć znaków, siedem znaków, osiem znaków.
49+
//Zero elementów Pięć elementów, sześć elementów, siedem elementów, osiem elementów.
50+
suffix = 'ów';
51+
}
52+
return " " + n + " " + word + suffix;
2453
}
2554
})(jQuery);

0 commit comments

Comments
 (0)