Il Bar dell'Ingegneria

LOCAL-LACOL

A passeggio tra le lingue

« Older   Newer »
 
  Share  
.
  1. zax2013
        +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    2,942
    Reputation
    +187

    Status
    Offline
    Andiamo quindi all'opzione "furba".

    E' una opzione che consente di fare a meno di un codice ID, di non doverlo memorizzare (a mente).
    Forse sarò ripetitivo, ma dobbiamo considerare che il codice non si scrive tutto in una volta. Spesso tra una 'revisione' e l'altra possono passare mesi, e ricordare per filo e per segno cosa si era fatto e perchè non è facile. Quindi se possiamo fare a meno di codici mnemonici è tanto di guadagnato.

    Ovviamente come in tutte le cose c'è il rovescio della medaglia, che nella fattispecie significa un maggior impegno in memoria.

    Dobbiamo fare, per quanto con codice 'fatto in casa', esattamente quello che fa la funzione gettext().
    Ovvero il codice ID sarà esattamente il testo nella nostra lingua 'originaria'. E nel file .dat dovremmo inserire la doppia 'notazione':

    1° riga: testo nella lingua 'originaria';
    2° riga: testo tradotto;

    (La doppia riga ci svincola dal dover utilizzare un separatore certamente mai utilizzabile nelle nostre stringe, in modo da capire perfettamente quando finisce l'una e quando comincia l'altra).

    Ovviamente dobbiamo 'costruire' noi la funzione gettext() (o nome simile).
    Funzione che andrà alla ricerca della stringa tradotta (2° riga), avendo come 'chiave' di ricerca la 1° riga. Il tutto dovrà essere svolto lavorando in memoria e non certamente aprendo e chiudendo il file di testo ogni volta.

    Io sono dell'avviso che tale operazione vada svolta una sola volta all'avvio del programma. Si legge il file .dat e lo si carica tutto in memoria, quindi si 'assegna' ad ogni label, ad ogni bottone, di ogni finestra, la giusta dicitura, e si libera subito dopo la memoria impegnata.

    Ovviamente la funzione gettext() dovrà restituire una stringa opportuna nel caso in cui non riscontra il testo da tradurre, in modo da evidenziare il fenomeno e riuscire ad intervenire in fase di scrittura del programma.
    Non è un male in se. Questo comporterà automaticamente la necessità di utilizzare parole, frasi, quanto più 'standardizzate' possibile e sempre uguali in più parti del programma.
     
    Top
    .
17 replies since 26/1/2015, 22:03   350 views
  Share  
.