Nikerabbit has submitted this change and it was merged.

Change subject: Complete migration to JSON i18n
......................................................................


Complete migration to JSON i18n

In the first pass, one group hadn't been migrated.

Change-Id: If5ca30c5fd95c9f54140d73e66c4758511d289c2
---
M GlobalUserGroups.i18n.groups.php
M GlobalUserGroups.i18n.php
M GlobalUserGroups.php
R i18n/core/ast.json
R i18n/core/be-tarask.json
R i18n/core/da.json
R i18n/core/de.json
R i18n/core/dsb.json
R i18n/core/en.json
R i18n/core/es.json
R i18n/core/fa.json
R i18n/core/fr.json
R i18n/core/gl.json
R i18n/core/he.json
R i18n/core/hsb.json
R i18n/core/ia.json
R i18n/core/id.json
R i18n/core/ilo.json
R i18n/core/it.json
R i18n/core/ja.json
R i18n/core/ko.json
R i18n/core/ksh.json
R i18n/core/lb.json
R i18n/core/mk.json
R i18n/core/ms.json
R i18n/core/mt.json
R i18n/core/nb.json
R i18n/core/nl.json
R i18n/core/pl.json
R i18n/core/pms.json
R i18n/core/pt-br.json
R i18n/core/qqq.json
R i18n/core/roa-tara.json
R i18n/core/ru.json
R i18n/core/sv.json
R i18n/core/tl.json
R i18n/core/uk.json
R i18n/core/zh-hans.json
R i18n/core/zh-hant.json
A i18n/groups/de.json
A i18n/groups/en.json
A i18n/groups/nl.json
A i18n/groups/qqq.json
43 files changed, 158 insertions(+), 168 deletions(-)

Approvals:
  Nikerabbit: Verified; Looks good to me, approved



diff --git a/GlobalUserGroups.i18n.groups.php b/GlobalUserGroups.i18n.groups.php
index ff09cf4..4f3438b 100644
--- a/GlobalUserGroups.i18n.groups.php
+++ b/GlobalUserGroups.i18n.groups.php
@@ -1,166 +1,31 @@
 <?php
 /**
- * Internationalization file for extra global user groups if GlobalUserGroups 
extension is used
+ * This is a backwards-compatibility shim, generated by:
+ * 
https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
  *
- * @since 1.0
+ * Beginning with MediaWiki 1.23, translation strings are stored in json files,
+ * and the EXTENSION.i18n.php file only exists to provide compatibility with
+ * older releases of MediaWiki. For more information about this migration, see:
+ * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
  *
- * @file GlobalUserGroups.i18n.groups.php
- * @ingroup GlobalUserGroupsExtras
- *
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 
2.0 or later
- * @author Tim Weyer (SVG) <[email protected]>
+ * This shim maintains compatibility back to MediaWiki 1.17.
  */
-
 $messages = array();
