John Vandenberg has uploaded a new change for review.

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

Change subject: Add grunt test to validate i18n JSON
......................................................................

Add grunt test to validate i18n JSON

All i18n JSON files were invalid due to missing metadata blocks.
weblinkchecker has missing messages in many languages.

Change-Id: Ieb1f96889848332a7163a7c1a1070e99c560dc6e
---
A Gruntfile.js
M add_text/en.json
M archivebot/en.json
M basic/en.json
M blockpageschecker/en.json
M capitalize_redirects/en.json
M casechecker/en.json
M catall/en.json
M category/en.json
M category_redirect/en.json
M clean_sandbox/en.json
M commons/en.json
M commons_link/en.json
M cosmetic_changes/en.json
M delete/en.json
M djvutext/en.json
M editarticle/en.json
M featured/en.json
M fixing_redirects/en.json
M interwiki/en.json
M isbn/en.json
M lonelypages/en.json
M makecat/en.json
M misspelling/en.json
M movepages/en.json
M ndashredir/en.json
M noreferences/en.json
A package.json
M pagefromfile/en.json
M protect/en.json
M pywikibot/en.json
M redirect/en.json
M reflinks/en.json
M replace/en.json
M revertbot/en.json
M selflink/en.json
M solve_disambiguation/en.json
M spamremove/en.json
M spellcheck/en.json
M table2wiki/en.json
M template/en.json
M unlink/en.json
M weblinkchecker/en.json
M welcome/en.json
44 files changed, 115 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/i18n 
refs/changes/70/181370/1

diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..e92218b
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,62 @@
+/*!
+ * Grunt file
+ */
+
+/*jshint node:true */
+module.exports = function ( grunt ) {
+       grunt.loadNpmTasks( 'grunt-banana-checker' );
+
+       grunt.initConfig( {
+               pkg: grunt.file.readJSON( __dirname + '/package.json' ),
+               banana: {
+                       pywikibot: __dirname + '/pywikibot/',
+                       thirdparty: __dirname + '/thirdparty/',
+                       add_text: __dirname + '/add_text/',
+                       archivebot: __dirname + '/archivebot/',
+                       basic: __dirname + '/basic/',
+                       blockpageschecker: __dirname + '/blockpageschecker/',
+                       capitalize_redirects: __dirname + 
'/capitalize_redirects/',
+                       casechecker: __dirname + '/casechecker/',
+                       catall: __dirname + '/catall/',
+                       category: __dirname + '/category/',
+                       category_redirect: __dirname + '/category_redirect/',
+                       clean_sandbox: __dirname + '/clean_sandbox/',
+                       commons_link: __dirname + '/commons_link/',
+                       commons: __dirname + '/commons/',
+                       cosmetic_changes: __dirname + '/cosmetic_changes/',
+                       delete: __dirname + '/delete/',
+                       djvutext: __dirname + '/djvutext/',
+                       editarticle: __dirname + '/editarticle/',
+                       featured: __dirname + '/featured/',
+                       fixing_redirects: __dirname + '/fixing_redirects/',
+                       interwiki: __dirname + '/interwiki/',
+                       isbn: __dirname + '/isbn/',
+                       lonelypages: __dirname + '/lonelypages/',
+                       makecat: __dirname + '/makecat/',
+                       misspelling: __dirname + '/misspelling/',
+                       movepages: __dirname + '/movepages/',
+                       ndashredir: __dirname + '/ndashredir/',
+                       noreferences: __dirname + '/noreferences/',
+                       pagefromfile: __dirname + '/pagefromfile/',
+                       protect: __dirname + '/protect/',
+                       pywikibot: __dirname + '/pywikibot/',
+                       redirect: __dirname + '/redirect/',
+                       reflinks: __dirname + '/reflinks/',
+                       replace: __dirname + '/replace/',
+                       revertbot: __dirname + '/revertbot/',
+                       selflink: __dirname + '/selflink/',
+                       solve_disambiguation: __dirname + 
'/solve_disambiguation/',
+                       spamremove: __dirname + '/spamremove/',
+                       spellcheck: __dirname + '/spellcheck/',
+                       table2wiki: __dirname + '/table2wiki/',
+                       template: __dirname + '/template/',
+                       unlink: __dirname + '/unlink/',
+                       //missing messages: weblinkchecker: __dirname + 
'/weblinkchecker/',
+                       welcome: __dirname + '/welcome/'
+               }
+       } );
+
+       grunt.registerTask( 'lint', ['banana'] );
+       grunt.registerTask( 'test', ['lint'] );
+       grunt.registerTask( 'default', ['test'] );
+};
diff --git a/add_text/en.json b/add_text/en.json
index 08bb219..3a4bc91 100644
--- a/add_text/en.json
+++ b/add_text/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "add_text-adding": "Bot: Adding %(adding)s"
 }
diff --git a/archivebot/en.json b/archivebot/en.json
index dd34ba1..38ab0fc 100644
--- a/archivebot/en.json
+++ b/archivebot/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "archivebot-older-than": "older than %(duration)s",
        "archivebot-page-summary": "Bot: Archiving %(count)d 
{{PLURAL:%(count)d|thread|threads}} (%(why)s) to %(archives)s.",
        "archivebot-archiveheader": "{{talkarchive}}",
diff --git a/basic/en.json b/basic/en.json
index e5c0296..225de00 100644
--- a/basic/en.json
+++ b/basic/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "basic-changing": "Robot: Changing ..."
 }
diff --git a/blockpageschecker/en.json b/blockpageschecker/en.json
index 12104e0..39cb502 100644
--- a/blockpageschecker/en.json
+++ b/blockpageschecker/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "blockpageschecker-summary": "Bot: Deleting out-dated template"
 }
diff --git a/capitalize_redirects/en.json b/capitalize_redirects/en.json
index 9174af2..914f4a1 100644
--- a/capitalize_redirects/en.json
+++ b/capitalize_redirects/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "capitalize_redirects-create-redirect": "Bot: Create redirect to 
[[%(to)s]]"
 }
diff --git a/casechecker/en.json b/casechecker/en.json
index c9170e4..2befd18 100644
--- a/casechecker/en.json
+++ b/casechecker/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "casechecker-replacement-summary": "Bot: Case Replacements:",
        "casechecker-delete-summary": "Bot: This redirect contains identical 
looking Cyrillic and Latin letters in its title",
        "casechecker-replacement-linklist": "%(source)s→%(target)s",
diff --git a/catall/en.json b/catall/en.json
index bc0128a..1766088 100644
--- a/catall/en.json
+++ b/catall/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "catall-changing": "Bot: Changing categories"
 }
diff --git a/category/en.json b/category/en.json
index 2b01716..8f780b6 100644
--- a/category/en.json
+++ b/category/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "category-version-history": "Bot: Saving version history of former 
%(oldcat)s",
        "category-changing": "Bot: Changing %(oldcat)s to %(newcat)s",
        "category-adding": "Bot: Adding category 
[[:Category:%(newcat)s|%(newcat)s]]",
diff --git a/category_redirect/en.json b/category_redirect/en.json
index 6c76afe..898a6ce 100644
--- a/category_redirect/en.json
+++ b/category_redirect/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "category_redirect-comment": "Category redirect maintenance bot",
        "category_redirect-change-category": "Bot: Change redirected category 
[[:%(oldCatLink)s|%(oldCatTitle)s]] to [[:%(newCatLink)s|%(newCatTitle)s]]",
        "category_redirect-add-template": "Bot: Adding category redirect 
template for maintenance",
diff --git a/clean_sandbox/en.json b/clean_sandbox/en.json
index bb80bf4..6dbe880 100644
--- a/clean_sandbox/en.json
+++ b/clean_sandbox/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "clean_sandbox-cleaned": "Bot: Automatically cleaned"
 }
diff --git a/commons/en.json b/commons/en.json
index be65507..478c6e7 100644
--- a/commons/en.json
+++ b/commons/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "commons-file-moved": "[[:File:%(localfile)s|File]] moved to 
[[:commons:File:%(commonsfile)s|commons]].",
        "commons-file-now-available": "File is now available on 
[[:commons:File:%(commonsfile)s|Wikimedia Commons]]."
 }
diff --git a/commons_link/en.json b/commons_link/en.json
index 9a7eff7..d5a8291 100644
--- a/commons_link/en.json
+++ b/commons_link/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "commons_link-template-added": "Bot: Include commons template",
        "commons_link-cat-template-added": "Bot: Include commonscat template"
 }
diff --git a/cosmetic_changes/en.json b/cosmetic_changes/en.json
index 0ae5636..c03fd75 100644
--- a/cosmetic_changes/en.json
+++ b/cosmetic_changes/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "cosmetic_changes-standalone": "Bot: Cosmetic changes",
        "cosmetic_changes-append": "; cosmetic changes"
 }
diff --git a/delete/en.json b/delete/en.json
index c029dd1..1c3bf39 100644
--- a/delete/en.json
+++ b/delete/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "delete-images": "Bot: Deleting all images on page %(page)s",
        "delete-referring-pages": "Bot: Deleting all pages referring from 
%(page)s",
        "delete-from-category": "Bot: Deleting all pages from category 
%(page)s",
diff --git a/djvutext/en.json b/djvutext/en.json
index 50d00c0..d4f0c5c 100644
--- a/djvutext/en.json
+++ b/djvutext/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "djvutext-creating": "Bot: Creating page with text extracted from DjVu"
 }
