현재 워드프레스 Yoast SEO의 한국어 버전에서 번역 오류 때문에 Cannot read properties of undefined (reading 'prevOffset') 에러가 발생하고 있습니다.
Yoast SEO의 한국어 언어 파일을 Loco Translate로 열어서 문제가 된 번역을 수정해보았습니다. Loco Translate 플러그인으로 번역을 수정할 경우 po 파일이 php 파일로 변환되면서 json 파일들도 함께 생성되는데, json 파일에 문제가 있는지 번역이 제대로 반영되지 않는 문제가 있습니다.
이 글에서는 Yoast SEO 한국어 번역 파일에서 어떤 부분이 문제인지 살펴보겠습니다. Loco Translate로 Yoast SEO 한국어 언어 파일을 열어서 살펴볼 수 있습니다.
워드프레스 Yoast SEO 한국어 번역 오류 수정하기
워드프레스 테마나 플러그인을 한글화하고 싶은 경우 Loco Translate(로코 번역) 플러그인을 사용할 수 있습니다.
Yoast SEO의 한국어 번역에 오류가 있어서 일부 메뉴를 클릭하면 에러가 발생합니다.
Loco Translate에서 Yoast SEO 플러그인의 한국어 언어 파일을 로드하면 에러가 있는 번역에 경고 표시가 되면서 곧바로 해당 항목이 표시됩니다.
첫 번째 번역 오류 항목
위의 그림은 첫 번째 에러 부분을 보여줍니다.
원문 | 번역문 |
---|---|
This will import the post metadata like SEO titles and descriptions into your %1$s metadata. It will only do this when there is no existing %1$s metadata yet. The original data will remain in place. | 이것은 SEO 제목들과 설명들과 같은 게시물의 메타데이터를 당신의 Yoast SEO 메타데이터로 가져옵니다. 아직 Yoast SEO 메타데이터가 없을 때만 동작하고, 기존의 데이터는 남아있게 됩니다. |
번역은 아마 사람이 하지 않았고 기계번역(자동번역)을 사용한 것 같습니다. 위에서 가장 큰 문제가 되는 부분은 원문에 있는 %1$s 변수(자리 표시자)가 번역에서 누락된 것입니다.
이것과는 별개로 번역 자체에 대하여 논하자면 미흡한 점이 많이 눈에 띕니다.
설명 | |
---|---|
This 단어 번역 | "이것은"이라고 직역되어 있습니다. 맥락상 생략하는 것이 더 자연스러울 수 있습니다. "이것" 표현은 가장 안 좋은 선택의 예입니다. |
단수/복수 문제 | "SEO titles and descriptions"를 "SEO 제목들과 설명들"이라고 번역되었지만, 이 경우 단수로 번역하는 것이 바람직합니다. |
You/Your 대명사 번역 | "your %1$s metadata"를 "당신의 Yoast SEO 메타데이터"로 번역되어 있습니다. You는 생략하는 것이 자연스럽습니다. 우리나라 언어 습관에서 "You"를 생략하는 경우가 많습니다. 초보자의 번역에서 "당신"이라는 표현만 제거해도 꽤 자연스러운 경우가 많습니다. |
existing 단어 번역 | IT 번역에서 existing 단어는 보통 "기존"으로 번역하면 무난합니다. |
AI 유형 | 번역 |
---|---|
Claude AI (유료 버전) | 이 기능은 포스트의 메타데이터(예: SEO 제목 및 설명)를 %1$s 메타데이터로 가져옵니다. 단, 기존 %1$s 메타데이터가 없는 경우에만 가져오며, 원본 데이터는 그대로 유지됩니다. |
ChatGPT 4 | 이 기능은 SEO 제목과 설명과 같은 게시물 메타데이터를 %1$s 메타데이터로 가져옵니다. 기존의 %1$s 메타데이터가 없을 때만 이 작업을 수행합니다. 원본 데이터는 그대로 유지됩니다. |
AI 번역의 결과물이 훨씬 낫네요. 그대로 사용해도 Yoast SEO의 번역보다 훨씬 자연스러운 것 같습니다. AI의 번역을 살펴보면 제가 지적한 부분을 대체로 잘 적용하고 있습니다. This 단어는 "이 기능"으로 번역되어 있습니다만, Yoast SEO 내에서는 아마 "이 설정" 혹은 "이 옵션"이 조금 더 가까울 수 있을 것입니다. 이 부분은 해당 문자열이 어떤 상황에서 사용되는지를 확인해야 보다 정확한 표현을 찾을 수 있으리라 생각됩니다.
You 단어 번역에 대해서는 다음 글을 참고해보세요.
두 번째 번역 오류 항목
두 번째 오류에서도 마찬가지로 변수(자리 표시자)가 누락되었습니다. %s가 OK로 번역되어 있습니다.
세 번째 번역 오류 항목
세 번째 항목도 마찬가지로 변수가 누락되었습니다.
첫 번째 변수인 %1$s가 %s로 바뀌어져 있고 두 번째 변수인 %2$s가 "도움말 센터"로 번역되었습니다.
수정된 번역 파일 다운로드
오류를 수정하고 저장하면 이제 오류가 발생하지 않지만, 번역 자체가 적용되지 않습니다.
결국 Yoast SEO의 한국어 언어 파일을 삭제한 것과 같은 효과가 발생합니다. 다만, 언어 파일을 삭제하면 업데이트에서 "번역 업데이트"가 있는 것으로 표시되지만, 이 방법을 이용하면 "번역 업데이트" 알림이 표시되지 않습니다.
Loco Translate에서 번역을 수정하면 번역이 반영되어야 합니다. Yoast SEO에서는 왜 반영되지 않는지 시간이 날 때 연구해보겠습니다. 참고로 Poedit라는 윈도우용 프로그램을 사용하여 번역을 수정하여도 동일한 현상이 발생하네요.
번역 파일은 위의 방법으로 수정하면 되지만, 네이버 카페에서도 다운로드할 수 있습니다.
PO 파일에서 PHP 파일 생성하기
워드프레스 개발자 문서 wp i18n make-php를 참고하여 PO 파일에서 PHP 파일을 생성할 수 있습니다.
다음 명령을 실행하면 현재 디렉터리 내의 모든 PO 파일에 대한 PHP 파일이 생성됩니다.
wp i18n make-php .
Vultr나 클라우드웨이즈 등에서는 SSH 접속이 가능합니다. 다음 명령을 실행하여 WP-CLI가 설치되어 있는지 확인할 수 있습니다.
wp --info
클라우드웨이즈에서 wp i18n make-php 명령을 실행하니 PO 파일에 대한 PHP 파일이 생성되었습니다. 하지만 이 방법으로 Yoast SEO의 한국어 언어 파일(PO 파일)에서 PHP 파일을 생성해 보았지만 한국어 번역이 제대로 반영되지 않았습니다.
댓글 남기기