Torna al blog
Side-by-side illustration comparing a WordPress multilingual admin interface on the left with a JSON translation API workflow on the right.

PolyLingo vs Polylang: qual è la differenza e quando usare ciascuno

By Robert M

PolyLingo vs Polylang: qual è la differenza e quando usare ciascuno

Se sei arrivato qui, probabilmente ti trovi in una di due situazioni: sei soddisfatto di Polylang all'interno di WordPress ma ti chiedi se esiste qualcosa di equivalente per un progetto che non è su WordPress, oppure stai migrando completamente da WordPress e stai cercando di capire cosa succede alla tua configurazione multilingue.

Questo post risponde direttamente a entrambe le domande. Copriremo cosa fa effettivamente ogni strumento, dove si inserisce ciascuno e come scegliere tra loro.


Cos'è Polylang (e cosa non è)

Polylang è un plugin per WordPress. È uno dei migliori plugin multilingua nell'ecosistema WordPress. Gestisce i selettori di lingua, ti permette di creare versioni tradotte di post e pagine, gestisce i tag hreflang e si integra perfettamente con l'editor a blocchi di WordPress. Se gestisci un sito WordPress, è uno strumento serio, ben mantenuto e c'è un buon motivo se ha milioni di installazioni attive.

La limitazione è proprio nella descrizione: è un plugin per WordPress. Non ha un'API che puoi chiamare dall'esterno di WordPress. Non ha il concetto di un file locale JSON, un file di contenuto Markdown o un template HTML in un progetto Next.js. Il suo intero modello presume che il contenuto risieda nel database di WordPress e venga renderizzato da WordPress.

Non è una critica. È solo l'ambito dello strumento.


Cos'è PolyLingo

PolyLingo è un'API di traduzione. Gli invii contenuti (testo semplice, Markdown, JSON o HTML) e restituisce versioni tradotte in tutte le lingue che richiedi, in una singola richiesta. Non ha opinioni sul tuo CMS, sul tuo framework o sulla tua configurazione di deployment. Funziona ovunque tu possa fare una richiesta HTTP.

L'obiettivo principale di progettazione è la preservazione del formato. La maggior parte delle API di traduzione è costruita attorno alle frasi: invii una stringa, ricevi una stringa indietro. Quel modello si rompe rapidamente quando il tuo contenuto ha una struttura. Incolla un file locale JSON in un servizio di traduzione tipico e otterrai nomi di chiavi tradotti, delimitatori corrotti o prosa dove prima c'era un oggetto. PolyLingo considera la struttura off-limits. Solo i valori stringa cambiano; tutto il resto torna esattamente com'era inviato.

Un esempio concreto. Invi questo:

{"btn": {"save": "Save", "cancel": "Cancel"}}

Un traduttore orientato alle frasi potrebbe restituirti:

{"button": {"save": "Guardar", "cancel": "Cancelar"}}

La chiave btn è diventata button. Questo romperà la tua applicazione. PolyLingo ti dà:

{"btn": {"save": "Guardar", "cancel": "Cancelar"}}

Chiavi intatte. Solo i valori tradotti.

Lo stesso principio si applica a Markdown (le intestazioni rimangono intestazioni, i blocchi di codice sono lasciati verbatim, gli URL dei link non cambiano) e HTML (tag e attributi sono preservati, solo i nodi di testo e gli attributi appropriati sono tradotti).


La vera differenza: ambito

Il modo più semplice per dirlo:

Polylang gestisce contenuti multilingua all'interno di WordPress. È uno strato CMS. Gestisce quale post è la versione spagnola di quale post inglese, genera selettori di lingua e mantiene le traduzioni sincronizzate quando aggiorni il contenuto.

PolyLingo traduce contenuti strutturati tramite un'API. È uno strato di traduzione. Gli fornisci contenuti, restituisce traduzioni. Cosa fai con quelle traduzioni dipende da te.

Risolvono problemi adiacenti, non lo stesso problema. Ecco perché il confronto non è davvero "qual è migliore" ma "quale problema ho."


Quando usare Polylang

  • Il tuo sito gira su WordPress e vuoi rimanere su WordPress
  • Hai bisogno di un flusso di lavoro di gestione dei contenuti: editor che passano tra versioni linguistiche, tracciamento dello stato della traduzione, selettori di lingua nel tema
  • Non sei uno sviluppatore e vuoi una soluzione guidata dall'interfaccia utente
  • Usi WooCommerce e hai bisogno che la traduzione dei prodotti sia gestita all'interno di WordPress

Polylang è eccellente in tutto questo. Se WordPress è il tuo stack, è lo strumento giusto.


Quando usare PolyLingo

  • Stai costruendo su Next.js, Nuxt, SvelteKit, Astro o qualsiasi altro framework non WordPress
  • Usi un CMS headless (Contentful, Sanity, Prismic) e devi tradurre contenuti al momento della pubblicazione o tramite webhook
  • I tuoi contenuti risiedono in file locale JSON che devono essere tradotti senza corrompere la struttura delle chiavi
  • Stai migrando da WordPress e vuoi portare con te il tuo flusso di lavoro multilingua
  • Hai contenuti Markdown (post del blog, documentazione, descrizioni di prodotti) e hai bisogno di versioni tradotte che non rompano la formattazione
  • Vuoi tradurre in più lingue in una singola chiamata API invece di fare una chiamata per ogni lingua

L'endpoint /translate di PolyLingo accetta un array targets, quindi una richiesta può restituire tutte e 36 le lingue supportate in una volta. Per un file locale che deve essere distribuito in dieci lingue, è una chiamata API invece di dieci.


E la migrazione da WordPress?

Se stai spostando un sito WordPress a una configurazione headless o statica, i tuoi contenuti Polylang non ti seguono automaticamente. Le traduzioni sono memorizzate come metadata dei post di WordPress e non si esportano pulitamente in file Markdown o strutture JSON.

Il percorso pratico che la maggior parte dei team segue:

  1. Esporta i tuoi contenuti WordPress in Markdown o JSON (strumenti come wordpress-export-to-markdown gestiscono la parte meccanica)
  2. Usa PolyLingo per tradurre i contenuti esportati nelle lingue target
  3. Conserva i file risultanti nella tua nuova struttura di contenuti accanto alla lingua sorgente

L'endpoint batch di PolyLingo (POST /translate/batch) è costruito proprio per questo. Puoi inviare fino a 100 elementi di contenuto in una singola richiesta, ciascuno con il proprio formato, tutti condividendo lo stesso set di lingue target. Per una migrazione di sito con centinaia di pagine, è lo strumento giusto per il lavoro.


Riepilogo affiancato

PolyLingoPolylang
Funziona senza WordPressNo
Preservazione del formato (JSON, Markdown, HTML)Solo contenuti WordPress
Una richiesta, tutte le lingueNo
Accesso REST APINo
UI di gestione contenutiUI traduttore (no-code)Admin WordPress completo
Rileva automaticamente il formato del contenutoN/A
Supporto lingue RTL
Fatturazione basata sull'usoPlugin gratuito / tariffa fissa Polylang Pro

Versione breve

Se sei su WordPress e rimani su WordPress: usa Polylang. È costruito per quell'ambiente ed è bravo in questo.

Se sei fuori WordPress, stai lasciando WordPress o stai costruendo qualcosa che non è WordPress: PolyLingo ti offre lo stesso flusso di lavoro multilingue strutturato tramite un'API che funziona con qualunque cosa tu stia costruendo.

I due strumenti possono anche coesistere. Alcuni team usano Polylang sul loro sito marketing principale (che rimane su WordPress) e usano PolyLingo per il sito della documentazione, le stringhe UI della loro app web o i template email. Il flusso di lavoro è lo stesso; lo stack non deve esserlo.


Provalo

Il piano gratuito di PolyLingo include 100.000 token al mese. È sufficiente per diversi post di blog in dieci lingue, o un file locale di medie dimensioni in 36 lingue. Non serve carta di credito.

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "# Welcome\n\nTranslate **any format** without breaking the structure.",
    "format": "markdown",
    "targets": ["es", "fr", "de", "ja"]
  }'

Inizia a tradurre gratis