summaryrefslogtreecommitdiff
path: root/tools/inc/lib/jsgettext/po2json.php
diff options
context:
space:
mode:
authorczaks <marcin@6irc.net>2013-07-02 22:48:43 -0400
committerczaks <marcin@6irc.net>2013-07-02 22:48:43 -0400
commit7ab1ec4caa74fc017948829dbd57c91a659a4b4b (patch)
treed52ec761cd5e10ba105ca03fee1bfe32f1e7fce8 /tools/inc/lib/jsgettext/po2json.php
parent47640a0ce872038110ff011c22bf9e0b557aa67e (diff)
tools/inc/lib/jsgettext/: bundle jsgettext library from https://code.google.com/p/jsgettext
Diffstat (limited to 'tools/inc/lib/jsgettext/po2json.php')
-rw-r--r--tools/inc/lib/jsgettext/po2json.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/inc/lib/jsgettext/po2json.php b/tools/inc/lib/jsgettext/po2json.php
new file mode 100644
index 00000000..847b0899
--- /dev/null
+++ b/tools/inc/lib/jsgettext/po2json.php
@@ -0,0 +1,42 @@
+<?php
+
+ require_once 'PoeditParser.php';
+
+ function buildOptions($args) {
+ $options = array(
+ '-o' => null,
+ '-i' => null,
+ '-n' => 'l10n'
+ );
+ $len = count($args);
+ $i = 0;
+ while ($i < $len) {
+ if (preg_match('#^-[a-z]$#i', $args[$i])) {
+ $options[$args[$i]] = isset($args[$i+1]) ? trim($args[$i+1]) : true;
+ $i += 2;
+ }
+ else {
+ $options[] = $args[$i];
+ $i++;
+ }
+ }
+ return $options;
+ }
+
+ $options = buildOptions($argv);
+
+ if (!file_exists($options['-i']) || !is_readable($options['-i'])) {
+ die("Invalid input file. Make sure it exists and is readable.");
+ }
+
+ $poeditParser = new PoeditParser($options['-i']);
+ $poeditParser->parse();
+
+ if ($poeditParser->toJSON($options['-o'], $options['-n'])) {
+ $strings = count($poeditParser->getStrings());
+ echo "Successfully exported " . count($strings) . " strings.\n";
+ }
+ else {
+ echo "Cannor write to file '{$options['-o']}'.\n";
+ }
+?>