, Sprachwahl über Cookie und Adresse, und dass die Verwaltung vollständig übersetzt ist. */ putenv('PLUGIN_SITE_CONFIG=' . sys_get_temp_dir() . '/gibtesnicht.php'); putenv('PLUGIN_SITE_STORAGE=' . sys_get_temp_dir() . '/deskhub-site-i18n-' . bin2hex(random_bytes(3))); require_once __DIR__ . '/fixtures/paths.php'; $siteDir = website_dir_or_skip('plugin_website_i18n'); require_once $siteDir . '/inc/i18n.php'; $failures = []; $check = function (bool $ok, string $what) use (&$failures): void { if (!$ok) $failures[] = $what; }; $tr = fn(string $html) => site_translate_html($html, 'en'); // Einfache Texte, Leerraum bleibt erhalten $check($tr("
Übersicht & mehr
') === 'Übersicht & mehr
', 'Unbekannter Text bleibt deutsch'); $check($tr('') === '', 'Knopf wird übersetzt'); // Attribute $check($tr('') === '', 'placeholder und title werden übersetzt, value nicht'); $check($tr('') === '', 'data-confirm wird übersetzt'); // Muster $check($tr('2 veröffentlicht') === '2 published', 'Muster mit Zahl'); $check($tr('0 Downloads') === '0 downloads', 'Muster {#} Downloads'); $check($tr('aktuell 1.3.0') === 'current 1.3.0', 'Muster mit wechselndem Teil'); $check($tr('ZIP-Datei mit plugin.json bzw. Theme-CSS
ZIP file with plugin.json or theme CSS
werden übersetzt, bleibt');
$check($tr('PaketePakete
') === 'PaketePakete
', ', und