summaryrefslogtreecommitdiff
path: root/make.sh
diff options
context:
space:
mode:
Diffstat (limited to 'make.sh')
-rwxr-xr-xmake.sh110
1 files changed, 107 insertions, 3 deletions
diff --git a/make.sh b/make.sh
index 5d610cc..d5fedba 100755
--- a/make.sh
+++ b/make.sh
@@ -1,8 +1,9 @@
#!/bin/bash
-LANGS="de es fr fi nl ru"
-DIST_FILES="COPYING CREDITS FAQ HISTORY INSTALL README README.translators REQUIREMENTS contrib convert.pl install.sh lib locale make.sh template uninstall.sh vdradmind.pl vdradmind.pl.1"
+LANGS="cs de es fr fi nl ru"
+DIST_FILES="ChangeLog COPYING CREDITS FAQ HISTORY INSTALL README README.translators REQUIREMENTS contrib convert.pl install.sh lib locale make.sh template uninstall.sh vdradmind.pl vdradmind.pl.1"
INSTALL_SH=./install.sh
+CVS2CL="./cvs2cl.pl" # get it at http://www.red-bean.com/cvs2cl/
TMPDIR=/tmp
@@ -16,6 +17,9 @@ function Usage()
echo " uninstall - uninstall VDRAdmin-AM"
echo " po - convert .po files to .mo files"
echo " dist - create distribution archive"
+ echo " utf8add - generate utf8 locales from existing locales"
+ echo " utf8clean - cleanup utf8 locales"
+ echo " cl - create ChangeLog file."
exit 1
}
@@ -31,7 +35,9 @@ function Error()
#
function do_po()
{
- for L in $LANGS
+ local additional_langs="$(get_utf8_LANGS)"
+ local all_langs="$LANGS $additional_langs"
+ for L in $all_langs
do
[ -d locale/$L/LC_MESSAGES/ ] || mkdir -p locale/$L/LC_MESSAGES/
msgfmt po/$L.po -o po/$L.mo
@@ -73,6 +79,88 @@ function do_dist()
mv $TMPDIR/$DIST_NAME.tar.bz2 .
}
+# determine additional (utf8-)languages
+#
+function get_utf8_LANGS()
+{
+ ( cd po
+ local UTF8LANGS
+ local UTF8LANG
+ for file in *.utf8.po; do
+ [ -e $file ] || continue
+ UTF8LANG=${file%.po}
+ UTF8LANGS="$UTF8LANGS $UTF8LANG"
+ done
+ echo $UTF8LANGS
+ )
+}
+
+# extract original character encoding
+#
+function getOrigEncoding()
+{
+ local ENC=$(grep 'msgstr "ISO-8859' $1)
+ # strip away "ISO-", because sometimes we need it as "iso"
+ ENC=${ENC/'msgstr "ISO-'/}
+ ENC=${ENC/'"'/}
+ echo $ENC
+}
+
+
+# cleanup utf8 locales
+#
+function do_utf8_clean()
+{
+ (cd po && rm -f *.utf8.po*)
+}
+
+# generate utf8 locales
+#
+function do_utf8_generate()
+{
+ # start clean
+ do_utf8_clean
+
+ ( cd po
+ local filename
+ local encoding
+ local newfilename
+
+ # generate utf8 locales for existing translations
+ for file in *.po; do
+ [ -e $file ] || continue
+ filename=${file%.po}
+ encoding=iso$(getOrigEncoding $filename.po)
+ newfilename=$(echo $filename | tr [:lower:] [:upper:])
+ if [ "${encoding}" = "iso8859-1" ]; then
+ # just copy
+ cp $filename.po ${filename}_$newfilename.utf8.po ;
+ else
+ # convert
+ iconv -f $encoding -t utf-8 $filename.po > ${filename}_$newfilename.utf8.po
+ fi
+ done
+
+ # generate us_US.utf8.po from POT template
+ msginit -i vdradmin.pot -o en_US.utf8.po -l en_US.utf8 --no-translator
+
+ # map ISO-8859-1 encoding to UTF-8 instead of the respective "old" encodings
+ for file in $(ls *.utf8.po); do
+ encoding=ISO-$(getOrigEncoding $file)
+ sed -e 's:msgstr "'$encoding'":msgstr "UTF-8":g' $file > $file.tmp
+ mv $file.tmp $file
+ done
+ )
+}
+
+# create ChangeLog file.
+#
+function do_cl()
+{
+ [ -x $CVS2CL ] || Error "Missing $CVS2CL (http://www.red-bean.com/cvs2cl/)"
+ $CVS2CL --FSF --separate-header --no-wrap --no-times --tagdates --log-opts "-d>2006-07-08"
+}
+
[ "$1" ] || Usage
[ -x $INSTALL_SH ] || Error "$INSTALL_SH not found!"
@@ -96,9 +184,25 @@ do
;;
dist)
+ do_utf8_clean
+ do_cvs
+ do_po
+ do_cl
do_dist
;;
+ utf8add)
+ do_utf8_generate
+ ;;
+
+ utf8clean)
+ do_utf8_clean
+ ;;
+
+ cl)
+ do_cl;
+ ;;
+
*)
Error "Unknown command \"$1\""
;;