]> pere.pagekite.me Git - homepage.git/blobdiff - linux/glibc/howto.html
Generated.
[homepage.git] / linux / glibc / howto.html
index a7a18a7599cb55713d88c141f152542711289a29..7b68909fb80b29fade482d0aaaf7eb8b681785c5 100644 (file)
        country/region code is a code from ISO 3166.  If the language
        or region in question is missing in the ISO standard, one need
        to get the ISO standard updated before the locale will be
        country/region code is a code from ISO 3166.  If the language
        or region in question is missing in the ISO standard, one need
        to get the ISO standard updated before the locale will be
-       included in glibc.</p>
+       included in glibc.  If one can't convince the ISO 639
+       maintainers that your language exists (and thus need a
+       language code), the glibc maintainers will refuse to add the
+       locale.  In addition, the glibc maintainers seem to refuse
+       "artificial languages" like Esperanto and Lojban, even if they
+       got a ISO 639 code.</p>
 
       <p>Little is known about the requirements for the naming of
        modifiers.  The following modifiers are currently used:
 
       <p>Little is known about the requirements for the naming of
        modifiers.  The following modifiers are currently used:
 
     <h2>Reuse when possible</h2>
 
 
     <h2>Reuse when possible</h2>
 
-    - "copy" from existing locales if the content should be identical
+      <p>One should avoid cut-n-paste when possible, and instead use
+       the <tt>copy</tt> statement to include sections from locales
+       with identical content.</p>
 
     <h2>LD_IDENTIFICATION</h2>
 
 
     <h2>LD_IDENTIFICATION</h2>
 
-    - standard refs in the LD_IDENTIFICATION
+      <p>The category entries are references to the standard used when
+       writing the given section.  The standard refs should have
+       quotes around them, and should not use the &lt;U#&gt;
+       notation.  They should normally look something like this:</p>
+
+      <blockquote><pre>
+category  "i18n:1997";LC_IDENTIFICATION
+       </pre></blockquote>
 
     <h2>LC_MESSAGES</h2>
 
 
     <h2>LC_MESSAGES</h2>
 
-    - yes/no expr should have the form ^[yYnN<extra>], without 0 and 1
+      <p>Then yesexpr and noexpr entries should have the form
+       <tt>^[yY&lt;extra&gt;]</tt> and <tt>^[nN&lt;extra&gt;]</tt>,
+       without 0 and 1 and without trailing "<tt>.*</tt>".  The
+       reason is to make sure the expressions have the same form as
+       the expressions used in the C/POSIX locale (<tt>^[yY]</tt> and
+       <tt>^[nN]</tt>).</p>
 
     <h2>Standard documents and specifications</h2>
 
 
     <h2>Standard documents and specifications</h2>
 
+    <h2>Testing the new locale file</h2>
+
+       <p>To test a new locale on a test machine, do the
+       following:</p>
+
+       <ul>
+
+         <li>Copy the new locale to
+           <tt>/usr/share/i18n/locales/<em>filename</em></tt></li>
+
+         <li>Run <tt>localedef -i <em>inputfile</em> -c -f
+             <em>charset<em> <em>locale</em></tt> to generate a
+           binary locale file in
+           <tt>/usr/lib/locale/<em>locale</em>/</tt></li>
+
+         <li>Test it using LANG=<em>locale</em>, for example by
+           running <tt>date</tt></li>
+
+       </ul>
+
+       <p>Example, generating a new <tt>de_DE@euro</tt> locale using
+         the ISO-8859-15 charset and save it as 'de_DE':</p>
+
+       <pre>
+         cp de_DE@euro /usr/share/i18n/locales/de_DE@euro
+         localedef -i de_DE@euro -c -f ISO-8859-15 de_DE
+         LANG=de_DE date
+       </pre>
+
+      <p>I've made a small tool <a href="check-locale">check-locale</a>
+       capable of detecting a few common mistakes with locales</p>
+       
     </div>
 
     <hr>
     <address><a href="mailto:pere@hungry.com">Petter Reinholdtsen</a></address>
 <!-- Created: Sun Mar 21 18:14:42 CET 2004 -->
 <!-- hhmts start -->
     </div>
 
     <hr>
     <address><a href="mailto:pere@hungry.com">Petter Reinholdtsen</a></address>
 <!-- Created: Sun Mar 21 18:14:42 CET 2004 -->
 <!-- hhmts start -->
-Last modified: Tue Jul 27 09:07:23 CEST 2004
+Last modified: Mon Dec 20 20:17:59 CET 2004
 <!-- hhmts end -->
   </body>
 </html>
 <!-- hhmts end -->
   </body>
 </html>