Переводим статический веб-сайт на языки мира при помощи Weblate29.04.2023 23:46
Генераторы статических сайтов (static site generators, SSGs), такие, как Zola (Rust), Hugo (Golang), Jekyll (Ruby), Pelican (Python), Gatsby (JS) и прочие, активно набирают для создания личных технологических блогов и небольших веб-сайтов. Большинство популярных SSG поддерживают локализацию строк интерфейса, а также дают возможность размещения страниц на нескольких зыках side-by-side. Однако, эффективное поддержание актуальности перевода самого контента на разных языках является весьма непростой задачей, особенно когда контент статей и разделов на сайте обновляется со временем.
В данной статье мы предложим интересный подход, который позволяет не только перевести статический Markdown-контент на все языки мира, но и поддерживать актуальность переводов при изменении исходных текстов. Данный туториал будет на примере Zola, но предлагаемый подход с минимальными изменениями адаптируется практически к любым популярным статическим генераторам.
Обычной практикой в большинстве SSGs является добавление локализованных копий контента рядом друг с другом с помощью файлов ..md. Например, чтобы перевести index.md на французский и немецкий языки, вам нужно создать файлы index.fr.md и index.de.md в том же каталоге, что и index.md. На примере Zola: