Voglio costruire un sistema che usi un dizionario di molte lingue diverse.
Ci sono 2 opzioni: Costruisci 1 dizionario centrale Table
& ogni lingua è identificata da langType
(ex 1 per il tedesco e 0 per l'inglese):
CentralDict word - meaning - langType car - .... - 0 auto - .... - 1
o 2 tabelle separate
EngDict word - meaning car - .... GerDict word - meaning auto - ....
Se l'opzione è 2, allora quando esegui la codifica
String DictTable="";
String locale=getLocale();
if ("gm".locale){
DictTable="GerDict";
}
else if("en".locale){
DictTable="EngDict";
}
Quindi quando eseguiamo una query da
String sql="select * from "+DictTable;
//access data from table here
Se l'opzione 1 è selezionata,
int langType=0;
String locale=getLocale();
if ("gm".locale){
langType=1;
}
else if("en".locale){
langType=0;
}
String sql="select * from CentralDict where langType="+langType;
//access data from table here
Immagino che l'opzione 2 sia più elegante, ma non sono sicuro che abbia ragione?
Con l'opzione 2 possiamo creare facilmente una relazione 1 a 1 tra 2 lingue.
Nota: non è il problema dell'internazionalizzazione in quanto il mio sistema è in grado di gestire l'internazionalizzazione molto bene. Mentre l'internalizzazione riguarda il testo del Gui come il testo del pulsante o le informazioni del messaggio, non tratta i dati estratti dal DB.
Il mio sistema di dizionario aiuta l'utente a vedere i termini di spiegazione come "auto", "telefono" .... per scopi didattici.
Attualmente funziona perfettamente in inglese, ma voglio supportare tedesco e amp; molti saranno in francese o in altre lingue in futuro. Non so se dovrei creare una tabella separata completa per ogni lingua o ho solo bisogno di un dizionario centralizzato per tutte le lingue e amp; ha un campo langType
per identificare la lingua che deve essere utilizzata in base al requisito dell'utente. Es: Quando l'utente inserisce mydomain.com/locale=de
, il sistema mostrerà l'esatto Gui (come in inglese) ma tutto il testo del Gui sarà in tedesco. Inoltre, quando l'utente cerca i dati, dovrebbe estrarre i dati tedeschi dal DB. dati non inglesi.