6

Ho riscontrato uno strano problema durante la traduzione di stringhe (nell'amministratore) usando django gettext: Localmente eseguendo il server di sviluppo tutte le traduzioni sono visualizzate correttamente nell'amministratore, ma quando il progetto viene distribuito su il server di produzione alcune stringhe non vengono tradotte affatto. Non riesco a determinare alcun sistema dietro il quale le stringhe sono interessate e quali no!traduzione gettext non funziona sul sistema di produzione

Per darvi un'impressione, ad es. un modello è definito come:

class Company(models.Model): 

    .... 

    class Meta: 
     verbose_name = _('Company Profile') 
     verbose_name_plural = _('Company Profiles') 

Utilizzando server di dev nome del modello mostra correttamente in diverse lingue in Admin, sul server di produzione non è! Questo riguarda alcuni modelli, altri no ... Questo mi sta facendo davvero noci, dal momento che difficilmente ho un'idea su come eseguire il debug di questo ...

+1

Forse "ugettext_lazy' versus" ugettext'? – Wolph

risposta

7

alcune possibilità:

  • server di produzione non vedere i messaggi compilati
  • i messaggi non tradotti vengono contrassegnati come fuzzy
  • _() delibera di ugettext invece di ugettext_lazy
+0

Non sono contrassegnati come fuzzy, ma puoi forse nominare alcuni motivi per cui il server non vedrebbe i messaggi compilati (sono nelle directory dell'app). Non hai ancora letto il problema dell'uso di 'ugettext' invece di' ugettext_lazy'? –

+1

Ok. risolto ora. Stavo ereditando da un modello che usava 'ugettext', mentre il bambino stava usando' ugettext_lazy', quindi ho preso questa strana miscela! Grazie! –

+0

Quello che intendevo era che forse per es. i messaggi compilati non sono stati inviati al server. Niente di magico, solo che a volte accadono cose così banali. –

3

ho avuto come problema analoghe sui e, a parte ciò che Tomasz Zielinski ha sottolineato ho dovuto apportare le seguenti modifiche:

in settings.py

LOCALE_PATHS = (
    "/path/to/your/project/locale", 
) 

Ricordate la barra finale e assicurarsi che la struttura di directory simile a:

project 
    your_app 
    your_other_app 
    locale 
     en_US 
      LC_MESSAGES 
     sv_SE 
      LC_MESSAGES 
Problemi correlati