diff --git a/editarticle/en.json b/editarticle/en.json
index f0175bc..2408d4c 100644
--- a/editarticle/en.json
+++ b/editarticle/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "editarticle-edit": "Manual edit with bot: %(description)s"
 }
diff --git a/featured/en.json b/featured/en.json
index 76319ad..573ec2f 100644
--- a/featured/en.json
+++ b/featured/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "featured-good": "Bot: %(page)s is a good article",
        "featured-list": "Bot: %(page)s is a featured list",
        "featured-featured": "Bot: %(page)s is a featured article",
diff --git a/fixing_redirects/en.json b/fixing_redirects/en.json
index fb7805c..26aa3f8 100644
--- a/fixing_redirects/en.json
+++ b/fixing_redirects/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "fixing_redirects-fixing": "Bot: Fixing redirects"
 }
diff --git a/interwiki/en.json b/interwiki/en.json
index 64410fb..2a21719 100644
--- a/interwiki/en.json
+++ b/interwiki/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "interwiki-modifying": "Bot: Modifying %(modifying)s",
        "interwiki-adding-modifying": "Bot: Adding %(adding)s; modifying 
%(modifying)s",
        "interwiki-adding-removing": "Bot: Adding %(adding)s; removing: 
%(removing)s",
diff --git a/isbn/en.json b/isbn/en.json
index 2f4fcc0..fc83245 100644
--- a/isbn/en.json
+++ b/isbn/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "isbn-formatting": "Bot: Formatting ISBN"
 }
diff --git a/lonelypages/en.json b/lonelypages/en.json
index f3aa284..c959657 100644
--- a/lonelypages/en.json
+++ b/lonelypages/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "lonelypages-comment-add-disambig-template": "Bot: Adding a disambig 
page",
        "lonelypages-comment-add-template": "Bot: Orphan page, add template"
 }
diff --git a/makecat/en.json b/makecat/en.json
index f55adfe..029a688 100644
--- a/makecat/en.json
+++ b/makecat/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "makecat-create": "Bot: Creation or update of category 
[[:Category:%(cat)s|]]"
 }
diff --git a/misspelling/en.json b/misspelling/en.json
index 316f15e..84f881c 100644
--- a/misspelling/en.json
+++ b/misspelling/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "misspelling-fixing": "Bot: Fixing misspelled link to %(page)s"
 }
diff --git a/movepages/en.json b/movepages/en.json
index 6b3c5e9..24da258 100644
--- a/movepages/en.json
+++ b/movepages/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "movepages-moving": "Bot: Moved page"
 }
diff --git a/ndashredir/en.json b/ndashredir/en.json
index 3381132..2063fbc 100644
--- a/ndashredir/en.json
+++ b/ndashredir/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "ndashredir-create": "Bot: Creating hyphenated redirect to 
[[%(title)s]]"
 }
diff --git a/noreferences/en.json b/noreferences/en.json
index c586e17..6375688 100644
--- a/noreferences/en.json
+++ b/noreferences/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "noreferences-add-tag": "Bot: Adding missing <references /> tag"
 }
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..143ad05
--- /dev/null
+++ b/package.json
@@ -0,0 +1,11 @@
+{
+  "name": "pywikibot-i18n",
+  "version": "0.0.0",
+  "scripts": {
+    "test": "grunt test"
+  },
+  "devDependencies": {
+    "grunt": "0.4.2",
+    "grunt-banana-checker": "0.2.0"
+  }
+}
diff --git a/pagefromfile/en.json b/pagefromfile/en.json
index 61a6ff1..ea47a1f 100644
--- a/pagefromfile/en.json
+++ b/pagefromfile/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "pagefromfile-msg_bottom": "append on bottom",
        "pagefromfile-msg_force": "existing text overwritten",
        "pagefromfile-msg_top": "append on top",
diff --git a/protect/en.json b/protect/en.json
index 1c2f683..8383b3c 100644
--- a/protect/en.json
+++ b/protect/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "protect-links": "Bot: Protecting all pages linked from %(page)s",
        "protect-simple": "Bot: Protecting a list of files.",
        "protect-category": "Bot: Protecting all pages from category %(cat)s",
diff --git a/pywikibot/en.json b/pywikibot/en.json
index 9b980fc..607fb5e 100644
--- a/pywikibot/en.json
+++ b/pywikibot/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "pywikibot-enter-xml-filename": "Please enter the XML dump's filename:",
        "pywikibot-enter-page-processing": "Which page should be processed?",
        "pywikibot-enter-file-links-processing": "Links to which file page 
