protected function resolveLocalLanguageValueOfLabel($label, $path = NULL)
{
if ($this->getDisableLocalLanguageLabels()) {
return $label;
}
$name = $this->getName();
$extensionName = $this->extensionName;
$extensionKey = ExtensionNamingUtility::getExtensionKey($extensionName);
if (empty($label) && !ExtensionManagementUtility::isLoaded($extensionKey)) {
return $name;
} elseif (strpos($label, 'LLL:EXT:') === 0) {
return $label;
}
$relativeFilePath = $this->getLocalLanguageFileRelativePath();
$relativeFilePath = ltrim($relativeFilePath, '/');
$filePrefix = 'LLL:EXT:' . $extensionKey . '/' . $relativeFilePath;
if (strpos($label, 'LLL:') === 0) {
// Shorthand LLL:name.of.index reference, expand
list(, $labelIdentifier) = explode(':', $label, 2);
return $filePrefix . ':' . $labelIdentifier;
} elseif (!empty($label)) {
return $label;
}
if ($this instanceof Form) {
return $filePrefix . ':flux.' . $this->getName();
}
$root = $this->getRoot();
$id = $root->getName();
if (empty($path)) {
$path = $this->getPath();
}
return $filePrefix . ':' . trim('flux.' . $id . '.' . $path, '.');
}