X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=po%2Fpostats.sh;h=7244daa0c3a688adeee243f9f0b4c57af9fc5fd6;hb=865face4251fd7cb664ac2b25fca350d3db6f0ab;hp=7f1d9eda72fc9f2914c440337dd6a00fa1687597;hpb=46ee486bdaf2a39538d9cabd2e7af722a4ede97d;p=lyx.git diff --git a/po/postats.sh b/po/postats.sh index 7f1d9eda72..7244daa0c3 100755 --- a/po/postats.sh +++ b/po/postats.sh @@ -5,7 +5,7 @@ # This file is part of LyX, the document processor. # Licence details can be found in the file COPYING. # -# author: Michael Schmitt, michael.schmitt@teststep.org +# author: Michael Gerz, michael.gerz@teststep.org # # This script extracts some information from the po file headers (last # translator, revision date), generates the corresponding gmo files @@ -13,8 +13,19 @@ # and generates a PHP web page. # # Invocation: -# postats.sh po_files > "pathToWebPages"/i18n.php3 +# postats.sh po_files > "pathToWebPages"/i18n.php +# modifiy this when you change version +# Note that an empty lyx_branch variable (ie cvs HEAD) +# will "do the right thing". +lyx_version=1.4.0cvs +lyx_branch= + + +# GNU sed and grep have real problems dealing with 8-bit characters +# in UTF-8 encoded environments. +unset LANG +LANGUAGE=C warning () { echo $* 1>&2 @@ -88,7 +99,7 @@ run_msgfmt () { date=`grep 'Revision-Date' $pofile | sed 's/ */ /g' | cut -d ' ' -f 2` # Searching for a string of the form - # '"Last-Translator: Michael Schmitt \n"' + # '"Last-Translator: Michael Gerz \n"' translator= email= input=`grep "Last-Translator" $pofile` && { @@ -99,6 +110,19 @@ run_msgfmt () { } unset input + # Does $translator contain 8-bit characters? + TAB=' ' + echo $translator | grep "[^${TAB} -~]" >/dev/null && { + # If so, grab the encoding from the po file. + charset=`sed -n '/Content-Type/{s/.*charset=//;s/\\\\n" *$//p;q}' $pofile` + # Use recode to generate HTML character codes for the 8-bit + # characters. + translator=`echo $translator | recode "${charset}..h4"` || exit 1 + # The ampersands in the $translator entries will mess things + # up unless we escape 'em. + translator=`echo $translator | sed 's/&/\\\&/g'` + } + # Run msgfmt on the pofile, filling $message with the raw info. message=`$msgfmt --statistics -o $gmofile $pofile 2>&1 | grep "^[1-9]"` || { warning "Unable to run msgfmt successfully on file $1" @@ -137,12 +161,12 @@ cat < @@ -155,6 +179,13 @@ EOF # The foot of the generated php file. dump_tail () { + +test "$lyx_branch" = "" && { + branch_tag="" +} || { + branch_tag="?only_with_tag=$lyx_branch" +} + cat < 'Hungarian', 'it' => 'Italian', 'nl' => 'Dutch', - 'no' => 'Norwegian', + 'nn' => 'Nynorsk', + 'nb' => 'Norwegian', 'pl' => 'Polish', 'pt' => 'Portuguese', 'ro' => 'Romanian', @@ -197,8 +229,8 @@ usort (\$podata, "cmp");

The following table details the current state of the translations of the - LyX GUI for the main LyX development branch (currently 1.3.0cvs). - Unfortunately, only a few languages are well-supported. The LyX term may, + LyX GUI for the LyX stable branch (currently $lyx_version). + Unfortunately, only a few languages are well-supported. The LyX team may, therefore, decide to exclude some of the translations from a formal release in order not to confuse the user with a strongly mixed-language interface. @@ -236,8 +268,9 @@ while (list(\$foo,\$info) = each(\$podata)) { } else { \$style="style='background:#AA3333'"; } + print "" ; - print "" . \$lang[\$info['langcode']] . ""; + print "" . \$lang[\$info['langcode']] . ""; print "" . \$info['msg_tr'] . ""; @@ -274,7 +307,7 @@ while (list(\$foo,\$info) = each(\$podata)) { EOF }