aboutsummaryrefslogtreecommitdiffstats
path: root/check_for_translation_work.sh
diff options
context:
space:
mode:
authorRemco Rijnders <remmy@mageia.org>2012-08-16 05:38:14 +0000
committerRemco Rijnders <remmy@mageia.org>2012-08-16 05:38:14 +0000
commit409f271839b956e2de7fe2811f9640d343e52840 (patch)
treeea6ca3b59dbaa03a25510076e73189e0d41f93a9 /check_for_translation_work.sh
downloadtools-409f271839b956e2de7fe2811f9640d343e52840.tar
tools-409f271839b956e2de7fe2811f9640d343e52840.tar.gz
tools-409f271839b956e2de7fe2811f9640d343e52840.tar.bz2
tools-409f271839b956e2de7fe2811f9640d343e52840.tar.xz
tools-409f271839b956e2de7fe2811f9640d343e52840.zip
Initial import of translation work script
Diffstat (limited to 'check_for_translation_work.sh')
-rwxr-xr-xcheck_for_translation_work.sh417
1 files changed, 417 insertions, 0 deletions
diff --git a/check_for_translation_work.sh b/check_for_translation_work.sh
new file mode 100755
index 00000000..faadf3ea
--- /dev/null
+++ b/check_for_translation_work.sh
@@ -0,0 +1,417 @@
+#!/bin/bash
+# turn tracing on with /bin/bash -x
+#
+# Check for translation work by checking out / updating from SVN and
+# displaying the project name when your language.po has fuzzy strings or
+# empty string messages.
+#
+# Remco Rijnders, 2012
+# Filip Komar, 30.04.2012 added svn_method choice & quiet_mode from svn
+# , 03.05.2012 added check_po_syntax choice & copying_po
+# , 04.05.2012 changed svn quiet to only grep language_file and *.pot file, added logging
+# , 15.06.2012 added web pages for translation, added _ in variable_names
+# , 21.06.2012 added mga2
+# , 23.06.2012 added mkdir, diff
+# , 27.06.2012 filename spaces refactoring, some bug solving
+# , 28.06.2012 some more bug solving
+# , 29.06.2012 added diff to working translation
+# , 03.07.2012 added checking for new pot files in svn
+#
+#
+# Features:
+# -it's very configurable
+# -it logs all important actions
+# -it operates on list of "translation projects" in svn (including web pages)
+# -svn checkout or update as needed on every single project
+# -verbose checking for fuzzy and untranslated strings or just statistics (numbers of translated, fuzzy and untranslated strings) if required
+# -checking the syntax of po file from svn if required
+# -checking the syntax of pot file from svn if required
+# -copying the *.pot file, *.po file and web page files for editing in working directory if required
+# -testing for differences of *.po file from working copy if required
+# -testing for differences of *.pot file from working copy if required
+# -searching for new *.pot files in svn
+
+
+
+
+
+# TODO:
+# implement --password ARG to simplify svn authentication if used
+# simplify web copying part
+# more tests if target folder exist
+#
+# How to svn co single file (file.pot):
+# svn checkout $url_of_big_dir $target_dir --depth=empty
+# svn up $target_dir/$file_you_want
+# testing web pages checkout
+# better documentation
+#
+# Configuration:
+language_code=sl
+user=filip
+
+# use existing folders
+svn_folder="/home/filip/Dokumenti/Prevodi programov/Mageia/svn_anonymous"
+working_translations_folder="/home/filip/Dokumenti/Prevodi programov/Mageia"
+
+# choose svn method (user or anonymous)
+#svn_method="svn+ssh://$user@"
+svn_method="svn://"
+
+# choose quiet mode or normal
+#quiet_mode="-q"
+quiet_mode=""
+
+# set checking syntax of po files with 1
+check_po_syntax=1
+
+# set checking syntax of pot files with 1
+check_pot_syntax=0
+
+# set checking of fuzzy and untranslated strings with 1
+check_fuzzy_and_untranslated=0
+
+# set copying of po files with 1
+copying_po=1
+
+# set copying of web page files with 1
+copying_wp=1
+
+# set copying options (-i: interactive, -v: verbose, -u: update, -r: recursive)
+copy_options="-ivur"
+
+# choose log filename
+log_filename="updated_translations_in_svn"
+log_folder="$svn_folder"
+logfile="$svn_folder/$log_filename"
+# switch of logging by uncommenting following line
+#logfile="/dev/null"
+
+# set debug with 1
+debug=0
+
+# set searching for new *.pot files in svn with 1
+searching_for_new_pot_files_in_svn=0
+
+# if you do have svn commit access, change the protocol from svn:// to svn+ssh://USERNAME@ in the projects array for easier committing...
+declare -A projects
+declare -A web_pages
+projects[control-center]="svn.mageia.org/svn/soft/control-center/trunk/po/"
+if [ ! $debug -eq 1 ]; then
+ projects[desktop-common-data]="svn.mageia.org/svn/soft/desktop-common-data/trunk/po/"
+ projects[drak3d]="svn.mageia.org/svn/soft/drak3d/trunk/po/"
+ projects[drakguard]="svn.mageia.org/svn/soft/drakguard/trunk/po/"
+ projects[draklive-install]="svn.mageia.org/svn/soft/draklive-install/trunk/po/"
+ projects[drakmenustyle]="svn.mageia.org/svn/soft/drakmenustyle/trunk/po/"
+ projects[drakpxelinux]="svn.mageia.org/svn/soft/drakpxelinux/trunk/po/"
+ projects[drakwizard]="svn.mageia.org/svn/soft/drakwizard/trunk/po/"
+ projects[drakx-kbd-mouse-x11]="svn.mageia.org/svn/soft/drakx-kbd-mouse-x11/trunk/po/"
+ projects[drakx-net]="svn.mageia.org/svn/soft/drakx-net/trunk/po/"
+ projects[drakx_help]="svn.mageia.org/svn/soft/drakx/trunk/perl-install/install/help/po/" # new
+ projects[drakx_install]="svn.mageia.org/svn/soft/drakx/trunk/perl-install/install/share/po/"
+ projects[drakx_share]="svn.mageia.org/svn/soft/drakx/trunk/perl-install/share/po/"
+ projects[drakx_standalone]="svn.mageia.org/svn/soft/drakx/trunk/perl-install/standalone/po/"
+# projects[epoll]="forge.ipsl.jussieu.fr/epoll/svn/"
+ projects[identity]="svn.mageia.org/svn/soft/identity/CatDap/trunk/lib/CatDap/I18N/"
+ projects[indexhtml_about]="svn.mageia.org/svn/soft/indexhtml/trunk/about/po/"
+ projects[indexhtml]="svn.mageia.org/svn/soft/indexhtml/trunk/po/"
+ projects[kde4-splash-mga]="svn.mageia.org/svn/soft/kde4-splash-mga/trunk/po/"
+# not needed after finished translation mageia-kde4-config/trunk/kde4-profiles/Default/share/apps/plasma/layout-templates/org.mageia.plasma-desktop.classicPanel/metadata.desktop
+# not needed after finished translation mageia-kde4-config/trunk/kde4-profiles/Default/share/apps/plasma/layout-templates/org.mageia.plasma-desktop.defaultPanel/metadata.desktop
+ projects[mageia-gfxboot-theme_help-boot]="svn.mageia.org/svn/soft/theme/mageia-gfxboot-theme/trunk/help-boot/" # new
+ projects[mageia-gfxboot-theme_help-install]="svn.mageia.org/svn/soft/theme/mageia-gfxboot-theme/trunk/help-install/" # new
+ projects[mageia-gfxboot-theme]="svn.mageia.org/svn/soft/theme/mageia-gfxboot-theme/trunk/po/"
+ projects[mageia-kde-translation]="svn.mageia.org/svn/soft/mageia-kde-translation/trunk/po/"
+ projects[mgaonline]="svn.mageia.org/svn/soft/mgaonline/trunk/po/" # new
+ projects[rpmdrake]="svn.mageia.org/svn/soft/rpmdrake/trunk/po/"
+ projects[system-config-printer]="svn.mageia.org/svn/soft/system-config-printer/trunk/po/"
+ projects[transfugdrake]="svn.mageia.org/svn/soft/transfugdrake/trunk/po/"
+ projects[urpmi]="svn.mageia.org/svn/soft/rpm/urpmi/trunk/po/"
+# is this alive: usbdumper/trunk/po/liveusb-creator.pot
+ projects[userdrake2]="svn.mageia.org/svn/soft/userdrake2/trunk/po/"
+
+# BRANCH 2:
+ projects[control-center_mga2]="svn.mageia.org/svn/soft/control-center/branches/2/po/"
+#2? projects[desktop-common-data_mga2]="svn.mageia.org/soft/desktop-common-data/tags/1:2-4/po/"
+# N/A projects[drak3d_mga2]="svn.mageia.org/svn/soft/drak3d/branches/2/po/"
+# N/A projects[drakguard_mga2]="svn.mageia.org/svn/soft/drakguard/branches/2/po/"
+ projects[draklive-install_mga2]="svn.mageia.org/svn/soft/draklive-install/branches/2/po/"
+# N/A projects[drakmenustyle_mga2]="svn.mageia.org/svn/soft/drakmenustyle/branches/2/po/"
+# N/A projects[drakpxelinux_mga2]="svn.mageia.org/svn/soft/drakpxelinux/branches/2/po/"
+# N/A projects[drakwizard_mga2]="svn.mageia.org/svn/soft/drakwizard/branches/2/po/"
+# N/A projects[drakx-kbd-mouse-x11_mga2]="svn.mageia.org/svn/soft/drakx-kbd-mouse-x11/branches/2/po/"
+ projects[drakx-net_mga2]="svn.mageia.org/svn/soft/drakx-net/branches/2/po/"
+ projects[drakx_help_mga2]="svn.mageia.org/svn/soft/drakx/branches/2/perl-install/install/help/po/"
+ projects[drakx_install_mga2]="svn.mageia.org/svn/soft/drakx/branches/2/perl-install/install/share/po/"
+ projects[drakx_share_mga2]="svn.mageia.org/svn/soft/drakx/branches/2/perl-install/share/po/"
+ projects[drakx_standalone_mga2]="svn.mageia.org/svn/soft/drakx/branches/2/perl-install/standalone/po/"
+#? projects[identity_mga2]="svn.mageia.org/svn/soft/identity/CatDap/branches/live/lib/CatDap/I18N/"
+# N/A projects[indexhtml_mga2]="svn.mageia.org/svn/soft/indexhtml/branches/2/po/"
+# N/A projects[kde4-splash-mga_mga2]="svn.mageia.org/svn/soft/kde4-splash-mga/branches/2/po/"
+ projects[mageia-gfxboot-theme_help-boot_mga2]="svn.mageia.org/svn/soft/theme/mageia-gfxboot-theme/branches/2/help-boot/" # new
+ projects[mageia-gfxboot-theme_help-install_mga2]="svn.mageia.org/svn/soft/theme/mageia-gfxboot-theme/branches/2/help-install/" # new
+ projects[mageia-gfxboot-theme_mga2]="svn.mageia.org/svn/soft/theme/mageia-gfxboot-theme/branches/2/po/"
+# mageia-kde4-config/branches/2/kde4-profiles/Default/share/apps/plasma/layout-templates/org.mageia.plasma-desktop.classicPanel/metadata.desktop
+# mageia-kde4-config/branches/2/kde4-profiles/Default/share/apps/plasma/layout-templates/org.mageia.plasma-desktop.defaultPanel/metadata.desktop
+# N/A projects[mageia-kde-translation_mga2]="svn.mageia.org/svn/soft/mageia-kde-translation/branches/2/po/"
+# N/A projects[rpmdrake_mga2]="svn.mageia.org/svn/soft/rpmdrake/branches/2/po/"
+# N/A projects[system-config-printer_mga2]="svn.mageia.org/svn/soft/system-config-printer/branches/2/po/"
+# N/A projects[transfugdrake_mga2]="svn.mageia.org/svn/soft/transfugdrake/branches/2/po/"
+ projects[urpmi_mga2]="svn.mageia.org/svn/soft/rpm/urpmi/branches/2/po/"
+# N/A projects[userdrake2_mga2]="svn.mageia.org/svn/soft/userdrake2/branches/2/po/"
+
+# BRANCH 1:
+# not "cleaned" yet
+# control-center/branches/1/po/drakconf.pot
+# desktop-common-data/tags/1:2-4/po/desktop-common-data.pot
+# drak3d/branches/1/po/drak3d.pot
+# drakguard/branches/1/po/drakguard.pot
+# draklive-install/branches/1/po/draklive-install.pot
+# drakmenustyle/branches/1/po/drakmenustyle.pot
+# drakpxelinux/branches/1/po/drakpxelinux.pot
+# drakwizard/branches/1/po/drakwizard.pot
+# drakx/branches/1/perl-install/install/help/po/DrakX-help.pot
+# drakx/branches/1/perl-install/install/share/po/DrakX.pot
+# drakx/branches/1/perl-install/share/po/libDrakX.pot
+# drakx/branches/1/perl-install/standalone/po/libDrakX-standalone.pot
+# drakx-kbd-mouse-x11/branches/1/po/drakx-kbd-mouse-x11.pot
+# drakx-net/branches/1/po/drakx-net.pot
+# indexhtml/branches/1/about/po/index.pot
+# indexhtml/branches/1/po/indexhtml.pot
+# kde4-splash-mga/branches/1/po/kde4-splash-mga.pot
+# mageia-kde-translation/branches/1/po/mageia-kde-translation.pot
+# mgaonline/branches/1/po/mdkonline.pot
+# rpm/urpmi/branches/1/po/urpmi.pot
+# rpmdrake/branches/1/po/rpmdrake.pot
+# system-config-printer/branches/1/po/system-config-printer.pot
+# theme/mageia-gfxboot-theme/branches/1/po/bootloader.pot
+# transfugdrake/branches/1/po/transfugdrake.pot
+# userdrake2/branches/1/po/userdrake.pot
+# userdrake2/tags/1.13.3/po/userdrake.pot
+
+# WEB PAGES:
+ web_pages[web_page_navigation]="svn.mageia.org/svn/web/www/trunk/_nav/langs/"
+ web_pages[web_page_navigation_2]="svn.mageia.org/svn/web/nav/langs/"
+ web_pages[web_page_english]="svn.mageia.org/svn/web/www/trunk/en/"
+ web_pages[web_page_my_language]="svn.mageia.org/svn/web/www/trunk/$language_code/"
+ web_pages[web_pages_lang]="svn.mageia.org/svn/web/www/trunk/langs/"
+fi
+
+
+#pwd # debug
+#echo 1 # debug
+# save pwd to saved_dir
+saved_dir=$(pwd)
+
+mv "$logfile"_this_run.log "$logfile"_previous_run.log
+separator="-----------------------------------------------------"
+
+echo "" | tee -a "$logfile"_this_run.log
+echo "" | tee -a "$logfile"_this_run.log
+date | tee -a "$logfile"_this_run.log
+echo "SW files:" | tee -a "$logfile"_this_run.log
+
+# echo about checking the syntax of po file if required
+ if [ $check_po_syntax -eq 1 ]; then
+ echo "Syntax of $language_code.po in svn will be tested."
+ fi
+
+# echo about copying the *.pot file and $language_code.po for editing in apropriate directory if required
+ if [ $copying_po -eq 1 ]; then
+ echo "Files *.pot and $language_code.po will be copied into apropriate directory."
+ fi
+
+# Check out / update project files
+for project_name in "${!projects[@]}"
+do
+ echo $separator | tee -a "$logfile"_this_run.log
+ echo Working on: \'$project_name\' from \'${projects[$project_name]}\'. | tee -a "$logfile"_this_run.log
+ if [ -d $project_name ]; then
+ cd "$svn_folder/$project_name"
+# svn up $quiet_mode $project_name
+# just echo $language_code.po or *.pot file line if they are updated
+ svn up | grep -E "$language_code.po|[\.]pot" | tee -a "$logfile"_this_run.log
+# svn up $project_name | tee -a "$logfile"_this_run.log #2
+# echo -n "" # debug
+ else
+ cd "$svn_folder"
+# svn co -q ${projects[$project_name]} $project_name
+# svn co $quiet_mode $svn_method${projects[$project_name]} $project_name
+# just echo $language_code.po or *.pot file line if they are updated
+ svn co $svn_method${projects[$project_name]} $project_name | grep -E "$language_code.po|[\.]pot" | tee -a "$logfile"_this_run.log
+# echo -n "" # debug
+ cd "$svn_folder/$project_name"
+ fi
+# pwd # debug
+# echo 3 # debug
+
+# verbose checking for fuzzy and untranslated strings
+ if [ $check_fuzzy_and_untranslated -eq 1 ]; then
+ msgattrib $language_code.po --only-fuzzy --no-obsolete
+ msgattrib $language_code.po --untranslated --no-obsolete
+ fi
+
+# checking the syntax of po file if required
+ if [ $check_po_syntax -eq 1 ]; then
+ if [ -f $language_code.po ]; then
+ msgfmt --statistics --verbose -c $language_code.po -o $language_code.po.mo 2>&1 | tee -a "$logfile"_this_run.log
+ rm $language_code.po.mo
+ else
+ echo "File $language_code.po is not present in $project_name. Automatic test is not possible." | tee -a "$logfile"_this_run.log
+ fi
+# checking the syntax of po file if required
+ if [ $check_pot_syntax -eq 1 ]; then
+ if [ -f *.pot ]; then
+ msgfmt -c *.pot -o pot.mo 2>&1 | tee -a "$logfile"_this_run.log
+ rm pot.mo
+ else
+ echo "File *.pot is not present in $project_name. Automatic test is not possible." | tee -a "$logfile"_this_run.log
+ fi
+ fi
+ fi
+
+# copying the *.pot file and $language_code.po for editing in working directory if required
+ if [ $copying_po -eq 1 ]; then
+ if [ ! -d "$working_translations_folder/$project_name/" ]; then
+ mkdir -v "$working_translations_folder/$project_name/" | tee -a "$logfile"_this_run.log
+ fi
+ if [ -f $language_code.po ]; then
+# testing for differences of *.po file from working copy
+ if [ -f "$working_translations_folder/$project_name/$language_code.po" ]; then
+ diff -q $language_code.po "$working_translations_folder/$project_name/$language_code.po" | tee -a "$logfile"_this_run.log
+ fi
+ cp $copy_options $language_code.po "$working_translations_folder/$project_name/" | tee -a "$logfile"_this_run.log
+ else
+ echo "File $language_code.po is not present in $project_name. Copying is not possible." | tee -a "$logfile"_this_run.log
+ fi
+ if [ -f *.pot ]; then
+# testing for differences of *.pot file from working copy
+ if [ -f "$working_translations_folder/$project_name/"*.pot ]; then
+ diff -q *.pot "$working_translations_folder/$project_name/"*.pot | tee -a "$logfile"_this_run.log
+ fi
+ cp $copy_options *.pot "$working_translations_folder/$project_name/" | tee -a "$logfile"_this_run.log
+# set -x # turn tracing on with set -x
+ cd "$working_translations_folder/$project_name/"
+ if [ -f *.pot_$language_code.po ]; then
+# creating new_pot_lang.po from latest *.pot file
+ msgmerge -q *.pot_$language_code.po *.pot > new_pot_$language_code.po # msgmerge *.pot_lang.po *.pot > new_pot_lang.po
+# comparing new_pot_lang.po from working copy
+ diff -q *.pot_$language_code.po new_pot_$language_code.po | tee -a "$logfile"_this_run.log
+# diff -q $language_code.po new_pot_$language_code.po | tee -a "$logfile"_this_run.log
+ diff_exit_status_1=${PIPESTATUS[0]} # this reads and remembers exit status of first command in pipe (diff in this case)
+# if [ $? -eq 0 ]; then
+ if [ $diff_exit_status_1 -eq 0 ]; then # no differences
+ rm new_pot_$language_code.po # remove resulting file
+# echo Between *.pot_$language_code.po and new_pot_$language_code.po there are no differences.
+ else
+ if [ $diff_exit_status_1 -eq 1 ]; then # there are differences
+ echo Replace existing file *.pot_$language_code.po with new_pot_$language_code.po in $project_name since there are differences. | tee -a "$logfile"_this_run.log
+ else
+ echo There was an error in diff between *.pot_$language_code.po and new_pot_$language_code.po in $project_name.
+ fi
+ fi
+# comparing svn lang.po from working copy lang.po
+ if [ -f $language_code.po ]; then
+ diff -q *.pot_$language_code.po $language_code.po | tee -a "$logfile"_this_run.log
+ diff_exit_status_2=${PIPESTATUS[0]} # this reads and remembers exit status of first command in pipe (diff in this case)
+ # if [ $? -eq 0 ]; then
+ if [ $diff_exit_status_2 -eq 1 ]; then # there are differences
+ echo New commit will be needed when the file *.pot_$language_code.po is ready in $project_name. | tee -a "$logfile"_this_run.log
+ else
+ if [ $diff_exit_status_2 -eq 2 ]; then # there was an error
+ echo There was an error in diff between file *.pot_$language_code.po and $language_code.po in $project_name.
+ fi
+ fi
+ fi
+ else
+ echo "File *.pot_$language_code.po is not present in $project_name. Comparing is not possible." | tee -a "$logfile"_this_run.log
+ fi
+# set +x # turn tracing off with set +x
+ else
+ echo "File *.pot is not present in $project_name. Copying is not possible." | tee -a "$logfile"_this_run.log
+ fi
+# echo "Files *.pot and $language_code.po copied into $working_translations_folder/$project_name/."
+ fi
+ cd "$svn_folder/"
+ echo "" | tee -a "$logfile"_this_run.log
+done
+
+# Check out / update web_page files
+echo "web page files:" | tee -a "$logfile"_this_run.log
+for web_page_name in "${!web_pages[@]}"
+do
+ echo $separator | tee -a "$logfile"_this_run.log
+ echo Working on: "$web_page_name" from "${web_pages[$web_page_name]}". | tee -a "$logfile"_this_run.log # \'
+# turn tracing on with set -x
+# set -x
+ if [ -d "$svn_folder/$web_page_name/" ]; then
+ cd "$svn_folder/$web_page_name"
+# svn up $quiet_mode $web_page_name
+# just echo $language_code.lang or *.php file line if they are updated
+ svn up | grep -E "$language_code.lang|en.lang|[\.]php" | tee -a "$logfile"_this_run.log
+# echo -n "" # debug
+ else
+ cd "$svn_folder/"
+# svn co -q ${web_pages[$web_page_name]} $web_page_name
+# svn co $quiet_mode $svn_method${web_pages[$web_page_name]} $web_page_name
+# just echo $language_code.lang or *.php file line if they are updated
+ svn co $svn_method${web_pages[$web_page_name]} $web_page_name | grep -E "$language_code.lang|en.lang|[\.]php" | tee -a "$logfile"_this_run.log
+ echo -n "" | tee -a "$logfile"_this_run.log
+ cd "$svn_folder/$web_page_name"
+ fi
+ echo "" | tee -a "$logfile"_this_run.log
+done
+
+
+#copying the *.php file and $language_code.lang for editing in upper directory if required
+if [ $copying_wp -eq 1 ]; then
+ echo $separator | tee -a "$logfile"_this_run.log
+# echo about copying the *.php file and $language_code.lang for editing in upper directory if required
+ echo "Web files will be copied (updated) into working translations directory."
+ cd "$svn_folder"
+ cp $copy_options ./web_page_english/index.php "$working_translations_folder/web_page_english/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/2/download_index.php "$working_translations_folder/web_page_english/2/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/2/index.php "$working_translations_folder/web_page_english/2/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/2/nav.php "$working_translations_folder/web_page_english/2/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/about/index.php "$working_translations_folder/web_page_english/about/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/for-pc/index.php "$working_translations_folder/web_page_english/for-pc/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/for-server/index.php "$working_translations_folder/web_page_english/for-server/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/map/index.php "$working_translations_folder/web_page_english/map/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_english/support/index.php "$working_translations_folder/web_page_english/support/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_my_language/about/2010-sept-announcement.html "$working_translations_folder/web_page_my_language/about/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_pages_lang/en/* "$working_translations_folder/web_pages_lang/en/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_pages_lang/$language_code/* "$working_translations_folder/web_pages_lang/$language_code/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_navigation/fr.lang "$working_translations_folder/web_page_navigation/" | tee -a "$logfile"_this_run.log
+ cp $copy_options ./web_page_navigation/$language_code.lang "$working_translations_folder/web_page_navigation/" | tee -a "$logfile"_this_run.log
+fi
+# turn tracing off with set +x
+# set +x
+
+diff -rq "$svn_folder/web_page_navigation" "$svn_folder/web_page_navigation_2" | grep -E ".lang" | tee -a "$logfile"_this_run.log
+
+if [ $searching_for_new_pot_files_in_svn -eq 1 ]; then
+ echo $separator | tee -a "$logfile"_this_run.log
+ echo "Searching for new *.pot files in svn." | tee -a "$logfile"_this_run.log
+ mv "$log_folder"/new_svn_list_of_pot_files "$log_folder"/old_svn_list_of_pot_files # -f
+ svn list -R svn://svn.mageia.org/svn/soft/ > "$log_folder"/svn_list
+ cat "$log_folder"/svn_list | grep [\.]pot > "$log_folder"/new_svn_list_of_pot_files
+# svn list -R svn://svn.mageia.org/svn/soft/ | grep [\.]pot > new_svn_list_of_pot_files
+ diff new_svn_list_of_pot_files old_svn_list_of_pot_files | tee -a "$logfile"_this_run.log
+ if [ ${PIPESTATUS[0]} -eq 0 ]; then # this reads exit status of first command in pipe
+ echo "No new *.pot files found." | tee -a "$logfile"_this_run.log
+ fi
+ echo "" | tee -a "$logfile"_this_run.log
+fi
+
+
+# append this_run_log to full_log
+cat "$logfile"_this_run.log >> "$logfile"_full.log
+echo "" | tee -a "$logfile".log
+echo $separator | tee -a "$logfile".log
+echo "Differences from last run:" | tee -a "$logfile".log
+# show only differences and log them
+diff "$logfile"_this_run.log "$logfile"_previous_run.log | tee -a "$logfile".log
+
+# restore saved_dir
+cd "$saved_dir"
+pwd