/** * ULS startup script. * * Copyright (C) 2012 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris, * Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other * contributors. See CREDITS for a list. * * UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't * have to do anything special to choose one license or the other and you don't * have to notify anyone which license you are using. You are free to use * UniversalLanguageSelector in commercial projects as long as the copyright * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details. * * @file * @ingroup Extensions * @licence GNU General Public Licence 2.0 or later * @licence MIT License */ ( function( $, mw, window, document, undefined ) { "use strict"; // MediaWiki override for ULS defaults. $.fn.uls.defaults = $.extend( $.fn.uls.defaults, { languages: mw.config.get( 'wgULSLanguages' ), searchAPI: mw.util.wikiScript( 'api' ) + "?action=languagesearch" } ); var currentLang = mw.config.get( 'wgUserLanguage' ); mw.uls = mw.uls || {}; mw.uls.previousLanguagesCookie = 'uls-previous-languages'; /** * Change the language of wiki using setlang URL parameter * @param {String} language */ mw.uls.changeLanguage = function( language ) { var uri = new mw.Uri( window.location.href ); uri.extend( { setlang: language } ); window.location.href = uri.toString(); }; mw.uls.setPreviousLanguages = function( previousLanguages ) { $.cookie( mw.uls.previousLanguagesCookie, $.toJSON( previousLanguages ) ); }; mw.uls.getPreviousLanguages = function() { var previousLanguages = $.cookie( mw.uls.previousLanguagesCookie ); if ( !previousLanguages ) { return []; } // return last 5 language changes return $.parseJSON( previousLanguages ).slice( -5 ); }; mw.uls.getBrowserLanguage = function() { return ( window.navigator.language || window.navigator.userLanguage ).split( '-' )[0]; }; mw.uls.getAcceptLanguageList = function() { return mw.config.get( "wgULSAcceptLanguageList" ); }; $( document ).ready( function() { var $ulsTrigger = $( '.uls-trigger' ), previousLanguages = mw.uls.getPreviousLanguages() || [], previousLang = previousLanguages.slice( -1 )[0]; function displaySettings() { var $displaySettingsTitle = $( '