如何在rails项目中实现全方位本地化?
我想使用:ru本地化。
在我的项目中,我使用:
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'omniauth-vkontakte'
gem 'omniauth-mailru'
gem "omniauth-google-oauth2"发布于 2014-02-01 12:24:38
我不确定是否能够让你提供翻译出来的信息。无论如何,在无所不在的、无所不在的facebook或杂食推特中似乎没有任何en.yml文件。
我只在devise和devise中使用了omniauth,提供了几条可以被覆盖的与无所不在相关的消息,但是它们包含了来自omniauth的未经翻译的错误消息:
en:
devise:
omniauth_callbacks:
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
success: "Successfully authenticated from %{kind} account."在应用程序中,可以通过在应用程序中提供包含这些内容的en翻译文件来覆盖这些内容。当然,您也可以提供一个ru翻译文件,并在application.rb中设置application.rb= :ru,或者使用其他方式来决定使用哪个区域设置。在这里,您可以看到devise是如何从无所不在的失败中构建错误消息的:
您可以在应用程序中使用相同的方法,而无需使用devise,但正如我所说,问题是%{ from }将是来自杂食的未翻译错误(通常是exception.message )。
关于通用国际化,如果你还没有读过它:Rails i18n
编辑:
这听起来好像你在问杂食本身,但万一Ashitaka在他们的评论中想知道,你(也)要求告诉你所称的使用哪个地区的服务,你可能在文档中见过,但是仅仅为了完整起见,它确实因服务而异。例如,omniauth允许您向facebook调用(例如locale=ru_RU)添加一个locale参数,并允许您在twitter调用中添加一个lang参数(例如lang=ru)。
发布于 2014-02-01 11:45:27
如果在app/config/locales dir下浏览,就会有一个文件en.yml。这是为英国地区准备的。如果您想添加其他语言,只需创建(在您的例子中) ru.yml文件并将翻译放在那里。
这个导轨是一个不错的起点。
最近,我尝试了另一种有趣的方法:创业板。
https://stackoverflow.com/questions/21497319
复制相似问题