labels
labels copied to clipboard
Expose functions like `twigL` to PHP side of things
Move twigL
functions into a separate Service
class and inject it as app['labels.service']
(or add the functions to the app['labels']
class), then have helper functions exposed:
-
translate($label, $lang = false)
exposed for other extensions to use. -
setCurrentLanguage
- etc.
Currently, I'm doing the following in my extension:
$labels = $app['labels']->getLabels();
$lang = mb_strtolower($request->query->get('_locale', 'nl'));
$label = $app['labels']->cleanLabel('MUH LABEL');
$result = $label;
if (isset($labels[$label][$lang]) && !empty($labels[$label][$lang])) {
$result = $labels[$label][$lang];
}
elseif ($app['labels.config']->isAddMissing() && empty($labels[$label])) {
$app['labels']->addLabel($label);
}
// replace 'MUH LABEL' with the string you need to translate
// use $result as the translated label