WPML

오늘 프런트엔드 및 WordPress 관리 화면에서 문자열을 번역할 때 데이터베이스 호출을 완전히 피하는 완전히 새로운 문자열 번역의 첫 번째 공개 베타를 출시했습니다.

WPML의 문자열 번역 작동 방식은 수년에 걸쳐 변경되었습니다. 당사의 목표는 항상 사이트의 모든 텍스트를 번역할 수 있게 하면서 서버 부하를 최소화하는 것이었습니다.

최근 몇 년 동안 플러그인과 테마가 커지면서 번역 가능한 문자열을 훨씬 더 많이 사용하게 되었습니다. 페이지 빌더, WooCommerce 및 기타 여러 대형 플러그인을 여는 일반적인 관리 화면 페이지는 데이터베이스에서 30,000개 이상의 문자열을 로드할 수 있습니다. 번역 가능한 문자열 수가 이렇게 증가함에 따라 문자열 번역을 사용하는 사이트가 느려졌습니다. WPML을 사용하면 페이지의 모든 항목을 번역할 수 있으며, 이렇게 많은 문자열을 필터링할 때 CPU와 데이터베이스에 부하가 걸립니다.

오늘 문자열 번역의 작동 방식을 완전히 바꾸는 새로운 버전을 준비했습니다. 이번 새 릴리스에서는 두 가지 주요 변경 사항이 있습니다.


  • 번역하려는 문자열만 처리

  • .mo 파일을 사용하여 번역 적용

첫 번째 변경 사항은 문자열 번역 테이블에 기본적으로 모든 플러그인과 테마의 모든 텍스트가 포함되지 않음을 의미합니다. 대부분의 사이트에서 테마와 플러그인은 훌륭하고 완전한 번역이 포함된 자체 .mo 파일을 제공합니다. WPML이 이 모든 문자열을 필터링(및 번역 가능하게)할 필요가 없습니다. 플러그인의 텍스트 번역을 재정의하려는 경우 여전히 수행할 수 있습니다. 원하는 플러그인을 선택할 수 있으며 WPML은 해당 플러그인에서 제공하는 문자열을 등록합니다.

두 번째 큰 변경 사항은 WPML이 문자열 번역을 위해 데이터베이스를 호출하지 않음을 의미합니다. WPML은 번역을 위해 .mo 파일을 컴파일하고 WordPress가 이를 로드하도록 합니다. 이러한 .mo 파일의 크기는 번역하는 문자열 수에 따라 다릅니다. 대부분의 서버에서 파일을 로드하는 것이 데이터베이스에서 여러 항목을 로드하는 것보다 훨씬 빠릅니다(많은 사이트에서 DB가 성능 병목 현상의 원인입니다).

.Mo 파일 생성


WPML 문자열 번역은 .mo 파일의 생성 및 유지 관리를 자동으로 처리합니다. 이 작업은 WPML -> 문자열 번역 페이지에서 문자열을 번역할 때마다 발생합니다.

하지만 이 베타로 업그레이드한 후에는 파일을 처음 한 번 생성해야 합니다.

업그레이드 전에 사이트에 번역된 문자열이 있었다면 문자열 번역을 업데이트한 후 관리 화면 페이지에 다음 대화 상자가 표시됩니다.


.mo 파일 생성 대화 상자

베타를 테스트하는 동안 문제가 발생하면 .mo를 다시 생성할 수 있습니다.

방법은 다음과 같습니다.


  1. WPML -> 지원으로 이동합니다.

  2. 문제 해결 링크를 클릭합니다.

  3. 페이지 끝으로 스크롤하여 Show custom MO Files Pre-generation dialog box를 클릭합니다.

  4. 페이지를 새로 고칩니다(이 단계는 최종 릴리스에서 필요하지 않습니다).

  5. .mo 파일을 다시 생성할 수 있는 대화 상자가 나타납니다.

결과


이 버전은 이미 당사의 모든 운영 사이트(WPML.org, Toolset.comICanLocalize.com)에서 실행 중입니다. 원활하게 작동하며 서버 상태도 양호합니다. 문자열 번역은 당사 사이트의 성능에 큰 영향을 미치는 요소가 아니었으므로 성능 분석을 위해 다른 사이트를 사용하고 있습니다.

