v2.2 업데이트

This commit is contained in:
Gnill82
2025-10-30 19:42:50 +09:00
parent df126a641f
commit 3cce7a74d8

View File

@ -33,11 +33,13 @@ pip install -r requirements.txt
### 2. 명령어 실행
```bash
python ds_l10n.py extract # 미번역 추출
python ds_l10n.py validate # 번역 검증
python ds_l10n.py update # PO 업데이트
python ds_l10n.py merge # CSV 병합
python ds_l10n.py cleanup # 파일 정리
python ds_l10n.py extract # 미번역 추출 (en만)
python ds_l10n.py extract --all-languages # 번역 추출 (모든 언어)
python ds_l10n.py extract --include-fuzzy # fuzzy 항목 포함
python ds_l10n.py validate # 번역 검증
python ds_l10n.py update # PO 업데이트
python ds_l10n.py merge # CSV 병합
python ds_l10n.py cleanup # 파일 정리
```
### 3. 도움말
@ -59,6 +61,9 @@ python ds_l10n.py extract --help
-**자동 파일 정리** (오래된 파일 보관)
-**원본 언어(ko) 업데이트 지원**
-**줄바꿈 이스케이프 자동 처리**
-**스마트 미번역 감지** (msgstr 빈 값, ko 원본 변경 감지)
-**fuzzy 항목 추출** (리뷰 필요한 번역 감지)
-**유연한 언어 검사** (en만 또는 전체 언어)
---
@ -77,13 +82,18 @@ paths:
languages:
source: ko # 원본 언어
targets: # 번역 대상 언어 (18개)
targets: # 번역 대상 언어 (17개)
- en
- ja
- zh-Hans
- zh-Hant
# ... 기타 언어
extract:
check_all_languages: false # 모든 언어 검사 (기본: en만)
include_fuzzy: true # fuzzy 항목 포함 (리뷰 필요)
separate_files: true # 언어별 개별 파일 생성
validation:
check_variables: true # {Value} 변수 확인
check_rich_text_tags: true # <Red></> 태그 확인
@ -115,7 +125,8 @@ backup:
└─ 현지화 대시보드 → 텍스트 수집 → 텍스트 익스포트
2⃣ 미번역 추출
python ds_l10n.py extract
python ds_l10n.py extract # en만 검사 (기본)
python ds_l10n.py extract --all-languages # 모든 언어 검사
└─ output/untranslated_YYYYMMDD_HHMMSS.tsv 생성
3⃣ 외부 번역 수행
@ -153,14 +164,37 @@ python ds_l10n.py validate && python ds_l10n.py update && python ds_l10n.py merg
### 1. extract - 미번역 항목 추출
```bash
# 기본 사용 (en만 검사)
python ds_l10n.py extract
# 모든 언어 검사
python ds_l10n.py extract --all-languages
# fuzzy 항목 포함 (원본 변경으로 리뷰 필요한 항목)
python ds_l10n.py extract --include-fuzzy
# 옵션 조합
python ds_l10n.py extract --all-languages --include-fuzzy
# GUI 모드 (파일 선택)
python ds_l10n.py extract --gui
```
**기능**:
- 원본 언어(ko) PO 파일에서 msgstr이 비어있는 항목 추출
- **기본 동작**: en PO 파일에서 msgstr이 비어있는 항목 추출
- **--all-languages**: 모든 대상 언어(17개) 검사
- **--include-fuzzy**: fuzzy 플래그 항목도 추출 (ko 원본 변경 감지)
- msgstr이 비어있는 항목을 정확히 감지
- TSV 형식으로 저장 (msgctxt, SourceLocation, msgid)
**출력**: `output/untranslated_YYYYMMDD_HHMMSS.tsv`
**출력**:
- 기본: `output/untranslated_YYYYMMDD_HHMMSS.tsv`
- 전체 언어: `output/untranslated_{lang}_YYYYMMDD_HHMMSS.tsv` (언어별 17개 파일)
**사용 시나리오**:
1. **일반적인 경우**: `python ds_l10n.py extract` (en만 빠르게 검사)
2. **ko 원본이 변경된 경우**: `python ds_l10n.py extract --include-fuzzy`
3. **전체 언어 점검**: `python ds_l10n.py extract --all-languages`
---
@ -289,6 +323,33 @@ Windows 콘솔에서 이모지가 깨지는 경우:
- 로그 파일(`logs/`)에서는 정상적으로 표시됨
- Windows Terminal 사용 권장
### Q8. 미번역이 있는데 추출되지 않음
**상황**: PO 파일에 msgstr이 비어있는데 extract 명령으로 감지되지 않음
**원인**: 기본적으로 en만 검사하기 때문
**해결**:
```bash
# 모든 언어 검사
python ds_l10n.py extract --all-languages
```
### Q9. ko 원본이 변경되었는데 번역이 그대로임
**상황**: ko 원본 텍스트가 수정되었지만 번역문이 예전 원본 기준임
**원인**: fuzzy 플래그가 있는 항목은 기본 extract에서 제외됨
**해결**:
```bash
# fuzzy 항목도 추출 (리뷰 필요한 번역)
python ds_l10n.py extract --include-fuzzy
# 또는 전체 언어 + fuzzy
python ds_l10n.py extract --all-languages --include-fuzzy
```
---
## 📁 프로젝트 구조
@ -357,6 +418,16 @@ python ds_l10n.py update || exit 1
## 🆕 버전 히스토리
### v2.0.2 (2025-10-30)
- ✨ 미번역 추출 기능 대폭 개선
- 기본적으로 en만 검사 (빠른 실행)
- `--all-languages` 옵션으로 전체 언어 검사
- `--include-fuzzy` 옵션으로 리뷰 필요 항목 추출
- msgstr 빈 값 정확히 감지 (ko 원본 변경 케이스)
- ✨ config.yaml에 extract 설정 섹션 추가
- 📝 README에 새 기능 상세 설명 추가
- 📝 문제 해결 섹션에 Q8, Q9 추가
### v2.0.1 (2025-10-29)
- 🐛 줄바꿈 이스케이프 버그 수정 (TSV `\r\n` → PO 정확한 변환)
- 🐛 검증 로직 수정 (실제 escape sequence 검사)
@ -382,6 +453,6 @@ Copyright © 2025 OneUniverse. All rights reserved.
---
**버전**: 2.0.1
**최종 수정**: 2025-10-29
**버전**: 2.0.2
**최종 수정**: 2025-10-30
**작성자**: DS_L10N Team