programing

WordPress 템플릿 이름을 번역하는 방법

procenter 2023. 3. 14. 23:40
반응형

WordPress 템플릿 이름을 번역하는 방법

예를 들어 Poedit을 사용하여 .po 및 .mo 파일을 생성함으로써 일반적으로 테마 및 템플릿의 번역을 작성하는 방법을 알고 있습니다.그러나 템플릿 이름은 각 템플릿 파일 상단에 PHP 코멘트에 기재되어 있기 때문에 제가 보는 것처럼 번역할 방법이 없습니다.

WordPress 템플릿 헤더:

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

Template Name은 Wordpress에 의해 해석되며 페이지를 작성할 때 템플릿 선택 드롭다운을 채우는 데 사용됩니다.

WordPress 템플릿 이름을 번역할 수 있는 방법이 있습니까?WordPress는 템플릿 파일에 설정할 수 있는 특정 변수도 검색합니까?아니면 그냥 불가능한 건가요?

나는 얼마 전에 그것을 우연히 발견했다.이 문제를 해결한 방법은 다음과 같습니다.

먼저 추가(아직 추가하지 않은 경우)Text Domain: mytext_domain고객님께style.css,어디에mytext_domain는 테마의 실제 텍스트 도메인입니다.

다음으로 번역기능에 더미콜을 추가합니다(Template Name 선언 바로 아래에 추가하는 것이 가장 좋습니다.그러면 왜 번역기능을 넣었는지 궁금하지 않습니다).

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

이렇게 하는 이유는 WordPress가 사용자의 템플릿 이름을translate()하지만 번역기 플러그인은 코드를 해석하기 때문에 템플릿 이름이 .po(또는 .mo?) 파일의 일부가 되어야 한다는 것을 인식하지 못합니다.에 대한 더미콜__()이 문제를 해결합니다.

그리고 당신이 덧붙이는 이유는Text Domaindeclaration to your style.css는 WordPress가 템플릿 이름을 구문 분석할 때 테마의 텍스트 도메인을 찾기 때문입니다.

코어 코드를 자세히 살펴본 후 어떻게 작동하는지, 템플릿 이름을 번역할 수 있는지 알아낼 때까지 정확한 출처를 알려줄 수 없습니다.

PP: Poedit가 어떻게 기능하는지는 잘 모르겠습니다.수작업으로 번역을 추가하면 더미콜이 필요없을 수 있습니다.그냥 테스트만 하면 됩니다.고객에게 가장 적합한 것을 사용할 수 있습니다.

더 나은 방법:

  1. 를 추가합니다.Text Domain: theme-slug헤더를 style.css 파일로 보냅니다(아직 헤더를 입력하지 않은 경우).

  2. develope.http://http://develop.svn.wordpress.org/trunk/ 에서 WordPress 공식 개발자 패키지를 체크 아웃 할 수 있습니다.

  3. 그 안에 /tools/i18n이라는 이름의 디렉토리가 있습니다.이 디렉토리에는makepot.php을 사용하다

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

그러면 최신 WordPress 코드를 사용하여 POT 파일이 생성됩니다.헤더나 WordPress i18n 함수에서 문자열을 가져옵니다.이것은 또한 다른 답변이 시사하는 것처럼 어떠한 "가짜" 문자열도 만들 필요가 없다는 것을 의미합니다.

해 .svn update는 새로운 수 .i18n 툴과 코어 트렁크코드는 할 수 있습니다.

i18n 툴을 사용할 때는 트렁크체크 아웃에 있어야 합니다파일 시스템에서 파일을 이동할 수 없습니다. WordPress 함수에 의존하여 파일을 구문 분석하기 때문에 WordPress 코어 /src 디렉터리로 트리를 백업하는 상대 포함 경로가 있기 때문입니다.툴이 정상적으로 동작하려면 트렁크디렉토리가 온전해야 합니다.단, 트렁크디렉토리는 설정 해제될 수 있습니다.WordPress를 정상적으로 설치할 필요는 없습니다.파일을 올바르게 해석하기 위해서는 WordPress 코드 중 일부만 필요합니다.

언급URL : https://stackoverflow.com/questions/13561410/how-to-translate-a-wordpress-template-name

반응형