1
0
mirror of synced 2024-11-22 13:06:08 +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

@ -4,22 +4,51 @@
* @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);