Skip to content

Expose functions like twigL to PHP side of things #46

Description

@xiaohutai

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions