워드프레스 케이보드 한글 문구 변경하기

워드프레스 테마나 플러그인은 대부분 해외에서 제작되어 영어로 되어 있습니다. 아바다나 Divi와 같은 일부 테마나 엘리멘터와 같은 플러그인은 부분적으로 한글화가 되어 있지만, 번역이 완전하지 않을 수 있습니다. 영문 문자열을 한글로 번역하거나 번역을 수정하고 싶은 경우 Loco Translate와 같은 플러그인을 사용할 수 있습니다.

한국형 게시판 플러그인인 케이보드(Kboard)의 경우 사용자 인터페이스가 한국어로 되어 있지만 Loco Translate를 사용하여 한글 문구를 변경할 수 있습니다. 케이보드는 원문은 영어로 되어 있고 언어 파일을 통해 번역문을 제공하고 있습니다. 한국어 사이트에서는 한국어 번역이 적용되어 UI가 표시됩니다.

워드프레스 케이보드 한글 문구 변경하기

예를 들어, "글쓰기" 버튼 문구를 "후기 작성"으로 변경하고 싶은 경우를 생각해봅시다.

워드프레스 케이보드 한글 문구 변경하기

몇 가지 방법으로 "글쓰기" 문구를 다른 문구로 바꿀 수 있습니다.

Loco Translate를 사용하여 번역 수정

먼저는 Loco Translate를 사용하여 한국어 번역을 수정하는 방법을 고려할 수 있습니다.

Loco Translate에서 KBoard 언어 파일을 열고 "글쓰기"를 검색하여 "글쓰기" 번역을 수정하면 됩니다.

워드프레스 플러그인 한글화

스킨 파일 수정하기

다른 방법으로 스킨 파일을 직접 수정하는 것도 가능합니다. 다만, 이 방법의 경우 케이보드가 업데이트될 경우 스킨 파일이 덮어쓰기 되므로 새로운 스킨 폴더를 만든 후에 작업하는 것이 가능합니다.

  1. 예를 들어, avatar 스킨을 사용하는 경우 /wp-content/plugins/kboard/skin/ 폴더 아래에 새로운 폴더를 하나 만듭니다(예: new-avatar).
  2. avatar 폴더 내의 모든 파일을 PC로 다운로드한 다음, 다시 새로 만든 스킨 폴더로 업로드합니다.
  3. 케이보드 설정에서 스킨을 새로 만든 스킨으로 설정합니다.

"글쓰기" 텍스트는 list.php 파일에 위치하고 있습니다.

워드프레스 케이보드 스킨 파일 수정하기

파일질라로 FTP로 접속한 다음, 해당 스킨 폴더(새로 스킨을 만든 경우 해당 폴더) 내의 list.php 파일을 마우스로 선택하고 오른쪽 버튼을 클릭한 다음, 보기/편집을 클릭합니다.

list.php 파일이 텍스트 에디터에서 열리면 다음 부분을 찾습니다.

<!-- 버튼 시작 -->
	<div class="kboard-control">
		<a href="<?php echo esc_url($url->getContentEditor())?>" class="kboard-avatar-button-small"><?php echo __('New', 'kboard')?></a>
	</div>
	<!-- 버튼 끝 -->

위에서 <?php echo _('New', 'kboard')?> 부분을 원하는 문구(예: "후기 작성")로 변경하면 됩니다.

커스텀 코드 사용하기

또 다른 방법으로 워드프레스 gettext 훅을 사용하여 번역을 변경할 수 있습니다. 다음과 같은 코드를 테마의 함수 파일(functions.php)에 추가하시기 바랍니다. 물론 차일드 테마(자식 테마)를 사용해야 추후 테마 업데이트 시에 추가된 코드가 사라지지 않습니다.

function custom_gettext( $translated, $original, $domain ) {
    if ( 'kboard' === $domain && 'New' === $original ) {
        return '후기 작성';
    }
    return $translated;
}
add_filter( 'gettext', 'custom_gettext', 10, 3 );

자바스크립트를 사용하여 바꾸는 것도 가능합니다.

<script>
document.addEventListener('DOMContentLoaded', function() {
    var buttons = document.querySelectorAll('.kboard-avatar-button-small');

    buttons.forEach(function(button) {
        if (button && button.textContent === '글쓰기') {
            button.textContent = '후기 작성';
        }
    });
});
</script>

굳이 자스까지 동원할 필요는 없으므로 그냥 이런 것이 가능하다 정도만 이해하면 될 것 같습니다.

참고

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.