(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-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-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-webfonts-select-for": "Select font for $1",
|
||||
"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-ui-language": "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-webfonts-select-for": "Kirjasin kielelle $1",
|
||||
"ext-uls-webfonts-select-for-ui-info": "K\u00e4ytt\u00f6liittym\u00e4n kirjasin",
|
||||
@@ -45,4 +45,4 @@
|
||||
"ext-uls-input-disable-notification": "Sy\u00f6tt\u00f6tavat ovat poistettu k\u00e4yt\u00f6st\u00e4.",
|
||||
"ext-uls-input-disable-notification-undo": "Kumoa",
|
||||
"ext-uls-language-settings-preferences-link": "Lis\u00e4\u00e4 kieliasetuksia"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
SUGGESTED_LANGUAGES_NUMBER = 3,
|
||||
anonsAllowed = mw.config.get( 'wgULSAnonCanChangeLanguage' ),
|
||||
languagesForButtons, $languages, suggestedLanguages,
|
||||
lang, i, language, $button;
|
||||
lang, i, language, $button, autonym;
|
||||
|
||||
// Don't let anonymous users change interface language
|
||||
if ( !anonsAllowed && mw.user.isAnon() ) {
|
||||
@@ -144,6 +144,7 @@
|
||||
};
|
||||
$loginCta = $( '<p>' )
|
||||
.attr( 'id', 'uls-display-settings-anon-log-in-cta' );
|
||||
autonym = $.uls.data.getAutonym( this.contentLanguage );
|
||||
|
||||
this.$template.find( '.uls-display-settings-language-tab' )
|
||||
.empty()
|
||||
@@ -153,7 +154,7 @@
|
||||
.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' ) )
|
||||
.text( $.i18n( 'ext-uls-display-settings-anon-same-as-content', autonym ) )
|
||||
),
|
||||
$loginCta
|
||||
);
|
||||
|
||||
@@ -12,12 +12,33 @@ Given(/^I am logged in$/) do
|
||||
loggedin.should be_true
|
||||
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)
|
||||
case language
|
||||
when 'German'
|
||||
'de'
|
||||
when 'English'
|
||||
'en'
|
||||
when 'Finnish'
|
||||
'fi'
|
||||
else
|
||||
pending
|
||||
end
|
||||
|
||||
@@ -1,15 +1,5 @@
|
||||
Given(/^I set "(.*?)" as the interface language$/) do |language|
|
||||
code = language_to_code(language)
|
||||
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
|
||||
Then(/^I see "(.*?)" as the name of the content language$/) do |text|
|
||||
@browser.span(:text => "#{text}").should be_visible
|
||||
end
|
||||
|
||||
Given(/^I inspect current fonts$/) do
|
||||
|
||||
@@ -2,7 +2,7 @@ class ULSPage
|
||||
include PageObject
|
||||
|
||||
include URL
|
||||
page_url URL.url('?setlang=<%=params[:setlang]%>')
|
||||
page_url URL.url('?<%=params[:extra]%>')
|
||||
|
||||
div(:panel_display, id: 'display-settings-block')
|
||||
div(:panel_input, id: 'input-settings-block')
|
||||
|
||||
@@ -51,3 +51,15 @@ Feature: ULS settings panel
|
||||
And I click X
|
||||
And I open "Language" panel of language settings
|
||||
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