Bugzilla – Attachment 17494 Details for
Bug 10041
Provide a koha-translate script to aid package users on installing translations
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 10041 - Provide a koha-translate script to aid package users on installing translations
SIGNED-OFF-Bug-10041---Provide-a-koha-translate-sc.patch (text/plain), 11.37 KB, created by
Bernardo Gonzalez Kriegel
on 2013-04-17 00:02:26 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 10041 - Provide a koha-translate script to aid package users on installing translations
Filename:
MIME Type:
Creator:
Bernardo Gonzalez Kriegel
Created:
2013-04-17 00:02:26 UTC
Size:
11.37 KB
patch
obsolete
>From 7f547cda012ebb5402191f08030584110ad9dfa6 Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@gmail.com> >Date: Sat, 13 Apr 2013 21:10:33 -0300 >Subject: [PATCH] [SIGNED-OFF] Bug 10041 - Provide a koha-translate script to > aid package users on installing translations >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Until we have solved the packaging of koha template translations, provide a command that manages the installed translations in a proper way. > >To test, build a Debian package of current master+the patches from this bug :-D and try the many options running koha-translate --help provide. > >The command itself can be grabbed from a git checkout with this patch applied to test the script's funcionality. If it (and its docs) fits the package building stuff, I'll test on monday when I can be back on my workstation. > >Sponsored-by: Universidad Nacional de Córdoba > >Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> > >Comment: Good adition. Work as described. No errors. >Copied to /usr/local/bin. No errors on install, update, remove, list and check. >--- > debian/docs/koha-translate.xml | 79 +++++++++++++ > debian/koha-common.install | 1 + > debian/scripts/koha-translate | 256 ++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 336 insertions(+) > create mode 100644 debian/docs/koha-translate.xml > create mode 100755 debian/scripts/koha-translate > >diff --git a/debian/docs/koha-translate.xml b/debian/docs/koha-translate.xml >new file mode 100644 >index 0000000..e06dede >--- /dev/null >+++ b/debian/docs/koha-translate.xml >@@ -0,0 +1,79 @@ >+<article xmlns='http://docbook.org/ns/docbook'> >+<title>koha-translate</title> >+<info> >+<productname>Koha</productname> is the first free software library automation package. >+<author> >+ <orgname>The Koha Community</orgname> >+ <uri>http://koha-community.org/</uri> >+</author> >+</info> >+ >+<refentry xml:id="koha-translate"> >+ >+ <refmeta> >+ <refentrytitle>koha-translate</refentrytitle> >+ <manvolnum>8</manvolnum> >+ </refmeta> >+ >+ <refnamediv> >+ <refname>koha-translate</refname> >+ <refpurpose>Manage Koha templates translations</refpurpose> >+ <refclass>UNIX/Linux</refclass> >+ </refnamediv> >+ >+ <refsynopsisdiv> >+ <cmdsynopsis> >+ <command>koha-translate</command> <arg><option>-i</option>|<option>--install</option></arg> <arg><option>-u</option>|<option>--update</option></arg> <arg><option>-r</option>|<option>--remove</option></arg> <arg><option>-c</option>|<option>--check</option></arg> <arg choice="req" rep="norepeat"><replaceable>lang_code</replaceable></arg> >+ <command>koha-translate</command> <arg><option>-l</option>|<option>--list</option></arg> <arg><option>-a</option>|<option>--available</option></arg> >+ </cmdsynopsis> >+ </refsynopsisdiv> >+ >+ <refsect1><title>Options</title> >+ <variablelist> >+ <varlistentry> >+ <term><option>-a, --available</option></term> >+ <listitem> >+ <para>(For use with --list) List the available language translations.</para> >+ </listitem> >+ </varlistentry> >+ <varlistentry> >+ <term><option>-c, --check</option></term> >+ <listitem> >+ <para>Check if all the .PO files are present for the specified language.</para> >+ </listitem> >+ </varlistentry> >+ <varlistentry> >+ <term><option>-i, --install</option></term> >+ <listitem> >+ <para>Install the specified lang_code language translation.</para> >+ </listitem> >+ </varlistentry> >+ <varlistentry> >+ <term><option>-l, --list</option></term> >+ <listitem> >+ <para>List the installed or available (combined with -a) language translations.</para> >+ </listitem> >+ </varlistentry> >+ <varlistentry> >+ <term><option>-r, --remove</option></term> >+ <listitem> >+ <para>Remove the specified lang_code language translation.</para> >+ </listitem> >+ </varlistentry> >+ <varlistentry> >+ <term><option>-u, --update</option></term> >+ <listitem> >+ <para>Update the specified lang_code language translation.</para> >+ </listitem> >+ </varlistentry> >+ >+ </variablelist> >+ </refsect1> >+ >+ <refsect1><title>Description</title> >+ <para>Manage Koha templates translations.</para> >+ </refsect1> >+ >+</refentry> >+ >+</article> >diff --git a/debian/koha-common.install b/debian/koha-common.install >index 8288c39..0e542bb 100644 >--- a/debian/koha-common.install >+++ b/debian/koha-common.install >@@ -28,6 +28,7 @@ debian/scripts/koha-run-backups usr/sbin > debian/scripts/koha-shell usr/sbin > debian/scripts/koha-start-zebra usr/sbin > debian/scripts/koha-stop-zebra usr/sbin >+debian/scripts/koha-translate usr/sbin > debian/scripts/koha-upgrade-schema usr/sbin > debian/scripts/koha-upgrade-to-3.4 usr/sbin > debian/tmp_docbook/*.8 usr/share/man/man8 >diff --git a/debian/scripts/koha-translate b/debian/scripts/koha-translate >new file mode 100755 >index 0000000..0c731cf >--- /dev/null >+++ b/debian/scripts/koha-translate >@@ -0,0 +1,256 @@ >+#!/bin/sh >+# >+# koha-translate -- Manage Koha translations. >+# Copyright 2013 Tomás Cohen Arazi >+# Universidad Nacional de Córdoba >+# >+# This program is free software: you can redistribute it and/or modify >+# it under the terms of the GNU General Public License as published by >+# the Free Software Foundation, either version 3 of the License, or >+# (at your option) any later version. >+# >+# This program is distributed in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with this program. If not, see <http://www.gnu.org/licenses/>. >+ >+ >+set -e >+ >+usage() >+{ >+ local scriptname=$(basename $0) >+ >+ cat <<EOF >+$scriptname >+ >+This script lets you manage your Koha templates translations. >+ >+Usage: >+$scriptname --list|-l [--all|-a] >+$scriptname --check|-c language_code >+$scriptname --install|-i language_code >+$scriptname --update|-u language_code >+$scriptname --remove|-r language_code >+$scriptname -h >+ >+ -l | --list List the installed or available (combined with -a) >+ language translations >+ -a | --available Used in conjunction with -l to show all languages >+ -c | --check Check that the language .PO files are present >+ -i | --install Install the specified language translations >+ -u | --update Update the specified language translations >+ -r | --remove Remove the specified language translations >+ -h | --help Display this help message >+ >+EOF >+} >+ >+die() >+{ >+ echo "$@" 1>&2 >+ exit 1 >+} >+ >+list() >+{ >+ all=$1 >+ >+ if [ "$all" != "" ]; then >+ print_available >+ else >+ print_installed >+ fi >+} >+ >+print_available() >+{ >+ # Loop over only one opac theme >+ for i in $( ls $PO_DIR | grep opac-t-prog ); do >+ echo `basename $i -i-opac-t-prog-v-3006000.po` >+ done >+} >+ >+print_installed() >+{ >+ ls $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/prog/ | \ >+ grep -v -e images -e itemtypeimg >+} >+ >+install_lang() >+{ >+ lang=$1 >+ >+ if [ "$lang" != "" ]; then >+ >+ if [ "$lang" = "en" ]; then >+ die "Error: the default language (en) is already installed." >+ fi >+ >+ if print_available | grep -q $lang; then >+ if print_installed | grep -q $lang; then >+ die "Error: the selected language is already installed. Try --update if you want to re-install it." >+ else >+ # Check po files are present >+ check_lang_po_files $lang >+ env PERL5LIB="$KOHA_LIB_DIR:$TRANSLATE_DIR" KOHA_CONF="$KOHA_CONF_FILE"\ >+ $PERL_CMD $TRANSLATE_DIR/translate install $lang >+ fi >+ else >+ die "Error: the selected language is not currently available." >+ fi >+ >+ else >+ die "Error: no language code supplied." >+ fi >+} >+ >+update_lang() >+{ >+ lang=$1 >+ >+ if [ "$lang" != "" ]; then >+ >+ if [ "$lang" = "en" ]; then >+ die "Error: the default language (en) cannot be updated." >+ fi >+ >+ if print_installed | grep -q $lang; then >+ # Check po files are present >+ check_lang_po_files $lang >+ remove_lang $lang >+ install_lang $lang >+ else >+ die "Error: the selected language is not currently installed. Try --install." >+ fi >+ else >+ die "Error: no language code supplied." >+ fi >+} >+ >+remove_lang() >+{ >+ lang=$1 >+ >+ if [ "$lang" != "" ]; then >+ >+ if [ "$lang" = "en" ]; then >+ die "Error: the default language (en) cannot be removed." >+ fi >+ >+ if print_installed | grep -q $lang; then >+ rm -rf $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/prog/$lang >+ rm -rf $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/ccsr/$lang >+ rm -rf $KOHA_INSTALL_DIR/intranet/htdocs/intranet-tmpl/prog/$lang >+ else >+ die "Error: the selected language is not already installed." >+ fi >+ else >+ die "Error: no language code supplied." >+ fi >+} >+ >+check_lang_po_files() >+{ >+ lang=$1 >+ >+ po_files="$PO_DIR/$lang-i-opac-t-prog-v-3006000.po >+ $PO_DIR/$lang-opac-ccsr.po >+ $PO_DIR/$lang-i-staff-t-prog-v-3006000.po >+ $PO_DIR/$lang-pref.po" >+ >+ if [ "$lang" != "" ]; then >+ >+ for po_file in $po_files; do >+ if [ ! -f $po_file ]; then >+ die "Error: $po_file not found." >+ fi >+ done >+ else >+ die "Error: no language code supplied." >+ fi >+} >+ >+set_action() >+{ >+ if [ "$op" = "" ]; then >+ op=$1 >+ else >+ die "Error: only one action can be specified." >+ fi >+} >+ >+# Global PATH variables >+KOHA_INSTALL_DIR="/usr/share/koha" >+KOHA_LIB_DIR="/usr/share/koha/lib" >+KOHA_CONF_FILE="/etc/koha/koha-conf-site.xml.in" >+TRANSLATE_DIR="$KOHA_INSTALL_DIR/misc/translator" >+PO_DIR="$TRANSLATE_DIR/po" >+PERL_CMD=`which perl` >+ >+# Control variables >+list_all="" >+op="" >+language="" >+ >+# We accept at most 2 parameters >+[ $# -ge 1 ] && [ $# -le 3 ] || ( usage ; die "Error: wrong parameters" ) >+ >+# Read parameters >+while [ $# -gt 0 ]; do >+ >+ case "$1" in >+ -h|--help) >+ op="help" >+ break ;; >+ -c|--check) >+ set_action "check" >+ shift ;; >+ -i|--install) >+ set_action "install" >+ shift ;; >+ -u|--update) >+ set_action "update" >+ shift ;; >+ -r|--remove) >+ set_action "remove" >+ shift ;; >+ -l|--list) >+ set_action "list" >+ shift ;; >+ -a|--available) >+ list_all=1 >+ shift ;; >+ -*) >+ usage >+ die "Error: unknown parameter $1." ;; >+ *) >+ language=$1 >+ shift ;; >+ esac >+ >+done >+ >+# Process the requested actions >+case $op in >+ "help") >+ usage ;; >+ "list") >+ list $list_all ;; >+ "install") >+ install_lang $language ;; >+ "update") >+ update_lang $language ;; >+ "remove") >+ remove_lang $language ;; >+ "check") >+ check_lang_po_files $language ;; >+ *) >+ usage >+ die "Error: wrong parameters..." ;; >+esac >+ >+exit 0 >-- >1.7.9.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10041
:
17411
|
17462
|
17469
|
17472
|
17473
| 17494