2014-10-15 2 views
0

Я пытаюсь сделать веб-сервис, который позволяет для системы перевода Так я выздоровел в JSON термина для перевода и язык то, что я должен перевести моей проблемы я не могу изменить defaultLocal в контроллереКак установить язык сайт для переводчика в контроллере

class TranslateController extends RestController 

{

/** 
* @param ARDParamFetcher $paramFetcher 
* @RequestParam(name="lang", requirements="[a-zA-Z0-9_]+", description="language.") 
* @RequestParam(name="msg", requirements="[a-zA-Z0-9_]+", description="message.")    
*/ 
public function translateAction(ARDParamFetcher $paramFetcher) 
{  
    $lang = $paramFetcher->get('lang'); 
    $msg = $paramFetcher->get('msg'); 
    $b = $this->get('translator')->setLocale($lang)->trans($msg); 
    print_r($b); 
    exit(); 
    return $this->view(array()); 
} 

}

и здесь содержание моего файла messages.fr.yml

# messages.fr.yml 
TXT_1 : il y a %count% objet 

Любая помощь, пожалуйста,

+0

вы проверить '$ msg' и' $ lang' вар? Также вам нужно передать 'count' в этот перевод:' -> trans ($ msg, ['% count%' => $ someVar], 'messages'); ' –

ответ

0

Я нашел решение здесь, что написать:

$lang = $paramFetcher->get('lang'); 
$msg = $paramFetcher->get('msg'); 
$request = $this->getRequest(); 
$request->setLocale($lang); 
$t = $this->get('translator')->trans($msg); 
0

Убедитесь, что вы включили переводчик в конфигурационном файле:

framework: 
    translator: { fallback: %locale% } 

Для синтаксиса см @Roma комментарий.

+0

yes Я проверяю содержимое моих переменных , но то, что я хочу, это то, что мне кажется, что il ya% count% objet и что я могу назначить язык контроллера. Я не знаю, хорош ли мой синтаксис или нет. – Mahmoud

Смежные вопросы