source

WordPress 플러그인 현지화

ittop 2023. 3. 18. 09:23
반응형

WordPress 플러그인 현지화

WordPress용 플러그인을 처음 구축했는데, 훌륭한 "코드 시"가 아니더라도 제대로 작동합니다.GalleryView 3.0 jQuery 플러그인(http://spaceforaname.com/galleryview))을 사용하여 기본 wp 갤러리를 변환하는 플러그인입니다.

제가 유일하게 할 수 없는 것은 현지화입니다.에서 이 플러그인의 현지화는 관리 인터페이스를 변환하는 것을 의미합니다.여기서 jQuery 플러그인 옵션을 설정하여 결과 갤러리의 측면을 변경할 수 있습니다.

저는 웹에 있는 수백만 개의 튜토리얼을 팔로우하려고 노력했고, 포럼에서 이 문제에 대한 많은 게시물을 읽었으며, codex의 가이드라인을 따랐습니다.아직 운이 안좋아요

이게 내가 한 일이야

  1. 모든 텍스트 행은 gettext 함수 안에 있습니다(__그리고._e)
  2. poedit을 사용하여 플러그인 디렉토리를 스캔하는 .po 및 .mo 파일을 만들고(모든 것이 정상), 그 파일에 번역을 추가했습니다.
  3. .po 파일의 이름을 'NAME-OF-THE-PLUGIN-IT'처럼 지었습니다.IT.po (같은 이름으로 .mo 파일이 생성되었습니다)
  4. 번역 파일을 플러그인 폴더/언어 안에 넣었습니다(폴더 이름은 플러그인과 번역 파일의 이름과 동일합니다).
  5. 그 다음, 저는 더하려고 했습니다.load_plugin_textdomain메인 플러그인 파일 내에서 기능합니다.작동시킬 방법이 없어서 노력했어요.

단, 제가 만든 플러그인이 클래스+컨스트럭터 함수 아래에 있지 않다는 사실만 알 수 있습니다.아직 코딩에 서툴러서 그래요

하지만 난 그걸 놓았어load_plugin_textdomain안쪽에서init add_action, 다음과 같이 합니다.

add_action('init', 'gw_load_translation_file');

function gw_load_translation_file() {
// relative path to WP_PLUGIN_DIR where the translation files will sit:
$plugin_path = dirname(plugin_basename( __FILE__ ) .'/languages' );
load_plugin_textdomain( 'gallery-view-for-wordpress', false, $plugin_path );
}

위의 행은 로직 안에 있는 것이 아니라 메인 플러그인 파일에 있습니다.

다음은 gettext 함수를 사용하는 예입니다.

<h3><?php _e('Panel Options','gallery-view-for-wordpress') ?></h3>

내가 이해하지 못한 게 뭐야?

언어 파일 경로 선언에서 실수를 했습니다.

이 문제는 해결되었습니다.

$plugin_path = dirname( plugin_basename( __FILE__ ) ) . '/languages/';

이것은 틀렸습니다.

$plugin_path = dirname(plugin_basename( __FILE__ ) .'/languages' );

Wordpress Stack Exchange에서 답변을 받았습니다.

이전 설명과는 달리 다음 파일 이름을 사용하는 데 성공했습니다.gallery-view-for-wp-it_IT.mo

이상하지만 - 테마는 그냥 사용it_IT.mo.

언급URL : https://stackoverflow.com/questions/5404554/wordpress-plugin-localization

반응형