Перевод месяцев 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 с указанием контекста.

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

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

Создание плагина CKEditor 5 в экосистеме Drupal 10

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

Drupal 10 добавил в ядро модуль wysiwyg CKEditor 5. Т.е. уже из "коробки" у вас есть редактор html кода. API CKEditor 4 и 5 версий значительно отличаются, ...

Читать

Подключение своих стилей для CKEditor 5 в Drupal

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

Чтобы добавить в редактор свои стили, обычно следуют гайду, который реализует hook mymodule_library_info_alter. При создании своих модулей для CKE5/D10, я так же пользовался данной статьей из документации. Но проблема была в том, что тот модуль, ...

Читать

 

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

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



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