All'interno del tipico marasma che contraddistingue ogni file .po è difficile talvolta attribuire una stringa ad un particolare elemento dell'interfaccia del programma. La generazione del file .po infatti non ricalca la struttura che l'applicazione avrà una volta in esecuzione, ma è determinata dalla disposizione delle stringhe traducibili all'interno dei sorgenti, in ordine alfabetico.
Questa è una delle principali cause di traduzioni non errate, ma non buone, secondo quanto definito in Sezione 2 - Principi di base. Riuscire ad individuare dove apparirà esattamente una determinata stringa è una condizione utile per indirizzare al meglio la traduzione.
È possibile classificare diversi tipi di stringhe tra quelle che possono essere presenti in un programma. Ad ognuna di queste classi corrisponde un diverso livello di visibilità da parte dell'utente (anche in relazione alla esperienza dello stesso) e quindi una diversa attenzione nella traduzione. Di seguito le tre categorie più presenti di stringhe, quelle cioè che vanno ad interessare quasi tutti i programmi: non bisogna dimenticare infatti che esistono comunque stringhe non catalogabili nelle categorie elencate, come ad esempio le stringhe per la documentazione del registro di configurazione di GNOME, ma ugualmente importanti in fase di traduzione.
Ci si riferisce a quelle stringhe che spiegano brevememente la funzione di una determinata opzione che può essere impartita dalla riga di comando. Ovviamente l'utente che intende avviare un programma da riga di comando sa quello che fa, oppure è solo costruttivamente curioso.
Spesso questi messaggi possono essere relativi ad una questione tecnica: in tal caso è opportuno fare riferimento a quanto precisato in una nota della Sezione 2.2 - Ricercare la semplicità d'uso. Ad ogni modo tenere presente che:
Ad esempio per un caso come
[shell]$ programma --help Usage: programma [OPTIONS...] Application options -d, --debug Enable debugging code -n, --no-registration Do not register the shell ...
#: src/main.c:57 msgid "Enable debugging code" msgstr "Abilita il codice di debug" #: src/main.c:58 msgid "Do not register the shell" msgstr "Non registrare la shell "
Il suggerimento sul modo del verbo è puramente indicativo: alcuni messaggi potrebbero diventare sgradevoli se resi in questo modo. L'importante è rendere l'idea di un comando che l'utente sta impartendo al programma.
Si tratta di stinghe che riferiscono di errori nella esecuzione del codice, dovuti a condizioni che non si dovrebbero verificare nell'uso normale della applicazine. Anche in questo caso si ricade nella nota sulla traduzione di termini tecnici della Sezione 2.2 - Ricercare la semplicità d'uso.
Individuare tali stringhe è più semplice che tradurle.
Spesso, oltre a presentare la parola error al loro interno, fanno riferimento ad un particolare oggetto del codice del programma, magari un widget proprio della applicazione o una sua struttura dati. Una ispezione del sorgente (con EMACS premere 's', almeno per sorgenti in C e C++) può essere illuminante, specie se la stringa è un argomento di una funzione g_error_*().
Sulla traduzione non è possibile dare molte indicazioni. Di certo non è da tradurre il nome del particolare elemento che può causare la condizione di errore.
Tradurre poi il resto del messaggio presenta sia il vantaggio di venire incontro all'utente, sia lo svantaggio di essere incomprensibile agli sviluppatori, i quali potrebbero ricevere una segnalazione d'errore in una lingua diversa dell'inglese o in inglese, ma con un messaggio ritradotto in maniera differente da quanto si aspettano. Valutare quindi la scelta caso per caso e con attenzione.
Attenzione: i messaggi a cui fa riferimento questa sezione non sono quelli che appaiono quando, ad esempio il programma non è stato in grado di trovare un certo file di nome pippo o simili, bensì quelli che, solitamente, causano l'immediata terminazione del programma o, comunque, ne impediscono il corretto funzionamento.
Com'è ovvio vanno a costituire l'interfaccia stessa del programma e delle sue finestre, quindi la loro visibilità è massima.
L'argomento sarà estesamente e dettagliatamente trattato nella Sezione 6 - Finestre e nella Sezione 7 - Menù standard.