[Koha-patches] [PATCH] Bug 10942: Provide a way for package upgrades to update template translations

Tomas Cohen Arazi tomascohen at gmail.com
Thu Jan 9 16:54:06 CET 2014


This patch adds a new config variable AUTOMATIC_TRANSLATIONS_UPDATE at
/etc/default/koha-common that is used to control whether the upgrade
process should trigger a

 $ koha-translate --update <lang_code>

command for each installed template translation language.

To test:
- Have a koha-common setup with some languages installed
  (e.g. koha-translate --install es-ES)
- Apply the patch and build a package for it.
- Install it.
- A new AUTOMATIC_TRANSLATIONS_UPDATE config variable should be in place
  at /etc/default/koha-common
- Set AUTOMATIC_TRANSLATIONS_UPDATE to 'yes'
- Re-install the package to trigger the post-install script
- Verify that translations get updated.

Edit: added a warning message for the case AUTOMATIC_TRANSLATIONS_UPDATE=no
and there are translations installed (so they need to get updated).

Regards
To+

Sponsored-by: Universidad Nacional de Cordoba
---
 debian/koha-common.default  | 13 +++++++++++++
 debian/koha-common.postinst | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)

diff --git a/debian/koha-common.default b/debian/koha-common.default
index d572f17..cbc6eba 100644
--- a/debian/koha-common.default
+++ b/debian/koha-common.default
@@ -1,3 +1,16 @@
 ## General koha-common default options
 
 PERL5LIB="/usr/share/koha/lib"
+
+## Automatic template translation update
+#
+# This variable controls whether template translations should
+# be updated automatically on koha-common package upgrades.
+# Options: 'yes'
+#          'no'  (default)
+# Note: if you choose 'no' then you will have to issue
+#  $ koha-translate --update <lang_code>
+#
+#AUTOMATIC_TRANSLATIONS_UPDATE="no"
+
+## End of general koha-common default options
diff --git a/debian/koha-common.postinst b/debian/koha-common.postinst
index 7fa4513..b76cf57 100644
--- a/debian/koha-common.postinst
+++ b/debian/koha-common.postinst
@@ -2,8 +2,17 @@
 
 set -e
 
+NAME="koha-common"
+# Default to "no"
+AUTOMATIC_TRANSLATIONS_UPDATE="no"
+
 . /usr/share/debconf/confmodule
 
+# Read configuration variable file if it is present
+if [ -r /etc/default/$NAME ]; then
+    . /etc/default/$NAME
+fi
+
 conf=/etc/mysql/koha-common.cnf
 if [ ! -e "$conf" ] && [ ! -L "$conf" ]
 then
@@ -14,6 +23,30 @@ fi
 
 koha-upgrade-schema $(koha-list)
 
+if [ "$AUTOMATIC_TRANSLATIONS_UPDATE" = "yes" ]; then
+    for lang in $(koha-translate --list | grep -v -x "en"); do
+        if koha-translate --update $lang; then
+            echo "Updated the $lang translations."
+        else
+            cat <<EOF
+ERROR: an error was found when updating '$lang' translations. Please manually
+run 'koha-translate --update $lang'. Run man koha-translate for more options.
+EOF
+        fi
+    done
+else
+    # no auto-update, check update needed and warn if needed
+    if koha-translate --list | grep -v -q -x "en"; then
+        # translations installed, update needed
+        cat <<EOF
+Warning: template translations are not set to be automatically updated.
+Please manually run 'koha-translate --update lang_code' to update them.
+
+You can run 'koha-translate --list' to get a list of the installed translations codes.
+EOF
+    fi
+fi
+
 db_stop
 
 exit 0
-- 
1.8.3.2



More information about the Koha-patches mailing list