Commit 791f8e6d authored by Thomas Friedrichsmeier's avatar Thomas Friedrichsmeier
Browse files

Adjust to be able to test message extraction.

Adjust to not pick up files e.g. from a "build" directory.
parent ecfb564f
......@@ -6,3 +6,5 @@ rkward/resource.ver
# Log files from testing
# Message templates should not be in the repo
......@@ -2,9 +2,9 @@
# invoke the extractrc script on all .ui, .rc, and .kcfg files in the sources
# the results are stored in a pseudo .cpp file to be picked up by xgettext.
$EXTRACTRC `find . -name \*.rc -a \! -name rkward_windows_icon.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp
$EXTRACTRC `find rkward -name \*.rc -a \! -name rkward_windows_icon.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp
# call xgettext on all source files. If your sources have other filename
# extensions besides .cc, .cpp, and .h, just add them in the find call.
$XGETTEXT `find . -name \*.cpp -o -name \*.h -name \*.c` -o $podir/rkward.pot
$XGETTEXT `find rkward -name \*.cpp -o -name \*.h -name \*.c` -o $podir/rkward.pot
BASEDIR="../rkward/" # root of translatable sources
PROJECT="rkward" # project name
WDIR=`pwd` # working dir
if [ "$?" -ne "0" ]; then
echo "ERROR: ${1}"
exit 1
echo "Preparing rc files"
# we use simple sorting to make sure the lines don't jump around too much from system to system
find . -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > ${WDIR}/rcfiles.list
xargs --arg-file=${WDIR}/rcfiles.list extractrc > ${WDIR}/rc.cpp
check_error "Failed to extract messages from rc files. Do you have extractrc installed?"
# additional string for KAboutData
echo 'i18nc("NAME OF TRANSLATORS","Your names");' >> ${WDIR}/rc.cpp
echo 'i18nc("EMAIL OF TRANSLATORS","Your emails");' >> ${WDIR}/rc.cpp
cd ${WDIR}
echo "Done preparing rc files"
echo "Extracting messages"
# see above on sorting
find . -name '*.cpp' -o -name '*.h' -o -name '*.c' | sort > ${WDIR}/infiles.list
echo "rc.cpp" >> ${WDIR}/infiles.list
cd ${WDIR}
xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 -ktr2i18n:1 \
-kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kaliasLocale -kki18n:1 -kki18nc:1c,2 -kki18np:1,2 -kki18ncp:1c,2,3 \
--msgid-bugs-address="${BUGADDR}" \
--files-from=infiles.list -D ${BASEDIR} -D ${WDIR} -o ${PROJECT}.pot
check_error "Failed to extract messages from source files. Do you have xgettext installed?"
echo "Done extracting messages"
# Note: .po-file are now maintained (and merged) on launchpad
# echo "Merging translations"
# catalogs=`find . -name '*.po'`
# for cat in $catalogs; do
# echo $cat
# msgmerge -o $ $cat ${PROJECT}.pot
# check_error "Failed to merge messages. Do you have msgmerge installed?"
# mv $ $cat
# done
# echo "Done merging translations"
echo "Cleaning up"
cd ${WDIR}
rm rcfiles.list
rm infiles.list
BASEDIR=`dirname $0`/../rkward/ # root of translatable sources
export EXTRACTRC=`which extractrc`
export XGETTEXT="xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 -ktr2i18n:1 \
-kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kaliasLocale -kki18n:1 -kki18nc:1c,2 -kki18np:1,2 -kki18ncp:1c,2,3"
export podir=`dirname $0`
cd ${BASEDIR}/..
rm rc.cpp
echo "Done"
echo "Extracting messages from plugins"
# For testing purposes, extract analysis.pluginmap, only
python ../scripts/ --outdir=../po/plugins/ plugins/analysis.pluginmap
python ../scripts/ --outdir=../po/plugins/ --default_po=testing plugins/under_development.pluginmap
python ../scripts/ --outdir=../i18n/ plugins/analysis.pluginmap
#python ../scripts/ --outdir=../po/plugins/ --default_po=testing plugins/under_development.pluginmap
echo "Done"
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment