diff --git a/src/Services/Misc/DataSourceSynonymResolver.php b/src/Services/Misc/DataSourceSynonymResolver.php deleted file mode 100644 index 57e3d642..00000000 --- a/src/Services/Misc/DataSourceSynonymResolver.php +++ /dev/null @@ -1,71 +0,0 @@ -. - */ - -declare(strict_types=1); - -namespace App\Services\Misc; - -use App\Settings\SystemSettings\DataSourceSynonymsSettings; -use Symfony\Contracts\Translation\TranslatorInterface; - -readonly class DataSourceSynonymResolver -{ - public function __construct( - private TranslatorInterface $translator, - private DataSourceSynonymsSettings $synonymsSettings, - ) { - } - - public function displayNamePlural(string $dataSource, string $defaultKey, ?string $locale = null): string - { - $locale ??= $this->translator->getLocale(); - $syn = $this->synonyms($dataSource, $locale); - - if ($syn['plural'] !== '') { - return $syn['plural']; - } - - return $this->translator->trans($defaultKey, locale: $locale); - } - - public function displayNameSingular(string $dataSource, string $defaultKey, ?string $locale = null): string - { - $locale ??= $this->translator->getLocale(); - $syn = $this->synonyms($dataSource, $locale); - - if ($syn['singular'] !== '') { - return $syn['singular']; - } - - return $this->translator->trans($defaultKey, locale: $locale); - } - - private function synonyms(string $dataSource, string $locale): array - { - $all = []; - $row = $all[$dataSource][$locale] ?? ['singular' => '', 'plural' => '']; - - return [ - 'singular' => (string)($row['singular'] ?? ''), - 'plural' => (string)($row['plural'] ?? ''), - ]; - } -} diff --git a/src/Twig/DataSourceNameExtension.php b/src/Twig/DataSourceNameExtension.php deleted file mode 100644 index 693b3a36..00000000 --- a/src/Twig/DataSourceNameExtension.php +++ /dev/null @@ -1,67 +0,0 @@ -resolver->displayNameSingular($dataSourceName, $defaultKeySingular, $this->translator->getLocale()); - } - - /** - * Returns the plural synonym for the given data source in current locale, - * or the translated fallback key if no synonym provided. - */ - public function getDataSourceNamePlural(string $dataSourceName, string $defaultKeyPlural): string - { - return $this->resolver->displayNamePlural($dataSourceName, $defaultKeyPlural, $this->translator->getLocale()); - } - - /** - * Like data_source_name, only with a note if a synonym was set (uses translation key 'datasource.synonym'). - */ - public function getDataSourceNameWithHint(string $dataSourceName, string $defaultKey, string $type = 'singular'): string - { - $type = $type === 'singular' ? 'singular' : 'plural'; - - $resolved = $type === 'singular' - ? $this->resolver->displayNameSingular($dataSourceName, $defaultKey, $this->translator->getLocale()) - : $this->resolver->displayNamePlural($dataSourceName, $defaultKey, $this->translator->getLocale()); - - $fallback = $this->translator->trans($defaultKey); - - if ($resolved !== $fallback) { - return $this->translator->trans('datasource.synonym', [ - '%name%' => $fallback, - '%synonym%' => $resolved, - ]); - } - - return $fallback; - } -}