How to translate the application name in Django CM

2019-05-24 12:42发布

问题:

How can I translate the application name in the Django CMS admin?

See the screenshot:

回答1:

Have a look at this previously asked question on the similar topic for internationalization in Django.

Internally, it uses Model._meta.app_label to display the application name. Inspect admin view and its template for further information.



回答2:

OK. I have found how to translate the app name without changing the database name. Example (inside apps.py of app you want to translate):

from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _

class MyAppConfig(AppConfig):
    name = 'MyApp'
    verbose_name = _('Transalation of MyApp here')

Run makemessages -a and after altering django.po run compilemessages and you are done. Hit refresh in admin and your app name is translated.



回答3:

It might too late to answer this question but i am sharing my experience.

Add below mention code to model.py

VERBOSE_NAME = _('Appname')

After the use this

django-admin.py makemessages -a
django-admin.py compilemessages

This will add entry to django.po.



回答4:

I don't know which CMS you used,so I just give you a sample code below. Maybe you can change the fields in your models.py file like this:

class Entry(models.Model):
    title         = models.CharField(u'标题',max_length=300)

    # other fields here

The code above is work well in my project(django 1.4.2),the first param(string) in CharField() will display in my Admin view,I think it is useful for you.

The full code in my project:https://github.com/tianyu0915/pythoner.net/blob/master/pythoner/wiki/models.py#L69