0

我想在我的 Rails 应用程序中为消息/闪烁等提供希腊语支持。我快速浏览了 I18n 框架,但对于如此简单的事情,它似乎有很多配置。我认为应该有一种非常简单的方法来做这样的事情,但是(显然)我不知道。如果有人愿意帮助我,我会很高兴。谢谢。

4

2 回答 2

6

Rails 有约定,因此您不必进行配置。

在 config/locales/el.yml 中创建一个文件,其内容为:

el:
  flash_messages:
    success: "επιτυχία"
    fail: "αποτυγχάνουν"

然后在你的控制器中:

flash[:notice] = t('flash_messages.success')

你会在你的视图中得到翻译后的字符串。

您可以像这样更改语言环境:

I18n.locale = :el

我不知道怎么可能更容易。“Rails I18n 指南”:http : //guides.rubyonrails.org/i18n.html 如果您想打破常规或超越简单,则包含所有血淋淋的细节。

于 2009-09-26T02:07:48.440 回答
0

I18N 并不 简单

以下是国际化难以实现的一些原因。

首先,可能向用户显示的每一段文本都是潜在的翻译候选者。这不仅意味着组件的属性(如菜单项和按钮标签),还意味着使用描边绘制调用绘制的文本,以及嵌入在像素图像中的文本(例如取自 MIT EECS 网页的文本)。翻译可以轻松更改文本的大小或纵横比;例如,德语标签往往比英语标签长得多。

当然,错误消息也需要翻译——这是不在错误消息中公开内部系统名称的另一个原因。一个英语阅读用户可能能够弄清楚 FileNotFoundException 是什么意思,但它不会很好地国际化。

不了解 Ruby,所以我无法为您提供更多帮助。

于 2009-09-25T17:32:11.710 回答