Maintaining Translation Related Packages

From openSUSE

Submitting YaST translations from SVN to openSUSE:Factory
=========================================================

Pre-requites:
- Install development packages such as yast2-devtools, gettext-tools, etc.
- You need access to the suse-i18n SVN at
  https://forgesvn1.novell.com/svn/suse-i18n/trunk/yast.
- You need an OBS (openSUSE Build Service) account and the osc command line
  tool, version 0.119 or better.  Find it in the openSUSE:Tools repository
  (e.g.,
   http://download.opensuse.org/repositories/openSUSE://Tools/openSUSE_Factory).

Go to your YaST language directory in the suse-i18n SVN, for example,
https://forgesvn1.novell.com/svn/suse-i18n/trunk/yast/cs and run:

    make -f Makefile.cvs

This is required only once or if there are changes in the package build framework.


Optional, for checking or updating your po files:

    make checkpo

    make -C po update-po

I'd prefer if you'd check in the po files after running "make update-po":

    svn ci -m'merge po files' po/*.po


And now, the packaging step.  The following command results in
yast2-trans-cs-2.18.1.tar.bz2 (in case you are working with the "cs" files)
and it contains all your translations (po files):

    make dist

-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-


For the moment, leave the suse-i18n SVN alone.  Switch to working on the
yast2-trans jumbo package in the openSUSE Build Service (OBS);
yast2-trans is the main package for all the yast2-trans-LL sub-packages.

If not already done, branch yast2-trans into your OBS home project
directory.  This works the same way for other openSUSE packages:


    osc branch openSUSE\:Factory yast2-trans

yast2-trans is a regular yast package.  Thus it is maintained in
the YaST:Head repository and will be branched from there.

Now, you can check out yast2-trans from the just created branch.  This
will be your working copy:

    osc checkout home:$OBSUSER:branches:YaST:Head/yast2-trans

Replace $OBSUSER with your OBS user name; for me, it is "keichwa":

    osc checkout home:keichwa:branches:YaST:Head/yast2-trans

Unfortunately, yast2-trans is rather large.  It contains all the
language tar files...  You must do it only once, later on "osc up" will
be sufficient.

Remember the yast2-trans-cs-2.18.1.tar.bz2 archive we created in the
suse-i18n SVN.  You must copy it to yast2-trans now:

    cd home:$OBSUSER:branches:YaST:Head/yast2-trans
    cp .../yast2-trans-cs-2.18.1.tar.bz2 .



Update the changes file and commit your changes (the tar archive and the
changes files):

    osc commit -m "Updated 'cs'."

Finally, send a submitreq to the Factory maintainer:

    osc submitreq -m "Updated 'cs'."

Now the Factory maintainers receive a notification and will approve the
package for openSUSE Factory.


-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-

yast2-slide-show
================

Collect translations from the lcn directory from the suse-i18n
SVN:

make min=50 slideshow

which will result in slideshow-po.tar.gz containing all slide-show
translations that are at least 50% done.

Move the collected .po files to the yast SVN at
http://svn.opensuse.org/svn/yast/trunk/slide-show :

cd .../yast/trunk/slide-show/SuSELinux
tar xvf .../suse-i18n/trunk/lcn/slideshow-po.tar.gz

Update "langs" in Makefile.am.

Increase VERSION.
Edit *.changes.

make
make dist
y2tool tagversion
make package-local

which results in package/yast2-slide-show-*.tar.bz2

Replace $OBSUSER with your OBS user name; for me, it is "keichwa":

    OBSUSER=keichwa
    osc branch openSUSE\:Factory yast2-slide-show
    osc checkout home:$OBSUSER:branches:YaST:Head/yast2-slide-show
    cd home:$OBSUSER:branches:YaST:Head/yast2-slide-show
    cp .../package/yast2-slide-show* .

Remove the previous version, the "addremove" and commit the files:

    osc ar
    osc ci -m'update translations'

If it builds properly (check the BS), send a submitreq:

    osc sr -m'update translations' home:$OBSUSER:branches:YaST:Head yast2-slide-show openSUSE\:Factory


-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-


update-desktop-files Coming with the "desktop-translations" Package
===================================================================

First, branch and checkout this package:

osc branch openSUSE\:Factory desktop-translations
osc co home:keichwa:branches:openSUSE:Factory/desktop-translations
cd home:keichwa:branches:openSUSE:Factory/desktop-translations

Then package the translation files and update the .changes file:

export MY_LCN_CHECKOUT=/path/to/my/SVN/checkout
bash PREPARE_PACKAGE
edit *.changes

Finally submit it to the OBS and send a submitreq:

osc ci -m'update translations'
osc sr --nodevelproject home:keichwa:branches:openSUSE:Factory desktop-translations openSUSE:Factory


-=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=-

translation-update
==================

We use this package to ship on-line updates of software translation
after the release (post-GA).  The files will be installed as
"overloads".  It is important to ship empty language packages with
the next release to remove these overloads.

First collect the translation files from the lcn directory of
the suse-i18n SVN using the 50-tools/lcn-prep-translation-update.sh
helper script with the wanted languages as argument:

cd .../trunk/lcn
svn up
50-tools/lcn-prep-translation-update.sh $LL1 $LL2 $LLx

which results in translation-update.tar.bz2 .

Then check out translation-update from Factory and replace the
tar archive.

osc branch openSUSE\:Factory translation-update 
osc co home:keichwa:branches:GNOME:Factory/translation-update
cd home:keichwa:branches:GNOME:Factory/translation-update
cp .../translation-update.tar.bz2 .

Edit *.changes and submit it:

osc ci -m'update translations'
osc sr home:keichwa:branches:GNOME:Factory translation-update openSUSE:Factory