번역에 있어서 주의할 점

워드프레스 번역에서 조심해야 할 부분 하나

한국 워드프레스 사용자 모임에 한 분이 번역으로 인해 고통이 계속되고 있다고 글을 공개했다.

잘 못 한 번역으로 생기는 일

휴~ 다행

죄송하다는 댓글을 달기 전에 왜 그렇게 했을까를 생각해보려고 5.6의 번역 문자열을 확인하러 갔다.

첫 번째 오타가 난 부분은 분명히 내가 한 번역이었다.

당시에는 GTE였기에 번역을 하면 곧바로 승인까지 이어졌기에 번역을 제안한 사람이 없이 내 이름만 등록되어 있다.

두 번째 부분을 확인하려 했는데, 다른 분이 번역을 하신 것으로 나와 있었다.

그래서 이전 버전은 어떻게 되어 있는지 확인하려고 갔는데, 5.4판만 내가 번역한 것으로 나와 있었다.

5.4와 5.5의 경우 이미 번역이 이루어진 부분은 그대로 두고 비어 있는 부분만 5.6의 번역에서 채우는 방식으로 했기에 아마도 5.6에서 이미 되어 있던 번역이 그대로 들어간 모양이다.

5.7을 확인해보니 5.6을 번역한 분이 한 것이 그대로 들어가 있었다.

이전 번역을 믿기

사실 이전 번역이 등록되어 있고 그에 대해 별 다른 문제가 제기되지 않는다면 다음 판에서도 같은 번역을 등록해도 문제가 없다.

그래서 이전 판에 번역이 등록되어 있다면 믿고 등록해 두었을 것이다.

하지만 이번 경우에는 왜 그런지 모르겠으나 문제가 생겼다.

원문과 다른 번역문에 있어서 새 판에 적용할 때 조심해야겠다는 생각이 들었다.

워드프레스만의 문제는 아니니 되도록이면 원문의 특수문자 유무를 번역문에도 철저하게 적용해야 할 것으로 생각한다.

워드프레스 한국어 번역팀

워드프레스 한국어 번역에 관련해 자료를 찾을 수 있는 경로를 찾고 있었다.

워드프레스 공식 슬랙의 #polyglot 채널에 문의했더니 한국어 번역팀 슬랙이라면서 알려주었다.

워드프레스 한국어 번역에 참여하여 번역을 제안하면서 참여하는 사람이 참 없구나 싶은 마음에 나라도 열심히 해보자는 생각으로 활동했다.

다른 경로가 있을 거라고 생각하지 못한 채 한 분과 뜸한 대화를 주고받으며 활동을 하다보니 GTE(General Translation Editor)가 되었다.

슬랙에서 한 분이 일괄적으로 워드프레스 5.5 번역을 하신다는 소식을 접했다.

몇 달이 지나도 감감 무소식이었다.

더 늦으면 안 되겠다는 생각으로 번역문 전체를 일관성 있게 하기 위해 번역하여 올리고 슬랙에서 확인해달라고 요청하였다.

그런데 제안한 번역 가운데 ‘a’가 들어간 번역에 대해 ‘ㅔ’가 아닌 ‘ㅐ’로 입력한 것을 또 다시 ‘ㅔ’로 제안하는 사람이 많이 있는 것을 확인했다.

확인하자마자 ‘ㅐ’로 입력한 것들을 ‘ㅔ’로 돌려놓았다.

그렇게 하고 난 뒤에 갑자기 GTE에서 이름이 빠졌다.

뭔가 문제가 있는가보다 생각하고 그냥 두었는데 몇 달이 지나도 답도 없고 공지도 없어서 이상하게 생각하고 있었다.

워드프레스 슬랙에 한국어 번역참여자 한 분이 #polyglot 채널에 문의를 하는 것을 보고는 그 부분에 대하여 얘기하려고 들어갔더니 한국어 팀의 한 분에게 1월에 새로운 한국어 번역팀 구성을 시도하고 있다는 얘기를 들었다는 답변을 보게 되었다.

