用户应该提供他的国家名称,问题是所有国家/地区的名称都被翻译成不同的语言,我必须重新翻译才能将名称与我的数据库中的名称进行比较。 我确实喜欢这样,但它不起作用:
$translated_country = $this->get('translator')->trans($q_country, array(), null, 'en_US');
$countries = array("A, B, C");
if( in_array($translated_country, $countries))
{}
例如我有messages.de.yml 德国:德国 我希望当用户进入Deutschland时,在我的代码中我得到了德国
答案 0 :(得分:0)
您需要在EN语言环境中匹配翻译为您支持的其他语言的每个国家/地区。
# messages.en.yml
deutschland: germany
Германия: germany
russland: russia
Россия: russia
# messages.de.yml
germany: deutschland
russia: russland
# messages.ru.yml
russia: Россия
germany: Германия
$toTranslate = 'deutschland';
$translator = $this->get('translator');
$translation = $translator->trans($toTranslate, array(), null, 'en_US');
/** $translation should be 'germany' */