diff --git a/create-tlst-step1-list-all-po-projects.sh b/create-tlst-step1-list-all-po-projects.sh index 19dbc9d..17def4a 100644 --- a/create-tlst-step1-list-all-po-projects.sh +++ b/create-tlst-step1-list-all-po-projects.sh @@ -9,8 +9,8 @@ set -o errexit source ${0%create-tlst-step1-list-all-po-projects.sh}create-tlst.conf -for i in $BINARY_REPO/*/{$BINARY_ARCH,noarch}/*.rpm ; do rpm -q --queryformat=%{name} -p $i ; echo : ; rpm -qlp $i | grep LC_MESSAGES || : ; done | - sed "s~^$BINARY_REPO/suse/($BINARY_ARCH|noarch)~~" >create-tlst-temp-all-po-files.lst +for i in $BINARY_REPO/{$BINARY_ARCH,noarch}/*.rpm ; do rpm -q --queryformat=%{name} -p $i ; echo : ; rpm -qlp $i | grep LC_MESSAGES || : ; done | + sed "s~^$BINARY_REPO/($BINARY_ARCH|noarch)~~" >create-tlst-temp-all-po-files.lst cat create-tlst-temp-all-po-files.lst | sed ' diff --git a/create-tlst-step2-create-gnome_gtp.sh b/create-tlst-step2-create-gnome_gtp.sh index 522dde9..b53d4f4 100644 --- a/create-tlst-step2-create-gnome_gtp.sh +++ b/create-tlst-step2-create-gnome_gtp.sh @@ -17,10 +17,10 @@ for REPOSITORY in ${OSC_REPOSITORIES[@]} ; do done | sort -u >create-tlst-temp-osc-projects.lst # branches tried for all apps: -KNOWN_BRANCHES="gnome-3-30|gnome-3-26" +KNOWN_BRANCHES="gnome-3-34|gnome-3-36" # branches tried apps with the same name base: # Do not forget hardcoded strings in the code below! -APP_BRANCHES="gimp-2-10|gimp-2-8|gtk-3-24|gtk-3-22|gtk-2-24|glib-2-54" +APP_BRANCHES="|gimp-2-8|gimp-2-10|gtk-3-22|gtk-3-24|gtk-2-24|glib-2.62|glib-2.64" # 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 @@ -53,23 +53,19 @@ curl https://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-54 + echo glib glib2 glib20 glib-2-62 + echo glib glib2 glib20 glib-2-64 echo glib glib2 glib20 master echo gtk+ gtk2 gtk20 gtk-2-24 echo gtk+ gtk2 gtk20 master echo gtk+ gtk2 gtk20-properties gtk-2-24 echo gtk+ gtk2 gtk20-properties master echo gtk+ gtk3 gtk30 gtk-3-24 - echo gtk+ gtk3 gtk30 gtk-3-22 echo gtk+ gtk3 gtk30 master echo gtk+ gtk3 gtk30-properties gtk-3-24 - echo gtk+ gtk3 gtk30-properties gtk-3-22 echo gtk+ gtk3 gtk30-properties master - echo libgweather libgweather libgweather-locations gnome-3-30 - echo libgweather libgweather libgweather-locations gnome-3-26 - echo libgweather libgweather libgweather-locations master - echo gnome-phone-manager phonemgr gnome-phone-manager gnome-3-30 - echo gnome-phone-manager phonemgr gnome-phone-manager gnome-3-26 + echo gnome-phone-manager phonemgr gnome-phone-manager gnome-3-34 + echo gnome-phone-manager phonemgr gnome-phone-manager gnome-3-36 echo gnome-phone-manager phonemgr gnome-phone-manager master echo network-manager-applet NetworkManager-gnome nm-applet master echo udisks udisks2 udisks2 master diff --git a/github.tlst b/github.tlst index a8d4186..c66a408 100644 --- a/github.tlst +++ b/github.tlst @@ -3,4 +3,4 @@ ibus ibus10 git https://github.com/ibus/ibus.git ibus/po eiciel eiciel git https://github.com/rofirrim/eiciel.git eiciel/po libgnomesu libgnomesu-1.0 git https://github.com/openSUSE/libgnomesu.git libgnomesu/po -virt-manager virt-manager git https://github.com/virt-manager/virt-manager.git virt-manager/po +#UNSUPPORTED-POT: virt-manager virt-manager git https://github.com/virt-manager/virt-manager.git virt-manager/po diff --git a/lcn-sle.tlst b/lcn-sle.tlst index de8be80..b91cc87 100644 --- a/lcn-sle.tlst +++ b/lcn-sle.tlst @@ -2,4 +2,4 @@ #NOT-IN-SLE: NetworkManager-vpnc NetworkManager-vpnc lcn - NetworkManager-vpnc/po SLE12-SP4 #NOT-IN-SLE: krb5-ticket-watcher krb5-ticket-watcher lcn - krb5-ticket-watcher/po SLE12-SP4 libgnomesu libgnomesu-1.0 lcn - libgnomesu/po SLE12-SP4 -linuxrc linuxrc lcn - linuxrc/po SLE12-SP4 +#LOST-I18N-SUPPORT: linuxrc linuxrc lcn - linuxrc/po SLE12-SP4 diff --git a/misc.tlst b/misc.tlst index 57435f5..2b2c355 100644 --- a/misc.tlst +++ b/misc.tlst @@ -2,9 +2,9 @@ # Already latest version: #pidgin pidgin tbz http://downloads.sourceforge.net/pidgin/pidgin-2.13.0.tar.bz2 pidgin-2.13.0/po pam Linux-PAM git https://github.com/linux-pam/linux-pam.git linux-pam/po -firewalld firewalld git https://github.com/firewalld/firewalld.git firewalld/po -virt-manager virt-manager git https://github.com/virt-manager/virt-manager.git virt-manager/po -eiciel eiciel git https://github.com/rofirrim/eiciel.git eiciel/po +#BROKEN: firewalld firewalld git https://github.com/firewalld/firewalld.git firewalld/po +#DUP: virt-manager virt-manager git https://github.com/virt-manager/virt-manager.git virt-manager/po +#DUP: eiciel eiciel git https://github.com/rofirrim/eiciel.git eiciel/po # package domain method repository dir branch pam Linux-PAM cvs pam.cvs.sourceforge.net:/cvsroot/pam Linux-PAM/po # Already latest version, and will probably never update: diff --git a/opensuse.tlst b/opensuse.tlst index 9a97d43..f6e1962 100644 --- a/opensuse.tlst +++ b/opensuse.tlst @@ -1,6 +1,6 @@ # package domain method repository dir branch option cracklib cracklib lcn - cracklib/po gnome-packagekit gnome-packagekit lcn - gnome-packagekit/po -linuxrc linuxrc lcn - linuxrc/po +#LOST-I18N-SUPPORT: linuxrc linuxrc lcn - linuxrc/po pam-config pam-config lcn - pam-config/po pam_krb5 pam_krb5 lcn - pam_krb5/po diff --git a/translation-update-mandatory-20181128.tar.bz2 b/translation-update-mandatory-20181128.tar.bz2 deleted file mode 100644 index ba8298a..0000000 --- a/translation-update-mandatory-20181128.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9c177f524d514c9b09e82da4fd1121dbc9481aaf4aed74692cb9f6cfa5b300bc -size 245 diff --git a/translation-update-mandatory-20200601.tar.bz2 b/translation-update-mandatory-20200601.tar.bz2 new file mode 100644 index 0000000..7cec957 --- /dev/null +++ b/translation-update-mandatory-20200601.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d196b4fbc03f6fb31f64b5f5c1236ac99f3291f81688ab94386a82ce02e34f5 +size 256 diff --git a/translation-update-upstream-20181128.tar.bz2 b/translation-update-upstream-20181128.tar.bz2 deleted file mode 100644 index 069793e..0000000 --- a/translation-update-upstream-20181128.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0b3166bf3d4a64c4aaf182d26be80fb8292fa7c0318d784bc3a46e0167bd1178 -size 32872 diff --git a/translation-update-upstream-20200601.tar.bz2 b/translation-update-upstream-20200601.tar.bz2 new file mode 100644 index 0000000..0f3774a --- /dev/null +++ b/translation-update-upstream-20200601.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ec7e324f1097ea4c21b318704e7f17beafac7848271b6daf797ea5cf7f646d8 +size 6359 diff --git a/translation-update-upstream-embedded.patch b/translation-update-upstream-embedded.patch index 3f947ce..15a224f 100644 --- a/translation-update-upstream-embedded.patch +++ b/translation-update-upstream-embedded.patch @@ -1,14 +1,14 @@ ---- translation-update-upstream-embedded.sh 2018-12-10 22:58:17.369805285 +0100 -+++ translation-update-upstream-embedded.sh 2018-12-10 23:01:32.309607787 +0100 -@@ -74,6 +74,7 @@ - fi +--- translation-update-upstream-embedded.sh 2020-01-22 22:19:22.911348880 +0100 ++++ translation-update-upstream-embedded.sh 2020-01-22 22:39:26.134577525 +0100 +@@ -85,6 +85,7 @@ + USE_INTLTOOL=true fi fi +BASE_DIR=$PWD DIR=${1:-po} if test -z "$3" ; then -@@ -202,7 +203,7 @@ +@@ -259,7 +260,7 @@ echo "WARNING: Missing $DOMAIN in translation-update-upstream configuration! No updates available." fi else diff --git a/translation-update-upstream-to-translation-update.sh b/translation-update-upstream-to-translation-update.sh index 677baae..9e11117 100644 --- a/translation-update-upstream-to-translation-update.sh +++ b/translation-update-upstream-to-translation-update.sh @@ -27,7 +27,8 @@ mkdir\ TRANSLATION_UPDATE TRANSLATION_UPDATE/translation-update TRANSLATION_UPDATE/TUU\ TRANSLATION_UPDATE/NOT_UPDATED \ TRANSLATION_UPDATE/UPDATED \ - TRANSLATION_UPDATE/complete TRANSLATION_UPDATE/rebuilt + TRANSLATION_UPDATE/complete TRANSLATION_UPDATE/rebuilt \ + TRANSLATION_UPDATE/complete/translation-update TRANSLATION_UPDATE/rebuilt/translation-update # more tarballs are available => use the latest one # FIXME: Fix 20090213.10 < 20090213.9 diff --git a/translation-update-upstream.changes b/translation-update-upstream.changes index a8ac03e..293de62 100644 --- a/translation-update-upstream.changes +++ b/translation-update-upstream.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Tue Mar 10 14:37:34 CET 2020 - sbrabec@suse.com + +- Reset outdated translations and turn translate-update-upstream + into dummy (bsc#1172337, boo#1172367). +- Drop SLE / Leap discrimination code. +- translation-update-upstream.in: + * Disable msgmerge. Never cause translation regression, even at + cost of superfluous strings (bsc#1160114). + * Implement new heuristic: use xgettext. Make it the default + (bsc#1160114). + * translation-update-upstream-embedded.patch: Update. +- upstream-collect.sh supplementary script: Port + translation-update-upstream.in changes. + +------------------------------------------------------------------- +Tue Nov 5 18:49:52 CET 2019 - sbrabec@suse.com + +- upstream-collect.sh supplementary script: Port meson support to + the fallback pot extractor (bsc#1095368#c9). +- upstream-collect.sh, upstream-collect.conf supplementary script: + Evaluate %is_opensuse for target system instead of host + (bsc#1095368#c8). + +------------------------------------------------------------------- +Wed Oct 2 02:48:55 CEST 2019 - sbrabec@suse.com + +- Update to version 20191002 (bsc#1095361, bsc#1095364, + bsc#1095368, bsc#1095371, bsc#1095377, bsc#1095379): + * Update configuration to be SLE15 SP1 Update compatible. + * Add new upstream branches to tlst files. + * Update create-tlst-step2-create-gnome_gtp.sh to cover new + upstream branches. + * Update all strings from upstream and LCN. +- upstream-collect.sh supplementary script: Make paths compatible + with Tumbleweed. + +------------------------------------------------------------------- +Fri Mar 29 00:41:19 CET 2019 - sbrabec@suse.com + +- Update to version 20190328: + * Translation updates. + ------------------------------------------------------------------- Mon Dec 10 22:58:25 CET 2018 - sbrabec@suse.com diff --git a/translation-update-upstream.in b/translation-update-upstream.in index 7469cea..693cb11 100644 --- a/translation-update-upstream.in +++ b/translation-update-upstream.in @@ -1,5 +1,8 @@ #! /bin/bash +echo "No translation-update-upstream data available. Keeping existing translation." +exit 0 + set -o errexit shopt -s nullglob @@ -74,6 +77,17 @@ if test -f meson.build -a ! \( -f ${1:-po}/Makefile.in.in -o -f ${1:-po}/Makefil fi fi fi +USE_INTLTOOL=false +if test -f configure.ac ; then + if grep PROG_INTLTOOL configure.ac ; then + USE_INTLTOOL=true + fi +fi +if test -f configure.in ; then + if grep PROG_INTLTOOL configure.in ; then + USE_INTLTOOL=true + fi +fi DIR=${1:-po} if test -z "$3" ; then @@ -107,10 +121,27 @@ if test -z "$3" ; then cd $DIR else cd $DIR - if test -z "$DOMAIN" ; then - intltool-update --pot + if $USE_INTLTOOL ; then + if test -z "$DOMAIN" ; then + intltool-update --pot + else + intltool-update --gettext-package=$DOMAIN --pot + fi else - intltool-update --gettext-package=$DOMAIN --pot + # Fallback: use xgettext with default options except those that we + # cannot guess (it can stil fail, as options can be customized). + if test -z "$DOMAIN" ; then + ## Ugly hack! intltool could return invalid po, but its + ## FindPackageName() can guess domain. Call it to get it. + intltool-update --pot + for POT in *.pot ; do + DOMAIN=${POT%.pot} + done + fi + xgettext --default-domain="$DOMAIN" --directory="$OLDPWD" \ + --add-comments=TRANSLATORS: --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments \ + --files-from=./POTFILES.in + mv "$DOMAIN.po" "$DOMAIN.pot" fi fi else @@ -151,13 +182,29 @@ for POT in *.pot ; do # 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 + ## In theory, we should call msgmerge here, as the + ## imported file might be outdated. But we have to live + ## with the fact that the pot file heuristic above + ## might be incorrect, and the generated pot file is + ## incomplete. Never make things worse, and skip + ## msgmerge. Superfluous strings are better than + ## deleted strings. + ## In time of writing the priginal code, --compendium + ## worked around the fact that msgcat prefers empty + ## string from the first file over translated string + ## from the second file. Now msgcat behaves logically, + ## so this step is not needed. + #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 ; then - msgcat --use-first $PO.header $PO.new2 -o $PO - rm $PO.new $PO.new2 $PO.header + #if @LIBEXECDIR@/translation-update-upstream/msgheadermerge $PO $PO.new2 $PO.header --mergemode ; then + if @LIBEXECDIR@/translation-update-upstream/msgheadermerge $PO $PO.new $PO.header --mergemode ; then + #msgcat --use-first $PO.header $PO.new2 -o $PO + msgcat --use-first $PO.header -o $PO + #rm $PO.new $PO.new2 $PO.header + rm $PO.new $PO.header else - rm $PO.new $PO.new2 + #rm $PO.new $PO.new2 + rm $PO.new echo "WARNING: Update of $PO for $DOMAIN is older than data in package. Skipping." fi else @@ -183,13 +230,28 @@ for POT in *.pot ; do # 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 + ## In theory, we should call msgmerge here, as the + ## imported file might be outdated. But we have to live + ## with the fact that the pot file heuristic above + ## might be incorrect, and the generated pot file is + ## incomplete. Never make things worse, and skip + ## msgmerge. Superfluous strings are better than + ## deleted strings. + ## In time of writing the priginal code, --compendium + ## worked around the fact that msgcat prefers empty + ## string from the first file over translated string + ## from the second file. Now msgcat behaves logically, + ## so this step is not needed. + #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 + #if ! @LIBEXECDIR@/translation-update-upstream/msgheadermerge $PO $PO.new2 $PO.header --mergemode --continue ; then + if ! @LIBEXECDIR@/translation-update-upstream/msgheadermerge $PO $PO.new $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 + #msgcat --use-first $PO.header $PO.new2 -o $PO + msgcat --use-first $PO.header $PO.new -o $PO + #rm $PO.new $PO.new2 $PO.header + rm $PO.new $PO.header else echo "Adding $PO from translation-update-upstream mandatory source." cp -a $PO_PATH $PO diff --git a/translation-update-upstream.spec b/translation-update-upstream.spec index a810755..2e4f1f0 100644 --- a/translation-update-upstream.spec +++ b/translation-update-upstream.spec @@ -1,7 +1,7 @@ # # spec file for package translation-update-upstream # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: translation-update-upstream -Version: 20181128 +Version: 20200601 Release: 0 Summary: Tool for Translation Update from Upstream # Ignore cracklib, as it causes build loop cracklib <-> translation-update-upstream @@ -93,10 +93,7 @@ sed 's/@LIBEXECDIR@/\$BASE_DIR/g;s:@DATADIR@/translation-update-upstream:\$BASE_ chmod +x translation-update-upstream-embedded.sh %build -%if ! 0%{?is_opensuse} -echo "This is a openSUSE only package! Please use SLE version." -exit 1 -%endif +. %{_sourcedir}/upstream-collect.conf %install mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} $RPM_BUILD_ROOT%{_prefix}/lib/translation-update-upstream @@ -137,7 +134,7 @@ set +x cd $RPM_BUILD_ROOT%{_datadir} ; echo translation*/*/*.po | sed 's:.*/::;s:\.po$::' | sort -u for LOCALE in $(set +x ; cd $RPM_BUILD_ROOT%{_datadir} ; ls -1 translation*/*/*/*.po | sed 's:.*/::;s:\.po$::' | sort -u) ; do - if ! test -d /usr/share/locale/$LOCALE ; then + if ! test -d /usr/share/locale/$LOCALE ; then for file in $RPM_BUILD_ROOT%{_datadir}/translation*/*/*/$LOCALE.po; do # fake it so it looks like removed from %%find_lang package=$(echo $file | sed -e 's,.*translation[^/]*/po/,,; s,/[^/]*.po,,') diff --git a/upstream-collect.conf b/upstream-collect.conf index 3b4a2ca..5a9f376 100644 --- a/upstream-collect.conf +++ b/upstream-collect.conf @@ -6,11 +6,11 @@ # - proposed-translation-fixes repository with yet unreleased changes (if exists; such repo allows us to create a tarball update for translation-update package without rebuild) # - latest patchlevel packages sources (if exists) # - the original gold master (GA) package sources -OSC_REPOSITORIES=( openSUSE:Factory ) +OSC_REPOSITORIES=( openSUSE:Leap:15.2 openSUSE:Leap:15.1:Update openSUSE:Leap:15.1 openSUSE:Leap:15.0:Update openSUSE:Leap:15.0 ) # OSC_REPOSITORIES array index of the main (fully rebuilt with current translation-update-upstream) repository (starts with 0). # It is typically 0 for Factory based products, 1 for products where 0 is a proposed-translation-fixes repo, 2 for products which are not fully rebuilt before release where 1 represents patchlevel repository. -OSC_MAIN_INDEX=0 +OSC_MAIN_INDEX=4 # OSC_REPOSITORIES array index of the repository with proposed translation updates that don't appear in the main product (starts with 0). Keep empty if there is no such repository. # It is typically empty for Factory based products, otherwise it points to an unreleased proposed-translation-fixes repository with index 0. diff --git a/upstream-collect.sh b/upstream-collect.sh index 35aac14..359c0be 100644 --- a/upstream-collect.sh +++ b/upstream-collect.sh @@ -22,6 +22,9 @@ WORK_DIR=$PWD set -o errexit shopt -s nullglob +rpm -q obs-service-tar >/dev/null +rpm -q obs-service-recompress >/dev/null + source ${0%.sh}.conf function get_pot_name { @@ -76,8 +79,19 @@ EOF # Modify some requirements to work without relevant packages installed. s/%{xulrunner_version}/dummy/g s/%{mozilla_ver}/dummy/g + s/%{glib2_gsettings_schema_requires}/Requires: dummy/g + s/%glib2_gsettings_schema_requires/Requires: dummy/g + s/%{gtk2_immodule_requires}/Requires: dummy/g + s/%{gtk3_immodule_requires}/Requires: dummy/g + s/%{py_requires}/Requires: dummy/g + s/%py_requires/Requires: dummy/g s/%kde4_runtime_requires/Requires: dummy/g s/%systemd_requires/Requires: dummy/g + s/%gconf_schemas_prereq/Requires: dummy/g + s/%{gconf_schemas_prereq}/Requires: dummy/g + s/%glib2_gio_module_requires/Requires: dummy/g + s/%{glib2_gio_module_requires}/Requires: dummy/g + s/%{_bluezVersion}/0/g ' *.spec eval rpmbuild --macros=/usr/lib/rpm/macros:/usr/lib/rpm/suse_macros:/usr/lib/rpm/suse/macros:/usr/lib/rpm/macros.d/macros.systemd:/usr/lib/rpm/platform/$(uname -i)-linux/macros:/etc/rpm/\\\*:$RPMDIR/macros --nodeps -bp ${*:-*.spec} rm -rf $RPMDIR @@ -117,20 +131,45 @@ mkdir -p ~/.upstream-collect.tmp cat >~/.upstream-collect.tmp/translation-update-upstream <&2 + USE_MESON=true + if test -z "\$DOMAIN" ; then MESON_PROJECT="\$(sed -n "/^project(/,+1{1{h;d};2{x;G}};s/^project[[:space:]]*([[:space:]]*'\([^']*\)'.*/\1/p" &2 + exit 1 + fi + fi fi - if test -f \${1:-po}/POTFILES ; then - POTFILES="\$PWD/\${1:-po}/POTFILES" - else - POTFILES="\$PWD/\${1:-po}/POTFILES.in" +fi +USE_INTLTOOL=false +if test -f configure.ac ; then + if grep PROG_INTLTOOL configure.ac ; then + USE_INTLTOOL=true fi +fi +if test -f configure.in ; then + if grep PROG_INTLTOOL configure.in ; then + USE_INTLTOOL=true + fi +fi +DIR=\${1:-po} + +if test -z "\$3" ; then + if \$USE_MESON ; then + if test -f POTFILES ; then + POTFILES="\$PWD/\${1:-po}/POTFILES" + else + POTFILES="\$PWD/\${1:-po}/POTFILES.in" + fi echo "cd \\"\$PWD\\" xgettext --package-name=\\"\$DOMAIN\\"\\\\ -p \\"\$PWD\\"\\\\ @@ -155,8 +194,34 @@ xgettext --package-name=\\"\$DOMAIN\\"\\\\ --keyword=g_dpgettext2:2c,3\\\\ --keyword=_\\\\ --keyword=g_dcgettext:2" >\${1:-po}/.translation-update-upstream-implemented + else + if \$USE_INTLTOOL ; then + if test -z "\$DOMAIN" ; then + echo "intltool-update --pot" >\${1:-po}/.translation-update-upstream-implemented + else + intltool-update --gettext-package=\$DOMAIN --pot + echo "intltool-update --gettext-package=\$DOMAIN --pot" >\${1:-po}/.translation-update-upstream-implemented + fi + else + # Fallback: use xgettext with default options except those that we + # cannot guess (it can stil fail, as options can be customized). + echo "cd \\"\$DIR\\" + if test -z \\"\$DOMAIN\\" ; then + ## Ugly hack! intltool could return invalid po, but its + ## FindPackageName() can guess domain. Call it to get it. + intltool-update --pot + for POT in *.pot ; do + DOMAIN=\\\${POT%.pot} + done + fi + xgettext --default-domain=\\"\$DOMAIN\\" --directory=\\"\$OLDPWD\\" \\\\ + --add-comments=TRANSLATORS: --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments \\\\ + --files-from=./POTFILES.in + mv \\"\\\$DOMAIN.po\\" \\"\\\$DOMAIN.pot\\"" >\${1:-po}/.translation-update-upstream-implemented + fi + fi else - echo \${3:-intltool-update\${2+ --gettext-package=\$2} --pot} >\${1:-po}/.translation-update-upstream-implemented + echo \$3 >\${1:-po}/.translation-update-upstream-implemented fi cd \${1:-po} # Generate and save a copy of the pot file now and compare later. @@ -310,6 +375,15 @@ for TLST in *.tlst ; do echo "Trying to check-out PACKAGES $PACKAGE from $OSC_REPOSITORY..." # FIXME: When obs-service-download_url appears in Factory, use --source-service-files if osc ${OSC_APIURL:+--apiurl=$OSC_APIURL} checkout --server-side-source-service-files --expand-link $OSC_REPOSITORY $PACKAGE >gnome-patch-translation-collect-tmp.log 2>&1 ; then + cd $OSC_REPOSITORY/$PACKAGE + if test -f _service ; then + for FILE in *.obscpio ; do + cpio -d -i <$FILE + done + sed -i '//,/<\/service>/d;//d;s/mode="buildtime"//' _service + osc service runall + fi + cd "$OLDPWD" mv $OSC_REPOSITORY/$PACKAGE $WORK_DIR/PACKAGES/ for FILE in $WORK_DIR/PACKAGES/$PACKAGE/_service\:download_url\:* ; do mv "$FILE" "${FILE/_service:download_url:/}" @@ -383,19 +457,89 @@ for TLST in *.tlst ; do else echo "$RPMPODIR: Missing or incorrect translation-update-upstream in the spec file." # translation-update-upstream is implemented, try the default with the upstream domain: - if intltool-update --gettext-package=$DOMAIN --pot ; then - get_pot_name + cd .. + RC=0 + if test -f meson.build -a ! \( -f po/Makefile.in.in -o -f po/Makefile.in -o -f po/Makefile \); then + echo "Switching to meson style pot file extraction." + MESON_PROJECT="$(sed -n "/^project(/,+1{1{h;d};2{x;G}};s/^project[[:space:]]*([[:space:]]*'\([^']*\)'.*/\1/p" >$WORK_DIR/upstream-collect.log "package=$PACKAGE domain=$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" + STATUS=TUU_BROKEN + mkdir -p $WORK_DIR/STAMPS/$PACKAGE/$DOMAIN/$METHOD/${REPO//[\/:.]/_}/$REPODIR/${BRANCH:-__HEAD__} + # However we cannot do anything, build dir is successfully processed. + touch $WORK_DIR/STAMPS/$PACKAGE/.builddir_ok + continue + fi + for POT in *.pot ; do + DOMAIN=${POT%.pot} + done + fi + xgettext --default-domain="$DOMAIN" --directory="$OLDPWD" \ + --add-comments=TRANSLATORS: --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments \ + --files-from=./POTFILES.in + mv "$DOMAIN.po" "$DOMAIN.pot" + fi + get_pot_name REAL_DOMAIN=${POT%.pot} echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE domain=$DOMAIN gettext-package=$REAL_DOMAIN method=$METHOD repository=$REPO directory=$DIR branch=${BRANCH:(default)}: packaging error, package does not call translation-update-upstream properly" STATUS=TUU_NOT_CALLED cp -a $DOMAIN.pot $WORK_DIR/pot/ - else - echo >>$WORK_DIR/upstream-collect.log "package=$PACKAGE domain=$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" - STATUS=TUU_BROKEN - mkdir -p $WORK_DIR/STAMPS/$PACKAGE/$DOMAIN/$METHOD/${REPO//[\/:.]/_}/$REPODIR/${BRANCH:-__HEAD__} - # However we cannot do anything, build dir is successfully processed. - touch $WORK_DIR/STAMPS/$PACKAGE/.builddir_ok - continue fi fi @@ -440,10 +584,10 @@ for TLST in *.tlst ; do cgit ) # Some tricks to be able to recycle git:// URI CGIT_URI=$REPO - CGIT_URI=${CGIT_URI/git:\/\/anongit./http://cgit.} - CGIT_URI=${CGIT_URI/git:\/\//http://} + CGIT_URI=${CGIT_URI/git:\/\/anongit./https://cgit.} + CGIT_URI=${CGIT_URI/git:\/\//https://} CGIT_BRANCH=${BRANCH:+?id=$BRANCH} - CGIT_SERVER=${CGIT_URI#http://} + CGIT_SERVER=${CGIT_URI#https://} CGIT_SERVER=${CGIT_SERVER%%/*} curl $CGIT_URI/tree/${REPODIR#*/}$CGIT_BRANCH | sed -n 's:^.*class='\''ls-blob[^'\'']*'\'' href='\''\([^'\'']*\)'\''.*$:\1:p' | while read ; do diff --git a/upstream-gnome_gtp.tlst b/upstream-gnome_gtp.tlst index 212e90b..0ff79c0 100644 --- a/upstream-gnome_gtp.tlst +++ b/upstream-gnome_gtp.tlst @@ -1,4 +1,4 @@ -# This file was generated Tue Nov 27 19:04:15 CET 2018 by create-tlst-step2-create-gnome_gtp.sh. +# This file was generated Sun Mar 29 03:21:28 CEST 2020 by create-tlst-step2-create-gnome_gtp.sh. # package domain method repository dir branch AppStream appstream gtp l10n.gnome.org/POT appstream/po ModemManager ModemManager gtp l10n.gnome.org/POT ModemManager/po @@ -12,10 +12,12 @@ PackageKit PackageKit gtp l accountsservice accounts-service gtp l10n.gnome.org/POT accountsservice/po alacarte alacarte gtp l10n.gnome.org/POT alacarte/po appstream-glib appstream-glib gtp l10n.gnome.org/POT appstream-glib/po +at-spi2-core at-spi2-core gtp l10n.gnome.org/POT at-spi2-core/po gnome-3-34 at-spi2-core at-spi2-core gtp l10n.gnome.org/POT at-spi2-core/po +atk atk10 gtp l10n.gnome.org/POT atk/po gnome-3-34 atk atk10 gtp l10n.gnome.org/POT atk/po avahi avahi gtp l10n.gnome.org/POT avahi/po -baobab baobab gtp l10n.gnome.org/POT baobab/po gnome-3-30 +baobab baobab gtp l10n.gnome.org/POT baobab/po gnome-3-34 baobab baobab gtp l10n.gnome.org/POT baobab/po brasero brasero gtp l10n.gnome.org/POT brasero/po caribou caribou gtp l10n.gnome.org/POT caribou/po @@ -26,151 +28,176 @@ cogl cogl gtp l colord colord gtp l10n.gnome.org/POT colord/po cups-pk-helper cups-pk-helper gtp l10n.gnome.org/POT cups-pk-helper/po dasher dasher gtp l10n.gnome.org/POT dasher/po -dconf-editor dconf gtp l10n.gnome.org/POT dconf-editor/po gnome-3-30 -dconf-editor dconf gtp l10n.gnome.org/POT dconf-editor/po -devhelp devhelp gtp l10n.gnome.org/POT devhelp/po gnome-3-30 +dconf-editor dconf-editor gtp l10n.gnome.org/POT dconf-editor/po gnome-3-34 +dconf-editor dconf-editor gtp l10n.gnome.org/POT dconf-editor/po gnome-3-36 +dconf-editor dconf-editor gtp l10n.gnome.org/POT dconf-editor/po +devhelp devhelp gtp l10n.gnome.org/POT devhelp/po gnome-3-34 devhelp devhelp gtp l10n.gnome.org/POT devhelp/po dia dia gtp l10n.gnome.org/POT dia/po ekiga ekiga gtp l10n.gnome.org/POT ekiga/po +eog eog gtp l10n.gnome.org/POT eog/po gnome-3-34 eog eog gtp l10n.gnome.org/POT eog/po -evince evince gtp l10n.gnome.org/POT evince/po gnome-3-30 +evince evince gtp l10n.gnome.org/POT evince/po gnome-3-34 evince evince gtp l10n.gnome.org/POT evince/po -evolution evolution gtp l10n.gnome.org/POT evolution/po gnome-3-30 +evolution evolution gtp l10n.gnome.org/POT evolution/po gnome-3-34 +evolution evolution gtp l10n.gnome.org/POT evolution/po gnome-3-36 evolution evolution gtp l10n.gnome.org/POT evolution/po -evolution-data-server evolution-data-server gtp l10n.gnome.org/POT evolution-data-server/po gnome-3-30 +evolution-data-server evolution-data-server gtp l10n.gnome.org/POT evolution-data-server/po gnome-3-34 +evolution-data-server evolution-data-server gtp l10n.gnome.org/POT evolution-data-server/po gnome-3-36 evolution-data-server evolution-data-server gtp l10n.gnome.org/POT evolution-data-server/po -evolution-ews evolution-ews gtp l10n.gnome.org/POT evolution-ews/po gnome-3-30 +evolution-ews evolution-ews gtp l10n.gnome.org/POT evolution-ews/po gnome-3-34 +evolution-ews evolution-ews gtp l10n.gnome.org/POT evolution-ews/po gnome-3-36 evolution-ews evolution-ews gtp l10n.gnome.org/POT evolution-ews/po -file-roller file-roller gtp l10n.gnome.org/POT file-roller/po gnome-3-30 file-roller file-roller gtp l10n.gnome.org/POT file-roller/po flatpak flatpak gtp l10n.gnome.org/POT flatpak/po folks folks gtp l10n.gnome.org/POT folks/po fwupd fwupd gtp l10n.gnome.org/POT fwupd/po gcab gcab gtp l10n.gnome.org/POT gcab/po gconf2 GConf2 gtp l10n.gnome.org/POT gconf/po +gcr gcr gtp l10n.gnome.org/POT gcr/po gnome-3-34 +gcr gcr gtp l10n.gnome.org/POT gcr/po gnome-3-36 gcr gcr gtp l10n.gnome.org/POT gcr/po gdk-pixbuf gdk-pixbuf gtp l10n.gnome.org/POT gdk-pixbuf/po -gdm gdm gtp l10n.gnome.org/POT gdm/po gnome-3-30 gdm gdm gtp l10n.gnome.org/POT gdm/po -gedit gedit gtp l10n.gnome.org/POT gedit/po gnome-3-30 +gedit gedit gtp l10n.gnome.org/POT gedit/po gnome-3-34 +gedit gedit gtp l10n.gnome.org/POT gedit/po gnome-3-36 gedit gedit gtp l10n.gnome.org/POT gedit/po ghex ghex-3.0 gtp l10n.gnome.org/POT ghex/po +gimp gimp20 gtp l10n.gnome.org/POT gimp/po gimp-2-10 gimp gimp20 gtp l10n.gnome.org/POT gimp/po +gimp gimp20-libgimp gtp l10n.gnome.org/POT gimp/po-libgimp gimp-2-10 gimp gimp20-libgimp gtp l10n.gnome.org/POT gimp/po-libgimp +gimp gimp20-python gtp l10n.gnome.org/POT gimp/po-python gimp-2-10 gimp gimp20-python gtp l10n.gnome.org/POT gimp/po-python +gimp gimp20-script-fu gtp l10n.gnome.org/POT gimp/po-script-fu gimp-2-10 gimp gimp20-script-fu gtp l10n.gnome.org/POT gimp/po-script-fu +gimp gimp20-std-plug-ins gtp l10n.gnome.org/POT gimp/po-plug-ins gimp-2-10 gimp gimp20-std-plug-ins gtp l10n.gnome.org/POT gimp/po-plug-ins +gimp gimp20-tips gtp l10n.gnome.org/POT gimp/po-tips gimp-2-10 gimp gimp20-tips gtp l10n.gnome.org/POT gimp/po-tips glade glade gtp l10n.gnome.org/POT glade/po -glib-networking glib-networking gtp l10n.gnome.org/POT glib-networking/po glib-2-54 glib-networking glib-networking gtp l10n.gnome.org/POT glib-networking/po -glib2 glib20 gtp l10n.gnome.org/POT glib/po glib-2-54 glib2 glib20 gtp l10n.gnome.org/POT glib/po gnome-bluetooth gnome-bluetooth2 gtp l10n.gnome.org/POT gnome-bluetooth/po gnome-builder gnome-builder gtp l10n.gnome.org/POT gnome-builder/po -gnome-calculator gnome-calculator gtp l10n.gnome.org/POT gnome-calculator/po gnome-3-30 +gnome-calculator gnome-calculator gtp l10n.gnome.org/POT gnome-calculator/po gnome-3-34 gnome-calculator gnome-calculator gtp l10n.gnome.org/POT gnome-calculator/po -gnome-characters org.gnome.Characters gtp l10n.gnome.org/POT gnome-characters/po gnome-3-30 gnome-characters org.gnome.Characters gtp l10n.gnome.org/POT gnome-characters/po -gnome-clocks gnome-clocks gtp l10n.gnome.org/POT gnome-clocks/po gnome-3-30 +gnome-clocks gnome-clocks gtp l10n.gnome.org/POT gnome-clocks/po gnome-3-34 +gnome-clocks gnome-clocks gtp l10n.gnome.org/POT gnome-clocks/po gnome-3-36 gnome-clocks gnome-clocks gtp l10n.gnome.org/POT gnome-clocks/po gnome-color-manager gnome-color-manager gtp l10n.gnome.org/POT gnome-color-manager/po -gnome-contacts gnome-contacts gtp l10n.gnome.org/POT gnome-contacts/po gnome-3-30 +gnome-contacts gnome-contacts gtp l10n.gnome.org/POT gnome-contacts/po gnome-3-34 +gnome-contacts gnome-contacts gtp l10n.gnome.org/POT gnome-contacts/po gnome-3-36 gnome-contacts gnome-contacts gtp l10n.gnome.org/POT gnome-contacts/po -gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po gnome-3-30 +gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po gnome-3-34 +gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po gnome-3-36 gnome-control-center gnome-control-center-2.0 gtp l10n.gnome.org/POT gnome-control-center/po -gnome-control-center gnome-control-center-2.0-timezones gtp l10n.gnome.org/POT gnome-control-center/po gnome-3-30 +gnome-control-center gnome-control-center-2.0-timezones gtp l10n.gnome.org/POT gnome-control-center/po gnome-3-34 +gnome-control-center gnome-control-center-2.0-timezones gtp l10n.gnome.org/POT gnome-control-center/po gnome-3-36 gnome-control-center gnome-control-center-2.0-timezones gtp l10n.gnome.org/POT gnome-control-center/po -gnome-desktop gnome-desktop-3.0 gtp l10n.gnome.org/POT gnome-desktop/po gnome-3-30 +gnome-desktop gnome-desktop-3.0 gtp l10n.gnome.org/POT gnome-desktop/po gnome-3-34 +gnome-desktop gnome-desktop-3.0 gtp l10n.gnome.org/POT gnome-desktop/po gnome-3-36 gnome-desktop gnome-desktop-3.0 gtp l10n.gnome.org/POT gnome-desktop/po -gnome-disk-utility gnome-disk-utility gtp l10n.gnome.org/POT gnome-disk-utility/po gnome-3-30 +gnome-disk-utility gnome-disk-utility gtp l10n.gnome.org/POT gnome-disk-utility/po gnome-3-34 +gnome-disk-utility gnome-disk-utility gtp l10n.gnome.org/POT gnome-disk-utility/po gnome-3-36 gnome-disk-utility gnome-disk-utility gtp l10n.gnome.org/POT gnome-disk-utility/po -gnome-documents gnome-documents gtp l10n.gnome.org/POT gnome-documents/po gnome-3-30 gnome-documents gnome-documents gtp l10n.gnome.org/POT gnome-documents/po -gnome-initial-setup gnome-initial-setup gtp l10n.gnome.org/POT gnome-initial-setup/po gnome-3-30 +gnome-initial-setup gnome-initial-setup gtp l10n.gnome.org/POT gnome-initial-setup/po gnome-3-34 +gnome-initial-setup gnome-initial-setup gtp l10n.gnome.org/POT gnome-initial-setup/po gnome-3-36 gnome-initial-setup gnome-initial-setup gtp l10n.gnome.org/POT gnome-initial-setup/po +gnome-keyring gnome-keyring gtp l10n.gnome.org/POT gnome-keyring/po gnome-3-34 gnome-keyring gnome-keyring gtp l10n.gnome.org/POT gnome-keyring/po -gnome-logs gnome-logs gtp l10n.gnome.org/POT gnome-logs/po gnome-3-30 gnome-logs gnome-logs gtp l10n.gnome.org/POT gnome-logs/po -gnome-menus gnome-menus-3.0 gtp l10n.gnome.org/POT gnome-menus/po -gnome-music gnome-music gtp l10n.gnome.org/POT gnome-music/po gnome-3-30 -gnome-music gnome-music gtp l10n.gnome.org/POT gnome-music/po -gnome-online-accounts gnome-online-accounts gtp l10n.gnome.org/POT gnome-online-accounts/po gnome-3-30 +gnome-menus gnome-menus gtp l10n.gnome.org/POT gnome-menus/po +gnome-music org.gnome.Music gtp l10n.gnome.org/POT gnome-music/po gnome-3-34 +gnome-music org.gnome.Music gtp l10n.gnome.org/POT gnome-music/po gnome-3-36 +gnome-music org.gnome.Music gtp l10n.gnome.org/POT gnome-music/po +gnome-online-accounts gnome-online-accounts gtp l10n.gnome.org/POT gnome-online-accounts/po gnome-3-34 +gnome-online-accounts gnome-online-accounts gtp l10n.gnome.org/POT gnome-online-accounts/po gnome-3-36 gnome-online-accounts gnome-online-accounts gtp l10n.gnome.org/POT gnome-online-accounts/po gnome-packagekit gnome-packagekit gtp l10n.gnome.org/POT gnome-packagekit/po -gnome-photos gnome-photos gtp l10n.gnome.org/POT gnome-photos/po gnome-3-30 +gnome-photos gnome-photos gtp l10n.gnome.org/POT gnome-photos/po gnome-3-34 gnome-photos gnome-photos gtp l10n.gnome.org/POT gnome-photos/po gnome-power-manager gnome-power-manager gtp l10n.gnome.org/POT gnome-power-manager/po -gnome-screenshot gnome-screenshot gtp l10n.gnome.org/POT gnome-screenshot/po gnome-3-30 +gnome-screenshot gnome-screenshot gtp l10n.gnome.org/POT gnome-screenshot/po gnome-3-36 gnome-screenshot gnome-screenshot gtp l10n.gnome.org/POT gnome-screenshot/po +gnome-session gnome-session-3.0 gtp l10n.gnome.org/POT gnome-session/po gnome-3-34 gnome-session gnome-session-3.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-3-30 +gnome-settings-daemon gnome-settings-daemon gtp l10n.gnome.org/POT gnome-settings-daemon/po gnome-3-34 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-3-30 +gnome-shell gnome-shell gtp l10n.gnome.org/POT gnome-shell/po gnome-3-34 gnome-shell gnome-shell gtp l10n.gnome.org/POT gnome-shell/po -gnome-software gnome-software gtp l10n.gnome.org/POT gnome-software/po gnome-3-30 +gnome-software gnome-software gtp l10n.gnome.org/POT gnome-software/po gnome-3-34 gnome-software gnome-software gtp l10n.gnome.org/POT gnome-software/po +gnome-system-monitor gnome-system-monitor gtp l10n.gnome.org/POT gnome-system-monitor/po gnome-3-34 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-3-30 +gnome-terminal gnome-terminal gtp l10n.gnome.org/POT gnome-terminal/po gnome-3-34 +gnome-terminal gnome-terminal gtp l10n.gnome.org/POT gnome-terminal/po gnome-3-36 gnome-terminal gnome-terminal gtp l10n.gnome.org/POT gnome-terminal/po -gnome-tweak-tool gnome-tweak-tool gtp l10n.gnome.org/POT gnome-tweak-tool/po +gnome-weather org.gnome.Weather gtp l10n.gnome.org/POT gnome-weather/po gnome-3-34 gnome-weather org.gnome.Weather gtp l10n.gnome.org/POT gnome-weather/po -gnote gnote gtp l10n.gnome.org/POT gnote/po gnome-3-30 +gnote gnote gtp l10n.gnome.org/POT gnote/po gnome-3-34 gnote gnote gtp l10n.gnome.org/POT gnote/po grilo grilo gtp l10n.gnome.org/POT grilo/po grilo-plugins grilo-plugins gtp l10n.gnome.org/POT grilo-plugins/po +gsettings-desktop-schemas gsettings-desktop-schemas gtp l10n.gnome.org/POT gsettings-desktop-schemas/po gnome-3-34 gsettings-desktop-schemas gsettings-desktop-schemas gtp l10n.gnome.org/POT gsettings-desktop-schemas/po gspell gspell-1 gtp l10n.gnome.org/POT gspell/po gstreamer gstreamer-1.0 gtp l10n.gnome.org/POT gstreamer/po +gtk-vnc gtk-vnc gtp l10n.gnome.org/POT gtk-vnc/po gtk2 gtk20 gtp l10n.gnome.org/POT gtk+/po gtk-2-24 gtk2 gtk20 gtp l10n.gnome.org/POT gtk+/po gtk2 gtk20-properties gtp l10n.gnome.org/POT gtk+/po-properties gtk-2-24 gtk2 gtk20-properties gtp l10n.gnome.org/POT gtk+/po-properties -gtk3 gtk30 gtp l10n.gnome.org/POT gtk+/po gtk-3-22 gtk3 gtk30 gtp l10n.gnome.org/POT gtk+/po gtk-3-24 gtk3 gtk30 gtp l10n.gnome.org/POT gtk+/po -gtk3 gtk30-properties gtp l10n.gnome.org/POT gtk+/po gtk-3-22 gtk3 gtk30-properties gtp l10n.gnome.org/POT gtk+/po gtk-3-24 gtk3 gtk30-properties gtp l10n.gnome.org/POT gtk+/po gtksourceview gtksourceview-3.0 gtp l10n.gnome.org/POT gtksourceview/po -gvfs gvfs gtp l10n.gnome.org/POT gvfs/po gnome-3-30 +gvfs gvfs gtp l10n.gnome.org/POT gvfs/po gnome-3-34 gvfs gvfs gtp l10n.gnome.org/POT gvfs/po json-glib json-glib-1.0 gtp l10n.gnome.org/POT json-glib/po +libcryptui cryptui gtp l10n.gnome.org/POT libcryptui/po libgdata gdata gtp l10n.gnome.org/POT libgdata/po -libgnome libgnome-2.0 gtp l10n.gnome.org/POT libgnome/po libgnome-keyring libgnome-keyring gtp l10n.gnome.org/POT libgnome-keyring/po libgnomekbd libgnomekbd gtp l10n.gnome.org/POT libgnomekbd/po -libgnomeui libgnomeui-2.0 gtp l10n.gnome.org/POT libgnomeui/po libgsf libgsf gtp l10n.gnome.org/POT libgsf/po libgtop libgtop gtp l10n.gnome.org/POT libgtop/po +libgweather libgweather-3.0 gtp l10n.gnome.org/POT libgweather/po gnome-3-34 +libgweather libgweather-3.0 gtp l10n.gnome.org/POT libgweather/po gnome-3-36 libgweather libgweather-3.0 gtp l10n.gnome.org/POT libgweather/po -libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations gnome-3-30 +libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations gnome-3-34 +libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations gnome-3-36 libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations -libgweather libgweather-locations gtp l10n.gnome.org/POT libgweather/po-locations -libpeas libpeas gtp l10n.gnome.org/POT libpeas/po +libpeas libpeas-1.0 gtp l10n.gnome.org/POT libpeas/po libsecret libsecret gtp l10n.gnome.org/POT libsecret/po -libsoup libsoup gtp l10n.gnome.org/POT libsoup/po gnome-3-30 +libsoup libsoup gtp l10n.gnome.org/POT libsoup/po gnome-3-34 libsoup libsoup gtp l10n.gnome.org/POT libsoup/po -libwnck libwnck-3.0 gtp l10n.gnome.org/POT libwnck/po gnome-3-30 libwnck libwnck-3.0 gtp l10n.gnome.org/POT libwnck/po meld meld gtp l10n.gnome.org/POT meld/po mousetweaks mousetweaks gtp l10n.gnome.org/POT mousetweaks/po -mutter mutter gtp l10n.gnome.org/POT mutter/po gnome-3-30 +mutter mutter gtp l10n.gnome.org/POT mutter/po gnome-3-34 mutter mutter gtp l10n.gnome.org/POT mutter/po -nautilus nautilus gtp l10n.gnome.org/POT nautilus/po gnome-3-30 +nautilus nautilus gtp l10n.gnome.org/POT nautilus/po gnome-3-34 +nautilus nautilus gtp l10n.gnome.org/POT nautilus/po gnome-3-36 nautilus nautilus gtp l10n.gnome.org/POT nautilus/po -orca orca gtp l10n.gnome.org/POT orca/po gnome-3-30 +orca orca gtp l10n.gnome.org/POT orca/po gnome-3-34 +orca orca gtp l10n.gnome.org/POT orca/po gnome-3-36 orca orca gtp l10n.gnome.org/POT orca/po +plymouth plymouth gtp l10n.gnome.org/POT plymouth/po polkit polkit-1 gtp l10n.gnome.org/POT polkit/po pulseaudio pulseaudio gtp l10n.gnome.org/POT PulseAudio/po pulseaudio pulseaudio gtp l10n.gnome.org/POT Pulseaudio/po -seahorse seahorse gtp l10n.gnome.org/POT seahorse/po gnome-3-30 +seahorse seahorse gtp l10n.gnome.org/POT seahorse/po gnome-3-34 +seahorse seahorse gtp l10n.gnome.org/POT seahorse/po gnome-3-36 seahorse seahorse gtp l10n.gnome.org/POT seahorse/po shared-mime-info shared-mime-info gtp l10n.gnome.org/POT shared-mime-info/po -simple-scan simple-scan gtp l10n.gnome.org/POT simple-scan/po gnome-3-30 +simple-scan simple-scan gtp l10n.gnome.org/POT simple-scan/po gnome-3-34 +simple-scan simple-scan gtp l10n.gnome.org/POT simple-scan/po gnome-3-36 simple-scan simple-scan gtp l10n.gnome.org/POT simple-scan/po systemd systemd gtp l10n.gnome.org/POT systemd/po -totem totem gtp l10n.gnome.org/POT totem/po gnome-3-30 +totem totem gtp l10n.gnome.org/POT totem/po gnome-3-34 totem totem gtp l10n.gnome.org/POT totem/po totem-pl-parser totem-pl-parser gtp l10n.gnome.org/POT totem-pl-parser/po tracker tracker gtp l10n.gnome.org/POT tracker/po @@ -183,6 +210,5 @@ xdg-desktop-portal-gtk xdg-desktop-portal-gtk gtp l 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-3-30 yelp yelp gtp l10n.gnome.org/POT yelp/po zenity zenity gtp l10n.gnome.org/POT zenity/po