Base di conoscenza
Risposte alle domande più comuni sulla localizzazione di app, documentazione e contenuti con General Translation.
Internazionalizzazione
Configurare l’i18n in una base di codice: librerie, framework e componenti.
- General Translation, Babel e Flask-Babel a confronto: quale scegliere?Babel formatta date, numeri e valute per qualsiasi impostazione regionale e gestisce i cataloghi gettext, mentre Flask-Babel lo integra con Flask, ma nessuno dei due traduce le tue stringhe. La CLI di General Translation popola i file PO di Babel per ogni lingua, forme plurali incluse, così puoi continuare a usare Flask-Babel e smettere di tradurre i cataloghi a mano.
- General Translation vs. vue-i18n: quale scegliere?General Translation consente ai team Vue di scrivere il testo sorgente direttamente nei modelli e di generare le traduzioni con la CLI. Il suo plugin gt-vue renderizza questi contenuti con una formattazione locale-aware di plurali e numeri. Sceglilo per eliminare la manutenzione dei file sorgente basati su chiavi; vue-i18n resta una scelta valida per i team che usano il modulo i18n di Nuxt e un flusso di lavoro consolidato basato su cataloghi.
- General Translation vs. Rails I18n: servono entrambi?Rails I18n recupera i messaggi e formatta date e numeri. General Translation genera le traduzioni, le mantiene aggiornate man mano che il testo in inglese cambia e offre al tuo team una Dashboard per la revisione. Usali insieme per distribuire cataloghi Rails tradotti a ogni rilascio.
- General Translation vs. nestjs-i18n: quale scegliere?nestjs-i18n risolve la lingua di ogni richiesta in un'app NestJS e renderizza i messaggi a partire da cataloghi JSON o YAML separati per lingua, ma non traduce nulla. La CLI di General Translation traduce quei cataloghi e la sua libreria gt-node traduce i contenuti che esistono solo a runtime: puoi quindi continuare a usare nestjs-i18n e affiancargli General Translation.
- General Translation vs. i18next, react-intl e next-intl: quale libreria i18n scegliere?Le librerie open source come i18next, react-intl e next-intl non traducono nulla. Si limitano a visualizzare le traduzioni che fornisci in un file di catalogo per ciascuna lingua, scritte da te, dai tuoi traduttori o da un servizio esterno. Anche le librerie di General Translation sono open source e svolgono lo stesso compito, ma General Translation si occupa anche della traduzione, usando il tuo codice come contesto.
- General Translation vs. GNU gettext: servono entrambi?Mantieni GNU gettext per l'estrazione e il rendering e aggiungi General Translation per generare e mantenere aggiornati i file PO. General Translation tiene conto delle note per i traduttori e del contesto dei messaggi in fase di generazione, applica una terminologia condivisa e mette a disposizione dei revisori un editor nella Dashboard. Le chiamate gettext esistenti e i cataloghi compilati restano al loro posto.
- General Translation o Symfony Translation: quale scegliere?Symfony Translation renderizza i messaggi in PHP e Twig. General Translation traduce i suoi cataloghi YAML in CI, li mantiene aggiornati man mano che la sorgente cambia e offre ai revisori una Dashboard per modificarli. Mantieni il rendering di Symfony e aggiungi la traduzione automatica al tuo flusso di lavoro di rilascio.
- General Translation o Paraglide JS: quale scegliere?Scegli General Translation per mantenere i testi inline e generare traduzioni basate sulla struttura dei tuoi componenti React, su una terminologia condivisa e sulla revisione nella Dashboard. Scegli Paraglide JS per funzioni di messaggio compilate e tipizzate, con tree-shaking per singolo messaggio. Paraglide renderizza i tuoi cataloghi; General Translation collega i testi sorgente alla generazione delle traduzioni e ai successivi aggiornamenti.
- General Translation o Mobility: quale scegliere?Mobility salva nel tuo database gli attributi tradotti dei modelli. General Translation genera queste traduzioni tramite la sua API, usando il tuo Glossario e i tuoi prompt personalizzati. Usali insieme per tradurre schede prodotto, post e altri contenuti del database senza rinunciare ai tuoi modelli Rails.
- General Translation o Lingui: quale scegliere?Scegli General Translation per mantenere i testi inline come con Lingui e generare le traduzioni usando la struttura JSX come contesto. Lingui estrae i messaggi inline in cataloghi che i tuoi traduttori o un servizio collegato dovranno tradurre. La CLI di General Translation aggiorna le traduzioni man mano che il codice cambia e il tuo team le revisiona nella Dashboard.
- General Translation o Intlayer: quale scegliere?Intlayer conserva il contenuto di ogni componente in un file di dichiarazione tipizzato posto accanto al componente stesso, con tutte le lingue scritte una accanto all'altra, e può completare le lingue mancanti con un provider di IA da te configurato. General Translation mantiene i testi inline nei componenti in un'unica lingua e genera le altre lingue sfruttando il contesto del tuo codice.
- General Translation e il framework di traduzione di Django: servono entrambi?Usa insieme il framework di traduzione di Django e General Translation. Django si occupa dell'estrazione dei messaggi, della selezione della lingua e del rendering. General Translation compila i suoi file PO, forme plurali comprese, con la terminologia del tuo prodotto e la revisione nella Dashboard. I tuoi template e i modelli di URL restano invariati, mentre le traduzioni si aggiornano di pari passo con il codice.
- Cosa devo verificare prima di lanciare un'app multilingue?Prima di lanciare un'app multilingue, verifica nove aspetti in ogni impostazione regionale supportata: percorsi utente completi, inclusi gli errori, rilevamento e cambio di lingua, variabili e plurali, valuta e fusi orari, espansione del testo, layout right-to-left, accessibilità, distribuzione delle traduzioni in produzione e URL per lingua scansionabili ai fini SEO. Per ogni verifica serve un criterio di superamento esplicito.
- Conviene creare un sistema i18n in autonomia o usare General Translation?Un sistema i18n fatto in casa (un dizionario per lingua e un piccolo helper t()) va bene per una o due lingue e pochi testi. Man mano che l'app cresce, ti ritrovi a ricostruire regole del plurale, fallback e sincronizzazione dei file, e le traduzioni vanno comunque prodotte. Le librerie open source di General Translation si occupano del rendering, mentre General Translation genera e aggiorna le traduzioni a partire dal tuo codice.
- Alternative a react-intl: General Translation o react-intlGeneral Translation consente ai team React di mantenere la sintassi dei messaggi ICU, aggiungendo la generazione delle traduzioni, una terminologia condivisa e la revisione nella Dashboard. react-intl fornisce la formattazione e gli strumenti di FormatJS per la gestione dei cataloghi; General Translation, invece, produce anche le traduzioni.
- Alternative a i18next: General Translation vs. i18nextScegli General Translation per mantenere i testi inline nei componenti React e generare le traduzioni sfruttando la struttura JSX e il contesto del prodotto. In alternativa, puoi continuare a usare i18next e affidarti a General Translation per tradurre i cataloghi esistenti. i18next si occupa del rendering dei messaggi e della selezione dei plurali, mentre la generazione delle traduzioni è affidata a un servizio separato.
- Posso fare i18n senza file di traduzione?Sì. Con gt-react o gt-next, i contenuti restano inline nei tuoi componenti, all'interno di un componente <T>, e le traduzioni vengono generate come output in fase di compilazione. Non ci sono quindi chiavi né file JSON per ogni impostazione regionale da scrivere e mantenere sincronizzati.Video
- Come si traduce il testo condizionale in JSX?Anziché tradurre separatamente i due rami di un operatore ternario, racchiudi l'intera frase in un componente <T> ed esprimi la condizione con <Branch>, così il traduttore vede il contesto completo e può riordinare la frase in base alla lingua.Video
Formattazione per impostazione regionale
Plurali, date, numeri, valute e testo right-to-left per ogni impostazione regionale.
Traduzione
Traduzione automatica e basata sull’IA, qualità, contesto e glossari.
SEO multilingue
Routing delle impostazioni regionali, hreflang, sitemap e metadati tradotti per siti multilingue.
Strumenti per il flusso di lavoro
Scegliere gli strumenti di localizzazione e mantenere sincronizzate le traduzioni grazie alla localizzazione continua.
- Qual è la migliore libreria i18n per un'app React?Le quattro principali librerie i18n per React sono gt-react di General Translation, react-i18next, Lingui e React Intl. Tutte e quattro renderizzano e formattano le traduzioni, ma solo gt-react è anche in grado di generarle, a partire dai testi scritti inline nel tuo JSX. Scegli react-i18next per continuare a usare i cataloghi e i plugin di i18next, Lingui per l'estrazione in cataloghi compilati e React Intl per FormatJS e ICU MessageFormat.
- Perché usare General Translation invece di un TMS (Smartling, Lokalise, Phrase, Crowdin o Transifex)?Un sistema di gestione delle traduzioni (TMS) come Smartling, Lokalise, Phrase, Crowdin o Transifex coordina i traduttori, ma gli sviluppatori devono comunque estrarre le stringhe, inviarle, attendere le traduzioni e reintegrarle nel prodotto. General Translation traduce i contenuti direttamente nel tuo codice insieme al loro contesto, distribuisce tutte le lingue a ogni rilascio e si basa su librerie open source, senza vendor lock-in.
- General Translation vs. Weblate: quale scegliere?Weblate è una piattaforma di localizzazione self-hostable basata su Git, pensata per tradurre i file di un repository insieme a una community o a un team. General Translation integra la generazione delle traduzioni nello sviluppo e nei rilasci, sfruttando JSX contrassegnato e un contesto di prodotto condiviso. Puoi mantenere i tuoi file gettext oppure adottare la scrittura inline per eliminare anche la manutenzione del catalogo di origine.
- General Translation vs. Tolgee: quale scegliere?Tolgee combina messaggi basati su chiavi, modifica in contesto e traduzione con IA in una piattaforma che puoi ospitare in autonomia. General Translation mantiene i testi leggibili direttamente nei tuoi componenti e genera le traduzioni dal JSX contrassegnato, così puoi pubblicare nuovi testi in ogni lingua senza dover gestire le chiavi dei messaggi.
- General Translation vs. Locize: quale scegliere?Locize è un sistema di gestione delle traduzioni sviluppato dai creatori di i18next che distribuisce le traduzioni tramite CDN, raccoglie le nuove chiavi dall'app in esecuzione e offre la traduzione con l'AI e un editor contestuale. La libreria i18n e le sue chiavi, però, restano a tuo carico. General Translation può essere la tua libreria i18n e occuparsi anche della traduzione, oppure tradurre i file i18next che hai già.
- General Translation vs. i18n-tasks: quale scegliere?i18n-tasks è una gem Ruby che individua le chiavi Rails I18n mancanti e inutilizzate, riordina i file delle impostazioni regionali e può compilare le chiavi mancanti tramite Google Translate, DeepL, OpenAI, Yandex o watsonx. General Translation traduce interi file delle impostazioni regionali con il tuo Glossario, i prompt personalizzati e la revisione nella dashboard. Svolgono compiti diversi e molti team possono usarli entrambi.
- Alternative a Transifex: General Translation vs. TransifexScegli General Translation per tradurre il JSX contrassegnato preservandone la struttura e il contesto fornito dagli sviluppatori, per poi includere i risultati nel bundle o distribuirli tramite la sua CDN. Anche Transifex Native mantiene le stringhe nel codice, ma le pubblica tramite il proprio servizio di distribuzione dei contenuti. Transifex è particolarmente adatto ai team che si affidano ai suoi partner di traduzione, ai punteggi di qualità o alla traduzione di siti web basata su snippet.
- Alternative a Smartling: General Translation vs. SmartlingScegli General Translation se vuoi che le traduzioni della tua app vengano generate dal codice come parte di ogni rilascio. Smartling combina un sistema di gestione delle traduzioni, servizi di traduzione AI e umana e un proxy per la traduzione di siti web. General Translation mantiene i testi nei tuoi componenti, ne porta il contesto nella traduzione e mette a disposizione del tuo team una Dashboard per la revisione.
- Alternative a Phrase: General Translation vs. PhraseGeneral Translation è una valida alternativa a Phrase Strings quando la tua app e la documentazione vengono rilasciate insieme. Genera le traduzioni a partire dal codice e dai file di contenuto, applica una terminologia condivisa e si integra nel tuo flusso di lavoro di rilascio. Phrase combina la localizzazione del software con un TMS incentrato sui documenti, la gestione dei fornitori e un'ampia scelta di motori di traduzione.
- Alternative a next-intl: gt-next vs. next-intlnext-intl renderizza le traduzioni che fornisci in un catalogo di messaggi per ciascuna lingua. Anche gt-next renderizza le traduzioni, ma in più General Translation le genera a partire dai testi scritti inline nel tuo JSX. Entrambi sono rilasciati con licenza MIT e supportano l'App Router e i Componenti server. Se i tuoi cataloghi next-intl funzionano già, puoi mantenerli e usare General Translation per tradurli senza alcuna migrazione.
- Alternative a Lokalise: General Translation vs. LokaliseGeneral Translation è un'ottima alternativa a Lokalise per i team che vogliono testi leggibili nel JSX e una traduzione integrata nello sviluppo. Lokalise ruota attorno a chiavi condivise, integrazioni con strumenti di design e consegna over-the-air per le app mobile. General Translation genera le traduzioni a partire dai contenuti contrassegnati nell'app e consente la revisione nella propria Dashboard o nelle pull request di GitHub.
- Alternative a Crowdin: General Translation o CrowdinScegli General Translation per mantenere i testi nei tuoi componenti e generare le traduzioni durante la build. Crowdin gestisce progetti di traduzione incentrati su file di risorse, traduttori e flussi di lavoro di revisione, che gli ingegneri devono collegare all'app e mantenere man mano che il prodotto evolve. Crowdin resta un'ottima scelta per le traduzioni affidate alla community nei progetti open source e per i programmi gestiti da fornitori esterni.
- Qual è il miglior software di localizzazione per gli sviluppatori?Cerca un unico sistema che copra l'intera pipeline, dalla libreria i18n nel tuo codice fino alla traduzione e alla consegna, invece di mettere insieme una libreria, un sistema di gestione delle traduzioni e un fornitore di traduzioni separati.Video
Distribuisci oggi stesso
Unisciti ai migliori team di sviluppatori al mondo su General Translation