# Contribuindo com Traduções

O WCPOS é traduzido por IA, guiado por um conjunto de regras cuidadosamente ajustadas — e aprimorado por pessoas como você. A máquina produz uma primeira versão completa e consistente em todos os idiomas suportados logo após a alteração de uma string; as pessoas captam as nuances, o contexto e as convenções locais que a máquina não percebe. Não é necessário traduzir um aplicativo inteiro, nem ser desenvolvedor para ajudar. Esta página explica como o processo funciona e onde sugerir uma alteração.

## Como as traduções do WCPOS funcionam atualmente[​](#how-wcpos-translations-work-now "Link direto para Como as traduções do WCPOS funcionam atualmente")

Todas as strings traduzíveis — o aplicativo voltado para o operador de caixa, o aplicativo desktop, as telas de administração do WordPress, as strings PHP do plugin e esta documentação — passam por um único pipeline automatizado:

1. **As strings de origem são extraídas automaticamente** dos aplicativos, plugin e documentação para o repositório central [`wcpos/translations`](https://github.com/wcpos/translations) (e, para a documentação, este repositório [`wcpos/docs`](https://github.com/wcpos/docs)).
2. **A IA as traduz para todos os idiomas suportados**, seguindo um conjunto rigoroso de regras que preserva placeholders, código, nomes de marcas e caminhos de menu enquanto localiza o texto visível.
3. **Uma verificação diária de completude** busca strings ausentes ou desatualizadas e as enfileira automaticamente para tradução, garantindo que strings novas ou alteradas não fiquem sem tradução.
4. **Cada lote é enviado em um pull request para revisão humana** antes de ser publicado. As traduções aprovadas são então liberadas e entregues automaticamente — para os aplicativos via CDN e para o plugin por meio do atualizador de traduções integrado.

Como todo o ciclo é automatizado, o papel do contribuidor raramente é traduzir a partir de um arquivo em branco — é **aprimorar uma tradução que já existe**. Encontrou uma frase estranha, um termo que deveria corresponder ao que o WooCommerce usa no seu idioma, ou um rótulo que não faz sentido no contexto? Sugira uma correção e ela será distribuída para todos.

Não utilizamos mais o translate.wordpress.org

O WCPOS costumava depender do site de tradução do WordPress (GlotPress) para as strings do plugin. **Abandonamos completamente esse método.** Esse fluxo de trabalho é lento e ultrapassado e — o mais importante — não permite tradução automática, então a maioria dos idiomas nunca foi concluída. Um pipeline de IA ajustado cobre muito mais idiomas, mantém-se sincronizado automaticamente e produz resultados melhores na prática. Se você já traduziu o WCPOS lá antes, obrigado — mas não é mais ali que as contribuições devem ser feitas.

## Onde contribuir[​](#where-to-contribute "Link direto para Onde contribuir")

Existem apenas dois lugares, dependendo do que você deseja melhorar:

#### Aplicativos e plugin

Tudo no aplicativo POS, no aplicativo desktop, nas telas de administração do WordPress e no próprio plugin — tanto as strings de UI em JavaScript quanto as strings em PHP. Tudo está em um único repositório: **[wcpos/translations](https://github.com/wcpos/translations)**. *Familiaridade básica com o GitHub é útil.*

#### Esta documentação

O site de documentação que você está lendo agora. Os arquivos MDX traduzidos ficam no repositório **[wcpos/docs](https://github.com/wcpos/docs)**, no diretório `i18n/<locale>/`. *Conhecimento de Markdown é útil.*

## Melhorando as traduções do aplicativo e do plugin[​](#improving-app-and-plugin-translations "Link direto para Melhorando as traduções do aplicativo e do plugin")

Todas as traduções do aplicativo e do plugin estão no repositório [`wcpos/translations`](https://github.com/wcpos/translations). Você encontrará:

* **`source/`** — as strings em inglês extraídas. **Não edite estes arquivos** — eles são gerados automaticamente a partir dos aplicativos e do plugin.
* **`translations/js/<locale>/<project>/<namespace>.json`** — as strings de interface traduzidas. É isso que você edita para corrigir os aplicativos e as telas de administração.
* **`translations/php/<locale>/`** — as strings traduzidas do plugin. Edite o arquivo **`.po`**; os arquivos `.mo` e `.l10n.php` ao lado dele são gerados automaticamente, então não os modifique.

As strings JavaScript são divididas em quatro `<project>` pastas:

| Projeto               | O que abrange                                                                                   |
| --------------------- | ----------------------------------------------------------------------------------------------- |
| `monorepo`            | O aplicativo POS que o operador de caixa utiliza — botões, carrinho, checkout, diálogos, erros. |
| `electron`            | O shell do aplicativo desktop (Windows/macOS).                                                  |
| `woocommerce-pos`     | As telas React do WP Admin do plugin gratuito — Configurações, Modelos, Logs, etc.              |
| `woocommerce-pos-pro` | As telas React do WP Admin do plugin Pro — Editor de lojas, Configurações Pro.                  |

**Para sugerir uma correção:**

1. **Encontre a string** no arquivo do seu idioma e projeto — por exemplo, `translations/js/de_DE/monorepo/core.json` para uma string do aplicativo em alemão, ou `translations/php/de_DE/woocommerce-pos-de_DE.po` para uma string do plugin em alemão.
2. **Edite o valor traduzido.** Mantenha as chaves JSON, PHP `msgid` e quaisquer `{{interpolation}}`, `%s`, `%d`, ou `<tag>` placeholders exatamente como estão.
3. **Abra um pull request.** Para uma correção de uma linha, você pode usar o ícone de lápis no GitHub e ele abrirá o PR para você. Os revisores verificam a alteração e fazem o merge.

Se o seu idioma ainda não está disponível, consulte [Adicionando um novo idioma](#adding-a-new-language).

## Melhorando esta documentação[​](#improving-these-docs "Link direto para Melhorando esta documentação")

O site de documentação usa a configuração padrão de i18n do Docusaurus. O código-fonte em inglês fica em `versioned_docs/`, e as cópias traduzidas por IA ficam em [`wcpos/docs`](https://github.com/wcpos/docs) em `i18n/<locale>/docusaurus-plugin-content-docs/`. Cada página em inglês tem uma correspondente em todos os idiomas ativos.

**Para sugerir uma correção:**

1. **Abra a página** no seu idioma e clique em **Editar esta página** na parte inferior — isso levará você diretamente ao arquivo MDX traduzido no GitHub.
2. **Edite a tradução.** Mantenha a sintaxe Markdown/MDX, links, code spans e chaves de frontmatter intactos — traduza o texto, títulos e rótulos visíveis.
3. **Abra um pull request.** Não edite o código-fonte em inglês em `versioned_docs/` para "corrigir" uma tradução — apenas o arquivo em `i18n/<locale>/`.

Para uma contribuição maior — uma seção inteira ou iniciar um novo idioma — abra uma issue primeiro para que possamos coordenar.

## Adicionando um novo idioma[​](#adding-a-new-language "Link direto para Adicionando um novo idioma")

Os aplicativos e o plugin já incluem traduções para **mais de 50 idiomas** (consulte [`locales.json`](https://github.com/wcpos/translations/blob/main/locales.json) para a lista completa). A documentação é publicada em um conjunto menor, listado abaixo. Se o seu idioma não está disponível — ou está apenas parcialmente coberto — abra uma issue no repositório correspondente e configuraremos o idioma. O pipeline de IA pode preencher um novo idioma rapidamente; a partir daí, é uma questão de a comunidade refiná-lo.

## Códigos de idioma[​](#locale-codes "Link direto para Códigos de idioma")

Esta documentação está atualmente publicada nos seguintes idiomas:

| Código  | Idioma                               |
| ------- | ------------------------------------ |
| `ar`    | Árabe *(da direita para a esquerda)* |
| `de`    | Alemão                               |
| `es`    | Espanhol                             |
| `fr`    | Francês                              |
| `hi-IN` | Hindi (Índia)                        |
| `it`    | Italiano                             |
| `ja`    | Japonês                              |
| `ko`    | Coreano                              |
| `nl`    | Holandês                             |
| `pt-BR` | Português (Brasil)                   |
| `zh-CN` | Chinês (Simplificado)                |

Uma observação sobre formatos de código de localidade: os aplicativos e o plugin (`wcpos/translations`) usam o formato com **underscore** para pastas e nomes de arquivos — `de_DE`, `pt_BR`, `zh_CN` — e incluem tanto idiomas base (`de`, `fr`, `es`) quanto variantes regionais (`de_AT`, `fr_CA`, `es_MX`). A documentação e as tags de idioma da web usam o formato com **hífen** — `pt-BR`, `hi-IN`, `zh-CN`. Use o formato correspondente ao repositório que você está editando.

## Dicas para tradutores[​](#translator-tips "Link direto para Dicas para tradutores")

Estas refletem as regras que o pipeline de IA segue, portanto são os mesmos pontos que um revisor verificará:

* **Mantenha os placeholders intactos.** As strings frequentemente contêm `{{variable}}`, `%s`, `%d`, ou `<strong>` tags — traduza o texto ao redor, mas mantenha os placeholders exatamente como estão. O WCPOS substitui valores reais nesses placeholders em tempo de execução.
* **Mantenha nomes de marcas e produtos exatos.** `WCPOS`, `WCPOS Pro`, `WooCommerce`, `WordPress`, `Stripe`, `Stripe Terminal` e `SumUp` permanecem como estão. Use **WCPOS** em textos voltados ao cliente — não "WooCommerce POS", que pertence apenas a identificadores técnicos como slugs e URLs.
* **Localize os rótulos visíveis da interface.** Rótulos de menus, rótulos de configurações e textos de botões devem soar naturalmente no seu idioma — use os mesmos termos que o WordPress e o WooCommerce já utilizam no seu idioma (por exemplo, um breadcrumb `WP Admin > Configurações > Pagamentos` deve usar os nomes de menu do WordPress no seu idioma).
* **Mantenha o tom existente.** A documentação e a interface do WCPOS são deliberadamente práticas e diretas, e utilizam um registro formal/neutro. Se o inglês diz *"Add Coupon"*, use a forma verbal que o seu idioma utiliza em botões semelhantes — não uma tradução literal como substantivo.
* **Não traduza código, URLs ou IDs técnicos.** Códigos de cupom, IDs de gateway, códigos de idioma, caminhos de arquivo e shortcodes permanecem em inglês. Em caso de dúvida, deixe sem traduzir — isso é mais seguro do que alterar algo de que o sistema depende.
* **Teste no contexto, se possível.** Configure seu site ou aplicativo para o seu idioma e verifique a string na tela real. Uma frase que cabe em uma tela pode quebrar de forma inadequada em outra.
* **Idiomas da direita para a esquerda (RTL)** — árabe, hebraico, persa, urdu — também precisam que os modelos de recibo sejam marcados como RTL. O WCPOS inclui modelos de recibo RTL integrados; consulte [Personalize seu recibo](/pt-BR/receipts/customise.md) para a galeria.

## Onde pedir ajuda[​](#where-to-ask-for-help "Link direto para Onde pedir ajuda")

* **Discord do WCPOS** — para discussões e dúvidas sobre tradução ([convite](https://wcpos.com/discord)).
* **Issues no GitHub** — registre em [`wcpos/translations`](https://github.com/wcpos/translations/issues) para os aplicativos e o plugin, ou em [`wcpos/docs`](https://github.com/wcpos/docs/issues) para a documentação.
