Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Gestire lingua per etichette, pulsanti e messaggi

    Salve ragazzi,
    ho realizzato un piccola applicazione con interfaccia grafica in java.

    Ora vorrei gestire le etichette dei pulsanti, delle label in modo tale che in base
    alla lingua selezionata, le etichette dei pulsanti vengano sostituite.

    QUindi gestire lingua italiana, inglese ecc ecc.

    C'è un modo per gestire in maniera automatica questo discorso???

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    Re: Gestire lingua per etichette, pulsanti e messaggi

    Originariamente inviato da bircastri
    Salve ragazzi,
    ho realizzato un piccola applicazione con interfaccia grafica in java.

    Ora vorrei gestire le etichette dei pulsanti, delle label in modo tale che in base
    alla lingua selezionata, le etichette dei pulsanti vengano sostituite.

    QUindi gestire lingua italiana, inglese ecc ecc.

    C'è un modo per gestire in maniera automatica questo discorso???
    File di properties:
    tutte le etichette le salvi in un file di properties, ne hai uno per versione. Pensa prop.italian, prop.english ecc
    All'avvio hai una property che indica la lingua (default es. italiano), quindi copi il file prop.italian in prop.language, prop.language lo legge la tua applicazione e ogni volta che ti riferisci ad una label, prendi questa dal file di property (in modo trasparente per utente e applicativo).
    Il sistema è oltretutto facile da estendere
    RTFM Read That F*** Manual!!!

  3. #3
    Allora come tecnica mi piace moltissimo.

    Resta però un dubbio.

    Se inserisco il file di properties non rallento l'applicazione in quanto va a leggere da un file di che risiede sull'hard disk??????

    Poi quando parli di caricare ad esempio il file props.italian in props.language

    intendi porpio copiare tutto il file all'interno di un nuovo file giusto^???

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    puoi scegliere:

    1. creare un file di default cmq letto
    2. valorizzare (meglio) una stringa col path corretto. Questa è una delle primissime cose che fai.

    Poi ti tieni una mappa con tutte le proprietà (la mappa la carichi anche questa all'avvio) e ogni volta che devi fare qualcosa farai

    codice:
    label.setText(map.get(valore));
    in modo molto rapido
    RTFM Read That F*** Manual!!!

  5. #5
    QUindi in pratica tu mi dici.

    Creo questo file (quseti file) di properties, che contengono coppia chive=valore.

    All'avvio dell'applicazione carico il file in una mappa che tengo in memoria e poi vado a leggere da questa mappa.

    In effetti mi sembra una soluzione ottima.

    Provo ad implementare qualcosa nel caso vi avviso.
    Cmq grazie siete stati di grande aiuto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Concordo con valia sull'uso dei file properties. E ovviamente puoi anche tenere il file di properties nel jar dell'applicazione: in un mio piccolo applicativo ho una classe apposita che si occupa di effettuare tutte le operazioni necessarie allo start up, tra cui caricare un paio di file di proprietà, entrambi risiedenti nel jar stesso:

    codice:
    ...
    public static Hashtable<String, String> appParameters;
    public static Properties appProperties;
    ...
    ...
    try {
       appProperties.load(StartUp.class.getResourceAsStream("/app/resources/files/params.properties"));
       appParameters.put("titolo", appProperties.getProperty("titolo"));
       appParameters.put("versione", appProperties.getProperty("versione"));
    }
    ed elimini il "problema" dei file aggiuntivi da distribuire.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.