我有一个Sinatra route file,它会显示一些page。
<h2>Free, open song contest</h2>
<h3>Sign up</h3>
<form action="/signup" method="post">
E-mail: <input type="text" name="email" placeholder="Your e-mail"><br/>
Password: <input type="password" name="password"><br/>
Repeat password: <input type="password" name="password2"><br/>
Account type: <input type="radio" checked="true" name="type" value="fan">Fan
<input type="radio" name="type" value="musician">Musician
</form>
<h3>Log in</h3>
<form action="/login" method="post">
E-mail: <input type="text" name="email" placeholder="Your e-mail"><br/>
Password: <input type="password" name="password"><br/>
</form>
如果我想将此页面中的所有字符串国际化(免费,开放歌曲比赛,注册,电子邮件等) ,这样做的正确方法是什么?
我发现了这个i18n recipe,但它没有说明如何将国际化字符串插入模板(上例中的home.erb)。
答案 0 :(得分:4)
在同一个documentation页面中,它后来说:
选择本地化的字符串/对象很简单,因为它只需要使用 来自I18n的标准方法
I18n.t(:token) I18n.l(Time.now)
所以,你需要这样做:
<h2>I18n.t(:contest_page_title')</h2>
而且,在locales/en.yml
中,您将拥有:
en:
contest_page_title: Free, open song contest
由于i18n
gem也用在Rails中,国际化的基本方面也可以从Rails guide