Skip to main content

Il Ruolo di Quetzal

Quetzal è progettato per funzionare con qualsiasi sistema e libreria tu stia già utilizzando. Non forniamo librerie o strumenti da installare nel tuo codice. Sei tu a decidere prima uno schema di localizzazione, e Quetzal può occuparsi di gestirlo. Questo ti dà tutta la libertà di implementare la localizzazione nel modo che funziona per te, con la certezza che il lavoro pesante per mantenerla sarà sempre portato a termine. Tuttavia, abbiamo qualche consiglio per scegliere il framework migliore, se non ne hai ancora uno

Ambito

Come promemoria, questi strumenti e consigli sono pensati per tradurre stringhe statiche definite nel tuo codebase. Se hai altri contenuti da tradurre, puoi usare la nostra API.

La Peggior Cosa Che Potresti Mai Fare

La scelta peggiore in assoluto per la localizzazione del codice è provare a inventarsi qualcosa da zero, o localizzare senza appoggiarsi a un sistema esistente. Vediamo un numero infinito di codebase con meccanismi di traduzione completamente nuovi e personalizzati, e molto spesso hanno punti ciechi che costringono a pattern orrendi per tradurre le stringhe in futuro. È fortemente consigliato usare una soluzione collaudata, anche se all’inizio sembra esagerata.

Regola Generale

Nella maggior parte dei casi, ci saranno diversi pattern di localizzazione per il tuo stack. Noi consigliamo:
  • First Party Ogni volta che c’è uno schema di localizzazione integrato nello stack (ad es. la localizzazione Swift di Apple, il caricamento delle risorse stringa di Android, pacchetti come @angular/localize) è di solito un segnale che è mantenuto specificamente per il tuo caso d’uso. A meno che tu non abbia un buon motivo, scegli questo per primo.
Se non esiste uno schema first party, dovresti cercare qualcosa di:
  • Open Source: Se non esiste una buona soluzione first party, stai cercando la soluzione open source di terze parti più amata. Di solito ce ne sono solo un paio.

Differenze tra Meccanismi di Localizzazione

Ci sono alcuni aspetti in cui i pattern di localizzazione differiscono, e anche se tutti hanno il loro posto, ecco alcune considerazioni sulle differenze che incontrerai nella pratica:

Chiave vs. Testo Esatto

La maggior parte dei sistemi di localizzazione si basa su chiavi per mappare il testo. Quindi il testo “Hello!” potrebbe corrispondere a “greeting.standard”, e il tuo codice farà riferimento a “greeting.standard” come unità principale di traduzione. Alcuni codebase cercano di evitarlo, usando invece il testo grezzo come unità di traduzione. Questo può rendere il codice più leggibile e riduce il carico cognitivo (non devi tenere traccia di un altro dato, una chiave) Tuttavia, ti consigliamo vivamente di usare le chiavi, anche se la tua soluzione supporta un approccio a testo semplice. Ci sono due motivi: 1- Le stringhe complesse possono incorrere in problemi di formattazione 2- Distinguere il contenuto della traduzione dall’id della traduzione rende gli aggiornamenti più eleganti Se la leggibilità del codice è un problema, spesso puoi includere la versione in testo semplice come placeholder al momento della traduzione. Molte librerie offrono supporto per entrambi i pattern, quindi è fondamentale riflettere su quale vuoi usare prima di affidare il tuo codice a Quetzal.

Estrazione vs. Aggiornamenti Manuali

Alcuni sistemi richiedono che gli sviluppatori compilino manualmente i file di traduzione. Altri sistemi hanno uno script che analizza il tuo codice e genera i file di traduzione automaticamente. Altri sistemi permettono entrambi gli approcci. Entrambi gli approcci hanno il loro posto e funzionano benissimo. I sistemi basati sull’estrazione sono più rigidi sulla struttura del codice, ma richiedono meno manutenzione. Dato che Quetzal gestirà i tuoi file di traduzione in ogni caso, ti suggeriamo di optare per un sistema basato su aggiornamenti manuali. Questo ci facilita l’aggiornamento dei file. In alcuni casi, i sistemi basati sull’estrazione richiedono anche un maggiore carico cognitivo per garantire la conformità, con benefici limitati quando usi Quetzal.

Formattazione delle stringhe

Per stringhe complesse con plurali o altri valori dinamici, la tua libreria avrà spesso le sue regole e i suoi pattern per codificare le stringhe. Noi di Quetzal adoriamo l’ICU Message Format che è il miglior tentativo di standardizzare queste regole. Anche se supportiamo tutti gli schemi di formattazione, assicurati che il formato sia abbastanza flessibile da gestire la struttura e la variabilità di cui avrai bisogno.