gpt4 book ai didi

ruby-on-rails - 是否可以同时使用 2 个 I18n 后端并仅使用第二个作为后备?

转载 作者:行者123 更新时间:2023-12-04 05:47:29 25 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我想同时使用 2 个后端,第一个将翻译存储在数据库中,第二个是基于 YML 的默认后端。我希望这第二个后端充当后备后端,即如果在第一个中找不到翻译,Rails 会在第二个中查找翻译。

有可能实现吗?

编辑 :

我的动机是我不想在第一个后端存储默认的 Rails 翻译。我使用的第一个后端带有一个管理 Web 界面,该界面显示后端中包含的所有翻译,我不想用这些默认翻译使这个界面困惑。而且我不想在第一个后端导入它们,也不必在实现时更新它们。

最佳答案

i18n gem 做到了这一点,并且与 rails 兼容。实际上建议使用它。

来自 I18n::Backend::Chain 的 rdoc:

Backend that chains multiple other backends and checks each of them when a translation needs to be looked up. This is useful when you want to use standard translations with a Simple backend but store custom application translations in a database or other backends.

To use the Chain backend instantiate it and set it to the I18n module. You can add chained backends through the initializer or backends accessor:

# preserves the existing Simple backend set to I18n.backend 
I18n.backend = I18n::Backend::Chain.new(I18n::Backend::ActiveRecord.new, I18n.backend)

The implementation assumes that all backends added to the Chain implement a lookup method with the same API as Simple backend does.

关于ruby-on-rails - 是否可以同时使用 2 个 I18n 后端并仅使用第二个作为后备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4044893/

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