Extension:UniversalLanguageSelector
![]() État de la version : stable |
|
---|---|
![]() |
|
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 | 2024-07-16 |
Politique de compatibilité | Le master conserve la compatibilité arrière. |
MediaWiki | >= 1.41.0 |
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. | |
Téléchargements trimestriels | 221 (Ranked 30th) |
Utilisé par les wikis publics | 1,237 (Ranked 214th) |
Traduire l’extension UniversalLanguageSelector sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler 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 WebFonts initiales et Narayam (les deux étant obsolètes et remplacées par le Sélecteur Universel de Langue). Voir le Sélecteur universel de langues 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:
- Manière souple et facile de sélectionner une langue à partir d'un grand ensemble de langues.
- La sélection peut être basée sur l'exploration de la région géographique ou sur les recherches.
- La recherche peut être basée sur le code ISO de langue, le nom de langue écrit dans l'interface de l'utilisateur actuel ou dans sa propre écriture (autonyme)
- La recherche inter-langues - rechercher des noms de langues utilisant n'importe quelle écriture
- Autocomplétion des noms de langue
- Auto-correction des erreurs d'orthographe dans les chaînes cherchées
- Suggestion de langue par géolocalisation basée sur l'adresse IP
- Sélection de langue basée sur le navigateur de l'utilisateur ou la langue du système opérationnel
- Méthodes de saisie
- Voir Aide:Extension:Sélecteur universel de langue/Méthodes de saisie pour les instructions complètes.
- Une collection de méthodes de saisie facilement sélectionnables, disponibles immédiatement dans chaque champ modifiable
- Fournit un ensemble vaste de méthodes de saisie pour une large gamme de langues
- Une liste obsolète est disponible sur Extension:Narayam
- Les préférences des méthodes de saisie par langue
- Les polices web
- Une grande collection de polices à choisir pour chaque langue à utiliser comme une police incluse dans la page
- Vous pouvez afficher toutes les polices incluses
- Préférences de police par langue
- Une grande collection de polices à choisir pour chaque langue à utiliser comme une police incluse dans la page
Ajouter des polices
Supporter davantage 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 à source libre (c'est la partie essentielle et vous devez faire cela vous-même); ensuite, elle doit être convertie dans le format woff2; 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: une connaissance de base des systèmes d'exploitation basés 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
Créer un .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
request-url=https://phabricator.wikimedia.org/[Task Number]
woff2=AbyssinicaSIL.woff2
bold=AbyssinicaSIL Bold
[AbyssinicaSIL Bold]
woff2=AbyssinicaSIL-Bold.woff2
fontweight=bold
Un astérisque (*
) après un code de langue indique que cette police sera la police par défaut pour cette langue. N'utilisez pas l'astérisque si vous voulez que l'option utilise cette police pour cette langue.
Après avoir créé les fichiers, faites ce qui suit :
- Créez un répertoire pour la police sous
data/fontrepo/fonts
. - Placez dans ce répertoire les fichiers woff2 et font.ini et ajoutez-les dans le dépôt des sources (
git add
). - Allez dans le répertoire
scripts/
et exécutezphp compile-font-repo.php
. - 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 les instructions on the jquery.ime github wiki, mais envoyez les demandes Phabricator sur le produit Wikimedia-extensions-UniversalLanguageSelector.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
UniversalLanguageSelector
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector - 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.
Installation Vagrant :
- Si vous utilisez Vagrant , installez avec
vagrant roles enable uls --provision
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 noms de langues pré-initialisé (data/langnames.ser). Dans le cas où vous voudriez le mettre à jour, installez Extension:CLDR/fr 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
- tableau associatif où les clés sont les codes des langues et les valeurs sont les noms des langues en anglais.wgULSAcceptLanguageList
- tableau des codes de langue issus de la valeur Accept-Language de 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.
AddType font/woff2 .woff2
Les variables suivantes peuvent aussi être configurées:
$wgULSGeoService
- Le SUL peut utiliser les services de géolocalisation pour suggérer les langues basées sur le pays visité par l'utilisateur. La valeurfalse
empêche la géolocalisation embarquée d'être utilisée. Vous pouvez fournir votre propre géolocalisation en initialisant la fenêtre. Appliquer la géolocalisation à l'objet qui a pour clé 'country_code' ou 'country'. La valeurtrue
appelle le service de géolocalisation de Wikimedia. Le service doit renvoyer jsonp qui utilise le paramètre de callback fourni. Valeur par défaut : http://freegeoip.net/json/ (Attention: ce site web a fermé son API) et suppose le même format.$wgULSEnable
- Permet de sélectionner la langue, de compacter les liens de langue, les méthodes de saisie et les fontes web pour chacun, sauf si le comportement est redéfini par la variable de configuration ci-dessous. Même si la valeur estfalse
les classes et les modules du chargeur de ressources sont enregistrés pour être utilisés par les autres extensions. Il n'est pas possible de modifier la langue par un cookie ni par le paramètre de requête setlang.$wgULSAnonCanChangeLanguage
- Permet aux utilisateurs anonymes de modifier la langue à l'aide d'un cookie et du paramètre de requête setlang. A ne pas utiliser si vous mettez en cache des vues de pages anonymes sans accepter les cookies. N'a pas d'effet si$wgULSEnable
ou$wgULSEnableAnon
valentfalse
.$wgULSIMEEnabled
- Désactiver la fonctionnalité des méthodes de saisie pour tous les utilisateurs, par défaut. l'utilisateur peut encore l'activer manuellement.$wgULSPosition
- Emplacement et forme du déclencheur de sélection de langue. Les valeurs possibles sont :personal
: en tant que lien à côté du nom d'utilisateur ou le lien de connexion de la barre d'outils personnelle (par défaut).interlanguage
: en tant qu'icône à côté de l'entête de la liste des liens interlangue de la barre latérale.$wgULSNoImeSelectors
- Tableau des sélecteurs jQuery des éléments pour lesquels IME ne doit pas être activé; par exemple :[ '#wpCaptchaWord' ];
$wgULSLanguageDetection
- Indique s'il faut détecter automatiquement la langue de l'utilisateur à partir de l'entête Accept-Language.
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 référentiel des polices. Dans l'exemple ci-dessus pour languageCode, nous avons défini une police disponible sur l'ordinateur local comme police par défaut. Il n'y a pas de fonte 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|woff2|svg)$">
- 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 font/woff2 .woff2
Pour un exemple complet, voir 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épend 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'inclusion des polices en choisissant la police du 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 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 le 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="my">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.
Ainsi le lecteur ne rencontrera pas de difficulté en lisant le texte même si 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 par famille de polices pour spécifier la police souhaitée.
Si la balise contient la définition à la fois de la langue et celle 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
- Sélecteur universel de langues
- Sélecteur Universel de Langue/Conception de l'environnement d'interaction
- Sélecteur Universel de Langue/Architecture technique
- Détails techniques des fonctionnalités des fontes web du Sélecteur Universel de Langue
- Extension:Google Translator
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |