我在服务器端检查一些事情,如果出现问题,我会返回一个包含如下错误字符串的数组:
array:7 [▼
0 => "company.not_valid.not_set.legal_name"
1 => "company.not_valid.not_set.vat_id"
2 => "company.not_valid.not_set.address_line1"
3 => "company.not_valid.not_set.address_locality"
4 => "company.not_valid.not_set.address_region"
5 => "company.not_valid.not_set.postal_code"
6 => "company.not_valid.not_set.address_country"
]
所以,在模板中,我为每个人制作一个并打印消息:
<ul>
{% for error in errors %}
<li>{{ error|trans }}</li>
{% endfor %}
</ul>
但结果显然是这样的:
- company.not_valid.not_set.legal_name
- company.not_valid.not_set.vat_id
- company.not_valid.not_set.address_line1
- company.not_valid.not_set.address_locality
- company.not_valid.not_set.address_region
- company.not_valid.not_set.postal_code
- company.not_valid.not_set.address_country
那么,我该如何管理这些翻译呢?
如何让app/console translation:extract it --bundle=AppBundle
识别我放入数组的占位符?我应该在哪里指定它们是否存在(因为它们在错误发生之前不存在于代码中)?
我找到的唯一解决方案是创建一个像_error_messages.html.twig
这样的文件,通过软件包读取,让它知道占位符。
但这是正确的方法还是有更好的方法?