mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/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
 |