Я использую Hexo , чтобы создать простой блог в NodeJS
, и я столкнулся с проблемой, связанной с локализацией.
По сути, Hexo
позволяет вам создавать многоязычный блог, для этого необходимо отредактировать основной config.yml
, включая :/lang
перед permalink
и new_post_name
:
languages [it, en] #first language is the default language
permalink: :lang/:year/:month/:day/:title/
new_post_name: :lang/:title.md
поэтому я отредактировал config.yml
, включая эти изменения, а затем создал файл локализации для italian
и english
, эти файлы включены в папку languages
темы:
theme_name
languages
en.yml
it.yml
it.yml
выглядит так:
hello_world: "Ciao Mondo"
и en.yml
:
hello_world: "Hello World"
поэтому я определил index.ejs
(я использую EJS в качестве шаблона представления), и я включил следующее содержимое:
<p><%= __('hello_world') %></p>
по сути, когда я перейду к: http://localhost:4000
я увижу строку Ciao Mondo
.
Теперь возникает проблема, связанная с тем, что, когда я переключаюсь на язык english
, Hexo
заглядывает внутрь папки en
, которая создается внутри source
, как подсказывает документация .
Проблема в том, что для каждого языка мне нужно иметь index.ejs
, который не может включать основной index.ejs
, поэтому в этот момент localization
становится совершенно бесполезным.
Для лучшего объяснения проблемы:
- Вы создаете основной
index.ejs
, который загружается layout.ejs
, который также включает верхний и нижний колонтитулы
- Вы создаете файлы конфигурации для каждого языка
- Когда вы переключаетесь на другой язык,
Hexo
смотрите на это route
: http://localhost:4000/en
, поэтому index.ejs
отличается.
Как использовать рут index.ejs
из всех языковых папок?
Я уже пытался использовать <%= include ... %>
, но, похоже, index.ejs
не поддерживает встроенный шаблон JavaScript.
Заранее спасибо.