blob: 27c5115d3820c37e393160cd917765bf9324636e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#!/bin/bash
# Filip Komar, 2014
# @license GPL v2
# @author Filip (rebuilding a gettext dictionaries)
# @copyright 2014/03
# inspired by check_for_translation_work.sh
error=0
declare -A resources
declare -A errors
if [ -f ./tools/web_projects.dat ]; then
source ./tools/web_projects.dat
else
echo Critical error!!! It was not possible to load web projects database!
fi
for resource in "${!resources[@]}"
do
php_source=${resources[$resource]}
php tools/extract2gettext.php $php_source $resource true
php_error_level=$? # catch php error level
error=$php_error_level
error_in_source=$php_source
errors[$php_source]=$php_sourc$php_error_level
if [ -f ./langs/en/$resource.pot ]; then # cut too long lines
msgmerge --quiet ./langs/en/$resource.pot ./langs/en/$resource.pot > ./langs/en/$resource.tmp
mv ./langs/en/$resource.tmp ./langs/en/$resource.pot
for directory in ./langs/*
do
# in each language directory except source
if [ -d $directory/ ] && [ $directory != ./langs/en ]; then
# create po file if needed from lang file if available
if [ ! -f $directory/$resource.po ] && [ -f $directory/$resource.*.lang ]; then
python tools/translated_converter.py --filename $directory/$resource
python_error_level=$? # catch python error level
if [ $python_error_level -gt 0 ]; then
error=50
error_in_source=$directory/$resource
fi
fi
if [ -f $directory/$resource.po ]; then # update po file if it exists
# msgfmt --statistics --verbose -c $directory/$resource.po -o /dev/null # usefull for debuging (msgctxt "/web/en/ or msgctxt "en/)
msgmerge --update --quiet $directory/$resource.po ./langs/en/$resource.pot
msgmerge_error_level=$? # catch msgmerge error level
# msgfmt --statistics --verbose -c $directory/$resource.po -o /dev/null # usefull for debuging (msgctxt "/web/en/ or msgctxt "en/)
if [ $msgmerge_error_level -gt 0 ]; then
error=60
error_in_source=$directory/$resource
echo "$directory"/$resource.po could not be created succesfully
errors[$resource]=$resource$msgmerge_error_level
fi
fi
fi
done
fi
done
echo ''
#printf "%s\n" "${errors[@]}"
for error_in_source in "${!errors[@]}"
do
case ${errors[$error_in_source]} in
0) echo "Done lookup for _g() and _r() in $error_in_source. Gettext catalogs (pot files) rebuilded. Existing po files updated." ;;
1) echo "Unkown error!!" ;;
10) echo "No strings to save from $error_in_source!" ;;
20) echo "!!!! Parse error, please fix $error_in_source first !!!! See details above." ;;
30) echo "!!!! Failed to write $error_in_source !!!! See details above." ;;
50) echo "!!!! Script translated_converter.py encounter an error in $error_in_source !!!!" ;;
60) echo "$error_in_source.po could not be created succesfully!! Duplicates?" ;;
esac
done
|