<!--
      The FreeBSD Dutch Documentation Project

      $FreeBSD$
      $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/l10n/chapter.sgml,v 1.31 2005/03/06 00:42:14 siebrand Exp $
      Gebaseerd op: 1.111
-->

<chapter id="l10n">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Andrey A.</firstname>
	<surname>Chernov</surname>
	<contrib>Bijgedragen door </contrib>
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Michael C.</firstname>
	<surname>Wu</surname>
	<contrib>Herschreven door </contrib>
      </author>
      <!-- 30 Nv 2000 -->
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Ren&eacute;</firstname>
	<surname>Ladan</surname>
	<contrib>Vertaald door </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Lokalisatie - I18N/L10N gebruiken en instellen</title>

  <sect1 id="l10n-synopsis">
    <title>Overzicht</title>

    <para>&os; is een zeer gedistribueerd project met gebruikers over
      de gehele wereld.  Dit hoofdstuk behandelt de
      internationalisatie- en lokalisatie-eigenschappen van &os; die
      niet-Engelssprekende gebruikers echt werk laten verzetten.  Er
      zitten veel aspecten van de i18n-implementatie in zowel de
      systeem- als applicatieniveaus, dus waar mogelijk wordt de lezer
      verwezen naar meer specifieke bronnen.</para>

    <para>Na dit hoofdstuk weet de lezer:</para>

    <itemizedlist>
      <listitem>
	<para>Hoe verschillende talen en locales gecodeerd zijn
	  op moderne besturingssystemen.</para>
      </listitem>

      <listitem>
	<para>Hoe de locale in te stellen voor een login-shell.</para>
      </listitem>

      <listitem>
	<para>Hoe de console voor niet-Engelse talen in te
	  stellen.</para>
      </listitem>

      <listitem>
	<para>Hoe het X Window systeem effectief met meerdere
	  talen te gebruiken.</para>
      </listitem>

      <listitem>
	<para>Waar meer informatie te vinden over het schrijven
	  van i18n-respecterende applicaties.</para>
      </listitem>
    </itemizedlist>

    <para>Veronderstelde voorkennis:</para>

    <itemizedlist>
      <listitem>
	<para>Weten hoe aanvullende applicaties van derde partijen
	  ge&iuml;nstalleerd worden (<xref linkend="ports">).</para>
       </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="l10n-basics">
    <title>Beginselen</title>

    <sect2>
      <title>Wat is I18N/L10N?</title>

      <indexterm>
	<primary>internationalisatie</primary>

	<see>lokalisatie</see>
      </indexterm>

      <indexterm><primary>lokalisatie</primary></indexterm>

      <para>Ontwikkelaars hebben internationalisatie
	(<quote>internationalization</quote> afgekort tot de term
	I18N, de eerste en de laatste letter en het aantal
	tussenliggende letters.  L10N gebruikt hetzelfde schema voor
	naamgeving en komt van <quote>localization</quote>.  Samen
	staan I18N/L10N methoden, protocollen en applicaties gebruikers
	toe de taal van hun keuze te gebruiken.</para>

      <para>I18N-applicaties zijn geprogrammeerd door gebruik te maken
	van I18N-gereedschappen van bibliotheken.  Daarmee kunnen
	ontwikkelaars een eenvoudig bestand schrijven en menu's en
	teksten weergeven in elke taal.  Programmeurs worden door het
	&os; Project sterk aangemoedigd deze conventie te
	volgen.</para>
    </sect2>

    <sect2>
      <title>Waarom I18N/L10N gebruiken?</title>

      <para>I18N/L10N wordt gebruikt als een gebruiker gegevens wil
	bekijken, invoeren of verwerken in niet-Engelse talen.</para>
    </sect2>

    <sect2>
      <title>Welke talen worden ondersteund door I18N?</title>

      <para>I18N en L10N zijn niet &os; specifiek.  Momenteel kan er
	gekozen worden uit de meeste grote wereldtalen, inclusief maar
	niet beperkt tot: Chinees, Duits, Japans, Koreaans, Frans,
	Russisch en Vietnamees.</para>
    </sect2>
  </sect1>

  <sect1 id="using-localization">
    <title>Lokalisatie gebruiken</title>

    <para>In al zijn pracht is I18N niet &os; specifiek maar een
      conventie.  Het &os; Project moedigt iedereen aan &os; te helpen
      deze conventie te gebruiken.</para>

    <indexterm><primary>locale</primary></indexterm>

    <para>Lokalisatie-instellingen zijn gebaseerd op drie hoofdtermen:
      Taalcode, Landcode en Codering.  Localenamen zijn als volgt
      opgebouwd:</para>

    <programlisting><replaceable>Taalcode</replaceable>_<replaceable>Landcode</replaceable>.<replaceable>Codering</replaceable></programlisting>

    <sect2>
      <title>Taal- en landcodes</title>

      <indexterm><primary>taalcodes</primary></indexterm>

      <indexterm><primary>landcodes</primary></indexterm>

      <para>Om een &os; systeem (of een ander I18N-ondersteunend &unix;
	achtig systeem) te lokaliseren naar een bepaalde taal, moet de
	gebruiker de codes voor het specifieke land en taal
	achterhalen.  Landcodes geven applicaties aan welke variatie
	van de gegeven taal gebruikt moet worden.  Ook webbrowsers,
	SMTP/POP-servers, webservers, enz. maken beslissingen gebaseerd
	op die codes.  Hieronder staan voorbeelden van taal- en
	landcodes:</para>

      <informaltable frame="none" pgwide="1">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Taal- en landcode</entry>

	      <entry>Omschrijving</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>en_US</entry>

	      <entry>Engels - Verenigde Staten</entry>
	    </row>

	    <row>
	      <entry>ru_RU</entry>

	      <entry>Russisch voor Rusland</entry>
	    </row>

	    <row>
	      <entry>zh_TW</entry>

	      <entry>Traditioneel Chinees voor Taiwan</entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

    </sect2>

    <sect2>
      <title>Coderingen</title>

      <indexterm><primary>coderingen</primary></indexterm>

      <indexterm><primary>ASCII</primary></indexterm>

      <para>Sommige talen gebruiken andere ASCII-coderingen dan 8-bit,
	wijde of multibyte karakters, zie &man.multibyte.3;.  Oudere
	programma's herkennen die niet en interpreteren ze foutief als
	controlekarakters aan.  Afhankelijk van de implementatie moeten
	gebruikers eventueel een applicatie met wijde of multibyte
	karakterondersteuning compileren, of hem correct instellen.  Om
	wijde of multibyte karakters in te kunnen voeren en te kunnen
	verwerken levert de <ulink
	  url="&url.base;/ports/index.html">&os; Portscollectie</ulink>
	voor elke taal programma's.  Hiervoor staat I18N-documentatie
	in de respectievelijke &os; Port.</para>

      <para>Voor het bouwen van een gewenste applicatie met lokalisatie
	is het verstandig de applicatiedocumentatie te bekijken om te
	bepalen hoe de juiste waarden doorgegeven kunnen worden naar
	configure, Makefile of de compiler.</para>

      <para>Houd rekening met:</para>
      <itemizedlist>
	<listitem>
	  <para>Taalspecifieke enkele C-karakters karakterverzamelingen
	    (zie &man.multibyte.3;), bijvoorbeeld ISO-8859-1,
	    ISO-8859-15, KOI8-R of CP437.</para>
	</listitem>

	<listitem>
	  <para>Wijde of multibyte coderingen, bijvoorbeeld EUC of
	  Big5.</para>
	</listitem>
      </itemizedlist>

      <para>Een lijst met actieve karakterverzamelingen staat bij de
	<ulink
	  url="http://www.iana.org/assignments/character-sets">IANA
	  Registry</ulink>.</para>

      <note>
	<para>&os; versies 4.5 en hoger gebruiken in plaats hiervan
	  X11-compatible locale-coderingen.</para>
      </note>
    </sect2>

    <sect2>
      <title>I18N applicaties</title>

      <para>In het &os; Ports en Package systeem hebben
	I18N-applicaties <literal>I18N</literal> in hun naam zodat ze
	eenvoudig herkend kunnen worden.  Toch ondersteunen ze niet
	altijd iedere mogelijk gewenste taal.</para>
    </sect2>

    <sect2 id="setting-locale">
      <title>Locale instellen</title>

      <para>Meestal is het voldoende om de waarde van de localenaam
	te exporteren als <envar>LANG</envar> in de login-shell.  Dit
	kan door die waarde in <filename>~/.login_conf</filename> van
	de gebruiker of in <filename>~/.profile</filename>,
	<filename>~/.bashrc</filename> of
	<filename>~/.cshrc</filename>) van de gebruiker te zetten.
	Het is niet nodig om localedeelverzamelingen als
	<envar>LC_CTYPE</envar> of <envar>LC_CTIME</envar> in te
	stellen.  Bij de taalspecifieke &os; documentatie staat vaak
	nog informatie.</para>

      <para>De twee volgende omgevingsvariabelen moeten in de
	instellingenbestanden ingesteld worden:</para>

      <itemizedlist>
	<indexterm><primary>POSIX</primary></indexterm>

	<listitem>
	  <para><envar>LANG</envar> voor de &posix; &man.setlocale.3;
	    functies.</para>
	</listitem>

	<indexterm><primary>MIME</primary></indexterm>

	<listitem>
	  <para><envar>MM_CHARSET</envar> voor de MIME
	    karakters voor applicaties.</para>
	</listitem>
      </itemizedlist>

      <para>Dit is inclusief het instellen van de gebruikers-shell, het
	instellen van de specifieke applicatie en de instellingen voor
	X11.</para>

      <sect3>
	<title>Methoden om locale in te stellen</title>

	<indexterm><primary>locale</primary></indexterm>

	<indexterm><primary>loginklasse</primary></indexterm>

	<para>Er zijn twee methoden om de locale in te stellen en
	  beiden worden hieronder beschreven.  De eerste (aanbevolen)
	  methode is door middel van het toekennen van
	  omgevingsvariabelen in de <link
	    linkend="login-class">loginklasse</link> en de tweede is
	  mogelijk door middel van het toevoegen van de
	  omgevingsvariabelen aan het <link
	    linkend="startup-file">opstartbestand</link> van de
	  systeem-shell.</para>

	<sect4 id="login-class">
	  <title>Methode loginklasse</title>

	  <para>Deze methode biedt de mogelijkheid om
	    omgevingsvariabelen die nodig zijn voor de localenaam en
	    MIME karakterverzamelingen &eacute;&eacute;nmalig voor
	    elke mogelijke shell toe te kennen in plaats van door
	    toekenning via het opstartbestand van elke shell.  <link
	      linkend="usr-setup">Gebruikersinstellingen</link> kunnen
	    door de gebruiker zelf worden gemaakt en voor <link
	      linkend="adm-setup">Beheerdersinstellingen</link> zijn
	    superuser-rechten nodig.</para>

	  <sect5 id="usr-setup">
	    <title>Gebruikersinstellingen</title>

	    <para>Hieronder staat een minimaal voorbeeld van een
	      <filename>.login_conf</filename> bestand in de thuismap
	      van een gebruiker die beide variabelen heeft ingesteld op
	      Latin-1 codering:</para>

	    <programlisting>me:\
  :charset=ISO-8859-1:\
  :lang=de_DE.ISO8859-1:</programlisting>

	    <indexterm>
	      <primary>traditioneel Chinees</primary>

	      <secondary>BIG-5 codering</secondary>
	    </indexterm>

	    <para>Hieronder staat is een voorbeeld van een
	      <filename>.login_conf</filename> die variabelen instelt
	      voor traditioneel Chinees in BIG-5 codering.  Er zijn
	      veel andere variabelen ingesteld zijn omdat sommige
	      software localevariabelen niet correct respecteert voor
	      Chinees, Japans, en Koreaans.</para>

	    <programlisting># Gebruikers die geen valuta eenheden of tijdformaten voor Taiwan
