Accepting request 41097 from Base:System
Copy from Base:System/translation-update-upstream based on submit request 41097 from user sbrabec OBS-URL: https://build.opensuse.org/request/show/41097 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/translation-update-upstream?expand=0&rev=8
This commit is contained in:
commit
3e35455057
@ -12,12 +12,16 @@ set -o errexit
|
||||
|
||||
source ${0%create-tlst-step2-create-gnome_gtp.sh}upstream-collect.conf
|
||||
|
||||
osc ${OSC_APIURL:+--apiurl=$OSC_APIURL} list $OSC_REPOSITORY >create-tlst-temp-osc-projects.lst
|
||||
rm -f create-tlst-temp-osc-projects.lst
|
||||
for REPOSITORY in ${OSC_REPOSITORIES[@]} ; do
|
||||
osc ${OSC_APIURL:+--apiurl=$OSC_APIURL} list $REPOSITORY >create-tlst-temp-osc-projects.lst
|
||||
done
|
||||
|
||||
# branches tried for all apps:
|
||||
KNOWN_BRANCHES="gnome-2-28"
|
||||
KNOWN_BRANCHES="gnome-2-30"
|
||||
# branches tried apps with the same name base:
|
||||
APP_BRANCHES="|gimp-2-6|gtk-2-18|gtk-2-90|glib-2-22"
|
||||
# Do not forget hardcoded strings in the code below!
|
||||
APP_BRANCHES="|gimp-2-6|gtk-2-20|gtk-2-90|glib-2-24"
|
||||
# FIXME: support for libgda:release-3-0-branch gnome-background:gnome-2-22
|
||||
|
||||
echo "# This file was generated $(LANG=C LC_ALL=C date) by create-tlst-step2-create-gnome_gtp.sh." >upstream-gnome_gtp.tlst
|
||||
@ -43,11 +47,16 @@ curl http://l10n.gnome.org/POT/ | sed -n 's:^.*href="\([^"]*\)/".*$:\1:p' | sed
|
||||
for LBRANCH in $KNOWN_BRANCHES master ; do
|
||||
echo gconf gconf2 GConf2 $LBRANCH
|
||||
done
|
||||
echo glib glib2 glib20 glib-2-24
|
||||
echo glib glib2 glib20 master
|
||||
echo gtk+ gtk2 gtk20 gtk-2-18
|
||||
echo gtk+ gtk2 gtk20 gtk-2-20
|
||||
echo gtk+ gtk2 gtk20 gtk-2-22
|
||||
echo gtk+ gtk2 gtk20 master
|
||||
echo gtk+ gtk2 gtk20-properties gtk-2-18
|
||||
echo gtk+ gtk2 gtk20-properties gtk-2-20
|
||||
echo gtk+ gtk2 gtk20-properties gtk-2-22
|
||||
echo gtk+ gtk2 gtk20-properties master
|
||||
echo libgweather libgweather libgweather-locations gnome-2-30
|
||||
echo libgweather libgweather libgweather-locations master
|
||||
echo gnome-phone-manager phonemgr gnome-phone-manager master
|
||||
echo network-manager-applet NetworkManager-gnome nm-applet master
|
||||
# For other versions than sles10:
|
||||
@ -101,6 +110,9 @@ curl http://l10n.gnome.org/POT/ | sed -n 's:^.*href="\([^"]*\)/".*$:\1:p' | sed
|
||||
gst-plugins-ugly-0.10 )
|
||||
PROJECT=gst-plugins-ugly
|
||||
;;
|
||||
libgweather-locations )
|
||||
PO_DIR=po-locations
|
||||
;;
|
||||
* )
|
||||
PO_DIR=po
|
||||
;;
|
||||
|
@ -2,5 +2,4 @@
|
||||
gstreamer-0_10 gstreamer-0.10 cgit git://anongit.freedesktop.org/gstreamer/gstreamer gstreamer/po
|
||||
gstreamer-0_10-plugins-base gst-plugins-base-0.10 cgit git://anongit.freedesktop.org/gstreamer/gst-plugins-base gst-plugins-base/po
|
||||
gstreamer-0_10-plugins-good gst-plugins-good-0.10 cgit git://anongit.freedesktop.org/gstreamer/gst-plugins-good gst-plugins-good/po
|
||||
gstreamer-0_10-plugins-bad gst-plugins-bad-0.10 cgit git://anongit.freedesktop.org/gstreamer/gst-plugins-bad gst-plugins-bad/po
|
||||
gstreamer-0_10-plugins-ugly gst-plugins-ugly-0.10 cgit git://anongit.freedesktop.org/gstreamer/gst-plugins-ugly gst-plugins-ugly/po
|
||||
shared-mime-info shared-mime-info cgit git://anongit.freedesktop.org/xdg/shared-mime-info po
|
10
lcn-sle.hook
Normal file
10
lcn-sle.hook
Normal file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
if test -z "$PACKAGE" ; then
|
||||
echo "This is a hook file for upstream-collect.sh. It cannot be called separately."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# Hack for compiz that has a non-standard po location
|
||||
if test $DOMAIN = compiz ; then
|
||||
RPMPODIR=$(echo $RPMPKGDIR/BUILD/compiz/compiz-*/${DIR#*/})
|
||||
fi
|
120
lcn-sle.tlst
Normal file
120
lcn-sle.tlst
Normal file
@ -0,0 +1,120 @@
|
||||
# package domain method repository dir branch option
|
||||
#DROPPED: CheckHardware CheckHardware lcn - CheckHardware/po SLE11
|
||||
ConsoleKit ConsoleKit lcn - ConsoleKit/po SLE11
|
||||
pam Linux-PAM lcn - Linux-PAM/po SLE11
|
||||
NetworkManager NetworkManager lcn - NetworkManager/po SLE11
|
||||
NetworkManager-novellvpn NetworkManager-novellvpn lcn - NetworkManager-novellvpn/po SLE11
|
||||
NetworkManager-openvpn NetworkManager-openvpn lcn - NetworkManager-openvpn/po SLE11
|
||||
NetworkManager-vpnc NetworkManager-vpnc lcn - NetworkManager-vpnc/po SLE11
|
||||
PolicyKit-gnome PolicyKit-gnome lcn - PolicyKit-gnome/po SLE11
|
||||
#NA: RELEASE-NOTES RELEASE-NOTES lcn - RELEASE-NOTES/po SLE11
|
||||
#NA: SUSEgreeter SUSEgreeter lcn - SUSEgreeter/po SLE11
|
||||
apparmor-parser apparmor-parser lcn - apparmor-parser/po SLE11
|
||||
apparmor-utils apparmor-utils lcn - apparmor-utils/po SLE11
|
||||
apparmorapplet-gnome apparmorapplet lcn - apparmorapplet/po SLE11
|
||||
#MOVED: banshee banshee lcn - banshee/po SLE11
|
||||
banshee-1 banshee-1 lcn - banshee-1/po SLE11
|
||||
beagle beagle lcn - beagle/po SLE11
|
||||
#NOTFOUND: bootloader bootloader lcn - bootloader/po SLE11
|
||||
#NOTFOUND: community-repositories community-repositories lcn - community-repositories/po SLE11
|
||||
compiz compiz lcn - compiz/po SLE11
|
||||
#DROPPED: compiz xgl-settings lcn - xgl-settings/po SLE11
|
||||
# STRANGE, moved:
|
||||
gnome-control-center control-center2 lcn - control-center2/po SLE11
|
||||
cracklib cracklib lcn - cracklib/po SLE11
|
||||
cryptconfig cryptconfig lcn - cryptconfig/po SLE11
|
||||
#YAST: dialogsolver dialogsolver lcn - dialogsolver/po SLE11
|
||||
eiciel eiciel lcn - eiciel/po SLE11
|
||||
evolution-webcal evolution-webcal lcn - evolution-webcal/po SLE11
|
||||
f-spot f-spot lcn - f-spot/po SLE11
|
||||
#NA: gnome-cups-manager gnome-cups-manager lcn - gnome-cups-manager/po SLE11
|
||||
gnome-docker gnome-docker lcn - gnome-docker/po SLE11
|
||||
gnome-main-menu gnome-main-menu lcn - gnome-main-menu/po SLE11
|
||||
gnome-packagekit gnome-packagekit lcn - gnome-packagekit/po SLE11
|
||||
gnome-panel gnome-panel lcn - gnome-panel/po SLE11
|
||||
#TODO phase 2: gnome-patch-translation gnome-patch-translation lcn - gnome-patch-translation/po SLE11
|
||||
gnome-power-manager gnome-power-manager lcn - gnome-power-manager/po SLE11
|
||||
gnome-screensaver gnome-screensaver lcn - gnome-screensaver/po SLE11
|
||||
gnome-session gnome-session lcn - gnome-session/po SLE11
|
||||
gnome-terminal gnome-terminal lcn - gnome-terminal/po SLE11
|
||||
gnome-utils gnome-utils-2.0 lcn - gnome-utils-2.0/po SLE11
|
||||
#NA: html-help-boot html-help-boot lcn - html-help-boot/po SLE11
|
||||
#NA: html-help-install html-help-install lcn - html-help-install/po SLE11
|
||||
#MOVED?: NetworkManager-kde4 kcm_knetworkmanager lcn - kcm_knetworkmanager/po SLE11
|
||||
#TODO: kde4-SLE kde4-SLE lcn - kde4-SLE/po SLE11
|
||||
#TODO: kde4-openSUSE kde4-openSUSE lcn - kde4-openSUSE/po SLE11
|
||||
#TODO: kde4-plasmoids kde4-plasmoids lcn - kde4-plasmoids/po SLE11
|
||||
#TODO: kfiledialog kfiledialog lcn - kfiledialog/po SLE11
|
||||
#TODO: kinternet kinternet lcn - kinternet/po SLE11
|
||||
#TODO: kio_slp kio_slp lcn - kio_slp/po SLE11
|
||||
#TODO: kio_sysinfo kio_sysinfo lcn - kio_sysinfo/po SLE11
|
||||
#TODO: knetworkmanager knetworkmanager lcn - knetworkmanager/po SLE11
|
||||
#TODO: kpowersave kpowersave lcn - kpowersave/po SLE11
|
||||
krb5-ticket-watcher krb5-ticket-watcher lcn - krb5-ticket-watcher/po SLE11
|
||||
#NA: krpmview krpmview lcn - krpmview/po SLE11
|
||||
#NA: kryptomedia kryptomedia lcn - kryptomedia/po SLE11
|
||||
#TODO: kupdateapplet kupdateapplet lcn - kupdateapplet/po SLE11
|
||||
#TODO: kwin_SUSE2 kwin_SUSE2 lcn - kwin_SUSE2/po SLE11
|
||||
libgnomedb libgnomedb-3 lcn - libgnomedb-3/po SLE11
|
||||
libgnomesu libgnomesu-1.0 lcn - libgnomesu/po SLE11
|
||||
libslab libslab lcn - libslab/po SLE11
|
||||
#NA: libssui libssui lcn - libssui/po SLE11
|
||||
limal limal lcn - limal/po SLE11
|
||||
limal-apparmor-control limal-apparmor-control lcn - limal-apparmor-control/po SLE11
|
||||
limal-ca-mgm limal-ca-mgm lcn - limal-ca-mgm/po SLE11
|
||||
limal-nfs-server limal-nfs-server lcn - limal-nfs-server/po SLE11
|
||||
limal-runlevel limal-runlevel lcn - limal-runlevel/po SLE11
|
||||
linphone linphone lcn - linphone/po SLE11
|
||||
linuxrc linuxrc lcn - linuxrc/po SLE11
|
||||
login login lcn - login/po SLE11
|
||||
nautilus-open-terminal nautilus-open-terminal lcn - nautilus-open-terminal/po SLE11
|
||||
nautilus-sendto nautilus-sendto lcn - nautilus-sendto/po SLE11
|
||||
nautilus-share nautilus-share lcn - nautilus-share/po SLE11
|
||||
#TODO: ooo-build ooo-build lcn - ooo-build/po SLE11
|
||||
#NA: opensuseupdater-gnome opensuseupdater-gnome lcn - opensuseupdater-gnome/po SLE11
|
||||
pam-config pam-config lcn - pam-config/po SLE11
|
||||
pam_krb5 pam_krb5 lcn - pam_krb5/po SLE11
|
||||
#NA: pam_pwcheck pam_pwcheck lcn - pam_pwcheck/po SLE11
|
||||
#NA: pam_unix2 pam_unix2 lcn - pam_unix2/po SLE11
|
||||
#NA: pam_winbind pam_winbind lcn - pam_winbind/po SLE11
|
||||
#TODO: patterns patterns lcn - patterns/po SLE11
|
||||
#TODO: patterns-openSUSE patterns-openSUSE lcn - patterns-openSUSE/po SLE11
|
||||
#TODO: patterns-sled patterns-sled lcn - patterns-sled/po SLE11
|
||||
#TODO: patterns-sles patterns-sles lcn - patterns-sles/po SLE11
|
||||
pidgin pidgin lcn - pidgin/po SLE11
|
||||
pidgin-sipe pidgin-sipe lcn - pidgin-sipe/po SLE11
|
||||
#TODO: plasma_applet_networkmanager plasma_applet_networkmanager lcn - plasma_applet_networkmanager/po SLE11
|
||||
pm-profiler pm-profiler lcn - pm-profiler/po SLE11
|
||||
#TODO: policykit-kde policykit-kde lcn - policykit-kde/po SLE11
|
||||
#NA: power-management power-management lcn - power-management/po SLE11
|
||||
#NA: profile_chooser profile_chooser lcn - profile_chooser/po SLE11
|
||||
#TODO: release-notes-sled release-notes-sled lcn - release-notes-sled/po SLE11
|
||||
#DROPPED: resapplet resapplet lcn - resapplet/po SLE11
|
||||
#NA: rug rug lcn - rug/po SLE11
|
||||
sabayon sabayon lcn - sabayon/po SLE11
|
||||
#YAST: sax sax lcn - sax/po SLE11
|
||||
#NA: scpm_cli scpm_cli lcn - scpm_cli/po SLE11
|
||||
#NA: scpm_groups scpm_groups lcn - scpm_groups/po SLE11
|
||||
#NA: scpm_lib scpm_lib lcn - scpm_lib/po SLE11
|
||||
shared-mime-info shared-mime-info lcn - shared-mime-info/po SLE11
|
||||
simple-ccsm-kde simple-ccsm-kde lcn - simple-ccsm-kde/po SLE11
|
||||
#NA: slideshow slideshow lcn - slideshow/po SLE11
|
||||
#NA: slideshow-sled slideshow-sled lcn - slideshow-sled/po SLE11
|
||||
#NA: suseplugger suseplugger lcn - suseplugger/po SLE11
|
||||
#NA: susetranslations susetranslations lcn - susetranslations/po SLE11
|
||||
tomboy tomboy lcn - tomboy/po SLE11
|
||||
tsclient tsclient lcn - tsclient/po SLE11
|
||||
#TODO: update-desktop-files update-desktop-files lcn - update-desktop-files/po SLE11
|
||||
#TODO: update-desktop-files-apps update-desktop-files-apps lcn - update-desktop-files-apps/po SLE11
|
||||
#TODO: update-desktop-files-directories update-desktop-files-directories lcn - update-desktop-files-directories/po SLE11
|
||||
#TODO: update-desktop-files-kde update-desktop-files-kde lcn - update-desktop-files-kde/po SLE11
|
||||
#TODO: update-desktop-files-kde-services update-desktop-files-kde-services lcn - update-desktop-files-kde-services/po SLE11
|
||||
#TODO: update-desktop-files-screensavers update-desktop-files-screensavers lcn - update-desktop-files-screensavers/po SLE11
|
||||
#TODO: update-desktop-files-yast update-desktop-files-yast lcn - update-desktop-files-yast/po SLE11
|
||||
vmx-manager vmx-manager lcn - vmx-manager/po SLE11
|
||||
#NA: xen-vm-install xen-vm-install lcn - xen-vm-install/po SLE11
|
||||
#NA: ximian-artwork ximian-artwork lcn - ximian-artwork/po SLE11
|
||||
#NA: zen-updater zen-updater lcn - zen-updater/po SLE11
|
||||
#NA: zmd zmd lcn - zmd/po SLE11
|
||||
#NA: zypp zypp lcn - zypp/po SLE11
|
||||
zypper zypper lcn - zypper/po SLE11
|
3
misc.tlst
Normal file
3
misc.tlst
Normal file
@ -0,0 +1,3 @@
|
||||
# package domain method repository dir branch
|
||||
pam Linux-PAM cvs pam.cvs.sourceforge.net:/cvsroot/pam Linux-PAM/po
|
||||
pidgin pidgin tbz http://downloads.sourceforge.net/pidgin/pidgin-2.7.1.tar.bz2 pidgin-2.7.1/po
|
51
opensuse.tlst
Normal file
51
opensuse.tlst
Normal file
@ -0,0 +1,51 @@
|
||||
# Created by: svn co https://svn.berlios.de/svnroot/repos/opensuse-i18n/trunk/lcn/ ; find lcn -name *.po | while read ; do PO=${REPLY%.??.po} PO=${PO%.??_??.po} ; PO=${PO##*/} ; echo $PO ; done | sort -u | while read ; do grep "[[:space:]]$REPLY[[:space:]]" lcn.tlst ; done | sed 's/[[:space:]]*SLE11.*//' >opensuse.tlst
|
||||
# package domain method repository dir branch option
|
||||
apparmorapplet-gnome apparmorapplet lcn - apparmorapplet/po
|
||||
apparmor-parser apparmor-parser lcn - apparmor-parser/po
|
||||
apparmor-utils apparmor-utils lcn - apparmor-utils/po
|
||||
#NOTFOUND: bootloader bootloader lcn - bootloader/po
|
||||
#NOTFOUND: community-repositories community-repositories lcn - community-repositories/po
|
||||
cracklib cracklib lcn - cracklib/po
|
||||
#YAST: dialogsolver dialogsolver lcn - dialogsolver/po
|
||||
gnome-main-menu gnome-main-menu lcn - gnome-main-menu/po
|
||||
gnome-packagekit gnome-packagekit lcn - gnome-packagekit/po
|
||||
#TODO phase 2: gnome-patch-translation gnome-patch-translation lcn - gnome-patch-translation/po
|
||||
#NA: html-help-boot html-help-boot lcn - html-help-boot/po
|
||||
#NA: html-help-install html-help-install lcn - html-help-install/po
|
||||
#TODO: kde4-openSUSE kde4-openSUSE lcn - kde4-openSUSE/po
|
||||
#TODO: kfiledialog kfiledialog lcn - kfiledialog/po
|
||||
#TODO: kinternet kinternet lcn - kinternet/po
|
||||
#TODO: kio_sysinfo kio_sysinfo lcn - kio_sysinfo/po
|
||||
krb5-ticket-watcher krb5-ticket-watcher lcn - krb5-ticket-watcher/po
|
||||
#NA: krpmview krpmview lcn - krpmview/po
|
||||
#TODO: kupdateapplet kupdateapplet lcn - kupdateapplet/po
|
||||
libgnomesu libgnomesu-1.0 lcn - libgnomesu-1.0/po
|
||||
limal limal lcn - limal/po
|
||||
limal-apparmor-control limal-apparmor-control lcn - limal-apparmor-control/po
|
||||
limal-ca-mgm limal-ca-mgm lcn - limal-ca-mgm/po
|
||||
limal-nfs-server limal-nfs-server lcn - limal-nfs-server/po
|
||||
limal-runlevel limal-runlevel lcn - limal-runlevel/po
|
||||
linuxrc linuxrc lcn - linuxrc/po
|
||||
login login lcn - login/po
|
||||
#TODO: ooo-build ooo-build lcn - ooo-build/po
|
||||
#NA: opensuseupdater-gnome opensuseupdater-gnome lcn - opensuseupdater-gnome/po
|
||||
pam-config pam-config lcn - pam-config/po
|
||||
pam_krb5 pam_krb5 lcn - pam_krb5/po
|
||||
#NA: pam_pwcheck pam_pwcheck lcn - pam_pwcheck/po
|
||||
#NA: pam_unix2 pam_unix2 lcn - pam_unix2/po
|
||||
#TODO: patterns patterns lcn - patterns/po
|
||||
#YAST: sax sax lcn - sax/po
|
||||
simple-ccsm-kde simple-ccsm-kde lcn - simple-ccsm-kde/po
|
||||
#NA: slideshow slideshow lcn - slideshow/po
|
||||
#NA: SUSEgreeter SUSEgreeter lcn - SUSEgreeter/po
|
||||
#NA: susetranslations susetranslations lcn - susetranslations/po
|
||||
#TODO: update-desktop-files update-desktop-files lcn - update-desktop-files/po
|
||||
#TODO: update-desktop-files-apps update-desktop-files-apps lcn - update-desktop-files-apps/po
|
||||
#TODO: update-desktop-files-directories update-desktop-files-directories lcn - update-desktop-files-directories/po
|
||||
#TODO: update-desktop-files-kde update-desktop-files-kde lcn - update-desktop-files-kde/po
|
||||
#TODO: update-desktop-files-kde-services update-desktop-files-kde-services lcn - update-desktop-files-kde-services/po
|
||||
#TODO: update-desktop-files-screensavers update-desktop-files-screensavers lcn - update-desktop-files-screensavers/po
|
||||
#TODO: update-desktop-files-yast update-desktop-files-yast lcn - update-desktop-files-yast/po
|
||||
#NA: xen-vm-install xen-vm-install lcn - xen-vm-install/po
|
||||
#NA: zypp zypp lcn - zypp/po
|
||||
zypper zypper lcn - zypper/po
|
3
translation-update-mandatory-20100603.tar.bz2
Normal file
3
translation-update-mandatory-20100603.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0e1a9955bb7cbe1c23fbf75f5c439201ebf810f25fb0fed3f2fa6d2ed420ae37
|
||||
size 127
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:30e0f6b742862230c8f9c9dec70037a220f8827c6d404a4379c6d920bd94ef0e
|
||||
size 1864
|
3
translation-update-upstream-20100603.tar.bz2
Normal file
3
translation-update-upstream-20100603.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:16b7e841ceb73bd671ba310ecfaa91655945abb6ee245ad8af63ba08410a7af7
|
||||
size 5804401
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 4 12:47:12 CEST 2010 - sbrabec@suse.cz
|
||||
|
||||
- Added the latest upstream and LCN strings.
|
||||
- Ported fixes from SLE11-SP1:
|
||||
* Added support for custom pot generator.
|
||||
* Implemented suppport for LCN as a translation source.
|
||||
* Implemented mandatory sources with absolute precedence.
|
||||
* Symlinks to the new name: translation-update-tool.
|
||||
* Updated translation sources.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 2 18:35:28 CET 2010 - sbrabec@suse.cz
|
||||
|
||||
|
@ -5,7 +5,7 @@ shopt -s nullglob
|
||||
|
||||
if test "$1" = "--help" ; then
|
||||
echo "Upstream translation update tool works in top directory of unpacked source code."
|
||||
echo "Usage: $0 [translation_directory] [translation_domain]"
|
||||
echo "Usage: $0 [translation_directory] [translation_domain] [command to create pot file]"
|
||||
fi
|
||||
|
||||
# Update all known mechanisms to add language:
|
||||
@ -39,13 +39,18 @@ DOMAIN=$2
|
||||
|
||||
cd $DIR
|
||||
|
||||
if test -z "$DOMAIN" ; then
|
||||
intltool-update --pot
|
||||
if test -z "$3" ; then
|
||||
if test -z "$DOMAIN" ; then
|
||||
intltool-update --pot
|
||||
else
|
||||
intltool-update --gettext-package=$DOMAIN --pot
|
||||
fi
|
||||
else
|
||||
intltool-update --gettext-package=$DOMAIN --pot
|
||||
eval $3
|
||||
fi
|
||||
|
||||
POT_NOT_UNIQUE=false
|
||||
MISSING=true
|
||||
for POT in *.pot ; do
|
||||
if $POT_NOT_UNIQUE ; then
|
||||
echo "ERROR: Directory $DIR contains more than one .pot file."
|
||||
@ -62,8 +67,8 @@ for POT in *.pot ; do
|
||||
cp -a *.po $STRING_COLLECT_DIR/$DOMAIN
|
||||
else
|
||||
if test -d @DATADIR@/translation-update-upstream ; then
|
||||
if test -d @DATADIR@/translation-update-upstream/$DOMAIN ; then
|
||||
for PO_PATH in @DATADIR@/translation-update-upstream/$DOMAIN/*.po ; do
|
||||
if test -d @DATADIR@/translation-update-upstream/po/$DOMAIN ; then
|
||||
for PO_PATH in @DATADIR@/translation-update-upstream/po/$DOMAIN/*.po ; do
|
||||
PO=${PO_PATH##*/}
|
||||
LNG=${PO%.po}
|
||||
if test -f $PO ; then
|
||||
@ -87,7 +92,34 @@ for POT in *.pot ; do
|
||||
linguas_update
|
||||
fi
|
||||
done
|
||||
else
|
||||
MISSING=false
|
||||
fi
|
||||
if test -d @DATADIR@/translation-update-upstream/po-mandatory/$DOMAIN ; then
|
||||
for PO_PATH in @DATADIR@/translation-update-upstream/po-mandatory/$DOMAIN/*.po ; do
|
||||
PO=${PO_PATH##*/}
|
||||
LNG=${PO%.po}
|
||||
if test -f $PO ; then
|
||||
echo "Updating $PO using translation-update-upstream mandatory source."
|
||||
# PO_PATH is first: Update any string, even if it was already translated.
|
||||
# Swap $PO_PATH and $PO to disable this behavior.
|
||||
msgcat --use-first $PO_PATH $PO -o $PO.new
|
||||
# Return .po file notes that are not present in the update file.
|
||||
msgmerge --no-fuzzy-matching --compendium=$PO_PATH -o $PO.new2 $PO.new $POT
|
||||
# And finally, synthesize header that not change every time.
|
||||
if ! @LIBEXECDIR@/translation-update-upstream/msgheadermerge $PO $PO.new2 $PO.header --mergemode --continue ; then
|
||||
echo "WARNING: Mandatory update of $PO for $DOMAIN is older than data in package or upstream snapshot. Using anyway!"
|
||||
fi
|
||||
msgcat --use-first $PO.header $PO.new2 -o $PO
|
||||
rm $PO.new $PO.new2 $PO.header
|
||||
else
|
||||
echo "Adding $PO from translation-update-upstream mandatory source."
|
||||
cp -a $PO_PATH $PO
|
||||
linguas_update
|
||||
fi
|
||||
done
|
||||
MISSING=false
|
||||
fi
|
||||
if $MISSING ; then
|
||||
echo "WARNING: Missing $DOMAIN in translation-update-upstream configuration! No updates available."
|
||||
fi
|
||||
else
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package translation-update-upstream (Version 20100202)
|
||||
# spec file for package translation-update-upstream (Version 20100603)
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -21,9 +21,10 @@
|
||||
Name: translation-update-upstream
|
||||
License: GPLv2+
|
||||
Group: System/Localization
|
||||
Version: 20100202
|
||||
Version: 20100603
|
||||
Release: 1
|
||||
Summary: Tool for Translation Update from Upstream
|
||||
Provides: translation-update-tool
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source1: %{name}.in
|
||||
Source2: %{name}-AUTHORS
|
||||
@ -35,6 +36,7 @@ Source7: msgheadermerge-compose
|
||||
Source8: msgheadermerge-parse
|
||||
Source9: msgheadermerge-empty.pot
|
||||
Source10: %{name}-embedded-README
|
||||
Source11: translation-update-mandatory-%{version}.tar.bz2
|
||||
Patch: %{name}-embedded.patch
|
||||
# Files below are package maintainer tools, not used for package build:
|
||||
Source50: upstream-collect.sh
|
||||
@ -46,7 +48,11 @@ Source55: create-tlst.conf
|
||||
# Configuration files for package maintainer tools:
|
||||
Source60: upstream-gnome_gtp.tlst
|
||||
Source61: upstream-gnome_gtp.hook
|
||||
Source62: upstream-gnome-generic.tlst
|
||||
Source62: freedesktop_org.tlst
|
||||
Source63: lcn-sle.tlst
|
||||
Source64: lcn-sle.hook
|
||||
Source65: misc.tlst
|
||||
Source66: opensuse.tlst
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires: coreutils gettext-tools grep intltool sed
|
||||
BuildArch: noarch
|
||||
@ -69,7 +75,7 @@ Authors:
|
||||
Stanislav Brabec <sbrabec@suse.cz>
|
||||
|
||||
%prep
|
||||
%setup -q -a0 -c %{name}-%{version}
|
||||
%setup -q -a0 -a11 -c %{name}-%{version}
|
||||
cp -a %{S:1} translation-update-upstream.in
|
||||
cp -a %{S:2} AUTHORS
|
||||
cp -a %{S:3} COPYING
|
||||
@ -85,12 +91,17 @@ chmod +x translation-update-upstream-embedded.sh
|
||||
%build
|
||||
|
||||
%install
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir} $RPM_BUILD_ROOT%{_prefix}/lib/translation-update-upstream
|
||||
cp -a po $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} $RPM_BUILD_ROOT%{_prefix}/lib/translation-update-upstream
|
||||
cp -a po po-mandatory $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
install -d $RPM_BUILD_ROOT%{_bindir}
|
||||
install translation-update-upstream $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -m0755 msgheadermerge msgheadermerge-compose msgheadermerge-parse $RPM_BUILD_ROOT%{_prefix}/lib/translation-update-upstream/
|
||||
install -m0644 msgheadermerge-empty.pot $RPM_BUILD_ROOT%{_prefix}/lib/translation-update-upstream/
|
||||
ln -s translation-update-upstream $RPM_BUILD_ROOT%{_bindir}/translation-update-tool
|
||||
#
|
||||
# gnome-i18n says nds_FME is wrong, remove until upstream clearified that
|
||||
#
|
||||
rm -fv $RPM_BUILD_ROOT%{_datadir}/%{name}/po/*/nds?NFE.po
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
@ -1,8 +1,8 @@
|
||||
# upstream-collect.conf: Configuration for updating of translation-update-upstream package.
|
||||
#
|
||||
|
||||
# osc repository with packages
|
||||
OSC_REPOSITORY=openSUSE:Factory
|
||||
# osc repositories with packages (space separated list in parentheses, first takes precedence)
|
||||
OSC_REPOSITORIES=( openSUSE:Factory )
|
||||
|
||||
# osc server, empty for using of the osc default
|
||||
OSC_APIURL=
|
||||
|
@ -60,11 +60,7 @@ mkdir -p ~/.upstream-collect.tmp
|
||||
cat >~/.upstream-collect.tmp/translation-update-upstream <<EOF
|
||||
#!/bin/sh
|
||||
echo "Dummy translation-update-upstream for upstream-collect.sh. Skipping merge of old translations."
|
||||
if test -z "\$1" ; then
|
||||
touch po/.translation-update-upstream-implemented
|
||||
else
|
||||
touch "\$1"/.translation-update-upstream-implemented
|
||||
fi
|
||||
echo \${3:-intltool-update --gettext-package=\${2:-\$T_U_U_DOMAIN} --pot} >\${1:-po}/.translation-update-upstream-implemented
|
||||
EOF
|
||||
chmod +x ~/.upstream-collect.tmp/translation-update-upstream
|
||||
|
||||
@ -116,7 +112,7 @@ SERIAL=0
|
||||
for TLST in *.tlst ; do
|
||||
exec <$WORK_DIR/$TLST
|
||||
|
||||
while read PACKAGE DOMAIN METHOD REPO DIR BRANCH ; do
|
||||
while read PACKAGE DOMAIN METHOD REPO DIR BRANCH MANDATORY ; do
|
||||
|
||||
# Continue for empty lines and comments
|
||||
if test "${PACKAGE###}" != "$PACKAGE" ; then
|
||||
@ -125,9 +121,14 @@ for TLST in *.tlst ; do
|
||||
if test -z "$PACKAGE" ; then
|
||||
continue
|
||||
fi
|
||||
if test "$MANDATORY" = "mandatory" ; then
|
||||
MANDATORY=true
|
||||
else
|
||||
MANDATORY=false
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "$(tput setf 3)Processing: package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:-(default)}$(tput init)"
|
||||
echo "$(tput setf 3)Processing: package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:-(default)} mandatory=$MANDATORY$(tput init)"
|
||||
|
||||
# NOTE: Force a limitation: tlst rules for one package must be placed on contiguous line sequence
|
||||
if ! $DEBUG ; then
|
||||
@ -195,7 +196,7 @@ for TLST in *.tlst ; do
|
||||
fi
|
||||
RPMPKGDIR=$(echo $WORK_DIR/PACKAGES/$PACKAGE)
|
||||
cd $RPMPKGDIR
|
||||
rpmprep $PACKAGE.spec
|
||||
T_U_U_DOMAIN=$DOMAIN rpmprep $PACKAGE.spec
|
||||
else
|
||||
# During processing, builddir may contain incomplete po files:
|
||||
rm $WORK_DIR/STAMPS/$PACKAGE/.builddir_ok
|
||||
@ -208,18 +209,28 @@ for TLST in *.tlst ; do
|
||||
fi
|
||||
|
||||
cd $RPMPODIR
|
||||
if ! test -f .translation-update-upstream-implemented ; then
|
||||
echo "$RPMPODIR: Missing or incorrect translation-update-upstream in the spec file."
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: packaging error, package does not call translation-update-upstream properly"
|
||||
fi
|
||||
if intltool-update --gettext-package=$DOMAIN --pot ; then
|
||||
cp -a $DOMAIN.pot $WORK_DIR/pot/
|
||||
else
|
||||
if test -f $DOMAIN.pot ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: intltool-update error, continuing with original $DOMAIN.pot"
|
||||
if test -f .translation-update-upstream-implemented ; then
|
||||
if bash ./.translation-update-upstream-implemented ; then
|
||||
cp -a $DOMAIN.pot $WORK_DIR/pot/
|
||||
else
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: intltool-update error, no way to update"
|
||||
# translation-update-upstream is implemented but fails:
|
||||
if test -f $DOMAIN.pot ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: pot file update error, continuing with original $DOMAIN.pot"
|
||||
cp -a $DOMAIN.pot $WORK_DIR/pot/
|
||||
else
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: pot file update error, no way to update"
|
||||
mkdir -p $WORK_DIR/STAMPS/$PACKAGE/$DOMAIN/$METHOD/${REPO//[\/:.]/_}/$REPODIR/${BRANCH:-__HEAD__}
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "$RPMPODIR: Missing or incorrect translation-update-upstream in the spec file."
|
||||
# translation-update-upstream is implemented, try the default:
|
||||
if intltool-update --gettext-package=$DOMAIN --pot ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: packaging error, package does not call translation-update-upstream properly"
|
||||
cp -a $DOMAIN.pot $WORK_DIR/pot/
|
||||
else
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: packaging error, package does not call translation-update-upstream properly and intltool-update fails, no way to update"
|
||||
mkdir -p $WORK_DIR/STAMPS/$PACKAGE/$DOMAIN/$METHOD/${REPO//[\/:.]/_}/$REPODIR/${BRANCH:-__HEAD__}
|
||||
continue
|
||||
fi
|
||||
@ -290,6 +301,7 @@ for TLST in *.tlst ; do
|
||||
gimp20-tips ) GTP_NAME_BASE=gimp-tips ;;
|
||||
gnumeric-functions ) GTP_NAME_BASE=gnumeric-functions ;;
|
||||
gtk20-properties ) GTP_NAME_BASE=gtk+-properties ;;
|
||||
libgweather-locations ) GTP_NAME_BASE=locations ;;
|
||||
esac
|
||||
curl http://$REPO/${REPODIR%%/*}.${BRANCH:-master}/ | sed -n 's:^.*href="\([^"]*\.po\)".*$:\1:p' |
|
||||
while read ; do
|
||||
@ -311,6 +323,30 @@ for TLST in *.tlst ; do
|
||||
tar -zxf ${REPO##*/}
|
||||
cd $REPODIR
|
||||
;;
|
||||
lcn )
|
||||
if ! test -d $WORK_DIR/LCN-${BRANCH:-trunk} ; then
|
||||
mkdir $WORK_DIR/LCN-${BRANCH:-trunk}
|
||||
cd $WORK_DIR/LCN-${BRANCH:-trunk}
|
||||
if test "${BRANCH:-trunk}" = "trunk" ; then
|
||||
BRANCH_PATH="${BRANCH:-trunk}"
|
||||
else
|
||||
BRANCH_PATH="branches/$BRANCH"
|
||||
fi
|
||||
svn co https://svn.berlios.de/svnroot/repos/opensuse-i18n/$BRANCH_PATH/lcn
|
||||
for PO in lcn/*/po/*.po ; do
|
||||
LCN_LANG=${PO%/*}
|
||||
LCN_LANG=${LCN_LANG#lcn/}
|
||||
LCN_LANG=${LCN_LANG%%/*}
|
||||
LCN_DOMAIN=${PO##*/}
|
||||
LCN_DOMAIN=${LCN_DOMAIN%.$LCN_LANG.po}
|
||||
mkdir -p data/$LCN_DOMAIN
|
||||
ln $PO data/$LCN_DOMAIN/$LCN_LANG.po
|
||||
done
|
||||
cd -
|
||||
fi
|
||||
cp -a $WORK_DIR/LCN-${BRANCH:-trunk}/data/${REPODIR%/po} .
|
||||
cd ${REPODIR%/po}
|
||||
;;
|
||||
* )
|
||||
echo "$PACKAGE: Unknown update method $METHOD"
|
||||
exit 1
|
||||
@ -337,101 +373,118 @@ for TLST in *.tlst ; do
|
||||
# foo-updates.po: fixes + additions in a single file, clean form with an useful header (this file will be copied to UPDATE/)
|
||||
#
|
||||
for PO in *.po ; do
|
||||
# step 0: Merge new po file into old project. Removes unused (too new) translations.
|
||||
if ! msgmerge --no-fuzzy-matching $PO $RPMPODIR/$DOMAIN.pot -o ${PO%.po}-backport.po ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)} po=$PO: msgmerge error"
|
||||
continue
|
||||
fi
|
||||
if test -f $RPMPODIR/$PO ; then
|
||||
# step 1: Clean the RPM po file to be safe.
|
||||
if ! msgmerge --no-fuzzy-matching $RPMPODIR/$PO $RPMPODIR/$DOMAIN.pot -o $RPMPODIR/${PO%.po}-downstream.po ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN directory=$RPMPODIR po=$PO: package msgmerge error"
|
||||
# Failed initial msgmerge is fatal. There is no way to update. Build may fail.
|
||||
continue
|
||||
fi
|
||||
# Do the magic:
|
||||
# step 2: Merge new upstream po and previous upstream updates to RPM po (if any).
|
||||
OLD_UPDATE=false
|
||||
if test -f $WORK_DIR/UPDATE/po/$DOMAIN/$PO ; then
|
||||
if $WORK_DIR/msgheadermerge $WORK_DIR/UPDATE/po/$DOMAIN/$PO $PO ${PO%.po}-uheader.po --mergemode --continue ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN directory=$RPMPODIR po=$PO: old po file, skipping fixes"
|
||||
OLD_UPDATE=true
|
||||
fi
|
||||
msgcat --force-po --use-first ${PO%.po}-uheader.po ${PO%.po}-backport.po $WORK_DIR/UPDATE/po/$DOMAIN/$PO -o ${PO%.po}-upstream.po
|
||||
if $MANDATORY ; then
|
||||
# Mandatory sources: copy the whole source to the mandatory po directory. Strings must not be skipped.
|
||||
mkdir -p $WORK_DIR/UPDATE/po-mandatory/$DOMAIN
|
||||
if test -f $WORK_DIR/UPDATE/po-mandatory/$DOMAIN/$PO ; then
|
||||
msgcat --use-first $PO $WORK_DIR/UPDATE/po-mandatory/$DOMAIN/$PO -o $WORK_DIR/UPDATE/po-mandatory/$DOMAIN/$PO~
|
||||
mv $WORK_DIR/UPDATE/po-mandatory/$DOMAIN/$PO~ $WORK_DIR/UPDATE/po-mandatory/$DOMAIN/$PO
|
||||
else
|
||||
cp -a ${PO%.po}-backport.po ${PO%.po}-upstream.po
|
||||
fi
|
||||
# step 3: Join both translations, without --use-first string changes will disappear as fuzzy.
|
||||
msgcat --force-po ${PO%.po}-upstream.po $RPMPODIR/${PO%.po}-downstream.po -o ${PO%.po}-allfz.po
|
||||
msgcat --use-first --force-po ${PO%.po}-upstream.po $RPMPODIR/${PO%.po}-downstream.po -o ${PO%.po}-all.po
|
||||
# step 4: Find string fixes (existed before, now different).
|
||||
msgcat --force-po --unique ${PO%.po}-all.po ${PO%.po}-allfz.po -o ${PO%.po}-fixes.po
|
||||
# step 5: Find newly translated strings (translation removal is not supported).
|
||||
msgcat --force-po --unique $RPMPODIR/${PO%.po}-downstream.po ${PO%.po}-all.po -o ${PO%.po}-additions.po
|
||||
# step 6: Join both to collect all known fixes.
|
||||
if $OLD_UPDATE ; then
|
||||
# If the update has an old time stamp, don't include fixes. Use just additions.
|
||||
msgcat ${PO%.po}-additions.po -o $RPMPODIR/${PO%.po}-updatesraw.po
|
||||
else
|
||||
msgcat ${PO%.po}-fixes.po ${PO%.po}-additions.po -o $RPMPODIR/${PO%.po}-updatesraw.po
|
||||
fi
|
||||
# Are there any updated? If no, game over.
|
||||
if test -f $RPMPODIR/${PO%.po}-updatesraw.po ; then
|
||||
# step 7: Compose the best po file header.
|
||||
$WORK_DIR/msgheadermerge $RPMPODIR/$PO ${PO%.po}-upstream.po ${PO%.po}-header.po --newdate
|
||||
# step 8: And yet another ugly game to get rid commented out garbage.
|
||||
sed '/#~/d' <$RPMPODIR/${PO%.po}-updatesraw.po >$RPMPODIR/${PO%.po}-updates.po~
|
||||
# step 9: Merge correct header to the updates file.
|
||||
msgcat --no-location --use-first ${PO%.po}-header.po $RPMPODIR/${PO%.po}-updates.po~ -o $RPMPODIR/${PO%.po}-updates.po
|
||||
fi
|
||||
# step 10: Prepare texts for review. We created them in previous steps, but files need cleanup.
|
||||
if test -f ${PO%.po}-header.po ; then
|
||||
if test -f ${PO%.po}-additions.po ; then
|
||||
sed -i '/#~/d' ${PO%.po}-additions.po
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/additions
|
||||
msgcat --use-first ${PO%.po}-header.po ${PO%.po}-additions.po -o $WORK_DIR/po-review/${PO%.po}/additions/$DOMAIN.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/additions
|
||||
fi
|
||||
if test -f ${PO%.po}-fixes.po ; then
|
||||
sed -i '/#~/d' ${PO%.po}-fixes.po
|
||||
msgcat --use-first ${PO%.po}-header.po ${PO%.po}-fixes.po -o ${PO%.po}-fixes-clean.po
|
||||
fi
|
||||
if test -f ${PO%.po}-fixes-clean.po ; then
|
||||
msgmerge ${PO%.po}-allfz.po ${PO%.po}-fixes-clean.po -o ${PO%.po}-fixes-review.po~
|
||||
sed -i '/#~/d' ${PO%.po}-fixes-review.po~
|
||||
msgcat ${PO%.po}-fixes-review.po~ -o ${PO%.po}-fixes-review.po
|
||||
if $OLD_UPDATE ; then
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR
|
||||
cp -a ${PO%.po}-fixes-clean.po $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR/$DOMAIN.po
|
||||
cp -a ${PO%.po}-fixes-review.po $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR/$DOMAIN-review.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR
|
||||
if test -d $WORK_DIR/po-review/${PO%.po}/excluded-changes ; then
|
||||
echo -e "Excluded changes contains changes introduced by upstream po files with\ntime stamp older than our package." >$WORK_DIR/po-review/${PO%.po}/excluded-changes/README
|
||||
fi
|
||||
else
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/changes
|
||||
cp -a ${PO%.po}-fixes-clean.po $WORK_DIR/po-review/${PO%.po}/changes/$DOMAIN.po
|
||||
cp -a ${PO%.po}-fixes-review.po $WORK_DIR/po-review/${PO%.po}/changes/$DOMAIN-review.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/changes
|
||||
fi
|
||||
fi
|
||||
msgcat $PO -o $WORK_DIR/UPDATE/po-mandatory/$DOMAIN/$PO
|
||||
fi
|
||||
else
|
||||
# If backport was empty, no file was generated.
|
||||
if test -f ${PO%.po}-backport.po ; then
|
||||
# step 1: Merge new po and previous updates (if any).
|
||||
sed -i '/#~/d' ${PO%.po}-backport.po
|
||||
if test -f ${PO%.po}-updates.po ; then
|
||||
msgcat --force-po --use-first ${PO%.po}-backport.po $RPMPODIR/${PO%.po}-updates.po -o ${PO%.po}-updates.po~
|
||||
mv ${PO%.po}-updates.po~ ${PO%.po}-updates.po
|
||||
else
|
||||
# To get surely a valid po file, use msgcat instead of cp.
|
||||
msgcat ${PO%.po}-backport.po -o ${PO%.po}-updates.po
|
||||
# step 0: Merge new po file into old project. Removes unused (too new) translations.
|
||||
if ! msgmerge --no-fuzzy-matching $PO $RPMPODIR/$DOMAIN.pot -o ${PO%.po}-backport.po ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)} po=$PO: msgmerge error"
|
||||
continue
|
||||
fi
|
||||
if test -f $RPMPODIR/$PO ; then
|
||||
# step 1: Clean the RPM po file to be safe.
|
||||
if ! msgmerge --no-fuzzy-matching $RPMPODIR/$PO $RPMPODIR/$DOMAIN.pot -o $RPMPODIR/${PO%.po}-downstream.po ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN repository=$REPO directory=$RPMPODIR branch=${BRANCH:(default)} po=$PO: package msgmerge error"
|
||||
# Failed initial msgmerge is fatal. There is no way to update. Build may fail.
|
||||
continue
|
||||
fi
|
||||
# Do the magic:
|
||||
# step 2: Merge new upstream po and previous upstream updates to RPM po (if any).
|
||||
OLD_UPDATE=false
|
||||
if test -f $WORK_DIR/UPDATE/po/$DOMAIN/$PO ; then
|
||||
if $WORK_DIR/msgheadermerge $WORK_DIR/UPDATE/po/$DOMAIN/$PO $PO ${PO%.po}-uheader.po --mergemode --continue ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN repository=$REPO directory=$RPMPODIR branch=${BRANCH:(default)} po=$PO: old po file, skipping fixes"
|
||||
OLD_UPDATE=true
|
||||
fi
|
||||
msgcat --force-po --use-first ${PO%.po}-uheader.po ${PO%.po}-backport.po $WORK_DIR/UPDATE/po/$DOMAIN/$PO -o ${PO%.po}-upstream.po
|
||||
else
|
||||
cp -a ${PO%.po}-backport.po ${PO%.po}-upstream.po
|
||||
fi
|
||||
# step 3: Join both translations, without --use-first string changes will disappear as fuzzy.
|
||||
msgcat --force-po ${PO%.po}-upstream.po $RPMPODIR/${PO%.po}-downstream.po -o ${PO%.po}-allfz.po
|
||||
msgcat --use-first --force-po ${PO%.po}-upstream.po $RPMPODIR/${PO%.po}-downstream.po -o ${PO%.po}-all.po
|
||||
# step 4: Find string fixes (existed before, now different).
|
||||
msgcat --force-po --unique ${PO%.po}-all.po ${PO%.po}-allfz.po -o ${PO%.po}-fixes.po
|
||||
# step 5: Find newly translated strings (translation removal is not supported).
|
||||
msgcat --force-po --unique $RPMPODIR/${PO%.po}-downstream.po ${PO%.po}-all.po -o ${PO%.po}-additions.po
|
||||
# step 6: Join both to collect all known fixes.
|
||||
if $OLD_UPDATE ; then
|
||||
# If the update has an old time stamp, don't include fixes. Use just additions.
|
||||
msgcat ${PO%.po}-additions.po -o $RPMPODIR/${PO%.po}-updatesraw.po
|
||||
else
|
||||
msgcat ${PO%.po}-fixes.po ${PO%.po}-additions.po -o $RPMPODIR/${PO%.po}-updatesraw.po
|
||||
fi
|
||||
# Are there any updated? If no, game over.
|
||||
if test -f $RPMPODIR/${PO%.po}-updatesraw.po ; then
|
||||
# step 7: Compose the best po file header.
|
||||
$WORK_DIR/msgheadermerge $RPMPODIR/$PO ${PO%.po}-upstream.po ${PO%.po}-header.po --newdate
|
||||
# step 8: And yet another ugly game to get rid commented out garbage.
|
||||
sed '/#~/d' <$RPMPODIR/${PO%.po}-updatesraw.po >$RPMPODIR/${PO%.po}-updates.po~
|
||||
# step 9: Merge correct header to the updates file.
|
||||
msgcat --no-location --use-first ${PO%.po}-header.po $RPMPODIR/${PO%.po}-updates.po~ -o $RPMPODIR/${PO%.po}-updates.po
|
||||
fi
|
||||
# step 10: Prepare texts for review. We created them in previous steps, but files need cleanup.
|
||||
if test -f ${PO%.po}-header.po ; then
|
||||
if test -f ${PO%.po}-additions.po ; then
|
||||
sed -i '/#~/d' ${PO%.po}-additions.po
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/additions
|
||||
msgcat --use-first ${PO%.po}-header.po ${PO%.po}-additions.po -o $WORK_DIR/po-review/${PO%.po}/additions/$DOMAIN.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/additions
|
||||
fi
|
||||
if test -f ${PO%.po}-fixes.po ; then
|
||||
sed -i '/#~/d' ${PO%.po}-fixes.po
|
||||
msgcat --use-first ${PO%.po}-header.po ${PO%.po}-fixes.po -o ${PO%.po}-fixes-clean.po
|
||||
fi
|
||||
if test -f ${PO%.po}-fixes-clean.po ; then
|
||||
msgmerge ${PO%.po}-allfz.po ${PO%.po}-fixes-clean.po -o ${PO%.po}-fixes-review.po~
|
||||
sed -i '/#~/d' ${PO%.po}-fixes-review.po~
|
||||
msgcat ${PO%.po}-fixes-review.po~ -o ${PO%.po}-fixes-review.po
|
||||
if $OLD_UPDATE ; then
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR
|
||||
cp -a ${PO%.po}-fixes-clean.po $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR/$DOMAIN.po
|
||||
cp -a ${PO%.po}-fixes-review.po $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR/$DOMAIN-review.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/excluded-changes/${REPO//[\/:.]/_}/$REPODIR
|
||||
if test -d $WORK_DIR/po-review/${PO%.po}/excluded-changes ; then
|
||||
echo -e "Excluded changes contains changes introduced by upstream po files with\ntime stamp older than our package." >$WORK_DIR/po-review/${PO%.po}/excluded-changes/README
|
||||
fi
|
||||
else
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/changes
|
||||
cp -a ${PO%.po}-fixes-clean.po $WORK_DIR/po-review/${PO%.po}/changes/$DOMAIN.po
|
||||
cp -a ${PO%.po}-fixes-review.po $WORK_DIR/po-review/${PO%.po}/changes/$DOMAIN-review.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/changes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# If backport was empty, no file was generated.
|
||||
if test -f ${PO%.po}-backport.po ; then
|
||||
# step 1: Merge new po and previous updates (if any).
|
||||
sed -i '/#~/d' ${PO%.po}-backport.po
|
||||
if test -f $RPMPODIR/${PO%.po}-updates.po ; then
|
||||
if ! msgcat --force-po --use-first ${PO%.po}-backport.po $RPMPODIR/${PO%.po}-updates.po -o $RPMPODIR/${PO%.po}-updates.po~ ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)} po=$PO: msgcat error"
|
||||
continue
|
||||
fi
|
||||
mv $RPMPODIR/${PO%.po}-updates.po~ $RPMPODIR/${PO%.po}-updates.po
|
||||
else
|
||||
# To get surely a valid po file, use msgcat instead of cp.
|
||||
if ! msgcat ${PO%.po}-backport.po -o $RPMPODIR/${PO%.po}-updates.po ; then
|
||||
echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE gettext-package=$DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)} po=$PO: msgcat error"
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
# step 2: Prepare texts for review.
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/new-files
|
||||
cp -a $RPMPODIR/${PO%.po}-updates.po $WORK_DIR/po-review/${PO%.po}/new-files/$DOMAIN.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/new-files
|
||||
fi
|
||||
# step 2: Prepare texts for review.
|
||||
mkdir -p $WORK_DIR/po-review/${PO%.po}/new-files
|
||||
cp -a ${PO%.po}-updates.po $WORK_DIR/po-review/${PO%.po}/new-files/$DOMAIN.po
|
||||
rmdir --ignore-fail-on-non-empty --parents $WORK_DIR/po-review/${PO%.po}/new-files
|
||||
fi
|
||||
fi
|
||||
done
|
||||
@ -461,7 +514,12 @@ if ! $DEBUG ; then
|
||||
fi
|
||||
|
||||
cd $WORK_DIR/UPDATE
|
||||
tar -j -c -f $WORK_DIR/translation-update-upstream-$SNAPSHOT.tar.bz2 po
|
||||
if test -d po ; then
|
||||
tar -j -c -f $WORK_DIR/translation-update-upstream-$SNAPSHOT.tar.bz2 po
|
||||
fi
|
||||
if test -d po-mandatory ; then
|
||||
tar -j -c -f $WORK_DIR/translation-update-mandatory-$SNAPSHOT.tar.bz2 po-mandatory
|
||||
fi
|
||||
|
||||
cd $WORK_DIR
|
||||
if ! $DEBUG ; then
|
||||
|
@ -1,77 +1,80 @@
|
||||
# Manually added new items on Fri Jan 8 17:31:43 CET 2010.
|
||||
# This file was generated Tue Oct 27 15:31:01 CET 2009 by create-tlst-step2-create-gnome_gtp.sh.
|
||||
# This file was generated Tue Jun 1 18:22:42 CEST 2010 by create-tlst-step2-create-gnome_gtp.sh.
|
||||
# package domain method repository dir branch
|
||||
NetworkManager NetworkManager gtp l10n.gnome.org/POT NetworkManager/po
|
||||
NetworkManager-gnome nm-applet gtp l10n.gnome.org/POT network-manager-applet/po
|
||||
PackageKit PackageKit gtp l10n.gnome.org/POT packagekit/po
|
||||
PolicyKit-gnome PolicyKit-gnome gtp l10n.gnome.org/POT PolicyKit-gnome/po
|
||||
accerciser accerciser gtp l10n.gnome.org/POT accerciser/po gnome-2-30
|
||||
accerciser accerciser gtp l10n.gnome.org/POT accerciser/po
|
||||
alacarte alacarte gtp l10n.gnome.org/POT alacarte/po gnome-2-28
|
||||
alacarte alacarte gtp l10n.gnome.org/POT alacarte/po
|
||||
anjuta anjuta gtp l10n.gnome.org/POT anjuta/po gnome-2-28
|
||||
anjuta anjuta gtp l10n.gnome.org/POT anjuta/po gnome-2-30
|
||||
anjuta anjuta gtp l10n.gnome.org/POT anjuta/po
|
||||
at-spi at-spi gtp l10n.gnome.org/POT at-spi/po gnome-2-28
|
||||
anjuta-extras anjuta-extras gtp l10n.gnome.org/POT anjuta-extras/po
|
||||
at-spi at-spi gtp l10n.gnome.org/POT at-spi/po gnome-2-30
|
||||
at-spi at-spi gtp l10n.gnome.org/POT at-spi/po
|
||||
atk atk10 gtp l10n.gnome.org/POT atk/po gnome-2-28
|
||||
atk atk10 gtp l10n.gnome.org/POT atk/po gnome-2-30
|
||||
atk atk10 gtp l10n.gnome.org/POT atk/po
|
||||
avahi avahi gtp l10n.gnome.org/POT avahi/po
|
||||
balsa balsa gtp l10n.gnome.org/POT balsa/po
|
||||
banshee-1 banshee-1 gtp l10n.gnome.org/POT banshee/po
|
||||
beagle beagle gtp l10n.gnome.org/POT beagle/po
|
||||
brasero brasero gtp l10n.gnome.org/POT brasero/po gnome-2-28
|
||||
brasero brasero gtp l10n.gnome.org/POT brasero/po gnome-2-30
|
||||
brasero brasero gtp l10n.gnome.org/POT brasero/po
|
||||
bug-buddy bug-buddy gtp l10n.gnome.org/POT bug-buddy/po gnome-2-28
|
||||
bug-buddy bug-buddy gtp l10n.gnome.org/POT bug-buddy/po
|
||||
cheese cheese gtp l10n.gnome.org/POT cheese/po gnome-2-28
|
||||
byzanz byzanz gtp l10n.gnome.org/POT byzanz/po
|
||||
cheese cheese gtp l10n.gnome.org/POT cheese/po
|
||||
conduit conduit gtp l10n.gnome.org/POT conduit/po
|
||||
# broken:
|
||||
#conglomerate conglomerate gtp l10n.gnome.org/POT conglomerate/po
|
||||
conglomerate conglomerate gtp l10n.gnome.org/POT conglomerate/po
|
||||
contact-lookup-applet contact-lookup-applet gtp l10n.gnome.org/POT contact-lookup-applet/po
|
||||
dasher dasher gtp l10n.gnome.org/POT dasher/po gnome-2-28
|
||||
dasher dasher gtp l10n.gnome.org/POT dasher/po gnome-2-30
|
||||
dasher dasher gtp l10n.gnome.org/POT dasher/po
|
||||
deskbar-applet deskbar-applet gtp l10n.gnome.org/POT deskbar-applet/po
|
||||
devhelp devhelp gtp l10n.gnome.org/POT devhelp/po gnome-2-28
|
||||
devhelp devhelp gtp l10n.gnome.org/POT devhelp/po
|
||||
devilspie devilspie gtp l10n.gnome.org/POT devilspie/po
|
||||
dia dia gtp l10n.gnome.org/POT dia/po
|
||||
ekiga ekiga gtp l10n.gnome.org/POT ekiga/po
|
||||
empathy empathy gtp l10n.gnome.org/POT empathy/po gnome-2-28
|
||||
empathy empathy gtp l10n.gnome.org/POT empathy/po gnome-2-30
|
||||
empathy empathy gtp l10n.gnome.org/POT empathy/po
|
||||
eog eog gtp l10n.gnome.org/POT eog/po gnome-2-28
|
||||
eog eog gtp l10n.gnome.org/POT eog/po gnome-2-30
|
||||
eog eog gtp l10n.gnome.org/POT eog/po
|
||||
epiphany epiphany gtp l10n.gnome.org/POT epiphany/po gnome-2-28
|
||||
eog-plugins eog-plugins gtp l10n.gnome.org/POT eog-plugins/po
|
||||
epiphany epiphany gtp l10n.gnome.org/POT epiphany/po gnome-2-30
|
||||
epiphany epiphany gtp l10n.gnome.org/POT epiphany/po
|
||||
epiphany-extensions epiphany-extensions-2.28 gtp l10n.gnome.org/POT epiphany-extensions/po gnome-2-28
|
||||
epiphany-extensions epiphany-extensions-2.28 gtp l10n.gnome.org/POT epiphany-extensions/po
|
||||
evince evince gtp l10n.gnome.org/POT evince/po gnome-2-28
|
||||
epiphany-extensions epiphany-extensions-2.29 gtp l10n.gnome.org/POT epiphany-extensions/po
|
||||
# Two lines added manually:
|
||||
epiphany-extensions epiphany-extensions-2.30 gtp l10n.gnome.org/POT epiphany-extensions/po gnome-2-30
|
||||
epiphany-extensions epiphany-extensions-2.30 gtp l10n.gnome.org/POT epiphany-extensions/po
|
||||
evince evince gtp l10n.gnome.org/POT evince/po gnome-2-30
|
||||
evince evince gtp l10n.gnome.org/POT evince/po
|
||||
evolution evolution-2.28 gtp l10n.gnome.org/POT evolution/po gnome-2-28
|
||||
evolution evolution-2.28 gtp l10n.gnome.org/POT evolution/po
|
||||
evolution-data-server evolution-data-server-2.28 gtp l10n.gnome.org/POT evolution-data-server/po gnome-2-28
|
||||
evolution-data-server evolution-data-server-2.28 gtp l10n.gnome.org/POT evolution-data-server/po
|
||||
evolution-exchange evolution-exchange-2.28 gtp l10n.gnome.org/POT evolution-exchange/po gnome-2-28
|
||||
evolution-exchange evolution-exchange-2.28 gtp l10n.gnome.org/POT evolution-exchange/po
|
||||
evolution evolution-2.30 gtp l10n.gnome.org/POT evolution/po gnome-2-30
|
||||
evolution evolution-2.30 gtp l10n.gnome.org/POT evolution/po
|
||||
evolution-data-server evolution-data-server-2.30 gtp l10n.gnome.org/POT evolution-data-server/po gnome-2-30
|
||||
evolution-data-server evolution-data-server-2.30 gtp l10n.gnome.org/POT evolution-data-server/po
|
||||
evolution-exchange evolution-exchange-2.30 gtp l10n.gnome.org/POT evolution-exchange/po gnome-2-30
|
||||
evolution-exchange evolution-exchange-2.30 gtp l10n.gnome.org/POT evolution-exchange/po
|
||||
evolution-webcal evolution-webcal gtp l10n.gnome.org/POT evolution-webcal/po gnome-2-30
|
||||
evolution-webcal evolution-webcal gtp l10n.gnome.org/POT evolution-webcal/po
|
||||
f-spot f-spot gtp l10n.gnome.org/POT f-spot/po
|
||||
file-roller file-roller gtp l10n.gnome.org/POT file-roller/po gnome-2-28
|
||||
file-roller file-roller gtp l10n.gnome.org/POT file-roller/po gnome-2-30
|
||||
file-roller file-roller gtp l10n.gnome.org/POT file-roller/po
|
||||
gDesklets gdesklets gtp l10n.gnome.org/POT gdesklets/po
|
||||
gbrainy gbrainy gtp l10n.gnome.org/POT gbrainy/po
|
||||
gcalctool gcalctool gtp l10n.gnome.org/POT gcalctool/po gnome-2-28
|
||||
gcalctool gcalctool gtp l10n.gnome.org/POT gcalctool/po gnome-2-30
|
||||
gcalctool gcalctool gtp l10n.gnome.org/POT gcalctool/po
|
||||
gconf-editor gconf-editor gtp l10n.gnome.org/POT gconf-editor/po gnome-2-28
|
||||
gconf-editor gconf-editor gtp l10n.gnome.org/POT gconf-editor/po
|
||||
gconf2 GConf2 gtp l10n.gnome.org/POT gconf/po gnome-2-28
|
||||
gconf2 GConf2 gtp l10n.gnome.org/POT gconf/po gnome-2-30
|
||||
gconf2 GConf2 gtp l10n.gnome.org/POT gconf/po
|
||||
gdl gdl-1 gtp l10n.gnome.org/POT gdl/po gnome-2-28
|
||||
gdl gdl-1 gtp l10n.gnome.org/POT gdl/po gnome-2-30
|
||||
gdl gdl-1 gtp l10n.gnome.org/POT gdl/po
|
||||
gdm gdm gtp l10n.gnome.org/POT gdm/po gnome-2-28
|
||||
gdm gdm gtp l10n.gnome.org/POT gdm/po gnome-2-30
|
||||
gdm gdm gtp l10n.gnome.org/POT gdm/po
|
||||
gedit gedit gtp l10n.gnome.org/POT gedit/po gnome-2-28
|
||||
gedit gedit gtp l10n.gnome.org/POT gedit/po gnome-2-30
|
||||
gedit gedit gtp l10n.gnome.org/POT gedit/po
|
||||
gftp gftp gtp l10n.gnome.org/POT gftp/po
|
||||
gedit-plugins gedit-plugins gtp l10n.gnome.org/POT gedit-plugins/po gnome-2-30
|
||||
gedit-plugins gedit-plugins gtp l10n.gnome.org/POT gedit-plugins/po
|
||||
genius genius gtp l10n.gnome.org/POT genius/po
|
||||
ghex ghex-2.0 gtp l10n.gnome.org/POT ghex/po
|
||||
giggle giggle gtp l10n.gnome.org/POT giggle/po
|
||||
gimp gimp20 gtp l10n.gnome.org/POT gimp/po gimp-2-6
|
||||
gimp gimp20 gtp l10n.gnome.org/POT gimp/po
|
||||
gimp gimp20-libgimp gtp l10n.gnome.org/POT gimp/po-libgimp gimp-2-6
|
||||
@ -85,63 +88,62 @@ gimp gimp20-std-plug-ins gtp l10n.gnome.org/POT
|
||||
gimp gimp20-tips gtp l10n.gnome.org/POT gimp/po-tips gimp-2-6
|
||||
gimp gimp20-tips gtp l10n.gnome.org/POT gimp/po-tips
|
||||
gimp-gap gimp20-gap gtp l10n.gnome.org/POT gimp-gap/po
|
||||
gitg gitg gtp l10n.gnome.org/POT gitg/po
|
||||
glabels glabels gtp l10n.gnome.org/POT glabels/po
|
||||
glade3 glade3 gtp l10n.gnome.org/POT glade3/po gnome-2-28
|
||||
glade3 glade3 gtp l10n.gnome.org/POT glade3/po
|
||||
glib2 glib20 gtp l10n.gnome.org/POT glib/po glib-2-24
|
||||
glib2 glib20 gtp l10n.gnome.org/POT glib/po
|
||||
gnome-applets gnome-applets-2.0 gtp l10n.gnome.org/POT gnome-applets/po gnome-2-28
|
||||
gnome-applets gnome-applets-2.0 gtp l10n.gnome.org/POT gnome-applets/po gnome-2-30
|
||||
gnome-applets gnome-applets-2.0 gtp l10n.gnome.org/POT gnome-applets/po
|
||||
gnome-backgrounds gnome-backgrounds gtp l10n.gnome.org/POT gnome-backgrounds/po
|
||||
gnome-blog gnome-blog gtp l10n.gnome.org/POT gnome-blog/po
|
||||
gnome-bluetooth gnome-bluetooth2 gtp l10n.gnome.org/POT gnome-bluetooth/po gnome-2-28
|
||||
gnome-bluetooth gnome-bluetooth2 gtp l10n.gnome.org/POT gnome-bluetooth/po gnome-2-30
|
||||
gnome-bluetooth gnome-bluetooth2 gtp l10n.gnome.org/POT gnome-bluetooth/po
|
||||
gnome-color-manager gnome-color-manager gtp l10n.gnome.org/POT gnome-color-manager/po
|
||||
gnome-commander gnome-commander gtp l10n.gnome.org/POT gnome-commander/po
|
||||
gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po gnome-2-28
|
||||
gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po gnome-2-30
|
||||
gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po
|
||||
gnome-desktop gnome-desktop-2.0 gtp l10n.gnome.org/POT gnome-desktop/po gnome-2-28
|
||||
gnome-desktop gnome-desktop-2.0 gtp l10n.gnome.org/POT gnome-desktop/po gnome-2-30
|
||||
gnome-desktop gnome-desktop-2.0 gtp l10n.gnome.org/POT gnome-desktop/po
|
||||
gnome-doc-utils gnome-doc-utils gtp l10n.gnome.org/POT gnome-doc-utils/po gnome-2-28
|
||||
gnome-doc-utils gnome-doc-utils gtp l10n.gnome.org/POT gnome-doc-utils/po
|
||||
gnome-games gnome-games gtp l10n.gnome.org/POT gnome-games/po gnome-2-28
|
||||
gnome-games gnome-games gtp l10n.gnome.org/POT gnome-games/po
|
||||
gnome-keyring gnome-keyring gtp l10n.gnome.org/POT gnome-keyring/po gnome-2-28
|
||||
gnome-keyring gnome-keyring gtp l10n.gnome.org/POT gnome-keyring/po
|
||||
gnome-mag gnome-mag gtp l10n.gnome.org/POT gnome-mag/po gnome-2-28
|
||||
gnome-mag gnome-mag gtp l10n.gnome.org/POT gnome-mag/po gnome-2-30
|
||||
gnome-mag gnome-mag gtp l10n.gnome.org/POT gnome-mag/po
|
||||
gnome-main-menu gnome-main-menu gtp l10n.gnome.org/POT gnome-main-menu/po
|
||||
gnome-media gnome-media-2.0 gtp l10n.gnome.org/POT gnome-media/po gnome-2-30
|
||||
gnome-media gnome-media-2.0 gtp l10n.gnome.org/POT gnome-media/po
|
||||
gnome-menus gnome-menus gtp l10n.gnome.org/POT gnome-menus/po
|
||||
gnome-mount gnome-mount gtp l10n.gnome.org/POT gnome-mount/po
|
||||
gnome-netstatus gnome-netstatus gtp l10n.gnome.org/POT gnome-netstatus/po
|
||||
gnome-nettool gnome-nettool gtp l10n.gnome.org/POT gnome-nettool/po
|
||||
gnome-packagekit gnome-packagekit gtp l10n.gnome.org/POT gnome-packagekit/po gnome-2-30
|
||||
gnome-packagekit gnome-packagekit gtp l10n.gnome.org/POT gnome-packagekit/po
|
||||
gnome-panel gnome-panel-2.0 gtp l10n.gnome.org/POT gnome-panel/po
|
||||
gnome-pilot gnome-pilot gtp l10n.gnome.org/POT gnome-pilot/po
|
||||
gnome-pilot-conduits gnome-pilot-conduits gtp l10n.gnome.org/POT gnome-pilot-conduits/po
|
||||
gnome-power-manager gnome-power-manager gtp l10n.gnome.org/POT gnome-power-manager/po gnome-2-28
|
||||
gnome-power-manager gnome-power-manager gtp l10n.gnome.org/POT gnome-power-manager/po gnome-2-30
|
||||
gnome-power-manager gnome-power-manager gtp l10n.gnome.org/POT gnome-power-manager/po
|
||||
gnome-screensaver gnome-screensaver gtp l10n.gnome.org/POT gnome-screensaver/po gnome-2-28
|
||||
gnome-screensaver gnome-screensaver gtp l10n.gnome.org/POT gnome-screensaver/po gnome-2-30
|
||||
gnome-screensaver gnome-screensaver gtp l10n.gnome.org/POT gnome-screensaver/po
|
||||
gnome-session gnome-session-2.0 gtp l10n.gnome.org/POT gnome-session/po gnome-2-30
|
||||
gnome-session gnome-session-2.0 gtp l10n.gnome.org/POT gnome-session/po
|
||||
gnome-settings-daemon gnome-settings-daemon gtp l10n.gnome.org/POT gnome-settings-daemon/po gnome-2-28
|
||||
gnome-settings-daemon gnome-settings-daemon gtp l10n.gnome.org/POT gnome-settings-daemon/po gnome-2-30
|
||||
gnome-settings-daemon gnome-settings-daemon gtp l10n.gnome.org/POT gnome-settings-daemon/po
|
||||
gnome-shell gnome-shell gtp l10n.gnome.org/POT gnome-shell/po
|
||||
gnome-system-monitor gnome-system-monitor gtp l10n.gnome.org/POT gnome-system-monitor/po
|
||||
gnome-terminal gnome-terminal gtp l10n.gnome.org/POT gnome-terminal/po gnome-2-28
|
||||
gnome-terminal gnome-terminal gtp l10n.gnome.org/POT gnome-terminal/po gnome-2-30
|
||||
gnome-terminal gnome-terminal gtp l10n.gnome.org/POT gnome-terminal/po
|
||||
gnome-themes gnome-themes gtp l10n.gnome.org/POT gnome-themes/po gnome-2-28
|
||||
gnome-themes gnome-themes gtp l10n.gnome.org/POT gnome-themes/po gnome-2-30
|
||||
gnome-themes gnome-themes gtp l10n.gnome.org/POT gnome-themes/po
|
||||
gnome-themes-extras gnome-themes-extras gtp l10n.gnome.org/POT gnome-themes-extras/po
|
||||
gnome-user-share gnome-user-share gtp l10n.gnome.org/POT gnome-user-share/po gnome-2-28
|
||||
gnome-user-share gnome-user-share gtp l10n.gnome.org/POT gnome-user-share/po
|
||||
gnome-utils gnome-utils-2.0 gtp l10n.gnome.org/POT gnome-utils/po gnome-2-28
|
||||
gnome-utils gnome-utils-2.0 gtp l10n.gnome.org/POT gnome-utils/po gnome-2-30
|
||||
gnome-utils gnome-utils-2.0 gtp l10n.gnome.org/POT gnome-utils/po
|
||||
gnome-web-photo gnome-web-photo gtp l10n.gnome.org/POT gnome-web-photo/po
|
||||
gnomeicu gnomeicu gtp l10n.gnome.org/POT gnomeicu/po
|
||||
gnumeric gnumeric gtp l10n.gnome.org/POT gnumeric/po
|
||||
gnumeric gnumeric-functions gtp l10n.gnome.org/POT gnumeric/po-functions
|
||||
goffice goffice-0.7.13 gtp l10n.gnome.org/POT goffice/po
|
||||
gok gok gtp l10n.gnome.org/POT gok/po gnome-2-28
|
||||
goffice goffice-0.8.2 gtp l10n.gnome.org/POT goffice/po
|
||||
gok gok gtp l10n.gnome.org/POT gok/po gnome-2-30
|
||||
gok gok gtp l10n.gnome.org/POT gok/po
|
||||
goobox goobox gtp l10n.gnome.org/POT goobox/po
|
||||
gstreamer-0_10 gstreamer-0.10 gtp l10n.gnome.org/POT gstreamer/po
|
||||
@ -149,58 +151,62 @@ gstreamer-0_10-plugins-bad gst-plugins-bad-0.10 gtp l10n.gnome.org/POT
|
||||
gstreamer-0_10-plugins-base gst-plugins-base-0.10 gtp l10n.gnome.org/POT gst-plugins-base/po
|
||||
gstreamer-0_10-plugins-good gst-plugins-good-0.10 gtp l10n.gnome.org/POT gst-plugins-good/po
|
||||
gstreamer-0_10-plugins-ugly gst-plugins-ugly-0.10 gtp l10n.gnome.org/POT gst-plugins-ugly/po
|
||||
# broken:
|
||||
#gtetrinet gtetrinet gtp l10n.gnome.org/POT gtetrinet/po
|
||||
gtetrinet gtetrinet gtp l10n.gnome.org/POT gtetrinet/po
|
||||
gthumb gthumb gtp l10n.gnome.org/POT gthumb/po
|
||||
gtk2 gtk20 gtp l10n.gnome.org/POT gtk+/po gtk-2-18
|
||||
gtk-vnc gtk-vnc gtp l10n.gnome.org/POT gtk-vnc/po
|
||||
gtk2 gtk20 gtp l10n.gnome.org/POT gtk+/po gtk-2-20
|
||||
gtk2 gtk20 gtp l10n.gnome.org/POT gtk+/po
|
||||
gtk2 gtk20-properties gtp l10n.gnome.org/POT gtk+/po-properties gtk-2-18
|
||||
gtk2 gtk20-properties gtp l10n.gnome.org/POT gtk+/po-properties gtk-2-20
|
||||
gtk2 gtk20-properties gtp l10n.gnome.org/POT gtk+/po-properties
|
||||
gtksourceview gtksourceview-2.0 gtp l10n.gnome.org/POT gtksourceview/po gnome-2-28
|
||||
gtksourceview gtksourceview-2.0 gtp l10n.gnome.org/POT gtksourceview/po gnome-2-30
|
||||
gtksourceview gtksourceview-2.0 gtp l10n.gnome.org/POT gtksourceview/po
|
||||
gucharmap gucharmap gtp l10n.gnome.org/POT gucharmap/po gnome-2-28
|
||||
gtranslator gtranslator gtp l10n.gnome.org/POT gtranslator/po
|
||||
gucharmap gucharmap gtp l10n.gnome.org/POT gucharmap/po gnome-2-30
|
||||
gucharmap gucharmap gtp l10n.gnome.org/POT gucharmap/po
|
||||
gvfs gvfs gtp l10n.gnome.org/POT gvfs/po gnome-2-28
|
||||
gvfs gvfs gtp l10n.gnome.org/POT gvfs/po
|
||||
gwget gwget gtp l10n.gnome.org/POT gwget/po
|
||||
hamster-applet hamster-applet gtp l10n.gnome.org/POT hamster-applet/po gnome-2-28
|
||||
hamster-applet hamster-applet gtp l10n.gnome.org/POT hamster-applet/po gnome-2-30
|
||||
hamster-applet hamster-applet gtp l10n.gnome.org/POT hamster-applet/po
|
||||
istanbul istanbul gtp l10n.gnome.org/POT istanbul/po
|
||||
jhbuild jhbuild gtp l10n.gnome.org/POT jhbuild/po
|
||||
last-exit last-exit gtp l10n.gnome.org/POT last-exit/po
|
||||
libbonobo libbonobo-2.0 gtp l10n.gnome.org/POT libbonobo/po
|
||||
libbonoboui libbonoboui-2.0 gtp l10n.gnome.org/POT libbonoboui/po
|
||||
libgda libgda-4.0 gtp l10n.gnome.org/POT libgda/po
|
||||
libepc libepc gtp l10n.gnome.org/POT libepc/po
|
||||
libgdata gdata gtp l10n.gnome.org/POT libgdata/po
|
||||
libgnome libgnome-2.0 gtp l10n.gnome.org/POT libgnome/po gnome-2-28
|
||||
libgnome libgnome-2.0 gtp l10n.gnome.org/POT libgnome/po
|
||||
libgnome-keyring libgnome-keyring gtp l10n.gnome.org/POT libgnome-keyring/po
|
||||
libgnomecanvas libgnomecanvas-2.0 gtp l10n.gnome.org/POT libgnomecanvas/po
|
||||
libgnomecups libgnomecups gtp l10n.gnome.org/POT libgnomecups/po
|
||||
libgnomedb libgnomedb-4.0 gtp l10n.gnome.org/POT libgnomedb/po
|
||||
libgnomekbd libgnomekbd gtp l10n.gnome.org/POT libgnomekbd/po gnome-2-30
|
||||
libgnomekbd libgnomekbd gtp l10n.gnome.org/POT libgnomekbd/po
|
||||
libgnomeprint libgnomeprint-2.2 gtp l10n.gnome.org/POT libgnomeprint/po
|
||||
libgnomeprintui libgnomeprintui-2.2 gtp l10n.gnome.org/POT libgnomeprintui/po
|
||||
libgnomeui libgnomeui-2.0 gtp l10n.gnome.org/POT libgnomeui/po
|
||||
libgsf libgsf gtp l10n.gnome.org/POT libgsf/po
|
||||
libgtop libgtop-2.0 gtp l10n.gnome.org/POT libgtop/po
|
||||
libgweather libgweather gtp l10n.gnome.org/POT libgweather/po gnome-2-28
|
||||
libgweather libgweather gtp l10n.gnome.org/POT libgweather/po
|
||||
libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations gnome-2-30
|
||||
libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations
|
||||
libslab libslab gtp l10n.gnome.org/POT libslab/po
|
||||
libwnck libwnck gtp l10n.gnome.org/POT libwnck/po
|
||||
meld meld gtp l10n.gnome.org/POT meld/po
|
||||
memprof memprof gtp l10n.gnome.org/POT memprof/po
|
||||
mergeant mergeant gtp l10n.gnome.org/POT mergeant/po
|
||||
metacity metacity gtp l10n.gnome.org/POT metacity/po gnome-2-28
|
||||
metacity metacity gtp l10n.gnome.org/POT metacity/po
|
||||
mousetweaks mousetweaks gtp l10n.gnome.org/POT mousetweaks/po gnome-2-28
|
||||
mousetweaks mousetweaks gtp l10n.gnome.org/POT mousetweaks/po gnome-2-30
|
||||
mousetweaks mousetweaks gtp l10n.gnome.org/POT mousetweaks/po
|
||||
mutter mutter gtp l10n.gnome.org/POT mutter/po
|
||||
nautilus nautilus gtp l10n.gnome.org/POT nautilus/po gnome-2-28
|
||||
nautilus nautilus gtp l10n.gnome.org/POT nautilus/po gnome-2-30
|
||||
nautilus nautilus gtp l10n.gnome.org/POT nautilus/po
|
||||
nautilus-cd-burner nautilus-cd-burner gtp l10n.gnome.org/POT nautilus-cd-burner/po
|
||||
nautilus-open-terminal nautilus-open-terminal gtp l10n.gnome.org/POT nautilus-open-terminal/po
|
||||
nautilus-sendto nautilus-sendto gtp l10n.gnome.org/POT nautilus-sendto/po
|
||||
nautilus-share nautilus-share gtp l10n.gnome.org/POT nautilus-share/po
|
||||
nemiver nemiver gtp l10n.gnome.org/POT nemiver/po
|
||||
orca orca gtp l10n.gnome.org/POT orca/po gnome-2-28
|
||||
network-manager-netbook network-manager-netbook gtp l10n.gnome.org/POT network-manager-netbook/po
|
||||
notification-daemon notification-daemon gtp l10n.gnome.org/POT notification-daemon/po
|
||||
orca orca gtp l10n.gnome.org/POT orca/po gnome-2-30
|
||||
orca orca gtp l10n.gnome.org/POT orca/po
|
||||
pan pan gtp l10n.gnome.org/POT pan/po
|
||||
pdfmod pdfmod gtp l10n.gnome.org/POT pdfmod/po
|
||||
@ -208,29 +214,28 @@ pessulus pessulus gtp l10n.gnome.org/POT
|
||||
planner planner gtp l10n.gnome.org/POT planner/po
|
||||
pybliographer pybliographer gtp l10n.gnome.org/POT pybliographer/po
|
||||
rhythmbox rhythmbox gtp l10n.gnome.org/POT rhythmbox/po
|
||||
sabayon sabayon gtp l10n.gnome.org/POT sabayon/po gnome-2-28
|
||||
sabayon sabayon gtp l10n.gnome.org/POT sabayon/po
|
||||
seahorse seahorse gtp l10n.gnome.org/POT seahorse/po gnome-2-28
|
||||
seahorse seahorse gtp l10n.gnome.org/POT seahorse/po
|
||||
seahorse-plugins seahorse-plugins gtp l10n.gnome.org/POT seahorse-plugins/po
|
||||
shared-mime-info shared-mime-info gtp l10n.gnome.org/POT shared-mime-info/po
|
||||
sound-juicer sound-juicer gtp l10n.gnome.org/POT sound-juicer/po
|
||||
swfdec-gnome swfdec-gnome gtp l10n.gnome.org/POT swfdec-gnome/po
|
||||
tasque tasque gtp l10n.gnome.org/POT tasque/po
|
||||
tomboy tomboy gtp l10n.gnome.org/POT tomboy/po gnome-2-28
|
||||
tomboy tomboy gtp l10n.gnome.org/POT tomboy/po gnome-2-30
|
||||
tomboy tomboy gtp l10n.gnome.org/POT tomboy/po
|
||||
totem totem gtp l10n.gnome.org/POT totem/po gnome-2-28
|
||||
totem totem gtp l10n.gnome.org/POT totem/po gnome-2-30
|
||||
totem totem gtp l10n.gnome.org/POT totem/po
|
||||
totem-pl-parser totem-pl-parser gtp l10n.gnome.org/POT totem-pl-parser/po
|
||||
vinagre vinagre gtp l10n.gnome.org/POT vinagre/po gnome-2-28
|
||||
tracker tracker gtp l10n.gnome.org/POT tracker/po
|
||||
vinagre vinagre gtp l10n.gnome.org/POT vinagre/po
|
||||
vino vino gtp l10n.gnome.org/POT vino/po
|
||||
vte vte gtp l10n.gnome.org/POT vte/po gnome-2-30
|
||||
vte vte gtp l10n.gnome.org/POT vte/po
|
||||
xchat-gnome xchat-gnome gtp l10n.gnome.org/POT xchat-gnome/po
|
||||
xdg-user-dirs xdg-user-dirs gtp l10n.gnome.org/POT xdg-user-dirs/po
|
||||
xdg-user-dirs-gtk xdg-user-dirs-gtk gtp l10n.gnome.org/POT xdg-user-dirs-gtk/po
|
||||
xkeyboard-config xkeyboard-config gtp l10n.gnome.org/POT xkeyboard-config/po
|
||||
yelp yelp gtp l10n.gnome.org/POT yelp/po gnome-2-28
|
||||
yelp yelp gtp l10n.gnome.org/POT yelp/po gnome-2-30
|
||||
yelp yelp gtp l10n.gnome.org/POT yelp/po
|
||||
zenity zenity gtp l10n.gnome.org/POT zenity/po gnome-2-28
|
||||
zenity zenity gtp l10n.gnome.org/POT zenity/po gnome-2-30
|
||||
zenity zenity gtp l10n.gnome.org/POT zenity/po
|
||||
|
Loading…
Reference in New Issue
Block a user