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

时间:2013-09-30 15:01:40

标签: symfony translation

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

$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时,在我的代码中我得到了德国

1 个答案:

答案 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' */