2013-03-21 2 views
0

다국어 사이트가 있습니다. 이 사이트는 이러한PHP에서 플래그 메뉴를 현지화하는 방법은 무엇입니까?

같은 링크 example.com/en/pages/more-info
example.com/fr/pages/plus-d-informations

사용자가 그 페이지 전체가 프랑스어로, 예를 들어 지역화되는 것을보고 특정 페이지를 방문 example.com/de/pages/mehr-infos
example.com/pl/pages/więcej-informacji
이있는 로케일 플래그 메뉴가 있습니다. 그러나 메뉴는 웹 사이트에서 사용되는 모든 가능한 지역화를 표시해야합니다.

질문 : 내가 로케일을 전환,이 코드

putenv("LANG=" . $language); 
setlocale(LC_ALL, $language); 
bindtextdomain("messages", "Locale"); 
bind_textdomain_codeset("messages", 'UTF-8'); 
textdomain("messages"); 
다음

<a href="/fr/pages/<?=_("more-info")?>">French</a> 
... 

마다 사용하는 경우, 플래그 메뉴의 각 항목을 표시 할 때?

$language은 플래그 메뉴에 각 항목을 표시하기 전에 변경됩니다.

올바른 해결책입니까?

답변

0

대체 언어 링크를 인쇄하기 위해 언어를 반복하는 동안 로켈을 일시적으로 전환하는 것이 일반적입니다. 나는 작업 한 사이트에서이 작업을 수행했습니다.

  • 을 시작하고 해당 코드 섹션을 완료 한 후 다시에 로케일을 변경하기 전에 "현재 로케일"을 저장하는 것을 잊지 마십시오.
  • 로케일 전환을위한 많은 메커니즘이있는 것 같습니다. 함수에 캡슐화하려고 할 것입니다.
  • 성능면에서 나는 마사지를 저장하는 방법이나 캐싱 여부를 잘 모릅니다. 접근 방식이 잘 수행되지 않는다면 캐싱과 수정을위한 메커니즘을 추가하는 것이 간단해야합니다.
관련 문제