2012-12-04 2 views
1

두 웹 사이트가 영어 및 아랍어 버전으로 표시됩니다.이중 언어 워드 프로세서 : 어떻게 언어를 더 잘 전환 할 수 있습니까?

주위를 둘러 보았을 때 qTranslate 플러그인이 간단한 솔루션에 매우 적합하다는 것을 알았습니다. 검출 언어에 대해 다음

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^ar[\/]?$ index.php?lang=ar 
RewriteRule ^en[\/]?$ index.php?lang=en 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 
</IfModule> 

그리고 테마 functions.php에서 : 나는 RTL/LTR 스타일 시트를 전환에 사용

 function inspectVars($vars) { 

     session_start(); 

     if ($_GET['lang'] == "ar") { 
     $_SESSION['custom_lang'] = "ar"; 
     } elseif ($_GET['lang'] == "en") { 
     $_SESSION['custom_lang'] = "en"; 
     } elseif (!isset($_GET['lang']) && !isset($_SESSION['custom_lang'])) { 
     $_SESSION['custom_lang'] = "en"; 
     } 
     $GLOBALS['q_config']['language']= $_SESSION['custom_lang']; 
    return $vars; 
    } 

    add_filter("query_vars", "inspectVars"); 

이 세션 설정

나는 다음과 같이 .htaccess을 사용했다. 그렇게 할 수있는 더 좋은 방법이 있습니까?

지금, 나는이 직면하고있는 문제는 다음과 같습니다

  1. 는 어떻게 다른 언어로 현재 페이지를 전환 할 것 링크, 블로그를 사용합니까? 전환을 위해 domain/ar과 domain/en을 사용했으나 처음에는 집으로 가져갔습니다.
  2. 나는 domain.com/ar/someslugsoranythingdomain.com/en/someslugsoranything과 같은 URL을 유지하고 싶습니다.
  3. 언어 변경으로 전환해야하는 일부 이미지, 슬라이드가 템플릿에 있습니다. 가장 좋은 방법은 무엇입니까? 또한 HTML 형식의 텍스트가 있으며이 텍스트도 전환해야합니다.

편집 : 나중에 qTranslate의 자신의 언어 스위처를 활성화하면 선택한 언어의 지속성을 유지하기 때문에 다음과 같은 주석 한 . 사실 전체 inspectVars 기능을 생략 할 수 있습니다.

  $GLOBALS['q_config']['language']= $_SESSION['custom_lang']; 
+1

사이드 노트; 슬래시를 벗어날 필요가 없습니다. 또한'en /? key = value'와 같은 URL이 있다면 QSA 플래그를 추가 할 수 있습니다. 그래서'RewriteRule^ar /? $ index.php? lang = ar [QSA]' – Gerben

+1

'domain.com/ar/someslugsoranything'은'RewriteRule^ar (/(.*))?$ index.php? lang = [QSA]' – Gerben

답변

0

나는 대부분의 문제를 해결했다. .htaccess 파일의 두 줄을 주석으로

:

#RewriteRule ^ar[\/]?$ index.php?lang=ar 
#RewriteRule ^en[\/]?$ index.php?lang=en 

그리고 많은 문제는 다음 게시물 해결있어 난 그냥 지금 발견 : 지금이

Displaying content based on language with qTranslate 가장 큰 문제는이다 아랍어로 전환해야하는 혼합 HTML 텍스트 템플릿 내에서 qTranslate 단축 코드와 <!--:lang--><!--:--> 태그를 시도했지만 거기에서 작동하지 않습니다. 또한 아랍어를 HTML로 직접 작성하는 것은 좋은 생각이 아닙니다.

+0

function.php에서 다음 줄을 제거 했으므로 세션에 언어를 저장하지 않았습니다. qTranslate가 더 잘 처리합니다. '$ GLOBALS [ 'q_config'] [ '언어'] = $ _SESSION [ 'custom_lang'];' – Lenin