Translation tool.
This commit is contained in:
		
							parent
							
								
									72180a8f4a
								
							
						
					
					
						commit
						f2af45e5ed
					
				
					 1 changed files with 70 additions and 0 deletions
				
			
		
							
								
								
									
										70
									
								
								translation.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										70
									
								
								translation.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,70 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
function extract_pot() {
 | 
			
		||||
    pybabel extract --mapping translations/babel.cfg --output translations/messages.pot ./
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function new_translation() {
 | 
			
		||||
    pybabel init --input-file translations/messages.pot --output-dir translations/ --locale $1 --domain messages
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function update_translation() {
 | 
			
		||||
    pybabel update --input-file translations/messages.pot --output-dir translations/ --domain messages
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function compile_translations() {
 | 
			
		||||
    pybabel compile --directory translations/ --domain messages
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function can_run() {
 | 
			
		||||
    if ! [ -x "$(command -v pybabel)" ]; then
 | 
			
		||||
        echo "Missing translation tool. Please, install Flask-Babel to continue."
 | 
			
		||||
        echo ""
 | 
			
		||||
        echo "    pip install Flask-Babel"
 | 
			
		||||
        echo ""
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function usage {
 | 
			
		||||
    echo "Translate Flex theme tool"
 | 
			
		||||
    echo ""
 | 
			
		||||
    echo "Usage:"
 | 
			
		||||
    echo ""
 | 
			
		||||
    echo "    new [language]  create new translation."
 | 
			
		||||
    echo "    compile         compile all PO files into MO files."
 | 
			
		||||
    echo "    update          update all translations based on POT file."
 | 
			
		||||
    echo "    extract         extract all messages from templates and create the POT file."
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
case "$1" in
 | 
			
		||||
   "new")
 | 
			
		||||
        can_run
 | 
			
		||||
 | 
			
		||||
        if [ -z "$2" ]
 | 
			
		||||
        then
 | 
			
		||||
            echo "Error: missing translation code."
 | 
			
		||||
            echo ""
 | 
			
		||||
            usage
 | 
			
		||||
            exit 1
 | 
			
		||||
        else
 | 
			
		||||
            new_translation $2
 | 
			
		||||
        fi
 | 
			
		||||
      ;;
 | 
			
		||||
   "compile")
 | 
			
		||||
      can_run
 | 
			
		||||
      compile_translations
 | 
			
		||||
      ;;
 | 
			
		||||
   "update")
 | 
			
		||||
      can_run
 | 
			
		||||
      update_translation
 | 
			
		||||
      ;;
 | 
			
		||||
   "extract")
 | 
			
		||||
      can_run
 | 
			
		||||
      extract_pot
 | 
			
		||||
      ;;
 | 
			
		||||
   *)
 | 
			
		||||
    usage
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue