번역 기여
WCPOS는 세밀하게 조정된 규칙을 바탕으로 AI가 번역하며, 여러분과 같은 사용자의 참여로 더 나아집니다. 문자열이 변경되면 기계가 지원되는 모든 언어의 일관된 초벌 번역을 빠르게 만듭니다. 사람은 기계가 놓치는 뉘앙스와 맥락, 현지 관습을 살핍니다. 앱 전체를 번역할 필요도, 개발자일 필요도 없습니다. 이 페이지에서는 번역이 작동하는 방식과 변경을 제안할 곳을 설명합니다.
현재 WCPOS 번역이 작동하는 방식
번역 가능한 모든 문자열(캐셔용 앱, 데스크톱 앱, WordPress 관리자 화면, 플러그인의 PHP 문자열, 문서)은 하나의 자동화된 파이프라인을 거칩니다:
- 원본 문자열을 자동으로 추출해 중앙
wcpos/translations저장소에 모읍니다(문서의 경우 이wcpos/docs저장소에도 모읍니다). - AI가 엄격한 규칙에 따라 모든 지원 언어로 번역합니다. 자리표시자, 코드, 브랜드명, 메뉴 경로는 보존하고 화면에 표시되는 텍스트는 현지화합니다.
- 매일 번역 완성도 확인을 실행해 누락되거나 오래된 문자열을 찾아 번역 대기열에 자동으로 추가하므로 새 문자열과 변경된 문자열이 미번역 상태로 남지 않습니다.
- 모든 번역 묶음은 출시 전 사람의 검토를 위해 풀 리퀘스트로 제출됩니다. 승인된 번역은 출시 후 자동으로 전달됩니다. 앱에는 CDN을 통해, 플러그인에는 내장 번역 업데이트 기능을 통해 제공됩니다.
전체 과정이 자동화되어 있으므로 기여자가 처음부터 번역을 작성하는 경우는 드뭅니다. 대신 이미 있는 번역을 개선하면 됩니다. 어색한 표현이나 해당 언어의 WooCommerce 용어와 맞지 않는 용어, 맥락에 맞지 않는 레이블을 발견했나요? 수정 사항을 제안하면 모든 사용자에게 반영됩니다.
WCPOS는 플러그인 문자열에 WordPress 번역 사이트(GlotPress)를 사용했었습니다. 이제 완전히 사용하지 않습니다. 이전 작업 방식은 느리고 오래되었으며, 무엇보다 기계 번역을 허용하지 않아 대부분의 언어가 완성되지 않았습니다. 정교하게 조정된 AI 파이프라인은 더 많은 언어를 지원하고 자동으로 동기화되며 실제로 더 나은 결과를 제공합니다. 이전에 이곳에서 WCPOS를 번역해 주셨다면 감사합니다. 하지만 이제는 이곳에 기여하지 않습니다.
기여할 곳
개선하려는 항목에 따라 기여할 곳은 두 군데입니다:
앱 및 플러그인
POS 앱, 데스크톱 앱, WordPress 관리자 화면, 플러그인 자체의 모든 항목이 포함됩니다. JavaScript UI 문자열과 PHP 문자열 모두 해당합니다. 모두 하나의 저장소인 **wcpos/translations**에 있습니다. 기본적인 GitHub 사용법을 알면 도움이 됩니다.
문서
현재 읽고 있는 문서 사이트입니다. 번역된 MDX 파일은 wcpos/docs 저장소의 i18n/<locale>/에 있습니다. Markdown을 알면 도움이 됩니다.
앱 및 플러그인 번역 개선
앱과 플러그인의 모든 번역은 wcpos/translations 저장소에 있습니다. 다음 항목을 확인할 수 있습니다:
source/— 추출된 영어 문자열입니다. 앱과 플러그인에서 자동으로 생성되므로 수정하지 마세요.translations/js/<locale>/<project>/<namespace>.json— 번역된 UI 문자열입니다. 앱과 관리자 화면을 수정할 때 편집하는 파일입니다.translations/php/<locale>/— 번역된 플러그인 문자열입니다..po파일을 편집하세요. 나머지.mo및.l10n.php파일은 자동으로 생성되므로 수정하지 마세요.
JavaScript 문자열은 네 개의 <project> 폴더로 나뉩니다:
| 프로젝트 | 포함 항목 |
|---|---|
monorepo | 캐셔가 사용하는 POS 앱 — 버튼, 장바구니, 결제, 대화상자, 오류. |
electron | 데스크톱(Windows/macOS) 앱 셸. |
woocommerce-pos | 무료 플러그인의 WP Admin React 화면 — 설정, 템플릿, 로그 등. |
woocommerce-pos-pro | Pro 플러그인의 WP Admin React 화면 — 매장 편집기, Pro 설정. |
수정을 제안하는 방법:
- 문자열 찾기 — 언어 및 프로젝트에 해당하는 파일에서 문자열을 찾으세요. 예를 들어 독일어 앱 문자열은
translations/js/de_DE/monorepo/core.json, 독일어 플러그인 문자열은translations/php/de_DE/woocommerce-pos-de_DE.po에 있습니다. - 번역된 값을 수정하세요. JSON 키와 PHP
msgid, 그리고 모든{{interpolation}},%s,%d, 또는<tag>자리표시자는 그대로 두세요. - 풀 리퀘스트를 여세요. 한 줄 수정은 GitHub에서 연필 아이콘을 사용하면 풀 리퀘스트가 자동으로 열립니다. 검토자가 변경 사항을 확인하고 병합합니다.
아직 해당 언어가 없다면 새 언어 추가를 참조하세요.
문서 개선
문서 사이트는 Docusaurus의 표준 i18n 설정을 사용합니다. 영어 원본은 versioned_docs/에 있으며, AI 번역본은 wcpos/docs의 i18n/<locale>/docusaurus-plugin-content-docs/아래에 있습니다. 각 영어 페이지는 모든 활성 언어에 대응 페이지가 있습니다.
수정을 제안하는 방법:
- 해당 언어의 페이지를 여세요. 페이지 아래쪽에서 이 페이지 편집을 클릭하면 GitHub의 번역된 MDX 파일로 바로 이동합니다.
- 번역을 수정하세요. Markdown/MDX 구문, 링크, 코드 구간, 프런트매터 키는 그대로 두고 본문, 제목, 화면에 보이는 레이블을 번역하세요.
- 풀 리퀘스트를 여세요. 영어 원본인
versioned_docs/을 번역 수정 목적으로 편집하지 마세요. 번역은i18n/<locale>/아래의 파일만 수정하세요.
큰 규모의 기여(전체 섹션 또는 새 언어 시작)를 하려면 먼저 이슈를 열어 작업을 조율하세요.
새 언어 추가
앱과 플러그인은 이미 50개 이상의 언어 번역을 제공합니다(전체 목록은 locales.json 참조). 문서는 더 적은 언어를 제공하며 목록은 아래에 있습니다. 언어가 없거나 일부만 번역되어 있다면 해당 저장소에 이슈를 열어 언어를 추가할 수 있도록 알려 주세요. AI 파이프라인으로 새 언어를 빠르게 채운 다음 커뮤니티가 다듬으면 됩니다.
언어 코드
현재 문서는 다음 언어로 제공됩니다:
| 코드 | 언어 |
|---|---|
ar | 아랍어 (오른쪽에서 왼쪽으로 쓰는 언어) |
de | 독일어 |
es | 스페인어 |
fr | 프랑스어 |
hi-IN | 힌디어(인도) |
it | 이탈리아어 |
ja | 일본어 |
ko | 한국어 |
nl | 네덜란드어 |
pt-BR | 포르투갈어(브라질) |
zh-CN | 중국어(간체) |
언어 코드 형식 참고: 앱과 플러그인(wcpos/translations)은 폴더와 파일 이름에 밑줄 형식(de_DE, pt_BR, zh_CN)을 사용하며 기본 언어(de, fr, es)와 지역 변형(de_AT, fr_CA, es_MX)을 모두 포함합니다. 문서와 웹 언어 태그는 하이픈 형식(pt-BR, hi-IN, zh-CN)을 사용합니다. 편집하는 저장소에 맞는 형식을 사용하세요.
번역자 팁
아래 내용은 AI 파이프라인의 규칙과 같으므로 검토자도 동일한 항목을 확인합니다:
- 자리표시자를 그대로 유지하세요. 문자열에는 다음과 같은 항목이 포함될 수 있습니다
{{variable}},%s,%d, 또는<strong>태그가 있습니다. 주변 문구는 번역하되 자리표시자는 그대로 유지하세요. WCPOS가 실행 중 실제 값으로 대체합니다. - 브랜드 및 제품명을 정확히 유지하세요.
WCPOS,WCPOS Pro,WooCommerce,WordPress,Stripe,Stripe Terminal,SumUp은 그대로 둡니다. 고객에게 표시되는 문구에는 WCPOS를 사용하고, 기존 제품명은 슬러그와 URL 같은 기술 식별자에만 사용하세요. - 화면에 표시되는 UI 레이블을 현지화하세요. 메뉴, 설정, 버튼 레이블은 해당 언어에 자연스러워야 합니다. 해당 언어의 WordPress 및 WooCommerce에서 사용하는 표현을 따르세요(예를 들어
WP Admin > 설정 > 결제경로에는 현지화된 WordPress 메뉴 이름을 사용합니다). - 기존 어조에 맞추세요. WCPOS 문서와 UI는 실용적이고 직접적이며 격식 있는 중립 문체를 사용합니다. 영어가 *“Add Coupon”*이라면 명사 그대로 옮기지 말고 해당 언어의 유사한 버튼에 쓰이는 동사형을 사용하세요.
- 코드, URL, 기술 ID는 번역하지 마세요. 쿠폰 코드, 게이트웨이 ID, 언어 코드, 파일 경로, 쇼트코드는 영어 그대로 둡니다. 확실하지 않다면 시스템에서 사용하는 값을 잘못 바꾸는 것보다 번역하지 않는 편이 안전합니다.
- 가능하면 실제 화면에서 확인하세요. 사이트나 앱을 해당 언어로 설정하고 실제 화면에서 문자열을 살펴보세요. 한 화면에 잘 맞는 문구가 다른 화면에서는 어색하게 줄바꿈될 수 있습니다.
- 오른쪽에서 왼쪽(RTL) 언어 — 아랍어, 히브리어, 페르시아어, 우르두어 — 의 경우 영수증 템플릿도 RTL로 설정해야 합니다. WCPOS는 RTL 영수증 템플릿을 기본 제공합니다. 갤러리는 영수증 맞춤 설정을 참고하세요.
도움을 요청할 수 있는 곳
- WCPOS Discord — WCPOS 관련 번역 논의 (초대 링크)
- GitHub 이슈 — 앱과 플러그인은
wcpos/translations에, 문서는wcpos/docs에 등록하세요.