gettext: Prerequisites

 
 13.2 Prerequisite Works
 =======================
 
    There are some works which are required for using GNU ‘gettext’ in
 one of your package.  These works have some kind of generality that
 escape the point by point descriptions used in the remainder of this
 chapter.  So, we describe them here.
 
    • Before attempting to use ‘gettextize’ you should install some other
      packages first.  Ensure that recent versions of GNU ‘m4’, GNU
      Autoconf and GNU ‘gettext’ are already installed at your site, and
      if not, proceed to do this first.  If you get to install these
      things, beware that GNU ‘m4’ must be fully installed before GNU
      Autoconf is even _configured_.
 
      To further ease the task of a package maintainer the ‘automake’
      package was designed and implemented.  GNU ‘gettext’ now uses this
      tool and the ‘Makefile’ in the ‘po/’ directory therefore knows
      about all the goals necessary for using ‘automake’.
 
      Those four packages are only needed by you, as a maintainer; the
      installers of your own package and end users do not really need any
      of GNU ‘m4’, GNU Autoconf, GNU ‘gettext’, or GNU ‘automake’ for
      successfully installing and running your package, with messages
      properly translated.  But this is not completely true if you
      provide internationalized shell scripts within your own package:
      GNU ‘gettext’ shall then be installed at the user site if the end
      users want to see the translation of shell script messages.
 
    • Your package should use Autoconf and have a ‘configure.ac’ or
      ‘configure.in’ file.  If it does not, you have to learn how.  The
      Autoconf documentation is quite well written, it is a good idea
      that you print it and get familiar with it.
 
    • Your C sources should have already been modified according to
      instructions given earlier in this manual.  ⇒Sources.
 
    • Your ‘po/’ directory should receive all PO files submitted to you
      by the translator teams, each having ‘LL.po’ as a name.  This is
      not usually easy to get translation work done before your package
      gets internationalized and available!  Since the cycle has to start
      somewhere, the easiest for the maintainer is to start with
      absolutely no PO files, and wait until various translator teams get
      interested in your package, and submit PO files.
 
    It is worth adding here a few words about how the maintainer should
 ideally behave with PO files submissions.  As a maintainer, your role is
 to authenticate the origin of the submission as being the representative
 of the appropriate translating teams of the Translation Project (forward
 the submission to ‘coordinator@translationproject.org’ in case of
 doubt), to ensure that the PO file format is not severely broken and
 does not prevent successful installation, and for the rest, to merely
 put these PO files in ‘po/’ for distribution.
 
    As a maintainer, you do not have to take on your shoulders the
 responsibility of checking if the translations are adequate or complete,
 and should avoid diving into linguistic matters.  Translation teams
 drive themselves and are fully responsible of their linguistic choices
 for the Translation Project.  Keep in mind that translator teams are
 _not_ driven by maintainers.  You can help by carefully redirecting all
 communications and reports from users about linguistic matters to the
 appropriate translation team, or explain users how to reach or join
 their team.
 
    Maintainers should _never ever_ apply PO file bug reports themselves,
 short-cutting translation teams.  If some translator has difficulty to
 get some of her points through her team, it should not be an option for
 her to directly negotiate translations with maintainers.  Teams ought to
 settle their problems themselves, if any.  If you, as a maintainer, ever
 think there is a real problem with a team, please never try to _solve_ a
 team’s problem on your own.