LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File README of Package gnome-patch-translation (Project GNOME:Factory)

This package is intended for collection of translation strings in
patches and merging translations back to packages.

It works only with packages that can use intltool for translation.



It contains:

gnome-patch-translation-prepare: This tool collects strings from
intact package.

gnome-patch-translation-update: Using previously collected strings, this
tool:
- Collects actual strings in patches into gnome-patch-translation/
  sub-directory in build directory.
- Prepares fuzzy translations for existing translations.
  (only if COMPENDIUM_UPDATE_MODE=1)
- Updates actual translations in po/ using translations from
  gnome-patch-translation package.

gnome-patch-translation-files.tar.bz2: Files created by
COMPENDIUM_UPDATE_MODE=1 gnome-patch-translation-update collected from
all related packages.

gnome-patch-translation.tar.bz2: Translation files provided by
translators.

gnome-patch-translation-merged and /usr/share/gnome-patch-translation
(autogenerated): It contains merged files, which will be used for
translation. These files are sent to translators by the update process.


THE WORK FLOW SUMMARY:

Update of gnome-patch-translation string is done manually. You need to
check-out gnome-patch-translation source package and read HOWTO. The
package contains update script wrappers. Update scripts themselves
reside in LCN SVN and they are downloaded during the update run.

1. Package with gnome-patch-translation infrastructure is checked-in.
2. Package is added to gnome-patch-translation.conf in
   gnome-patch-translation package and in LCN SVN.
3. Next time of update-strings-from-packages (in gnome-patch-translation
   sources), strings are collected.
4. After run of upload-strings-to-lcn (in gnome-patch-translation
   sources), pot files (and string proposals) are uploaded to the LCN
   SVN.
5. Translators need some time to pick new pot file and complete
   translations.
6. Next time of update-translations-from-lcn (in gnome-patch-translation
   sources), translations appear in gnome-patch-translation.
7. gnome-patch-translation is checked-in, packages are recompiled and
   translations will appear in its place.
8. Next translation round everything repeats from step 3.


HOW TO PREPARE PACKAGE FOR TRANSLATION

1) Search for candidates on unpacked source packages:
( find -name '*patch*' ; find -name '*dif*' ) | xargs fgrep '_("' | less | grep ':[+-]' | less

2) You have to do following changes in the spec file:

 ...
+BuildRequires: gnome-patch-translation
 ...
 %prep
 %setup
+gnome-patch-translation-prepare
 ...
 %patch
 ...
+gnome-patch-translation-update

3) Get source of package gnome-patch-translation and include selected
packages to gnome-patch-translation.conf, variable GPT_PACKAGES.

4) Then you have to provide translations for translators:


HOW TO PROVIDE TRANSLATIONS

You have to update strings for translators, if any translatable string
in any patch is changed.

Follow HOWTO in gnome-patch-translation package source and your strings
will be populated to translators.

Note: These tools work on packages already submitted and accepted into
defined repository. If you want to use more fresh copy of your package,
you can use a simple trick: When package is checked out (during
update-step2-update-strings-from-packages) and before the source is
unpacked, pause tool running by Ctrl+S. Then replace the source
directory with a directory you want to use in an another terminal.
Return back, press Ctrl+Q and the tool will continue with sources you
need.