blob: 1ee53fc92393c2baafafd0c1eba6c92049903481 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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"
DATE_BIN='/usr/bin/date'
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 "$(${DATE_BIN} +%T) 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
${SLEEP_BIN} 2
done
}
updateLang "$@"
|