파일 변환FREE
XMLXLSX복수형·배열·translatable 플래그를 모두 보존 · strings.xml을 시트로 보내고 그대로 되돌리세요.
변환기· 로컬 처리
.xml 파일을 여기에 놓으세요
또는 내 기기에서 선택 · 파일은 브라우저를 벗어나지 않습니다

앱은 strings.xml을 씁니다.
번역자는 Excel을 원합니다.

01 · 이 도구가 실제로 해 주는 일

Android strings.xml을 번역자나 외주가 편집할 수 있는 Excel 시트로 만들고, 그대로 다시 되돌립니다 — 복수형, string-array, translatable 플래그, 루트 이름공간, 자리표시자를 모두 보존하고 각 리소스는 name을 키로 씁니다. 범용 XML→표가 아니라 Android 현지화 인수인계에 실제로 필요한 한 단계입니다.

파일은 기기를 떠나지 않습니다브라우저 내 · 업로드 없음 · NDA 친화
결정적 변환같은 입력은 항상 같은 출력
무손실 왕복strings.xml→Excel→strings.xml에서 모든 항목 유지
02 · 두 형식, 하나의 왕복

strings.xml과 Excel은 잘하는 일이 다릅니다

이 변환은 Android 개발자와 번역자가 각자 익숙한 형식을 쓰면서도 — 그 사이에서 아무것도 잃지 않도록 존재합니다.

strings.xml.xml

Android의 리소스 형식입니다. resources 루트 아래에 string, string-array, plurals 항목이 있고 각각 name으로 참조되며, 복수형 항목에는 quantity 키워드(one, other 등)가, 빌드에서 제외할 대상을 알리는 translatable 플래그가 달립니다. 정밀해서 육안으로 손볼 대상이 아닙니다.

Excel.xlsx

번역자·검수자·외주가 가장 편하게 여기는 화면입니다. 한 행에 한 문자열, 원문과 번역이 나란히 있어 필터·일괄 편집·주석이 쉽습니다. 문제는 strings.xml을 Excel에서 그대로 열면 복수형 구조가 무너지고 translatable 플래그가 사라져 앱으로 되돌릴 수 없다는 점입니다.

이 도구가 지키는 것이 바로 그 “되돌릴 수 없음”입니다. 내보낼 때 각 plurals의 quantity와 string-array의 인덱스를 키에 보존하고, translatable 플래그를 Type 열에 담으며, 루트 xmlns 속성을 예약된 @@resources.* 행에 저장합니다 — 그래서 시트가 올바른 strings.xml로 되돌아갑니다. 스프레드시트가 담을 수 없는 몇 가지는 보고되며 조용히 버리지 않습니다:XML 주석과 원래 들여쓰기(출력은 깔끔한 정규 레이아웃 사용), 그리고 name과 translatable 이외의 리소스 속성입니다.

03 · 자주 묻는 질문

아마 궁금하실 점

내 파일이 업로드되나요?+
아니요. 분석과 변환은 전적으로 브라우저 안에서 실행되며(큰 파일은 Web Worker가 처리) 파일이 기기를 떠나거나 서버에 닿지 않습니다. NDA가 걸린 현지화 작업에는 필수 조건이라 완전히 클라이언트 측으로 만들었습니다.
Excel만 쓰는 번역자에게 Android strings.xml을 어떻게 보내나요?+
여기서 strings.xml을 Excel 시트로 변환해 번역자나 외주에게 전달하고, 편집된 시트를 다시 strings.xml로 되돌립니다 — 한 행에 한 문자열, 원문과 번역이 나란히 있습니다. <string-array>는 name[0], name[1]…로, <plurals>는 name#one, name#other…로 되어 구조가 정확히 재구성됩니다.
변환하면 복수형, string-array, translatable 플래그가 보존되나요?+
네. 각 <plurals> 항목은 quantity를 키에 보존하고(name#one, name#other), 각 <string-array> 항목은 인덱스를 키에 보존하며(name[0]), translatable="false"는 Type 열에 담겨 왕복합니다. <resources> 루트 이름공간은 예약 행에 저장되어 복원됩니다. XML 주석과 정확한 들여쓰기는 재현되지 않습니다 — 재구성 파일은 깔끔한 정규 레이아웃을 쓰며 — 그것도 보고되며 조용하지 않습니다.
그냥 XML을 Excel로 여는 것과 무엇이 다른가요?+
strings.xml을 Excel에서 그대로 열면 복수형 그룹화가 평평해지고 translatable 플래그가 사라지며 인라인 마크업이 깨집니다 — 앱으로 되돌릴 수 없습니다. 이 도구는 왕복 보존을 목적 그 자체로 삼습니다: 복수형 quantity와 배열 인덱스는 키에, translatable 플래그는 열에 실리고, XML은 깔끔하게 재구성됩니다. 게다가 완전히 로컬이라 아무것도 업로드되지 않습니다.
어떤 파일을 처리하며 무료인가요?+
Android res/values의 strings.xml 리소스 파일 — <string>, <string-array>, <plurals>를 처리합니다. 같은 파일 안의 다른 Android 리소스 유형(<color>, <dimen> 등)은 건너뛰며 보고되고 조용히 변환되지 않습니다. 이 등급은 완전 무료이며 계정도, 사용량 제한도 없습니다.
04 · 누가 · 왜 만들었나

이 일을 직접 해 본 사람이 만들었습니다

대형 모델의 얇은 래퍼도, 오픈소스 라이브러리의 외형만 바꾼 것도 아닙니다. 오랜 게임 현지화 현장 경험과 그에 따르는 “망가지기 전엔 아무도 모르는” 세부의 더미에서 나왔습니다.

앱은 strings.xml을 넘기고 번역자는 Excel에서 편집하고 싶을 뿐 — 그 사이의 형식 손실을 사람이 떠안을 일로 만들어서는 안 됩니다.

strings.xml을 외주에 넘기면 열에 아홉은 복수형 그룹화가 평평해지고 translatable 플래그가 지워지며 quantity가 짐작되어 돌아옵니다 — 그리고 빌드가 안 됩니다. 그 모두를 겪었기에 이 도구는 기본으로 지킵니다: quantity와 인덱스는 키에, translatable 플래그는 열에 보존, 루트 이름공간은 저장·복원됩니다.

무료, 완전 로컬, 즉시. 플랫폼이 아니라 워크플로의 한 단계지만, 현지화를 진짜로 이해하는 곳에서 나왔습니다.