(bug 49738) Use correct name for wiki content language
Happens when anonymous user cannot change language, and the language of the translation differs from the content language. Change-Id: Ie4f15f1813eec992cfe060baf9cd7dcb5f8a0d95
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
"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-label": "Display language:",
|
||||||
"ext-uls-display-settings-anon-same-as-content": "English (same as content)",
|
"ext-uls-display-settings-anon-same-as-content": "$1 (same as content)",
|
||||||
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Log in]] to select a different language for menus.",
|
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Log in]] to select a different language for menus.",
|
||||||
"ext-uls-webfonts-select-for": "Select font for $1",
|
"ext-uls-webfonts-select-for": "Select font for $1",
|
||||||
"ext-uls-webfonts-select-for-ui-info": "Font used for user interface",
|
"ext-uls-webfonts-select-for-ui-info": "Font used for user interface",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"ext-uls-display-settings-font-settings": "Kirjasinasetukset",
|
"ext-uls-display-settings-font-settings": "Kirjasinasetukset",
|
||||||
"ext-uls-display-settings-ui-language": "K\u00e4ytt\u00f6liittym\u00e4n kieli",
|
"ext-uls-display-settings-ui-language": "K\u00e4ytt\u00f6liittym\u00e4n kieli",
|
||||||
"ext-uls-display-settings-anon-label": "K\u00e4ytt\u00f6liittym\u00e4n kieli:",
|
"ext-uls-display-settings-anon-label": "K\u00e4ytt\u00f6liittym\u00e4n kieli:",
|
||||||
"ext-uls-display-settings-anon-same-as-content": "suomi (sama kuin sis\u00e4ll\u00f6n)",
|
"ext-uls-display-settings-anon-same-as-content": "$1 (sama kuin sis\u00e4ll\u00f6n)",
|
||||||
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Kirjaudu sis\u00e4\u00e4n]], jos haluat valita eri kielen valikoille.",
|
"ext-uls-display-settings-anon-log-in-cta": "[[Special:UserLogin|Kirjaudu sis\u00e4\u00e4n]], jos haluat valita eri kielen valikoille.",
|
||||||
"ext-uls-webfonts-select-for": "Kirjasin kielelle $1",
|
"ext-uls-webfonts-select-for": "Kirjasin kielelle $1",
|
||||||
"ext-uls-webfonts-select-for-ui-info": "K\u00e4ytt\u00f6liittym\u00e4n kirjasin",
|
"ext-uls-webfonts-select-for-ui-info": "K\u00e4ytt\u00f6liittym\u00e4n kirjasin",
|
||||||
|
|||||||
@@ -134,7 +134,7 @@
|
|||||||
SUGGESTED_LANGUAGES_NUMBER = 3,
|
SUGGESTED_LANGUAGES_NUMBER = 3,
|
||||||
anonsAllowed = mw.config.get( 'wgULSAnonCanChangeLanguage' ),
|
anonsAllowed = mw.config.get( 'wgULSAnonCanChangeLanguage' ),
|
||||||
languagesForButtons, $languages, suggestedLanguages,
|
languagesForButtons, $languages, suggestedLanguages,
|
||||||
lang, i, language, $button;
|
lang, i, language, $button, autonym;
|
||||||
|
|
||||||
// Don't let anonymous users change interface language
|
// Don't let anonymous users change interface language
|
||||||
if ( !anonsAllowed && mw.user.isAnon() ) {
|
if ( !anonsAllowed && mw.user.isAnon() ) {
|
||||||
@@ -144,6 +144,7 @@
|
|||||||
};
|
};
|
||||||
$loginCta = $( '<p>' )
|
$loginCta = $( '<p>' )
|
||||||
.attr( 'id', 'uls-display-settings-anon-log-in-cta' );
|
.attr( 'id', 'uls-display-settings-anon-log-in-cta' );
|
||||||
|
autonym = $.uls.data.getAutonym( this.contentLanguage );
|
||||||
|
|
||||||
this.$template.find( '.uls-display-settings-language-tab' )
|
this.$template.find( '.uls-display-settings-language-tab' )
|
||||||
.empty()
|
.empty()
|
||||||
@@ -153,7 +154,7 @@
|
|||||||
.addClass( 'uls-display-settings-anon-label' )
|
.addClass( 'uls-display-settings-anon-label' )
|
||||||
.html( $.i18n( 'ext-uls-display-settings-anon-label' ) + ' ' ),
|
.html( $.i18n( 'ext-uls-display-settings-anon-label' ) + ' ' ),
|
||||||
$( '<span>' )
|
$( '<span>' )
|
||||||
.text( $.i18n( 'ext-uls-display-settings-anon-same-as-content' ) )
|
.text( $.i18n( 'ext-uls-display-settings-anon-same-as-content', autonym ) )
|
||||||
),
|
),
|
||||||
$loginCta
|
$loginCta
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -12,12 +12,33 @@ Given(/^I am logged in$/) do
|
|||||||
loggedin.should be_true
|
loggedin.should be_true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Given(/^I set "(.*?)" as the interface language$/) do |language|
|
||||||
|
code = language_to_code(language)
|
||||||
|
visit(ULSPage, :using_params => {:extra => "setlang=#{code}"})
|
||||||
|
# And check it took effect
|
||||||
|
actual = @browser.execute_script( "return jQuery( 'html' ).attr( 'lang' )" )
|
||||||
|
actual.should == code
|
||||||
|
end
|
||||||
|
|
||||||
|
Given(/^I temporarily use "(.*?)" as the interface language$/) do |language|
|
||||||
|
code = language_to_code(language)
|
||||||
|
visit(ULSPage, :using_params => {:extra => "uselang=#{code}"})
|
||||||
|
end
|
||||||
|
|
||||||
|
Given(/^the content language is "(.*?)"$/) do |language|
|
||||||
|
code = language_to_code(language)
|
||||||
|
actual = @browser.execute_script( "return mw.config.get( 'wgContentLanguage' )" )
|
||||||
|
actual.should == code
|
||||||
|
end
|
||||||
|
|
||||||
def language_to_code(language)
|
def language_to_code(language)
|
||||||
case language
|
case language
|
||||||
when 'German'
|
when 'German'
|
||||||
'de'
|
'de'
|
||||||
when 'English'
|
when 'English'
|
||||||
'en'
|
'en'
|
||||||
|
when 'Finnish'
|
||||||
|
'fi'
|
||||||
else
|
else
|
||||||
pending
|
pending
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
Given(/^I set "(.*?)" as the interface language$/) do |language|
|
Then(/^I see "(.*?)" as the name of the content language$/) do |text|
|
||||||
code = language_to_code(language)
|
@browser.span(:text => "#{text}").should be_visible
|
||||||
visit(ULSPage, :using_params => {:setlang => "#{code}"})
|
|
||||||
# And check it took effect
|
|
||||||
actual = @browser.execute_script( "return jQuery( 'html' ).attr( 'lang' )" )
|
|
||||||
actual.should == code
|
|
||||||
end
|
|
||||||
|
|
||||||
Given(/^the content language is "(.*?)"$/) do |language|
|
|
||||||
code = language_to_code(language)
|
|
||||||
actual = @browser.execute_script( "return mw.config.get( 'wgContentLanguage' )" )
|
|
||||||
actual.should == code
|
|
||||||
end
|
end
|
||||||
|
|
||||||
Given(/^I inspect current fonts$/) do
|
Given(/^I inspect current fonts$/) do
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ class ULSPage
|
|||||||
include PageObject
|
include PageObject
|
||||||
|
|
||||||
include URL
|
include URL
|
||||||
page_url URL.url('?setlang=<%=params[:setlang]%>')
|
page_url URL.url('?<%=params[:extra]%>')
|
||||||
|
|
||||||
div(:panel_display, id: 'display-settings-block')
|
div(:panel_display, id: 'display-settings-block')
|
||||||
div(:panel_input, id: 'input-settings-block')
|
div(:panel_input, id: 'input-settings-block')
|
||||||
|
|||||||
@@ -51,3 +51,15 @@ Feature: ULS settings panel
|
|||||||
And I click X
|
And I click X
|
||||||
And I open "Language" panel of language settings
|
And I open "Language" panel of language settings
|
||||||
Then the panel is in English
|
Then the panel is in English
|
||||||
|
|
||||||
|
Scenario: The name of site content language is correct when translation language is different
|
||||||
|
|
||||||
|
This feature is a bit hard to test. In most cases content language matches
|
||||||
|
the language of translation. In addition this only applies to anonymous
|
||||||
|
users in wikis where language changing for anonymous users is disabled. So
|
||||||
|
to test this we create a somewhat artificial test case by setting the wiki
|
||||||
|
interface language to a non-default value.
|
||||||
|
|
||||||
|
Given I temporarily use "Finnish" as the interface language
|
||||||
|
When I open "Language" panel of language settings
|
||||||
|
Then I see "English (sama kuin sisällön)" as the name of the content language
|
||||||
|
|||||||
Reference in New Issue
Block a user