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 "البحث…"; } }; 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); 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";