거의 모든 다국어 사이트에는 번역되지 않은 콘텐츠가 일부 있습니다. 번역되지 않은 콘텐츠는 다른 언어로 표시되지 않기 때문에 WPML을 사용할 때 항상 문제가 되었습니다. 이에 대해 해결할 수 있는 방법이 있는지 살펴보겠습니다.
WPML은 언어 간의 엄격한 분리를 유지합니다. 모든 글 또는 페이지는 데이터베이스에서 고유하며 해당 언어의 콘텐츠만 포함합니다.
언어를 전환할 때 WPML은 해당 언어의 콘텐츠만 표시합니다.
즉, 사이트의 네비게이션에는 현재 언어의 페이지, 카테고리 및 글만 표시됩니다. 다른 언어의 콘텐츠로 전환하면 언어가 전환되어 이제 해당 언어의 네비게이션이 표시됩니다. 다른 링크를 클릭하면 다른 언어의 콘텐츠로 이동합니다.
콘텐츠와 네비게이션에 다른 언어를 사용하는 것의 문제점
콘텐츠는 한 언어로 표시하되 네비게이션은 다른 언어로 유지할 수 있게 해달라는 요청이 있었습니다. 이는 매우 문제가 많으며 해결 방법을 찾을 수 없습니다.
수많은 곳에 훅을 연결해야 하고 WordPress가 실제와 다른 페이지에 있다고 인식하게 만들어야 하기 때문입니다. 이로 인해 엄청난 양의 코드가 추가되고 데이터베이스 쿼리 수가 크게 증가합니다.
대안 – 번역되지 않은 콘텐츠 자동 복제
콘텐츠와 네비게이션을 각각 다른 언어로 표시할 수는 없지만, 콘텐츠를 모든 언어로 복제할 수는 있습니다. 저희가 생각하는 방법은 다음과 같습니다.
- 번역 대시보드 화면에 콘텐츠 복제를 위한 새 버튼이 생깁니다. 단순히 ‘번역으로 보내기’ 대신 ‘콘텐츠 복제’도 추가됩니다. 즉, 번역 대시보드의 모든 필터링 기능을 사용하여 복제할 항목을 선택할 수 있습니다.
- 콘텐츠를 복제하면 WPML이 복제된 글과 페이지의 링크를 자동으로 조정합니다. 즉, 인라인 링크가 현재 언어를 유지합니다.
- WPML은 복제된 콘텐츠와 번역된 콘텐츠를 다르게 표시합니다. 이렇게 하면 나중에 복제한 콘텐츠를 번역하기로 결정한 경우에도 해당 콘텐츠를 찾아 번역으로 보낼 수 있습니다.
또한 새로운 콘텐츠나 업데이트된 콘텐츠를 자동 복제하도록 WPML에 지시하는 방법도 추가할 예정입니다. 이렇게 하면 무언가를 만들거나 변경할 때마다 번역 대시보드를 거쳐야 하는 번거로움을 덜 수 있습니다.
장점
성능 저하가 없습니다 – 이 모든 작업은 방문자가 사이트에 올 때마다가 아니라 WordPress 관리 화면에서 한 번만 수행됩니다. 제게는 이것이 가장 큰 장점입니다.확실히 작동합니다 – 이 변경 사항은 추가적인 필터링이나 훅 연결이 필요하지 않으며 향후 WordPress의 변경 사항에 민감하지 않습니다. 또한 테마와도 잘 호환됩니다.
선택적입니다 – 어떤 콘텐츠를 언제 복제할지 결정할 수 있습니다.
단점
완전 자동화된 솔루션이 아닙니다 – WPML에 한 번만 지시하면 알아서 처리되는 방식은 아니라는 점입니다.복제된 콘텐츠가 데이터베이스에 남아 크기를 증가시킵니다(하지만 생각만큼 심각하지는 않습니다). WordPress 리비전 시스템은 이보다 훨씬 더 많은 메모리를 차지하지만 큰 문제가 되지 않습니다.
어떻게 생각하시나요?
이것은 꽤 큰 작업이라 저희도 망설여왔습니다. 이제 개발자가 더 많아졌으니 더 큰 과제에 도전할 수 있습니다.
이 작업을 시작하기 전에 여러분의 생각을 들어보고 저희가 놓친 것이 없는지 확인하고 싶습니다. 의견을 남겨주시면 살펴보겠습니다!


