2012-03-26 15 views
5

Nel mio progetto vorrei compilare i controlli temporali sul mio pacchetto di risorse esistente. Ho già un set di file localizzati *.properties e sto per collegarli allo strumento i18n. Stavo pensando al normale ResourceBundles, ma non mi piace il fatto che questo meccanismo non garantisce alcun tipo di controllo, né controlli di compilazione o di manutenzione come: trovare duplicati o trovare chiavi inutilizzate.Qualsiasi libreria per la generazione di codice pulito dai bundle di risorse i18n?

Quindi, Sto cercando una libreria, che prenda i miei file esistenti *.properties e li converta in codice Java pulito e pulito, che potrei usare nel mio progetto.

Il miglior risultato possibile sarebbe avere un meccanismo simile al supporto per i18n GWT. Uno, interfaccia pulita con tutti i messaggi come metodi separati.

Ho visto jlibs e ForgeRock. Mi piacciono molto i jlibs, ma non è una libreria separata, quindi è difficile per me immaginare di introdurre una dipendenza dalla lib enorme solo per i18n. ForgeRock fa praticamente quello che vorrei, ma produce costanti piuttosto che interfacce pulite con cui lavorare, come fa jlibs.

This entry blog è anche utile per capire quale approccio mi piacerebbe utilizzare. Ho fatto una grande ricerca per quanto riguarda gli strumenti i18n disponibili, non riesco proprio a trovare "quello", che sarebbe adatto alle mie esigenze migliori.

Saluti.

risposta

0

Attualmente sto lavorando esattamente sul tipo di libreria che stai cercando, check it out. È ancora in corso, ma dovrei avere la mia prima versione abbastanza presto.

La prima versione conterrà solo il supporto per le traduzioni basate su annotazioni. Non ho ancora idee su come migrare i progetti esistenti nello stile c10n, comunque. Tutte le idee, i suggerimenti sono sempre ben accetti!

+0

Sembra promettente, ma quanto è stabile? Qual è la licenza? Lo strumento che scelgo sarà utilizzato nel prodotto commerciale. –

+0

La licenza è Apache License 2.0, quindi nessun problema per uso commerciale. Temo di aver appena iniziato a svilupparlo, quindi ora è in fase * alpha *. Attualmente non esiste una versione stabile disponibile.Avevo intenzione di pubblicare la prima versione stabile tra circa un mese, ma se avessi qualche appassionato utente potrei sbrigarmi un po ':) – rodion

+0

Potrei aiutarti un po' in un tempo libero se tieni traccia delle cose da fare. Potrei giocare un po 'per darti un feedback dal punto di vista dell'utente e dare una mano con alcune attività di programmazione. –

-1

Mi piace JUnit. Non esattamente quello che stai cercando, ma creando test sei sicuro che tutti gli elementi in de propertyfiles sono disponibili.

1

Un'altra libreria che soddisfi le vostre esigenze di generazione del codice sarebbe i18n-binder.

Personalmente, vorrei affrontare questo problema da un'altra angolazione, utilizzando il framework gettext si contrassegnerebbero le stringhe traducibili nel codice sorgente e genereranno i pacchetti di risorse da esse. Esistono strumenti ed editor che possono quindi aggiornare le traduzioni in base alle stringhe estratte e rilevare le stringhe non più utilizzate o modificate.

0

Per risolvere questo problema ho implementato un Message Compiler, che crea i file del bundle di risorse e le definizioni di costante come enum Java per le chiavi da un singolo file di origine. Quindi le costanti possono essere utilizzate nel codice sorgente Java, che è un modo molto più sicuro. Il compilatore di messaggi non può essere utilizzato solo per Java. Crea anche file di risorse e costanti per Objective-C o Swift e può essere esteso per altri ambienti di programmazione.

Problemi correlati