T Block: raise notice if target function is not callable

To catch if the L10n functions where not loaded
This commit is contained in:
2024-08-09 18:47:00 +09:00
parent 5bddc90972
commit d1fe561041

View File

@@ -72,6 +72,17 @@ class T implements BlockHandlerInterface
return strtr($str, $tr);
}
/**
* raise a notice for missing callable, indicates L10n functions where not loaded
*
* @param string $function
* @return void
*/
private function reportL10nNotInitialized(string $function): void
{
trigger_error("Missing " . $function . ", L10n::loadFunctions() called?", E_NOTICE);
}
/**
* main handler
*
@@ -120,55 +131,57 @@ class T implements BlockHandlerInterface
// use plural if required parameters are set
if (isset($count) && isset($plural)) {
// plural calls
if (isset($domain) && isset($context)) {
if (is_callable('_dnpgettext')) {
$content = _dnpgettext($domain, $context, $content, $plural, $count);
}/* elseif (is_callable('dnpgettext')) {
$content = dnpgettext($domain, $context, $content, $plural, $count);
} */
} else {
$this->reportL10nNotInitialized('_dnpgettext');
}
} elseif (isset($domain)) {
if (is_callable('_dngettext')) {
$content = _dngettext($domain, $content, $plural, $count);
} elseif (is_callable('dngettext')) {
$content = dngettext($domain, $content, $plural, $count);
} else {
$this->reportL10nNotInitialized('_dngettext');
}
} elseif (isset($context)) {
if (is_callable('_npgettext')) {
$content = _npgettext($context, $content, $plural, $count);
}/* elseif (is_callable('npgettext')) {
$content = npgettext($context, $content, $plural, $count);
} */
} else {
$this->reportL10nNotInitialized('_npgettext');
}
} else {
if (is_callable('_ngettext')) {
$content = _ngettext($content, $plural, $count);
} elseif (is_callable('ngettext')) {
$content = ngettext($content, $plural, $count);
} else {
$this->reportL10nNotInitialized('_ngettext');
}
}
} else { // use normal
} else {
// use normal
if (isset($domain) && isset($context)) {
if (is_callable('_dpgettext')) {
$content = _dpgettext($domain, $context, $content);
}/* elseif (is_callable('dpgettext')) {
$content = dpgettext($domain, $context, $content);
} */
} else {
$this->reportL10nNotInitialized('_dpgettext');
}
} elseif (isset($domain)) {
if (is_callable('_dgettext')) {
$content = _dgettext($domain, $content);
} elseif (is_callable('dpgettext')) {
$content = dgettext($domain, $content);
} else {
$this->reportL10nNotInitialized('_dgettext');
}
} elseif (isset($context)) {
if (is_callable('_pgettext')) {
$content = _pgettext($context, $content);
}/* elseif (is_callable('pgettext')) {
$content = pgettext($context, $content);
} */
} else {
$this->reportL10nNotInitialized('_pgettext');
}
} else {
if (is_callable('_gettext')) {
$content = _gettext($content);
} elseif (is_callable('gettext')) {
$content = gettext($content);
} else {
$this->reportL10nNotInitialized('_gettext');
}
}
}