Added easy translation export and import feature, to allow translation to be done via an exel spreadsheet

This commit is contained in:
2018-01-18 01:14:43 +02:00
parent d00603355b
commit 189a8723ac
53 changed files with 2462 additions and 1482 deletions

View File

@ -414,6 +414,43 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin
$item->entranslation = '<small><em>(' . JText::_('COM_COMPONENTBUILDER_NOTRANSLATION') . ')</em></small> ' . ComponentbuilderHelper::htmlEscape($item->entranslation, 'UTF-8', true, 150) . $componentCounter;
}
}
}
// prep the lang strings for export
if (isset($_export) && $_export && ComponentbuilderHelper::checkArray($items))
{
foreach ($items as $nr => &$item)
{
// remove some values completely
unset($item->components);
unset($item->params);
unset($item->published);
unset($item->created_by);
unset($item->modified_by);
unset($item->created);
unset($item->modified);
unset($item->version);
unset($item->hits);
unset($item->access);
unset($item->ordering);
// now adapt the entranslation
if (isset($item->translation) && ComponentbuilderHelper::checkJson($item->translation))
{
$translations = json_decode($item->translation, true);
if (ComponentbuilderHelper::checkArray($translations))
{
foreach ($translations as $language)
{
if (isset($language['translation']) && ComponentbuilderHelper::checkString($language['translation'])
&& isset($language['language']) && ComponentbuilderHelper::checkString($language['language']))
{
$item->{$language['language']} = $language['translation'];
}
}
}
}
// remove translation
unset($item->translation);
}
}
return $items;
}