Da "Nome e Cognome" a "Name and Surname"

martedì 06 dicembre 2005 - 09.52

eddyG Profilo | Junior Member

Salve a tutti!

Sono ancora qui a stressarvi,ma fino a quando non riesco a venire a capo del mio problema,scusatemi,lo farò spesso.
Come già detto io ho un progetto sviluppato in vb 6 ma ora portato in Vb.NET...
A questo progetto voglio aggiungere la possibilità di poter scegliere la lingua con la quale visualizzare le form.

Con gli esempi trovati in giro per il web sono arrivato al punto di inserire,in un textbox le iniziali della lingua che voglio.
Il mio problema ora è questo:

Non mi vengono cambiate le label della form,ma viene solamente visualizzatoil nome,per esteso,della lingua prescelta.

qualcuno di voi sa indicarmi dove posso trovare esempi concreti per questo mio problema?

Vi ringrazio
Ciao

AntCiar Profilo | Expert

Ciao.

Io ho realizzato una cosa del genere in questo modo: ho creato un file di testo contenente le seguenti colonne

IdLingua | CodCnt | Valore

esempio di riga:

IT|Form1Label1|Descrizione
EN|Form1Label1|Description

All'apertura del programma leggevo il codice di lingua impostato in un file di configurazione.
Successivamente leggevo il file di testo descritto prima e prendevo solo le voci con IdLingua uguale a quella che mi interessa e butto tutto all'interno di una tabella.

All'interno di ogni form, sull'evento "Load" ho inserito un netodo del genere

Private sub ImpostaLingua(Byval Controllo as object)
Dim View as new dataview(TabellaLingua)
Dim i as integer

if controllo is nothing
controllo = me
end if

For i = 0 to controllo.controls.count -1
view.rofiletr = "CodCnt = '" & me.name & controllo.controls(i).name & "'"
if view.count = 1
try
controllo.controls(i).text = view.item(0)("Valore")
catch ex as exception
end try

ImpostaLingua(controllo.controls(i))
end if
next
view.dispose
view = nothing
end sub


in poche parole mi scorro tutti i controlli e tutti i sottocontrolli di controlli (eventuali) che contiene la form e imposto la proprietà text con il valore presente nel file di configurazione. Utilizzo il try-catch perchè è possibile che il controllo iesimo non disponga della proprietà text

Spero ti possa essere di aiuto.

Ciao

eddyG Profilo | Junior Member

Vorrei qualche delucidazione in merito alla tua risposta,quasi del tutto esauriente.

1-il file di configurazione che prendi in considerazione tu è il file di configurazione di windows?o quale altro tipo di file di configurazione?

2-Io per creare il file di testo ho utilizzato un file "*.txt",va bene come formato?

3-per tabella intendi un DataGrid oppure un textbox-multiline?

AntCiar Profilo | Expert

Va bene qualsiasi file di testo con qualsiasi estensione.

Per tabella invece intendo un oggetto DataTable contenente le colonne necessarie a ricevere i dati dal file di testo.


eddyG Profilo | Junior Member

il codice della lingua impostato in un file di configurazione lo prendi tramite il seguente codice...

Thread.CurrentThread.CurrentUICulture.NativeName

Grazie
Bruno

eddyG Profilo | Junior Member

il codice della lingua impostato in un file di configurazione lo prendi tramite il seguente codice...

Thread.CurrentThread.CurrentUICulture.NativeName

Grazie


AntCiar Profilo | Expert

Ciao.

Io come file di configurazione utilizzo un normale file di testo e tramite una combo seleziono la lingua. I valori nella combo li faccio leggere nel file di testo. Alla fine non uso niente di pre-preparato perchè così mi trovo meglio. Penso che anche con il metodo che hai indicato la cosa vada bene lo stesso.

Ciao

eddyG Profilo | Junior Member

Ciao

per la configurazione di una ligua straniera è possibile forzare la proprietà CurrentUICulture del Thread?

Grazie

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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5