Open main menu

Extension:UniversalLanguageSelector

This page is a translated version of the page Extension:UniversalLanguageSelector and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎català • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎sicilianu • ‎русский • ‎سنڌي • ‎अवधी • ‎हिन्दी • ‎中文 • ‎日本語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어
Manuel des extensions MediaWiki
OOjs UI icon advanced.svg
UniversalLanguageSelector
État de la version : stable
ULS-Display-Settings.png
Implémentation Interface utilisateur:, Habillage , Fonctionnalité bêta
Description Outil qui permet aux utilisateurs de sélectionner une langue et de configurer son support facilement.
Auteur(s) équipe des langues Wikimedia
Dernière version 2019-10-31
MediaWiki 1.32+
Modifie la base de données Non
Composer mediawiki/universal-language-selector
Licence
Téléchargement Inclus dans le paquet Language Extension Bundle
N'est pas compatible avec Internet Explorer 8 ou antérieur.
Traduisez l’extension UniversalLanguageSelector sur translatewiki.net
Vérifiez la matrice des utilisations et des versions.
Problèmes Tâches ouvertes · Signalez un bogue

Le Sélecteur Universel de Langue (SUL) est un outil qui autorise les utilisateurs à sélectionner une langue et à configurer son support facilement. Là où il est utilisé, il embarque également les fonctions des extensions polices web et Narayam (les deux étant obsolètes et remplacées par le Sélecteur Universel de Langue). Voir le Selecteur Universel de Langue pour les informations de base et additionnelles.

Utilisation

Le but premier est d'autoriser les utilisateurs à choisir une langue et à configurer son support facilement.

L'extension fournit les fonctions suivantes:

  1. Manière souple et facile de sélectionner une langue à partir d'un grand ensemble de langues.
    1. La sélection peut être basée sur la région géographique où se fait la consultation ou les recherches.
    2. La recherche peut être basée sur le code de langue ISO, le nom de langue écrit dans l'interface de l'utilisateur actuel ou dans sa propre écriture (autonyme)
    3. La recherche inter-langues - rechercher des noms de langues en utilisant n'importe quelle écriture
    4. Autocomplétion des noms de langue
    5. Auto-correction des erreurs d'orthographe dans les chaînes cherchées
    6. Suggestion de langue par géolocalisation basée sur l'adresse IP
    7. Selection de langue basée sur le navigauteur de l'utilisateur ou la langue du système opérationnel
  2. Méthodes de saisie
    Voir Help:Extension:UniversalLanguageSelector/Input methods pour les instructions complètes.
    1. Une collection de méthodes de saisie facilement sélectionnables, disponibles immédiatement dans chaque champ modifiable
    2. Fournit un ensemble vaste de méthodes de saisie pour une large gamme de langues
    3. Les préférences des méthodes de saisie par langue
  3. Les polices web
    1. Une grande collection de polices à choisir pour chaque langue à utiliser comme des polices incluses dans la page
    2. Préférences de police par langue
 
Sélecteur Universel de Langue avec suggestion de langue basée sur la localisation géographique de l'adresse IP pour un utilisateur en Espagne
 
Le choix de la langue permet à un utilisateur enregistré qui accède à l'édition anglaise de wikipédia, de changer l'interface utilisateur pour qu'elle apparaîsse dans sa langue native.
 
Un utilisateur bengali peut lire du contenu dans le Wikipedia en bengali malgré le manque de polices sur son ordinateur. Les polices web sont fournies automatiquement pour les écritures non latines pour lesquelles une police libre est disponible. Les utilisateurs peuvent décider d'utiliser leurs polices système à raison d'une par langue.
 
Un locuteur hindi sans clavier hindi configure les méthodes de saisie afin qu’il puisse taper du texte dans sa langue.
 
Lorsqu'il fait sa recherche, un utilisateur peut basculer entre l'anglais et le hindi.

Ajouter des polices

