diff --git a/Makefile b/Makefile index 4d5d68f..4093956 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,7 @@ all: install: @install -Dm755 ${PROG} ${DESTDIR}${PREFIX}/bin/${PROG} @install -Dm666 doc/${PROG}.1 ${DESTDIR}${MANDIR}/man1/${PROG}.1 + make -C extras/po install test: make -C extras/test diff --git a/extras/po/Makefile b/extras/po/Makefile index 743e22d..c5656c9 100644 --- a/extras/po/Makefile +++ b/extras/po/Makefile @@ -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 $@ $< diff --git a/tomb b/tomb index a2a41b0..ee67d8d 100755 --- a/tomb +++ b/tomb @@ -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 @@ -410,9 +413,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 @@ -420,19 +424,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 ;; *)