当前位置:  开发笔记 > 前端 > 正文

如何为errors.po设置语言环境?

如何解决《如何为errors.po设置语言环境?》经验,为你挑选了1个好方法。

如何在凤凰城设置一个语言环境,以使用priv/gettext/{lang} /LC_MESSAGES/errors.po?

作为测试,我用它构建了语言环境文件mix gettext.merge priv/gettext --locale ja,并在其中翻译了一些单词.

它的工作原理,如果我显式调用put_locale/2web/views/error_helpers.ex,并<%= translate_error(message) %>在模板文件中,但它是一个有点难看,干点.

def translate_error(msg) do
   Gettext.put_locale(LoginStudy.Gettext, "ja")
   Gettext.dgettext(LoginStudy.Gettext, "errors", msg)
end

有没有更好的方法来设置默认语言环境?我指定了default_localein config/config.ex,但它不起作用.

config :login_study, LoginStudy.Endpoint, default_locale: "ja",

最好的祝福,



1> José Valim..:

很棒的问题@hykw!由于凤凰城的Gettext支持是新的,文档刚刚开始出现.

一个很好的起点是Rebecca Skinner的精彩博文:http://sevenseacat.net/2015/12/20/i18n-in-phoenix-apps.html

例如,如果您只想为某些Web请求将语言环境设置为日语,则可以像使用的那样定义插件,并MyApp.Locale在请求生命周期的开始时运行它.我只是不建议将语言环境存储在会话中,而是将其保留为URL或其他参数的一部分.

但是,如果您希望区域设置始终为日语,则可以在配置文件中写入:

config :my_app, MyApp.Gettext, default_locale: "ja"

您可以在Gettext文档中找到有关此内容的更多信息:http: //hexdocs.pm/gettext/Gettext.html

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有