KBoard 버전 : 게시판 플러그인 5.4.2, 댓글 플러그인 4.5
스킨 : Ask One (최신버전 구매)
글쓰기 페이지에서 필수입력항목을 작성하지 않고 저장하기 버튼을 클릭할 경우,
"***은(는) 필수입니다"
라는 메시지가 팝업됩니다.
이것을 영문으로 수정하고 싶은데 어떻게 해야하는지요?
안녕하세요~^^
KBoard 플러그인은 다국어를 지원하고 있습니다.
기본적으로 워드프레스 사이트 언어 설정에 따라
한국어, 영어, 일본어로 표시할 수 있습니다.
입력 필드 필수 안내 문구를 영어로 표시되게 하시려면
gettext 필터를 활용해보시겠어요?
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보세요.
add_filter('gettext', 'my_gettext', 10, 3);
function my_gettext($translated_text, $text, $domain){
if($domain == 'kboard'){
if($text == '%s is required.'){
$translated_text = '%s is required.';
}
}
return $translated_text;
}
고맙습니다.
게시판 id가 4, 5인 두개의 게시판만 메시지를 영어로 하려고 합니다.
functions.php에 다음과 같이 작성하였는데 변화가 없이 그냥 한글로만 나옵니다.
어디가 잘못된 것인지 알려주시면 감사하겠습니다.
add_action('kboard_skin_header', 'my_kboard_skin_header3', 10, 1);
function my_kboard_skin_header3($builder){
$board = $builder->board;
if($board->id == '4' || $board->id == '5' ){
add_filter('gettext', 'my_text_strings5', 999, 3);
}
}
function my_text_strings5($translated_text, $text, $domain){
if($domain == 'kboard'){
switch($translated_text){
case '%s is required.': $translated_text = '%s is required.'; break;
}
}
return $translated_text;
}
kboard_skin_header 액션 쪽에서 gettext 필터가 제대로 동작하지 않는다면
게시판이 설치된 페이지 ID로 구분해보시겠어요?
기존 코드 대신 아래의 코드로 교체해보세요.
add_filter('gettext', 'my_gettext', 10, 3);
function my_gettext($translated_text, $text, $domain){
$page_id = get_the_ID();
if(in_array($page_id, array('1', '2'))){
if($domain == 'kboard'){
if($text == '%s is required.'){
$translated_text = '%s is required.';
}
}
}
return $translated_text;
}
위의 코드에서 숫자 1과 2는 실제 게시판이 설치된 페이지 ID로 적용해보세요.
워드프레스 사이트에서 페이지 ID를 찾는 방법은
아래의 링크를 참고해보세요.
고맙습니다.