首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby on rails中的Omniauth本地化

ruby on rails中的Omniauth本地化
EN

Stack Overflow用户
提问于 2014-02-01 11:13:17
回答 2查看 393关注 0票数 0

如何在rails项目中实现全方位本地化?

我想使用:ru本地化。

在我的项目中,我使用:

代码语言:javascript
复制
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'omniauth-vkontakte'
gem 'omniauth-mailru'
gem "omniauth-google-oauth2"
EN

回答 2

Stack Overflow用户

发布于 2014-02-01 12:24:38

我不确定是否能够让你提供翻译出来的信息。无论如何,在无所不在的、无所不在的facebook或杂食推特中似乎没有任何en.yml文件。

我只在devise和devise中使用了omniauth,提供了几条可以被覆盖的与无所不在相关的消息,但是它们包含了来自omniauth的未经翻译的错误消息:

代码语言:javascript
复制
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是如何从无所不在的失败中构建错误消息的:

controller.rb

您可以在应用程序中使用相同的方法,而无需使用devise,但正如我所说,问题是%{ from }将是来自杂食的未翻译错误(通常是exception.message )。

关于通用国际化,如果你还没有读过它:Rails i18n

编辑:

这听起来好像你在问杂食本身,但万一Ashitaka在他们的评论中想知道,你(也)要求告诉你所称的使用哪个地区的服务,你可能在文档中见过,但是仅仅为了完整起见,它确实因服务而异。例如,omniauth允许您向facebook调用(例如locale=ru_RU)添加一个locale参数,并允许您在twitter调用中添加一个lang参数(例如lang=ru)。

票数 4
EN

Stack Overflow用户

发布于 2014-02-01 11:45:27

如果在app/config/locales dir下浏览,就会有一个文件en.yml。这是为英国地区准备的。如果您想添加其他语言,只需创建(在您的例子中) ru.yml文件并将翻译放在那里。

这个导轨是一个不错的起点。

最近,我尝试了另一种有趣的方法:创业板

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21497319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档