我想显示阿拉伯语的国家/地区列表,因为标题中提到它在localhost上正常工作但不在我的远程服务器上!! 我在config.yml中将arabic设置为默认语言:
parameters:
locale: ar
framework:
#esi: ~
translator: { fallbacks: ['%locale%'] }
这是本地机器上的列表:
这就是我在远程服务器上得到的:
这是我的FormType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('fullName', TextType::class, array(
'required' => true,
))
->add('email', EmailType::class, array(
'required' => true,
))
->add('country', CountryType::class)
->add($builder->create(
'birthday', TextType::class, array(
'required' => false,
))
->addModelTransformer(new DateTransformer('Y-m-d'))
)
->add('username', TextType::class, array(
'required' => true,
))
->add('password', PasswordType::class, array(
'required' => true,
))
;
if($builder->getData()->getId() != null){
$builder->add('image', AttachmentWithoutDescriptionType::class);
}
}
我在这里缺少什么?
答案 0 :(得分:0)
请检查远程服务器上的php.ini文件,以获取以下参数值:intl.default_locale
。 CountryType使用Locale::getDefault()
来猜测用户的区域设置。
如果您正在使用Apache Web服务器,您可以将一个参数放入.htaccess文件中以覆盖php.ini值。
php_value intl.default_locale ar_AR
或者只是将值硬编码到前端控制器(app.php,app_dev.php和命令)
\Locale::setDefault('ar_AR');
如果需要动态更改语言环境,则应使用以下代码段实现语言环境侦听器并设置所需的语言环境。