|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
[C#] menù bilingue
Ciao,
che voi sappiate è possibile avere dei menù con doppia lingua in una Windows Form? In particolare avrei bisogno cinese e inglese. Ho installato i caratteri cinesi ma non riesco a visualizzarli nella form. Inoltre sarebbe ancora più bello se si potesse scegliere quale lingua visualizzare... Grazie in anticipo |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Se vai sulle proprieta' di una form, trovi anche la lingua, solitamente default. Scegli inglese, e scrivi il testo di tutte le label, menu', pulsanti, etc. Poi scegli Cinese, e riscrivi tutto in cinese. A Runtime il programma mostrera' il set di risorse relativo alla lingua installata sul sistema operativo. Meglio, quella scelta dal pannello "International Options" di Windows. In questo modo benefici dell'automatismo, altrimenti puoi forzare la lingua per il tuo solo applicativo. Grande vantaggio e' che avrai file di risorse separati per ciascuna lingua. Potrai infatti scrivere il solo inglese, darlo ad un traduttore, istruirlo su come preservare il formato del file (E' un file XML), chiedere la traduzione delle sole parole al di fuori dei tag, importare il nuovo file nel programma, senza colpo ferire.
__________________
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. |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
Fantastico, grazie! Non pensavo che si potesse fare una cosa del genere. Peccato che ho paura che sia praticamente impossibile per un traduttore capire qualcosa dal file XML perchè ho visto che contiene proprio tutto quello che concerne il disegno del form, non solo nomi dei pulsanti, etichette, menù ecc.
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
E' sufficiente istruire il traduttore chiedendogli di non toccare nulla all'interno dei tag <qqwer> ma solo i contenuti dei tag <qwer>Tocca qui</qwer> Ci sono comunque programmi di aiuto alle traduzioni delle risorse, che leggono quei file, presentano tutte e sole le stringhe da tradurre, scrivono file analoghi, etc.
__________________
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. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Il traduttore utilizzerà l'interfaccia grafica per inserire le voci senza dover mai vedere l'xml sottostante. |
|
![]() |
![]() |
![]() |
#6 | ||
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
Quote:
Ad esempio posto 4 righe qualunque: Codice:
<data name="windowsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>58, 20</value> </data> − <data name="label2.Text" xml:space="preserve"> <value>Paper Grade:</value> </data> − <data name=">>barcodeReaderToolStripMenuItem.Name" xml:space="preserve"> <value>barcodeReaderToolStripMenuItem</value> </data> − <data name="label4.Text" xml:space="preserve"> <value>Basis Weight:</value> </data> − <data name=">>label3.ZOrder" xml:space="preserve"> <value>11</value> </data> Quote:
![]() |
||
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Si'. Hai sbagliato file.
Inizia la procedura di scrittura in lingua inglese (o un'altra che preferisci) vedrai che comparira' un nuovo file.
__________________
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. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:59.