Я создаю многоязычную целевую страницу с посредником. Пробую использовать 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 предоставляет множество готовых решений для обработки типичных задач, таких как маршрутизация и работа с базой данных.