무료 계정을 만들고 30,000자 매월 무료로 AI 기반 로컬라이제이션 서비스로 콘텐츠를 번역하세요.
시작하는 데 신용카드가 필요하지 않습니다!
AI 기반 서비스를 사용하여 PO(Portable Object) 파일을 빠르고 정확하게 번역하세요. PO 형식 구조를 유지하면서 gettext 현지화 콘텐츠를 번역하려면 다음 단계를 따르세요.
PO(Portable Object) 파일은 GNU gettext 국제화 시스템에서 만든 널리 사용되는 현지화 형식입니다. msgid(원본 텍스트)와 msgstr(번역된 텍스트) 항목을 사용하여 번역 가능한 문자열을 키-값 쌍으로 저장합니다.
PO 파일은 WordPress, PHP 애플리케이션, Python(Django, Flask), Ruby on Rails, C/C++ 프로그램 및 GTK나 GNOME으로 빌드된 데스크톱 애플리케이션을 포함한 많은 오픈 소스 프로젝트와 프레임워크의 표준 현지화 형식입니다.
PO 파일은 다음 핵심 요소들로 구성된 항목들로 이루어져 있습니다:
# Translation file for MyApp
#: src/components/header.js:12
msgid "Welcome to our application"
msgstr ""
#: src/components/login.js:8
msgid "Sign in to your account"
msgstr ""
#: src/components/dashboard.js:15
msgid "You have %d new messages"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""msgid — 번역되지 않은 원본 문자열(소스 텍스트)입니다. 번역을 찾기 위한 키 역할을 합니다.msgstr — 대상 언어로 번역된 문자열입니다. msgstr 값이 비어 있으면 번역되지 않은 문자열임을 나타냅니다.#) — 번역가를 위한 컨텍스트를 제공합니다. #:은 소스 파일 참조를 나타내고, #.은 추출된 주석을 포함하며, #,은 fuzzy와 같은 플래그를 담고 있습니다.msgid_plural, msgstr[N]) — 언어별 복수 규칙을 처리합니다. 언어마다 복수형의 개수가 다릅니다(예: 영어는 2개, 폴란드어는 3개, 아랍어는 6개).msgctxt) — 동일한 소스 문자열이라도 상황에 따라 다른 번역이 필요한 경우(예: 동사 vs 형용사로서의 "Open") 이를 구분합니다.POT(Portable Object Template) 파일은 PO 파일을 생성하는 데 사용되는 템플릿입니다. 여기에는 msgstr 값이 비어 있는 모든 소스 문자열이 포함되어 있습니다. 새 번역을 시작할 때 POT 파일을 복사하여 대상 언어에 맞게 이름을 바꾸고(예: fr.po) 번역을 채워 넣습니다.
저희 서비스는 PO와 POT 콘텐츠를 모두 지원합니다. 형식을 붙여넣기만 하면 AI가 모든 msgstr 항목에 대한 번역을 생성합니다.
헤더와 번역 가능한 문자열이 포함된 일반적인 POT 템플릿 파일 예시입니다:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-01 00:00+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/app.py:42
msgid "Hello, World!"
msgstr ""%s, %d, %(name)s)를 처리하며, 대상 언어의 문화적 뉘앙스에 맞춰 번역을 조정합니다.msgctxt), 복수형 및 형식 플래그를 포함한 모든 PO 형식 기능을 처리합니다. 번역 중에도 PO 구조가 완벽하게 유지됩니다.msgstr[N] 항목을 생성합니다.PO 파일은 다양한 플랫폼과 프레임워크에서 표준 현지화 형식으로 사용됩니다:
makemessages 명령은 번역 가능한 문자열을 POT 파일로 추출하고, compilemessages는 PO 파일을 바이너리 MO 파일로 컴파일합니다.gettext 젬을 사용합니다.@lingui/cli 도구는 번역 가능한 문자열을 PO 카탈로그로 추출하며, Lingui 런타임은 최적의 성능을 위해 빌드 시 컴파일된 번역을 로드합니다.PO 파일은 오픈 소스 커뮤니티에서 30년 이상의 역사를 가진 가장 확립된 현지화 형식 중 하나입니다. JSON이나 YAML 기반 형식과 달리 PO 파일은 복수형, 번역가 주석, 소스 참조 및 컨텍스트 구분 기능을 내장하고 있습니다.
현대적인 프레임워크는 종종 JSON(i18next, React Intl)이나 YAML(Rails)을 사용하지만, PO는 WordPress 플러그인, PHP 애플리케이션, Python Django 프로젝트 및 Linux 데스크톱 소프트웨어에서 여전히 선호되는 형식입니다. 저희 서비스는 두 세계를 연결합니다. 여기서 PO 콘텐츠를 번역하거나, 일괄 처리를 위해 I18N 파일 번역 페이지를 사용하세요.
저희 AI 번역은 헤더(Project-Id-Version, Content-Type, Plural-Forms), 번역가 주석, 소스 파일 참조 및 형식 플래그를 포함한 전체 PO 파일 구조를 유지하여, 번역된 PO 파일이 msgfmt와 같은 gettext 도구에서 즉시 사용될 수 있도록 합니다.