Zum Hauptinhalt springen
Version: v11.10

Translation Kontext

Das Translations Kontext ist dafür verantwortlich, dem ElementTranslationService einen Kontext mizugeben, welche Felder übersetzt werden sollen, welche Glossare Verwendung finden sollen und so weiter.

Falls so ein Translation Kontext Werte nicht gesetzt hat, werden standardmäßig die Standard-Werte aus der jeweiligen Translation-Konfiguration bezogen.

Verschiedene Typen

Objekt

Das ObjectTranslationContextDto wird als Übersetzungskontext für Objekte verwendet, in dem beispielsweise Localized-Fields, Brick-Felder und weitere übersetzbare Inhalte mitgegeben werden können.

NameWert
KlasseTwocream\DeepLBundle\Dto\ObjectTranslationContextDto
Konstruktorpublic function __construct(?array $localizedFields = null, ?array $blockFields = null, ?array $bricks = null, ?array $fieldCollections = null, ?array $objectRelations = null, ?array $glossaries = null)
Optional
$localizedFieldsEnthält das Format für die zu übersetzenden Localized-Felder.
$blockFieldsEnthält das Format für die zu übersetzenden Block-Felder.
$bricksEnthält das Format für die zu übersetzenden Brick-Felder.
$fieldCollectionsEnthält das Format für die zu übersetzenden Field-Collection-Felder.
$objectRelationsEnthält das Format für die zu übersetzenden Objekt-Relationen.
$glossariesEnthält die Glossare.

Asset

Das AssetTranslationContextDto wird als Übersetzungskontext für Assets verwendet, in dem beispielsweise die Meta-Daten-Felder übergeben werden.

NameWert
KlasseTwocream\DeepLBundle\Dto\AssetTranslationContextDto
Konstruktorpublic function __construct(?array $metadataFields = null, ?array $glossaries = null)
Optional
$metadataFieldsEnthält die Namen der "Vordefinierten-Asset-Metadaten" aus Pimcore, die übersetzt werden sollen.
$glossariesEnthält die Glossare.

Erstellung

info

In dem Beispiel werden die Felder aus der Konfiguration entnommen. Sind keine Werte gesetzt, werden normalerweise immer die Felder aus der Konfiguration verwendet. Dies stellt ein Beispiel dar.

$config = TranslationConfigurationLoader::getConfiguration($object->getClassName());

$translationContext = new ObjectTranslationContextDto();
$translationContext->setLocalizedFields($config['fields'] ?? []);
$translationContext->setFieldCollections($config['fieldCollections'] ?? []);
$translationContext->setBricks($config['bricks'] ?? []);
$translationContext->setObjectRelations($config['relations'] ?? []);
$translationContext->setBlockFields($config['blocks'] ?? []);
$translationContext->setGlossaries($config['glossaries'] ?? []);