Weblate 사용자 정의¶
Django와 Python을 사용하여 확장하고 사용자 정의합니다. 변경 사항을 업스트림에 기여하여 모두가 혜택을 받을 수 있도록 하세요. 이렇게 하면 유지 관리 비용이 줄어듭니다. Weblate의 코드는 내부 인터페이스가 변경되거나 코드가 리팩터링될 때 관리됩니다.
힌트
모양새 사용자 정의 에서 Weblate 외관을 사용자 정의할 수도 있습니다.
경고
내부 인터페이스와 템플릿 모두 안정적인 API로 간주되지 않습니다. 모든 업그레이드 시 사용자 정의를 검토하세요. 인터페이스나 그 의미가 사전 통지 없이 변경될 수 있습니다.
더 보기
Python 모듈 생성¶
Python에 익숙하지 않은 경우, 기본 사항을 설명하고 추가 튜토리얼을 안내하는 Python For Beginners를 참고하세요.
사용자 정의 Python 코드(모듈이라 함)가 포함된 파일을 작성하려면, 시스템 경로(보통 /usr/lib/python3.12/site-packages/ 와 같은 경로) 또는 인터프리터 검색 경로에도 추가되는 Weblate 디렉터리에 저장할 곳이 필요합니다.
힌트
Docker 사용 시, Python 모듈을 /app/data/python/ 에 배치할 수 있습니다(Docker 컨테이너 볼륨 참조). 그러면 예를 들어 설정 재정의 파일 에서 Weblate에 의해 로드될 수 있습니다.
더 나은 방법은 사용자 정의를 적절한 Python 패키지로 만드는 것입니다:
패키지용 폴더를 생성합니다 (weblate_customization 을 사용합니다).
그 안에 패키지를 설명하는
pyproject.toml파일을 생성합니다:[build-system] requires = ["uv_build>=0.8.18,<0.9.0"] build-backend = "uv_build" [project] name = "weblate-customization" version = "0.1.0" description = "Add your description here" requires-python = ">=3.13" dependencies = []
Python 모듈용 폴더를 생성합니다:
src/weblate_customization그 안에 Python이 모듈을 가져올 수 있도록
__init__.py파일을 생성합니다.이 패키지는 이제 uv pip install -e 를 사용하여 설치 될 수 있습니다. 더 많은 정보는 Editable Package documentation 에서 확인할 수 있습니다.
설치되면 Weblate 구성에서 모듈을 사용할 수 있습니다 (예:
weblate_customization.checks.FooCheck).
패키지 구조는 다음과 같아야 합니다:
weblate_customization
├── pyproject.toml
└── src
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
Weblate 사용자 정의 예시는 <https://github.com/WeblateOrg/customize-example>에서 확인할 수 있으며, 아래 설명된 모든 주제를 다룹니다.
로고 변경¶
덮어쓰려는 정적 파일을 포함하는 간단한 Django 앱을 만드세요 ( Python 모듈 생성 참조).
브랜딩은 다음 파일에 표시됨:
icons/weblate.svg탐색 표시줄에 표시되는 로고.
logo-*.png화면 해상도와 웹 브라우저에 따른 웹 아이콘.
favicon.ico레거시 브라우저에서 사용하는 웹 아이콘.
weblate-*.png봇 또는 익명 사용자의 아바타. 일부 웹 브라우저는 이것을 바로가기 아이콘으로 사용합니다.
email-logo.png알림 이메일에 사용됩니다.
INSTALLED_APPS에 추가하세요:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
클라이언트에 제공되는 정적 파일을 수집하려면
weblate collectstatic --noinput을 실행하세요.
사용자 정의 품질 검사, 애드온, 자동 제안 및 자동 수정¶
Weblate에 사용자 정의 자동 수정, 자체 검사 작성, 사용자 정의 기계 번역 또는 애드온 작성 용 코드를 설치하려면:
Weblate 사용자 정의를 포함하는 Python 모듈에 파일을 배치하세요 ( Python 모듈 생성 또는 코드 사용자 정의 참조).
전용 설정에 Python 클래스의 전체 경로를 추가하세요:
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)
# Automatic suggestions
WEBLATE_MACHINERY += ("weblate_customization.machinery.SampleTranslation",)