Santhosh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/217251
Change subject: Fix: Link adapation does not happen when language code and
domain differs
......................................................................
Fix: Link adapation does not happen when language code and domain differs
Testplan:
Translate:
Special:ContentTranslation&page=LaTeX&from=simple&to=bho
Without this patch, user will see all links in translation
template as missing. With this patch, links will be adapated
to bh.
Bug: T99888
Change-Id: I2d5021c27f8b03563ef5a16723bed3ea83d0e701
---
M modules/base/ext.cx.sitemapper.js
M modules/tools/ext.cx.tools.link.js
2 files changed, 31 insertions(+), 21 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ContentTranslation
refs/changes/51/217251/1
diff --git a/modules/base/ext.cx.sitemapper.js
b/modules/base/ext.cx.sitemapper.js
index 6d7aa72..aec45af 100644
--- a/modules/base/ext.cx.sitemapper.js
+++ b/modules/base/ext.cx.sitemapper.js
@@ -11,21 +11,6 @@
( function ( $, mw ) {
'use strict';
- // Some wikis have domain names that do not match the content language.
- // See: wgLanguageCode in
operations/mediawiki-config/wmf-config/InitialiseSettings.php
- // NOTE: Keep list of mapping in sync with includes/SiteMapper.php
- var languageToWikiDomainMapping = {
- bho: 'bh',
- 'crh-latn': 'crh',
- gsw: 'als',
- sgs: 'bat-smg',
- 'be-tarask': 'be-x-old',
- vro: 'fiu-vro',
- rup: 'roa-rup',
- lzh: 'zh-classical',
- nan: 'zh-min-nan',
- yue: 'zh-yue'
- };
/**
* Handles providing urls to different wikis.
@@ -35,6 +20,30 @@
this.config = siteconfig;
};
+
+ /**
+ * Some wikis have domain names that do not match the content language.
+ * See: wgLanguageCode in
operations/mediawiki-config/wmf-config/InitialiseSettings.php
+ * NOTE: Keep list of mapping in sync with includes/SiteMapper.php
+ * @param {string} language Language code
+ */
+ mw.cx.SiteMapper.prototype.getWikiDomainCode = function ( language ) {
+ var languageToWikiDomainMapping = {
+ bho: 'bh',
+ 'crh-latn': 'crh',
+ gsw: 'als',
+ sgs: 'bat-smg',
+ 'be-tarask': 'be-x-old',
+ vro: 'fiu-vro',
+ rup: 'roa-rup',
+ lzh: 'zh-classical',
+ nan: 'zh-min-nan',
+ yue: 'zh-yue'
+ };
+
+ return languageToWikiDomainMapping[ language ] || language;
+ };
+
/**
* Get the API for a remote wiki.
*
@@ -42,10 +51,10 @@
* @return {mediawiki.Api}
*/
mw.cx.SiteMapper.prototype.getApi = function ( language ) {
- var url;
+ var url, domain;
- language = languageToWikiDomainMapping[ language ] || language;
- url = this.config.api.replace( '$1', language );
+ domain = this.getWikiDomainCode( language );
+ url = this.config.api.replace( '$1', domain );
return new mw.Api( {
ajax: {
url: url
@@ -63,15 +72,16 @@
*/
mw.cx.SiteMapper.prototype.getPageUrl = function ( language, title,
params ) {
var base = this.config.view,
+ domain,
extra = '';
- language = languageToWikiDomainMapping[ language ] || language;
+ domain = this.getWikiDomainCode( language );
if ( params && !$.isEmptyObject( params ) ) {
base = this.config.action || this.config.view;
extra = ( base.indexOf( '?' ) !== -1 ? '&' : '?' ) +
$.param( params );
}
- return base.replace( '$1', language ).replace( '$2', title ) +
extra;
+ return base.replace( '$1', domain ).replace( '$2', title ) +
extra;
};
/**
diff --git a/modules/tools/ext.cx.tools.link.js
b/modules/tools/ext.cx.tools.link.js
index db689a3..3d6c90a 100644
--- a/modules/tools/ext.cx.tools.link.js
+++ b/modules/tools/ext.cx.tools.link.js
@@ -77,7 +77,7 @@
titles: titles.join( '|' ),
prop: 'langlinks',
lllimit: titles.length, // TODO: Default is 10 and max
is 500. Do we need more than 500?
- lllang: language,
+ lllang: mw.cx.siteMapper.getWikiDomainCode( language ),
redirects: true,
format: 'json'
}, {
--
To view, visit https://gerrit.wikimedia.org/r/217251
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2d5021c27f8b03563ef5a16723bed3ea83d0e701
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Santhosh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits