mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Add POT/PO infrastructure to translate user manual.
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
501f72c697
commit
b4b08bdcc5
3 changed files with 7117 additions and 0 deletions
7036
Documentation/50-pot/subsurface-manual.pot
Normal file
7036
Documentation/50-pot/subsurface-manual.pot
Normal file
File diff suppressed because it is too large
Load diff
22
Documentation/make_POT.sh
Executable file
22
Documentation/make_POT.sh
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Author(s): Guillaume GARDET <guillaume.gardet@free.fr>
|
||||
#
|
||||
# History:
|
||||
# - 2015-01-14: Initial release
|
||||
#
|
||||
# Package deps: - po4a (for po4a-gettextize)
|
||||
# - perl-Unicode-LineBreak
|
||||
|
||||
# Some vars
|
||||
File_to_translate="./user-manual.txt"
|
||||
POT_files_folder="./50-pot"
|
||||
POT_name="subsurface-manual.pot"
|
||||
|
||||
#Generate a POT file from user-manual.txt file in current folder
|
||||
cmd="po4a-gettextize --msgid-bugs-address subsurface@subsurface-divelog.org \
|
||||
--package-name subsurface-manual -o porefs=full,nowrap \
|
||||
-f asciidoc -M UTF-8 -m $File_to_translate -p $POT_files_folder/$POT_name"
|
||||
echo "Generating POT file:"
|
||||
echo $cmd
|
||||
$cmd
|
59
Documentation/make_PO_to_ASCIIDOC.sh
Executable file
59
Documentation/make_PO_to_ASCIIDOC.sh
Executable file
|
@ -0,0 +1,59 @@
|
|||
#!/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
|
Loading…
Reference in a new issue