Advertisement
Guest User

honzik

a guest
Feb 11th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.84 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # Search for locale string in source code, generate po files
  4. # Merge it with new loalization
  5.  
  6.  
  7. LANGLIST='cz de en it pl pt_br ro ru sk'
  8. DOMAIN='atollon'
  9. DOMAINS='atollon help'
  10. TEMP='/tmp/atollon'
  11. FILELIST='file-list.txt'
  12. mkdir -p $TEMP
  13.  
  14. echo "=== Generate list of files ==="
  15. find ../.. -name '*.as' > $FILELIST
  16. echo "... list of *.as files finished"
  17.  
  18. MXMLS=`find ../.. -name '*.mxml'`
  19. for i in $MXMLS; do
  20.     TARGET=${TEMP}`echo $i | sed -E -e 's/^\.\.\/\.\.(.*)$/\1/'`
  21.     TDIR=`echo $TARGET | sed -E -e 's/^(.*)\/[^\/]+$/\1/'`
  22.     mkdir -p $TDIR
  23.     sed -e 's/\(\w*=\)"\([^"]*{[^"]*}[^"]*\)"/\1\2/g' $i > $TARGET
  24.     echo $TARGET >> $FILELIST
  25.     printf "."
  26. done
  27. echo " list of *.mxml files finished"
  28.  
  29. echo "=== Generate template ==="
  30. xgettext -f $FILELIST -L Python --keyword=pgettext:1c,2 --from-code=UTF-8 -p po -d $DOMAIN --no-wrap --msgid-bugs-address=islander@atollon.com --package-name='Atollon Lagoon' --copyright-holder='Atollon Ltd.' 2>>error.log
  31. xgettext -f $FILELIST -L Python --keyword --keyword=_help --from-code=UTF-8 -p po -d help --no-wrap --msgid-bugs-address=islander@atollon.com --package-name='Atollon Lagoon' --copyright-holder='Atollon Ltd.' 2>>error.log
  32. if [ $? -eq 0 ];
  33. then
  34.     echo "done"
  35.    
  36.     echo "=== Merging translations ==="
  37.     for DOMAIN in $DOMAINS; do
  38.         TEMPLATE=po/$DOMAIN.po
  39.         if [ -f $TEMPLATE ]; then
  40.             for i in $LANGLIST; do
  41.                 DEFPO=po/${DOMAIN}_$i.po
  42.                 if [ -f $DEFPO ]; then
  43.                     msgmerge -U --backup=off $DEFPO $TEMPLATE
  44.                 else
  45.                     msginit -i $TEMPLATE -o $DEFPO -l $i --no-translator
  46.                 fi
  47.             done
  48.         fi
  49.     done
  50. else
  51.     echo "ERROR: Cannot generate strings. See error.log."
  52. fi
  53.  
  54. echo "=== Cleaning up ==="
  55. #rm -Rf $TEMP
  56. rm $FILELIST
  57. echo "done"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement