Symfony JMSTranslationBundle:如何翻译变量消息

时间:2016-10-08 10:11:24

标签: symfony

我在服务器端检查一些事情,如果出现问题,我会返回一个包含如下错误字符串的数组:

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这样的文件,通过软件包读取,让它知道占位符。

但这是正确的方法还是有更好的方法?

0 个答案:

没有答案