Локализованные теги не слагаются

Если теги локализованы —

  • через API
  • с помощью AI-перевода
  • или на экспериментальной странице настроек тегов

Имя не приводится к виду slug, что приводит ко всевозможным проблемам, если в нём есть пробелы или кавычки.
Честно говоря, я сомневаюсь, стоит ли вообще включать локализованные теги в body-классы.

Это также вызывает странные проблемы при отображении тегов под заголовком темы.

3 лайка

@nat, вероятно, это уже решено, но не могло ли это быть исправлено здесь:

1 лайк

Речь идёт не о слагe, а о слагифицированном имени (надеюсь, вы всё ещё со мной).

Тег с именем my-name и слагом my-slug будет доступен по адресу /tag/my-slug/ID, и у него будет body-класс tag-my-name.

В то время как обычное поле name тега на странице редактирования тега удаляет все специальные символы (my-name"(123) сохранится как my-name123), поля имени в локализациях этого не делают, и они также не корректно слагифицируются при выводе.

Тег с именем my-name и нидерландской локализацией mijn-naam получит body-класс tag-mijn-naam.

Тег с именем my-name и нидерландской локализацией mijn-naam" (123) получит body-класс tag-mijn-naam" (123), что ломает множество вещей.

Кстати, метод генерации слага установлен в ascii.

2 лайка

Спасибо, дайте мне посмотреть.

2 лайка

Мы объединили исправление, которое очищает локализованные имена тегов после их получения от LLM, а также пост-миграцию для очистки существующих «нечистых» локализованных имен тегов.

Также обратите внимание: в PR указано, что пост-миграция содержит некоторую логику приложения для очистки тегов, но в данном случае мы должны быть в безопасности при соблюдении определённых условий и наличии тестов.

Я оставлю эту тему открытой, чтобы посмотреть, как всё сложится для вас.

2 лайка