Francophonie

De Diablotins.org.


Parbleu, je ne saisis point votre verbe
Image:brush.png
FreeBSD est configuré par défaut pour une clientèle anglophone.


Pour obtenir une session en console utilisable par une communauté francophone voire française, il vous faut adapter quelques points.



Sommaire

Media

Les terminaux

Définissez des terminaux virtuels en mode semi-graphique en définissant pour chacun la clef cons25l1 dans /etc/ttys;celle ci est compatible avec les polices ISO-8859-1 ( latin-1) et ISO-8859-15 (latin-9) que vous utiliserez ensuite.

Extrait de /etc/ttys:
console none                            unknown off secure
# 
ttyv0   "/usr/libexec/getty Pc"         cons25l1        on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25l1        on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25l1        on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25l1        on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25l1        on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25l1        on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25l1        on  secure


Le terminal xterm est utilisé par défaut depuis la branche 9.

Le clavier

Vous disposez d'un clavier AZERTY, de touches avec accents divers, choisissez le:

kbdmap -lang fr    Français de France avec accents

ou directement:

kbdcontrol -l fr.iso.acc.kbd    Français de France avec accents

Pour effectuer ce changement au démarrage, précisez dans /etc/rc.conf:

keymap="fr.iso.acc"

Vous trouverez la liste des tables de polices de caractères dans /usr/share/syscons/keymaps.


Sous X-Window, vous n'utilisez plus le pilote syscons, donc, utilisez les commandes de X:

setxkbmap fr

ou configurez votre clavier pour X11.

Affichage

Votre clavier est correctement choisi, ses séquences de touches sont reconnus mais n'affichent pas les bonnes glyphes.
Choisissez la bonne table de caractères:

vidfont -lang fr    ISO8859-15 8x16, Europe de l'Ouest

ou

vidcontrol -f iso15-8x16.fnt

La table à charger dépend de la résolution d'affichage de votre console; il en existe trois:

8x8     80x43 à 80x60
8x14    80x25 en EGA
8x16     80x25 à 80x30 en VGA

Pour effectuer ce changement au démarrage, précisez dans /etc/rc.conf:

font8x8="iso15-8x8"
font8x14="iso15-8x14"
font8x16="iso15-8x16"    
iso15-thin-8x16 pour celui qui aime les polices carrées

Vous trouverez la liste des tables de polices de caractères dans /usr/share/syscons/fonts. A moins d'avoir une carte graphique vraiment marginale, n'utilisez pas de screenmap:

#/etc/rc.conf
scrnmap="NO"

Vérifier

Entrez:

vidfont -r

pour prendre la configuration définie dans /etc/rc.conf

Session

Vos sessions sont réglées par défaut par login.conf, modifiez en les variables d'environnement propre à votre culture. Vous trouverez la liste des variables disponibles pour un encodage particulier dans /usr/share/local/encodage; soit pour un environnement français de France encodé en ISO-885915(Latin 9): /usr/share/local/fr_FR.ISO8859-15/.
Exemple:

:charset=ISO-8859-15:\
:lang=fr_FR.ISO8859-15:\
:setenv=LC_COLLATE=fr_FR.ISO8859-15,\
LC_CTYPE=fr_FR.ISO8859-15,\
LC_MESSAGES=fr_FR.ISO8859-15,\
LC_MONETARY=fr_FR.ISO8859-15,\
LC_NUMERIC=fr_FR.ISO8859-15,\
LC_TIME=fr_FR.ISO8859-15,
LC_ALL=fr_FR.ISO8859-15:\
  • Vous pouvez modifier ces variables directement dans la rubrique default,
  • ou créer une nouveau profil ou classe; puis affecter ce dernier aux utilisateurs concernés, ce que je recommande:
french|French Users Accounts:\
 les variables précédentes 
:tc=default:

Copiez la variable setenv depuis défault, pour ne pas les perdre:

french|Utilisateurs francophones:\
	:charset=ISO-8859-15:\
	:setenv=MAIL=/var/mail/$\
	,BLOCKSIZE=K\
	,FTP_PASSIVE_MODE=YES\
	,LC_COLLATE=fr_FR.ISO8859-15\
	,LC_CTYPE=fr_FR.ISO8859-15\
	,LC_MESSAGES=fr_FR.ISO8859-15\
	,LC_MONETARY=fr_FR.ISO8859-15\
	,LC_NUMERIC=fr_FR.ISO8859-15\
	,LC_TIME=fr_FR.ISO8859-15\
	,LC_ALL=fr_FR.ISO8859-15:\
	:lang=fr_FR.ISO8859-15:\
	:tc=default:

Précisez alors cette classe pour les utilisateurs francophones.
Puis, définissez la classe «french» par défaut dans /etc/adduser.conf:

defaultclass=french

N'oubliez pas de reconstruire la base:

cap_mkdb /etc/login.conf
  • Vous pouvez créer un fichier «.login_conf» contenant ces variables sous la classe «me» dans l'espace de chaque utilisateur francophone.


Vérifiez ensuite:

david:~>locale
LANG=fr_FR.ISO8859-15
LC_CTYPE="fr_FR.ISO8859-15"
LC_COLLATE="fr_FR.ISO8859-15"
LC_TIME="fr_FR.ISO8859-15"
LC_NUMERIC="fr_FR.ISO8859-15"
LC_MONETARY="fr_FR.ISO8859-15"
LC_MESSAGES="fr_FR.ISO8859-15"
LC_ALL=fr_FR.ISO8859-15

Il suffit bien souvent de renseigner la variable LC_ALL, les LC_ suivantes seront automatiquement assignées.

Interpréteur de commande

Chaque interpréteur de commandes possède ses propres méthodes de configuration.

csh/tcsh

Cet interpréteur va consulter deux fichiers pour se configurer:

  1. /etc/csh.cshrc général
  2. ~/.cshrc pour un utilisateur
  3. /usr/share/skel/dot.cshrc à la création d'un utilisateur

Adoptez une séquence de touches très utilisée par les français:

bindkey "^[[1~" beginning-of-line
bindkey "^[[4~" end-of-line
bindkey "^[[3~" delete-char
bindkey "^?" delete-char
bindkey -k up history-search-backward
bindkey -k down history-search-forward
bindkey "^W" backward-delete-word

bash

Il suffit de modifier le fichier d'initialisation de session :

cd /etc
vi profile
--
[...]
LANG=fr_FR.ISO8859-15; export LANG
MM_CHARSET=ISO-8859-15; export MM_CHARSET
[...]

Pour faire effet de suite

source /etc/profile

UTF-8

Elinks en UTF-8

Cet encodage universel n'étant pas (encore) entièrement supporté dans un terminal, ce qui suit est dédié aux terminaux graphiques, en particulier celui par défaut: Xterm. Modifiez les variables de langue pour un Xterm dans votre Shell; ici, csh/tcsh:

  switch ($TERM)
            case "xterm*":
                set prompt="%{^[]0;%C04, %P^G%}%n:%c03%#"
                setenv LANG fr_FR.UTF-8
                setenv MM_CHARSET UTF-8
                setenv LC_ALL fr_FR.UTF-8
                setenv LC_COLLATE fr_FR.UTF-8
                setenv LC_CTYPE fr_FR.UTF-8
                setenv LC_MESSAGES fr_FR.UTF-8
                setenv LC_MONETARY fr_FR.UTF-8
                setenv LC_NUMERIC fr_FR.UTF-8
                setenv LC_TIME fr_FR.UTF-8
                breaksw
            default:


Utilisez les polices suivantes pour obtenir un affichage correct même sur une langue exotique:

xterm*font:     -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
xterm*wideFont: -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1

dans un fichier ~.Xresources, puis:

xrdb -merge ~/.Xresources

pour faire vos essais. Une fois que tout est validé, ajoutez à vos ~/.xinitrc et/ou ~/.xsession:

 xrdb -load ~/.Xresources


lancez Xterm en mode UTF-8:

xterm -u8


XTerm, lancé sans option, lit les locales décrites ci-dessus pour se lancer -ou pas- en mode UTF-8.
De fait, l'option de ressources de xterm suivante:

xterm*utf8: 1

est inefficace et, si vous avez suivi la procédure ci-dessus, un xterm lancé à partir d'un autre le sera en UTF-8


Plus sûrement, définissez globalement X11 en UTF-8, par exemple avec ~/.xinitrc si vous n'utilisez pas de gestionnaire de connexion

LC_ALL=fr_FR.UTF-8 ; export LC_ALL
MM_CHARSET=UTF-8 ; export MM_CHARSET
LANG=fr_FR.UTF-8 ; export LANG

Logiciels

La plupart des logiciels vont utiliser les locales vu précédemment pour choisir la langue à afficher.
Mais, les plus gros d'entre eux disposent soit de paquetages spécifiques à chaque langues, soit d'une option lors de la compilation.

Les paquetages, ainsi que les dictionnaires, sont éparpillés dans le catalogue des ports;
ainsi se trouve sous le catalogue “/usr/ports/french”,


En ce qui concernent Firefox, certaines branches ont leur propre port de traduction:

Notez que vous pouvez installer un nouveau dictionnaire en pointant sur une zone de saisie, puis en sélectionnant le menu «langue» sur un clique droit.
Si le port précédent ne fonctionne pas ou n'est pas à jour, Firefox permet de choisir son interface par une de ses extensions “xpi”.
Chargez la depuis fr.xpi; et si Firefox ne l'installe pas de lui même, ouvrez simplement le fichier.


  • OpenOffice.org, se configure par l'option:
LOCALIZED_LANG=fr

Malheureusement, cette option n'est pas accessible en «batch», elle doit être précisée:

david:~>cd /usr/ports/editors/openoffice.org-3
david:/<1>ports/editors/openoffice.org-3>make install LOCALIZED_LANG=fr -DWITH_CCACHE -DWITH_KDE4 -DWITHOUT_MOZILLA

Pour les retrouver lors des compilations, préciser le dans make.conf:

.if !empty(.CURDIR:M/usr/ports/*) && !empty(.CURDIR:M*openoffice*)
  LOCALIZED_LANG=fr
  WITHOUT_MOZILLA=true
  WITH_KDE4=true
  WITH_CCACHE=true 
.endif


Note: Si vous désirez écrire des macros pour OOo, Patrick vous déconseille de désactiver MOZILLA.


La solution la plus simple reste l'utilisation de paquetages, à cette adresse, ou via un portail.

En savoir plus

Outils personnels
Projets :