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:
OBS User autobuild 2010-06-04 12:49:58 +00:00 committed by Git OBS Bridge
commit 3e35455057
15 changed files with 526 additions and 211 deletions

View File

@ -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
;;

View File

@ -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
View 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
View 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
View 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
View 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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0e1a9955bb7cbe1c23fbf75f5c439201ebf810f25fb0fed3f2fa6d2ed420ae37
size 127

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:30e0f6b742862230c8f9c9dec70037a220f8827c6d404a4379c6d920bd94ef0e
size 1864

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:16b7e841ceb73bd671ba310ecfaa91655945abb6ee245ad8af63ba08410a7af7
size 5804401

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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=

View File

@ -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

View File

@ -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