+$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, 
&$cachedData ) {
+       $codeSequence = array_merge( array( $code ), 
$cachedData['fallbackSequence'] );
+       foreach ( $codeSequence as $csCode ) {
+               $fileName = __DIR__ . "/i18n/groups/$csCode.json";
+               if ( is_readable( $fileName ) ) {
+                       $data = FormatJson::decode( file_get_contents( 
$fileName ), true );
+                       foreach ( array_keys( $data ) as $key ) {
+                               if ( $key === '' || $key[0] === '@' ) {
+                                       unset( $data[$key] );
+                               }
+                       }
+                       $cachedData['messages'] = array_merge( $data, 
$cachedData['messages'] );
+               }
 
-/** English
- * @author SVG
- */
-$messages['en'] = array(
-   'group-bot-global'                => 'Global Bots',
-   'group-bot-global-member'         => '{{GENDER:$1|global bot}}',
-   'grouppage-bot-global'            => '{{ns:project}}:Global Bots',
-
-   'group-checkuser-global'          => 'Global Check users',
-   'group-checkuser-global-member'   => '{{GENDER:$1|global check user}}',
-   'grouppage-checkuser-global'      => '{{ns:project}}:Global Check users',
-
-   'group-helper-global'             => 'Global Helpers',
-   'group-helper-global-member'      => '{{GENDER:$1|global helper}}',
-   'grouppage-helper-global'         => '{{ns:project}}:Global Helpers',
-
-   'group-ipblock-exempt-g'          => 'Global IP block exemptions',
-   'group-ipblock-exempt-g-member'   => '{{GENDER:$1|global IP block exempt}}',
-   'grouppage-ipblock-exempt-g'      => '{{ns:project}}:Global IP block 
exemptions',
-
-   'group-rollback-global'           => 'Global Rollbackers',
-   'group-rollback-global-member'    => '{{GENDER:$1|global rollbacker}}',
-   'grouppage-rollback-global'       => '{{ns:project}}:Global Rollbackers',
-
-   'group-steward-global'            => 'Global Stewards',
-   'group-steward-global-member'     => '{{GENDER:$1|global steward|global 
stewardess}}',
-   'grouppage-steward-global'        => '{{ns:project}}:Global Stewards',
-
-   'group-sysadmin-global'           => 'Global System administrators',
-   'group-sysadmin-global-member'    => '{{GENDER:$1|global system 
administrator}}',
-   'grouppage-sysadmin-global'       => '{{ns:project}}:Global System 
administrators',
-
-   'group-sysop-global'              => 'Global Administrators',
-   'group-sysop-global-member'       => '{{GENDER:$1|global administrator}}',
-   'grouppage-sysop-global'          => '{{ns:project}}:Global Administrators',
-);
-
-/** Message documentation (Message documentation)
- * @author SVG
- */
-$messages['qqq'] = array(
-   'group-bot-global'                => '{{doc-group|bot-global}}',
-   'group-bot-global-member'         => '{{doc-group|bot-global|member}}',
-   'grouppage-bot-global'            => '{{doc-group|bot-global|page}}',
-
-   'group-checkuser-global'          => '{{doc-group|checkuser-global}}',
-   'group-checkuser-global-member'   => 
'{{doc-group|checkuser-global|member}}',
-   'grouppage-checkuser-global'      => '{{doc-group|checkuser-global|page}}',
-
-   'group-helper-global'             => '{{doc-group|helper-global}}',
-   'group-helper-global-member'      => '{{doc-group|helper-global|member}}',
-   'grouppage-helper-global'         => '{{doc-group|helper-global|page}}',
-
-   'group-ipblock-exempt-g'          => '{{doc-group|ipblock-exempt-g}}',
-   'group-ipblock-exempt-g-member'   => 
'{{doc-group|ipblock-exempt-g|member}}',
-   'grouppage-ipblock-exempt-g'      => '{{doc-group|ipblock-exempt-g|page}}',
-
-   'group-rollback-global'           => '{{doc-group|rollback-global}}',
-   'group-rollback-global-member'    => '{{doc-group|rollback-global|member}}',
-   'grouppage-rollback-global'       => '{{doc-group|rollback-global|page}}',
-
-   'group-steward-global'            => '{{doc-group|steward-global}}',
-   'group-steward-global-member'     => '{{doc-group|steward-global|member}}',
-   'grouppage-steward-global'        => '{{doc-group|steward-global|page}}',
-
-   'group-sysadmin-global'           => '{{doc-group|sysadmin-global}}',
-   'group-sysadmin-global-member'    => '{{doc-group|sysadmin-global|member}}',
-   'grouppage-sysadmin-global'       => '{{doc-group|sysadmin-global|page}}',
-
-   'group-sysop-global'              => '{{doc-group|sysop-global}}',
-   'group-sysop-global-member'       => '{{doc-group|sysop-global|member}}',
-   'grouppage-sysop-global'          => '{{doc-group|sysop-global|page}}',
-);
-
-/** German (Deutsch)
- * @author SVG
- */
-$messages['de'] = array(
-   'group-bot-global'                => 'Globale Bots',
-   'group-bot-global-member'         => '{{GENDER:$1|Globaler Bot}}',
-   'grouppage-bot-global'            => '{{ns:project}}:Globale Bots',
-
-   'group-checkuser-global'          => 'Globale Checkuser',
-   'group-checkuser-global-member'   => '{{GENDER:$1|Globaler 
Checkuser-Berechtigter|Globale Checkuser-Berechtigte}}',
-   'grouppage-checkuser-global'      => '{{ns:project}}:Globale Checkuser',
-
-   'group-helper-global'             => 'Globale Helfer',
-   'group-helper-global-member'      => '{{GENDER:$1|Globaler Helfer|Globale 
Helferin}}',
-   'grouppage-helper-global'         => '{{ns:project}}:Globale Helfer',
-
-   'group-ipblock-exempt-g'          => 'Globale IP-Sperren-Ausgenommene',
-   'group-ipblock-exempt-g-member'   => '{{GENDER:$1|Globaler 
IP-Sperren-Ausgenommener|Globale IP-Sperren-Ausgenommene}}',
-   'grouppage-ipblock-exempt-g'      => '{{ns:project}}:Globale 
IP-Sperren-Ausgenommene',
-
-   'group-rollback-global'           => 'Globale Zurücksetzer',
-   'group-rollback-global-member'    => '{{GENDER:$1|Globaler 
Zurücksetzer|Globale Zurücksetzerin}}',
-   'grouppage-rollback-global'       => '{{ns:project}}:Globale Zurücksetzer',
-
-   'group-steward-global'            => 'Globale Stewards',
-   'group-steward-global-member'     => '{{GENDER:$1|Globaler Steward|Globale 
Stewardess}}',
-   'grouppage-steward-global'        => '{{ns:project}}:Globale Stewards',
-
-   'group-sysadmin-global'           => 'Globale Systemadministratoren',
-   'group-sysadmin-global-member'    => '{{GENDER:$1|Globaler 
Systemadministrator|Globale Systemadministratorin}}',
-   'grouppage-sysadmin-global'       => '{{ns:project}}:Globale 
Systemadministratoren',
-
-   'group-sysop-global'              => 'Globale Administratoren',
-   'group-sysop-global-member'       => '{{GENDER:$1|Globaler 
Administrator|Globale Administratorin}}',
-   'grouppage-sysop-global'          => '{{ns:project}}:Globale 
Administratoren',
-);
-
-/** Dutch (Nederlands)
- * @author Siebrand
- * @author SPQRobin
- * @author SVG
- * @author Tvdm
- */
-$messages['nl'] = array(
-   'group-bot-global'                => 'globale bots',
-   'group-bot-global-member'         => '{{GENDER:$1|globale robot}}',
-   'grouppage-bot-global'            => '{{ns:project}}:Globale bots',
-
-   'group-checkuser-global'          => 'globale controlegebruikers',
-   'group-checkuser-global-member'   => '{{GENDER:$1|globale 
controlegebruiker}}',
-   'grouppage-checkuser-global'      => '{{ns:project}}:Globale 
controlegebruikers',
-
-   'group-helper-global'             => 'globale helpers',
-   'group-helper-global-member'      => '{{GENDER:$1|globale helper}}',
-   'grouppage-helper-global'         => '{{ns:project}}:Globale helpers',
-
-   'group-ipblock-exempt-g'          => 'globale uitgezonderden van 
IP-adresblokkades',
-   'group-ipblock-exempt-g-member'   => '{{GENDER:$1|globale uitgezonderde van 
IP-adresblokkades}}',
-   'grouppage-ipblock-exempt-g'      => '{{ns:project}}:Globale uitgezonderden 
van IP-adresblokkades',
-
-   'group-rollback-global'           => 'globale terugdraaiers',
-   'group-rollback-global-member'    => '{{GENDER:$1|globale terugdraaier}}',
-   'grouppage-rollback-global'       => '{{ns:project}}:Globale terugdraaiers',
-
-   'group-steward-global'            => 'globale stewards',
-   'group-steward-global-member'     => '{{GENDER:$1|globale steward}}',
-   'grouppage-steward-global'        => '{{ns:project}}:Globale stewards',
-
-   'group-sysadmin-global'           => 'globale systeembeheerders',
-   'group-sysadmin-global-member'    => '{{GENDER:$1|globale 
systeembeheerder}}',
-   'grouppage-sysadmin-global'       => '{{ns:project}}:Globale 
systeembeheerders',
-
-   'group-sysop-global'              => 'globale beheerders',
-   'group-sysop-global-member'       => '{{GENDER:$1|globale beheerder}}',
-   'grouppage-sysop-global'          => '{{ns:project}}:Globale beheerders',
-);
-
+               $cachedData['deps'][] = new FileDependency( $fileName );
+       }
+       return true;
+};
diff --git a/GlobalUserGroups.i18n.php b/GlobalUserGroups.i18n.php
index eeb2776..004e300 100644
--- a/GlobalUserGroups.i18n.php
+++ b/GlobalUserGroups.i18n.php
@@ -14,7 +14,7 @@
 $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, 
