95 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| PYFILES=$(find -L ./ -type f -name "*.py")
 | |
| GLADEFILES=$(find -L ./ -type f -name "*.ui")
 | |
| 
 | |
| 
 | |
| check_args()
 | |
| {
 | |
|     if [ $# -ne 2 ]; then
 | |
|         echo "Missing lang argument" >&2
 | |
|         exit 4
 | |
|     fi
 | |
| }
 | |
| 
 | |
| init_ln()
 | |
| {
 | |
|     if [ -e "core_plugins" ] && [ ! -L "core_plugins" ]; then
 | |
|         echo "core_plugins must be a symbolic link" >&2
 | |
|         exit 1
 | |
|     fi
 | |
|     if [ ! -e "core_plugins" ]; then
 | |
|         ln -s ../../plugins core_plugins
 | |
|     fi
 | |
|     if [ ! -L "community_plugins" ]; then
 | |
|         echo "community_plugins should be a symbolic link to gajim-plugins repository, else they won't be in po files"
 | |
|     fi
 | |
| }
 | |
| 
 | |
| make_pot()
 | |
| {
 | |
|     # Generate .ui.h
 | |
|     find -L ./ -type f -name "*.ui" -exec intltool-extract --type="gettext/glade"  {} \;
 | |
|     GLADEHFILES=$(find -L ./ -type f -name "*.ui.h")
 | |
|     xgettext -k_ -kN_ -o plugins_translations.pot $PYFILES $GLADEHFILES --from-code=utf-8
 | |
|     rm $GLADEHFILES
 | |
| }
 | |
| 
 | |
| make_po()
 | |
| {
 | |
|     if [ -f $1.po ]; then
 | |
|         echo "Updating '$1' language";
 | |
|         msgmerge -U $1.po plugins_translations.pot;
 | |
|     else
 | |
|         msginit -l $1.UTF-8 -o $1.po;
 | |
|     fi
 | |
| }
 | |
| 
 | |
| make_mo()
 | |
| {
 | |
|     if [ ! -f $1.po ]; then
 | |
|         echo "$1.po doesn't existe. Use plugins_translation make_po $1 to create it.";
 | |
|         exit 3
 | |
|     fi
 | |
|     mkdir -p locale/$1/LC_MESSAGES
 | |
|     msgfmt -o $1.mo $1.po
 | |
| }
 | |
| 
 | |
| install_mo()
 | |
| {
 | |
|     if [ -L community_plugins ]; then
 | |
|         cp $1.mo community_plugins/plugins_translate/
 | |
|     fi
 | |
|     mkdir -p ~/.local/share/gajim/plugins/locale/$1/LC_MESSAGES/
 | |
|     cp $1.mo ~/.local/share/gajim/plugins/locale/$1/LC_MESSAGES/gajim_plugins.mo
 | |
| }
 | |
| 
 | |
| 
 | |
| case "$1" in
 | |
|     make_po)
 | |
|         check_args $@
 | |
|         init_ln
 | |
|         make_pot
 | |
|         make_po $2
 | |
|         ;;
 | |
|     make_mo)
 | |
|         check_args $@
 | |
|         make_mo $2
 | |
|         ;;
 | |
|     install_mo)
 | |
|         install_mo
 | |
|         ;;
 | |
|     all)
 | |
|         check_args $@
 | |
|         init_ln
 | |
|         make_pot
 | |
|         make_po $2
 | |
|         make_mo $2
 | |
|         install_mo $2
 | |
|         ;;
 | |
|     *)
 | |
|         echo "Usage: plugins_translation {all|make_po|make_mo|install_mo}" >&2
 | |
|         echo "example: plugins_translation make_po fr_FR"
 | |
|         exit 2
 | |
|         ;;
 | |
| esac
 |