should be processed?",
diff --git a/redirect/en.json b/redirect/en.json
index 1d8f57f..f35720b 100644
--- a/redirect/en.json
+++ b/redirect/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "redirect-fix-double": "Bot: Fixing double redirect to %(to)s",
        "redirect-remove-broken": "Bot: Redirect to a deleted or non-existent 
page",
        "redirect-fix-broken-moved": "Bot: Fixing broken redirect to moved 
target page %(to)s",
diff --git a/reflinks/en.json b/reflinks/en.json
index ceb4ec3..46b6dd2 100644
--- a/reflinks/en.json
+++ b/reflinks/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "reflinks-autogen": "autogenerated",
        "reflinks-comment": "Bot generated title",
        "reflinks-msg": "Bot: Converting bare references, using ref names to 
avoid duplicates, see [[%(manual)s|FAQ]]"
diff --git a/replace/en.json b/replace/en.json
index 6f2d54c..8d05007 100644
--- a/replace/en.json
+++ b/replace/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "replace-replacing": "Bot: Automated text replacement %(description)s"
 }
diff --git a/revertbot/en.json b/revertbot/en.json
index a477dcc..acfa21c 100644
--- a/revertbot/en.json
+++ b/revertbot/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "revertbot-revert": "Bot: Reverted to revision %(revid)s by %(author)s 
on %(timestamp)s"
 }
diff --git a/selflink/en.json b/selflink/en.json
index ba9397f..e670416 100644
--- a/selflink/en.json
+++ b/selflink/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "selflink-remove": "Bot: Removing selflinks"
 }
diff --git a/solve_disambiguation/en.json b/solve_disambiguation/en.json
index aa84cf7..ad0eb92 100644
--- a/solve_disambiguation/en.json
+++ b/solve_disambiguation/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "solve_disambiguation-redirect-removed": "Bot-assisted disambiguation: 
%(from)s - Removed link(s)",
        "solve_disambiguation-redirect-resolved": "Bot-assisted disambiguation: 
%(from)s - Changed link(s) to %(to)s",
        "solve_disambiguation-links-resolved": "Bot-assisted disambiguation: 
%(from)s - Changed link(s) to %(to)s",
diff --git a/spamremove/en.json b/spamremove/en.json
index 24b85ad..a4ddd40 100644
--- a/spamremove/en.json
+++ b/spamremove/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "spamremove-remove": "Removing links to spamming site %(url)s"
 }
diff --git a/spellcheck/en.json b/spellcheck/en.json
index 6f1b322..19e29eb 100644
--- a/spellcheck/en.json
+++ b/spellcheck/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "spellcheck-checking": "Bot-aided spell checker"
 }
diff --git a/table2wiki/en.json b/table2wiki/en.json
index d333a5d..1c9b7d3 100644
--- a/table2wiki/en.json
+++ b/table2wiki/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "table2wiki-warnings": "User-controlled bot: Table syntax updated - 
{{PLURAL:count|1 warning|%(count)d warnings}}!",
        "table2wiki-no-warning": "User-controlled bot: Table syntax updated"
 }
diff --git a/template/en.json b/template/en.json
index ee8fb15..061de50 100644
--- a/template/en.json
+++ b/template/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "template-removing": "Bot: Removing 
{{PLURAL:%(num)d|template|templates}}: %(list)s",
        "template-changing": "Bot: Changing 
{{PLURAL:%(num)d|template|templates}}: %(list)s",
        "template-substituting": "Bot: Substituting 
{{PLURAL:%(num)d|template|templates}}: %(list)s"
diff --git a/unlink/en.json b/unlink/en.json
index d82914e..81f5a76 100644
--- a/unlink/en.json
+++ b/unlink/en.json
@@ -1,3 +1,4 @@
 {
+       "@metadata": [],
        "unlink-unlinking": "Bot: Unlinking \"%s\""
 }
diff --git a/weblinkchecker/en.json b/weblinkchecker/en.json
index a322664..9d768f3 100644
--- a/weblinkchecker/en.json
+++ b/weblinkchecker/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "weblinkchecker-archive_msg": "The web page has been saved by the 
Internet Archive. Please consider linking to an appropriate archived version: 
[%(URL)s].",
        "weblinkchecker-badurl": "The link provided does not seem to be a valid 
URL",
        "weblinkchecker-caption": "Dead link",
diff --git a/welcome/en.json b/welcome/en.json
index 93bb1a7..d899383 100644
--- a/welcome/en.json
+++ b/welcome/en.json
@@ -1,4 +1,5 @@
 {
+       "@metadata": [],
        "welcome-welcome": "Welcome!",
        "welcome-bad_username": "Bot: Adding a username that needs to be 
checked",
        "welcome-updating": "Bot: Updating log"

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ieb1f96889848332a7163a7c1a1070e99c560dc6e
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/i18n
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to