相关疑难解决方法(0)

你如何在Rails中构建i18n yaml文件?

我开始在Rails中填充一个en yaml文件,我已经可以告诉它在太久之前会变得混乱和失控.是否存在保持此文件有序的约定?

到目前为止,我有这样的结构:

language:
  resource:
    pages: # index, show, new, edit
      page html elements: # h1, title
  activerecord:
    attributes:
      model:
        property:
Run Code Online (Sandbox Code Playgroud)

现在我有以下我想要适应这个结构的东西,但我不确定如何:

  1. 导航
  2. 按钮文本(保存更改,创建帐户等)
  3. 来自控制器闪存的错误消息
  4. 如何添加多字键.我使用空格还是下划线?例如,t(".update button"))或t(".update_button")

区域设置文件结构是否有约定?

yaml structure ruby-on-rails internationalization ruby-on-rails-3

51
推荐指数
5
解决办法
2万
查看次数

在rails app中组织Locale文件

我目前在我的root应用程序的config/locales中有以下4个文件:

-en.yml
-de.yml
-simple_form.en.yml
-simple_form.de.yml
Run Code Online (Sandbox Code Playgroud)

在我的application.rb中,它驻留在spec/dummy文件夹中以测试应用程序gem我有以下代码行,它似乎正在按预期检索翻译:

# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :de
Run Code Online (Sandbox Code Playgroud)

我现在希望引入结构到我的locales文件夹的文件结构但是当我添加其他文件夹并更改application.rb中的加载路径时,我得到翻译未找到错误.这是我的尝试:

尝试在我的根应用程序的config/locales中包含结构:

-views
  -en.yml
  -de.yml
-models
  -en.yml
  -de.yml
-forms
  -simple_form.en.yml
  -simple_form.de.yml
Run Code Online (Sandbox Code Playgroud)

我在application.rb中的加载路径更改为:

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
Run Code Online (Sandbox Code Playgroud)

根据以下rails指南:http: //guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-domain-name

locale internationalization load-path ruby-on-rails-3 i18n-gem

17
推荐指数
2
解决办法
8048
查看次数