]> 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
-       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:
 
     <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>
 
-    - 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>
 
-    - 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>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 -->
-Last modified: Tue Jul 27 09:07:23 CEST 2004
+Last modified: Mon Dec 20 20:17:59 CET 2004
 <!-- hhmts end -->
   </body>
 </html>