diff options
Diffstat (limited to 'markup/pod/live-manual/media/text/bin/find-untranslated.sh')
| -rwxr-xr-x | markup/pod/live-manual/media/text/bin/find-untranslated.sh | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/markup/pod/live-manual/media/text/bin/find-untranslated.sh b/markup/pod/live-manual/media/text/bin/find-untranslated.sh deleted file mode 100755 index d39b6fe..0000000 --- a/markup/pod/live-manual/media/text/bin/find-untranslated.sh +++ /dev/null @@ -1,198 +0,0 @@ -#!/bin/sh - -set -e - -# Script to assist translators in finding and fixing untranslated strings in live-manual. - -# First, we prepare to count the total number of untranslated strings. - -Count_untranslated_strings () -{ - for POFILE in manual/po/*/* - do - if [ "$(sed '$!d' ${POFILE})" = 'msgstr ""' ] - then - sed '$G' ${POFILE} | grep --extended-regexp --before-context=1 '^$' | grep --count '^msgstr ""$' || continue - else - grep --extended-regexp --before-context=1 '^$' ${POFILE} | grep --count '^msgstr ""$' || continue - fi - done -} - -# Then, if there is not any untranslated string the script exits. - -Check_untranslated_strings () -{ - if [ "$(Count_untranslated_strings | awk '{ sum += $1 } END { print sum }')" -eq "0" ] - then - echo "There are 0 untranslated strings." - exit 0 - fi -} - -Check_untranslated_strings - -# Creating other functions. - -# An untranslated string is an empty 'msgstr ""' followed by a blank line. We -# grep blank lines and ensure that the previous line only contains 'msgstr ""'. -# -# If the last string in a po file is not translated, there is no blank line at -# the end so we need to add one with "sed '$G''". -# - -Find_untranslated () -{ -echo "" -echo " * Searching for 'untranslated strings' in ${LANGUAGE} ..." -echo "" - -for POFILE in manual/po/"${LANGUAGE}"/* - do - echo "Untranslated strings in ${POFILE}" - - if [ "$(sed '$!d' ${POFILE})" = 'msgstr ""' ] - then - sed '$G' ${POFILE} | grep --extended-regexp --before-context=1 '^$' | grep --count '^msgstr ""$' || continue - else - grep --extended-regexp --before-context=1 '^$' ${POFILE} | grep --count '^msgstr ""$' || continue - fi - done -} - -# Showing *only* untranslated strings: -# pros: finer granularity, easier to read... -# cons: Some languages with accents and other similar stuff may greatly benefit -# from a quick glance at the translated strings, too. And then some... -# -# If there is not any untranslated string in the selected language, then exit. - -Show_strings () -{ -if [ "$(Find_untranslated | awk '{ sum += $1 } END { print sum }')" -eq "0" ] - then - echo "" - echo "There are 0 untranslated strings in language: ${LANGUAGE}" | grep --color ${LANGUAGE} - echo "" - - exit 0 -fi - -echo "" -echo "Do you want to see the $(Find_untranslated | awk '{ sum += $1 } END { print sum }') strings before starting work? [yes/no] ['q' to quit]" - -POFILES="$(Find_untranslated | grep --extended-regexp --before-context=1 '[1-9]'| sed -e 's|Untranslated strings in ||' -e 's|--||' -e 's|[0-9]*||g')" - -read ANSWER -case "${ANSWER}" in - y*|Y*) - for POFILE in ${POFILES} - do - echo "" - echo "Untranslated strings in $(basename ${POFILE})" | grep --color $(basename ${POFILE}) - echo "" - - msggrep --invert-match --msgstr --regexp='' ${POFILE} - done - - Open_editor - ;; - - n*|N*) - Open_editor - ;; - - q) - exit 0 - ;; - - *) - echo "You didn't type 'yes'. Exiting..." - exit 0 - ;; -esac -} - -# Searches untranslated strings and offers to open editor to fix them. -# -# Editor defaults to vim unless otherwise specified in the environment. - -EDITOR="${EDITOR:-vim}" - -Open_editor () -{ -echo "" -echo "Do you want to launch your text editor to start fixing them? [yes/no] ['q' to quit]" - -POFILESTOEDIT="$(Find_untranslated | grep --extended-regexp --before-context=1 '[1-9]'| sed -e 's|Untranslated strings in ||' -e 's|--||' -e 's|[0-9]*||g')" - -read OPENEDITOR - -case "$OPENEDITOR" in - y*|Y*) - if [ -z "${POFILESTOEDIT}" ] - then - echo "No po files to edit." - exit 0 - else - ${EDITOR} ${POFILESTOEDIT} - fi - ;; - - n*|N*) - echo "You typed 'no'. Exiting..." - exit 0 - ;; - - q) - exit 0 - ;; - - *) - echo "You didn't type 'yes'. Exiting..." - exit 0 - ;; -esac -} - -# Main menu. - -echo "Counting untranslated strings...please wait..." -echo "" -echo "There are $(Count_untranslated_strings | awk '{ sum += $1 } END { print sum }') untranslated strings in live-manual." -echo "This script can help you find and fix them. What is your language?." -echo "Type: $(ls -C manual/po) ['a' to see all]['q' to quit]" - -read LANGUAGE -case "$LANGUAGE" in - - ca|de|es|fr|it|ja|pl|pt_BR|ro) - Find_untranslated - Show_strings - ;; - - en) - echo "Nothing to be done, really." - echo "Translation English-English not implemented yet!" - ;; - - a) - for LANGUAGE in $(ls manual/po) - do - Find_untranslated - if [ "$(Find_untranslated | awk '{ sum += $1 } END { print sum }')" -eq "0" ] - then - echo "" - echo "There are 0 untranslated strings in language: ${LANGUAGE}" | grep --color ${LANGUAGE} - echo "" - fi - done - ;; - - q) - exit 0 - ;; - - *) - echo "No language chosen. Exiting..." -esac |
