레이블이 한글어인 게시물을 표시합니다. 모든 게시물 표시
레이블이 한글어인 게시물을 표시합니다. 모든 게시물 표시

2020년 4월 28일 화요일

사이크코어 한글버전 적용시키기

사실 예전부터 계획해 놓았던 작업중에 하나가 바로 사이트코어 한글화를 하는 작업이었다. 몇 번의 시도가 이미 있었지만 의도한대로 번역이 잘 이뤄지지 않았고, 몇 번의 재시도 끝에 드디어 한글 언어팩을 최근에 완료할 수 있었다. 사이트코어에서 기본적으로 제공하는 언어팩을 보면 분석 또는 번역을 해야하는 텍스트가 너무 방대하다. 고로, 이는 하나하나씩 번역을 하는것은 시간을 많이 소요할뿐더러 많은 인내가 필요하다.

필자는 네이버에서 제공하는 파파고 (Papago) AI 번역기를 사용해보았다. 하지만, 무료 버전의 경우 API는 하루 제한 양인 1만자의 글을 번역을 하고, 그 이상의 번역을 구입을 하여야한다. 사실 구입하는 비용은 큰 고려대상은 아니었지만, 번역 퀄리티의 문제가 많이 보였다. 필자는 기본 번역 소스를 사이트코어 일본어로 하였고, 일본어에서 한국어를 번역하는데는 오류가 많이 나타났었다. 그래서 다른 API를 찾아본것이 Google Translate API이다. 구글 번역 API는 무료 버전을 제공하지 않지만, 첫 Google Cloud 가입자에게는 1년안에 모든 API를 사용할 수 있는 $300 크레딧을 제공하였다. 또한, 파파고와 비교해보았는데 번역의 퀄리티는 훨씬 뛰어났다.

로컬 호스트에 WAMP를 설치하고, 그나마 필자에게 만만한(?) PHP를 선택하여 Google Translate API를 로컬에서 실행시켰다. 아무리 시대가 발전하고 새로운 기술이 나와도 디테일부분에서는 많은 부족함이 보였고, 직접 리뷰를 하고 확인을 하는 절차가 필요했다. 많은 매뉴얼 수정과 번역 스크립 시도를 통하여 드디어! 사이트코어 한국어 팩 (버전1)을 완성하였다.

파일 다운로드: https://github.com/udt1106/Sitecore-Client-Translations-Korean/blob/Sitecore-9.3.0/ko-KR.xml

플랫폼 버전은 사이트코어 9.3.0이며, 아래는 한국어 팩을 설치하고 추가적으로 수정해야하는 부분을 설명하였다.

  1. 작업은 Core 데이터베이스에서 이루어지므로, 필요에 따라 Core 데이터베이스를 백업해둔다.
  2. 사이트코어 로그인 후, Core 데이터베이스로 이동을 한다.
  3. Core 데이타베이스에서 Control Panel로 이동한다.
  4. Control Panel에서 "Add a new language"로 이동 후, 한국어 코드를 리스트에서 선택한다.



  5. 입력을 완료하여, 한국어를 등록하고 "Import language"로 이동하여 다운반은 한글 XML파일을 로드한다. 필자는 사이트코어 루트의 "/App_Data/" 폴더에 파일을 저장하였다.



    다음 버턴을 눌러, 이전에 추가해놓은 한국어 버전을 선택하고,



    Core 데이터베이스를 선택 후, "Import"를 실행한다.


  6. "Import"를 진행하고 약 몇 분 또는 10분의 시간이 지나면 완료된 메세지를 볼수가 있다.



  7. 완료 후, Control Panel로 돌아가 "My Settings"의 "Region and language options"로 이동 후, 한국어로 변경을 한다.

  8. 한국어 적용 후, Control Panel 페이지를 Refresh하면 한국어로 변경 된것을 볼수가 있다.


하지만, 추가적으로 설정을 해야하는 부분이 있다. 하나는 Solr 서치엔지, 그리고 다른 하나는 Powershell이다. 두 기능은 사이트코어의 플랫폼 설치에 포함되어 있지 않는 기능 및 모듈이고 이는 추가적인 설정을 통하여 Solr에서 한글을 서치할수 있도록, 그리고 Powershell을 기복적으로 Language Fallback이 설정되었는 않는 관계로 Korean 버전을 등록하여한다. Powershell의 모듈 팩키지에는 영어, 덴마크어, 그리고 일본어 버전만 추가되어져 있다.

먼저, Solr 설정부터 알아보도록 하겠다. 간단하다. Solr 서치엔진은 한국어를 지원하지만 사이트코어 데이타베이스의 Index Schema에는 다이나믹 키가 설정 되어있지가 않다. 고로, Solr 파일 루트로 이동후 "\server\solr\" 폴더 안의 인덱스 폴더들의 "managed-schema" 파일을 오픈하여 아래의 다이나믹 필드 노드를 추가한다. 필자는 두개의 xDB 폴더는 제외하였다.


<dynamicField name="*_t_ko" type="text_ko" indexed="true" stored="true"/>


모든 인덱스 폴더 업데이후, Solr 서버를 재시작하고 사이트코어 Application Pool을 Recycle을 한다. Control Panel로 이동하여 데이터베이스 인텍스 재생성을 실행하면 오류없이 인덱싱이 완료될 뿐 더러, Content Editor에서 한글 서치가 가능하다.




두번째는 Powershell이다. 방금 전 얘기했듯이 한국어 버전이 모듈에 포함되어있지 않는 관계로 Powershell 메뉴와 관련된 아이템은 글을 보이지가 않는다. 고로, 필자는 한국버전을 추가하고 한국어의 이름을 추가하여 Powershell의 메뉴 아이템의 한국화 하도록 하였다. Powershell의 많은 메뉴 아이템과 기능이 있는 관계로 하나하나씩 찾아서 업데이트하는데 번거로움이 있을수있다. 고로, Unicorn, TDS 또는 아이톔 Serialize를 통하여 변경하는 방법도 있다.



이번 버전은 9.3.0에 초점을 두었을뿐더러 베타버전이다. 차후 업그레이드 버전이 나올때마다 추가적인 기능 및 텍스트에 대해서는 꾸준히 작업을 하여야한다. 혹, 필자와 같이 작업 또는 아이디어를 공유할 분이 있다면 언제든지 환영하며, 오른쪽은 메일보내기 폼을 통하여 필자에게 메세지를 보내주셨으면 한다.