3 # koha-translate -- Manage Koha translations.
4 # Copyright 2013 Tomás Cohen Arazi
5 # Universidad Nacional de Córdoba
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 local scriptname=$(basename $0)
30 This script lets you manage your Koha templates translations.
33 $scriptname --list|-l [--available|-a]
34 $scriptname --check|-c language_code
35 $scriptname --install|-i language_code
36 $scriptname --update|-u language_code
37 $scriptname --remove|-r language_code
40 -l | --list List the installed or available (combined with -a)
42 -a | --available Used in conjunction with -l to show all languages
43 -c | --check Check that the language .PO files are present
44 -i | --install Install the specified language translations
45 -u | --update Update the specified language translations
46 -r | --remove Remove the specified language translations
47 -v | --verbose Be more verbose on the translation process
48 -h | --help Display this help message
63 if [ "$all" != "" ]; then
72 # Loop over only one opac theme
73 for i in $( ls $PO_DIR | grep opac-t-prog ); do
74 echo `basename $i -i-opac-t-prog-v-3006000.po` | \
81 ls $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/prog/ | \
82 grep -v -e images -e itemtypeimg -x -e en
88 local translate_opts=""
90 if [ "$verbose" = "yes" ]; then
91 translate_opts="--verbose"
94 if [ "$lang" != "" ]; then
96 if [ "$lang" = "en" ]; then
97 die "Error: the default language (en) is already installed."
100 if print_available | grep -q $lang; then
101 if print_installed | grep -q $lang; then
102 die "Error: the selected language is already installed. Try --update if you want to re-install it."
104 # Check po files are present
105 check_lang_po_files $lang
106 env PERL5LIB="$KOHA_LIB_DIR:$TRANSLATE_DIR" KOHA_CONF="$KOHA_CONF_FILE"\
107 $PERL_CMD $TRANSLATE_DIR/translate install $translate_opts $lang
110 die "Error: the selected language is not currently available."
114 die "Error: no language code supplied."
122 if [ "$lang" != "" ]; then
124 if [ "$lang" = "en" ]; then
125 die "Error: the default language (en) cannot be updated."
128 if print_installed | grep -q $lang; then
129 # Check po files are present
130 check_lang_po_files $lang
134 die "Error: the selected language is not currently installed. Try --install."
137 die "Error: no language code supplied."
145 if [ "$lang" != "" ]; then
147 if [ "$lang" = "en" ]; then
148 die "Error: the default language (en) cannot be removed."
151 if print_installed | grep -q $lang; then
152 rm -rf $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/prog/$lang
153 rm -rf $KOHA_INSTALL_DIR/opac/htdocs/opac-tmpl/ccsr/$lang
154 rm -rf $KOHA_INSTALL_DIR/intranet/htdocs/intranet-tmpl/prog/$lang
156 die "Error: the selected language is not already installed."
159 die "Error: no language code supplied."
163 check_lang_po_files()
167 po_files="$PO_DIR/$lang-i-opac-t-prog-v-3006000.po
168 $PO_DIR/$lang-opac-ccsr.po
169 $PO_DIR/$lang-i-staff-t-prog-v-3006000.po
170 $PO_DIR/$lang-pref.po"
172 if [ "$lang" != "" ]; then
174 for po_file in $po_files; do
175 if [ ! -f $po_file ]; then
176 die "Error: $po_file not found."
180 die "Error: no language code supplied."
186 if [ "$op" = "" ]; then
189 die "Error: only one action can be specified."
193 # Global PATH variables
194 KOHA_INSTALL_DIR="/usr/share/koha"
195 KOHA_LIB_DIR="/usr/share/koha/lib"
196 KOHA_CONF_FILE="/etc/koha/koha-conf-site.xml.in"
197 TRANSLATE_DIR="$KOHA_INSTALL_DIR/misc/translator"
198 PO_DIR="$TRANSLATE_DIR/po"
199 PERL_CMD=`which perl`
207 # We accept at most 2 parameters
208 [ $# -ge 1 ] && [ $# -le 4 ] || ( usage ; die "Error: wrong parameters" )
211 while [ $# -gt 0 ]; do
240 die "Error: unknown parameter $1." ;;
248 # Process the requested actions
255 install_lang $language ;;
257 update_lang $language ;;
259 remove_lang $language ;;
261 check_lang_po_files $language ;;
264 die "Error: wrong parameters..." ;;