Mattflaschen has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/311856

Change subject: Add MessagePoster/Flow support to PageTriage, fix related issues
......................................................................

Add MessagePoster/Flow support to PageTriage, fix related issues

* Add MessagePoster support.  Part of this involves splitting of the topic 
titles,
  since this is a separate parameter to the MessagePoster.

  They were previously included in the templates; now the topic title is a 
separate
  content language message.

  This is shown as an XML diff.  We'll have to coordinate the
  deployment of the code with the new template content.

* That required adding some supporting code for content language messages.

* Minor cleanup to module initialization

Bug: T85030
Change-Id: Idb69f631a3da59bdb59edc44dbdc5399be28f6f6
---
M NewPagesFeed_Templates.xml
M PageTriage.hooks.php
M PageTriage.php
M api/ApiPageTriageTagging.php
M i18n/en.json
M i18n/qqq.json
M includes/PageTriageExternalDeletionTagsOptions.php
A includes/PageTriageMessagesModule.php
A modules/PageTriageMessagesModule.php
M modules/ext.pageTriage.article/ext.pageTriage.article.js
M 
modules/ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js
A modules/ext.pageTriage.init/ext.pageTriage.init.js
M modules/ext.pageTriage.models/ext.pageTriage.article.js
M modules/ext.pageTriage.models/ext.pageTriage.revision.js
M modules/ext.pageTriage.models/ext.pageTriage.stats.js
A modules/ext.pageTriage.util/ext.pageTriage.messageUtil.js
M modules/ext.pageTriage.util/ext.pageTriage.viewUtil.js
M modules/ext.pageTriage.views.toolbar/ext.pageTriage.delete.js
M modules/ext.pageTriage.views.toolbar/ext.pageTriage.mark.js
M modules/ext.pageTriage.views.toolbar/ext.pageTriage.tags.js
20 files changed, 570 insertions(+), 410 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PageTriage 
refs/changes/56/311856/1

diff --git a/NewPagesFeed_Templates.xml b/NewPagesFeed_Templates.xml
index 7fad9e1..7b07053 100644
--- a/NewPagesFeed_Templates.xml
+++ b/NewPagesFeed_Templates.xml
@@ -46,21 +46,19 @@
   <page>
     <title>Template:Db-notice-multiple-NPF</title>
     <ns>10</ns>
-    <id>36543481</id>
+    <id>2157</id>
     <revision>
-      <id>554949989</id>
-      <parentid>553198785</parentid>
-      <timestamp>2013-05-13T21:01:37Z</timestamp>
+      <id>5386</id>
+      <parentid>5159</parentid>
+      <timestamp>2016-09-17T00:56:17Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>making consistent with other Db-notice templates</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="20186">== Speedy deletion nomination 
of {{{1}}} ==
-
-Hello {{{{{|safesubst:}}}BASEPAGENAME}},
+      <text xml:space="preserve" bytes="20141">Hello 
{{{{{|safesubst:}}}BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[:{{{1}}}]] for deletion, because 
it seems to be inappropriate for {{{{{|safesubst:}}}#if: 
{{{{{|safesubst:}}}csdcheck | {{{2|}}} | {{{3|}}} | {{{4|}}} | {{{5|}}} | 
{{{6|}}} | {{{7|}}} | {{{8|}}} | {{{9|}}} | {{{10|}}} | {{{11|}}} | set = 
notice }}
 | the following reasons:
@@ -212,28 +210,25 @@
 
 {{Documentation}}
 &lt;/noinclude&gt;</text>
-      <sha1>iv1xgvmgzsh21hwjnfzfzgfikkv7jy4</sha1>
+      <sha1>jmc4grz548nwyozlxga9c3defcyhtq1</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-nonsense-notice-NPF</title>
     <ns>10</ns>
-    <id>36543657</id>
+    <id>2158</id>
     <revision>
-      <id>569575109</id>
-      <parentid>554950077</parentid>
-      <timestamp>2013-08-21T14:00:49Z</timestamp>
+      <id>5409</id>
+      <parentid>5161</parentid>
+      <timestamp>2016-09-19T21:25:25Z</timestamp>
       <contributor>
-        <username>SamX</username>
-        <id>18577160</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <minor/>
-      <comment>adding a colon for files and categories</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="899">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="854">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[:{{{1}}}]] for deletion, because 
it doesn't seem to have any encyclopedic content. 
 
@@ -241,28 +236,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>t3to721nrihoumkarbnla713c536epi</sha1>
+      <sha1>df8mzxmvv1o3owd28amy6u4ydqnifjz</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-test-notice-NPF</title>
     <ns>10</ns>
-    <id>36543710</id>
+    <id>2159</id>
     <revision>
-      <id>653508986</id>
-      <parentid>653506543</parentid>
-      <timestamp>2015-03-25T20:33:37Z</timestamp>
+      <id>5410</id>
+      <parentid>5163</parentid>
+      <timestamp>2016-09-19T21:26:32Z</timestamp>
       <contributor>
-        <username>MadGuy7023</username>
-        <id>16589187</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <minor/>
-      <comment>Reverted edits by [[Special:Contribs/SD0001|SD0001]] ([[User 
talk:SD0001|talk]]) to last version by YborCityJohn</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="971">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="926">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[:{{{1}}}]] for deletion, because 
it seems to be a test. Did you know that the [[Wikipedia:Sandbox|Wikipedia 
Sandbox]] is available for testing out edits?  
 
@@ -270,28 +262,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>rdi6kcm9xqxnghnf602qr34l6v1ezz6</sha1>
+      <sha1>ilejvzbpyahdvdicrff7jv72hdq5e0h</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-vandalism-notice-NPF</title>
     <ns>10</ns>
-    <id>36543864</id>
+    <id>2160</id>
     <revision>
-      <id>569575213</id>
-      <parentid>554949516</parentid>
-      <timestamp>2013-08-21T14:01:43Z</timestamp>
+      <id>5411</id>
+      <parentid>5165</parentid>
+      <timestamp>2016-09-19T21:27:29Z</timestamp>
       <contributor>
-        <username>SamX</username>
-        <id>18577160</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <minor/>
-      <comment>adding a colon for files and categories</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="885">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="840">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[:{{{1}}}]] for deletion, because 
it seems to be vandalism or a hoax. 
 
@@ -299,26 +288,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>gqz5wgdqcizs7t0ndgzp5k5ccm13cfs</sha1>
+      <sha1>h8uj5cryj4hs9n1t4mnylhcs1f63tli</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Uw-repost-NPF</title>
     <ns>10</ns>
-    <id>36543938</id>
+    <id>2161</id>
     <revision>
-      <id>680079911</id>
-      <parentid>680079782</parentid>
-      <timestamp>2015-09-08T15:55:16Z</timestamp>
+      <id>5412</id>
+      <parentid>5167</parentid>
+      <timestamp>2016-09-19T21:41:54Z</timestamp>
       <contributor>
-        <ip>84.92.129.87</ip>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>m ...fix tname</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="991">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="946">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it seems to be an article that was previously deleted by a [[Wikipedia:Deletion 
process|consensus decision]].  
 
@@ -326,25 +314,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions. &lt;!-- Template:Uw-repost-NPF 
--&gt;&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>pklica4zzgm5tcugzyo22tf5eo5kuc2</sha1>
+      <sha1>57idoldat5ocgfs6zpex117zz0ppbe2</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-author-notice-NPF</title>
     <ns>10</ns>
-    <id>36544049</id>
+    <id>2162</id>
     <revision>
-      <id>735663038</id>
-      <parentid>554950255</parentid>
-      <timestamp>2016-08-22T07:43:50Z</timestamp>
+      <id>5414</id>
+      <parentid>5169</parentid>
+      <timestamp>2016-09-19T21:47:17Z</timestamp>
       <contributor>
-        <username>Denis Denci Pekic</username>
-        <id>23496583</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>/* Speedy deletion nomination of {{{1}}} */</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="881">== Speedy deletion nomination of 
{{{1}}} =={{Db-autor}}
+      <text xml:space="preserve" bytes="838">{{Db-autor}}
 
 Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
@@ -354,49 +342,45 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>cqhpsmgnnvuyb4h80ffqo26sywwkk3p</sha1>
+      <sha1>jvsat73xudvtxl1v06pasrmdatmb93m</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-attack-notice-NPF</title>
     <ns>10</ns>
-    <id>36544071</id>
+    <id>2163</id>
     <revision>
-      <id>569575063</id>
-      <parentid>554950304</parentid>
-      <timestamp>2013-08-21T14:00:23Z</timestamp>
+      <id>5415</id>
+      <parentid>5171</parentid>
+      <timestamp>2016-09-19T21:49:51Z</timestamp>
       <contributor>
