From b673b540a837125a04cc90864c43461ba80e9054 Mon Sep 17 00:00:00 2001 From: asajedi Date: Tue, 7 Dec 2021 02:08:47 +0100 Subject: [PATCH] Translate document ISO language code This translate the document ISO langauge code like ger to real language name like Deutsch. --- config/services.yaml | 7 +++++++ src/Transform/MetadataTransformer.php | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/config/services.yaml b/config/services.yaml index e10b5bf..88fdfd5 100755 --- a/config/services.yaml +++ b/config/services.yaml @@ -25,6 +25,12 @@ parameters: SUB_HSD: 'SUB HSD Niedersächsische Staats- und Universitätsbibliothek Göttingen, Abteilung Handschriften und Seltene Drucke' tei_dir: '%kernel.project_dir%/data/teis/' tei_sample_dir: '%kernel.project_dir%/data/sampletei/' + document_languages: + eng: Englisch + fre: Französisch + ger: Deutsch + ita: Italienisch + lat: Latein services: # default configuration for services in *this* file @@ -112,3 +118,4 @@ services: - method: 'setConfigs' arguments: - '%env(MAIN_DOMAIN)%' + - '%document_languages%' diff --git a/src/Transform/MetadataTransformer.php b/src/Transform/MetadataTransformer.php index c73c03d..12c2886 100644 --- a/src/Transform/MetadataTransformer.php +++ b/src/Transform/MetadataTransformer.php @@ -11,15 +11,17 @@ class MetadataTransformer implements MetadataTransformerInterface { private RouterInterface $router; private ?string $mainDomain; + private ?array $documentLanguages; public function __construct(RouterInterface $router) { $this->router = $router; } - public function setConfigs(string $mainDomain): void + public function setConfigs(string $mainDomain, array $documentLanguages): void { $this->mainDomain = $mainDomain; + $this->documentLanguages = $documentLanguages; } public function getAuthor(DOMXPath $xpath): string @@ -244,6 +246,7 @@ class MetadataTransformer implements MetadataTransformerInterface $languageNode = $xpath->query('//tei:text//@xml:lang'); if ($languageNode->item(0)) { $language = $languageNode->item(0)->nodeValue; + $language = $this->documentLanguages[$language]; } return $language; -- GitLab