sane-project-backends/po
Oliver Schwartz 71a7cc00b1 Added snapscan.de.po to DISTFILES 2002-02-10 11:18:34 +00:00
..
Makefile.in Added snapscan.de.po to DISTFILES 2002-02-10 11:18:34 +00:00
README Added some comments on what the Makefile actually does. 2002-01-24 20:20:51 +00:00
epson.de.po Moved the options contained in saneopts.h into a seperate file. So the backend 2002-01-19 20:42:17 +00:00
mustek.de.po Moved the options contained in saneopts.h into a seperate file. So the backend 2002-01-19 20:42:17 +00:00
mustek_usb.de.po Moved the options contained in saneopts.h into a seperate file. So the backend 2002-01-19 20:42:17 +00:00
plustek.de.po Moved the options contained in saneopts.h into a seperate file. So the backend 2002-01-19 20:42:17 +00:00
pnm.de.po Moved the options contained in saneopts.h into a seperate file. So the backend 2002-01-19 20:42:17 +00:00
saneopts.de.po Moved the options contained in saneopts.h into a seperate file. So the backend 2002-01-19 20:42:17 +00:00
saneopts.fr.po Added french translation (from Frank Zago <fzago@greshamstorage.com>). 2002-02-09 11:32:55 +00:00
snapscan.de.po Added language translation support for snapscan backend 2002-02-09 15:03:07 +00:00
umax.de.po 2002-01-19 Oliver Rauch <Oliver.Rauch@rauch-domain.de> 2002-01-19 21:46:23 +00:00
umax.fr.po Added french translation (from Frank Zago <fzago@greshamstorage.com>). 2002-02-09 11:32:55 +00:00

README

2002-01-24

This directory contains translations for the options of the SANE backends.
They are only used if configure is called with option --enable-translations.
You will need GNU gettext: xgettext, msgfmt and msgmerge. The translations
are used at least by the frontend XSane.

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 backend that supports translations, read the
    documentation and set LANG to your local setting (e.g. de_DE for German
    language in Germany).

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

- Add a new language to an existing backend
  * cd po ; make backend.lang.po-gen 
  * If no other backend uses this language, you must also create
    saneopts.lang.po: make saneopts.lang.po-gen.
  * Edit backend.lang.po, and saneopts.lang.po, enter translations. You only
    need to enter the translations for texts actually used by your backend. 
    Don't forget to edit the headers.
  * Edit Makefile.in, add backend.lang.po (and saneopts.lang.po if it's not
    yet there) to DISTFILES.
  * make ; make install

- Add a translation for a backend that is not listed yet in Makefile.in
  * Edit your sources 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.
    Example: s->opt[5].title = SANE_I18N("Enhancement");
  * Edit po/Makefile.in. Add a line "backend.*.po: yourfiles" where
    yourfiles is a space-separated list of all your files containing
    translatable text. Also add backend.lang.po to DISTFILES.
  * ./configure --enable-translations
  * cd po ; make backend.lang.po-gen
  * see above, if the language isn't used by other backends.
  * Edit backend-lang.po, enter translations. Don't forget to edit the header.
  * make ; make install

- Add support in your frontend:
  * The Makefile installs files called "sane-backend.mo" in the directory
    "$(prefix)/share/locale/lang/LC_MESSAGES/", e.g.:
    "/usr/local/share/locale/de/LC_MESSAGES/sane-umax.mo". For every backend
    and every language exactly one .mo file is installed, if the
    correspondent .po file is available.
  * As mentioned above, GNU gettext is used. 
  * With other NLS implementations, converting the mo files may work.

Bugs:
- This is the first attempt to support translations. It's probably very buggy
  and is not very well tested.
- Documentation is not complete.
- I'm not sure if all the functions in Makefile.in work with older versions
  of make.
- I used sed to also include macros into *.pot.
- All well known options are added to *.lang.po even if they are not used
  in the backend.