Don't let anonymous users change interface language
Language selector is still opened by default Change-Id: Iee7d83179e71b4546d8f3cd4f6fb053262ce05e2
This commit is contained in:
committed by
Niklas Laxström
parent
b1aed294c0
commit
422371f688
@@ -22,6 +22,7 @@ $wgResourceModules['ext.uls.displaysettings'] = array(
|
|||||||
'ext.uls.languagesettings',
|
'ext.uls.languagesettings',
|
||||||
'ext.uls.webfonts',
|
'ext.uls.webfonts',
|
||||||
'jquery.i18n',
|
'jquery.i18n',
|
||||||
|
'mediawiki.api.parse',
|
||||||
),
|
),
|
||||||
) + $resourcePaths;
|
) + $resourcePaths;
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,9 @@
|
|||||||
"ext-uls-language-buttons-help": "Change the language of menus. Content language will not be affected.",
|
"ext-uls-language-buttons-help": "Change the language of menus. Content language will not be affected.",
|
||||||
"ext-uls-display-settings-font-settings": "Font settings",
|
"ext-uls-display-settings-font-settings": "Font settings",
|
||||||
"ext-uls-display-settings-ui-language": "Display language",
|
"ext-uls-display-settings-ui-language": "Display language",
|
||||||
|
"ext-uls-display-settings-anon-label": "Display language:",
|
||||||
|
"ext-uls-display-settings-anon-same-as-content": "English (same as content)",
|
||||||
|
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Log in]] to select a different language for menus.",
|
||||||
"ext-uls-webfonts-settings-title": "Download font when needed",
|
"ext-uls-webfonts-settings-title": "Download font when needed",
|
||||||
"ext-uls-webfonts-settings-info": "Webfonts will be downloaded for displaying text in special scripts.",
|
"ext-uls-webfonts-settings-info": "Webfonts will be downloaded for displaying text in special scripts.",
|
||||||
"ext-uls-webfonts-settings-info-link": "More information",
|
"ext-uls-webfonts-settings-info-link": "More information",
|
||||||
|
|||||||
@@ -21,6 +21,10 @@
|
|||||||
"ext-uls-language-buttons-help": "Help text that appears above the language selection buttons in the Display settings panel.",
|
"ext-uls-language-buttons-help": "Help text that appears above the language selection buttons in the Display settings panel.",
|
||||||
"ext-uls-display-settings-font-settings": "Subsection title for font settings",
|
"ext-uls-display-settings-font-settings": "Subsection title for font settings",
|
||||||
"ext-uls-display-settings-ui-language": "Sub section title for selecting UI language.\n{{Identical|Display language}}",
|
"ext-uls-display-settings-ui-language": "Sub section title for selecting UI language.\n{{Identical|Display language}}",
|
||||||
|
"ext-uls-display-settings-anon-label": "A label that appears to anonymous users before the message {{msg-mw|ext-uls-display-settings-anon-same-as-content}}.",
|
||||||
|
"ext-uls-display-settings-anon-same-as-content": "Text that appears to anonymous users after the label {{msg-mw|ext-uls-display-settings-anon-label}}.
|
||||||
|
Replace \"English\" with the name of your language.",
|
||||||
|
"ext-uls-display-settings-anon-log-in-cta": "A call to action for an anonymous user to log in.",
|
||||||
"ext-uls-webfonts-settings-title": "Short title for enabling webfonts",
|
"ext-uls-webfonts-settings-title": "Short title for enabling webfonts",
|
||||||
"ext-uls-webfonts-settings-info": "Webfonts will be downloaded for displaying text in special scripts.",
|
"ext-uls-webfonts-settings-info": "Webfonts will be downloaded for displaying text in special scripts.",
|
||||||
"ext-uls-webfonts-settings-info-link": "More information link text for webfonts",
|
"ext-uls-webfonts-settings-info-link": "More information link text for webfonts",
|
||||||
@@ -45,4 +49,4 @@
|
|||||||
"ext-uls-input-enable": "Label for enable input tools button",
|
"ext-uls-input-enable": "Label for enable input tools button",
|
||||||
"ext-uls-input-disable-info": "Info text for the disable input tools button",
|
"ext-uls-input-disable-info": "Info text for the disable input tools button",
|
||||||
"ext-uls-input-settings-noime": "Text to be shown when no input methods are available for a selected language"
|
"ext-uls-input-settings-noime": "Text to be shown when no input methods are available for a selected language"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,3 +100,11 @@ div.display-settings-block {
|
|||||||
color: #555555;
|
color: #555555;
|
||||||
font-size: 10pt;
|
font-size: 10pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.uls-display-settings-anon-label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#uls-display-settings-anon-log-in-cta {
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
|||||||
@@ -160,11 +160,43 @@
|
|||||||
* Prepare the UI language selector
|
* Prepare the UI language selector
|
||||||
*/
|
*/
|
||||||
prepareLanguages: function () {
|
prepareLanguages: function () {
|
||||||
var displaySettings = this,
|
var loginUri, $loginCta,
|
||||||
|
displaySettings = this,
|
||||||
SUGGESTED_LANGUAGES_NUMBER = 3,
|
SUGGESTED_LANGUAGES_NUMBER = 3,
|
||||||
|
anonsAllowed = mw.config.get( 'wgULSAnonCanChangeLanguage' ),
|
||||||
languagesForButtons, $languages, suggestedLanguages,
|
languagesForButtons, $languages, suggestedLanguages,
|
||||||
lang, i, language, $button;
|
lang, i, language, $button;
|
||||||
|
|
||||||
|
// Don't let anonymous users change interface language
|
||||||
|
if ( !anonsAllowed && mw.user.isAnon() ) {
|
||||||
|
loginUri = new mw.Uri();
|
||||||
|
loginUri.query = {
|
||||||
|
title: 'Special:UserLogin'
|
||||||
|
};
|
||||||
|
$loginCta = $( '<p>' )
|
||||||
|
.attr( 'id', 'uls-display-settings-anon-log-in-cta' );
|
||||||
|
|
||||||
|
this.$template.find( '.uls-display-settings-language-tab' )
|
||||||
|
.empty()
|
||||||
|
.append(
|
||||||
|
$( '<p>' ).append(
|
||||||
|
$( '<span>' )
|
||||||
|
.addClass( 'uls-display-settings-anon-label' )
|
||||||
|
.html( $.i18n( 'ext-uls-display-settings-anon-label' ) + ' ' ),
|
||||||
|
$( '<span>' )
|
||||||
|
.text( $.i18n( 'ext-uls-display-settings-anon-same-as-content' ) )
|
||||||
|
),
|
||||||
|
$loginCta
|
||||||
|
);
|
||||||
|
|
||||||
|
new mw.Api().parse( $.i18n( 'ext-uls-display-settings-anon-log-in-cta' ) )
|
||||||
|
.done( function ( parsedCta ) {
|
||||||
|
$loginCta.html( parsedCta );
|
||||||
|
} );
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$languages = this.$template.find( 'div.uls-ui-languages' );
|
$languages = this.$template.find( 'div.uls-ui-languages' );
|
||||||
suggestedLanguages = this.frequentLanguageList()
|
suggestedLanguages = this.frequentLanguageList()
|
||||||
// Common world languages, for the case that there are
|
// Common world languages, for the case that there are
|
||||||
|
|||||||
Reference in New Issue
Block a user