~ubuntu-branches/ubuntu/precise/boinc/precise

« back to all changes in this revision

Viewing changes to locale/updatetrans.sh

Tags: 6.12.8+dfsg-1
* New upstream release.
* Simplified debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
# Automate the compilation of the various locale PO files by automatically
 
4
# generating them at night.
 
5
#
 
6
projname=boincclient612
 
7
projdir=/home/boincadm/pootle/po/$projname
 
8
 
 
9
cd $projdir
 
10
 
 
11
 
 
12
# Update anything that needs updating
 
13
svn update
 
14
 
 
15
 
 
16
# Iterrate through the various PO files looking for those that need to be added to SVN.
 
17
#
 
18
for file in `find -name 'BOINC-Manager.po'` ; do
 
19
  dir=`dirname $file`
 
20
  locale=`basename $dir`
 
21
  template_name=${projdir}/${locale}/BOINC-Manager
 
22
 
 
23
  # Add any missing PO files to SVN
 
24
  svn add ${template_name}.po > /dev/null 2> /dev/null
 
25
  svn propset svn:mime-type 'text/plain;charset=UTF-8' ${template_name}.po > /dev/null 2> /dev/null
 
26
done
 
27
 
 
28
 
 
29
# Iterrate through the various PO files looking for those that need to be added to SVN.
 
30
#
 
31
for file in `find -name 'BOINC-Client.po'` ; do
 
32
  dir=`dirname $file`
 
33
  locale=`basename $dir`
 
34
  template_name=${projdir}/${locale}/BOINC-Client
 
35
 
 
36
  # Add any missing PO files to SVN
 
37
  svn add ${template_name}.po > /dev/null 2> /dev/null
 
38
  svn propset svn:mime-type 'text/plain;charset=UTF-8' ${template_name}.po > /dev/null 2> /dev/null
 
39
done
 
40
 
 
41
 
 
42
# Iterrate through the various PO files looking for those that need to be compiled.
 
43
#
 
44
for file in `find -name 'BOINC-Manager.po'` ; do
 
45
  dir=`dirname $file`
 
46
  locale=`basename $dir`
 
47
  template_name=${projdir}/${locale}/BOINC-Manager
 
48
 
 
49
  if test ${template_name}.po -nt ${template_name}.mo
 
50
  then
 
51
 
 
52
    # Compile the PO file into an MO file.
 
53
    pocompile ${template_name}.po ${template_name}.mo 
 
54
    
 
55
    # Add any new MO files to SVN
 
56
    svn add ${template_name}.mo > /dev/null 2> /dev/null
 
57
 
 
58
    # Touch each file to adjust timestamps
 
59
    touch ${template_name}.po
 
60
    touch ${template_name}.mo 
 
61
 
 
62
  fi  
 
63
done
 
64
 
 
65
 
 
66
# Iterrate through the various PO files looking for those that need to be compiled.
 
67
#
 
68
for file in `find -name 'BOINC-Client.po'` ; do
 
69
  dir=`dirname $file`
 
70
  locale=`basename $dir`
 
71
  template_name=${projdir}/${locale}/BOINC-Client
 
72
 
 
73
  if test ${template_name}.po -nt ${template_name}.mo
 
74
  then
 
75
 
 
76
    # Compile the PO file into an MO file.
 
77
    pocompile ${template_name}.po ${template_name}.mo > /dev/null 2> /dev/null
 
78
    
 
79
    # Add any new MO files to SVN
 
80
    svn add ${template_name}.mo > /dev/null 2> /dev/null
 
81
 
 
82
    # Touch each file to adjust timestamps
 
83
    touch ${template_name}.po
 
84
    touch ${template_name}.mo 
 
85
 
 
86
  fi  
 
87
done
 
88
 
 
89
 
 
90
# Determine if we need to update the various languages using the templates.
 
91
# This will be done by the use of a tag file which should have a matching 
 
92
# timestamp as the template files. If the timestamps do not match update all
 
93
# languages.
 
94
for file in `find -name '*.pot'` ; do
 
95
  template_rootname=`basename $file .pot`
 
96
  template_name=${projdir}/templates/${template_rootname}
 
97
 
 
98
  # Check to see if the file exists, if not create it
 
99
  if test ! -e ${template_name}.flag
 
100
  then
 
101
    cp ${template_name}.pot ${template_name}.flag
 
102
  fi
 
103
  
 
104
  # If the modification timestamps don't match then update all the languages
 
105
  if test ${template_name}.pot -nt ${template_name}.flag
 
106
  then
 
107
    execute_update=true
 
108
  fi  
 
109
done
 
110
 
 
111
if test "${execute_update}" = "true"
 
112
then
 
113
 
 
114
  for file in `find -name '*.po'` ; do
 
115
    dir=`dirname $file`
 
116
    locale=`basename $dir`
 
117
    po_name=`basename $file .po`
 
118
 
 
119
    msgmerge --update ${locale}/${po_name}.po templates/${po_name}.pot
 
120
 
 
121
  done
 
122
 
 
123
fi
 
124
 
 
125
for file in `find -name '*.pot'` ; do
 
126
  template_rootname=`basename $file .pot`
 
127
  template_name=${projdir}/templates/${template_rootname}
 
128
 
 
129
  # Touch each file to adjust timestamps
 
130
  touch ${template_name}.pot
 
131
  touch ${template_name}.flag
 
132
 
 
133
done
 
134
 
 
135
 
 
136
# Commit any changes to SVN
 
137
svn commit -m 'Update Translations'
 
138
 
 
139
exit 0