Перевод месяцев formatted datetime в Drupal

Недавно изучал вопрос: как правильно переводить месяцы (в коротком и длинном варианте) в полях типа datetime в Drupal. Короткий ответ — через UI translation.

В настройках сайта вы можете задать множество используемых форматов для даты-времени, делается это вот тут:
/admin/config/regional/date-time

Далее, в шаблоне вы для соответствующего view mode можете выбрать нужный формат, в котором поле будет рендериться.

На определенном этапе возникает задача перевода форматированной даты. При этом Drupal создаёт заранее т.н. шаблоны перевода для наименований месяцев с пометками контекста ‘Long month name’ и ‘Abbreviated month name’.

Делается это в lib/Drupal/Core/Datetime/DateHelper.php.

Вы увидите на странице перевода интерфейса соответствующие значения:

Фактически, вам остаётся лишь выполнить перевод через UI translation (/admin/config/regional/translate), чтобы это начало работать. Drupal будет переводить наименования месяцев при рендере форматированных полей дата-время.

Для более сложных случаев вы можете заставить twig использовать нужный вам контекст вручную, например:

Здесь я генерирую аббревиатуру месяца и использую фильтр t с указанием контекста.

Написать комментарий

Мало букафф? Читайте есчо !

Чем заменить drupal_mkdir() в Drupal 10

Февраль 22, 2024 г.

В Drupal 10 множество функций работы с файловой системой было собрано в сервис file_system. В том числе и drupal_mkdir была перенесена туда. В общем случае это выглядит для D10 вот так: [crayon-67418b4d907a2537634583/]

Читать

Конфигурация для миграции статей (node:blog) из CSV файла

Март 2, 2024 г.

Это пример миграции данных из CSV файла в Drupal. Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом. А далее мы ...

Читать

 

Комментарии к «Перевод месяцев formatted datetime в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: