Как локализовать статический сайт? - PullRequest
8 голосов
/ 20 сентября 2009

Для веб-сайта, которым я занимаюсь, я использую только статический контент, такой как HTML, JavaScript, CSS, изображения (без PHP или серверного языка).

Я хочу быть в состоянии локализоваться на английском и французском, но я не уверен, что будет хорошим решением. Вот решения, которые я имею в виду:

Дубликаты HTML-страниц
Плюсы: просто, оптимизировано для SEO
Минусы: боль, если я решу что-то изменить, мне всегда придется делать это дважды

Шаблоны Dreamweaver
Плюсы: SEO дружественный, обновления дружественные
Минусы: так много мест для добавления областей, что это удвоит размер HTML, грязный код

JST: шаблонизация JavaScript
Плюсы: обновление дружественное, код дружественный
Минусы: SEO ?, не для этого?

Любые другие идеи или дополнительные советы в текущем списке?

Ответы [ 3 ]

1 голос
/ 20 сентября 2009

Используйте немного PHP, чтобы копировать страницы на вашей стороне. Рассматривайте HTML-страницы как файлы PHP, локализуйте файлы PHP, а затем используйте веб-сервер для компиляции вашего PHP в статические веб-страницы (используя file_get_contents). Просто скомпилируйте HTML в языковой каталог, и английский должен быть корневым по умолчанию. Даже если на вашем производственном сервере не установлен PHP, вы можете сэкономить время, используя PHP на своей стороне.

1 голос
/ 27 июля 2017

Я всегда был поклонником первого варианта (дубликаты HTML-файлов), поскольку он, как правило, является самым простым и наиболее оптимизированным для SEO, но при этом не требует использования JavaScript, но копирование ваших изменений в несколько файлов может быть действительно раздражающим. Моя работа заключается в использовании статических генераторов сайтов. Создание макетов и заполнение их текстом, полученным из локализованных файлов, устраняет проблему. Вот несколько вариантов, которые должны помочь.

Jekyll (с плагином для нескольких языков)

Jekyll, вероятно, первое, что приходит на ум, когда он думает о генераторах статических сайтов, поскольку он, безусловно, самый популярный. Используя плагин для нескольких языков, вы можете создавать многоязычные веб-сайты с каркасом блога.

Плюсы: это Джекилл, так что вы, вероятно, найдете приличную поддержку.

Минусы: Jekyll - это фреймворк для блогов, поэтому он может оказаться не лучшим вариантом, если вы не создаете блог.

Nikola

Я не знал об этом до того, как начал копать его в Google, но он может быть многообещающим с поддержкой создания локализованных веб-сайтов из коробки.

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

Минусы: не так много поддержки, как у Джекила, также может быть не совсем подходящим, в зависимости от того, что вы строите.

Hugo

Уго также можно использовать для создания многоязычных веб-сайтов.

Плюсы: Hugo также является очень популярным генератором статических сайтов, поэтому вы также можете рассчитывать на поддержку. Однако, в отличие от Jekyll, вы можете использовать Hugo для создания многоязычных веб-сайтов без использования каких-либо плагинов.

Минусы: в отличие от Никола, Хьюго не был построен с учетом локализации. Достижение этого - больше хитрости, используемой в файле конфигурации.

Ampersand

Как бы мне не нравилось самореклама, я работаю над генератором статических сайтов, основной задачей которого является статическое построение многоязычных сайтов. Я думаю, что это может помочь с вашей проблемой, если вы решите использовать его.

Плюсы: построен с нуля с учетом локализации. Ampersand - это не фреймворк для блогов, поэтому его можно использовать практически в любом проекте по веб-разработке, не тратя много времени на адаптацию и отслеживая файлы шаблонов.

Минусы: все еще на ранней стадии разработки, где часто встречаются несовместимые назад обновления.

Если кто-то знает другие генераторы статических сайтов, которые можно использовать для создания многоязычных сайтов, о которых я не упомянул выше, я рекомендую вам отметить это в комментариях.

1 голос
/ 20 сентября 2009

Гибридное решение может работать на вас:

  • Разработка основного HTML-контента, все в DIVs с идентификаторами, на английском языке (по крайней мере, SEO-дружественным для английского языка).
  • Создание ссылок на странице для переключения на другой язык
  • Когда пользователь щелкает ссылку, а не загружает больше статических файлов, запускает некоторый JavaScript, который загружает статический массив идентификаторов JSON и переведенный язык, проходит по массиву и заменяет InnerHTML DIV.
  • В качестве бонуса используйте этот код и измените все внутренние ссылки на странице, добавив # language-en или что-либо еще для всех ссылок. Затем, когда ваша страница загружается, сделайте так, чтобы Javascript проверил языковой аргумент в URL и автоматически загрузил нужный язык.

Используйте JQuery для обработки всего беспорядочного выбора идентификатора и вызовов AJAX для загрузки языковых файлов.

Если изображения необходимо заменить, сделайте ваши данные JSON более надежными, добавив три столбца: идентификатор элемента, имя атрибута (для переключения «src» или «InnerHTML» или что-либо еще) и контент (который для изображения , будет локализованным src, а для DIV - текст замены).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...