Как я могу создать несколько языков на одной странице с помощью посредника и i18n?

Я создаю многоязычную целевую страницу с посредником. Пробую использовать i18n. Вместо создания другого html-файла (например, landing.en.html.erb, Landing.cn.html.erb) я хочу использовать только одну страницу, а затем ссылаться на файл yml.

На панели навигации будет кнопка для переключения на другой язык.

Я целый день читал документ посредника (https://middlemanapp.com/advanced/localization/) и пытался найти несколько примеров, но он все равно не работает.

Это мой код, относящийся к i18n:

config.rb

activate :i18n, path: "/:locale/", mount_at_root: :en

источник / общий / _navbar.html.erb

<!-- change language -->
<ul class = "">
  <% if (I18n.locale == :cn_t) %>
  <li><a href = "<%= current_page.url.gsub("cn_t", "en") %>" class = "navbar-wagon-item navbar-wagon-link">English</a></li>
  <% else %>
  <li><a href = "<%= current_page.url.concat("cn_t") %>" class = "navbar-wagon-item navbar-wagon-link">繁中</a></li>
  <% end %>
</ul>

источник / макеты / layout.erb

<head>
<% if (I18n.locale == :cn_t) %>
<link rel = "alternate" hreflang = "en" href = "<%= current_page.url.gsub("cn_t", "en") %>" />
<% else %>
<link rel = "alternate" hreflang = "cn_t" href = "<%= current_page.url.gsub("en", "cn_t") %>" />
<% end %>
</head>

источник / локализуемый / index.html.erb

<h1><%= t(:greeting) %></h1>

locales / cn_t.yml

---
en_t:
  greeting: "嗨"

locales / en.yml

---
en:
  greeting: 'Hello'

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

🤔 А знаете ли вы, что...
Ruby on Rails предоставляет множество готовых решений для обработки типичных задач, таких как маршрутизация и работа с базой данных.


344