..

How To Apply The Translation Of core Module

문제

오픈소스 Odoo를 사용해 S** 회사 맞춤 ERP 시스템을 개발하며, 기존 번역을 수정하고 싶은 경우가 있었다.

기존 번역을 수정하기 위해서는, 번역이 작성된 코어(Core) 모듈에서 수정하는 경우가 제일 간단하겠지만, 코어를 수정하면 Odoo 버전을 다시 가져올 때 문제가 생기기 때문에 코어 모듈은 수정하지 않고, 커스텀 모듈에서 수정하기로 규칙을 정했다.

기존 번역을 덮어쓰기 위해서는 Odoo 파라미터에 --i18n-overwrite -u module_name을 사용해야 했다. 문제는 -u 옵션은 Odoo 실행 시, 업데이트할 모듈을 지정하는 옵션으로 Odoo를 재실행할 때마다 모듈이 자동으로 업데이트된다.

모듈을 자동으로 업데이트하도록 하면 실행 시간이 오래 걸리고, 모듈이 꼬이는 등 여러 문제가 발생하기 때문에 개발 중인 모듈에서 사용하기에는 무리가 있었다.

해결

기존 번역을 수정한 번역 파일만을 가지고 있는 translation_abc 모듈을 만들기로 했다. 번역 파일만 있기 때문에 옵션을 사용하기에도 부담스럽지 않다고 생각되었다.

|-- translation_abc
|   ├── i18n
|   │   └── ko.po
|   ├── manifest.py