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().
Synopsis
Section titled “Synopsis”class TranslationConfigHandler extends XmlConfigHandler implements IArrayConfigHandler, IPositionAwareConfigHandler, ISchemaAwareConfigHandler
| Extends | XmlConfigHandler |
| Implements | IArrayConfigHandler, IPositionAwareConfigHandler, ISchemaAwareConfigHandler |
| Since | 1.0.0 |
| Source | Config/TranslationConfigHandler.php |
Constants
Section titled “Constants”| Constant | Value | Description |
|---|---|---|
XML_NAMESPACE | 'http://quiote.dev/quiote/config/parts/translation/1.1' |
Methods
Section titled “Methods”execute()
Section titled “execute()”public function execute(XmlConfigDomDocument $document): mixed
Execute this configuration handler.
The document to parse.
| Parameter | Type | Description |
|---|---|---|
$document | XmlConfigDomDocument | The document to parse. |
Returns mixed — The declaration to be cached.
| Throws | When |
|---|---|
ParseException | If a requested configuration file is improperly formatted. |
executeArray()
Section titled “executeArray()”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).
| Parameter | Type | Description |
|---|---|---|
$config | 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>} | 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.
schema()
Section titled “schema()”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
toCanonicalArray()
Section titled “toCanonicalArray()”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>}
| Parameter | Type | Description |
|---|---|---|
$document | XmlConfigDomDocument |
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>}
toCanonicalArrayWithPositions()
Section titled “toCanonicalArrayWithPositions()”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
| Parameter | Type | Description |
|---|---|---|
$document | XmlConfigDomDocument | |
$positions | ElementPositionIndex |
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}>}
Inherited methods
Section titled “Inherited methods”These come from an ancestor and are documented where they are declared.
| Method | Declared in | Description |
|---|---|---|
appendParameter() | ParameterHolder | Append a parameter. |
appendParameterByRef() | ParameterHolder | Append a parameter by reference. |
clearParameters() | ParameterHolder | Clear all parameters associated with this request. |
getFlatParameterNames() | ParameterHolder | Retrieve an array of flattened parameter names. |
getParameter() | ParameterHolder | Retrieve a parameter. |
getParameterNames() | ParameterHolder | Retrieve an array of parameter names. |
getParameters() | ParameterHolder | Retrieve an array of parameters. |
hasParameter() | ParameterHolder | Indicates whether or not a parameter exists. |
initialize() | XmlConfigHandler | Initialize this ConfigHandler. |
literalize() | BaseConfigHandler | Literalize a string value. |
removeParameter() | ParameterHolder | Remove a parameter. |
replaceConstants() | BaseConfigHandler | Replace configuration directive identifiers in a string. |
replacePath() | BaseConfigHandler | Replace a relative filesystem path with an absolute one. |
reset() | ParameterHolder | Removes every parameter held, leaving the holder empty for reuse. |
setParameter() | ParameterHolder | Set a parameter. |
setParameterByRef() | ParameterHolder | Set a parameter by reference. |
setParameters() | ParameterHolder | Set an array of parameters. |
setParametersByRef() | ParameterHolder | Set an array of parameters by reference. |