### Navigazione

- indice
- moduli |
- successivo |
- precedente |
- pywws 13.12.dev1118 documentation »
- Programmi Python e moduli »

# pywws.Localisation

Localisation.py - effetua le traduzioni di stringhe in lingua locale

    usage: python -m pywws.Localisation [options]
    options are:
     -h       or  --help       display this help
     -t code  or  --test code  test use of a language code

## Introduzione

Alcuni dei moduli pywws, come WindRose.py, può utilizzare automaticamente la lingua locale per cose come la direzione del vento. Il modulo Localisation.py, per lo più copiato da esempi nella documentazione di Python, permette questo

Localizzazione di pywws è fatta in due parti - tradurre le stringhe come ‘rising very rapidly’, e cambiando le impostazioni internazionali che controlla le diciture come i nomi dei mesi e la rappresentazione dei numeri (e.g. ‘23,2’ cambiando in ‘23.2’). Su alcuni computer potrebbe non essere possibile impostare le impostazioni internazionali, ma è possibile utilizzare le stringhe tradotte.

## Usare un linguaggio diverso

Il linguaggio utilizzato da pywws e definito nel file `weather.ini` alla sezione `[config]`. Questo può essere un codice di due lettere della lingua, ad esempio `it` (Italiano), o si può specificare una variante nazionale, come `fr_CA` (Canadian French). Potrebbe anche includere un set di caratteri, ad esempio `de_DE.UTF-8`.

La scelta della lingua è a carico del sistema operativo, così Localisation.py può essere eseguito come programma autonomo per testare i codici di lingua. Un buon punto di partenza potrebbe essere la variabile di ambiente di sistema ‘ LANG ‘, ad esempio:

    jim@brains:~/Documents/weather/pywws/code$ echo $LANG
    en_GB.UTF-8
    jim@brains:~/Documents/weather/pywws/code$ python -m pywws.Localisation -t en_GB.UTF-8
    Locale changed from (None, None) to ('en_GB', 'UTF8')
    Translation set OK
    Locale
      decimal point: 23.2
      date & time: Friday, 14 October (14/10/11 13:02:00)
    Translations
      'NNW' => 'NNW'
      'rising very rapidly' => 'rising very rapidly'
      'Rain at times, very unsettled' => 'Rain at times, very unsettled'
    jim@brains:~/Documents/weather/pywws/code$

Nella maggior parte dei casi è richiesto un codice di non più di due lettere:

    jim@brains:~/Documents/weather/pywws/code$ python -m pywws.Localisation -t fr
    Locale changed from (None, None) to ('fr_FR', 'UTF8')
    Translation set OK
    Locale
      decimal point: 23,2
      date & time: vendredi, 14 octobre (14/10/2011 13:04:44)
    Translations
      'NNW' => 'NNO'
      'rising very rapidly' => 'en hausse très rapide'
      'Rain at times, very unsettled' => 'Quelques précipitations, très perturbé'
    jim@brains:~/Documents/weather/pywws/code$

Se impostate una lingua non supportata, pywws usa per default l’Inglese:

    jim@brains:~/Documents/weather/pywws/code$ python -m pywws.Localisation -t ja
    Failed to set locale: ja
    No translation file found for: ja
    Locale
      decimal point: 23.2
      date & time: Friday, 14 October (10/14/11 13:08:49)
    Translations
      'NNW' => 'NNW'
      'rising very rapidly' => 'rising very rapidly'
      'Rain at times, very unsettled' => 'Rain at times, very unsettled'
    jim@brains:~/Documents/weather/pywws/code$

Dopo aver trovato un codice di lingua adatto che funziona, è possibile configurare pywws per usarlo modificando il file `weather.ini`:

    [config]
    language = fr

## Creazione di una nuova traduzione

Se non c’è nessun file di traduzione per la lingua preferita, allora avete bisogno di crearne uno. Vedi Come utilizzare pywws in un altra lingua per istruzioni dettagliate.

Funzioni

`SetApplicationLanguage`(params) | Impostare le impostazioni internazionali e la traduzione di un programma pywws.
`SetLocale`(lang) | Impostare le impostazioni locali utilizzate dal programma.
`SetTranslation`(lang) | Impostare la traduzione utilizzata da (alcuni) moduli pywws.
`main`([argv]) |

`pywws.Localisation.``SetLocale`(lang)

  Impostare le impostazioni locali utilizzate dal programma.

  Questo riguarda l’intera applicazione, cambiando il modo in cui le date, valute e numeri sono rappresentati. Essa non deve essere chiamata da una routine di libreria che può essere utilizzata in un altro programma.

  Il parametro `lang` può essere qualsiasi stringa che è riconosciuto da `locale.setlocale()`, per esempio `it`, `it_IT` or `it_IT.UTF-8`.

  Parametri: | lang (string) – language code.
  Ritorna: | success status.
  Tipo di ritorno:
  | bool

`pywws.Localisation.``SetTranslation`(lang)

  Impostare la traduzione utilizzata da (alcuni) moduli pywws.

  Questo imposta l’oggetto di traduzione `Localisation.translation` per utilizzare una particolare lingua.

  Il parametro `lang` può essere qualsiasi stringa nel formato `it`, `it_IT` o `it_IT.UTF-8`. Tutto ciò dopo un carattere `.` viene ignorato. Nel caso di una stringa come `it_IT`, la routine cercherà un file di lingua `it_IT` prima di cercare un file `it`.

  Parametri: | lang (string) – language code.
  Ritorna: | success status.
  Tipo di ritorno:
  | bool

`pywws.Localisation.``SetApplicationLanguage`(params)

  Impostare le impostazioni internazionali e la traduzione di un programma pywws.

  Questa funzione legge la lingua dal file di configurazione, quindi chiama `SetLocale()` e `SetTranslation()`.

  Parametri: | params (object) – a `pywws.DataStore.params` object.

`pywws.Localisation.``main`(argv=None)

### Navigazione

- indice
- moduli |
- successivo |
- precedente |
- pywws 13.12.dev1118 documentation »
- Programmi Python e moduli »