-        <username>SamX</username>
-        <id>18577160</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <minor/>
-      <comment>adding a colon for files and categories</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="529">== Speedy deletion nomination of 
[[:{{{1}}}]] ==
-[[Image:Stop hand nuvola.svg|30px|left|alt=|link=]] Please do not create pages 
that [[Wikipedia:Attack_page|attack, threaten, or disparage]] their subject. 
Attack pages and files '''are not tolerated''' by Wikipedia and are 
[[Wikipedia:Criteria for speedy deletion|speedily deleted]]. Users who create 
or add such material may be [[Wikipedia:Blocking policy|blocked]] from editing 
Wikipedia. Thank you.&lt;noinclude&gt;{{Documentation}}
+      <text xml:space="preserve" bytes="480">[[Image:Stop hand 
nuvola.svg|30px|left|alt=|link=]] Please do not create pages that 
[[Wikipedia:Attack_page|attack, threaten, or disparage]] their subject. Attack 
pages and files '''are not tolerated''' by Wikipedia and are 
[[Wikipedia:Criteria for speedy deletion|speedily deleted]]. Users who create 
or add such material may be [[Wikipedia:Blocking policy|blocked]] from editing 
Wikipedia. Thank you.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>kuy3j9vgi2624pek3g562tvoyl6rxc0</sha1>
+      <sha1>eu5sw2x9wzrtxabxjo30u34keomdxbm</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Spam-warn-NPF</title>
     <ns>10</ns>
-    <id>36544091</id>
+    <id>2156</id>
     <revision>
-      <id>554951181</id>
-      <parentid>553199126</parentid>
-      <timestamp>2013-05-13T21:09:39Z</timestamp>
+      <id>5416</id>
+      <parentid>5173</parentid>
+      <timestamp>2016-09-19T22:03:17Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="936">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="891">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it seems to be [[Wikipedia:Promotion|promotional]], rather than an encyclopedia 
article.
 
@@ -404,27 +388,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>kinuyb9wm4qk83wc2rr0w0m0sfgty5q</sha1>
+      <sha1>ogr1tcyenh83z1nb6fl73903g3rh2wx</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Nothanks-sd-NPF</title>
     <ns>10</ns>
-    <id>36544108</id>
+    <id>2164</id>
     <revision>
-      <id>572132539</id>
-      <parentid>570886161</parentid>
-      <timestamp>2013-09-09T01:39:27Z</timestamp>
+      <id>5417</id>
+      <parentid>5175</parentid>
+      <timestamp>2016-09-19T22:04:04Z</timestamp>
       <contributor>
-        <username>Plastikspork</username>
-        <id>5075409</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>Closed</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="945">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="900">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it seems to be [[Wikipedia:Copyright violations|copied from another source]]. 
 
@@ -433,27 +415,25 @@
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]
 &lt;/noinclude&gt;</text>
-      <sha1>2312axsgb0vr18d7tg8f4jb45cou3ms</sha1>
+      <sha1>kuie2qh9s5472eg5qfsma9eyiqo62nx</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Empty-warn-NPF</title>
     <ns>10</ns>
-    <id>36544122</id>
+    <id>2165</id>
     <revision>
-      <id>554950573</id>
-      <parentid>553198879</parentid>
-      <timestamp>2013-05-13T21:05:26Z</timestamp>
+      <id>5403</id>
+      <parentid>5177</parentid>
+      <timestamp>2016-09-19T20:54:56Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="902">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="857">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it's too short to identify the subject of the article.
 
@@ -461,27 +441,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>e95mhd3cqu69xn79v8144hzrooir1pd</sha1>
+      <sha1>bjfhzukcrpfsp61j4swf8v3s8i5oiht</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-foreign-notice-NPF</title>
     <ns>10</ns>
-    <id>36544157</id>
+    <id>2166</id>
     <revision>
-      <id>554950153</id>
-      <parentid>553198668</parentid>
-      <timestamp>2013-05-13T21:02:50Z</timestamp>
+      <id>5404</id>
+      <parentid>5179</parentid>
+      <timestamp>2016-09-19T21:19:45Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="1089">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="1044">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it's not written in English. To request a translation, please visit the 
[[Wikipedia:Translation|translation]] page. If you'd like to contribute to 
another Wikipedia, take a look at our 
[[meta:List_of_Wikipedias#All_Wikipedias_ordered_by_number_of_articles|full 
list of language projects]]. 
 
@@ -489,27 +467,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>8tik7okbe4f6zq10kbp0tjhyfpnqvb1</sha1>
+      <sha1>8norxjapy1xrj8ffj7wzb6aepkv5l3w</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Nocontent-warn-NPF</title>
     <ns>10</ns>
-    <id>36544170</id>
+    <id>2167</id>
     <revision>
-      <id>554950683</id>
-      <parentid>553198903</parentid>
-      <timestamp>2013-05-13T21:06:16Z</timestamp>
+      <id>5405</id>
+      <parentid>5181</parentid>
+      <timestamp>2016-09-19T21:21:23Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="1060">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="1015">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it doesn't appear to contain any encyclopedic content. Take a look at our 
[[Wikipedia:Stub#Essential information about stubs|suggestions for essential 
content]] in short articles to learn what should be included.
 
@@ -517,7 +493,7 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>p2w4exlcbms79cyxysrdx4906cofpwx</sha1>
+      <sha1>agw0482icy7d5vynwkzq2yke39df3m1</sha1>
     </revision>
   </page>
   <page>
@@ -551,21 +527,19 @@
   <page>
     <title>Template:Db-notability-notice-NPF</title>
     <ns>10</ns>
-    <id>36544223</id>
+    <id>2169</id>
     <revision>
-      <id>554944775</id>
-      <parentid>553198703</parentid>
-      <timestamp>2013-05-13T20:26:42Z</timestamp>
+      <id>5406</id>
+      <parentid>5185</parentid>
+      <timestamp>2016-09-19T21:22:14Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="950">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="905">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
the article doesn't clearly say why the subject is important enough to be 
included in an encyclopedia.
 
@@ -573,27 +547,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>26l767alswhhq54c0rtr7lgbbmb7r1f</sha1>
+      <sha1>fcudybyazc6xe5dozjz24koaqelvigw</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-a9-notice-NPF</title>
     <ns>10</ns>
-    <id>36544240</id>
+    <id>2170</id>
     <revision>
-      <id>554949249</id>
-      <parentid>553198593</parentid>
-      <timestamp>2013-05-13T20:56:44Z</timestamp>
+      <id>5407</id>
+      <parentid>5187</parentid>
+      <timestamp>2016-09-19T21:23:40Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="992">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="947">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
the article doesn't clearly say why the subject is significant enough to be 
included in an encyclopedia, and the artist doesn't have an article.
 
@@ -601,27 +573,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>mhygwd4i3eydwamnpyejyhi9ofobidl</sha1>
+      <sha1>68z4ia34hckc5cffohwytxkm0l1l2jq</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-a10-notice-NPF</title>
     <ns>10</ns>
-    <id>36544270</id>
+    <id>2171</id>
     <revision>
-      <id>577676677</id>
-      <parentid>554949305</parentid>
-      <timestamp>2013-10-18T06:41:49Z</timestamp>
+      <id>5408</id>
+      <parentid>5189</parentid>
+      <timestamp>2016-09-19T21:24:22Z</timestamp>
       <contributor>
-        <username>Ironholds</username>
-        <id>6804626</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fix?</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="888">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="843">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it appears to duplicate an existing Wikipedia article, [[{{{article}}}]].
 
@@ -629,7 +599,7 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>c3t527slsnjg2grzwib481pzojhuvu7</sha1>
+      <sha1>kkce52hu3auavgd8mr8efn3etw0jfyh</sha1>
     </revision>
   </page>
   <page>
@@ -691,21 +661,19 @@
   <page>
     <title>Template:Db-u2-notice-NPF</title>
     <ns>10</ns>
-    <id>36544351</id>
+    <id>2174</id>
     <revision>
-      <id>554949621</id>
-      <parentid>553198833</parentid>
-      <timestamp>2013-05-13T20:59:09Z</timestamp>
+      <id>5418</id>
+      <parentid>5195</parentid>
+      <timestamp>2016-09-19T22:05:04Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="858">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="813">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it seems to be a page for an account that does not exist.
 
@@ -713,27 +681,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>fgo8nakrn45lhx7ycv6g02w16xtq0r7</sha1>
+      <sha1>758x0a4hgilf5hinj52ygm246opfzmq</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Db-gallery-notice-NPF</title>
     <ns>10</ns>
-    <id>36544364</id>
+    <id>2175</id>
     <revision>
-      <id>554950107</id>
-      <parentid>553198675</parentid>
-      <timestamp>2013-05-13T21:02:31Z</timestamp>
+      <id>5419</id>
+      <parentid>5197</parentid>
+      <timestamp>2016-09-19T22:05:48Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="885">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="840">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
we are not allowed to place copyrighted images within user pages for any reason.
 
@@ -741,26 +707,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>0enilnwdk65vpprw6n8dhgb1lt1tyjt</sha1>
+      <sha1>0t4sr699rykb71y69cszdh0awuunv3y</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Proposed deletion notify-NPF</title>
     <ns>10</ns>
-    <id>36544418</id>
+    <id>2176</id>
     <revision>
-      <id>554950971</id>
-      <parentid>554950863</parentid>
-      <timestamp>2013-05-13T21:08:03Z</timestamp>
+      <id>5420</id>
+      <parentid>5199</parentid>
+      <timestamp>2016-09-19T22:07:20Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>making consistent with other pagetriage delete 
templates</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="1027">== [[Wikipedia:Proposed 
deletion|Proposed deletion]] of [[{{{1}}}]] ==
-&lt;!--&lt;includeonly&gt;}}&lt;/includeonly&gt;--&gt;
+      <text xml:space="preserve" 
bytes="956">&lt;!--&lt;includeonly&gt;}}&lt;/includeonly&gt;--&gt;
 Hello, {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}. I 
