2012-02-06 4 views
1

PHP/MySQL 웹 사이트를 현지화하는 방법이나 지침이 있습니까?PHP/MySQL 웹 사이트의 인터페이스를 어떻게 현지화해야합니까?

여기의 아이디어는 버튼, 페이지 제목 및 메시지를 번역하는 것입니다. 웹 사이트의 언어는 설치시 선택되며 변경해서는 안됩니다.

번역본과 함께 키워드 목록을 포함하는 텍스트 파일을 만들기 시작했으나 휠체어를 다시 만드는 느낌이 들었습니다.

도움 주셔서 감사합니다.

답변

0

그동안 배열 텍스트 파일을 만드는 효율적인 방법을 발견했습니다.

텍스트 항목을 번역하고 싶을 때마다, 나는 캡슐화를 위해 PHP gettext() 함수에 별명이 지정된 _()를 사용합니다.

그러면 poedit으로 모든 PHP 파일을 구문 분석하여 자동으로 번역을 만듭니다.

$locale = 'en_EN'; 
putenv("LC_ALL=".$locale); 
setlocale(LC_ALL, $locale); 
bindtextdomain("messages", "locale"); 
textdomain("messages"); 

총 : 다음이 코드 내 번역 응용 프로그램을 초기화

locale/en_EN/LC_MESSAGES 

:

내 생성와 .po (사람이 읽을 수)과 .mo (컴파일) 현지화 파일에 배치됩니다 :

  • 이렇게하면 다양한 텍스트 항목을 추적 할 필요가 없으며 만들기 w 번역은 비 프로그래머가 할 수 있습니다.
  • 출력 .po 파일도 해당 형식에서 매우 표준적인 것처럼 보입니다.
  • .po 파일은 또한 내 프로젝트에서 번역 할 모든 텍스트를 참조합니다.
  • 또 다른 좋은 점은 .po 번역 파일에 액세스 할 수없는 경우 gettext 함수가 기본 텍스트를 표시한다는 것입니다.
2

한 번 해봤는데 다른 언어로 다른 파일을 추가했습니다.
포함 된 파일이없는 경우 해당 파일을 포함하고 기본 (영어) 파일을 포함하십시오.
그리고 그 파일에 배열을 정의

$array_language['welcome_msg'] = 'You are welcome'; 

그래서 이는 당신이 배열을 보여 관련된 다른 메시지는 기본 영어 파일을 보여줍니다됩니다 포함됩니다 파일.

+0

감사합니다. 이것은 기본적으로 내가하고있는 일입니다. 그러나 나는 Wordpress에서 코드를 연구하려고했는데 (이것은 현지화 된 버전을 설치하고 그 언어로 남겨 놓는 관점에서 프로젝트에 가깝다), 나는 그렇게하지 않았다는 것을 알았다. 나는 그들이 그것을 어떻게 작동 시켰는 지 정확히 알지 못했다. – Asimov4

+0

당신은 데이터베이스로 할 수 있지만 복잡한 일이고 유지 보수가 더 많습니다. WordPress는 DB에 모든 것을 저장합니다. – Debugger

+0

PHP 배열에서 번역을 편집하기위한 간단한 웹 인터페이스 인 Transtable을 사용해 볼 수 있습니다. http://code.google.com/p/transtable – user570605

관련 문제