2014-09-26 2 views
2

Symfony 2 앱에 내부화 문제가 있습니다. 기존 사이트의 URL 구조에서 기본 문화는 "EN"이고이 사이트의 번역 된 버전의 수 있지만 영어 버전의 문화 매개 변수과 같이 URL에서 삭제 :Symfony 2 URL 구조의 문화 매개 변수 (선택 사항)?

/search - the culture "/en" is dropped 
/fr/search - "/fr" is available 
/es/search - likewise 

내가 노력하고 있어요 앱에서 경로를 만들지 만 URL의 "/ en"부분을 선택적으로 만들 솔루션을 찾지 못하는 것 같습니다.

설명서를 확인했지만 옵션이없는 것 같습니다. 표준 Symfony 구성을 통해 가능합니까? 아니면이를 위해 맞춤 라우터를 사용해야합니까?

답변

2

나는 https://github.com/schmittjoh/JMSI18nRoutingBundle을 보는 것이 좋습니다.

기본적으로 선택한 국가를 기준으로 경로를 국제화 할 수 있습니다. 은 {국가} PARAM 동적 라우팅 경로의 일부가 될 것입니다 경우

당신은 같은

/** 
* @Route("/{country}") 
*/ 
Class Something { 

    /** 
    *@Route("/search"), name="search" 
    */ 
    public function searchAction(){ 

    } 

} 

라우팅 전통적인 심포니와 함께이 작업을 수행 할 수 있습니다.

하지만이 방법을 사용하려는 경우 jms 솔루션을 사용하면 페이지를 쉽게 변환 할 수 있으므로이 솔루션을 사용하는 것이 좋습니다.

+1

우수 번들은 방금 체크 아웃 한 것으로 설정 전략과 함께 필요한 것은 정확히 수행합니다. prefix_except_default –

+0

걱정하지 않아도됩니다. –

관련 문제