Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#11105 closed (duplicate)

Permission names should be translated on syncdb

Reported by: hcarvalhoalves Owned by: nobody
Component: Internationalization Version: 1.1-beta
Severity: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:


The basic permissions created during syncdb (add, change, delete) should be localized according to the LANGUAGE_CODE. Permission names are the only human-readable representation available to apps using contrib.auth, and are also used on contrib.admin, so it's kind of disappointing that all the admin is translated, but still unusable for managing permissions by non-english speakers because permissions aren't translated.

The relevant code is at django/contrib/auth/management/

def _get_all_permissions(opts):
    "Returns (codename, name) for all permissions in the given opts."
    perms = []
    for action in ('add', 'change', 'delete'):
        perms.append((_get_permission_codename(action, opts), u'Can %s %s' % (action, opts.verbose_name_raw)))
    return perms + list(opts.permissions)

I tried a patch (see attachment), and created translations to my locale (pt_BR), but syncdb doesn't seem to consider translations.

Looking for an insight on this, fixing this should be trivial, and would help a lot those using contrib.auth (today I need to edit all my permission's names by hand to about 60 models, it sucks).

Attachments (2)

11beta1.diff (1.1 KB) - added by hcarvalhoalves 6 years ago.
translate_permissions.diff (1.6 KB) - added by hcarvalhoalves 6 years ago.
Fix for this particular case - just to keep track

Download all attachments as: .zip

Change History (4)

Changed 6 years ago by hcarvalhoalves

comment:1 follow-up: Changed 6 years ago by Alex

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Resolution set to duplicate
  • Status changed from new to closed

Dupe of #1688.

comment:2 in reply to: ↑ 1 Changed 6 years ago by hcarvalhoalves

Replying to Alex:

Dupe of #1688.

Are you sure it's a dupe? I don't ask translating permission names on runtime in admin, but translating at 'syncdb' time.

Changed 6 years ago by hcarvalhoalves

Fix for this particular case - just to keep track

Note: See TracTickets for help on using tickets.
Back to Top