gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 19:02:26 25 4
gpt4 key购买 nike

如何在 Phoenix 中设置语言环境以使用 priv/gettext/{lang}/LC_MESSAGES/errors.po?

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

如果我明确调用 put_locale/2,它会起作用在 web/views/error_helpers.ex<%= translate_error(message) %>在模板文件中,但在 DRY 点上它有点难看。

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

有没有更好的方法来设置默认语言环境?我指定了 default_localeconfig/config.ex ,但它不起作用。
config :login_study, LoginStudy.Endpoint, default_locale: "ja",

此致,

最佳答案

好问题@hykw!由于 Phoenix 中的 Gettext 支持是新的,文档才刚刚开始出现。

一个很好的起点是 Rebecca Skinner 撰写的这篇出色的博客文章:http://sevenseacat.net/2015/12/20/i18n-in-phoenix-apps.html

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

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

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

您可以在 Gettext 文档中找到更多相关信息: http://hexdocs.pm/gettext/Gettext.html

关于phoenix-framework - 如何为errors.po设置语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com