r24563 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r24562‎ | r24563 | r24564 >
Date:12:05, 3 August 2007
Author:catrope
Status:old
Tags:
Comment:
apiedit: Merging latest revisions from trunk, expect r24533
Modified paths:
  • /branches/apiedit/phase3 (modified) (history)
  • /branches/apiedit/phase3/includes/Database.php (modified) (history)
  • /branches/apiedit/phase3/includes/DefaultSettings.php (modified) (history)
  • /branches/apiedit/phase3/includes/EditPage.php (modified) (history)
  • /branches/apiedit/phase3/includes/IP.php (modified) (history)
  • /branches/apiedit/phase3/includes/OutputPage.php (modified) (history)
  • /branches/apiedit/phase3/includes/SpecialUpload.php (modified) (history)
  • /branches/apiedit/phase3/includes/Title.php (modified) (history)
  • /branches/apiedit/phase3/includes/api/ApiQueryUserInfo.php (modified) (history)
  • /branches/apiedit/phase3/includes/filerepo/FileRepoStatus.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesEn.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesFr.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesHe.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesKk_cn.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesKk_kz.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesKk_tr.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesTh.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesZh_classical.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesZh_cn.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesZh_tw.php (modified) (history)
  • /branches/apiedit/phase3/languages/messages/MessagesZh_yue.php (modified) (history)
  • /branches/apiedit/phase3/maintenance/dumpTextPass.php (modified) (history)
  • /branches/apiedit/phase3/maintenance/language/messages.inc (modified) (history)
  • /branches/apiedit/phase3/skins/monobook/rtl.css (modified) (history)

Diff [purge]

Index: branches/apiedit/phase3/skins/monobook/rtl.css
@@ -219,3 +219,8 @@
220220 p.mw-ipb-conveniencelinks {
221221 float: left;
222222 }
 223+
 224+.toggle {
 225+ margin-left: 0em;
 226+ margin-right: 2em;
 227+}
Index: branches/apiedit/phase3/languages/messages/MessagesKk_kz.php
@@ -817,8 +817,9 @@
818818
819819 Бұғаттауды $1 істеген. Келтірілген себебі: ''$2''.
820820
821 -Бұғаттау бітетін мезгілі: $6<br />
822 -Мақсатталған мерзімі: $7
 821+* Бұғаттау басталғаны: $8
 822+* Бұғаттау бітетіні: $6
 823+* Бұғаттау мақсаты: $7
823824
824825 Осы бұғаттауды талқылау үшін $1 дегенмен, не басқа [[{{{{ns:mediawiki}}:grouppage-sysop}}|әкімшімен]] қатынасуыңызға болады.
825826 [[{{ns:special}}:Preferences|Тіркелгі баптауларын]] қолданып жарамды е-пошта жайын енгізгенше дейін және бұны пайдалануы
@@ -829,7 +830,8 @@
830831
831832 :''$2''
832833
833 -Бұғаттау бітетін мезгілі: $6
 834+* Бұғаттау басталғаны: $8
 835+* Бұғаттау бітетіні: $6
834836
835837 Осы бұғаттауды талқылау үшін $1 дегенмен,
836838 не басқа [[{{{{ns:mediawiki}}:grouppage-sysop}}|әкімшімен]] қатынасуыңызға болады.
@@ -1102,8 +1104,8 @@
11031105 'prefs-personal' => 'Жеке деректері',
11041106 'prefs-rc' => 'Жуықтағы өзгерістер',
11051107 'prefs-watchlist' => 'Бақылау',
1106 -'prefs-watchlist-days' => 'Бақылау тізімінде көрсетерін күн саны:',
1107 -'prefs-watchlist-edits' => 'Кеңейтілген бақылау тізімі түзету көрсетерін саны:',
 1108+'prefs-watchlist-days' => 'Бақылау тізімінде көрсетерін ең көп күндері:',
 1109+'prefs-watchlist-edits' => 'Кеңейтілген бақылау тізімінде көрсетерін ең көп түзетулері:',
11081110 'prefs-misc' => 'Қосымша',
11091111 'saveprefs' => 'Сақта',
11101112 'resetprefs' => 'Таста',
@@ -1324,11 +1326,11 @@
13251327 # File reversion
13261328 'filerevert' => '$1 дегенді қайтару',
13271329 'filerevert-legend' => 'Файлды қайтару',
1328 -'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' дегенді [$2 кезіндегі $3 нұсқасына] қайтардыңыз.</span>',
 1330+'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' дегенді [$4, $2 кезіндегі $3 нұсқасына] қайтардыңыз.</span>',
13291331 'filerevert-comment' => 'Мәндемесі:',
1330 -'filerevert-defaultcomment' => '$1 кезіндегі нұсқасына қайтарды',
 1332+'filerevert-defaultcomment' => '$1, $2 кезіндегі нұсқасына қайтарды',
13311333 'filerevert-submit' => 'Қайтару',
1332 -'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' деген [$2 кезіндегі $3 нұсқасына] қайтарылды.</span>',
 1334+'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' деген [$4, $2 кезіндегі $3 нұсқасына] қайтарылды.</span>',
13331335 'filerevert-badversion' => 'Келтірілген уақыт белгісімен бұл файлдың алдыңғы жергілікті нұсқасы жоқ.',
13341336
13351337 # MIME search
@@ -1480,6 +1482,7 @@
14811483 'allpagessubmit' => 'Өту',
14821484 'allpagesprefix' => 'Мынадан басталған беттерді көрсету:',
14831485 'allpagesbadtitle' => 'Алынған бет атауы жарамсыз болған, немесе тіл-аралық не уики-аралық бастауы бар болды. Атауда қолдануға болмайтын нышандар болуы мүмкін.',
 1486+'allpages-bad-ns' => '{{SITENAME}} жобасында «$1» есім аясы жоқ.',
14841487
14851488 # Special:Listusers
14861489 'listusersfrom' => 'Мына қатысушыдан бастап көрсету:',
@@ -2219,6 +2222,12 @@
22202223 'showhidebots' => '(боттарды $1)',
22212224 'noimages' => 'Көретін ештеңе жоқ.',
22222225
 2226+# Bad image list
 2227+'bad_image_list' => 'Пішімі төмендегідей:
 2228+
 2229+Тек тізім даналары (* нышанымен басталытын жолдар) есептеледі. Жолдың бірінші сілтемесі жарамсыз суретке сілтеу қажет.
 2230+Сол жолдағы кейінгі әрбір сілтемелер ерен болып есептеледі, мысалы жол ішіндегі кездесетін суреті бар мақалалар.',
 2231+
22232232 # Variants for Kazakh language
22242233 'variantname-kk-tr' => 'Latın',
22252234 'variantname-kk-kz' => 'Кирил',
Index: branches/apiedit/phase3/languages/messages/MessagesEn.php
@@ -2164,7 +2164,6 @@
21652165 'allmessagesdefault' => 'Default text',
21662166 'allmessagescurrent' => 'Current text',
21672167 'allmessagestext' => 'This is a list of system messages available in the MediaWiki namespace.',
2168 -'allmessagesnotsupportedUI' => 'Your current interface language <b>$1</b> is not supported by {{ns:special}}:Allmessages at this site.',
21692168 'allmessagesnotsupportedDB' => "'''{{ns:special}}:Allmessages''' cannot be used because '''\$wgUseDatabaseMessages''' is switched off.",
21702169 'allmessagesfilter' => 'Message name filter:',
21712170 'allmessagesmodified' => 'Show only modified',
Index: branches/apiedit/phase3/languages/messages/MessagesZh_cn.php
@@ -391,12 +391,15 @@
392392 'viewsource' => '源码',
393393 'viewsourcefor' => '对$1的源码',
394394 'protectedpagetext' => '该页面已被锁定以防止编辑。',
395 -'namespaceprotected' => "您并没有权限去编辑在'''$1'''名字空间内的页面。",
396395 'viewsourcetext' => '您可以查看并复制此页面的源码:',
397396 'protectedinterface' => '该页提供了软件的界面文本,它已被锁定以防止随意的修改。',
398397 'editinginterface' => "'''警告:''' 您正在编辑的页面是用于提供软件的界面文本。改变此页将影响其他用户的界面外观。",
399398 'sqlhidden' => '(SQL查询已隐藏)',
400 -'cascadeprotected' => '这个页面已经被保护,因为这个页面被以下已标注"联锁保护"的{{PLURAL:$1|一个|多个}}被保护页面包含:',
 399+'cascadeprotected' => "这个页面已经被保护,因为这个页面被以下已标注\"联锁保护\"的{{PLURAL:$1|一个|多个}}被保护页面包含:
 400+$2",
 401+'namespaceprotected' => "您并没有权限去编辑在'''$1'''名字空间内的页面。",
 402+'customcssjsprotected' => '您並無權限去編輯這個頁面,因為它包含了另一位用戶的個人設定。',
 403+'ns-specialprotected' => '在特殊名字空間中的頁面是不可以編輯的。',
401404
402405 # Login and logout pages
403406 'logouttitle' => '退出',
@@ -452,6 +455,7 @@
453456 'nouserspecified' => '你需要指定一个用户名。',
454457 'wrongpassword' => '您输入的密码错误,请再试一次。',
455458 'wrongpasswordempty' => '您没有输入密码,请重试!',
 459+'passwordtooshort' => '您的密码不正确或太短,不能少于$1个字元,而且必须跟用户名不同。',
456460 'mailmypassword' => '将新密码寄给我',
457461 'passwordremindertitle' => '{{SITENAME}}密码提醒',
458462 'passwordremindertext' => '有人(可能是您,来自IP地址$1)要求我们将新的{{SITENAME}} ($4) 的登录密码寄给您。用户"$2"的密码现在是"$3"。请立即登录并更改密码。如果是其他人发出了该请求,或者您已经记起了您的密码并不准备改变它,您可以忽略此消息并继续使用您的旧密码。',
@@ -525,8 +529,9 @@
526530
527531 这次查封是由$1所封的。当中的原因是''$2''。
528532
529 -这次查封的到期时间是:$6<br />
530 -对于被查封者:$7
 533+* 这次查封的开始时间是:$8
 534+* 这次查封的到期时间是:$6
 535+* 对于被查封者:$7
531536
532537 你可以联络$1或者其他的[[{{MediaWiki:grouppage-sysop}}|管理员]],讨论这次查封。
533538 除非你已经在你的[[Special:Preferences|帐号参数设置]]中设置了一个有效的电子邮件地址,否则你是不能使用「电邮这位用户」的功能。当设置定了一个有效的电子邮件地址后,这个功能是不会封锁的。
@@ -537,13 +542,16 @@
538543
539544 :''$2''
540545
541 -这次查封的到期时间是:$6
 546+* 这次查封的开始时间是:$8
 547+* 这次查封的到期时间是:$6
542548
543549 你可以联络$1或者其他的[[{{MediaWiki:grouppage-sysop}}|管理员]],讨论这次查封。
544550
545551 除非你已经在你的[[Special:Preferences|帐号参数设置]]中设置了一个有效的电子邮件地址,否则你是不能使用「电邮这位用户」的功能。当设置定了一个有效的电子邮件地址后,这个功能是不会封锁的。
546552
547 -您的查封ID是 $5。 请你在所有查询中注明这个查封ID。",
 553+您的查封ID是 #$5。 请你在所有查询中注明这个查封ID。",
 554+'blockedtext-concise' => '$7,是跟您的用户名或IP地址相同,已经被$1查封。当中的原因是$2。这次查封的结束时间是$6。你可以联络$1或者其他的管理员,讨论这次查封。除非你已经在你的帐户参数设置中设置了一个有效的电子邮件地址,否则你是不能使用「电邮这位用户」的功能。当设置了一个有效的电子邮件地址后,这个功能是不会封锁的。 您当前的IP地址是$3,而该查封ID是 #$5。 请您在所有查询中注明这地址及/或查封ID。',
 555+'autoblockedtext-concise' => '您的IP地址之前被一位之前曾经查封过的用户使用过。当中的查封是经由$1完成。原因是$2。这次查封的结束时间是$6。你可以联络$1或者其他的管理员,讨论这次查封。除非你已经在你的帐户参数设置中设置了一个有效的电子邮件地址,否则你是不能使用「电邮这位用户」的功能。当设置了一个有效的电子邮件地址后,这个功能是不会封锁的。 您当前的IP地址是$3,而该查封ID是 #$5。 请您在所有查询中注明这地址及/或查封ID。',
548556 'blockedoriginalsource' => "以下是'''$1'''的源码:",
549557 'blockededitsource' => "你对'''$1'''进行'''编辑'''的文字如下:",
550558 'whitelistedittitle' => '登录后才可编辑',
@@ -625,6 +633,9 @@
626634 'edittools' => '<!-- 此处的文本将被显示在以下编辑和上传表单中。 -->',
627635 'nocreatetitle' => '创建页面受限',
628636 'nocreatetext' => '此网站限制了创建新页面的功能。你可以返回并编辑已有的页面,或者[[Special:Userlogin|登录或创建新账户]]。',
 637+'nocreate-loggedin' => '您在这个wiki中并无权限去创建新页面。',
 638+'permissionserrors' => '权限错误',
 639+'permissionserrorstext' => '根据以下的{{PLURAL:$1|原因|原因}},您并无权限去做以下的动作:',
629640 'recreate-deleted-warn' => "'''警告: 你现在重新创建一个先前曾经删除过的页面。'''
630641
631642 你应该要考虑一下继续编辑这一个页面是否合适。
@@ -785,8 +796,8 @@
786797 'prefs-personal' => '用户资料',
787798 'prefs-rc' => '最近更改',
788799 'prefs-watchlist' => '监视列表',
789 -'prefs-watchlist-days' => '监视列表中显示记录的天数:',
790 -'prefs-watchlist-edits' => '在增强的监视列表中显示的编辑次数:',
 800+'prefs-watchlist-days' => '监视列表中显示记录的最长天数:',
 801+'prefs-watchlist-edits' => '在增强的监视列表中显示最多更改次数:',
791802 'prefs-misc' => '杂项',
792803 'saveprefs' => '保存参数设置',
793804 'resetprefs' => '重设参数',
@@ -1008,11 +1019,11 @@
10091020 # File reversion
10101021 'filerevert' => '恢复$1',
10111022 'filerevert-legend' => '恢复文件',
1012 -'filerevert-intro' => "<span class=\"plainlinks\">您现正在恢复'''[[Media:$1|$1]]'''到[于$2 $3的$4版本]。</span>",
 1023+'filerevert-intro' => '<span class="plainlinks">您现正在恢复\'\'\'[[Media:$1|$1]]\'\'\'到[于$2 $3的$4版本]。</span>',
10131024 'filerevert-comment' => '注解:',
10141025 'filerevert-defaultcomment' => '已经恢复到于$1 $2的版本',
10151026 'filerevert-submit' => '恢复',
1016 -'filerevert-success' => "<span class=\"plainlinks\">'''[[Media:$1|$1]]'''已经恢复到[于$2 $3的$4版本]。</span>",
 1027+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已经恢复到[于$2 $3的$4版本]。</span>',
10171028 'filerevert-badversion' => '这个文件所提供的时间截记并无先前的本地版本。',
10181029
10191030 # MIME search
@@ -1345,44 +1356,44 @@
13461357 'restriction-level-all' => '任何级别',
13471358
13481359 # Undelete
1349 -'undelete' => '恢复被删页面',
1350 -'undeletepage' => '浏览及恢复被删页面',
1351 -'viewdeletedpage' => '查看被删页面',
1352 -'undeletepagetext' => '以下页面已经被删除,但依然在档案中并可以被恢复。
 1360+'undelete' => '恢复被删页面',
 1361+'undeletepage' => '浏览及恢复被删页面',
 1362+'viewdeletedpage' => '查看被删页面',
 1363+'undeletepagetext' => '以下页面已经被删除,但依然在档案中并可以被恢复。
13531364 档案库可能被定时清理。',
1354 -'undeleteextrahelp' => "恢复整个页面时,请清除所有复选框后点击 '''''恢复'''''。恢复特定版本时,请选择相应版本前的复选框后点击 '''''恢复'''''。点击 '''''重设''''' 将清除评论内容及所有复选框。",
1355 -'undeleterevisions' => '$1版本存档',
1356 -'undeletehistory' => '如果您恢复了该页面,所有版本都会被恢复到修订历史中。
 1365+'undeleteextrahelp' => "恢复整个页面时,请清除所有复选框后点击 '''''恢复'''''。恢复特定版本时,请选择相应版本前的复选框后点击 '''''恢复'''''。点击 '''''重设''''' 将清除评论内容及所有复选框。",
 1366+'undeleterevisions' => '$1版本存档',
 1367+'undeletehistory' => '如果您恢复了该页面,所有版本都会被恢复到修订历史中。
13571368 如果本页删除后有一个同名的新页面建立,
13581369 被恢复的版本将会称为较新的历史,而新页面的当前版本将无法被自动复原。',
1359 -'undeleterevdel' => '如果把最新修订部份删除,反删除便无法进行。如果遇到这种情况,您必须反选或反隐藏最新已删除的修订。对于您没有权限去查看的修订是无法恢复的。',
1360 -'undeletehistorynoadmin' => '这个文章已被删除。删除原因显示在下方编辑摘要中,被删除前的所有修订文本连同删除前贡献用户的细节信息只对管理员可见。',
1361 -'undelete-revision' => '删除$1时在$2的修订版本',
1362 -'undeleterevision-missing' => '无效或丢失的修订版本。您可能使用了错误的链接,或者此修订版本已经被从存档中恢复或移除。',
1363 -'undeletebtn' => '恢复',
1364 -'undeletereset' => '重设',
1365 -'undeletecomment' => '评论:',
1366 -'undeletedarticle' => '已恢复的"[[$1]]"',
1367 -'undeletedrevisions' => '$1个修订版本已恢复',
1368 -'undeletedrevisions-files' => '$1个修订版本和$2个文件已经被恢复',
1369 -'undeletedfiles' => '$1个文件已经被恢复',
1370 -'cannotundelete' => '恢复删除失败;可能已有其他人先行恢复了此页面。',
1371 -'undeletedpage' => "<big>'''$1已经被恢复'''</big>
 1370+'undeleterevdel' => '如果把最新修订部份删除,反删除便无法进行。如果遇到这种情况,您必须反选或反隐藏最新已删除的修订。对于您没有权限去查看的修订是无法恢复的。',
 1371+'undeletehistorynoadmin' => '这个文章已被删除。删除原因显示在下方编辑摘要中,被删除前的所有修订文本连同删除前贡献用户的细节信息只对管理员可见。',
 1372+'undelete-revision' => '删除$1时在$2的修订版本',
 1373+'undeleterevision-missing' => '无效或丢失的修订版本。您可能使用了错误的链接,或者此修订版本已经被从存档中恢复或移除。',
 1374+'undeletebtn' => '恢复',
 1375+'undeletereset' => '重设',
 1376+'undeletecomment' => '评论:',
 1377+'undeletedarticle' => '已恢复的"[[$1]]"',
 1378+'undeletedrevisions' => '$1个修订版本已恢复',
 1379+'undeletedrevisions-files' => '$1个修订版本和$2个文件已经被恢复',
 1380+'undeletedfiles' => '$1个文件已经被恢复',
 1381+'cannotundelete' => '恢复删除失败;可能已有其他人先行恢复了此页面。',
 1382+'undeletedpage' => "<big>'''$1已经被恢复'''</big>
13721383
13731384 参考[[Special:Log/delete|删除日志]]查看删除及恢复记录。",
1374 -'undelete-header' => '如要查询最近的记录请参阅[[Special:Log/delete|删除日志]]。',
1375 -'undelete-search-box' => '搜索已删除页面',
1376 -'undelete-search-prefix' => '显示页面自:',
1377 -'undelete-search-submit' => '搜索',
1378 -'undelete-no-results' => '删除记录里没有符合的结果。',
1379 -'undelete-filename-mismatch' => '不能删除带有时间截记的文件修订 $1: 文件不匹配',
1380 -'undelete-bad-store-key' => '不能删除带有时间截记的文件修订 $1: 文件于删除前遗失。',
1381 -'undelete-cleanup-error' => '删除无用的存档文件 "$1" 时发生错误。',
1382 -'undelete-missing-filearchive' => '由于文件存档 ID $1 不在数据库中,不能在文件存档中恢复。' .
1383 - '它可能已经反删除了。',
1384 -'undelete-error-short' => '反删除文件时发生错误: $1',
1385 -'undelete-error-long' => "当进行反删除文件时遇到错误:\n\n$1",
 1385+'undelete-header' => '如要查询最近的记录请参阅[[Special:Log/delete|删除日志]]。',
 1386+'undelete-search-box' => '搜索已删除页面',
 1387+'undelete-search-prefix' => '显示页面自:',
 1388+'undelete-search-submit' => '搜索',
 1389+'undelete-no-results' => '删除记录里没有符合的结果。',
 1390+'undelete-filename-mismatch' => '不能删除带有时间截记的文件修订 $1: 文件不匹配',
 1391+'undelete-bad-store-key' => '不能删除带有时间截记的文件修订 $1: 文件于删除前遗失。',
 1392+'undelete-cleanup-error' => '删除无用的存档文件 "$1" 时发生错误。',
 1393+'undelete-missing-filearchive' => '由于文件存档 ID $1 不在数据库中,不能在文件存档中恢复。它可能已经反删除了。',
 1394+'undelete-error-short' => '反删除文件时发生错误: $1',
 1395+'undelete-error-long' => '当进行反删除文件时遇到错误:
13861396
 1397+$1',
13871398
13881399 # Namespace form on various pages
13891400 'namespace' => '名字空间:',
@@ -1549,6 +1560,7 @@
15501561 'movenologin' => '未登录',
15511562 'movenologintext' => '您必须是一名登记用户并且[[Special:Userlogin|登录]]
15521563 后才可移动一个页面。',
 1564+'movenotallowed' => '您在这个wiki中度并没有权限去移动页面。',
15531565 'newtitle' => '新标题:',
15541566 'move-watch' => '监视此页',
15551567 'movepagebtn' => '移动页面',
@@ -1599,7 +1611,6 @@
16001612 'allmessagesdefault' => '默认的文字',
16011613 'allmessagescurrent' => '当前的文字',
16021614 'allmessagestext' => '这里列出所有可定制的系统界面。',
1603 -'allmessagesnotsupportedUI' => '您当前的界面语言<b>$1</b>在此站点不被[[Special:AllMessages|系统界面消息]]支持。',
16041615 'allmessagesnotsupportedDB' => '系统界面功能处于关闭状态 (wgUseDatabaseMessages)。',
16051616 'allmessagesfilter' => '按消息名称筛选:',
16061617 'allmessagesmodified' => '仅显示已修改的',
@@ -1775,13 +1786,15 @@
17761787 'patrol-log-diff' => 'r$1',
17771788
17781789 # Image deletion
1779 -'deletedrevision' => '已删除旧版本$1。',
1780 -'filedeleteerror-short' => "删除文件发生错误: $1",
1781 -'filedeleteerror-long' => "当删除文件时遇到错误:\n\n$1",
1782 -'filedelete-missing' => '因为文件 "$1" 不存在,所以它不可以删除。',
1783 -'filedelete-old-unregistered' => '所指定的文件修订 "$1" 在数据库中不存在。',
 1790+'deletedrevision' => '已删除旧版本$1。',
 1791+'filedeleteerror-short' => '删除文件发生错误: $1',
 1792+'filedeleteerror-long' => '当删除文件时遇到错误:
 1793+
 1794+$1',
 1795+'filedelete-missing' => '因为文件 "$1" 不存在,所以它不可以删除。',
 1796+'filedelete-old-unregistered' => '所指定的文件修订 "$1" 在数据库中不存在。',
