} } return $options; } $options = buildOptions($argv); if (!file_exists($options['-o'])) { touch($options['-o']); } if (!is_writable($options['-o'])) { die("Invalid output file name. Make sure it exists and is writable."); } $inputFiles = $options['files']; if (empty($inputFiles)) { die("You did not provide any input file."); } $poeditParser = new PoeditParser($options['-o']); $poeditParser->parse(); $errors = array(); foreach ($inputFiles as $f) { if (!is_readable($f) || !preg_match('#\\.js$#', $f)) { $errors[] = "{$f} is not a valid javascript file."; continue; } $jsparser = new JSParser($f, explode(' ', $options['-k'])); $jsStrings = $jsparser->parse(); $poeditParser->merge($jsStrings); } if (!empty($errors)) { echo "\nThe following errors occured:\n" . implode("\n", $errors) . "\n"; } $poeditParser->save();