&$cachedData ) {
        $codeSequence = array_merge( array( $code ), 
$cachedData['fallbackSequence'] );
        foreach ( $codeSequence as $csCode ) {
-               $fileName = __DIR__ . "/i18n/$csCode.json";
+               $fileName = __DIR__ . "/i18n/core/$csCode.json";
                if ( is_readable( $fileName ) ) {
                        $data = FormatJson::decode( file_get_contents( 
$fileName ), true );
                        foreach ( array_keys( $data ) as $key ) {
diff --git a/GlobalUserGroups.php b/GlobalUserGroups.php
index d874ca2..ce745ba 100644
--- a/GlobalUserGroups.php
+++ b/GlobalUserGroups.php
@@ -23,16 +23,15 @@
        'url' => 'https://www.mediawiki.org/wiki/Extension:GlobalUserGroups',
        'author' => 'Tim Weyer',
        'descriptionmsg' => 'globalusergroups-desc',
-       'version' => '1.1.0',
+       'version' => '1.1.1',
 );
 
 // Use extra translations for various user group names
 $wgGlobalUserGroupsUseEMWT = true;
 
 // Translations
-$dir = dirname( __FILE__ ) . '/';
-$wgMessagesDirs['GlobalUserGroups'] = __DIR__ . '/i18n';
-$wgExtensionMessagesFiles['GlobalUserGroups'] = $dir . 
'GlobalUserGroups.i18n.php';
+$wgMessagesDirs['GlobalUserGroups'] = __DIR__ . '/i18n/core';
+$wgExtensionMessagesFiles['GlobalUserGroups'] = __DIR__ . 
'/GlobalUserGroups.i18n.php';
 
 // Hooks
 $wgHooks['UserRights'][] = 'efManageGlobalUserGroups';
@@ -89,11 +88,10 @@
 }
 
 function efGlobalUserGroupsEMWT() {
-       global $wgGlobalUserGroupsUseEMWT, $wgExtensionMessagesFiles;
-
-       $dir = dirname( __FILE__ ) . '/';
+       global $wgGlobalUserGroupsUseEMWT, $wgExtensionMessagesFiles, 
$wgMessagesDirs;
 
        if ( $wgGlobalUserGroupsUseEMWT ) {
-               $wgExtensionMessagesFiles['GlobalUserGroupsExtras'] = $dir . 
'GlobalUserGroups.i18n.groups.php';
+               $wgMessagesDirs['GlobalUserGroupsExtras'] = __DIR__ . 
'/i18n/groups';
+               $wgExtensionMessagesFiles['GlobalUserGroupsExtras'] = __DIR__ . 
'/GlobalUserGroups.i18n.groups.php';
        }
 }
diff --git a/i18n/ast.json b/i18n/core/ast.json
similarity index 100%
rename from i18n/ast.json
rename to i18n/core/ast.json
diff --git a/i18n/be-tarask.json b/i18n/core/be-tarask.json
similarity index 100%
rename from i18n/be-tarask.json
rename to i18n/core/be-tarask.json
diff --git a/i18n/da.json b/i18n/core/da.json
similarity index 100%
rename from i18n/da.json
rename to i18n/core/da.json
diff --git a/i18n/de.json b/i18n/core/de.json
similarity index 100%
rename from i18n/de.json
rename to i18n/core/de.json
diff --git a/i18n/dsb.json b/i18n/core/dsb.json
similarity index 100%
rename from i18n/dsb.json
rename to i18n/core/dsb.json
diff --git a/i18n/en.json b/i18n/core/en.json
similarity index 100%
rename from i18n/en.json
rename to i18n/core/en.json
diff --git a/i18n/es.json b/i18n/core/es.json
similarity index 100%
rename from i18n/es.json
rename to i18n/core/es.json
diff --git a/i18n/fa.json b/i18n/core/fa.json
similarity index 100%
rename from i18n/fa.json
rename to i18n/core/fa.json
diff --git a/i18n/fr.json b/i18n/core/fr.json
similarity index 100%
rename from i18n/fr.json
rename to i18n/core/fr.json
diff --git a/i18n/gl.json b/i18n/core/gl.json
similarity index 100%
rename from i18n/gl.json
rename to i18n/core/gl.json
diff --git a/i18n/he.json b/i18n/core/he.json
similarity index 100%
rename from i18n/he.json
rename to i18n/core/he.json
diff --git a/i18n/hsb.json b/i18n/core/hsb.json
similarity index 100%
rename from i18n/hsb.json
rename to i18n/core/hsb.json
diff --git a/i18n/ia.json b/i18n/core/ia.json
similarity index 100%
rename from i18n/ia.json
rename to i18n/core/ia.json
diff --git a/i18n/id.json b/i18n/core/id.json
similarity index 100%
rename from i18n/id.json
rename to i18n/core/id.json
diff --git a/i18n/ilo.json b/i18n/core/ilo.json
similarity index 100%
rename from i18n/ilo.json
rename to i18n/core/ilo.json
diff --git a/i18n/it.json b/i18n/core/it.json
similarity index 100%
rename from i18n/it.json
rename to i18n/core/it.json
diff --git a/i18n/ja.json b/i18n/core/ja.json
similarity index 100%
rename from i18n/ja.json
rename to i18n/core/ja.json
diff --git a/i18n/ko.json b/i18n/core/ko.json
similarity index 100%
rename from i18n/ko.json
rename to i18n/core/ko.json
diff --git a/i18n/ksh.json b/i18n/core/ksh.json
similarity index 100%
rename from i18n/ksh.json
rename to i18n/core/ksh.json
diff --git a/i18n/lb.json b/i18n/core/lb.json
similarity index 100%
rename from i18n/lb.json
rename to i18n/core/lb.json
diff --git a/i18n/mk.json b/i18n/core/mk.json
similarity index 100%
rename from i18n/mk.json
rename to i18n/core/mk.json
diff --git a/i18n/ms.json b/i18n/core/ms.json
similarity index 100%
rename from i18n/ms.json
rename to i18n/core/ms.json
diff --git a/i18n/mt.json b/i18n/core/mt.json
similarity index 100%
rename from i18n/mt.json
rename to i18n/core/mt.json
diff --git a/i18n/nb.json b/i18n/core/nb.json
similarity index 100%
rename from i18n/nb.json
rename to i18n/core/nb.json
diff --git a/i18n/nl.json b/i18n/core/nl.json
similarity index 100%
rename from i18n/nl.json
rename to i18n/core/nl.json
diff --git a/i18n/pl.json b/i18n/core/pl.json
similarity index 100%
rename from i18n/pl.json
rename to i18n/core/pl.json
diff --git a/i18n/pms.json b/i18n/core/pms.json
similarity index 100%
rename from i18n/pms.json
rename to i18n/core/pms.json
diff --git a/i18n/pt-br.json b/i18n/core/pt-br.json
similarity index 100%
rename from i18n/pt-br.json
rename to i18n/core/pt-br.json
diff --git a/i18n/qqq.json b/i18n/core/qqq.json
similarity index 100%
rename from i18n/qqq.json
rename to i18n/core/qqq.json
diff --git a/i18n/roa-tara.json b/i18n/core/roa-tara.json
similarity index 100%
rename from i18n/roa-tara.json
rename to i18n/core/roa-tara.json
diff --git a/i18n/ru.json b/i18n/core/ru.json
similarity index 100%
rename from i18n/ru.json
rename to i18n/core/ru.json
diff --git a/i18n/sv.json b/i18n/core/sv.json
similarity index 100%
rename from i18n/sv.json
rename to i18n/core/sv.json
diff --git a/i18n/tl.json b/i18n/core/tl.json
similarity index 100%
rename from i18n/tl.json
rename to i18n/core/tl.json
diff --git a/i18n/uk.json b/i18n/core/uk.json
similarity index 100%
rename from i18n/uk.json
rename to i18n/core/uk.json
diff --git a/i18n/zh-hans.json b/i18n/core/zh-hans.json
similarity index 100%
rename from i18n/zh-hans.json
rename to i18n/core/zh-hans.json
diff --git a/i18n/zh-hant.json b/i18n/core/zh-hant.json
similarity index 100%
rename from i18n/zh-hant.json
rename to i18n/core/zh-hant.json
diff --git a/i18n/groups/de.json b/i18n/groups/de.json
new file mode 100644
index 0000000..0ce8952
--- /dev/null
+++ b/i18n/groups/de.json
@@ -0,0 +1,31 @@
+{
+    "@metadata": {
+        "authors": [
+            "SVG"
+        ]
+    },
+    "group-bot-global": "Globale Bots",
+    "group-bot-global-member": "{{GENDER:$1|Globaler Bot}}",
+    "grouppage-bot-global": "{{ns:project}}:Globale Bots",
+    "group-checkuser-global": "Globale Checkuser",
+    "group-checkuser-global-member": "{{GENDER:$1|Globaler 
Checkuser-Berechtigter|Globale Checkuser-Berechtigte}}",
+    "grouppage-checkuser-global": "{{ns:project}}:Globale Checkuser",
+    "group-helper-global": "Globale Helfer",
+    "group-helper-global-member": "{{GENDER:$1|Globaler Helfer|Globale 
Helferin}}",
+    "grouppage-helper-global": "{{ns:project}}:Globale Helfer",
+    "group-ipblock-exempt-g": "Globale IP-Sperren-Ausgenommene",
+    "group-ipblock-exempt-g-member": "{{GENDER:$1|Globaler 
IP-Sperren-Ausgenommener|Globale IP-Sperren-Ausgenommene}}",
+    "grouppage-ipblock-exempt-g": "{{ns:project}}:Globale 
IP-Sperren-Ausgenommene",
+    "group-rollback-global": "Globale Zurücksetzer",
+    "group-rollback-global-member": "{{GENDER:$1|Globaler Zurücksetzer|Globale 
Zurücksetzerin}}",
+    "grouppage-rollback-global": "{{ns:project}}:Globale Zurücksetzer",
+    "group-steward-global": "Globale Stewards",
+    "group-steward-global-member": "{{GENDER:$1|Globaler Steward|Globale 
Stewardess}}",
+    "grouppage-steward-global": "{{ns:project}}:Globale Stewards",
+    "group-sysadmin-global": "Globale Systemadministratoren",
+    "group-sysadmin-global-member": "{{GENDER:$1|Globaler 
Systemadministrator|Globale Systemadministratorin}}",
+    "grouppage-sysadmin-global": "{{ns:project}}:Globale 
Systemadministratoren",
+    "group-sysop-global": "Globale Administratoren",
+    "group-sysop-global-member": "{{GENDER:$1|Globaler Administrator|Globale 
Administratorin}}",
+    "grouppage-sysop-global": "{{ns:project}}:Globale Administratoren"
+}
diff --git a/i18n/groups/en.json b/i18n/groups/en.json
new file mode 100644
index 0000000..10352cd
--- /dev/null
+++ b/i18n/groups/en.json
@@ -0,0 +1,31 @@
+{
+    "@metadata": {
+        "authors": [
+            "SVG"
+        ]
+    },
+    "group-bot-global": "Global Bots",
+    "group-bot-global-member": "{{GENDER:$1|global bot}}",
+    "grouppage-bot-global": "{{ns:project}}:Global Bots",
+    "group-checkuser-global": "Global Check users",
+    "group-checkuser-global-member": "{{GENDER:$1|global check user}}",
+    "grouppage-checkuser-global": "{{ns:project}}:Global Check users",
+    "group-helper-global": "Global Helpers",
+    "group-helper-global-member": "{{GENDER:$1|global helper}}",
+    "grouppage-helper-global": "{{ns:project}}:Global Helpers",
+    "group-ipblock-exempt-g": "Global IP block exemptions",
+    "group-ipblock-exempt-g-member": "{{GENDER:$1|global IP block exempt}}",
+    "grouppage-ipblock-exempt-g": "{{ns:project}}:Global IP block exemptions",
+    "group-rollback-global": "Global Rollbackers",
+    "group-rollback-global-member": "{{GENDER:$1|global rollbacker}}",
+    "grouppage-rollback-global": "{{ns:project}}:Global Rollbackers",
+    "group-steward-global": "Global Stewards",
+    "group-steward-global-member": "{{GENDER:$1|global steward|global 
stewardess}}",
+    "grouppage-steward-global": "{{ns:project}}:Global Stewards",
+    "group-sysadmin-global": "Global System administrators",
+    "group-sysadmin-global-member": "{{GENDER:$1|global system 
administrator}}",
+    "grouppage-sysadmin-global": "{{ns:project}}:Global System administrators",
+    "group-sysop-global": "Global Administrators",
+    "group-sysop-global-member": "{{GENDER:$1|global administrator}}",
+    "grouppage-sysop-global": "{{ns:project}}:Global Administrators"
+}
diff --git a/i18n/groups/nl.json b/i18n/groups/nl.json
new file mode 100644
index 0000000..9d32f8b
--- /dev/null
+++ b/i18n/groups/nl.json
@@ -0,0 +1,34 @@
+{
+    "@metadata": {
+        "authors": [
+            "Siebrand",
+            "SPQRobin",
+            "SVG",
+            "Tvdm"
+        ]
+    },
+    "group-bot-global": "globale bots",
+    "group-bot-global-member": "{{GENDER:$1|globale robot}}",
+    "grouppage-bot-global": "{{ns:project}}:Globale bots",
+    "group-checkuser-global": "globale controlegebruikers",
+    "group-checkuser-global-member": "{{GENDER:$1|globale controlegebruiker}}",
+    "grouppage-checkuser-global": "{{ns:project}}:Globale controlegebruikers",
+    "group-helper-global": "globale helpers",
+    "group-helper-global-member": "{{GENDER:$1|globale helper}}",
+    "grouppage-helper-global": "{{ns:project}}:Globale helpers",
+    "group-ipblock-exempt-g": "globale uitgezonderden van IP-adresblokkades",
+    "group-ipblock-exempt-g-member": "{{GENDER:$1|globale uitgezonderde van 
IP-adresblokkades}}",
+    "grouppage-ipblock-exempt-g": "{{ns:project}}:Globale uitgezonderden van 
IP-adresblokkades",
+    "group-rollback-global": "globale terugdraaiers",
+    "group-rollback-global-member": "{{GENDER:$1|globale terugdraaier}}",
+    "grouppage-rollback-global": "{{ns:project}}:Globale terugdraaiers",
+    "group-steward-global": "globale stewards",
+    "group-steward-global-member": "{{GENDER:$1|globale steward}}",
+    "grouppage-steward-global": "{{ns:project}}:Globale stewards",
+    "group-sysadmin-global": "globale systeembeheerders",
+    "group-sysadmin-global-member": "{{GENDER:$1|globale systeembeheerder}}",
+    "grouppage-sysadmin-global": "{{ns:project}}:Globale systeembeheerders",
+    "group-sysop-global": "globale beheerders",
+    "group-sysop-global-member": "{{GENDER:$1|globale beheerder}}",
+    "grouppage-sysop-global": "{{ns:project}}:Globale beheerders"
+}
diff --git a/i18n/groups/qqq.json b/i18n/groups/qqq.json
new file mode 100644
index 0000000..35a6f2a
--- /dev/null
+++ b/i18n/groups/qqq.json
@@ -0,0 +1,31 @@
+{
+    "@metadata": {
+        "authors": [
+            "SVG"
+        ]
+    },
+    "group-bot-global": "{{doc-group|bot-global}}",
+    "group-bot-global-member": "{{doc-group|bot-global|member}}",
+    "grouppage-bot-global": "{{doc-group|bot-global|page}}",
+    "group-checkuser-global": "{{doc-group|checkuser-global}}",
+    "group-checkuser-global-member": "{{doc-group|checkuser-global|member}}",
+    "grouppage-checkuser-global": "{{doc-group|checkuser-global|page}}",
+    "group-helper-global": "{{doc-group|helper-global}}",
+    "group-helper-global-member": "{{doc-group|helper-global|member}}",
+    "grouppage-helper-global": "{{doc-group|helper-global|page}}",
+    "group-ipblock-exempt-g": "{{doc-group|ipblock-exempt-g}}",
+    "group-ipblock-exempt-g-member": "{{doc-group|ipblock-exempt-g|member}}",
+    "grouppage-ipblock-exempt-g": "{{doc-group|ipblock-exempt-g|page}}",
+    "group-rollback-global": "{{doc-group|rollback-global}}",
+    "group-rollback-global-member": "{{doc-group|rollback-global|member}}",
+    "grouppage-rollback-global": "{{doc-group|rollback-global|page}}",
+    "group-steward-global": "{{doc-group|steward-global}}",
+    "group-steward-global-member": "{{doc-group|steward-global|member}}",
+    "grouppage-steward-global": "{{doc-group|steward-global|page}}",
+    "group-sysadmin-global": "{{doc-group|sysadmin-global}}",
+    "group-sysadmin-global-member": "{{doc-group|sysadmin-global|member}}",
+    "grouppage-sysadmin-global": "{{doc-group|sysadmin-global|page}}",
+    "group-sysop-global": "{{doc-group|sysop-global}}",
+    "group-sysop-global-member": "{{doc-group|sysop-global|member}}",
+    "grouppage-sysop-global": "{{doc-group|sysop-global|page}}"
+}

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

Gerrit-MessageType: merged
Gerrit-Change-Id: If5ca30c5fd95c9f54140d73e66c4758511d289c2
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/GlobalUserGroups
Gerrit-Branch: master
Gerrit-Owner: Siebrand <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>

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

Reply via email to