cvs commit: de-docproj/books/developers-handbook/l10n chapter.sgml

From: Frank Boerner <fboerner(at)doc.bsdgroup.de>
Date: Thu, 18 Feb 2010 20:27:20 GMT

fboerner 2010-02-18 20:27:20 UTC

  FreeBSD German Documentation Repository

  Modified files:
    books/developers-handbook/l10n chapter.sgml
  Log:
  MFen 1.12 -> MFen 1.13
  Hinzufuegen einiger Hinweise um zu lokalisierende Strings bei Nutzung
  von NLS zu reduzieren.
  
  Approved by: bcr (mentor)
  
  Revision Changes Path
  1.12 +66 -8 de-docproj/books/developers-handbook/l10n/chapter.sgml
  
  Index: chapter.sgml
  ===================================================================
  RCS file: /home/cvs/de-docproj/books/developers-handbook/l10n/chapter.sgml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -I$FreeBSDde.*$ -r1.11 -r1.12
  --- chapter.sgml 6 Feb 2010 17:38:31 -0000 1.11
  +++ chapter.sgml 18 Feb 2010 20:27:20 -0000 1.12
  @@ -3,8 +3,8 @@
        The FreeBSD German Documentation Project
   
        $FreeBSD$
  - $FreeBSDde: de-docproj/books/developers-handbook/l10n/chapter.sgml,v 1.11 2010/02/06 17:38:31 fboerner Exp $
  - basiert auf: 1.12
  + $FreeBSDde: de-docproj/books/developers-handbook/l10n/chapter.sgml,v 1.12 2010/02/18 20:27:20 fboerner Exp $
  + basiert auf: 1.13
   -->
   
   <chapter id="l10n">
  @@ -217,7 +217,7 @@
         <title>Ein Beispiel aus der Praxis</title>
             
           <para>Das folgende Beispiel zeigt einen einfachen Weg wie man
  - NLS Kataloge flexibel nutzen kann.</para>
  + NLS-Kataloge flexibel nutzen kann.</para>
               
           <para>Die nachfolgenden Zeilen m&uuml;ssen in eine allgemeine
             Headerdatei, die in allen Quelldateien vorhanden ist, die
  @@ -257,7 +257,7 @@
           </programlisting>
               
           <para>Als n&auml;chstes kommt der Code der den Katalog
  - &ouml;ffnet, liest und schliest:</para>
  + &ouml;ffnet, liest und schlie&szlig;t:</para>
               
           <programlisting>
   #ifndef WITHOUT_NLS
  @@ -274,7 +274,64 @@
    catclose(catalog);
   #endif
           </programlisting>
  +
  + <sect3>
  + <title>Reduzierung von zu lokalisierenden Zeichenketten</title>
  +
  + <para>Es gibt einen guten Weg, Zeichenketten die lokalisert
  + werden m&uuml;ssen, durch den Einsatz von
  + <application>libc</application>-Fehlermeldungen zu reduzieren.
  + Dadurch vermeidet man Duplikate und erstellt gleiche Meldungen
  + f&uuml;r h&auml;ufige Fehlermeldungen, die bei vielen
  + Programmen auftreten k&ouml;nnen.</para>
               
  + <para>Als erstes ist hier ein Beispiel, dass keine
  + <application>libc</application>-Fehlermeldungen benutzt:</para>
  +
  + <programlisting>
  +#include &lt;err.h&gt;
  +...
  +if (!S_ISDIR(st.st_mode))
  + err(1, "argument is not a directory");
  + </programlisting>
  +
  + <para>Dies kann so abge&auml;ndert werden, dass eine
  + Fehlermeldung durch Auslesen der Variabel <varname>errno</varname>
  + ausgegeben wird. Die Fehlermeldung wird entspechend dem Beispiel
  + ausgegeben:</para>
  +
  + <programlisting>
  +#include &lt;err.h&gt;
  +#include &lt;errno.h&gt;
  +...
  +if (!S_ISDIR(st.st_mode)) {
  + errno = ENOTDIR;
  + err(1, NULL);
  +}
  + </programlisting>
  +
  + <para>In diesem Beispiel wurde die benutzerdefinierte
  + Zeichenkette entfernt. &Uuml;bersetzer haben weniger Arbeit,
  + wenn sie ein Programm lokalisieren und die Benutzer sehen die
  + &uuml;bliche <quote>&quot;Not a directory&quot;</quote>
  + Fehlermeldung, wenn dieser Fehler auftritt. Diese Meldung wird
  + ihnen wahrscheinlich vertraut erscheinen. Bitte beachten Sie,
  + dass es notwendig ist,
  + <filename class="headerfile">errno.h</filename>
  + hinzuzuf&uuml;gen um einen direkten Zugriff auf
  + <varname>errno</varname> zu haben.</para>
  +
  + <para>Es lohnt sich darauf hinzuweisen, dass es F&auml;lle gibt,
  + in denen <varname>errno</varname> automatisch aufgerufen wird,
  + so dass es nicht notwendig ist, es explizit zu tun:</para>
  +
  + <programlisting>
  +#include &lt;err.h&gt;
  +...
  +if ((p = malloc(size)) == NULL)
  + err(1, NULL);
  + </programlisting>
  + </sect3>
         </sect2>
             
         <sect2 id="nls-mk">
  @@ -282,15 +339,16 @@
               
           <para>Das Benutzen von Katalogdateien setzt einige sich
             wiederholende Schritte, wie das kompilieren und installieren
  - der Kataloge voraus. Um diese Schritte zu vereinfachen,
  + der Kataloge, voraus. Um diese Schritte zu vereinfachen,
             stellt <filename>bsd.nls.mk</filename> einige Makros zur
  - Verf&uuml;gung. Es ist notwendig <filename>bsd.nls.mk</filename>
  - explizit hinein zu kopieren, es wird automatisch aus den
  - allgemeinen Makefiles wie <filename>bsd.prog.mk</filename> oder
  + Verf&uuml;gung. Es ist nicht notwendig
  + <filename>bsd.nls.mk</filename> explizit hinein zu kopieren,
  + es wird automatisch aus den allgemeinen Makefiles wie
  + <filename>bsd.prog.mk</filename> oder
             <filename>bsd.lib.mk</filename> gezogen.</para>
               
           <para>Normalerweise reicht es, <makevar>NLSNAME</makevar> zu
  - definieren, die den Names des Kataloges als erstes
  + definieren, die den Namen des Kataloges als erstes
             Argument von &man.catopen.3; enthalten sollte und die
             Katalogdateien in <makevar>NLS</makevar> ohne ihre Endung
             <literal>.msg</literal> auflistet. Hier ist ein Beispiel, das
  

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Thu 18 Feb 2010 - 21:27:36 CET

search this site