summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaat <maat-pub@mageia.biz>2021-04-01 09:41:46 +0200
committerMaat <maat-pub@mageia.biz>2021-04-01 09:41:46 +0200
commitcb36a953a05e893afe77ddbc2a7b9ed5d0cbbc6d (patch)
tree8b25593f4d63caf12c733492b8fe92684a6df61c
parent3238174ede0dfe071be942591121b959820ff386 (diff)
downloadurpmi-cb36a953a05e893afe77ddbc2a7b9ed5d0cbbc6d.tar
urpmi-cb36a953a05e893afe77ddbc2a7b9ed5d0cbbc6d.tar.gz
urpmi-cb36a953a05e893afe77ddbc2a7b9ed5d0cbbc6d.tar.bz2
urpmi-cb36a953a05e893afe77ddbc2a7b9ed5d0cbbc6d.tar.xz
urpmi-cb36a953a05e893afe77ddbc2a7b9ed5d0cbbc6d.zip
Adding mogen tool to live compile translations
-rwxr-xr-xdev/mogen45
1 files changed, 45 insertions, 0 deletions
diff --git a/dev/mogen b/dev/mogen
new file mode 100755
index 00000000..0b3568ad
--- /dev/null
+++ b/dev/mogen
@@ -0,0 +1,45 @@
+#!/bin/bash
+# vim:et:ai:ts=4:sts=4:sw=4
+
+DESTDIR='locale'
+
+LS_BIN='/usr/bin/ls'
+FIND_BIN='/usr/bin/find'
+TOUCH_BIN='/usr/bin/touch'
+SED_BIN='/usr/bin/sed'
+MKDIR_BIN='/usr/bin/mkdir'
+MSGFMT_BIN='/usr/bin/msgfmt'
+REALPATH_BIN="/usr/bin/realpath"
+DIRNAME_BIN="/usr/bin/dirname"
+BASENAME_BIN="/usr/bin/basename"
+SLEEP_BIN="/usr/bin/sleep"
+
+MYDIR="$(${DIRNAME_BIN} $(${REALPATH_BIN} $0))"
+DEVDIR="$(${DIRNAME_BIN} $(${DIRNAME_BIN} $(${REALPATH_BIN} $0)))"
+FULLDESTDIR="${DEVDIR}/${DESTDIR}"
+
+[ "x$1" == "x--watch" ] && echo "Watching po dir for .po files updates..."
+
+function updateLang () {
+ [ ! -f "${FULLDESTDIR}/.timestamp" ] && ${TOUCH_BIN} "${FULLDESTDIR}/.timestamp"
+ while [ 1 ]
+ do
+ _update=0
+ for _langfile in $(${FIND_BIN} ${DEVDIR}/po -name "*.po" -newer "${FULLDESTDIR}/.timestamp")
+ do
+ _lang="$(${BASENAME_BIN} $_langfile | ${SED_BIN} -e "s/\.po$//")"
+ ${MKDIR_BIN} -p ${FULLDESTDIR}/${_lang}/LC_MESSAGES
+ [ "x$1" == "x--watch" ] && [ $_update -eq 0 ] && echo ""
+ echo "updating ${DESTDIR}/${_lang}/LC_MESSAGES/urpmi.mo"
+ $MSGFMT_BIN "$DEVDIR/po/${_lang}.po" -o "${FULLDESTDIR}/${_lang}/LC_MESSAGES/urpmi.mo"
+ _update=1
+ done
+ [ $_update -eq 1 ] && ${TOUCH_BIN} "${FULLDESTDIR}/.timestamp"
+ [ "x$1" != "x--watch" ] && exit
+ echo -n "."
+ ${SLEEP_BIN} 2
+ done
+}
+
+updateLang "$@"
+