1

如何本地化来自存储在数据文件夹中的 yaml 文件的数据字符串

想知道是否有一些我为此错过的技术。

4

2 回答 2

5

One way i am aware of, is using symbols (pointing to translation items) within your data:

/data/product.yml

title: :product_title

/config.rb

set :lang, :de
activate :i18n, :langs => [:de, :en]

These symbols can be translated as (Middleman) usual ...

/locales/de.yml

---
de:
  product_title: "Mein deutscher Produktname"

/locales/en.yml

---
en:
  product_title: "My english product title"

... and used in your templates:

/source/localizable/i18n.html.erb

<h1><%= I18n.t(data.product.title) %></h1>

http://0.0.0.0:4567/i18n.html

Mein deutscher Produktname

http://0.0.0.0:4567/en/i18n.html

My english product title

于 2013-06-26T11:42:00.523 回答
2

你可以使用.send方法。

在 /data/en/production.yml

---
title: "My english product title"

在 /data/ja/production.yml

---
title: "私の日本語の商品名"

然后在您的模板中...

<h1><%= I18n.t(data.send(I18n.locale.to_sym).product.title) %></h1>
于 2014-04-13T23:23:11.553 回答