Lokaliseringsvejledningen
1.
Tidszone
For at holde korrekt styr på tiden, skal /etc/localtime
pege på den korrekte tidszone data fil. Kig dig omkring i
/usr/share/zoneinfo/ og vælg din tidszone eller storby
der er tættest på dig.
Kode oversigt 1.1: At sætte tidszonen |
# ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# date
Sun Feb 16 08:26:44 CET 2003
|
Bemærk:
Vær sikker på at de tre bogstavers tidszone-indikator (i dette
tilfælde "CET") er korrekt for dit område.
|
Bemærk:
Du kan sætte værdien af TZ til at være hvad som helst efter
/usr/share/zoneinfo i din shell rc-fil
(.bash_profile for bash) for at få en opsætning på
bruger-niveau. I dette tilfælde TZ="Europe/Berlin". |
2.
Hardware ur
På de fleste Gentoo Linux installationer er dit hardware-ur sat til UTC
(eller GMT, Greenwhich Mean Time) og derefter tages din tidszone i
betragtning for at bestemme den faktiske lokale tid. Hvis du af en
eller anden årsag har brug for, at dit hardware ur er sat til UTC skal
du åbne /etc/conf.d/clock og ændre værdien af
CLOCK fra UTC til local.
Kode oversigt 2.1: local vs. GMT ur |
CLOCK="UTC"
CLOCK="local"
|
3.
Lokale system
Hvad er lokaler?
Et lokale er et sæt af information som de fleste programmer bruger for
at bestemme specifikke opsætninger af land og sprog. Lokalerne og
deres data er del af system biblioteket og kan findes i
/usr/share/locale på de fleste systemer. Et lokale
generelt navngivet på formen ab_CD hvor ab er dine to
(eller tre) bogstavers landekode (som det er specificeret i ISO-639)
og CD er dit to bogstavs landekode (som det er specificeret i ISO-3199).
Miljø variabler til lokaler
Lokale opsætninger bliver gemt i miljøvariabler. Disse er typisk sat i
/etc/env.d/02locale (for global opsætning) og
~/.bashrc (for bruger-specifik opsætning) filerne. De
variabler som kontrollerer forskellige aspekter af lokaleopsætninger
er givet i tabellen nedenfor, dem med den højeste præcedens
(dvs. dem der overskriver opsætninger der står nedenfor dem) er i
toppen af tabellen. Alle variabler tager et navn på en lokale i
ab_CD formatet, som det er beskrevet ovenfor.
| Variabel navn |
Forklaring |
| LC_ALL |
Definerer alle opsætninger på en gang. Dette er den øverste
opsætning for lokaler, som vi overskrive alle andre opsætninger.
|
| LC_COLLATE |
Definer alfabetisk ordning af strenge. Dette vil påvirke
bl.a. outputtet af sorterede bibliotekslistninger.
|
| LC_CTYPE |
Definer hvordan karaktererbehandlingen af systemet skal
være. Dette bestemmer hvilke karakterer der bliver betragtet som en
del af alfabetet, numberiske tegn osv. Dette bestemmer også hvilket
karakterset der bliver brugt, hvis det er anvendeligt.
|
| LC_MESSAGES |
Programmers lokalisering til applikationer der bruger et besked
baseret lokaliseringsskema (størstedelen af Gnu programmer, se de
næste kapitler for mere information omkring hvilke der gør og
hvordan man får de programmer der ikke virker, til at virke).
|
| LC_MONETARY |
Definerer valuta enheder og formattering for numeriske værdier. |
| LC_NUMERIC |
Definerer formatering af numeriske værdier der ikke er
valuta. Påvirker ting såsom tusind og decimal seperatorer.
|
| LC_TIME |
Definerer formatering af dato og tid |
| LC_PAPER |
Definerer standard papirstørrelse. |
| LANG |
Definerer alle lokaleopsætninger på en gang. Denne opsætning kan
overskrives af de individuelle LC_* opsætninger eller af LC_ALL.
|
Bemærk:
Selvom de fleste programmer virke med LC_ALL, så vil nogle af dem
opføre sig slemt hvis LC_ALL er sat og LANG ikke er. Hvis du vil være
på den sikre side, så sæt dem begge.
|
De typiske brugere vil kun sætte LANG variablen og måske LC_CTYPE
variablen på brugerniveau ved at tilføje definitionerne til deres
shells opstartsfiler for at definere miljøvariblene manuelt fra
kommandolinien:
Kode oversigt 3.1: At sætte det tyske lokale |
export LANG="de_DE@euro"
|
Bemærk:
Tilføj @euro til dit lokale hvis du vil bruge Euro valuta symbolet (€)
|
For at få beskedbaseret lokalisering til at virke i de programmer der
understøtter det, så bliver du nok nødt til at kompilere dem
med nls (Native language support) USE flaget sat. De fleste
programmer der bruger nls har også brug for gettext biblioteket til at
udpakke og bruge lokaliserede beskeder. Gentoo's Portage vil
selvfølgelig automatisk installere dem hvor det er nødvendigt.
Generering af specifikke locales
Hvis du bruger en locale, som ikke er tilrådig som standard, bør du bruge localedef til at generere dit locale. F.eks.:
Kode oversigt 3.2: Generering af et locale ved brug af localedef |
# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15
|
Efter at have genereret localen, kan du eksportere LANG-variablen, som du kan se passer.
Kode oversigt 3.3: Eksportering af LANG-variablen |
# export LANG="en_US.ISO-8859-15"
|
Userlokale USE flag
Du vil formegetlig kun bruge en eller måske to lokaler på dit
system. Indtil nu har der været et fuldt sæt af tilgængelige lokaler
efter at man har kompileret glibc. Fra nu af kan man aktivere
userlocales USE flaget og specificere de enkelte lokaler du har
brug for i /etc/locales.build.
Kode oversigt 3.4: At aktivere the userlocales USE flaget, specielt for glibc |
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
|
Specificer nu de lokaler du vil bruge:
Kode oversigt 3.5: At tilføje lokaler til /etc/locales.build |
en_US/ISO-8859-1
en_US.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15
|
Det næste skridt er at genkompilere glibc. Du kan selvfølgelig
udskyde dette til den næste glibc opgradering er tilgængelig.
4.
Tastaturlayout for konsollen
Det keyboard layout der bliver brugt af konsollen bliver sat i
/etc/conf.d/keymaps af KEYMAP variablen. Gyldige værdier
kan findes i
/usr/share/keymaps/{arch}/. i386 har
yderligere underafdelinger i layoutet (qwerty/,
azerty/, osv.). Nogle sprog har flere muligheder, så du
vil måske gerne eksperimentere for at beslutte hvilken en der bedst
passer til dine behov.
Kode oversigt 4.1: At sætte konsollens keymap |
KEYMAP="de"
KEYMAP="de-latin1"
KEYMAP="de-latin1-nodeadkeys"
|
5.
Keyboard layout for X serveren
Det keyboard layout som bruges af X serveren specificeres i
/etc/X11/xorg.conf af XkbLayout muligheden.
Kode oversigt 5.1: At sætte X serverens keymap |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
...
|
6.
KDE
Til KDE bliver du nødt til at installere kde-i18n-pakken med de
tilsvarende LINGUAS variabler sat:
Kode oversigt 6.1: Installation af lokaliseret KDE |
# nano -w /etc/make.conf
LINGUAS="de"
# emerge kde-i18n
|
7.
Euro Symbolet Konsollen
For at få din konsol til at vise Euro symbolet bliver du nødt til at
sætte CONSOLEFONT i /etc/rc.conf til en fil fundet
i /usr/share/consolefonts/ (uden .psfu.gz). ville
lat9w-16 have Euro-symbolet.
Kode oversigt 7.1: At sætte konsol fonten |
CONSOLEFONT="lat9w-16"
|
8.
Euro Symbolet i X
For de fleste applikationer
At få Euro symbolet til at virke rigtigt i X er en smule mere
svært. Det du skal gøre først er at ændre fixed og
variable-definitionerne i
/usr/X11R6/lib/X11/fonts/misc/fonts.alias til at slutte
med iso8859-15 i stedet for iso8859-1.
Kode oversigt 8.1: At sætte standard X fonte |
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
|
Nogle applikationer bruger deres egen font og du bliver nødt til at
fortælle dem separat om at bruge en font med Euro symbolet. Du kan
gøre dette på bruger specifik niveau i .Xdefaults (du kan
kopiere denne fil to /etc/skel/ til brug for nye
brugere), eller til et globalt niveau for alle applikationer med en
ressource fil i /usr/X11R6/lib/X11/app-defaults/
(f.eks. xterm). I disse filer skal man generelt ændre en eksisterende
linie, fremfor at tilføje en ny en. F.eks. for at ændre xterm fonten:
Kode oversigt 8.2: At sætte fonte for xterm |
# echo 'XTerm*font: fixed' >> .Xresources
# xrdb -merge .Xresources
|
Euro-symbolet i (X)Emacs
For at bruge Euro-symbolet i (X)Emacs skal du tilføje det følgende til.Xdefaults:
Kode oversigt 8.3: At sætte fonten for emacs |
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
|
For XEmacs (ikke bare den almindelige Emacs), skal du gøre lidt
mere. Tilføj i /home/user/.xemacs/init.el:
Kode oversigt 8.4: At sætte fonten for xemacs |
(define-key global-map '(EuroSign) '[€])
|
Bemærk:
Symbolet i []erne er Euro-symbolet.
|
Sprog til OpenOffice.org
Bemærk:
Skræddersyede standard-sprog er ikke tilgængeligt for openoffice-bin
ebuilden. Standard sproget i openoffice-bin er ENUS. |
Bemærk venligst a denne pakke nu bruger LINGUAS variablen til at
give lokalisering. Det gamle LANGUAGE=ENUS|PORT system virker
ikke mere. Standard-sproget for OpenOffice.org er sat til "US
English". Hvis du ønsker at ændre standard-sproget for OpenOffice skal
du tjekke ebuilden for standard sprog kode.
Kode oversigt 8.5: Eksempel: emerge openoffice med dansk miljø |
# nano -w /etc/make.conf
LINGUAS="de"
# emerge openoffice
|
|