2012-11-26 10 views
11

예를 들어 Poedit으로 .po 및 .mo 파일을 생성하여 일반적으로 테마 및 템플릿에 대한 번역을 만드는 방법을 알고 있습니다. 그러나 템플릿 이름은 각 템플릿 파일의 상단에 PHP 주석으로 작성 되었기 때문에 이것을 볼 때 번역 할 방법이 없습니다.WordPress 템플릿 이름을 번역하는 방법은 무엇입니까?

워드 프레스 템플릿 헤더 :

/** 
* Template Name: Three columns 
* 
* @package WordPress 
*/ 

템플릿 이름은 어떻게 든 Wordpress에 의해 구문 분석하고 페이지를 만들 때 템플릿 선택 드롭 다운을 채우는 데 사용됩니다.

제 질문은 : WordPress 템플릿 이름을 번역 할 수있는 방법이 있습니까? 워드 프레스는 템플릿 파일에서 설정할 수있는 특정 변수를 찾습니다. 아니면 그냥 불가능한가요?

답변

12

나는 아주 최근에 비틀 거렸다. 다음은 내가이 문제를 해결 한 방법입니다.

먼저 Text Domain: mytext_domainstyle.css에 추가하십시오. mytext_domain은 테마의 실제 텍스트 도메인입니다.

이 그런 곳 테마의 번역 기능에 대한 더미 호출을 추가 (당신이 그것을 넣어 한 이유는 가장 좋은 것은 당신이 궁금해하지 않도록, 단지 템플릿 이름 선언 아래를 추가하는 것입니다) :

/** 
* Template Name: Three columns 
* 
* @package WordPress 
*/ 
__('Three columns', 'mytext_domain'); 

워드 프레스가 템플릿 이름을 translate() 함수로 전달하기 때문에 이유는 있지만 변환기 플러그인이 코드를 구문 분석하기 때문에 템플릿 이름이 .po의 일부가되어야한다는 것을 인식하지 못합니다 (또는 .mo입니까?). 파일. __()에 대한 모호한 호출로 해당 문제가 해결됩니다.

Text Domain 선언을 style.css에 추가하는 이유는 여기가 템플릿 이름을 구문 분석 할 때 WordPress에서 테마의 textdomain을 찾는 위치이기 때문입니다.

어떻게 작동하는지 그리고 내 템플릿 이름을 번역 할 수있는 방법을 알아낼 때까지는 핵심 코드를 뚫어서 정확한 소스를 제공 할 수 없습니다.

PP : 나는 Poedit 어떻게 작동하는지 모르겠어요 - 당신이 손으로 당신의 번역을 추가 할 경우, 당신은 더미 전화를 필요로하지 않을 수 있습니다 - 단지와 가장 잘 맞는 중 :

+1

좋아요! 그것은 트릭을했다. :) 이상한 문서는 거의 없다. 다른 것들을 명확히하기 위해서 : style.css에 테마 정의 주석에'Text Domain : mytext_domain'을 추가해야합니다. – jamietelin

+1

그래, 거의 문서화되지 않았다. 나는 [이 티켓] (http://core.trac.wordpress.org/ticket/6007)에서 시작하여 어떻게 작동하는지 이해할 때까지 코어 파일을 통해 나아갔습니다. :) –

5

더 나은 그것을하지 않고 사용 테스트 방법 : 아직 수행하지 않은 경우

  1. , 당신의있는 style.css 파일에 Text Domain: theme-slug 헤더를 추가합니다.

  2. 는 develop.svn 트렁크를 확인하여 공식 워드 프레스 개발자 패키지의 체크 아웃을 얻기 : http://develop.svn.wordpress.org/trunk/

  3. 이, 당신은/도구/국제화라는 디렉토리를 찾을 수 있습니다. 이 디렉토리에는 makepot.php 파일이 있습니다. 다음과 같이 주제를 사용할 수 있습니다 :

> php makepot.php wp-theme /path/to/your/theme/directory theme-slug.pot

이 최신 워드 프레스 코드를 사용하여, 당신을 위해 POT 파일을 만듭니다. 헤더, 모든 WordPress i18n 함수, 모든 것에서 문자열을 가져옵니다.또한 다른 답변에서와 같이 "가짜"문자열을 만들 필요가 없음을 의미합니다.

i18n 도구와 코어 트렁크 코드는 새로운 것들을 위해 한 번씩 업데이트 될 수 있으므로 svn update도 한 번씩 수행하십시오.

i18n 도구를 사용할 때는 트렁크 체크 아웃이 필요합니다. WordPress 함수를 사용하여 파일 구문 분석을 일부 수행하므로 파일 시스템에서 해당 단어를 이동할 수 없으므로 WordPress core/src 디렉토리에 트리를 상대적으로 포함하는 경로가 포함됩니다. 도구가 제대로 작동하려면 트렁크 디렉토리 전체가 손상되지 않아야합니다. 그러나 트렁크 디렉토리는 구성 해제 될 수 있습니다. WordPress의 설치가 필요하지 않습니다. 파일 구문 분석을 제대로 수행하려면 WordPress 코드가 필요합니다.