Don't alter source levels anymore
- Build them in another directory. - That "other" directory is the cmake binary dir.dev-ui
parent
1b2ee98e27
commit
124133ec9f
|
@ -5,7 +5,7 @@ find_program(PO4A po4a)
|
||||||
|
|
||||||
if(PO4A)
|
if(PO4A)
|
||||||
add_custom_command(OUTPUT levels_i18n
|
add_custom_command(OUTPUT levels_i18n
|
||||||
COMMAND ./gen_levels_xml.sh
|
COMMAND ./gen_levels_xml.sh ${CMAKE_CURRENT_BINARY_DIR}/
|
||||||
COMMAND touch ${CMAKE_CURRENT_BINARY_DIR}/levels_i18n
|
COMMAND touch ${CMAKE_CURRENT_BINARY_DIR}/levels_i18n
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
COMMENT "Handle level instruction translations"
|
COMMENT "Handle level instruction translations"
|
||||||
|
@ -13,6 +13,5 @@ if(PO4A)
|
||||||
add_custom_target(translate_levels ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/levels_i18n)
|
add_custom_target(translate_levels ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/levels_i18n)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(GLOB levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.txt")
|
file(GLOB levelfiles "${CMAKE_CURRENT_BINARY_DIR}/*.txt")
|
||||||
list(REMOVE_ITEM levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")
|
|
||||||
install(FILES ${levelfiles} DESTINATION ${COLOBOT_INSTALL_DATA_DIR}/levels/)
|
install(FILES ${levelfiles} DESTINATION ${COLOBOT_INSTALL_DATA_DIR}/levels/)
|
||||||
|
|
|
@ -2,6 +2,13 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
outdir=$1
|
||||||
|
|
||||||
|
if [ -z "$outdir" ] || [ "$outdir" = "." ] || [ ! -d $outdir ]; then
|
||||||
|
echo "No existing output directory provided; syntax is : $0 output_directory"
|
||||||
|
return 1;
|
||||||
|
fi
|
||||||
|
|
||||||
lang_short="E F" # P"
|
lang_short="E F" # P"
|
||||||
lang_long="en fr" # pl"
|
lang_long="en fr" # pl"
|
||||||
|
|
||||||
|
@ -31,6 +38,7 @@ fi
|
||||||
for lang in $lang_short; do
|
for lang in $lang_short; do
|
||||||
dot=".";
|
dot=".";
|
||||||
langcode="";
|
langcode="";
|
||||||
|
src_dotlang=".$lang";
|
||||||
case $lang in
|
case $lang in
|
||||||
E) dot="";;
|
E) dot="";;
|
||||||
F) langcode=fr;;
|
F) langcode=fr;;
|
||||||
|
@ -42,7 +50,7 @@ for lang in $lang_short; do
|
||||||
echo "<h1><!-- Level: $levelfile --></h1>" >> $allsfile
|
echo "<h1><!-- Level: $levelfile --></h1>" >> $allsfile
|
||||||
for key in Title Resume ScriptName; do
|
for key in Title Resume ScriptName; do
|
||||||
for subkey in text resume; do
|
for subkey in text resume; do
|
||||||
subval=$(grep "^$key.$lang.*$subkey" $levelfileorig | sed -e "s/^.*$subkey=\"\([^\"]*\)\".*$/\1/")
|
subval=$(grep "^$key$src_dotlang.*$subkey" $levelfileorig | sed -e "s/^.*$subkey=\"\([^\"]*\)\".*$/\1/")
|
||||||
# Always write entries, even when empty, otherwise breaks po4a-gettextize
|
# Always write entries, even when empty, otherwise breaks po4a-gettextize
|
||||||
echo "<${key}_$subkey>$levelfile:$subval</${key}_$subkey>" >> $destfile
|
echo "<${key}_$subkey>$levelfile:$subval</${key}_$subkey>" >> $destfile
|
||||||
echo "<p type=\"$key $subkey\">$levelfile:$subval</p>" >> $allsfile
|
echo "<p type=\"$key $subkey\">$levelfile:$subval</p>" >> $allsfile
|
||||||
|
@ -114,9 +122,9 @@ echo -n "* Inject translation in level files: "
|
||||||
|
|
||||||
for levelfile in $(ls *.txt); do
|
for levelfile in $(ls *.txt); do
|
||||||
rootfilename=$(echo $levelfile | sed 's/\.txt$//g')
|
rootfilename=$(echo $levelfile | sed 's/\.txt$//g')
|
||||||
mv $levelfile $levelfile.old
|
|
||||||
for lang in $lang_long; do
|
for lang in $lang_long; do
|
||||||
dotlang=".$lang"
|
dotlang=".$lang"
|
||||||
|
langcode="";
|
||||||
case $lang in
|
case $lang in
|
||||||
en) dotlang=""; langcode=".E";;
|
en) dotlang=""; langcode=".E";;
|
||||||
fr) langcode=".F";;
|
fr) langcode=".F";;
|
||||||
|
@ -134,13 +142,12 @@ for levelfile in $(ls *.txt); do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ -n "$lineend" ]; then
|
if [ -n "$lineend" ]; then
|
||||||
echo "$key$langcode$lineend" >> $levelfile
|
echo "$key$langcode$lineend" >> $outdir/$levelfile
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
sed -e '/^Title/d;/^Resume/d;/^ScriptName/d' $levelfile.old >> $levelfile
|
sed -e '/^Title/d;/^Resume/d;/^ScriptName/d' $levelfile >> $outdir/$levelfile
|
||||||
rm $levelfile.old
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
Loading…
Reference in New Issue