Files
2026-11-01 11:17:41 +00:00

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";