【问题标题】:symfony how to translate form error messagesymfony 如何翻译表单错误信息
【发布时间】:2011-03-11 10:43:08
【问题描述】:

有人知道如何在 Symfony 中翻译表单错误消息吗?

目前我在表格的configure() 中写下这一行:

sfContext::getInstance()->getConfiguration()->loadHelpers(array('I18N'));

然后我用__() 方法覆盖所有错误消息。

Symfony 有什么方法可以在不调用帮助程序和覆盖错误消息的情况下翻译错误消息?

【问题讨论】:

    标签: forms internationalization symfony1


    【解决方案1】:

    我是怎么做的:

    将Form的configure函数添加到以下行:

    $this->widgetSchema->getFormFormatter()->setTranslationCatalogue('forms');

    然后创建一个翻译文件,如: \i18n\forms.nl.xml (在您的应用程序根目录或插件根目录中)

    还可以为默认验证器添加翻译(如“必需”等)

    【讨论】:

    • 您还可以通过在 app/config/settings.yml 上设置 i18n: on 来为所有站点启用 i18n。无需使用 __() 方法覆盖所有消息。检查symfony-project.org/forms/1_4/en/…
    • 请记住,标签和错误消息是使用消息目录自动翻译的,此行为无需配置(i18n: on 除外)。
    • 这个目录在哪里?是应用程序/前端/i18n/messages.fr.xml 吗?
    • 在我的例子中是apps/frontend/i18n/en/messages.xml
    • 它拒绝为我工作 T_T 我已经尝试将翻译文件放入 apps/frontend/i18n/en/forms.xml 和 apps/frontend/i18n/forms.en.xml 它只是从 messages.xml 加载似乎:/
    猜你喜欢
    • 2020-02-10
    • 2012-11-15
    • 2020-09-29
    • 2012-01-19
    • 1970-01-01
    • 2017-11-24
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多