home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gettext-0.10.24-src.tgz / tar.out / fsf / gettext / README < prev    next >
Text File  |  1996-09-28  |  8KB  |  177 lines

  1. This is the GNU gettext package.  It is interesting for authors or
  2. maintainers of other packages or programs which they want to see
  3. internationalized.  As one step the handling of messages in different
  4. languages should be implemented.  For this task GNU gettext provides
  5. the needed tools and library functions.
  6.  
  7. Users of GNU packages should also install GNU gettext because some
  8. other GNU packages will use the gettext program included in this
  9. package to internationalize the messages given by shell scripts.
  10.  
  11. Another good reason to install GNU gettext is to make sure the
  12. here included functions compile ok.  This helps to prevent errors
  13. when installing other packages which use this library.  The message
  14. handling functions are not yet part of POSIX and ISO/IEC standards
  15. and therefore it is not possible to rely on facts about their
  16. implementation in the local C library.  If the installer selects
  17. it, GNU gettext tries using the systems functionality; in that
  18. case, compatibility problems might occur.
  19.  
  20. We felt that the Uniforum proposals has the much more flexible interface
  21. and, what is more important, does not burden the programmers as much as
  22. the other possibility does.
  23.  
  24.  
  25. Please share your results with us.  If this package compiles ok for
  26. you future GNU release will likely also not fail, at least for reasons
  27. found in message handling.  Send comments and bug reports to
  28.         bug-gnu-utils@prep.ai.mit.edu
  29.  
  30.  
  31. The goal of this library was to give a unique interface to message
  32. handling functions.  At least the same level of importance was to give
  33. the programmer/maintainer the needed tools to maintain the message
  34. catalogs.  The interface is designed after the proposals of the
  35. Uniforum group.  So systems having this interface implemented in their
  36. C library don't need the library provided here (and it will
  37. automatically not be included).  If your systems C library implements
  38. the second widely available approach (X/Opens catgets) the library
  39. can use this and only some stubs will be compiled to provide the
  40. needed interface.  If neither is locally available a full
  41. implementation of the library will be compiled.
  42.  
  43. The configure script provides three non-standard options.  These will
  44. also be available in other packages if they use the functionality of
  45. GNU gettext.  Use
  46.  
  47.     --disable-nls
  48.  
  49. if you absolutely don't want to have messages handling code.  You will
  50. always get the original messages (mostly English).  You could consider
  51. using NLS support even when you do not need other tongues.  If you do
  52. not install any messages catalogs or do not specify to use another but
  53. the C locale you will not get translations.
  54.  
  55. The set of languages for which catalogs should be installed can also be
  56. specified while configuring.  Of course they must be available but the
  57. intersection of these two sets are computed automatically.  You could
  58. once and for all define in your profile/cshrc the variable LINGUAS:
  59.  
  60. (Bourne Shell)        LINGUAS="de fr nl"; export LINGUAS
  61.  
  62. (C Shell)        setenv LINGUAS "de fr nl"
  63.  
  64. or specify it directly while configuring
  65.  
  66.     env LINGUAS="de fr nl" ./configure
  67.  
  68. Consult the manual for more information on language names.
  69.  
  70. The second configure option is
  71.  
  72.     --with-included-gettext
  73.  
  74. This forces to use the GNU implementing the message handling library
  75. regardless what the local C library provides.  This possibility is
  76. much less error prone because possible unreliable effects of the local
  77. message handling system are avoided.  And perhaps more important: many
  78. useful features can only be exploited with this library.  The reason
  79. is obvious: we cannot dig in the internals of other implementations.
  80. It is likely that the discrepancy between the GNU implementation and
  81. others will get bigger in the time coming.  So better change now!
  82.  
  83. The third option is:
  84.  
  85.     --with-catgets
  86.  
  87. The X/Open catgets functions which might be found in the local C
  88. library are not used by default.  The reason is already described
  89. above: the GNU gettext library provides many useful extension which
  90. cannot be emulated with catgets().  Beside this the utility programs
  91. for generating the catalog used by catgets() vary heavily between
  92. different systems.  You should select this feature only if you really
  93. don't want to use the GNU gettext library and do not want to extended
  94. functionality (but I do not see any good reason for such a choice).
  95.  
  96.  
  97. Other files you might look into:
  98.  
  99. `ABOUT-NLS' -    current state of the GNU internationalization effort
  100. `COPYING' -    copying conditions
  101. `INSTALL' -    general compilation and installation rules
  102. `NEWS' -    major changes in the current version
  103. `THANKS' -    list of contributors
  104.  
  105.  
  106. Some points you might be interested in before installing the package:
  107.  
  108. 1.  If you change any of the files in package the Makefile rules will
  109.     schedule a recompution of the gettext.pot file.  But this is not
  110.     possible without this package already installed.
  111.        If you don't have this package already installed and modified
  112.     any of the files build the package first with
  113.     --disable-nls
  114.     When this is done you will get a runnable xgettext program which
  115.     can be used to recompute gettext.pot.
  116.  
  117. 2.  The package contains a file misc/magic.add.  This is intended to be
  118.     added to your /etc/magic file.  After adding this the `file' command
  119.     will recognize GNU message catalog files (.mo files).
  120.  
  121. 3.  If your system's C library already provides the gettext interface
  122.     it might be a good idea to configure the package with
  123.         --program-prefix=g
  124.  
  125.     Systems affected by this are:
  126.         Solaris 2.x, future GNU and GNU/Linux systems
  127.  
  128.     One point to mention here is that at least Solaris 2.3 does not have
  129.     all function of the Uniforum proposal implement.  More specific, the
  130.     dcgettext() function is missing.  For programmers/maintainers it
  131.     is therefore nowaday better to avoid using this function.
  132.  
  133. 4.  Some system have a very dumb^H^H^H^Hstrange version of msgfmt, the
  134.     one which comes with xview.  This one is *not* usable.  It's best
  135.     you delete^H^H^H^H^H^Hrename it or install this package as in the
  136.     point above with
  137.     --program-prefix=g
  138.  
  139. 5.  On some system it is better to have strings aligned (I've been told
  140.     Sparcs like strings aligned to 8 byte boundaries).  If you want to
  141.     have the output of msgfmt aligned you can use the -a option.  But you
  142.     also could change the default value to be different from 1.  Take
  143.     a look at the config.h file, built by configure.
  144.     (If you change the default value the test of msgfmt will fail!)
  145.  
  146. 6.  The locale name alias scheme implemented here is in a similar form
  147.     implemented in the X Window System.  Especially the alias data base
  148.     file can be shared.  Normally this file is found at something like
  149.  
  150.     /usr/lib/X11/locale/locale.alias
  151.  
  152.     If you have the X Window System installed try to find this file and
  153.     specify the path at the make run:
  154.  
  155.     make aliaspath='/usr/lib/X11/locale:/usr/local/lib/locale'
  156.  
  157.     (or whatever is appropriate for you).  The file name is always
  158.     locale.alias.
  159.     In the misc/ subdirectory you find an example for an alias database file.
  160.  
  161. 7.  The msgmerge program performs fuzzy search in the message sets.  It
  162.     might run a long time on slow systems.  I saw this problem when running
  163.     it on my old i386DX25.  The time can really be several minutes,
  164.     especially if you have long messages and/or a great number of
  165.     them.
  166.        If you have a faster implementation of the fstrcmp() function and
  167.     want to share it with the rest of use, please contact me.
  168.  
  169. 8.  On some systems it will not be possible to compile this package.
  170.     It is not only this package but any other GNU package, too.  These
  171.     systems do not provide the simplest functionality to run configure.
  172.     Today are known the following systems:
  173.  
  174.     configure name        description
  175.     --------------        -----------
  176.     mips-mips-riscos    2.1.1AC RISCos
  177.