X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=util%2Frun_xgettext.sh;h=0ceda68133f4c4e7c52525ce2f48be01c7d3d97a;hb=36724eb8ea53cc2272b6c86b153e16f9a09062dd;hp=9f3f13c882f22adca45c30e14d393bfe1ee36e04;hpb=4aa60a7aafe1375a97ed4915f56c8ae1b74d0e0f;p=friendica.git diff --git a/util/run_xgettext.sh b/util/run_xgettext.sh index 9f3f13c882..0ceda68133 100755 --- a/util/run_xgettext.sh +++ b/util/run_xgettext.sh @@ -1,36 +1,73 @@ #!/bin/bash - FULLPATH=$(dirname $(readlink -f "$0")) -cd "$FULLPATH/../view/en/" - -F9KVERSION=$(sed -n "s/.*'FRIENDIKA_VERSION'.*'\([0-9.]*\)'.*/\1/p" ../../boot.php); -echo "Friendika version $F9KVERSION" - -OPTS= -OUTFILE="$FULLPATH/messages.po" -if [ "" != "$1" ] +ADDONMODE= +ADDONNAME= +if [ "$1" == "--addon" -o "$1" == "-a" ] then - OUTFILE="$(readlink -f ${FULLPATH}/$1)" - if [ -e "$OUTFILE" ] - then - echo "join extracted strings" - OPTS="-j" - fi + ADDONMODE=1 + if [ -z $2 ]; then echo -e "ERROR: missing addon name\n\nrun_xgettext.sh -a "; exit 1; fi + ADDONNAME=$2 + if [ ! -d "$FULLPATH/../addon/$ADDONNAME" ]; then echo "ERROR: addon '$ADDONNAME' not found"; exit 2; fi +fi + +if [ $ADDONMODE ] +then + cd "$FULLPATH/../addon/$ADDONNAME" + mkdir -p "$FULLPATH/../addon/$ADDONNAME/lang/C" + OUTFILE="$FULLPATH/../addon/$ADDONNAME/lang/C/messages.po" + FINDSTARTDIR="." + FINDOPTS= +else + cd "$FULLPATH/../view/en/" + OUTFILE="$FULLPATH/messages.po" + FINDSTARTDIR="../../" + # skip addon folder + FINDOPTS="-wholename */addon -prune -o" fi +F9KVERSION=$(sed -n "s/.*'FRIENDICA_VERSION'.*'\([0-9.]*\)'.*/\1/p" ../../boot.php); + +echo "Friendica version $F9KVERSION" + KEYWORDS="-k -kt -ktt:1,2" echo "extract strings to $OUTFILE.." -find ../../ -name "*.php" | xargs xgettext $KEYWORDS $OPTS -o "$OUTFILE" --from-code=UTF-8 +rm "$OUTFILE"; touch "$OUTFILE" +for f in $(find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f) +do + if [ ! -d "$f" ] + then + xgettext $KEYWORDS -j -o "$OUTFILE" --from-code=UTF-8 "$f" + sed -i "s/CHARSET/UTF-8/g" "$OUTFILE" + fi +done echo "setup base info.." -sed -i "s/SOME DESCRIPTIVE TITLE./FRIENDIKA Distributed Social Network/g" "$OUTFILE" -sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2010, 2011 Mike Macgirvin/g" "$OUTFILE" -sed -i "s/FIRST AUTHOR , YEAR./Mike Macgirvin, 2010/g" "$OUTFILE" -sed -i "s/PACKAGE VERSION/$F9KVERSION/g" "$OUTFILE" -sed -i "s/PACKAGE/Friendika/g" "$OUTFILE" -sed -i "s/CHARSET/UTF-8/g" "$OUTFILE" +if [ $ADDONMODE ] +then + sed -i "s/SOME DESCRIPTIVE TITLE./ADDON $ADDONNAME/g" "$OUTFILE" + sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER//g" "$OUTFILE" + sed -i "s/FIRST AUTHOR , YEAR.//g" "$OUTFILE" + sed -i "s/PACKAGE VERSION//g" "$OUTFILE" + sed -i "s/PACKAGE/Friendica $ADDONNAME addon/g" "$OUTFILE" + sed -i "s/CHARSET/UTF-8/g" "$OUTFILE" + sed -i "s/^\"Plural-Forms.*$//g" "$OUTFILE" +else + sed -i "s/SOME DESCRIPTIVE TITLE./FRIENDICA Distributed Social Network/g" "$OUTFILE" + sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2010, 2011, 2012, 2013 the Friendica Project/g" "$OUTFILE" + sed -i "s/FIRST AUTHOR , YEAR./Mike Macgirvin, 2010/g" "$OUTFILE" + sed -i "s/PACKAGE VERSION/$F9KVERSION/g" "$OUTFILE" + sed -i "s/PACKAGE/Friendica/g" "$OUTFILE" + sed -i "s/CHARSET/UTF-8/g" "$OUTFILE" + sed -i "s/^\"Plural-Forms.*$//g" "$OUTFILE" +fi +if [ "" != "$1" -a "$ADDONMODE" == "" ] +then + UPDATEFILE="$(readlink -f ${FULLPATH}/$1)" + echo "merging new strings to $UPDATEFILE.." + msgmerge -U $OUTFILE $UPDATEFILE +fi -echo "done." \ No newline at end of file +echo "done."