MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary Tag: Reverted |
||
Line 39: | Line 39: | ||
} ); | } ); | ||
} | } | ||
$(document).ready(function() { | |||
// Surcharge de la fonction getIMELanguageList pour restreindre les langues | |||
mw.ime.getIMELanguageList = function() { | |||
var unique = [], imeLanguageList; | |||
// Liste restreinte des langues | |||
var restrictedLanguageList = ['fr', 'nl', 'en', 'de']; | |||
// Concaténer la liste restreinte avec les langues fréquentes | |||
imeLanguageList = restrictedLanguageList.concat(mw.uls.getFrequentLanguageList()); | |||
// Supprimer les doublons | |||
imeLanguageList.forEach(function(lang) { | |||
if (unique.indexOf(lang) === -1) { | |||
unique.push(lang); | |||
} | |||
}); | |||
// Retourner les langues uniques | |||
return unique.slice(0, 6); | |||
}; | |||
// Optionnel : vérifier si ULS fonctionne comme prévu | |||
if (typeof $.fn.uls === 'function') { | |||
console.log('ULS est disponible et la liste des langues a été restreinte.'); | |||
} | |||
}); |
Revision as of 20:18, 1 August 2024
/* Any JavaScript here will be loaded for all users on every page load. */
/* 2024-07-18 PVO Added 2 lines below as part of installation instructions new homepage */
document.querySelector( '.mw-logo' ).setAttribute( 'href', '/?lang=' + mw.config.get( 'wgUserLanguage' ) );
// Replace Wikidata IDs with their [label, description]
// From/depuis: https://lingualibre.fr/wiki/MediaWiki:Common.js
if ( $( '.wb-external-id' ).length > 0 ) {
mw.loader.using( 'mediawiki.ForeignApi', function() {
$( '.wb-external-id' ).each( function() {
var href = $( this ).attr( 'href' );
if ( href && href.lastIndexOf( 'https://www.wikidata.org', 0 ) === 0 ) {
var wikidataApi = new mw.ForeignApi( 'https://www.wikidata.org/w/api.php', {
anonymous: true,
parameters: { 'origin': '*' },
ajax: { timeout: 10000 }
} ),
lang = mw.config.get( 'wgUserLanguage' ),
node = $( this );
wikidataApi.get( {
'action': 'wbgetentities',
'format': 'json',
'ids': node.text(),
'props': 'labels|descriptions',
'languages': lang + ( lang !== 'fr' ? '|fr' : ''),
'languagefallback': 1,
'origin': '*'
} ).then( function( data ) {
var entity = data.entities[ node.text() ];
lang = entity.labels[ lang ] === undefined && lang !== 'fr' ? 'fr' : lang;
var label = ( entity.labels[ lang ] !== undefined ? entity.labels[ lang ].value + ' <i>(' + node.text() + ')</i>' : node.text() ),
description = ( entity.descriptions[ lang ] !== undefined ? '<small>' + entity.descriptions[ lang ].value + '</small>' : '' );
node.html( label + '<br>' + description );
} );
}
} );
} );
}
$(document).ready(function() {
// Surcharge de la fonction getIMELanguageList pour restreindre les langues
mw.ime.getIMELanguageList = function() {
var unique = [], imeLanguageList;
// Liste restreinte des langues
var restrictedLanguageList = ['fr', 'nl', 'en', 'de'];
// Concaténer la liste restreinte avec les langues fréquentes
imeLanguageList = restrictedLanguageList.concat(mw.uls.getFrequentLanguageList());
// Supprimer les doublons
imeLanguageList.forEach(function(lang) {
if (unique.indexOf(lang) === -1) {
unique.push(lang);
}
});
// Retourner les langues uniques
return unique.slice(0, 6);
};
// Optionnel : vérifier si ULS fonctionne comme prévu
if (typeof $.fn.uls === 'function') {
console.log('ULS est disponible et la liste des langues a été restreinte.');
}
});