From 0e253cb312f4229b20c07bbef9a6a3349415ecb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Tue, 30 Aug 2016 15:12:46 +0200 Subject: [PATCH] In narrow mode, print "All languages" heading if suggested languages are given Also changed one instance of "Common languages" to "Suggested languages" in the no-i18n fallback code. --- i18n/en.json | 1 + i18n/qqq.json | 1 + src/jquery.uls.lcd.js | 18 ++++++++++++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/i18n/en.json b/i18n/en.json index bce93a2..b28c770 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -13,6 +13,7 @@ "uls-region-AS": "Asia", "uls-region-ME": "Middle East", "uls-region-PA": "Pacific", + "uls-region-all": "All languages", "uls-no-results-found": "No results found", "uls-common-languages": "Suggested languages", "uls-no-results-suggestion-title": "You may be interested in:", diff --git a/i18n/qqq.json b/i18n/qqq.json index 05f1a0d..f66f9f4 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -14,6 +14,7 @@ "uls-region-AS": "Label for Asia", "uls-region-ME": "Label for Middle East", "uls-region-PA": "Label for Pacific", + "uls-region-all": "Label for all languages in narrow mode, where languages are not split by region.", "uls-no-results-found": "Title text for 'No results found' section", "uls-common-languages": "The ULS tries to guess the langugages that the user is most likely to pick. They are taken from geolocation (languages of the current country according to the IP address), previously selected languages, and the browser's accept-language. The list of these languages appears at the top of the ULS languages list, above the geographical regions. This is the title of that list.\n\nSee also {{msg-mw|Mobile-frontend-languages-structured-overlay-suggested-languages-header}}", "uls-no-results-suggestion-title": "Title for language suggestion in 'no results found' screen", diff --git a/src/jquery.uls.lcd.js b/src/jquery.uls.lcd.js index 83759dd..fc812e5 100644 --- a/src/jquery.uls.lcd.js +++ b/src/jquery.uls.lcd.js @@ -109,8 +109,9 @@ }, render: function () { - var $section, + var $section, $quicklist, lcd = this, + narrowMode = this.options.columns === 1, regions = [], regionNames = { // These are fallback text when i18n library not present @@ -124,7 +125,16 @@ PA: 'Pacific' }; - regions.push( this.buildQuicklist() ); + $quicklist = this.buildQuicklist(); + regions.push( $quicklist ); + + if ( narrowMode && $quicklist.length ) { + regions.push( $( '

' ) + .attr( 'data-i18n', 'uls-region-all' ) + .addClass( 'uls-lcd-region-title' ) + .text( 'All languages' ) + ); + } $.each( $.uls.data.regiongroups, function ( regionCode ) { lcd.regionLanguages[ regionCode ] = []; @@ -139,7 +149,7 @@ .attr( 'id', regionCode ); // Show a region heading, unless we are using a narrow ULS - if ( lcd.options.columns !== 1 ) { + if ( !narrowMode ) { $section.append( $( '

' ) .attr( 'data-i18n', 'uls-region-' + regionCode ) .addClass( 'uls-lcd-region-title' ) @@ -323,7 +333,7 @@ $quickListSectionTitle = $( '

' ) .attr( 'data-i18n', 'uls-common-languages' ) .addClass( 'uls-lcd-region-title' ) - .text( 'Common languages' ); // This is placeholder text if jquery.i18n not present + .text( 'Suggested languages' ); // This is placeholder text if jquery.i18n not present $quickListSection.append( $quickListSectionTitle ); this.renderRegion(