Sto per decidere come gestire l'internazionalizzazione di un formato basato su XML per la descrizione dell'interfaccia utente.I18N di documenti XML
Il formato sembra tipicamente qualcosa di simile:
...
<devif>
<screen id="scr1" title="Settings for this and that">
<header text="Climate readings"/>
<rd setp="123" text="Air temperature" unit="°C"/>
<rd setp="234" text="Humidity" unit="%RH"/>
<rd setp="345" text="CO2" unit="ppm"/>
<header text="Settings"/>
<wr setp="567" text="Air temperature demand" unit="°C"/>
</screen>
...
</devif>
Ogni file contiene un sacco di schermi e può essere fino a circa 10.000 linee, e noi abbiamo una dozzina di questi file nella nostra applicazione.
Posso ancora modificare il formato per soddisfare al meglio le nostre esigenze. Quindi, come faresti a tradurre questo?
Ho riflettuto su alcuni possibili modi per gestire questo:
- un file separato per ogni lingua che contiene il testo inglese e testo tradotto
- Utilizzando un ID per ogni tag e utilizzare un file separato con testo tradotto per ogni ID
- Posizionamento di tutte le traduzioni nello stesso file
la prima soluzione ha il problema in cui il testo inglese potrebbe essere tradotto in messaggi diversi a seconda del contesto.
La seconda soluzione rende il file di origine meno leggibile (sebbene non di molto) e non gestisce facilmente la traduzione di attributi.
La terza soluzione renderebbe il file molto grande e macchinoso con cui lavorare una volta che il file è stato tradotto in 5-6 lingue.
Grazie per i vostri suggerimenti. I primi due suggerimenti sono abbastanza simili, tranne che il primo sembra più XML: ish. Tuttavia, mi piace la semplicità del secondo suggerimento. – Jonatan