X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=util%2Frun_xgettext.sh;h=75f85786a846874d3131865637e1ba7a89945d36;hb=836058c47745f502890a209dfd6efcb3596ace84;hp=6ea603c83c312ae4433e341eb1d08437be7a219a;hpb=b795ce4fe7c952600ed3520d6822006a2190d4f8;p=friendica.git diff --git a/util/run_xgettext.sh b/util/run_xgettext.sh index 6ea603c83c..75f85786a8 100755 --- a/util/run_xgettext.sh +++ b/util/run_xgettext.sh @@ -1,37 +1,73 @@ #!/bin/bash - FULLPATH=$(dirname $(readlink -f "$0")) -cd "$FULLPATH/../view/en/" - -F9KVERSION=$(sed -n "s/.*'FRIENDICA_VERSION'.*'\([0-9.]*\)'.*/\1/p" ../../boot.php); -echo "Friendica version $F9KVERSION" +ADDONMODE= +ADDONNAME= +if [ "$1" == "--addon" -o "$1" == "-a" ] +then + 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 -OPTS= -OUTFILE="$FULLPATH/messages.po" -if [ "" != "$1" ] +if [ $ADDONMODE ] then - OUTFILE="$(readlink -f ${FULLPATH}/$1)" - if [ -e "$OUTFILE" ] - then - echo "join extracted strings" - OPTS="-j" - fi + 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 -or -wholename */smarty3 ) -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./FRIENDICA Distributed Social Network/g" "$OUTFILE" -sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2010, 2011 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/#\"Plural-Forms/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."