Gentoo Linux Localisatie Gids
1.
Tijdzone
Om de tijd correct bij te houden moet /etc/localtime naar de
correcte tijdzone wijzen. Kijk eens rond in /usr/share/zoneinfo en
kies je tijdzone of een stad dat in jouw tijdzone ligt.
Codevoorbeeld 1.1: setting the timezone |
# cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
# date
Sun Feb 16 08:26:44 CET 2003
|
Nota:
Let erop dat de 3-letter tijdzone-indicatie (hier: "CET") correct is.
|
Nota:
Je kan tevens de variabele TZ instellen op eender wat je in
/usr/share/zoneinfo kan vinden. Dit doe je best in je
shell-rc-bestand (.bash_profile voor bash). Bijvoorbeeld
TZ="Europe/Brussels".
|
2.
Systeemklok
In de meeste Gentoo Linux installaties is de systeemklok ingesteld op UTC (of
GMT, Greenwhich Mean Time) en interpreteert het systeem de tijdzoneinstelling
om het uur te vertalen naar de locale, werkelijke tijd. Indien je wenst dat je
systeemclock niet in UTC staat moet je /etc/conf.d/clock aanpassen
en de waarde van CLOCK van UTC naar local veranderen.
Codevoorbeeld 2.1: local vs. GMT klok |
CLOCK="UTC"
CLOCK="local"
|
3.
Lokale system
Wat zijn localiseringen?
Een localisering is een groepje informatie die de meeste programma's gebruiken
om hun specifieke taal en land instellingen te detecteren. De localisaties en
hun eigen data zijn apart van de systeem bibliotheek en kunnen gevonden worden
in /usr/share/locale op de meeste systemen. Een localisatie
genaamd ab_CD waar ab zijn je twee of dire lettertaal code is
(zoals gespecifieerd in ISO-639) en CD is je tweeletter land-code (zoals
gespecifieerd in ISO-3166).
Bestaande Lokalisering Gebruiken
Locale instellingen zijn opgeslaan locale variabelen. Deze zijn typisch
opgeslagen in het /etc/env.d/02locale (voor systeeminstellingen)
en ~/.bashrc (voor gebruikerinstellingen) bestand. De variabele
die de verschillene aspecten van de locale instellingen controleert zijn
aangegeven in de onderstaande tabel. Die met de hoogste belangrijkheid (bvb.
diegene die instelingen opheffen) zijn bovenaan in de taebel opgenomen. Alle
variabelen nemen een naam van een localisering in ab_CD formaat bovenaan
aangegeven.
| Variabele naam |
Uitleg |
| LC_ALL |
Bepaalt alle locale instellingen in een keer. Dit is een hoofdinstelling
voor localisering die alle andere instellingen zullen opheffen.
|
| LC_COLLATE |
Bepaalt in alfabetisch volgorde de strings. Dit beïnvloed de
teruggave van gesorteerde maplijsten.
|
| LC_CTYPE |
Bepaalt de karakter behandelende eigenschappen van het systeem. Dit bepaalt
welk karakter gezien worden als stuk van het alfabet, numeriek enzovoort.
Dit bepaald ook de gebruikte karakterset, indien beschikbaar.
|
| LC_MESSAGES |
Gelocaliseer-programma's voor aplicaties die gebruik maken van
localizerende schema's (hoofdzakelijk GNU programma's, zie volgend
hoofdstuk voor meer informatie).
|
| LC_MONETARY |
Dit bepaalt de eenheid en opmaak van eenheidstype
Defines currency units and formatting of currency type numeric values. |
| LC_NUMERIC |
Dit bepaalt de opmaak van numerieke waarden die niet monetair zijn. Dit
heeft invloed op duizend- en honderd-scheiding.
|
| LC_TIME |
Bepaald de opmaak van tijd en datum. |
| LC_PAPER |
Bepaald het standaard papier formaat. |
| LANG |
Bepaalt alle locale instellingen in een keer. Deze instelling kan opgeheven
worden door individuele LC_* instellingen hierboven of zelfs LC_ALL.
|
Nota:
Hoewel veel programma's met LC_ALL werken, toch werken sommige programma's niet
goed als LC_ALL is ingesteld en LANG niet. Als je zeker wilt spelen, stel ze
allebei in.
|
Meeste gebruikers stellen alleen hun LANG variabele en soms hun LC_CTYPE
variabele in op gebruikbersniveau door definities toe te voegen aan het
shell opstartbestand in de command line:
Codevoorbeeld 3.1: Instellen van de locisatie in ~/.bashrc |
export LANG="nl_BE@euro"
|
Nota:
Plaats de @euro als je wilt dat je localisatie het euro teken kan gebruiken.
|
Het is mogelijk om over een heel-systeem voora lle gebruikers en programma's de
localisatie in te stellen:
Codevoorbeeld 3.2: Instellen van de standaard Lokalisatie in /etc/env.d/02locale |
LC_ALL="nl_BE@euro" of LC_ALL="nl_NL@euro"
LANG="nl_BE@euro" of LANG="nl_NL@euro"
|
Een mogelijke oefening is om alleen per gebruiker de localisatie in te stellen
en de systeem localisatie niet in te stellen. In dit geval zijn de systeem
instellingen ingesteld op een speciale waarde "C", die een historische
redenen naar de engelse localisatie overschakelen.
Voor een bericht-gebaseerde localisatie te laten werken in je programma's die
het ondersteunen, moet je je programma's controleren met de nls (Native language
support) USE-variabele. Meeste programma's die nls gebruiken hebben ook de
gettext bibliotheek nodig en gebruiken gelocaliseerde berichten. Natuurlijk zal
de portage die automatisch installeren.
Eenmaal je de juiste localisatie hebt ingesteld, update dan je omgeving om het
systeem te laten vaststellen dat ze veranderd zijn:
Codevoorbeeld 3.3: Updaten van de omgeving |
# env-update && source /etc/profile
$ source ~/.bashrc
|
Na dit moet je nog je X server opnieuw starten. Dit kun je doen door
Ctrl-Alt-Backspace, uit te loggen en terug in te loggen als gebruiker.
Controleer nu dat je veranderingen effect hebben gehad:
Codevoorbeeld 3.4: Controleer de env veranderingen |
$ env | grep -i LC_
|
Er is ook een extra localisatie variabele die LINGUAS heet, deze beïnvloed
localisatie bestanden die geïnstaleerd worden in programma's die gettext
gebruiken, en beslist welke localisatie er wordt gebruikt voor verschillende
specifiekee software pakketten, zoals kde-base/kde-i18n en
app-office/openoffice. De variabele bevat een met
spaties-gescheide talen-codes en wordt ingesteld in
/etc/make.conf:
Codevoorbeeld 3.5: Instellen van LINGUAS in make.conf |
# nano -w /etc/make.conf
LINGUAS="nl de fi en"
|
Specifieke Localisatie Genereren
Als je een localisatie gebruikt die niet standaard beschikbaar is, zou je
moeten localedef gebruiken om je localisatie te genereren. Bijvoorbeeld:
Codevoorbeeld 3.6: Het Genereren van een localisatie met localedef |
# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15
|
Na dit te hebben gedaan, kun je de LANG variabele exporteren zoals het je past.
Codevoorbeeld 3.7: Exporteren van de LANG variabele |
# export LANG="en_US.ISO-8859-15"
|
Lokalisaties genereren voor glibc
Je gebruikt waarschijnlijk slechts een of twee localisaties op je systeem. Je
kan deze instellen op je systeem in /etc/locale.gen.
Codevoorbeeld 3.8: Toevoegen van localisaties in /etc/locale.gen |
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
|
De volgende stap is het uitvoeren van locale-gen. Het zal je
gespecifiëerde localisaties voor jouw localisaties genereren die in
/etc/locale.gen bestaand aanwezig zijn.
Nota:
locale-gen is beschikbaar in glibc-2.3.6-r4 en nieuwer. als je
een oudere versie van glibc hebt update je die best.
|
Je kunt controleren dat je gekozen localisaties beschikbaar zijn door het
uitvoeren van locale -a.
4.
Keyboard layout voor de console
De keyboard layout die door de console gebruikt wordt is gedefinieerd in
/etc/cond.d/keymaps door de KEYMAP variabele. Geldige
waarden kan je vinden in /usr/share/keymaps/{arch}/.
i386 heeft verdere onderverdelingen afhankelijk van de layout
(qwerty, azerty, ...). Sommige talen hebben meerdere
opties, waardoor je waarschijnlijk eerst wat wil experimenteren alvorens je je
definitief besluit neemt.
Codevoorbeeld 4.1: de console keymap instellen |
KEYMAP="be"
KEYMAP="be-latin1"
KEYMAP="be-latin1-nodeadkeys"
|
5.
Keyboard layout voor de X server
De keyboard layout voor de X server wordt gedefinieerd in
/etc/X11/xorg.conf door de XkbLayout variabele.
Codevoorbeeld 5.1: de X keymap instellen |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "be"
Option "XkbLayout" "us,nl"
#Option "XkbModel" "pc105"
# Option XkbVariant" "nodeadkeys"
...
|
Als jee en internationaal toetsenbord gebruikt, zou je moeten de optie
XkbModel naar pc102 of pc105, omdat dit je toelaat om
extra toetsen in te stellen op je toetsenbord.
Deadkeys laat je toe om een toets in te drukken en die nog niet meteen te tonen
maar te laten combineren met een andere letter om een speciaal karakter te
kunnen instellen zoals; é,è,á,à, enzovoort. Het instellen van XkbVariant
naar nodeadkeys laat je toe om deze speciale karatkers in je terminal te
krijgen.
Als je graag wilt wisselen tussen verschillende toestenbord layouts
(bijvoorbeeld Engels of Russisch). Het enige wat je moet doen is enkele lijnen
toevoegen aan je xorg.conf bestand dat de gewenste layout's
specifieert.
Codevoorbeeld 5.2: Wisselen tussen twee toetsenbord layouts |
Section "InputDevice"
Identifier "Keyboard1"
Option "XkbLayout" "be,nl"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
|
Hier laat XkbOptions toe om te wisselen tussen verschillende toetsenbord
layouts door simpel op alt-shift te drukken. Dit zal ook het scroll lock
lichtje aan of uit doen, dankzij de grp_led:scroll optie, Dit is een
handige visuele hint naar welk toetsenbord layout je momenteel gebruikt.
6.
Het euro-symbool voor de console
Opdat je console het euro-symbool ondersteunt moet je de CONSOLEFONT in
/etc/conf.d/consolefont instellen op een bestand in
/usr/share/consolefonts (zonder de extensie .psfu.gz).
lat9w-16 bevat het euro-symbool.
Codevoorbeeld 6.1: de console font instellen |
CONSOLEFONT="lat9w-16"
|
Je moet ook controleren of CONSOLEFONT in je boot opstartlevel is.
Codevoorbeeld 6.2: Controleer het juiste opstartlevel |
# rc-update show | grep -i consolefont
|
Als er geen runlevel is ingesteld voor CONSOLEFONT, Voeg dan het juiste
level toe:
Codevoorbeeld 6.3: Voeg consolefont toe aan boot |
# rc-update add consolefont boot
|
7.
KDE
Voor KDE moet je het kde-il8n pakket met de nodige LINGUAS omgeving
variabele instellen:
Codevoorbeeld 7.1: Installeren van de gelocaliseerde KDE |
# nano -w /etc/make.conf
# LINGUAS="de" emerge kde-i18n
|
8.
Het euro-symbool in X
Merendeel van de applicaties
Het euro-symbool werkende krijgen onder X is iets moeilijker. Het eerste wat je
moet doen is de fixed en variable definities in
/usr/X11R6/lib/X11/fonts/misc/fonts.alias aanpassen zodat ze
iso-8859-15 lezen in plaats van iso8859-1.
Codevoorbeeld 8.1: de default X fonts instellen |
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
|
Sommige applicaties gebruiken hun eigen fonts, dus zal je hen individueel
moeten vertellen om een font met het euro-symbool in te gebruiken. Je kan dit
doen op user-level in .Xdefaults (je kan dit bestand dan later
kopieren naar /etc/skel zodat nieuwe gebruikers dit automatisch
hebben), of globaal door de aanpassingen per applicatie in
/usr/X11R6/lib/X11/app-defaults (zoals xterm) aan te passen. In
deze bestanden moet je algemeen 1 regel aanpassen (en niet toevoegen). Om
bijvoorbeeld de xterm-font aan te passen doe je:
Codevoorbeeld 8.2: fonts instellen voor xterm |
$ echo 'XTerm*font: fixed' >> .Xresources
$ xrdb -merge .Xresources
|
Het euro-symbool in (X)Emacs
Om het euro-symbool in (X)Emacs te kunnen gebruiken moet je het volgende
toevoegen aan .Xdefaults:
Codevoorbeeld 8.3: font instellen voor emacs |
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
|
Voor XEmacs (niet gewoon Emacs) moet je iets meer doen. Voeg aan
~/.xemacs/init.el het volgende toe:
Codevoorbeeld 8.4: font instellen voor xemacs |
(define-key global-map '(EuroSign) '[€])
|
Nota:
Het symbool tussen [] is het euro-symbool |
OpenOffice.Org
De huidige stabiele app-office/openoffice en
app-office/openoffice-bin ebuilds onderteunen de LINGUAS variabele om de GUI taal te kunnen installeren.
Om de status van de GUI vertaling, spelling controles en andere localisaties
van je taal, gelieve OpenOffice.Org localisatie web
site.
|