Browse Source

Merge pull request #2655 from DamianZ/master

bug fixes in languages
Kevin Brown 10 years ago
parent
commit
d0d4bfb289
3 changed files with 42 additions and 13 deletions
  1. 1 1
      select2_locale_ar.js
  2. 39 10
      select2_locale_pl.js
  3. 2 2
      select2_locale_sk.js

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

+ 39 - 10
select2_locale_pl.js

@@ -1,25 +1,54 @@
 /**
  * Select2 Polish translation.
- * 
+ *
  * @author  Jan Kondratowicz <[email protected]>
  * @author  Uriy Efremochkin <[email protected]>
  * @author  Michał Połtyn <[email protected]>
+ * @author  Damian Zajkowski <[email protected]>
  */
-(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);

+ 2 - 2
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";