In questi giorni febbrili per il primo rilascio di UsbAutostarter, progettino lasciato in asso per un po’, ma che finalmente sta per vedere la luce, ho dedicato il mio pochissimo tempo libero alla localizzazione del programmino, per poterlo uppare su sourceforge. Purtroppo, per un “wxWidgets esordiente” come me, le cose non sono mai semplici sia per la scarsa documentazione online, sia per i pochissimi esempi di codice che si trovano in giro. Fortunatamente molti dei meravigliosi programmi scritti in wx sono open e sbirciando nel codice di amule, sono riuscito a capire come localizzare il progetto wx.

Logo poEdit

Innanzitutto dobbiamo predisporre all’internazionalizzazione i sorgenti del progetto: per distinguere le stringhe da localizzare con quelle che invece devono rimanere invariate, useremo la macro _(). Per es:

...
wxMessageBox( _("testo da localizzare") );
...
wxMessageBox( wxT("testo invariato") );


Dopo aver fatto ciò, ci serve un programma che legga dai sorgenti tutte le stringhe da internazionalizzare e crei i file per la localizzazione, file “.po”. Nel mio caso ho utilizzato poEdit, che inserisce in un file .po il catalogo delle stringhe internazionalizzate.
Al primo avvio poEdit chiederà di essere configurato, quindi basta immettere i dati, indicargli le cartelle di default, e assicurarsi che nel tab “Parser”, nella lista “Parser del codice sorgente” sia presente “C/C++”

Preferenze poEditpreferenze poEdit1

A questo punto andate su “File”, “Nuovo catalogo” e si aprirà la schermata “Impostazioni”.

Impostazioni poEdit

Nel tab “Informazioni del progetto” compilate i campi riguardanti il progetto e il team di traduzione, nei campi “Lingua/Linguaggio” e “Nazione” indicate la lingua della traduzione, ed infine nel terzultimo e nel penultimo campo inserite utf-8 per indicare che il codice sorgente e la traduzione sono in formato unicode, altrimenti scegliete il set di caratteri da voi utilizzato. Poi andate sul tab “Percorsi” e inserite il percorso del codice sorgente prima in “Percorso di base” e poi in “Percorsi”. Ora indicate dove salvare il file default.po che sarà il file di base per ogni traduzione del vostro programma e date l’ok. A questo punto vi dovrebbe comparire una schermata che vi fa un riepilogo ti tutte le stringhe trovate nel codice sorgente:

Lettura sorgenti poEdit

Se vi da errore, niente paura! Andate su “Catalogo”, “Aggiorna dai sorgenti”. Una volta clickato su “OK” vedrete la schermata principale di poEdit con tutte le stringhe prelevate direttamente dai vostri sorgenti.

Schermata principale di poEdit

Per comodità cliccate il tasto “A”, e passatevi il tempo a tradurre le vostre stringhe nel text box infondo a sinistra. Una volta terminato il lavoraccio non vi resterà che salvare. A questo punto oltre al file default.po, troverete nella stessa cartella il file default.mo che è il file per così dire “compilato”, cioè quello che verrà caricato dal vostro programma. I files .po vanno comunque conservati per potere sempre effettuare qualche modifica.

Leggi la continuazione di questo articolo Localizzazione di un progetto wx c++ (wx side)


Se sei interessato a questo post, potresti anche provare a leggere:

    No related posts