Jdrewniak has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/383340 )

Change subject: Exposing zh variant translations
......................................................................

Exposing zh variant translations

Converting non-standard zh languages codes to ones used by browsers
so that the translations display correctly on the wikipedia portal

Bug: T171647
Change-Id: Iaf62e643030f047b9fada8a2bfa5394e19cc7960
---
M data/l10n-overrides.json
M data/stats.js
M dev/wikipedia.org/assets/js/wm-test.js
3 files changed, 25 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/portals 
refs/changes/40/383340/1

diff --git a/data/l10n-overrides.json b/data/l10n-overrides.json
index 6f3e673..8aa8c1c 100644
--- a/data/l10n-overrides.json
+++ b/data/l10n-overrides.json
@@ -233,17 +233,10 @@
                        }
                }
        },
-       "zh-classical": {
-               "lang": "lzh"
-       },
-       "zh-min-nan": {
-               "lang": "nan"
-       },
        "zh-yue": {
                "attrs": {
                        "data-convert-Hans": "粤语",
                        "id": "zh-yue_wiki"
-               },
-               "lang": "yue"
+               }
        }
 }
\ No newline at end of file
diff --git a/data/stats.js b/data/stats.js
index 55930ff..750db4d 100644
--- a/data/stats.js
+++ b/data/stats.js
@@ -15,7 +15,7 @@
 
        fileNames.forEach( function ( filename ) {
                var fileContent = fs.readFileSync( dirname + filename, 'utf-8' 
),
-               langCode = filename.replace( '.json', '' );
+                       langCode = filename.replace( '.json', '' );
                siteDefs[ langCode ] = JSON.parse( fileContent );
 
                if ( siteDefsFormatting[ langCode ] ) {
@@ -26,10 +26,11 @@
        return siteDefs;
 };
 
-var siteDefs = Stats.readi18nFiles(  __dirname + '/../l10n/' );
+var siteDefs = Stats.readi18nFiles( __dirname + '/../l10n/' );
 
 Stats.nonStandardCodes = {
-       'zh-min-nan': 'nan'
+       'zh-classical': 'zh-hant',
+       zh: 'zh-hans'
 };
 /**
  * Get top `n` wikis with most `criteria`.
@@ -213,6 +214,11 @@
                        formatted.attrs = siteDef.attrs;
                }
 
+               if ( Stats.nonStandardCodes.hasOwnProperty( formatted.code ) ) {
+                       var nonStandardCode = Stats.nonStandardCodes[ 
formatted.code ];
+                       siteDef = siteDefs[ nonStandardCode ];
+               }
+
                var extendedl10n = [
                        'language-button-text',
                        'footer-description',
@@ -243,12 +249,6 @@
                if ( options.stripTags ) {
                        // http://stackoverflow.com/a/5002161
                        formatted.name = formatted.name.replace( 
/<\/?[^>]+(>|$)/g, '' );
-               }
-
-               if ( Stats.nonStandardCodes.hasOwnProperty( formatted.code ) ) {
-                       var nonStandardCode = Stats.nonStandardCodes[ 
formatted.code ];
-                       top.code = nonStandardCode;
-                       formatted.code = nonStandardCode;
                }
 
                formatted.url = formatted.url.replace( 'https://', '' );
@@ -291,8 +291,5 @@
 
        return this.format( portal, list, { merge: true } );
 };
-
-/*REMOVE*/
-// Stats.getRangeFormatted( 'wiki', 'numPages', 0 )
 
 module.exports = Stats;
diff --git a/dev/wikipedia.org/assets/js/wm-test.js 
b/dev/wikipedia.org/assets/js/wm-test.js
index 47f6d49..8ddbcec 100644
--- a/dev/wikipedia.org/assets/js/wm-test.js
+++ b/dev/wikipedia.org/assets/js/wm-test.js
@@ -60,18 +60,31 @@
        /**
         * For l10n purposes, de-dups and verifies that a translation file is
         * available for the languages in the prefferedLangs.
+        * Also converts language codes used by browsers to ones used by wikis.
         * @param {array} langCodes - array of language codes
         * @return {array} - arry of verified and de-duplicated language codes
         */
        function verifyLanguageCodes( langCodes ) {
-               var i, availableLang, verifiedl10n = [];
+               var i, l, availableLang, verifiedl10n = [];
                if ( !langCodes.length ) {
                        // if language codes are empty, return 'en' as the 
default.
                        return [ 'en' ];
                }
 
                for ( i = 0; i < langCodes.length; i++ ) {
-                       availableLang = isTranslationAvailable( langCodes[ i ] 
);
+                       l = langCodes[ i ];
+                       switch ( langCodes[ i ].toLowerCase() ) {
+                               case 'zh-cn':
+                                       l = 'zh';
+                                       break;
+                               case 'zh-hk':
+                                       l = 'zh-yue';
+                                       break;
+                               case 'zh-tw':
+                                       l = 'zh-classical';
+                                       break;
+                       }
+                       availableLang = isTranslationAvailable( l );
                        if ( verifiedl10n.indexOf( availableLang ) === -1 ) {
                                verifiedl10n.push( availableLang );
                        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf62e643030f047b9fada8a2bfa5394e19cc7960
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/portals
Gerrit-Branch: master
Gerrit-Owner: Jdrewniak <jdrewn...@wikimedia.org>

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

Reply via email to