diff --git a/Classes/Domain/Import/Entity/AccessibilityCertification.php b/Classes/Domain/Import/Entity/AccessibilityCertification.php
new file mode 100644
index 0000000..8550551
--- /dev/null
+++ b/Classes/Domain/Import/Entity/AccessibilityCertification.php
@@ -0,0 +1,185 @@
+
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+namespace WerkraumMedia\ThueCat\Domain\Import\Entity;
+
+use WerkraumMedia\ThueCat\Domain\Import\EntityMapper\PropertyValues;
+
+class AccessibilityCertification implements MapsToType
+{
+ /**
+ * @var string
+ */
+ protected $accessibilityCertificationStatus = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityDeaf = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityMental = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityPartiallyDeaf = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityPartiallyVisual = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityVisual = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityWalking = '';
+
+ /**
+ * @var string
+ */
+ protected $certificationAccessibilityWheelchair = '';
+
+ public function getAccessibilityCertificationStatus(): string
+ {
+ return $this->accessibilityCertificationStatus;
+ }
+
+ public function getCertificationAccessibilityDeaf(): string
+ {
+ return $this->certificationAccessibilityDeaf;
+ }
+
+ public function getCertificationAccessibilityMental(): string
+ {
+ return $this->certificationAccessibilityMental;
+ }
+
+ public function getCertificationAccessibilityPartiallyDeaf(): string
+ {
+ return $this->certificationAccessibilityPartiallyDeaf;
+ }
+
+ public function getCertificationAccessibilityPartiallyVisual(): string
+ {
+ return $this->certificationAccessibilityPartiallyVisual;
+ }
+
+ public function getCertificationAccessibilityVisual(): string
+ {
+ return $this->certificationAccessibilityVisual;
+ }
+
+ public function getCertificationAccessibilityWalking(): string
+ {
+ return $this->certificationAccessibilityWalking;
+ }
+
+ public function getCertificationAccessibilityWheelchair(): string
+ {
+ return $this->certificationAccessibilityWheelchair;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setAccessibilityCertificationStatus(string $accessibilityCertificationStatus): void
+ {
+ $this->accessibilityCertificationStatus = PropertyValues::removePrefixFromEntry($accessibilityCertificationStatus);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityDeaf(string $certificationAccessibilityDeaf): void
+ {
+ $this->certificationAccessibilityDeaf = PropertyValues::removePrefixFromEntry($certificationAccessibilityDeaf);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityMental(string $certificationAccessibilityMental): void
+ {
+ $this->certificationAccessibilityMental = PropertyValues::removePrefixFromEntry($certificationAccessibilityMental);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityPartiallyDeaf(string $certificationAccessibilityPartiallyDeaf): void
+ {
+ $this->certificationAccessibilityPartiallyDeaf = PropertyValues::removePrefixFromEntry($certificationAccessibilityPartiallyDeaf);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityPartiallyVisual(string $certificationAccessibilityPartiallyVisual): void
+ {
+ $this->certificationAccessibilityPartiallyVisual = PropertyValues::removePrefixFromEntry($certificationAccessibilityPartiallyVisual);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityVisual(string $certificationAccessibilityVisual): void
+ {
+ $this->certificationAccessibilityVisual = PropertyValues::removePrefixFromEntry($certificationAccessibilityVisual);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityWalking(string $certificationAccessibilityWalking): void
+ {
+ $this->certificationAccessibilityWalking = PropertyValues::removePrefixFromEntry($certificationAccessibilityWalking);
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setCertificationAccessibilityWheelchair(string $certificationAccessibilityWheelchair): void
+ {
+ $this->certificationAccessibilityWheelchair = PropertyValues::removePrefixFromEntry($certificationAccessibilityWheelchair);
+ }
+
+ public static function getSupportedTypes(): array
+ {
+ return [
+ 'thuecat:AccessibilityCertification',
+ ];
+ }
+
+ public static function getPriority(): int
+ {
+ return 10;
+ }
+}
diff --git a/Classes/Domain/Import/Entity/AccessibilitySpecification.php b/Classes/Domain/Import/Entity/AccessibilitySpecification.php
new file mode 100644
index 0000000..8f788d9
--- /dev/null
+++ b/Classes/Domain/Import/Entity/AccessibilitySpecification.php
@@ -0,0 +1,188 @@
+
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+namespace WerkraumMedia\ThueCat\Domain\Import\Entity;
+
+use WerkraumMedia\ThueCat\Domain\Import\EntityMapper\PropertyValues;
+
+class AccessibilitySpecification implements MapsToType
+{
+ /**
+ * @var AccessibilityCertification
+ */
+ protected $accessibilityCertification;
+
+ /**
+ * @var array
+ */
+ protected $accessibilitySearchCriteria = [];
+
+ /**
+ * @var string
+ */
+ protected $shortDescriptionAccessibilityAllGenerations = '';
+
+ /**
+ * @var string
+ */
+ protected $shortDescriptionAccessibilityAllergic = '';
+
+ /**
+ * @var string
+ */
+ protected $shortDescriptionAccessibilityDeaf = '';
+
+ /**
+ * @var string
+ */
+ protected $shortDescriptionAccessibilityMental = '';
+
+ /**
+ * @var string
+ */
+ protected $shortDescriptionAccessibilityVisual = '';
+
+ /**
+ * @var string
+ */
+ protected $shortDescriptionAccessibilityWalking = '';
+
+ public function getAccessibilityCertification(): ?AccessibilityCertification
+ {
+ return $this->accessibilityCertification;
+ }
+
+ public function getAccessibilitySearchCriteria(): array
+ {
+ return $this->accessibilitySearchCriteria;
+ }
+
+ public function getShortDescriptionAccessibilityAllGenerations(): string
+ {
+ return $this->shortDescriptionAccessibilityAllGenerations;
+ }
+
+ public function getShortDescriptionAccessibilityAllergic(): string
+ {
+ return $this->shortDescriptionAccessibilityAllergic;
+ }
+
+ public function getShortDescriptionAccessibilityDeaf(): string
+ {
+ return $this->shortDescriptionAccessibilityDeaf;
+ }
+
+ public function getShortDescriptionAccessibilityMental(): string
+ {
+ return $this->shortDescriptionAccessibilityMental;
+ }
+
+ public function getShortDescriptionAccessibilityVisual(): string
+ {
+ return $this->shortDescriptionAccessibilityVisual;
+ }
+
+ public function getShortDescriptionAccessibilityWalking(): string
+ {
+ return $this->shortDescriptionAccessibilityWalking;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setAccessibilitySearchCriteria(array $accessibilitySearchCriteria): void
+ {
+ foreach ($accessibilitySearchCriteria as $criteria) {
+ $criteria = PropertyValues::removePrefixFromEntries($criteria);
+ $this->accessibilitySearchCriteria[$criteria['type']][] = $criteria['value'];
+ }
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setAccessibilityCertification(AccessibilityCertification $accessibilityCertification): void
+ {
+ $this->accessibilityCertification = $accessibilityCertification;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setShortDescriptionAccessibilityAllGenerations(string $shortDescriptionAccessibilityAllGenerations): void
+ {
+ $this->shortDescriptionAccessibilityAllGenerations = $shortDescriptionAccessibilityAllGenerations;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setShortDescriptionAccessibilityAllergic(string $shortDescriptionAccessibilityAllergic): void
+ {
+ $this->shortDescriptionAccessibilityAllergic = $shortDescriptionAccessibilityAllergic;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setShortDescriptionAccessibilityDeaf(string $shortDescriptionAccessibilityDeaf): void
+ {
+ $this->shortDescriptionAccessibilityDeaf = $shortDescriptionAccessibilityDeaf;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setShortDescriptionAccessibilityMental(string $shortDescriptionAccessibilityMental): void
+ {
+ $this->shortDescriptionAccessibilityMental = $shortDescriptionAccessibilityMental;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setShortDescriptionAccessibilityVisual(string $shortDescriptionAccessibilityVisual): void
+ {
+ $this->shortDescriptionAccessibilityVisual = $shortDescriptionAccessibilityVisual;
+ }
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setShortDescriptionAccessibilityWalking(string $shortDescriptionAccessibilityWalking): void
+ {
+ $this->shortDescriptionAccessibilityWalking = $shortDescriptionAccessibilityWalking;
+ }
+
+ public static function getSupportedTypes(): array
+ {
+ return [
+ 'thuecat:AccessibilitySpecification',
+ ];
+ }
+
+ public static function getPriority(): int
+ {
+ return 10;
+ }
+}
diff --git a/Classes/Domain/Import/Entity/Place.php b/Classes/Domain/Import/Entity/Place.php
index 34b1d6b..5501ef7 100644
--- a/Classes/Domain/Import/Entity/Place.php
+++ b/Classes/Domain/Import/Entity/Place.php
@@ -81,6 +81,11 @@ class Place extends Base
*/
protected $distanceToPublicTransport = '';
+ /**
+ * @var ForeignReference
+ */
+ protected $accessibilitySpecification;
+
public function getAddress(): ?Address
{
return $this->address;
@@ -136,6 +141,11 @@ class Place extends Base
return $this->distanceToPublicTransport;
}
+ public function getAccessibilitySpecification(): ?ForeignReference
+ {
+ return $this->accessibilitySpecification;
+ }
+
/**
* @internal for mapping via Symfony component.
*/
@@ -263,4 +273,12 @@ class Place extends Base
$this->distanceToPublicTransport = $value . ':' . PropertyValues::removePrefixFromEntry($unit);
}
}
+
+ /**
+ * @internal for mapping via Symfony component.
+ */
+ public function setAccessibilitySpecification(ForeignReference $accessibilitySpecification): void
+ {
+ $this->accessibilitySpecification = $accessibilitySpecification;
+ }
}
diff --git a/Classes/Domain/Import/EntityMapper/JsonDecode.php b/Classes/Domain/Import/EntityMapper/JsonDecode.php
index 1f7b25f..29c53f9 100644
--- a/Classes/Domain/Import/EntityMapper/JsonDecode.php
+++ b/Classes/Domain/Import/EntityMapper/JsonDecode.php
@@ -36,6 +36,16 @@ class JsonDecode extends SymfonyJsonDecode
{
public const ACTIVE_LANGUAGE = 'active_language';
+ /**
+ * @var array[]
+ */
+ private $rulesToKeepTypeInfo = [
+ [
+ 'type' => 'beginsWith',
+ 'comparisonValue' => 'thuecat:facilityAccessibility',
+ ],
+ ];
+
public function decode(
string $data,
string $format,
@@ -155,9 +165,21 @@ class JsonDecode extends SymfonyJsonDecode
return $value;
}
+ if (array_key_exists('@language', $value)) {
+ return $value;
+ }
+
+ $type = $value['@type'] ?? null;
+ if (is_string($type)) {
+ foreach ($this->rulesToKeepTypeInfo as $rule) {
+ if ($this->doesRuleMatch($rule, $type)) {
+ return $value;
+ }
+ }
+ }
+
$newValue = $value['@value'] ?? null;
- $language = $value['@language'] ?? null;
- if (is_string($newValue) && $language === null) {
+ if (is_string($newValue)) {
return $newValue;
}
@@ -212,4 +234,13 @@ class JsonDecode extends SymfonyJsonDecode
return $key;
}
+
+ private function doesRuleMatch(array $rule, string $type): bool
+ {
+ if ($rule['type'] === 'beginsWith') {
+ return StringUtility::beginsWith($type, $rule['comparisonValue']);
+ }
+
+ return false;
+ }
}
diff --git a/Classes/Domain/Import/Typo3Converter/GeneralConverter.php b/Classes/Domain/Import/Typo3Converter/GeneralConverter.php
index 30b780f..86d8026 100644
--- a/Classes/Domain/Import/Typo3Converter/GeneralConverter.php
+++ b/Classes/Domain/Import/Typo3Converter/GeneralConverter.php
@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace WerkraumMedia\ThueCat\Domain\Import\Typo3Converter;
use TYPO3\CMS\Extbase\Persistence\QueryResultInterface;
+use WerkraumMedia\ThueCat\Domain\Import\Entity\AccessibilitySpecification;
use WerkraumMedia\ThueCat\Domain\Import\Entity\Base;
use WerkraumMedia\ThueCat\Domain\Import\Entity\MapsToType;
use WerkraumMedia\ThueCat\Domain\Import\Entity\MediaObject;
@@ -177,6 +178,8 @@ class GeneralConverter implements Converter
'is_accessible_for_free' => method_exists($entity, 'getIsAccessibleForFree') ? $entity->getIsAccessibleForFree() : '',
'public_access' => method_exists($entity, 'getPublicAccess') ? $entity->getPublicAccess() : '',
'available_languages' => method_exists($entity, 'getAvailableLanguages') ? implode(',', $entity->getAvailableLanguages()) : '',
+
+ 'accessibility_specification' => $this->getAccessibilitySpecification($entity, $language),
];
}
@@ -240,6 +243,50 @@ class GeneralConverter implements Converter
);
}
+ private function getAccessibilitySpecification(
+ object $entity,
+ string $language
+ ): string {
+ if (
+ method_exists($entity, 'getAccessibilitySpecification') === false
+ || $entity->getAccessibilitySpecification() === null
+ ) {
+ return '{}';
+ }
+
+ $access = $this->resolveForeignReference->resolve(
+ $entity->getAccessibilitySpecification(),
+ $language
+ );
+ if (!$access instanceof AccessibilitySpecification) {
+ return '{}';
+ }
+
+ $cert = $access->getAccessibilityCertification();
+
+ $result = json_encode(array_filter([
+ 'accessibilityCertificationStatus' => $cert ? $cert->getAccessibilityCertificationStatus() : '',
+ 'certificationAccessibilityDeaf' => $cert ? $cert->getCertificationAccessibilityDeaf() : '',
+ 'certificationAccessibilityMental' => $cert ? $cert->getCertificationAccessibilityMental() : '',
+ 'certificationAccessibilityPartiallyDeaf' => $cert ? $cert->getCertificationAccessibilityPartiallyDeaf() : '',
+ 'certificationAccessibilityPartiallyVisual' => $cert ? $cert->getCertificationAccessibilityPartiallyVisual() : '',
+ 'certificationAccessibilityVisual' => $cert ? $cert->getCertificationAccessibilityVisual() : '',
+ 'certificationAccessibilityWalking' => $cert ? $cert->getCertificationAccessibilityWalking() : '',
+ 'certificationAccessibilityWheelchair' => $cert ? $cert->getCertificationAccessibilityWheelchair() : '',
+ 'accessibilitySearchCriteria' => $access->getAccessibilitySearchCriteria(),
+ 'shortDescriptionAccessibilityAllGenerations' => $access->getShortDescriptionAccessibilityAllGenerations(),
+ 'shortDescriptionAccessibilityAllergic' => $access->getShortDescriptionAccessibilityAllergic(),
+ 'shortDescriptionAccessibilityDeaf' => $access->getShortDescriptionAccessibilityDeaf(),
+ 'shortDescriptionAccessibilityMental' => $access->getShortDescriptionAccessibilityMental(),
+ 'shortDescriptionAccessibilityVisual' => $access->getShortDescriptionAccessibilityVisual(),
+ 'shortDescriptionAccessibilityWalking' => $access->getShortDescriptionAccessibilityWalking(),
+ ]));
+ if ($result === false || $result === '[]') {
+ return '{}';
+ }
+ return $result;
+ }
+
private function getMedia(
Base $entity,
string $language
diff --git a/Classes/Domain/Model/Frontend/AccessiblitySpecification.php b/Classes/Domain/Model/Frontend/AccessiblitySpecification.php
new file mode 100644
index 0000000..8c78802
--- /dev/null
+++ b/Classes/Domain/Model/Frontend/AccessiblitySpecification.php
@@ -0,0 +1,125 @@
+
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+
+namespace WerkraumMedia\ThueCat\Domain\Model\Frontend;
+
+use TYPO3\CMS\Core\Type\TypeInterface;
+
+class AccessiblitySpecification implements TypeInterface
+{
+ /**
+ * @var string
+ */
+ private $serialized;
+
+ /**
+ * @var mixed[]
+ */
+ private $data;
+
+ public function __construct(string $serialized)
+ {
+ $this->serialized = $serialized;
+ $this->data = json_decode($serialized, true);
+ }
+
+ public function getCertificationStatus(): string
+ {
+ return $this->data['accessibilityCertificationStatus'] ?? '';
+ }
+
+ public function getSearchCriteria(): array
+ {
+ return $this->data['accessibilitySearchCriteria'] ?? [];
+ }
+
+ public function getCertificationDeaf(): string
+ {
+ return $this->data['certificationAccessibilityDeaf'] ?? '';
+ }
+
+ public function getCertificationMental(): string
+ {
+ return $this->data['certificationAccessibilityMental'] ?? '';
+ }
+
+ public function getCertificationPartiallyDeaf(): string
+ {
+ return $this->data['certificationAccessibilityPartiallyDeaf'] ?? '';
+ }
+
+ public function getCertificationPartiallyVisual(): string
+ {
+ return $this->data['certificationAccessibilityPartiallyVisual'] ?? '';
+ }
+
+ public function getCertificationVisual(): string
+ {
+ return $this->data['certificationAccessibilityVisual'] ?? '';
+ }
+
+ public function getCertificationWalking(): string
+ {
+ return $this->data['certificationAccessibilityWalking'] ?? '';
+ }
+
+ public function getCertificationWheelchair(): string
+ {
+ return $this->data['certificationAccessibilityWheelchair'] ?? '';
+ }
+
+ public function getShortDescriptionAllGenerations(): string
+ {
+ return $this->data['shortDescriptionAccessibilityAllGenerations'] ?? '';
+ }
+
+ public function getShortDescriptionAllergic(): string
+ {
+ return $this->data['shortDescriptionAccessibilityAllergic'] ?? '';
+ }
+
+ public function getShortDescriptionDeaf(): string
+ {
+ return $this->data['shortDescriptionAccessibilityDeaf'] ?? '';
+ }
+
+ public function getShortDescriptionMental(): string
+ {
+ return $this->data['shortDescriptionAccessibilityMental'] ?? '';
+ }
+
+ public function getShortDescriptionVisual(): string
+ {
+ return $this->data['shortDescriptionAccessibilityVisual'] ?? '';
+ }
+
+ public function getShortDescriptionWalking(): string
+ {
+ return $this->data['shortDescriptionAccessibilityWalking'] ?? '';
+ }
+
+ public function __toString(): string
+ {
+ return $this->serialized;
+ }
+}
diff --git a/Classes/Domain/Model/Frontend/Place.php b/Classes/Domain/Model/Frontend/Place.php
index e558c55..3bcb831 100644
--- a/Classes/Domain/Model/Frontend/Place.php
+++ b/Classes/Domain/Model/Frontend/Place.php
@@ -68,6 +68,11 @@ abstract class Place extends Base
*/
protected $distanceToPublicTransport = '';
+ /**
+ * @var AccessiblitySpecification|null
+ */
+ protected $accessibilitySpecification = null;
+
public function initializeObject(): void
{
$this->parkingFacilityNearBy = new ObjectStorage();
@@ -119,4 +124,9 @@ abstract class Place extends Base
'unit' => $values[1] ?? '',
];
}
+
+ public function getAccessibilitySpecification(): ?AccessiblitySpecification
+ {
+ return $this->accessibilitySpecification;
+ }
}
diff --git a/Configuration/TCA/tx_thuecat_tourist_attraction.php b/Configuration/TCA/tx_thuecat_tourist_attraction.php
index cb196b1..638ef40 100644
--- a/Configuration/TCA/tx_thuecat_tourist_attraction.php
+++ b/Configuration/TCA/tx_thuecat_tourist_attraction.php
@@ -229,6 +229,13 @@ return (static function (string $extensionKey, string $tableName) {
'readOnly' => true,
],
],
+ 'accessibility_specification' => [
+ 'label' => $languagePath . '.accessibility_specification',
+ 'config' => [
+ 'type' => 'text',
+ 'readOnly' => true,
+ ],
+ ],
'remote_id' => [
'label' => $languagePath . '.remote_id',
'l10n_mode' => 'exclude',
@@ -296,7 +303,7 @@ return (static function (string $extensionKey, string $tableName) {
],
'types' => [
'0' => [
- 'showitem' => '--palette--;;language, title, description, slogan, start_of_construction, sanitation, other_service, museum_service, architectural_style, traffic_infrastructure, payment_accepted, digital_offer, photography, pets_allowed, is_accessible_for_free, public_access, available_languages, distance_to_public_transport, opening_hours, offers, address, media, remote_id, --div--;' . $languagePath . '.tab.relations, town, managed_by, parking_facility_near_by',
+ 'showitem' => '--palette--;;language, title, description, slogan, start_of_construction, sanitation, other_service, museum_service, architectural_style, traffic_infrastructure, payment_accepted, digital_offer, photography, pets_allowed, is_accessible_for_free, public_access, available_languages, distance_to_public_transport, opening_hours, offers, accessibility_specification, address, media, remote_id, --div--;' . $languagePath . '.tab.relations, town, managed_by, parking_facility_near_by',
],
],
];
diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf
index cf54dd4..78a9c3a 100644
--- a/Resources/Private/Language/de.locallang.xlf
+++ b/Resources/Private/Language/de.locallang.xlf
@@ -455,6 +455,219 @@
Seconds
Sekunden
+
+
+ Accessibility Checked
+ barrierefrei
+
+
+ Certification Accessibility No Certification
+ nicht zertifiziert
+
+
+ Certification Information About Accessibility
+ teilweise barrierefrei
+
+
+ for deaf
+ für taube Menschen
+
+
+ for mental
+ für Menschen mit kognitiven Beeinträchtigungen
+
+
+ for partially deaf
+ für Menschen mit Hörbehinderung
+
+
+ for partially visual
+ für Menschen mit Sehbehinderung
+
+
+ for visual
+ für blinde Menschen
+
+
+ for walking
+ für Menschen mit Gehbehinderung
+
+
+ for wheelchair
+ für Rollstuhlfahrer
+
+
+ not certified
+ nicht zertifiziert
+
+
+ accessible
+ barrierefrei
+
+
+ partially accessible
+ teilweise barrierefrei
+
+
+ Short Description all Generations
+ Kurzbeschreibung Alle Generationen
+
+
+ Short Description all allergic
+ Kurzbeschreibung Allergiker
+
+
+ Short Description all deaf
+ Kurzbeschreibung Hörbehinderte / Gehörlos
+
+
+ Short Description all mental
+ Kurzbeschreibung Kognitive Beeinträchtigungen
+
+
+ Short Description all visual
+ Kurzbeschreibung Sehbehinderung / Blinde
+
+
+ Short Description all walking
+ Kurzbeschreibung Gehbehindert/Rollstuhl
+
+
+ Audio Induction Loop
+ Induktive Höranlage/ -schleife
+
+
+ Flashing Signal Call Waiting Door
+ Blinksignal bei Anklopfen an die Zimmertür
+
+
+ Special Offers Deaf People
+ Spezielle Angebote für gehörlose Menschen
+
+
+ Special Offers Hearing Impairment
+ Spezielle Angbote für Menschen mit Hörbehinderung
+
+
+ Visual Confirmation Distress Call Elevator
+ Optische Bestätigung des Notrufs im Aufzug
+
+
+ Colored Or Pictorial Guidance System
+ Farbliches oder bildhaftes Leitsystem
+
+
+ Information In Easy Language
+ Informationen in leichter Sprache (Führung, Begleitheft o.ä.)
+
+
+ Information With Pictograms Or Pictures
+ Informationen mit Piktogrammen oder Bildern
+
+
+ Assistance Dogs Welcome
+ Assistenzhunde willkommen
+
+
+ Guidance System With Floor Indicators
+ Durchgehendes Leitsystem mit Bodenindikatoren
+
+
+ Information Braille Or Prismatic Font
+ Informationen in Braille- oder Prismenschrift
+
+
+ Offers In Pictoral Language
+ Angebote in bildhafter Sprache (Führung, Audioguide o.ä.)
+
+
+ Special Offers Blind People
+ Spezielle Angebote für blinde Menschen
+
+
+ Special Offers Visual Impairment
+ Spezielle Angbote für Menschen mit Sehbehinderung
+
+
+ Tactile Offers
+ Taktile Angebote (Tastmodell, Lageplan o.ä.)
+
+
+ Visually ContrastingStep Edges
+ Visuell kontrastierende Stufenkanten
+
+
+ All Rooms Step Free Access
+ Alle nutzbaren Räume und Einrichtungen stufenlos bzw. über Aufzug erreichbar
+
+
+ Eighty CM Width Passage Ways
+ 80 cm Mindestbreite aller Durchgänge / Türen
+
+
+ Entry Aid Swimming Pool
+ Einstiegshilfe Schwimmbecken
+
+
+ Grab Rail In Shower
+ Haltegriff in der Dusche
+
+
+ Handrails On Both Sides Of All Staircases
+ Beidseitige Handläufe an allen Treppen
+
+
+ Hinged Grab Rail Toilet
+ Klappbarer Haltegriff am WC
+
+
+ Lateral Accessible Toilet
+ WC seitlich anfahrbar
+
+
+ Minumum Manoeuvring Space Shower
+ Bewegungsfläche der Dusche min. 1m x 1m
+
+
+ Ninety CM Width Passage Ways
+ 90 cm Mindestbreite aller Durchgänge / Türen
+
+
+ Nursing Bed
+ Pflegebett
+
+
+ Parking People With Disabilities
+ Parkplatz für Menschen mit Behinderung
+
+
+ Seventy CM Width Passage Ways
+ 70 cm Mindestbreite aller Durchgänge / Türen
+
+
+ Shower Seat
+ Duschstuhl oder sitz
+
+
+ Special Offers Walking Impairment
+ Spezielle Angbote für Menschen mit Gehbehinderung
+
+
+ Special Offers Wheelchair Users
+ Spezielle Angebote für Rollstuhlfahrer
+
+
+ Step Free Access
+ Stufenloser Zugang zum Gebäude/ Objekt/ Gelände
+
+
+ Step Free Shower
+ Stufenlose Dusche
+
+
+ Toilets People With Disabilities
+ WC für Menschen mit Behinderung
+