* Restructured
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Sun, 25 Jun 2006 14:47:36 +0000 (14:47 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Sun, 25 Jun 2006 14:47:36 +0000 (14:47 +0000)
languages/LanguageFa.php
languages/MessagesFa.php

index 3c690a2..43f5555 100644 (file)
@@ -5,56 +5,81 @@
   * @subpackage Language
   */
 
-# Wikipedia localization for Persian
-
-require_once('LanguageUtf8.php');
-
-#--------------------------------------------------------------------------
-# Language-specific text
-#--------------------------------------------------------------------------
-
-/* private */ $wgNamespaceNamesFa = array(
-       NS_MEDIA          => "مدیا",
-       NS_SPECIAL        => "ویژه",
-       NS_MAIN           => '',
-       NS_TALK           => "بحث",
-       NS_USER           => "کاربر",
-       NS_USER_TALK      => "بحث_کاربر",
-       NS_PROJECT        => $wgMetaNamespace,
-       NS_PROJECT_TALK   => "بحث_" . $wgMetaNamespace,
-       NS_IMAGE          => "تصویر",
-       NS_IMAGE_TALK     => "بحث_تصویر",
-       NS_MEDIAWIKI      => "مدیاویکی",
-       NS_MEDIAWIKI_TALK       => "بحث_مدیاویکی",
-       NS_TEMPLATE       => "الگو",
-       NS_TEMPLATE_TALK  => "بحث_الگو",
-       NS_HELP           => "راهنما",
-       NS_HELP_TALK      => "بحث_راهنما",
-       NS_CATEGORY       => "رده",
-       NS_CATEGORY_TALK  => "بحث_رده"
-) + $wgNamespaceNamesEn;
-
-/* private */ $wgQuickbarSettingsFa = array(
-       "نباشد", "ثابت چپ", "ثابت راست", "شناور چپ"
-);
-
-/* private */ $wgSkinNamesFa = array(
-       'standard' => "استاندارد",
-       'nostalgia' => "نوستالژی",
-       'cologneblue' => "آبی کلون",
-       'smarty' => "پدینگتون",
-       'montparnasse' => "مون‌پارناس",
-) + $wgSkinNamesEn;
+require_once( 'LanguageUtf8.php' );
 
 if (!$wgCachedMessageArrays) {
        require_once('MessagesFa.php');
 }
 
-#--------------------------------------------------------------------------
-# Internationalisation code
-#--------------------------------------------------------------------------
-
 class LanguageFa extends LanguageUtf8 {
+       private $mMessagesFa, $mNamespaceNamesFa = null;
+
+       private $mQuickbarSettingsFa = array(
+               'نباشد', 'ثابت چپ', 'ثابت راست', 'شناور چپ'
+       );
+       
+       private $mSkinNamesFa = array(
+               'standard' => 'استاندارد',
+               'nostalgia' => 'نوستالژی',
+               'cologneblue' => 'آبی کلون',
+               'smarty' => 'پدینگتون',
+               'montparnasse' => 'مون‌پارناس',
+       );
+
+       function __construct() {
+               parent::__construct();
+
+               global $wgAllMessagesFa;
+               $this->mMessagesFa =& $wgAllMessagesFa;
+
+               global $wgMetaNamespace;
+               $this->mNamespaceNamesFa = array(
+                       NS_MEDIA          => 'مدیا',
+                       NS_SPECIAL        => 'ویژه',
+                       NS_MAIN           => '',
+                       NS_TALK           => 'بحث',
+                       NS_USER           => 'کاربر',
+                       NS_USER_TALK      => 'بحث_کاربر',
+                       NS_PROJECT        => $wgMetaNamespace,
+                       NS_PROJECT_TALK   => 'بحث_' . $wgMetaNamespace,
+                       NS_IMAGE          => 'تصویر',
+                       NS_IMAGE_TALK     => 'بحث_تصویر',
+                       NS_MEDIAWIKI      => 'مدیاویکی',
+                       NS_MEDIAWIKI_TALK       => 'بحث_مدیاویکی',
+                       NS_TEMPLATE       => 'الگو',
+                       NS_TEMPLATE_TALK  => 'بحث_الگو',
+                       NS_HELP           => 'راهنما',
+                       NS_HELP_TALK      => 'بحث_راهنما',
+                       NS_CATEGORY       => 'رده',
+                       NS_CATEGORY_TALK  => 'بحث_رده'
+               );
+
+       }
+
+       function getNamespaces() {
+               return $this->mNamespaceNamesFa + parent::getNamespaces();
+       }
+
+       function getQuickbarSettings() {
+               return $this->mQuickbarSettingsFa;
+       }
+
+       function getSkinNames() {
+               return $this->mSkinNamesFa + parent::getSkinNames();
+       }
+
+       function getMessage( $key ) {
+               if( isset( $this->mMessagesFa[$key] ) ) {
+                       return $this->mMessagesFa[$key];
+               } else {
+                       return parent::getMessage( $key );
+               }
+       }
+
+       function getAllMessages() {
+               return $this->mMessagesFa;
+       }
+
        function digitTransformTable() {
                return array(
                        "0" => "۰",
@@ -80,28 +105,6 @@ class LanguageFa extends LanguageUtf8 {
                return $opt;
        }
 
-       function getNamespaces() {
-               global $wgNamespaceNamesFa;
-               return $wgNamespaceNamesFa;
-       }
-
-       function getQuickbarSettings() {
-               global $wgQuickbarSettingsFa;
-               return $wgQuickbarSettingsFa;
-       }
-
-       function getSkinNames() {
-               global $wgSkinNamesFa;
-               return $wgSkinNamesFa;
-       }
-
-       function getMessage( $key ) {
-               global $wgAllMessagesFa;
-               if(array_key_exists($key, $wgAllMessagesFa))
-                       return $wgAllMessagesFa[$key];
-               else
-                       return parent::getMessage($key);
-       }
 
        # For right-to-left language support
        function isRTL() { return true; }
index b379276..0a4e484 100644 (file)
@@ -1,11 +1,7 @@
 <?php
 
-
-#-------------------------------------------------------------------
-# Default messages
-#-------------------------------------------------------------------
-
-/* private */ $wgAllMessagesFa = array(
+global $wgAllMessagesFa;
+$wgAllMessagesFa = array(
 # User toggles
 
 'tog-underline' => "زیر پیوندها خط کشیده شود",