Эту проблему поднял один из постоянных участников, использующего расширение Firefox для перевода страниц, но, похоже, она не зависит от него и воспроизводится на любой странице в meta.
Обратите внимание, что в URL путь /t/using-discourse-index/308031 дублируется. Удаление дублирующегося фрагмента позволяет переводу работать как ожидалось.
Обычно это была бы проблема Google Translate, но она, похоже, возникает только с Discourse (я пробовал несколько других сайтов) и только после обновления до версии 3.2.
Извините, что возвращаюсь к этой теме, но я думаю, что выбрал неверный заголовок (и ракурс), и это не привлекло должного внимания.
На данный момент Discourse несовместим с Google Translate, который, вероятно, является самым используемым инструментом перевода.
Любой URL темы, вставленный в Google Translate, всегда приводит к тому, что переводится страница 404, а не сама тема. С URL-адресами главной страницы и списков тем всё работает нормально, но не с отдельной темой.
Возможно, Google Translate получает какую-то специальную версию для краулеров/печати, которая не подходит для этих целей?
Я регулярно пользуюсь Google Translate и заметил такое поведение только с темами Discourse, поэтому, по крайней мере, часть проблемы, похоже, кроется в самом Discourse.
Кажется, что Google выступает в роли прокси для сайта, внедряет некоторый JavaScript и добавляет тег <base>. Возможно, мы сможем обнаружить эти манипуляции Google и обойти проблему 404… но я сильно сомневаюсь, что какое-либо сложное JS-приложение, вроде Discourse, будет нормально работать через прокси Google.
Обходным решением является использование встроенной в браузеры функции перевода (как нативной, так и через расширение). У них нет аналогичного поведения проксирования/внедрения.