6.27.2.1 La classe NullTranslations

Le classi Translation sono quelle che attualmente implementano la traduzione dei messaggi dei file sorgenti originali in stringhe di messaggi tradotte. La classe di base usata da tutte le classi di traduzione è la NullTranslations; questa fornisce l'interfaccia base che potrete usare per scrivere le vostre classi di traduzione specializzate. Questi sono i metodi di NullTranslations:

__init__( [fp])
Prende un file oggetto facoltativo fp, che viene ignorato dalla classe base. Inizializza istanze di variabili ``protette'' _info e _charset, che vengono impostate da classi derivate, come _fallback, che viene impostata attraverso add_fallback. Quindi chiama self._parse(fp) se fp non è None.

_parse( fp)
Non ci sono opzioni nella classe base, questo metodo prende il file oggetto fp e legge i dati dal file, inizializzando il suo catalogo dei messaggi. Se avete un file contenente il catalogo dei messaggi in un formato non supportato, dovreste sovrascrivere questo metodo per analizzare il vostro formato.

add_fallback( fallback)
Aggiunge fallback come oggetto restituito per il corrente oggetto traduzione. Un oggetto traduzione dovrebbe consultare il fallback se esso non fornisce una traduzione per il messaggio fornito.

gettext( message)
Se un fallback è stato impostato, trasmette gettext perché venga restituito. Altrimenti, restituisce il messaggio tradotto. Sovrascritto nelle classi derivate.

ugettext( message)
Se un fallback è stato impostato, trasmette ugettext perché venga restituito. Altrimenti, restituisce il messaggio tradotto come una stringa Unicode. Sovrascritto nelle classi derivate.

ngettext( singular, plural, n)
Se un fallback è stato impostato, trasmette ngettext perché venga restituito. Altrimenti, restituisce il messaggio tradotto. Sovrascritto nelle classi derivate.

Nuovo nella versione 2.3.

ungettext( singular, plural, n)
Se un fallback è stato impostato, trasmette ungettext perché venga restituito. Altrimenti, restituisce il messaggio tradotto come una stringa Unicode. Sovrascritto nelle classi derivate.

Nuovo nella versione 2.3.

info( )
Restituisce la variabile ``protetta'' _info.

charset( )
Restituisce la variabile ``protetta'' _charset.

install( [unicode])
Se l'opzione unicode risulta falso, questo metodo installa self.gettext() nello spazio dei nomi built-in, collegandolo a "_". Se unicode risulta vero, esso collega invece self.gettext(). In modo predefinito, unicode è falso.

Notate che questo è solo uno dei modi, anche se quello più conveniente, per rendere la funzione _ disponibile a tutte le vostre applicazioni. Poiché influenza in modo globale tutta l'applicazione, e specificatamente lo spazio dei nomi built-in, i moduli localizzati non dovrebbero mai installare _. Al suo posto dovrebbero invece usare questo codice per rendere _ disponibile ai loro moduli:

import gettext
t = gettext.translation('mymodule', ...)
_ = t.gettext

Questo mette soltanto _ nel modulo dello spazio dei nomi globale, influenzando così soltanto le chiamate all'interno di questo modulo.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.