Я всегда был поклонником первого варианта (дубликаты HTML-файлов), поскольку он, как правило, является самым простым и наиболее оптимизированным для SEO, но при этом не требует использования JavaScript, но копирование ваших изменений в несколько файлов может быть действительно раздражающим. Моя работа заключается в использовании статических генераторов сайтов. Создание макетов и заполнение их текстом, полученным из локализованных файлов, устраняет проблему. Вот несколько вариантов, которые должны помочь.
Jekyll, вероятно, первое, что приходит на ум, когда он думает о генераторах статических сайтов, поскольку он, безусловно, самый популярный. Используя плагин для нескольких языков, вы можете создавать многоязычные веб-сайты с каркасом блога.
Плюсы: это Джекилл, так что вы, вероятно, найдете приличную поддержку.
Минусы: Jekyll - это фреймворк для блогов, поэтому он может оказаться не лучшим вариантом, если вы не создаете блог.
Я не знал об этом до того, как начал копать его в Google, но он может быть многообещающим с поддержкой создания локализованных веб-сайтов из коробки.
Плюсы: активно разрабатывается, поддерживает почти 40 языков без каких-либо плагинов. Он также имеет множество других полезных функций, таких как инкрементные перестройки, несколько форматов, удобный интерфейс командной строки и система управления контентом.
Минусы: не так много поддержки, как у Джекила, также может быть не совсем подходящим, в зависимости от того, что вы строите.
Уго также можно использовать для создания многоязычных веб-сайтов.
Плюсы: Hugo также является очень популярным генератором статических сайтов, поэтому вы также можете рассчитывать на поддержку. Однако, в отличие от Jekyll, вы можете использовать Hugo для создания многоязычных веб-сайтов без использования каких-либо плагинов.
Минусы: в отличие от Никола, Хьюго не был построен с учетом локализации. Достижение этого - больше хитрости, используемой в файле конфигурации.
Как бы мне не нравилось самореклама, я работаю над генератором статических сайтов, основной задачей которого является статическое построение многоязычных сайтов. Я думаю, что это может помочь с вашей проблемой, если вы решите использовать его.
Плюсы: построен с нуля с учетом локализации. Ampersand - это не фреймворк для блогов, поэтому его можно использовать практически в любом проекте по веб-разработке, не тратя много времени на адаптацию и отслеживая файлы шаблонов.
Минусы: все еще на ранней стадии разработки, где часто встречаются несовместимые назад обновления.
Если кто-то знает другие генераторы статических сайтов, которые можно использовать для создания многоязычных сайтов, о которых я не упомянул выше, я рекомендую вам отметить это в комментариях.