summaryrefslogtreecommitdiff
path: root/tools/localize.sh
blob: 068e226316b0dcc3146d6204036bf4b8972b8591 (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
#!/usr/bin/env bash
#
# Usage: sh localize.sh
#
# This script should be executed after adding new resource strings and after
# updating the translated .po files.
#
# This script
# - builds the tools if required
# - converts all compiled .rst files to .po files
# - updates all translated xx.po files
#

# enable for debugging
#set -x
set -e

if [ ! -x updatepofiles.exe ]; then
  ./build_tools.bat
fi

if [ "@"$FPCTARGET == "@" ]; then
  FPCTARGET=`fpc -iTP`-`fpc -iTO`
  if [ $FPCTARGET == "-" ]; then
    FPCTARGET=""
  fi
fi

RSTFILES=(
  ".. fpg_constants fpgui"
#  "ideintf objinspstrconsts"
#  "components/codetools codetoolsstrconsts"
#  "lcl lclstrconsts"
)  

for idx in ${!RSTFILES[@]}; do
  LINE=(${RSTFILES[idx]})
  RSTDIR=${LINE[0]}  
  RSTFILE=${LINE[1]}  
  POFILE=${LINE[2]:-$RSTFILE}
   
#  RST=`find $RSTDIR/{units,lib}/$FPCTARGET -name $RSTFILE.rst | xargs ls -1t | head -1`;
  RST=`find $RSTDIR/{units,lib} -name $RSTFILE.rst | xargs ls -1t | head -1`;

  if [ "@"$RST != "@" ]; then
    echo $RSTDIR/languages/$POFILE.po
#    rstconv -c UTF-8 -i $RST -o $RSTDIR/languages/$POFILE.po
    rstconv -i $RST -o $RSTDIR/languages/$POFILE.po
    ./updatepofiles.exe $RSTDIR/languages/$POFILE.po
  fi
done

# generate new include files from the updated .po files.
./generateincfiles.exe ..

exit 0