Browse Source

[GENERIC, ZF-7494, ZF-7460] Zend_Translate:

- fixed multilevel plural rules

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17438 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 years ago
parent
commit
1096c0560b
1 changed files with 11 additions and 11 deletions
  1. 11 11
      library/Zend/Translate/Plural.php

+ 11 - 11
library/Zend/Translate/Plural.php

@@ -134,41 +134,41 @@ class Zend_Translate_Plural
             case 'ru':
             case 'sr':
             case 'uk':
-                return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : (($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2;
+                return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
 
             case 'cs':
             case 'sk':
-                return ($number == 1) ? 0 : (($number >= 2) && ($number <= 4)) ? 1 : 2;
+                return ($number == 1) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2);
 
             case 'ga':
-                return ($number == 1) ? 0 : ($number == 2) ? 1 : 2;
+                return ($number == 1) ? 0 : (($number == 2) ? 1 : 2);
 
             case 'lt':
-                return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : (($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2;
+                return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
 
             case 'sl':
-                return ($number % 100 == 1) ? 0 : ($number % 100 == 2) ? 1 : (($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3;
+                return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3));
 
             case 'mk':
                 return ($number % 10 == 1) ? 0 : 1;
 
             case 'mt':
-                return ($number == 1) ? 0 : (($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : (($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3;
+                return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3));
 
             case 'lv':
-                return ($number == 0) ? 0 : (($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2;
+                return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2);
 
             case 'pl':
-                return ($number == 1) ? 0 : (($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 > 29))) ? 1 : 2;
+                return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 > 29))) ? 1 : 2);
 
             case 'cy':
-                return ($number == 1) ? 0 : ($number == 2) ? 1 : (($number == 8) || ($number == 11)) ? 2 : 3;
+                return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3));
 
             case 'ro':
-                return ($number == 1) ? 0 : (($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2;
+                return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2);
 
             case 'ar':
-                return ($number == 0) ? 0 : ($number == 1) ? 1 : ($number == 2) ? 2 : (($number >= 3) && ($number <= 10)) ? 3 : (($number >= 11) && ($number <= 99)) ? 4 : 5;
+                return ($number == 0) ? 0 : (($number == 1) ? 1 : (($number == 2) ? 2 : ((($number >= 3) && ($number <= 10)) ? 3 : ((($number >= 11) && ($number <= 99)) ? 4 : 5))));
 
             default:
                 return 0;