【问题标题】:How to avoid restarting the server when changing I18n translations?更改 I18n 翻译时如何避免重新启动服务器?
【发布时间】:2014-07-03 23:32:12
【问题描述】:

我有一个 Rails 4 应用程序,我正在尝试使用 I18n-active_record 后端输入翻译。

一切似乎都正常,但在添加或更改其中一个翻译后,需要重新启动服务器才能在视图中显示更新的翻译。

如何配置应用程序,以便视图中显示的翻译始终在数据库中获取最新信息,而无需重新启动服务器?

我可以在我的控制器中做到这一点:

 if @translation.update(translation_params)
    I18n.backend.reload!
    redirect_to translations_url
 else
    render :edit, alert: 'There was a problem:'
 end

但是有没有一种“更干净”的方式来做到这一点?

【问题讨论】:

  • 这是最干净的方式

标签: ruby-on-rails internationalization


【解决方案1】:

您的解决方案对我来说似乎很好,因为似乎没有任何方法可以仅重新加载更新的翻译密钥(我认为这是最好的解决方案)。

如果您启用了 i18n 缓存,您可以在更新翻译时使用 I18n.cache_store.clear 清除它。

【讨论】:

    猜你喜欢
    • 2017-06-30
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    相关资源
    最近更新 更多