Merge pull request #123 from gdrooid/i18n

Install and use translations.
This commit is contained in:
Jaromil 2014-08-19 18:48:49 +02:00
commit f794b78795
3 changed files with 26 additions and 5 deletions

View File

@ -63,3 +63,11 @@ Once any of the above is installed Tomb will find the tool automatically.
Tomb comes with a bunch of extra tools that contribute to enhance its
functionality or integrate it into particular system environments.
### Install translations
There are translations available for Tomb. If you wish to install them
navigate to extras/po and run 'make install' as root:
cd extras/po
sudo make install

View File

@ -1,4 +1,13 @@
LOCALEDIR ?= /usr/share/locale
TOMBFILE = LC_MESSAGES/tomb.po
all:
@rm -f tomb.pot
@./generate_translatable_strings.sh > tomb.pot
@echo "Strings generated in tomb.pot"
install: *.mo
@install -Dm755 es.mo ${LOCALEDIR}/es/${TOMBFILE}
es.mo: es.po
msgfmt -o $@ $<

14
tomb
View File

@ -69,6 +69,9 @@ typeset -H tomb_secret
# Make sure sbin is in PATH
PATH+=:/sbin:/usr/sbin
# For gettext
export TEXTDOMAIN=tomb
# }}}
# {{{ Safety functions
@ -427,9 +430,10 @@ option_value() {
# Messaging function with pretty coloring
function _msg() {
local msg="$(gettext -s "$2")"
local command="print -P"
local progname="$fg[magenta]${TOMBEXEC##*/}$reset_color"
local message="$fg_bold[normal]$fg_no_bold[normal]${2}$reset_color"
local message="$fg_bold[normal]$fg_no_bold[normal]$msg$reset_color"
local -i returncode
case "$1" in
@ -437,19 +441,19 @@ function _msg() {
command+=" -n"; pchars=" > "; pcolor="yellow"
;;
message)
pchars=" . "; pcolor="white"; message="$fg_no_bold[$pcolor]${2}$reset_color"
pchars=" . "; pcolor="white"; message="$fg_no_bold[$pcolor]$msg$reset_color"
;;
verbose)
pchars="[D]"; pcolor="blue"
;;
success)
pchars="(*)"; pcolor="green"; message="$fg_no_bold[$pcolor]${2}$reset_color"
pchars="(*)"; pcolor="green"; message="$fg_no_bold[$pcolor]$msg$reset_color"
;;
warning)
pchars="[W]"; pcolor="yellow"; message="$fg_no_bold[$pcolor]${2}$reset_color"
pchars="[W]"; pcolor="yellow"; message="$fg_no_bold[$pcolor]$msg$reset_color"
;;
failure)
pchars="[E]"; pcolor="red"; message="$fg_no_bold[$pcolor]${2}$reset_color"
pchars="[E]"; pcolor="red"; message="$fg_no_bold[$pcolor]$msg$reset_color"
returncode=1
;;
*)