Partial update of plural forms per http://unicode.org/repos/cldr-tmp/trunk/diff/suppl...
authorSiebrand Mazeland <siebrand@users.mediawiki.org>
Mon, 28 Sep 2009 08:40:09 +0000 (08:40 +0000)
committerSiebrand Mazeland <siebrand@users.mediawiki.org>
Mon, 28 Sep 2009 08:40:09 +0000 (08:40 +0000)
* updating check blacklists in core and Translate
* adding language classes for codes that use singular form for plural as only difference to English plural forms
* adding FIXME for 'be' plurals: MediaWiki definitions differs from CLDR

languages/classes/LanguageAm.php [new file with mode: 0644]
languages/classes/LanguageBe.php
languages/classes/LanguageBh.php [new file with mode: 0644]
languages/classes/LanguageHi.php [new file with mode: 0644]
languages/classes/LanguageMg.php [new file with mode: 0644]
languages/classes/LanguageNso.php [new file with mode: 0644]
languages/classes/LanguagePt.php [new file with mode: 0644]
languages/classes/LanguageTi.php [new file with mode: 0644]
languages/classes/LanguageTl.php [new file with mode: 0644]
languages/classes/LanguageWa.php
maintenance/language/checkLanguage.inc

diff --git a/languages/classes/LanguageAm.php b/languages/classes/LanguageAm.php
new file mode 100644 (file)
index 0000000..cf31c70
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageAm extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
index 1468daf..c9ae0fc 100644 (file)
@@ -17,6 +17,8 @@ class LanguageBe extends Language {
 
        function convertPlural( $count, $forms ) {
                if ( !count($forms) ) { return ''; }
+               // FIXME: CLDR defines 4 plural forms instead of 3
+               //        http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html
                $forms = $this->preConvertPlural( $forms, 3 );
 
                if ($count > 10 && floor(($count % 100) / 10) == 1) {
diff --git a/languages/classes/LanguageBh.php b/languages/classes/LanguageBh.php
new file mode 100644 (file)
index 0000000..80119ec
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageBh extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
diff --git a/languages/classes/LanguageHi.php b/languages/classes/LanguageHi.php
new file mode 100644 (file)
index 0000000..705c73b
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageHi extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
diff --git a/languages/classes/LanguageMg.php b/languages/classes/LanguageMg.php
new file mode 100644 (file)
index 0000000..8593a29
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageMg extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
diff --git a/languages/classes/LanguageNso.php b/languages/classes/LanguageNso.php
new file mode 100644 (file)
index 0000000..1b56e76
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageNso extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
diff --git a/languages/classes/LanguagePt.php b/languages/classes/LanguagePt.php
new file mode 100644 (file)
index 0000000..f88c177
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguagePt extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
diff --git a/languages/classes/LanguageTi.php b/languages/classes/LanguageTi.php
new file mode 100644 (file)
index 0000000..1974915
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageTi extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
diff --git a/languages/classes/LanguageTl.php b/languages/classes/LanguageTl.php
new file mode 100644 (file)
index 0000000..23b6ad6
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/**
+ *
+ * @ingroup Language
+ */
+class LanguageTl extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+}
index 3d117e5..4a4296c 100644 (file)
@@ -9,6 +9,16 @@
 # k' i gn a.
 
 class LanguageWa extends Language {
+       /**
+        * Use singular form for zero
+        */
+       function convertPlural( $count, $forms ) {
+               if ( !count($forms) ) { return ''; }
+               $forms = $this->preConvertPlural( $forms, 2 );
+
+               return ($count <= 1) ? $forms[0] : $forms[1];
+       }
+
        ###
        ### Dates in Walloon are "1î d' <monthname>" for 1st of the month,
        ### "<day> di <monthname>" for months starting by a consoun, and
index ab6d8a1..30f69a2 100644 (file)
@@ -645,6 +645,11 @@ ENDS;
 # Blacklist some checks for some languages
 $checkBlacklist = array(
 #'code'        => array( 'check1', 'check2' ... )
+'az'           => array( 'plural' ),
+'bo'           => array( 'plural' ),
+'dz'           => array( 'plural' ),
+'id'           => array( 'plural' ),
+'fa'           => array( 'plural' ),
 'gan'          => array( 'plural' ),
 'gan-hans'     => array( 'plural' ),
 'gan-hant'     => array( 'plural' ),
@@ -652,21 +657,28 @@ $checkBlacklist = array(
 'hak'          => array( 'plural' ),
 'hu'           => array( 'plural' ),
 'ja'           => array( 'plural' ), // Does not use plural
+'jv'           => array( 'plural' ),
 'ka'           => array( 'plural' ),
 'kk-arab'      => array( 'plural' ),
 'kk-cyrl'      => array( 'plural' ),
 'kk-latn'      => array( 'plural' ),
+'km'           => array( 'plural' ),
+'kn'           => array( 'plural' ),
 'ko'           => array( 'plural' ),
 'lzh'          => array( 'plural' ),
 'mn'           => array( 'plural' ),
 'ms'           => array( 'plural' ),
-'my'           => array( 'chars' ),  // Uses a lot zwnj
+'my'           => array( 'plural', 'chars' ),  // Uses a lot zwnj
 'sah'          => array( 'plural' ),
 'sq'           => array( 'plural' ),
 'tet'          => array( 'plural' ),
 'th'           => array( 'plural' ),
+'to'           => array( 'plural' ),
+'tr'           => array( 'plural' ),
+'vi'           => array( 'plural' ),
 'wuu'          => array( 'plural' ),
 'xmf'          => array( 'plural' ),
+'yo'           => array( 'plural' ),
 'yue'          => array( 'plural' ),
 'zh'           => array( 'plural' ),
 'zh-classical' => array( 'plural' ),