mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 21:20:19 +00:00
60 lines
1.8 KiB
Bash
60 lines
1.8 KiB
Bash
|
#!/bin/bash
|
||
|
#
|
||
|
# Author(s): Guillaume GARDET <guillaume.gardet@free.fr>
|
||
|
#
|
||
|
# History:
|
||
|
# - 2015-01-14: Initial release
|
||
|
#
|
||
|
# Known bugs:
|
||
|
# - Some list item indexes are lost during PO to ASCII conversion (see asciidoc warning messages)
|
||
|
#
|
||
|
# Package deps: - po4a (for po4a-translate)
|
||
|
# - git (for git sync)
|
||
|
# - gettext-tools (for msginit and msgmerge)
|
||
|
|
||
|
# Some vars
|
||
|
File_to_translate="./user-manual.txt"
|
||
|
POT_files_folder="./50-pot/"
|
||
|
langs="fr" # Language list which uses POT/PO files for translation
|
||
|
PO_filename_root="subsurface-manual"
|
||
|
translation_limit="0" # Minimal translation percentage. Under this limit, no translated file is output.
|
||
|
dosync=1 # whether to pull new translations from git
|
||
|
|
||
|
for i in "$@"; do
|
||
|
if [ "$i" = "--nosync" ]; then
|
||
|
dosync=0
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
for lang in $langs; do
|
||
|
PO_folder="$lang/po"
|
||
|
|
||
|
# Sync PO files from GIT server and update it using latest generated POT file (in case PO file not merged with latest POT)
|
||
|
if [ "$dosync" = 1 ]; then
|
||
|
echo "* Syncing PO file for '$lang'"
|
||
|
git pull
|
||
|
|
||
|
for file in $(ls $POT_files_folder/*.pot); do
|
||
|
filename=$(basename ${file%.pot}).$lang.po
|
||
|
if [ ! -f $PO_folder/$filename ]; then
|
||
|
echo "** Initializing PO file for $lang"
|
||
|
mkdir -p $PO_folder
|
||
|
msginit -l $lang --input=$file --output-file=$PO_folder/$filename
|
||
|
fi;
|
||
|
echo "** Updating PO file for '$lang' from POT file"
|
||
|
msgmerge --previous --lang=$lang --update $PO_folder/$filename $POT_files_folder/*.pot
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
# Generate translated ASCIIDOC files
|
||
|
echo "* Generating ASCIIDOC files for '$lang'"
|
||
|
|
||
|
for file in $File_to_translate; do
|
||
|
Translated_file=$(basename ${File_to_translate%.txt})_$lang.txt
|
||
|
cmd="po4a-translate --keep $translation_limit -f asciidoc -M UTF-8 -m $File_to_translate -p $PO_folder/$PO_filename_root.$lang.po -l $Translated_file"
|
||
|
echo $cmd
|
||
|
$cmd
|
||
|
done
|
||
|
|
||
|
done
|