wanted to let you know that I’m proposing an article that you started, 
[[{{{1}}}]], for deletion because I don't think it meets our criteria for 
inclusion. If you don't want the article deleted:
 
 # 
[http://en.wikipedia.org/w/index.php?title={{urlencode:{{{1}}}}}&amp;action=edit
 edit the page]
@@ -771,26 +736,25 @@
 
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>7mrdszyhu0tqq7x9hvvyl5gi573pgl3</sha1>
+      <sha1>9mime4n74zxk3ghfpsmznp4eag6hg3g</sha1>
     </revision>
   </page>
   <page>
     <title>Template:ProdwarningBLP-NPF</title>
     <ns>10</ns>
-    <id>36544454</id>
+    <id>2177</id>
     <revision>
-      <id>554950781</id>
-      <parentid>553198929</parentid>
-      <timestamp>2013-05-13T21:06:54Z</timestamp>
+      <id>5395</id>
+      <parentid>5201</parentid>
+      <timestamp>2016-09-17T01:20:45Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="775">== [[Wikipedia:Proposed 
deletion|Proposed deletion]] of [[{{{1}}}]] ==
-&lt;!--&lt;includeonly&gt;}}&lt;/includeonly&gt;--&gt;
+      <text xml:space="preserve" 
bytes="704">&lt;!--&lt;includeonly&gt;}}&lt;/includeonly&gt;--&gt;
 
 Hello, {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}. I 
wanted to let you know that I’m proposing an article that you started, 
[[{{{1}}}]], for deletion because it's a [[Wikipedia:Biographies of living 
persons|biography of a living person]] that lacks references. If you don't want 
{{{1}}}  to be deleted, please [[Wikipedia:Citing sources|add a reference]] to 
the article. 
 
@@ -798,26 +762,25 @@
 
 Thanks,&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>fd8vx0avugtqy6p1mvf63u24g2pvxr5</sha1>
+      <sha1>4uyt1hqzv25x9dkr231hqj9aqcy01xv</sha1>
     </revision>
   </page>
   <page>
     <title>Template:AfD-notice-NPF</title>
     <ns>10</ns>
-    <id>36544498</id>
+    <id>2178</id>
     <revision>
-      <id>554950393</id>
-      <parentid>553198560</parentid>
-      <timestamp>2013-05-13T21:04:26Z</timestamp>
+      <id>5421</id>
+      <parentid>5203</parentid>
+      <timestamp>2016-09-19T22:13:11Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="740">== Deletion discussion about 
[[{{{1}}}]] ==
-Hello, {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}, 
+      <text xml:space="preserve" bytes="696">Hello, 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}, 
 
 I wanted to let you know that there's a discussion about whether {{{1}}} 
should be deleted. Your comments are welcome at  [[Wikipedia:Articles for 
deletion/{{{1}}} {{{order|}}}]]. 
 
@@ -825,84 +788,77 @@
 
 Thanks,&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>aunxedrz1uun76vrp0ssgjdvf2oaf50</sha1>
+      <sha1>h4c0mzjd7n1gh4hrmwf8rve2pb64y6v</sha1>
     </revision>
   </page>
   <page>
     <title>Template:RFDNote-NPF</title>
     <ns>10</ns>
-    <id>36544533</id>
+    <id>2179</id>
     <revision>
-      <id>554951132</id>
-      <parentid>553199075</parentid>
-      <timestamp>2013-05-13T21:09:19Z</timestamp>
+      <id>5422</id>
+      <parentid>5205</parentid>
+      <timestamp>2016-09-19T23:08:37Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="498">== Deletion discussion about 
{{{1}}}  ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="456">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I've asked for a deletion discussion about the 
redirect [[{{{1}}}]]. If you're interested in participating in this discussion, 
please leave your comments [[Wikipedia:Redirects for 
discussion/Log/{{&lt;includeonly&gt;subst:&lt;/includeonly&gt;#time:Y F 
j|-{{{days|0}}} days}}#{{{2|{{{1}}}}}}|here]].&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>swzcxbj3bsv4p4c38taz6sm7bujss9r</sha1>
+      <sha1>shixqwghtb2ux2qfvt0ldhn5aa6meje</sha1>
     </revision>
   </page>
   <page>
     <title>Template:MFDWarning-NPF</title>
     <ns>10</ns>
-    <id>36544559</id>
+    <id>2180</id>
     <revision>
-      <id>554950629</id>
-      <parentid>553198885</parentid>
-      <timestamp>2013-05-13T21:05:53Z</timestamp>
+      <id>5423</id>
+      <parentid>5207</parentid>
+      <timestamp>2016-09-19T23:15:00Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="642">== Deletion discussion about 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="601">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just nominated [[{{{1}}}]] for 
[[WP:MfD|deletion]], because I don't feel that it's appropriate for Wikipedia. 
You can participate in this deletion discussion at [[Wikipedia:Miscellany for 
deletion/{{{1}}}]].  If you would like to edit {{{1}}}  according to the 
feedback in the discussion, you're welcome to do so (but please don't remove 
the deletion tag from the top of the page).&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]
 [[Category:Miscellany for deletion templates]]
 &lt;/noinclude&gt;</text>
-      <sha1>1rkrc8936ox9yle7aepoufd7uito2qe</sha1>
+      <sha1>slsm6uriauu89gkfyv4sw0rrfy4nzox</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Taggednote-NPF</title>
     <ns>10</ns>
-    <id>36651065</id>
+    <id>2181</id>
     <revision>
-      <id>552354029</id>
-      <parentid>513723909</parentid>
-      <timestamp>2013-04-27T00:58:50Z</timestamp>
+      <id>5450</id>
+      <parentid>5209</parentid>
+      <timestamp>2016-09-20T01:08:07Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>removing extra whitespace</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="607">
-== Ways to improve {{{1}}} ==
-
-Hi, I'm {{{2}}}. 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}, thanks for 
creating [[{{{1}}}]]!
+      <text xml:space="preserve" bytes="575">Hi, I'm {{{2}}}. 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}, thanks for 
creating [[{{{1}}}]]!
 
 I've just tagged the page, using our [[Wikipedia:Page Curation/Help|page 
curation]] tools, as having some issues to fix. {{{3}}}
 
 The tags can be removed by you or another editor once the issues they mention 
are addressed. If you have questions, you can leave a comment on [[User 
talk:{{{2}}}|my talk page]]. Or, for more editing help, talk to the volunteers 
at [[WP:TEAHOUSE|the Teahouse]].&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>owezfv7eiyw52tlff6jqvm27g0f5c5a</sha1>
+      <sha1>53uzh72t71wgrwnn0o0v1lurwvu1k1a</sha1>
     </revision>
   </page>
   <page>
@@ -952,21 +908,19 @@
   <page>
     <title>Template:Reviewednote-NPF</title>
     <ns>10</ns>
-    <id>36651027</id>
+    <id>2184</id>
     <revision>
-      <id>560183934</id>
-      <parentid>552354752</parentid>
-      <timestamp>2013-06-16T18:13:17Z</timestamp>
+      <id>5451</id>
+      <parentid>5215</parentid>
+      <timestamp>2016-09-20T01:09:45Z</timestamp>
       <contributor>
-        <username>MZMcBride</username>
-        <id>212624</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>include page title in section header to avoid identical headers 
on the same talk page (cf. [[bugzilla:49644]])</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="508">== A page you started ({{{1}}}) 
has been reviewed! ==
-
-Thanks for creating [[{{{1}}}]], 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}! 
+      <text xml:space="preserve" bytes="453">Thanks for creating [[{{{1}}}]], 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}!
 
 Wikipedia editor [[User:{{{2}}}|{{{2}}}]] just reviewed your page, and wrote 
this note for you:
 
@@ -976,49 +930,45 @@
 
 &lt;small&gt;Learn more about [[Wikipedia:New Pages Feed/Help|page 
curation]].&lt;/small&gt;&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>g5u1op2ngve1myyvw0yx2ukjjam7rhs</sha1>
+      <sha1>8hs82wy02ol9fnl27mu44yftw37x0sj</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Unreviewednonote-NPF</title>
     <ns>10</ns>
-    <id>37357245</id>
+    <id>2185</id>
     <revision>
-      <id>554951934</id>
-      <parentid>538459015</parentid>
-      <timestamp>2013-05-13T21:15:11Z</timestamp>
+      <id>5455</id>
+      <parentid>5449</parentid>
+      <timestamp>2016-09-20T01:23:37Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>removing extra whitespace</comment>
+      <comment>remove signature; this template is used for NPF which has its 
own signature-handling based on MessagePoster</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="362">== I have unreviewed a page you 
curated ==
-
-Hi, I'm {{{1}}}. I wanted to let you know that I saw the page you reviewed, 
[[{{{2}}}]], and have un-reviewed it again. If you have any questions, please 
ask them on [[User_talk:{{{1}}}|my talk page]]. Thank you. 
~~&lt;noinclude&gt;&lt;/noinclude&gt;~~&lt;noinclude&gt;{{Documentation}}
+      <text xml:space="preserve" bytes="291">Hi, I'm {{{1}}}. I wanted to let 
you know that I saw the page you reviewed, [[{{{2}}}]], and have un-reviewed it 
again. If you have any questions, please ask them on [[User_talk:{{{1}}}|my 
talk page]]. Thank you. &lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>dq9prrhgdfluzkcuaxuczj7q82lvdid</sha1>
+      <sha1>in5690law5gxlm9yn6ik9m82nmt0e9m</sha1>
     </revision>
   </page>
   <page>
     <title>Template:Unreviewednote-NPF</title>
     <ns>10</ns>
-    <id>37357250</id>
+    <id>2186</id>
     <revision>
-      <id>554951442</id>
-      <parentid>518326898</parentid>
-      <timestamp>2013-05-13T21:11:29Z</timestamp>
+      <id>5448</id>
+      <parentid>5219</parentid>
+      <timestamp>2016-09-20T01:06:21Z</timestamp>
       <contributor>
-        <username>Kaldari</username>
-        <id>59944</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>fixing sig problem</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="427">== I have unreviewed a page you 
curated ==
-
-Thanks for reviewing [[{{{1}}}]], 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}. 
+      <text xml:space="preserve" bytes="383">Thanks for reviewing [[{{{1}}}]], 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}}.
 
 Unfortunately [[User:{{{2}}}|{{{2}}}]] has just gone over this page again and 
unreviewed it. Their note is:
 
@@ -1026,7 +976,7 @@
 
 To reply, leave a comment on {{{2}}}'s [[User talk:{{{2}}}|talk 
page]].&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]&lt;/noinclude&gt;</text>
-      <sha1>37ywssfpb33hjlk38wquwgfaghc1tif</sha1>
+      <sha1>ivu5oz5xb6fcs0izxh8pp93or4emu7j</sha1>
     </revision>
   </page>
   <page>
@@ -1205,21 +1155,19 @@
   <page>
     <title>Template:Db-banned-notice-NPF</title>
     <ns>10</ns>
-    <id>40405094</id>
+    <id>2188</id>
     <revision>
-      <id>572132512</id>
-      <parentid>571051519</parentid>
-      <timestamp>2013-09-09T01:39:14Z</timestamp>
+      <id>5413</id>
+      <parentid>5223</parentid>
+      <timestamp>2016-09-19T21:43:31Z</timestamp>
       <contributor>
-        <username>Plastikspork</username>
-        <id>5075409</id>
+        <username>Admin</username>
+        <id>1</id>
       </contributor>
-      <comment>Closed</comment>
+      <comment>remove topic title; moved to content language message</comment>
       <model>wikitext</model>
       <format>text/x-wiki</format>
