PO/Gettext 번역
원본 언어: en-US (English, United States)
원본 언어의 코드입니다. 예: fr, fr-FR, fil, zh-Hans-CN. 검색하려면 입력하세요.
대상 언어: zh-Hans-CN (Chinese, Simplified Chinese, China)
대상 언어의 코드입니다. 예: en, en-US, fil, zh-Hans-CN. 검색하려면 입력하세요.
메타데이터 번역:
용어집 생성 및 저장:
AI가 콘텐츠를 처리하는 동안 AI 번역에는 시간이 소요됩니다(최대 5분). 이 PO 번역 페이지는 실시간으로 번역하며 서버에 콘텐츠를 저장하지 않습니다. 대용량 PO 파일의 경우 다음을 사용하는 것을 권장합니다. I18N 파일 번역 페이지를 사용하면 더 안정적으로 전달됩니다. 번역이 완료될 때까지 이 페이지를 떠나지 마세요.

온라인으로 PO/Gettext 파일 번역하는 방법

저희의 AI 기반 서비스로 PO(Portable Object) 파일을 번역하는 것은 빠르고 정확합니다. PO 형식 구조를 보존하면서 gettext 현지화 콘텐츠를 번역하려면 다음 단계를 따르세요.

  1. PO 콘텐츠 붙여넣기: "원본 PO 콘텐츠" 섹션에 PO 또는 POT 파일 콘텐츠를 붙여넣으세요. 저희 서비스는 msgid, msgstr, 주석, 복수형 및 문맥 항목을 포함한 표준 PO 형식을 인식합니다.
  2. 대상 언어 설정: 번역할 대상 언어 코드(예: 프랑스어의 경우 'fr-FR', 독일어의 경우 'de-DE')를 입력하세요.
  3. 번역 시작: "번역" 버튼을 클릭하여 시작하세요. 저희 AI가 PO 구조를 처리하고 msgid 항목, 주석 및 형식 플레이스홀더를 보존하면서 msgstr 값을 번역합니다.
  4. 복사 또는 저장: 번역이 완료되면 번역된 PO 콘텐츠를 클립보드에 복사하거나 프로젝트에서 사용할 수 있는 .po 파일로 저장하세요.

PO 및 POT 파일이란 무엇인가요?

PO(Portable Object) 파일은 GNU gettext 국제화 시스템에서 만든 널리 사용되는 현지화 형식입니다. 이 파일은 msgid(원본 텍스트) 및 msgstr(번역된 텍스트) 항목을 사용하여 번역 가능한 문자열을 키-값 쌍으로 저장합니다.

PO 파일은 WordPress, PHP 애플리케이션, Python(Django, Flask), Ruby on Rails, C/C++ 프로그램 및 GTK나 GNOME으로 구축된 데스크톱 애플리케이션을 포함한 많은 오픈 소스 프로젝트와 프레임워크의 표준 현지화 형식입니다.

PO 파일 형식 구조

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) — 문맥에 따라 다른 번역이 필요한 동일한 원본 문자열을 구분합니다(예: 동사로서의 "Open" vs 형용사로서의 "Open").

PO vs. POT 파일

POT(Portable Object Template) 파일은 PO 파일을 만드는 데 사용되는 템플릿입니다. 여기에는 msgstr 값이 비어 있는 모든 원본 문자열이 포함되어 있습니다. 새 번역을 시작할 때 POT 파일을 복사하고 대상 언어에 맞게 이름을 바꾼(예: fr.po) 다음 번역을 채워 넣습니다.

저희 서비스는 PO 및 POT 콘텐츠를 모두 허용합니다. 어느 형식이든 붙여넣기만 하면 AI가 모든 msgstr 항목에 대한 번역을 생성합니다.

POT 파일 예시

다음은 헤더와 번역 가능한 문자열이 포함된 일반적인 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 ""

PO/Gettext 번역을 위한 AI 용어집 생성

저희의 AI 용어집 생성 기능을 사용하면 모든 PO 현지화 파일에서 일관된 용어를 유지할 수 있습니다. 번역 옵션에서 용어집 생성을 토글하여 활성화하세요:

  • 일관된 용어 — AI가 원본 PO 콘텐츠와 기존 대상 번역을 분석하여 주요 용어집을 구축함으로써 프로젝트 전체에서 제품명, UI 라벨 및 기술 용어가 동일하게 번역되도록 합니다.
  • 도메인 특화 용어 — 대상 문자열 필드에 이미 번역된 PO 콘텐츠 샘플을 제공하세요. AI가 선호하는 용어를 학습하고 새로운 msgstr 항목에 자동으로 적용합니다.
  • 사용 방법 — 용어집 생성이 활성화되었을 때 나타나는 선택적 대상 문자열 필드에 번역된 PO 콘텐츠를 붙여넣으세요. AI가 반복되는 용어 쌍을 추출하여 번역 가이드로 사용합니다. 대상 콘텐츠가 제공되지 않으면 AI는 원본 문자열만으로 용어집을 생성합니다.

