# 번역 기여

WCPOS는 현재 10개 로케일의 번역을 제공하며, 더 많은 언어를 추가할 수 있습니다. 기여를 환영합니다 — 모든 내용을 번역할 필요는 없으며, 개발자가 아니어도 됩니다. 이 페이지에서는 무엇을 어디에서 번역하는지 안내합니다.

## 번역이 관리되는 네 곳[​](#the-four-places-that-hold-translations "번역이 관리되는 네 곳으로 직접 링크")

WCPOS의 번역 가능한 문자열은 네 개의 저장소에 분산되어 있으며, 각각 고유한 기여 절차가 있습니다. 어느 하나에만 독립적으로 기여할 수 있습니다.

#### WordPress 플러그인 (PHP 문자열)

관리자 알림, 설정 페이지 레이블, 오류 메시지 및 WP Admin UI. GlotPress를 사용하는 표준 WordPress 번역 절차를 따라 \*\*[translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/woocommerce-pos/)\*\*에서 번역합니다. *코딩 지식이 필요 없습니다.*

#### POS 앱 (React/i18next)

계산대에서 캐셔가 보는 모든 요소 — 버튼, 대화 상자, 오류 메시지, 장바구니 및 결제 UI. 번역 파일은 **wcpos/monorepo** 저장소에 있으며, 풀 리퀘스트를 통해 기여합니다. *GitHub에 대한 기본적인 이해가 필요합니다.*

#### WP Admin React 화면

새로운 React 기반 설정, 매장 편집기, 템플릿, 확장 기능 및 로그 페이지. 번역은 **wcpos/woocommerce-pos**(Pro 화면의 경우 **woocommerce-pos-pro**)에 JSON 파일로 관리됩니다. *GitHub에 대한 기본적인 이해가 필요합니다.*

#### 이 문서 (Docusaurus)

지금 보고 계신 이 문서 사이트입니다. 번역된 MDX 파일은 **wcpos/docs** 저장소의 `i18n/<locale>/`에 있습니다. 기여는 풀 리퀘스트를 통해 제출합니다. *Markdown을 알면 도움이 됩니다.*

## WordPress 플러그인 문자열 (가장 쉽게 시작할 수 있는 부분)[​](#wordpress-plugin-strings-the-easiest-place-to-start "WordPress 플러그인 문자열 (가장 쉽게 시작할 수 있는 부분)으로 직접 링크")

WordPress 플러그인을 번역해 본 적이 없다면, 이 방법이 가장 간단합니다:

1. [translate.wordpress.org/projects/wp-plugins/woocommerce-pos/](https://translate.wordpress.org/projects/wp-plugins/woocommerce-pos/)에서 **사용 언어를 찾습니다** — WordPress가 지원하는 모든 로캘에 하위 프로젝트가 있습니다.

2. WordPress.org 계정으로 **로그인합니다** (지원 포럼에서 댓글을 작성할 때 사용하는 계정과 동일). 계정이 없으면 무료로 생성할 수 있습니다.

3. **하위 프로젝트를 선택합니다** — 일반적으로 다음과 같은 항목이 표시됩니다:

   <!-- -->

   * **Stable (최신 릴리스)** — 현재 공개 버전에 포함된 문자열입니다. 여기서 번역하면 플러그인을 업데이트하는 모든 사이트에 반영됩니다.
   * **Development (trunk)** — 다음 릴리스에 포함될 문자열입니다. 다음 버전 출시 전에 미리 번역해 둘 수 있습니다.
   * **Stable Readme / Development Readme** — WordPress.org에 표시되는 플러그인 설명입니다.

4. GlotPress UI를 통해 한 문자열씩 **번역을 제출합니다**. 제출된 번역은 프로젝트 번역 편집자(PTE)가 승인할 때까지 **제안됨** 상태로 표시됩니다.

5. 번역이 몇 건 승인된 후 [WordPress polyglots Slack에서 요청](https://make.wordpress.org/polyglots/)하여 **PTE가 되세요**. PTE는 검토를 기다리지 않고 직접 번역을 승인할 수 있습니다.

번역이 승인되면 해당 로케일의 모든 WCPOS 사용자에게 자동으로 배포됩니다 — 코드 변경이나 PR이 필요 없습니다.

## POS 앱 번역 (React UI)[​](#pos-app-translations-the-react-ui "POS 앱 번역 (React UI)으로 직접 링크")

계산원용 UI는 v1.8.8에서 재구축된 React 앱으로, 번역에 [i18next](https://www.i18next.com/)를 사용합니다. 번역 파일은 **wcpos/monorepo** 저장소(크로스 플랫폼 POS 코어)에 JSON으로 저장되어 있습니다.

이 구성에는 두 가지 유용한 기능이 있습니다:

* **온디맨드 로딩** — 런타임에 활성 로케일만 가져오므로(jsDelivr CDN에서) 언어를 추가해도 다른 사용자의 다운로드 용량이 증가하지 않습니다.
* **지역 대체** — i18next JSON 파일 이름은 밑줄을 사용합니다: `pt_BR`은 `pt`로, `es_MX`는 `es`로 대체됩니다. 문서와 웹 언어 태그는 `pt-BR` 또는 `es-MX`처럼 하이픈을 사용합니다. 번역 JSON 파일에는 밑줄 형식을, 언어 태그가 필요한 곳에는 하이픈 형식을 사용하세요.

기여하려면:

1. **en 소스 파일 찾기** — `wcpos/monorepo`의 번역 패키지 디렉터리에서 찾을 수 있습니다(정확한 경로는 다를 수 있으며, 저장소에 이슈를 열어 복사할 파일을 문의하는 것이 가장 쉽습니다).
2. **복사 `en.json` 을(를) `<your-locale>.json`으로** i18next JSON 로케일 규칙에 따라 (`fr.json`, `de.json`, `pt_BR.json` 등, 지역별 파일명에는 밑줄을 사용합니다).
3. **값을 번역하되**, 키와 `{{interpolation}}` 플레이스홀더는 그대로 유지합니다.
4. 모노레포에 **풀 리퀘스트를 제출합니다**. CI가 JSON 구조를 검증합니다.

기존 번역의 간단한 수정은 GitHub에서 연필 아이콘을 클릭하여 JSON 파일을 직접 편집할 수 있습니다 — GitHub에서 자동으로 PR을 생성합니다.

## WP Admin React 화면[​](#wp-admin-react-screens "WP Admin React 화면으로 직접 링크")

WordPress 관리자 설정, 매장 편집기, 템플릿 페이지, 확장 프로그램 카탈로그, 로그는 모두 POS 앱과 동일한 번역 패턴을 사용하지만, 별도의 두 저장소에 위치합니다:

* **무료 관리자 화면** — `wcpos/woocommerce-pos` 저장소, `packages/settings/src/translations/locales/<locale>/wp-admin-settings.json` (다른 관리자 패키지에도 유사한 경로를 사용하며, 지역별 JSON 로케일에는 `pt_BR` 와 같은 밑줄 로케일 폴더를 사용합니다).
* **Pro 관리 화면** — `wcpos/woocommerce-pos-pro` 저장소, 동일한 패턴을 따릅니다(예: `packages/store-edit/src/translations/locales/<locale>/wp-admin-store-edit.json`; 지역별 JSON 로케일에는 `pt_BR` 와 같은 밑줄 로케일 폴더를 사용합니다).

기여 방법은 POS 앱과 동일합니다: `en.json` 을(를) `<your-locale>.json`에 복사하고 번역한 후 PR을 제출합니다.

## 문서 (현재 페이지)[​](#documentation-these-pages "문서 (현재 페이지)으로 직접 링크")

문서 사이트는 Docusaurus의 표준 i18n 설정을 사용합니다. 번역된 MDX 파일은 **wcpos/docs** 리포지토리의 `i18n/<locale>/docusaurus-plugin-content-docs/current/`에 있습니다. `versioned_docs/version-1.x/` 의 각 영어 페이지에는 활성화된 모든 번역 로케일에 대응하는 페이지가 있습니다.

사이트에는 이미 자동 번역 도구가 구비되어 있습니다. OpenAI / Anthropic API를 사용하여 영어 원문의 초안 번역을 생성하는 `pnpm translate` 스크립트가 있으며, 이후 사람이 검토하여 다듬습니다. 따라서 일반적인 기여 절차는 다음과 같습니다:

1. 번역이나 개선이 필요한 **페이지를 선택하세요**. 사이트 하단의 언어 선택기에서 활성화된 언어를 확인할 수 있습니다.
2. **해당 MDX 파일을 편집하세요** `i18n/<locale>/...` 아래에서 모든 페이지 하단의 **이 페이지 편집** 링크를 통해 GitHub에서 직접 수정할 수 있습니다.
3. **풀 리퀘스트를 제출하세요.** 리뷰어가 번역 정확성을 확인한 후 병합합니다.

대규모 기여(전체 섹션 번역이나 새 로케일 추가)의 경우, 먼저 이슈를 열어 팀과 조율하세요.

## WCPOS에서 사용하는 로케일 코드[​](#locale-codes-wcpos-uses "WCPOS에서 사용하는 로케일 코드으로 직접 링크")

WCPOS는 현재 10개의 로케일을 지원합니다. 문서 표에서는 지역 로케일에 하이픈으로 연결된 언어 태그를 사용하지만, i18next JSON 파일에서는 `pt_BR`에는 `pt-BR`, `zh_CN`에는 `zh-CN`과 같이 동등한 밑줄 형식을 사용하세요.

| 코드    | 언어                       |
| ------- | -------------------------- |
| `ar`    | 아랍어 *(오른쪽에서 왼쪽)* |
| `de`    | 독일어                     |
| `es`    | 스페인어                   |
| `fr`    | 프랑스어                   |
| `hi-IN` | 힌디어 (인도)              |
| `it`    | 이탈리아어                 |
| `ja`    | 일본어                     |
| `ko`    | 한국어                     |
| `pt-BR` | 포르투갈어 (브라질)        |
| `zh-CN` | 중국어 (간체)              |

목록에 해당 언어가 없는 경우, 번역을 시작하려는 저장소에 이슈를 등록해 주시면 해당 로케일을 설정해 드리겠습니다.

## 번역자 참고 사항[​](#translator-tips "번역자 참고 사항으로 직접 링크")

* **플레이스홀더를 그대로 유지하세요.** 문자열에는 종종 `{{variable}}`, `%s`, `%d` 또는 `<strong>` 태그 — 주변 텍스트는 번역하되 플레이스홀더는 그대로 유지하세요. WCPOS가 런타임에 실제 값으로 대체합니다.
* **기존 어조에 맞추세요.** WCPOS 문서와 UI는 실용적이고 직접적인 표현을 사용합니다. 영어 원문이 \*"Add Coupon"\*이라면, 번역은 해당 로케일에서 유사한 버튼에 사용하는 동사형이어야 합니다 — 명사형이 아닙니다.
* **가능하면 실제 환경에서 테스트하세요.** WordPress 사이트를 해당 로케일로 설정하고 플러그인을 설치한 후, 실제 UI에서 문자열이 올바르게 표시되는지 확인하세요. 맥락이 중요합니다 — 한 화면에서 잘 맞는 문자열이 다른 화면에서는 어색하게 줄바꿈될 수 있습니다.
* **코드, URL, 기술 ID는 번역하지 마세요.** 쿠폰 코드, 게이트웨이 ID, 로케일 코드, 파일 경로, 숏코드는 영어 그대로 유지합니다. 확실하지 않으면 번역하지 않는 것이 안전합니다 — 시스템이 의존하는 값을 손상시키는 것보다 낫습니다.
* **오른쪽에서 왼쪽(RTL) 언어** — 아랍어, 히브리어, 페르시아어, 우르두어 — 의 경우 영수증 템플릿도 RTL로 설정해야 합니다. WCPOS는 RTL 영수증 템플릿을 기본 제공합니다. 갤러리는 [영수증 맞춤 설정](/ko/receipts/customise.md)을 참고하세요.

## 도움을 요청할 수 있는 곳[​](#where-to-ask-for-help "도움을 요청할 수 있는 곳으로 직접 링크")

* **WordPress.org polyglots Slack** — Glotpress 관련 질문
* **WCPOS Discord** — WCPOS 관련 번역 논의 ([초대 링크](https://wcpos.com/discord))
* **GitHub 이슈** — 해당 리포지토리(`woocommerce-pos`, `woocommerce-pos-pro`, `monorepo`, 또는 `docs`)에 리포지토리별 질문을 등록하세요
