2 namespace TYPO3\CMS\Core\Localization\Parser;
30 $parsedData = array();
31 $bodyOfFileTag = $root->file->body;
32 if ($bodyOfFileTag instanceof \SimpleXMLElement) {
33 foreach ($bodyOfFileTag->children() as $translationElement) {
35 if ($translationElement->getName() ===
'trans-unit' && !isset($translationElement[
'restype'])) {
37 if ($this->languageKey ===
'default') {
39 $parsedData[(string)$translationElement[
'id']][0] = array(
40 'source' => (
string)$translationElement->source,
41 'target' => (string)$translationElement->source
45 $parsedData[(string)$translationElement[
'id']][0] = array(
46 'source' => (
string)$translationElement->source,
47 'target' => (string)$translationElement->target
50 }
elseif ($translationElement->getName() ===
'group' && isset($translationElement[
'restype']) && (string)$translationElement[
'restype'] ===
'x-gettext-plurals') {
52 $parsedTranslationElement = array();
53 foreach ($translationElement->children() as $translationPluralForm) {
55 if ($translationPluralForm->getName() ===
'trans-unit') {
57 $formIndex = substr((
string)$translationPluralForm[
'id'], strpos((
string)$translationPluralForm[
'id'],
'[') + 1, -1);
58 if ($this->languageKey ===
'default') {
60 $parsedTranslationElement[(int)$formIndex] = array(
61 'source' => (
string)$translationPluralForm->source,
62 'target' => (string)$translationPluralForm->source
66 $parsedTranslationElement[(int)$formIndex] = array(
67 'source' => (
string)$translationPluralForm->source,
68 'target' => (string)$translationPluralForm->target
73 if (!empty($parsedTranslationElement)) {
74 if (isset($translationElement[
'id'])) {
75 $id = (string)$translationElement[
'id'];
77 $id = (string)$translationElement->{
'trans-unit'}[0][
'id'];
78 $id = substr($id, 0, strpos($id,
'['));
80 $parsedData[$id] = $parsedTranslationElement;