Extension:UniversalLanguageSelector/fr

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) Flexible and easy way to select a language from a large set of languages.
 * 2) Selection can be based on geographical region based browsing, searching.
 * 3) Search can be based on ISO language code, language name written in current user interface language or in its own script(autonym)
 * 4) Cross language search - search language names using any script
 * 5) Autocompletion of language names
 * 6) Auto correction of spelling mistakes in search strings
 * 7) Geo IP based language suggestions
 * 8) Language selection based on users browser/OS language
 * 9) Input methods
 * See Help:Extension:UniversalLanguageSelector/Input methods for complete instructions.
 * 1) An easily selectable input method collection, readily available in every editable field
 * 2) Provides a large set of input methods for wide range of languages
 * 3) * An outdated list is available at Extension:Narayam#Supported schemes
 * 4) Per-language input method preferences
 * 5) Webfonts
 * 6) A large collection of fonts to choose for each language to use as embedded font for the page
 * 7) * An outdated list is available at Extension:WebFonts#Supported languages
 * 8) * You can browse all the fonts included
 * 9) Per-language font preferences



Ajouter des polices
Supporting more languages is only a matter of including the proper fonts in the code. However, please note that we will add support only for freely licensed fonts, for example fonts licensed under GNU GPL, SIL OFL, etc. An example directory of such free fonts is Google Fonts (not yet fully examined/exploited by the authors of this extension); see also the Open Font Library.

First of all, you need to find or produce such a free font (this is the most important part and you have to do it yourself); then, it has to be converted to the required formats, which are eot, ttf, woff; finally, you can file a request in Phabricator for the font to be added to the extension.

#Preparing webfonts 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).

Preparer 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:

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:

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.
 * 4) Validez les modifications dans le dépôt   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.

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
The following variables are created automatically during initialization and can be used from JavaScript using mw.config.get( NAME ):
 * - an associative array where the keys are language codes and the values are language names in English.
 * - an array of language codes from the user's Accept-Language value. These are the languages selected in the user's browser preferences.

For serving fonts, you might want to add the following mime types to your webserver if not already there. This guide might help.  application/x-font-woff .woff application/vnd.ms-fontobject .eot application/x-font-ttf .ttf The following variables can also be configured:
 * - ULS can use geolocation services to suggest languages based on the country the user is visiting from. Setting this to false will prevent builtin geolocation from being used. You can provide your own geolocation by setting window.Geo to object which has key 'country_code' or 'country'. If set to true, it will query Wikimedia's geoip service. The service should return jsonp that uses the supplied callback parameter. Defaults to http://freegeoip.net/json/ and expects the same format.
 * - Enable language selection, compact language links, input methods and webfonts for everyone, unless the behavior is overridden by the configuration variables below.  Even if false the classes and resource loader modules are registered for the use of other extensions. Language changing via cookie or setlang query parameter is not possible.
 * - Allow anonymous users to change language with cookie and setlang query param. Do not use if you are caching anonymous page views without taking cookies into account. Does not have any effect if either of   or $wgULSEnableAnon is set to false.
 * - Disable the input methods feature for all users by default. Can still be enabled manually by the user.
 * - The location and the form of the language selection trigger. The possible values are: : as a link near the username or the log in link in the personal toolbar (default).  : as an icon near the header of the list of interlanguage links in the sidebar.
 * - Array of jQuery selectors of elements on which IME must not be enabled. eg:

Position du sélecteur SUL

 * - The location and the form of the language selection trigger. The possible values are: : as a link near the username or the log in link in the personal toolbar (default).  : as an icon near the header of the list of interlanguage links in the sidebar.

It is also possible to have ULS trigger anywhere in the screen. An element with  will act as a ULS trigger.

Réécraser les fontes par défaut
ULS has a large font repository to serve as webfonts. Sometimes there are multiple fonts for a language and there is a default font for each language/script. The order of fonts or default font can be overridden as follows using global scripts (MediaWiki:Common.js) or personal scripts (Special:MyPage/common.js):

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:
 * 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
UniversalLanguageSelector is one of the dependencies of the Translate extension, which uses it for several language selection features. One of it is the MyLanguage system for links, which depends on the interface language of the user, but more can be configured: see Page translation feature.

Utilisation des Webfonts
User can choose webfonts for a language from the Language settings -> Display settings. By default, the first font in that menu will be applied to the wiki. A user can change the font and it will be remembered across the pages. Optionally user can disable the font embedding too by selecting system font.

If the font is available in user's local system, font will not be downloaded from the mediawiki server. It will be taken from the user's computer. Otherwise, font will be downloaded from the server only once. ie when the user selects the font first time. Next time onwards, font will be taken from the local cache.

En spécifiant la famille de polices
Inside the wiki text YourText, webfonts extension will check whether the font is available with the extension, if so it will download it to the client. So the reader will not face any difficulty in reading the text even if the font specified is not available in their computer.

En spécifiant la langue
Inside the wiki text YourText, webfonts extension will check whether any font is available for the given language with the extension, if so it will download it to the client. So the reader will not face any difficulty in reading the text even if the font specified is not available in their computer. If there are multiple fonts for the language, the default font will be used. If default font is not preferred, use the font-family approach to specify the font. If the tag has both lang and font-family definitions, font-family get precedence.

Exemple:

𒄖𒉈𒅁𒌨𒅎

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

𒄖𒉈𒅁𒌨𒅎

Voir aussi

 * Sélecteur de Langue Universel
 * Sélecteur de Langue Universel/Framework d'architecture des interactions
 * Sélecteur de Langue Universel/Architecture technique
 * Détails techniques des fonctions des polices web du Sélecteur Universel de Langue