Иногда при добавлении новых функций существующий текст редактируется. Проблема в том, что обновляется только английский текст, а переводы остаются устаревшими до следующего запланированного слияния из Crowdin, которое обычно происходит по вторникам.
Это создаёт задержку: если функция была слита в среду, и кто-то сразу после этого обновит свой форум, он увидит новую функцию, но не обновлённый текст — если только его интерфейс не на английском. Такое несоответствие может вызвать путаницу.
Недавним примером стали настраиваемые параметры сайта, которые были слиты в среду. В этом случае описание страницы тем было расширено, а «Настройки тем» изменено на «Настройки пользовательских тем». В английском языке это изменение помогает пользователям найти новое место, где настраиваются эти параметры. Но в немецком я этого не вижу.
Мне приходится ждать обновления перевода в Crowdin — а затем ещё и того, когда мой сайт будет обновлён. Таким образом, получение обновлённого текста занимает ещё больше времени.
В данном конкретном случае «просто» отсутствует какая-то подсказка. Но бывают случаи, когда смысл текста полностью меняется, или изменяются плейсхолдеры, и интерфейс может даже выглядеть сломанным.
Возможно ли удалять устаревшие переводы в запросе на слияние (pull request) функции при изменении строки текста? Тогда пользователи будут возвращаться к обновлённой английской версии вместо того, чтобы видеть устаревший или вводящий в заблуждение перевод.
Я считаю, что в большинстве случаев актуальная английская строка полезнее, чем устаревший перевод на мой предпочтительный язык.
Сомневаюсь, что это реальная проблема. Discourse должен автоматически возвращаться к английскому языку, если возникнут проблемы с плейсхолдерами.
Разработчики могут забыть об этом сделать, и, на мой взгляд, это создаёт лишнюю работу. Мы могли бы настроить GitHub Action, которая бы выполняла эту задачу. Но, думаю, проще будет просто перейти на ежедневные обновления переводов.
В данном случае мне потребовалось много времени, чтобы понять проблему, так как новый текст ещё не добавлен в Crowdin, и я подумал, что сломал HTML. (Ещё раз спасибо за объяснение @nat)
У нас возникла проблема с интеграцией Crowdin, из-за которой новые строки не отображались в системе. Это исправлено, и я перевёл нас на ежедневные обновления переводов. Я посмотрю, сколько рутинной работы это создаст, и через несколько недель пересмотрю это решение.
А вот как это выглядит на немецком. Поскольку текст всё ещё длинный, число в конце кажется потерянным, а счётчик в начале теперь приводит к отсутствующему значению.
В таких случаях действительно могла бы помочь скриптовая программа, аналогичная той, что недавно создал martin для обновления ключей. Тогда переводы удалялись бы в том же PR, который меняет плейсхолдер, а не после следующего обновления из Crowdin.