Skip to main content
AI agent network visualization

복수형을 잃지 않고 PO 파일 번역

msgid, 언어별 올바른 복수형, 주석을 그대로 유지하면서 gettext 워크플로를 더 빠르게 처리해요.

PO 고유의 특성을 무시하는 일반 번역 도구

PO 파일은 단순한 키-값 쌍이 아니에요. 언어마다 다른 복수형, 의미를 구분하는 메시지 문맥, 번역가 주석, 원문 참조가 들어 있어요. 하지만 대부분의 번역 도구는 PO 파일을 평면 텍스트 파일처럼 다뤄요.

언어마다 nplurals와 복수형 수식이 다른데도 일반 도구가 잘못된 복수형 개수를 사용

의미를 구분하는 msgctxt 문맥을 무시하거나 번역

번역가 주석(#.)과 원문 참조(#:)를 삭제

문자 인코딩 헤더와 PO 메타데이터를 손상

원문(영어)
messages.pot
#: src/components/Cart.tsx:42
#. Translator: shown when cart is empty
msgid "Your cart is empty"
msgstr ""

#: src/components/Cart.tsx:55
msgid "item"
msgid_plural "items"
msgstr[0] ""
msgstr[1] ""

#: src/components/Auth.tsx:12
msgctxt "button"
msgid "Sign in"
msgstr ""
번역문(스페인어)
es/LC_MESSAGES/messages.po
#: src/components/Cart.tsx:42
#. Translator: shown when cart is empty
msgid "Your cart is empty"
msgstr "Tu carrito está vacío"

#: src/components/Cart.tsx:55
msgid "item"
msgid_plural "items"
msgstr[0] "artículo"
msgstr[1] "artículos"

#: src/components/Auth.tsx:12
msgctxt "button"
msgid "Sign in"
msgstr "Iniciar sesión"

i18n Agent가 유지하는 요소

언어별 복수형

대상 언어마다 올바른 nplurals와 복수형 수식을 설정해 수동 구성 불필요

메시지 문맥

의미 구분을 위해 msgctxt를 유지해 강둑의 'bank'와 금융 기관인 'bank'를 정확히 구분

주석 및 참조

번역가 주석(#.), 추출된 주석(#:), 플래그(#,)를 모두 유지

PO 메타데이터

대상 언어에 맞게 헤더(Content-Type, Plural-Forms, charset)를 올바르게 설정

사용 중인 기술 스택 지원

WordPress / WP-CLI
Django
PHP (gettext)
Python (gettext / Babel)
C/C++ (GNU gettext)
Ruby (gettext gem)

이용 방법

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

수동으로 복사해 붙여 넣거나 문자열을 추출할 필요 없이 번역된 파일만 받아보세요.

지금 i18n Agent 사용해 보기

번역 파일을 여기에 드롭

JSON, YAML, PO, XML, CSV, Markdown, Properties

또는 클릭하여 파일 선택

대상 언어

가입 불필요즉시 견적

자주 묻는 질문

개발자인가요?

CLI 도구를 설치하고 2분 안에 첫 파일을 번역해 보세요.

CLI 도구 설치

기업 팀인가요?

아직 TMS 계약에 묶여 있나요? 이전 방법을 함께 알아봐요.