From 3cce7a74d82d5cc130b2d21add224c7e7ced567a Mon Sep 17 00:00:00 2001 From: Gnill82 Date: Thu, 30 Oct 2025 19:42:50 +0900 Subject: [PATCH] =?UTF-8?q?v2.2=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 077bf1d..f5bdb5b 100644 --- a/README.md +++ b/README.md @@ -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 # 태그 확인 @@ -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