Contents of /trunk/installer-simple/generate-po.sh
Parent Directory
|
Revision Log
Revision 2356 -
(show annotations)
(download)
(as text)
Mon Jan 6 12:24:58 2014 UTC (10 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 1984 byte(s)
Mon Jan 6 12:24:58 2014 UTC (10 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 1984 byte(s)
-fixed sorting on update with msgmerge bia --sort-by-files switch
1 | #!/bin/bash |
2 | |
3 | method="$1" |
4 | script="$2" |
5 | domain="$3" |
6 | languages="de" |
7 | localedir="/usr/share/locale" |
8 | |
9 | usage() |
10 | { |
11 | echo "Usage: $0 [method] [shell script] {domain}" |
12 | echo "Known methods:" |
13 | echo " --create-pot - creates pot file from script" |
14 | echo " --append-pot - appends current pot file with script" |
15 | echo " --generate - generates pot and po files" |
16 | echo " --compile - compiles mo files" |
17 | echo |
18 | echo "Examples:" |
19 | echo " $0 --generate example.sh" |
20 | echo " $0 --compile example.sh" |
21 | echo |
22 | } |
23 | |
24 | create_pot() |
25 | { |
26 | local pot |
27 | |
28 | install -d locale |
29 | pot="locale/${domain}.pot" |
30 | bash --dump-po-strings "${script}" > "${pot}" |
31 | } |
32 | |
33 | append_pot() |
34 | { |
35 | local pot |
36 | |
37 | install -d locale |
38 | pot="locale/${domain}.pot" |
39 | bash --dump-po-strings "${script}" >> "${pot}" |
40 | } |
41 | |
42 | generate_po() |
43 | { |
44 | local lang |
45 | local po |
46 | local pot |
47 | |
48 | pot="locale/${domain}.pot" |
49 | if [ ! -f "${pot}" ] |
50 | then |
51 | echo "Error: ${pot} missing - run --create-pot or --append-pot" |
52 | exit 1 |
53 | fi |
54 | |
55 | for lang in ${languages} |
56 | do |
57 | po="locale/${lang}/${domain}.po" |
58 | if [ -f "${po}" ] |
59 | then |
60 | echo "Updating lang '${lang}'" |
61 | msgmerge --quiet --no-fuzzy-matching --no-wrap --sort-by-file --update "${po}" "${pot}" |
62 | else |
63 | echo "Processing lang '${lang}'" |
64 | install -d locale/"${lang}" |
65 | msginit --no-wrap --no-translator --locale="${lang}" --input="${pot}" --output-file="${po}" |
66 | fi |
67 | done |
68 | } |
69 | |
70 | generate_mo() |
71 | { |
72 | local lang |
73 | local dir |
74 | local po |
75 | |
76 | for lang in ${languages} |
77 | do |
78 | echo "Compiling lang '${lang}'" |
79 | po="locale/${lang}/${domain}.po" |
80 | if [ ! -f "${po}" ] |
81 | then |
82 | echo "Error: ${po} missing - run --generate first" |
83 | exit 1 |
84 | fi |
85 | dir="${DESTDIR}/${localedir}/${lang}/LC_MESSAGES" |
86 | install -d "${dir}" |
87 | msgfmt -o "${dir}"/"${domain}".mo "${po}" |
88 | done |
89 | } |
90 | |
91 | if [[ -z ${script} ]] |
92 | then |
93 | usage |
94 | echo "Error: Script missing" |
95 | exit 1 |
96 | fi |
97 | |
98 | if [[ -z ${domain} ]] |
99 | then |
100 | domain="${script}" |
101 | fi |
102 | |
103 | case ${method} in |
104 | --create-pot) create_pot ;; |
105 | --append-pot) append_pot ;; |
106 | --generate) generate_po ;; |
107 | --compile) generate_mo ;; |
108 | *) usage ;; |
109 | esac |
Properties
Name | Value |
---|---|
svn:executable | * |