Как я могу создать несколько языков на одной странице с посредником и i18n? - PullRequest
0 голосов
/ 20 декабря 2018

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

source / shared / _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>

source / layout/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>

source / localizable / index.html.erb

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

locales / cn_t.yml

---
en_t:
  greeting: "嗨"

locales / en.yml

---
en:
  greeting: 'Hello'

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

...