2009-02-23 5 views
9

Qualcuno ha avuto esperienze nello sviluppo di grandi applicazioni Java usando GNU gettext per l'internazionalizzazione? Trovo che mi piaccia davvero avere il testo inglese nel mio codice sorgente, ma voglio essere sicuro che ciò che sto facendo sia pratico per il progetto software relativamente grande di cui faccio parte.Java e GNU gettext per l'internazionalizzazione

Se avete esperienza con questo, cosa state usando per cercare le risorse in Java? Attualmente sto provando Gettext Commons (http://code.google.com/p/gettext-commons/), che sembra funzionare bene finora.

Qualche alternativa a gettext che mantiene il testo originale nel codice sorgente? Uno strumento simile supportato su Windows sarebbe fantastico.

risposta

6

JSOM open source OpenStreetMap Il progetto editor Java sta utilizzando la libreria Gettext per gestire tutte le sue traduzioni e sta funzionando molto bene in quanto le persone sono in grado di utilizzare una varietà di strumenti di traduzione (come KBabel, poedit, launchpad ...) per lavorare con i file po in modo tale che non vi siano vincoli di piattaforma. Inoltre non ho ben vedere il motivo per cui si pensa l'impostazione menzionato non può essere utilizzato su qualsiasi piattaforma - si può certamente utilizzare gettext in Windows vedere: here o here

Premesso quanto popolare gettext è certamente consiglio.

+0

Grazie per la risposta. Ho avuto problemi nel tentativo di far funzionare correttamente la versione Windows di gettext, ma probabilmente quei problemi avrebbero potuto essere risolti con qualche sforzo in più. Ho usato Cygwin per eseguire la versione GNU sul mio desktop di Windows, e questo ha funzionato bene. – dcstraw

3

Si potrebbe semplicemente utilizzare plain old Java message resource bundles invece.

Modifica: Bene, ciò che usiamo nel nostro team di sviluppo è lo standard TMX format che consente di specificare stringhe di localizzazione nei file XML. È un formato comunemente usato dagli strumenti di traduzione. Here is a free one, che consente di modificare questi file più facilmente.

Tuttavia non ho menzionato prima, perché non offre alcun vantaggio reale o funzionalità nel messaggio di pacchetti di risorse, tranne che per una migliore gestione grazie a strumenti di elaborazione XML (codifica può essere un vero e proprio dolore al collo durante la manipolazione internazionalizzato codifica letterali in lingue diverse dall'inglese).

Inoltre, il nostro software è il nostro framework che analizza questo formato XML e ci consente di passare da una lingua all'altra (in pagine HTML o frame Swing) senza riavviare le nostre applicazioni. Non è così difficile sviluppare una semplice libreria che gestisce le traduzioni letterali in questo modo, ma il lato negativo è che è necessario implementarlo.

+2

Sto valutando la funzionalità I18N integrata di Java come opzione, ma volevo sapere se gettext era un'alternativa pratica, in quanto ha alcuni vantaggi (ad esempio la gestione dei plurali, la leggibilità del codice) sui pacchetti di risorse. – dcstraw