워드프레스 슬랙 #polyglot 채널의 대화 중 일부

그래서 검색해보니 한국 워드프레스 사용자 페이스북 그룹이 있기에 찾아 들어가보니 1월에 그 일에 대하여 많은 문제가 제기되어 있는 것을 알게 되었다.

워드프레스 한국어 번역팀 슬랙에서 찾을 수 없었던 ‘이유’를 한국 워드프레스 사용자 그룹에 가서야 발견할 수 있었다.

여튼 슬랙이 한국어 번역팀 공식 채널로 알려져 있는데 그렇게나 활동이 없는 것을 이상하게 생각하지 못한 나의 둔함 때문에 벌어진 일이니 누굴탓하랴?

혹시라도 번역에 참여하고 싶은 사람이 있다면 슬랙보다는 페이스북 그룹에 가입하는 것이 좋겠다는 생각이 든다.

워드프레스 5.6 한국어 번역 제공

공식 사이트에서 제공하고 있는 번역에서 아쉬운 점은 일관성이다.

여러 사람이 번역을 진행하는 입장에서는 완벽할 수는 없으니 개인적으로 일관성 있는 표현으로 정리한 번역을 제공하고자 한다.

곧 있으면 5.7이 출시하는데, 이 번역을 기반으로 일관성 있는 번역을 계속 제공하려고 한다.

워드프레스 5.6 한국어 번역

물론 개인이 번역하였으니 모자란 점이 분명히 있을 것이고 이상한 점도 있을 것이다.

문제가 있으면 로그인하여 알려주기 바란다.1

직접 서버에 접속할 수 있다면 압축 파일을 풀어 워드프레스 설치한 폴더(디렉토리)에 있는 wp-content의 languages에 복사하기 바란다.

그리고 이 번역은 익숙한 표현들의 상당 부분이 다르다는 사실을 고지한다.2

  1. 익명으로 제보하는 것도 좋지만, 이 사이트는 로그인한 사용자에게만 댓글을 달 수 있도록 하였다. 어떻게든 달아 놓은 것은 보겠지만, 개인적으로 확인만 하고 승인은 하지 않을 생각이다.[]
  2. 업데이트 > 업대이트, 데이터베이스 > 대이터배이스, 페이지 > 패이지, 이메일 > 이매일…[]

포에디트로 워드프레스 번역할 때 SFTP로 ‘서버에 접속’을 이용하려면 이 IP를 추가하세요

워드프레스 커뮤니티에서 번역을 시작했을 때, 번역 파일을 직접 내려받아 편집하려고 PoEdit(포에디트)를 사용했다. 플러그인 번역에 조금 더 열정을 가지게 되면서 프로판을 사서 운영하고 있는 워드프레스에 설치된 플러그인을 하나씩 번역하려고 했다.

처음에는 PC에 서버를 돌려서 해 보려고 했는데, ‘서버에 연결’ 방식으로는 내부 서버에 접속이 안 되었다. 이유는 기억이 안 나지만 몇 번 여러가지1로 시도했지만 되지 않아서, 이 블로그가 설치되어 있는 서버에 접속을 시도했다.

하지만 무슨 일인지 접속이 되지 않았다. 로그를 보면 접근 시도는 하는데, 인증이 되지 않았다. 개발자에게 문의를 해 보았더니 ‘서버에 연결’을 시도하는 PC에서 바로 접속하는 것이 아니라 포에디트 서버에서 인증 정보를 전달 받아 접속하는 것이기에, 포에디트 서버의 주소에서 접속할 수 있도록 허용해주면 된다고 했다.2

이 블로그는 우분투 18.04에 LEMP 스택으로 운영하는 서버에 있는데, 서버를 ssh로만 접근할 수 있도록 설정해 두었다. 외부에서 이 서버에 접근할 수 있는 방식을 ssh만 열어 놓았다는 말이다. 서버에 접근할 수 있는 방식을 ssh 포트로만 제한하고, 인스턴스 규칙과 방화벽(ufw) 규칙에 접근 가능한 IP를 제한해 두는 방식으로 보안을 강화해 놓았다.3

IP는 auditd를 설치하고, 포에디트의 ‘서버에 연결’을 시도하여, 접근하는 IP를 확인하는 방식으로 알아내었다. 이렇게 확인된 IP는 172.104.150.128이다. 혹시 포에디트 워드프레스 번역의 서버 접속이 안 된다면 이 IP를 방화벽 규칙에 허용해 주면 큰 문제 없이 사용할 수 있을 것으로 생각된다.

  1. hosts에서 일반 도메인 형식으로 설정도 해 보았지만 안 되었다[]
  2. 포에디트 개발자를 믿지 못하겠으면 안 하면 그만 이지만, 이 블로그의 자료는 수시로 백업이 되고 있어서 다 털어봤자 별로 중요한 내용을 건져갈 것도 없다[]
  3. 이 전에 별도의 규칙을 해 두지 않았더니 웬 듣보잡 해커놈이 들어와서 db와 cpu 자원을 마구 괴롭힌 경험을 한 뒤로 이렇게 강화하게 되었다. 이렇게 접근 ip를 제한하는 것 만으로도 장난질을 방지할 수 있다.[]

이용자 역할 자동으로 바꾸기

이용자 역할을 등록된 이메일 기준으로 변경하는 코드이다. PHP로 작성되었고, crontab에 등록해서 5분마다 실행하도록 설정하고 로그를 남기는 방식으로 작동된다.

이용자 역할

최근 워드프레스로 작업하고 있는 사이트가 특정 학생을 대상으로 서비스되고 있다. 워드프레스의 로그인 정보를 인식하고, 등록된 이용자가 특정 역할을 가지고 있어야 페이지의 내용이 표시되게 하는 방식으로 처리하고 있다.

이용자 역할 편집기로 ‘학생’ 역할을 만들고, 학생 역할에 특정 기능을 이용가능하게 해 놨다. 특정 기능을 이용할 수 있게 되어 있는 역할이라면 이용할 수 있게 해 놨다는게 더 정확하겠다. 학생이 학습 페이지의 내용을 보려면 워드프레스 계정에 등록한 뒤 ‘학생’ 역할을 부여 받아야 한다.

처음에는 이런 기능을 제공해주는 플러그인이 없나 찾아보다가 없어서 일일히 수작업으로 진행하였다. 차피 사이트의 존재를 알고 있는 학생이 제한되어 있고, 우리나라에서 이용될 수 없는 이메일 주소를 가지고 있지 않는 이용자만 걸러내면 되니까 크게 문제될 것이 없었다.

그런데 이 사이트를 이용하는 학교가 늘어나면서 이용자 역할을 조정해 주어야 할 대상이 늘어나게 되었다. 그래서 다시 플러그인을 찾아봤지만 찾을 수가 없어서 만들게 됐다.

역할 자동 전환 코드

급조한 티가 팍팍나는 조잡한 코드지만 이용하는데는 문제 없다.

<?php
$hdr = "wp"; // 일반적으로 wp_something 형식으로 되어 있는데, 아래막대 앞쪽의 wp만 입력하면 된다. 다르면 변경해주어야 한다.
$dbn = "wordpress"; // 일반적으로 wordpress로 되어 있지만 다르면 변경해주어야 한다.
$em = array("처리할 이메일 주소1","처리할 이메일 주소2"); // 처리할 이메일 목록을 따옴표에 담아 콤마로 구분해 입력하면 된다.
$link = mysqli_connect('localhost', 'ID', 'password'); // 데이터 베이스 접속 정보이다.
if (!$link) { die('연결에 실패했습니다: ' . mysqli_error());}
mysqli_select_db($link, $dbn); // 접속 정보로 자료집 선택하기

for($i = 0; $i < sizeof($em); $i++) {
$q = "SELECT * FROM ".$hdr."_users WHERE user_email LIKE '".$em[$i]."' ORDER BY ID ASC"; $qr = mysqli_query($link, $q);
if($qr!=false) {
$r = mysqli_fetch_array($qr);
$uid = $r[0];
$q = "SELECT meta_value FROM ".$hdr."_usermeta WHERE user_id = ".$uid." AND meta_key = '".$hdr."_capabilities'";
$qr = mysqli_query($link, $q);
if($qr!=false) {
$r = mysqli_fetch_array($qr);
if($r[0] == "a:1:{s:10:\"subscriber\";b:1;}") { // 역할이 ‘구독자’인지 확인해서 맞으면 실행
echo(date("Y-m-d H:i:s", time())."[ ".$em[$i]." ] 처리됨 "."\n");
$q = "UPDATE ".$hdr."_usermeta SET meta_value = 'a:1:{s:7:\"student\";b:1;}' WHERE ".$hdr."_usermeta.user_id = ".$uid." and ".$hdr."_usermeta.meta_key = '".$hdr."_capabilities';"; // 역할을 학생으로 변경
}
}
}
}

?>

오류나면 shortcode가 허용되었는지 확인하고 수정해주면 된다.

사이트에 가입하면 구독자 역할이 배정되도록 되어있기에, 이메일이 구독자로 등록되어 있다면 학생 역할로 변경하라는 것이다. 학생 역할은 이용자 역할 편집기로 추가해 준 역할이고, 기본 등록 역할이다.

자동 실행 설정

자동 실행은 crontab에 등록하면 되는데, 이메일 목록에 있는 학생이 가입하면 5분 이내에 처리될 수 있도록 5분 간격으로 처리되도록 해 놨다.

명령행에서 crontab -e 를 입력하여 편집기에 들어가서 다음의 내용을 추가해주면 된다.

*/5 * * * * /usr/bin/php /경로/파일명.php >> /var/log/파일명.log

분 단위 자리에 ‘ /5 ’를 붙여서 추가해주면 5분 단위로 처리되고, 기록파일에는 다음과 같이 남는다.

2020-03-17 08:15:01[ 이메일 주소1 ] 처리됨
2020-03-17 08:20:01[ 이메일 주소2 ] 처리됨
:

너무 짧다 싶으면 원하는 간격으로 조정하여 이용하면 된다. 다른 간격으로 변경하고 싶으면 크론탭 구루 사이트를 이용하여 값을 얻어 앞의 별표 부분에 넣어주면 된다.

이제 워드프레스로 가야하는 것인가!

텍스트큐브가 이제 블로거로 통합된다는 소식을 접하고 얼른 이전에 만들어 두었던 워드프레스 계정을 확인해 봤습니다.

사실 블로거는 괜히 싫더라고요. 텍스트큐브팀이 어떻게 바꾸어 놓을지는 몰라도 말이죠 지금까지는 그다지 마음에 드는 블로그 서비스는 아닙니다.

그래서 워드프레스 설치판을 다운 받아서 설치하고 TTXML 임포터를 받아서 설치했습니다.

그런데 이거 만만치 않더군요. 읽어오는데 문제가 발생했습니다. 첨부파일을 넣지 않은 백업 파일인데도 자꾸 일정 부분에서 멈추어버립니다. 그래서 멈추는 다음 부분인 게시물 자료 부분을 다른 파일을 열어 저장해 두고는 계속 했습니다. 역시 단번에 되지는 않습니다.

다른 분들도 이런 과정을 겪으시면서 힘들게 옮겨가셨을거라고 생각하니 참 대단해 보였습니다.
그렇게 몇 십번을 옮기고 다시 시작하면서 결국에는 성공했습니다. 그러나 일부 파일이 내용에 넣어둔 사진들이 제대로 옮겨가지 않더군요.

그래서 그냥 기다리기로 했습니다. 불로거로 자료가 옮겨지고 나면 워드프레스 서비스형에서 바로 읽어야겠습니다.

공지에서 완벽하게 옮겨지지는 않는다고하지만 그래도 개인적으로 하는 것보다는 더 높은 성공율을 보일거라고 내심 기대하면서 말이죠.

일단 옮겨둔 글들은 보관용으로 계정에 그대로 두었습니다.