From c2bd82f18932a608af5e88a028d28f0ea7e331b5 Mon Sep 17 00:00:00 2001 From: Damian Zajkowski Date: Tue, 2 Sep 2014 10:52:42 +0200 Subject: [PATCH 1/3] [fix] change undefined variable to the correct one Signed-off-by:Damian Zajkowski --- select2_locale_ar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/select2_locale_ar.js b/select2_locale_ar.js index 163e19cb..e991b726 100644 --- a/select2_locale_ar.js +++ b/select2_locale_ar.js @@ -10,7 +10,7 @@ formatNoMatches: function () { return "لم يتم العثور على مطابقات"; }, formatInputTooShort: function (input, min) { var n = min - input.length; if (n == 1){ return "الرجاء إدخال حرف واحد على الأكثر"; } return n == 2 ? "الرجاء إدخال حرفين على الأكثر" : "الرجاء إدخال " + n + " على الأكثر"; }, formatInputTooLong: function (input, max) { var n = input.length - max; if (n == 1){ return "الرجاء إدخال حرف واحد على الأقل"; } return n == 2 ? "الرجاء إدخال حرفين على الأقل" : "الرجاء إدخال " + n + " على الأقل "; }, - formatSelectionTooBig: function (limit) { if (n == 1){ return "يمكنك أن تختار إختيار واحد فقط"; } return n == 2 ? "يمكنك أن تختار إختيارين فقط" : "يمكنك أن تختار " + n + " إختيارات فقط"; }, + formatSelectionTooBig: function (limit) { if (limit == 1){ return "يمكنك أن تختار إختيار واحد فقط"; } return limit == 2 ? "يمكنك أن تختار إختيارين فقط" : "يمكنك أن تختار " + limit + " إختيارات فقط"; }, formatLoadMore: function (pageNumber) { return "تحميل المزيد من النتائج…"; }, formatSearching: function () { return "البحث…"; } }; From bbb3722a9bc7fd1fac2b0a1285c4e27b14b461b0 Mon Sep 17 00:00:00 2001 From: Damian Zajkowski Date: Tue, 2 Sep 2014 11:12:31 +0200 Subject: [PATCH 2/3] [fix] secure fix, to prevent access to undefined array index Signed-off-by:Damian Zajkowski --- select2_locale_sk.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/select2_locale_sk.js b/select2_locale_sk.js index 0b49850d..027530c9 100644 --- a/select2_locale_sk.js +++ b/select2_locale_sk.js @@ -27,7 +27,7 @@ var n = input.length - max; if (n == 1) { return "Prosím, zadajte o jeden znak menej"; - } else if (n <= 4) { + } else if (n >= 2 && n <= 4) { return "Prosím, zadajte o "+smallNumbers[n](true)+" znaky menej"; } else { return "Prosím, zadajte o "+n+" znakov menej"; @@ -36,7 +36,7 @@ formatSelectionTooBig: function (limit) { if (limit == 1) { return "Môžete zvoliť len jednu položku"; - } else if (limit <= 4) { + } else if (limit >= 2 && limit <= 4) { return "Môžete zvoliť najviac "+smallNumbers[limit](false)+" položky"; } else { return "Môžete zvoliť najviac "+limit+" položiek"; From 21628abb1a8d3f2c6086c513fe33068f4f4af431 Mon Sep 17 00:00:00 2001 From: Damian Zajkowski Date: Tue, 2 Sep 2014 12:07:48 +0200 Subject: [PATCH 3/3] =?UTF-8?q?[fix]=20uproszczenie=20i=20poprawienie=20lo?= =?UTF-8?q?giki=20dodawania=20suffiks=C3=B3w=20liczby=20mnogiej=20Signed-o?= =?UTF-8?q?ff-by:Damian=20Zajkowski=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- select2_locale_pl.js | 49 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/select2_locale_pl.js b/select2_locale_pl.js index d77648ff..87c26194 100644 --- a/select2_locale_pl.js +++ b/select2_locale_pl.js @@ -1,25 +1,54 @@ /** * Select2 Polish translation. - * + * * @author Jan Kondratowicz * @author Uriy Efremochkin * @author Michał Połtyn + * @author Damian Zajkowski */ -(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);