Contribuire alle traduzioni
WCPOS attualmente include traduzioni per 10 lingue, con la possibilità di aggiungerne molte altre. I contributi sono molto graditi — non è necessario tradurre tutto e non è necessario essere sviluppatori. Questa pagina spiega cosa tradurre e dove.
I quattro luoghi che contengono le traduzioni
WCPOS distribuisce le stringhe traducibili in quattro repository, ciascuno con il proprio flusso di contribuzione. È possibile contribuire a ciascuno di essi in modo indipendente.
Plugin WordPress (stringhe PHP)
Avvisi di amministrazione, etichette della pagina impostazioni, messaggi di errore e interfaccia di WP Admin. Traduzione disponibile su translate.wordpress.org tramite GlotPress — il flusso di traduzione standard di WordPress. Non è richiesta alcuna competenza di programmazione.
App POS (React/i18next)
Tutto ciò che il cassiere vede al punto cassa — pulsanti, finestre di dialogo, messaggi di errore, interfaccia del carrello e del checkout. I file di traduzione si trovano nel repository wcpos/monorepo; i contributi vengono inviati tramite pull request. È utile una conoscenza di base di GitHub.
Schermate React di WP Admin
Le più recenti pagine basate su React per impostazioni, editor dei negozi, modelli, estensioni e registri. Le traduzioni si trovano in wcpos/woocommerce-pos (e in woocommerce-pos-pro per le schermate Pro) come file JSON. È utile una conoscenza di base di GitHub.
Questa documentazione (Docusaurus)
Il sito di documentazione che stai leggendo in questo momento. I file MDX tradotti si trovano nel repository wcpos/docs sotto i18n/<locale>/. I contributi vengono inviati tramite pull request. È utile conoscere Markdown.
Stringhe del plugin WordPress (il punto di partenza più semplice)
Se non hai mai tradotto un plugin WordPress prima d'ora, questo è il percorso con meno ostacoli:
- Trova la tua lingua su translate.wordpress.org/projects/wp-plugins/woocommerce-pos/ — ogni lingua supportata da WordPress ha un sotto-progetto.
- Accedi con il tuo account WordPress.org (lo stesso che usi per commentare nei forum di supporto). Creane uno gratuitamente se non lo possiedi.
- Scegli un sotto-progetto — in genere vedrai:
- Stable (latest release) — stringhe incluse nella versione pubblica corrente. Le traduzioni effettuate qui diventano attive su ogni sito che aggiorna il plugin.
- Development (trunk) — stringhe della prossima versione. Traducile per essere pronti prima del rilascio successivo.
- Stable Readme / Development Readme — la descrizione del plugin che appare su WordPress.org.
- Invia le traduzioni una stringa alla volta tramite l'interfaccia GlotPress. Inizialmente vengono contrassegnate come Suggested fino all'approvazione da parte di un Project Translation Editor (PTE).
- Diventare PTE richiedendolo nel canale Slack dei polyglots di WordPress dopo aver ricevuto l'approvazione di alcune traduzioni. I PTE possono approvare le traduzioni direttamente senza attendere la revisione.
Una volta approvate, le traduzioni vengono distribuite automaticamente a tutti gli utenti WCPOS nella propria lingua — senza modifiche al codice, senza PR.
Traduzioni dell'app POS (l'interfaccia React)
L'interfaccia utente rivolta al cassiere è un'app React che utilizza i18next per le traduzioni, rinnovata nella v1.8.8. I file di traduzione sono in formato JSON nel repository wcpos/monorepo (il core multipiattaforma del POS).
La configurazione offre due funzionalità utili:
- Caricamento su richiesta — solo la lingua attiva viene scaricata a runtime (dalla CDN di jsDelivr), così l'aggiunta di una lingua non appesantisce i download per tutti gli altri.
- Fallback regionale — i nomi dei file JSON di i18next utilizzano i trattini bassi:
pt_BRricade supt,es_MXricade sues, ecc. I tag lingua nella documentazione e sul web utilizzano invece i trattini, comept-BRoes-MX. Utilizzare la forma con trattino basso per i file JSON di traduzione e la forma con trattino dove sono richiesti i tag lingua.
Per contribuire:
- Trovare il file sorgente en in
wcpos/monoreponella directory dei pacchetti di traduzione (il percorso esatto può variare — il modo più semplice è avviare una nuova traduzione aprendo una issue nel repository e chiedendo quale file copiare). - Copiare
en.jsonin<your-locale>.jsonseguendo la convenzione i18next per i nomi dei file JSON delle lingue (fr.json,de.json,pt_BR.json, ecc.; usare i trattini bassi per i nomi dei file regionali). - Tradurre i valori, lasciando invariate le chiavi e tutti i segnaposto
{{interpolation}}. - Inviare una pull request al monorepo. La CI verificherà la struttura JSON.
Per modifiche minori a una traduzione esistente, è possibile modificare il file JSON direttamente su GitHub tramite l'icona della matita — GitHub aprirà automaticamente una PR.
Schermate React di WP Admin
Le impostazioni di amministrazione di WordPress, l'editor dei Negozi, la pagina dei Modelli, il catalogo delle Estensioni e i Registri utilizzano lo stesso schema di traduzione dell'app POS, ma risiedono in due repository separati:
- Schermate di amministrazione gratuite —
wcpos/woocommerce-posrepository, al percorsopackages/settings/src/translations/locales/<locale>/wp-admin-settings.json(e percorsi simili per gli altri pacchetti di amministrazione; usare cartelle di localizzazione con trattini bassi comept_BRper le localizzazioni JSON regionali). - Schermate admin Pro —
wcpos/woocommerce-pos-prorepository, con lo stesso schema (ad es.packages/store-edit/src/translations/locales/<locale>/wp-admin-store-edit.json, con cartelle locale con trattino basso comept_BR).
Il flusso di contribuzione è lo stesso dell'app POS: copiare en.json in <your-locale>.json, tradurre e aprire una PR.
Documentazione (queste pagine)
Il sito della documentazione utilizza la configurazione i18n standard di Docusaurus. I file MDX tradotti si trovano nel repository wcpos/docs sotto i18n/<locale>/docusaurus-plugin-content-docs/current/. Ogni pagina inglese in versioned_docs/version-1.x/ ha una corrispondente in ogni locale di traduzione attivo.
Il sito dispone già di strumenti di traduzione automatica — è presente uno script pnpm translate che utilizza le API di OpenAI / Anthropic per generare bozze di traduzione dall'inglese, che un revisore umano perfeziona. Il flusso di contribuzione tipico è quindi:
- Scegliere una pagina che necessita di traduzione o miglioramento. Il selettore della lingua nel piè di pagina del sito mostra quali lingue sono attive.
- Modificare il file MDX corrispondente in
i18n/<locale>/...direttamente su GitHub tramite il link Modifica questa pagina in fondo a ogni pagina. - Inviare una pull request. I revisori verificheranno l'accuratezza della traduzione e procederanno al merge.
Per contributi più ampi (traduzione di un'intera sezione o avvio di una nuova lingua), aprire prima una issue per coordinarsi con il team.
Codici di localizzazione utilizzati da WCPOS
WCPOS attualmente include queste 10 lingue. La tabella della documentazione utilizza tag linguistici con trattino per le varianti regionali; per i file JSON di i18next utilizzare la forma equivalente con underscore, ad esempio pt_BR per pt-BR e zh_CN per zh-CN.
| Codice | Lingua |
|---|---|
ar | Arabo (da destra a sinistra) |
de | Tedesco |
es | Spagnolo |
fr | Francese |
hi-IN | Hindi (India) |
it | Italiano |
ja | Giapponese |
ko | Coreano |
pt-BR | Portoghese (Brasile) |
zh-CN | Cinese (Semplificato) |
Se la propria lingua non è presente nell'elenco, aprire una issue nel repository desiderato e la locale verrà configurata.
Suggerimenti per i traduttori
- Mantenere intatti i segnaposto. Le stringhe spesso contengono
{{variable}},%s,%d, oppure<strong>tag — tradurre il testo circostante ma lasciare i segnaposto esattamente come sono. WCPOS sostituisce i valori reali in questi segnaposto al momento dell'esecuzione. - Mantenere il tono esistente. La documentazione e l'interfaccia di WCPOS sono volutamente pratiche e dirette. Se l'inglese dice "Add Coupon", la traduzione deve usare la forma verbale che la propria lingua utilizza su pulsanti simili, non un sostantivo.
- Verificare nel contesto, se possibile. Impostare il sito WordPress sulla propria lingua, installare il plugin e verificare che le stringhe appaiano correttamente nell'interfaccia reale. Il contesto è importante: una stringa che sta bene in una schermata può andare a capo in modo inadeguato in un'altra.
- Non tradurre codice, URL o identificativi tecnici. Codici coupon, ID dei gateway, codici lingua, percorsi dei file e shortcode restano in inglese. In caso di dubbio, lasciare il testo non tradotto: è più sicuro che alterare qualcosa da cui il sistema dipende.
- Lingue da destra a sinistra (RTL) — arabo, ebraico, persiano, urdu — richiedono anche che i modelli di scontrino siano contrassegnati come RTL. WCPOS include modelli di scontrino RTL predefiniti; consultare Personalizzare lo scontrino per la galleria.
Dove chiedere aiuto
- Slack polyglots di WordPress.org — per domande relative a Glotpress
- Discord di WCPOS — per discussioni sulle traduzioni specifiche di WCPOS (invito)
- Issue su GitHub — aprire una segnalazione nel repository pertinente (
woocommerce-pos,woocommerce-pos-pro,monorepoodocs) per domande specifiche sul repository