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

발행: (2026년 1월 5일 오전 03:44 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

277개의 문자열을 5분 만에 번역한 사례 연구 (실제 사례)

Nikolaos Protopapas

도전 과제

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

LRM Cloud Dashboard

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를 열어 주세요!

Back to Blog

관련 글

더 보기 »

오픈GitOps

번역하려는 텍스트(발췌문 또는 요약)를 제공해 주시겠어요? 해당 내용을 받아야 한국어로 번역해 드릴 수 있습니다.