KDE Maintainship
من ويكي عربآيز
KDE PO files are all placed in a unique place contrary to Gnome.
Scenario
- Many contributions were committed to Arabeyes' CVS (translate/kde/messages)
- KDE SVN is updated with modified strings
- Arabeyes contribution must be committed to KDE SVN
- The PO files in Arabeyes must be updated
- Finally Arabeyes translate/kde/messages and KDE trunk/l10n/ar/messages must be exactly the same after the sync
Realisation
- Check Arabeyes PO files with /trunk/l10n/scripts/check_po_files
Errors should be emailed to the maintainer
KDE files should not be checked with msgfmt -cv -o /dev/null $file
- Logging in and checking out:
svn checkout https://<username>@svn.kde.org/home/kde/trunk/l10n/ar/messages
The typed password is remembered.
- Merging Arabeyes translations to KDE new PO files
cd $ARABEYESCVSROOT/translate/kde/messages for i in `find | grep ".po\$"`; do msgmerge $ARABEYESCVSROOT/translate/kde/messages/$i $KDESVNROOT/trunk/l10n/ar/messages/$i -o $KDESVNROOT/trunk/l10n/ar/messages/$i; done
- Copy newly added directories and files in Arabeyes CVS to KDE SVN
for i in `find`; do cp -r -i $ARABEYESCVSROOT/translate/kde/messages/$i $KDESVNROOT/trunk/l10n/ar/messages/$i; done #I am not sure of the command
Important: Don't copy CVS configuration files
- Add newly added directories and files in Arabeyes CVS that were copied to KDE SVN to version control
svn add <new-dirs-and-files>
- Commit everything
cd $KDESVNROOT/l10n/ar/messages for i in `find`; do svn commit $i -m '`msgfmt --statistics -o /dev/null $i`'; done
Important: Don't commit the ".svn" directories and their content.
- Copy KDE SVN to Arabeyes CVS
cd $KDESVNROOT/l10n/ar/messages for i in `find | grep ".po\$"`; do cp $KDESVNROOT/l10n/ar/messages/$i $ARABEYESCVSROOT/translate/kde/messages/$i; done #overwrites all files
- Commit Arabeyes CVS changes
cd $ARABEYESCVSROOT/translate/kde/messages for i in `find | grep ".po\$"`; do cvs commit $i; done # mark as CVS_SILENT and send an email to doc@arabeyes.org with logs.
/trunk/l10n/scripts/ contains many scripts to help translators.