Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB.NET] Applicazioni multilingua come le fate?

    Salve a tutti,
    mi piacerebbe parlare in questo topic delle applicazioni multi lingua in VB.Net è un argomento interessante e non troppo trattato.

    Voi come le realizzate?
    Utilizzate le proprietà Lacalizable e Language?
    Oppure lavorate con delle funzioni vostre?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Visto che si parla del .NET Framework, suppongo che la costruzione di assembly satellite sia in genere la scelta primaria per internazionalizzare un'applicazione.

    Dipende anche da come intendi il "multilingua", cioè se necessiti di avere un'applicazione le cui risorse, esterne al programma, vengano scelte in base alla lingua dell'ambiente operativo, oppure se è possibile fornire all'utente la scelta della lingua favorita durante l'esecuzione del programma, modificando "al volo" i testi visualizzati.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da lab82
    e per fare che gli utenti che usano il mio programma che ad loro volontà posso modificare il file di lingua?
    Allora devi usare un file esterno.

    Originariamente inviato da lab82
    come posso fare?
    io avevo pensato ai ini?
    si può fare?
    Si può fare tutto, basta averne il tempo.

    Scegli il formato che preferisci e che ti consenta di caricare agevolmente le stringhe di testo da applicare ai controlli e adottalo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Io intendevo di poter far cambiare lingua al volo all'utente.

    Io per ora sto provando i file .resx che genera l'ambiente ma non so se è la scelta migliore.
    Ho visto anche che per certe cose come le proprietà text dei componente è possibile far fare tutto all'ambiente di sviluppo, impostando da progettazione i valori in base alla lingua selezionata.

    Che cosa intendi per assembly satellite ?

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da BangBangMan
    Io intendevo di poter far cambiare lingua al volo all'utente.
    Io per ora sto provando i file .resx che genera l'ambiente ma non so se è la scelta migliore.
    I file di risorse vengono compilati con l'applicazione, e la scelta viene determinata generalmente in base al contesto di esecuzione del programma stesso (es. esaminando la lingua del sistema operativo).

    Forse ti conviene adottare un qualsiasi file esterno, magari in formato XML (interpretabile facilmente attraverso classi già presenti e collaudate).

    Originariamente inviato da BangBangMan
    Che cosa intendi per assembly satellite ?
    Rudemente, si tratta di DLL che non contengono codice ma esclusivamente risorse compilate, in genere distribuite assieme all'applicazione, riferite ciascuna ad una specifica lingua.

    Se fai una ricerca troverai senz'altro altre informazioni utili a riguardo; questo è quanto dice MSDN, ad esempio.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Intanto Grazie mille!

    Quindi i .resx possono essere considerati assembly satellite ?
    Se sì immagino siano particolarmenti veloci giusto?

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da BangBangMan
    Quindi i .resx possono essere considerati assembly satellite ?
    No, i file .resx sono file che contengono risorse, ma possono essere compilati ovunque.

    Originariamente inviato da BangBangMan
    Se sì immagino siano particolarmenti veloci giusto?
    "Veloci"? In che senso? La velocità, indipendentemente dal significato del termine in questo contesto, non c'entra nulla.

    Si creano solamente per non inserire tutte le risorse all'interno dell'assembly principale, o per evitare di duplicare quest'ultimo per ogni lingua che si vuole indirizzare.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Ragazzi sto riscontrando un problema di questo genere:

    A richiesta dell'utente viene impostata l alingua inglese con l'istruzione:

    Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-GB")
    Thread.CurrentThread.CurrentCulture = New CultureInfo("en-GB")

    e tramite questa istruzione il sistema va a pescare correttamente il file .resx della lingua corrispondente.

    Ora però in teoria da quello che avevo letto io con questa istruzione si doveva automaticamente impostare anche il formato della data ma questo non avviene.

    Allora se io stampo il Now dopo le due istruzioni precedenti a video mi compare ancora la data in formato "dd/mm/yyyy" invece di "mm/dd/yyyy" ed in più se cerco di effettuare il parse di una data così formata:
    Date.parse("23/06/2007") mi restituisce un errore:
    "String was not recognized as a valid DateTime."

    Sapreste aiutarmi? in cosa sbaglio?

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da BangBangMan
    Allora se io stampo il Now dopo le due istruzioni precedenti a video mi compare ancora la data in formato "dd/mm/yyyy" invece di "mm/dd/yyyy"
    Come ottieni la stringa contenente il valore della data?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Originariamente inviato da alka
    Come ottieni la stringa contenente il valore della data?
    Stampo il Now()...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.