]> git.mxchange.org Git - friendica.git/commitdiff
update translation utils:
authorFabrixxm <fabrix.xm@gmail.com>
Wed, 27 Feb 2013 13:25:03 +0000 (08:25 -0500)
committerFabrixxm <fabrix.xm@gmail.com>
Wed, 27 Feb 2013 13:25:03 +0000 (08:25 -0500)
po2php: add "if function_exists" around plural select function
run_xgettext: add option to extract strings from addon folder

util/po2php.php
util/run_xgettext.sh

index 147c4a58d0fb33036bbc8f88f3ab7634f4612572..881a9b2679fdb8f3f64afdf92e5b5af5a295714f 100644 (file)
@@ -46,9 +46,12 @@ function po2php_run(&$argv, &$argc) {
                        $match=Array();
                        preg_match("|nplurals=([0-9]*); *plural=(.*)[;\\\\]|", $l, $match);
                        $cond = str_replace('n','$n',$match[2]);
-                       $out .= 'function string_plural_select_' . $lang . '($n){'."\n";
+                       // define plural select function if not already defined
+                       $fnname = 'string_plural_select_' . $lang;
+                       $out .= 'if(! function_exists("'.$fnname.'")) {'."\n";
+                       $out .= 'function '. $fnname . '($n){'."\n";
                        $out .= '       return '.$cond.';'."\n";
-                       $out .= '}'."\n";
+                       $out .= '}}'."\n";
                }
                
 
index 6ea603c83c312ae4433e341eb1d08437be7a219a..b77913bc73b17887c404c22f98c1001281f1318b 100755 (executable)
@@ -1,37 +1,70 @@
 #!/bin/bash
-
 FULLPATH=$(dirname $(readlink -f "$0"))
-cd "$FULLPATH/../view/en/"
+
+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 <addonname>"; 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"
 
 OPTS=
-OUTFILE="$FULLPATH/messages.po"
-if [ "" != "$1" ]
-then
-       OUTFILE="$(readlink -f ${FULLPATH}/$1)"
-       if [ -e "$OUTFILE" ]
-       then
-               echo "join extracted strings"
-               OPTS="-j"
-       fi
-fi
+
+#if [ "" != "$1" ]
+#then
+#      OUTFILE="$(readlink -f ${FULLPATH}/$1)"
+#      if [ -e "$OUTFILE" ]
+#      then
+#              echo "join extracted strings"
+#              OPTS="-j"
+#      fi
+#fi
 
 KEYWORDS="-k -kt -ktt:1,2"
 
 echo "extract strings to $OUTFILE.."
-find ../../ -name "*.php" | xargs xgettext $KEYWORDS $OPTS -o "$OUTFILE" --from-code=UTF-8
+find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f | xargs  xgettext $KEYWORDS $OPTS -o "$OUTFILE" --from-code=UTF-8
 
 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>, 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/#\"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 <EMAIL@ADDRESS>, 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"
+fi
 
 echo "done."