Home 기존(Core) 모듈 번역 덮어씌우기
Post
Cancel

기존(Core) 모듈 번역 덮어씌우기

문제 상황

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


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

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

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

1
2
3
4
#. 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으로 업데이트할 모듈 옵션과 함께 사용해야 한다.

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

여러 모듈일 경우, 아래와 같이 사용한다.

1
$  python odoo-bin --config=./config/.odoorc --i18n-overwrite -u module_name1,module_name2,module_name3

마치며, 🙇🏻

참고한 사이트

Odoo documentation 14.0 Command-line interface (CLI)

Odoo forum How to override a module translation?

This post is licensed under CC BY 4.0 by the author.