Xcode String Catalog(.xcstrings) 편집하고 번역하기

LocalePilot은 iOS·macOS 앱의 Localizable.xcstrings 파일을 열어 언어별로 빠진 것을 보여 주고, 형식 지정자를 검사하고, 바꾼 부분만 건드려 Xcode 스타일 그대로 카탈로그를 다시 씁니다.

LocalePilot이 읽고 쓰는 것

  • 번역 누락: 현지화가 없거나, new 상태이거나, 비어 있는 경우. LocalePilot은 빈 값을 쓰지 않습니다. 번역을 지우면 Xcode처럼 해당 현지화가 삭제됩니다.
  • 복수형과 기기별 변형은 편집할 수 있으며, key › plural › one 형태로 표시됩니다.
  • 원본 언어: 현지화가 없는 키는 키 자체를 의미하며(Xcode 관례), 편집하기 전까지 다시 쓰이지 않습니다.
  • 상태: 바꾸지 않은 값은 상태(needs_review 등)를 유지하고, 편집한 값은 translated가 됩니다.

Xcode 스타일 그대로, 최소한의 diff

변경 없는 카탈로그를 다시 쓰면 바이트 단위로 동일한 파일이 나오고, 편집은 해당 줄만 바꿉니다. 코드 리뷰에서도 읽기 쉽고, 내보내기는 다른 형식과 마찬가지로 검토, 디스크 병합, 백업을 거칩니다.

형식 지정자 검사

QA는 %@, %1$@, %d, %ld, %lld, %.2f, %u, %i, %s를 인식하며, %%는 텍스트로 취급합니다. 번역에서 지정자가 빠지거나 남으면 내보내기 전에 표시됩니다.

알려진 제한

  • shouldTranslate: false가 붙은 키와 치환(%#@count@)을 쓰는 키는 손대지 않고 유지되지만 표시되지 않습니다. 이런 키는 계속 Xcode에서 관리합니다.
  • String Catalog의 대상 범주는 원본에 없어도 각 언어의 CLDR 규칙을 따릅니다. 없는 원본 범주는 other 형식을 사용하며 대상 언어가 쓰지 않는 범주는 내보내지 않습니다.
  • 기존 .strings 파일도 UTF-8로 지원합니다. .strings 파일에 새 언어를 추가하면 <locale>.lproj 폴더가 만들어지며, 이 폴더는 Xcode 프로젝트에 추가해야 합니다. LocalePilot은 내보내기 요약에서 이를 알려 주고 .pbxproj는 절대 수정하지 않습니다. Xcode 16의 동기화 폴더를 쓰는 프로젝트라면 따로 할 일이 없습니다.

자주 묻는 질문

String Catalog 작업에서 LocalePilot이 Xcode를 대신하나요?

아닙니다. 보완하는 도구입니다. Xcode는 코드에서 문자열을 추출하고, LocalePilot은 그것을 검사하고 번역하고 검토하는 곳입니다. 둘 다 같은 .xcstrings 파일을 읽고 씁니다.

파일 서식이 바뀌지 않나요?

바뀌지 않습니다. 변경 없이 다시 쓴 카탈로그는 바이트 단위로 동일하며, 편집은 해당 줄만 Xcode 스타일로 바꿉니다.

복수형을 지원하나요?

네. 복수형과 기기별 변형을 편집할 수 있습니다. 치환(%#@count@)은 유지되지만 편집은 여전히 Xcode에서 합니다.

출시 알림 받기

LocalePilot은 마무리 단계입니다. 이메일을 남기시면 출시 소식을 알려 드립니다.

  • macOS 12 이상 · Ollama 또는 LM Studio 선택 사항
  • 앱 인터페이스 언어: 영어, 프랑스어, 스페인어, 이탈리아어, 포르투갈어.