-      <text xml:space="preserve" bytes="979">== Speedy deletion nomination of 
{{{1}}} ==
-
-Hello {{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
+      <text xml:space="preserve" bytes="934">Hello 
{{&lt;includeonly&gt;safesubst:&lt;/includeonly&gt;BASEPAGENAME}},
 
 I wanted to let you know that I just tagged [[{{{1}}}]] for deletion, because 
it seems to be an article that was created [[Wikipedia:Sock puppetry|in 
violation of a block or ban]]. Content created by banned users will be deleted 
immediately.
 
@@ -1228,7 +1176,7 @@
 You can leave a note on 
[[User_talk:&lt;includeonly&gt;{{sub&lt;noinclude&gt;&lt;/noinclude&gt;st:REVISIONUSER}}&lt;/includeonly&gt;&lt;noinclude&gt;Example&lt;/noinclude&gt;|my
 talk page]] if you have questions.&lt;noinclude&gt;{{Documentation}}
 [[Category:New Pages Feed templates]]
 &lt;/noinclude&gt;</text>
-      <sha1>prszaxot5ond88lzibmoivk5vinwjso</sha1>
+      <sha1>s8qs4wzq20lb966ydvucjk5i7wzilek</sha1>
     </revision>
   </page>
   <page>
diff --git a/PageTriage.hooks.php b/PageTriage.hooks.php
index 9525dbd..2996298 100755
--- a/PageTriage.hooks.php
+++ b/PageTriage.hooks.php
@@ -497,14 +497,32 @@
         * @return bool true
         */
        public static function onResourceLoaderRegisterModules( 
&$resourceLoader ) {
+                       global 
$wgPageTriageDeletionTagsOptionsContentLanguageMessages;
+
                $template = [
                        'localBasePath' => __DIR__. '/modules',
                        'remoteExtPath' => 'PageTriage/modules'
                ];
 
-               $module = $template + [
+               $messagesModule = [
+                       'class' => 'PageTriageMessagesModule',
+                       'contentLanguageMessages' => array_merge(
+                               [
+                                       
'pagetriage-mark-mark-talk-page-notify-topic-title',
+                                       
'pagetriage-mark-unmark-talk-page-notify-topic-title',
+                                       
'pagetriage-tags-talk-page-notify-topic-title',
+                               ],
+                               
$wgPageTriageDeletionTagsOptionsContentLanguageMessages
+                       ),
+               ];
+
+               $resourceLoader->register( 'ext.pageTriage.messages', 
$messagesModule );
+
+               $viewsToolbarModule = $template + [
                        'dependencies' => [
                                'mediawiki.jqueryMsg',
+                               'mediawiki.messagePoster',
+                               'mediawiki.Title',
                                'ext.pageTriage.models',
                                'ext.pageTriage.util',
                                'jquery.badge',
@@ -513,7 +531,8 @@
                                'jquery.spinner',
                                'jquery.client',
                                'ext.pageTriage.externalTagsOptions',
-                               'ext.pageTriage.externalDeletionTagsOptions'
+                               'ext.pageTriage.externalDeletionTagsOptions',
+                               'ext.pageTriage.messages',
                        ],
                        'scripts' => [
                                
'ext.pageTriage.views.toolbar/ext.pageTriage.toolView.js', // abstract class 
first
@@ -607,19 +626,17 @@
                                'pagetriage-edits',
                                'pagetriage-categories',
                                'pagetriage-add-tag-confirmation',
-                               'pagetriage-tags-note-edit-summary',
-                               'pagetriage-del-talk-page-notify-summary',
                                'pagetriage-tag-deletion-error',
                                'pagetriage-toolbar-close',
                                'pagetriage-toolbar-minimize',
                                'pagetriage-tag-warning-notice'
-                       ]
+                       ],
                ];
 
                if ( ExtensionRegistry::getInstance()->isLoaded( 'WikiLove' ) ) 
{
-                       $module['scripts'][] = 
'ext.pageTriage.views.toolbar/ext.pageTriage.wikilove.js';
-                       $module['styles'][] = 
'ext.pageTriage.views.toolbar/ext.pageTriage.wikilove.css';
-                       $module['messages'] = array_merge( $module['messages'], 
[
+                       $viewsToolbarModule['scripts'][] = 
'ext.pageTriage.views.toolbar/ext.pageTriage.wikilove.js';
+                       $viewsToolbarModule['styles'][] = 
'ext.pageTriage.views.toolbar/ext.pageTriage.wikilove.css';
+                       $viewsToolbarModule['messages'] = array_merge( 
$viewsToolbarModule['messages'], [
                                'pagetriage-wikilove-page-creator',
                                'pagetriage-wikilove-edit-count',
                                'pagetriage-wikilove-helptext',
@@ -630,7 +647,7 @@
                        ] );
                }
 
-               $resourceLoader->register( 'ext.pageTriage.views.toolbar', 
$module );
+               $resourceLoader->register( 'ext.pageTriage.views.toolbar', 
$viewsToolbarModule );
        }
 
        /**
diff --git a/PageTriage.php b/PageTriage.php
index f490b87..7cbe677 100644
--- a/PageTriage.php
+++ b/PageTriage.php
@@ -135,6 +135,9 @@
        . 'includes/PageTriageExternalTagsOptions.php';
 $wgAutoloadClasses['PageTriageExternalDeletionTagsOptions'] = $dir
        . 'includes/PageTriageExternalDeletionTagsOptions.php';
+$wgAutoloadClasses['PageTriageMessagesModule'] = $dir
+       . 'includes/PageTriageMessagesModule.php';
+
 $wgAutoloadClasses['PageTriageLogFormatter'] = $dir
        . 'includes/PageTriageLogFormatter.php';
 $wgAutoloadClasses['PageTriagePresentationModel'] = $dir
@@ -213,7 +216,10 @@
 // where can the template API find the templates?
 $wgPtTemplatePath = $ptResourceTemplate['localBasePath'];
 
-// Tags options message
+// Tag option messages, in the UI language
+//
+// Must be overriden in LocalSettings.php equivalent (as needed) if
+// MediaWiki:PageTriageExternalTagsOptions.js is.
 $wgPageTriageTagsOptionsMessages = [
        'pagetriage-tags-title',
        'pagetriage-tags-cat-common-label',
@@ -367,7 +373,10 @@
        'pagetriage-tags-tooltip',
 ];
 
-// Deletion Tags options message
+// Deletion tag option messages, in the UI language
+//
+// Must be overriden in LocalSettings.php equivalent (as needed) if
+// MediaWiki:PageTriageExternalDeletionTagsOptions.js is.
 $wgPageTriageDeletionTagsOptionsMessages = [
        'pagetriage-del-tags-cat-csd-label',
        'pagetriage-del-tags-cat-csd-desc',
@@ -426,6 +435,16 @@
        'pagetriage-tags-param-source-label',
 ];
 
+// Deletion tag option messages, in the wiki's content language
+//
+// Must be overriden in LocalSettings.php equivalent (as needed) if
+// MediaWiki:PageTriageExternalDeletionTagsOptions.js is.
+$wgPageTriageDeletionTagsOptionsContentLanguageMessages = [
+       'pagetriage-del-tags-prod-notify-topic-title',
+       'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
+       'pagetriage-del-tags-xfd-notify-topic-title',
+];
+
 $wgResourceModules['ext.pageTriage.external'] = $ptResourceTemplate + [
        'scripts' => [
                'external/underscore.js',
@@ -476,20 +495,33 @@
        ]
 ];
 
+$wgResourceModules['ext.pageTriage.init'] = $ptResourceTemplate + [
+       'scripts' => [
+               'ext.pageTriage.init/ext.pageTriage.init.js',
+       ],
+       'dependencies' => [
+               'ext.pageTriage.external',
+       ],
+];
+
 $wgResourceModules['ext.pageTriage.util'] = $ptResourceTemplate + [
        'scripts' => [
-               'ext.pageTriage.util/ext.pageTriage.viewUtil.js' // convenience 
functions for all views
+               'ext.pageTriage.util/ext.pageTriage.viewUtil.js', // 
convenience functions for all views
+               'ext.pageTriage.util/ext.pageTriage.messageUtil.js', // Message 
infrastructure (e.g. for content language messages)
        ],
        'messages' => [
                'pagetriage-api-error'
-       ]
+       ],
+       'dependencies' => [
+               'ext.pageTriage.init',
+       ],
 ];
 
 $wgResourceModules['ext.pageTriage.models'] = $ptResourceTemplate + [
        'dependencies' => [
                'mediawiki.Title',
                'mediawiki.user',
-               'ext.pageTriage.external'
+               'ext.pageTriage.init',
        ],
        'scripts' => [
                'ext.pageTriage.models/ext.pageTriage.article.js',
@@ -504,7 +536,7 @@
                'pagetriage-page-status-reviewed',
                'pagetriage-page-status-delete',
                'pagetriage-page-status-reviewed-anonymous'
-       ]
+       ],
 ];
 
 $wgResourceModules['jquery.tipoff'] = $ptResourceTemplate + [
@@ -626,7 +658,8 @@
                . 'ext.pageTriage.defaultDeletionTagsOptions.js',
        'messages' => $wgPageTriageDeletionTagsOptionsMessages,
        'dependencies' => [
-               'mediawiki.Title'
+               'mediawiki.Title',
+               'ext.pageTriage.messages',
        ]
 ];
 
@@ -645,6 +678,9 @@
                        'pagetriage-reviewed',
                        'pagetriage-mark-as-reviewed-error',
        ],
+       'dependencies' => [
+               'ext.pageTriage.init',
+       ],
 ];
 
 /** Rate limit setting for PageTriage **/
diff --git a/api/ApiPageTriageTagging.php b/api/ApiPageTriageTagging.php
index 42fc47a..17c84e6 100644
--- a/api/ApiPageTriageTagging.php
+++ b/api/ApiPageTriageTagging.php
@@ -66,12 +66,12 @@
                if ( $apiParams ) {
                        $projectLink = '[['
                                . $wgPageTriageProjectLink . '|'
-                               . wfMessage( 'pagetriage-pagecuration' 
)->plain()
+                               . wfMessage( 'pagetriage-pagecuration' 
)->inContentLanguage()->plain()
                                . ']]';
                        if ( $params['deletion'] ) {
-                               $editSummary = wfMessage( 
'pagetriage-del-edit-summary', $projectLink, $tags )->plain();
+                               $editSummary = wfMessage( 
'pagetriage-del-edit-summary', $projectLink, $tags 
)->inContentLanguage()->plain();
                        } else {
-                               $editSummary = wfMessage( 
'pagetriage-tags-edit-summary', $projectLink, $tags )->plain();
+                               $editSummary = wfMessage( 
'pagetriage-tags-edit-summary', $projectLink, $tags 
)->inContentLanguage()->plain();
                        }
 
                        // tagging something for deletion should automatically 
watchlist it
diff --git a/i18n/en.json b/i18n/en.json
index 06216eb..765719a 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -3,7 +3,8 @@
                "authors": [
                        "Ryan Kaldari",
                        "Benny Situ",
-                       "Ian Baker"
+                       "Ian Baker",
+                       "Matthew Flaschen"
                ]
        },
        "pagetriage": "Page Triage",
@@ -238,6 +239,7 @@
        "pagetriage-tags-update-label": "Update",
        "pagetriage-tags-update-desc": "This page needs additional up-to-date 
information added.",
        "pagetriage-tags-tooltip": "Add tags to indicate areas of improvement 
for this page",
+       "pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title": 
"Speedy deletion nomination of $1",
        "pagetriage-del-tags-cat-csd-label": "Speedy deletion",
        "pagetriage-del-tags-cat-csd-desc": "Mark this page for speedy deletion 
if it fits one of the criteria below.",
        "pagetriage-del-tags-cat-prod-label": "Proposed deletion",
@@ -281,10 +283,13 @@
        "pagetriage-del-tags-blpprod-desc": "An article about a living person 
that has no sources",
        "pagetriage-del-tags-prod-label": "Proposed Deletion",
        "pagetriage-del-tags-prod-desc": "Uncontroversial deletions that do not 
meet any speedy deletion criteria",
+       "pagetriage-del-tags-prod-notify-topic-title": "[[Wikipedia:Proposed 
deletion|Proposed deletion]] of [[$1]]",
+       "pagetriage-del-tags-xfd-notify-topic-title": "Deletion discussion 
about [[$1]]",
        "pagetriage-del-tags-articlefordeletion-label": "Articles for deletion",
        "pagetriage-del-tags-redirectsfordiscussion-label": "Redirects for 
discussion",
        "pagetriage-del-tags-miscellanyfordeletion-label": "Miscellany for 
deletion",
-       "pagetriage-del-talk-page-notify-summary": "Notifying author of 
deletion nomination for [[$1]]",
+       "pagetriage-mark-mark-talk-page-notify-topic-title": "A page 
{{GENDER:|you}} started ($1) has been reviewed!",
+       "pagetriage-mark-unmark-talk-page-notify-topic-title": "I have 
unreviewed a page {{GENDER:|you}} curated",
        "pagetriage-tags-param-article-label": "Article:",
        "pagetriage-tags-param-date-label": "Date:",
        "pagetriage-tags-param-issues-label": "Describe issues to be 
addressed:",
@@ -297,6 +302,7 @@
        "pagetriage-tags-param-free-no-label": "No",
        "pagetriage-tags-param-missing-required": "Tag $1 is missing required 
parameter.",
        "pagetriage-tags-param-date-format": "$1 $2",
+       "pagetriage-tags-talk-page-notify-topic-title": "Ways to improve $1",
        "log-name-pagetriage-curation": "Page curation log",
        "log-description-pagetriage-curation": "This is the log of actions 
taken on page curation toolbar.",
        "log-name-pagetriage-deletion": "Deletion tag log",
@@ -307,7 +313,6 @@
        "logentry-pagetriage-curation-delete": "$1 {{GENDER:$2|marked}} $3 for 
deletion with $4 {{PLURAL:$5|tag|tags}}",
        "logentry-pagetriage-deletion-delete": "$1 {{GENDER:$2|marked}} $3 for 
deletion with $4 {{PLURAL:$5|tag|tags}}",
        "pagetriage-tags-edit-summary": "Added tags to the page using $1 ($2)",
-       "pagetriage-tags-note-edit-summary": "Added comments regarding [[$1]]",
        "pagetriage-del-edit-summary": "Nominated page for deletion using $1 
($2)",
        "pagetriage-del-tags-param-discussion-label": "Please explain why this 
article should be deleted, and provide links to the relevant policies wherever 
possible",
        "pagetriage-info-title": "Page info",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 3ae0cf6..a48b4a7 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -15,7 +15,8 @@
                        "Siebrand",
                        "아라",
                        "Liuxinyu970226",
-                       "Umherirrender"
+                       "Umherirrender",
+                       "Matthew Flaschen"
                ]
        },
        "pagetriage": "The name of this application (Page Triage)",
@@ -250,6 +251,7 @@
        "pagetriage-tags-update-label": "Label for update 
tag.\n{{Identical|Update}}",
        "pagetriage-tags-update-desc": "Description for update tag",
        "pagetriage-tags-tooltip": "Help message that displays when someone 
hovers over the tag wizard button",
+       "pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title": 
"Topic title used for talk page notification when there are multiple reasons an 
article is eligible for speedy deletion.  Parameters:\n* $1 - Name of page that 
was marked for deletion",
        "pagetriage-del-tags-cat-csd-label": "Label for speedy deletion 
category",
        "pagetriage-del-tags-cat-csd-desc": "Description for speedy deletion 
