如何从 trans() Symfony 2 获取原始单词



用户应该给出他的国名,问题是所有国家/地区名称都被翻译成不同的语言,我必须重新翻译成英语以将名称与数据库中的名称进行比较。我确实喜欢这样,但它不起作用:

$translated_country = $this->get('translator')->trans($q_country, array(), null, 'en_US');
                $countries          = array("A, B, C");
                if( in_array($translated_country, $countries))
                {}

例如,我有消息.de.yml德国 : 德国我希望当用户进入德国时,在我的代码中我得到德国

您需要将

每个国家/地区的 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' */

最新更新