Ho un sito Web che è scritto in olandese. Ora devo fornire una seconda lingua per quel sito web che è francese.Django: lingua predefinita i18n
Così ho circondato tutto il testo che deve essere tradotto con la funzione gettext, creato i file po e compilato quelli per mo file. Ho anche creato una vista che imposta la sessione django_language sul codice lingua appropriato. Quindi ora la versione francese sta funzionando, ma non posso tornare alla versione olandese.
Quindi mi stavo chiedendo devo creare anche un file po/mo per la versione olandese? Il testo che è passato a gettext è già in olandese. C'è un modo per dire usa il 'testo predefinito'?
Questa è la vista che uso per aggiungere il codice della lingua per la mia sessione:
class LanguagePickerView(RedirectView):
url = '/'
def get(self,request,*args, **kwargs):
request.session['django_language'] = self.kwargs.get('language')
return super(LanguagePickerView, self).get(request, args, kwargs)
Nei miei modelli che uso i seguenti URL: stringhe lingua
<a href='{% url web-language 'nl-nl' %}'>NL</a>
<a href='{% url web-language 'fr' %}'>fr</a>
Penso che non è possibile passare al dutch back non ha nulla a che fare con i file locali, ma con il modo in cui si cambia la lingua (vista, middleware)? Puoi dare qualche dettaglio in merito? E sulla tua domanda: no, non è necessario fornire i file locali per la lingua in cui hai scritto le stringhe traducibili. –
Sto usando il django.middleware.locale.LocaleMiddleware. Aggiungerò la vista che cambia la sessione alla mia domanda. – Pickels