2012-10-26 11 views
7

Sto lavorando a un progetto che utilizza l10n.
Se ho impostato la versione locale di EN e cerco di visualizzare l'ora (08:00), ottengo:Django - Modifica il formato dell'ora per un locale

8 a.m. 

Se ho impostato la versione locale di FR ottengo:

08:00:00 

Ma dovrebbe essere qualcosa del tipo:

8h 

Perché sto ricevendo questo formato? Come posso ottenere il formato corretto?

risposta

10

Apparentemente non esiste un formato ora predefinito per le impostazioni internazionali FR.

Che cosa si può fare è configurare il format module:

# myproject/settings.py 
FORMAT_MODULE_PATH = 'myproject.formats' 

crearla:

myproject/ 
    formats/ 
     __init__.py 
     fr/ 
      __init__.py 
      formats.py 

e definire il formato francese:

# myproject/formats/fr/formats.py 
TIME_FORMAT = 'G:i' 
+0

Molto buono a sapersi, ottimo lavoro. – jpic

1

io non ti credo possa cambiare il formato se si utilizza la localizzazione, da quanto ho capito: https://docs.djangoproject.com/en/dev/topics/i18n/timezones/.

USE_L10N = True? In tal caso, sostituirà i valori settings.TIME_FORMAT e: https://docs.djangoproject.com/en/dev/ref/settings/#time-format

È possibile scrivere il proprio processore di contesto o filtro di modello "localizzazione", in base alla lingua selezionata.

+0

Confermo che "TIME_FORMAT" sovrascrive il valore predefinito da "USE_L10N" quando viene impostato tramite il modulo di formato –

Problemi correlati