2017-12-13 3 views
2

에 대한 번역 액세스 현재 FormBuilder를 사용하여 양식을 만들 때 Symfony (3.3.5)는 지정된 로케일에 대한 번역 메시지가 없다는 경고 메시지를 프로필러에 표시합니다.양식 레이블

심포니의 설명서에 나온 지침을 따르지 만 문제는 여전히 지속됩니다. app/Resources/translations/properties.fr.yml 내 config.yml 파일은 다음과 같습니다 :

내 번역 파일은 다음 위치에

parameters: locale: fr framework: translator: fallbacks: ['%locale%'] paths: - '%kernel.project_dir%/app/Resources/translations'

파일이 바로이 포함

properties: 
    zipcode: 
     label: 'Code postal du bien' 

를 마지막으로 양식입니다 이렇게 만들면 :

$property = new Properties(); 
$form = $this->createFormBuilder($property) 
    ->add('zipCode', Type\IntegerType::class, array(
    'attr' => array(
     'min' => '10000', 
     'max' => '99999' 
    ), 
    'label' => 'properties.zipcode.label' 
)) 
    ->getForm(); 

왜 번역 파일을 사용하지 않습니까?

답변

2

이처럼 필드에 속성을 추가해야합니다 :

$property = new Properties(); 
$form = $this->createFormBuilder($property) 
    ->add('zipCode', Type\IntegerType::class, array(
    'translation_domain' => 'yourDomain', 
    'attr' => array(
     'min' => '10000', 
     'max' => '99999' 
    ), 
    'label' => 'properties.zipcode.label' 
)) 
    ->getForm(); 

도메인 (파일 이름)에 의해 "사용자 도메인을"교체합니다. 희망이 도움이 될 것입니다.

2

번역 도메인은 '메시지'입니다. 그래서 properties.fr.yml을 messages.fr.yml로 변경할 수 있습니다. 또 다른 가능성은 다음과 같이 번역 도메인을 변경하는 것입니다.

public function configureOptions(OptionsResolver $resolver) 
{ 
    $resolver->setDefaults([ 
     'data_class'   => 'Acme\Entity\DemoEntity', 
     'translation_domain' => 'properties' 
    ]); 
}