Ruby on rails Redmine插件本地化
我正在为redmine开发一个插件,在本地化视图时遇到了问题。 我是rails和redmine插件开发的新手,所以这里可能缺少一些东西。 我正在使用从redmine信息中获取的以下环境:Ruby on rails Redmine插件本地化,ruby-on-rails,plugins,internationalization,redmine,Ruby On Rails,Plugins,Internationalization,Redmine,我正在为redmine开发一个插件,在本地化视图时遇到了问题。 我是rails和redmine插件开发的新手,所以这里可能缺少一些东西。 我正在使用从redmine信息中获取的以下环境: Environment: Redmine version 2.3.3.stable Ruby version 1.9.3-p448 (2013-06-27) [x86_64-linux] Rails version
Environment:
Redmine version 2.3.3.stable
Ruby version 1.9.3-p448 (2013-06-27) [x86_64-linux]
Rails version 3.2.13
Environment production
Database adapter Mysql2
据我所知,当我的区域设置文件包含activerecord.attributes.Model.xxx中的条目时,我可以使用*human\u attribute\u name:attribute*方法获取属性的本地化字符串。
我有两个模型公司和客户
在我的观点中,我使用的例子是:
...
<h4><%= link_to company.name, company_path(company.id) %> </h4>
<b><%= Company.human_attribute_name(:branch) %></b> :
<%= company.branch %>
<br>
<b><%= Company.human_attribute_name(:url) %></b> :
<%= company.url %>
...
activerecord.attributes部分不工作*human_attribute_name*只返回标准属性名,即:branch=>branch。
activerecord.models部分工作正常。。因此,公司/新网站中的提交按钮被标记为Erstelle Unternehmen
区域设置的label.helpers部分起作用,因此在标签的形式_中,属性是本地化的,即:branch=>Branche。
一般部分,即show_all=>Alles Anzigen也可以工作。
如果没有label.helpers部分,标签的表单_将停止本地化。
翻译似乎有效,但属性部分肯定有一些我找不到的错误。
我抛出了我的de.yml,它似乎是有效的yaml,所以没有yaml格式问题
有人能告诉我我的视图/翻译有什么问题吗?通过使用助手解决了这个问题: app/helpers/companys\u helper.rb:
module CompaniesHelper
def t_att(model, attribute)
t("activerecord.attributes.#{model}.#{attribute}")
end
end
因此,在视图中,您可以使用
<p>
<%= t_att(:company, :branch) %> :
<%= company.branch %>
</p>
所以你得到了
布兰奇:xyz同样的问题。我不知道为什么人名在Redmine插件中不起作用。您可以使用t'activerecord.attributes.company.branch'代替,但它不太干净…谢谢。这可能是一个解决方法。包装activerecord.attributes.{model}.{attribute}并在视图中创建一个可以使用的帮助器方法,即t_att:model,:attribute,这样您就可以在中心级别上更改转换路径,并识别缺少的属性/转换。这是可行的,但感觉不正确。
<p>
<%= t_att(:company, :branch) %> :
<%= company.branch %>
</p>