2009-09-25 87 views
0

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

+0

你应该已经用Django去了;)http://www.djangoproject.com/snakesandrubies/(它有点长,但很有趣,以极客的方式) – voyager 2009-09-25 17:30:44

回答

6

Rails有约定,所以你不必配置。

与内容创建配置/区域设置/ el.yml文件:

el: 
    flash_messages: 
    success: "επιτυχία" 
    fail: "αποτυγχάνουν" 
在你的控制器

然后:

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

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

你可以改变的语言环境是这样的:

I18n.locale = :el 

我不知道怎么会更加容易。 “Rails I18n指南”:http://guides.rubyonrails.org/i18n.html拥有所有的血统细节,如果你想打破惯例或超越简单。

0

I18Nain'tsimple

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

首先,可能向用户显示的每一段文本都是潜在的翻译候选者。这意味着不仅仅是组件的属性(如菜单项和按钮标签),还包括使用笔画绘制调用绘制的文本以及嵌入像素图像中的文本(如从MIT EECS网页获取的文本)。翻译可以很容易地改变文本的大小或长宽比;例如,德语标签往往比英语标签长得多。

错误消息当然也需要翻译 - 这是错误消息中不公开内部系统名称的另一个原因。一个英文阅读用户可能会找出FileNotFoundException的含义,但它不会很好地国际化。

不知道红宝石,所以我不能帮你更多。