2

我正在使用带有插件 Catalyst::Plugin::I18N 的 Catalyst 设置一个新项目,并使用 HTML::FormFu 创建表单我的问题是使用 HTML::FormFu 配置文件进行本地化不起作用。

我创建我的语言文件,如下所示:https ://metacpan.org/pod/Catalyst::Plugin::I18N::Manual

我尝试了诸如 localize_class 或 add_localize_class_from_object 之类的解决方案,但没有一个不起作用

我的表单配置文件如下所示:

action:
indicator: submit
auto_fieldset: 1
elements:
  - type: Text
    name: email
    id: email
    label_loc: form.add_user.email.label
    constraints:
      - type: Required
        message_loc: form.add_user.email.constraint.required
      - type: Email
        message_loc: form.add_user.email.constraint.email
    error_tag: div
    render_method: tt
    attributes_xml: { class: form-control }
container_attributes: { class: form-group }

Catalyst 控制器中的动作(我使用的是 Catalyst::Controller::HTML::FormFu)

sub add_user :Path('/admin/add/user') :FormConfig {
    my ($self, $c) = @_;

    my $form        = $c->stash->{'form'};
    $form->get_field('submit')->value($c->loc('form.add_user.submit.value'));
    return if !$form->submitted_and_valid;
}

de.po 文件的内容:

#: root/forms/admin/add_user.yml:9
msgid "form.add_user.email.label"
msgstr "E-Mail Adresse"

它始终显示:form.add_user.email.label 而不是:E-Mail Adresse

4

0 回答 0