20 lines
1.0 KiB
PHP
20 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* Sammelt alle übersetzbaren Texte des Plugins (deutscher Quelltext) und schreibt sie als JSON-Gerüst.
|
|
* php wordpress-plugin/tools/extract-strings.php > texte.json
|
|
* Danach die englischen Werte eintragen und mit build-mo.php daraus languages/*.po und *.mo erzeugen.
|
|
*/
|
|
$root = dirname(__DIR__) . '/deskhub-tickets';
|
|
$strings = [];
|
|
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($root, FilesystemIterator::SKIP_DOTS));
|
|
foreach ($it as $f) {
|
|
if (substr($f->getPathname(), -4) !== '.php') continue;
|
|
$src = file_get_contents($f->getPathname());
|
|
// __('…', 'deskhub-tickets'), esc_html__(…), esc_attr__(…); Texte in einfachen Anführungszeichen mit \' darin
|
|
if (preg_match_all("/(?:__|esc_html__|esc_attr__)\\(\\s*'((?:[^'\\\\]|\\\\.)*)'\\s*,\\s*'deskhub-tickets'\\s*\\)/s", $src, $m)) {
|
|
foreach ($m[1] as $s) $strings[stripcslashes(str_replace("\\'", "'", $s))] = '';
|
|
}
|
|
}
|
|
ksort($strings);
|
|
echo json_encode($strings, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n";
|