Skip to content

Commit

Permalink
found languages may be NULL if no sys_language is available
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Bigga committed Feb 21, 2018
1 parent 8cdd6e8 commit c081518
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 24 deletions.
36 changes: 19 additions & 17 deletions Classes/Controller/ClientController.php
Original file line number Diff line number Diff line change
Expand Up @@ -226,25 +226,27 @@ protected function addBaseInputOptionLists($storagePid)

// create input option for all other languages
$installedlanguages = $this->sysLanguageRepository->findInstalledLanguages();
foreach ($installedlanguages as $installedLanguage) {
$langIsoCode = $installedLanguage->getLangIsocode();
if (!empty($langIsoCode)) {
// only when an iso code has been configured, a translation dataset is created
if ($inputOptionTranslator->hasTranslation($langIsoCode)) {
// only when a translation exists, a translation dataset is created
$valueLabelList = $inputOptionTranslator->translate($iso6392b->getValues(), $langIsoCode);
$displayName = $inputOptionTranslator->translate(array('languageList'), $langIsoCode);

$translatedOptionList = $this->objectManager->get('EWW\\Dpf\\Domain\\Model\\InputOptionList');
$translatedOptionList->setDisplayName(implode('', $displayName));
$translatedOptionList->setPid($storagePid);
$translatedOptionList->setSysLanguageUid($installedLanguage->getUid());
$translatedOptionList->setL10nParent($languageOptionList->getUid());
$translatedOptionList->setValueLabelList(implode('|', $valueLabelList));
$this->inputOptionListRepository->add($translatedOptionList);
if (is_array($installedlanguages)) {
foreach ($installedlanguages as $installedLanguage) {
$langIsoCode = $installedLanguage->getLangIsocode();
if (!empty($langIsoCode)) {
// only when an iso code has been configured, a translation dataset is created
if ($inputOptionTranslator->hasTranslation($langIsoCode)) {
// only when a translation exists, a translation dataset is created
$valueLabelList = $inputOptionTranslator->translate($iso6392b->getValues(), $langIsoCode);
$displayName = $inputOptionTranslator->translate(array('languageList'), $langIsoCode);

$translatedOptionList = $this->objectManager->get('EWW\\Dpf\\Domain\\Model\\InputOptionList');
$translatedOptionList->setDisplayName(implode('', $displayName));
$translatedOptionList->setPid($storagePid);
$translatedOptionList->setSysLanguageUid($installedLanguage->getUid());
$translatedOptionList->setL10nParent($languageOptionList->getUid());
$translatedOptionList->setValueLabelList(implode('|', $valueLabelList));
$this->inputOptionListRepository->add($translatedOptionList);

}

}

}
}

Expand Down
16 changes: 9 additions & 7 deletions Classes/Helper/InputOption/Translator.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,15 @@ public function init($inputOptionClass)
}

// load translation data for all other languages
foreach ($languages as $language) {
$langIsoCode = $language->getLangIsocode();

if (!empty($langIsoCode)) {
$local = \EWW\Dpf\Helper\InputOption\Locallang::load($inputOptionClass, $langIsoCode);
if ($local) {
$this->locallang[$language->getLangIsocode()] = $local;
if (is_array($languages)) {
foreach ($languages as $language) {
$langIsoCode = $language->getLangIsocode();

if (!empty($langIsoCode)) {
$local = \EWW\Dpf\Helper\InputOption\Locallang::load($inputOptionClass, $langIsoCode);
if ($local) {
$this->locallang[$language->getLangIsocode()] = $local;
}
}
}
}
Expand Down

0 comments on commit c081518

Please sign in to comment.