# willen gebruiken kunnen handmatig elke variabele wijzigen.
me:\
  :lang=zh_TW.Big5:\
  :lc_all=zh_TW.Big:\
  :lc_collate=zh_TW.Big5:\
  :lc_ctype=zh_TW.Big5:\
  :lc_messages=zh_TW.Big5:\
  :lc_monetary=zh_TW.Big5:\
  :lc_numeric=zh_TW.Big5:\
  :lc_time=zh_TW.Big5:\
  :charset=big5:\
  :xmodifiers="@im=xcin": # Instellen van XIM invoerserver</programlisting>

	    <para>Zie <link
		linkend="adm-setup">Beheerdersinstellingen</link> en
	      &man.login.conf.5; voor meer details.</para>
	  </sect5>

	  <sect5 id="adm-setup">
	    <title>Beheerdersinstellingen</title>

	    <para>Er dient gecontroleerd te worden of loginklasse voor
	      gebruikers, <filename>/etc/login.conf</filename>, de
	      juiste taal instelt door de volgende instellingen in
	      <filename>/etc/login.conf</filename>:</para>

	    <programlisting><replaceable>taalnaam</replaceable>:
              <replaceable>accountstitel</replaceable>:\
  :charset=<replaceable>MIME_karakterverzameling</replaceable>:
  :lang=<replaceable>localenaam</replaceable>:\
  :tc=default:</programlisting>

	    <para>Voor het bovenstaande voorbeeld dat gebruik maakt van
	      Latin-1 ziet dat er als hieronder uit:</para>

	    <programlisting>german:Duitse gebruikersaccounts:\
  :charset=ISO-8859-1:\
  :lang=de_DE.ISO8859-1:\
  :tc=default:</programlisting>

	    <bridgehead renderas=sect4>Loginklasse wijzigen met
	      &man.vipw.8;</bridgehead>

	    <indexterm><primary><command>vipw</command></primary></indexterm>

	    <para>Met <command>vipw</command> kunnen nieuwe gebruikers
	      toegevoegd worden en de instellingen dienen ongeveer als
	      volgt uit te zien:</para>

	    <programlisting>gebruiker:wachtwoord:1111:11:<replaceable>taal</replaceable>:0:0:Gebruikersnaam:/home/gebruiker:/bin/sh</programlisting>

	    <bridgehead renderas=sect4>Loginklasse wijzigen met
	      &man.adduser.8;</bridgehead>

	    <indexterm><primary><command>adduser</command></primary></indexterm>

	    <indexterm><primary>loginklasse</primary></indexterm>

	    <para>Met <command>adduser</command> kunnen nieuwe
	      gebruikers toegevoegd worden.  Hierna dient
	      &eacute;&eacute;n van de volgende stappen uitgevoerd te
	      worden:</para>

	    <itemizedlist>
	      <listitem>
		<para><literal>defaultclass =
		  <replaceable>taal</replaceable></literal> instellen
		  in <filename>/etc/adduser.conf</filename>.  In dit
		  geval dient er voor alle gebruikers van andere talen
		  een <literal>default</literal> klasse ingevoerd te
		  worden.</para>
	      </listitem>

	      <listitem>
		<para>Er kan ook gekozen worden voor een antwoord op
		  de vraag over taal vanuit &man.adduser.8;:</para>

		<screen><prompt>Enter login class: default []: </prompt></screen>
	      </listitem>

	      <listitem>
		<para>Ook kan het volgende gebruikt worden voor elke
		  gebruiker die een andere taal gebruikt:</para>

		<screen>&prompt.root; <userinput>adduser -class <replaceable>taal</replaceable></userinput></screen>
	      </listitem>
	    </itemizedlist>

	    <bridgehead renderas=sect4>Loginklasse wijzigen met
	      &man.pw.8;</bridgehead>

	    <indexterm><primary><command>pw</command></primary></indexterm>

	    <para>Als &man.pw.8; wordt gebruikt om nieuwe gebruikers
	      toe te voegen:</para>

	    <screen>&prompt.root; <userinput>pw useradd <replaceable>gebruikersnaam</replaceable> -L <replaceable>taal</replaceable></userinput></screen>
	  </sect5>
	</sect4>

	<sect4 id="startup-file">
	  <title>Methode opstartbestand shell</title>

	  <note>
	    <para>Deze methode wordt niet aanbevolen omdat er
	      instellingenen nodig zijn voor elke mogelijke shell.  Het
	      advies is de <link linkend="login-class">Methode
		Loginklasse</link> te gebruiken.
	    </para>
	  </note>

	  <indexterm><primary>MIME</primary></indexterm>

	  <indexterm><primary>locale</primary></indexterm>

	  <para>Om de localenaam en MIME karakterverzameling toe te
	    voegen kunnen gewoon twee omgevingsvariabelen ingesteld
	    worden, zoals hieronder te zien is, in
	    <filename>/etc/profile</filename> en/of
	    <filename>/etc/csh.login</filename> opstartbestanden voor
	    shells.  Hier wordt de Duitse taal als voorbeeld
	    gebruikt:</para>

	  <para>In <filename>/etc/profile</filename>:</para>

	  <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>

	  <para>Of in <filename>/etc/csh.login</filename>:</para>

	  <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>

	  <para>Het is ook mogelijk de bovenstaande instructies toe te
	    toevoegen <filename>/usr/share/skel/dot.profile</filename>
	    (ongeveer gelijk aan wat hierboven in
	    <filename>/etc/profile</filename> is gebruikt) of aan
	    <filename>/usr/share/skel/dot.login</filename>
	    (ongeveer gelijk aan wat hierboven in
	    <filename>/etc/csh.login</filename> is gebruikt).</para>

	  <para>Voor X11:</para>

	  <para>In <filename>$HOME/.xinitrc</filename>:</para>

	  <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>

	  <para>Of:</para>

	  <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>

	  <para>Afhankelijk van de shell (zie boven).</para>
	</sect4>
      </sect3>
    </sect2>

    <sect2 id="setting-console">
      <title>Console instellen</title>

      <para>Voor alle enkele C-karakters karakterverzamelingen worden
	de juiste lettertypen voor het console ingesteld in
	<filename>/etc/rc.conf</filename> voor de taal in kwestie
	met:</para>

      <programlisting>font8x16=<replaceable>lettertypenaam</replaceable>
font8x14=<replaceable>fontnaam</replaceable>
font8x8=<replaceable>fontnaam</replaceable></programlisting>

      <para>De <replaceable>lettertypenaam</replaceable> komt uit de
	map <filename>/usr/share/syscons/fonts</filename> zonder het
	achtervoegsel <filename>.fnt</filename>.</para>

      <indexterm><primary><application>sysinstall</application></primary></indexterm>

      <indexterm><primary>toetsenmapping</primary></indexterm>

      <indexterm><primary>schermmapping</primary></indexterm>

      <para>De gebruiker dient ervoor te zorgen de juiste enkele
	C-karakters karakterverzameling wordt ingesteld met
	<filename>/stand/sysinstall</filename>
	((<command>/stand/sysinstall</command> in &os; versies ouder
	dan 5.2).  In <application>sysinstall</application> kan
	<guimenuitem>Configure</guimenuitem> en
	<guimenuitem>Console</guimenuitem> gekozen worden.  Het is ook
	mogelijk het volgende aan <filename>/etc/rc.conf</filename>
	toe te voegen:</para>

      <programlisting>scrnmap=<replaceable>schermmappingnaam</replaceable>
keymap=<replaceable>toetsenmappingnaam</replaceable>
keychange="<replaceable>fkey_nummer sequentie</replaceable>"</programlisting>

      <para><replaceable>schermmappingnaam</replaceable> komt uit de
	map <filename>/usr/share/syscons/scrnmaps</filename> zonder het
	achtervoegsel <filename>.scm</filename>.  Meestal is een
	schermmapping met een overeenkomstig gemapt lettertype nodig
	als workaround om bit 8 naar bit 9 uit te breiden op een
	lettertype&ndash;karaktermatrix van een VGA-adapter in
	pseudografische gebieden, dat wil zeggen om letters uit dat
	gebied te halen als het schermlettertype een bit 8 kolom
	gebruikt.</para>

      <para>Als de <application>moused</application> daemon is
	ingeschakeld met de onderstaande regel in
	<filename>/etc/rc.conf</filename>, dan wordt aangeraden de
	muiscursorinformatie in de volgende paragraaf te
	bekijken.</para>

      <programlisting>moused_enable="YES"</programlisting>

      <indexterm><primary><application>moused</application></primary></indexterm>

      <para>Standaard neemt de muiscursor van het &man.syscons.4;
	stuurprogramma het bereik 0xd0-0xd3 van de tekenverzameling in
	beslag.  Als een ingestelde taal dit bereik gebruikt, moet het
	cursorbereik hierbuiten gehaald worden.  Om de workaround voor
	&os; versies v&oacute;&oacute;r 5.0 aan te zetten kan de
	volgende regel aan de kernelinstellingen toegevoegd
	worden:</para>

      <programlisting>options SC_MOUSE_CHAR=0x03</programlisting>

      <para>Voor &os; versies 4.4 en hoger kan de volgende regel aan
	<filename>/etc/rc.conf</filename> toegevoegd worden:</para>

      <programlisting>mousechar_start=3</programlisting>

      <para>De <replaceable>toetsenmappingnaam</replaceable> komt uit
	de map <filename>/usr/share/syscons/keymaps</filename> zonder
	het achtervoegsel <filename>.kbd</filename>.  Als niet precies
	duidelijk is welke toetsenmapping te gebruiken, kan de
	toetsenmapping getest worden met &man.kbdmap.1; zonder opnieuw
	op te starten.</para>

      <para><literal>keychange</literal> is nodig om functietoetsen zo
	te programmeren dat ze overeenkomen met het geselecteerde
	terminaltype omdat functietoetssequenties niet in de
	toetsenmapping gedefinieerd kunnen worden.</para>

      <para>Er dient ook een controle te zijn op een juiste instelling
	van het juiste terminaltype voor het console in
	<filename>/etc/ttys</filename> voor alle
	<literal>ttyv*</literal> regels.  De huidige instellingen
	zijn:</para>

      <informaltable frame="none" pgwide="1">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Karakterverzameling</entry>

	      <entry>Terminaltype</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>ISO-8859-1 of ISO-8859-15</entry>

	      <entry><literal>cons25l1</literal></entry>
	    </row>

	    <row>
	      <entry>ISO-8859-2</entry>

	      <entry><literal>cons25l2</literal></entry>
	    </row>

	    <row>
	      <entry>ISO-8859-7</entry>

	      <entry><literal>cons25l7</literal></entry>
	    </row>

	    <row>
	      <entry>KOI8-R</entry>

	      <entry><literal>cons25r</literal></entry>
	    </row>

	    <row>
	      <entry>KOI8-U</entry>

	      <entry><literal>cons25u</literal></entry>
	    </row>

	    <row>
	      <entry>CP437 (VGA standaardinstelling)</entry>

	      <entry><literal>cons25</literal></entry>
	    </row>

	    <row>
	      <entry>US-ASCII</entry>

	      <entry><literal>cons25w</literal></entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

      <para>Voor wijde of multibyte karaktertalen kan je juiste
	&os; port in de map
	<filename>/usr/ports/<replaceable>taal</replaceable></filename>
	gebruikt worden.  Sommige ports verschijnen als console terwijl
	het systeem ze als serie&euml;le vtty ziet.  Er dienen dus
	voldoende vtty's gereserveerd te zijn voor zowel X11 als de
	pseudo-serie&euml;le console.  Hier is een gedeeltelijke lijst
	van applicaties voor het gebruik van andere talen in
	console:</para>

      <informaltable frame="none" pgwide="1">
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Taal</entry>

	      <entry>Locatie</entry>
	    </row>
	  </thead>

	  <tbody>
	    <row>
	      <entry>traditioneel Chinees (BIG-5)</entry>

	      <entry><filename role="package">chinese/big5con</filename></entry>
	    </row>

	    <row>
	      <entry>Japans</entry>

	      <entry><filename role="package">japanese/kon2-16dot</filename>
		of
		<filename role="package">japanese/mule-freewnn</filename></entry>
	    </row>

	    <row>
	      <entry>Koreaans</entry>

	      <entry><filename role="package">korean/han</filename></entry>
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>
    </sect2>

    <sect2>
      <title>X11 instellen</title>

      <para>Hoewel X11 geen deel is van het &os; Project wordt het hier
	wel besproken voor &os; gebruikers.  Meer details zijn te
	vinden op de <ulink url="http://www.x.org/">&xorg;
	  website</ulink> of op de website van een andere X11 server
	die gebruikt wordt.</para>

      <para>In <filename>~/.Xresources</filename> kunnen
	applicatiespecifieke I18N instellingen gemaakt worden als
	lettertypen, menu's, enzovoort.</para>

      <sect3>
	<title>Lettertypen weergeven</title>

	<indexterm><primary>X11 &truetype; lettertypeserver</primary></indexterm>

	<para>Eerst moet <application>&xorg;</application> server
	  (<filename role="package">x11-servers/xorg-server</filename>)
	  of <application>&xfree86;</application> server (<filename
	    role="package">x11-servers/XFree86-4-Server</filename>)
	  ge&iuml;nstalleerd worden en daarna de &truetype;
	  lettertypen van de taal.  Door de gewenste locale in te
	  stellen worden de menu's en dergelijke in de gekozen taal
	  weergegeven.</para>
      </sect3>

      <sect3>
	<title>Niet-Engelse karakters invoeren</title>

	<indexterm><primary>X11 Input Method (XIM)</primary></indexterm>

	<para>Het X11 Input Method (XIM) protocol is een nieuwe
	  standaard voor alle X11-cli&euml;nts.  Alle X11-applicaties
	  horen geschreven te worden als XIM-cli&euml;nts die
	  invoer aannemen van de XIM-invoerservers.  Er zijn meerdere
	  XIM-servers beschikbaar voor verschillende talen.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Printerinstellingen</title>

      <para>Sommige enkele C-karakters karakterverzamelingen zijn
	standaard hardware-gecodeerd in printers.  Voor wijde of
	multibyte karakterverzamelingen is een speciale installatie
	nodig en het gebruik van <application>apsfilter</application>
	wordt dan aangeraden.  Een document kan ook naar &postscript;
	of PDF formaat omgezet worden door gebruik te maken van
	taalspecifieke conversieprogramma's.</para>
    </sect2>

    <sect2>
      <title>Kernel en bestandssystemen</title>

      <para>Het &os; Snelle Bestandssysteem (FFS) is 8-bit schoon, dus
	het kan gebruikt worden met elke enkele C-karakters
	karakterverzameling (zie &man.multibyte.3;), maar er is geen
	karakterverzamelingnaam opgeslagen in het bestandssysteem.  Het
	is dus rauw 8-bit en het weet niets van coderingsbevelen.
	Officieel ondersteunt FFS nog geen enkele vorm van wijde of
	multibyte karakterverzamelingen.  Toch hebben sommige wijde of
	multibyte karakterverzamelingen onafhankelijke patches voor FFS
	die ondersteuning inschakelen.  Dit zijn tijdelijke oplossingen
	of hacks die niet overdraagbaar zijn en daarom is besloten ze
	niet in de source tree op te nemen.  Op de websites van de
	talen staan de patchbestanden en meer informatie.</para>

      <indexterm><primary>&ms-dos;</primary></indexterm>

      <indexterm><primary>Unicode</primary></indexterm>

      <para>Voor het &os; &ms-dos; bestandssysteem kan geschakeld
	worden tussen &ms-dos;,	Unicode karakterverzamelingen en
	gekozen &os; bestandssysteem-karakterverzamelingen.
	&man.mount.msdos.8; beschijft de details.</para>
    </sect2>
  </sect1>

  <sect1 id="l10n-compiling">
    <title>I18N-programma's compileren</title>

    <para>Veel &os; Ports zijn geschikt gemaakt voor &os; met
      I18N-ondersteuning.  Een aantal daarvan zijn gemarkeerd met
      <quote>-I18N</quote> in de portnaam.  Deze en nog veel andere
      programma's hebben ingebouwde ondersteuning voor I18N en
      behoeven geen speciale aandacht.</para>

    <indexterm><primary><application>MySQL</application></primary></indexterm>

    <para>Toch is het voor sommige applicaties zoals
      <application>MySQL</application> nodig dat de
      <filename>Makefile</filename> ingesteld is met de specifieke
      karakterverzameling.  Dit wordt normaliter gedaan in de
      <filename>Makefile</filename> of door middel van het doorgeven
      van een waarde aan <application>configure</application> in de
      broncode.</para>
  </sect1>

  <sect1 id="lang-setup">
    <title>&os; lokaliseren naar talen</title>

    <sect2 id="ru-localize">
      <sect2info>
	<authorgroup>
	  <author>
	    <firstname>Andrey A.</firstname>
	    <surname>Chernov</surname>
	    <contrib>Oorspronkelijk bijgedragen door </contrib>
	  </author>
	</authorgroup>
      </sect2info>

      <title>Russisch (KOI8-R codering)</title>

      <indexterm>
	<primary>lokalisatie</primary>

	<secondary>Russisch</secondary>
      </indexterm>

      <para>Voor meer informatie over KOI8-R codering, zie de <ulink
	  url="http://koi8.pp.ru/">KOI8-R References (Russian Net
	Character Set)</ulink>.</para>

      <sect3>
	<title>Locale instellen</title>

	<para>Voeg de volgende regels toe aan
	  <filename>~/.login_conf</filename> bestand:</para>

	<programlisting>me:Mijn account:\
  :charset=KOI8-R:\
  :lang=ru_RU.KOI8-R:</programlisting>

	<para>Zie eerder in dit hoofdstuk voor voorbeelden over het
	  opzetten van de <link
	    linkend="setting-locale">locale</link>.</para>
      </sect3>

      <sect3>
	<title>Console instellen</title>

	<itemizedlist>
	  <listitem>
	    <para>Voeg voor de &os; versies voorafgaand aan 5.0 de
	      volgende regel toe aan het
	      kernelinstellingenbestand:</para>

	    <programlisting>options SC_MOUSE_CHAR=0x03</programlisting>

	    <para>Voeg voor &os; versie 4.4 en hoger de volgende regel
	      toe aan <filename>/etc/rc.conf</filename>:</para>

	    <programlisting>mousechar_start=3</programlisting>
	  </listitem>

	  <listitem>
	    <para>Gebruik de volgende instellingen in
	      <filename>/etc/rc.conf</filename>:</para>

	    <programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"</programlisting>
	  </listitem>

	  <listitem>
	    <para>Voor elke <literal>ttyv*</literal> regel in
	      <filename>/etc/ttys</filename>, gebruik
	      <literal>cons25r</literal> als het terminaltype.</para>
	  </listitem>
	</itemizedlist>

	<para>Zie eerder in dit hoofdstuk voor voorbeelden over het
	  opzetten van de
	  <link linkend="setting-console">console</link>.</para>
      </sect3>

      <sect3>
	<title>Printer instellen</title>

	<indexterm><primary>printers</primary></indexterm>

	<para>Aangezien de meeste printers met Russische karakters met
	  hardware-codepagina CP866 komen, is een speciaal
	  uitvoerfilter nodig om KOI8-R om te zetten in CP866.  Zo'n
	  filter is standaard ge&iuml;nstalleerd als
	  <filename>/usr/libexec/lpr/ru/koi2alt</filename>.  Een
	  <filename>/etc/printcap</filename> regel voor een Russische
	  printer moet er uit zien als:</para>

	<programlisting>lp|Russische lokale lijnprinter:\
  :sh:of=/usr/libexec/lpr/ru/koi2alt:\
  :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>

	<para>Zie &man.printcap.5; voor een gedetailleerde
	  beschrijving.</para>
      </sect3>

      <sect3>
	<title>&ms-dos; bestandssysteem en Russische
	  bestandsnamen</title>

	<para>De volgende voorbeeld &man.fstab.5; regel zet
	  ondersteuning aan voor Russische bestandsnamen gekoppeld op
	  &ms-dos; bestandssystemen:</para>

	<programlisting>/dev/ad0s2  /dos/c  msdos rw,-Wkoi2dos,-Lru_RU.KIO8-R 0	0</programlisting>

	<para>De <option>-L</option> optie selecteert de te gebruiken
	  localenaam, en <option>-W</option> stelt de
	  karakteromzettabel in.  Om de <option>-W</option> te
	  gebruiken moet <filename>/usr</filename> gemount zijn voor de
	  &ms-dos; partitie omdat de omzettabellen zich bevinden in
	  <filename>/usr/libdata/msdosfs</filename>.
	  &man.mount.msdos.8; geeft verdere uitleg.</para>
      </sect3>

      <sect3>
	<title>X11 instellen</title>

	<orderedlist>
	  <listitem>
	    <para>Voer eerst de <link linkend="setting-locale">niet-X
		lokale instellingen</link> uit zoals beschreven.</para>

	    <note>
	      <para><anchor id="russian-note">De Russische KOI8-R
		locale werkt niet altijd met oude
		<application>&xfree86;</application> uitvoeringen
		(lager dan 3.3).  <application>&xorg;</application> is
		nu de standaardversie van het X Window systeem op &os;.
		Dit is meestal geen probleem, tenzij een oude versie
		van &os; wordt gebruikt.</para>
	    </note>
	  </listitem>

	  <listitem>
	    <para>Voer in de map <filename
		role="package">russian/X.language</filename> het
	      volgende uit:</para>

	    <screen>&prompt.root; <userinput>make install</userinput></screen>

	    <para>Bovenstaande port installeert de nieuwste versie van
	      de KOI8-R lettertypen.  <application>&xorg;</application>
	      (en ook <application>&xfree86;</application> vanaf versie
	      3.3) heeft al enkele KOI8-R lettertypen, maar deze zijn
	      beter geschaald.</para>

	    <para>Controleer de <literal>"Files"</literal> sectie in
	      <filename>/etc/XF86Config</filename> bestand.  De
	      volgende regels moeten
	      <emphasis>v&oacute;&oacute;r</emphasis> andere
	      <literal>FontPath</literal> regels staan:</para>

	    <programlisting>FontPath  "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath  "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath  "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>

	    <para>Er er een hoge resolutie videomodus wordt gebruikt
	      dan kunnen de 75dpi en 100dpi regels gewisseld
	      worden.</para>
	  </listitem>

	  <listitem>
	    <para>Om een Russisch toetsenbord te activeren dient het
	      volgende in het <literal>"Keyboard"</literal> gedeelte
	      van <filename>XF86Config</filename> te staan:</para>

	    <para>Voor <application>&xfree86; 3.X</application>:</para>

	    <programlisting>XkbLayout "ru"
XkbOptions  "grp:caps_toggle"</programlisting>

	    <para>Voor <application>&xorg;</application>:</para>

	    <programlisting>Option  "XkbLayout"	"ru"
Option	"XkbOptions"  "grp:caps_toggle"</programlisting>

	    <para>Ook moet daar <literal>XkbDisable</literal>
	      uitgeschakeld (uitgecomment) zijn.</para>

	    <para>De RUS/LAT-schakelaar is <keycap>CapsLock</keycap>.
	      De oude <keycap>CapsLock</keycap> functie is nog
	      steeds beschikbaar via <keycombo action="simul">
		<keycap>Shift</keycap>
		<keycap>CapsLock</keycap></keycombo>
	      (alleen in LAT-modus).</para>

	    <para>Als er <quote>&windows;</quote> toetsen op een
	      toetsenbord zitten en het blijkt dat sommige
	      niet-alfabetische toetsen verkeerd gemapt zijn in
	      RUS-modus, dan kan de volgende regel aan
	      <filename>XF86Config</filename> toegevoegd worden:</para>

	    <para>Voor <application>&xorg;</application> (of
	      <application>>&xfree86; 4.X</application>):</para>

	    <programlisting>XkbVariant	"winkeys"</programlisting>

	    <para>Voor <application>&xorg;</application> (of
	      <application>&xfree86</application> 4.X):</para>

	    <programlisting>Option  "XkbVariant"  "winkeys"</programlisting>

	    <note>
	      <para>Het Russische XKB toetsenbord hoeft niet te werken
		met oude versies van
		<application>&xfree86;</application>, zie <link
		  linkend="russian-note">bovenstaande noot</link> voor
		meer informatie.  Het Russische XKB toetsenbord hoeft
		ook niet te werken met niet-gelokaliseerde applicaties.
		Minimaal gelokaliseerde applicaties moeten vroeg in het
		programma een aanroep naar de
		<function>XtSetLanguageProc (NULL, NULL,);</function>
		functie doen.  In <ulink
		  url="http://koi8.pp.ru/xwin.html">KOI8-R for X
		  Window</ulink> staan meer instructies over het
		lokaliseren van X11-applicaties.</para>
	    </note>
	  </listitem>
	</orderedlist>
      </sect3>
    </sect2>

    <sect2>
      <title>Traditioneel Chinees voor Taiwan</title>

      <indexterm>
	<primary>lokalisatie</primary>

	<secondary>traditioneel Chinees</secondary>
      </indexterm>

      <para>Het &os;-Taiwan Project heeft een Chinese HOWTO voor &os;
	op <ulink
	  url="http://netlab.cse.yzu.edu.tw/~statue/zh-l10n-tut/"></ulink>
	die gebruik maakt van veel Chinese ports.  De huidige redacteur
	voor de <literal>&os; Chinese HOWTO</literal> is Shen
	Chuan-Hsing <email>statue@freebsd.sinica.edu.tw</email>.</para>

      <para>Chuan-Hsing Shen heeft de <ulink
	  url="http://netlab.cse.yzu.edu.tw/~statue/cfc">Chinese &os;
	Collection (CFC)</ulink> gemaakt met gebruik van &os;-Taiwan's
	<literal>zh-L10N-tut</literal>.  De packages en scriptbestanden
	zijn beschikbaar op <ulink
	  url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Duits (alle ISO 8859-1 talen)</title>

      <indexterm>
	<primary>lokalisatie</primary>

	<secondary>Duits</secondary>
      </indexterm>

      <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> heeft
	een tutorial geschreven over hoe umlauten in &os; gebruikt
	kunnen worden.  De tutorial is in het Duits geschreven en staat
	op <ulink
	  url="http://www.de.FreeBSD.org/de/umlaute/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Japans en Koreaans</title>

      <indexterm>
	<primary>lokalisatie</primary>

	<secondary>Japans</secondary>
      </indexterm>

      <indexterm>
	<primary>lokalisatie</primary>

	<secondary>Koreaans</secondary>
      </indexterm>

      <para>Japanse lokalisatie staat beschreven op <ulink
	  url="http://www.jp.FreeBSD.org/"></ulink> en de Koreaanse
	lokalisatie staat op <ulink
	  url="http://www.kr.FreeBSD.org/"></ulink>.</para>
    </sect2>

    <sect2>
      <title>Niet-Engelstalige &os; documentatie</title>

      <para>Sommige delen van &os; zijn naar andere talen vertaald.
	Hiernaar staan links op de <ulink
	  url="&url.base;/index.html">hoofdsite</ulink> of in
	<filename>/usr/share/doc</filename>.</para>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
