0
在我en.yml區域設置文件(配置/區域設置/ en.yml),我有如何用Rails中的自定義值覆蓋區域設置值?
en:
settings:
updated: 'Your settings have been updated.'
有時候,我想重寫與其他文本settings.updated但仍然使用EN區域設置。
我試過以下,但settings.updated沒有被改寫:
locale_overrides = {"settings"=>{"updated"=>"override text"}}
I18n.backend.store_translations(I18n.locale, {"settings"=>{"updated"=>"override text"}})
p locale_overrides['settings']['updated']
p I18n.t('settings.updated')
assert I18n.t('settings.updated') == locale_overrides['settings']['updated']
及以下打印到控制檯:
"override text"
"Your settings have been updated."
任何想法,我做錯了或如何正確覆蓋區域設置?
UPDATE
看起來像發生這種情況是因爲,作爲文檔狀態,
The backend will lazy-load these translations when a translation
is looked up for the first time.
爲什麼你想首先覆蓋區域設置值?我認爲引入新的密鑰/值並將其用於您的特定情況會更容易且更易於維護。 – rdvdijk
你會在哪裏介紹新的鍵/值?你會在哪裏存儲它? –
你在談論什麼是「有時」? – Gareth