[VB.NET] Creare un software multilingua

giovedì 10 aprile 2008 - 17.24

marco.santilli Profilo | Junior Member

Devo creare un programma multilingua

Cosa mi consigliate??

Avevo pensato questo:

In apertura del programma faccio selezionare la lingua a cui associo un valore.

Ad esempio:

1 - Italiano
2 - Inglese
3 - Spagnolo

Questo valore, non che una costante, la vado a controllare ogni volta che apro una form.

A questo punto in base alla constante vado a modificare il TEXT della label.

E' un metodo corretto o no???

Voi come fate???

Ciao e grazieeeeeeee

Lanello Profilo | Senior Member

Esiste la possibilità dentro il visual studio di creare applicazioni multilingua, ma è scomodo da utilizzare secondo me perchè se sviluppi un'applicazione con molte interfacce ogni volta che "aggiungi" una lingua devi "rigirarti" tutte le interfacce e ricambiare tutte le labels...

la soluzione migliore secondo me è appoggiarsi ad un database (che si appoggi poi ad un database server, o un file di access o un file xml, quello poi decidi tu)

ogni tipo di controllo (o quasi) ti da per esempio la possiblità di impostare una proprietà "TAG", io ho fatto un solo progetto in due lingue, ma mi sono trovato bene facendo una semplice funzione di lettura dal database alla quale passo il "TAG" del controllo e la lingua in cui voglio visualizzarlo, la funzione restituisce la stringa giusta.

quindi all'apertura della form non hai altro da fare che chiamare tante volte quanti controlli devi tradurre passando il tag alla funzione

...

per ricordarti la scelta della lingua dell'utente (se non è richiesto dal progetto richiedere la lingua ogni volta) puoi usare i metodi GetSetting() e SaveSetting() nativi del framework che ti permettono di memorizzare delle variabili nel registro di sistema della macchina, e quindi di non dover far scegliere la lingua all'utente tutte le volte, ma di riaprire il tuo software sempre con l'ultima lingua utilizzata.

non so se sono stato "comprensibile" stamattina ho un po di emicranea, non so che discorsi "assurdi" ti ho fatto

-----------------------------------------------------
La ricompensa per una cosa ben fatta, è averla fatta.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5