|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
[VB.NET] Creare un software multilingua
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
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
potresti mantenere le traduzioni su diversi file,quindi utilizzare quello corrispondente!
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
ok
Quote:
Quindi dici con file esterni????
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
be si, non mi sembra sia il caso di mantenere tutte le traduzioni sul sorgente..Inoltre in questo modo puoi espandere il range delle lingue o modificare le scritte di quelle attuali!
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Il .net ha gia' il supporto completo per la globalization.
Apri la form, scegli la lingua tra le proprieta' della form, quando sei ancora in modalita' progettazione. Metti tutti i campi che ti servono. Poi cambi lingua, e cambi di conseguenza anche tutte le label, come ti servono nella lingua nuova. Ripeti per tutte le lingue che ti interessano. Quando l'utente aprira' la form, si trovera' direttamente i campi nella lingua da lui impostata sulla macchina (in realta' sulla base della lingua scelta dall'utente in quel momento "loggato" sulla macchina) Il tutto si puo' anche fare direttamente su un file XML, che verra' associato esattamente come se avessi fatto i passi precedenti, se volessi scegliere questa strada.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Quote:
E' la lingua da lui scelta in fase di installazione del sistema operativo, oppure cambiata successivamente dalle scelte delle opzioni internazionali di globalizzazione sul pannello di controllo. Solo non mi rompe le wallas di nuovo chiedendolo. Comunque se si vuole si possono bypassare. Si puo' in fase di installazione far scegliere all'utente una delle lingue per le quali si e' customizzata l'interfaccia, e poi si puo' cambiare al volo la globalizzazione, volendo (ovviamente si vuole) anche solo nell'istanza del programma, ogni volta che verra' aperto.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Ecco non sapevo appunto se fosse possibile rendere indipendente la globalizzazione offerta dal framework con possibilità da parte dell' utente in fase di setup o utilizzo.Da quello che ho capito si puo in qualche modo fare!
O.T. Nella discussione sulle basi di dati, ho aggiunto un passo del libro riguardante quell' argomento! Fine OT! |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
|
La soluzione che ti è stata proposta è la più efficace per mantenere il controllo totale su quello che c'è scritto nel tuo programma, ma c'è un ulteriore metodo molto semplice e che ti può permettere di aprire il programma a traduzioni da tutto il mondo, basta che qualche utente del tuo programma sia interessato.
Ti mostro un frammento di codice che puoi utilizzare Codice:
For Each ctrl As Control In Me.Controls MsgBox(ctrl.Text) Next Un'altra cosa interessante la puoi fare guardando il tipo di controllo che man mano ti viene dato, come ad esempio: Codice:
if typeof ctrl is combobox then MsgBox "E' una combobox" else if typeof ctrl is listbox then msgbox "E' una lista di " + format(ctrl.Items.Count) + " elementi." else .... end if end if nomecontrollo:testo nomecontrollo:testo ... Da cui caricavo la lingua anche al volo ![]()
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17 Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:05.