home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-bin / info / gettext.info-5 < prev    next >
Encoding:
GNU Info File  |  1996-10-12  |  19.0 KB  |  812 lines

  1. This is Info file gettext.info, produced by Makeinfo-1.64 from the
  2. input file /ade-src/fsf/gettext/doc/gettext.texi.
  3.  
  4. START-INFO-DIR-ENTRY
  5. * Gettext Utilities: (gettext).        GNU gettext utilities.
  6. * gettextize: (gettext)gettextize Invocation.    Prepare a package for gettext.
  7. * msgfmt: (gettext)msgfmt Invocation.        Make MO files out of PO files.
  8. * msgmerge: (gettext)msgmerge Invocation.    Update two PO files into one.
  9. * xgettext: (gettext)xgettext Invocation.    Extract strings into a PO file.
  10. END-INFO-DIR-ENTRY
  11.  
  12.    This file provides documentation for GNU `gettext' utilities.
  13.  
  14.    Copyright (C) 1995 Free Software Foundation, Inc.
  15.  
  16.    Permission is granted to make and distribute verbatim copies of this
  17. manual provided the copyright notice and this permission notice are
  18. preserved on all copies.
  19.  
  20.    Permission is granted to copy and distribute modified versions of
  21. this manual under the conditions for verbatim copying, provided that
  22. the entire resulting derived work is distributed under the terms of a
  23. permission notice identical to this one.
  24.  
  25.    Permission is granted to copy and distribute translations of this
  26. manual into another language, under the above conditions for modified
  27. versions, except that this permission notice may be stated in a
  28. translation approved by the Foundation.
  29.  
  30. 
  31. File: gettext.info,  Node: configure.in,  Next: aclocal,  Prev: po/POTFILES,  Up: Adjusting Files
  32.  
  33. `configure.in' at top level
  34. ---------------------------
  35.  
  36.   1. Declare the package and version.
  37.  
  38.      This is done by a set of lines like these:
  39.  
  40.           PACKAGE=gettext
  41.           VERSION=0.10.24
  42.           AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
  43.           AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
  44.           AC_SUBST(PACKAGE)
  45.           AC_SUBST(VERSION)
  46.  
  47.      Of course, you replace `gettext' with the name of your package,
  48.      and `0.10.24' by its version numbers, exactly as they should
  49.      appear in the packaged `tar' file name of your distribution
  50.      (`gettext-0.10.24.tar.gz', here).
  51.  
  52.   2. Declare the available translations.
  53.  
  54.      This is done by defining `ALL_LINGUAS' to the white separated,
  55.      quoted list of available languages, in a single line, like this:
  56.  
  57.           ALL_LINGUAS="de fr"
  58.  
  59.      This example means that German and French PO files are available,
  60.      so that these languages are currently supported by your package.
  61.      If you want to further restrict, at installation time, the set of
  62.      installed languages, this should not be done by modifying
  63.      `ALL_LINGUAS' in `configure.in', but rather by using the `LINGUAS'
  64.      environment variable (*note Installers::.).
  65.  
  66.   3. Check for internationalization support.
  67.  
  68.      Here is the main `m4' macro for triggering internationalization
  69.      support.  Just add this line to `configure.in':
  70.  
  71.           ud_GNU_GETTEXT
  72.  
  73.      This call is purposely simple, even if it generates a lot of
  74.      configure time checking and actions.
  75.  
  76.   4. Obtain some `libintl.h' header file.
  77.  
  78.      Once you called `ud_GNU_GETTEXT' in `configure.in', use:
  79.  
  80.           AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
  81.  
  82.      This will create one header file `libintl.h'.  The reason for this
  83.      has to do with the fact that some systems, using the Uniforum
  84.      message handling functions, already have a file of this name.
  85.  
  86.      The `AC_LINK_FILES' call has not been integrated into the
  87.      `ud_GNU_GETTEXT' macro because there can be only one such call in
  88.      a `configure' file.  If you already use it, you will have to
  89.      *merge* the needed `AC_LINK_FILES' within yours, by adding the
  90.      first argument at the end of the list of your first argument, and
  91.      adding the second argument at the end of the list of your second
  92.      argument.
  93.  
  94.   5. Have output files created.
  95.  
  96.      The `AC_OUTPUT' directive, at the end of your `configure.in' file,
  97.      needs to be modified in two ways:
  98.  
  99.           AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
  100.           [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
  101.           EXISTING ADDITIONAL ACTIONS])
  102.  
  103.      The modification to the first argument to `AC_OUTPUT' asks for
  104.      substitution in the `intl/' and `po/' directories.  Note the `.in'
  105.      suffix used for `po/' only.  This is because the distributed file
  106.      is really `po/Makefile.in.in'.
  107.  
  108.      The modification to the second argument ensures that `po/Makefile'
  109.      gets generated out of the `po/Makefile.in' just created, including
  110.      in it the `po/POTFILES' produced by `ud_GNU_GETTEXT'.  Two steps
  111.      are needed because `po/POTFILES' can get lengthy in some packages,
  112.      too lengthy in fact for being able to merely use an Autoconf
  113.      substituted variable, as many `sed's cannot handle very long lines.
  114.  
  115.  
  116. 
  117. File: gettext.info,  Node: aclocal,  Next: acconfig,  Prev: configure.in,  Up: Adjusting Files
  118.  
  119. `aclocal.m4' at top level
  120. -------------------------
  121.  
  122.    If you do not have an `aclocal.m4' file in your distribution, the
  123. simplest is taking a copy of `aclocal.m4' from GNU `gettext'.  But to
  124. be precise, you only need macros `ud_LC_MESSAGES', `ud_WITH_NLS' and
  125. `ud_GNU_GETTEXT', and `md_PATH_PROG', which is called by `ud_WITH_NLS',
  126. so you may use an editor and remove macros you do not need.
  127.  
  128.    If you already have an `aclocal.m4' file, then you will have to
  129. merge the said macros into your `aclocal.m4'.  Note that if you are
  130. upgrading from a previous release of GNU `gettext', you should most
  131. probably *replace* the said macros, as they usually change a little
  132. from one release of GNU `gettext' to the next.  Their contents may vary
  133. as we get more experience with strange systems out there.
  134.  
  135.    These macros check for the internationalization support functions
  136. and related informations.  Hopefully, once stabilized, these macros
  137. might be integrated in the standard Autoconf set, because this piece of
  138. `m4' code will be the same for all projects using GNU `gettext'.
  139.  
  140. 
  141. File: gettext.info,  Node: acconfig,  Next: Makefile,  Prev: aclocal,  Up: Adjusting Files
  142.  
  143. `acconfig.h' at top level
  144. -------------------------
  145.  
  146.    If you do not have an `acconfig.h' file in your distribution, the
  147. simplest is use take a copy of `acconfig.h' from GNU `gettext'.  But to
  148. be precise, you only need the lines and comments for `ENABLE_NLS',
  149. `HAVE_CATGETS', `HAVE_GETTEXT' and `HAVE_LC_MESSAGES', `HAVE_STPCPY',
  150. `PACKAGE' and `VERSION', so you may use an editor and remove everything
  151. else.  If you already have an `acconfig.h' file, then you should merge
  152. the said definitions into your `acconfig.h'.
  153.  
  154. 
  155. File: gettext.info,  Node: Makefile,  Next: src/Makefile,  Prev: acconfig,  Up: Adjusting Files
  156.  
  157. `Makefile.in' at top level
  158. --------------------------
  159.  
  160.    Here are a few modifications you need to make to your main, top-level
  161. `Makefile.in' file.
  162.  
  163.   1. Add the following lines near the beginning of your `Makefile.in',
  164.      so the `dist:' goal will work properly (as explained further down):
  165.  
  166.           PACKAGE = @PACKAGE@
  167.           VERSION = @VERSION@
  168.  
  169.   2. Add file `NLS' to the `DISTFILES' definition, so the file gets
  170.      distributed.
  171.  
  172.   3. Wherever you process subdirectories in your `Makefile.in', be sure
  173.      you also process dir subdirectories `intl' and `po'.  Special
  174.      rules in the `Makefiles' take care for the case where no
  175.      internationalization is wanted.
  176.  
  177.      Here is an example of a canonical order of processing.  In this
  178.      example, we also define `SUBDIRS' in `Makefile.in' for it to be
  179.      further used in the `dist:' goal.
  180.  
  181.           SUBDIRS = doc lib @INTLSUB@ src @POSUB@
  182.  
  183.      that you will have to adapt to your own package.
  184.  
  185.   4. A delicate point is the `dist:' goal, as both `intl/Makefile' and
  186.      `po/Makefile' will later assume that the proper directory has been
  187.      set up from the main `Makefile'.  Here is an example at what the
  188.      `dist:' goal might look like:
  189.  
  190.           distdir = $(PACKAGE)-$(VERSION)
  191.           dist: Makefile
  192.               rm -fr $(distdir)
  193.               mkdir $(distdir)
  194.               chmod 777 $(distdir)
  195.               for file in $(DISTFILES); do \
  196.                 ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
  197.               done
  198.               for subdir in $(SUBDIRS); do \
  199.                 mkdir $(distdir)/$$subdir || exit 1; \
  200.                 chmod 777 $(distdir)/$$subdir; \
  201.                 (cd $$subdir && $(MAKE) $@) || exit 1; \
  202.               done
  203.               tar chozf $(distdir).tar.gz $(distdir)
  204.               rm -fr $(distdir)
  205.  
  206.  
  207. 
  208. File: gettext.info,  Node: src/Makefile,  Prev: Makefile,  Up: Adjusting Files
  209.  
  210. `Makefile.in' in `src/'
  211. -----------------------
  212.  
  213.    Some of the modifications made in the main `Makefile.in' will also
  214. be needed in the `Makefile.in' from your package sources, which we
  215. assume here to be in the `src/' subdirectory.  Here are all the
  216. modifications needed in `src/Makefile.in':
  217.  
  218.   1. In view of the `dist:' goal, you should have these lines near the
  219.      beginning of `src/Makefile.in':
  220.  
  221.           PACKAGE = @PACKAGE@
  222.           VERSION = @VERSION@
  223.  
  224.   2. If not done already, you should guarantee that `top_srcdir' gets
  225.      defined.  This will serve for `cpp' include files.  Just add the
  226.      line:
  227.  
  228.           top_srcdir = @top_srcdir@
  229.  
  230.   3. You might also want to define `subdir' as `src', later allowing
  231.      for almost uniform `dist:' goals in all your `Makefile.in'.  At
  232.      list, the `dist:' goal below assume that you used:
  233.  
  234.           subdir = src
  235.  
  236.   4. You should ensure that the final linking will use `@INTLLIBS@' as
  237.      a library.  An easy way to achieve this is to manage that it gets
  238.      into `LIBS', like this:
  239.  
  240.           LIBS = @INTLLIBS@ @LIBS@
  241.  
  242.      In most GNU packages one will find a directory `lib/' in which a
  243.      library containing some helper functions will be build.  (You need
  244.      at least the few functions which the GNU `gettext' Library itself
  245.      needs.)  However some of the functions in the `lib/' also give
  246.      messages to the user which of course should be translated, too.
  247.      Taking care of this it is not enough to place the support library
  248.      (say `libsupport.a') just between the `@INTLLIBS@' and `@LIBS@' in
  249.      the above example.  Instead one has to write this:
  250.  
  251.           LIBS = ../lib/libsupport.a @INTLLIBS@ ../lib/libsupport.a @LIBS@
  252.  
  253.   5. You should also ensure that directory `intl/' will be searched for
  254.      C preprocessor include files in all circumstances.  So, you have to
  255.      manage so both `-I../intl' and `-I$(top_srcdir)/intl' will be
  256.      given to the C compiler.
  257.  
  258.   6. Your `dist:' goal has to conform with others.  Here is a
  259.      reasonable definition for it:
  260.  
  261.           distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
  262.           dist: Makefile $(DISTFILES)
  263.               for file in $(DISTFILES); do \
  264.                 ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
  265.               done
  266.  
  267.  
  268. 
  269. File: gettext.info,  Node: Conclusion,  Next: Country Codes,  Prev: Maintainers,  Up: Top
  270.  
  271. Concluding Remarks
  272. ******************
  273.  
  274.    We would like to conclude this GNU `gettext' manual by presenting an
  275. history of the GNU Translation Project so far.  We finally give a few
  276. pointers for those who want to do further research or readings about
  277. Native Language Support matters.
  278.  
  279. * Menu:
  280.  
  281. * History::                     History of GNU `gettext'
  282. * References::                  Related Readings
  283.  
  284. 
  285. File: gettext.info,  Node: History,  Next: References,  Prev: Conclusion,  Up: Conclusion
  286.  
  287. History of GNU `gettext'
  288. ========================
  289.  
  290.    Internationalization concerns and algorithms have been informally
  291. and casually discussed for years in GNU, sometimes around GNU `libc',
  292. maybe around the incoming `Hurd', or otherwise (nobody clearly
  293. remembers).  And even then, when the work started for real, this was
  294. somewhat independently of these previous discussions.
  295.  
  296.    This all began in July 1994, when Patrick D'Cruze had the idea and
  297. initiative of internationalizing version 3.9.2 of GNU `fileutils'.  He
  298. then asked Jim Meyering, the maintainer, how to get those changes
  299. folded into an official release.  That first draft was full of
  300. `#ifdef's and somewhat disconcerting, and Jim wanted to find nicer
  301. ways.  Patrick and Jim shared some tries and experimentations in this
  302. area.  Then, feeling that this might eventually have a deeper impact on
  303. GNU, Jim wanted to know what standards were, and contacted Richard
  304. Stallman, who very quickly and verbally described an overall design for
  305. what was meant to become `glocale', at that time.
  306.  
  307.    Jim implemented `glocale' and got a lot of exhausting feedback from
  308. Patrick and Richard, of course, but also from Mitchum DSouza (who wrote
  309. a `catgets'-like package), Roland McGrath, maybe David MacKenzie,
  310. Franc,ois Pinard, and Paul Eggert, all pushing and pulling in various
  311. directions, not always compatible, to the extent that after a couple of
  312. test releases, `glocale' was torn apart.
  313.  
  314.    While Jim took some distance and time and became dad for a second
  315. time, Roland wanted to get GNU `libc' internationalized, and got Ulrich
  316. Drepper involved in that project.  Instead of starting from `glocale',
  317. Ulrich rewrote something from scratch, but more conformant to the set
  318. of guidelines who emerged out of the `glocale' effort.  Then, Ulrich
  319. got people from the previous forum to involve themselves into this new
  320. project, and the switch from `glocale' to what was first named
  321. `msgutils', renamed `nlsutils', and later `gettext', became officially
  322. accepted by Richard in May 1995 or so.
  323.  
  324.    Let's summarize by saying that Ulrich Drepper wrote GNU `gettext' in
  325. April 1995.  The first official release of the package, including PO
  326. mode, occurred in July 1995, and was numbered 0.7.  Other people
  327. contributed to the effort by providing a discussion forum around
  328. Ulrich, writing little pieces of code, or testing.  These are quoted in
  329. the `THANKS' file which comes with the GNU `gettext' distribution.
  330.  
  331.    While this was being done, Franc,ois adapted half a dozen of GNU
  332. packages to `glocale' first, then later to `gettext', putting them in
  333. pretest, so providing along the way an effective user environment for
  334. fine tuning the evolving tools.  He also took the responsibility of
  335. organizing and coordinating the GNU Translation Project.  After nearly
  336. a year of informal exchanges between people from many countries,
  337. translator teams started to exist in May 1995, through the creation and
  338. support by Patrick D'Cruze of twenty unmoderated mailing lists for that
  339. many native languages, and two moderated lists: one for reaching all
  340. teams at once, the other for reaching all maintainers of
  341. internationalized packages in GNU.
  342.  
  343.    Franc,ois also wrote PO mode in June 1995 with the collaboration of
  344. Greg McGary, as a kind of contribution to Ulrich's package.  He also
  345. gave a hand with the GNU `gettext' Texinfo manual.
  346.  
  347. 
  348. File: gettext.info,  Node: References,  Prev: History,  Up: Conclusion
  349.  
  350. Related Readings
  351. ================
  352.  
  353.    Eugene H. Dorr (`dorre@well.com') maintains an interesting
  354. bibliography on internationalization matters, called
  355. `Internationalization Reference List', which is available as:
  356.      ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
  357.  
  358.    Michael Gschwind (`mike@vlsivie.tuwien.ac.at') maintains a
  359. Frequently Asked Questions (FAQ) list, entitled `Programming for
  360. Internationalisation'.  This FAQ discusses writing programs which can
  361. handle different language conventions, character sets, etc.; and is
  362. applicable to all character set encodings, with particular emphasis on
  363. ISO 8859-1.  It is regularly published in Usenet groups
  364. `comp.unix.questions', `comp.std.internat',
  365. `comp.software.international', `comp.lang.c', `comp.windows.x',
  366. `comp.std.c', `comp.answers' and `news.answers'.  The home location of
  367. this document is:
  368.      ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
  369.  
  370.    Patrick D'Cruze (`pdcruze@li.org') wrote a tutorial about NLS
  371. matters, and Jochen Hein (`Hein@student.tu-clausthal.de') took over the
  372. responsibility of maintaining it.  It may be found as:
  373.      ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
  374.           ...locale-tutorial-0.8.txt.gz
  375.  
  376. This site is mirrored in:
  377.      ftp://ftp.ibp.fr/pub/linux/sunsite/
  378.  
  379.    A French version of the same tutorial should be findable at:
  380.      ftp://ftp.ibp.fr/pub/linux/french/docs/
  381.  
  382. together with French translations of many Linux-related documents.
  383.  
  384. 
  385. File: gettext.info,  Node: Country Codes,  Prev: Conclusion,  Up: Top
  386.  
  387. Country Codes
  388. *************
  389.  
  390.    The ISO 639 standard defines two character codes for many countries.
  391. All abreviations for countries or languages used in the GNU translation
  392. project should come from this standard.
  393.  
  394. `aa'
  395.      Afar.
  396.  
  397. `ab'
  398.      Abkhazian.
  399.  
  400. `af'
  401.      Afrikaans.
  402.  
  403. `am'
  404.      Amharic.
  405.  
  406. `ar'
  407.      Arabic.
  408.  
  409. `as'
  410.      Assamese.
  411.  
  412. `ay'
  413.      Aymara.
  414.  
  415. `az'
  416.      Azerbaijani.
  417.  
  418. `ba'
  419.      Bashkir.
  420.  
  421. `be'
  422.      Byelorussian.
  423.  
  424. `bg'
  425.      Bulgarian.
  426.  
  427. `bh'
  428.      Bihari.
  429.  
  430. `bi'
  431.      Bislama.
  432.  
  433. `bn'
  434.      Bengali; Bangla.
  435.  
  436. `bo'
  437.      Tibetan.
  438.  
  439. `br'
  440.      Breton.
  441.  
  442. `ca'
  443.      Catalan.
  444.  
  445. `co'
  446.      Corsican.
  447.  
  448. `cs'
  449.      Czech.
  450.  
  451. `cy'
  452.      Welsh.
  453.  
  454. `da'
  455.      Danish.
  456.  
  457. `de'
  458.      German.
  459.  
  460. `dz'
  461.      Bhutani.
  462.  
  463. `el'
  464.      Greek.
  465.  
  466. `en'
  467.      English.
  468.  
  469. `eo'
  470.      Esperanto.
  471.  
  472. `es'
  473.      Spanish.
  474.  
  475. `et'
  476.      Estonian.
  477.  
  478. `eu'
  479.      Basque.
  480.  
  481. `fa'
  482.      Persian.
  483.  
  484. `fi'
  485.      Finnish.
  486.  
  487. `fj'
  488.      Fiji.
  489.  
  490. `fo'
  491.      Faroese.
  492.  
  493. `fr'
  494.      French.
  495.  
  496. `fy'
  497.      Frisian.
  498.  
  499. `ga'
  500.      Irish.
  501.  
  502. `gd'
  503.      Scots Gaelic.
  504.  
  505. `gl'
  506.      Galician.
  507.  
  508. `gn'
  509.      Guarani.
  510.  
  511. `gu'
  512.      Gujarati.
  513.  
  514. `ha'
  515.      Hausa.
  516.  
  517. `he'
  518.      Hebrew (formerly iw).
  519.  
  520. `hi'
  521.      Hindi.
  522.  
  523. `hr'
  524.      Croatian.
  525.  
  526. `hu'
  527.      Hungarian.
  528.  
  529. `hy'
  530.      Armenian.
  531.  
  532. `ia'
  533.      Interlingua.
  534.  
  535. `id'
  536.      Indonesian (formerly in).
  537.  
  538. `ie'
  539.      Interlingue.
  540.  
  541. `ik'
  542.      Inupiak.
  543.  
  544. `is'
  545.      Icelandic.
  546.  
  547. `it'
  548.      Italian.
  549.  
  550. `iu'
  551.      Inuktitut.
  552.  
  553. `ja'
  554.      Japanese.
  555.  
  556. `jw'
  557.      Javanese.
  558.  
  559. `ka'
  560.      Georgian.
  561.  
  562. `kk'
  563.      Kazakh.
  564.  
  565. `kl'
  566.      Greenlandic.
  567.  
  568. `km'
  569.      Cambodian.
  570.  
  571. `kn'
  572.      Kannada.
  573.  
  574. `ko'
  575.      Korean.
  576.  
  577. `ks'
  578.      Kashmiri.
  579.  
  580. `ku'
  581.      Kurdish.
  582.  
  583. `ky'
  584.      Kirghiz.
  585.  
  586. `la'
  587.      Latin.
  588.  
  589. `ln'
  590.      Lingala.
  591.  
  592. `lo'
  593.      Laothian.
  594.  
  595. `lt'
  596.      Lithuanian.
  597.  
  598. `lv'
  599.      Latvian, Lettish.
  600.  
  601. `mg'
  602.      Malagasy.
  603.  
  604. `mi'
  605.      Maori.
  606.  
  607. `mk'
  608.      Macedonian.
  609.  
  610. `ml'
  611.      Malayalam.
  612.  
  613. `mn'
  614.      Mongolian.
  615.  
  616. `mo'
  617.      Moldavian.
  618.  
  619. `mr'
  620.      Marathi.
  621.  
  622. `ms'
  623.      Malay.
  624.  
  625. `mt'
  626.      Maltese.
  627.  
  628. `my'
  629.      Burmese.
  630.  
  631. `na'
  632.      Nauru.
  633.  
  634. `ne'
  635.      Nepali.
  636.  
  637. `nl'
  638.      Dutch.
  639.  
  640. `no'
  641.      Norwegian.
  642.  
  643. `oc'
  644.      Occitan.
  645.  
  646. `om'
  647.      (Afan) Oromo.
  648.  
  649. `or'
  650.      Oriya.
  651.  
  652. `pa'
  653.      Punjabi.
  654.  
  655. `pl'
  656.      Polish.
  657.  
  658. `ps'
  659.      Pashto, Pushto.
  660.  
  661. `pt'
  662.      Portuguese.
  663.  
  664. `qu'
  665.      Quechua.
  666.  
  667. `rm'
  668.      Rhaeto-Romance.
  669.  
  670. `rn'
  671.      Kirundi.
  672.  
  673. `ro'
  674.      Romanian.
  675.  
  676. `ru'
  677.      Russian.
  678.  
  679. `rw'
  680.      Kinyarwanda.
  681.  
  682. `sa'
  683.      Sanskrit.
  684.  
  685. `sd'
  686.      Sindhi.
  687.  
  688. `sg'
  689.      Sangro.
  690.  
  691. `sh'
  692.      Serbo-Croatian.
  693.  
  694. `si'
  695.      Sinhalese.
  696.  
  697. `sk'
  698.      Slovak.
  699.  
  700. `sl'
  701.      Slovenian.
  702.  
  703. `sm'
  704.      Samoan.
  705.  
  706. `sn'
  707.      Shona.
  708.  
  709. `so'
  710.      Somali.
  711.  
  712. `sq'
  713.      Albanian.
  714.  
  715. `sr'
  716.      Serbian.
  717.  
  718. `ss'
  719.      Siswati.
  720.  
  721. `st'
  722.      Sesotho.
  723.  
  724. `su'
  725.      Sundanese.
  726.  
  727. `sv'
  728.      Swedish.
  729.  
  730. `sw'
  731.      Swahili.
  732.  
  733. `ta'
  734.      Tamil.
  735.  
  736. `te'
  737.      Telugu.
  738.  
  739. `tg'
  740.      Tajik.
  741.  
  742. `th'
  743.      Thai.
  744.  
  745. `ti'
  746.      Tigrinya.
  747.  
  748. `tk'
  749.      Turkmen.
  750.  
  751. `tl'
  752.      Tagalog.
  753.  
  754. `tn'
  755.      Setswana.
  756.  
  757. `to'
  758.      Tonga.
  759.  
  760. `tr'
  761.      Turkish.
  762.  
  763. `ts'
  764.      Tsonga.
  765.  
  766. `tt'
  767.      Tatar.
  768.  
  769. `tw'
  770.      Twi.
  771.  
  772. `ug'
  773.      Uighur.
  774.  
  775. `uk'
  776.      Ukrainian.
  777.  
  778. `ur'
  779.      Urdu.
  780.  
  781. `uz'
  782.      Uzbek.
  783.  
  784. `vi'
  785.      Vietnamese.
  786.  
  787. `vo'
  788.      Volapuk.
  789.  
  790. `wo'
  791.      Wolof.
  792.  
  793. `xh'
  794.      Xhosa.
  795.  
  796. `yi'
  797.      Yiddish (formerly ji).
  798.  
  799. `yo'
  800.      Yoruba.
  801.  
  802. `za'
  803.      Zhuang.
  804.  
  805. `zh'
  806.      Chinese.
  807.  
  808. `zu'
  809.      Zulu.
  810.  
  811.  
  812.