i18n-tasks 无法路由键

i18n-tasks cannot route key

我的 i18n-tasks 配置文件:

data:
  read:
    # Default:
     - config/locales/%{locale}.yml
    # More files:
     - config/locales/**/*.%{locale}.yml
     - config/locales/views/*.{locale}.yml
     - config/locales/models/*.{locale}.yml
     - config/locales/helpers/*.{locale}.yml

  # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom:
  # `i18n-tasks normalize -p` will force move the keys according to these rules
  write:
      # write models.* and views.* keys to the respective files,
      - ['{models,views,helpers}.*', 'config/locales/.%{locale}.yml']

当我在控制台输入 i18n-tasks add-missing 时,出现错误: i18n-tasks: Cannot route key objects.no_objects_yet Routes are [["{models,views,helpers}.*", "config/locales/\1.%{locale}.yml"]] 我应该编辑什么来添加缺少的参数?我希望每一个 add-missing 翻译到 views/{viewname}/en.yml

库存机制将未知键名路由到文件路径。因为 objects.no_objects_yet 不匹配任何模式 ({models,views,helpers}.*),所以无法路由它。您可以编写一个自定义路由器来解决这个问题 (implementation, documentation)。

但是请注意,许多视图可能会共享密钥。当键严格特定于给定视图时,您可以做的是用视图名称命名键,例如:

<%= 'my_view.title' %>

那么,有以下路线:

- ['{:}.*', 'config/locales/.%{locale}.yml']

这将根据每个密钥的第一部分路由未知密钥,例如上面的密钥将被路由到 config/locales/my_view.en.yml.