Internationalize Mediawiki ULS extension
Change-Id: I17d6c4d6322e30c96a48788dd34dc11530b809b5
This commit is contained in:
@@ -20,21 +20,24 @@
|
||||
( function ( $, mw, undefined ) {
|
||||
"use strict";
|
||||
|
||||
var template = '<div class="row"><div class="twelve columns"><h3>Display settings</h3></div></div>'
|
||||
+ '<div class="row"><div class="eleven columns"><h4>Language used for menus</h4></div></div>'
|
||||
var template = '<div class="row"><div class="twelve columns">'
|
||||
+ '<h3 data-i18n="ext-uls-display-settings-title"></h3></div></div>'
|
||||
+ '<div class="row"><div class="eleven columns">'
|
||||
+ '<h4 data-i18n="ext-uls-display-settings-ui-language"></h4></div></div>'
|
||||
+ '<div class="row"><div class="uls-ui-languages eleven columns">'
|
||||
+ '</div></div>'
|
||||
+ '<div class="row"><div class="twelve columns"><h4>Font settings</h4></div></div>'
|
||||
+ '<div class="row"><div class="twelve columns">'
|
||||
+ '<h4 data-i18n="ext-uls-display-settings-font-settings"></h4></div></div>'
|
||||
+ '<div class="row">'
|
||||
+ '<div class="eleven columns">'
|
||||
+ '<label class="checkbox"><input type="checkbox" id="webfonts-enable-checkbox" />'
|
||||
+ '<strong>Download fonts automatically when needed</strong> '
|
||||
+ 'Web fonts will be downloaded when text in special scripts is displayed. '
|
||||
+ '<a target="_blank" href="//www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:WebFonts">More information</a>'
|
||||
+ '<strong data-i18n="ext-uls-webfonts-settings-title"></strong> '
|
||||
+ '<span data-i18n="ext-uls-webfonts-settings-info"></span> '
|
||||
+ '<a target="_blank" href="//www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:WebFonts" data-i18n="ext-uls-webfonts-settings-info-link"></a>'
|
||||
+ '</span></label>'
|
||||
+ '</div>'
|
||||
+ '</div>'
|
||||
+ '<div class="row"><h5 class="twelve columns">Select your preferred fonts</h5></div>'
|
||||
+ '<div class="row"><h5 class="twelve columns" data-i18n="ext-uls-webfonts-select"></h5></div>'
|
||||
+ '<div class="row uls-content-fonts">'
|
||||
+ '<div class="six columns"><label class="uls-font-label" id="content-font-selector-label"></label></div>'
|
||||
+ '<select id="content-font-selector" class="four columns end uls-font-select"></select>'
|
||||
@@ -46,14 +49,15 @@
|
||||
+ '<div class="row"></div>'
|
||||
+ '<div class="row language-settings-buttons">'
|
||||
+ '<div class="eleven columns">'
|
||||
+ '<button class="button uls-settings-close">Cancel</button>'
|
||||
+ '<button id="uls-displaysettings-apply" class="active blue button">Apply changes</button>'
|
||||
+ '<button class="button uls-settings-close" data-i18n="ext-uls-language-settings-cancel"></button>'
|
||||
+ '<button id="uls-displaysettings-apply" class="active blue button" data-i18n="ext-uls-language-settings-apply">'
|
||||
+ '</button>'
|
||||
+ '</div>'
|
||||
+ '</div>'; // FIXME i18n and too much hardcoding.
|
||||
|
||||
var DisplaySettings = function ( $parent ) {
|
||||
this.name = "Display";
|
||||
this.description = "Set language used for menus and fonts";
|
||||
this.name = $.i18n( "ext-uls-display-settings-title-short" );
|
||||
this.description = $.i18n( "ext-uls-display-settings-desc" );
|
||||
this.$template = $( template );
|
||||
this.uiLanguage = this.getUILanguage();
|
||||
this.contentLanguage = this.getContentLanguage();
|
||||
@@ -153,8 +157,8 @@
|
||||
top: that.$parent.top,
|
||||
onReady: function ( uls ) {
|
||||
var $back = $( '<a>' ).prop( 'href', '#' )
|
||||
.prop( 'title', 'Back to display settings' )
|
||||
.text( '← Back to display settings' ); // FIXME i18n
|
||||
.data( 'i18n','ext-uls-back-to-display-settings' )
|
||||
.i18n();
|
||||
|
||||
$back.click( function () {
|
||||
uls.hide();
|
||||
@@ -162,7 +166,9 @@
|
||||
} );
|
||||
|
||||
uls.$menu.find( 'div.uls-title' ).append( $back );
|
||||
uls.$menu.find( 'div.uls-title h1' ).text( 'Select display language' );
|
||||
uls.$menu.find( 'div.uls-title h1' )
|
||||
.data( 'i18n','ext-uls-display-settings-ui-language' )
|
||||
.i18n();
|
||||
},
|
||||
onSelect: function ( langCode ) {
|
||||
that.uiLanguage = langCode;
|
||||
@@ -235,8 +241,12 @@
|
||||
$fontSelector.append( $systemFont );
|
||||
$systemFont.attr( 'selected', savedFont === 'system' || !savedFont );
|
||||
var $fontLabel = this.$template.find( 'label#ui-font-selector-label' );
|
||||
$fontLabel.html( "<strong>Select font for " + $.uls.data.autonym( this.uiLanguage )
|
||||
+ "</strong><div>Used for menus</div>" );
|
||||
$fontLabel.html( '<strong>'
|
||||
+ $.i18n( 'ext-uls-webfonts-select-for', $.uls.data.autonym( this.uiLanguage ) )
|
||||
+ '</strong>'
|
||||
+ '<div>'
|
||||
+ $.i18n( 'ext-uls-webfonts-select-for-ui-info' )
|
||||
+ '</div>' );
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -263,8 +273,13 @@
|
||||
$fontSelector.append( $systemFont );
|
||||
$systemFont.attr( 'selected', savedFont === 'system' || !savedFont );
|
||||
var $fontLabel = this.$template.find( '#content-font-selector-label' );
|
||||
$fontLabel.html( "<strong>Select font for " + $.uls.data.autonym( this.contentLanguage )
|
||||
+ "</strong><div>Used for content</div>" );
|
||||
$fontLabel.html( '<strong>'
|
||||
+ $.i18n( 'ext-uls-webfonts-select-for',
|
||||
$.uls.data.autonym( this.contentLanguage ) )
|
||||
+ '</strong>'
|
||||
+ '<div>'
|
||||
+ $.i18n( 'ext-uls-webfonts-select-for-content-info' )
|
||||
+ '</div>' );
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -87,30 +87,33 @@
|
||||
};
|
||||
|
||||
$( document ).ready( function () {
|
||||
var extensionPath = mw.config.get( 'wgExtensionAssetsPath' ) +
|
||||
'/UniversalLanguageSelector/';
|
||||
// i18n initialization
|
||||
var i18n = $.i18n( {
|
||||
locale: currentLang
|
||||
locale: currentLang,
|
||||
messageLocationResolver: function ( locale ) {
|
||||
return extensionPath + 'i18n/' + locale + '.json';
|
||||
}
|
||||
} );
|
||||
var extensionPath = mw.config.get( 'wgExtensionAssetsPath' ) +
|
||||
'/UniversalLanguageSelector/';
|
||||
// localization for jquery.uls
|
||||
i18n.load( extensionPath + 'lib/jquery.uls/i18n/' + currentLang + ".json", currentLang );
|
||||
|
||||
// localization for mediaWiki ULS
|
||||
i18n.load( extensionPath + 'i18n/' + currentLang + ".json", currentLang );
|
||||
var $ulsTrigger = $( '.uls-trigger' ),
|
||||
previousLanguages = mw.uls.getPreviousLanguages() || [],
|
||||
previousLang = previousLanguages.slice( -1 )[0];
|
||||
|
||||
function displaySettings () {
|
||||
var $displaySettingsTitle = $( '<div>' )
|
||||
.addClass( 'settings-title' )
|
||||
.text( 'Display settings' ),
|
||||
$displaySettingsText = $( '<span>' )
|
||||
.addClass( 'settings-text' )
|
||||
.text( 'Set language used for menus and fonts.' ),
|
||||
$displaySettings = $( '<div>' )
|
||||
.addClass( 'display-settings-block' )
|
||||
.prop( 'id', 'display-settings-block' )
|
||||
.append( $displaySettingsTitle )
|
||||
.append( $displaySettingsText );
|
||||
var $displaySettingsTitle = $( '<div data-i18n="ext-uls-display-settings-title">' )
|
||||
.addClass( 'settings-title' );
|
||||
var $displaySettingsText = $( '<span data-i18n="ext-uls-display-settings-desc">' )
|
||||
.addClass( 'settings-text' );
|
||||
var $displaySettings = $( '<div>' )
|
||||
.addClass( 'display-settings-block' )
|
||||
.prop( 'id', 'display-settings-block' )
|
||||
.append( $displaySettingsTitle )
|
||||
.append( $displaySettingsText );
|
||||
return $displaySettings;
|
||||
}
|
||||
|
||||
@@ -168,11 +171,12 @@
|
||||
fade: true,
|
||||
trigger: 'manual',
|
||||
title: function () {
|
||||
var prevLangName = $.uls.data.autonym( previousLang ),
|
||||
linkClass = 'uls-lang-link',
|
||||
title = "Language changed from <a href='#' lang = '" +
|
||||
previousLang + "' class = '" + linkClass + "' >" +
|
||||
prevLangName + "</a>";
|
||||
var prevLangName = $.uls.data.autonym( previousLang );
|
||||
var linkClass = 'uls-lang-link';
|
||||
var prevLangLink = "<a href='#' lang = '" +
|
||||
previousLang + "' class = '" + linkClass + "' >" +
|
||||
prevLangName + "</a>";
|
||||
var title = $.i18n( "ext-uls-undo-language-tooltip-text", prevLangLink );
|
||||
return title;
|
||||
}
|
||||
} );
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
'<span id="languagesettings-close" class="icon-close"></span>' +
|
||||
'</div>';
|
||||
var settingsMenu = '<div class="four columns languagesettings-menu">' +
|
||||
'<h1>Language settings</h1>' + // TODO i18n
|
||||
'<h1 data-i18n="ext-uls-language-settings-title"></h1>' +
|
||||
'<div class="settings-menu-items">' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
@@ -135,6 +135,7 @@
|
||||
} );
|
||||
}
|
||||
|
||||
this.$window.i18n();
|
||||
this.shown = true;
|
||||
this.$window.show();
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user