한 달 전 저희는 WPML 3.4 및 WPML Multilingual & Multicurrency for WooCommerce 3.8의 첫 번째 베타 버전을 발표했습니다. 오늘, 4주간의 집중적인 테스트(그리고 여러 수정 및 개선)를 거쳐 이 제품들을 정식 버전으로 릴리스하게 되어 기쁩니다.
베타 발표 게시물에서 언급했듯이, WPML 및 WPML Multilingual & Multicurrency for WooCommerce의 이번 버전은 크게 개선된 사용성과 번역 워크플로우에 중점을 둡니다. 이번 업데이트를 통해 다국어 WooCommerce 사이트 작업이 쉬워지며, 특히 많은 WooCommerce 확장 프로그램을 사용할 때 더욱 그렇습니다. 간소화된 번역 인터페이스는 확장 프로그램이 추가하는 다양한 필드를 편리한 번역 에디터에 나란히 배치합니다.
다운로드
이번 WPML 업데이트는 WordPress 관리 화면에서 직접 사용할 수 있습니다. 사이트가 등록된 경우, 다음 12시간(WordPress가 업데이트 상태를 캐시하는 시간) 내에 플러그인 관리 화면에서 업데이트 알림을 받게 됩니다. 계정에서 수동으로 WPML을 다운로드할 수도 있습니다.
다음 예정 사항(곧 출시)
50% 로드 감소
지난 몇 주 동안 저희는 특히 관리 화면에서 WPML이 추가하는 로드를 분석하느라 바빴습니다. 테스트 사이트로 도움을 주신 모든 고객사에게 감사드립니다. 대부분의 사이트는 저희에게 익숙한 문제를 보여주었지만, 거의 모든 사이트에서 저희에게 새로운 문제도 나타났습니다. 저희가 파악한 문제는 콘텐츠, 서버 구성 및 호스팅 환경과 관련이 있습니다.
저희는 WPML을 실행하는 대부분의 사이트(저희 사이트 포함)의 실행 시간을 줄여줄 몇 가지 개선 사항을 이미 발견했습니다. WPML의 가장 큰 영향은 WooCommerce 상품 페이지와 같은 목록 관리 화면에서 나타났습니다. 이 부분에서 실행 시간과 SQL 쿼리를 약 1/2로 줄일 수 있습니다. 다른 관리 화면에서는 WPML이 로드에 미치는 영향이 훨씬 작기 때문에 상대적인 개선폭은 더 작습니다(하지만 WPML이 차지하는 비중에 비하면 여전히 상당합니다).
저희는 두 단계에 걸쳐 성능 개선 사항을 배포할 예정입니다.
WPML 3.4.1 및 WPML Multilingual & Multicurrency for WooCommerce 3.8.1(약 2~3주 후)에는 이러한 목록 페이지의 실행 시간이 약 25%, 쿼리가 50% 감소하는 내용이 포함됩니다.
WPML 3.5는 메모리에 문자열을 로드하는 완전히 새로운 방식을 도입할 예정입니다. 예비 테스트에 따르면 이 새로운 알고리즘은 매우 유망합니다. 이 알고리즘을 사용하면 컴파일된 .mo 파일을 사용하는 사이트보다 WPML이 설치된 사이트를 더 빠르게 로드할 수 있습니다. 핵심 아이디어는 각 페이지(프런트엔드 및 관리 화면)에 필요한 문자열만 선택적으로 미리 로드하는 것입니다. 이렇게 하면 (모두 로드하기 위한) 거대한 쿼리와 (많은 개별 문자열을 로드하기 위한) 수많은 작은 쿼리를 모두 피할 수 있습니다. 테스트 결과, 이는 내장된 “load_theme_textdomain()” 및 “load_plugin_textdomain()” 호출보다 훨씬 빠르게 작동하는 것으로 나타났습니다. 저희는 CPU 시간, 쿼리 수 및 메모리에서 매우 유의미한 개선을 목표로 하고 있습니다.
WPML 3.5의 일정은 아직 유동적입니다. 첫 번째 베타 버전을 얼마나 빨리 준비할 수 있는지 확인한 후 발표하겠습니다.
개편된 언어 전환기
WPML 3.5의 언어 전환기는 완전히 새롭게 디자인되었습니다. 100% 하위 호환성을 제공하므로 모든 기존 사이트는 변경 없이 작동합니다. 하지만 언어 전환기에 대한 새로운 가능성을 제공하여 여러분의 작업을 더 쉽게 만들어 줄 것으로 기대합니다.
몇 가지를 꼽자면 다음과 같습니다.
- 하나로 제한되지 않고 서로 다른 메뉴와 위젯에 서로 다른 언어 전환기를 표시하는 기능
- Bootstrap 및 현재 WordPress 기본 테마를 포함한 다양한 CSS 프레임워크와의 호환성 모드
- 언어 전환기별 색상 및 디자인 사용자 정의
사용 가능해지는 대로 이에 대해 글을 쓰고 베타 버전에 포함하겠습니다.
문자열 내 링크 번역
저희는 다양한 목적으로 문자열을 사용합니다. 많은 테마가 번역 가능한 문자열에 복잡한 텍스트를 포함하며 종종 링크도 포함합니다. WPML 3.5에서는 문자열의 모든 링크가 올바른 언어의 URL로 자동 조정됩니다. 번역을 위해 문자열을 보낼 때 해당 문자열에 URL이 포함되어 있으면, WPML이 번역된 문자열의 URL을 조정합니다.
예를 들어, Gravity Forms를 사용 중이고 페이지로 연결되는 링크가 있는 댓글이 있다고 가정해 보겠습니다(꽤 흔한 상황입니다). 이 댓글을 번역하고 번역된 언어의 올바른 페이지로 댓글이 연결되기를 원할 것입니다.
GF 양식을 번역할 때 WPML은 텍스트를 문자열로 변환하고 ‘패키지’로 번역하도록 보냅니다. 번역가는 텍스트만 번역하면 됩니다. 번역이 완료되면 WPML은 완료된 모든 문자열을 스캔하여 링크가 있는지 확인합니다. 링크가 있는 경우 WPML은 동일한 언어로 번역된 페이지로 연결되는지 확인합니다. 그렇다면 링크를 업데이트하여 번역본을 가리키도록 합니다.
쉬워 보이지만 꽤 복잡한 과정입니다. (페이지보다 문자열을 먼저 번역했든 나중에 번역했든 상관없이) 어떤 순서로든 번역을 처리하고 정확한 기록을 유지해야 합니다.
피드백이 있으신가요?
WPML 3.4 및 WPML Multilingual & Multicurrency for WooCommerce 3.8을 어떻게 사용하고 계신지 알려주세요. 이번 릴리스의 변경 사항과 다음 업데이트 계획에 대한 여러분의 피드백을 기다립니다.

