Skip to content

TranslationConfigHandler

TranslationConfigHandler allows you to define translator implementations for different domains.

Migrated to IArrayConfigHandler (phase 2). Canonical schema: [‘default_domain’ => string, ‘default_locale’ => string|null, ‘default_timezone’ => string|null, ‘locales’ => [‘identifier’ => [‘name’ => …, ‘params’ => […], ‘fallback’ => …, ‘ldml_file’ => …]], ‘translators’ => [‘domain’ => [‘msg’|‘num’|‘cur’|‘date’ => [‘class’ => …, ‘filters’ => […], ‘params’ => […]]]]] getFilters()/getTranslators() are DOM-walking helpers used only by toCanonicalArray(); the translator-class existence check (a pure function of the finished canonical array) moved to executeArray().

class TranslationConfigHandler extends XmlConfigHandler implements IArrayConfigHandler, IPositionAwareConfigHandler, ISchemaAwareConfigHandler

ExtendsXmlConfigHandler
ImplementsIArrayConfigHandler, IPositionAwareConfigHandler, ISchemaAwareConfigHandler
Since1.0.0
SourceConfig/TranslationConfigHandler.php
ConstantValueDescription
XML_NAMESPACE'http://quiote.dev/quiote/config/parts/translation/1.1'
MethodDescription
execute(XmlConfigDomDocument $document): mixedExecute this configuration handler.
[`executeArray(array{default_domain?: string, default_locale?: ?string, default_timezone?: ?string, locales?: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators?: array<string, mixed>} $config, stringnull $sourceRef = null): mixed`](#executearray)
schema(): RuleReturns the structural rule for the translation configuration.
toCanonicalArray(XmlConfigDomDocument $document): array{default_domain: string, default_locale: ?string, default_timezone: ?string, locales: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators: array<string, mixed>}
toCanonicalArrayWithPositions(XmlConfigDomDocument $document, ElementPositionIndex $positions): array{data: array{default_domain: string, default_locale: ?string, default_timezone: ?string, locales: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators: array<string, mixed>}, positions: array<string, array{file: string, line: int}>}Positions are only tracked for “locales” — a flat, single-level walk.

public function execute(XmlConfigDomDocument $document): mixed

Execute this configuration handler.

The document to parse.

ParameterTypeDescription
$documentXmlConfigDomDocumentThe document to parse.

Returns mixed — The declaration to be cached.

ThrowsWhen
ParseExceptionIf a requested configuration file is improperly formatted.

public function executeArray(array{default_domain?: string, default_locale?: ?string, default_timezone?: ?string, locales?: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators?: array<string, mixed>} $config, string|null $sourceRef = null): mixed

Origin reference for the compiled cache file’s header comment (a file path for any format; XML’s is $document->documentURI).

ParameterTypeDescription
$configarray{default_domain?: string, default_locale?: ?string, default_timezone?: ?string, locales?: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators?: array<string, mixed>}The canonical config array, matching the shape returned by toCanonicalArray().
$sourceRef`string““null`

Returns mixed — The declaration to be cached, exactly as IXmlConfigHandler::execute() returns.

public function schema(): Rule

Returns the structural rule for the translation configuration.

Describes the default domain, locale and timezone, the locales map (each with its name, parameters, fallback and LDML file) and the translators map, which holds a message, number, currency and date translator entry per domain.

Returns Rule

public function toCanonicalArray(XmlConfigDomDocument $document): array{default_domain: string, default_locale: ?string, default_timezone: ?string, locales: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators: array<string, mixed>}

ParameterTypeDescription
$documentXmlConfigDomDocument

Returns array{default_domain: string, default_locale: ?string, default_timezone: ?string, locales: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators: array<string, mixed>}

public function toCanonicalArrayWithPositions(XmlConfigDomDocument $document, ElementPositionIndex $positions): array{data: array{default_domain: string, default_locale: ?string, default_timezone: ?string, locales: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators: array<string, mixed>}, positions: array<string, array{file: string, line: int}>}

Positions are only tracked for “locales” — a flat, single-level walk.

“translators” builds a recursive, potentially deeply-nested domain hierarchy via getTranslators(); mirroring that faithfully for position purposes isn’t attempted here (translation.xml also has legacy-upgrade stylesheets configured by default, so positions come back empty in practice anyway — see TranslationConfigHandlerPositionTest).

ParameterTypeDescription
$documentXmlConfigDomDocument
$positionsElementPositionIndex

Returns array{data: array{default_domain: string, default_locale: ?string, default_timezone: ?string, locales: array<string, array{name: string, params: mixed, fallback: ?string, ldml_file: ?string}>, translators: array<string, mixed>}, positions: array<string, array{file: string, line: int}>}

These come from an ancestor and are documented where they are declared.

MethodDeclared inDescription
appendParameter()ParameterHolderAppend a parameter.
appendParameterByRef()ParameterHolderAppend a parameter by reference.
clearParameters()ParameterHolderClear all parameters associated with this request.
getFlatParameterNames()ParameterHolderRetrieve an array of flattened parameter names.
getParameter()ParameterHolderRetrieve a parameter.
getParameterNames()ParameterHolderRetrieve an array of parameter names.
getParameters()ParameterHolderRetrieve an array of parameters.
hasParameter()ParameterHolderIndicates whether or not a parameter exists.
initialize()XmlConfigHandlerInitialize this ConfigHandler.
literalize()BaseConfigHandlerLiteralize a string value.
removeParameter()ParameterHolderRemove a parameter.
replaceConstants()BaseConfigHandlerReplace configuration directive identifiers in a string.
replacePath()BaseConfigHandlerReplace a relative filesystem path with an absolute one.
reset()ParameterHolderRemoves every parameter held, leaving the holder empty for reuse.
setParameter()ParameterHolderSet a parameter.
setParameterByRef()ParameterHolderSet a parameter by reference.
setParameters()ParameterHolderSet an array of parameters.
setParametersByRef()ParameterHolderSet an array of parameters by reference.