I have two questions. How can I translate in forms: a) labels b) Form ValidationErrors ?
forms.py
from django import forms
from django.db.models import Max, Min
from .models import Application, FlowRate, WaterFilterSubType, Fineness, Dirt
from .models import DirtProperties, Flange
class InputDataWaterForm(forms.Form):
'''Application'''
choices = list(Application.objects.values_list('id','application'))
application = forms.ChoiceField(choices = choices, initial="1", label="Specify application:")
....
def clean(self):
cleaned_data = super(InputDataWaterForm, self).clean()
application = cleaned_data.get('application')
...
'''OTHER CONDITIONS if not flowrate ...'''
if not (flowrate or pressure or dirt or dirtproperties or
application or fineness or temperature or
flange or atex or aufstellung or ventil):
raise forms.ValidationError('PLEASE ENTER THE REQUIRED INFO')
How can I translate content of a table in a database? All records eg. product names in a table must be translated.
models.py
from django.db import models
'''FILTER PROPERTIES LIKE COLOR'''
class FP_sealing(models.Model):
value = models.CharField('Material Sealing', max_length=10)
descr = models.CharField('Description', max_length=200, default="")
def __str__(self):
return("Seal: " + self.value)
Thank you
Translations are normally done with Django's translation framework. For eager translations, one uses
gettext
, for lazy translations (translations that should be calculated when rendered), one usesgettext_lazy
. You can for example translate your application with:For choice values in models, as is specified in the documentation:
Then you can run the
makemessages
command [Django-doc] to make translation files:Django will then make
*.po
files where you can define the translations for the strings you defined.Then you can use the
compilemessages
command [Django-doc] to compile these translation files to*.mo
files: