2002-12-02

This directory contains translations for the options of the SANE backends.
They are only used if the gettext tools are found by configure.
You will need GNU gettext: xgettext, msgfmt and msgmerge. The translations
are used at least by the frontends XSane and quiteinsane.

What do you need to do if you want to:

- Just read the description of SANE options in your language
  * Use XSane or your favourite frontend that supports translations, read the
    documentation and set LANG to your local setting (e.g. de_DE for German
    language in Germany). Make sure, that you use a recent version of the
    frontends.

- Update existing translations when the source code has changed
  * cd po ; make
  * Edit sane-backends.lang.po, add/change translations. (with lang = your
    language, e.g. "de")
  * make install

- Add a new language
  * Edit po/Makefile.in, add your language to ALL_LINGUAS and add 
    sane-backends.lang.po to DISTFILES.
  * ./configure
  * cd po
  * touch sane-backends.lang.po
  * make
  * Edit sane-backends.lang.po and enter translations. You only need to enter
    the translations for texts actually used by your backend but the more you
    can translate, the better. Don't forget to edit the headers. UTF-8 is the
    preferred encoding.
  * make install

- Add a translation for a completely untranslated backend
  * Edit the source code of the backend and add SANE_I18N to the appropriate
    strings. Mark the descriptions (desc) and titles of options with
    SANE_I18N(). Do the same for string lists used in options. The name of
    options must NOT be marked. Do NOT mark macros. Especially you don't need
    to mark standard option strings like SANE_TITLE_NUM_OPTIONS as this is
    already done in saneopts.h.
    Examples: s->opt[5].title = SANE_I18N("Enhancement");
              #define STANDARD_FORMAT SANE_I18N("a4 Paper")
  * Edit po/Makefile.in. Add all soucecode files that conatain strings marked
    by SANE_I18N() to SRC_FILES.
  * If you want to also add a new language, see above.
  * ./configure
  * cd po ; make
  * Edit sane-backends.lang.po, enter translations. Add your name/email address
    to the header. If you don't agree with an already existing translation, ask
    the sane-devel mailing list.
  * make install

- Add support in your frontend:
  * The Makefile installs files called "sane-backends.mo" in the directory
    "$(prefix)/share/locale/lang/LC_MESSAGES/", e.g.:
    "/usr/local/share/locale/de/LC_MESSAGES/sane-backends.mo". For every
    language exactly one .mo file is installed. Earlier releases of
    sane-backends installed one file per backend, e.g. sane-umax.mo. For
    backward compatibility, frontends may want to check for these files, also.
  * As mentioned above, GNU gettext is used. 
  * With other NLS implementations, converting the mo files may work.

Bugs:
- Using sed to include macros into *.pot isn't nice.
