Merge "Don't set wgPostEdit for null edits."
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 6 Mar 2013 22:26:42 +0000 (22:26 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 6 Mar 2013 22:26:42 +0000 (22:26 +0000)
16 files changed:
includes/Collation.php
includes/WikiPage.php
includes/installer/Installer.i18n.php
languages/messages/MessagesBg.php
languages/messages/MessagesEu.php
languages/messages/MessagesGv.php
languages/messages/MessagesIa.php
languages/messages/MessagesJa.php
languages/messages/MessagesLad.php
languages/messages/MessagesLzh.php
languages/messages/MessagesRu.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesVi.php
resources/Resources.php
skins/Vector.php
tests/phpunit/includes/LinksUpdateTest.php

index 87afc10..0ace6ba 100644 (file)
@@ -181,23 +181,34 @@ class IcuCollation extends Collation {
        );
 
        /**
-        * Additional characters (or character groups) to be considered first-letters
+        * Additional characters (or character groups) to be considered separate
+        * letters for given languages, compared to the data stored in the
+        * first-letters-root.ser file (which among others includes full basic latin,
+        * cyrillic and greek alphabets).
         *
-        * Generated based on the primary level of Unicode collation tailorings
-        * available at http://developer.mimer.com/charts/tailorings.htm .
+        * "Separate letter" is a letter that would have a separate heading/section
+        * for it in a dictionary or a phone book in this language. This data isn't
+        * used for sorting (the ICU library handles that), only for deciding which
+        * characters (or character groups) to use as headings.
+        *
+        * Initially generated based on the primary level of Unicode collation
+        * tailorings available at http://developer.mimer.com/charts/tailorings.htm ,
+        * later modified.
         *
         * Empty arrays are intended; this signifies that the data for the language is
         * available and that there are, in fact, no additional letters to consider.
         */
        static $tailoringFirstLetters = array(
                // Verified by native speakers
-               'pl' => array( "Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ź", "Ż" ),
+               'be' => array( "Ё" ),
+               'be-tarask' => array( "Ё" ),
                'fi' => array( "Å", "Ä", "Ö" ),
+               'pl' => array( "Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ź", "Ż" ),
+               'ru' => array(),
                // Not verified, but likely correct
                'af' => array(),
                'ast' => array( "CH", "LL", "Ñ" ),
                'az' => array( "Ç", "Ə", "Ğ", "İ", "Ö", "Ş", "Ü" ),
-               'be' => array( "Ё" ),
                'bg' => array(),
                'br' => array( "CH", "C'H" ),
                'bs' => array( "Č", "Ć", "DŽ", "Đ", "LJ", "NJ", "Š", "Ž" ),
@@ -243,7 +254,6 @@ class IcuCollation extends Collation {
                'pt' => array(),
                'rm' => array(),
                'ro' => array( "Ă", "Â", "Î", "Ş", "Ţ" ),
-               'ru' => array(),
                'rup' => array( "Ă", "Â", "Î", "Ľ", "Ń", "Ş", "Ţ" ),
                'sco' => array(),
                'sk' => array( "Ä", "Č", "CH", "Ô", "Š", "Ž" ),
@@ -253,7 +263,7 @@ class IcuCollation extends Collation {
                'sr' => array(),
                'sv' => array( "Å", "Ä", "Ö" ),
                'tk' => array( "Ç", "Ä", "Ž", "Ň", "Ö", "Ş", "Ü", "Ý" ),
-               'tl' => array( "Ñ", "NG" ), /* 'fil' in the data source */
+               'tl' => array( "Ñ", "NG" ),
                'tr' => array( "Ç", "Ğ", "İ", "Ö", "Ş", "Ü" ),
                'tt' => array( "Ә", "Ө", "Ү", "Җ", "Ң", "Һ" ),
                'uk' => array( "Ґ", "Ь" ),
index 10b3bd8..392c2d6 100644 (file)
@@ -50,6 +50,11 @@ class WikiPage implements Page, IDBAccessObject {
        public $mPreparedEdit = false;       // !< Array
        /**@}}*/
 
+       /**
+        * @var int
+        */
+       protected $mId = null;
+
        /**
         * @var int; one of the READ_* constants
         */
@@ -228,6 +233,7 @@ class WikiPage implements Page, IDBAccessObject {
         * @return void
         */
        protected function clearCacheFields() {
+               $this->mId = null;
                $this->mCounter = null;
                $this->mRedirectTarget = null; // Title object if set
                $this->mLastRevision = null; // Latest revision
@@ -380,6 +386,7 @@ class WikiPage implements Page, IDBAccessObject {
                        // Old-fashioned restrictions
                        $this->mTitle->loadRestrictions( $data->page_restrictions );
 
+                       $this->mId          = intval( $data->page_id );
                        $this->mCounter     = intval( $data->page_counter );
                        $this->mTouched     = wfTimestamp( TS_MW, $data->page_touched );
                        $this->mIsRedirect  = intval( $data->page_is_redirect );
@@ -396,6 +403,8 @@ class WikiPage implements Page, IDBAccessObject {
                        $this->mTitle->loadFromRow( false );
 
                        $this->clearCacheFields();
+
+                       $this->mId = 0;
                }
 
                $this->mDataLoaded = true;
@@ -406,14 +415,20 @@ class WikiPage implements Page, IDBAccessObject {
         * @return int Page ID
         */
        public function getId() {
-               return $this->mTitle->getArticleID();
+               if ( !$this->mDataLoaded ) {
+                       $this->loadPageData();
+               }
+               return $this->mId;
        }
 
        /**
         * @return bool Whether or not the page exists in the database
         */
        public function exists() {
-               return $this->mTitle->exists();
+               if ( !$this->mDataLoaded ) {
+                       $this->loadPageData();
+               }
+               return $this->mId > 0;
        }
 
        /**
@@ -425,7 +440,7 @@ class WikiPage implements Page, IDBAccessObject {
         * @return bool
         */
        public function hasViewableContent() {
-               return $this->mTitle->exists() || $this->mTitle->isAlwaysKnown();
+               return $this->exists() || $this->mTitle->isAlwaysKnown();
        }
 
        /**
@@ -1067,7 +1082,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                return $wgEnableParserCache
                        && $parserOptions->getStubThreshold() == 0
-                       && $this->mTitle->exists()
+                       && $this->exists()
                        && ( $oldid === null || $oldid === 0 || $oldid === $this->getLatest() )
                        && $this->getContentHandler()->isParserCacheSupported();
        }
@@ -1123,7 +1138,7 @@ class WikiPage implements Page, IDBAccessObject {
                }
 
                // Don't update page view counters on views from bot users (bug 14044)
-               if ( !$wgDisableCounters && !$user->isAllowed( 'bot' ) && $this->mTitle->exists() ) {
+               if ( !$wgDisableCounters && !$user->isAllowed( 'bot' ) && $this->exists() ) {
                        DeferredUpdates::addUpdate( new ViewCountUpdate( $this->getId() ) );
                        DeferredUpdates::addUpdate( new SiteStatsUpdate( 1, 0, 0 ) );
                }
@@ -1160,7 +1175,7 @@ class WikiPage implements Page, IDBAccessObject {
                if ( $this->mTitle->getNamespace() == NS_MEDIAWIKI ) {
                        // @todo: move this logic to MessageCache
 
-                       if ( $this->mTitle->exists() ) {
+                       if ( $this->exists() ) {
                                // NOTE: use transclusion text for messages.
                                //       This is consistent with  MessageCache::getMsgFromNamespace()
 
@@ -1209,6 +1224,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                if ( $affected ) {
                        $newid = $dbw->insertId();
+                       $this->mId = $newid;
                        $this->mTitle->resetArticleID( $newid );
                }
                wfProfileOut( __METHOD__ );
@@ -1506,7 +1522,7 @@ class WikiPage implements Page, IDBAccessObject {
         */
        function checkFlags( $flags ) {
                if ( !( $flags & EDIT_NEW ) && !( $flags & EDIT_UPDATE ) ) {
-                       if ( $this->mTitle->getArticleID() ) {
+                       if ( $this->exists() ) {
                                $flags |= EDIT_UPDATE;
                        } else {
                                $flags |= EDIT_NEW;
@@ -2068,7 +2084,7 @@ class WikiPage implements Page, IDBAccessObject {
                        }
                }
 
-               if ( !$this->mTitle->exists() ) {
+               if ( !$this->exists() ) {
                        wfProfileOut( __METHOD__ );
                        return;
                }
@@ -2207,7 +2223,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                $restrictionTypes = $this->mTitle->getRestrictionTypes();
 
-               $id = $this->mTitle->getArticleID();
+               $id = $this->getId();
 
                if ( !$cascade ) {
                        $cascade = false;
@@ -2588,7 +2604,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                // Now that it's safely backed up, delete it
                $dbw->delete( 'page', array( 'page_id' => $id ), __METHOD__ );
-               $ok = ( $dbw->affectedRows() > 0 ); // getArticleID() uses slave, could be laggy
+               $ok = ( $dbw->affectedRows() > 0 ); // $id could be laggy
 
                if ( !$ok ) {
                        $dbw->rollback( __METHOD__ );
@@ -2635,11 +2651,8 @@ class WikiPage implements Page, IDBAccessObject {
                // Clear caches
                WikiPage::onArticleDelete( $this->mTitle );
 
-               // Reset this object
-               $this->clear();
-
-               // Clear the cached article id so the interface doesn't act like we exist
-               $this->mTitle->resetArticleID( 0 );
+               // Reset this object and the Title object
+               $this->loadFromRow( false, self::READ_LATEST );
        }
 
        /**
@@ -2943,7 +2956,7 @@ class WikiPage implements Page, IDBAccessObject {
         */
        public function getHiddenCategories() {
                $result = array();
-               $id = $this->mTitle->getArticleID();
+               $id = $this->getId();
 
                if ( $id == 0 ) {
                        return array();
@@ -3087,7 +3100,7 @@ class WikiPage implements Page, IDBAccessObject {
                // are visible.
 
                // Get templates from templatelinks
-               $id = $this->mTitle->getArticleID();
+               $id = $this->getId();
 
                $tlTemplates = array();
 
index 65870a8..ff29ea8 100644 (file)
@@ -4419,6 +4419,20 @@ $messages['el'] = array(
        'mainpagedocfooter' => 'Περισσότερες πληροφορίες σχετικά με τη χρήση και με τη ρύθμιση παραμέτρων θα βρείτε στους συνδέσμους: [//meta.wikimedia.org/wiki/MediaWiki_localisation Οδηγίες για τροποποίηση του περιβάλλοντος εργασίας] και [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Εγχειρίδιο χρήστη].', # Fuzzy
 );
 
+/** British English (British English)
+ * @author Shirayuki
+ */
+$messages['en-gb'] = array(
+       'config-unicode-using-utf8' => "Using Brion Vibber's utf8_normalize.so for Unicode normalisation.",
+       'config-unicode-using-intl' => 'Using the [http://pecl.php.net/intl intl PECL extension] for Unicode normalisation.',
+       'config-unicode-pure-php-warning' => "'''Warning:''' The [http://pecl.php.net/intl intl PECL extension] is not available to handle Unicode normalisation, falling back to slow pure-PHP implementation.
+If you run a high-traffic site, you should read a little on [//www.mediawiki.org/wiki/Unicode_normalization_considerations Unicode normalisation].",
+       'config-unicode-update-warning' => "'''Warning:''' The installed version of the Unicode normalisation wrapper uses an older version of [http://site.icu-project.org/ the ICU project's] library.
+You should [//www.mediawiki.org/wiki/Unicode_normalization_considerations upgrade] if you are at all concerned about using Unicode.",
+       'config-profile-fishbowl' => 'Authorised editors only',
+       'config-install-stats' => 'Initialising statistics',
+);
+
 /** Esperanto (Esperanto)
  * @author Airon90
  * @author Yekrats
@@ -10038,9 +10052,9 @@ MediaWikiのインストールはできません。',
 しかし、MediaWikiには PHP $2 以上が必要です。',
        'config-unicode-using-utf8' => 'Unicode正規化に、Brion Vibberのutf8_normalize.soを使用。',
        'config-unicode-using-intl' => 'Unicode正規化に[http://pecl.php.net/intl intl PECL 拡張機能]を使用。',
-       'config-unicode-pure-php-warning' => "'''警告''': Unicode 正規化の処理に [http://pecl.php.net/intl intl PECL 拡張機能]を利用できないため、処理が遅いピュア PHP の実装を代わりに使用しています。
+       'config-unicode-pure-php-warning' => "'''警告:''' Unicode 正規化の処理に [http://pecl.php.net/intl intl PECL 拡張機能]を利用できないため、処理が遅いピュア PHP の実装を代わりに使用しています。
 高トラフィックのサイトを運営する場合は、[//www.mediawiki.org/wiki/Unicode_normalization_considerations Unicode 正規化]をお読みください。",
-       'config-unicode-update-warning' => "'''警告''': インストールされているバージョンの Unicode 正規化ラッパーは、[http://site.icu-project.org/ ICU プロジェクト]のライブラリの古いバージョンを使用しています。
+       'config-unicode-update-warning' => "'''警告:''' インストールされているバージョンの Unicode 正規化ラッパーは、[http://site.icu-project.org/ ICU プロジェクト]のライブラリの古いバージョンを使用しています。
 Unicode を少しでも利用する可能性がある場合は、[//www.mediawiki.org/wiki/Unicode_normalization_considerations アップグレード]してください。",
        'config-no-db' => '適切なデータベース ドライバーが見つかりませんでした! PHP にデータベース ドライバーをインストールする必要があります。
 以下の種類のデータベースに対応しています: $1
@@ -10048,7 +10062,7 @@ Unicode を少しでも利用する可能性がある場合は、[//www.mediawik
 共有サーバーを使用している場合は、適切なデータベース ドライバーのインストールを、サーバーの管理者に依頼してください。
 PHP を自分でコンパイルした場合は、例えば <code>./configure --with-mysql</code> を実行して、データベース クライアントを使用できるように再設定してください。
 Debian または Ubuntu のパッケージから PHP をインストールした場合は、php5-mysql モジュールもインストールする必要があります。',
-       'config-no-fts3' => "'''警告''': SQLite は [//sqlite.org/fts3.html FTS3] モジュールなしでコンパイルされており、このバックエンドでは検索機能は利用できなくなります。",
+       'config-no-fts3' => "'''警告:''' SQLite は [//sqlite.org/fts3.html FTS3] モジュールなしでコンパイルされており、このバックエンドでは検索機能は利用できなくなります。",
        'config-register-globals' => "'''警告: PHP の <code>[http://php.net/register_globals register_globals]</code> オプションが有効になっています。'''
 '''可能なら無効化してください。'''
 MediaWiki は動作しますが、サーバーの潜在的なセキュリティ脆弱性が露呈されます。",
@@ -10071,7 +10085,7 @@ MediaWikiは、このモジュールの関数を必要としているため、
 Mandrakeを実行している場合、php-xmlパッケージをインストールしてください。',
        'config-pcre' => 'PCREをサポートしているモジュールが不足しているようです。
 MediaWikiは、Perl互換の正規表現関数の動作が必要です。',
-       'config-pcre-no-utf8' => "'''致命的エラー''': PHP の PCRE が PCRE_UTF8 対応なしでコンパイルされているようです。
+       'config-pcre-no-utf8' => "'''致命的エラー:''' PHP の PCRE が PCRE_UTF8 対応なしでコンパイルされているようです。
 MediaWiki を正しく動作させるには、UTF-8 対応が必要です。",
        'config-memory-raised' => 'PHPの<code>memory_limit</code>は$1で、$2に引き上げられました。',
        'config-memory-bad' => "'''警告:''' PHPの<code>memory_limit</code>に$1に設定されています。
@@ -10091,7 +10105,7 @@ MediaWiki を正しく動作させるには、UTF-8 対応が必要です。",
 画像のサムネイル生成は無効になります。',
        'config-no-uri' => "'''エラー:''' 現在のURIを決定できませんでした。
 インストールは中止されました。",
-       'config-no-cli-uri' => "'''警告''': --scriptpath が指定されていないため、既定値 <code>$1</code> を使用します。",
+       'config-no-cli-uri' => "'''警告:''' --scriptpath が指定されていないため、既定値 <code>$1</code> を使用します。",
        'config-using-server' => 'サーバー名「<nowiki>$1</nowiki>」を使用しています。',
        'config-using-uri' => 'サーバー URL「<nowiki>$1$2</nowiki>」を使用しています。',
        'config-uploads-not-safe' => "'''警告:''' アップロードの既定ディレクトリ <code>$1</code> に、任意のスクリプト実行に関する脆弱性があります。
@@ -10422,12 +10436,12 @@ GFDLは有効なライセンスですが、内容を理解するのは困難で
        'config-install-user-missing-create' => '指定したユーザー「$1」は存在しません。
 アカウントを作成する場合は、下の「アカウント作成」をクリックしてください。',
        'config-install-tables' => 'テーブルの作成',
-       'config-install-tables-exist' => "'''警告''': MediaWiki テーブルは既に存在するようです。
+       'config-install-tables-exist' => "'''警告:''' MediaWiki テーブルは既に存在するようです。
 作成を省略します。",
-       'config-install-tables-failed' => "'''エラー''': テーブルの作成が、以下のエラーにより失敗しました: $1",
+       'config-install-tables-failed' => "'''エラー:''' テーブルの作成が、以下のエラーにより失敗しました: $1",
        'config-install-interwiki' => '既定のウィキ間テーブルの導入',
        'config-install-interwiki-list' => 'ファイル <code>interwiki.list</code> から読み取れませんでした。',
-       'config-install-interwiki-exists' => "'''警告''': ウィキ間テーブルは既に登録されているようです。
+       'config-install-interwiki-exists' => "'''警告:''' ウィキ間テーブルは既に登録されているようです。
 既定のテーブルを無視します。",
        'config-install-stats' => '統計情報の初期化',
        'config-install-keys' => '秘密鍵の生成',
@@ -19955,7 +19969,7 @@ $1',
        'config-env-php-toolow' => '已安装PHP $1;但是,MediaWiki需要PHP $2或更高版本。',
        'config-unicode-using-utf8' => '使用Brion Vibber的utf8_normalize.so实现Unicode正常化。',
        'config-unicode-using-intl' => '使用[http://pecl.php.net/intl intl PECL扩展]实现Unicode正常化。',
-       'config-unicode-pure-php-warning' => "'''警告''':因为尚未安装 [http://pecl.php.net/intl intl PECL 扩展]以处理 Unicode 正常化,故只能退而采用运行较慢的纯 PHP 实现的方法。
+       'config-unicode-pure-php-warning' => "'''警告:'''因为尚未安装 [http://pecl.php.net/intl intl PECL 扩展]以处理 Unicode 正常化,故只能退而采用运行较慢的纯 PHP 实现的方法。
 如果您运行着一个高流量的站点,请参阅 [//www.mediawiki.org/wiki/Unicode_normalization_considerations Unicode 正常化]一文。",
        'config-unicode-update-warning' => "'''警告''':Unicode正常化封装器的已安装版本使用了旧版本的[http://site.icu-project.org/ ICU项目]库。如果您需要使用Unicode,请将其[//www.mediawiki.org/wiki/Unicode_normalization_considerations 升级]。",
        'config-no-db' => '找不到合适的数据库驱动!您需要为PHP安装数据库驱动。目前支持以下数据库:$1。
@@ -20060,7 +20074,6 @@ Object caching is not enabled.",
 请考虑将数据库统一放置在某处,如<code>/var/lib/mediawiki/yourwiki</code>下。",
        'config-oracle-def-ts' => '默认表空间:',
        'config-oracle-temp-ts' => '临时表空间:',
-       'config-type-ibm_db2' => 'IBM DB2',
        'config-support-info' => 'MediaWiki支持以下数据库系统:
 
 $1
        'config-support-postgres' => '* $1是一种流行的开源数据库系统,可作为MySQL的替代([http://www.php.net/manual/en/pgsql.installation.php 如何将对PostgreSQL的支持编译进PHP中])。本程序中可能依然存在一些小而明显的错误,因此并不建议在生产环境中使用该数据库系统。',
        'config-support-sqlite' => '* $1是一种轻量级的数据库系统,能被良好地支持。([http://www.php.net/manual/en/pdo.installation.php 如何将对SQLite的支持编译进PHP中],须使用PDO)',
        'config-support-oracle' => '* $1是一种商用企业级的数据库。([http://www.php.net/manual/en/oci8.installation.php 如何将对OCI8的支持编译进PHP中])',
-       'config-support-ibm_db2' => '* $1是一种商用企业级数据库。([http://www.php.net/manual/en/ibm-db2.installation.php 如何编译支持IBM DB2的PHP])',
        'config-header-mysql' => 'MySQL设置',
        'config-header-postgres' => 'PostgreSQL设置',
        'config-header-sqlite' => 'SQLite设置',
        'config-header-oracle' => 'Oracle设置',
-       'config-header-ibm_db2' => 'IBM DB2设置',
        'config-invalid-db-type' => '无效的数据库类型',
        'config-missing-db-name' => '您必须为“数据库名称”输入内容',
        'config-missing-db-host' => '您必须为“数据库主机”输入内容',
@@ -20150,7 +20161,6 @@ chmod a+w $3</pre>',
        'config-mysql-charset-help' => "在'''二进制模式'''下,MediaWiki会将UTF-8编码的文本存于数据库的二进制字段中。相对于MySQL的UTF-8模式,这种方法效率更高,并允许您使用全范围的Unicode字符。
 
 在'''UTF-8模式'''下,MySQL将知道您数据使用的字符集,并能适当地提供和转换内容。但这样做您将无法在数据库中存储[//zh.wikipedia.org/wiki/基本多文种平面 基本多文种平面]以外的字符。",
-       'config-ibm_db2-low-db-pagesize' => "您的DB2数据库默认表空间的页长(pagesize)不足。至少需要'''32K'''或更大的页长。",
        'config-site-name' => 'Wiki的名称:',
        'config-site-name-help' => '填入的内容会出现在浏览器的标题栏以及其他多处位置中。',
        'config-site-name-blank' => '输入网站的名称。',
@@ -20400,7 +20410,7 @@ $1',
        'config-env-php-toolow' => '已安裝 PHP $1;但是,MediaWiki 需要 PHP $2 或更高版本。',
        'config-unicode-using-utf8' => '將使用 Brion Vibber 的 utf8_normalize.so 以實作 Unicode 正規化。',
        'config-unicode-using-intl' => '將使用 [http://pecl.php.net/intl intl PECL 延伸函式庫]以實作 Unicode 正規化。',
-       'config-unicode-pure-php-warning' => "'''警告''':因為尚未安裝 [http://pecl.php.net/intl intl PECL 延伸函式庫]以處理 Unicode 正規化,故只能退而採用較慢的純 PHP 實作。如果您運行着一個高流量的網站,請參閱 [//www.mediawiki.org/wiki/Unicode_normalization_considerations Unicode 正規化]一文。",
+       'config-unicode-pure-php-warning' => "'''警告:'''因為尚未安裝 [http://pecl.php.net/intl intl PECL 延伸函式庫]以處理 Unicode 正規化,故只能退而採用較慢的純 PHP 實作。如果您運行着一個高流量的網站,請參閱 [//www.mediawiki.org/wiki/Unicode_normalization_considerations Unicode 正規化]一文。",
        'config-unicode-update-warning' => "'''警告''':Unicode正常化封裝器的已安裝版本使用了舊版本的[http://site.icu-project.org/ ICU項目]庫。如果您需要使用Unicode,請將其[//www.mediawiki.org/wiki/Unicode_normalization_considerations 升級]。",
        'config-no-db' => '找不到合適的數據庫驅動!您需要為PHP安裝數據庫驅動。目前支持以下數據庫:$1。
 
@@ -20504,7 +20514,6 @@ Object caching is not enabled.",
 請考慮將數據庫統一放置在某處,如<code>/var/lib/mediawiki/yourwiki</code>下。",
        'config-oracle-def-ts' => '默認表空間:',
        'config-oracle-temp-ts' => '臨時表空間:',
-       'config-type-ibm_db2' => 'IBM DB2',
        'config-support-info' => 'MediaWiki支持以下數據庫系統:
 
 $1
        'config-support-postgres' => '* $1是一種流行的開源數據庫系統,可作為MySQL的替代([http://www.php.net/manual/en/pgsql.installation.php 如何將對PostgreSQL的支持編譯進PHP中])。本程序中可能依然存在一些小而明顯的錯誤,因此並不建議在生產環境中使用該數據庫系統。',
        'config-support-sqlite' => '* $1是一種輕量級的數據庫系統,能被良好地支持。([http://www.php.net/manual/en/pdo.installation.php 如何將對SQLite的支持編譯進PHP中],須使用PDO)',
        'config-support-oracle' => '* $1是一種商用企業級的數據庫。([http://www.php.net/manual/en/oci8.installation.php 如何將對OCI8的支持編譯進PHP中])',
-       'config-support-ibm_db2' => '* $1是一種商用企業級數據庫。', # Fuzzy
        'config-header-mysql' => 'MySQL 的設定',
        'config-header-postgres' => 'PostgreSQL設置',
        'config-header-sqlite' => 'SQLite 的設定',
        'config-header-oracle' => '甲骨文設定',
-       'config-header-ibm_db2' => 'IBM DB2設置',
        'config-invalid-db-type' => '無效的資料庫類型',
        'config-missing-db-name' => '您必須為“數據庫名稱”輸入內容',
        'config-missing-db-host' => '您必須為“數據庫主機”輸入內容',
@@ -20594,7 +20601,6 @@ chmod a+w $3</pre>',
        'config-mysql-charset-help' => "在'''二進制模式'''下,MediaWiki會將UTF-8編碼的文本存於數據庫的二進制字段中。相對於MySQL的UTF-8模式,這種方法效率更高,並允許您使用全範圍的Unicode字符。
 
 在'''UTF-8模式'''下,MySQL將知道您數據使用的字符集,並能適當地提供和轉換內容。但這樣做您將無法在數據庫中存儲[//zh.wikipedia.org/wiki/基本多文種平面 基本多文種平面]以外的字符。",
-       'config-ibm_db2-low-db-pagesize' => "您的DB2數據庫默認表空間的頁長(pagesize)不足。至少需要'''32K'''或更大的頁長。",
        'config-site-name' => 'Wiki的名稱:',
        'config-site-name-help' => '填入的內容會出現在瀏覽器的標題欄以及其他多處位置中。',
        'config-site-name-blank' => '輸入站點名稱。',
index 03eafd8..35c9b4f 100644 (file)
@@ -1207,6 +1207,10 @@ $1",
 'editundo' => 'връщане',
 'diff-multi' => '({{PLURAL:$1|Не е показана една междинна версия|Не са показани $1 междинни версии}} от {{PLURAL:$2|един потребител|$2 потребителя}}.)',
 'diff-multi-manyusers' => '({{PLURAL:$1|Не е показана една междинна версия|Не са показани $1 междинни версии}} от повече от $2 {{PLURAL:$2|потребител|потребителя}})',
+'difference-missing-revision' => '{{PLURAL:$2|Не беше открита|Не бяха открити}} {{PLURAL:$2|една версия|$2 версии}} от тази разликова препратка ($1).
+
+Това обикновено се случва, когато е последвана остаряларазликова препратка на страница,коятоебила изтрита.
+Повече подробности могат да бъдат открити в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневника на изтриванията].',
 
 # Search results
 'searchresults' => 'Резултати от търсенето',
@@ -1250,7 +1254,7 @@ $1",
 'search-interwiki-default' => '$1 резултата:',
 'search-interwiki-more' => '(още)',
 'search-relatedarticle' => 'Свързани',
-'mwsuggest-disable' => 'Изключване на AJAX предположенията',
+'mwsuggest-disable' => 'Изключване на предположенията при търсене',
 'searcheverything-enable' => 'Търсене във всички именни пространства',
 'searchrelated' => 'свързани',
 'searchall' => 'всички',
@@ -2113,8 +2117,8 @@ $1',
 'mailnologintext' => 'Необходимо е да [[Special:UserLogin|влезете]] и да посочите валидна електронна поща в [[Special:Preferences|настройките]] си, за да може да пращате писма на други потребители.',
 'emailuser' => 'Писмо до потребителя',
 'emailpage' => 'Пращане писмо на потребител',
-'emailpagetext' => 'Можете да използвате формуляра по-долу, за да изпратите електронно писмо на този потребител.
-Адресът, който се въвели в [[Special:Preferences|настройките си]], ще се появи в полето „От“ на писмото, така че получателят ще е в състояние да ви отговори.',
+'emailpagetext' => 'Можете да използвате формуляра по-долу, за да изпратите електронно писмо на {{GENDER:$1|този потребител}}.
+Адресът, който се въвели в [[Special:Preferences|настройките си]], ще се появи в полето „От“ на писмото, така че получателят ще е в състояние да ви отговори директно.',
 'usermailererror' => 'Пощенският обект даде грешка:',
 'defemailsubject' => 'Писмо от потребител $1 в {{SITENAME}}',
 'usermaildisabled' => 'Потребителят не е разрешил да получава електронна поща',
@@ -2897,6 +2901,7 @@ $1',
 'pageinfo-lasttime' => 'Дата на последнoто редактиране',
 'pageinfo-edits' => 'Общ брой редакции',
 'pageinfo-authors' => 'Общ брой на отделните автори',
+'pageinfo-recent-edits' => 'Скорошен брой редакции (в рамките на $1)',
 'pageinfo-magic-words' => '{{PLURAL:$1|Вълшебна думичка|Вълшебни думички}} ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|Скрита категория|Скрити категории}} ($1)',
 'pageinfo-toolboxlink' => 'Информация за страницата',
@@ -2958,6 +2963,7 @@ $1',
 'file-info-size-pages' => '$1 × $2 пиксела, размер на файла: $3, MIME тип: $4, $5 {{PLURAL:$5|страница|страници}}',
 'file-nohires' => 'Не е налична версия с по-висока разделителна способност.',
 'svg-long-desc' => 'Файл във формат SVG, основен размер: $1 × $2 пиксела, големина на файла: $3',
+'svg-long-desc-animated' => 'Анимиран SVG файл, основен размер $1 × $2 пиксела, големина на файла: $3',
 'svg-long-error' => 'Невалиден SVG файл: $1',
 'show-big-image' => 'Пълна разделителна способност',
 'show-big-image-preview' => 'Размер на този преглед: $1.',
@@ -3545,6 +3551,7 @@ $5
 'version-license' => 'Лиценз',
 'version-poweredby-credits' => "Това уики се задвиждва от '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
 'version-poweredby-others' => 'други',
+'version-credits-summary' => 'Бихме искали да изкажем признателност на следните хора за техните приноси към [[Special:Version|MediaWiki]].',
 'version-license-info' => 'MediaWiki е свободен софтуер, можете да го разпространявате и/или променяте съгласно условията на GNU General Public License, както е публикуван от Free Software Foundation, версия 2 на лиценза или (по ваше усмотрение) която и да е следваща версия.
 
 MediaWiki се разпространява с надеждата, че ще бъде полезен, но БЕЗ НИКАКВИ ГАРАНЦИИ, без дори косвена гаранция за ПРОДАВАЕМОСТ или ПРИГОДНОСТ ЗА КОНКРЕТНА УПОТРЕБА. Вижте GNU General Public License за повече подробности.
index 6da9f33..8443e86 100644 (file)
@@ -805,12 +805,12 @@ Orrialdea gordetzeko erabakitzen duzun unean goiko koadroko edukia '''bakarrik''
 'nonunicodebrowser' => "'''OHARRA: Zure nabigatzailea ez dator Unicode arauarekin bat. Artikuluak modu seguruan aldatu ahal izateko beste sistema bat gaitu da: ASCII ez diren karaktereak kode hamaseitar bezala agertuko dira aldaketa koadroan.'''",
 'editingold' => "'''KONTUZ: Artikulu honen bertsio zahar bat aldatzen ari zara. Gorde egiten baduzu, azkenengo aldaketa baino lehenagoko aldakuntzak, ezabatuak izango dira.'''",
 'yourdiff' => 'Ezberdintasunak',
-'copyrightwarning' => "Kontuan izan {{SITENAME}}(e)n egindako ekarpen guztiak $2 baldintzapean argitaratzen direla (ikus $1 informazio gehiagorako). Zure testua banatzeko baldintza hauekin ados ez bazaude, ez ezazu bidali.<br />
-Era berean, bidaltzen ari zaren edukia zuk zeuk idatzitakoa dela edo jabetza publikoko edo baliabide aske batetik kopiatu duzula zin egin ari zara.
-'''EZ BIDALI BAIMENIK GABEKO COPYRIGHTDUN EDUKIRIK!'''",
-'copyrightwarning2' => "Mesedez, kontuan izan {{SITENAME}}(e)n egindako ekarpen guztiak besteek aldatu edo ezabatu ditzaketela. Ez baduzu besteek aldaketak egitea nahi, ez ezazu bidali.<br />
-Era berean, bidaltzen ari zaren edukia zuk zeuk idatzitakoa dela edo jabetza publikoko edo baliabide aske batetik kopiatu duzula zin egin ari zara (ikus $1 informazio gehiagorako).
-'''EZ BIDALI BAIMENIK GABEKO COPYRIGHTDUN EDUKIRIK!'''",
+'copyrightwarning' => "Kontuan izan ezazu {{SITENAME}} webgunean egindako ekarpen guztiak $2 lizentziaren pean argitaratzen direla (xehetasunetarako, ikus $1). Zuk idatzitakoa libreki aldatua eta banatua izatea nahi ez baduzu, ez ezazu hemen jarri.<br />
+Era berean, hitzematen ari zara hau zuk zeuk idatzia dela, edo jabari publikotik nahiz askea den beste ituri batetik kopiatu duzula.
+'''Ez erabili copyright eskubideek babestutako lanik, baimenik gabe!'''",
+'copyrightwarning2' => "Mesedez, kontuan izan ezazu {{SITENAME}} webgunean egindako ekarpen guztiak beste erabiltzaileek aldatu edo ezabatu ditzaketela. Zuk idatzitakoa libreki aldatua izatea nahi ez baduzu, ez ezazu hemen jarri.<br />
+Era berean, hitzematen ari zara hau zuk zeuk idatzia dela, edo jabari publikotik nahiz askea den beste ituri batetik kopiatu duzula (xehetasunetarako, ikus $1).
+'''Ez erabili copyright eskubideek babestutako lanik, baimenik gabe!'''",
 'longpageerror' => "'''Errorea: Bidali duzun testuak {{PLURAL:$1|kilobyte 1eko|$1 kilobyteko}} luzera du, eta {{PLURAL:$2|kilobyte 1eko|$2 kilobyteko}} maximoa baino luzeagoa da.'''
 Ezin da gorde.",
 'readonlywarning' => "'''Oharra: Datu-basea blokeatu egin da mantenu lanak burutzeko, beraz ezingo dituzu orain zure aldaketak gorde.'''
index ea62cba..e94c0db 100644 (file)
@@ -961,7 +961,7 @@ Ta duillagyn er [[Special:Watchlist|dty rolley arrey]] ayns '''clou trome'''.",
 'listgrouprights-helppage' => 'Help:Kiartyn y phossan',
 'listgrouprights-members' => '(rolley olteynyn)',
 
-# E-mail user
+# Email user
 'emailuser' => "Cur post-L da'n ymmydeyr shoh",
 'emailfrom' => 'Veih:',
 'emailto' => 'Da:',
index 8426896..7643f6c 100644 (file)
@@ -166,7 +166,7 @@ $messages = array(
 'tog-previewonfirst' => 'Monstrar previsualisation al prime modification',
 'tog-nocache' => "Disactivar le ''cache'' de paginas in le navigator",
 'tog-enotifwatchlistpages' => 'Notificar me per e-mail quando un pagina o file in mi observatorio es modificate',
-'tog-enotifusertalkpages' => 'Notificar me via e-mail quando mi pagina de discussion es modificate',
+'tog-enotifusertalkpages' => 'Notificar me per e-mail quando mi pagina de discussion es modificate',
 'tog-enotifminoredits' => 'Notificar me etiam de modificationes minor de paginas e files',
 'tog-enotifrevealaddr' => 'Revelar mi adresse de e-mail in messages de notification',
 'tog-shownumberswatching' => 'Monstrar le numero de usatores que observa le pagina',
@@ -628,16 +628,16 @@ e continuar a usar le contrasigno original.',
 'passwordsent' => 'Un nove contrasigno ha essite inviate al adresse de e-mail registrate pro "$1".
 Per favor aperi session de novo post reciper lo.',
 'blocked-mailpassword' => 'Tu adresse IP es blocate de facer modificationes, e pro impedir le abuso, le uso del function pro recuperar contrasignos es equalmente blocate.',
-'eauthentsent' => 'Un e-mail de confirmation ha essite inviate al adresse de e-mail nominate.
-Ante que alcun altere e-mail se invia al conto, tu debera sequer le instructiones in le e-mail, pro confirmar que le conto es de facto tue.',
+'eauthentsent' => 'Un e-mail de confirmation ha essite inviate al adresse de e-mail specificate.
+Pro poter reciper altere e-mail a iste conto, tu debe sequer le instructiones in iste e-mail pro confirmar que le conto es realmente tue.',
 'throttled-mailpassword' => 'Un rememoration del contrasigno ha jam essite inviate intra le ultime {{PLURAL:$1|hora|$1 horas}}.
 Pro prevenir le abuso, solmente un rememoration de contrasigno essera inviate per {{PLURAL:$1|hora|$1 horas}}.',
 'mailerror' => 'Error de inviar e-mail: $1',
 'acct_creation_throttle_hit' => 'Le visitatores de iste wiki usante tu adresse IP ha create {{PLURAL:$1|1 conto|$1 contos}} durante le ultime die, e isto es le maximo permittite in iste periodo de tempore.
 A causa de isto, le visitatores usante iste adresse IP non pote crear nove contos al momento.',
-'emailauthenticated' => 'Tu adresse de e-mail esseva authentificate le $2 a $3.',
-'emailnotauthenticated' => 'Tu adresse de e-mail non ha essite authentificate ancora.
-Nos non inviara e-mail pro alcun del sequente functiones.',
+'emailauthenticated' => 'Tu adresse de e-mail ha essite confirmate le $2 a $3.',
+'emailnotauthenticated' => 'Tu non ha ancora confirmate tu adresse de e-mail.
+Nulle e-mail essera inviate pro le sequente functiones.',
 'noemailprefs' => 'Es necessari specificar un adresse de e-mail in tu preferentias pro poter executar iste functiones.',
 'emailconfirmlink' => 'Confirmar tu adresse de e-mail',
 'invalidemailaddress' => 'Le adresse de e-mail ha un formato invalide e non pote esser acceptate.
@@ -1270,7 +1270,7 @@ Nota que lor indices del contento de {{SITENAME}} pote esser obsolete.',
 'prefs-misc' => 'Misc',
 'prefs-resetpass' => 'Cambiar contrasigno',
 'prefs-changeemail' => 'Cambiar e-mail',
-'prefs-setemail' => 'Definir un adresse de e-mail',
+'prefs-setemail' => 'Specificar un adresse de e-mail',
 'prefs-email' => 'Optiones de e-mail',
 'prefs-rendering' => 'Apparentia',
 'saveprefs' => 'Confirmar',
@@ -1346,7 +1346,7 @@ Illo debe haber minus de $1 {{PLURAL:$1|character|characteres}}.',
 Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contributiones.',
 'prefs-help-email' => 'Le adresse de e-mail es optional, ma es necessari pro le reinitialisation de tu contrasigno, in caso que tu lo oblida.',
 'prefs-help-email-others' => 'Tu pote etiam optar pro permitter que altere personas te contacta via tu pagina de usator o de discussion, sin necessitate de revelar tu identitate.',
-'prefs-help-email-required' => 'Le adresse de e-mail es requirite.',
+'prefs-help-email-required' => 'Un adresse de e-mail es obligatori.',
 'prefs-info' => 'Informationes de base',
 'prefs-i18n' => 'Internationalisation',
 'prefs-signature' => 'Signatura',
@@ -3587,8 +3587,8 @@ Le alteres essera initialmente celate.
 Activa le button infra pro inviar un message de confirmation a tu adresse.
 Le message includera un ligamine continente un codice;
 visita le ligamine in tu navigator pro confirmar que tu adresse de e-mail es valide.',
-'confirmemail_pending' => 'Un codice de confirmation ha ja essite inviate a te;
-si tu ha recentemente create tu conto, es recommendate attender le arrivata de illo durante alcun minutas ante de provar requestar un nove codice.',
+'confirmemail_pending' => 'Un codice de confirmation ha jam essite inviate a te per e-mail;
+si tu ha create tu conto recentemente, per favor attende alcun minutas que le message de confirmation arriva ante de requestar un nove codice.',
 'confirmemail_send' => 'Inviar un codice de confirmation',
 'confirmemail_sent' => 'Message de confirmation inviate.',
 'confirmemail_oncreate' => 'Un codice de confirmation ha essite inviate a tu adresse de e-mail.
@@ -3606,14 +3606,14 @@ Tu pote ora aperir un session e fruer te del wiki.',
 'confirmemail_error' => 'Un problema occurreva durante le salveguarda de tu confirmation.',
 'confirmemail_subject' => 'Confirmation del adresse de e-mail pro {{SITENAME}}',
 'confirmemail_body' => 'Un persona, probabilemente tu, usante le adresse IP $1,
-ha registrate un conto "$2" con iste adresse de e-mail in {{SITENAME}}.
+ha create un conto "$2" con iste adresse de e-mail in {{SITENAME}}.
 
-Pro confirmar que iste conto es de facto tue, e pro activar le functiones
+Pro confirmar que iste conto es realmente tue, e pro activar le functiones
 de e-mail in {{SITENAME}}, visita iste ligamine in tu navigator:
 
 $3
 
-Si tu *non* ha registrate le conto, seque iste ligamine
+Si tu *non* ha create iste conto, seque le sequente ligamine
 pro cancellar le confirmation del adresse de e-mail:
 
 $5
@@ -3622,7 +3622,7 @@ Iste codice de confirmation expirara a $4.',
 'confirmemail_body_changed' => 'Un persona, probabilemente tu, usante le adresse IP $1,
 ha cambiate le adresse de e-mail del conto "$2" a iste adresse in {{SITENAME}}.
 
-Pro confirmar que iste conto es de facto tue, e pro reactivar le functiones
+Pro confirmar que iste conto es realmente tue, e pro reactivar le functiones
 de e-mail in {{SITENAME}}, visita iste ligamine in tu navigator:
 
 $3
@@ -3636,7 +3636,7 @@ Iste codice de confirmation expirara a $4.',
 'confirmemail_body_set' => 'Un persona, probabilemente tu, usante le adresse IP $1,
 ha specificate que iste adresse de e-mail pertine al conto "$2" in {{SITENAME}}.
 
-Pro confirmar que iste conto es de facto tue, e pro reactivar le functiones
+Pro confirmar que iste conto es realmente tue, e pro activar le functiones
 de e-mail in {{SITENAME}}, visita iste ligamine in tu navigator:
 
 $3
index 9774ff6..6386211 100644 (file)
@@ -1446,7 +1446,7 @@ $1",
 'showingresults' => "'''$2''' 件目以降の最大 {{PLURAL:$1|'''$1''' 件の結果}}を表示しています。",
 'showingresultsnum' => "'''$2''' 件目以降の {{PLURAL:$3|'''$3''' 件の結果}}を表示しています。",
 'showingresultsheader' => "「'''$4'''」の検索結果 {{PLURAL:$5|'''$3''' 件中の '''$1''' 件目|'''$3''' 件中の '''$1''' 件目から '''$2''' 件目}}",
-'nonefound' => "'''注意''': 既定では一部の名前空間のみを検索します。
+'nonefound' => "'''注意:''' 既定では一部の名前空間のみを検索します。
 ''all:''を前に付けると、すべて (トークページやテンプレートなどを含む) を対象にできます。検索する名前空間を前に付けることもできます。",
 'search-nonefound' => '問い合わせに合致する検索結果はありませんでした。',
 'powersearch' => '高度な検索',
index 16ef4e5..397c7d7 100644 (file)
@@ -253,7 +253,7 @@ $messages = array(
 'thu' => 'Juğ',
 'fri' => 'Vie',
 'sat' => 'Shab',
-'january' => 'Jenero',
+'january' => 'Enero',
 'february' => 'Hevrero',
 'march' => 'Março',
 'april' => 'Avril',
@@ -1089,7 +1089,7 @@ Puedes ver su manadero',
 'tooltip-n-mainpage-description' => 'Visita la primera hoja',
 'tooltip-n-portal' => 'Encima del projeto, lo que puedes hazer y ánde topar todo',
 'tooltip-n-currentevents' => 'Información encima de los acontècimientos de oy día',
-'tooltip-n-recentchanges' => 'La lista de los trocamientos muevos en el viki',
+'tooltip-n-recentchanges' => 'Lista de los trocamientos muevos en el viki',
 'tooltip-n-randompage' => 'Carga una hoja por asardo',
 'tooltip-n-help' => 'El lugar para saver más',
 'tooltip-t-whatlinkshere' => 'Una lista de todas las hojas del viki que tienen atamientos con esta hoja',
@@ -1099,7 +1099,7 @@ Puedes ver su manadero',
 'tooltip-t-contributions' => 'Ver la lista de ajustamientos de este usuario',
 'tooltip-t-emailuser' => 'A este usuario, mándale una letra electrόnica (ímey)',
 'tooltip-t-upload' => 'Suve dosyas por aquí',
-'tooltip-t-specialpages' => 'La lista de todas las hojas especiales',
+'tooltip-t-specialpages' => 'Lista de todas las hojas especiales',
 'tooltip-t-print' => "Versión apropiada para imprimir d'esta hoja",
 'tooltip-t-permalink' => "Atamiento permanente á est'enderechamiento de la hoja",
 'tooltip-ca-nstab-main' => 'Ve el artícůlo de contènido',
@@ -1135,9 +1135,9 @@ Puedes ver su manadero',
 # Bad image list
 'bad_image_list' => 'El formato es ansina:
 
-Cale akavidar sólo elementos de lista (quere dezir: liñas que empeçan con *).
-El primer atamiento de cada liña deve de ser un atamiento á una dosya negra (á la dosya que se quere blokear).
-Los atamientos venideros que están en la mesma liña se aprecian como eksepsiones, por enxemplo, hojas ande la dosya se ve en la liña.',
+Sólo elementos de lista (liñas empeçando con *) se toman en konsidherasyón.
+El primer atamiento de cada liña deve de atarse con una dosya negra (la dosya que se quere blokar).
+Los atamientos venideros que están en la misma liña se konsidheran como eksepsiones, por enxemplo, hojas ande la dosya se ve en la liña.',
 
 # Metadata
 'metadata' => 'Metadatos',
index 9f64387..833d0ff 100644 (file)
@@ -213,13 +213,13 @@ $messages = array(
 'thursday' => '週四',
 'friday' => '週五',
 'saturday' => '週六',
-'sun' => '日',
-'mon' => '一',
-'tue' => '二',
-'wed' => '三',
-'thu' => 'å\91¨å\9b\9b',
-'fri' => '五',
-'sat' => 'å\91¨å\85­',
+'sun' => '日',
+'mon' => '一',
+'tue' => '二',
+'wed' => '三',
+'thu' => '四',
+'fri' => '五',
+'sat' => '六',
 'january' => '一月',
 'february' => '二月',
 'march' => '三月',
@@ -407,7 +407,7 @@ $1',
 
 'ok' => '可',
 'retrievedfrom' => '取自"$1"',
-'youhavenewmessages' => '子有$1($2)',
+'youhavenewmessages' => '有$1書至子書房也。($2)',
 'newmessageslink' => '新訊',
 'newmessagesdifflink' => '變更',
 'youhavenewmessagesfromusers' => '子有 $1 自 {{PLURAL:$3|another user|$3 簿戶也}} ($2)。',
@@ -597,7 +597,7 @@ $2',
 'loginlanguagelabel' => '語:$1',
 'suspicious-userlogout' => '爾欲無離也,可由壞瀏覽器或快枝代理呈送之。',
 
-# E-mail sending
+# Email sending
 'php-mail-error-unknown' => '於 PHP mail() 參數現錯',
 
 # Change password dialog
@@ -813,8 +813,8 @@ $2',
 'last' => '前',
 'page_first' => '首',
 'page_last' => '末',
-'histlegend' => "辨ç\95°ï¼\9aæ\93\87äº\8cå­\94å¾\8c,按Enter、或點下鈕以辨之。<br />
-釋義:'''({{int:cur}})'''與今審辨;'''({{int:last}})'''與前審辨;'''{{int:minoreditletter}}''',校文",
+'histlegend' => "辨ç\95°ï¼\9aæ\97¢æ\93\87äº\8cå­\94,按Enter、或點下鈕以辨之。<br />
+釋義:'''({{int:cur}})'''與今審辨;'''({{int:last}})'''與前審辨;'''{{int:minoreditletter}}''',令校",
 'history-fieldset-title' => '誌覽',
 'history-show-deleted' => '只刪',
 'histfirst' => '初',
@@ -1129,7 +1129,7 @@ $1",
 'prefs-displaywatchlist' => '示項',
 'prefs-diffs' => '異',
 
-# User preference: e-mail validation using jQuery
+# User preference: email validation using jQuery
 'email-address-validity-valid' => '電郵有效之',
 'email-address-validity-invalid' => '貢一效之電郵',
 
@@ -1293,7 +1293,7 @@ $1",
 'recentchanges-label-newpage' => '此纂開新頁',
 'recentchanges-label-minor' => '此乃細纂',
 'recentchanges-label-bot' => '此乃機纂',
-'recentchanges-label-unpatrolled' => 'æ­¤ä¹\83æ\9cªå·¡ä¹\8bçº\82',
+'recentchanges-label-unpatrolled' => 'æ\98¯çº\82æ\9cªå·¡',
 'rcnote' => "下為自$4$5起,'''$2'''日內'''$1'''近易也。",
 'rcnotefrom' => "下為自'''$2'''至'''$1'''之易也。",
 'rclistfrom' => '自$1起之易也',
@@ -1600,6 +1600,7 @@ $1',
 'statistics-mostpopular' => '燴炙',
 
 'disambiguations' => '釋義',
+'disambiguationspage' => 'Template:弭誤解',
 'disambiguations-text' => '頁下引[[MediaWiki:Disambiguationspage]]模,求釋義,宜正題之。',
 
 'doubleredirects' => '窮渡',
@@ -1768,7 +1769,7 @@ $1',
 'listgrouprights-addgroup-self-all' => '加自之全組',
 'listgrouprights-removegroup-self-all' => '除自之全組',
 
-# E-mail user
+# Email user
 'mailnologin' => '無驛',
 'mailnologintext' => '[[Special:UserLogin|登簿]]置郵,方可捎書。',
 'emailuser' => '捎君',
@@ -1871,7 +1872,7 @@ $NEWPAGE
 'historywarning' => '警示,此頁約有誌$1:',
 'confirmdeletetext' => '欲刪此物與誌,知後果、合[[{{MediaWiki:Policy-url}}]]後再為之。',
 'actioncomplete' => '成矣',
-'actionfailed' => 'æ\95\97ç\9f£',
+'actionfailed' => 'æ\9cªç«\9f',
 'deletedtext' => '"$1"刪矣,見誌刪於$2。',
 'dellogpage' => '誌刪',
 'dellogpagetext' => '近刪如下:',
@@ -2594,7 +2595,7 @@ $1',
 'monthsall' => '全',
 'limitall' => '全',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => '核郵驛',
 'confirmemail_noemail' => '[[Special:Preferences|簿註]]有驛。',
 'confirmemail_send' => '遣核符',
index 956bf31..ab57bb6 100644 (file)
@@ -4205,8 +4205,8 @@ MediaWiki распространяется в надежде, что она бу
 'logentry-patrol-patrol-auto' => '$1 автоматически {{GENDER:$1|отпатрулировал|отпатрулировала}} версию $4 страницы $3',
 'logentry-newusers-newusers' => 'Создана учётная запись $1',
 'logentry-newusers-create' => 'Создана учётная запись $1',
-'logentry-newusers-create2' => '$1 {{GENDER:$2|создал|создала}} учётную запись для $3',
-'logentry-newusers-byemail' => 'Учетная запись пользователя $3 была создана $1 и пароль был отправлен по электронной почте',
+'logentry-newusers-create2' => '$1 {{GENDER:$2|создал|создала}} учётную запись $3',
+'logentry-newusers-byemail' => '$1 {{GENDER:$2|создал|создала}} учётную запись $3 и пароль был отправлен по электронной почте',
 'logentry-newusers-autocreate' => 'Автоматически создана учётная запись $1',
 'logentry-rights-rights' => '$1 {{GENDER:$1|изменил|изменила}} членство в группах для $3 с $4 на $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|изменил|изменила}} членство в группах для $3',
index 121decf..e968177 100644 (file)
@@ -686,7 +686,7 @@ $2',
 'loginlanguagelabel' => 'Тел: $1',
 'suspicious-userlogout' => 'Сезнең эшчәнлекне бетерү соравыгыз кире кагылды, чөнки ул ялгыш браузер яисә кэшлаучы прокси аша җибәрелергэ мөмкин.',
 
-# E-mail sending
+# Email sending
 'php-mail-error-unknown' => 'PHP mail() функциясендә билгесез хата',
 'user-mail-no-addy' => 'Электрон почта адресыннан башка электрон хат җибәрмәкче булды',
 
@@ -1712,7 +1712,7 @@ PICT # төрле
 'listgrouprights-helppage' => 'Help:Төркемнәрнең хокуклары',
 'listgrouprights-members' => '(төркем исемлеге)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Бу кулланучыга хат',
 'emailuser-title-target' => '{{GENDER:$1|Кулланучыга}} электрон хат язу',
 'emailuser-title-notarget' => 'Кулланучыга хат җибәрү',
@@ -2427,6 +2427,9 @@ $1',
 'hijri-calendar-m7' => 'Раҗәб',
 'hijri-calendar-m9' => 'Рамазан',
 
+# Signatures
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|бәхәс]])',
+
 # Core parser functions
 'duplicate-defaultsort' => 'Игътибар. Уйланма куелган "$2" бүлгәләү ачкычы элеккеге уйланма куелган "$1" бүлгәләү ачкычын үзгәртә.',
 
index 18b469d..9d0ddae 100644 (file)
@@ -510,7 +510,7 @@ $messages = array(
 'userpage' => 'Xem trang thành viên',
 'projectpage' => 'Xem trang dự án',
 'imagepage' => 'Xem trang tập tin',
-'mediawikipage' => 'Thông báo giao diện',
+'mediawikipage' => 'Thông điệp giao diện',
 'templatepage' => 'Trang bản mẫu',
 'viewhelppage' => 'Trang trợ giúp',
 'categorypage' => 'Trang thể loại',
@@ -603,7 +603,7 @@ $1',
 'nstab-special' => 'Trang đặc biệt',
 'nstab-project' => 'Dự án',
 'nstab-image' => 'Tập tin',
-'nstab-mediawiki' => 'Thông báo',
+'nstab-mediawiki' => 'Thông điệp',
 'nstab-template' => 'Bản mẫu',
 'nstab-help' => 'Trợ giúp',
 'nstab-category' => 'Thể loại',
@@ -679,8 +679,8 @@ Truy vấn: $2',
 'protectedpagetext' => 'Trang này đã bị khóa không cho sửa đổi hoặc tác động khác.',
 'viewsourcetext' => 'Bạn vẫn có thể xem và chép xuống mã nguồn của trang này:',
 'viewyourtext' => "Bạn vẫn có thể xem và chép xuống mã nguồn '''các sửa đổi của bạn''' tại trang này:",
-'protectedinterface' => 'Trang này cung cấp một thông báo trong giao diện phần mềm, và bị khóa để tránh phá hoại. Để bổ sung hoặc thay đổi bản dịch ở bất cứ wiki nào, xin vui lòng đóng góp vào [//translatewiki.net/wiki/Main_Page?setlang=vi translatewiki.net], dự án bản địa hóa của MediaWiki.',
-'editinginterface' => "'''Lưu ý:''' Bạn đang sửa chữa một trang dùng để cung cấp thông báo giao diện cho phần mềm. Những thay đổi tại trang này sẽ ảnh hưởng đến giao diện của rất nhiều người dùng wiki này. Để bổ sung hoặc thay đổi bản dịch ở bất cứ wiki nào, xin vui lòng đóng góp vào [//translatewiki.net/wiki/Main_Page?setlang=vi translatewiki.net], dự án bản địa hóa của MediaWiki.",
+'protectedinterface' => 'Trang này cung cấp một thông điệp trong giao diện phần mềm, và bị khóa để tránh phá hoại. Để bổ sung hoặc thay đổi bản dịch ở bất cứ wiki nào, xin vui lòng đóng góp vào [//translatewiki.net/wiki/Main_Page?setlang=vi translatewiki.net], dự án bản địa hóa của MediaWiki.',
+'editinginterface' => "'''Lưu ý:''' Bạn đang sửa chữa một trang dùng để cung cấp thông điệp giao diện cho phần mềm. Những thay đổi tại trang này sẽ ảnh hưởng đến giao diện của rất nhiều người dùng wiki này. Để bổ sung hoặc thay đổi bản dịch ở bất cứ wiki nào, xin vui lòng đóng góp vào [//translatewiki.net/wiki/Main_Page?setlang=vi translatewiki.net], dự án bản địa hóa của MediaWiki.",
 'sqlhidden' => '(đã giấu truy vấn SQL)',
 'cascadeprotected' => 'Trang này đã bị khóa không cho sửa đổi, vì nó được nhúng vào {{PLURAL:$1|trang|những trang}} đã bị khóa với tùy chọn “khóa theo tầng” được kích hoạt:
 $2',
@@ -783,7 +783,7 @@ Hãy nhập một địa chỉ có định dạng đúng hoặc bỏ trống ô
 'createaccount-title' => 'Tài khoản mới tại {{SITENAME}}',
 'createaccount-text' => 'Ai đó đã tạo một tài khoản với tên $2 tại {{SITENAME}} ($4). Mật khẩu của "$2" là "$3". Bạn nên đăng nhập và đổi mật khẩu ngay bây giờ.
 
-Xin hãy bỏ qua thông báo này nếu tài khoản này không phải do bạn tạo ra.',
+Xin hãy bỏ qua thông điệp này nếu tài khoản này không phải do bạn tạo ra.',
 'usernamehasherror' => 'Tên người dùng không thể chứa dấu rào',
 'login-throttled' => 'Bạn đã thử quá nhiều mật khẩu của tài khoản này.
 Xin hãy đợi chốc lát rồi thử lại.',
@@ -2295,8 +2295,8 @@ Có [[{{MediaWiki:Listgrouprights-helppage}}|thông tin thêm]] về từng nhó
 'emailuserfooter' => 'Thư điện tử này được $1 gửi đến $2 thông qua chức năng “Gửi thư cho người này” của {{SITENAME}}.',
 
 # User Messenger
-'usermessage-summary' => 'Đang để lại thông báo hệ thống.',
-'usermessage-editor' => 'Trình thông báo hệ thống',
+'usermessage-summary' => 'Đang để lại thông điệp hệ thống.',
+'usermessage-editor' => 'Trình thông điệp hệ thống',
 
 # Watchlist
 'watchlist' => 'Danh sách theo dõi',
@@ -2871,12 +2871,12 @@ Trong trường hợp sau bạn cũng có thể dùng một liên kết, ví d
 'export-pagelinks' => 'Gồm cả các trang liên kết sâu đến:',
 
 # Namespace 8 related
-'allmessages' => 'Thông báo hệ thống',
-'allmessagesname' => 'Tên thông báo',
+'allmessages' => 'Thông điệp hệ thống',
+'allmessagesname' => 'Tên thông điệp',
 'allmessagesdefault' => 'Nội dung mặc định',
 'allmessagescurrent' => 'Nội dung hiện thời',
-'allmessagestext' => 'Đây là toàn bộ thông báo hệ thống có trong không gian tên MediaWiki.
-Mời vào [//www.mediawiki.org/wiki/Localisation Địa phương hóa MediaWiki]  và [//translatewiki.net translatewiki.net] nếu bạn muốn đóng góp dịch chung cả MediaWiki.',
+'allmessagestext' => 'Đây là toàn bộ thông điệp hệ thống có trong không gian tên MediaWiki.
+Mời vào [//www.mediawiki.org/wiki/Localisation?uselang=vi Địa phương hóa MediaWiki] và [//translatewiki.net/wiki/?uselang=vi translatewiki.net] nếu bạn muốn đóng góp dịch chung cả MediaWiki.',
 'allmessagesnotsupportedDB' => "Trang này không dùng được vì biến '''\$wgUseDatabaseMessages''' đã bị tắt.",
 'allmessages-filter-legend' => 'Bộ lọc',
 'allmessages-filter' => 'Lọc theo tình trạng sửa đổi:',
@@ -3012,13 +3012,13 @@ Lưu nó vào máy tính của bạn rồi tải nó lên đây.',
 'tooltip-t-specialpages' => 'Danh sách các trang đặc biệt',
 'tooltip-t-print' => 'Bản để in ra của trang',
 'tooltip-t-permalink' => 'Liên kết thường trực đến phiên bản này của trang',
-'tooltip-ca-nstab-main' => 'Xem trang nội dung này',
-'tooltip-ca-nstab-user' => 'Xem trang về người này',
+'tooltip-ca-nstab-main' => 'Xem trang nội dung',
+'tooltip-ca-nstab-user' => 'Xem trang cá nhân',
 'tooltip-ca-nstab-media' => 'Xem trang phương tiện',
 'tooltip-ca-nstab-special' => 'Đây là một trang đặc biệt, bạn không thể sửa đổi nó.',
 'tooltip-ca-nstab-project' => 'Xem trang dự án',
 'tooltip-ca-nstab-image' => 'Xem trang miêu tả tập tin',
-'tooltip-ca-nstab-mediawiki' => 'Xem thông báo hệ thống',
+'tooltip-ca-nstab-mediawiki' => 'Xem thông điệp hệ thống',
 'tooltip-ca-nstab-template' => 'Xem bản mẫu',
 'tooltip-ca-nstab-help' => 'Xem trang trợ giúp',
 'tooltip-ca-nstab-category' => 'Xem trang thể loại',
index 562c176..d40e845 100644 (file)
@@ -26,7 +26,9 @@ if( !defined( 'MEDIAWIKI' ) ) {
 
 return array(
 
-       /* Special modules who have their own classes */
+       /**
+        * Special modules who have their own classes
+        */
 
        // Scripts managed by the local wiki (stored in the MediaWiki namespace)
        'site' => array( 'class' => 'ResourceLoaderSiteModule' ),
@@ -48,7 +50,16 @@ return array(
        // Scripts for the dynamic language specific data, like grammar forms.
        'mediawiki.language.data' => array( 'class' => 'ResourceLoaderLanguageDataModule' ),
 
-       /* Skins */
+       /**
+        * Skins
+        * Be careful not to add 'scripts' to these modules,
+        * since they are loaded with OutputPage::addModuleStyles so that the skin styles
+        * apply without javascript.
+        * If a skin needs custom js in the interface, register a separate module
+        * and add it to the load queue with OutputPage::addModules.
+        *
+        * See Vector for an example.
+        */
 
        'skins.chick' => array(
                'styles' => array( 'chick/main.css' => array( 'media' => 'screen, handheld' ) ),
@@ -102,6 +113,10 @@ return array(
                        'vector/screen.css' => array( 'media' => 'screen' ),
                        'vector/screen-hd.css' => array( 'media' => 'screen and (min-width: 982px)' ),
                ),
+               'remoteBasePath' => $GLOBALS['wgStylePath'],
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
+       ),
+       'skins.vector.js' => array(
                'scripts' => 'vector/vector.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
index 3e01d23..d0f9995 100644 (file)
@@ -57,7 +57,7 @@ class SkinVector extends SkinTemplate {
                                "/{$this->stylename}/csshover{$min}.htc\")}</style><![endif]-->"
                );
 
-               $out->addModuleScripts( 'skins.vector' );
+               $out->addModules( 'skins.vector.js' );
        }
 
        /**
index 244e4a8..a79b3a2 100644 (file)
@@ -85,6 +85,8 @@ class LinksUpdateTest extends MediaWikiTestCase {
        }
 
        public function testUpdate_categorylinks() {
+               $this->setMwGlobals( 'wgCategoryCollation', 'uppercase' );
+
                list( $t, $po ) = $this->makeTitleAndParserOutput( "Testing", 111 );
 
                $po->addCategory( "Foo", "FOO" );