문자열 번역의 영향이 훨씬 더 큰 수십 개의 고객사 사이트를 받았습니다. 이 모든 사이트에서 문자열 번역으로 인한 서버 부하가 사실상 0으로 떨어졌음을 확인했습니다. 이제 이러한 사이트는 이전보다 약 절반의 시간 만에 로드됩니다(만세!).

현재 개발 상태


이 베타는 테스트할 준비가 되었습니다. 유일한 주의 사항은 아직 멀티사이트 설치에서는 작동하지 않는다는 것입니다. 단일 사이트(일반) WordPress가 설치되어 있고 문자열 번역으로 인해 성능 문제가 있다고 의심되는 경우 이 베타를 사용해 보세요. 이 베타를 몇 주 동안 실행하면서 고객 피드백을 수집할 예정입니다. 더 많은 고객사 사이트를 프로파일링하면서 멀티사이트에 대한 지원을 완료할 것입니다.

이 베타로 전환한 후에도 WPML과 관련된 심각한 성능 문제가 계속 발생한다면 사이트를 확인하고 싶습니다. 처리해야 할 다른 성능 문제 영역을 찾을 수도 있습니다. 이 버전이 운영 환경에 배포될 때쯤에는 WPML과 관련된 성능 문제를 겪는 사람이 없도록 하고 싶습니다. 당사의 목표는 9월 상반기에 운영 환경용 WPML 4.3을 출시하는 것입니다.

다운로드 및 사용해 보기

이 버전은 아직 멀티사이트 설치에서 작동하지 않는다는 점을 기억하세요!

개발 사이트와 운영 사이트에서 사용해도 좋지만 약간의 주의가 필요합니다.

자동 업데이트


이 베타를 받으려면 플러그인 -> 새로 추가 로 이동하여 상업용 탭을 클릭하세요.
상업용 탭

이 페이지에서 베타 채널을 활성화하고 플러그인을 자동으로 업데이트하세요.

자세한 내용은 WPML 베타 버전 설치에 대한 페이지를 방문하세요.

자동 업데이트를 받거나 베타 채널로 전환하려면 사이트를 등록해야 합니다.

수동 업데이트


수동으로 업데이트할 수도 있습니다.

방법은 WPML 수동 업데이트의 지침을 따르세요(WPML의 이전 버전을 참조하더라도 프로세스는 완전히 동일합니다).

피드백이 있으신가요?


이 WPML 베타를 사용해 보신 후 피드백을 남겨주시면 감사하겠습니다. 가능한 모든 정보를 당사와 공유해 주세요. 이 베타가 성능 문제를 해결하는 시점과 처리해야 할 남은 성능 문제에 대해 알고 싶습니다.

의견을 남겨주시면 답변해 드리겠습니다.

업데이트 – 2019-08-16


다음 문제를 해결하는 새로운 베타를 출시했습니다.

  1. WPML Multilingual & Multicurrency for WooCommerce와의 비호환성: 현재 릴리스 또는 이 릴리스에 포함된 WPML Multilingual & Multicurrency for WooCommerce 베타를 설치할 수 있습니다.

  2. 많은 수의 사용자 정의 필드가 있는 글을 저장할 때 성능이 저하되는 문제.

현재까지 알려진 문제


당사는 아직 일부 부분을 다듬는 중입니다. 현재까지 알려진 문제 목록은 다음과 같습니다.

  1. 멀티사이트는 아직 지원되지 않습니다.

  2. 문자열 번역에서 문자열을 삭제해도 생성된 .mo 파일이 업데이트되지 않습니다.

  3. 도메인의 모든 문자열을 삭제해도 생성된 .mo 파일은 삭제되지 않습니다.

  4. 도메인의 모든 문자열을 삭제한 후 .mo 파일을 다시 생성(파일을 다시 생성하는 방법은 위의 “.mo 파일 생성” 참조)해도 해당 .mo 파일은 삭제되지 않습니다.

  5. 번역된 관리자 텍스트가 icl_translate 함수에서 원본으로 반환됩니다(WPML Multilingual & Multicurrency for WooCommerce에 영향: “새 주문 이메일의 사용자 정의 제목이 번역되지 않음”).

이 글이 유용했나요? 이 글을 공유하세요: