| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/bash
- LOCALES=$*
- # Get newest .py files so we don't update strings unnecessarily
- CHANGED_FILES=0
- PYTHON_FILES=`find . -regex ".*\(ui\|py\)$" -type f`
- for PYTHON_FILE in $PYTHON_FILES
- do
- CHANGED=$(stat -c %Y $PYTHON_FILE)
- if [ ${CHANGED} -gt ${CHANGED_FILES} ]
- then
- CHANGED_FILES=${CHANGED}
- fi
- done
- # Qt translation stuff
- # for .ts file
- UPDATE=false
- for LOCALE in ${LOCALES}
- do
- TRANSLATION_FILE="i18n/$LOCALE.ts"
- if [ ! -f ${TRANSLATION_FILE} ]
- then
- # Force translation string collection as we have a new language file
- touch ${TRANSLATION_FILE}
- UPDATE=true
- break
- fi
- MODIFICATION_TIME=$(stat -c %Y ${TRANSLATION_FILE})
- if [ ${CHANGED_FILES} -gt ${MODIFICATION_TIME} ]
- then
- # Force translation string collection as a .py file has been updated
- UPDATE=true
- break
- fi
- done
- if [ ${UPDATE} == true ]
- # retrieve all python files
- then
- echo ${PYTHON_FILES}
- # update .ts
- echo "Please provide translations by editing the translation files below:"
- for LOCALE in ${LOCALES}
- do
- echo "i18n/"${LOCALE}".ts"
- # Note we don't use pylupdate with qt .pro file approach as it is flakey
- # about what is made available.
- pylupdate4 -noobsolete ${PYTHON_FILES} -ts i18n/${LOCALE}.ts
- done
- else
- echo "No need to edit any translation files (.ts) because no python files"
- echo "has been updated since the last update translation. "
- fi
|