簡體   English   中英

Activeadmin資源名稱

[英]Activeadmin Resource Names

這是一個初學者的問題,但我到處搜索,似乎無法解決它。

我正在使用Rails和ActiveAdmin,並且我已經設置了國際化以使用我的es.yml語言環境。

到現在為止還挺好。 管理界面在西班牙語中很好地顯示,錯誤消息,日期等也是如此。甚至表單也會獲取模型的名稱和屬性(因此,formtastic可以使翻譯正常)。 我只有一個語言環境 - 西班牙語:

配置/初始化/ i18n.rb

#encoding: utf-8
I18n.default_locale = :es

LANGUAGES = [
  [ 'Español', 'es' ]
]

但是,我遇到了在ActiveAdmin界面中獲取資源名稱的問題。 例如,在頁面頂部,它顯示“用戶”,“估計”等,而不是“Usuarios”,“Cotizaciones”。

我可以通過注冊這樣的類來解決這個問題:

ActiveAdmin.register User,:as =>“usuario”do ... end

但后來我得到admin_usuarios_pathadmin_usuarios_url/admin/usuarios admin_usuarios_url等,我覺得非常非常難看。 我寧願在內部使用英語。 Active_admin active_admin/resource/naming的ActiveAdmin源說它應該拾取模型的human_name ,這是從本地化文件中正確讀取的:

(在控制台中)

User.model_name.human.titleize
=> "Usuario" 

那么為什么“Usuario”不會出現在菜單欄上,而是“用戶”? 我在這里有點神秘。 我必須遺漏一些非常簡單的東西。

提前致謝!

凱爾

如本期中所述: https//github.com/gregbell/active_admin/issues/434

您的初始值設定項應如下所示:

配置/初始化/ i18n.rb

I18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
I18n.locale = :es
I18n.default_locale = :es
I18n.reload!

Active Admin對i18n的支持目前還不是很完整也不穩定(v0.3.4),但在接下來的幾個版本中應該會更好。

控制器中必須有一些內容覆蓋默認語言環境。 如果設置了locale參數,則它將成為會話的默認值。 您可以嘗試清除您的cookie,但不知何故,區域設置被設置為另一個值,您可以嘗試通過向您的URL添加GET prarmeter將其強制為西班牙語,但其他帖子參數可能會覆蓋它。

您可以通過向URL添加參數來設置語言環境參數。 嘗試類似www.myapp.com/controller/action?locale=eswww.myapp.com/controller/action?parameters_from_active_admin=foo&locale=es

如果該dosnt適用於您,請查看Rails控制台並查看提供給應用程序的參數? 是否有一個locale參數設置為es以外的其他內容?

有關更多信息,請參閱Rails i18n指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM