Skip to content

Commit badb9d3

Browse files
committed
Non-functioning translatable enums
1 parent deb4f80 commit badb9d3

File tree

6 files changed

+27
-7
lines changed

6 files changed

+27
-7
lines changed

src/Controller/Dashboard/DashboardRegistryController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ public function configureFields(string $pageName): iterable
6767
->setTemplatePath('dashboard/fields/registry_package_mirroring.html.twig')
6868
->setRequired(true)
6969
->setChoices(RegistryPackageMirroring::cases())
70+
// This shouldn't be necessary because it's a translatable enum but it is
7071
->setFormTypeOption('choice_label', function (RegistryPackageMirroring $choice): string {
71-
return "registry.package_mirroring.{$choice->value}";
72+
return "registry.package-mirroring.{$choice->value}";
7273
})
7374
->renderExpanded();
7475

src/Doctrine/Entity/PackageFetchStrategy.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,16 @@
22

33
namespace CodedMonkey\Dirigent\Doctrine\Entity;
44

5-
enum PackageFetchStrategy: string
5+
use Symfony\Contracts\Translation\TranslatableInterface;
6+
use Symfony\Contracts\Translation\TranslatorInterface;
7+
8+
enum PackageFetchStrategy: string implements TranslatableInterface
69
{
710
case Mirror = 'mirror';
811
case Vcs = 'vcs';
12+
13+
public function trans(TranslatorInterface $translator, ?string $locale = null): string
14+
{
15+
return sprintf('package.fetch-strategy.%s', $this->value);
16+
}
917
}

src/Doctrine/Entity/RegistryPackageMirroring.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,17 @@
22

33
namespace CodedMonkey\Dirigent\Doctrine\Entity;
44

5-
enum RegistryPackageMirroring: string
5+
use Symfony\Contracts\Translation\TranslatableInterface;
6+
use Symfony\Contracts\Translation\TranslatorInterface;
7+
8+
enum RegistryPackageMirroring: string implements TranslatableInterface
69
{
710
case Disabled = 'none';
811
case Manual = 'manual';
912
case Automatic = 'auto';
13+
14+
public function trans(TranslatorInterface $translator, ?string $locale = null): string
15+
{
16+
return sprintf('registry.package-mirroring.%s', $this->value);
17+
}
1018
}

src/Form/PackageFormType.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@ public function onPostSetData(PostSetDataEvent $event): void
7373
'class' => PackageFetchStrategy::class,
7474
'expanded' => true,
7575
'disabled' => !$package->getRepositoryUrl(),
76+
// This shouldn't be necessary because it's a translatable enum but it is
7677
'choice_label' => function (PackageFetchStrategy $choice): string {
77-
return "package.fetch_strategy.{$choice->value}";
78+
return "package.fetch-strategy.{$choice->value}";
7879
},
7980
]);
8081
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
{{ "registry.package_mirroring.#{field.value.value}"|trans }}
1+
{# Since it is a translatable enum the following should work but it doesn't #}
2+
{# {{ field.value|trans }} #}
3+
{{ "registry.package-mirroring.#{field.value.value}"|trans }}

translations/messages.en.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ credentials:
6161
gitlab-dt: GitLab deploy token
6262
gitlab-pat: GitLab personal access token
6363
package:
64-
fetch_strategy:
64+
fetch-strategy:
6565
mirror: Fetch from mirror registry
6666
vcs: Fetch directly from VCS
6767
registry:
68-
package_mirroring:
68+
package-mirroring:
6969
none: Package mirroring disabled
7070
manual: Only mirror specified packages
7171
auto: Automatically mirror packages on request

0 commit comments

Comments
 (0)