CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
대상모듈 document
1. 언어설정에서 한국어인 상태에서 문서 작성
2. 언어설정을 영어로 변경 후 1에서 작성한 문서를 영문 내용으로 수정
결과
언어설정 한국어에서는 한국어로 제대로 표시
언어설정 영어에서는 영어로 작성한 내용으로 제대로 표시됨
문제
글 수정시 최초 작성한 언어 내용으로만 표시됨
예를들어 상기 과정을 거친 후 언어설정에서 영어로 선택한 후 글 수정을 하면 영어로 입력된 내용이 아닌,
한글로 작성된 내용이 출력됨
댓글 4
다국어 문서 기능은 아무도 신경쓰지 않은 지 아주 오래 됐습니다.
1) 동일한 주소, 동일한 문서의 수정 창이 경우에 따라 다른 내용으로 나오는 것이 직관적이지도 않고, 2) 같은 이유로 SEO에도 좋지 않을 뿐더러, 3) content 필드에 내용이 정상적으로 들어가지 않기 때문에 서드파티 자료 연동이나 검색에도 문제가 많고, 4) HTML이 들어가는 내용의 특성상 제대로 처리하지 않으면 보안 문제로 이어질 가능성도 높기 때문에... 이 기능을 억지로 고쳐가면서까지 지원할 생각은 없습니다. 해당 기능 사용은 강력하게 비추합니다. 만약 다국어 문서와 관련된 이슈를 등록하신다면 (이미 이슈가 있는 것 같긴 합니다만) 해당 기능을 아예 삭제하는 쪽으로 결론이 날지도 모릅니다.
다른 기능은 잘 작동하는데 수정시에만 문제가 되어서 질문해보았습니다.
저도 이 기능을 쓸 일이 없을 줄 알았는데 업무하다보니 필요하게 되었네요..
뭐 어차피 빈번하게 수정하는 일은 없어서 수정시에 기존 내용을 복사해서 들어가면 문제는 없습니다만
한가지 궁금한 것이 이런 다국어가 저장될 때 확장변수로 저장이 되는데,
정작 이 부분을 직접 끌어오려고 하면 context에 할당이 되지 않는 것 같더라구요.
강제로 getExtraValueEid('title_en'); 뭐 이런 식으로 가져오려고 했었으나.. 아예 상위에서 해당 언어가 아니면 할당해주지 않는 듯한 느낌을 받았습니다.
뭐 그렇다는 내용입니다. ㅎㅎ
네, 처음부터 엉터리로 설계된 기능입니다. 차라리 하나의 content에 모든 언어를 집어넣고 특정한 표시(CSS class라든지...)를 넣어 구분한 후, 언어에 따라 해당 부분만 노출되도록 애드온으로 처리하는 것이 더 깔끔할 것 같네요.
답변 감사합니다.