__()
함수 에는 두 번째 인수가 있습니다. 플러그인 또는 테마에 사용중인 도메인으로 설정해야합니다. 아래 예제에서는을 사용 'text_domain'
합니다. 도메인 문자열은 고유해야합니다. 다른 도메인 문자열과 일치하지 않아야합니다. 텍스트 도메인 인수를 사용하지 않으면 기본적으로 'default'
WordPress 도메인 이름이 사용됩니다. 자세한 내용은 링크를 참조하십시오.
항상 문자열 ( 'text_domain'
)을 사용하십시오 . 문자열에 변수, 함수 또는 상수를 사용하지 마십시오. 대부분의 (모든?) 번역 프로그램은 문자열이 없으면 볼 수 없습니다.
귀하의 코드 :
echo __( 'Hello ' . $first . ' you own me money.' );
문자열에 변수를 포함시키지 마십시오.
더 좋은 방법 :
echo sprintf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
아니면 그냥 :
printf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
%s
자리 표시자는 사람에게 통역사에게 줄 이 들어 오고 있음을 알려줍니다. %d
숫자에 사용하십시오 . 다른 자리 표시 자도 있습니다 .
(이 문장은 문법적으로 잘못된 영어입니다. 사용 중 'Hello %s, you owe me money.'
또는 'Hello %s, you own my money.'
당신이 의도 한 의미에 따라 다릅니다.)
귀하의 코드 :
$html = '<div><p>Top: ' . $t_margin . '</p>' . <p>Bottom: ' . $b_margin . '</p></div>';
HTML을 번역하지 마십시오. 모든 언어에서 동일합니다.
더 좋은 방법 :
$html = sprintf( '<div><p>%s</p><p>%s</p></div>', __( 'Top: ', 'text_domain' ) . $t_margin, __( 'Bottom: ', 'text_domain' ) . $b_margin );
또는 여러 줄로 나눕니다.
$html = sprintf(
'<div><p>%s</p><p>%s</p></div>',
__( 'Top: ', 'text_domain' ) . $t_margin,
__( 'Bottom: ', 'text_domain' ) . $b_margin
);
그것이 무엇인지 알 수없는 경우 상단 과 하단이 있습니다 당신은을 사용할 수 있습니다 _x()
이러한 용어의 맥락을 설명 할 수 있습니다.
다른 번역 사례는 여기에서 찾을 수 있습니다. 국제화 : 아마 잘못하고있을 것입니다.