5분 만에 277개의 Strings를 번역한 방법 (실제 사례 연구)
Source: Dev.to

도전 과제
ShareX는 35K+ GitHub 스타를 보유한 놀라운 오픈‑소스 화면 캡처 도구입니다. 24개의 언어를 지원하며 170개의 번역 가능한 문자열이 있습니다.
I wanted to:
- Add Greek as a new language → 그리스어를 새로운 언어로 추가
- Complete Spanish translations → 스페인어 번역을 완료
- Find any unused localization keys → 사용되지 않는 로컬라이제이션 키 찾기
…and I wanted to do it for free – no paid translation APIs. → 그리고 나는 이를 무료로 하고 싶었습니다 – 유료 번역 API 없이.
The Tool: LRM
LRM (현지화 리소스 관리자) 은(는) 내가 만든 오픈‑소스 CLI 도구로, 현지화 파일을 관리합니다. 지원하는 형식은 다음과 같습니다:
- .resx (ShareX가 사용함), JSON, i18next, Android, iOS, PO, XLIFF
- 무료 번역 제공자: MyMemory, Lingva, LibreTranslate
- 로컬 LLM: Ollama (Llama, Mistral 등)
- 유료 제공자: DeepL, Google, Azure, OpenAI, Claude (필요한 경우)
Step 1: 현재 상태 확인
cd ~/ShareX/ShareX/Properties
lrm stats
┌─────────────────────────────────────────────────────────────────┐
│ Localization Statistics │
├──────────┬──────┬────────────┬───────┬─────────┬─────────┬──────┤
│ Language │ Keys │ Translated │ Empty │ Missing │ Coverage│ Size │
├──────────┼──────┼────────────┼───────┼─────────┼─────────┼──────┤
│ default │ 170 │ 170 │ 0 │ 0 │ 100.0% │ 48KB │
│ de │ 163 │ 163 │ 0 │ 7 │ 95.9% │ 47KB │
│ es │ 63 │ 63 │ 0 │ 107 │ 37.1% │ 20KB │
│ fr │ 170 │ 170 │ 0 │ 0 │ 100.0% │ 50KB │
│ … │ … │ … │ … │ … │ … │ … │
└──────────┴──────┴────────────┴───────┴─────────┴─────────┴──────┘
스페인어는 현재 37 %에 불과합니다 – 이를 수정합시다.
단계 2: 그리스어 추가 (새 언어)
lrm add-language el
✓ Created: Resources.el.resx
Keys: 170 (copied from default)
All values empty – ready for translation
단계 3: 무료 제공자를 사용한 번역
옵션 A – MyMemory (무료, API 키 없음)
# Translate Greek (all strings)
lrm translate "*" --provider mymemory --from en --to el
# Complete Spanish (only missing)
lrm translate "*" --provider mymemory --from en --to es --only-missing
옵션 B – Lingva (무료 Google‑Translate 프록시)
lrm translate "*" --provider lingva --from en --to el
옵션 C – 로컬 Ollama (100 % 오프라인)
만약 로컬에서 Ollama를 실행 중이라면:
# Use Llama 3.2 or any model you have
lrm translate "*" --provider ollama --from en --to el
lrm.json에서 모델을 설정하세요:
{
"Translation": {
"AIProviders": {
"Ollama": {
"Model": "llama3.2",
"ApiUrl": "http://localhost:11434"
}
}
}
}
단계 4: 검증
lrm validate
✓ Validation passed
Files: 25
Issues: 0
Placeholder mismatches: 0
LRM은 {0}, {1} 자리표시자가 보존되는지 자동으로 확인합니다.
5단계: 사용되지 않은 키 찾기
lrm scan --show-unused
Code Scan Results
─────────────────
Source files scanned: 847
Localization keys: 170
Unused Keys (5):
• HotkeyType_DisableHotkeys
• QuickTaskMenuEditorForm_Separator
• TaskSettings_CaptureAutoHideTaskbar
• …
.resx 파일에 존재하지만 코드에서 사용되지 않는 키가 5개 있습니다.
결과
| 언어 | 전 | 후 | 문자열 |
|---|---|---|---|
| 그리스어 | 0 % | 100 % | 새로운 170 |
| 스페인어 | 37 % | 100 % | 추가된 107 |
총계: 약 5 분 안에 277개의 문자열을 번역
보너스: LRM Cloud와 팀 협업
팀 프로젝트의 경우 LRM Cloud (무료 티어 제공)와 동기화하세요:
lrm cloud push

Features
- 웹 기반 번역 편집기
- 번역 메모리 및 용어집
- GitHub 통합
- 역할 기반 팀 접근 권한
전체 사례 연구
전체 CLI 출력이 포함된 전체 과정을 확인하세요:
GitHub의 ShareX 사례 연구
시작하기
# Download LRM
curl -L https://github.com/nickprotop/LocalizationManager/releases/latest/download/lrm-linux-x64.tar.gz | tar xz
또는 Windows에서
GitHub 릴리즈에서 다운로드
프로젝트 확인
cd ./YourProject/Resources
lrm stats
링크
질문이 있나요? 댓글을 남기거나 GitHub Discussion를 열어 주세요!
