From d241e1911dacfd3a4917f9b9351a988f6927de73 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Feb 17 2011 16:36:43 +0000 Subject: Update locale_updateMessageShell.sh. --- diff --git a/Scripts/Bash/Functions/Locale/locale_updateMessageShell.sh b/Scripts/Bash/Functions/Locale/locale_updateMessageShell.sh index 820dcbc..c1a3be4 100755 --- a/Scripts/Bash/Functions/Locale/locale_updateMessageShell.sh +++ b/Scripts/Bash/Functions/Locale/locale_updateMessageShell.sh @@ -28,78 +28,49 @@ function locale_updateMessageShell { - # Redefine locales work directory to store locale-specific files. - # The redefinition should be done locally to avoid undesired - # concatenations. - local WORKDIR=${WORKDIR}/$(cli_getCurrentLocale) + local FILE='' + local FILES='' - # Create locales work directory if it doesn't exist. - if [[ ! -d ${WORKDIR} ]];then - mkdir -p ${WORKDIR} - fi - - # Define file-name used as reference to create portable object + # Define file name used as reference to create portable object # templates (.pot), portable objects (.po) and machine objects # (.mo). - local FILE="${WORKDIR}/${TEXTDOMAIN}" + FILE="${WORKDIR}/$(cli_getCurrentLocale)/${TEXTDOMAIN}" + + # Verify directory used to store locale-specific translation + # messages. If it doesn't exist, create it. + if [[ ! -d $(dirname ${FILE}) ]];then + mkdir -p $(dirname ${FILE}) + fi - # Redefine filter pattern in order to get shell scripts only. - # Since centos-art.sh is written in Bash, centos-art.sh does - # retrive translatable strings from shell scripts written in Bash - # only. - if [[ $ACTIONVAL =~ "$(cli_getRepoTLDir)/Scripts/Bash/.*$" ]];then - FLAG_FILTER="${FLAG_FILTER}.*\.sh" + # Redefine filter flag to specify the extension of files the + # translatable messages are retrived from and so limiting the + # list of files to process to the number of files we want to + # retrive translatable messages from. Use action value as + # reference to find out different shell files. + if [[ $ACTIONVAL =~ "^$(cli_getRepoTLDir)/Scripts/Bash" ]];then + FLAG_FILTER=".*${FLAG_FILTER}.*\.sh" else - cli_printMessage "`gettext "The path provided can't be processed."`" + cli_printMessage "`gettext "The path provided can't be processed."`" 'AsErrorLine' cli_printMessage "$(caller)" 'AsToKnowMoreLine' fi - # Build list of XML-base files which we want retrive translatable - # strings from. + # Build list of files to process. cli_getFilesList - # Print out action preamble. Since the `--filter' option can be - # supplied, it is useful to know which files we are getting - # translatable strings from. + # Print action preamble. cli_printActionPreamble "${FILES}" "doLocale" 'AsResponseLine' # Print action message. cli_printMessage "${FILE}.pot" 'AsUpdatingLine' - # Retrive translatable strings from XML-based files and - # create the portable object template (.pot) for them. + # Retrive translatable strings from shell script files and create + # the portable object template (.pot) from them. /usr/bin/xgettext --output=${FILE}.pot \ --copyright-holder="CentOS Documentation SIG" \ --width=70 --sort-by-file ${FILES} - # Verify xgettext exit status. - if [[ $? != 0 ]];then - cli_printMessage "`eval_gettext "The .pot \\\`\\\$FILE' could not be created."`" - cli_printMessage "$(caller)" 'AsToKnowMoreLine' - fi - - if [[ ! -f ${FILE}.po ]];then - - # Create portable object using portable object template, at - # the same time we use output to print the action message. - # There is no --quiet option for msginit command that let to - # separate both printing action message and creation command - # apart one from another). - cli_printMessage $(msginit -i ${FILE}.pot -o ${FILE}.po --width=70 \ - --no-translator 2>&1 | cut -d' ' -f2 | sed -r 's!\.$!!') 'AsCreatingLine' - - # Sanitate portable object metadata. - locale_updateMessageMetadata "${FILE}.po" - - else - - # Print action message. - cli_printMessage "${FILE}.po" 'AsUpdatingLine' - - # Update portable object merging both portable object and - # portable object template. - msgmerge --output="${FILE}.po" "${FILE}.po" "${FILE}.pot" --quiet - - fi + # Verify, initialize or update portable objects from portable + # object templates. + locale_updateMessagePObjects "${FILE}" }