*mlang.txt* Pour Vim version 6.2. MANUEL de RÉFÉRENCE VIM - par Bram Moolenaar Fonctionnalités multilingues *multilang* *multi-lang* Ce document décrit l'utilisation des messages et menus dans différentes langues. Pour éditer du texte multi-octets, voir |multibyte|. Les bases sont expliquées dans le Manuel de l'utilisateur : |usr_45.txt|. 1. Messages |multilang-messages| 2. Menus |multilang-menus| 3. Scripts |multilang-scripts| {absent de Vi} {uniquement si compilé avec la fonctionnalité |+multi_lang|} ============================================================================== 1. Messages *multilang-messages* Vim utilise la région linguistique de votre environnement. Dans la plupart des cas, cela signifie que Vim utilisera la langue que vous préférez, sauf si elle n'est pas disponible. Pour avoir une liste des noms de régions linguistiques supportées par votre système, regardez dans l'un de ces répertoires (pour Unix) : /usr/lib/locale ~ /usr/share/locale ~ Attention, car malheureusement la différence entre les majuscules/minuscules est prise en compte. Surveillez aussi l'utilisation de '-' et '_'. *:lan* *:lang* *:language* *E197* :lan[guage] :lan[guage] mes[sages] :lan[guage] cty[pe] :lan[guage] tim[e] Affiche la langue courante (plus précisément, la région linguistique |locale|). Avec l'argument "messages", la langue utilisée pour les messages est affichée. Détail technique : correspond à LC_MESSAGES. Avec l'argument "ctype", la langue utilisée pour l'encodage de caractères est affichée. Détail technique : correspond LC_CTYPE. Avec l'argument "time", la langue utilisée pour strftime() est affichée. Détail technique : correspond à LC_TIME. Sans argument, toutes les parties de la région linguistique sont affichées (c'est dépendant du système). La langue courante peut aussi être obtenue avec les variables |v:lang|, |v:ctype| et |v:lc_time|. :lan[guage] {nom} :lan[guage] mes[sages] {nom} :lan[guage] cty[pe] {nom} :lan[guage] tim[e] {nom} Fixe la langue courante (plus précisément, la région linguistique |locale|) à {nom}. {nom} doit correspondre à un nom de région linguistique valide sur votre système. Certains systèmes acceptent des alias comme "fr" ou "fr_FR", mais certains n'admettent que la spécification entière, comme "fr_FR.ISO_8859-1". Avec l'argument "messages", la langue utilisée pour les messages est fixée. Elle peut être différente quand, par exemple, vous voulez les messages en français alors que vous éditez du texte en japonais. $LC_MESSAGES est fixé. Avec l'argument "ctype", la langue utilisée pour l'encodage de caractères est fixée. Cela affecte les bibliothèques auxquelles Vim a été lié. Il est inhabituel d'utiliser une valeur différente de 'encoding'. $LC_CTYPE est fixé. Avec l'argument "time", la langue utilisée pour la date et les messages de date est fixée. Cela affecte strftime(). $LC_TIME est fixé. S'il n'y a pas d'arguments, tous sont fixés, et $LANG est fixé en plus. Cette commande ne fait de différence que pour les éléments qui dépendent de la langue (certains messages, le format de la date et de l'heure). Elle n'est pas pleinement supportée sur tous les systèmes. En cas d'échec, il y aura un message d'erreur. Sinon, il n'y a pas de message. Exemples : > :language < Current language: C ~ > :language de_DE.ISO_8859-1 :language mes < Current messages language: de_DE.ISO_8859-1 ~ > :lang mes fr TRADUCTION DES MESSAGES SUR MS-WINDOWS *win32-gettext* Si vous avez utilisé le fichier ".exe" à installation automatique, les traductions des messages devraient déjà fonctionner. Sinon, récupérez le fichier "libintl.dll" si vous ne l'avez pas encore : http://sourceforge.net/projects/gettext/ ~ Vous trouverez aussi les outils `xgettext`, `msgformat` et d'autres. "libintl.dll" devrait être placé dans le même répertoire que (g)vim.exe, ou à un autre endroit recensé par la variable d'environnement PATH. Les fichiers de messages ("vim.mo") doivent être placés dans "$VIMRUNTIME/lang/xx/LC_MESSAGES", où "xx" désigne l'abréviation de la langue (sur deux lettres le plus souvent). Si vous écrivez vos propres traductions, vous devrez générer le fichier ".po" et le convertir en fichier ".mo". Pour cela, procurez-vous la distribution source et lisez le fichier "src/po/README.txt". Pour recouvrir le choix automatique de la langue, fixez la variable $LANG à la langue de votre choix. Utilisez "en" pour désactiver les traductions. > :let $LANG = 'ja' (Texte pour Windows par Muraoka Taro.) ============================================================================== 2. Menus *multilang-menus* Voir |45.2| pour les bases. NOTE : Si des changements ont été apportés aux menus depuis la rédaction de la traduction, certains des menus pourront apparaître en anglais. Essayez s'il vous plaît de contacter le responsable de la traduction et demandez-lui de la mettre à jour. Vous trouverez le nom et l'adresse électronique du traducteur dans "$VIMRUNTIME/lang/menu_.vim". Pour fixer la police (ou le jeu de polices) à utiliser pour les menus, utilisez la commande |:highlight|. Exemple : > :highlight Menu font=k12,r12 ALIAS DES NOMS DE RÉGIONS LINGUISTIQUES Malheureusement, les noms des régions linguistiques varient selon les systèmes, même lorsqu'ils désignent les mêmes langue et encodage. Si vos menus ne sont pas traduits comme vous l'espériez, examinez la sortie de cette commande : > :echo v:lang Recherchez ensuite dans le répertoire "$VIMRUNTIME/lang" les fichiers de traduction qui utilisent une langue similaire. Une différence entre un '-' et un '_' peut empêcher de trouver le bon fichier ! À surveiller également, la différence entre "iso8859-1" et "iso_8859-1". Heureusement, Vim convertit tous les noms en minuscules, vous n'avez ainsi pas à vous soucier des différences de casse. Les espaces sont changés en soulignés, pour éviter d'avoir à les protéger. Si vous trouvez un fichier de traduction de menus pour votre langue avec un nom différent, créez un fichier dans votre propre répertoire de support pour charger celui-là. Le nom de ce fichier pourrait être : ~/.vim/lang/menu_.vim ~ Reportez-vous à l'option 'runtimepath' pour les répertoires dans lesquels les fichiers de support sont recherchés. Dans ce fichier, utilisez une commande pour charger le fichier de traduction de menus avec le nom différent : > runtime lang/menu_.vim TRADUIRE DES MENUS Si vous voulez effectuer vos propres traductions, vous pouvez utiliser la commande |:menutrans|, explicitée ci-dessous. Il est recommandé de placer les traductions pour une langue dans un script Vim. Pour une langue ne possédant pas encore de traduction, merci de bien vouloir en devenir le responsable et de rendre vos traductions disponibles à tous les utilisateurs de Vim. Envoyez un courriel au responsable de Vim . *:menut* *:menutrans* *:menutranslate* :menut[ranslate] clear Efface toutes les traductions de menus. :menut[ranslate] {anglais} {malangue} Traduit le nom de menu {anglais} en {malangue}. Tous les caractères spéciaux, tels que '&' et "", doivent être inclus. Les espaces et les points doivent être protégés par une contre-oblique, exactement comme dans les autres commandes |:menu|. Voir le répertoire $VIMRUNTIME/lang pour des exemples. Pour essayez vos traductions, vous devez d'abord supprimer tous les menus définis. Voici comment faire sans relancer Vim : > :source $VIMRUNTIME/delmenu.vim :source :source $VIMRUNTIME/menu.vim Chaque partie d'un chemin de menu est traduite séparément. Ainsi, si vous traduisez "Help" par "Aide" et "Overview" par "Sommaire", le menu "Help.Overview" deviendra automatiquement "Aide.Sommaire". ============================================================================== 3. Scripts *multilang-scripts* Dans les scripts Vim, vous pouvez utiliser la variable |v:lang| pour obtenir la langue (région linguistique) courante. La valeur par défaut est "C" ou provient de la variable d'environnement $LANG. L'exemple suivant montre comment utiliser cette variable de façon simple, en adaptant la langue aux préférences de l'utilisateur. > :if v:lang =~ "fr_FR" : echo "Bonjour" :else : echo "Hello" :endif < vim:tw=78:ts=8:ft=help:norl: