Salta ai contenuti

Internazionalizzazione

Aggiungi il supporto multilingue alla tua app. Usa la Proyecta Content API per la localizzazione editoriale, o chiedi all’AI di configurare un framework i18n direttamente nel codice.

Proyecta supporta due approcci complementari per internazionalizzare le app che costruisci:

  1. Localizzazione dei contenuti tramite la Proyecta Content API — per contenuti editoriali (post del blog, FAQ, testi marketing) che devono essere tradotti in più lingue
  2. i18n a livello di codice tramite un framework di traduzione — per le stringhe dell’interfaccia, date, valute e cambio di lingua a runtime

Entrambi funzionano oggi. Quale scegliere dipende da cosa stai traducendo.

Proyecta stesso viene distribuito con 24 lingue, quindi il prodotto conosce bene l’i18n. Gli stessi pattern si applicano alle app che costruisci al suo interno.

Opzione 1: Localizzazione dei contenuti (Proyecta Content API)

Sezione intitolata “Opzione 1: Localizzazione dei contenuti (Proyecta Content API)”

Se stai costruendo un sito ricco di contenuti — blog, knowledge base, pagine marketing, catalogo prodotti — usa il supporto nativo per le lingue della Content API.

// Create the locales you support
await proyecta.content.locales.create({
/* code: 'en', name: 'English' */
});
await proyecta.content.locales.create({
/* code: 'es', name: 'Español' */
});
await proyecta.content.locales.create({
/* code: 'fr', name: 'Français' */
});
// Then create entries that exist in multiple locales — fetch the right
// translation per request based on the user's locale.

Questa è la scelta giusta quando:

  • Gli editor che non scrivono codice hanno bisogno di tradurre i contenuti
  • Vuoi che le traduzioni siano versionabili
  • Hai bisogno di una pubblicazione per singola lingua (la pubblicazione programmata è in arrivo — al momento le voci richiedono la pubblicazione manuale tramite API)

Consulta Gestione dei contenuti per la documentazione completa della Content API.

Per le stringhe dell’interfaccia — etichette, pulsanti, messaggi di errore, date, valute — chiedi all’AI di configurare un framework i18n direttamente nel tuo progetto:

Add internationalization to my app.
Support English, Spanish, French, and Arabic.
Add message catalogs in src/locales/.
Add a language switcher in the header.
Use locale-prefixed URLs like /en/about and /es/about.
Make sure RTL layout works correctly for Arabic.

L’AI si occuperà di:

  1. Scegliere un framework — l’AI usa i18next con react-i18next (lo standard di Proyecta)
  2. Creare i file dei cataloghi in src/locales/ (un JSON per lingua)
  3. Wrappare i testi nelle chiamate t() (dall’hook useTranslation di react-i18next)
  4. Aggiungere un componente per il cambio lingua
  5. Configurare il routing degli URL con i prefissi di lingua
  6. Gestire i layout RTL (dir="rtl") per arabo, ebraico, ecc.
  7. Formattare numeri, date e valute in base alla lingua

Una volta che la lingua base è pronta, l’AI è molto efficace nel generare gli altri file di catalogo:

  • "Translate every string in src/locales/en.json into Spanish, French, German, and Japanese. Use natural, idiomatic phrasing — don't translate brand names."
  • "My app is fully built in English. Add Spanish translations for everything and an es/ route prefix."

Per contenuti ad alto rischio (testi legali, medici, finanziari), fai revisionare l’output dell’AI da un traduttore umano prima di pubblicare.

La maggior parte delle app reali usa entrambi: i18n a livello di codice per l’interfaccia (pulsanti, errori, navigazione), e la Content API per i contenuti editoriali (articoli, descrizioni di prodotti). Coesistono senza problemi — il tuo framework i18n gestisce i file di catalogo a build time, la Content API serve le voci localizzate a runtime.

  1. Scegli la lingua base e finalizza i testi per prima cosa. Tradurre un bersaglio in continuo movimento è frustrante.
  2. Traduci in batch. Non tradurre man mano — aspetta che una funzionalità sia stabile.
  3. Testa l’RTL presto se supporti arabo o ebraico. I bug RTL si nascondono finché non li cerchi davvero.
  4. Includi lang e dir sull’<html>. Browser e screen reader ne dipendono.
  5. Usa Intl per la formattazione. Non scrivere a mano la formattazione di date o valute — usa Intl.DateTimeFormat, Intl.NumberFormat.
  • UI di gestione delle lingue integrata nel builder — scegli le lingue, visualizza la copertura delle traduzioni, modifica i cataloghi senza uscire da Proyecta
  • Auto-traduzione al salvataggio per le nuove stringhe
  • Template di progetto pronti per l’i18n con il framework già configurato