..

How To Override A Module Translation

문제

커스텀 모듈을 생성해 해당 모듈의 번역 파일에서 새로운 번역 추가기존 번역 수정이 같이 했다.


커스텀 모듈(stock_ssk)의 새로운 번역 추가 : 매출 문서

#. module: stock_ssk
#: model_terms:ir.ui.view,arch_db:stock_ssk.view_picking_form
msgid "Sale Source Document"
msgstr "매출 문서"

기존 모듈(stock)의 번역 수정 : 유효성 검사 → 입고/출고 처리

#. module: stock
#: model_terms:ir.ui.view,arch_db:stock.view_picking_form
msgid "Validate"
msgstr "입고/출고 처리"


문제는 커스텀 모듈 설치 시, 새롭게 추가된 번역인 “매출 문서“는 정상적으로 적용되었지만, 기존 번역인 “유효성 검사“를 “입고/출고 처리“로 수정한 건 적용되지 않았다.


기존 번역을 수정한 사항을 적용하기 위해서는 설정 → 번역하기 → 번역 가져오기 에서 번역 파일을 Import 해주는 방법이 있지만, 새롭게 데이터베이스를 생성할 때마다 기존 번역 번역 파일을 Import 해주는 방법은 번거롭기 때문에 커스텀 모듈 설치 시에 기존 번역 수정 사항을 적용하는 방법을 알고싶었다.

스크린샷 2021-07-01 오후 7 30 53

해결

생각보다 아주 간단하지만, 왠지 바로 적용이 안되서 헤매었다.

Odoo 실행 시, parameter에 --i18n-overwrite 옵션을 사용하면 된다.

⚠️ 반드시 -u module_name으로 업데이트할 모듈 옵션과 함께 사용해야 한다.

$  python odoo-bin --config=./config/.odoorc --i18n-overwrite -u module_name

참고

https://www.odoo.com/documentation/14.0/developer/reference/cmdline.html?highlight=command#internationalisation

https://www.odoo.com/es_ES/forum/ayuda-1/how-to-override-a-module-translation-73287