diff --git a/django/contrib/auth/management/__init__.py b/django/contrib/auth/management/__init__.py
index 6380d2f..d408d35 100644
--- a/django/contrib/auth/management/__init__.py
+++ b/django/contrib/auth/management/__init__.py
@@ -7,12 +7,14 @@ import getpass
 import unicodedata
 
 from django.apps import apps
+from django.conf import settings
 from django.contrib.auth import get_permission_codename
 from django.core import exceptions
 from django.core.management.base import CommandError
 from django.db import DEFAULT_DB_ALIAS, router
 from django.utils import six
 from django.utils.encoding import DEFAULT_LOCALE_ENCODING
+from django.utils.translation import activate, get_language, ugettext as _
 
 
 def _get_all_permissions(opts, ctype):
@@ -28,12 +30,18 @@ def _get_all_permissions(opts, ctype):
 def _get_builtin_permissions(opts):
     """
     Returns (codename, name) for all autogenerated permissions.
-    By default, this is ('add', 'change', 'delete')
+    By default, this is ('view', 'add', 'change', 'delete')
     """
     perms = []
+    trans = {
+        'view':   _('Can view %s'),
+        'add':    _('Can add %s'),
+        'change': _('Can change %s'),
+        'delete': _('Can delete %s'),
+    }
     for action in opts.default_permissions:
         perms.append((get_permission_codename(action, opts),
-            'Can %s %s' % (action, opts.verbose_name_raw)))
+            trans.get(action, 'Can '+action+' %s') %  opts.verbose_name))
     return perms
 
 
@@ -71,8 +79,18 @@ def create_permissions(app_config, verbosity=2, interactive=True, using=DEFAULT_
 
     from django.contrib.contenttypes.models import ContentType
 
+    # setup locale
+    lang = get_language()
+    try:
+        activate(settings.LANGUAGE_CODE)
+    except:
+        pass
+
+    # For localized prefixes ('Can view ', 'Can add ', 'Can change '
+    # and 'Can delete ') digit `30` - probably maximum the length of
+    # two words in all languages
     permission_name_max_length = Permission._meta.get_field('name').max_length
-    verbose_name_max_length = permission_name_max_length - 11  # len('Can change ') prefix
+    verbose_name_max_length = permission_name_max_length - 30
 
     # This will hold the permissions we're looking for as
     # (content_type, (codename, name))
@@ -128,6 +146,10 @@ def create_permissions(app_config, verbosity=2, interactive=True, using=DEFAULT_
         for perm in perms:
             print("Adding permission '%s'" % perm)
 
+    # revert locale
+    activate(lang)
+
+
 
 def get_system_username():
     """
diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py
index ad46c5c..e028926 100644
--- a/django/contrib/auth/models.py
+++ b/django/contrib/auth/models.py
@@ -49,6 +49,9 @@ class Permission(models.Model):
           list, view the "change" form and change an object.
         - The "delete" permission limits the ability to delete an object.
 
+    The "view" permission allows the user's to view the object without
+    the possibility of change. This permission not uses in Django admin.
+
     Permissions are set globally per type of object, not per specific object
     instance. It is possible to say "Mary may change news stories," but it's
     not currently possible to say "Mary may change news stories, but only the
diff --git a/django/db/models/options.py b/django/db/models/options.py
index 368ac62..3f1f3c5 100644
--- a/django/db/models/options.py
+++ b/django/db/models/options.py
@@ -106,7 +106,7 @@ class Options(object):
         self.unique_together = []
         self.index_together = []
         self.select_on_save = False
-        self.default_permissions = ('add', 'change', 'delete')
+        self.default_permissions = ('view', 'add', 'change', 'delete')
         self.permissions = []
         self.object_name = None
         self.app_label = app_label
diff --git a/tests/auth_tests/test_management.py b/tests/auth_tests/test_management.py
index f45703f..40f50c9 100644
--- a/tests/auth_tests/test_management.py
+++ b/tests/auth_tests/test_management.py
@@ -570,10 +570,10 @@ class PermissionTestCase(TestCase):
         ]
         create_permissions(auth_app_config, verbosity=0)
 
-        # add/change/delete permission by default + custom permission
+        # view/add/change/delete permission by default + custom permission
         self.assertEqual(models.Permission.objects.filter(
             content_type=permission_content_type,
-        ).count(), 4)
+        ).count(), 5)
 
         models.Permission.objects.filter(content_type=permission_content_type).delete()
         models.Permission._meta.default_permissions = []
@@ -592,7 +592,7 @@ class PermissionTestCase(TestCase):
         models.Permission._meta.verbose_name = "some ridiculously long verbose name that is out of control" * 5
 
         six.assertRaisesRegex(self, exceptions.ValidationError,
-            "The verbose_name of auth.permission is longer than 244 characters",
+            "The verbose_name of auth.permission is longer than 225 characters",
             create_permissions, auth_app_config, verbosity=0)
 
     def test_custom_permission_name_length(self):