Supporter davantages de langues n'est que la question de pouvoir inclure les polices correspondantes dans le code. Néanmoins, veuillez noter que nous ajouterons le support seulement pour les polices sous licence libre, par exemple les polices sous licence GNU GPL, SIL OFL, etc. Un exemple de répertoire de telles polices est Google Fonts [1] (pas encore examiné/exploité complètement par les auteurs de cette extension); voir aussi la Bibliothèque des fontes libres.

D'abord, vous devez trouver ou produire une telle fonte libre (c'est la partie la plus importante et vous devez faire cela vous-même); ensuite, elle doit être convertie dans les formats nécessaires, qui sont eot, ttf, woff; finalment, vous pouvez faire une demande dans Phabricator pour que la police soit ajoutée à l'extension.

La préparation des fontes web ci-dessous explique comment convertir les polices: la connaissance de base des systèmes opératoires construits sur GNU/Linux est nécessaire; si vous avez des difficultés pour cela, vous pouvez sauter cette étape et demander à quelqu'un d'autre de la faire pour vous dans la même requête Phabricator (bien sûr cela ralentira le processus).

Préparer les polices web

Sfntly est nécessaire pour créer des polices web (en mode ligne de commande seulement).

Une fois installé, les commandes suivantes peuvent être utilisées.

Création de .woff:

java -jar /path/to/sfnttool.jar -w xyz.ttf xyz.woff

Création de .woff2:

Utilisez https://github.com/google/woff2 pour générer woff2 à partir du ttf. Ceci va produire un fichier woff2 compressé. Les navigateurs modernes supportent ce format.

Créer un fichier font.ini . Voici un exemple:

[AbyssinicaSIL]
languages=am*, ti*
version=1.200
license=OFL 1.1
licensefile=OFL.txt
url=http://scripts.sil.org/AbyssinicaSIL

Un astérisque (*) après un code de langue indique que cette police sera la police par défaut pour cette langue. Si vous voulez simplement avoir la possibilité d'utiliser cette police pour cette langue, omettez l'astérisque.

Après avoir créé les fichiers, faites ce qui suit:

  1. Créez un répertoire pour la police sous data/fontrepo/fonts.
  2. Placez-y les fichiers ttf, woff, eot et font.ini et ajoutez-les au dépôt d'origine (git add).
  3. Allez dans data/fontrepo/scripts et exécutez php compile.php.
  4. Validez les modifications dans le dépôt (git commit -a) et envoyez-les conformément au flux de travail de Git.

Ajouter le support pour un nouveau mappage des touches (méthode de saisie)

Suivez le instructions on the jquery.ime github wiki, mais envoyez les demandes vers le produit Phabricator Wikimedia-extensions-UniversalLanguageSelector .

Téléchargement

Cette extension peut être récupérée directement depuis Git [?]:

  • Naviguer dans le code
  • Certaines extensions étiquettent les versions stables.
  • Chaque branche correspond à une version antérieure de MediaWiki. Il y a aussi une branche master (maître) qui contient la dernière version alpha (elle peut nécessiter une version alpha de MediaWiki)

Décompressez l'instantané et placez-le dans le répertoire extensions/UniversalLanguageSelector/ de votre installation MediaWiki.

Si vous êtes familier de Git et si vous avez un accès au shell de votre serveur, vous pouvez aussi obtenir l'extension de la manière suivante:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector.git

Installation

  • Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé UniversalLanguageSelector dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
    wfLoadExtension( 'UniversalLanguageSelector' );
    
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Mettre à jour LanguageNameIndex

Pour faire des recherches inter-langues, rechercher des autonymes, les données de langue doivent être initialisées. SLU est livré avec un index de nom de langues pré-initialisé (data/langnames.ser). Dans le cas où vous voudriez le mettre à jour, installez Extension:CLDR et entrez les données avec la commande suivante.

php UniversalLanguageSelector/data/LanguageNameIndexer.php

et vérifiez que le fichier langnames.ser est bien généré dans le répertoire ULS/data/ .

Configuration

Les variables suivantes sont crées automatiquement pendant l'initialisation et peuvent être accédées à partir de JavaScript en utilisant mw.config.get( NAME ):

  • wgULSLanguages - un tableau associatif où les clés sont les codes de langue et les valeurs sont les noms des langues en anglais.
  • wgULSAcceptLanguageList - un tableau des codes de langue à partir des valeurs acceptées par l'utilisateur. Ce sont les langues sélectionnées dans les préférences du navigateur de l'utilisateur.

Pour les polices servies, vous pourriez ajouter les types mime suivants à votre serveur web s'ils n'y sont pas déjà. Ce guide peut vous aider.

application/x-font-woff .woff
application/vnd.ms-fontobject .eot
application/x-font-ttf .ttf

Les variables suivantes peuvent aussi être configurées:

  • $wgULSGeoService- SUL peut utiliser les services de géolocalisation pour suggérer des langues en se basant sur le pays depuis lequel l'utilisateur fait l'affichage. En mettant cela à « false » vous empêcherez l'utilisation de la procédure de géolocalisation. Vous pouvez fournir votre propre géolocalisation en initialisant window.Geo de l'objet qui a la clé 'country_code' ou 'country'. Si l'initialisation est faite avec « true », elle fera appel au service geoip de Wikimedia. Le service doit retourner de jsonp en utilisant le paramètre de callback fourni. Les valeurs par défaut sont http://freegeoip.net/json/ et les retours attendus dans le même format.
  • $wgULSEnable - Activer la sélection de la langue, la compression des liens inter-langue, les méthodes de saisie et polices web pour chacun, à moins que la fonction ne soit remplacée par les variables de configuration ci-dessous. Même si la valeur est « false » les modules qui chargent les classes et les ressources sont enregistrés pour l'utilisation des autres extensions. Le changement de langue à l'aide de cookies ou la paramètre de la requête « setlang » n'est pas possible.
  • $wgULSAnonCanChangeLanguage - Autoriser les utilisateurs anonymes à modifier la langue à l'iade des cookies et du paramètre de requête « setlang ». A ne pas utiliser si vous mettez en cache des vues de pages anonymes sans prendre en compte les cookies. N'a aucun effet si soit $wgULSEnable ou $wgULSEnableAnon sont à « false ».
  • $wgULSIMEEnabled - Désactive la fonctionalité des méthodes de saisie pour tous les utilisateurs par défaut. Peut encore être activé manuellement pas l'utilisateur.
  • $wgULSPosition - L'emplacement et l'aspect du sélecteur de langue. Les valeurs possibles sont: personal: en tant que lien à côté du nom de l'utilisateur ou du lien de connexion dans la barre d'outils personnels (par défault). interlanguage: en tant qu'icône près de l'entête de la liste des liens inter-langues dans la barre latérale.
  • $wgULSNoImeSelectors - Tableau de sélecteurs d'éléments jQuery sur lesquels IME ne doit pas être activé. Par exemple: array( '#wpCaptchaWord' );

Position du sélecteur SUL

  • $wgULSPosition - emplacement et forme du sélecteur de langue. Les valeurs possibles sont : personal: en tant que lien près du nom d'utilisateur ou du lien de connexion dans la barre des outils (par défault). interlanguage: en tant qu'icône près de l'entête de la liste des liens inter-langues dans la barre latérale.

Il est aussi possible d'avoir le déclencheur SUL n'importe où sur l'écran. Un élément avec uls-settings-trigger agira comme déclencheur SUL.

Réécraser les fontes par défaut

ULS possède un grand dépôt de polices pouvant servir de polices web. Quelquefois il y a plusieurs polices pour une langue et une par défaut pour chaque langue/écriture. L'ordre des polices ou la police par défaut peuvent être redéfinis comme suit en utilisant les scripts globaux (MediaWiki:Common.js) ou les scripts personnels (Special:MyPage/common.js):

$.webfonts.repository.languages.languageCode = ["system", "FontA", "FontB"];

Ici, languageCode doit être un code de langue valide (par exemple: en, hi, nl). FontA et FontB sont des polices disponibles dans le dépôt font. Dans l'exemple ci-dessus pour languageCode, nous assignons une police disponible sur l'ordinateur local en tant que police par défaut; c'est à dire pas de police web par défaut.

Configuration en cache

Pour s'assurer que les fichiers des polices web sont bien dans le cache des machines client, les types des fichiers de police doivent être ajoutés à la configuration du serveur web. Pour Apache2 cela consiste à :

  • Ajouter les extensions des fichiers de police à l'expression régulière FileTimes dans FilesMatch pour le répertoire concerné; exemple:

<FilesMatch "\.(gif|jpe?g|png|css|js|woff|svg|eot|ttf)$">

  • Ajouter les valeurs ExpiresByType aux types MIME concernés, de la même manière que pour les types de MIME des images.
    • Notez qu'il n'y a pas de type MIME standard pour les TTF. On utilise application/x-font-ttf pour Wikimedia.
  • Ajouter les types MIME :
AddType application/x-woff .woff
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf

Pour un exemple complet, voir la caching configuration update done for the Wikimedia cluster.

Traduction de page

Le SUL (UniversalLanguageSelector) est l'une des dépendances de l'extension Translate, qui l'utilise pour les fonctions de sélection de plusieurs langues. L'une d'entre-elles étant le système MyLanguage pour les liens, qui déppend de la langue de l'interface de l'utilisateur, mais on peut configurer davantage: voir la Fonction de traduction de page.

Utilisation des polices web

L'utilisateur peut choisir les polices web pour une langue à partir de Paramètres de langue -> Afficher la configuration. Par défaut, la première police de ce menu sera appliquée au wiki. Un utilisateur peut modifier la police et ceci sera valable pour toutes les pages. En outre il peut aussi désactiver l'iclusion des polices en choisissant les polices système.

Si la police est disponible en local dans le système de l'utilisateur, la police ne sera pas téléchargée du serveur Mediawiki. Elle sera prise de l'ordinateur de l'utilisateur. Sinon, la police sera téléchargée du serveur une fois seulement, c'est à dire quand l'utilisateur choisira la police pour la première fois. Ultérieurement, elle sera chargée à partir du cache local.

Autres façons de charger des polices

En spécifiant la famille de polices

Dans le texte wiki <span style="font-family:'VotrenomDePolice';">Votre texte</span>, l'extension webfonts va vérifier si la police est disponible avec l'extension, si c'est la cas, elle va la télécharger dans le client. Ainsi le lecteur ne rencontrera pas de difficulté à lire le texte, même si la police spécifiée n'est pas disponible sur son ordinateur.

En spécifiant la langue

A l'intérieur du texte wiki <span lang="malangue">Mon texte</span>, l'extension webfonts va vérifier si une police quelconque est disponible pour la langue donnée avec l'extension, et si c'est la cas, elle va la télécharger dans le client. Aisin le lecteur ne rencontrera pas de difficulté en lisant le texte mêmemsi la police spécifiée n'est pas disponible sur son ordinateur. S'il existe plusieurs polices pour la langue, la police par défaut sera utilisée. Si la police par défaut n'est pas préférée, utilisez l'approche famille de polices pour spécifier la police. Si la balise utilise la définition à la fois de la langue et de la famille de polices, c'est la famille de polices qui prévaut.

Exemple:

<span lang=sux>𒄖𒉈𒅁𒌨𒅎</span>

fournit le texte présenté en cunéiforme en utilisant la police Akkadian

𒄖𒉈𒅁𒌨𒅎

Voir aussi