17841797 'filedelete-current-unregistered' => '所指定的文件 "$1" 在数据库中不存在。',
1785 -'filedelete-archive-read-only' => '存档目录 "$1" 在网页服务器中不可写。',
 1798+'filedelete-archive-read-only' => '存档目录 "$1" 在网页服务器中不可写。',
17861799
17871800 # Browsing diffs
17881801 'previousdiff' => '←上一个',
@@ -1802,6 +1815,12 @@
18031816 'showhidebots' => '($1机器人)',
18041817 'noimages' => '无可查看图像。',
18051818
 1819+# Bad image list
 1820+'bad_image_list' => '请根据以下的格式去编写:
 1821+
 1822+只有列示项目(以 * 开头的项目)会被考虑。第一个连结一定要连接去坏图像中。
 1823+然后在同一行的连结会考虑作例外,即是幅图像可以在哪一篇文章中同时显示。',
 1824+
18061825 /*
18071826 Short names for language variants used for language conversion links.
18081827 To disable showing a particular link, set it to 'disable', e.g.
@@ -1814,8 +1833,6 @@
18151834 'variantname-zh-sg' => '新加坡简体',
18161835 'variantname-zh' => '不转换',
18171836
1818 -'passwordtooshort' => '您的密码不正确或太短,不能少于$1个字元,而且必须跟用户名不同。',
1819 -
18201837 # Metadata
18211838 'metadata' => '元数据',
18221839 'metadata-help' => '此文件中包含有扩展的信息。这些信息可能是由数码相机或扫描仪在创建或数字化过程中所添加的。
Index: branches/apiedit/phase3/languages/messages/MessagesHe.php
@@ -417,7 +417,7 @@
418418 'toc' => 'תוכן עניינים',
419419 'showtoc' => 'הראה',
420420 'hidetoc' => 'הסתר',
421 -'thisisdeleted' => 'שיחזור או הצגת $1?',
 421+'thisisdeleted' => 'שחזור או הצגת $1?',
422422 'viewdeleted' => 'הצגת $1?',
423423 'restorelink' => '{{plural:$1|גרסה מחוקה אחת|$1 גרסאות מחוקות}}',
424424 'feedlinks' => 'הזנה:',
@@ -526,8 +526,11 @@
527527 'protectedinterface' => 'דף זה הוא אחד מסדרת דפים המספקים הודעות מערכת לתוכנה, ונעול לעריכה למפעילי מערכת בלבד כדי למנוע השחתות של ההודעות.',
528528 'editinginterface' => "'''אזהרה:''' דף זה הוא אחד מסדרת דפים המספקים הודעות מערכת לתוכנה. שינויים בדף זה ישנו את הודעת המערכת לכל המשתמשים האחרים.",
529529 'sqlhidden' => '(שאילתת ה־SQL מוסתרת)',
530 -'cascadeprotected' => 'דף זה נעול לעריכה כיוון שהוא מוכלל {{plural:$1|בדף הבא, שמופעלת אצלו|בדפים הבאים, שמופעלת אצלם}} הגנה מדורגת:',
 530+'cascadeprotected' => 'דף זה נעול לעריכה כיוון שהוא מוכלל {{plural:$1|בדף הבא, שמופעלת אצלו|בדפים הבאים, שמופעלת אצלם}} הגנה מדורגת:
 531+$2',
531532 'namespaceprotected' => "אינכם מורשים לערוך דפים במרחב השם '''$1'''.",
 533+'customcssjsprotected' => 'אינכם מורשים לערוך דף זה, כיוון שהוא כולל את ההגדרות האישיות של משתמש אחר.',
 534+'ns-specialprotected' => 'לא ניתן לערוך דפים מיוחדים.',
532535
533536 # Login and logout pages
534537 'logouttitle' => 'יציאה מהחשבון',
@@ -582,6 +585,7 @@
583586 'nouserspecified' => 'עליכם לציין שם משתמש.',
584587 'wrongpassword' => 'הסיסמה שהקלדתם שגויה, אנא נסו שנית.',
585588 'wrongpasswordempty' => 'הסיסמה שהקלדתם ריקה. אנא נסו שנית.',
 589+'passwordtooshort' => 'סיסמתכם בלתי תקינה או קצרה מדי. עליה להיות מורכבת מ־$1 תווים לפחות ושונה משם המשתמש.',
586590 'mailmypassword' => 'שלחו לי סיסמה חדשה',
587591 'passwordremindertitle' => 'תזכורת סיסמה מ{{grammar:תחילית|{{SITENAME}}}}',
588592 'passwordremindertext' => 'מישהו (ככל הנראה אתם, מכתובת ה־IP מספר $1) ביקש שנשלח לכם סיסמה חדשה לכניסה לחשבון ב{{grammar:תחילית|{{SITENAME}}}} ($4). הסיסמה עבור המשתמש "$2" היא עתה "$3". עליכם להיכנס לאתר ולשנות את סיסמתכם בהקדם האפשרי. אם מישהו אחר ביקש סיסמה חדשה זו או אם נזכרתם בסיסמתכם ואינכם רוצים עוד לשנות אותה, באפשרותכם להתעלם מהודעה זו ולהמשיך להשתמש בסיסמתכם הישנה.',
@@ -651,17 +655,17 @@
652656 'summary-preview' => 'תצוגה מקדימה של התקציר',
653657 'subject-preview' => 'תצוגה מקדימה של הנושא/הכותרת',
654658 'blockedtitle' => 'המשתמש חסום',
655 -'blockedtext' => "<big>'''שם המשתמש או כתובת ה־IP שלכם נחסמו.'''</big>
 659+'blockedtext' => '<big>\'\'\'שם המשתמש או כתובת ה־IP שלכם נחסמו.\'\'\'</big>
656660
657 -החסימה בוצעה על־ידי \$1. הסיבה שניתנה לכך היא '''\$2'''.
 661+החסימה בוצעה על־ידי $1. הסיבה שניתנה לכך היא \'\'\'$2\'\'\'.
658662
659 -* תחילת החסימה: \$8
660 -* פקיעת החסימה: \$6
661 -* החסימה שבוצעה: \$7
 663+* תחילת החסימה: $8
 664+* פקיעת החסימה: $6
 665+* החסימה שבוצעה: $7
662666
663 -באפשרותכם ליצור קשר עם \$1 או עם כל אחד מ[[{{ns:project}}:מפעיל מערכת|מפעילי המערכת]] האחרים כדי לדון על החסימה.
664 -אינכם יכולים להשתמש בתכונת \"שלחו דואר אלקטרוני למשתמש זה\" אם לא ציינתם כתובת דוא\"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]].
665 -כתובת ה־IP שלכם היא \$3, ומספר החסימה שלכם הוא #\$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.",
 667+באפשרותכם ליצור קשר עם $1 או עם כל אחד מ[[{{ns:project}}:מפעיל מערכת|מפעילי המערכת]] האחרים כדי לדון על החסימה.
 668+אינכם יכולים להשתמש בתכונת "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] או אם נחסמתם משליחת דוא"ל.
 669+כתובת ה־IP שלכם היא $3, ומספר החסימה שלכם הוא #$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.',
666670 'autoblockedtext' => 'כתובת ה־IP שלכם נחסמה באופן אוטומטי כיוון שמשתמש אחר, שנחסם על־ידי $1, עשה בה שימוש.
667671 הסיבה שניתנה לחסימה היא:
668672
@@ -671,8 +675,12 @@
672676 * פקיעת החסימה: $6
673677
674678 באפשרותכם ליצור קשר עם $1 או עם כל אחד מ[[{{ns:project}}:מפעיל מערכת|מפעילי המערכת]] האחרים כדי לדון על החסימה.
675 -אינכם יכולים להשתמש בתכונת "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]].
 679+אינכם יכולים להשתמש בתכונת "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] שלכם]] או אם נחסמתם משליחת דוא\\"ל.
676680 מספר החסימה שלכם הוא #$5. אנא ציינו זאת בכל פנייה למפעילי המערכת.',
 681+'blockedtext-concise' => '$7, שמתאים לשם המשתמש או כתובת ה־IP שלכם, נחסם על־ידי $1. הסיבה שניתנה היא $2. החסימה תפקע ב־$6. כדי לדון על החסימה, באפשרותכם ליצור קשר עם $1, או עם מפעילי מערכת אחרים. אינכם יכולים להשתמש בתכונה "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] או אם נחסמתם משליחת דוא"ל.
 682+כתובת ה־IP שלכם היא $3, ומספר החסימה שלכם הוא #$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.',
 683+'autoblockedtext-concise' => 'כתובת ה־IP שלכם נחסמה בגלל שמשתמש שנחסם השתמש בה לאחרונה. החסימה בוצעה על־ידי $1. הסיבה שניתנה היא $2. החסימה תפקע ב־$6. כדי לדון על החסימה, באפשרותכם ליצור קשר עם $1, או עם מפעילי מערכת אחרים. אינכם יכולים להשתמש בתכונה "שלחו דואר אלקטרוני למשתמש זה" אם לא ציינתם כתובת דוא"ל תקפה ב[[{{ns:special}}:Preferences|העדפות המשתמש שלכם]] או אם נחסמתם משליחת דוא"ל.
 684+כתובת ה־IP שלכם היא $3, ומספר החסימה שלכם הוא #$5. אנא ציינו אחת מעובדות אלה (או את שתיהן) בכל פנייה למפעילי המערכת.',
677685 'blockedoriginalsource' => "טקסט המקור של '''$1''' מוצג למטה:",
678686 'blockededitsource' => "הטקסט של '''העריכות שלך''' לדף '''$1''' מוצג למטה:",
679687 'whitelistedittitle' => 'כניסה לחשבון נדרשת לעריכה',
@@ -756,6 +764,9 @@
757765 'edittools' => '<!-- הטקסט הנכתב כאן יוצג מתחת לטפסי עריכת דפים והעלאת קבצים, ולפיכך ניתן לכתוב להציג בו תווים קשים לכתיבה, קטעים מוכנים של טקסט ועוד. -->',
758766 'nocreatetitle' => 'יצירת הדפים הוגבלה',
759767 'nocreatetext' => 'אתר זה מגביל את האפשרות ליצור דפים חדשים. באפשרותכם לחזור אחורה ולערוך דף קיים, או [[{{ns:special}}:Userlogin|להיכנס לחשבון]].',
 768+'nocreate-loggedin' => 'אינכם מורשים ליצור דפים חדשים באתר זה.',
 769+'permissionserrors' => 'שגיאות הרשאה',
 770+'permissionserrorstext' => 'אינכם מורשים לבצע פעולה זו, {{PLURAL:$1|מהסיבה הבאה|מהסיבות הבאות}}:',
760771 'recreate-deleted-warn' => "'''אזהרה: אתם יוצרים דף שנמחק בעבר.'''
761772
762773 אנא שיקלו האם זה נכון להמשיך לערוך את הדף.
@@ -1668,6 +1679,7 @@
16691680 'movearticle' => 'העבר דף:',
16701681 'movenologin' => 'לא נכנסתם לאתר',
16711682 'movenologintext' => 'עליכם [[{{ns:special}}:Userlogin|להיכנס לחשבון]] כדי להעביר דפים.',
 1683+'movenotallowed' => 'אינכם מורשים להעביר דפים באתר זה.',
16721684 'newtitle' => 'לשם החדש:',
16731685 'move-watch' => 'מעקב אחרי דף זה',
16741686 'movepagebtn' => 'העבר דף',
@@ -1717,7 +1729,6 @@
17181730 'allmessagestext' => 'זוהי רשימת כל הודעות המערכת שבמרחב השם {{ns:mediawiki}}, המשמשים את ממשק האתר.
17191731
17201732 מפעילי המערכת יכולים לערוך את ההודעות בלחיצה על שם ההודעה.',
1721 -'allmessagesnotsupportedUI' => "שפת הממשק הנוכחית שלכם, '''$1''', אינה נתמכת על־ידי הדף באתר זה.",
17221733 'allmessagesnotsupportedDB' => 'לא ניתן להשתמש בדף זה כיוון ש־wgUseDatabseMessages מבוטל.',
17231734 'allmessagesfilter' => 'מסנן שמות ההודעות:',
17241735 'allmessagesmodified' => 'רק הודעות ששונו',
@@ -1925,8 +1936,12 @@
19261937 'showhidebots' => '($1 בוטים)',
19271938 'noimages' => 'אין תמונות.',
19281939
1929 -'passwordtooshort' => 'סיסמתכם בלתי תקינה או קצרה מדי. עליה להיות מורכבת מ־$1 תווים לפחות ושונה משם המשתמש.',
 1940+# Bad image list
 1941+'bad_image_list' => 'דרך הכתיבה בהודעה היא כמתואר להלן:
19301942
 1943+רק פריטי רשימה (שורות המתחילות עם *) נחשבים. הקישור הראשון בשורה חייב להיות קישור לתמונה שאין להציג.
 1944+כל הקישורים הבאים באותה השורה נחשבים לחריגים, כלומר לדפים שבהם ניתן להציג את התמונה.',
 1945+
19311946 # Metadata
19321947 'metadata' => 'מידע נוסף על התמונה',
19331948 'metadata-help' => 'קובץ זה מכיל מידע נוסף, שיש להניח שהגיע ממצלמה דיגיטלית או מסורק בו התמונה נוצרה או עברה דיגיטציה. אם הקובץ שונה ממצבו הראשוני, כמה מהנתונים להלן עלולים שלא לשקף באופן מלא את מצב התמונה החדש.',
Index: branches/apiedit/phase3/languages/messages/MessagesZh_yue.php
@@ -449,12 +449,15 @@
450450 'viewsource' => '睇吓原始碼',
451451 'viewsourcefor' => '$1嘅原始碼',
452452 'protectedpagetext' => '呢一頁已經鎖咗唔畀改。',
453 -'namespaceprotected' => "你並無許可權去編輯響'''$1'''空間名裏面嘅呢一版。",
454453 'viewsourcetext' => '你可以睇吓或者複製呢一頁嘅原始碼:',
455454 'protectedinterface' => '呢一頁提供軟件嘅介面文字,呢一頁已經鎖上以預防濫用。',
456455 'editinginterface' => "'''警告:'''你而家編輯緊嘅呢一個用嚟提供介面文字嘅頁面。響呢一頁嘅更改會影響到其他用戶使用中嘅介面外觀。",
457456 'sqlhidden' => '(SQL 查詢隱藏)',
458 -'cascadeprotected' => '呢一版已經保護咗唔能夠編輯,因為佢係響以下嘅{{PLURAL:$1|一|幾}}頁度包含咗,當中啟用咗"連串"保護選項來保護嗰一版:',
 457+'cascadeprotected' => '呢一版已經保護咗唔能夠編輯,因為佢係響以下嘅{{PLURAL:$1|一|幾}}頁度包含咗,當中啟用咗"連串"保護選項來保護嗰一版:
 458+$2',
 459+'namespaceprotected' => "你並無許可權去編輯響'''$1'''空間名裏面嘅呢一版。",
 460+'customcssjsprotected' => '你並無許可權去編輯呢一版,因為佢包含咗另一位用戶嘅個人設定。',
 461+'ns-specialprotected' => '響特別空間名嘅版係唔可以編輯嘅。',
459462
460463 # Login and logout pages
461464 'logouttitle' => '用戶登出',
@@ -510,6 +513,7 @@
511514 'nouserspecified' => '你需要指定一個用戶名。',
512515 'wrongpassword' => '密碼唔啱,麻煩你再試多次。',
513516 'wrongpasswordempty' => '你都未入密碼,唔該再試多次啦。',
 517+'passwordtooshort' => '你嘅密碼唔正確或者太短喇。佢最少要有$1個半形字元,同埋要同你嘅用戶名唔同。',
514518 'mailmypassword' => '寄返個密碼畀我',
515519 'passwordremindertitle' => '{{SITENAME}}嘅密碼提醒',
516520 'passwordremindertext' => '有人(可能係你,IP 位置 $1)
@@ -592,27 +596,33 @@
593597
594598 呢次封鎖係由$1所封嘅。當中嘅原因係''$2''。
595599
596 -呢次封鎖嘅到期時間係:$6<br />
597 -對於被封鎖者:$7
 600+* 呢次封鎖嘅開始時間係:$8
 601+* 呢次封鎖嘅到期時間係:$6
 602+* 對於被封鎖者:$7
598603
599604 你可以聯絡 $1 或者其他嘅[[{{MediaWiki:grouppage-sysop}}|管理員]],討論呢次封鎖。
600605 除非你已經響你嘅[[Special:Preferences|戶口喜好設定]]入面設定咗有效嘅電郵地址,
601606 否則你係唔可以用「電郵呢個用戶」嘅功能。當設定咗一個有效嘅電郵地址之後,呢個功能係唔會封鎖嘅。
602607
603 -你嘅 IP 位址係 $3 ,而個封鎖 ID 係 #$5。 請你喺所有查詢都註明呢個位址同埋/或者個封鎖 ID 。",
 608+你現時嘅 IP 位址係 $3 ,而個封鎖 ID 係 #$5。 請你喺所有查詢都註明呢個位址同埋/或者個封鎖 ID 。",
604609 'autoblockedtext' => "你嘅IP地址已經被自動封鎖,由於之前嘅另一位用戶係畀$1封咗。
605610 而封鎖嘅原因係:
606611
607612 :''$2''
608613
609 -呢次封鎖嘅到期時間係:$6
 614+* 呢次封鎖嘅開始時間係:$8
 615+* 呢次封鎖嘅到期時間係:$6
610616
611617 你可以聯絡 $1 或者其他嘅[[{{MediaWiki:grouppage-sysop}}|管理員]],討論呢次封鎖。
612618
613619 除非你已經響你嘅[[Special:Preferences|戶口喜好設定]]入面設定咗有效嘅電郵地址,
614620 否則你係唔可以用「電郵呢個用戶」嘅功能。當設定咗一個有效嘅電郵地址之後,呢個功能係唔會封鎖嘅。
615621
616 -你個封鎖 ID 係 $5。 請你喺所有查詢都註明呢個封鎖 ID 。",
 622+你個封鎖 ID 係 #$5。 請你喺所有查詢都註明呢個封鎖 ID 。",
 623+'blockedtext-concise' => '$7,係同你嘅用戶名或者IP地址相同嘅,已經俾$1封鎖咗。當中嘅原因係$2。呢次封鎖嘅結束時間係$6。要討論呢次封鎖,你可以聯絡$1,又或者其他嘅管理員。除非你已經響你嘅戶口喜好設定入面設定咗有效嘅電郵地址,
 624+否則你係唔可以用「電郵呢個用戶」嘅功能。當設定咗一個有效嘅電郵地址之後,呢個功能係唔會封鎖嘅。
 625+你現時嘅 IP 地址係 $3 ,而個封鎖 ID 係 #$5。 請你喺所有查詢都註明呢個位址同埋/或者個封鎖 ID 。',
 626+'autoblockedtext-concise' => '你嘅IP地址之前俾一位之前曾經封鎖過嘅用戶用過。當中嘅封鎖係經$1完成。原因係$2。呢次封鎖嘅結束時間係$6。要討論呢次封鎖,你可以聯絡$1,又或者其他嘅管理員。除非你已經響你嘅戶口喜好設定入面設定咗有效嘅電郵地址,否則你係唔可以用「電郵呢個用戶」嘅功能。當設定咗一個有效嘅電郵地址之後,呢個功能係唔會封鎖嘅。你現時嘅 IP 地址係 $3 ,而個封鎖 ID 係 #$5。 請你喺所有查詢都註明呢個位址同埋/或者個封鎖 ID 。',
617627 'blockedoriginalsource' => "有關'''$1'''嘅原始碼響下面列示:",
618628 'blockededitsource' => "有關'''你'''對'''$1'''嘅'''編輯'''文字響下面列示:",
619629 'whitelistedittitle' => '需要登入之後先至可以編輯',
@@ -695,6 +705,9 @@
696706 'nocreatetitle' => '頁面建立被限制',
697707 'nocreatetext' => '呢個網站已經限制咗起新版嘅能力。
698708 你可以番轉頭去編輯一啲已經存在嘅頁面,或者[[Special:Userlogin|登入或開個新戶口]]。',
 709+'nocreate-loggedin' => '你響呢個wiki度並無許可權去開新版。',
 710+'permissionserrors' => '權限錯誤',
 711+'permissionserrorstext' => '根據下面嘅{{PLURAL:$1|原因|原因}},你並無權限去做呢樣嘢:',
699712 'recreate-deleted-warn' => "'''警告: 你而家重開一版係先前曾經刪除過嘅。'''
700713
701714 你應該要考慮吓繼續編輯呢一版係唔係適合嘅。
@@ -861,8 +874,8 @@
862875 'prefs-personal' => '用戶簡介',
863876 'prefs-rc' => '最近更改',
864877 'prefs-watchlist' => '監視清單',
865 -'prefs-watchlist-days' => '監視清單嘅顯示日數:',
866 -'prefs-watchlist-edits' => '喺加強版監視清單度嘅顯示編輯數:',
 878+'prefs-watchlist-days' => '監視清單嘅最長顯示日數:',
 879+'prefs-watchlist-edits' => '喺加強版監視清單度嘅最多顯示更改數:',
867880 'prefs-misc' => '雜項',
868881 'saveprefs' => '儲存',
869882 'resetprefs' => '重設',
@@ -1081,11 +1094,11 @@
10821095 # File reversion
10831096 'filerevert' => '回復$1',
10841097 'filerevert-legend' => '回復檔案',
1085 -'filerevert-intro' => "<span class=\"plainlinks\">你而家回復緊'''[[Media:$1|$1]]'''到[響$2 $3嘅$4版本]。</span>",
 1098+'filerevert-intro' => '<span class="plainlinks">你而家回復緊\'\'\'[[Media:$1|$1]]\'\'\'到[響$2 $3嘅$4版本]。</span>',
10861099 'filerevert-comment' => '註解:',
10871100 'filerevert-defaultcomment' => '已經回復到響$1 $2嘅版本',
10881101 'filerevert-submit' => '回復',
1089 -'filerevert-success' => "<span class=\"plainlinks\">'''[[Media:$1|$1]]'''已經回復到[響$2 $3嘅$4版本]。</span>",
 1102+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已經回復到[響$2 $3嘅$4版本]。</span>',
10901103 'filerevert-badversion' => '呢個檔案所提供嘅時間截記並無之前嘅本地版本。',
10911104
10921105 # MIME search
@@ -1421,48 +1434,49 @@
14221435 'restriction-level-all' => '任何等級',
14231436
14241437 # Undelete
1425 -'undelete' => '去睇刪除咗嘅頁面',
1426 -'undeletepage' => '去睇同恢復刪除咗嘅頁面',
1427 -'viewdeletedpage' => '去睇被刪除咗嘅頁面',
1428 -'undeletepagetext' => '以下頁面已經刪除,但係重喺檔庫度可以恢復。
 1438+'undelete' => '去睇刪除咗嘅頁面',
 1439+'undeletepage' => '去睇同恢復刪除咗嘅頁面',
 1440+'viewdeletedpage' => '去睇被刪除咗嘅頁面',
 1441+'undeletepagetext' => '以下頁面已經刪除,但係重喺檔庫度可以恢復。
14291442 檔案庫可能會定時清理。',
1430 -'undeleteextrahelp' => "要恢復成個頁面,唔好剔任何嘅核選盒,再撳'''''恢復'''''。
 1443+'undeleteextrahelp' => "要恢復成個頁面,唔好剔任何嘅核選盒,再撳'''''恢復'''''。
14311444 要恢復已經選擇咗嘅修訂,將要恢復代表有關修訂嘅核選盒剔上,再撳'''''恢復'''''。撳'''''重設'''''會清除註解文字同埋全部嘅核選盒。",
1432 -'undeleterevisions' => '$1個修訂都已經存檔',
1433 -'undeletehistory' => '如果你恢復呢個頁面,佢嘅所有修改歷史都會恢復返到嗰篇頁面嘅歷史度。
 1445+'undeleterevisions' => '$1個修訂都已經存檔',
 1446+'undeletehistory' => '如果你恢復呢個頁面,佢嘅所有修改歷史都會恢復返到嗰篇頁面嘅歷史度。
14341447 如果喺佢刪除之後又新開咗同名嘅頁面,你恢復嘅修改歷史會顯示喺先前歷史度,
14351448 新頁面而家嘅修改唔會自動覆蓋咗去。同時請留意響個檔案修訂嘅限制會響恢復嗰陣遺失。',
1436 -'undeleterevdel' => '如果響最新修訂度部份刪除,噉反刪除就唔能夠進行。如果遇到呢種情況,你一定要反選或者反隱藏最新刪除咗嘅修訂。對於你冇權限去睇嘅修訂係唔能夠恢復嘅。',
1437 -'undeletehistorynoadmin' => '呢篇文已經刪咗。刪除嘅原因喺下面嘅摘要度,
 1449+'undeleterevdel' => '如果響最新修訂度部份刪除,噉反刪除就唔能夠進行。如果遇到呢種情況,你一定要反選或者反隱藏最新刪除咗嘅修訂。對於你冇權限去睇嘅修訂係唔能夠恢復嘅。',
 1450+'undeletehistorynoadmin' => '呢篇文已經刪咗。刪除嘅原因喺下面嘅摘要度,
14381451 連同重有刪除之前編輯過呢個頁面嘅用戶嘅詳細資料。
14391452 所刪除嘅版本嘅實際內容得管理員可以睇到。',
1440 -'undelete-revision' => '已經刪除咗由$2嘅修訂$1:',
1441 -'undeleterevision-missing' => '唔正確或者遺失咗修訂。你可能有一個壞連結,
 1453+'undelete-revision' => '已經刪除咗由$2嘅修訂$1:',
 1454+'undeleterevision-missing' => '唔正確或者遺失咗修訂。你可能有一個壞連結,
14421455 或者嗰個修訂已經響存檔度恢復咗或者刪除咗。',
1443 -'undeletebtn' => '恢復',
1444 -'undeletereset' => '重設',
1445 -'undeletecomment' => '註解:',
1446 -'undeletedarticle' => '已經恢復咗"[[$1]]"',
1447 -'undeletedrevisions' => '$1個修訂已經恢復',
1448 -'undeletedrevisions-files' => '$1個修訂同$2個檔案已經恢復',
1449 -'undeletedfiles' => '$1個檔案已經恢復',
1450 -'cannotundelete' => '反刪除失敗;可能有其他人已經反刪除嗰一頁。',
1451 -'undeletedpage' => "<big>'''$1已經成功恢復'''</big>
 1456+'undeletebtn' => '恢復',
 1457+'undeletereset' => '重設',
 1458+'undeletecomment' => '註解:',
 1459+'undeletedarticle' => '已經恢復咗"[[$1]]"',
 1460+'undeletedrevisions' => '$1個修訂已經恢復',
 1461+'undeletedrevisions-files' => '$1個修訂同$2個檔案已經恢復',
 1462+'undeletedfiles' => '$1個檔案已經恢復',
 1463+'cannotundelete' => '反刪除失敗;可能有其他人已經反刪除嗰一頁。',
 1464+'undeletedpage' => "<big>'''$1已經成功恢復'''</big>
14521465
14531466 最近嘅刪除同恢復記錄請睇[[Special:Log/delete]]。",
1454 -'undelete-header' => '睇吓[[Special:Log/delete|刪除日誌]]去睇之前刪除嘅頁頁。',
1455 -'undelete-search-box' => '搵刪除咗嘅頁面',
1456 -'undelete-search-prefix' => '顯示由以下開頭嘅頁面:',
1457 -'undelete-search-submit' => '搵嘢',
1458 -'undelete-no-results' => '響刪除存檔度搵唔到符合嘅頁面。',
1459 -'undelete-filename-mismatch' => '唔能夠刪除帶有時間截記嘅檔案修訂 $1: 檔案錯配',
1460 -'undelete-bad-store-key' => '唔能夠刪除帶有時間截記嘅檔案修訂 $1: 檔案響刪除之前唔見咗。',
1461 -'undelete-cleanup-error' => '刪除無用嘅歸檔檔案 "$1" 時出錯。',
1462 -'undelete-missing-filearchive' => '由於檔案歸檔 ID $1 唔響個數據庫度,唔能夠響個檔案歸檔恢復。' .
1463 - '佢可能已經反刪除咗。',
1464 -'undelete-error-short' => '反刪除檔案嗰陣出錯: $1',
1465 -'undelete-error-long' => "當反刪除緊個檔案嗰陣遇到錯誤:\n\n$1",
 1467+'undelete-header' => '睇吓[[Special:Log/delete|刪除日誌]]去睇之前刪除嘅頁頁。',
 1468+'undelete-search-box' => '搵刪除咗嘅頁面',
 1469+'undelete-search-prefix' => '顯示由以下開頭嘅頁面:',
 1470+'undelete-search-submit' => '搵嘢',
 1471+'undelete-no-results' => '響刪除存檔度搵唔到符合嘅頁面。',
 1472+'undelete-filename-mismatch' => '唔能夠刪除帶有時間截記嘅檔案修訂 $1: 檔案錯配',
 1473+'undelete-bad-store-key' => '唔能夠刪除帶有時間截記嘅檔案修訂 $1: 檔案響刪除之前唔見咗。',
 1474+'undelete-cleanup-error' => '刪除無用嘅歸檔檔案 "$1" 時出錯。',
 1475+'undelete-missing-filearchive' => '由於檔案歸檔 ID $1 唔響個數據庫度,唔能夠響個檔案歸檔恢復。佢可能已經反刪除咗。',
 1476+'undelete-error-short' => '反刪除檔案嗰陣出錯: $1',
 1477+'undelete-error-long' => '當反刪除緊個檔案嗰陣遇到錯誤:
14661478
 1479+$1',
 1480+
14671481 # Namespace form on various pages
14681482 'namespace' => '空間名:',
14691483 'invert' => '反選',
@@ -1624,6 +1638,7 @@
16251639 'movearticle' => '搬頁:',
16261640 'movenologin' => '未登入',
16271641 'movenologintext' => '你要係註冊用戶而且要[[Special:Userlogin|登入]]咗先可以搬頁',
 1642+'movenotallowed' => '你響呢個wiki度並無權限去搬版。',
16281643 'newtitle' => '到新標題:',
16291644 'move-watch' => '睇實呢一版',
16301645 'movepagebtn' => '搬頁',
@@ -1674,7 +1689,6 @@
16751690 'allmessagesdefault' => '預設文字',
16761691 'allmessagescurrent' => '現時文字',
16771692 'allmessagestext' => '以下係 MediaWiki 空間名入邊現有系統信息嘅清單。',
1678 -'allmessagesnotsupportedUI' => '呢個網站嘅{{ns:special}}:AllMessages唔支持你現時嘅介面語言<b>$1</b>。',
16791693 'allmessagesnotsupportedDB' => "唔可以用'''{{ns:special}}:AllMessages''',因為'''\$wgUseDatabaseMessages'''已經閂咗。",
16801694 'allmessagesfilter' => '信息名過濾(器):',
16811695 'allmessagesmodified' => '只顯示修改過嘅',
@@ -1850,13 +1864,15 @@
18511865 'patrol-log-diff' => 'r$1',
18521866
18531867 # Image deletion
1854 -'deletedrevision' => '刪除咗$1嘅舊有修訂。',
1855 -'filedeleteerror-short' => "刪除檔案出錯: $1",
1856 -'filedeleteerror-long' => "當刪除檔案嗰陣遇到錯誤:\n\n$1",
1857 -'filedelete-missing' => '因為個檔案 "$1" 唔存在,所以佢唔可以刪除。',
1858 -'filedelete-old-unregistered' => '所指定嘅檔案修訂 "$1" 響個數據庫度唔存在。',
 1868+'deletedrevision' => '刪除咗$1嘅舊有修訂。',
 1869+'filedeleteerror-short' => '刪除檔案出錯: $1',
 1870+'filedeleteerror-long' => '當刪除檔案嗰陣遇到錯誤:
 1871+
 1872+$1',
 1873+'filedelete-missing' => '因為個檔案 "$1" 唔存在,所以佢唔可以刪除。',
 1874+'filedelete-old-unregistered' => '所指定嘅檔案修訂 "$1" 響個數據庫度唔存在。',
18591875 'filedelete-current-unregistered' => '所指定嘅檔案 "$1" 響個數據庫度唔存在。',
1860 -'filedelete-archive-read-only' => '個歸檔目錄 "$1" 響網頁伺服器度寫唔到。',
 1876+'filedelete-archive-read-only' => '個歸檔目錄 "$1" 響網頁伺服器度寫唔到。',
18611877
18621878 # Browsing diffs
18631879 'previousdiff' => '← 上一個差異',
@@ -1877,6 +1893,12 @@
18781894 'showhidebots' => '($1 機械人)',
18791895 'noimages' => '冇嘢去睇。',
18801896
 1897+# Bad image list
 1898+'bad_image_list' => '請根據下面嘅格式去寫:
 1899+
 1900+只有列示項目(以 * 開頭嘅項目)會考慮。第一個連結一定要連去幅壞圖度。
 1901+之後響同一行嘅連結會考慮做例外,即係幅圖可以響邊篇文度同時顯示。',
 1902+
18811903 /*
18821904 Short names for language variants used for language conversion links.
18831905 To disable showing a particular link, set it to 'disable', e.g.
@@ -1907,8 +1929,6 @@
19081930 'variantname-ku-latn' => '庫爾德拉丁文',
19091931 'variantname-ku' => '無變換',
19101932
1911 -'passwordtooshort' => '你嘅密碼唔正確或者太短喇。佢最少要有$1個半形字元,同埋要同你嘅用戶名唔同。',
1912 -
19131933 # Metadata
19141934 'metadata' => 'Metadata',
19151935 'metadata-help' => '呢個檔案有額外嘅資料。佢應該係數碼相機或者掃描器整出來嘅。如果佢整咗之後畀人改過,裏面嘅資料未必同改過之後相符。',
Index: branches/apiedit/phase3/languages/messages/MessagesTh.php
@@ -137,6 +137,7 @@
138138 'category_header' => 'เนื้อหาในหมวดหมู่ "$1"',
139139 'subcategories' => 'หมวดหมู่ย่อย',
140140 'category-media-header' => 'สื่อในหมวดหมู่ "$1"',
 141+'category-empty' => "''หมวดหมู่นี้ว่าง ไม่มีบทความใดอยู่''",
141142
142143 'mainpagetext' => "<big>'''ซอฟต์แวร์มีเดียวิกิได้ถูกติดตั้งเรียบร้อย'''</big>",
143144 'mainpagedocfooter' => 'ศึกษา[http://meta.wikimedia.org/wiki/Help:Contents คู่มือการใช้งาน] สำหรับเริ่มต้นใช้งานซอฟต์แวร์วิกิ
@@ -323,10 +324,13 @@
324325 ให้ติดต่อผู้ดูแลระบบ และจดรายละเอียดเกี่ยวกับยูอาร์แอลนั้น',
325326 'readonly_lag' => 'ฐานข้อมูลถูกล็อกอัตโนมัติขณะที่เซิร์ฟเวอร์ฐานข้อมูลรองกำลังปรับปรุงตามฐานข้อมูลหลัก',
326327 'internalerror' => 'เกิดความผิดพลาดภายใน',
 328+'internalerror_info' => 'เกิดความผิดพลาดภายใน: $1',
327329 'filecopyerror' => 'ไม่สามารถคัดลอกไฟล์ "$1" ไปที่ "$2"',
328330 'filerenameerror' => 'ไม่สามารถเปลี่ยนชื่อไฟล์ "$1" เป็น "$2"',
329331 'filedeleteerror' => 'ไม่สามารถลบไฟล์ "$1"',
 332+'directorycreateerror' => 'ไม่สามารถสร้างไดเรกทอรี "$1"',
330333 'filenotfound' => 'ไม่พบไฟล์ "$1"',
 334+'fileexistserror' => 'ไม่สามารถเขียนไฟล์ "$1"ได้: มีไฟล์แล้ว',
331335 'unexpected' => 'เกิดค่าที่ไม่คาด: "$1"="$2"',
332336 'formerror' => 'ปัญหา: ไม่สามารถส่งฟอร์มได้',
333337 'badarticleerror' => 'การกระทำนี้ไม่สามารถดำเนินการในหน้านี้ได้',
@@ -337,15 +341,18 @@
338342 'perfcached' => 'ข้อมูลต่อไปนี้เป็นแคชและอาจจะไม่ใช่ข้อมูลล่าสุด',
339343 'perfcachedts' => 'ข้อมูลต่อไปนี้ถูกแคชและปรับปรุงล่าสุดเมื่อ $1',
340344 'querypage-no-updates' => 'ขณะนี้การปรับปรุงหน้านี้ถูกระงับ ข้อมูลในที่นี่จะไม่รีเฟรชเป็นข้อมูลปัจจุบัน',
 345+'wrong_wfQuery_params' => 'พารามิเตอร์ไม่ถูกต้อง สำหรับ wfQuery()<br />
 346+ฟังก์ชัน: $1<br />
 347+คิวรี: $2',
341348 'viewsource' => 'ดูโค้ด',
342349 'viewsourcefor' => 'สำหรับ $1',
343350 'protectedpagetext' => 'หน้านี้ถูกล็อกป้องกันการแก้ไข',
344 -'namespaceprotected' => "คุณไม่มีสิทธิในการแก้ไขหน้าในส่วนเนมสเปซชื่อ '''$1'''",
345351 'viewsourcetext' => 'โค้ดหน้านี้าสามารถดูและนำไปคัดลอกได้:',
346352 'protectedinterface' => 'หน้านี้เป็นข้อความที่ใช้แสดงหน้าตาของซอฟต์แวร์ ถูกล็อกห้ามแก้ไขเพื่อป้องกันการก่อกวน',
347353 'editinginterface' => "'''คำเตือน:''' คุณกำลังแก้ไขข้อความที่เป็นส่วนหน้าตาของซอฟต์แวร์ การแก้ไขหน้านี้จะมีผลต่อผู้ใช้ทุกคน",
348354 'sqlhidden' => '(SQL query hidden)',
349355 'cascadeprotected' => 'หน้านี้ถูกห้ามแก้ไขเนื่องจากมันเป็นส่วนหนึ่งหน้าต่อไปนี้ $1 ซึ่งถูกป้องกันตามการตั้งค่า แคสเคด ที่เปิดใช้งาน',
 356+'namespaceprotected' => "คุณไม่มีสิทธิในการแก้ไขหน้าในส่วนเนมสเปซชื่อ '''$1'''",
350357
351358 # Login and logout pages
352359 'logouttitle' => 'ผู้ใช้งานล็อกเอาต์',
@@ -401,6 +408,7 @@
402409 'nouserspecified' => 'คุณต้องระบุชื่อผู้ใช้',
403410 'wrongpassword' => 'รหัสผ่านที่ใส่ไม่ถูกต้อง กรุณาลองอีกครั้ง',
404411 'wrongpasswordempty' => 'รหัสผ่านไม่ได้ใส่ กรุณาลองอีกครั้ง',
 412+'passwordtooshort' => 'รหัสผ่านไม่ถูกต้องหรือสั้นเกินไป โดยต้องมีอย่างน้อย $1 ตัวอักษรและแตกต่างจากชื่อผู้ใช้',
405413 'mailmypassword' => 'ลืมรหัส ส่งให้ใหม่ทางอีเมล',
406414 'passwordremindertitle' => 'คำบอกรหัสผ่านจาก {{SITENAME}}',
407415 'passwordremindertext' => 'ใครบางคน (ซึ่งอาจจะเป็นคุณจากหมายเลขไอพี $1)
@@ -908,6 +916,7 @@
909917
910918 'license' => 'ลิขสิทธิ์',
911919 'nolicense' => 'ไม่ได้เลือก',
 920+'license-nopreview' => '(ไม่สามารถแสดงผลได้)',
912921 'upload_source_url' => ' (ค่าถูกต้อง ยูอาร์แอลที่ใช้งานได้)',
913922 'upload_source_file' => ' (ไฟล์จากคอมพิวเตอร์คุณ)',
914923
@@ -924,6 +933,17 @@
925934 'imgdelete' => 'ลบ',
926935 'imgdesc' => 'อธิบาย',
927936 'imgfile' => 'ไฟล์',
 937+'filehist' => 'ประวัติไฟล์',
 938+'filehist-help' => 'กดเลือก วัน/เวลา เพื่อดูไฟล์ที่แสดงในวันนั้น',
 939+'filehist-deleteall' => 'ลบทั้งหมด',
 940+'filehist-deleteone' => 'ลบตรงนี้',
 941+'filehist-revert' => 'ย้อน',
 942+'filehist-current' => 'ปัจจุบัน',
 943+'filehist-datetime' => 'วันที่/เวลา',
 944+'filehist-user' => 'ผู้ใช้',
 945+'filehist-dimensions' => 'ขนาด',
 946+'filehist-filesize' => 'ขนาดไฟล์',
 947+'filehist-comment' => 'ความเห็น',
928948 'imagelinks' => 'หน้าที่ใช้ภาพนี้',
929949 'linkstoimage' => 'หน้าที่ใช้ภาพนี้:',
930950 'nolinkstoimage' => 'ไม่มีหน้าที่ใช้ภาพนี้',
@@ -940,6 +960,16 @@
941961 'imagelist_description' => 'คำอธิบารย',
942962 'imagelist_search_for' => 'ค้นหาชื่อภาพ:',
943963
 964+# File reversion
 965+'filerevert' => 'ย้อน $1',
 966+'filerevert-legend' => 'ย้อนไฟล์กลับ',
 967+'filerevert-intro' => '<span class="plainlinks">คุณกำลังย้อนไฟล์ \'\'\'[[Media:$1|$1]]\'\'\' ไปยัง [รุ่น $4 วันที่ $2, $3]</span>',
 968+'filerevert-comment' => 'ความเห็น:',
 969+'filerevert-defaultcomment' => 'ย้อนไปรุ่น $1, $2',
 970+'filerevert-submit' => 'ย้อน',
 971+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' ถูกย้อนไปยัง [รุ่น $4 วันที่ $2, $3]</span>',
 972+'filerevert-badversion' => 'ไม่มีรุ่นก่อนหน้าของไฟล์นี้ในเวลาที่กำหนดไว้',
 973+
944974 # MIME search
945975 'mimesearch' => 'ค้นหาตามชนิดไมม์',
946976 'mimesearch-summary' => 'หน้านี้แสดงไฟล์ตามการแบ่งของชนิดไมม์ (MIME) ของแต่ละไฟล์ ใส่ค่า: contenttype/subtype เช่น <tt>image/jpeg</tt>.',
@@ -1258,34 +1288,42 @@
12591289 'restriction-level-all' => 'ระดับ',
12601290
12611291 # Undelete
1262 -'undelete' => 'หน้าที่ถูกลบ',
1263 -'undeletepage' => 'ดูและเรียกคืนหน้าที่ถูกลบ',
1264 -'viewdeletedpage' => 'หน้าที่ถูกลบ',
1265 -'undeletepagetext' => 'หน้าต่อไปนี้ถูกลบไปแต่ยังคงอยู่ในกรุที่สามารถเรียกคืนได้ (กรุข้อมูลอาจจะถูกลบเป็นระยะ)',
1266 -'undeleteextrahelp' => "ถ้าต้องการเรียกคืนทั้งหมด ให้กดปุ่ม '''''เรียกคืน'''''โดยไม่ต้องเลือกช่องใดช่องหนึ่ง ถ้าต้องการเรียกคืนประวัติเฉพาะส่วนใดส่วนหนึ่งให้เลือกเฉพาะส่วนที่ต้องการ แล้วกด'''''เรียกคืน''''' ถ้ากด '''''ตั้งค่าใหม่''''' จะยกเลิกการเลือกใหม่",
1267 -'undeleterevisions' => '$1 รุ่นการแก้ไขถูกเก็บไว้',
1268 -'undeletehistory' => 'ถ้าเรียกคืนหน้าใด ประวัติการแก้ไขจะถูกเรียกคืนกลับมาหมด ซึ่งถ้ามีหน้าใหม่ถูกสร้างคืนหลังจากนั้น ประวัติหน้าจะถูกเรียกมารวม ซึ่งประวัติหน้าจะไม่ถูกแทนที่',
1269 -'undeleterevdel' => 'จะเรียกคืนไม่ได้ถ้ารุ่นในส่วนที่ใหม่ถูกลบไปบางส่วน ถ้าเกิดขึ้นในกรณีนี้ ต้องกดแสดงในส่วนใหม่ก่อน',
1270 -'undeletehistorynoadmin' => 'หน้านี้ถูกลบก่อนหน้านี้ โดยสาเหตุการลบและรายชื่อผู้ร่วมแก้ไขก่อนหน้าแสดงผลด้านล่าง สำหรับข้อมูลที่ถูกลบจะดูได้เฉพาะผู้ดูแลระบบ',
1271 -'undelete-revision' => 'รุ่นที่ถูกลบของ $1 จาก $2:',
1272 -'undeleterevision-missing' => 'รุ่นที่ต้องการดูไม่มี ข้อมูลอาจจะโดนลบ',
1273 -'undeletebtn' => 'เรียกคืน',
1274 -'undeletereset' => 'ตั้งค่าใหม่',
1275 -'undeletecomment' => 'ความเห็น:',
1276 -'undeletedarticle' => 'เรียกคืน "[[$1]]"',
1277 -'undeletedrevisions' => '$1 รุ่นการแก้ไขถูกเรียกคืน',
1278 -'undeletedrevisions-files' => '$1 รุ่นการแก้ไข และ $2 ไฟล์ถูกเรียกคืน',
1279 -'undeletedfiles' => '$1 ไฟล์ถูกเรียกคืน',
1280 -'cannotundelete' => 'เรียกคืนไม่สำเร็จ อาจมีใครบางคนเรียกคืนหน้านั้นแล้ว',
1281 -'undeletedpage' => "<big>'''$1 ถูกเรียกคืน'''</big>
 1292+'undelete' => 'หน้าที่ถูกลบ',
 1293+'undeletepage' => 'ดูและเรียกคืนหน้าที่ถูกลบ',
 1294+'viewdeletedpage' => 'หน้าที่ถูกลบ',
 1295+'undeletepagetext' => 'หน้าต่อไปนี้ถูกลบไปแต่ยังคงอยู่ในกรุที่สามารถเรียกคืนได้ (กรุข้อมูลอาจจะถูกลบเป็นระยะ)',
 1296+'undeleteextrahelp' => "ถ้าต้องการเรียกคืนทั้งหมด ให้กดปุ่ม '''''เรียกคืน'''''โดยไม่ต้องเลือกช่องใดช่องหนึ่ง ถ้าต้องการเรียกคืนประวัติเฉพาะส่วนใดส่วนหนึ่งให้เลือกเฉพาะส่วนที่ต้องการ แล้วกด'''''เรียกคืน''''' ถ้ากด '''''ตั้งค่าใหม่''''' จะยกเลิกการเลือกใหม่",
 1297+'undeleterevisions' => '$1 รุ่นการแก้ไขถูกเก็บไว้',
 1298+'undeletehistory' => 'ถ้าเรียกคืนหน้าใด ประวัติการแก้ไขจะถูกเรียกคืนกลับมาหมด ซึ่งถ้ามีหน้าใหม่ถูกสร้างคืนหลังจากนั้น ประวัติหน้าจะถูกเรียกมารวม ซึ่งประวัติหน้าจะไม่ถูกแทนที่',
 1299+'undeleterevdel' => 'จะเรียกคืนไม่ได้ถ้ารุ่นในส่วนที่ใหม่ถูกลบไปบางส่วน ถ้าเกิดขึ้นในกรณีนี้ ต้องกดแสดงในส่วนใหม่ก่อน',
 1300+'undeletehistorynoadmin' => 'หน้านี้ถูกลบก่อนหน้านี้ โดยสาเหตุการลบและรายชื่อผู้ร่วมแก้ไขก่อนหน้าแสดงผลด้านล่าง สำหรับข้อมูลที่ถูกลบจะดูได้เฉพาะผู้ดูแลระบบ',
 1301+'undelete-revision' => 'รุ่นที่ถูกลบของ $1 จาก $2:',
 1302+'undeleterevision-missing' => 'รุ่นที่ต้องการดูไม่มี ข้อมูลอาจจะโดนลบ',
 1303+'undeletebtn' => 'เรียกคืน',
 1304+'undeletereset' => 'ตั้งค่าใหม่',
 1305+'undeletecomment' => 'ความเห็น:',
 1306+'undeletedarticle' => 'เรียกคืน "[[$1]]"',
 1307+'undeletedrevisions' => '$1 รุ่นการแก้ไขถูกเรียกคืน',
 1308+'undeletedrevisions-files' => '$1 รุ่นการแก้ไข และ $2 ไฟล์ถูกเรียกคืน',
 1309+'undeletedfiles' => '$1 ไฟล์ถูกเรียกคืน',
 1310+'cannotundelete' => 'เรียกคืนไม่สำเร็จ อาจมีใครบางคนเรียกคืนหน้านั้นแล้ว',
 1311+'undeletedpage' => "<big>'''$1 ถูกเรียกคืน'''</big>
12821312
12831313 ดูเพิ่มเติม [[Special:Log/delete|บันทึกการลบ]] สำหรับรายชื่อการลบและการเรียกคืนที่ผ่านมา",
1284 -'undelete-header' => 'ดู [[Special:Log/delete|บันทึกการลบ]] สำหรับหน้าที่ถูกลบล่าสุด',
1285 -'undelete-search-box' => 'ค้นหาหน้าที่ถูกลบ',
1286 -'undelete-search-prefix' => 'ค้นหาหน้าที่เริ่มต้นด้วย:',
1287 -'undelete-search-submit' => 'ค้นหา',
1288 -'undelete-no-results' => 'ไม่พบหน้าที่ต้องการจากบันทึกการลบ',
 1314+'undelete-header' => 'ดู [[Special:Log/delete|บันทึกการลบ]] สำหรับหน้าที่ถูกลบล่าสุด',
 1315+'undelete-search-box' => 'ค้นหาหน้าที่ถูกลบ',
 1316+'undelete-search-prefix' => 'ค้นหาหน้าที่เริ่มต้นด้วย:',
 1317+'undelete-search-submit' => 'ค้นหา',
 1318+'undelete-no-results' => 'ไม่พบหน้าที่ต้องการจากบันทึกการลบ',
 1319+'undelete-filename-mismatch' => 'ไม่สามารถกู้คืนไฟล์ $1: ชื่อไฟล์ไม่ถูกต้อง',
 1320+'undelete-bad-store-key' => 'ไม่สามารถกู้คืนไฟล์ $1: ไม่มีไฟล์ก่อนที่จะถูกลบ',
 1321+'undelete-cleanup-error' => 'เกิดปัญหาการลบไฟล์เก่า "$1"',
 1322+'undelete-missing-filearchive' => 'ไม่สามารถกู้คืนไฟล์เก่ารุ่น $1 เพราะว่าไม่มีไฟล์อยู่ในฐานข้อมูล ไฟล์อาจจะถูกกู้คืนไปก่อนหน้า',
 1323+'undelete-error-short' => 'เกิดปัญหาในการกู้คืนไฟล์: $1',
 1324+'undelete-error-long' => 'Errors were encountered while undeleting the file:
12891325
 1326+$1',
 1327+
12901328 # Namespace form on various pages
12911329 'namespace' => 'เนมสเปซ',
12921330 'invert' => 'เลือกตรงข้าม',
@@ -1380,6 +1418,7 @@
13811419 'createaccountblock' => 'บล็อกการสร้างบัญชีผู้ใช้ใหม่',
13821420 'emailblock' => 'บล็อกการส่งอีเมล',
13831421 'ipblocklist-empty' => 'รายการบล็อกว่าง',
 1422+'ipblocklist-no-results' => 'หมายเลขไอพีหรือชื่อผู้ใช้ที่ต้องการไม่ได้ถูกบล็อก',
13841423 'blocklink' => 'บล็อก',
13851424 'unblocklink' => 'เลิกบล็อก',
13861425 'contribslink' => 'แก้ไข',
@@ -1486,7 +1525,6 @@
14871526 'allmessagesdefault' => 'ข้อความตั้งต้น',
14881527 'allmessagescurrent' => 'ข้อความปัจจุบัน',
14891528 'allmessagestext' => 'ข้อความแสดงหน้าตาของวิกินี้ (ถูกเก็บในเนมสเปซ มีเดียวิกิ)',
1490 -'allmessagesnotsupportedUI' => 'ภาษา<b>$1</b> ที่คุณใช้ปัจจุบันไม่รองรับ {{ns:special}}:Allmessages ในเว็บไซต์นี้',
14911529 'allmessagesnotsupportedDB' => "'''{{ns:special}}:Allmessages''' ไม่สามารถนำมาใช้ได้เพราะว่า '''\$wgUseDatabaseMessages''' ได้ถูกปิด",
14921530 'allmessagesfilter' => 'กรองเฉพาะข้อความ:',
14931531 'allmessagesmodified' => 'แสดงเฉพาะที่ถูกแก้ไข',
@@ -1660,8 +1698,16 @@
16611699 'patrol-log-diff' => 'r$1',
16621700
16631701 # Image deletion
1664 -'deletedrevision' => 'รุ่นเก่าที่ถูกลบ $1',
 1702+'deletedrevision' => 'รุ่นเก่าที่ถูกลบ $1',
 1703+'filedeleteerror-short' => 'เกิดปัญหาการลบไฟล์: $1',
 1704+'filedeleteerror-long' => 'เกิดปัญหาขณะที่ทำการลบไฟล์:
16651705
 1706+$1',
 1707+'filedelete-missing' => 'ไม่สามารถลบไฟล์ "$1" ได้ เนื่องจากไม่มีไฟล์ชื่อนี้อยู่',
 1708+'filedelete-old-unregistered' => 'ไฟล์ที่ระบุรุ่น "$1" ไม่มีในฐานข้อมูล',
 1709+'filedelete-current-unregistered' => 'ไฟล์ที่ระบุ "$1" ไม่มีในฐานข้อมูล',
 1710+'filedelete-archive-read-only' => 'ไดเรกทอรีกรุชื่อ "$1" ไม่สามารถเขียนลงได้โดยเว็บเซิร์ฟเวอร์',
 1711+
16661712 # Browsing diffs
16671713 'previousdiff' => '← แตกต่างก่อนหน้า',
16681714 'nextdiff' => 'แตกต่างถัดไป →',
@@ -1681,8 +1727,12 @@
16821728 'showhidebots' => '($1 บอต)',
16831729 'noimages' => 'ไม่มีให้ดู',
16841730
1685 -'passwordtooshort' => 'รหัสผ่านไม่ถูกต้องหรือสั้นเกินไป โดยต้องมีอย่างน้อย $1 ตัวอักษรและแตกต่างจากชื่อผู้ใช้',
 1731+# Bad image list
 1732+'bad_image_list' => 'รูปแบบแสดงต่อไปนี้:
16861733
 1734+เฉพาะรายการที่แสดง (ในแถวขึ้นต้นด้วย *) โดยลิงก์แรกของแต่ละแถวเป็นลิงก์ไปยังภาพที่เสีย
 1735+โดยลิงก์ถัดไปเป็นข้อยกเว้น เช่น บทความที่ภาพถูกจัดในบรรทัดเดียวกับส่วนข้อความ',
 1736+
16871737 # Metadata
16881738 'metadata' => 'ข้อมูลแนบ',
16891739 'metadata-help' => 'ไฟล์นี้มีข้อมูลเพิ่มเติมแนบไว้ อาจจะมาจาก กล้องดิจิทัล สแกนเนอร์ หรือเครื่องรับส่งจีพีเอส อย่างไรก็ตามข้อมูลที่เก็บไว้อาจถูกดัดแปลงถ้าไฟล์ต้นฉบับถูกแก้ไขจากซอฟต์แวร์อื่น',
Index: branches/apiedit/phase3/languages/messages/MessagesZh_tw.php
@@ -372,12 +372,15 @@
373373 'viewsource' => '原始碼',
374374 'viewsourcefor' => '$1的原始碼',
375375 'protectedpagetext' => '該頁面已被鎖定以防止編輯。',
376 -'namespaceprotected' => "您並沒有權限去編輯在'''$1'''名字空間內的頁面。",
377376 'viewsourcetext' => '你可以檢視並複製本頁面的原始碼。',
378377 'protectedinterface' => '該頁提供了軟體的介面文字,它已被鎖定以防止隨意的修改。',
379378 'editinginterface' => "'''警告:''' 您正在編輯的頁面是用於提供軟體的介面文字。改變此頁將影響其他用戶的介面外觀。",
380379 'sqlhidden' => '(隱藏SQL查詢)',
381 -'cascadeprotected' => '這個頁面已經被保護,因為這個頁面被以下已標註"聯鎖保護"的{{PLURAL:$1|一個|多個}}被保護頁面包含:',
 380+'cascadeprotected' => "這個頁面已經被保護,因為這個頁面被以下已標註\"聯鎖保護\"的{{PLURAL:$1|一個|多個}}被保護頁面包含:
 381+$2",
 382+'namespaceprotected' => "您並沒有權限去編輯在'''$1'''名字空間內的頁面。",
 383+'customcssjsprotected' => '您並無許可權去編輯這個頁面,因為它包含了另一位用戶的個人設定。',
 384+'ns-specialprotected' => '在特殊名字空間中的頁面是不可以編輯的。',
382385
383386 # Login and logout pages
384387 'logouttitle' => '用戶退出',
@@ -431,6 +434,7 @@
432435 'nouserspecified' => '你需要指定一個用戶名。',
433436 'wrongpassword' => '您輸入的密碼錯誤,請再試一次。',
434437 'wrongpasswordempty' => '沒有輸入密碼!請重試。',
 438+'passwordtooshort' => '您的密碼不正確或太短,不能少於$1個字元,而且必須跟用戶名不同。',
435439 'mailmypassword' => '將新密碼寄給我',
436440 'passwordremindertitle' => '{{SITENAME}}密碼提醒',
437441 'passwordremindertext' => '有人(可能是您,來自IP位址$1)要求我們將新的{{SITENAME}} ($4) 的登入密碼寄給您。用戶"$2"的密碼現在是"$3"。請立即登入並更改密碼。如果是其他人發出了該請求,或者您已經記起了您的密碼並不準備改變它,您可以忽略此消息並繼續使用您的舊密碼。',
@@ -504,24 +508,28 @@
505509
506510 這次查封是由$1所封的。當中的原因是''$2''。
507511
508 -這次查封的到期時間是:$6<br />
509 -對於被查封者:$7
 512+* 這次查封的開始時間是:$8
 513+* 這次查封的到期時間是:$6
 514+* 對於被查封者:$7
510515
511516 你可以聯絡$1或者其他的[[{{MediaWiki:grouppage-sysop}}|管理員]],討論這次查封。
512517 除非你已經在你的[[Special:Preferences|帳號參數設置]]中設定了一個有效的電子郵件地址,否則你是不能使用「電郵這位用戶」的功能。當設定了一個有效的電子郵件地址後,這個功能是不會封鎖的。
513518
514 -你的IP地址是$3,而該查封ID是 #$5。 請你在所有查詢中註明這地址及/或查封ID。",
 519+你現時的IP地址是$3,而該查封ID是 #$5。 請你在所有查詢中註明這地址及/或查封ID。",
515520 'autoblockedtext' => "你的IP地址已經被自動查封,由於先前的另一位用戶被$1所查封。
516521 而查封的原因是:
517522
518523 :''$2''
519524
520 -這次查封的到期時間是:$6
 525+* 這次查封的開始時間是:$8
 526+* 這次查封的到期時間是:$6
521527
522528 你可以聯絡$1或者其他的[[{{MediaWiki:grouppage-sysop}}|管理員]],討論這次查封。
523529 除非你已經在你的[[Special:Preferences|帳號參數設置]]中設定了一個有效的電子郵件地址,否則你是不能使用「電郵這位用戶」的功能。當設定了一個有效的電子郵件地址後,這個功能是不會封鎖的。
524530
525 -您的查封ID是 $5。 請你在所有查詢中註明這個查封ID。",
 531+您的查封ID是 #$5。 請你在所有查詢中註明這個查封ID。",
 532+'blockedtext-concise' => '$7,是跟您的用戶名或IP地址相同,已經被$1查封。當中的原因是$2。這次查封的結束時間是$6。你可以聯絡$1或者其他的管理員,討論這次查封。除非你已經在你的帳號參數設置中設定了一個有效的電子郵件地址,否則你是不能使用「電郵這位用戶」的功能。當設定了一個有效的電子郵件地址後,這個功能是不會封鎖的。 您現時的IP地址是$3,而該查封ID是 #$5。 請您在所有查詢中註明這地址及/或查封ID。',
 533+'autoblockedtext-concise' => '您的IP地址之前被一位之前曾經查封過的用戶使用過。當中的查封是經由$1完成。原因是$2。這次查封的結束時間是$6。你可以聯絡$1或者其他的管理員,討論這次查封。除非你已經在你的帳號參數設置中設定了一個有效的電子郵件地址,否則你是不能使用「電郵這位用戶」的功能。當設定了一個有效的電子郵件地址後,這個功能是不會封鎖的。 您現時的IP地址是$3,而該查封ID是 #$5。 請您在所有查詢中註明這地址及/或查封ID。',
526534 'blockedoriginalsource' => "以下是'''$1'''的原始碼:",
527535 'blockededitsource' => "你對'''$1'''進行'''編輯'''的文字如下:",
528536 'whitelistedittitle' => '登入後才可編輯',
@@ -598,6 +606,9 @@
599607 'edittools' => '<!-- 此處的文字將被顯示在以下編輯和上傳表單中。 -->',
600608 'nocreatetitle' => '創建頁面受限',
601609 'nocreatetext' => '此網站限制了創建新頁面的功能。你可以返回並編輯已有的頁面,或者[[Special:Userlogin|登錄或創建新賬戶]]。',
 610+'nocreate-loggedin' => '您在這個wiki中並無許可權去創建新頁面。',
 611+'permissionserrors' => '權限錯誤',
 612+'permissionserrorstext' => '根據以下的{{PLURAL:$1|原因|原因}},您並無權限去做以下的動作:',
602613 'recreate-deleted-warn' => "'''警告: 你現在重新創建一個先前曾經刪除過的頁面。'''
603614
604615 你應該要考慮一下繼續編輯這一個頁面是否合適。
@@ -758,8 +769,8 @@
759770 'prefs-personal' => '用戶資料',
760771 'prefs-rc' => '最近更改',
761772 'prefs-watchlist' => '監視列表',
762 -'prefs-watchlist-days' => '監視列表中顯示記錄的天數:',
763 -'prefs-watchlist-edits' => '在增強的監視列表中顯示的編輯次數:',
 773+'prefs-watchlist-days' => '監視列表中顯示記錄的最長天數:',
 774+'prefs-watchlist-edits' => '在增強的監視列表中顯示的最多更改次數:',
764775 'prefs-misc' => '雜項',
765776 'saveprefs' => '保存參數設置',
766777 'resetprefs' => '重設參數',
@@ -982,11 +993,11 @@
983994 # File reversion
984995 'filerevert' => '恢復$1',
985996 'filerevert-legend' => '恢復檔案',
986 -'filerevert-intro' => "<span class=\"plainlinks\">您現正在恢復'''[[Media:$1|$1]]'''到[於$2 $3的$4版本]。</span>",
 997+'filerevert-intro' => '<span class="plainlinks">您現正在恢復\'\'\'[[Media:$1|$1]]\'\'\'到[於$2 $3的$4版本]。</span>',
987998 'filerevert-comment' => '註解:',
988999 'filerevert-defaultcomment' => '已經恢復到於$1 $2的版本',
9891000 'filerevert-submit' => '恢復',
990 -'filerevert-success' => "<span class=\"plainlinks\">'''[[Media:$1|$1]]'''已經恢復到[於$2 $3的$4版本]。</span>",
 1001+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已經恢復到[於$2 $3的$4版本]。</span>',
9911002 'filerevert-badversion' => '這個檔案所提供的時間截記並無先前的本地版本。',
9921003
9931004 # MIME search
@@ -1320,43 +1331,44 @@
13211332 'restriction-level-all' => '任何級別',
13221333
13231334 # Undelete
1324 -'undelete' => '恢復被刪頁面',
1325 -'undeletepage' => '瀏覽及恢復被刪頁面',
1326 -'viewdeletedpage' => '檢視被刪除的頁面',
1327 -'undeletepagetext' => '以下頁面已經被刪除,但依然在檔案中並可以被恢復。
 1335+'undelete' => '恢復被刪頁面',
 1336+'undeletepage' => '瀏覽及恢復被刪頁面',
 1337+'viewdeletedpage' => '檢視被刪除的頁面',
 1338+'undeletepagetext' => '以下頁面已經被刪除,但依然在檔案中並可以被恢復。
13281339 檔案庫可能被定時清理。',
1329 -'undeleteextrahelp' => "恢復整個頁面時,請清除所有複選框後按 '''''恢復''''' 。 恢復特定版本時,請選擇相應版本前的複選框後按'''''恢復''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
1330 -'undeleterevisions' => '$1版本存檔',
1331 -'undeletehistory' => '如果您恢復了該頁面,所有版本都會被恢復到修訂歷史中。
 1340+'undeleteextrahelp' => "恢復整個頁面時,請清除所有複選框後按 '''''恢復''''' 。 恢復特定版本時,請選擇相應版本前的複選框後按'''''恢復''''' 。按 '''''重設''''' 將清除評論內容及所有複選框。",
 1341+'undeleterevisions' => '$1版本存檔',
 1342+'undeletehistory' => '如果您恢復了該頁面,所有版本都會被恢復到修訂歷史中。
13321343 如果本頁刪除後有一個同名的新頁面建立,
13331344 被恢復的版本將會稱為較新的歷史,而新頁面的當前版本將無法被自動復原。',
1334 -'undeleterevdel' => '如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法恢復的。',
1335 -'undeletehistorynoadmin' => '這個文章已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻用戶等等
 1345+'undeleterevdel' => '如果把最新修訂部份刪除,反刪除便無法進行。如果遇到這種情況,您必須反選或反隱藏最新已刪除的修訂。對於您沒有權限去檢視的修訂是無法恢復的。',
 1346+'undeletehistorynoadmin' => '這個文章已經被刪除,刪除原因顯示在下方編輯摘要中。被刪除前的所有修訂版本,連同刪除前貢獻用戶等等
13361347 細節只有[[Wikipedia:管理員|管理員]]可以看見。',
1337 -'undelete-revision' => '刪除版本 $1 自 $2:',
1338 -'undeleterevision-missing' => '此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被恢復。',
1339 -'undeletebtn' => '恢復',
1340 -'undeletereset' => '重設',
1341 -'undeletecomment' => '原因',
1342 -'undeletedarticle' => '已經恢復「$1」',
1343 -'undeletedrevisions' => '$1個修訂版本已經恢復',
1344 -'undeletedrevisions-files' => '$1 個版本和 $2 個檔案被恢復',
1345 -'undeletedfiles' => '$1 個檔案被恢復',
1346 -'cannotundelete' => '恢復失敗;可能之前已經被其他人恢復。',
1347 -'undeletedpage' => "<big>'''$1已經被恢復'''</big> 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及恢復記錄。",
1348 -'undelete-header' => '如要查詢最近的記錄請參閱[[Special:Log/delete|刪除日誌]]。',
1349 -'undelete-search-box' => '搜尋已刪除頁面',
1350 -'undelete-search-prefix' => '顯示頁面自:',
1351 -'undelete-search-submit' => '搜尋',
1352 -'undelete-no-results' => '刪除記錄裡沒有符合的結果。',
1353 -'undelete-filename-mismatch' => '不能刪除帶有時間截記的檔案修訂 $1: 檔案不匹配',
1354 -'undelete-bad-store-key' => '不能刪除帶有時間截記的檔案修訂 $1: 檔案於刪除前遺失。',
1355 -'undelete-cleanup-error' => '刪除無用的存檔檔案 "$1" 時發生錯誤。',
1356 -'undelete-missing-filearchive' => '由於檔案存檔 ID $1 不在資料庫中,不能在檔案存檔中恢復。' .
1357 - '它可能已經反刪除了。',
1358 -'undelete-error-short' => '反刪除檔案時發生錯誤: $1',
1359 -'undelete-error-long' => "當進行反刪除檔案時遇到錯誤:\n\n$1",
 1348+'undelete-revision' => '刪除版本 $1 自 $2:',
 1349+'undeleterevision-missing' => '此版本的內容不正確或已經遺失。可能連結錯誤、被移除或已經被恢復。',
 1350+'undeletebtn' => '恢復',
 1351+'undeletereset' => '重設',
 1352+'undeletecomment' => '原因',
 1353+'undeletedarticle' => '已經恢復「$1」',
 1354+'undeletedrevisions' => '$1個修訂版本已經恢復',
 1355+'undeletedrevisions-files' => '$1 個版本和 $2 個檔案被恢復',
 1356+'undeletedfiles' => '$1 個檔案被恢復',
 1357+'cannotundelete' => '恢復失敗;可能之前已經被其他人恢復。',
 1358+'undeletedpage' => "<big>'''$1已經被恢復'''</big> 請參考[[Special:Log/delete|刪除日誌]]來查詢刪除及恢復記錄。",
 1359+'undelete-header' => '如要查詢最近的記錄請參閱[[Special:Log/delete|刪除日誌]]。',
 1360+'undelete-search-box' => '搜尋已刪除頁面',
 1361+'undelete-search-prefix' => '顯示頁面自:',
 1362+'undelete-search-submit' => '搜尋',
 1363+'undelete-no-results' => '刪除記錄裡沒有符合的結果。',
 1364+'undelete-filename-mismatch' => '不能刪除帶有時間截記的檔案修訂 $1: 檔案不匹配',
 1365+'undelete-bad-store-key' => '不能刪除帶有時間截記的檔案修訂 $1: 檔案於刪除前遺失。',
 1366+'undelete-cleanup-error' => '刪除無用的存檔檔案 "$1" 時發生錯誤。',
 1367+'undelete-missing-filearchive' => '由於檔案存檔 ID $1 不在資料庫中,不能在檔案存檔中恢復。它可能已經反刪除了。',
 1368+'undelete-error-short' => '反刪除檔案時發生錯誤: $1',
 1369+'undelete-error-long' => '當進行反刪除檔案時遇到錯誤:
13601370
 1371+$1',
 1372+
13611373 # Namespace form on various pages
13621374 'namespace' => '名字空間:',
13631375 'invert' => '反向選擇',
@@ -1522,6 +1534,7 @@
15231535 'movenologin' => '未登入',
15241536 'movenologintext' => '您必須是一名登記用戶並且[[Special:Userlogin|登入]]
15251537 後才可移動一個頁面。',
 1538+'movenotallowed' => '您在這個wiki中度並沒有許可權去移動頁面。',
15261539 'newtitle' => '新標題:',
15271540 'move-watch' => '監視此頁',
15281541 'movepagebtn' => '移動頁面',
@@ -1572,7 +1585,6 @@
15731586 'allmessagesdefault' => '預設的文字',
15741587 'allmessagescurrent' => '當前的文字',
15751588 'allmessagestext' => '這裡列出所有可定製的系統介面。',
1576 -'allmessagesnotsupportedUI' => 'Special:Allmessages不支援您目前使用的介面語言<b>$1</b>。',
15771589 'allmessagesnotsupportedDB' => '系統介面功能處於關閉狀態 (wgUseDatabaseMessages)。',
15781590 'allmessagesfilter' => '正則表達式過濾條件:',
15791591 'allmessagesmodified' => '僅顯示修改過的',
@@ -1748,13 +1760,15 @@
17491761 'patrol-log-diff' => 'r$1',
17501762
17511763 # Image deletion
1752 -'deletedrevision' => '已刪除舊版本$1。',
1753 -'filedeleteerror-short' => "刪除檔案發生錯誤: $1",
1754 -'filedeleteerror-long' => "當刪除檔案時遇到錯誤:\n\n$1",
1755 -'filedelete-missing' => '因為檔案 "$1" 不存在,所以它不可以刪除。',
1756 -'filedelete-old-unregistered' => '所指定的檔案修訂 "$1" 在資料庫中不存在。',
 1764+'deletedrevision' => '已刪除舊版本$1。',
 1765+'filedeleteerror-short' => '刪除檔案發生錯誤: $1',
 1766+'filedeleteerror-long' => '當刪除檔案時遇到錯誤:
 1767+
 1768+$1',
 1769+'filedelete-missing' => '因為檔案 "$1" 不存在,所以它不可以刪除。',
 1770+'filedelete-old-unregistered' => '所指定的檔案修訂 "$1" 在資料庫中不存在。',
17571771 'filedelete-current-unregistered' => '所指定的檔案 "$1" 在資料庫中不存在。',
1758 -'filedelete-archive-read-only' => '存檔目錄 "$1" 在網頁伺服器中不可寫。',
 1772+'filedelete-archive-read-only' => '存檔目錄 "$1" 在網頁伺服器中不可寫。',
17591773
17601774 # Browsing diffs
17611775 'previousdiff' => '←上一個',
@@ -1775,6 +1789,12 @@
17761790 'showhidebots' => '($1機器人)',
17771791 'noimages' => '無可檢視圖像。',
17781792
 1793+# Bad image list
 1794+'bad_image_list' => '請根據以下的格式去編寫:
 1795+
 1796+只有列示項目(以 * 開頭的項目)會被考慮。第一個連結一定要連接去壞圖像中。
 1797+然後在同一行的連結會考慮作例外,即是幅圖像可以在哪一篇文章中同時顯示。',
 1798+
17791799 /*
17801800 Short names for language variants used for language conversion links.
17811801 To disable showing a particular link, set it to 'disable', e.g.
@@ -1787,8 +1807,6 @@
17881808 'variantname-zh-sg' => '新加坡簡體',
17891809 'variantname-zh' => '不轉換',
17901810
1791 -'passwordtooshort' => '您的密碼不正確或太短,不能少於$1個字元,而且必須跟用戶名不同。',
1792 -
17931811 # Metadata
17941812 'metadata' => '元數據',
17951813 'metadata-help' => '此檔案中包含有擴展的訊息。這些訊息可能是由數位相機或掃描儀在創建或數字化過程中所添加的。
Index: branches/apiedit/phase3/languages/messages/MessagesZh_classical.php
@@ -365,10 +365,14 @@
366366 問語: $2',
367367 'viewsource' => '案碼',
368368 'viewsourcefor' => '$1',
369 -'namespaceprotected' => "舉凡'''$1'''者,爾無權耳,莫之能修。",
370369 'protectedinterface' => '此頁司版面,錮之以遠濫。',
371370 'editinginterface' => "'''警示:'''此頁司版面,一人易之眾人動,懇請戒慎之。",
372371 'sqlhidden' => '藏SQL問語',
 372+'cascadeprotected' => "這頁已錮,因註\"連環錮\"之{{PLURAL:$1|一|多}}頁有:
 373+$2",
 374+'namespaceprotected' => "舉凡'''$1'''者,爾無權耳,莫之能修。",
 375+'customcssjsprotected' => '爾無權耳,莫之能修,含他之喜好也。',
 376+'ns-specialprotected' => '非凡領域之頁無修也。',
373377
374378 # Login and logout pages
375379 'logouttitle' => '去簿',
@@ -418,6 +422,7 @@
419423 'nouserspecified' => '須簿名',
420424 'wrongpassword' => '符節不合,請核之。',
421425 'wrongpasswordempty' => '缺符節,請補之。',
 426+'passwordtooshort' => '符節過短,須逾$1字,且跟簿異。',
422427 'mailmypassword' => '遣吾符節',
423428 'passwordremindertitle' => '符節遣自{{SITENAME}}',
424429 'passwordremindertext' => '$1求遣{{SITENAME}}($4)"$2"符節於此,係"$3"。
@@ -473,11 +478,24 @@
474479
475480 禁者$1也,因''$2''故。
476481
477 -終止之時為:$6<br />
478 -見禁之人:$7
 482+* 始之時為:$8
 483+* 終之時為:$6
 484+* 見禁之人:$7
479485
480486 存惑可詢$1,或[[{{MediaWiki:grouppage-sysop}}|有秩]],[[Special:Preferences|簿註]]無驛則信不遣。
481 -另,子IP為$3,其簿名為#$5。詢時切附之。",
 487+另,子IP為$3,其禁號為#$5。詢時切附之。",
 488+'autoblockedtext' => "爾之IP或簿自禁,因簿先用,禁者$1也。
 489+因故:
 490+
 491+:\'\'$2\'\'
 492+
 493+* 始之時為:$8
 494+* 終之時為:$6
 495+
 496+存惑可詢$1,或[[{{MediaWiki:grouppage-sysop}}|有秩]],[[Special:Preferences|簿註]]無驛則信不遣。
 497+另,子禁號為#$5。詢時切附之。",
 498+'blockedtext-concise' => '$7,爾簿或IP同之,禁者$1也。因$2故。終之時為$6。存惑可詢$1,或有秩,簿註無驛則信不遣。另,子IP為$3,其禁號為#$5。詢時切附之。',
 499+'autoblockedtext-concise' => '爾之IP或簿自禁,因簿先用,禁者$1也。因$2故。終之時為$6。存惑可詢$1,或有秩,簿註無驛則信不遣。另,子IP為$3,其禁號為#$5。詢時切附之。',
482500 'blockedoriginalsource' => "'''$1'''本源如下:",
483501 'blockededitsource' => "子'''$1纂文'''如下:",
484502 'whitelistedittitle' => '登簿以纂',
@@ -541,7 +559,14 @@
542560 'templatesused' => '此文所用之模:',
543561 'nocreatetitle' => '新題見禁',
544562 'nocreatetext' => '新題見禁,惟舊可修。可赦之以[[Special:Userlogin|登簿、增簿]]。',
 563+'nocreate-loggedin' => '爾無權創新頁。',
 564+'permissionserrors' => '權錯',
 565+'permissionserrorstext' => '據下{{PLURAL:$1|因|因}},爾無權作動:',
 566+'recreate-deleted-warn' => "'''警:爾重創先前頁。'''
545567
 568+爾應慮適篡此頁。
 569+便,頁刪下供也:",
 570+
546571 # Account creation failure
547572 'cantcreateaccounttitle' => '新簿莫增',
548573 'cantcreateaccounttext' => '子之IP <b>$1</b> 疑嘗惡,故見封。',
@@ -650,8 +675,8 @@
651676 'prefs-personal' => '概簿',
652677 'prefs-rc' => '近易',
653678 'prefs-watchlist' => '哨站',
654 -'prefs-watchlist-days' => '哨報有日',
655 -'prefs-watchlist-edits' => '哨站有文',
 679+'prefs-watchlist-days' => '哨報有日長',
 680+'prefs-watchlist-edits' => '哨站有易多',
656681 'prefs-misc' => '雜',
657682 'saveprefs' => '儲',
658683 'resetprefs' => '重置',
@@ -802,11 +827,11 @@
803828 # File reversion
804829 'filerevert' => '還$1',
805830 'filerevert-legend' => '還檔',
806 -'filerevert-intro' => "<span class=\"plainlinks\">汝還'''[[Media:$1|$1]]'''至[在$2$3之$4版本]。</span>",
 831+'filerevert-intro' => '<span class="plainlinks">汝還\'\'\'[[Media:$1|$1]]\'\'\'至[在$2$3之$4版本]。</span>',
807832 'filerevert-comment' => '注:',
808833 'filerevert-defaultcomment' => '已還至在$1$2之版矣',
809834 'filerevert-submit' => '還',
810 -'filerevert-success' => "<span class=\"plainlinks\">'''[[Media:$1|$1]]'''已還[在$2$3之$4版本]矣。</span>",
 835+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\'已還[在$2$3之$4版本]矣。</span>',
811836 'filerevert-badversion' => '此檔之時印無本地之前版也。',
812837
813838 # Unwatched pages
@@ -1009,28 +1034,30 @@
10101035 'restriction-move' => '遷',
10111036
10121037 # Undelete
1013 -'undelete' => '覽已刪',
1014 -'undeletepage' => '覽已刪並還之',
1015 -'viewdeletedpage' => '覽已刪',
1016 -'undeletepagetext' => '列已刪如下。有複存可還之,常清。',
1017 -'undeleterevisions' => '有審$1',
1018 -'undeletebtn' => '還',
1019 -'undeletereset' => '重置',
1020 -'undeletecomment' => '贊:',
1021 -'undeletedarticle' => '"[[$1]]"還矣',
1022 -'undeletedrevisions' => '$1審還矣',
1023 -'undeletedrevisions-files' => '$1審$2檔還矣',
1024 -'undeletedfiles' => '$1檔還矣',
1025 -'cannotundelete' => '無以還檔,或早復矣。',
1026 -'undeletedpage' => "<big>'''$1還矣'''</big>
 1038+'undelete' => '覽已刪',
 1039+'undeletepage' => '覽已刪並還之',
 1040+'viewdeletedpage' => '覽已刪',
 1041+'undeletepagetext' => '列已刪如下。有複存可還之,常清。',
 1042+'undeleterevisions' => '有審$1',
 1043+'undeletebtn' => '還',
 1044+'undeletereset' => '重置',
 1045+'undeletecomment' => '贊:',
 1046+'undeletedarticle' => '"[[$1]]"還矣',
 1047+'undeletedrevisions' => '$1審還矣',
 1048+'undeletedrevisions-files' => '$1審$2檔還矣',
 1049+'undeletedfiles' => '$1檔還矣',
 1050+'cannotundelete' => '無以還檔,或早復矣。',
 1051+'undeletedpage' => "<big>'''$1還矣'''</big>
10271052 見[[Special:Log/delete|刪還誌]]",
1028 -'undelete-filename-mismatch' => '欲復之檔名有誤,故無以復$1',
1029 -'undelete-bad-store-key' => '$1之檔,蓋本無之,故無之復也。',
1030 -'undelete-cleanup-error' => '"$1"存檔,蓋被誤刪耳。',
 1053+'undelete-filename-mismatch' => '欲復之檔名有誤,故無以復$1',
 1054+'undelete-bad-store-key' => '$1之檔,蓋本無之,故無之復也。',
 1055+'undelete-cleanup-error' => '"$1"存檔,蓋被誤刪耳。',
10311056 'undelete-missing-filearchive' => '$1者,無以復,蓋或已復矣。',
1032 -'undelete-error-short' => '欲復檔時,見誤也:$1',
1033 -'undelete-error-long' => "夫復檔時,見誤耳:\n\n$1",
 1057+'undelete-error-short' => '欲復檔時,見誤也:$1',
 1058+'undelete-error-long' => '夫復檔時,見誤耳:
10341059
 1060+$1',
 1061+
10351062 # Namespace form on various pages
10361063 'namespace' => '名集:',
10371064 'invert' => '逆擇',
@@ -1127,6 +1154,7 @@
11281155 'movearticle' => '遷此文:',
11291156 'movenologin' => '未登簿',
11301157 'movenologintext' => '遷文須[[Special:Userlogin|登簿]]。',
 1158+'movenotallowed' => '爾無遷頁之權也。',
11311159 'newtitle' => '至新題:',
11321160 'move-watch' => '哨',
11331161 'movepagebtn' => '遷此頁',
@@ -1214,13 +1242,15 @@
12151243 'markedaspatrollederrortext' => '揀之方可哨',
12161244
12171245 # Image deletion
1218 -'deletedrevision' => '刪舊審$1。',
1219 -'filedeleteerror-short' => "去檔時,見誤耳:$1",
1220 -'filedeleteerror-long' => "刪檔時,見誤耳:\n\n$1",
1221 -'filedelete-missing' => '"$1"無以復,蓋因本無之。',
1222 -'filedelete-old-unregistered' => '古檔 "$1" 者,資料庫所無也。',
 1246+'deletedrevision' => '刪舊審$1。',
 1247+'filedeleteerror-short' => '去檔時,見誤耳:$1',
 1248+'filedeleteerror-long' => '刪檔時,見誤耳:
 1249+
 1250+$1',
 1251+'filedelete-missing' => '"$1"無以復,蓋因本無之。',
 1252+'filedelete-old-unregistered' => '古檔 "$1" 者,資料庫所無也。',
12231253 'filedelete-current-unregistered' => '"$1" 者,資料庫所無也。',
1224 -'filedelete-archive-read-only' => '"$1"之目,莫之能書。',
 1254+'filedelete-archive-read-only' => '"$1"之目,莫之能書。',
12251255
12261256 # Browsing diffs
12271257 'previousdiff' => '前辨',
@@ -1233,10 +1263,14 @@
12341264 'showhidebots' => '($1僕)',
12351265 'noimages' => '無',
12361266
1237 -'passwordtooshort' => '符節過短,須逾$1字。',
 1267+# Bad image list
 1268+'bad_image_list' => '根式篡:
12381269
 1270+列示項(以 * 始)以慮也。首鏈必連壞圖也。
 1271+然,同行之鏈慮作例外,即圖可於文中示也。',
 1272+
12391273 # Metadata
1240 -'metadata' => '衍義',
 1274+'metadata' => '衍義',
12411275 'metadata-help' => '斯檔也,所有之訊,蓋由數碼相機、掃描器之物所加,以數碼之。
12421276
12431277 倘嘗易之,衍義之果,或有異也。',
@@ -1284,17 +1318,15 @@
12851319
12861320 # Scary transclusion
12871321 'scarytranscludedisabled' => '[蓋跨共筆之轉碼者,莫之能用也]',
1288 -'scarytranscludefailed' => '[歉哉,$1模不得]',
1289 -'scarytranscludetoolong' => '[歉哉,網址過長]',
 1322+'scarytranscludefailed' => '[歉哉,$1模不得]',
 1323+'scarytranscludetoolong' => '[歉哉,網址過長]',
12901324
12911325 # Trackbacks
1292 -'trackbackremove' => ' ([$1刪])',
1293 -
1294 -# Trackbacks
12951326 'trackbackbox' => '<div id="mw_trackbacks">
12961327 此文之引:<br />
12971328 $1
12981329 </div>',
 1330+'trackbackremove' => ' ([$1刪])',
12991331 'trackbacklink' => '迴響',
13001332 'trackbackdeleteok' => 'Trackback 刪矣。',
13011333
@@ -1324,11 +1356,11 @@
13251357 'loginlanguagelabel' => '語:$1',
13261358
13271359 # Multipage image navigation
1328 -'imgmultipageprev' => '←前頁',
1329 -'imgmultipagenext' => '次頁→',
1330 -'imgmultigo' => '往',
1331 -'imgmultigotopre' => '往第',
1332 -'imgmultigotopost' => '頁',
 1360+'imgmultipageprev' => '←前頁',
 1361+'imgmultipagenext' => '次頁→',
 1362+'imgmultigo' => '往',
 1363+'imgmultigotopre' => '往第',
 1364+'imgmultigotopost' => '頁',
13331365 'imgmultiparseerror' => '斯圖也,類毀矣,故{{SITENAME}}無以得其表。',
13341366
13351367 # Table pager
@@ -1394,4 +1426,3 @@
13951427
13961428 );
13971429
1398 -
Index: branches/apiedit/phase3/languages/messages/MessagesKk_tr.php
@@ -818,8 +818,9 @@
819819
820820 Buğattawdı $1 istegen. Keltirilgen sebebi: ''$2''.
821821
822 -Buğattaw bitetin mezgili: $6<br />
823 -Maqsattalğan merzimi: $7
 822+* Buğattaw bastalğanı: $8
 823+* Buğattaw bitetini: $6
 824+* Buğattaw maqsatı: $7
824825
825826 Osı buğattawdı talqılaw üşin $1 degenmen, ne basqa [[{{{{ns:mediawiki}}:grouppage-sysop}}|äkimşimen]] qatınaswıñızğa boladı.
826827 [[{{ns:special}}:Preferences|Tirkelgi baptawların]] qoldanıp jaramdı e-poşta jaýın engizgenşe deýin jäne bunı paýdalanwı
@@ -830,7 +831,8 @@
831832
832833 :''$2''
833834
834 -Buğattaw bitetin mezgili: $6
 835+* Buğattaw bastalğanı: $8
 836+* Buğattaw bitetini: $6
835837
836838 Osı buğattawdı talqılaw üşin $1 degenmen,
837839 ne basqa [[{{{{ns:mediawiki}}:grouppage-sysop}}|äkimşimen]] qatınaswıñızğa boladı.
@@ -1103,8 +1105,8 @@
11041106 'prefs-personal' => 'Jeke derekteri',
11051107 'prefs-rc' => 'Jwıqtağı özgerister',
11061108 'prefs-watchlist' => 'Baqılaw',
1107 -'prefs-watchlist-days' => 'Baqılaw tiziminde körseterin kün sanı:',
1108 -'prefs-watchlist-edits' => 'Keñeýtilgen baqılaw tizimi tüzetw körseterin sanı:',
 1109+'prefs-watchlist-days' => 'Baqılaw tiziminde körseterin eñ köp künderi:',
 1110+'prefs-watchlist-edits' => 'Keñeýtilgen baqılaw tiziminde körseterin eñ köp tüzetwleri:',
11091111 'prefs-misc' => 'Qosımşa',
11101112 'saveprefs' => 'Saqta',
11111113 'resetprefs' => 'Tasta',
@@ -1325,11 +1327,11 @@
13261328 # File reversion
13271329 'filerevert' => '$1 degendi qaýtarw',
13281330 'filerevert-legend' => 'Faýldı qaýtarw',
1329 -'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degendi [$2 kezindegi $3 nusqasına] qaýtardıñız.</span>',
 1331+'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degendi [$4, $2 kezindegi $3 nusqasına] qaýtardıñız.</span>',
13301332 'filerevert-comment' => 'Mändemesi:',
1331 -'filerevert-defaultcomment' => '$1 kezindegi nusqasına qaýtardı',
 1333+'filerevert-defaultcomment' => '$1, $2 kezindegi nusqasına qaýtardı',
13321334 'filerevert-submit' => 'Qaýtarw',
1333 -'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degen [$2 kezindegi $3 nusqasına] qaýtarıldı.</span>',
 1335+'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' degen [$4, $2 kezindegi $3 nusqasına] qaýtarıldı.</span>',
13341336 'filerevert-badversion' => 'Keltirilgen waqıt belgisimen bul faýldıñ aldıñğı jergilikti nusqası joq.',
13351337
13361338 # MIME search
@@ -1481,6 +1483,7 @@
14821484 'allpagessubmit' => 'Ötw',
14831485 'allpagesprefix' => 'Mınadan bastalğan betterdi körsetw:',
14841486 'allpagesbadtitle' => 'Alınğan bet atawı jaramsız bolğan, nemese til-aralıq ne wïkï-aralıq bastawı bar boldı. Atawda qoldanwğa bolmaýtın nışandar bolwı mümkin.',
 1487+'allpages-bad-ns' => '{{SITENAME}} jobasında «$1» esim ayası joq.',
14851488
14861489 # Special:Listusers
14871490 'listusersfrom' => 'Mına qatıswşıdan bastap körsetw:',
@@ -2220,6 +2223,12 @@
22212224 'showhidebots' => '(bottardı $1)',
22222225 'noimages' => 'Köretin eşteñe joq.',
22232226
 2227+# Bad image list
 2228+'bad_image_list' => 'Pişimi tömendegideý:
 2229+
 2230+Tek tizim danaları (* nışanımen bastalıtın joldar) esepteledi. Joldıñ birinşi siltemesi jaramsız swretke siltew qajet.
 2231+Sol joldağı keýingi ärbir siltemeler eren bolıp esepteledi, mısalı jol işindegi kezdesetin swreti bar maqalalar.',
 2232+
22242233 # Variants for Kazakh language
22252234 'variantname-kk-tr' => 'Latın',
22262235 'variantname-kk-kz' => 'Кирил',
Index: branches/apiedit/phase3/languages/messages/MessagesFr.php
@@ -160,6 +160,7 @@
161161 'category_header' => 'Pages dans la catégorie « $1 »',
162162 'subcategories' => 'Sous-catégories',
163163 'category-media-header' => 'Fichiers multimédia dans la catégorie « $1 »',
 164+'category-empty' => "''Cette catégorie ne contient aucun article, sous-catégorie ou fichier multimédia.''",
164165
165166 'mainpagetext' => "<big>'''MediaWiki a été installé avec succès.'''</big>",
166167 'mainpagedocfooter' => 'Consultez le [http://meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] pour plus d’informations sur l’utilisation de ce logiciel.
@@ -184,7 +185,6 @@
185186 'moredotdotdot' => 'Et plus...',
186187 'mypage' => 'Page perso',
187188 'mytalk' => 'Page de discussion',
188 -'mywatchlist' => 'Liste de suivi',
189189 'anontalk' => 'Discussion avec cette adresse IP',
190190 'navigation' => 'Navigation',
191191
@@ -340,10 +340,13 @@
341341 Veuillez rapporter cette erreur à un administrateur, en lui indiquant l’adresse de la page fautive.',
342342 'readonly_lag' => 'La base de donnée a été automatiquement verrouillée pendant que les serveurs secondaires rattrapent leur retard sur le serveur principal.',
343343 'internalerror' => 'Erreur interne',
 344+'internalerror_info' => 'Erreur interne : $1',
344345 'filecopyerror' => 'Impossible de copier le fichier « $1 » vers « $2 ».',
345346 'filerenameerror' => 'Impossible de renommer le fichier « $1 » en « $2 ».',
346347 'filedeleteerror' => 'Impossible de supprimer le fichier « $1 ».',
 348+'directorycreateerror' => 'Impossible de créer le dossier « $1 ».',
347349 'filenotfound' => 'Impossible de trouver le fichier « $1 ».',
 350+'fileexistserror' => 'Impossible d’écrire dans le dossier « $1 » : le fichier existe',
348351 'unexpected' => 'Valeur inattendue : « $1 » = « $2 ».',
349352 'formerror' => 'Erreur : Impossible de soumettre le formulaire',
350353 'badarticleerror' => 'Cette action ne peut pas être effectuée sur cette page.',
@@ -364,8 +367,11 @@
365368 'protectedinterface' => 'Cette page fournit du texte d’interface pour le logiciel et est protégée pour éviter les abus.',
366369 'editinginterface' => "'''Attention :''' vous éditez une page utilisée pour créer le texte de l’interface du logiciel. Les changements se répercuteront, selon le contexte, sur toutes ou certaines pages visibles par les autres utilisateurs.",
367370 'sqlhidden' => '(Requête SQL cachée)',
368 -'cascadeprotected' => 'Cette page est actuellement protégée car incluse dans {{PLURAL:$1|la page suivante|les pages suivantes}}, ayant été protégée avec l’option « protection en cascade » activée :',
369 -'namespaceprotected' => "Vous n’avez pas la permission de modifier les pages de l’espace de noms « '''$1''' ».",
 371+'cascadeprotected' => 'Cette page est actuellement protégée car incluse dans {{PLURAL:$1|la page suivante|les pages suivantes}}, ayant été protégée avec l’option « protection en cascade » activée :
 372+$2',
 373+'namespaceprotected' => "Vous n’avez pas la permission de modifier les pages de l’espace de noms « '''$1''' ».",
 374+'customcssjsprotected' => "Vous n’avez pas la permission d'éditer cette page parce qu’elle contient des préférences d’autres utilisateurs.",
 375+'ns-specialprotected' => 'Les pages dans l’espace de noms spécial ne peuvent pas être modifiées.',
370376
371377 # Login and logout pages
372378 'logouttitle' => 'Déconnexion',
@@ -421,6 +427,7 @@
422428 'nouserspecified' => 'Vous devez saisir un nom d’utilisateur.',
423429 'wrongpassword' => 'Le mot de passe est incorrect. Veuillez essayer à nouveau.',
424430 'wrongpasswordempty' => 'Vous n’avez pas entré de mot de passe. Veuillez essayer à nouveau.',
 431+'passwordtooshort' => 'Votre mot de passe est trop court. Il doit contenir au moins $1 caractères et être différent de votre nom d’utilisateur.',
425432 'mailmypassword' => 'Envoyez-moi un nouveau mot de passe',
426433 'passwordremindertitle' => 'Votre nouveau mot de passe sur {{SITENAME}}',
427434 'passwordremindertext' => 'Quelqu’un (probablement vous) ayant l’adresse IP $1 a demandé à ce qu’un nouveau mot de passe vous soit envoyé pour {{SITENAME}} ($4).
@@ -499,20 +506,33 @@
500507 Le blocage a été effectué par $1 pour la raison suivante : ''$2''.
501508
502509 Vous pouvez contacter $1 ou un autre [[{{MediaWiki:grouppage-sysop}}|administrateur]] pour en discuter. Vous ne pouvez utiliser la fonction « Envoyer un courriel à cet utilisateur » que si une adresse de courriel valide est spécifiée dans vos [[Special:Preferences|préférences]]. Votre adresse IP actuelle est $3 et votre identifiant de blocage est #$5. Veuillez inclure cette adresse dans toute requête.
503 -:Expiration du blocage : $6
504 -:Compte bloqué : $7.",
 510+* Début du blocage : $8
 511+* Expiration du blocage : $6
 512+* Compte bloqué : $7.",
505513 'autoblockedtext' => "Votre adresse IP a été bloquée automatiquement car elle a été utilisée par un autre utilisateur, lui-même bloqué par $1.
506514 La raison donnée est :
507515
508516 :''$2''
509517
510 -Expiration du blocage : $6
 518+* Début du blocage : $8
 519+* Expiration du blocage : $6
511520
512521 Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.
513522
514 -Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]], vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
 523+Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]] et que son utilisation ne vous est pas interdite, vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
515524
516 -Votre identifiant de blocage est $5. Veuillez le préciser dans toute requête.",
 525+Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête.",
 526+'blockedtext-concise' => '$7, qui correspond à votre nom d’utilisateur ou adresse IP a été bloqué par $1. La raison était $2. La date d’expiration du blocage est $6. Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.
 527+
 528+Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]] et que son utilisation ne vous est pas interdite, vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
 529+
 530+Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête',
 531+'autoblockedtext-concise' => 'Votre adresse IP a récemment été utilisée par un utilisateur bloqué. Le blocage a été effectué par $1. La raison était $2. La date d’expiration du blocage était $6.
 532+Vous pouvez contacter $1 ou l’un des autres [[{{MediaWiki:grouppage-sysop}}|administrateurs]] pour discuter de ce blocage.
 533+
 534+Si vous avez donné une adresse e-mail valide dans vos [[Special:Preferences|préférences]] et que son utilisation ne vous est pas interdite, vous pouvez utiliser la fonction « Envoyer un message à cet utilisateur » pour contacter un administrateur.
 535+
 536+Votre adresse IP est $3 et identifiant de blocage est #$5. Veuillez les préciser dans toute requête',
517537 'blockedoriginalsource' => "Le code source de '''$1''' est indiqué ci-dessous :",
518538 'blockededitsource' => "Le contenu de '''vos modifications''' apportées à '''$1''' est indiqué ci-dessous :",
519539 'whitelistedittitle' => 'Enregistrement nécessaire pour modifier le contenu',
@@ -585,6 +605,9 @@
586606 'edittools' => '<!-- Tout texte entré ici sera affiché sous les boîtes de modification ou d’import de fichier. -->',
587607 'nocreatetitle' => 'Création de page limitée',
588608 'nocreatetext' => 'Ce site a restreint la possibilité de créer de nouvelles pages. Vous pouvez revenir en arrière et modifier une page existante, [[Special:Userlogin|vous connecter ou créer un compte]].',
 609+'nocreate-loggedin' => 'Vous n’avez pas la permission de créer de nouvelles pages sur ce wiki.',
 610+'permissionserrors' => 'Erreur de permissions',
 611+'permissionserrorstext' => 'Vous n’avez pas la permission d’effectuer l’opération demandée pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :',
589612 'recreate-deleted-warn' => "'''Attention : Vous êtes en train de recréer une page qui a été précédemment supprimée.'''
590613
591614 Demandez-vous s’il est réellement approprié de la recréer en vous référant au journal des suppressions affiché ci-dessous :",
@@ -766,15 +789,15 @@
767790 'files' => 'Fichiers',
768791
769792 # User rights
770 -'userrights-lookup-user' => 'Gestion des droits utilisateur',
771 -'userrights-user-editname' => 'Entrer un nom d’utilisateur :',
772 -'editusergroup' => 'Modification des groupes utilisateurs',
773 -'userrights-editusergroup' => 'Modifier les groupes de l’utilisateur',
774 -'saveusergroups' => 'Sauvegarder les groupes utilisateur',
775 -'userrights-groupsmember' => 'Membre de :',
776 -'userrights-groupsavailable' => 'Groupes disponibles :',
777 -'userrights-groupshelp' => 'Choisissez les groupes desquels vous voulez retirer ou rajouter l’utilisateur. Les groupes non sélectionnés ne seront pas modifiés. Vous pouvez désélectionner un groupe avec CTRL + clic gauche.',
778 -'userrights-reason' => 'Motif du changement :',
 793+'userrights-lookup-user' => 'Gestion des droits utilisateur',
 794+'userrights-user-editname' => 'Entrer un nom d’utilisateur :',
 795+'editusergroup' => 'Modification des groupes utilisateurs',
 796+'userrights-editusergroup' => 'Modifier les groupes de l’utilisateur',
 797+'saveusergroups' => 'Sauvegarder les groupes utilisateur',
 798+'userrights-groupsmember' => 'Membre de :',
 799+'userrights-groupsavailable' => 'Groupes disponibles :',
 800+'userrights-groupshelp' => 'Choisissez les groupes desquels vous voulez retirer ou rajouter l’utilisateur. Les groupes non sélectionnés ne seront pas modifiés. Vous pouvez désélectionner un groupe avec CTRL + clic gauche.',
 801+'userrights-reason' => 'Motif du changement :',
779802 'userrights-available-none' => 'Vous ne pouvez pas changer l’appartenance aux différents groupes.',
780803 'userrights-available-add' => 'Vous pouvez ajouter des utilisateurs à $1.',
781804 'userrights-available-remove' => 'Vous pouvez enlever des utilisateurs de $1.',
@@ -909,6 +932,7 @@
910933
911934 'license' => 'Licence',
912935 'nolicense' => 'Aucune licence sélectionnée',
 936+'license-nopreview' => '(Prévisualisation impossible)',
913937 'upload_source_url' => ' (une URL valide et accessible publiquement)',
914938 'upload_source_file' => ' (un fichier sur votre ordinateur)',
915939
@@ -925,14 +949,17 @@
926950 'imgdelete' => 'suppr',
927951 'imgdesc' => 'page de l’image',
928952 'imgfile' => 'fichier',
929 -'imglegend' => 'Légende : (page de l’image) = afficher/modifier la description de l’image.',
930 -'imghistory' => 'Historique de l’image',
931 -'revertimg' => 'rétab',
932 -'deleteimg' => 'suppr',
933 -'deleteimgcompletely' => 'suppr',
934 -'imghistlegend' => 'Légende : (actu) = ceci est l’image actuelle, (suppr) = supprimer
935 -cette ancienne version, (rétab) = rétablir cette ancienne version.
936 -<br /><i>Cliquez sur la date pour voir l’image copiée à cette date</i>.',
 953+'filehist' => 'Historique du fichier',
 954+'filehist-help' => "Cliquer sur une date et une heure pour voir le fichier tel qu'il était à ce moment-l",
 955+'filehist-deleteall' => 'tout supprimer',
 956+'filehist-deleteone' => 'supprimer ceci',
 957+'filehist-revert' => 'révoquer',
 958+'filehist-current' => 'actuel',
 959+'filehist-datetime' => 'Date et heure',
 960+'filehist-user' => 'Utilisateur',
 961+'filehist-dimensions' => 'Dimensions',
 962+'filehist-filesize' => 'Taille du fichier',
 963+'filehist-comment' => 'Commentaire',
937964 'imagelinks' => 'Pages contenant l’image',
938965 'linkstoimage' => 'Les pages ci-dessous contiennent cette image :',
939966 'nolinkstoimage' => 'Aucune page ne contient cette image.',
@@ -949,11 +976,21 @@
950977 'imagelist_description' => 'Description',
951978 'imagelist_search_for' => 'Recherche pour l’image nommée :',
952979
 980+# File reversion
 981+'filerevert' => 'Révoquer $1',
 982+'filerevert-legend' => 'Révoquer le fichier',
 983+'filerevert-intro' => '<span class="plainlinks">Vous allez révoquer \'\'\'[[Media:$1|$1]]\'\'\' jusqu\'à [$4 la version du $2 à $3].</span>',
 984+'filerevert-comment' => 'Comment:',
 985+'filerevert-defaultcomment' => 'Révoqué jusqu’à la version du $1 à $2',
 986+'filerevert-submit' => 'Révoquer',
 987+'filerevert-success' => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' a été révoqué jusqu\'à [$4 la version du $2 à $3].</span>',
 988+'filerevert-badversion' => "Il n'y a pas de version plus ancienne du fichier avec le Timestamp donné.",
 989+
953990 # MIME search
954 -'mimesearch' => 'Recherche par type MIME',
 991+'mimesearch' => 'Recherche par type MIME',
955992 'mimesearch-summary' => 'Cette page spéciale permet de chercher des fichiers en fonction de leur type MIME. Entrée : type/sous-type, par exemple <tt>image/jpeg</tt>.',
956 -'mimetype' => 'Type MIME :',
957 -'download' => 'Téléchargement',
 993+'mimetype' => 'Type MIME :',
 994+'download' => 'Téléchargement',
958995
959996 # Unwatched pages
960997 'unwatchedpages' => 'Pages non suivies',
@@ -967,7 +1004,7 @@
9681005 'unusedtemplateswlh' => 'autres liens',
9691006
9701007 # Random redirect
971 -'randomredirect' => 'Une page de redirection au hasard',
 1008+'randomredirect' => 'Une page de redirection au hasard',
9721009 'randomredirect-nopages' => 'Il n’y a aucune page de redirection dans cet espace de nom.',
9731010
9741011 # Statistics
@@ -1001,7 +1038,7 @@
10021039 'brokenredirects-edit' => '(modifier)',
10031040 'brokenredirects-delete' => '(supprimer)',
10041041
1005 -'withoutinterwiki' => 'Pages sans liens interlangues',
 1042+'withoutinterwiki' => 'Pages sans liens interlangues',
10061043 'withoutinterwiki-header' => 'Les pages suivantes ne possèdent pas de liens vers d’autres langues :',
10071044
10081045 'fewestrevisions' => 'Articles les moins modifiés',
@@ -1034,7 +1071,7 @@
10351072 'allpages' => 'Toutes les pages',
10361073 'prefixindex' => 'Toutes les pages par premières lettres',
10371074 'randompage' => 'Une page au hasard',
1038 -'randompage-nopages' => 'Il n’y a pas de pages dans cet espace de nom.',
 1075+'randompage-nopages' => 'Il n’y a pas de pages dans cet espace de nom.',
10391076 'shortpages' => 'Pages courtes',
10401077 'longpages' => 'Pages longues',
10411078 'deadendpages' => 'Pages en impasse',
@@ -1126,6 +1163,7 @@
11271164
11281165 # Watchlist
11291166 'watchlist' => 'Liste de suivi',
 1167+'mywatchlist' => 'Liste de suivi',
11301168 'watchlistfor' => "(pour l’utilisateur '''$1''')",
11311169 'nowatchlist' => 'Votre liste de suivi ne contient aucun article.',
11321170 'watchlistanontext' => 'Pour pouvoir afficher ou éditer les éléments de votre liste de suivi, vous devez vous $1.',
@@ -1164,17 +1202,17 @@
11651203 'watching' => 'Suivi...',
11661204 'unwatching' => 'Fin du suivi...',
11671205
1168 -'enotif_mailer' => 'Système d’expédition de notification de {{SITENAME}}',
1169 -'enotif_reset' => 'Marquer toutes les pages comme visitées',
1170 -'enotif_newpagetext' => 'Ceci est une nouvelle page.',
1171 -'enotif_impersonal_salutation' => 'Utilisateur de {{SITENAME}}',
1172 -'changed' => 'modifiée',
1173 -'created' => 'créée',
1174 -'enotif_subject' => 'La page $PAGETITLE de {{SITENAME}} a été $CHANGEDORCREATED par $PAGEEDITOR',
1175 -'enotif_lastvisited' => 'Consultez $1 pour tous les changements depuis votre dernière visite.',
1176 -'enotif_lastdiff' => 'Consultez $1 pour voir cette modification.',
1177 -'enotif_anon_editor' => 'utilisateur non-enregistré $1',
1178 -'enotif_body' => 'Cher $WATCHINGUSERNAME,
 1206+'enotif_mailer' => 'Système d’expédition de notification de {{SITENAME}}',
 1207+'enotif_reset' => 'Marquer toutes les pages comme visitées',
 1208+'enotif_newpagetext' => 'Ceci est une nouvelle page.',
 1209+'enotif_impersonal_salutation' => 'Utilisateur de {{SITENAME}}',
 1210+'changed' => 'modifiée',
 1211+'created' => 'créée',
 1212+'enotif_subject' => 'La page $PAGETITLE de {{SITENAME}} a été $CHANGEDORCREATED par $PAGEEDITOR',
 1213+'enotif_lastvisited' => 'Consultez $1 pour tous les changements depuis votre dernière visite.',
 1214+'enotif_lastdiff' => 'Consultez $1 pour voir cette modification.',
 1215+'enotif_anon_editor' => 'utilisateur non-enregistré $1',
 1216+'enotif_body' => 'Cher $WATCHINGUSERNAME,
11791217
11801218 la page de {{SITENAME}} $PAGETITLE a été $CHANGEDORCREATED le $PAGEEDITDATE par $PAGEEDITOR, voyez $PAGETITLE_URL pour la version actuelle.
11811219
@@ -1218,7 +1256,6 @@
12191257 'deletionlog' => 'journal',
12201258 'reverted' => 'Rétablissement de la version précédente',
12211259 'deletecomment' => 'Motif de la suppression',
1222 -'imagereverted' => 'La version précédente a été rétablie.',
12231260 'rollback' => 'révoquer modifications',
12241261 'rollback_short' => 'Révoquer',
12251262 'rollbacklink' => 'révoquer',
@@ -1273,37 +1310,45 @@
12741311 'restriction-level-all' => 'Tous',
12751312
12761313 # Undelete
1277 -'undelete' => 'Voir les pages supprimées',
1278 -'undeletepage' => 'Voir et restaurer la page supprimée',
1279 -'viewdeletedpage' => 'Historique de la page supprimée',
1280 -'undeletepagetext' => 'Ces pages ont été supprimées et se trouvent dans l’archive, elles sont toujours dans la base de données et peuvent être restaurées.
 1314+'undelete' => 'Voir les pages supprimées',
 1315+'undeletepage' => 'Voir et restaurer la page supprimée',
 1316+'viewdeletedpage' => 'Historique de la page supprimée',
 1317+'undeletepagetext' => 'Ces pages ont été supprimées et se trouvent dans l’archive, elles sont toujours dans la base de données et peuvent être restaurées.
12811318 L’archive peut être effacée périodiquement.',
1282 -'undeleteextrahelp' => "Pour restaurer toutes les versions de cette page, laissez vierges toutes les cases à cocher, puis cliquez sur '''''Procéder à la restauration'''''.<br />Pour procéder à une restauration sélective, cochez les cases correspondant aux versions qui sont à restaurer, puis cliquez sur '''''Procéder à la restauration'''''.<br />En cliquant sur le bouton '''''Réinitialiser''''', la boîte de résumé et les cases cochées seront remises à zéro.",
1283 -'undeleterevisions' => '$1 {{PLURAL:$1|révision archivée|révisions archivées}}',
1284 -'undeletehistory' => 'Si vous restaurez la page, toutes les révisions seront restaurées dans l’historique.
 1319+'undeleteextrahelp' => "Pour restaurer toutes les versions de cette page, laissez vierges toutes les cases à cocher, puis cliquez sur '''''Procéder à la restauration'''''.<br />Pour procéder à une restauration sélective, cochez les cases correspondant aux versions qui sont à restaurer, puis cliquez sur '''''Procéder à la restauration'''''.<br />En cliquant sur le bouton '''''Réinitialiser''''', la boîte de résumé et les cases cochées seront remises à zéro.",
 1320+'undeleterevisions' => '$1 {{PLURAL:$1|révision archivée|révisions archivées}}',
 1321+'undeletehistory' => 'Si vous restaurez la page, toutes les révisions seront restaurées dans l’historique.
12851322
12861323 Si une nouvelle page avec le même nom a été créée depuis la suppression, les révisions restaurées apparaîtront dans l’historique antérieur et la version courante ne sera pas automatiquement remplacée.',
1287 -'undeleterevdel' => "La restauration ne sera pas effectuée si, au final, la version la plus récente de la page sera partiellement supprimée. Dans ce cas, vous devez déselectionner les versions les plus récentes (en haut). Les versions des fichiers auxquelles vous n’avez pas accès ne seront pas restaurées.",
1288 -'undeletehistorynoadmin' => 'Cet article a été supprimé. Le motif de la suppression est indiqué dans le résumé ci-dessous, avec les détails des utilisateurs qui l’ont modifié avant sa suppression. Le contenu de ces versions n’est accessible qu’aux administrateurs.',
1289 -'undelete-revision' => 'Version supprimée de $1, le $2 :',
1290 -'undeleterevision-missing' => 'Version invalide ou manquante. Vous avez peut-être un mauvais lien, ou la version a été restaurée ou supprimée de l’archive.',
1291 -'undeletebtn' => 'Restaurer',
1292 -'undeletereset' => 'Réinitialiser',
1293 -'undeletecomment' => 'Résumé :',
1294 -'undeletedarticle' => 'a restauré « [[$1]] »',
1295 -'undeletedrevisions' => '$1 {{PLURAL:$1|version restaurée|versions restaurées}}',
1296 -'undeletedrevisions-files' => '$1 {{PLURAL:$1|version|versions}} et $2 {{PLURAL:$2|fichier|fichiers}} restaurés',
1297 -'undeletedfiles' => '$1 {{PLURAL:$1|fichier restauré|fichiers restaurés}}',
1298 -'cannotundelete' => 'La restauration a échoué. Un autre utilisateur a probablement restauré la page avant.',
1299 -'undeletedpage' => "<big>'''La page $1 a été restaurée.'''</big>
 1324+'undeleterevdel' => 'La restauration ne sera pas effectuée si, au final, la version la plus récente de la page sera partiellement supprimée. Dans ce cas, vous devez déselectionner les versions les plus récentes (en haut). Les versions des fichiers auxquelles vous n’avez pas accès ne seront pas restaurées.',
 1325+'undeletehistorynoadmin' => 'Cet article a été supprimé. Le motif de la suppression est indiqué dans le résumé ci-dessous, avec les détails des utilisateurs qui l’ont modifié avant sa suppression. Le contenu de ces versions n’est accessible qu’aux administrateurs.',
 1326+'undelete-revision' => 'Version supprimée de $1, le $2 :',
 1327+'undeleterevision-missing' => 'Version invalide ou manquante. Vous avez peut-être un mauvais lien, ou la version a été restaurée ou supprimée de l’archive.',
 1328+'undeletebtn' => 'Restaurer',
 1329+'undeletereset' => 'Réinitialiser',
 1330+'undeletecomment' => 'Résumé :',
 1331+'undeletedarticle' => 'a restauré « [[$1]] »',
 1332+'undeletedrevisions' => '$1 {{PLURAL:$1|version restaurée|versions restaurées}}',
 1333+'undeletedrevisions-files' => '$1 {{PLURAL:$1|version|versions}} et $2 {{PLURAL:$2|fichier|fichiers}} restaurés',
 1334+'undeletedfiles' => '$1 {{PLURAL:$1|fichier restauré|fichiers restaurés}}',
 1335+'cannotundelete' => 'La restauration a échoué. Un autre utilisateur a probablement restauré la page avant.',
 1336+'undeletedpage' => "<big>'''La page $1 a été restaurée.'''</big>
13001337
13011338 Consultez l’[[Special:Log/delete|historique des effacements]] pour voir la liste des récents effacements et restaurations de pages.",
1302 -'undelete-header' => 'Consultez l’[[Special:Log/delete|historique des suppressions]] pour voir les pages récemment supprimées.',
1303 -'undelete-search-box' => 'Chercher une page supprimée',
1304 -'undelete-search-prefix' => 'Montrer les pages commençant par :',
1305 -'undelete-search-submit' => 'Chercher',
1306 -'undelete-no-results' => 'Aucune page correspondant à la recherche n’a été trouvé dans les archives.',
 1339+'undelete-header' => 'Consultez l’[[Special:Log/delete|historique des suppressions]] pour voir les pages récemment supprimées.',
 1340+'undelete-search-box' => 'Chercher une page supprimée',
 1341+'undelete-search-prefix' => 'Montrer les pages commençant par :',
 1342+'undelete-search-submit' => 'Chercher',
 1343+'undelete-no-results' => 'Aucune page correspondant à la recherche n’a été trouvé dans les archives.',
 1344+'undelete-filename-mismatch' => 'Impossible de restaurer le fichier avec le timestamp $1 : fichier introuvable',
 1345+'undelete-bad-store-key' => 'Impossible de restaurer le fichier avec le timestamp $1 : le fichier était absent avant la suppression.',
 1346+'undelete-cleanup-error' => 'Erreur lors de la suppression de l’archive inutilisée « $1 ».',
 1347+'undelete-missing-filearchive' => 'Impossible de restaurer le fichier avec l’ID $1 parce qu’il n’est pas dans la base de données. Il a peut-être déjà été restauré.',
 1348+'undelete-error-short' => 'Erreur lors de la restauration du fichier : $1',
 1349+'undelete-error-long' => 'Des erreurs ont été rencontrées lors de la restauration du fichier :
13071350
 1351+$1',
 1352+
13081353 # Namespace form on various pages
13091354 'namespace' => 'Espace de noms :',
13101355 'invert' => 'Inverser la sélection',
@@ -1311,7 +1356,7 @@
13121357 # Contributions
13131358 'contributions' => 'Contributions de cet utilisateur',
13141359 'mycontris' => 'Contributions',
1315 -'contribsub2' => 'Liste des contributions de $1 ($2). Les pages qui ont été effacées ne sont pas affichées.',
 1360+'contribsub2' => 'Liste des contributions de $1 ($2). Les pages qui ont été effacées ne sont pas affichées.',
13161361 'nocontribs' => 'Aucune modification correspondant à ces critères n’a été trouvée.',
13171362 'ucnote' => 'Voici les <b>$1</b> dernières modifications effectuées par cet utilisateur au cours des <b>$2</b> derniers jours.',
13181363 'uclinks' => 'Afficher les $1 dernières modifications ; afficher les $2 derniers jours.',
@@ -1333,18 +1378,18 @@
13341379 'sp-newimages-showfrom' => 'Afficher les images importées depuis le $1',
13351380
13361381 # What links here
1337 -'whatlinkshere' => 'Pages liées',
1338 -'notargettitle' => 'Pas de cible',
1339 -'notargettext' => 'Indiquez une page cible ou un utilisateur cible.',
1340 -'linklistsub' => '(Liste de liens)',
1341 -'linkshere' => 'Les pages ci-dessous contiennent un lien vers <b>[[:$1]]</b> :',
1342 -'nolinkshere' => 'Aucune page ne contient de lien vers <b>[[:$1]]</b>.',
1343 -'nolinkshere-ns' => "Aucune page ne contient de lien vers '''[[:$1]]''' dans l’espace de nom choisi.",
1344 -'isredirect' => 'page de redirection',
1345 -'istemplate' => 'inclusion',
1346 -'whatlinkshere-prev' => '{{PLURAL:$1|précédent|$1 précédents}}',
1347 -'whatlinkshere-next' => '{{PLURAL:$1|suivant|$1 suivants}}',
1348 -'whatlinkshere-links' => '← liens',
 1382+'whatlinkshere' => 'Pages liées',
 1383+'notargettitle' => 'Pas de cible',
 1384+'notargettext' => 'Indiquez une page cible ou un utilisateur cible.',
 1385+'linklistsub' => '(Liste de liens)',
 1386+'linkshere' => 'Les pages ci-dessous contiennent un lien vers <b>[[:$1]]</b> :',
 1387+'nolinkshere' => 'Aucune page ne contient de lien vers <b>[[:$1]]</b>.',
 1388+'nolinkshere-ns' => "Aucune page ne contient de lien vers '''[[:$1]]''' dans l’espace de nom choisi.",
 1389+'isredirect' => 'page de redirection',
 1390+'istemplate' => 'inclusion',
 1391+'whatlinkshere-prev' => '{{PLURAL:$1|précédent|$1 précédents}}',
 1392+'whatlinkshere-next' => '{{PLURAL:$1|suivant|$1 suivants}}',
 1393+'whatlinkshere-links' => '← liens',
13491394
13501395 # Block/unblock
13511396 'blockip' => 'Bloquer une adresse IP ou un utilisateur',
@@ -1357,11 +1402,7 @@
13581403 'ipbexpiry' => 'Durée du blocage',
13591404 'ipbreason' => 'Motif',
13601405 'ipbreasonotherlist' => 'Autre motif',
1361 -
1362 -// These are examples only. They can be translated but should be adjusted via [[MediaWiki:ipbreason-list]] by the local community
1363 -// *# defines a reason group in the drow down menu
1364 -// * defines a reason
1365 -'ipbreason-dropdown' => '
 1406+'ipbreason-dropdown' => '
13661407 * Motifs de blocage les plus fréquents
13671408 ** Vandalisme
13681409 ** Insertion d’informations fausses
@@ -1398,15 +1439,15 @@
13991440 'ipblocklist' => 'Liste des utilisateurs bloqués',
14001441 'ipblocklist-summary' => 'La liste ci-dessous montre tous les utilisateurs et adresses IP bloqués, par ordre anti-chronologique. Consulter le [[Special:Log/block|journal de blocage]] pour voir les dernières actions de blocage et déblocage effectuées.',
14011442 'ipblocklist-submit' => 'Chercher',
1402 -'blocklistline' => '$1 (expire le $4) : $2 a bloqué $3',
 1443+'blocklistline' => '$1 ($4) : $2 a bloqué $3',
14031444 'infiniteblock' => 'permanent',
14041445 'expiringblock' => 'expire le $1',
14051446 'anononlyblock' => 'utilisateur non enregistré uniquement',
14061447 'noautoblockblock' => 'blocage automatique désactivé',
1407 -'createaccountblock' => 'la création de compte est bloquée.',
 1448+'createaccountblock' => 'création de compte bloquée',
14081449 'emailblock' => 'e-mail bloqué',
1409 -'ipblocklist-empty' => 'La liste des adresses bloquées est actuellement vide.',
1410 -'ipblocklist-no-results' => 'L’adresse IP ou l’utilisateur n’a pas été bloqué.',
 1450+'ipblocklist-empty' => 'La liste des adresses bloquées est actuellement vide.',
 1451+'ipblocklist-no-results' => 'L’adresse IP ou l’utilisateur n’a pas été bloqué.',
14111452 'blocklink' => 'Bloquer',
14121453 'unblocklink' => 'débloquer',
14131454 'contribslink' => 'Contributions',
@@ -1467,13 +1508,14 @@
14681509 'movearticle' => 'Renommer l’article',
14691510 'movenologin' => 'Non connecté',
14701511 'movenologintext' => 'Pour pouvoir renommer une page, vous devez être [[Special:Userlogin|connecté]] en tant qu’utilisateur enregistré et votre compte doit avoir une ancienneté suffisante.',
 1512+'movenotallowed' => 'Vous n’avez pas la permission de renommer des pages sur ce wiki.',
14711513 'newtitle' => 'Nouveau titre',
14721514 'move-watch' => 'Suivre cette page',
14731515 'movepagebtn' => 'Renommer l’article',
14741516 'pagemovedsub' => 'Renommage réussi',
1475 -'movepage-moved' => "La page « $1 » <small>([[Special:Whatlinkshere/$3|liens]])</small> a été renommée en « $2 » <small>([[Special:Whatlinkshere/$4|liens]])</small>.
 1517+'movepage-moved' => 'La page « $1 » <small>([[Special:Whatlinkshere/$3|liens]])</small> a été renommée en « $2 » <small>([[Special:Whatlinkshere/$4|liens]])</small>.
14761518
1477 -Veuillez vérifier qu’il n’existe aucune double redirection, et corrigez celles-ci si nécessaire.",
 1519+Veuillez vérifier qu’il n’existe aucune double redirection, et corrigez celles-ci si nécessaire.', # The two titles are passed in plain text as $3 and $4 to allow additional goodies in the message.
14781520 'articleexists' => 'Il existe déjà un article portant ce titre, ou le titre que vous avez choisi n’est pas valide. Veuillez en choisir un autre.',
14791521 'talkexists' => 'La page elle-même a été déplacée avec succès, mais la page de discussion n’a pas pu être déplacée car il en existait déjà une sous le nouveau nom. Veuillez les fusionner manuellement.',
14801522 'movedto' => 'renommé en',
@@ -1508,6 +1550,7 @@
15091551 'export-submit' => 'Exporter',
15101552 'export-addcattext' => 'Ajouter les pages de la catégorie :',
15111553 'export-addcat' => 'Ajouter',
 1554+'export-download' => 'Permettre de sauvegarder en tant que fichier',
15121555
15131556 # Namespace 8 related
15141557 'allmessages' => 'Liste des messages système',
@@ -1515,18 +1558,17 @@
15161559 'allmessagesdefault' => 'Message par défaut',
15171560 'allmessagescurrent' => 'Message actuel',
15181561 'allmessagestext' => 'Ceci est la liste de tous les messages disponibles dans l’espace MediaWiki',
1519 -'allmessagesnotsupportedUI' => 'Special:AllMessages n’accepte pas la langue de votre interface (<b>$1</b>) sur ce site.',
15201562 'allmessagesnotsupportedDB' => '<b>Special:Allmessages</b> n’est pas disponible car <b>$wgUseDatabaseMessages</b> est désactivé.',
15211563 'allmessagesfilter' => 'Filtre d’expression rationnelle :',
15221564 'allmessagesmodified' => 'N’afficher que les modifications',
15231565
15241566 # Thumbnails
1525 -'thumbnail-more' => 'Agrandir',
1526 -'missingimage' => '<b>Image manquante</b><br /><i>$1</i>',
1527 -'filemissing' => 'Fichier absent',
1528 -'thumbnail_error' => 'Erreur lors de la création de la miniature : $1',
1529 -'djvu_page_error' => 'Page DjVu hors limites',
1530 -'djvu_no_xml' => 'Impossible d’obtenir le XML pour le fichier DjVu',
 1567+'thumbnail-more' => 'Agrandir',
 1568+'missingimage' => '<b>Image manquante</b><br /><i>$1</i>',
 1569+'filemissing' => 'Fichier absent',
 1570+'thumbnail_error' => 'Erreur lors de la création de la miniature : $1',
 1571+'djvu_page_error' => 'Page DjVu hors limites',
 1572+'djvu_no_xml' => 'Impossible d’obtenir le XML pour le fichier DjVu',
15311573 'thumbnail_invalid_params' => 'Paramètres de la miniature invalides',
15321574 'thumbnail_dest_directory' => 'Impossible de créer le répertoire de destination',
15331575
@@ -1639,7 +1681,7 @@
16401682 'siteuser' => 'Utilisateur $1 de {{SITENAME}}',
16411683 'lastmodifiedatby' => 'Cette page a été modifiée pour la dernière fois le $1 à $2 par $3.', # $1 date, $2 time, $3 user
16421684 'and' => 'et',
1643 -'othercontribs' => 'Contributions de cet utilisateur.', // Don't add the parameter, tendency to break. Also do not translate literally from English.
 1685+'othercontribs' => 'Contributions de cet utilisateur.',
16441686 'others' => 'autres',
16451687 'siteusers' => 'Utilisateur(s) $1',
16461688 'creditspage' => 'Page de crédits',
@@ -1691,7 +1733,13 @@
16921734 'patrol-log-diff' => '$1',
16931735
16941736 # Image deletion
1695 -'deletedrevision' => 'L’ancienne version $1 a été supprimée.',
 1737+'deletedrevision' => 'L’ancienne version $1 a été supprimée.',
 1738+'filedeleteerror-short' => 'Erreur lors de la suppression du fichier : $1',
 1739+'filedeleteerror-long' => 'Des erreurs ont été rencontrées lors de la suppression du fichier :\n\n$1\n',
 1740+'filedelete-missing' => 'Le fichier « $1 » ne peut pas être supprimé parce qu’il n’existe pas.',
 1741+'filedelete-old-unregistered' => 'La révision du fichier spécifié « $1 » n’est pas dans la base de données.',
 1742+'filedelete-current-unregistered' => 'Le fichier spécifié « $1 » n’est pas dans la base de données.',
 1743+'filedelete-archive-read-only' => 'Le dossier d’archivage « $1 » n’est pas modifiable par le serveur.',
16961744
16971745 # Browsing diffs
16981746 'previousdiff' => '← Différence précédente',
@@ -1713,8 +1761,12 @@
17141762 'showhidebots' => '($1 bots)',
17151763 'noimages' => 'Aucune image à afficher.',
17161764
1717 -'passwordtooshort' => 'Votre mot de passe est trop court. Il doit contenir au moins $1 caractères et être différent de votre nom d’utilisateur.',
 1765+# Bad image list
 1766+'bad_image_list' => "Le format est le suivant:
17181767
 1768+Seulement les lignes commençant par une * sont prises en compte. Le premier lien de la ligne est celui vers une mauvaise image.
 1769+Les autres liens sur la même ligne sont considérés comme des exceptions, par exemple des articles sur lesquels l'image doit apparaître.",
 1770+
17191771 # Metadata
17201772 'metadata' => 'Métadonnées',
17211773 'metadata-help' => 'Ce fichier contient des informations supplémentaires probablement ajoutées par l’appareil photo ou le scanner qui l’a produite. Si le fichier a été modifié, certains détails peuvent ne pas refléter l’image modifiée.',
@@ -2072,7 +2124,7 @@
20732125 # Auto-summaries
20742126 'autosumm-blank' => 'Résumé automatique : blanchiment',
20752127 'autosumm-replace' => "Résumé automatique : contenu remplacé par '$1'",
2076 -'autoredircomment' => 'Redirection vers [[$1]]', # This should be changed to the new naming convention, but existed beforehand
 2128+'autoredircomment' => 'Redirection vers [[$1]]',
20772129 'autosumm-new' => 'Nouvelle page : $1',
20782130
20792131 # Size units
@@ -2091,7 +2143,7 @@
20922144
20932145 # Friendlier slave lag warnings
20942146 'lag-warn-normal' => 'Les modifications datant de moins de $1 secondes peuvent ne pas apparaître dans cette liste.',
2095 -'lag-warn-high' => 'En raison d’une forte charge des bases de données, les modifications datant de moins de $1 secondes peuvent ne pas apparaître dans cette liste.',
 2147+'lag-warn-high' => 'En raison d’une forte charge des bases de données, les modifications datant de moins de $1 secondes peuvent ne pas apparaître dans cette liste.',
20962148
20972149 # Watchlist editor
20982150 'watchlistedit-numitems' => 'Votre liste de suivi contient {{PLURAL:$1|une page|$1 pages}}, sans compter les pages de discussion',
@@ -2120,4 +2172,5 @@
21212173 'watchlisttools-edit' => 'Voir et modifier la liste de suivi',
21222174 'watchlisttools-raw' => 'Modifier la liste (mode brut)',
21232175 'watchlisttools-clear' => 'Vider la liste de suivi',
2124 -);
\ No newline at end of file
 2176+
 2177+);
Index: branches/apiedit/phase3/languages/messages/MessagesKk_cn.php
@@ -825,8 +825,9 @@
826826
827827 بۇعاتتاۋدى $1 ٸستەگەن. كەلتٸرٸلگەن سەبەبٸ: ''$2''.
828828
829 -بۇعاتتاۋ بٸتەتٸن مەزگٸلٸ: $6<br />
830 -ماقساتتالعان مەرزٸمٸ: $7
 829+* بۇعاتتاۋ باستالعانى: $8
 830+* بۇعاتتاۋ بٸتەتٸنٸ: $6
 831+* بۇعاتتاۋ ماقساتى: $7
831832
832833 وسى بۇعاتتاۋدى تالقىلاۋ ٷشٸن $1 دەگەنمەن, نە باسقا [[{{{{ns:mediawiki}}:grouppage-sysop}}|ٵكٸمشٸمەن]] قاتىناسۋىڭىزعا بولادى.
833834 [[{{ns:special}}:Preferences|تٸركەلگٸ باپتاۋلارىن]] قولدانىپ جارامدى ە-پوشتا جايىن ەنگٸزگەنشە دەيٸن جٵنە بۇنى پايدالانۋى
@@ -837,7 +838,8 @@
838839
839840 :''$2''
840841
841 -بۇعاتتاۋ بٸتەتٸن مەزگٸلٸ: $6
 842+* بۇعاتتاۋ باستالعانى: $8
 843+* بۇعاتتاۋ بٸتەتٸنٸ: $6
842844
843845 وسى بۇعاتتاۋدى تالقىلاۋ ٷشٸن $1 دەگەنمەن,
844846 نە باسقا [[{{{{ns:mediawiki}}:grouppage-sysop}}|ٵكٸمشٸمەن]] قاتىناسۋىڭىزعا بولادى.
@@ -1110,8 +1112,8 @@
11111113 'prefs-personal' => 'جەكە دەرەكتەرٸ',
11121114 'prefs-rc' => 'جۋىقتاعى ٶزگەرٸستەر',
11131115 'prefs-watchlist' => 'باقىلاۋ',
1114 -'prefs-watchlist-days' => 'باقىلاۋ تٸزٸمٸندە كٶرسەتەرٸن كٷن سانى:',
1115 -'prefs-watchlist-edits' => 'كەڭەيتٸلگەن باقىلاۋ تٸزٸمٸ تٷزەتۋ كٶرسەتەرٸن سانى:',
 1116+'prefs-watchlist-days' => 'باقىلاۋ تٸزٸمٸندە كٶرسەتەرٸن ەڭ كٶپ كٷندەرٸ:',
 1117+'prefs-watchlist-edits' => 'كەڭەيتٸلگەن باقىلاۋ تٸزٸمٸندە كٶرسەتەرٸن ەڭ كٶپ تٷزەتۋلەرٸ:',
11161118 'prefs-misc' => 'قوسىمشا',
11171119 'saveprefs' => 'ساقتا',
11181120 'resetprefs' => 'تاستا',
@@ -1332,11 +1334,11 @@
13331335 # File reversion
13341336 'filerevert' => '$1 دەگەندٸ قايتارۋ',
13351337 'filerevert-legend' => 'فايلدى قايتارۋ',
1336 -'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەندٸ [$2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتاردىڭىز.</span>',
 1338+'filerevert-intro' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەندٸ [$4, $2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتاردىڭىز.</span>',
13371339 'filerevert-comment' => 'مٵندەمەسٸ:',
1338 -'filerevert-defaultcomment' => '$1 كەزٸندەگٸ نۇسقاسىنا قايتاردى',
 1340+'filerevert-defaultcomment' => '$1, $2 كەزٸندەگٸ نۇسقاسىنا قايتاردى',
13391341 'filerevert-submit' => 'قايتارۋ',
1340 -'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەن [$2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتارىلدى.</span>',
 1342+'filerevert-success' => '<span class="plainlinks">\'\'\'[[{{ns:media}}:$1|$1]]\'\'\' دەگەن [$4, $2 كەزٸندەگٸ $3 نۇسقاسىنا] قايتارىلدى.</span>',
13411343 'filerevert-badversion' => 'كەلتٸرٸلگەن ۋاقىت بەلگٸسٸمەن بۇل فايلدىڭ الدىڭعى جەرگٸلٸكتٸ نۇسقاسى جوق.',
13421344
13431345 # MIME search
@@ -1488,6 +1490,7 @@
14891491 'allpagessubmit' => 'ٶتۋ',
14901492 'allpagesprefix' => 'مىنادان باستالعان بەتتەردٸ كٶرسەتۋ:',
14911493 'allpagesbadtitle' => 'الىنعان بەت اتاۋى جارامسىز بولعان, نەمەسە تٸل-ارالىق نە ۋيكي-ارالىق باستاۋى بار بولدى. اتاۋدا قولدانۋعا بولمايتىن نىشاندار بولۋى مٷمكٸن.',
 1494+'allpages-bad-ns' => '{{SITENAME}} جوباسىندا «$1» ەسٸم اياسى جوق.',
14921495
14931496 # Special:Listusers
14941497 'listusersfrom' => 'مىنا قاتىسۋشىدان باستاپ كٶرسەتۋ:',
@@ -2227,6 +2230,12 @@
22282231 'showhidebots' => '(بوتتاردى $1)',
22292232 'noimages' => 'كٶرەتٸن ەشتەڭە جوق.',
22302233
 2234+# Bad image list
 2235+'bad_image_list' => 'پٸشٸمٸ تٶمەندەگٸدەي:
 2236+
 2237+تەك تٸزٸم دانالارى (* نىشانىمەن باستالىتىن جولدار) ەسەپتەلەدٸ. جولدىڭ بٸرٸنشٸ سٸلتەمەسٸ جارامسىز سۋرەتكە سٸلتەۋ قاجەت.
 2238+سول جولداعى كەيٸنگٸ ٵربٸر سٸلتەمەلەر ەرەن بولىپ ەسەپتەلەدٸ, مىسالى جول ٸشٸندەگٸ كەزدەسەتٸن سۋرەتٸ بار ماقالالار.',
 2239+
22312240 # Variants for Kazakh language
22322241 'variantname-kk-tr' => 'Latın',
22332242 'variantname-kk-kz' => 'Кирил',
Index: branches/apiedit/phase3/includes/Database.php
@@ -1495,6 +1495,7 @@
14961496 * (for the log)
14971497 * @param array $options An array of UPDATE options, can be one or
14981498 * more of IGNORE, LOW_PRIORITY
 1499+ * @return bool
14991500 */
15001501 function update( $table, $values, $conds, $fname = 'Database::update', $options = array() ) {
15011502 $table = $this->tableName( $table );
@@ -1503,7 +1504,7 @@
15041505 if ( $conds != '*' ) {
15051506 $sql .= " WHERE " . $this->makeList( $conds, LIST_AND );
15061507 }
1507 - $this->query( $sql, $fname );
 1508+ return $this->query( $sql, $fname );
15081509 }
15091510
15101511 /**
Index: branches/apiedit/phase3/includes/IP.php
@@ -114,13 +114,14 @@
115115 * @return string
116116 */
117117 public static function sanitizeIP( $ip ) {
118 - if ( !$ip ) return null;
 118+ $ip = trim( $ip );
 119+ if ( $ip === '' ) return null;
119120 // Trim and return IPv4 addresses
120 - if ( self::isIPv4($ip) ) return trim($ip);
 121+ if ( self::isIPv4($ip) ) return $ip;
121122 // Only IPv6 addresses can be expanded
122123 if ( !self::isIPv6($ip) ) return $ip;
123124 // Remove any whitespaces, convert to upper case
124 - $ip = strtoupper( trim($ip) );
 125+ $ip = strtoupper( $ip );
125126 // Expand zero abbreviations
126127 if ( strpos( $ip, '::' ) !== false ) {
127128 $ip = str_replace('::', str_repeat(':0', 8 - substr_count($ip, ':')) . ':', $ip);
Index: branches/apiedit/phase3/includes/filerepo/FileRepoStatus.php
@@ -22,6 +22,7 @@
2323 $result = new self( $repo );
2424 call_user_func_array( array( &$result, 'error' ), $params );
2525 $result->ok = false;
 26+ return $result;
2627 }
2728
2829 static function newGood( $repo = false, $value = null ) {
Index: branches/apiedit/phase3/includes/EditPage.php
@@ -319,57 +319,35 @@
320320 return;
321321 }
322322
323 - if ( ! $this->mTitle->userCan( 'edit' ) ) {
324 - wfDebug( "$fname: user can't edit\n" );
325 - $wgOut->readOnlyPage( $this->getContent(), true );
326 - wfProfileOut( $fname );
327 - return;
328 - }
329 - wfDebug( "$fname: Checking blocks\n" );
330 - if ( !$this->preview && !$this->diff && $wgUser->isBlockedFrom( $this->mTitle, !$this->save ) ) {
331 - # When previewing, don't check blocked state - will get caught at save time.
332 - # Also, check when starting edition is done against slave to improve performance.
333 - wfDebug( "$fname: user is blocked\n" );
334 - $this->blockedPage();
335 - wfProfileOut( $fname );
336 - return;
337 - }
338 - if ( !$wgUser->isAllowed('edit') ) {
339 - if ( $wgUser->isAnon() ) {
340 - wfDebug( "$fname: user must log in\n" );
341 - $this->userNotLoggedInPage();
342 - wfProfileOut( $fname );
343 - return;
344 - } else {
345 - wfDebug( "$fname: read-only page\n" );
346 - $wgOut->readOnlyPage( $this->getContent(), true );
347 - wfProfileOut( $fname );
348 - return;
 323+ $permErrors = $this->mTitle->getUserPermissionsErrors( 'edit', $wgUser);
 324+
 325+ # Ignore some permissions errors.
 326+ $remove = array();
 327+ foreach( $permErrors as $error ) {
 328+ if ($this->preview || $this->diff &&
 329+ ($error[0] == 'blockedtext' || $error[0] == 'autoblockedtext'))
 330+ {
 331+ // Don't worry about blocks when previewing/diffing
 332+ $remove[] = $error;
349333 }
 334+
 335+ if ($error[0] == 'readonlytext')
 336+ {
 337+ if ($this->edit)
 338+ $this->formtype = 'preview';
 339+ else if ($this->save || $this->preview || $this->diff)
 340+ $remove[] = $error;
 341+ }
350342 }
351 - if ($wgEmailConfirmToEdit && !$wgUser->isEmailConfirmed()) {
352 - wfDebug("$fname: user must confirm e-mail address\n");
353 - $this->userNotConfirmedPage();
354 - wfProfileOut($fname);
355 - return;
356 - }
357 - if ( !$this->mTitle->userCan( 'create' ) && !$this->mTitle->exists() ) {
358 - wfDebug( "$fname: no create permission\n" );
359 - $this->noCreatePermission();
 343+ # array_diff returns elements in $permErrors that are not in $remove.
 344+ $permErrors = array_diff( $permErrors, $remove );
 345+
 346+ if ($permErrors != array())
 347+ {
 348+ wfDebug( "$fname: User can't edit\n" );
 349+ $wgOut->readOnlyPage( $this->getContent(), true, $permErrors );
360350 wfProfileOut( $fname );
361351 return;
362 - }
363 - if ( wfReadOnly() ) {
364 - wfDebug( "$fname: read-only mode is engaged\n" );
365 - if( $this->save || $this->preview ) {
366 - $this->formtype = 'preview';
367 - } else if ( $this->diff ) {
368 - $this->formtype = 'diff';
369 - } else {
370 - $wgOut->readOnlyPage( $this->getContent() );
371 - wfProfileOut( $fname );
372 - return;
373 - }
374352 } else {
375353 if ( $this->save ) {
376354 $this->formtype = 'save';
Index: branches/apiedit/phase3/includes/SpecialUpload.php
@@ -668,7 +668,7 @@
669669 * @access private
670670 */
671671 function uploadWarning( $warning ) {
672 - global $wgOut;
 672+ global $wgOut, $wgContLang;
673673 global $wgUseCopyrightUpload;
674674
675675 $this->mSessionKey = $this->stashSession();
@@ -686,6 +686,8 @@
687687 $reup = wfMsgWikiHtml( 'reuploaddesc' );
688688 $titleObj = SpecialPage::getTitleFor( 'Upload' );
689689 $action = $titleObj->escapeLocalURL( 'action=submit' );
 690+ $align1 = $wgContLang->isRTL() ? 'left' : 'right';
 691+ $align2 = $wgContLang->isRTL() ? 'right' : 'left';
690692
691693 if ( $wgUseCopyrightUpload )
692694 {
@@ -709,16 +711,16 @@
710712 <table border='0'>
711713 <tr>
712714 <tr>
713 - <td align='right'>
 715+ <td align='$align1'>
714716 <input tabindex='2' type='submit' name='wpUpload' value=\"$save\" />
715717 </td>
716 - <td align='left'>$iw</td>
 718+ <td align='$align2'>$iw</td>
717719 </tr>
718720 <tr>
719 - <td align='right'>
 721+ <td align='$align1'>
720722 <input tabindex='2' type='submit' name='wpReUpload' value=\"{$reupload}\" />
721723 </td>
722 - <td align='left'>$reup</td>
 724+ <td align='$align2'>$reup</td>
723725 </tr>
724726 </tr>
725727 </table></form>\n" );
@@ -732,7 +734,7 @@
733735 * @access private
734736 */
735737 function mainUploadForm( $msg='' ) {
736 - global $wgOut, $wgUser;
 738+ global $wgOut, $wgUser, $wgContLang;
737739 global $wgUseCopyrightUpload, $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview;
738740 global $wgRequest, $wgAllowCopyUploads, $wgEnableAPI;
739741 global $wgStylePath, $wgStyleVersion;
@@ -829,27 +831,29 @@
830832 }
831833
832834 $encComment = htmlspecialchars( $this->mComment );
 835+ $align1 = $wgContLang->isRTL() ? 'left' : 'right';
 836+ $align2 = $wgContLang->isRTL() ? 'right' : 'left';
833837
834838 $wgOut->addHTML( <<<EOT
835839 <form id='upload' method='post' enctype='multipart/form-data' action="$action">
836840 <table border='0'>
837841 <tr>
838842 {$this->uploadFormTextTop}
839 - <td align='right' valign='top'><label for='wpUploadFile'>{$sourcefilename}:</label></td>
840 - <td align='left'>
 843+ <td align='$align1' valign='top'><label for='wpUploadFile'>{$sourcefilename}:</label></td>
 844+ <td align='$align2'>
841845 {$filename_form}
842846 </td>
843847 </tr>
844848 <tr>
845 - <td align='right'><label for='wpDestFile'>{$destfilename}:</label></td>
846 - <td align='left'>
 849+ <td align='$align1'><label for='wpDestFile'>{$destfilename}:</label></td>
 850+ <td align='$align2'>
847851 <input tabindex='2' type='text' name='wpDestFile' id='wpDestFile' size='40'
848852 value="$encDestName" $destOnkeyup />
849853 </td>
850854 </tr>
851855 <tr>
852 - <td align='right'><label for='wpUploadDescription'>{$summary}</label></td>
853 - <td align='left'>
 856+ <td align='$align1'><label for='wpUploadDescription'>{$summary}</label></td>
 857+ <td align='$align2'>
854858 <textarea tabindex='3' name='wpUploadDescription' id='wpUploadDescription' rows='6'
855859 cols='{$cols}'{$ew}>$encComment</textarea>
856860 {$this->uploadFormTextAfterSummary}
@@ -862,8 +866,8 @@
863867 if ( $licenseshtml != '' ) {
864868 global $wgStylePath;
865869 $wgOut->addHTML( "
866 - <td align='right'><label for='wpLicense'>$license:</label></td>
867 - <td align='left'>
 870+ <td align='$align1'><label for='wpLicense'>$license:</label></td>
 871+ <td align='$align2'>
868872 <select name='wpLicense' id='wpLicense' tabindex='4'
869873 onchange='licenseSelectorCheck()'>
870874 <option value=''>$nolicense</option>
@@ -888,12 +892,12 @@
889893 $uploadsource = htmlspecialchars( $this->mCopyrightSource );
890894
891895 $wgOut->addHTML( "
892 - <td align='right' nowrap='nowrap'><label for='wpUploadCopyStatus'>$filestatus:</label></td>
 896+ <td align='$align1' nowrap='nowrap'><label for='wpUploadCopyStatus'>$filestatus:</label></td>
893897 <td><input tabindex='5' type='text' name='wpUploadCopyStatus' id='wpUploadCopyStatus'
894898 value=\"$copystatus\" size='40' /></td>
895899 </tr>
896900 <tr>
897 - <td align='right'><label for='wpUploadCopyStatus'>$filesource:</label></td>
 901+ <td align='$align1'><label for='wpUploadCopyStatus'>$filesource:</label></td>
898902 <td><input tabindex='6' type='text' name='wpUploadSource' id='wpUploadCopyStatus'
899903 value=\"$uploadsource\" size='40' /></td>
900904 </tr>
@@ -913,11 +917,11 @@
914918 $warningRow
915919 <tr>
916920 <td></td>
917 - <td align='left'><input tabindex='9' type='submit' name='wpUpload' value=\"{$ulb}\" /></td>
 921+ <td align='$align2'><input tabindex='9' type='submit' name='wpUpload' value=\"{$ulb}\" /></td>
918922 </tr>
919923 <tr>
920924 <td></td>
921 - <td align='left'>
 925+ <td align='$align2'>
922926 " );
923927 $wgOut->addWikiText( wfMsgForContent( 'edittools' ) );
924928 $wgOut->addHTML( "
@@ -1392,3 +1396,4 @@
13931397 }
13941398 }
13951399
 1400+
Index: branches/apiedit/phase3/includes/OutputPage.php
@@ -743,16 +743,11 @@
744744 $this->setRobotpolicy( 'noindex,nofollow' );
745745 $this->setArticleRelated( false );
746746
747 - $id = $wgUser->blockedBy();
 747+ $name = User::whoIs( $wgUser->blockedBy() );
748748 $reason = $wgUser->blockedFor();
749749 $blockTimestamp = $wgLang->timeanddate( wfTimestamp( TS_MW, $wgUser->mBlock->mTimestamp ), true );
750750 $ip = wfGetIP();
751751
752 - if ( is_numeric( $id ) ) {
753 - $name = User::whoIs( $id );
754 - } else {
755 - $name = $id;
756 - }
757752 $link = '[[' . $wgContLang->getNsText( NS_USER ) . ":{$name}|{$name}]]";
758753
759754 $blockid = $wgUser->mBlock->mId;
@@ -836,16 +831,7 @@
837832 $this->mBodytext = '';
838833
839834 $this->addWikiText( wfMsg('permissionserrorstext') );
840 - $this->addHtml( '<ul class="permissions-errors">' . "\n" );
841 -
842 - foreach( $errors as $error )
843 - {
844 - $this->addHtml( '<li>' );
845 - $this->addWikiText( call_user_func_array( 'wfMsg', $error ) );
846 - $this->addHtml( '</li>');
847 - }
848 - $this->addHtml( '</ul>' );
849 -
 835+ $this->addWikitext( $this->formatPermissionsErrorMessage( $errors ) );
850836 }
851837
852838 /** @deprecated */
@@ -964,20 +950,46 @@
965951 }
966952
967953 /**
 954+ * @param array $errors An array returned by Title::getUserPermissionsErrors
 955+ * @return string The error-messages, formatted into a list.
 956+ */
 957+ public function formatPermissionsErrorMessage( $errors ) {
 958+ $text = '';
 959+
 960+ $text .= wfMsg('permissionserrorstext')."\n";
 961+ $text .= '<ul class="permissions-errors">' . "\n";
 962+
 963+ foreach( $errors as $error )
 964+ {
 965+ $text .= '<li>';
 966+ $text .= call_user_func_array( 'wfMsg', $error );
 967+ $text .= "</li>\n";
 968+ }
 969+ $text .= '</ul>';
 970+
 971+ return $text;
 972+ }
 973+
 974+ /**
968975 * @todo document
969976 * @param bool $protected Is the reason the page can't be reached because it's protected?
970977 * @param mixed $source
971978 */
972 - public function readOnlyPage( $source = null, $protected = false ) {
 979+ public function readOnlyPage( $source = null, $protected = false, $reasons = array() ) {
973980 global $wgUser, $wgReadOnlyFile, $wgReadOnly, $wgTitle;
974981 $skin = $wgUser->getSkin();
975982
976983 $this->setRobotpolicy( 'noindex,nofollow' );
977984 $this->setArticleRelated( false );
978985
979 - if( $protected ) {
 986+ if ($reasons != array()) {
980987 $this->setPageTitle( wfMsg( 'viewsource' ) );
981988 $this->setSubtitle( wfMsg( 'viewsourcefor', $skin->makeKnownLinkObj( $wgTitle ) ) );
 989+
 990+ $this->addWikiText( $this->formatPermissionsErrorMessage( $reasons ) );
 991+ } else if( $protected ) {
 992+ $this->setPageTitle( wfMsg( 'viewsource' ) );
 993+ $this->setSubtitle( wfMsg( 'viewsourcefor', $skin->makeKnownLinkObj( $wgTitle ) ) );
982994 list( $cascadeSources, /* $restrictions */ ) = $wgTitle->getCascadeProtectionSources();
983995
984996 // Show an appropriate explanation depending upon the reason
Index: branches/apiedit/phase3/includes/api/ApiQueryUserInfo.php
@@ -55,8 +55,7 @@
5656 $prop = array_flip($params['prop']);
5757 if (isset($prop['blockinfo'])) {
5858 if ($wgUser->isBlocked()) {
59 - $id = $wgUser->blockedBy();
60 - $vals['blockedby'] = is_numeric($id) ? User::whoIs($id) : $id;
 59+ $vals['blockedby'] = User::whoIs($wgUser->blockedBy());
6160 $vals['blockreason'] = $wgUser->blockedFor();
6261 }
6362 }
Index: branches/apiedit/phase3/includes/Title.php
@@ -1006,7 +1006,7 @@
10071007 }
10081008 return false;
10091009 }
1010 -
 1010+
10111011 /**
10121012 * Can $wgUser perform $action on this page?
10131013 * @param string $action action that permission needs to be checked for
@@ -1034,6 +1034,13 @@
10351035 $errors[] = array( 'readonlytext' );
10361036 }
10371037
 1038+ global $wgEmailConfirmToEdit;
 1039+
 1040+ if ( $wgEmailConfirmToEdit && !$wgUser->isEmailConfirmed() )
 1041+ {
 1042+ $errors[] = array( 'confirmedittext' );
 1043+ }
 1044+
10381045 if ( $user->isBlockedFrom( $this ) ) {
10391046 $block = $user->mBlock;
10401047
@@ -1158,9 +1165,7 @@
11591166 ( !$this->isTalkPage() && !$user->isAllowed( 'createpage' ) ) ) {
11601167 $errors[] = $user->isAnon() ? array ('nocreatetext') : array ('nocreate-loggedin');
11611168 }
1162 - }
1163 -
1164 - if( $action == 'move' &&
 1169+ } elseif( $action == 'move' &&
11651170 !( $this->isMovable() && $user->isAllowed( 'move' ) ) ) {
11661171 $errors[] = $user->isAnon() ? array ( 'movenologintext' ) : array ('movenotallowed');
11671172 } else if ( !$user->isAllowed( $action ) ) {
@@ -1168,7 +1173,7 @@
11691174 $groups = array();
11701175 global $wgGroupPermissions;
11711176 foreach( $wgGroupPermissions as $key => $value ) {
1172 - if( isset( $value[$permission] ) && $value[$permission] == true ) {
 1177+ if( isset( $value[$action] ) && $value[$action] == true ) {
11731178 $groupName = User::getGroupName( $key );
11741179 $groupPage = User::getGroupPage( $key );
11751180 if( $groupPage ) {
Index: branches/apiedit/phase3/includes/DefaultSettings.php
@@ -1195,7 +1195,7 @@
11961196 * to ensure that client-side caches don't keep obsolete copies of global
11971197 * styles.
11981198 */
1199 -$wgStyleVersion = '94';
 1199+$wgStyleVersion = '95';
12001200
12011201
12021202 # Server-side caching:
Index: branches/apiedit/phase3/maintenance/dumpTextPass.php
@@ -239,17 +239,23 @@
240240 }
241241 while( true ) {
242242 try {
243 - return $this->doGetText( $id );
 243+ $text = $this->doGetText( $id );
 244+ $ex = new MWException("Graceful storage failure");
244245 } catch (DBQueryError $ex) {
 246+ $text = false;
 247+ }
 248+ if( $text === false ) {
245249 $this->failures++;
246250 if( $this->failures > $this->maxFailures ) {
247251 throw $ex;
248252 } else {
249253 $this->progress( "Database failure $this->failures " .
250 - "of allowed $this->maxFailures! " .
 254+ "of allowed $this->maxFailures for revision $id! " .
251255 "Pausing $this->failureTimeout seconds..." );
252256 sleep( $this->failureTimeout );
253257 }
 258+ } else {
 259+ return $text;
254260 }
255261 }
256262 }
@@ -264,6 +270,9 @@
265271 array( 'old_id' => $id ),
266272 'TextPassDumper::getText' );
267273 $text = Revision::getRevisionText( $row );
 274+ if( $text === false ) {
 275+ return false;
 276+ }
268277 $stripped = str_replace( "\r", "", $text );
269278 $normalized = UtfNormal::cleanUp( $stripped );
270279 return $normalized;
Index: branches/apiedit/phase3/maintenance/language/messages.inc
@@ -325,6 +325,8 @@
326326 'sqlhidden',
327327 'cascadeprotected',
328328 'namespaceprotected',
 329+ 'customcssjsprotected',
 330+ 'ns-specialprotected',
329331 ),
330332 'login' => array(
331333 'logouttitle',
@@ -449,6 +451,8 @@
450452 'blockedtitle',
451453 'blockedtext',
452454 'autoblockedtext',
 455+ 'blockedtext-concise',
 456+ 'autoblockedtext-concise',
453457 'blockedoriginalsource',
454458 'blockededitsource',
455459 'whitelistedittitle',
@@ -513,6 +517,9 @@
514518 'edittools',
515519 'nocreatetitle',
516520 'nocreatetext',
 521+ 'nocreate-loggedin',
 522+ 'permissionserrors',
 523+ 'permissionserrorstext',
517524 'recreate-deleted-warn',
518525 ),
519526 'undo' => array(
@@ -1389,6 +1396,7 @@
13901397 'movearticle',
13911398 'movenologin',
13921399 'movenologintext',
 1400+ 'movenotallowed',
13931401 'newtitle',
13941402 'move-watch',
13951403 'movepagebtn',
@@ -1429,7 +1437,6 @@
14301438 'allmessagesdefault',
14311439 'allmessagescurrent',
14321440 'allmessagestext',
1433 - 'allmessagesnotsupportedUI',
14341441 'allmessagesnotsupportedDB',
14351442 'allmessagesfilter',
14361443 'allmessagesmodified',
Property changes on: branches/apiedit/phase3
___________________________________________________________________
Modified: svnmerge-integrated
14371444 - /trunk/phase3:1-24515
14381445 + /trunk/phase3:1-24562

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r24533API: Added various edit tokens to prop=info (except rollback - will be added ...yurik22:46, 1 August 2007

Status & tagging log