저희 PO 번역 서비스를 선택해야 하는 이유

  • AI 기반 문맥 번역: 저희의 고급 AI는 PO 파일 구조를 이해하고 gettext 형식 플레이스홀더(예: %s, %d, %(name)s)를 처리하며 대상 언어의 문화적 뉘앙스에 맞게 번역을 조정합니다.
  • 전체 gettext 형식 지원: 저희 서비스는 헤더, 주석, 문맥 항목(msgctxt), 복수형 및 형식 플래그를 포함한 모든 PO 형식 기능을 처리합니다. 번역 중에 PO 구조가 완전히 보존됩니다.
  • 복수형 처리: 대상 언어 규칙에 따라 복수형 번역을 올바르게 생성합니다. 대상 언어의 복수형이 2개, 3개, 6개인지에 상관없이 AI가 적절한 msgstr[N] 항목을 생성합니다.
  • 로캘별 조정: 번역된 문자열 내의 숫자, 날짜 및 기타 로캘에 민감한 콘텐츠를 대상 언어 관례에 맞게 자동으로 조정합니다.
  • 오류 처리: AI 번역 오류를 감지하고 수정하여 일관되게 높은 품질의 PO 파일 출력을 보장합니다.
  • 비용 효율성: 매월 30,000개의 무료 문자로 저렴한 가격을 누리세요. 가격 보기
  • 대용량 PO 파일에 최적화: 대용량 PO 파일을 관리 가능한 단위로 나누어 효율적으로 처리하며, 모든 항목에 걸쳐 사전 정의된 용어 및 문맥으로 번역 일관성을 보장합니다.

PO 파일 번역의 일반적인 사용 사례

PO 파일은 다양한 플랫폼과 프레임워크의 표준 현지화 형식입니다:

  • WordPress: WordPress 테마와 플러그인은 국제화를 위해 PO/POT 파일을 사용합니다. gettext 시스템은 WordPress 콘텐츠를 200개 이상의 언어로 번역 가능하게 만드는 표준 방식입니다.
  • PHP 애플리케이션: PHP의 gettext 확장은 PO 파일을 기본적으로 사용합니다. Laravel, Symfony, CakePHP와 같은 프레임워크는 다국어 애플리케이션을 위한 PO 기반 현지화를 지원합니다.
  • Python (Django, Flask): Django는 gettext와 PO 파일을 표준 현지화 메커니즘으로 사용합니다. makemessages 명령은 번역 가능한 문자열을 POT 파일로 추출하고, compilemessages는 PO 파일을 바이너리 MO 파일로 컴파일합니다.
  • Ruby on Rails: Rails는 기본적으로 YAML을 사용하지만, 많은 Ruby 프로젝트는 특히 기존 gettext 기반 번역 워크플로우와 통합할 때 PO 파일과 함께 gettext 젬을 사용합니다.
  • C/C++ 프로그램: GNU gettext는 원래 C 프로그램을 위해 설계되었습니다. 많은 시스템 유틸리티, 명령줄 인터페이스 도구 및 데스크톱 애플리케이션이 사용자 인터페이스 번역에 PO 파일을 사용합니다.
  • JavaScript/TypeScript (Lingui): Lingui는 React, Next.js 및 기타 JavaScript 프레임워크를 위한 최신 국제화 라이브러리로, PO/POT 파일을 주요 번역 형식으로 사용합니다. @lingui/cli 도구는 번역 가능한 문자열을 PO 카탈로그로 추출하며, Lingui 런타임은 최적의 성능을 위해 빌드 시점에 컴파일된 번역을 로드합니다.
  • 데스크톱 애플리케이션 (GTK/GNOME/KDE): Linux 데스크톱 환경과 GTK/Qt 애플리케이션은 PO 파일에 의존합니다. GNOME 및 KDE 프로젝트는 수십 개의 언어에 걸쳐 수천 개의 PO 파일을 관리합니다.

PO 번역 vs. 기타 현지화 형식

PO 파일은 오픈 소스 커뮤니티에서 30년 이상의 역사를 가진 가장 확립된 현지화 형식 중 하나입니다. JSON이나 YAML 기반 형식과 달리 PO 파일은 복수형, 번역가 주석, 원본 참조 및 문맥적 모호성 해소에 대한 내장 지원을 포함합니다.

최신 프레임워크는 종종 JSON(i18next, React Intl)이나 YAML(Rails)을 사용하지만, PO는 여전히 WordPress 플러그인, PHP 애플리케이션, Python Django 프로젝트 및 Linux 데스크톱 소프트웨어에서 선호되는 형식입니다. 저희 서비스는 두 세계를 연결합니다. 여기서 PO 콘텐츠를 번역하거나, 모든 형식의 일괄 처리를 위해 저희의 국제화 파일 번역 페이지를 사용하세요.

저희 AI 번역은 헤더(Project-Id-Version, Content-Type, Plural-Forms), 번역가 주석, 원본 파일 참조 및 형식 플래그를 포함한 전체 PO 파일 구조를 보존하여 번역된 PO 파일이 msgfmt와 같은 gettext 도구에서 즉시 사용할 수 있도록 합니다.