1
0
mirror of synced 2024-11-21 20:46:07 +03:00

[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:
Damian Zajkowski 2014-09-02 12:07:48 +02:00
parent bbb3722a9b
commit 21628abb1a

View File

@ -1,25 +1,54 @@
/**
* Select2 Polish translation.
*
*
* @author Jan Kondratowicz <jan@kondratowicz.pl>
* @author Uriy Efremochkin <efremochkin@uriy.me>
* @author Michał Połtyn <mike@poltyn.com>
* @author Damian Zajkowski <damian.zajkowski@gmail.com>
*/
(function ($) {
(function($) {
"use strict";
$.fn.select2.locales['pl'] = {
formatNoMatches: function () { return "Brak wyników"; },
formatInputTooShort: function (input, min) { return "Wpisz co najmniej" + 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…"; }
formatNoMatches: function() {
return "Brak wyników";
},
formatInputTooShort: function(input, min) {
return "Wpisz co najmniej" + 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…";
}
};
$.extend($.fn.select2.defaults, $.fn.select2.locales['pl']);
function character (n, word, pluralSuffix) {
return " " + n + " " + word + (n == 1 ? "" : n%10 < 5 && n%10 > 1 && (n%100 < 5 || n%100 > 20) ? pluralSuffix : "ów");
function character(n, word, pluralSuffix) {
//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);