Ruby on rails RubyonRails4和简单表单中“helpers”可用的i18n翻译列表?
我似乎找不到文档来列出Rails的i18n可以使用哪些帮助程序 我第一次看到它是以简单的形式出现的 我找到的最接近的是 然而,我也知道标签和其他东西也适用于本节 可用助手条目的完整列表是什么?Simple form i18n 你的问题有一个简短的答案和一个冗长的答案。这是简短的版本。如果你想要长的,请告诉我 使用i18n需要实践,并且非常关注运行时上下文。但是可以只设置简单的表单i18n,而不涉及整个i18n体系结构 您列出的帮助程序不是简单表单的一部分,它们是标准应用程序yaml的一部分。除了select:之外,它是简单表单的一部分,但使用标签提示定义: 简单形式 简单表单有自己的yaml部分,它位于应用程序yaml中,但不在helpers中:它在yaml结构中的优先级与helpers相同:如果有帮助的话 在yaml中,标题标签是简单的形式:此文件中使用的结构和标签非常重要Ruby on rails RubyonRails4和简单表单中“helpers”可用的i18n翻译列表?,ruby-on-rails,ruby-on-rails-4,rails-i18n,Ruby On Rails,Ruby On Rails 4,Rails I18n,我似乎找不到文档来列出Rails的i18n可以使用哪些帮助程序 我第一次看到它是以简单的形式出现的 我找到的最接近的是 然而,我也知道标签和其他东西也适用于本节 可用助手条目的完整列表是什么?Simple form i18n 你的问题有一个简短的答案和一个冗长的答案。这是简短的版本。如果你想要长的,请告诉我 使用i18n需要实践,并且非常关注运行时上下文。但是可以只设置简单的表单i18n,而不涉及整个i18n体系结构 您列出的帮助程序不是简单表单的一部分,它们是标准应用程序yaml的一部分。除了
...
simple_form:
error_notification:
default_message: "Please review the problems below:"
hints:
your_model:
column_1_name: Your hint sentence.
column_whatever_name: Please enter the ...
another_model:
column_in_this_model: Valid range is from 1 to 5 ....
labels:
your_model:
column_1_name: Email
column_2_name: Password
priority:
model:
column: Text
prompts:
model:
column: Text
required:
text: 'required'
mark: '*'
prompts:
your_model:
column_name: Select the type of..
another_model:
column_name: Select the state...
这是一个简短的答案。如果你需要任何跟进,请告诉我
附录:为任何情况找到正确的上下文标签
用i18n填充孔
安装-这是一个命令行工具,有助于理解YAML中应用程序本地化字符串的必要结构。它揭示了令人难以置信的不透明背后的结构
$i18n-tasks health
它会吐出这样的东西:
| en | simple_form.error_notification.default_message | Please review the problems below: |
| en | simple_form.hints.location.short_desc | General information, not a review. |
| en | simple_form.hints.location.website | Please enter the leading http:// or https:// |
| en | simple_form.hints.review.rating | Range is from 1 = Meh to 5 = Super yum |
| en | simple_form.labels.session.email | Email |
| en | simple_form.labels.session.password | Password |
| en | simple_form.no | No |
| en | simple_form.priority.article.category | Article |
| en | simple_form.priority.location.country | United States of America |
| en | simple_form.prompts.article.category | Select the type of article |
| en | simple_form.prompts.location.state | Select the state |
| en | simple_form.required.mark | * |
| en | simple_form.required.text | required |
| en | simple_form.yes
每一个标签。级别直接引用您的翻译yaml
有许多推荐行选项。一个有用的方法是
$i18-tasks missing
这里有一个转折点——在您的代码中,如果您希望存储翻译,请将您的翻译助手与假字符串t'bogus'一起使用
i18任务将把它标记为丢失的翻译字符串,并在这个过程中告诉您该字符串在这个上下文中的yaml结构,以便Rails i18n找到它
是的,这是疯狂的倒退,但您只需要这样做,直到您了解i18n的结构。根据经验,您将更好地了解在本地化yaml中放置字符串的位置
锤击法
为了完整起见,我还将提到可以对每个翻译路径进行硬编码,例如
t('defaults.labels.read_more_link_label')
查找:
your_app_name:
application:
defaults:
labels:
read_more_link_label: "Read more..."
i18任务gem中有很多特性。非常有用。哇,这太棒了,谢谢!但我想我的问题是:你怎么知道这些?你是从文件页上读的吗?我是否必须通过实践来了解i18n可以使用哪种元素,并不断地寻找每种元素?这将是一个很长的答案。没有明确的文档,但确实有办法。我可以帮上忙,但得晚一点。你会接受这个答案吗?请你写一个长的答案好吗?对不起,我不能再给你加分了。但是如果你写下来,它将是非常有价值的。谢谢别担心。非常感谢。我很乐意帮忙。现在补充答案。
t('defaults.labels.read_more_link_label')
your_app_name:
application:
defaults:
labels:
read_more_link_label: "Read more..."