category",
        "pagetriage-del-tags-cat-prod-label": "Label for proposed deletion 
category",
@@ -293,10 +295,13 @@
        "pagetriage-del-tags-blpprod-desc": "Description for blp-prod tag",
        "pagetriage-del-tags-prod-label": "Label for prod tag",
        "pagetriage-del-tags-prod-desc": "Description for prod tag",
+       "pagetriage-del-tags-prod-notify-topic-title": "Topic title used for 
talk page notification, when page is marked for prod deletion",
+       "pagetriage-del-tags-xfd-notify-topic-title": "Topic title used for 
talk page notification, when page is nominated for AFD deletion",
        "pagetriage-del-tags-articlefordeletion-label": "Label for articles for 
deletion tag",
        "pagetriage-del-tags-redirectsfordiscussion-label": "Label for 
redirects for discussion tag",
        "pagetriage-del-tags-miscellanyfordeletion-label": "Label for 
miscellany for deletion tag",
-       "pagetriage-del-talk-page-notify-summary": "Edit summary for notifying 
an author when their page has been nominated for deletion. $1 is the title of 
the page being nominated.",
+       "pagetriage-mark-mark-talk-page-notify-topic-title": "Talk page header 
used when notifying an author that their page has been reviewed.  
Parameters:\n* $1 - Title of the page that was reviewed",
+       "pagetriage-mark-unmark-talk-page-notify-topic-title": "Talk page 
header used when notifying a reviewer that a page they reviewed has been marked 
as unreviewed",
        "pagetriage-tags-param-article-label": "Label for article 
parameter.\n{{Identical|Article}}",
        "pagetriage-tags-param-date-label": "Label for date 
parameter.\n{{Identical|Date}}",
        "pagetriage-tags-param-issues-label": "Label for reason/details 
parameter",
@@ -308,7 +313,8 @@
        "pagetriage-tags-param-free-yes-label": "Label for Yes answer of free 
parameter.\n{{Identical|Yes}}",
        "pagetriage-tags-param-free-no-label": "Label for No answer of free 
parameter.\n{{Identical|No}}",
        "pagetriage-tags-param-missing-required": "Error message for missing 
required tag parameter, $1 is the tag name",
-       "pagetriage-tags-param-date-format": "The date format for the date 
parameter of tags, $1 is the month, $2 is the year",
+       "pagetriage-tags-param-date-format": "The date format for the date 
parameter of tags, $1 is the month, $2 is the year"
+       "pagetriage-tags-talk-page-notify-topic-title": "Talk page header used 
when notifying an author that there page has been tagged.  Parameters:\n* $1 - 
Title of page that was tagged",
        "log-name-pagetriage-curation": "{{doc-logpage}}",
        "log-description-pagetriage-curation": "Descriptive header text for 
Page curation log page.",
        "log-name-pagetriage-deletion": "{{doc-logpage}}",
@@ -319,7 +325,6 @@
        "logentry-pagetriage-curation-delete": "Log action when some marks a 
page for deletion, {{Logentry}}\n* $4 is a list of comma-separated deletion 
tags\n* $5 is the number of tags.",
        "logentry-pagetriage-deletion-delete": "log action when some marks a 
page for deletion, {{LogEntry}}, $4 is a list of comma-separated deletion tags, 
$5 is the number of tags",
        "pagetriage-tags-edit-summary": "The edit summary that is posted when 
someone applies tags to an article with the Curation Toolbar in 
PageTriage.\n*$1 is a link to the local wiki page about the Curation Toolbar 
with {{msg-mw|pagetriage-pagecuration}} as the link text.\n*$2 is the list of 
tags added to the article.",
-       "pagetriage-tags-note-edit-summary": "The edit summary that is used 
when someone leaves a note for the author of the article. $1 is the title of 
the article.",
        "pagetriage-del-edit-summary": "The edit summary that is posted when 
someone nominates an article for deletion with the Curation Toolbar in 
PageTriage.\n* $1 - a link to the local wiki page about the Curation Toolbar 
with {{msg-mw|pagetriage-pagecuration}} as the link text\n* $2 - the list of 
deletion tags added to the article",
        "pagetriage-del-tags-param-discussion-label": "Prompt for explaination 
about why the user wants to nominate a page for deletion",
        "pagetriage-info-title": "The title for the page information flyout in 
the toolbar",
diff --git a/includes/PageTriageExternalDeletionTagsOptions.php 
b/includes/PageTriageExternalDeletionTagsOptions.php
index d951b51..b0b11ea 100644
--- a/includes/PageTriageExternalDeletionTagsOptions.php
+++ b/includes/PageTriageExternalDeletionTagsOptions.php
@@ -19,7 +19,10 @@
         * @return array
         */
        public function getDependencies( ResourceLoaderContext $context = null 
) {
-               return [ 'ext.pageTriage.defaultDeletionTagsOptions' ];
+               return [
+                       'ext.pageTriage.defaultDeletionTagsOptions',
+                       'ext.pageTriage.messages',
+               ];
        }
 
        /**
diff --git a/includes/PageTriageMessagesModule.php 
b/includes/PageTriageMessagesModule.php
new file mode 100644
index 0000000..b00c8d6
--- /dev/null
+++ b/includes/PageTriageMessagesModule.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Resource loader module providing customized messages from the server to 
PageTriage.
+ *
+ * @file
+ * @ingroup Extensions
+ * @copyright 2011-2016 PageTriage Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see COPYING
+ */
+
+class PageTriageMessagesModule extends ResourceLoaderModule {
+
+       /* Protected Members */
+
+       protected $origin = self::ORIGIN_USER_SITEWIDE;
+       protected $targets = [ 'desktop', 'mobile' ];
+
+       /**
+        * @var array $contentLanguageMessageKeys
+        */
+       protected $contentLanguageMessageKeys;
+
+       public function __construct(
+               $options = []
+       ) {
+               $contentLanguageMessageKeys = array_values( array_unique( 
(array) $options['contentLanguageMessages'] ) );
+               sort( $contentLanguageMessageKeys );
+               $this->contentLanguageMessageKeys = $contentLanguageMessageKeys;
+       }
+
+       /* Methods */
+
+       public function getScript( ResourceLoaderContext $context ) {
+               $contentLanguageMessages = [];
+
+               foreach ( $this->contentLanguageMessageKeys as $msgKey ) {
+                       $contentLanguageMessages[ $msgKey ] = $context->msg( 
$msgKey )->inContentLanguage()->plain();
+               }
+
+               return 'mw.pageTriage.contentLanguageMessages.set(' . 
FormatJson::encode(
+                       $contentLanguageMessages,
+                       ResourceLoader::inDebugMode()
+               ) . ');';
+       }
+
+       public function enableModuleContentVersion() {
+               return true;
+       }
+
+       public function getDependencies( ResourceLoaderContext $context = null 
) {
+               return [
+                       'ext.pageTriage.util',
+               ];
+       }
+}
diff --git a/modules/PageTriageMessagesModule.php 
b/modules/PageTriageMessagesModule.php
new file mode 100644
index 0000000..e2c14f1
--- /dev/null
+++ b/modules/PageTriageMessagesModule.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Resource loader module providing customized messages from the server to 
PageTriage.
+ *
+ * @file
+ * @ingroup Extensions
+ * @copyright 2011-2016 PageTriage Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see COPYING
+ */
+
+class PageTriageMessagesModule extends ResourceLoaderModule {
+
+       /* Protected Members */
+
+       protected $origin = self::ORIGIN_USER_SITEWIDE;
+       protected $targets = [ 'desktop', 'mobile' ];
+
+       /**
+        * @var array $contentLanguageMessageKeys
+        */
+       protected $contentLanguageMessageKeys;
+
+       public function __construct(
+               $options = [],
+       ) {
+               $contentLanguageMessageKeys = array_values( array_unique( 
(array) $options['contentLanguageMessages'] ) );
+               sort( $contentLanguageMessageKeys );
+               $this->contentLanguageMessageKeys = $contentLanguageMessageKeys;
+       }
+
+       /* Methods */
+
+       public function getScript( ResourceLoaderContext $context ) {
+               $contentLanguageMessages = [];
+
+               foreach ( $this->contentLanguageMessageKeys as $msgKey ) {
+                       $contentLanguageMessages[ $msgKey ] = $context->msg( 
$msgKey )->plain()->inContentLanguage();
+               }
+
+               return 'mw.pageTriage.contentLanguageMessages.set(' . 
FormatJson::encode(
+                       $contentLanguageMessageKeysMessages,
+                       ResourceLoader::inDebugMode()
+               ) . ');';
+       }
+
+       public function enableModuleContentVersion() {
+               return true;
+       }
+
+       public function getDependencies( ResourceLoaderContext $context = null 
) {
+               return [
+                       'ext.pageTriage.util',
+               ];
+       }
+}
diff --git a/modules/ext.pageTriage.article/ext.pageTriage.article.js 
b/modules/ext.pageTriage.article/ext.pageTriage.article.js
index 8abe4a0..f3e0352 100644
--- a/modules/ext.pageTriage.article/ext.pageTriage.article.js
+++ b/modules/ext.pageTriage.article/ext.pageTriage.article.js
@@ -3,9 +3,6 @@
 /* global wgArticleId */
 
 ( function ( $ ) {
-       if ( !mw.pageTriage ) {
-               mw.pageTriage = {};
-       }
        mw.pageTriage.action = {
                submit: function () {
                        var apiRequest = {
diff --git 
a/modules/ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js
 
b/modules/ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js
index d3d354f..2688a1b 100644
--- 
a/modules/ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js
+++ 
b/modules/ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js
@@ -37,6 +37,7 @@
                                desc: mw.msg( 
'pagetriage-del-tags-blpprod-desc' ),
                                params: {},
                                anchor: '',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-prod-notify-topic-title',
                                talkpagenotiftpl: 'ProdwarningBLP-NPF',
                                subst: true
                        },
@@ -48,6 +49,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dba1-desc' ),
                                params: {},
                                anchor: 'nocontext',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Empty-warn-NPF'
                        },
 
@@ -60,6 +62,7 @@
                                        source: $.extend( true, {}, 
param.source )
                                },
                                anchor: 'notenglish',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-foreign-notice-NPF'
                        },
 
@@ -70,6 +73,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dba3-desc' ),
                                params: {},
                                anchor: 'nocontent',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Nocontent-warn-NPF'
                        },
 
@@ -80,6 +84,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dba7-desc' ),
                                params: {},
                                anchor: 'importance',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-notability-notice-NPF'
                        },
 
@@ -90,6 +95,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dba9-desc' ),
                                params: {},
                                anchor: 'music',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-a9-notice-NPF'
                        },
 
@@ -102,6 +108,7 @@
                                        article: $.extend( true, {}, 
param.article )
                                },
                                anchor: 'duplicate',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-a10-notice-NPF'
                        },
 
@@ -112,6 +119,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg1-desc' ),
                                params: {},
                                anchor: 'nonsense',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-nonsense-notice-NPF'
                        },
 
@@ -122,6 +130,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg2-desc' ),
                                params: {},
                                anchor: 'test',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-test-notice-NPF'
                        },
 
@@ -132,6 +141,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg3-desc' ),
                                params: {},
                                anchor: 'vandalism',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-vandalism-notice-NPF'
                        },
 
@@ -144,6 +154,7 @@
                                        1: $.extend( true, {}, param.url )
                                },
                                anchor: 'repost',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Uw-repost-NPF'
                        },
 
@@ -154,6 +165,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg5-desc' ),
                                params: {},
                                anchor: 'banned',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-banned-notice-NPF'
                        },
 
@@ -164,6 +176,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg7-desc' ),
                                params: {},
                                anchor: 'blanked',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-author-notice-NPF'
                        },
 
@@ -174,6 +187,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg10-desc' 
),
                                params: {},
                                anchor: 'attack',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-attack-notice-NPF'
                        },
 
@@ -184,6 +198,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbg11-desc' 
),
                                params: {},
                                anchor: 'spam',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Spam-warn-NPF'
                        },
 
@@ -196,6 +211,7 @@
                                        url: $.extend( true, {}, param.url )
                                },
                                anchor: 'copyvio',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Nothanks-sd-NPF'
                        },
 
@@ -206,6 +222,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbu2-desc' ),
                                params: {},
                                anchor: 'nouser',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-u2-notice-NPF'
                        },
 
@@ -216,6 +233,7 @@
                                desc: mw.msg( 'pagetriage-del-tags-dbu3-desc' ),
                                params: {},
                                anchor: 'fairusegallery',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                                talkpagenotiftpl: 'Db-gallery-notice-NPF'
                        },
 
@@ -232,6 +250,7 @@
                                        }
                                },
                                anchor: '',
+                               talkpagenotiftopictitle: 
'pagetriage-del-tags-prod-notify-topic-title',
                                talkpagenotiftpl: 
'Proposed_deletion_notify-NPF',
                                subst: true
                        }
@@ -239,6 +258,7 @@
 
        $.pageTriageDeletionTagsMultiple = {
                tag: 'Db-multiple',
+               talkpagenotiftopictitle: 
'pagetriage-del-tags-speedy-deletion-nomination-notify-topic-title',
                talkpagenotiftpl: 'Db-notice-multiple-NPF'
        };
 
@@ -299,6 +319,7 @@
                                                        },
                                                        2: $.extend( true, {}, 
param.pagename )
                                                },
+                                               talkpagenotiftopictitle: 
'pagetriage-del-tags-xfd-notify-topic-title',
                                                talkpagenotiftpl: 
'AfD-notice-NPF',
                                                subst: true
                                        },
@@ -316,6 +337,7 @@
                                                                value: ''
                                                        }
                                                },
+                                               talkpagenotiftopictitle: 
'pagetriage-del-tags-xfd-notify-topic-title',
                                                talkpagenotiftpl: 'RFDNote-NPF',
                                                subst: true
                                        }
@@ -368,6 +390,7 @@
                                                                skip: true // 
don't use this param in the main template
                                                        }
                                                },
+                                               talkpagenotiftopictitle: 
'pagetriage-del-tags-xfd-notify-topic-title',
                                                talkpagenotiftpl: 
'MFDWarning-NPF'
                                        }
                                }
diff --git a/modules/ext.pageTriage.init/ext.pageTriage.init.js 
b/modules/ext.pageTriage.init/ext.pageTriage.init.js
new file mode 100644
index 0000000..339639e
--- /dev/null
+++ b/modules/ext.pageTriage.init/ext.pageTriage.init.js
@@ -0,0 +1,3 @@
+( function ( mw ) {
+       mw.pageTriage = {};
+} )( mediaWiki );
diff --git a/modules/ext.pageTriage.models/ext.pageTriage.article.js 
b/modules/ext.pageTriage.models/ext.pageTriage.article.js
index 2c00548..cecaa0a 100644
--- a/modules/ext.pageTriage.models/ext.pageTriage.article.js
+++ b/modules/ext.pageTriage.models/ext.pageTriage.article.js
@@ -2,10 +2,6 @@
 // ArticleList is a collection of articles for use in the list view
 //
 $( function () {
-       if ( !mw.pageTriage ) {
-               // make sure this object exists, since this might be run first.
-               mw.pageTriage = {};
-       }
        mw.pageTriage.Article = Backbone.Model.extend( {
                defaults: {
                        title: 'Empty Article',
diff --git a/modules/ext.pageTriage.models/ext.pageTriage.revision.js 
b/modules/ext.pageTriage.models/ext.pageTriage.revision.js
index d5b2bfd..a98e90e 100644
--- a/modules/ext.pageTriage.models/ext.pageTriage.revision.js
+++ b/modules/ext.pageTriage.models/ext.pageTriage.revision.js
@@ -2,11 +2,6 @@
 // RevisionList is a collection of revisions for a single page
 //
 $( function () {
-       if ( !mw.pageTriage ) {
-               // make sure this object exists, since this might be run first.
-               mw.pageTriage = {};
-       }
-
        // sparse model because events don't work well when nesting these.
        mw.pageTriage.Revision = Backbone.Model.extend( {} );
 
diff --git a/modules/ext.pageTriage.models/ext.pageTriage.stats.js 
b/modules/ext.pageTriage.models/ext.pageTriage.stats.js
index 708b37c..6f12c9e 100644
--- a/modules/ext.pageTriage.models/ext.pageTriage.stats.js
+++ b/modules/ext.pageTriage.models/ext.pageTriage.stats.js
@@ -1,8 +1,5 @@
 // Stats represents the dashboard data for pagetriage
 $( function () {
-       if ( !mw.pageTriage ) {
-               mw.pageTriage = {};
-       }
        mw.pageTriage.Stats = Backbone.Model.extend( {
                defaults: {
                        title: 'PageTriage Dashboard Data',
diff --git a/modules/ext.pageTriage.util/ext.pageTriage.messageUtil.js 
b/modules/ext.pageTriage.util/ext.pageTriage.messageUtil.js
new file mode 100644
index 0000000..c2df158
--- /dev/null
+++ b/modules/ext.pageTriage.util/ext.pageTriage.messageUtil.js
@@ -0,0 +1,20 @@
+( function ( mw ) {
+       mw.pageTriage.contentLanguageMessages = new mw.Map();
+
+       /**
+        * Get a message object, in the content language.  The module that
+        * ships this message must be a PageTriageMessagesFileModule and the
+        * message must be listed in 'contentLanguageMessages'.
+        *
+        * Other than that, it is exactly the same as mw.message, and jQueryMsg 
is supported.
+        *
+        * @see mw.message
+        * @param {string} key Key of message to get
+        * @param {...Mixed} parameters Values for $N replacements
+        * @return {mw.Message}
+        */
+       mw.pageTriage.contentLanguageMessage = function ( key ) {
+               var parameters = Array.prototype.slice.call( arguments, 1 );
+               return new mw.Message( mw.pageTriage.contentLanguageMessages, 
key, parameters );
+       };
+} )( mediaWiki );
diff --git a/modules/ext.pageTriage.util/ext.pageTriage.viewUtil.js 
b/modules/ext.pageTriage.util/ext.pageTriage.viewUtil.js
index 20308b5..7aa4a9c 100644
--- a/modules/ext.pageTriage.util/ext.pageTriage.viewUtil.js
+++ b/modules/ext.pageTriage.util/ext.pageTriage.viewUtil.js
@@ -1,7 +1,4 @@
 $( function () {
-       if ( !mw.pageTriage ) {
-               mw.pageTriage = {};
-       }
        mw.pageTriage.viewUtil = {
                // define templates which should be cached in here, the key is 
the template view:
                // list, toolbar etc
diff --git a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.delete.js 
b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.delete.js
index e0c3169..c193e5c 100644
--- a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.delete.js
+++ b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.delete.js
@@ -751,7 +751,8 @@
                 * Notify the user on talk page
                 */
                notifyUser: function ( count, key ) {
-                       var template,
+                       var selected, topicTitleKey, templateName, template, 
messagePosterPromise,
+                               topicTitle,
                                paramsText = '',
                                that = this;
 
@@ -761,36 +762,36 @@
 
                        // use generic template for multiple deletion tag
                        if ( count > 1 ) {
-                               template = 
$.pageTriageDeletionTagsMultiple.talkpagenotiftpl;
+                               selected = $.pageTriageDeletionTagsMultiple;
                        } else {
-                               template = this.selectedTag[ key 
].talkpagenotiftpl;
+                               selected = this.selectedTag[ key ];
                                paramsText = this.buildParams( 
this.selectedTag[ key ] );
                        }
-                       template = '{{subst:' + template + '|' + pageName + 
paramsText + '}}';
-                       // Appending signature
-                       template += ' ~~~~';
+
+                       topicTitleKey = selected.talkpagenotiftopictitle;
+                       topicTitle = mw.pageTriage.contentLanguageMessage( 
topicTitleKey, pageName ).text();
+
+                       templateName = selected.talkpagenotiftpl;
+
+                       template = '{{subst:' + templateName + '|' + pageName + 
paramsText + '}}';
 
                        if ( this.model.get( 'user_name' ) ) {
-                               $.ajax( {
-                                       type: 'post',
-                                       url: mw.util.wikiScript( 'api' ),
-                                       data: {
-                                               action: 'edit',
-                                               title: this.model.get( 
'creator_user_talk_page' ),
-                                               appendtext: '\n' + template,
-                                               summary: mw.msg( 
'pagetriage-del-talk-page-notify-summary', pageName ),
-                                               token: mw.user.tokens.get( 
'editToken' ),
-                                               format: 'json'
-                                       },
-                                       success: function ( data ) {
-                                               if ( data.edit && 
data.edit.result === 'Success' ) {
-                                                       that.reset();
-                                                       window.location.reload( 
true );
-                                               } else {
-                                                       that.handleError( 
mw.msg( 'pagetriage-del-talk-page-notify-error' ) );
-                                               }
-                                       },
-                                       dataType: 'json'
+                               messagePosterPromise = 
mw.messagePoster.factory.create(
+                                       new mw.Title(
+                                               this.model.get( 
'creator_user_talk_page' )
+                                       )
+                               );
+
+                               messagePosterPromise.done( function ( 
messagePoster ) {
+                                       messagePoster.post(
+                                               topicTitle,
+                                               template
+                                       ).done( function ( data ) {
+                                               that.reset();
+                                               window.location.reload( true );
+                                       } ).fail( function () {
+                                               that.handleError( mw.msg( 
'pagetriage-del-talk-page-notify-error' ) );
+                                       } );
                                } );
                        }
                },
diff --git a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.mark.js 
b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.mark.js
index e307c7c..c7965e8 100644
--- a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.mark.js
+++ b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.mark.js
@@ -81,6 +81,8 @@
 
                talkPageNote: function ( note, action ) {
                        var talkPageTitle,
+                               messagePosterPromise,
+                               topicTitle,
                                that = this,
                                pageTitle = mw.config.get( 
'wgPageTriagePagePrefixedText' );
 
@@ -92,6 +94,13 @@
                                        mw.config.get( 'wgUserName' ) !== 
this.model.get( 'reviewer' )
                                ) {
                                        talkPageTitle = this.model.get( 
'reviewer_user_talk_page' );
+                                       messagePosterPromise = 
mw.messagePoster.factory.create(
+                                               new mw.Title( talkPageTitle )
+                                       );
+
+                                       topicTitle = 
mw.pageTriage.contentLanguageMessage(
+                                               
'pagetriage-mark-unmark-talk-page-notify-topic-title'
+                                       ).text();
 
                                        if ( note ) {
                                                note = '{{subst:' + 
mw.config.get( 'wgTalkPageNoteTemplate' ).UnMark.note +
@@ -116,6 +125,14 @@
                                        return;
                                }
                                talkPageTitle = this.model.get( 
'creator_user_talk_page' );
+                               messagePosterPromise = 
mw.messagePoster.factory.create(
+                                       new mw.Title( talkPageTitle )
+                               );
+
+                               topicTitle = 
mw.pageTriage.contentLanguageMessage(
+                                       
'pagetriage-mark-mark-talk-page-notify-topic-title',
+                                       talkPageTitle
+                               ).text();
 
                                note = '{{subst:' + mw.config.get( 
'wgTalkPageNoteTemplate' ).Mark +
                                        '|' + pageTitle +
@@ -123,28 +140,19 @@
                                        '|' + note + '}}';
                        }
 
-                       $.ajax( {
-                               type: 'post',
-                               url: mw.util.wikiScript( 'api' ),
-                               data: {
-                                       action: 'edit',
-                                       title: talkPageTitle,
-                                       appendtext: '\n' + note,
-                                       token: mw.user.tokens.get( 'editToken' 
),
-                                       format: 'json'
-                               },
-                               success: function ( data ) {
-                                       if ( data.edit && data.edit.result === 
'Success' ) {
-                                               that.hideFlyout( action );
+                       messagePosterPromise.done( function ( messagePoster ) {
+                               messagePoster.post(
+                                       topicTitle,
+                                       note
+                               ).done( function () {
+                                       that.hideFlyout( action );
+                               } ).fail( function ( errorCode, error, details 
) {
+                                       if ( error !== undefined ) {
+                                               that.showMarkError( action, 
error );
                                        } else {
-                                               if ( typeof data.error.info !== 
'undefined' ) {
-                                                       that.showMarkError( 
action, data.error.info );
-                                               } else {
-                                                       that.showMarkError( 
action, mw.msg( 'unknown-error' ) );
-                                               }
+                                               that.showMarkError( action, 
mw.msg( 'unknown-error' ) );
                                        }
-                               },
-                               dataType: 'json'
+                               } );
                        } );
                },
 
diff --git a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.tags.js 
b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.tags.js
index 737ecdf..40a51aa 100644
--- a/modules/ext.pageTriage.views.toolbar/ext.pageTriage.tags.js
+++ b/modules/ext.pageTriage.views.toolbar/ext.pageTriage.tags.js
@@ -635,36 +635,35 @@
                },
 
                talkPageNote: function ( note ) {
-                       var that = this,
+                       var topicTitle, messagePosterPromise,
+                               that = this,
                                pageName = mw.config.get( 
'wgPageTriagePagePrefixedText' );
+
+                       messagePosterPromise = mw.messagePoster.factory.create(
+                               new mw.Title( this.model.get( 
'creator_user_talk_page' ) )
+                       );
+
+                       topicTitle = mw.pageTriage.contentLanguageMessage(
+                               'pagetriage-tags-talk-page-notify-topic-title',
+                               pageName
+                       ).text();
 
                        note = '{{subst:' + mw.config.get( 
'wgTalkPageNoteTemplate' ).Tags +
                                '|' + pageName +
                                '|' + mw.config.get( 'wgUserName' ) +
-                               '|' + note + '}}' +
-                               ' ~~~~'; // Appending signature
+                               '|' + note + '}}';
 
-                       $.ajax( {
-                               type: 'post',
-                               url: mw.util.wikiScript( 'api' ),
-                               data: {
-                                       action: 'edit',
-                                       title: this.model.get( 
'creator_user_talk_page' ),
-                                       appendtext: '\n' + note,
-                                       token: mw.user.tokens.get( 'editToken' 
),
-                                       summary: mw.msg( 
'pagetriage-tags-note-edit-summary', pageName ),
-                                       format: 'json'
-                               },
-                               success: function ( data ) {
-                                       if ( data.edit && data.edit.result === 
'Success' ) {
-                                               // update the article model, 
since it's now changed.
-                                               that.reset();
-                                               window.location.reload( true );
-                                       } else {
-                                               that.handleError( mw.msg( 
'pagetriage-mark-as-reviewed-error' ) );
-                                       }
-                               },
-                               dataType: 'json'
+                       messagePosterPromise.done( function ( messagePoster ) {
+                               messagePoster.post(
+                                       topicTitle,
+                                       note
+                               ).done( function () {
+                                       // update the article model, since it's 
now changed.
+                                       that.reset();
+                                       window.location.reload( true );
+                               } ).fail( function () {
+                                       that.handleError( mw.msg( 
'pagetriage-mark-as-reviewed-error' ) );
+                               } );
                        } );
                },
 

-- 
To view, visit https://gerrit.wikimedia.org/r/311856
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idb69f631a3da59bdb59edc44dbdc5399be28f6f6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PageTriage
Gerrit-Branch: master
Gerrit-Owner: Mattflaschen <mflasc...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to