From 78d3b8a87935ab781b9a537bd9f6a79dddd10f95 Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Tue, 5 May 2026 07:43:26 +0200 Subject: [PATCH] Add DateIntervalField for editable, localized DateInterval rendering Fix #7374 --- config/services.php | 3 + doc/fields.rst | 3 +- doc/fields/DateIntervalField.rst | 47 ++++++++++++ src/Dto/CrudDto.php | 6 +- .../Configurator/DateIntervalConfigurator.php | 43 +++++++++++ src/Field/DateIntervalField.php | 53 +++++++++++++ templates/crud/field/date_interval.html.twig | 16 ++++ tests/Unit/Field/DateIntervalFieldTest.php | 75 +++++++++++++++++++ translations/EasyAdminBundle.ar.php | 10 +++ translations/EasyAdminBundle.bg.php | 10 +++ translations/EasyAdminBundle.ca.php | 10 +++ translations/EasyAdminBundle.cs.php | 10 +++ translations/EasyAdminBundle.da.php | 10 +++ translations/EasyAdminBundle.de.php | 10 +++ translations/EasyAdminBundle.el.php | 10 +++ translations/EasyAdminBundle.en.php | 10 +++ translations/EasyAdminBundle.es.php | 10 +++ translations/EasyAdminBundle.eu.php | 10 +++ translations/EasyAdminBundle.fa.php | 10 +++ translations/EasyAdminBundle.fi.php | 10 +++ translations/EasyAdminBundle.fr.php | 10 +++ translations/EasyAdminBundle.gl.php | 10 +++ translations/EasyAdminBundle.he.php | 10 +++ translations/EasyAdminBundle.hr.php | 10 +++ translations/EasyAdminBundle.hu.php | 10 +++ translations/EasyAdminBundle.hy.php | 10 +++ translations/EasyAdminBundle.id.php | 10 +++ translations/EasyAdminBundle.it.php | 10 +++ translations/EasyAdminBundle.lb.php | 10 +++ translations/EasyAdminBundle.lt.php | 10 +++ translations/EasyAdminBundle.mk.php | 10 +++ translations/EasyAdminBundle.nl.php | 10 +++ translations/EasyAdminBundle.no.php | 10 +++ translations/EasyAdminBundle.pl.php | 10 +++ translations/EasyAdminBundle.pt.php | 10 +++ translations/EasyAdminBundle.pt_BR.php | 10 +++ translations/EasyAdminBundle.ro.php | 10 +++ translations/EasyAdminBundle.ru.php | 10 +++ translations/EasyAdminBundle.sk.php | 10 +++ translations/EasyAdminBundle.sl.php | 10 +++ translations/EasyAdminBundle.sr_RS.php | 10 +++ translations/EasyAdminBundle.sv.php | 10 +++ translations/EasyAdminBundle.tr.php | 10 +++ translations/EasyAdminBundle.uk.php | 10 +++ translations/EasyAdminBundle.zh_CN.php | 10 +++ translations/EasyAdminBundle.zh_TW.php | 10 +++ 46 files changed, 622 insertions(+), 4 deletions(-) create mode 100644 doc/fields/DateIntervalField.rst create mode 100644 src/Field/Configurator/DateIntervalConfigurator.php create mode 100644 src/Field/DateIntervalField.php create mode 100644 templates/crud/field/date_interval.html.twig create mode 100644 tests/Unit/Field/DateIntervalFieldTest.php diff --git a/config/services.php b/config/services.php index b170195c64..7d63f27ee5 100644 --- a/config/services.php +++ b/config/services.php @@ -42,6 +42,7 @@ use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\CommonPreConfigurator; use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\CountryConfigurator; use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\CurrencyConfigurator; +use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\DateIntervalConfigurator; use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\DateTimeConfigurator; use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\EmailConfigurator; use EasyCorp\Bundle\EasyAdminBundle\Field\Configurator\FileConfigurator; @@ -398,6 +399,8 @@ ->set(CurrencyConfigurator::class) + ->set(DateIntervalConfigurator::class) + ->set(DateTimeConfigurator::class) ->arg(0, service(IntlFormatter::class)) diff --git a/doc/fields.rst b/doc/fields.rst index 1fa38a5c10..f9b296b747 100644 --- a/doc/fields.rst +++ b/doc/fields.rst @@ -701,6 +701,7 @@ These are all the built-in fields provided by EasyAdmin: * :doc:`CountryField ` * :doc:`CurrencyField ` * :doc:`DateField ` +* :doc:`DateIntervalField ` * :doc:`DateTimeField ` * :doc:`EmailField ` * :doc:`FileField ` @@ -743,7 +744,7 @@ Doctrine Type Recommended EasyAdmin Fields ``datetime`` ``DateTimeField`` ``datetimetz_immutable`` ``DateTimeField`` ``datetimetz`` ``DateTimeField`` -``dateinterval`` ``TextField`` +``dateinterval`` ``DateIntervalField`` ``decimal`` ``NumberField`` ``float`` ``NumberField`` ``guid`` ``TextField`` diff --git a/doc/fields/DateIntervalField.rst b/doc/fields/DateIntervalField.rst new file mode 100644 index 0000000000..fc0aada514 --- /dev/null +++ b/doc/fields/DateIntervalField.rst @@ -0,0 +1,47 @@ +EasyAdmin Date Interval Field +============================= + +This field is used to represent a value that stores a PHP ``DateInterval`` +object (e.g. a duration mapped to Doctrine's ``dateinterval`` column type). + +In :ref:`form pages (edit and new) ` it is rendered as a single +text input that expects an `ISO 8601 duration`_ pattern (for example ``P1Y2M3D`` +for "1 year, 2 months and 3 days" or ``PT1H30M`` for "1 hour and 30 minutes"). + +In :ref:`read-only pages (index and detail) ` the value is rendered +as a localized, human-friendly string (for example ``2 years 4 days 6 hours +8 minutes``). Each part is translated and pluralized using the +``EasyAdminBundle`` translation domain. + +Basic Information +----------------- + +* **PHP Class**: ``EasyCorp\Bundle\EasyAdminBundle\Field\DateIntervalField`` +* **Doctrine DBAL Type** used to store this value: ``dateinterval`` +* **Symfony Form Type** used to render the field: `DateIntervalType`_ +* **Rendered as**: + + .. code-block:: html + + + +Options +------- + +setFormat +~~~~~~~~~ + +By default, in read-only pages (``index`` and ``detail``) date intervals are +displayed using a localized, pluralized representation built from the +``date_interval.*`` translation keys. + +Use this option to override that default with a raw format string passed to +``DateInterval::format()``:: + + yield DateIntervalField::new('duration')->setFormat('%y years, %m months, %d days'); + +The same override is available globally on the CRUD configuration via +:ref:`Crud::setDateIntervalFormat() `. + +.. _`ISO 8601 duration`: https://en.wikipedia.org/wiki/ISO_8601#Durations +.. _`DateIntervalType`: https://symfony.com/doc/current/reference/forms/types/dateinterval.html \ No newline at end of file diff --git a/src/Dto/CrudDto.php b/src/Dto/CrudDto.php index 6ba6789696..031fcf1b55 100644 --- a/src/Dto/CrudDto.php +++ b/src/Dto/CrudDto.php @@ -57,7 +57,7 @@ final class CrudDto private ?string $timePattern = 'medium'; /** @var array{string, string} */ private array $dateTimePattern = ['medium', 'medium']; - private string $dateIntervalFormat = '%%y Year(s) %%m Month(s) %%d Day(s)'; + private ?string $dateIntervalFormat = null; private ?string $timezone = null; private ?string $numberFormat = null; private ?string $thousandsSeparator = null; @@ -299,12 +299,12 @@ public function setDateTimePattern(string $dateFormatOrPattern, string $timeForm $this->dateTimePattern = [$dateFormatOrPattern, $timeFormat]; } - public function getDateIntervalFormat(): string + public function getDateIntervalFormat(): ?string { return $this->dateIntervalFormat; } - public function setDateIntervalFormat(string $format): void + public function setDateIntervalFormat(?string $format): void { $this->dateIntervalFormat = $format; } diff --git a/src/Field/Configurator/DateIntervalConfigurator.php b/src/Field/Configurator/DateIntervalConfigurator.php new file mode 100644 index 0000000000..0fefbfeb92 --- /dev/null +++ b/src/Field/Configurator/DateIntervalConfigurator.php @@ -0,0 +1,43 @@ + + */ +final class DateIntervalConfigurator implements FieldConfiguratorInterface +{ + public function supports(FieldDto $field, EntityDto $entityDto): bool + { + return DateIntervalField::class === $field->getFieldFqcn(); + } + + public function configure(FieldDto $field, EntityDto $entityDto, AdminContext $context): void + { + $value = $field->getValue(); + + if (!$value instanceof \DateInterval) { + return; + } + + $format = $field->getCustomOption(DateIntervalField::OPTION_FORMAT) + ?? $context->getCrud()?->getDateIntervalFormat(); + + if (null !== $format) { + $field->setFormattedValue($value->format($format)); + + return; + } + + // sentinel: keep formattedValue non-null so the CommonPostConfigurator does not + // swap our template for label/null; the template builds the localized string + // from $field->getValue() (the original DateInterval). + $field->setFormattedValue(''); + } +} \ No newline at end of file diff --git a/src/Field/DateIntervalField.php b/src/Field/DateIntervalField.php new file mode 100644 index 0000000000..3cfb1fca36 --- /dev/null +++ b/src/Field/DateIntervalField.php @@ -0,0 +1,53 @@ + + */ +final class DateIntervalField implements FieldInterface +{ + use FieldTrait; + + public const OPTION_FORMAT = 'format'; + + public static function new(string $propertyName, TranslatableInterface|string|bool|null $label = null): self + { + return (new self()) + ->setProperty($propertyName) + ->setLabel($label) + ->setTemplateName('crud/field/date_interval') + ->setFormType(DateIntervalType::class) + ->setFormTypeOptions([ + 'widget' => 'single_text', + 'input' => 'dateinterval', + 'with_years' => true, + 'with_months' => true, + 'with_weeks' => false, + 'with_days' => true, + 'with_hours' => true, + 'with_minutes' => true, + 'with_seconds' => true, + ]) + ->addCssClass('field-date-interval') + ->setDefaultColumns('col-md-6 col-xxl-5') + ->setCustomOption(self::OPTION_FORMAT, null); + } + + /** + * Set a custom format string passed to DateInterval::format(). + * + * When set, this overrides the localized rendering and the value is + * displayed using the raw DateInterval::format() output. + */ + public function setFormat(?string $format): self + { + $this->setCustomOption(self::OPTION_FORMAT, $format); + + return $this; + } +} \ No newline at end of file diff --git a/templates/crud/field/date_interval.html.twig b/templates/crud/field/date_interval.html.twig new file mode 100644 index 0000000000..02a31bc82b --- /dev/null +++ b/templates/crud/field/date_interval.html.twig @@ -0,0 +1,16 @@ +{# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #} +{# @var field \EasyCorp\Bundle\EasyAdminBundle\Dto\FieldDto #} +{# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #} +{% if field.formattedValue is not empty %} + +{% else %} + {% set parts = [] %} + {% if field.value.y > 0 %}{% set parts = parts|merge([('date_interval.years'|trans({'%count%': field.value.y}, 'EasyAdminBundle'))]) %}{% endif %} + {% if field.value.m > 0 %}{% set parts = parts|merge([('date_interval.months'|trans({'%count%': field.value.m}, 'EasyAdminBundle'))]) %}{% endif %} + {% if field.value.d > 0 %}{% set parts = parts|merge([('date_interval.days'|trans({'%count%': field.value.d}, 'EasyAdminBundle'))]) %}{% endif %} + {% if field.value.h > 0 %}{% set parts = parts|merge([('date_interval.hours'|trans({'%count%': field.value.h}, 'EasyAdminBundle'))]) %}{% endif %} + {% if field.value.i > 0 %}{% set parts = parts|merge([('date_interval.minutes'|trans({'%count%': field.value.i}, 'EasyAdminBundle'))]) %}{% endif %} + {% if field.value.s > 0 %}{% set parts = parts|merge([('date_interval.seconds'|trans({'%count%': field.value.s}, 'EasyAdminBundle'))]) %}{% endif %} + {% if parts is empty %}{% set parts = [('date_interval.empty'|trans({}, 'EasyAdminBundle'))] %}{% endif %} + +{% endif %} \ No newline at end of file diff --git a/tests/Unit/Field/DateIntervalFieldTest.php b/tests/Unit/Field/DateIntervalFieldTest.php new file mode 100644 index 0000000000..514375732c --- /dev/null +++ b/tests/Unit/Field/DateIntervalFieldTest.php @@ -0,0 +1,75 @@ +configurator = new DateIntervalConfigurator(); + } + + public function testFieldWithoutValue(): void + { + $field = DateIntervalField::new('foo'); + $field->setFieldFqcn(DateIntervalField::class); + $fieldDto = $this->configure($field); + + $this->assertNull($fieldDto->getFormattedValue()); + } + + public function testFieldWithoutCustomFormatLeavesValueForTemplateRendering(): void + { + $field = DateIntervalField::new('foo')->setValue(new \DateInterval('P2Y4DT6H8M')); + $field->setFieldFqcn(DateIntervalField::class); + $fieldDto = $this->configure($field); + + // sentinel empty string keeps CommonPostConfigurator from swapping the template + $this->assertSame('', $fieldDto->getFormattedValue()); + $this->assertInstanceOf(\DateInterval::class, $fieldDto->getValue()); + } + + public function testFieldWithPerFieldFormat(): void + { + $field = DateIntervalField::new('foo') + ->setValue(new \DateInterval('P1Y2M3D')) + ->setFormat('%y years, %m months, %d days'); + $field->setFieldFqcn(DateIntervalField::class); + $fieldDto = $this->configure($field); + + $this->assertSame('1 years, 2 months, 3 days', $fieldDto->getFormattedValue()); + } + + public function testTemplateRendersLocalizedPluralizedString(): void + { + $field = DateIntervalField::new('foo')->setValue(new \DateInterval('P1Y2M3DT4H5M6S')); + $field->setFieldFqcn(DateIntervalField::class); + $fieldDto = $this->configure($field); + + $html = $this->renderFieldTemplate($fieldDto, $this->entityDto, $this->adminContext); + + $this->assertStringContainsString('1 year', $html); + $this->assertStringContainsString('2 months', $html); + $this->assertStringContainsString('3 days', $html); + $this->assertStringContainsString('4 hours', $html); + $this->assertStringContainsString('5 minutes', $html); + $this->assertStringContainsString('6 seconds', $html); + $this->assertStringContainsString('datetime="P1Y2M3DT4H5M6S"', $html); + } + + public function testTemplateRendersZeroDurationAsEmptyLabel(): void + { + $field = DateIntervalField::new('foo')->setValue(new \DateInterval('PT0S')); + $field->setFieldFqcn(DateIntervalField::class); + $fieldDto = $this->configure($field); + + $html = $this->renderFieldTemplate($fieldDto, $this->entityDto, $this->adminContext); + + $this->assertStringContainsString('0 seconds', $html); + } +} \ No newline at end of file diff --git a/translations/EasyAdminBundle.ar.php b/translations/EasyAdminBundle.ar.php index 64cdd113bb..42f36fa7a5 100644 --- a/translations/EasyAdminBundle.ar.php +++ b/translations/EasyAdminBundle.ar.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'رؤية المحتوى', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'إجراءات', 'new' => '%entity_label_singular% جديد', diff --git a/translations/EasyAdminBundle.bg.php b/translations/EasyAdminBundle.bg.php index 5026295f97..239d6cdef0 100644 --- a/translations/EasyAdminBundle.bg.php +++ b/translations/EasyAdminBundle.bg.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Преглед на съдържание', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Действия', 'new' => 'Добавяне на %entity_label_singular%', diff --git a/translations/EasyAdminBundle.ca.php b/translations/EasyAdminBundle.ca.php index 794ff78c4c..43bd8cf049 100644 --- a/translations/EasyAdminBundle.ca.php +++ b/translations/EasyAdminBundle.ca.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Veure contingut', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Accions', 'new' => 'Crear %entity_label_singular%', diff --git a/translations/EasyAdminBundle.cs.php b/translations/EasyAdminBundle.cs.php index 8ff7144573..3daa02d013 100644 --- a/translations/EasyAdminBundle.cs.php +++ b/translations/EasyAdminBundle.cs.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Zobrazit obsah', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Akce', 'new' => 'Vytvořit %entity_label_singular%', diff --git a/translations/EasyAdminBundle.da.php b/translations/EasyAdminBundle.da.php index fadf7a0a02..9f1e5fa14b 100644 --- a/translations/EasyAdminBundle.da.php +++ b/translations/EasyAdminBundle.da.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Vis indhold', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Handlinger', 'new' => 'Tilføj %entity_label_singular%', diff --git a/translations/EasyAdminBundle.de.php b/translations/EasyAdminBundle.de.php index dd14ec868f..e0ae411e54 100644 --- a/translations/EasyAdminBundle.de.php +++ b/translations/EasyAdminBundle.de.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Inhalt anzeigen', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Aktionen', 'new' => '%entity_label_singular% erstellen', diff --git a/translations/EasyAdminBundle.el.php b/translations/EasyAdminBundle.el.php index 158d1d346c..1482899645 100644 --- a/translations/EasyAdminBundle.el.php +++ b/translations/EasyAdminBundle.el.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Προβολή περιεχομένου', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Ενέργειες', 'new' => 'Δημιουργία %entity_label_singular%', diff --git a/translations/EasyAdminBundle.en.php b/translations/EasyAdminBundle.en.php index 01a5a0ac83..1766ddde59 100644 --- a/translations/EasyAdminBundle.en.php +++ b/translations/EasyAdminBundle.en.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'View content', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Actions', 'new' => 'Add %entity_label_singular%', diff --git a/translations/EasyAdminBundle.es.php b/translations/EasyAdminBundle.es.php index 33d0ea371f..ee2f9a85d7 100644 --- a/translations/EasyAdminBundle.es.php +++ b/translations/EasyAdminBundle.es.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Ver contenido', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Acciones', 'new' => 'Crear %entity_label_singular%', diff --git a/translations/EasyAdminBundle.eu.php b/translations/EasyAdminBundle.eu.php index 5d5546f4cb..1d1135e62d 100644 --- a/translations/EasyAdminBundle.eu.php +++ b/translations/EasyAdminBundle.eu.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Edukia ikusi', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Akzioak', 'new' => '%entity_label_singular%-a sortu', diff --git a/translations/EasyAdminBundle.fa.php b/translations/EasyAdminBundle.fa.php index 463e4dacb2..1d1a3e89c9 100644 --- a/translations/EasyAdminBundle.fa.php +++ b/translations/EasyAdminBundle.fa.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'مشاهده محتوا', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'اقدامات', 'new' => 'افزودن %entity_label_singular%', diff --git a/translations/EasyAdminBundle.fi.php b/translations/EasyAdminBundle.fi.php index efdc3faf10..4bb8ecdb99 100644 --- a/translations/EasyAdminBundle.fi.php +++ b/translations/EasyAdminBundle.fi.php @@ -40,6 +40,16 @@ // 'text_editor.view_content' => '', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Toiminnot', 'new' => 'Lisää uusi %entity_label_singular%', diff --git a/translations/EasyAdminBundle.fr.php b/translations/EasyAdminBundle.fr.php index a855969e21..0061625499 100644 --- a/translations/EasyAdminBundle.fr.php +++ b/translations/EasyAdminBundle.fr.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Voir le contenu', ], + 'date_interval' => [ + 'years' => '{1} %count% an|]1,Inf] %count% ans', + 'months' => '{1} %count% mois|]1,Inf] %count% mois', + 'days' => '{1} %count% jour|]1,Inf] %count% jours', + 'hours' => '{1} %count% heure|]1,Inf] %count% heures', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% seconde|]1,Inf] %count% secondes', + 'empty' => '0 seconde', + ], + 'action' => [ 'entity_actions' => 'Actions', 'new' => 'Créer %entity_label_singular%', diff --git a/translations/EasyAdminBundle.gl.php b/translations/EasyAdminBundle.gl.php index 79327163e6..2de999a055 100644 --- a/translations/EasyAdminBundle.gl.php +++ b/translations/EasyAdminBundle.gl.php @@ -40,6 +40,16 @@ // 'text_editor.view_content' => '', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Accións', 'new' => 'Crear %entity_label_singular%', diff --git a/translations/EasyAdminBundle.he.php b/translations/EasyAdminBundle.he.php index 4d7012b10a..fb5446dfe0 100644 --- a/translations/EasyAdminBundle.he.php +++ b/translations/EasyAdminBundle.he.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'הצג תוכן', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'פעולות', 'new' => 'הוסף %entity_label_singular%', diff --git a/translations/EasyAdminBundle.hr.php b/translations/EasyAdminBundle.hr.php index a0726c1d8d..313d6c1e96 100644 --- a/translations/EasyAdminBundle.hr.php +++ b/translations/EasyAdminBundle.hr.php @@ -40,6 +40,16 @@ // 'text_editor.view_content' => '', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Akcije', 'new' => 'Dodaj %entity_label_singular%', diff --git a/translations/EasyAdminBundle.hu.php b/translations/EasyAdminBundle.hu.php index 79aaac520c..d9f1544cb6 100644 --- a/translations/EasyAdminBundle.hu.php +++ b/translations/EasyAdminBundle.hu.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Tartalom megtekintése', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Műveletek', 'new' => 'Új %entity_label_singular% létrehozása', diff --git a/translations/EasyAdminBundle.hy.php b/translations/EasyAdminBundle.hy.php index 012035e811..0a4062d80e 100644 --- a/translations/EasyAdminBundle.hy.php +++ b/translations/EasyAdminBundle.hy.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Տեսնել պարունակությունը', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Գործողություն', 'new' => 'Ստեղծել %entity_label_singular%', diff --git a/translations/EasyAdminBundle.id.php b/translations/EasyAdminBundle.id.php index 44803a2968..30e0e131f2 100644 --- a/translations/EasyAdminBundle.id.php +++ b/translations/EasyAdminBundle.id.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Lihat konten', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Aksi', 'new' => 'Tambah %entity_label_singular%', diff --git a/translations/EasyAdminBundle.it.php b/translations/EasyAdminBundle.it.php index e34477489e..aee74b13e3 100644 --- a/translations/EasyAdminBundle.it.php +++ b/translations/EasyAdminBundle.it.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Visualizza contenuto', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Azioni', 'new' => 'Crea %entity_label_singular%', diff --git a/translations/EasyAdminBundle.lb.php b/translations/EasyAdminBundle.lb.php index b1f296f7ee..e6eb311273 100644 --- a/translations/EasyAdminBundle.lb.php +++ b/translations/EasyAdminBundle.lb.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Contenu uweisen', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Aktiounen', 'new' => '%entity_label_singular% erstellen', diff --git a/translations/EasyAdminBundle.lt.php b/translations/EasyAdminBundle.lt.php index 5a01903b9d..96f337bd8f 100644 --- a/translations/EasyAdminBundle.lt.php +++ b/translations/EasyAdminBundle.lt.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Peržiūrėti turinį', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Veiksmai', 'new' => 'Sukurti %entity_label_singular%', diff --git a/translations/EasyAdminBundle.mk.php b/translations/EasyAdminBundle.mk.php index c8592f88e8..d0d7b4a171 100644 --- a/translations/EasyAdminBundle.mk.php +++ b/translations/EasyAdminBundle.mk.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Види ја содржината', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Акции', 'new' => 'Додади %entity_label_singular%', diff --git a/translations/EasyAdminBundle.nl.php b/translations/EasyAdminBundle.nl.php index 92c7b6f055..73405b6fb3 100644 --- a/translations/EasyAdminBundle.nl.php +++ b/translations/EasyAdminBundle.nl.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Bekijk inhoud', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Acties', 'new' => 'Nieuw(e) %entity_label_singular%', diff --git a/translations/EasyAdminBundle.no.php b/translations/EasyAdminBundle.no.php index e46ebbaece..c72a1c7caa 100644 --- a/translations/EasyAdminBundle.no.php +++ b/translations/EasyAdminBundle.no.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Vis innhold', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Handlinger', 'new' => 'Legg til %entity_label_singular%', diff --git a/translations/EasyAdminBundle.pl.php b/translations/EasyAdminBundle.pl.php index 06ada82161..9927595cca 100644 --- a/translations/EasyAdminBundle.pl.php +++ b/translations/EasyAdminBundle.pl.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Pokaż zawartość', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Akcje', 'new' => 'Dodaj %entity_label_singular%', diff --git a/translations/EasyAdminBundle.pt.php b/translations/EasyAdminBundle.pt.php index e905846466..46560a07b0 100644 --- a/translations/EasyAdminBundle.pt.php +++ b/translations/EasyAdminBundle.pt.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Ver conteúdo', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Ações', 'new' => 'Adicionar %entity_label_singular%', diff --git a/translations/EasyAdminBundle.pt_BR.php b/translations/EasyAdminBundle.pt_BR.php index 485d6d42a4..d3ecd2d316 100644 --- a/translations/EasyAdminBundle.pt_BR.php +++ b/translations/EasyAdminBundle.pt_BR.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Visualizar conteúdo', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Ações', 'new' => 'Adicionar %entity_label_singular%', diff --git a/translations/EasyAdminBundle.ro.php b/translations/EasyAdminBundle.ro.php index b647acc5df..a4bd233a0e 100644 --- a/translations/EasyAdminBundle.ro.php +++ b/translations/EasyAdminBundle.ro.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Vezi conținutul', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Acțiuni', 'new' => 'Adaugă %entity_label_singular%', diff --git a/translations/EasyAdminBundle.ru.php b/translations/EasyAdminBundle.ru.php index 8d29d2063b..acedf0c5f9 100644 --- a/translations/EasyAdminBundle.ru.php +++ b/translations/EasyAdminBundle.ru.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Просмотреть содержимое', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Действия', 'new' => 'Создать %entity_label_singular%', diff --git a/translations/EasyAdminBundle.sk.php b/translations/EasyAdminBundle.sk.php index 9871130f36..ecd8be60f4 100644 --- a/translations/EasyAdminBundle.sk.php +++ b/translations/EasyAdminBundle.sk.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Zobraziť obsah', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Akce', 'new' => 'Vytvoriť %entity_label_singular%', diff --git a/translations/EasyAdminBundle.sl.php b/translations/EasyAdminBundle.sl.php index 75c8898031..96d4507b9e 100644 --- a/translations/EasyAdminBundle.sl.php +++ b/translations/EasyAdminBundle.sl.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Ogled vsebine', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Dejanja', 'new' => 'Dodaj %entity_label_singular%', diff --git a/translations/EasyAdminBundle.sr_RS.php b/translations/EasyAdminBundle.sr_RS.php index 806190ff12..9fba14bcdb 100644 --- a/translations/EasyAdminBundle.sr_RS.php +++ b/translations/EasyAdminBundle.sr_RS.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Pregledaj sadržaj', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Akcije', 'new' => 'Dodaj %entity_label_singular%', diff --git a/translations/EasyAdminBundle.sv.php b/translations/EasyAdminBundle.sv.php index ad39843062..0305528c05 100644 --- a/translations/EasyAdminBundle.sv.php +++ b/translations/EasyAdminBundle.sv.php @@ -40,6 +40,16 @@ // 'text_editor.view_content' => '', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Åtgärder', 'new' => 'Skapa %entity_label_singular%', diff --git a/translations/EasyAdminBundle.tr.php b/translations/EasyAdminBundle.tr.php index 46fc15e507..4f3cdbc0de 100644 --- a/translations/EasyAdminBundle.tr.php +++ b/translations/EasyAdminBundle.tr.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'İçeriği görüntüle', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'İşlemler', 'new' => '%entity_label_singular% Oluştur', diff --git a/translations/EasyAdminBundle.uk.php b/translations/EasyAdminBundle.uk.php index f752c79c30..f1b7d22a6c 100644 --- a/translations/EasyAdminBundle.uk.php +++ b/translations/EasyAdminBundle.uk.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => 'Переглянути вміст', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => 'Дії', 'new' => 'Створити %entity_label_singular%', diff --git a/translations/EasyAdminBundle.zh_CN.php b/translations/EasyAdminBundle.zh_CN.php index aef32b97d1..2617414f3b 100644 --- a/translations/EasyAdminBundle.zh_CN.php +++ b/translations/EasyAdminBundle.zh_CN.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => '查看内容', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => '操作', 'new' => '新增 %entity_label_singular%', diff --git a/translations/EasyAdminBundle.zh_TW.php b/translations/EasyAdminBundle.zh_TW.php index 576160738a..ae48658f17 100644 --- a/translations/EasyAdminBundle.zh_TW.php +++ b/translations/EasyAdminBundle.zh_TW.php @@ -40,6 +40,16 @@ 'text_editor.view_content' => '檢視內容', ], + 'date_interval' => [ + 'years' => '{1} %count% year|]1,Inf] %count% years', + 'months' => '{1} %count% month|]1,Inf] %count% months', + 'days' => '{1} %count% day|]1,Inf] %count% days', + 'hours' => '{1} %count% hour|]1,Inf] %count% hours', + 'minutes' => '{1} %count% minute|]1,Inf] %count% minutes', + 'seconds' => '{1} %count% second|]1,Inf] %count% seconds', + 'empty' => '0 seconds', + ], + 'action' => [ 'entity_actions' => '動作', 'new' => '新增%entity_label_singular%',