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/>.
23 # include helper functions
24 if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then
25 .
"/usr/share/koha/bin/koha-functions.sh"
27 echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2
33 local scriptname
=$
(basename $0)
38 This script lets you manage your Koha templates translations.
41 $scriptname --list|-l [--available|-a]
42 $scriptname --check|-c language_code
43 $scriptname --install|-i language_code
44 $scriptname --update|-u language_code
45 $scriptname --remove|-r language_code
48 -l | --list List the installed or available (combined with -a)
50 -a | --available Used in conjunction with -l to show all languages
51 -c | --check Check that the language .PO files are present
52 -i | --install Install the specified language translations
53 -u | --update Update the specified language translations
54 -r | --remove Remove the specified language translations
55 -v | --verbose Be more verbose on the translation process
56 -h | --help Display this help message
65 if [ "$all" != "" ]; then
74 # Loop over only one opac theme
75 for i
in $
( ls $PO_DIR |
grep opac-bootstrap
); do
76 echo `basename $i -opac-bootstrap.po` | \
83 ( ls -1 $KOHA_INSTALL_DIR/opac
/htdocs
/opac-tmpl
/bootstrap
/ ; \
84 ls -1 $KOHA_INSTALL_DIR/opac
/htdocs
/opac-tmpl
/prog
/ 2> /dev
/null
) | \
86 grep -v -e images
-e itemtypeimg
-x -e en
-e css
-e js
-e less -e lib
92 local translate_opts
=""
94 if [ "$verbose" = "yes" ]; then
95 translate_opts
="--verbose"
98 if [ "$lang" != "" ]; then
100 if [ "$lang" = "en" ]; then
101 die
"Error: the default language (en) is already installed."
104 if print_available |
grep -q $lang; then
105 if print_installed |
grep -q $lang; then
106 die
"Error: the selected language is already installed. Try --update if you want to re-install it."
108 # Check po files are present
109 check_lang_po_files
$lang
110 env PERL5LIB
="$KOHA_LIB_DIR:$TRANSLATE_DIR" KOHA_CONF
="$KOHA_CONF_FILE"\
111 $PERL_CMD $TRANSLATE_DIR/translate
install $translate_opts $lang
114 die
"Error: the selected language is not currently available."
118 die
"Error: no language code supplied."
126 if [ "$lang" != "" ]; then
128 if [ "$lang" = "en" ]; then
129 die
"Error: the default language (en) cannot be updated."
132 if print_installed |
grep -q $lang; then
133 # Check po files are present
134 check_lang_po_files
$lang
138 die
"Error: the selected language is not currently installed. Try --install."
141 die
"Error: no language code supplied."
149 if [ "$lang" != "" ]; then
151 if [ "$lang" = "en" ]; then
152 die
"Error: the default language (en) cannot be removed."
155 if print_installed |
grep -q $lang; then
156 rm -rf $KOHA_INSTALL_DIR/opac
/htdocs
/opac-tmpl
/prog
/$lang
157 rm -rf $KOHA_INSTALL_DIR/opac
/htdocs
/opac-tmpl
/ccsr
/$lang
158 rm -rf $KOHA_INSTALL_DIR/opac
/htdocs
/opac-tmpl
/bootstrap
/$lang
159 rm -rf $KOHA_INSTALL_DIR/intranet
/htdocs
/intranet-tmpl
/prog
/$lang
161 die
"Error: the selected language is not installed."
164 die
"Error: no language code supplied."
168 check_lang_po_files
()
172 po_files
="$PO_DIR/$lang-marc-MARC21.po
173 $PO_DIR/$lang-marc-NORMARC.po
174 $PO_DIR/$lang-marc-UNIMARC.po
175 $PO_DIR/$lang-opac-bootstrap.po
176 $PO_DIR/$lang-pref.po
177 $PO_DIR/$lang-staff-help.po
178 $PO_DIR/$lang-staff-prog.po"
180 if [ "$lang" != "" ]; then
182 for po_file
in $po_files; do
183 if [ ! -f $po_file ]; then
184 die
"Error: $po_file not found."
188 die
"Error: no language code supplied."
194 if [ "$op" = "" ]; then
197 die
"Error: only one action can be specified."
201 # Global PATH variables
202 KOHA_INSTALL_DIR
="/usr/share/koha"
203 KOHA_LIB_DIR
="/usr/share/koha/lib"
204 KOHA_CONF_FILE
="/etc/koha/koha-conf-site.xml.in"
205 TRANSLATE_DIR
="$KOHA_INSTALL_DIR/misc/translator"
206 PO_DIR
="$TRANSLATE_DIR/po"
207 PERL_CMD
=`which perl`
215 # We accept at most 2 parameters
216 [ $# -ge 1 ] && [ $# -le 4 ] ||
( usage
; die
"Error: wrong parameters" )
219 while [ $# -gt 0 ]; do
248 die
"Error: unknown parameter $1." ;;
256 # Process the requested actions
263 install_lang
$language ;;
265 update_lang
$language ;;
267 remove_lang
$language ;;
269 check_lang_po_files
$language ;;
272 die
"Error: wrong parameters..." ;;