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
.
我的 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
.