From b9e924417127c7e0e3d011e80cc19f188c6c3619 Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Fri, 9 Mar 2012 00:10:59 +0900
Subject: [PATCH] =?UTF-8?q?Issue=20#965300=20by=20G=C3=A1bor=20Hojtsy,=20x?=
 =?UTF-8?q?jm:=20Change=20LANGUAGE=5FNONE=20to=20LANGUAGE=5FNOT=5FSPECIFIE?=
 =?UTF-8?q?D;=20add=20LANGUAGE=5FNOT=5FAPPLICABLE=20and=20LANGUAGE=5FMULTI?=
 =?UTF-8?q?PLE.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 core/includes/bootstrap.inc                   | 41 +++++++--
 core/includes/file.inc                        |  2 +-
 core/includes/language.inc                    |  4 +-
 core/includes/path.inc                        | 38 ++++----
 core/modules/aggregator/aggregator.test       |  2 +-
 core/modules/book/book.admin.inc              |  2 +-
 core/modules/book/book.test                   |  6 +-
 core/modules/comment/comment.admin.inc        |  2 +-
 core/modules/comment/comment.entity.inc       |  2 +-
 core/modules/comment/comment.module           |  6 +-
 core/modules/comment/comment.test             | 32 +++----
 core/modules/dblog/dblog.test                 |  6 +-
 .../entity/tests/entity_crud_hook_test.test   | 12 +--
 core/modules/entity/tests/entity_query.test   | 30 +++---
 core/modules/field/field.default.inc          |  6 +-
 core/modules/field/field.multilingual.inc     | 33 ++++---
 .../field_sql_storage/field_sql_storage.test  | 12 +--
 .../field/modules/list/tests/list.test        |  8 +-
 core/modules/field/modules/number/number.test |  2 +-
 .../field/modules/options/options.test        | 10 +-
 core/modules/field/modules/text/text.test     | 10 +-
 core/modules/field/tests/field.test           | 92 +++++++++----------
 core/modules/field_ui/field_ui.admin.inc      | 20 ++--
 core/modules/field_ui/field_ui.test           |  6 +-
 core/modules/file/tests/file.test             | 66 ++++++-------
 core/modules/filter/filter.test               | 10 +-
 core/modules/forum/forum.test                 | 10 +-
 core/modules/image/image.test                 | 28 +++---
 core/modules/locale/locale.module             |  2 +-
 core/modules/locale/locale.test               | 18 ++--
 core/modules/menu/menu.test                   |  4 +-
 core/modules/node/node.admin.inc              |  6 +-
 core/modules/node/node.pages.inc              |  4 +-
 core/modules/node/node.test                   | 34 +++----
 core/modules/path/path.admin.inc              |  8 +-
 core/modules/path/path.module                 | 14 +--
 core/modules/path/path.test                   |  2 +-
 core/modules/php/php.test                     |  4 +-
 core/modules/rdf/rdf.test                     |  6 +-
 core/modules/search/search.pages.inc          |  2 +-
 core/modules/search/search.test               | 48 +++++-----
 .../simpletest/drupal_web_test_case.php       |  4 +-
 core/modules/simpletest/tests/common.test     |  2 +-
 core/modules/simpletest/tests/file.test       |  2 +-
 .../modules/simpletest/tests/form_test.module |  2 +-
 core/modules/simpletest/tests/menu.test       |  2 +-
 core/modules/simpletest/tests/path.test       |  2 +-
 .../upgrade/drupal-7.language.database.php    | 10 +-
 .../tests/upgrade/upgrade.language.test       |  6 +-
 core/modules/system/system.install            |  4 +-
 core/modules/system/system.test               |  6 +-
 core/modules/taxonomy/taxonomy.test           | 22 ++---
 core/modules/tracker/tracker.test             | 10 +-
 core/modules/translation/translation.module   |  8 +-
 core/modules/translation/translation.test     | 20 ++--
 core/modules/user/user.test                   | 12 +--
 56 files changed, 397 insertions(+), 365 deletions(-)

diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 39bc55c67ca0..0297a74bdf8d 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -163,18 +163,47 @@
 const DRUPAL_KILOBYTE = 1024;
 
 /**
- * System language (only applicable to UI).
+ * Special system language code (only applicable to UI language).
  *
- * Refers to the language used in Drupal and module/theme source code.
+ * Refers to the language used in Drupal and module/theme source code. Drupal
+ * uses the built-in text for English by default, but if configured to allow
+ * translation/customization of English, we need to differentiate between the
+ * built-in language and the English translation.
  */
 const LANGUAGE_SYSTEM = 'system';
 
 /**
- * The language code used when no language is explicitly assigned.
+ * The language code used when no language is explicitly assigned (yet).
  *
- * Defined by ISO639-2 for "Undetermined".
+ * Should be used when language information is not available or cannot be
+ * determined. This special language code is useful when we know the data
+ * might have linguistic information, but we don't know the language.
+ *
+ * See http://www.w3.org/International/questions/qa-no-language#undetermined.
+ */
+const LANGUAGE_NOT_SPECIFIED = 'und';
+
+/**
+ * The language code used when the marked object has no linguistic content.
+ *
+ * Should be used when we explicitly know that the data referred has no
+ * linguistic content.
+ *
+ * See http://www.w3.org/International/questions/qa-no-language#nonlinguistic.
+ */
+const LANGUAGE_NOT_APPLICABLE = 'zxx';
+
+/**
+ * The language code used when multiple languages could be applied.
+ *
+ * Should be used when individual parts of the data cannot be marked with
+ * language, but we know there are multiple languages involved. Such as a
+ * PDF file for an electronic appliance, which has usage manuals in 8
+ * languages but is uploaded as one file in Drupal.
+ *
+ * Defined by ISO639-2 for "Multiple languages".
  */
-const LANGUAGE_NONE = 'und';
+const LANGUAGE_MULTIPLE = 'mul';
 
 /**
  * The type of language used to define the content language.
@@ -2733,7 +2762,7 @@ function language_load($langcode) {
  *   The printed name of the language.
  */
 function language_name($langcode) {
-  if ($langcode == LANGUAGE_NONE) {
+  if ($langcode == LANGUAGE_NOT_SPECIFIED) {
     return t('None');
   }
 
diff --git a/core/includes/file.inc b/core/includes/file.inc
index 9e85ba9ee677..7ce02b69c076 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -574,7 +574,7 @@ function file_save(stdClass $file) {
     // neutral more often than language dependent. Until we have better flexible
     // settings.
     // @todo See http://drupal.org/node/258785 and followups.
-    $file->langcode = LANGUAGE_NONE;
+    $file->langcode = LANGUAGE_NOT_SPECIFIED;
   }
 
   // Load the stored entity, if any.
diff --git a/core/includes/language.inc b/core/includes/language.inc
index 50d1724def7c..76c4318eee07 100644
--- a/core/includes/language.inc
+++ b/core/includes/language.inc
@@ -421,9 +421,9 @@ function language_fallback_get_candidates($type = LANGUAGE_TYPE_CONTENT) {
   $fallback_candidates = &drupal_static(__FUNCTION__);
 
   if (!isset($fallback_candidates)) {
-    // Get languages ordered by weight, add LANGUAGE_NONE as the last one.
+    // Get languages ordered by weight, add LANGUAGE_NOT_SPECIFIED at the end.
     $fallback_candidates = array_keys(language_list());
-    $fallback_candidates[] = LANGUAGE_NONE;
+    $fallback_candidates[] = LANGUAGE_NOT_SPECIFIED;
 
     // Let other modules hook in and add/change candidates.
     drupal_alter('language_fallback_candidates', $fallback_candidates);
diff --git a/core/includes/path.inc b/core/includes/path.inc
index b49d42b27ac5..223ab0473d8d 100644
--- a/core/includes/path.inc
+++ b/core/includes/path.inc
@@ -96,7 +96,7 @@ function drupal_lookup_path($action, $path = '', $langcode = NULL) {
           $args = array(
             ':system' => $cache['system_paths'],
             ':langcode' => $langcode,
-            ':language_none' => LANGUAGE_NONE,
+            ':langcode_undetermined' => LANGUAGE_NOT_SPECIFIED,
           );
           // Always get the language-specific alias before the language-neutral
           // one. For example 'de' is less than 'und' so the order needs to be
@@ -105,16 +105,16 @@ function drupal_lookup_path($action, $path = '', $langcode = NULL) {
           // the most recently created alias for each source. Subsequent queries
           // using fetchField() must use pid DESC to have the same effect.
           // For performance reasons, the query builder is not used here.
-          if ($langcode == LANGUAGE_NONE) {
+          if ($langcode == LANGUAGE_NOT_SPECIFIED) {
             // Prevent PDO from complaining about a token the query doesn't use.
             unset($args[':langcode']);
-            $result = db_query('SELECT source, alias FROM {url_alias} WHERE source IN (:system) AND langcode = :language_none ORDER BY pid ASC', $args);
+            $result = db_query('SELECT source, alias FROM {url_alias} WHERE source IN (:system) AND langcode = :langcode_undetermined ORDER BY pid ASC', $args);
           }
-          elseif ($langcode < LANGUAGE_NONE) {
-            $result = db_query('SELECT source, alias FROM {url_alias} WHERE source IN (:system) AND langcode IN (:langcode, :language_none) ORDER BY langcode ASC, pid ASC', $args);
+          elseif ($langcode < LANGUAGE_NOT_SPECIFIED) {
+            $result = db_query('SELECT source, alias FROM {url_alias} WHERE source IN (:system) AND langcode IN (:langcode, :langcode_undetermined) ORDER BY langcode ASC, pid ASC', $args);
           }
           else {
-            $result = db_query('SELECT source, alias FROM {url_alias} WHERE source IN (:system) AND langcode IN (:langcode, :language_none) ORDER BY langcode DESC, pid ASC', $args);
+            $result = db_query('SELECT source, alias FROM {url_alias} WHERE source IN (:system) AND langcode IN (:langcode, :langcode_undetermined) ORDER BY langcode DESC, pid ASC', $args);
           }
           $cache['map'][$langcode] = $result->fetchAllKeyed();
           // Keep a record of paths with no alias to avoid querying twice.
@@ -136,18 +136,18 @@ function drupal_lookup_path($action, $path = '', $langcode = NULL) {
         $args = array(
           ':source' => $path,
           ':langcode' => $langcode,
-          ':language_none' => LANGUAGE_NONE,
+          ':langcode_undetermined' => LANGUAGE_NOT_SPECIFIED,
         );
         // See the queries above.
-        if ($langcode == LANGUAGE_NONE) {
+        if ($langcode == LANGUAGE_NOT_SPECIFIED) {
           unset($args[':langcode']);
-          $alias = db_query("SELECT alias FROM {url_alias} WHERE source = :source AND langcode = :language_none ORDER BY pid DESC", $args)->fetchField();
+          $alias = db_query("SELECT alias FROM {url_alias} WHERE source = :source AND langcode = :langcode_undetermined ORDER BY pid DESC", $args)->fetchField();
         }
-        elseif ($langcode > LANGUAGE_NONE) {
-          $alias = db_query("SELECT alias FROM {url_alias} WHERE source = :source AND langcode IN (:langcode, :language_none) ORDER BY langcode DESC, pid DESC", $args)->fetchField();
+        elseif ($langcode > LANGUAGE_NOT_SPECIFIED) {
+          $alias = db_query("SELECT alias FROM {url_alias} WHERE source = :source AND langcode IN (:langcode, :langcode_undetermined) ORDER BY langcode DESC, pid DESC", $args)->fetchField();
         }
         else {
-          $alias = db_query("SELECT alias FROM {url_alias} WHERE source = :source AND langcode IN (:langcode, :language_none) ORDER BY langcode ASC, pid DESC", $args)->fetchField();
+          $alias = db_query("SELECT alias FROM {url_alias} WHERE source = :source AND langcode IN (:langcode, :langcode_undetermined) ORDER BY langcode ASC, pid DESC", $args)->fetchField();
         }
         $cache['map'][$langcode][$path] = $alias;
         return $alias;
@@ -162,18 +162,18 @@ function drupal_lookup_path($action, $path = '', $langcode = NULL) {
         $args = array(
           ':alias' => $path,
           ':langcode' => $langcode,
-          ':language_none' => LANGUAGE_NONE,
+          ':langcode_undetermined' => LANGUAGE_NOT_SPECIFIED,
         );
         // See the queries above.
-        if ($langcode == LANGUAGE_NONE) {
+        if ($langcode == LANGUAGE_NOT_SPECIFIED) {
           unset($args[':langcode']);
-          $result = db_query("SELECT source FROM {url_alias} WHERE alias = :alias AND langcode = :language_none ORDER BY pid DESC", $args);
+          $result = db_query("SELECT source FROM {url_alias} WHERE alias = :alias AND langcode = :langcode_undetermined ORDER BY pid DESC", $args);
         }
-        elseif ($langcode > LANGUAGE_NONE) {
-          $result = db_query("SELECT source FROM {url_alias} WHERE alias = :alias AND langcode IN (:langcode, :language_none) ORDER BY langcode DESC, pid DESC", $args);
+        elseif ($langcode > LANGUAGE_NOT_SPECIFIED) {
+          $result = db_query("SELECT source FROM {url_alias} WHERE alias = :alias AND langcode IN (:langcode, :langcode_undetermined) ORDER BY langcode DESC, pid DESC", $args);
         }
         else {
-          $result = db_query("SELECT source FROM {url_alias} WHERE alias = :alias AND langcode IN (:langcode, :language_none) ORDER BY langcode ASC, pid DESC", $args);
+          $result = db_query("SELECT source FROM {url_alias} WHERE alias = :alias AND langcode IN (:langcode, :langcode_undetermined) ORDER BY langcode ASC, pid DESC", $args);
         }
         if ($source = $result->fetchField()) {
           $cache['map'][$langcode][$source] = $path;
@@ -431,7 +431,7 @@ function path_load($conditions) {
  *   - langcode: (optional) The language code of the alias.
  */
 function path_save(&$path) {
-  $path += array('langcode' => LANGUAGE_NONE);
+  $path += array('langcode' => LANGUAGE_NOT_SPECIFIED);
 
   // Load the stored alias, if any.
   if (!empty($path['pid']) && !isset($path['original'])) {
diff --git a/core/modules/aggregator/aggregator.test b/core/modules/aggregator/aggregator.test
index 02deb4503444..9fe344c66055 100644
--- a/core/modules/aggregator/aggregator.test
+++ b/core/modules/aggregator/aggregator.test
@@ -282,7 +282,7 @@ EOF;
    *   (optional) The number of nodes to generate.
    */
   function createSampleNodes($count = 5) {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     // Post $count article nodes.
     for ($i = 0; $i < $count; $i++) {
       $edit = array();
diff --git a/core/modules/book/book.admin.inc b/core/modules/book/book.admin.inc
index 132f2c619094..265b3810f700 100644
--- a/core/modules/book/book.admin.inc
+++ b/core/modules/book/book.admin.inc
@@ -129,7 +129,7 @@ function book_admin_edit_submit($form, &$form_state) {
       // Update the title if changed.
       if ($row['title']['#default_value'] != $values['title']) {
         $node = node_load($values['nid']);
-        $langcode = LANGUAGE_NONE;
+        $langcode = LANGUAGE_NOT_SPECIFIED;
         $node->title = $values['title'];
         $node->book['link_title'] = $values['title'];
         $node->revision = 1;
diff --git a/core/modules/book/book.test b/core/modules/book/book.test
index 6ebd07f31b0b..6ca34ceeb9c4 100644
--- a/core/modules/book/book.test
+++ b/core/modules/book/book.test
@@ -168,7 +168,7 @@ class BookTestCase extends DrupalWebTestCase {
     // Check printer friendly version.
     $this->drupalGet('book/export/html/' . $node->nid);
     $this->assertText($node->title, t('Printer friendly title found.'));
-    $this->assertRaw(check_markup($node->body[LANGUAGE_NONE][0]['value'], $node->body[LANGUAGE_NONE][0]['format']), t('Printer friendly body found.'));
+    $this->assertRaw(check_markup($node->body[LANGUAGE_NOT_SPECIFIED][0]['value'], $node->body[LANGUAGE_NOT_SPECIFIED][0]['format']), t('Printer friendly body found.'));
 
     $number++;
   }
@@ -199,7 +199,7 @@ class BookTestCase extends DrupalWebTestCase {
     static $number = 0; // Used to ensure that when sorted nodes stay in same order.
 
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $number . ' - SimpleTest test node ' . $this->randomName(10);
     $edit["body[$langcode][0][value]"] = 'SimpleTest test body ' . $this->randomName(32) . ' ' . $this->randomName(32);
     $edit['book[bid]'] = $book_nid;
@@ -237,7 +237,7 @@ class BookTestCase extends DrupalWebTestCase {
     // Make sure each part of the book is there.
     foreach ($nodes as $node) {
       $this->assertText($node->title, t('Node title found in printer friendly version.'));
-      $this->assertRaw(check_markup($node->body[LANGUAGE_NONE][0]['value'], $node->body[LANGUAGE_NONE][0]['format']), t('Node body found in printer friendly version.'));
+      $this->assertRaw(check_markup($node->body[LANGUAGE_NOT_SPECIFIED][0]['value'], $node->body[LANGUAGE_NOT_SPECIFIED][0]['format']), t('Node body found in printer friendly version.'));
     }
 
     // Make sure we can't export an unsupported format.
diff --git a/core/modules/comment/comment.admin.inc b/core/modules/comment/comment.admin.inc
index d00e5f944ddb..c0f92d98cee6 100644
--- a/core/modules/comment/comment.admin.inc
+++ b/core/modules/comment/comment.admin.inc
@@ -111,7 +111,7 @@ function comment_admin_overview($form, &$form_state, $arg) {
           '#type' => 'link',
           '#title' => $comment->subject,
           '#href' => 'comment/' . $comment->cid,
-          '#options' => array('attributes' => array('title' => truncate_utf8($comment->comment_body[LANGUAGE_NONE][0]['value'], 128)), 'fragment' => 'comment-' . $comment->cid),
+          '#options' => array('attributes' => array('title' => truncate_utf8($comment->comment_body[LANGUAGE_NOT_SPECIFIED][0]['value'], 128)), 'fragment' => 'comment-' . $comment->cid),
         ),
       ),
       'author' => theme('username', array('account' => $comment)),
diff --git a/core/modules/comment/comment.entity.inc b/core/modules/comment/comment.entity.inc
index 140396aaeebf..0c0ea0da64a8 100644
--- a/core/modules/comment/comment.entity.inc
+++ b/core/modules/comment/comment.entity.inc
@@ -29,7 +29,7 @@ class Comment extends Entity {
    *
    * @var string
    */
-  public $langcode = LANGUAGE_NONE;
+  public $langcode = LANGUAGE_NOT_SPECIFIED;
 
   /**
    * The comment title.
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 946583669ceb..a7ed1f5eb280 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -1843,7 +1843,7 @@ function comment_form($form, &$form_state, $comment) {
   // If a content type has multilingual support we set the comment to inherit the
   // content language. Otherwise mark the comment as language neutral.
   $comment_langcode = $comment->langcode;
-  if (($comment_langcode == LANGUAGE_NONE) && variable_get('node_type_language_' . $node->type, 0)) {
+  if (($comment_langcode == LANGUAGE_NOT_SPECIFIED) && variable_get('node_type_language_' . $node->type, 0)) {
     $comment_langcode = $language_content->langcode;
   }
   $form['langcode'] = array(
@@ -1897,7 +1897,7 @@ function comment_preview($comment) {
   $node = node_load($comment->nid);
 
   if (!form_get_errors()) {
-    $comment->format = $comment->comment_body[LANGUAGE_NONE][0]['format'];
+    $comment->format = $comment->comment_body[LANGUAGE_NOT_SPECIFIED][0]['format'];
     // Attach the user and time information.
     if (!empty($comment->name)) {
       $account = user_load_by_name($comment->name);
@@ -2014,7 +2014,7 @@ function comment_submit($comment) {
     // 1) Filter it into HTML
     // 2) Strip out all HTML tags
     // 3) Convert entities back to plain-text.
-    $comment_body = $comment->comment_body[LANGUAGE_NONE][0];
+    $comment_body = $comment->comment_body[LANGUAGE_NOT_SPECIFIED][0];
     if (isset($comment_body['format'])) {
       $comment_text = check_markup($comment_body['value'], $comment_body['format']);
     }
diff --git a/core/modules/comment/comment.test b/core/modules/comment/comment.test
index b4a41e066cf8..f980c2dc48c4 100644
--- a/core/modules/comment/comment.test
+++ b/core/modules/comment/comment.test
@@ -32,7 +32,7 @@ class CommentHelperCase extends DrupalWebTestCase {
    *   array of values to set contact info.
    */
   function postComment($node, $comment, $subject = '', $contact = NULL) {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array();
     $edit['comment_body[' . $langcode . '][0][value]'] = $comment;
 
@@ -276,7 +276,7 @@ class CommentInterfaceTest extends CommentHelperCase {
    * Tests the comment interface.
    */
   function testCommentInterface() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     // Set comments to have subject and preview disabled.
     $this->drupalLogin($this->admin_user);
     $this->setCommentPreview(DRUPAL_DISABLED);
@@ -451,8 +451,8 @@ class CommentInterfaceTest extends CommentHelperCase {
       'status' => COMMENT_PUBLISHED,
       'subject' => $this->randomName(),
       'hostname' => ip_address(),
-      'langcode' => LANGUAGE_NONE,
-      'comment_body' => array(LANGUAGE_NONE => array($this->randomName())),
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
+      'comment_body' => array(LANGUAGE_NOT_SPECIFIED => array($this->randomName())),
     ));
     comment_save($comment);
     $this->drupalLogout();
@@ -498,8 +498,8 @@ class CommentInterfaceTest extends CommentHelperCase {
         'uid' => $case['comment_uid'],
         'status' => $case['comment_status'],
         'subject' => $this->randomName(),
-        'language' => LANGUAGE_NONE,
-        'comment_body' => array(LANGUAGE_NONE => array($this->randomName())),
+        'language' => LANGUAGE_NOT_SPECIFIED,
+        'comment_body' => array(LANGUAGE_NOT_SPECIFIED => array($this->randomName())),
       ));
       comment_save($comment);
 
@@ -584,7 +584,7 @@ class CommentInterfaceTest extends CommentHelperCase {
    * Tests the node comment statistics.
    */
   function testCommentNodeCommentStatistics() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     // Set comments to have subject and preview disabled.
     $this->drupalLogin($this->admin_user);
     $this->setCommentPreview(DRUPAL_DISABLED);
@@ -778,8 +778,8 @@ class CommentInterfaceTest extends CommentHelperCase {
           'status' => COMMENT_PUBLISHED,
           'subject' => $this->randomName(),
           'hostname' => ip_address(),
-          'langcode' => LANGUAGE_NONE,
-          'comment_body' => array(LANGUAGE_NONE => array($this->randomName())),
+          'langcode' => LANGUAGE_NOT_SPECIFIED,
+          'comment_body' => array(LANGUAGE_NOT_SPECIFIED => array($this->randomName())),
         ));
         comment_save($comment);
         $this->comment = $comment;
@@ -965,7 +965,7 @@ class CommentPreviewTest extends CommentHelperCase {
    * Tests comment preview.
    */
   function testCommentPreview() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // As admin user, configure comment settings.
     $this->drupalLogin($this->admin_user);
@@ -1012,7 +1012,7 @@ class CommentPreviewTest extends CommentHelperCase {
    * Tests comment edit, preview, and save.
    */
   function testCommentEditPreviewSave() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'skip comment approval'));
     $this->drupalLogin($this->admin_user);
     $this->setCommentPreview(DRUPAL_OPTIONAL);
@@ -1126,7 +1126,7 @@ class CommentAnonymous extends CommentHelperCase {
     $this->assertTrue($this->commentExists($anonymous_comment2), t('Anonymous comment with contact info (optional) found.'));
 
     // Ensure anonymous users cannot post in the name of registered users.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array(
       'name' => $this->admin_user->name,
       'mail' => $this->randomName() . '@example.com',
@@ -1522,7 +1522,7 @@ class CommentNodeAccessTest extends CommentHelperCase {
    * Test that threaded comments can be viewed.
    */
   function testThreadedCommentView() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     // Set comments to have subject required and preview disabled.
     $this->drupalLogin($this->admin_user);
     $this->setCommentPreview(DRUPAL_DISABLED);
@@ -1899,7 +1899,7 @@ class CommentTokenReplaceTestCase extends CommentHelperCase {
     $tests['[comment:mail]'] = check_plain($this->admin_user->mail);
     $tests['[comment:homepage]'] = check_url($comment->homepage);
     $tests['[comment:title]'] = filter_xss($comment->subject);
-    $tests['[comment:body]'] = _text_sanitize($instance, LANGUAGE_NONE, $comment->comment_body[LANGUAGE_NONE][0], 'value');
+    $tests['[comment:body]'] = _text_sanitize($instance, LANGUAGE_NOT_SPECIFIED, $comment->comment_body[LANGUAGE_NOT_SPECIFIED][0], 'value');
     $tests['[comment:url]'] = url('comment/' . $comment->cid, $url_options + array('fragment' => 'comment-' . $comment->cid));
     $tests['[comment:edit-url]'] = url('comment/' . $comment->cid . '/edit', $url_options);
     $tests['[comment:created:since]'] = format_interval(REQUEST_TIME - $comment->created, 2, $language_interface->langcode);
@@ -1925,7 +1925,7 @@ class CommentTokenReplaceTestCase extends CommentHelperCase {
     $tests['[comment:mail]'] = $this->admin_user->mail;
     $tests['[comment:homepage]'] = $comment->homepage;
     $tests['[comment:title]'] = $comment->subject;
-    $tests['[comment:body]'] = $comment->comment_body[LANGUAGE_NONE][0]['value'];
+    $tests['[comment:body]'] = $comment->comment_body[LANGUAGE_NOT_SPECIFIED][0]['value'];
     $tests['[comment:parent:title]'] = $parent_comment->subject;
     $tests['[comment:node:title]'] = $node->title;
     $tests['[comment:author:name]'] = $this->admin_user->name;
@@ -2140,7 +2140,7 @@ class CommentThreadingTestCase extends CommentHelperCase {
    * Tests the comment threading.
    */
   function testCommentThreading() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     // Set comments to have a subject with preview disabled.
     $this->drupalLogin($this->admin_user);
     $this->setCommentPreview(DRUPAL_DISABLED);
diff --git a/core/modules/dblog/dblog.test b/core/modules/dblog/dblog.test
index 76b5d26098fa..1ae26bc88c40 100644
--- a/core/modules/dblog/dblog.test
+++ b/core/modules/dblog/dblog.test
@@ -272,7 +272,7 @@ class DBLogTestCase extends DrupalWebTestCase {
 
     // Create node using form to generate add content event (which is not triggered by drupalCreateNode).
     $edit = $this->getContent($type);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title = $edit["title"];
     $this->drupalPost('node/add/' . $type, $edit, t('Save'));
     $this->assertResponse(200);
@@ -327,7 +327,7 @@ class DBLogTestCase extends DrupalWebTestCase {
    * @return array Content.
    */
   private function getContent($type) {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     switch ($type) {
       case 'poll':
         $content = array(
@@ -363,7 +363,7 @@ class DBLogTestCase extends DrupalWebTestCase {
       break;
 
       default:
-        $langcode = LANGUAGE_NONE;
+        $langcode = LANGUAGE_NOT_SPECIFIED;
         $content = array(
           "body[$langcode][0][value]" => $this->randomName(32),
         );
diff --git a/core/modules/entity/tests/entity_crud_hook_test.test b/core/modules/entity/tests/entity_crud_hook_test.test
index 97f44622dc1e..e7739c9c22d6 100644
--- a/core/modules/entity/tests/entity_crud_hook_test.test
+++ b/core/modules/entity/tests/entity_crud_hook_test.test
@@ -70,7 +70,7 @@ class EntityCrudHookTestCase extends DrupalWebTestCase {
       'comment' => 2,
       'promote' => 0,
       'sticky' => 0,
-      'language' => LANGUAGE_NONE,
+      'language' => LANGUAGE_NOT_SPECIFIED,
       'created' => REQUEST_TIME,
       'changed' => REQUEST_TIME,
     );
@@ -86,7 +86,7 @@ class EntityCrudHookTestCase extends DrupalWebTestCase {
       'created' => REQUEST_TIME,
       'changed' => REQUEST_TIME,
       'status' => 1,
-      'language' => LANGUAGE_NONE,
+      'language' => LANGUAGE_NOT_SPECIFIED,
     ));
 
     $_SESSION['entity_crud_hook_test'] = array();
@@ -197,7 +197,7 @@ class EntityCrudHookTestCase extends DrupalWebTestCase {
       'comment' => 2,
       'promote' => 0,
       'sticky' => 0,
-      'language' => LANGUAGE_NONE,
+      'language' => LANGUAGE_NOT_SPECIFIED,
       'created' => REQUEST_TIME,
       'changed' => REQUEST_TIME,
     );
@@ -248,7 +248,7 @@ class EntityCrudHookTestCase extends DrupalWebTestCase {
     $vocabulary = (object) array(
       'name' => 'Test vocabulary',
       'machine_name' => 'test',
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
       'description' => NULL,
       'module' => 'entity_crud_hook_test',
     );
@@ -257,7 +257,7 @@ class EntityCrudHookTestCase extends DrupalWebTestCase {
     $term = (object) array(
       'vid' => $vocabulary->vid,
       'name' => 'Test term',
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
       'description' => NULL,
       'format' => 1,
     );
@@ -308,7 +308,7 @@ class EntityCrudHookTestCase extends DrupalWebTestCase {
     $vocabulary = (object) array(
       'name' => 'Test vocabulary',
       'machine_name' => 'test',
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
       'description' => NULL,
       'module' => 'entity_crud_hook_test',
     );
diff --git a/core/modules/entity/tests/entity_query.test b/core/modules/entity/tests/entity_query.test
index 29642bc1ed53..cdbb49dca8d4 100644
--- a/core/modules/entity/tests/entity_query.test
+++ b/core/modules/entity/tests/entity_query.test
@@ -104,7 +104,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       $entity->ftid = $i;
       $entity->fttype = ($i < 5) ? 'bundle1' : 'bundle2';
 
-      $entity->{$this->field_names[0]}[LANGUAGE_NONE][0]['value'] = $i;
+      $entity->{$this->field_names[0]}[LANGUAGE_NOT_SPECIFIED][0]['value'] = $i;
       drupal_write_record('test_entity_bundle_key', $entity);
       field_attach_insert('test_entity_bundle_key', $entity);
     }
@@ -112,10 +112,10 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
     $entity = new stdClass();
     $entity->ftid = 5;
     $entity->fttype = 'test_entity_bundle';
-    $entity->{$this->field_names[1]}[LANGUAGE_NONE][0]['shape'] = 'square';
-    $entity->{$this->field_names[1]}[LANGUAGE_NONE][0]['color'] = 'red';
-    $entity->{$this->field_names[1]}[LANGUAGE_NONE][1]['shape'] = 'circle';
-    $entity->{$this->field_names[1]}[LANGUAGE_NONE][1]['color'] = 'blue';
+    $entity->{$this->field_names[1]}[LANGUAGE_NOT_SPECIFIED][0]['shape'] = 'square';
+    $entity->{$this->field_names[1]}[LANGUAGE_NOT_SPECIFIED][0]['color'] = 'red';
+    $entity->{$this->field_names[1]}[LANGUAGE_NOT_SPECIFIED][1]['shape'] = 'circle';
+    $entity->{$this->field_names[1]}[LANGUAGE_NOT_SPECIFIED][1]['color'] = 'blue';
     drupal_write_record('test_entity_bundle', $entity);
     field_attach_insert('test_entity_bundle', $entity);
 
@@ -131,7 +131,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       $entity->ftid = $i;
       $entity->ftvid = $i;
       $entity->fttype = 'test_bundle';
-      $entity->{$this->field_names[0]}[LANGUAGE_NONE][0]['value'] = $i;
+      $entity->{$this->field_names[0]}[LANGUAGE_NOT_SPECIFIED][0]['value'] = $i;
 
       drupal_write_record('test_entity', $entity);
       field_attach_insert('test_entity', $entity);
@@ -144,7 +144,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       $entity->ftid = 4;
       $entity->ftvid = $i;
       $entity->fttype = 'test_bundle';
-      $entity->{$this->field_names[0]}[LANGUAGE_NONE][0]['value'] = $i;
+      $entity->{$this->field_names[0]}[LANGUAGE_NOT_SPECIFIED][0]['value'] = $i;
 
       drupal_write_record('test_entity', $entity, 'ftid');
       drupal_write_record('test_entity_revision', $entity);
@@ -981,7 +981,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       $entity = new stdClass();
       $entity->ftid = $i;
       $entity->fttype = 'test_entity_bundle';
-      $entity->{$this->field_names[0]}[LANGUAGE_NONE][0]['value'] = $i - 5;
+      $entity->{$this->field_names[0]}[LANGUAGE_NOT_SPECIFIED][0]['value'] = $i - 5;
       drupal_write_record('test_entity_bundle', $entity);
       field_attach_insert('test_entity_bundle', $entity);
     }
@@ -1066,7 +1066,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
     $entity->fttype = 'test_bundle';
 
     // Set fields in two languages with one field value.
-    foreach (array(LANGUAGE_NONE, 'en') as $langcode) {
+    foreach (array(LANGUAGE_NOT_SPECIFIED, 'en') as $langcode) {
       $entity->{$this->field_names[0]}[$langcode][0]['value'] = 1234;
     }
 
@@ -1103,7 +1103,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
     $entity->fttype = 'test_bundle';
     $j = 0;
 
-    foreach (array(LANGUAGE_NONE, 'en') as $langcode) {
+    foreach (array(LANGUAGE_NOT_SPECIFIED, 'en') as $langcode) {
       for ($i = 0; $i < 4; $i++) {
         $entity->{$this->field_names[0]}[$langcode][$i]['value'] = $i + $j;
       }
@@ -1125,7 +1125,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
     $query = new EntityFieldQuery();
     $query
       ->entityCondition('entity_type', 'test_entity', '=')
-      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NONE, '<>');
+      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NOT_SPECIFIED, '<>');
     $this->assertEntityFieldQuery($query, array(
       array('test_entity', 1),
     ), t('Test with a language meta condition.'));
@@ -1161,7 +1161,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
     $query
       ->entityCondition('entity_type', 'test_entity', '=')
       ->fieldCondition($this->fields[0], 'value', 0, '=', NULL, 'group')
-      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NONE, '<>', NULL, 'group');
+      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NOT_SPECIFIED, '<>', NULL, 'group');
     $this->assertEntityFieldQuery($query, array(), t('Test with a grouped language meta condition (empty result set).'));
 
     // Test delta and language grouping.
@@ -1188,7 +1188,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       ->entityCondition('entity_type', 'test_entity', '=')
       ->fieldCondition($this->fields[0], 'value', 0, '=', 'delta', 'language')
       ->fieldDeltaCondition($this->fields[0], 1, '<', 'delta', 'language')
-      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NONE, '<>', 'delta', 'language');
+      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NOT_SPECIFIED, '<>', 'delta', 'language');
     $this->assertEntityFieldQuery($query, array(), t('Test with a grouped delta + language meta condition (empty result set, language condition unsatisifed).'));
 
     $query = new EntityFieldQuery();
@@ -1196,7 +1196,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       ->entityCondition('entity_type', 'test_entity', '=')
       ->fieldCondition($this->fields[0], 'value', 0, '=', 'delta', 'language')
       ->fieldDeltaCondition($this->fields[0], 1, '>=', 'delta', 'language')
-      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NONE, '<>', 'delta', 'language');
+      ->fieldLanguageCondition($this->fields[0], LANGUAGE_NOT_SPECIFIED, '<>', 'delta', 'language');
     $this->assertEntityFieldQuery($query, array(), t('Test with a grouped delta + language meta condition (empty result set, both conditions unsatisifed).'));
 
     // Test grouping with another field to ensure that grouping cache is reset
@@ -1207,7 +1207,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
       ->fieldCondition($this->fields[1], 'shape', 'circle', '=', 'delta', 'language')
       ->fieldCondition($this->fields[1], 'color', 'blue', '=', 'delta', 'language')
       ->fieldDeltaCondition($this->fields[1], 1, '=', 'delta', 'language')
-      ->fieldLanguageCondition($this->fields[1], LANGUAGE_NONE, '=', 'delta', 'language');
+      ->fieldLanguageCondition($this->fields[1], LANGUAGE_NOT_SPECIFIED, '=', 'delta', 'language');
     $this->assertEntityFieldQuery($query, array(
       array('test_entity_bundle', 5),
     ), t('Test grouping cache.'));
diff --git a/core/modules/field/field.default.inc b/core/modules/field/field.default.inc
index cb49bdb85efb..1e1675c8f3ad 100644
--- a/core/modules/field/field.default.inc
+++ b/core/modules/field/field.default.inc
@@ -258,9 +258,9 @@ function field_default_view($entity_type, $entity, $field, $instance, $langcode,
  */
 function field_default_prepare_translation($entity_type, $entity, $field, $instance, $langcode, &$items, $source_entity, $source_langcode) {
   $field_name = $field['field_name'];
-  // If the field is untranslatable keep using LANGUAGE_NONE.
-  if ($langcode == LANGUAGE_NONE) {
-    $source_langcode = LANGUAGE_NONE;
+  // If the field is untranslatable keep using LANGUAGE_NOT_SPECIFIED.
+  if ($langcode == LANGUAGE_NOT_SPECIFIED) {
+    $source_langcode = LANGUAGE_NOT_SPECIFIED;
   }
   if (isset($source_entity->{$field_name}[$source_langcode])) {
     $items = $source_entity->{$field_name}[$source_langcode];
diff --git a/core/modules/field/field.multilingual.inc b/core/modules/field/field.multilingual.inc
index 978db6100bd0..a4f5f8f952dc 100644
--- a/core/modules/field/field.multilingual.inc
+++ b/core/modules/field/field.multilingual.inc
@@ -17,11 +17,12 @@
  * @endcode
  * Every field can hold a single or multiple value for each language belonging
  * to the available languages set:
- * - For untranslatable fields this set only contains LANGUAGE_NONE.
+ * - For untranslatable fields this set only contains LANGUAGE_NOT_SPECIFIED.
  * - For translatable fields this set can contain any language code. By default
  *   it is the list returned by field_content_languages(), which contains all
- *   installed languages with the addition of LANGUAGE_NONE. This default can be
- *   altered by modules implementing hook_field_available_languages_alter().
+ *   installed languages with the addition of LANGUAGE_NOT_SPECIFIED. This
+ *   default can be altered by modules implementing
+ *   hook_field_available_languages_alter().
  *
  * The available languages for a particular field are returned by
  * field_available_languages(). Whether a field is translatable is determined by
@@ -87,10 +88,10 @@ function field_language_delete() {
  * Collects the available languages for the given entity type and field.
  *
  * If the given field has language support enabled, an array of available
- * languages will be returned, otherwise only LANGUAGE_NONE will be returned.
- * Since the default value for a 'translatable' entity property is FALSE, we
- * ensure that only entities that are able to handle translations actually get
- * translatable fields.
+ * languages will be returned, otherwise only LANGUAGE_NOT_SPECIFIED will be
+ * returned. Since the default value for a 'translatable' entity property is
+ * FALSE, we ensure that only entities that are able to handle translations
+ * actually get translatable fields.
  *
  * @param $entity_type
  *   The type of the entity the field is attached to, e.g. 'node' or 'user'.
@@ -110,7 +111,7 @@ function field_available_languages($entity_type, $field) {
 
   if (!isset($field_languages[$entity_type][$field_name])) {
     // If the field has language support enabled we retrieve an (alterable) list
-    // of enabled languages, otherwise we return just LANGUAGE_NONE.
+    // of enabled languages, otherwise we return just LANGUAGE_NOT_SPECIFIED.
     if (field_is_translatable($entity_type, $field)) {
       $languages = field_content_languages();
       // Let other modules alter the available languages.
@@ -119,7 +120,7 @@ function field_available_languages($entity_type, $field) {
       $field_languages[$entity_type][$field_name] = $languages;
     }
     else {
-      $field_languages[$entity_type][$field_name] = array(LANGUAGE_NONE);
+      $field_languages[$entity_type][$field_name] = array(LANGUAGE_NOT_SPECIFIED);
     }
   }
 
@@ -163,13 +164,14 @@ function _field_language_suggestion($available_languages, $language_suggestion,
 /**
  * Returns available content languages.
  *
- * The languages that may be associated to fields include LANGUAGE_NONE.
+ * The languages that may be associated to fields include
+ * LANGUAGE_NOT_SPECIFIED.
  *
  * @return
  *   An array of language codes.
  */
 function field_content_languages() {
-  return array_keys(language_list() + array(LANGUAGE_NONE => NULL));
+  return array_keys(language_list() + array(LANGUAGE_NOT_SPECIFIED => NULL));
 }
 
 /**
@@ -254,8 +256,9 @@ function field_valid_language($langcode, $default = TRUE) {
  * The actual language for each given field is determined based on the requested
  * language and the actual data available in the fields themselves.
  * If there is no registered translation handler for the given entity type, the
- * display language to be used is just LANGUAGE_NONE, as no other language code
- * is allowed by field_available_languages().
+ * display language to be used is just LANGUAGE_NOT_SPECIFIED, as no other
+ * language code is allowed by field_available_languages().
+ *
  * If translation handlers are found, we let modules provide alternative display
  * languages for fields not having the requested language available.
  * Core language fallback rules are provided by locale_field_language_fallback()
@@ -285,11 +288,11 @@ function field_language($entity_type, $entity, $field_name = NULL, $langcode = N
   if (!isset($display_languages[$entity_type][$id][$langcode])) {
     $display_language = array();
 
-    // By default display language is set to LANGUAGE_NONE if the field
+    // By default display language is set to LANGUAGE_NOT_SPECIFIED if the field
     // translation is not available. It is up to translation handlers to
     // implement language fallback rules.
     foreach (field_info_instances($entity_type, $bundle) as $instance) {
-      $display_language[$instance['field_name']] = isset($entity->{$instance['field_name']}[$langcode]) ? $langcode : LANGUAGE_NONE;
+      $display_language[$instance['field_name']] = isset($entity->{$instance['field_name']}[$langcode]) ? $langcode : LANGUAGE_NOT_SPECIFIED;
     }
 
     if (field_has_translation_handler($entity_type)) {
diff --git a/core/modules/field/modules/field_sql_storage/field_sql_storage.test b/core/modules/field/modules/field_sql_storage/field_sql_storage.test
index d6c766e9f946..e6459083e84c 100644
--- a/core/modules/field/modules/field_sql_storage/field_sql_storage.test
+++ b/core/modules/field/modules/field_sql_storage/field_sql_storage.test
@@ -45,7 +45,7 @@ class FieldSqlStorageTestCase extends DrupalWebTestCase {
   function testFieldAttachLoad() {
     $entity_type = 'test_entity';
     $eid = 0;
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     $columns = array('entity_type', 'entity_id', 'revision_id', 'delta', 'language', $this->field_name . '_value');
 
@@ -113,7 +113,7 @@ class FieldSqlStorageTestCase extends DrupalWebTestCase {
   function testFieldAttachInsertAndUpdate() {
     $entity_type = 'test_entity';
     $entity = field_test_create_stub_entity(0, 0, $this->instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Test insert.
     $values = array();
@@ -194,7 +194,7 @@ class FieldSqlStorageTestCase extends DrupalWebTestCase {
   function testFieldAttachSaveMissingData() {
     $entity_type = 'test_entity';
     $entity = field_test_create_stub_entity(0, 0, $this->instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Insert: Field is missing
     field_attach_insert($entity_type, $entity);
@@ -293,7 +293,7 @@ class FieldSqlStorageTestCase extends DrupalWebTestCase {
     $instance = array('field_name' => 'decimal52', 'entity_type' => 'test_entity', 'bundle' => 'test_bundle');
     $instance = field_create_instance($instance);
     $entity = field_test_create_stub_entity(0, 0, $instance['bundle']);
-    $entity->decimal52[LANGUAGE_NONE][0]['value'] = '1.235';
+    $entity->decimal52[LANGUAGE_NOT_SPECIFIED][0]['value'] = '1.235';
     field_attach_insert('test_entity', $entity);
 
     // Attempt to update the field in a way that would work without data.
@@ -353,7 +353,7 @@ class FieldSqlStorageTestCase extends DrupalWebTestCase {
 
     // Add data so the table cannot be dropped.
     $entity = field_test_create_stub_entity(0, 0, $instance['bundle']);
-    $entity->{$field_name}[LANGUAGE_NONE][0]['value'] = 'field data';
+    $entity->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['value'] = 'field data';
     field_attach_insert('test_entity', $entity);
 
     // Add an index
@@ -374,7 +374,7 @@ class FieldSqlStorageTestCase extends DrupalWebTestCase {
     // Verify that the tables were not dropped.
     $entity = field_test_create_stub_entity(0, 0, $instance['bundle']);
     field_attach_load('test_entity', array(0 => $entity));
-    $this->assertEqual($entity->{$field_name}[LANGUAGE_NONE][0]['value'], 'field data', t("Index changes performed without dropping the tables"));
+    $this->assertEqual($entity->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['value'], 'field data', t("Index changes performed without dropping the tables"));
   }
 
   /**
diff --git a/core/modules/field/modules/list/tests/list.test b/core/modules/field/modules/list/tests/list.test
index 765901a84993..46ec97cc9319 100644
--- a/core/modules/field/modules/list/tests/list.test
+++ b/core/modules/field/modules/list/tests/list.test
@@ -46,7 +46,7 @@ class ListFieldTestCase extends FieldTestCase {
    * Test that allowed values can be updated.
    */
   function testUpdateAllowedValues() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // All three options appear.
     $entity = field_test_create_stub_entity();
@@ -168,7 +168,7 @@ class ListFieldUITestCase extends FieldTestCase {
     // Create a node with actual data for the field.
     $settings = array(
       'type' => $this->type,
-      $this->field_name => array(LANGUAGE_NONE => array(array('value' => 1))),
+      $this->field_name => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 1))),
     );
     $node = $this->drupalCreateNode($settings);
 
@@ -218,7 +218,7 @@ class ListFieldUITestCase extends FieldTestCase {
     // Create a node with actual data for the field.
     $settings = array(
       'type' => $this->type,
-      $this->field_name => array(LANGUAGE_NONE => array(array('value' => .5))),
+      $this->field_name => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => .5))),
     );
     $node = $this->drupalCreateNode($settings);
 
@@ -270,7 +270,7 @@ class ListFieldUITestCase extends FieldTestCase {
     // Create a node with actual data for the field.
     $settings = array(
       'type' => $this->type,
-      $this->field_name => array(LANGUAGE_NONE => array(array('value' => 'One'))),
+      $this->field_name => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'One'))),
     );
     $node = $this->drupalCreateNode($settings);
 
diff --git a/core/modules/field/modules/number/number.test b/core/modules/field/modules/number/number.test
index e5e7e8c71b34..e39343e7db08 100644
--- a/core/modules/field/modules/number/number.test
+++ b/core/modules/field/modules/number/number.test
@@ -57,7 +57,7 @@ class NumberFieldTestCase extends DrupalWebTestCase {
 
     // Display creation form.
     $this->drupalGet('test-entity/add/test-bundle');
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $this->assertFieldByName("{$this->field['field_name']}[$langcode][0][value]", '', t('Widget is displayed'));
 
     // Submit a signed decimal value within the allowed precision and scale.
diff --git a/core/modules/field/modules/options/options.test b/core/modules/field/modules/options/options.test
index ea58f27ff2ea..b0ec926e0dc4 100644
--- a/core/modules/field/modules/options/options.test
+++ b/core/modules/field/modules/options/options.test
@@ -72,7 +72,7 @@ class OptionsWidgetsTestCase extends FieldTestCase {
       ),
     );
     $instance = field_create_instance($instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Create an entity.
     $entity_init = field_test_create_stub_entity();
@@ -126,7 +126,7 @@ class OptionsWidgetsTestCase extends FieldTestCase {
       ),
     );
     $instance = field_create_instance($instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Create an entity.
     $entity_init = field_test_create_stub_entity();
@@ -214,7 +214,7 @@ class OptionsWidgetsTestCase extends FieldTestCase {
       ),
     );
     $instance = field_create_instance($instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Create an entity.
     $entity_init = field_test_create_stub_entity();
@@ -310,7 +310,7 @@ class OptionsWidgetsTestCase extends FieldTestCase {
       ),
     );
     $instance = field_create_instance($instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Create an entity.
     $entity_init = field_test_create_stub_entity();
@@ -427,7 +427,7 @@ class OptionsWidgetsTestCase extends FieldTestCase {
       ),
     );
     $instance = field_create_instance($instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Create an entity.
     $entity_init = field_test_create_stub_entity();
diff --git a/core/modules/field/modules/text/text.test b/core/modules/field/modules/text/text.test
index 2d936be773ff..6360a18fde4f 100644
--- a/core/modules/field/modules/text/text.test
+++ b/core/modules/field/modules/text/text.test
@@ -58,7 +58,7 @@ class TextFieldTestCase extends DrupalWebTestCase {
     field_create_instance($this->instance);
     // Test valid and invalid values with field_attach_validate().
     $entity = field_test_create_stub_entity();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     for ($i = 0; $i <= $max_length + 2; $i++) {
       $entity->{$this->field['field_name']}[$langcode][0]['value'] = str_repeat('x', $i);
       try {
@@ -106,7 +106,7 @@ class TextFieldTestCase extends DrupalWebTestCase {
       ),
     );
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Display creation form.
     $this->drupalGet('test-entity/add/test-bundle');
@@ -165,7 +165,7 @@ class TextFieldTestCase extends DrupalWebTestCase {
       ),
     );
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Disable all text formats besides the plain text fallback format.
     $this->drupalLogin($this->admin_user);
@@ -451,7 +451,7 @@ class TextTranslationTestCase extends DrupalWebTestCase {
     $this->drupalLogin($this->translator);
 
     // Create content.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $body = $this->randomName();
     $edit = array(
       'title' => $this->randomName(),
@@ -494,7 +494,7 @@ class TextTranslationTestCase extends DrupalWebTestCase {
     // Populate the body field: the first item gets the "Full HTML" input
     // format, the second one "Filtered HTML".
     $formats = array('full_html', 'filtered_html');
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     foreach ($body as $delta => $value) {
       $edit = array(
         "body[$langcode][$delta][value]" => $value,
diff --git a/core/modules/field/tests/field.test b/core/modules/field/tests/field.test
index 9b4cf04bd497..7f472de1f968 100644
--- a/core/modules/field/tests/field.test
+++ b/core/modules/field/tests/field.test
@@ -137,7 +137,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
     // field_test_field_load() in field_test.module).
     $this->instance['settings']['test_hook_field_load'] = TRUE;
     field_update_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     $entity_type = 'test_entity';
     $values = array();
@@ -194,7 +194,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
    */
   function testFieldAttachLoadMultiple() {
     $entity_type = 'test_entity';
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Define 2 bundles.
     $bundles = array(
@@ -270,7 +270,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
    */
   function testFieldAttachSaveLoadDifferentStorage() {
     $entity_type = 'test_entity';
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Create two fields using different storage backends, and their instances.
     $fields = array(
@@ -364,7 +364,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
   function testFieldAttachSaveMissingData() {
     $entity_type = 'test_entity';
     $entity_init = field_test_create_stub_entity();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Insert: Field is missing.
     $entity = clone($entity_init);
@@ -446,7 +446,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
 
     $entity_type = 'test_entity';
     $entity_init = field_test_create_stub_entity();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Insert: Field is NULL.
     $entity = clone($entity_init);
@@ -473,7 +473,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
    */
   function testFieldAttachDelete() {
     $entity_type = 'test_entity';
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $rev[0] = field_test_create_stub_entity(0, 0, $this->instance['bundle']);
 
     // Create revision 0
@@ -538,7 +538,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
 
     // Save an entity with data in the field.
     $entity = field_test_create_stub_entity(0, 0, $this->instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $values = $this->_generateTestFieldValues($this->field['cardinality']);
     $entity->{$this->field_name}[$langcode] = $values;
     $entity_type = 'test_entity';
@@ -597,7 +597,7 @@ class FieldAttachStorageTestCase extends FieldAttachTestCase {
 
     // Save an entity with data for both fields
     $entity = field_test_create_stub_entity(0, 0, $this->instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $values = $this->_generateTestFieldValues($this->field['cardinality']);
     $entity->{$this->field_name}[$langcode] = $values;
     $entity->{$field_name}[$langcode] = $this->_generateTestFieldValues(1);
@@ -643,7 +643,7 @@ class FieldAttachOtherTestCase extends FieldAttachTestCase {
   function testFieldAttachView() {
     $entity_type = 'test_entity';
     $entity_init = field_test_create_stub_entity();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Populate values to be displayed.
     $values = $this->_generateTestFieldValues($this->field['cardinality']);
@@ -767,7 +767,7 @@ class FieldAttachOtherTestCase extends FieldAttachTestCase {
    */
   function testFieldAttachPrepareViewMultiple() {
     $entity_type = 'test_entity';
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Set the instance to be hidden.
     $this->instance['display']['full']['type'] = 'hidden';
@@ -817,7 +817,7 @@ class FieldAttachOtherTestCase extends FieldAttachTestCase {
   function testFieldAttachCache() {
     // Initialize random values and a test entity.
     $entity_init = field_test_create_stub_entity(1, 1, $this->instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $values = $this->_generateTestFieldValues($this->field['cardinality']);
 
     // Non-cacheable entity type.
@@ -909,7 +909,7 @@ class FieldAttachOtherTestCase extends FieldAttachTestCase {
   function testFieldAttachValidate() {
     $entity_type = 'test_entity';
     $entity = field_test_create_stub_entity(0, 0, $this->instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Set up values to generate errors
     $values = array();
@@ -965,7 +965,7 @@ class FieldAttachOtherTestCase extends FieldAttachTestCase {
     $form_state = form_state_defaults();
     field_attach_form($entity_type, $entity, $form, $form_state);
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $this->assertEqual($form[$this->field_name][$langcode]['#title'], $this->instance['label'], "Form title is {$this->instance['label']}");
     for ($delta = 0; $delta < $this->field['cardinality']; $delta++) {
       // field_test_widget uses 'textfield'
@@ -1000,7 +1000,7 @@ class FieldAttachOtherTestCase extends FieldAttachTestCase {
     // Leave an empty value. 'field_test' fields are empty if empty().
     $values[1]['value'] = 0;
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     // Pretend the form has been built.
     drupal_prepare_form('field_test_entity_form', $form, $form_state);
     drupal_process_form('field_test_entity_form', $form, $form_state);
@@ -1320,7 +1320,7 @@ class FieldFormTestCase extends FieldTestCase {
     $this->instance['field_name'] = $this->field_name;
     field_create_field($this->field);
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Display creation form.
     $this->drupalGet('test-entity/add/test-bundle');
@@ -1374,7 +1374,7 @@ class FieldFormTestCase extends FieldTestCase {
     $this->instance['required'] = TRUE;
     field_create_field($this->field);
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Submit with missing required value.
     $edit = array();
@@ -1412,7 +1412,7 @@ class FieldFormTestCase extends FieldTestCase {
     $this->instance['field_name'] = $this->field_name;
     field_create_field($this->field);
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Display creation form -> 1 widget.
     $this->drupalGet('test-entity/add/test-bundle');
@@ -1488,7 +1488,7 @@ class FieldFormTestCase extends FieldTestCase {
     $this->instance['field_name'] = $this->field_name;
     field_create_field($this->field);
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Display creation form -> 1 widget.
     $this->drupalGet('test-entity/add/test-bundle');
@@ -1548,7 +1548,7 @@ class FieldFormTestCase extends FieldTestCase {
     $this->instance['widget']['type'] = 'test_field_widget_multiple';
     field_create_field($this->field);
     field_create_instance($this->instance);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Display creation form.
     $this->drupalGet('test-entity/add/test-bundle');
@@ -1603,7 +1603,7 @@ class FieldFormTestCase extends FieldTestCase {
     field_create_field($field_no_access);
     field_create_instance($instance_no_access);
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Display creation form.
     $this->drupalGet('test-entity/add/test-bundle');
@@ -1652,14 +1652,14 @@ class FieldFormTestCase extends FieldTestCase {
     // Create two entities.
     $entity_1 = field_test_create_stub_entity(1, 1);
     $entity_1->is_new = TRUE;
-    $entity_1->field_single[LANGUAGE_NONE][] = array('value' => 0);
-    $entity_1->field_unlimited[LANGUAGE_NONE][] = array('value' => 1);
+    $entity_1->field_single[LANGUAGE_NOT_SPECIFIED][] = array('value' => 0);
+    $entity_1->field_unlimited[LANGUAGE_NOT_SPECIFIED][] = array('value' => 1);
     field_test_entity_save($entity_1);
 
     $entity_2 = field_test_create_stub_entity(2, 2);
     $entity_2->is_new = TRUE;
-    $entity_2->field_single[LANGUAGE_NONE][] = array('value' => 10);
-    $entity_2->field_unlimited[LANGUAGE_NONE][] = array('value' => 11);
+    $entity_2->field_single[LANGUAGE_NOT_SPECIFIED][] = array('value' => 10);
+    $entity_2->field_unlimited[LANGUAGE_NOT_SPECIFIED][] = array('value' => 11);
     field_test_entity_save($entity_2);
 
     // Display the 'combined form'.
@@ -1682,10 +1682,10 @@ class FieldFormTestCase extends FieldTestCase {
     field_cache_clear();
     $entity_1 = field_test_create_stub_entity(1);
     $entity_2 = field_test_create_stub_entity(2);
-    $this->assertFieldValues($entity_1, 'field_single', LANGUAGE_NONE, array(1));
-    $this->assertFieldValues($entity_1, 'field_unlimited', LANGUAGE_NONE, array(2, 3));
-    $this->assertFieldValues($entity_2, 'field_single', LANGUAGE_NONE, array(11));
-    $this->assertFieldValues($entity_2, 'field_unlimited', LANGUAGE_NONE, array(12, 13));
+    $this->assertFieldValues($entity_1, 'field_single', LANGUAGE_NOT_SPECIFIED, array(1));
+    $this->assertFieldValues($entity_1, 'field_unlimited', LANGUAGE_NOT_SPECIFIED, array(2, 3));
+    $this->assertFieldValues($entity_2, 'field_single', LANGUAGE_NOT_SPECIFIED, array(11));
+    $this->assertFieldValues($entity_2, 'field_unlimited', LANGUAGE_NOT_SPECIFIED, array(12, 13));
 
     // Submit invalid values and check that errors are reported on the
     // correct widgets.
@@ -1713,8 +1713,8 @@ class FieldFormTestCase extends FieldTestCase {
     );
     $this->drupalPost('test-entity/nested/1/2', $edit, t('Save'));
     field_cache_clear();
-    $this->assertFieldValues($entity_1, 'field_unlimited', LANGUAGE_NONE, array(3, 2));
-    $this->assertFieldValues($entity_2, 'field_unlimited', LANGUAGE_NONE, array(13, 12));
+    $this->assertFieldValues($entity_1, 'field_unlimited', LANGUAGE_NOT_SPECIFIED, array(3, 2));
+    $this->assertFieldValues($entity_2, 'field_unlimited', LANGUAGE_NOT_SPECIFIED, array(13, 12));
 
     // Test the 'add more' buttons. Only Ajax submission is tested, because
     // the two 'add more' buttons present in the form have the same #value,
@@ -1740,8 +1740,8 @@ class FieldFormTestCase extends FieldTestCase {
     // Save the form and check values are saved correclty.
     $this->drupalPost(NULL, array(), t('Save'));
     field_cache_clear();
-    $this->assertFieldValues($entity_1, 'field_unlimited', LANGUAGE_NONE, array(3, 2));
-    $this->assertFieldValues($entity_2, 'field_unlimited', LANGUAGE_NONE, array(13, 14, 15));
+    $this->assertFieldValues($entity_1, 'field_unlimited', LANGUAGE_NOT_SPECIFIED, array(3, 2));
+    $this->assertFieldValues($entity_2, 'field_unlimited', LANGUAGE_NOT_SPECIFIED, array(13, 14, 15));
   }
 }
 
@@ -1794,7 +1794,7 @@ class FieldDisplayAPITestCase extends FieldTestCase {
     $this->values = $this->_generateTestFieldValues($this->cardinality);
     $this->entity = field_test_create_stub_entity();
     $this->is_new = TRUE;
-    $this->entity->{$this->field_name}[LANGUAGE_NONE] = $this->values;
+    $this->entity->{$this->field_name}[LANGUAGE_NOT_SPECIFIED] = $this->values;
     field_test_entity_save($this->entity);
   }
 
@@ -1879,7 +1879,7 @@ class FieldDisplayAPITestCase extends FieldTestCase {
     $settings = field_info_formatter_settings('field_test_default');
     $setting = $settings['test_formatter_setting'];
     foreach ($this->values as $delta => $value) {
-      $item = $this->entity->{$this->field_name}[LANGUAGE_NONE][$delta];
+      $item = $this->entity->{$this->field_name}[LANGUAGE_NOT_SPECIFIED][$delta];
       $output = field_view_value('test_entity', $this->entity, $this->field_name, $item);
       $this->drupalSetContent(drupal_render($output));
       $this->assertText($setting . '|' . $value['value'], t('Value @delta was displayed with expected setting.', array('@delta' => $delta)));
@@ -1895,7 +1895,7 @@ class FieldDisplayAPITestCase extends FieldTestCase {
     $setting = $display['settings']['test_formatter_setting_multiple'];
     $array = array();
     foreach ($this->values as $delta => $value) {
-      $item = $this->entity->{$this->field_name}[LANGUAGE_NONE][$delta];
+      $item = $this->entity->{$this->field_name}[LANGUAGE_NOT_SPECIFIED][$delta];
       $output = field_view_value('test_entity', $this->entity, $this->field_name, $item, $display);
       $this->drupalSetContent(drupal_render($output));
       $this->assertText($setting . '|0:' . $value['value'], t('Value @delta was displayed with expected setting.', array('@delta' => $delta)));
@@ -1911,7 +1911,7 @@ class FieldDisplayAPITestCase extends FieldTestCase {
     $setting = $display['settings']['test_formatter_setting_additional'];
     $array = array();
     foreach ($this->values as $delta => $value) {
-      $item = $this->entity->{$this->field_name}[LANGUAGE_NONE][$delta];
+      $item = $this->entity->{$this->field_name}[LANGUAGE_NOT_SPECIFIED][$delta];
       $output = field_view_value('test_entity', $this->entity, $this->field_name, $item, $display);
       $this->drupalSetContent(drupal_render($output));
       $this->assertText($setting . '|' . $value['value'] . '|' . ($value['value'] + 1), t('Value @delta was displayed with expected setting.', array('@delta' => $delta)));
@@ -1921,7 +1921,7 @@ class FieldDisplayAPITestCase extends FieldTestCase {
     // used.
     $setting = $this->instance['display']['teaser']['settings']['test_formatter_setting'];
     foreach ($this->values as $delta => $value) {
-      $item = $this->entity->{$this->field_name}[LANGUAGE_NONE][$delta];
+      $item = $this->entity->{$this->field_name}[LANGUAGE_NOT_SPECIFIED][$delta];
       $output = field_view_value('test_entity', $this->entity, $this->field_name, $item, 'teaser');
       $this->drupalSetContent(drupal_render($output));
       $this->assertText($setting . '|' . $value['value'], t('Value @delta was displayed with expected setting.', array('@delta' => $delta)));
@@ -1931,7 +1931,7 @@ class FieldDisplayAPITestCase extends FieldTestCase {
     // are used.
     $setting = $this->instance['display']['default']['settings']['test_formatter_setting'];
     foreach ($this->values as $delta => $value) {
-      $item = $this->entity->{$this->field_name}[LANGUAGE_NONE][$delta];
+      $item = $this->entity->{$this->field_name}[LANGUAGE_NOT_SPECIFIED][$delta];
       $output = field_view_value('test_entity', $this->entity, $this->field_name, $item, 'unknown_view_mode');
       $this->drupalSetContent(drupal_render($output));
       $this->assertText($setting . '|' . $value['value'], t('Value @delta was displayed with expected setting.', array('@delta' => $delta)));
@@ -2227,7 +2227,7 @@ class FieldCrudTestCase extends FieldTestCase {
 
     // Save an entity with data for the field
     $entity = field_test_create_stub_entity(0, 0, $instance['bundle']);
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $values[0]['value'] = mt_rand(1, 127);
     $entity->{$field['field_name']}[$langcode] = $values;
     $entity_type = 'test_entity';
@@ -2294,17 +2294,17 @@ class FieldCrudTestCase extends FieldTestCase {
       $entity = field_test_create_stub_entity($id, $id, $instance['bundle']);
       // Fill in the entity with more values than $cardinality.
       for ($i = 0; $i < 20; $i++) {
-        $entity->field_update[LANGUAGE_NONE][$i]['value'] = $i;
+        $entity->field_update[LANGUAGE_NOT_SPECIFIED][$i]['value'] = $i;
       }
       // Save the entity.
       field_attach_insert('test_entity', $entity);
       // Load back and assert there are $cardinality number of values.
       $entity = field_test_create_stub_entity($id, $id, $instance['bundle']);
       field_attach_load('test_entity', array($id => $entity));
-      $this->assertEqual(count($entity->field_update[LANGUAGE_NONE]), $field_definition['cardinality'], 'Cardinality is kept');
+      $this->assertEqual(count($entity->field_update[LANGUAGE_NOT_SPECIFIED]), $field_definition['cardinality'], 'Cardinality is kept');
       // Now check the values themselves.
       for ($delta = 0; $delta < $cardinality; $delta++) {
-        $this->assertEqual($entity->field_update[LANGUAGE_NONE][$delta]['value'], $delta, 'Value is kept');
+        $this->assertEqual($entity->field_update[LANGUAGE_NOT_SPECIFIED][$delta]['value'], $delta, 'Value is kept');
       }
       // Increase $cardinality and set the field cardinality to the new value.
       $field_definition['cardinality'] = ++$cardinality;
@@ -2701,7 +2701,7 @@ class FieldTranslationsTestCase extends FieldTestCase {
     $this->field['translatable'] = FALSE;
     field_update_field($this->field);
     $available_languages = field_available_languages($this->entity_type, $this->field);
-    $this->assertTrue(count($available_languages) == 1 && $available_languages[0] === LANGUAGE_NONE, t('For untranslatable fields only LANGUAGE_NONE is available.'));
+    $this->assertTrue(count($available_languages) == 1 && $available_languages[0] === LANGUAGE_NOT_SPECIFIED, t('For untranslatable fields only LANGUAGE_NOT_SPECIFIED is available.'));
   }
 
   /**
@@ -2904,7 +2904,7 @@ class FieldTranslationsTestCase extends FieldTestCase {
     $display_language = field_language($entity_type, $entity, NULL, $requested_language);
     foreach ($instances as $instance) {
       $field_name = $instance['field_name'];
-      $this->assertTrue($display_language[$field_name] == LANGUAGE_NONE, t('The display language for field %field_name is %language.', array('%field_name' => $field_name, '%language' => LANGUAGE_NONE)));
+      $this->assertTrue($display_language[$field_name] == LANGUAGE_NOT_SPECIFIED, t('The display language for field %field_name is %language.', array('%field_name' => $field_name, '%language' => LANGUAGE_NOT_SPECIFIED)));
     }
 
     // Test multiple-fields display languages for translatable entities.
@@ -2946,7 +2946,7 @@ class FieldTranslationsTestCase extends FieldTestCase {
     $eid = 1;
     $entity = field_test_create_stub_entity($eid, $eid, $this->instance['bundle']);
     $available_languages = array_flip(field_available_languages($this->entity_type, $this->field));
-    unset($available_languages[LANGUAGE_NONE]);
+    unset($available_languages[LANGUAGE_NOT_SPECIFIED]);
     $field_name = $this->field['field_name'];
 
     // Store the field translations.
@@ -3095,7 +3095,7 @@ class FieldBulkDeleteTestCase extends FieldTestCase {
       for ($i = 0; $i < 10; $i++) {
         $entity = field_test_create_stub_entity($id, $id, $bundle);
         foreach ($this->fields as $field) {
-          $entity->{$field['field_name']}[LANGUAGE_NONE] = $this->_generateTestFieldValues($field['cardinality']);
+          $entity->{$field['field_name']}[LANGUAGE_NOT_SPECIFIED] = $this->_generateTestFieldValues($field['cardinality']);
         }
 
         $this->entities[$id] = $entity;
diff --git a/core/modules/field_ui/field_ui.admin.inc b/core/modules/field_ui/field_ui.admin.inc
index d45f0b63a44c..cc541e55b80c 100644
--- a/core/modules/field_ui/field_ui.admin.inc
+++ b/core/modules/field_ui/field_ui.admin.inc
@@ -2026,7 +2026,7 @@ function field_ui_default_value_widget($field, $instance, &$form, &$form_state)
   $instance['description'] = '';
 
   // @todo Allow multiple values (requires more work on 'add more' JS handler).
-  $element += field_default_form($instance['entity_type'], NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state, 0);
+  $element += field_default_form($instance['entity_type'], NULL, $field, $instance, LANGUAGE_NOT_SPECIFIED, $items, $element, $form_state, 0);
 
   return $element;
 }
@@ -2045,25 +2045,25 @@ function field_ui_field_edit_form_validate($form, &$form_state) {
   if (isset($form['instance']['default_value_widget'])) {
     $element = $form['instance']['default_value_widget'];
 
-    $field_state = field_form_get_state($element['#parents'], $field_name, LANGUAGE_NONE, $form_state);
+    $field_state = field_form_get_state($element['#parents'], $field_name, LANGUAGE_NOT_SPECIFIED, $form_state);
     $field = $field_state['field'];
 
     // Extract the 'default value'.
     $items = array();
-    field_default_extract_form_values(NULL, NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state);
+    field_default_extract_form_values(NULL, NULL, $field, $instance, LANGUAGE_NOT_SPECIFIED, $items, $element, $form_state);
 
     // Validate the value and report errors.
     $errors = array();
     $function = $field['module'] . '_field_validate';
     if (function_exists($function)) {
-      $function(NULL, NULL, $field, $instance, LANGUAGE_NONE, $items, $errors);
+      $function(NULL, NULL, $field, $instance, LANGUAGE_NOT_SPECIFIED, $items, $errors);
     }
-    if (isset($errors[$field_name][LANGUAGE_NONE])) {
+    if (isset($errors[$field_name][LANGUAGE_NOT_SPECIFIED])) {
       // Store reported errors in $form_state.
-      $field_state['errors'] = $errors[$field_name][LANGUAGE_NONE];
-      field_form_set_state($element['#parents'], $field_name, LANGUAGE_NONE, $form_state, $field_state);
+      $field_state['errors'] = $errors[$field_name][LANGUAGE_NOT_SPECIFIED];
+      field_form_set_state($element['#parents'], $field_name, LANGUAGE_NOT_SPECIFIED, $form_state, $field_state);
       // Assign reported errors to the correct form element.
-      field_default_form_errors(NULL, NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state);
+      field_default_form_errors(NULL, NULL, $field, $instance, LANGUAGE_NOT_SPECIFIED, $items, $element, $form_state);
     }
   }
 }
@@ -2094,8 +2094,8 @@ function field_ui_field_edit_form_submit($form, &$form_state) {
 
     // Extract field values.
     $items = array();
-    field_default_extract_form_values(NULL, NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state);
-    field_default_submit(NULL, NULL, $field, $instance, LANGUAGE_NONE, $items, $element, $form_state);
+    field_default_extract_form_values(NULL, NULL, $field, $instance, LANGUAGE_NOT_SPECIFIED, $items, $element, $form_state);
+    field_default_submit(NULL, NULL, $field, $instance, LANGUAGE_NOT_SPECIFIED, $items, $element, $form_state);
 
     $instance['default_value'] = $items ? $items : NULL;
   }
diff --git a/core/modules/field_ui/field_ui.test b/core/modules/field_ui/field_ui.test
index 4f7369232ea1..40bca5418f81 100644
--- a/core/modules/field_ui/field_ui.test
+++ b/core/modules/field_ui/field_ui.test
@@ -163,7 +163,7 @@ class FieldUIManageFieldsTestCase extends FieldUITestCase {
     $vocabulary = (object) array(
       'name' => 'Tags',
       'machine_name' => 'tags',
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
     );
     taxonomy_vocabulary_save($vocabulary);
 
@@ -329,7 +329,7 @@ class FieldUIManageFieldsTestCase extends FieldUITestCase {
     );
     field_create_instance($instance);
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $admin_path = 'admin/structure/types/manage/' . $this->hyphen_type . '/fields/' . $field_name;
     $element_id = "edit-$field_name-$langcode-0-value";
     $element_name = "{$field_name}[$langcode][0][value]";
@@ -539,7 +539,7 @@ class FieldUIManageDisplayTestCase extends FieldUITestCase {
     $value = 12345;
     $settings = array(
       'type' => $this->type,
-      'field_test' => array(LANGUAGE_NONE => array(array('value' => $value))),
+      'field_test' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $value))),
     );
     $node = $this->drupalCreateNode($settings);
 
diff --git a/core/modules/file/tests/file.test b/core/modules/file/tests/file.test
index 459609b08480..c86890a7c9ca 100644
--- a/core/modules/file/tests/file.test
+++ b/core/modules/file/tests/file.test
@@ -122,7 +122,7 @@ class FileFieldTestCase extends DrupalWebTestCase {
    * Uploads a file to a node.
    */
   function uploadNodeFile($file, $field_name, $nid_or_type, $new_revision = TRUE, $extras = array()) {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array(
       "title" => $this->randomName(),
       'revision' => (string) (int) $new_revision,
@@ -168,7 +168,7 @@ class FileFieldTestCase extends DrupalWebTestCase {
    */
   function replaceNodeFile($file, $field_name, $nid, $new_revision = TRUE) {
     $edit = array(
-      'files[' . $field_name . '_' . LANGUAGE_NONE . '_0]' => drupal_realpath($file->uri),
+      'files[' . $field_name . '_' . LANGUAGE_NOT_SPECIFIED . '_0]' => drupal_realpath($file->uri),
       'revision' => (string) (int) $new_revision,
     );
 
@@ -349,7 +349,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
       //   does not yet support file uploads.
       $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
       $node = node_load($nid, NULL, TRUE);
-      $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+      $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
       $this->assertFileExists($node_file, t('New file saved to disk on node creation.'));
 
       // Ensure the file can be downloaded.
@@ -379,7 +379,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
       // Save the node and ensure it does not have the file.
       $this->drupalPost(NULL, array(), t('Save'));
       $node = node_load($nid, NULL, TRUE);
-      $this->assertTrue(empty($node->{$field_name}[LANGUAGE_NONE][0]['fid']), t('File was successfully removed from the node.'));
+      $this->assertTrue(empty($node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['fid']), t('File was successfully removed from the node.'));
     }
   }
 
@@ -417,7 +417,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
       $this->drupalGet("node/add/$type_name");
       foreach (array($field_name2, $field_name) as $each_field_name) {
         for ($delta = 0; $delta < 3; $delta++) {
-          $edit = array('files[' . $each_field_name . '_' . LANGUAGE_NONE . '_' . $delta . ']' => drupal_realpath($test_file->uri));
+          $edit = array('files[' . $each_field_name . '_' . LANGUAGE_NOT_SPECIFIED . '_' . $delta . ']' => drupal_realpath($test_file->uri));
           // If the Upload button doesn't exist, drupalPost() will automatically
           // fail with an assertion message.
           $this->drupalPost(NULL, $edit, t('Upload'));
@@ -448,11 +448,11 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
               $check_field_name = $field_name;
             }
 
-            $this->assertIdentical((string) $button['name'], $check_field_name . '_' . LANGUAGE_NONE . '_' . $key. '_remove_button');
+            $this->assertIdentical((string) $button['name'], $check_field_name . '_' . LANGUAGE_NOT_SPECIFIED . '_' . $key. '_remove_button');
           }
 
           // "Click" the remove button (emulating either a nojs or js submission).
-          $button_name = $current_field_name . '_' . LANGUAGE_NONE . '_' . $delta . '_remove_button';
+          $button_name = $current_field_name . '_' . LANGUAGE_NOT_SPECIFIED . '_' . $delta . '_remove_button';
           switch ($type) {
             case 'nojs':
               // drupalPost() takes a $submit parameter that is the value of the
@@ -480,7 +480,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
 
           // Ensure an "Upload" button for the current field is displayed with the
           // correct name.
-          $upload_button_name = $current_field_name . '_' . LANGUAGE_NONE . '_' . $remaining . '_upload_button';
+          $upload_button_name = $current_field_name . '_' . LANGUAGE_NOT_SPECIFIED . '_' . $remaining . '_upload_button';
           $buttons = $this->xpath('//input[@type="submit" and @value="Upload" and @name=:name]', array(':name' => $upload_button_name));
           $this->assertTrue(is_array($buttons) && count($buttons) == 1, t('The upload button is displayed with the correct name (JSMode=%type).', array('%type' => $type)));
 
@@ -500,7 +500,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
       preg_match('/node\/([0-9]+)/', $this->getUrl(), $matches);
       $nid = $matches[1];
       $node = node_load($nid, NULL, TRUE);
-      $this->assertTrue(empty($node->{$field_name}[LANGUAGE_NONE][0]['fid']), t('Node was successfully saved without any files.'));
+      $this->assertTrue(empty($node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['fid']), t('Node was successfully saved without any files.'));
     }
   }
 
@@ -525,7 +525,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
     $this->drupalPost("admin/structure/types/manage/$type_name/fields/$field_name", $edit, t('Save settings'));
     $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($node_file, t('New file saved to disk on node creation.'));
 
     // Ensure the private file is available to the user who uploaded it.
@@ -578,8 +578,8 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
     // Add a comment with a file.
     $text_file = $this->getTestFile('text');
     $edit = array(
-      'files[field_' . $name . '_' . LANGUAGE_NONE . '_' . 0 . ']' => drupal_realpath($text_file->uri),
-      'comment_body[' . LANGUAGE_NONE . '][0][value]' => $comment_body = $this->randomName(),
+      'files[field_' . $name . '_' . LANGUAGE_NOT_SPECIFIED . '_' . 0 . ']' => drupal_realpath($text_file->uri),
+      'comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]' => $comment_body = $this->randomName(),
     );
     $this->drupalPost(NULL, $edit, t('Save'));
 
@@ -591,7 +591,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase {
     $this->drupalLogin($user);
 
     $comment = comment_load($cid);
-    $comment_file = (object) $comment->{'field_' . $name}[LANGUAGE_NONE][0];
+    $comment_file = (object) $comment->{'field_' . $name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($comment_file, t('New file saved to disk on node creation.'));
     // Test authenticated file download.
     $url = file_create_url($comment_file->uri);
@@ -659,7 +659,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase {
 
     // Check that the file exists on disk and in the database.
     $node = node_load($nid, NULL, TRUE);
-    $node_file_r1 = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file_r1 = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $node_vid_r1 = $node->vid;
     $this->assertFileExists($node_file_r1, t('New file saved to disk on node creation.'));
     $this->assertFileEntryExists($node_file_r1, t('File entry exists in database on node creation.'));
@@ -668,7 +668,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase {
     // Upload another file to the same node in a new revision.
     $this->replaceNodeFile($test_file, $field_name, $nid);
     $node = node_load($nid, NULL, TRUE);
-    $node_file_r2 = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file_r2 = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $node_vid_r2 = $node->vid;
     $this->assertFileExists($node_file_r2, t('Replacement file exists on disk after creating new revision.'));
     $this->assertFileEntryExists($node_file_r2, t('Replacement file entry exists in database after creating new revision.'));
@@ -676,7 +676,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase {
 
     // Check that the original file is still in place on the first revision.
     $node = node_load($nid, $node_vid_r1, TRUE);
-    $this->assertEqual($node_file_r1, (object) $node->{$field_name}[LANGUAGE_NONE][0], t('Original file still in place after replacing file in new revision.'));
+    $this->assertEqual($node_file_r1, (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0], t('Original file still in place after replacing file in new revision.'));
     $this->assertFileExists($node_file_r1, t('Original file still in place after replacing file in new revision.'));
     $this->assertFileEntryExists($node_file_r1, t('Original file entry still in place after replacing file in new revision'));
     $this->assertFileIsPermanent($node_file_r1, t('Original file is still permanent.'));
@@ -685,7 +685,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase {
     // Check that the file is still the same as the previous revision.
     $this->drupalPost('node/' . $nid . '/edit', array('revision' => '1'), t('Save'));
     $node = node_load($nid, NULL, TRUE);
-    $node_file_r3 = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file_r3 = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $node_vid_r3 = $node->vid;
     $this->assertEqual($node_file_r2, $node_file_r3, t('Previous revision file still in place after creating a new revision without a new file.'));
     $this->assertFileIsPermanent($node_file_r3, t('New revision file is permanent.'));
@@ -693,7 +693,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase {
     // Revert to the first revision and check that the original file is active.
     $this->drupalPost('node/' . $nid . '/revisions/' . $node_vid_r1 . '/revert', array(), t('Revert'));
     $node = node_load($nid, NULL, TRUE);
-    $node_file_r4 = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file_r4 = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $node_vid_r4 = $node->vid;
     $this->assertEqual($node_file_r1, $node_file_r4, t('Original revision file still in place after reverting to the original revision.'));
     $this->assertFileIsPermanent($node_file_r4, t('Original revision file still permanent after reverting to the original revision.'));
@@ -708,7 +708,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase {
     // Attach the second file to a user.
     $user = $this->drupalCreateUser();
     $edit = (array) $user;
-    $edit[$field_name][LANGUAGE_NONE][0] = (array) $node_file_r3;
+    $edit[$field_name][LANGUAGE_NOT_SPECIFIED][0] = (array) $node_file_r3;
     user_save($user, $edit);
     $this->drupalGet('user/' . $user->uid . '/edit');
 
@@ -785,12 +785,12 @@ class FileFieldDisplayTestCase extends FileFieldTestCase {
 
     // Check that the default formatter is displaying with the file name.
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $default_output = theme('file_link', array('file' => $node_file));
     $this->assertRaw($default_output, t('Default formatter displaying correctly on full node view.'));
 
     // Turn the "display" option off and check that the file is no longer displayed.
-    $edit = array($field_name . '[' . LANGUAGE_NONE . '][0][display]' => FALSE);
+    $edit = array($field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][display]' => FALSE);
     $this->drupalPost('node/' . $nid . '/edit', $edit, t('Save'));
 
     $this->assertNoRaw($default_output, t('Field is hidden when "display" option is unchecked.'));
@@ -826,7 +826,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
     $test_file = $this->getTestFile('text');
 
     // Try to post a new node without uploading a file.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array("title" => $this->randomName());
     $this->drupalPost('node/add/' . $type_name, $edit, t('Save'));
     $this->assertRaw(t('!title field is required.', array('!title' => $instance['label'])), t('Node save failed when required file field was empty.'));
@@ -837,7 +837,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
 
     $node = node_load($nid, NULL, TRUE);
 
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($node_file, t('File exists after uploading to the required field.'));
     $this->assertFileEntryExists($node_file, t('File entry exists after uploading to the required field.'));
 
@@ -853,7 +853,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
     // Create a new node with the uploaded file into the multivalue field.
     $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($node_file, t('File exists after uploading to the required multiple value field.'));
     $this->assertFileEntryExists($node_file, t('File entry exists after uploading to the required multipel value field.'));
 
@@ -889,7 +889,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
       // Create a new node with the small file, which should pass.
       $nid = $this->uploadNodeFile($small_file, $field_name, $type_name);
       $node = node_load($nid, NULL, TRUE);
-      $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+      $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
       $this->assertFileExists($node_file, t('File exists after uploading a file (%filesize) under the max limit (%maxsize).', array('%filesize' => format_size($small_file->filesize), '%maxsize' => $max_filesize)));
       $this->assertFileEntryExists($node_file, t('File entry exists after uploading a file (%filesize) under the max limit (%maxsize).', array('%filesize' => format_size($small_file->filesize), '%maxsize' => $max_filesize)));
 
@@ -905,7 +905,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
     // Upload the big file successfully.
     $nid = $this->uploadNodeFile($large_file, $field_name, $type_name);
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($node_file, t('File exists after uploading a file (%filesize) with no max limit.', array('%filesize' => format_size($large_file->filesize))));
     $this->assertFileEntryExists($node_file, t('File entry exists after uploading a file (%filesize) with no max limit.', array('%filesize' => format_size($large_file->filesize))));
 
@@ -932,7 +932,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
     // Check that the file can be uploaded with no extension checking.
     $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($node_file, t('File exists after uploading a file with no extension checking.'));
     $this->assertFileEntryExists($node_file, t('File entry exists after uploading a file with no extension checking.'));
 
@@ -950,7 +950,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase {
     // Check that the file can be uploaded with extension checking.
     $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertFileExists($node_file, t('File exists after uploading a file with extension checking.'));
     $this->assertFileEntryExists($node_file, t('File entry exists after uploading a file with extension checking.'));
 
@@ -985,7 +985,7 @@ class FileFieldPathTestCase extends FileFieldTestCase {
 
     // Check that the file was uploaded to the file root.
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertPathMatch('public://' . $test_file->filename, $node_file->uri, t('The file %file was uploaded to the correct path.', array('%file' => $node_file->uri)));
 
     // Change the path to contain multiple subdirectories.
@@ -996,7 +996,7 @@ class FileFieldPathTestCase extends FileFieldTestCase {
 
     // Check that the file was uploaded into the subdirectory.
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     $this->assertPathMatch('public://foo/bar/baz/' . $test_file->filename, $node_file->uri, t('The file %file was uploaded to the correct path.', array('%file' => $node_file->uri)));
 
     // Check the path when used with tokens.
@@ -1008,7 +1008,7 @@ class FileFieldPathTestCase extends FileFieldTestCase {
 
     // Check that the file was uploaded into the subdirectory.
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     // Do token replacement using the same user which uploaded the file, not
     // the user running the test case.
     $data = array('user' => $this->admin_user);
@@ -1078,7 +1078,7 @@ class FileTokenReplaceTestCase extends FileFieldTestCase {
 
     // Load the node and the file.
     $node = node_load($nid, NULL, TRUE);
-    $file = file_load($node->{$field_name}[LANGUAGE_NONE][0]['fid']);
+    $file = file_load($node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['fid']);
 
     // Generate and test sanitized tokens.
     $tests = array();
@@ -1147,7 +1147,7 @@ class FilePrivateTestCase extends FileFieldTestCase {
     $test_file = $this->getTestFile('text');
     $nid = $this->uploadNodeFile($test_file, $field_name, $type_name, TRUE, array('private' => TRUE));
     $node = node_load($nid, NULL, TRUE);
-    $node_file = (object) $node->{$field_name}[LANGUAGE_NONE][0];
+    $node_file = (object) $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0];
     // Ensure the file can be downloaded.
     $this->drupalGet(file_create_url($node_file->uri));
     $this->assertResponse(200, t('Confirmed that the generated URL is correct by downloading the shipped file.'));
diff --git a/core/modules/filter/filter.test b/core/modules/filter/filter.test
index 2bafd476c7c0..f6476f5e9df5 100644
--- a/core/modules/filter/filter.test
+++ b/core/modules/filter/filter.test
@@ -353,7 +353,7 @@ class FilterAdminTestCase extends DrupalWebTestCase {
     $text = $body . '<random>' . $extra_text . '</random>';
 
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit["body[$langcode][0][value]"] = $text;
     $edit["body[$langcode][0][format]"] = $filtered;
@@ -481,7 +481,7 @@ class FilterFormatAccessTestCase extends DrupalWebTestCase {
     // the disallowed format does not.
     $this->drupalLogin($this->web_user);
     $this->drupalGet('node/add/page');
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $elements = $this->xpath('//select[@name=:name]/option', array(
       ':name' => "body[$langcode][0][format]",
       ':option' => $this->allowed_format->format,
@@ -525,7 +525,7 @@ class FilterFormatAccessTestCase extends DrupalWebTestCase {
    * forced to choose a new format before saving the page.
    */
   function testFormatWidgetPermissions() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title_key = "title";
     $body_value_key = "body[$langcode][0][value]";
     $body_format_key = "body[$langcode][0][format]";
@@ -750,8 +750,8 @@ class FilterSecurityTestCase extends DrupalWebTestCase {
   function testDisableFilterModule() {
     // Create a new node.
     $node = $this->drupalCreateNode(array('promote' => 1));
-    $body_raw = $node->body[LANGUAGE_NONE][0]['value'];
-    $format_id = $node->body[LANGUAGE_NONE][0]['format'];
+    $body_raw = $node->body[LANGUAGE_NOT_SPECIFIED][0]['value'];
+    $format_id = $node->body[LANGUAGE_NOT_SPECIFIED][0]['format'];
     $this->drupalGet('node/' . $node->nid);
     $this->assertText($body_raw, t('Node body found.'));
 
diff --git a/core/modules/forum/forum.test b/core/modules/forum/forum.test
index 663b8725f68d..f7392f419e23 100644
--- a/core/modules/forum/forum.test
+++ b/core/modules/forum/forum.test
@@ -156,7 +156,7 @@ class ForumTestCase extends DrupalWebTestCase {
     // Test adding a comment to a forum topic.
     $node = $this->createForumTopic($this->forum, FALSE);
     $edit = array();
-    $edit['comment_body[' . LANGUAGE_NONE . '][0][value]'] = $this->randomName();
+    $edit['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]'] = $this->randomName();
     $this->drupalPost("node/$node->nid", $edit, t('Save'));
     $this->assertResponse(200);
 
@@ -180,7 +180,7 @@ class ForumTestCase extends DrupalWebTestCase {
 
     // Create an orphan forum item.
     $this->drupalLogin($this->admin_user);
-    $this->drupalPost('node/add/forum', array('title' => $this->randomName(10), 'body[' . LANGUAGE_NONE .'][0][value]' => $this->randomName(120)), t('Save'));
+    $this->drupalPost('node/add/forum', array('title' => $this->randomName(10), 'body[' . LANGUAGE_NOT_SPECIFIED .'][0][value]' => $this->randomName(120)), t('Save'));
 
     $nid_count = db_query('SELECT COUNT(nid) FROM {node}')->fetchField();
     $this->assertEqual(0, $nid_count, t('A forum node was not created when missing a forum vocabulary.'));
@@ -383,7 +383,7 @@ class ForumTestCase extends DrupalWebTestCase {
     $title = $this->randomName(20);
     $body = $this->randomName(200);
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array(
       "title" => $title,
       "body[$langcode][0][value]" => $body,
@@ -407,7 +407,7 @@ class ForumTestCase extends DrupalWebTestCase {
     // Retrieve node object, ensure that the topic was created and in the proper forum.
     $node = $this->drupalGetNodeByTitle($title);
     $this->assertTrue($node != NULL, t('Node @title was loaded', array('@title' => $title)));
-    $this->assertEqual($node->taxonomy_forums[LANGUAGE_NONE][0]['tid'], $tid, 'Saved forum topic was in the expected forum');
+    $this->assertEqual($node->taxonomy_forums[LANGUAGE_NOT_SPECIFIED][0]['tid'], $tid, 'Saved forum topic was in the expected forum');
 
     // View forum topic.
     $this->drupalGet('node/' . $node->nid);
@@ -474,7 +474,7 @@ class ForumTestCase extends DrupalWebTestCase {
     if ($response == 200) {
       // Edit forum node (including moving it to another forum).
       $edit = array();
-      $langcode = LANGUAGE_NONE;
+      $langcode = LANGUAGE_NOT_SPECIFIED;
       $edit["title"] = 'node/' . $node->nid;
       $edit["body[$langcode][0][value]"] = $this->randomName(256);
       // Assume the topic is initially associated with $forum.
diff --git a/core/modules/image/image.test b/core/modules/image/image.test
index 7a4683b6456b..7455cf4d1a9b 100644
--- a/core/modules/image/image.test
+++ b/core/modules/image/image.test
@@ -92,7 +92,7 @@ class ImageFieldTestCase extends DrupalWebTestCase {
     $edit = array(
       'title' => $this->randomName(),
     );
-    $edit['files[' . $field_name . '_' . LANGUAGE_NONE . '_0]'] = drupal_realpath($image->uri);
+    $edit['files[' . $field_name . '_' . LANGUAGE_NOT_SPECIFIED . '_0]'] = drupal_realpath($image->uri);
     $this->drupalPost('node/add/' . $type, $edit, t('Save'));
 
     // Retrieve ID of the newly created node from the current URL.
@@ -529,7 +529,7 @@ class ImageAdminStylesUnitTest extends ImageFieldTestCase {
 
     // Test that image is displayed using newly created style.
     $this->drupalGet('node/' . $nid);
-    $this->assertRaw(image_style_url($style_name, $node->{$field_name}[LANGUAGE_NONE][0]['uri']), t('Image displayed using style @style.', array('@style' => $style_name)));
+    $this->assertRaw(image_style_url($style_name, $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri']), t('Image displayed using style @style.', array('@style' => $style_name)));
 
     // Rename the style and make sure the image field is updated.
     $new_style_name = strtolower($this->randomName(10));
@@ -539,7 +539,7 @@ class ImageAdminStylesUnitTest extends ImageFieldTestCase {
     $this->drupalPost('admin/config/media/image-styles/edit/' . $style_name, $edit, t('Update style'));
     $this->assertText(t('Changes to the style have been saved.'), t('Style %name was renamed to %new_name.', array('%name' => $style_name, '%new_name' => $new_style_name)));
     $this->drupalGet('node/' . $nid);
-    $this->assertRaw(image_style_url($new_style_name, $node->{$field_name}[LANGUAGE_NONE][0]['uri']), t('Image displayed using style replacement style.'));
+    $this->assertRaw(image_style_url($new_style_name, $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri']), t('Image displayed using style replacement style.'));
 
     // Delete the style and choose a replacement style.
     $edit = array(
@@ -550,7 +550,7 @@ class ImageAdminStylesUnitTest extends ImageFieldTestCase {
     $this->assertRaw($message, $message);
 
     $this->drupalGet('node/' . $nid);
-    $this->assertRaw(image_style_url('thumbnail', $node->{$field_name}[LANGUAGE_NONE][0]['uri']), t('Image displayed using style replacement style.'));
+    $this->assertRaw(image_style_url('thumbnail', $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri']), t('Image displayed using style replacement style.'));
   }
 }
 
@@ -594,7 +594,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
     $node = node_load($nid, NULL, TRUE);
 
     // Test that the default formatter is being used.
-    $image_uri = $node->{$field_name}[LANGUAGE_NONE][0]['uri'];
+    $image_uri = $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri'];
     $image_info = array(
       'uri' => $image_uri,
       'width' => 40,
@@ -691,13 +691,13 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
     // and title fields do not display until the image has been attached.
     $nid = $this->uploadNodeImage($test_image, $field_name, 'article');
     $this->drupalGet('node/' . $nid . '/edit');
-    $this->assertFieldByName($field_name . '[' . LANGUAGE_NONE . '][0][alt]', '', t('Alt field displayed on article form.'));
-    $this->assertFieldByName($field_name . '[' . LANGUAGE_NONE . '][0][title]', '', t('Title field displayed on article form.'));
+    $this->assertFieldByName($field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][alt]', '', t('Alt field displayed on article form.'));
+    $this->assertFieldByName($field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][title]', '', t('Title field displayed on article form.'));
     // Verify that the attached image is being previewed using the 'medium'
     // style.
     $node = node_load($nid, NULL, TRUE);
     $image_info = array(
-      'uri' => image_style_url('medium', $node->{$field_name}[LANGUAGE_NONE][0]['uri']),
+      'uri' => image_style_url('medium', $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri']),
       'width' => 220,
       'height' => 110,
     );
@@ -706,15 +706,15 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
 
     // Add alt/title fields to the image and verify that they are displayed.
     $image_info = array(
-      'uri' => $node->{$field_name}[LANGUAGE_NONE][0]['uri'],
+      'uri' => $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri'],
       'alt' => $this->randomName(),
       'title' => $this->randomName(),
       'width' => 40,
       'height' => 20,
     );
     $edit = array(
-      $field_name . '[' . LANGUAGE_NONE . '][0][alt]' => $image_info['alt'],
-      $field_name . '[' . LANGUAGE_NONE . '][0][title]' => $image_info['title'],
+      $field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][alt]' => $image_info['alt'],
+      $field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][title]' => $image_info['title'],
     );
     $this->drupalPost('node/' . $nid . '/edit', $edit, t('Save'));
     $default_output = theme('image', $image_info);
@@ -723,8 +723,8 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
     // Verify that alt/title longer than allowed results in a validation error.
     $test_size = 2000;
     $edit = array(
-      $field_name . '[' . LANGUAGE_NONE . '][0][alt]' => $this->randomName($test_size),
-      $field_name . '[' . LANGUAGE_NONE . '][0][title]' => $this->randomName($test_size),
+      $field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][alt]' => $this->randomName($test_size),
+      $field_name . '[' . LANGUAGE_NOT_SPECIFIED . '][0][title]' => $this->randomName($test_size),
     );
     $this->drupalPost('node/' . $nid . '/edit', $edit, t('Save'));
     $this->assertRaw(t('Alternate text cannot be longer than %max characters but is currently %length characters long.', array(
@@ -773,7 +773,7 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase {
     $nid = $this->uploadNodeImage($images[1], $field_name, 'article');
     $node = node_load($nid, NULL, TRUE);
     $image_info = array(
-      'uri' => $node->{$field_name}[LANGUAGE_NONE][0]['uri'],
+      'uri' => $node->{$field_name}[LANGUAGE_NOT_SPECIFIED][0]['uri'],
       'width' => 40,
       'height' => 20,
     );
diff --git a/core/modules/locale/locale.module b/core/modules/locale/locale.module
index e942d0dadc7a..c49dabef2b3c 100644
--- a/core/modules/locale/locale.module
+++ b/core/modules/locale/locale.module
@@ -1112,7 +1112,7 @@ function locale_form_system_file_system_settings_alter(&$form, $form_state) {
  * Implements MODULE_preprocess_HOOK().
  */
 function locale_preprocess_node(&$variables) {
-  if ($variables['langcode'] != LANGUAGE_NONE) {
+  if ($variables['langcode'] != LANGUAGE_NOT_SPECIFIED) {
     global $language_interface;
 
     $node_language = language_load($variables['langcode']);
diff --git a/core/modules/locale/locale.test b/core/modules/locale/locale.test
index fdfbe63c6099..4914593c404c 100644
--- a/core/modules/locale/locale.test
+++ b/core/modules/locale/locale.test
@@ -1848,7 +1848,7 @@ class LocalePathFunctionalTest extends DrupalWebTestCase {
     $edit = array(
       'source'   => 'node/' . $node->nid,
       'alias'    => $custom_path,
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
     );
     path_save($edit);
     $lookup_path = drupal_lookup_path('alias', 'node/' . $node->nid, 'en');
@@ -1870,11 +1870,11 @@ class LocalePathFunctionalTest extends DrupalWebTestCase {
     );
     path_save($edit);
 
-    // Assign a custom path alias to second node with LANGUAGE_NONE.
+    // Assign a custom path alias to second node with LANGUAGE_NOT_SPECIFIED.
     $edit = array(
       'source'   => 'node/' . $second_node->nid,
       'alias'    => $custom_path,
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
     );
     path_save($edit);
 
@@ -2567,7 +2567,7 @@ class LocaleMultilingualFieldsFunctionalTest extends DrupalWebTestCase {
    */
   function testMultilingualNodeForm() {
     // Create "Basic page" content.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title_key = "title";
     $title_value = $this->randomName(8);
     $body_key = "body[$langcode][0][value]";
@@ -2584,7 +2584,7 @@ class LocaleMultilingualFieldsFunctionalTest extends DrupalWebTestCase {
     $node = $this->drupalGetNodeByTitle($edit[$title_key]);
     $this->assertTrue($node, t('Node found in database.'));
 
-    $assert = isset($node->body['en']) && !isset($node->body[LANGUAGE_NONE]) && $node->body['en'][0]['value'] == $body_value;
+    $assert = isset($node->body['en']) && !isset($node->body[LANGUAGE_NOT_SPECIFIED]) && $node->body['en'][0]['value'] == $body_value;
     $this->assertTrue($assert, t('Field language correctly set.'));
 
     // Change node language.
@@ -2616,7 +2616,7 @@ class LocaleMultilingualFieldsFunctionalTest extends DrupalWebTestCase {
    */
   function testMultilingualDisplaySettings() {
     // Create "Basic page" content.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title_key = "title";
     $title_value = $this->randomName(8);
     $body_key = "body[$langcode][0][value]";
@@ -2701,13 +2701,13 @@ class LocaleCommentLanguageFunctionalTest extends DrupalWebTestCase {
     // language and interface language do not influence comment language, as
     // only content language has to.
     foreach (language_list() as $node_langcode => $node_language) {
-      $langcode_none = LANGUAGE_NONE;
+      $langcode_not_specified = LANGUAGE_NOT_SPECIFIED;
 
       // Create "Article" content.
       $title = $this->randomName();
       $edit = array(
         "title" => $title,
-        "body[$langcode_none][0][value]" => $this->randomName(),
+        "body[$langcode_not_specified][0][value]" => $this->randomName(),
         "langcode" => $node_langcode,
       );
       $this->drupalPost("node/add/article", $edit, t('Save'));
@@ -2717,7 +2717,7 @@ class LocaleCommentLanguageFunctionalTest extends DrupalWebTestCase {
       foreach (language_list() as $langcode => $language) {
         // Post a comment with content language $langcode.
         $prefix = empty($prefixes[$langcode]) ? '' : $prefixes[$langcode] . '/';
-        $edit = array("comment_body[$langcode_none][0][value]" => $this->randomName());
+        $edit = array("comment_body[$langcode_not_specified][0][value]" => $this->randomName());
         $this->drupalPost("{$prefix}node/{$node->nid}", $edit, t('Save'));
 
         // Check that comment language matches the current content language.
diff --git a/core/modules/menu/menu.test b/core/modules/menu/menu.test
index 0497a2accc4e..461a0dfb3879 100644
--- a/core/modules/menu/menu.test
+++ b/core/modules/menu/menu.test
@@ -622,10 +622,10 @@ class MenuNodeTestCase extends DrupalWebTestCase {
 
     // Create a node.
     $node_title = $this->randomName();
-    $language = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array(
       "title" => $node_title,
-      "body[$language][0][value]" => $this->randomString(),
+      "body[$langcode][0][value]" => $this->randomString(),
     );
     $this->drupalPost('node/add/page', $edit, t('Save'));
     $node = $this->drupalGetNodeByTitle($node_title);
diff --git a/core/modules/node/node.admin.inc b/core/modules/node/node.admin.inc
index 1a33174c67cf..e5d6a151fcda 100644
--- a/core/modules/node/node.admin.inc
+++ b/core/modules/node/node.admin.inc
@@ -107,7 +107,7 @@ function node_filters() {
   // Language filter if the site is multilingual.
   if (language_multilingual()) {
     $languages = language_list(TRUE);
-    $language_options = array(LANGUAGE_NONE => t('- None -'));
+    $language_options = array(LANGUAGE_NOT_SPECIFIED => t('- None -'));
     foreach ($languages as $langcode => $language) {
       $language_options[$langcode] = $language->name;
     }
@@ -433,7 +433,7 @@ function node_admin_nodes() {
 
   // Enable language column if translation module is enabled or if we have any
   // node with language.
-  $multilanguage = (module_exists('translation') || db_query_range("SELECT 1 FROM {node} WHERE langcode <> :langcode", 0, 1, array(':langcode' => LANGUAGE_NONE))->fetchField());
+  $multilanguage = (module_exists('translation') || db_query_range("SELECT 1 FROM {node} WHERE langcode <> :langcode", 0, 1, array(':langcode' => LANGUAGE_NOT_SPECIFIED))->fetchField());
 
   // Build the sortable table header.
   $header = array(
@@ -479,7 +479,7 @@ function node_admin_nodes() {
   $destination = drupal_get_destination();
   $options = array();
   foreach ($nodes as $node) {
-    $l_options = $node->langcode != LANGUAGE_NONE && isset($languages[$node->langcode]) ? array('language' => $languages[$node->langcode]) : array();
+    $l_options = $node->langcode != LANGUAGE_NOT_SPECIFIED && isset($languages[$node->langcode]) ? array('language' => $languages[$node->langcode]) : array();
     $options[$node->nid] = array(
       'title' => array(
         'data' => array(
diff --git a/core/modules/node/node.pages.inc b/core/modules/node/node.pages.inc
index 34a8d4f3be9c..4e94b2613de3 100644
--- a/core/modules/node/node.pages.inc
+++ b/core/modules/node/node.pages.inc
@@ -81,7 +81,7 @@ function node_add($type) {
   global $user;
 
   $types = node_type_get_types();
-  $node = (object) array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => $type, 'langcode' => LANGUAGE_NONE);
+  $node = (object) array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => $type, 'langcode' => LANGUAGE_NOT_SPECIFIED);
   drupal_set_title(t('Create @name', array('@name' => $types[$type]->name)), PASS_THROUGH);
   $output = drupal_get_form($type . '_node_form', $node);
 
@@ -186,7 +186,7 @@ function node_form($form, &$form_state, $node) {
       '#title' => t('Language'),
       '#default_value' => (isset($node->langcode) ? $node->langcode : ''),
       '#options' => $language_options,
-      '#empty_value' => LANGUAGE_NONE,
+      '#empty_value' => LANGUAGE_NOT_SPECIFIED,
     );
   }
   else {
diff --git a/core/modules/node/node.test b/core/modules/node/node.test
index 851d3bbdaccd..375531afe974 100644
--- a/core/modules/node/node.test
+++ b/core/modules/node/node.test
@@ -191,7 +191,7 @@ class NodeRevisionsTestCase extends DrupalWebTestCase {
 
     // Confirm the correct revision text appears on "view revisions" page.
     $this->drupalGet("node/$node->nid/revisions/$node->vid/view");
-    $this->assertText($node->body[LANGUAGE_NONE][0]['value'], t('Correct text displays for version.'));
+    $this->assertText($node->body[LANGUAGE_NOT_SPECIFIED][0]['value'], t('Correct text displays for version.'));
 
     // Confirm the correct log message appears on "revisions overview" page.
     $this->drupalGet("node/$node->nid/revisions");
@@ -205,7 +205,7 @@ class NodeRevisionsTestCase extends DrupalWebTestCase {
                         array('@type' => 'Basic page', '%title' => $nodes[1]->title,
                               '%revision-date' => format_date($nodes[1]->revision_timestamp))), t('Revision reverted.'));
     $reverted_node = node_load($node->nid);
-    $this->assertTrue(($nodes[1]->body[LANGUAGE_NONE][0]['value'] == $reverted_node->body[LANGUAGE_NONE][0]['value']), t('Node reverted correctly.'));
+    $this->assertTrue(($nodes[1]->body[LANGUAGE_NOT_SPECIFIED][0]['value'] == $reverted_node->body[LANGUAGE_NOT_SPECIFIED][0]['value']), t('Node reverted correctly.'));
 
     // Confirm revisions delete properly.
     $this->drupalPost("node/$node->nid/revisions/{$nodes[1]->vid}/delete", array(), t('Delete'));
@@ -289,7 +289,7 @@ class PageEditTestCase extends DrupalWebTestCase {
   function testPageEdit() {
     $this->drupalLogin($this->web_user);
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title_key = "title";
     $body_key = "body[$langcode][0][value]";
     // Create node to edit.
@@ -357,7 +357,7 @@ class PageEditTestCase extends DrupalWebTestCase {
     $this->drupalLogin($this->admin_user);
 
     // Create node to edit.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $body_key = "body[$langcode][0][value]";
     $edit = array();
     $edit['title'] = $this->randomName(8);
@@ -416,7 +416,7 @@ class PagePreviewTestCase extends DrupalWebTestCase {
    * Check the node preview functionality.
    */
   function testPagePreview() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title_key = "title";
     $body_key = "body[$langcode][0][value]";
 
@@ -440,7 +440,7 @@ class PagePreviewTestCase extends DrupalWebTestCase {
    * Check the node preview functionality, when using revisions.
    */
   function testPagePreviewWithRevisions() {
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $title_key = "title";
     $body_key = "body[$langcode][0][value]";
     // Force revision on "Basic page" content.
@@ -490,7 +490,7 @@ class NodeCreationTestCase extends DrupalWebTestCase {
   function testNodeCreation() {
     // Create a node.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName(8);
     $edit["body[$langcode][0][value]"] = $this->randomName(16);
     $this->drupalPost('node/add/page', $edit, t('Save'));
@@ -512,7 +512,7 @@ class NodeCreationTestCase extends DrupalWebTestCase {
       'uid'      => $this->loggedInUser->uid,
       'name'     => $this->loggedInUser->name,
       'type'     => 'page',
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
       'title'    => 'testing_transaction_exception',
     );
 
@@ -599,7 +599,7 @@ class SummaryLengthTestCase extends DrupalWebTestCase {
   function testSummaryLength() {
     // Create a node to view.
     $settings = array(
-      'body' => array(LANGUAGE_NONE => array(array('value' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vitae arcu at leo cursus laoreet. Curabitur dui tortor, adipiscing malesuada tempor in, bibendum ac diam. Cras non tellus a libero pellentesque condimentum. What is a Drupalism? Suspendisse ac lacus libero. Ut non est vel nisl faucibus interdum nec sed leo. Pellentesque sem risus, vulputate eu semper eget, auctor in libero. Ut fermentum est vitae metus convallis scelerisque. Phasellus pellentesque rhoncus tellus, eu dignissim purus posuere id. Quisque eu fringilla ligula. Morbi ullamcorper, lorem et mattis egestas, tortor neque pretium velit, eget eleifend odio turpis eu purus. Donec vitae metus quis leo pretium tincidunt a pulvinar sem. Morbi adipiscing laoreet mauris vel placerat. Nullam elementum, nisl sit amet scelerisque malesuada, dolor nunc hendrerit quam, eu ultrices erat est in orci. Curabitur feugiat egestas nisl sed accumsan.'))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vitae arcu at leo cursus laoreet. Curabitur dui tortor, adipiscing malesuada tempor in, bibendum ac diam. Cras non tellus a libero pellentesque condimentum. What is a Drupalism? Suspendisse ac lacus libero. Ut non est vel nisl faucibus interdum nec sed leo. Pellentesque sem risus, vulputate eu semper eget, auctor in libero. Ut fermentum est vitae metus convallis scelerisque. Phasellus pellentesque rhoncus tellus, eu dignissim purus posuere id. Quisque eu fringilla ligula. Morbi ullamcorper, lorem et mattis egestas, tortor neque pretium velit, eget eleifend odio turpis eu purus. Donec vitae metus quis leo pretium tincidunt a pulvinar sem. Morbi adipiscing laoreet mauris vel placerat. Nullam elementum, nisl sit amet scelerisque malesuada, dolor nunc hendrerit quam, eu ultrices erat est in orci. Curabitur feugiat egestas nisl sed accumsan.'))),
       'promote' => 1,
     );
     $node = $this->drupalCreateNode($settings);
@@ -721,7 +721,7 @@ class NodePostSettingsTestCase extends DrupalWebTestCase {
 
     // Create a node.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName(8);
     $edit["body[$langcode][0][value]"] = $this->randomName(16);
     $this->drupalPost('node/add/page', $edit, t('Save'));
@@ -744,7 +744,7 @@ class NodePostSettingsTestCase extends DrupalWebTestCase {
 
     // Create a node.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName(8);
     $edit["body[$langcode][0][value]"] = $this->randomName(16);
     $this->drupalPost('node/add/page', $edit, t('Save'));
@@ -1164,7 +1164,7 @@ class NodeSaveTestCase extends DrupalWebTestCase {
     $title = $this->randomName(8);
     $node = array(
       'title' => $title,
-      'body' => array(LANGUAGE_NONE => array(array('value' => $this->randomName(32)))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $this->randomName(32)))),
       'uid' => $this->web_user->uid,
       'type' => 'article',
       'nid' => $test_nid,
@@ -2192,13 +2192,13 @@ class NodeEntityFieldQueryAlter extends DrupalWebTestCase {
     // Creating 4 nodes with an entity field so we can test that sort of query
     // alter. All field values starts with 'A' so we can identify and fetch them
     // in the node_access_test module.
-    $settings = array('langcode' => LANGUAGE_NONE);
+    $settings = array('langcode' => LANGUAGE_NOT_SPECIFIED);
     for ($i = 0; $i < 4; $i++) {
       $body = array(
         'value' => 'A' . $this->randomName(32),
         'format' => filter_default_format(),
       );
-      $settings['body'][LANGUAGE_NONE][0] = $body;
+      $settings['body'][LANGUAGE_NOT_SPECIFIED][0] = $body;
       $this->drupalCreateNode($settings);
     }
 
@@ -2254,7 +2254,7 @@ class NodeTokenReplaceTestCase extends DrupalWebTestCase {
       'type' => 'article',
       'uid' => $account->uid,
       'title' => '<blink>Blinking Text</blink>',
-      'body' => array(LANGUAGE_NONE => array(array('value' => $this->randomName(32), 'summary' => $this->randomName(16)))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $this->randomName(32), 'summary' => $this->randomName(16)))),
     );
     $node = $this->drupalCreateNode($settings);
 
@@ -2434,7 +2434,7 @@ class NodeAccessPagerTestCase extends DrupalWebTestCase {
         'nid' => $node->nid,
         'subject' => $this->randomName(),
         'comment_body' => array(
-          LANGUAGE_NONE => array(
+          LANGUAGE_NOT_SPECIFIED => array(
             array('value' => $this->randomName()),
           ),
         ),
@@ -2472,7 +2472,7 @@ class NodeAccessPagerTestCase extends DrupalWebTestCase {
         'nid' => NULL,
         'type' => 'forum',
         'taxonomy_forums' => array(
-          LANGUAGE_NONE => array(
+          LANGUAGE_NOT_SPECIFIED => array(
             array('tid' => $tid, 'vid' => $vid, 'vocabulary_machine_name' => 'forums'),
           ),
         ),
diff --git a/core/modules/path/path.admin.inc b/core/modules/path/path.admin.inc
index 511c26d5963b..fe122cc3320c 100644
--- a/core/modules/path/path.admin.inc
+++ b/core/modules/path/path.admin.inc
@@ -16,7 +16,7 @@ function path_admin_overview($keys = NULL) {
   $build['path_admin_filter_form'] = drupal_get_form('path_admin_filter_form', $keys);
   // Enable language column if language.module is enabled or if we have any
   // alias with a language.
-  $alias_exists = (bool) db_query_range('SELECT 1 FROM {url_alias} WHERE langcode <> :langcode', 0, 1, array(':langcode' => LANGUAGE_NONE))->fetchField();
+  $alias_exists = (bool) db_query_range('SELECT 1 FROM {url_alias} WHERE langcode <> :langcode', 0, 1, array(':langcode' => LANGUAGE_NOT_SPECIFIED))->fetchField();
   $multilanguage = (module_exists('language') || $alias_exists);
 
   $header = array();
@@ -109,7 +109,7 @@ function path_admin_edit($path = array()) {
  * @see path_admin_form_validate()
  * @see path_admin_form_submit()
  */
-function path_admin_form($form, &$form_state, $path = array('source' => '', 'alias' => '', 'langcode' => LANGUAGE_NONE, 'pid' => NULL)) {
+function path_admin_form($form, &$form_state, $path = array('source' => '', 'alias' => '', 'langcode' => LANGUAGE_NOT_SPECIFIED, 'pid' => NULL)) {
   $form['source'] = array(
     '#type' => 'textfield',
     '#title' => t('Existing system path'),
@@ -142,7 +142,7 @@ function path_admin_form($form, &$form_state, $path = array('source' => '', 'ali
       '#type' => 'select',
       '#title' => t('Language'),
       '#options' => $language_options,
-      '#empty_value' => LANGUAGE_NONE,
+      '#empty_value' => LANGUAGE_NOT_SPECIFIED,
       '#empty_option' => t('- None -'),
       '#default_value' => $path['langcode'],
       '#weight' => -10,
@@ -198,7 +198,7 @@ function path_admin_form_validate($form, &$form_state) {
   $pid = isset($form_state['values']['pid']) ? $form_state['values']['pid'] : 0;
   // Language is only set if language.module is enabled, otherwise save for all
   // languages.
-  $langcode = isset($form_state['values']['langcode']) ? $form_state['values']['langcode'] : LANGUAGE_NONE;
+  $langcode = isset($form_state['values']['langcode']) ? $form_state['values']['langcode'] : LANGUAGE_NOT_SPECIFIED;
 
   $has_alias = db_query("SELECT COUNT(alias) FROM {url_alias} WHERE pid <> :pid AND alias = :alias AND langcode = :langcode", array(
       ':pid' => $pid,
diff --git a/core/modules/path/path.module b/core/modules/path/path.module
index cdeece7764ba..95f1fc0142b2 100644
--- a/core/modules/path/path.module
+++ b/core/modules/path/path.module
@@ -97,7 +97,7 @@ function path_form_node_form_alter(&$form, $form_state) {
   $path = array();
   if (!empty($form['#node']->nid)) {
     $conditions = array('source' => 'node/' . $form['#node']->nid);
-    if ($form['#node']->langcode != LANGUAGE_NONE) {
+    if ($form['#node']->langcode != LANGUAGE_NOT_SPECIFIED) {
       $conditions['langcode'] = $form['#node']->langcode;
     }
     $path = path_load($conditions);
@@ -109,7 +109,7 @@ function path_form_node_form_alter(&$form, $form_state) {
     'pid' => NULL,
     'source' => isset($form['#node']->nid) ? 'node/' . $form['#node']->nid : NULL,
     'alias' => '',
-    'langcode' => isset($form['#node']->langcode) ? $form['#node']->langcode : LANGUAGE_NONE,
+    'langcode' => isset($form['#node']->langcode) ? $form['#node']->langcode : LANGUAGE_NOT_SPECIFIED,
   );
 
   $form['path'] = array(
@@ -189,7 +189,7 @@ function path_node_insert($node) {
     if (!empty($path['alias'])) {
       // Ensure fields for programmatic executions.
       $path['source'] = 'node/' . $node->nid;
-      $path['langcode'] = isset($node->langcode) ? $node->langcode : LANGUAGE_NONE;
+      $path['langcode'] = isset($node->langcode) ? $node->langcode : LANGUAGE_NOT_SPECIFIED;
       path_save($path);
     }
   }
@@ -210,7 +210,7 @@ function path_node_update($node) {
     if (!empty($path['alias'])) {
       // Ensure fields for programmatic executions.
       $path['source'] = 'node/' . $node->nid;
-      $path['langcode'] = isset($node->langcode) ? $node->langcode : LANGUAGE_NONE;
+      $path['langcode'] = isset($node->langcode) ? $node->langcode : LANGUAGE_NOT_SPECIFIED;
       path_save($path);
     }
   }
@@ -238,7 +238,7 @@ function path_form_taxonomy_form_term_alter(&$form, $form_state) {
       'pid' => NULL,
       'source' => isset($form['#term']['tid']) ? 'taxonomy/term/' . $form['#term']['tid'] : NULL,
       'alias' => '',
-      'langcode' => LANGUAGE_NONE,
+      'langcode' => LANGUAGE_NOT_SPECIFIED,
     );
     $form['path'] = array(
       '#access' => user_access('create url aliases') || user_access('administer url aliases'),
@@ -270,7 +270,7 @@ function path_taxonomy_term_insert($term) {
     if (!empty($path['alias'])) {
       // Ensure fields for programmatic executions.
       $path['source'] = 'taxonomy/term/' . $term->tid;
-      $path['langcode'] = LANGUAGE_NONE;
+      $path['langcode'] = LANGUAGE_NOT_SPECIFIED;
       path_save($path);
     }
   }
@@ -291,7 +291,7 @@ function path_taxonomy_term_update($term) {
     if (!empty($path['alias'])) {
       // Ensure fields for programmatic executions.
       $path['source'] = 'taxonomy/term/' . $term->tid;
-      $path['langcode'] = LANGUAGE_NONE;
+      $path['langcode'] = LANGUAGE_NOT_SPECIFIED;
       path_save($path);
     }
   }
diff --git a/core/modules/path/path.test b/core/modules/path/path.test
index 3679553ad8f8..48af2a4c6e79 100644
--- a/core/modules/path/path.test
+++ b/core/modules/path/path.test
@@ -296,7 +296,7 @@ class PathLanguageTestCase extends DrupalWebTestCase {
     $this->drupalGet('node/' . $english_node->nid . '/translate');
     $this->clickLink(t('add translation'));
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit["body[$langcode][0][value]"] = $this->randomName();
     $french_alias = $this->randomName();
diff --git a/core/modules/php/php.test b/core/modules/php/php.test
index 50fb55283b43..7e830820518e 100644
--- a/core/modules/php/php.test
+++ b/core/modules/php/php.test
@@ -43,7 +43,7 @@ class PHPTestCase extends DrupalWebTestCase {
    * @return stdObject Node object.
    */
   function createNodeWithCode() {
-    return $this->drupalCreateNode(array('body' => array(LANGUAGE_NONE => array(array('value' => '<?php print "SimpleTest PHP was executed!"; ?>')))));
+    return $this->drupalCreateNode(array('body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => '<?php print "SimpleTest PHP was executed!"; ?>')))));
   }
 }
 
@@ -77,7 +77,7 @@ class PHPFilterTestCase extends PHPTestCase {
 
     // Change filter to PHP filter and see that PHP code is evaluated.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["body[$langcode][0][format]"] = $this->php_code_format->format;
     $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
     $this->assertRaw(t('Basic page %title has been updated.', array('%title' => $node->title)), t('PHP code filter turned on.'));
diff --git a/core/modules/rdf/rdf.test b/core/modules/rdf/rdf.test
index 1344ded866ca..7379f517beda 100644
--- a/core/modules/rdf/rdf.test
+++ b/core/modules/rdf/rdf.test
@@ -123,7 +123,7 @@ class RdfRdfaMarkupTestCase extends DrupalWebTestCase {
     $admin_user = $this->drupalCreateUser(array('edit own article content', 'revert revisions', 'administer content types'));
     $this->drupalLogin($admin_user);
 
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $bundle_name = "article";
 
     $field_name = 'file_test';
@@ -191,7 +191,7 @@ class RdfRdfaMarkupTestCase extends DrupalWebTestCase {
     $tag1 = $this->randomName(8);
     $tag2 = $this->randomName(8);
     $edit = array();
-    $edit['field_tags[' . LANGUAGE_NONE . ']'] = "$tag1, $tag2";
+    $edit['field_tags[' . LANGUAGE_NOT_SPECIFIED . ']'] = "$tag1, $tag2";
     $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
     // Ensures the RDFa markup for the relationship between the node and its
     // tags is correct.
@@ -663,7 +663,7 @@ class RdfTrackerAttributesTestCase extends DrupalWebTestCase {
     // date has been added to the tracker output after a comment is posted.
     $comment = array(
       'subject' => $this->randomName(),
-      'comment_body[' . LANGUAGE_NONE . '][0][value]' => $this->randomName(),
+      'comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]' => $this->randomName(),
     );
     $this->drupalPost('comment/reply/' . $node->nid, $comment, t('Save'));
     $this->drupalGet('tracker');
diff --git a/core/modules/search/search.pages.inc b/core/modules/search/search.pages.inc
index 1b7c3effc9f8..ff0d271c36d5 100644
--- a/core/modules/search/search.pages.inc
+++ b/core/modules/search/search.pages.inc
@@ -109,7 +109,7 @@ function template_preprocess_search_result(&$variables) {
   $result = $variables['result'];
   $variables['url'] = check_url($result['link']);
   $variables['title'] = check_plain($result['title']);
-  if (isset($result['language']) && $result['language'] != $language_interface->langcode && $result['language'] != LANGUAGE_NONE) {
+  if (isset($result['language']) && $result['language'] != $language_interface->langcode && $result['language'] != LANGUAGE_NOT_SPECIFIED) {
     $variables['title_attributes_array']['lang'] = $result['language'];
     $variables['content_attributes_array']['lang'] = $result['language'];
   }
diff --git a/core/modules/search/search.test b/core/modules/search/search.test
index 1ee4e6ff8e59..78516781c8e6 100644
--- a/core/modules/search/search.test
+++ b/core/modules/search/search.test
@@ -398,7 +398,7 @@ class SearchRankingTestCase extends DrupalWebTestCase {
       $settings = array(
         'type' => 'page',
         'title' => 'Drupal rocks',
-        'body' => array(LANGUAGE_NONE => array(array('value' => "Drupal's search rocks"))),
+        'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => "Drupal's search rocks"))),
       );
       foreach (array(0, 1) as $num) {
         if ($num == 1) {
@@ -408,7 +408,7 @@ class SearchRankingTestCase extends DrupalWebTestCase {
               $settings[$node_rank] = 1;
               break;
             case 'relevance':
-              $settings['body'][LANGUAGE_NONE][0]['value'] .= " really rocks";
+              $settings['body'][LANGUAGE_NOT_SPECIFIED][0]['value'] .= " really rocks";
               break;
             case 'recent':
               $settings['created'] = REQUEST_TIME + 3600;
@@ -432,7 +432,7 @@ class SearchRankingTestCase extends DrupalWebTestCase {
     // Add a comment to one of the nodes.
     $edit = array();
     $edit['subject'] = 'my comment title';
-    $edit['comment_body[' . LANGUAGE_NONE . '][0][value]'] = 'some random comment';
+    $edit['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]'] = 'some random comment';
     $this->drupalGet('comment/reply/' . $nodes['comments'][1]->nid);
     $this->drupalPost(NULL, $edit, t('Preview'));
     $this->drupalPost(NULL, $edit, t('Save'));
@@ -478,13 +478,13 @@ class SearchRankingTestCase extends DrupalWebTestCase {
     foreach ($shuffled_tags as $tag) {
       switch ($tag) {
         case 'a':
-          $settings['body'] = array(LANGUAGE_NONE => array(array('value' => l('Drupal Rocks', 'node'), 'format' => 'full_html')));
+          $settings['body'] = array(LANGUAGE_NOT_SPECIFIED => array(array('value' => l('Drupal Rocks', 'node'), 'format' => 'full_html')));
           break;
         case 'notag':
-          $settings['body'] = array(LANGUAGE_NONE => array(array('value' => 'Drupal Rocks')));
+          $settings['body'] = array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'Drupal Rocks')));
           break;
         default:
-          $settings['body'] = array(LANGUAGE_NONE => array(array('value' => "<$tag>Drupal Rocks</$tag>", 'format' => 'full_html')));
+          $settings['body'] = array(LANGUAGE_NOT_SPECIFIED => array(array('value' => "<$tag>Drupal Rocks</$tag>", 'format' => 'full_html')));
           break;
       }
       $nodes[$tag] = $this->drupalCreateNode($settings);
@@ -517,7 +517,7 @@ class SearchRankingTestCase extends DrupalWebTestCase {
     // Test tags with the same weight against the sorted tags.
     $unsorted_tags = array('u', 'b', 'i', 'strong', 'em');
     foreach ($unsorted_tags as $tag) {
-      $settings['body'] = array(LANGUAGE_NONE => array(array('value' => "<$tag>Drupal Rocks</$tag>", 'format' => 'full_html')));
+      $settings['body'] = array(LANGUAGE_NOT_SPECIFIED => array(array('value' => "<$tag>Drupal Rocks</$tag>", 'format' => 'full_html')));
       $node = $this->drupalCreateNode($settings);
 
       // Update the search index.
@@ -553,7 +553,7 @@ class SearchRankingTestCase extends DrupalWebTestCase {
     $settings = array(
       'type' => 'page',
       'title' => 'Drupal rocks',
-      'body' => array(LANGUAGE_NONE => array(array('value' => "Drupal's search rocks"))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => "Drupal's search rocks"))),
       'sticky' => 1,
     );
 
@@ -686,12 +686,12 @@ class SearchExactTestCase extends DrupalWebTestCase {
     );
     // Create nodes with exact phrase.
     for ($i = 0; $i <= 17; $i++) {
-      $settings['body'] = array(LANGUAGE_NONE => array(array('value' => 'love pizza')));
+      $settings['body'] = array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'love pizza')));
       $this->drupalCreateNode($settings);
     }
     // Create nodes containing keywords.
     for ($i = 0; $i <= 17; $i++) {
-      $settings['body'] = array(LANGUAGE_NONE => array(array('value' => 'love cheesy pizza')));
+      $settings['body'] = array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'love cheesy pizza')));
       $this->drupalCreateNode($settings);
     }
 
@@ -776,9 +776,9 @@ class SearchCommentTestCase extends DrupalWebTestCase {
     // Post a comment using 'Full HTML' text format.
     $edit_comment = array();
     $edit_comment['subject'] = 'Test comment subject';
-    $edit_comment['comment_body[' . LANGUAGE_NONE . '][0][value]'] = '<h1>' . $comment_body . '</h1>';
+    $edit_comment['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]'] = '<h1>' . $comment_body . '</h1>';
     $full_html_format_id = 'full_html';
-    $edit_comment['comment_body[' . LANGUAGE_NONE . '][0][format]'] = $full_html_format_id;
+    $edit_comment['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][format]'] = $full_html_format_id;
     $this->drupalPost('comment/reply/' . $node->nid, $edit_comment, t('Save'));
 
     // Invoke search index update.
@@ -803,7 +803,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
     // Verify that comment is rendered using proper format.
     $this->assertText($comment_body, t('Comment body text found in search results.'));
     $this->assertNoRaw(t('n/a'), t('HTML in comment body is not hidden.'));
-    $this->assertNoRaw(check_plain($edit_comment['comment_body[' . LANGUAGE_NONE . '][0][value]']), t('HTML in comment body is not escaped.'));
+    $this->assertNoRaw(check_plain($edit_comment['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]']), t('HTML in comment body is not escaped.'));
 
     // Hide comments.
     $this->drupalLogin($this->admin_user);
@@ -836,7 +836,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
     // Post a comment using 'Full HTML' text format.
     $edit_comment = array();
     $edit_comment['subject'] = $this->comment_subject;
-    $edit_comment['comment_body[' . LANGUAGE_NONE . '][0][value]'] = '<h1>' . $comment_body . '</h1>';
+    $edit_comment['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]'] = '<h1>' . $comment_body . '</h1>';
     $this->drupalPost('comment/reply/' . $this->node->nid, $edit_comment, t('Save'));
 
     $this->drupalLogout();
@@ -916,7 +916,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
     $settings = array(
       'type' => 'article',
       'title' => 'short title',
-      'body' => array(LANGUAGE_NONE => array(array('value' => 'short body text'))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'short body text'))),
     );
 
     $user = $this->drupalCreateUser(array('search content', 'create article content', 'access content'));
@@ -1036,7 +1036,7 @@ class SearchCommentCountToggleTestCase extends DrupalWebTestCase {
     $this->searching_user = $this->drupalCreateUser(array('search content', 'access content', 'access comments', 'skip comment approval'));
 
     // Create initial nodes.
-    $node_params = array('type' => 'article', 'body' => array(LANGUAGE_NONE => array(array('value' => 'SearchCommentToggleTestCase'))));
+    $node_params = array('type' => 'article', 'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => 'SearchCommentToggleTestCase'))));
 
     $this->searchable_nodes['1 comment'] = $this->drupalCreateNode($node_params);
     $this->searchable_nodes['0 comments'] = $this->drupalCreateNode($node_params);
@@ -1047,9 +1047,9 @@ class SearchCommentCountToggleTestCase extends DrupalWebTestCase {
     // Create a comment array
     $edit_comment = array();
     $edit_comment['subject'] = $this->randomName();
-    $edit_comment['comment_body[' . LANGUAGE_NONE . '][0][value]'] = $this->randomName();
+    $edit_comment['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]'] = $this->randomName();
     $filtered_html_format_id = 'filtered_html';
-    $edit_comment['comment_body[' . LANGUAGE_NONE . '][0][format]'] = $filtered_html_format_id;
+    $edit_comment['comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][format]'] = $filtered_html_format_id;
 
     // Post comment to the test node with comment
     $this->drupalPost('comment/reply/' . $this->searchable_nodes['1 comment']->nid, $edit_comment, t('Save'));
@@ -1277,9 +1277,9 @@ class SearchNumbersTestCase extends DrupalWebTestCase {
 
     foreach ($this->numbers as $doc => $num) {
       $info = array(
-        'body' => array(LANGUAGE_NONE => array(array('value' => $num))),
+        'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $num))),
         'type' => 'page',
-        'language' => LANGUAGE_NONE,
+        'language' => LANGUAGE_NOT_SPECIFIED,
         'title' => $doc . ' number',
       );
       $this->nodes[$doc] = $this->drupalCreateNode($info);
@@ -1359,9 +1359,9 @@ class SearchNumberMatchingTestCase extends DrupalWebTestCase {
 
     foreach ($this->numbers as $num) {
       $info = array(
-        'body' => array(LANGUAGE_NONE => array(array('value' => $num))),
+        'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $num))),
         'type' => 'page',
-        'language' => LANGUAGE_NONE,
+        'language' => LANGUAGE_NOT_SPECIFIED,
       );
       $this->nodes[] = $this->drupalCreateNode($info);
     }
@@ -1431,7 +1431,7 @@ class SearchConfigSettingsForm extends DrupalWebTestCase {
     $this->search_node = $node;
     // Link the node to itself to test that it's only indexed once. The content
     // also needs the word "pizza" so we can use it as the search keyword.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $body_key = "body[$langcode][0][value]";
     $edit[$body_key] = l($node->title, 'node/' . $node->nid) . ' pizza sandwich';
     $this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
@@ -1995,7 +1995,7 @@ class SearchNodeAccessTest extends DrupalWebTestCase {
    * Tests that search returns results with punctuation in the search phrase.
    */
   function testPhraseSearchPunctuation() {
-    $node = $this->drupalCreateNode(array('body' => array(LANGUAGE_NONE => array(array('value' => "The bunny's ears were fuzzy.")))));
+    $node = $this->drupalCreateNode(array('body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => "The bunny's ears were fluffy.")))));
 
     // Update the search index.
     module_invoke_all('update_index');
diff --git a/core/modules/simpletest/drupal_web_test_case.php b/core/modules/simpletest/drupal_web_test_case.php
index e8cbaadcbc3b..98cc6b1c399f 100644
--- a/core/modules/simpletest/drupal_web_test_case.php
+++ b/core/modules/simpletest/drupal_web_test_case.php
@@ -923,7 +923,7 @@ function drupalGetNodeByTitle($title, $reset = FALSE) {
   protected function drupalCreateNode($settings = array()) {
     // Populate defaults array.
     $settings += array(
-      'body'      => array(LANGUAGE_NONE => array(array())),
+      'body'      => array(LANGUAGE_NOT_SPECIFIED => array(array())),
       'title'     => $this->randomName(8),
       'comment'   => 2,
       'changed'   => REQUEST_TIME,
@@ -935,7 +935,7 @@ protected function drupalCreateNode($settings = array()) {
       'sticky'    => 0,
       'type'      => 'page',
       'revisions' => NULL,
-      'langcode'  => LANGUAGE_NONE,
+      'langcode'  => LANGUAGE_NOT_SPECIFIED,
     );
 
     // Use the original node's created time for existing nodes.
diff --git a/core/modules/simpletest/tests/common.test b/core/modules/simpletest/tests/common.test
index 353ab1c7028e..5cb238f2c0f3 100644
--- a/core/modules/simpletest/tests/common.test
+++ b/core/modules/simpletest/tests/common.test
@@ -710,7 +710,7 @@ class CommonCascadingStylesheetsTestCase extends DrupalWebTestCase {
     $settings = array(
       'type' => 'page',
       'body' => array(
-        LANGUAGE_NONE => array(
+        LANGUAGE_NOT_SPECIFIED => array(
           array(
             'value' => t('This tests the inline CSS!') . "<?php drupal_add_css('$css', 'inline'); ?>",
             'format' => $php_format_id,
diff --git a/core/modules/simpletest/tests/file.test b/core/modules/simpletest/tests/file.test
index a186360f8ce0..a226b2ec2f8a 100644
--- a/core/modules/simpletest/tests/file.test
+++ b/core/modules/simpletest/tests/file.test
@@ -2011,7 +2011,7 @@ class FileSaveTest extends FileHookTestCase {
     $this->assertEqual($loaded_file->status, $file->status, t("Status was saved correctly."));
     $this->assertEqual($saved_file->filesize, filesize($file->uri), t("File size was set correctly."), 'File');
     $this->assertTrue($saved_file->timestamp > 1, t("File size was set correctly."), 'File');
-    $this->assertEqual($loaded_file->langcode, LANGUAGE_NONE, t("Langcode was defaulted correctly."));
+    $this->assertEqual($loaded_file->langcode, LANGUAGE_NOT_SPECIFIED, t("Langcode was defaulted correctly."));
 
     // Resave the file, updating the existing record.
     file_test_reset();
diff --git a/core/modules/simpletest/tests/form_test.module b/core/modules/simpletest/tests/form_test.module
index 6e76badf4bc8..e026d6af95a5 100644
--- a/core/modules/simpletest/tests/form_test.module
+++ b/core/modules/simpletest/tests/form_test.module
@@ -1664,7 +1664,7 @@ function form_test_two_instances() {
     'uid' => $user->uid,
     'name' => (isset($user->name) ? $user->name : ''),
     'type' => 'page',
-    'langcode' => LANGUAGE_NONE,
+    'langcode' => LANGUAGE_NOT_SPECIFIED,
   );
   $node2 = clone($node1);
   $return['node_form_1'] = drupal_get_form('page_node_form', $node1);
diff --git a/core/modules/simpletest/tests/menu.test b/core/modules/simpletest/tests/menu.test
index 5a173b146c56..afec3b083a22 100644
--- a/core/modules/simpletest/tests/menu.test
+++ b/core/modules/simpletest/tests/menu.test
@@ -1059,7 +1059,7 @@ class MenuBreadcrumbTestCase extends MenuWebTestCase {
     $admin = $home + array('admin' => t('Administration'));
     $config = $admin + array('admin/config' => t('Configuration'));
     $type = 'article';
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
 
     // Verify breadcrumbs for default local tasks.
     $expected = array(
diff --git a/core/modules/simpletest/tests/path.test b/core/modules/simpletest/tests/path.test
index 308ef644a556..fe6f73459fd0 100644
--- a/core/modules/simpletest/tests/path.test
+++ b/core/modules/simpletest/tests/path.test
@@ -330,7 +330,7 @@ class PathLookupTest extends DrupalWebTestCase {
       'alias' => 'bar',
     );
     path_save($path);
-    $this->assertEqual(drupal_lookup_path('source', $path['alias']), $path['source'], t('Newer alias record is returned when comparing two LANGUAGE_NONE paths with the same alias.'));
+    $this->assertEqual(drupal_lookup_path('source', $path['alias']), $path['source'], t('Newer alias record is returned when comparing two LANGUAGE_NOT_SPECIFIED paths with the same alias.'));
   }
 }
 
diff --git a/core/modules/simpletest/tests/upgrade/drupal-7.language.database.php b/core/modules/simpletest/tests/upgrade/drupal-7.language.database.php
index c1b9cc780151..dfe37fa38e4a 100644
--- a/core/modules/simpletest/tests/upgrade/drupal-7.language.database.php
+++ b/core/modules/simpletest/tests/upgrade/drupal-7.language.database.php
@@ -534,10 +534,10 @@
 
 // Add sample nodes to test language assignment and translation functionality.
 // The first node is also used for testing comment language functionality. This
-// is a simple node with LANGUAGE_NONE as language code. The second node is a
-// Catalan node (language code 'ca'). The third and fourth node are a
-// translation set with an English source translation (language code 'en') and a
-// Chuvash translation (language code 'cv').
+// is a simple node with LANGUAGE_NOT_SPECIFIED as language code. The second
+// node is a Catalan node (language code 'ca'). The third and fourth node are a
+// translation set with an English source translation (language code 'en') and
+// a Chuvash translation (language code 'cv').
 db_insert('node')->fields(array(
   'nid',
   'vid',
@@ -657,7 +657,7 @@
   'vid' => '50',
   'uid' => '6',
   'title' => 'Node title 38',
-  'log' => 'Added a LANGUAGE_NONE node to comment on.',
+  'log' => 'Added a LANGUAGE_NOT_SPECIFIED node to comment on.',
   'timestamp' => '1314997642',
   'status' => '1',
   'comment' => '2',
diff --git a/core/modules/simpletest/tests/upgrade/upgrade.language.test b/core/modules/simpletest/tests/upgrade/upgrade.language.test
index 4f4b42febb07..feae8f821486 100644
--- a/core/modules/simpletest/tests/upgrade/upgrade.language.test
+++ b/core/modules/simpletest/tests/upgrade/upgrade.language.test
@@ -63,7 +63,7 @@ class LanguageUpgradePathTestCase extends UpgradePathTestCase {
     $translation_source_nid = 40;
     $translation_nid = 41;
     // Check directly for the $node->langcode property.
-    $this->assertEqual(node_load($language_none_nid)->langcode, LANGUAGE_NONE, "'language' property was renamed to 'langcode' for LANGUAGE_NONE node.");
+    $this->assertEqual(node_load($language_none_nid)->langcode, LANGUAGE_NOT_SPECIFIED, "'language' property was renamed to 'langcode' for LANGUAGE_NOT_SPECIFIED node.");
     $this->assertEqual(node_load($spanish_nid)->langcode, 'ca', "'language' property was renamed to 'langcode' for Catalan node.");
     // Check that the translation table works correctly.
     $this->drupalGet("node/$translation_source_nid/translate");
@@ -93,9 +93,9 @@ class LanguageUpgradePathTestCase extends UpgradePathTestCase {
     $this->assertEqual($term->langcode, 'ca');
 
     // A langcode property was added to files. Check that existing files got
-    // assigned LANGUAGE_NONE.
+    // assigned LANGUAGE_NOT_SPECIFIED.
     $file = db_query('SELECT * FROM {file_managed} WHERE fid = :fid', array(':fid' => 1))->fetchObject();
-    $this->assertEqual($file->langcode, LANGUAGE_NONE);
+    $this->assertEqual($file->langcode, LANGUAGE_NOT_SPECIFIED);
 
     // Check if language negotiation weights were renamed properly. This is a
     // reproduction of the previous weights from the dump.
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 7b80bc584a8e..a0e4f25aac04 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -1754,8 +1754,8 @@ function system_update_8004() {
     // Files can be language-specific (e.g., a scanned document) or not (e.g.,
     // a photograph). For a site being updated, Drupal does not have a way to
     // determine which existing files are language-specific and in what
-    // language. Our best guess is to set all of them to LANGUAGE_NONE.
-    $langcode_field['initial'] = LANGUAGE_NONE;
+    // language. Our best guess is to set all of them to LANGUAGE_NOT_SPECIFIED.
+    $langcode_field['initial'] = LANGUAGE_NOT_SPECIFIED;
     db_add_field('file_managed', 'langcode', $langcode_field);
   }
 }
diff --git a/core/modules/system/system.test b/core/modules/system/system.test
index 64774c458146..1431bf75d027 100644
--- a/core/modules/system/system.test
+++ b/core/modules/system/system.test
@@ -888,7 +888,7 @@ class AccessDeniedTestCase extends DrupalWebTestCase {
     $this->drupalLogin($this->admin_user);
     $edit = array(
       'title' => $this->randomName(10),
-      'body' => array(LANGUAGE_NONE => array(array('value' => $this->randomName(100)))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $this->randomName(100)))),
     );
     $node = $this->drupalCreateNode($edit);
 
@@ -967,7 +967,7 @@ class PageNotFoundTestCase extends DrupalWebTestCase {
 
     $edit = array(
       'title' => $this->randomName(10),
-      'body' => array(LANGUAGE_NONE => array(array('value' => $this->randomName(100)))),
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $this->randomName(100)))),
     );
     $node = $this->drupalCreateNode($edit);
 
@@ -1326,7 +1326,7 @@ class PageTitleFiltering extends DrupalWebTestCase {
     drupal_set_title($title, PASS_THROUGH);
     $this->assertTrue(strpos(drupal_get_title(), '<em>') !== FALSE, t('Tags in title are not converted to entities when $output is PASS_THROUGH.'));
     // Generate node content.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array(
       "title" => '!SimpleTest! ' . $title . $this->randomName(20),
       "body[$langcode][0][value]" => '!SimpleTest! test body' . $this->randomName(200),
diff --git a/core/modules/taxonomy/taxonomy.test b/core/modules/taxonomy/taxonomy.test
index 845855d14ac6..00fc26941a26 100644
--- a/core/modules/taxonomy/taxonomy.test
+++ b/core/modules/taxonomy/taxonomy.test
@@ -19,7 +19,7 @@ class TaxonomyWebTestCase extends DrupalWebTestCase {
     $vocabulary->name = $this->randomName();
     $vocabulary->description = $this->randomName();
     $vocabulary->machine_name = drupal_strtolower($this->randomName());
-    $vocabulary->langcode = LANGUAGE_NONE;
+    $vocabulary->langcode = LANGUAGE_NOT_SPECIFIED;
     $vocabulary->help = '';
     $vocabulary->nodes = array('article' => 'article');
     $vocabulary->weight = mt_rand(0, 10);
@@ -37,7 +37,7 @@ class TaxonomyWebTestCase extends DrupalWebTestCase {
     // Use the first available text format.
     $term->format = db_query_range('SELECT format FROM {filter_format}', 0, 1)->fetchField();
     $term->vid = $vocabulary->vid;
-    $term->langcode = LANGUAGE_NONE;
+    $term->langcode = LANGUAGE_NOT_SPECIFIED;
     taxonomy_term_save($term);
     return $term;
   }
@@ -497,7 +497,7 @@ class TaxonomyLegacyTestCase extends TaxonomyWebTestCase {
    */
   function testTaxonomyLegacyNode() {
     // Posts an article with a taxonomy term and a date prior to 1970.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array();
     $edit['title'] = $this->randomName();
     $edit['date'] = '1969-01-01 00:00:00 -0500';
@@ -605,7 +605,7 @@ class TaxonomyTermTestCase extends TaxonomyWebTestCase {
 
     // Post an article.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit["body[$langcode][0][value]"] = $this->randomName();
     $edit[$this->instance['field_name'] . '[' . $langcode .'][]'] = $term1->tid;
@@ -647,7 +647,7 @@ class TaxonomyTermTestCase extends TaxonomyWebTestCase {
     );
 
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit["body[$langcode][0][value]"] = $this->randomName();
     // Insert the terms in a comma separated list. Vocabulary 1 is a
@@ -1013,7 +1013,7 @@ class TaxonomyRSSTestCase extends TaxonomyWebTestCase {
 
     // Post an article.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit[$this->instance['field_name'] . '[' . $langcode .'][]'] = $term1->tid;
     $this->drupalPost('node/add/article', $edit, t('Save'));
@@ -1125,7 +1125,7 @@ class TaxonomyTermIndexTestCase extends TaxonomyWebTestCase {
 
     // Post an article.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit["body[$langcode][0][value]"] = $this->randomName();
     $edit["{$this->field_name_1}[$langcode][]"] = $term_1->tid;
@@ -1424,7 +1424,7 @@ class TaxonomyTermFieldTestCase extends TaxonomyWebTestCase {
    */
   function testTaxonomyTermFieldValidation() {
     // Test valid and invalid values with field_attach_validate().
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $entity = field_test_create_stub_entity();
     $term = $this->createTerm($this->vocabulary);
     $entity->{$this->field_name}[$langcode][0]['tid'] = $term->tid;
@@ -1456,7 +1456,7 @@ class TaxonomyTermFieldTestCase extends TaxonomyWebTestCase {
     $term = $this->createTerm($this->vocabulary);
 
     // Display creation form.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $this->drupalGet('test-entity/add/test-bundle');
     $this->assertFieldByName("{$this->field_name}[$langcode]", '', t('Widget is displayed'));
 
@@ -1587,7 +1587,7 @@ class TaxonomyTermFieldMultipleVocabularyTestCase extends TaxonomyWebTestCase {
     $term2 = $this->createTerm($this->vocabulary2);
 
     // Submit an entity with both terms.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $this->drupalGet('test-entity/add/test-bundle');
     $this->assertFieldByName("{$this->field_name}[$langcode][]", '', 'Widget is displayed');
     $edit = array(
@@ -1656,7 +1656,7 @@ class TaxonomyTokenReplaceTestCase extends TaxonomyWebTestCase {
     $this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access'));
     $this->drupalLogin($this->admin_user);
     $this->vocabulary = $this->createVocabulary();
-    $this->langcode = LANGUAGE_NONE;
+    $this->langcode = LANGUAGE_NOT_SPECIFIED;
 
     $field = array(
       'field_name' => 'taxonomy_' . $this->vocabulary->machine_name,
diff --git a/core/modules/tracker/tracker.test b/core/modules/tracker/tracker.test
index d429210d25ec..7c7663fa85dc 100644
--- a/core/modules/tracker/tracker.test
+++ b/core/modules/tracker/tracker.test
@@ -97,7 +97,7 @@ class TrackerTest extends DrupalWebTestCase {
     ));
     $comment = array(
       'subject' => $this->randomName(),
-      'comment_body[' . LANGUAGE_NONE . '][0][value]' => $this->randomName(20),
+      'comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]' => $this->randomName(20),
     );
     $this->drupalPost('comment/reply/' . $other_published_my_comment->nid, $comment, t('Save'));
 
@@ -151,13 +151,13 @@ class TrackerTest extends DrupalWebTestCase {
 
     $node = $this->drupalCreateNode(array(
       'comment' => 2,
-      'title' => array(LANGUAGE_NONE => array(array('value' => $this->randomName(8)))),
+      'title' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $this->randomName(8)))),
     ));
 
     // Add a comment to the page.
     $comment = array(
       'subject' => $this->randomName(),
-      'comment_body[' . LANGUAGE_NONE . '][0][value]' => $this->randomName(20),
+      'comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]' => $this->randomName(20),
     );
     // The new comment is automatically viewed by the current user.
     $this->drupalPost('comment/reply/' . $node->nid, $comment, t('Save'));
@@ -170,7 +170,7 @@ class TrackerTest extends DrupalWebTestCase {
     // Add another comment as other_user.
     $comment = array(
       'subject' => $this->randomName(),
-      'comment_body[' . LANGUAGE_NONE . '][0][value]' => $this->randomName(20),
+      'comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]' => $this->randomName(20),
     );
     // If the comment is posted in the same second as the last one then Drupal
     // can't tell the difference, so we wait one second here.
@@ -203,7 +203,7 @@ class TrackerTest extends DrupalWebTestCase {
     $this->drupalLogin($this->other_user);
     $comment = array(
       'subject' => $this->randomName(),
-      'comment_body[' . LANGUAGE_NONE . '][0][value]' => $this->randomName(20),
+      'comment_body[' . LANGUAGE_NOT_SPECIFIED . '][0][value]' => $this->randomName(20),
     );
     $this->drupalPost('comment/reply/' . $nodes[3]->nid, $comment, t('Save'));
 
diff --git a/core/modules/translation/translation.module b/core/modules/translation/translation.module
index bb2d7e3a3018..ccd13c5aa4f3 100644
--- a/core/modules/translation/translation.module
+++ b/core/modules/translation/translation.module
@@ -77,7 +77,7 @@ function translation_menu() {
  * all languages).
  */
 function _translation_tab_access($node) {
-  if ($node->langcode != LANGUAGE_NONE && translation_supported_type($node->type) && node_access('view', $node)) {
+  if ($node->langcode != LANGUAGE_NOT_SPECIFIED && translation_supported_type($node->type) && node_access('view', $node)) {
     return user_access('translate content');
   }
   return FALSE;
@@ -140,7 +140,7 @@ function translation_form_node_form_alter(&$form, &$form_state) {
     // might need to distinguish between enabled and disabled languages, hence
     // we divide them in two option groups.
     if ($translator_widget) {
-      $options = array($groups[1] => array(LANGUAGE_NONE => t('- None -')));
+      $options = array($groups[1] => array(LANGUAGE_NOT_SPECIFIED => t('- None -')));
       foreach (array(1, 0) as $status) {
         $group = $groups[$status];
         foreach ($grouped_languages[$status] as $langcode => $language) {
@@ -158,7 +158,7 @@ function translation_form_node_form_alter(&$form, &$form_state) {
       // Disable languages for existing translations, so it is not possible to switch this
       // node to some language which is already in the translation set. Also remove the
       // language neutral option.
-      unset($form['langcode']['#options'][LANGUAGE_NONE]);
+      unset($form['langcode']['#options'][LANGUAGE_NOT_SPECIFIED]);
       foreach (translation_node_get_translations($node->tnid) as $langcode => $translation) {
         if ($translation->nid != $node->nid) {
           if ($translator_widget) {
@@ -516,7 +516,7 @@ function translation_language_switch_links_alter(array &$links, $type, $path) {
       // have translations it might be a language neutral node, in which case we
       // must leave the language switch links unaltered. This is true also for
       // nodes not having translation support enabled.
-      if (empty($node) || $node->langcode == LANGUAGE_NONE || !translation_supported_type($node->type)) {
+      if (empty($node) || $node->langcode == LANGUAGE_NOT_SPECIFIED || !translation_supported_type($node->type)) {
         return;
       }
       $translations = array($node->langcode => $node);
diff --git a/core/modules/translation/translation.test b/core/modules/translation/translation.test
index 2a77c03090e3..b174f3aeb277 100644
--- a/core/modules/translation/translation.test
+++ b/core/modules/translation/translation.test
@@ -95,7 +95,7 @@ class TranslationTestCase extends DrupalWebTestCase {
     // Attempt a resubmission of the form - this emulates using the back button
     // to return to the page then resubmitting the form without a refresh.
     $edit = array();
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $this->randomName();
     $edit["body[$langcode][0][value]"] = $this->randomName();
     $this->drupalPost('node/add/page', $edit, t('Save'), array('query' => array('translation' => $node->nid, 'language' => 'es')));
@@ -104,7 +104,7 @@ class TranslationTestCase extends DrupalWebTestCase {
 
     // Update original and mark translation as outdated.
     $node_body = $this->randomName();
-    $node->body[LANGUAGE_NONE][0]['value'] = $node_body;
+    $node->body[LANGUAGE_NOT_SPECIFIED][0]['value'] = $node_body;
     $edit = array();
     $edit["body[$langcode][0][value]"] = $node_body;
     $edit['translation[retranslate]'] = TRUE;
@@ -127,14 +127,14 @@ class TranslationTestCase extends DrupalWebTestCase {
     $this->drupalGet('node/add/page');
     $this->assertFieldByXPath('//select[@name="langcode"]//option', 'it', t('Italian (disabled) is available in language selection.'));
     $translation_it = $this->createTranslation($node, $this->randomName(), $this->randomName(), 'it');
-    $this->assertRaw($translation_it->body[LANGUAGE_NONE][0]['value'], t('Content created in Italian (disabled).'));
+    $this->assertRaw($translation_it->body[LANGUAGE_NOT_SPECIFIED][0]['value'], t('Content created in Italian (disabled).'));
 
     // Confirm that language neutral is an option for translators when there are
     // disabled languages.
     $this->drupalGet('node/add/page');
-    $this->assertFieldByXPath('//select[@name="langcode"]//option', LANGUAGE_NONE, t('Language neutral is available in language selection with disabled languages.'));
-    $node2 = $this->createPage($this->randomName(), $this->randomName(), LANGUAGE_NONE);
-    $this->assertRaw($node2->body[LANGUAGE_NONE][0]['value'], t('Language neutral content created with disabled languages available.'));
+    $this->assertFieldByXPath('//select[@name="langcode"]//option', LANGUAGE_NOT_SPECIFIED, t('Language neutral is available in language selection with disabled languages.'));
+    $node2 = $this->createPage($this->randomName(), $this->randomName(), LANGUAGE_NOT_SPECIFIED);
+    $this->assertRaw($node2->body[LANGUAGE_NOT_SPECIFIED][0]['value'], t('Language neutral content created with disabled languages available.'));
 
     // Leave just one language enabled and check that the translation overview
     // page is still accessible.
@@ -219,7 +219,7 @@ class TranslationTestCase extends DrupalWebTestCase {
 
     // Create a language neutral node and check that the language switcher is
     // left untouched.
-    $node2 = $this->createPage($this->randomName(), $this->randomName(), LANGUAGE_NONE);
+    $node2 = $this->createPage($this->randomName(), $this->randomName(), LANGUAGE_NOT_SPECIFIED);
     $node2_en = (object) array('nid' => $node2->nid, 'langcode' => 'en');
     $node2_es = (object) array('nid' => $node2->nid, 'langcode' => 'es');
     $node2_it = (object) array('nid' => $node2->nid, 'langcode' => 'it');
@@ -316,7 +316,7 @@ class TranslationTestCase extends DrupalWebTestCase {
    */
   function createPage($title, $body, $langcode = NULL) {
     $edit = array();
-    $field_langcode = LANGUAGE_NONE;
+    $field_langcode = LANGUAGE_NOT_SPECIFIED;
     $edit["title"] = $title;
     $edit["body[$field_langcode][0][value]"] = $body;
     if (!empty($langcode)) {
@@ -348,10 +348,10 @@ class TranslationTestCase extends DrupalWebTestCase {
   function createTranslation($node, $title, $body, $langcode) {
     $this->drupalGet('node/add/page', array('query' => array('translation' => $node->nid, 'target' => $langcode)));
 
-    $field_langcode = LANGUAGE_NONE;
+    $field_langcode = LANGUAGE_NOT_SPECIFIED;
     $body_key = "body[$field_langcode][0][value]";
     $this->assertFieldByXPath('//input[@id="edit-title"]', $node->title, "Original title value correctly populated.");
-    $this->assertFieldByXPath("//textarea[@name='$body_key']", $node->body[LANGUAGE_NONE][0]['value'], "Original body value correctly populated.");
+    $this->assertFieldByXPath("//textarea[@name='$body_key']", $node->body[LANGUAGE_NOT_SPECIFIED][0]['value'], "Original body value correctly populated.");
 
     $edit = array();
     $edit["title"] = $title;
diff --git a/core/modules/user/user.test b/core/modules/user/user.test
index a2f7ab10b248..2d55efff4533 100644
--- a/core/modules/user/user.test
+++ b/core/modules/user/user.test
@@ -223,7 +223,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
     // Check user fields.
     $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
     $new_user = reset($accounts);
-    $this->assertEqual($new_user->test_user_field[LANGUAGE_NONE][0]['value'], $value, t('The field value was correclty saved.'));
+    $this->assertEqual($new_user->test_user_field[LANGUAGE_NOT_SPECIFIED][0]['value'], $value, t('The field value was correclty saved.'));
 
     // Check that the 'add more' button works.
     $field['cardinality'] = FIELD_CARDINALITY_UNLIMITED;
@@ -251,9 +251,9 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
       // Check user fields.
       $accounts = user_load_multiple(array(), array('name' => $name, 'mail' => $mail));
       $new_user = reset($accounts);
-      $this->assertEqual($new_user->test_user_field[LANGUAGE_NONE][0]['value'], $value, t('@js : The field value was correclty saved.', array('@js' => $js)));
-      $this->assertEqual($new_user->test_user_field[LANGUAGE_NONE][1]['value'], $value + 1, t('@js : The field value was correclty saved.', array('@js' => $js)));
-      $this->assertEqual($new_user->test_user_field[LANGUAGE_NONE][2]['value'], $value + 2, t('@js : The field value was correclty saved.', array('@js' => $js)));
+      $this->assertEqual($new_user->test_user_field[LANGUAGE_NOT_SPECIFIED][0]['value'], $value, t('@js : The field value was correclty saved.', array('@js' => $js)));
+      $this->assertEqual($new_user->test_user_field[LANGUAGE_NOT_SPECIFIED][1]['value'], $value + 1, t('@js : The field value was correclty saved.', array('@js' => $js)));
+      $this->assertEqual($new_user->test_user_field[LANGUAGE_NOT_SPECIFIED][2]['value'], $value + 2, t('@js : The field value was correclty saved.', array('@js' => $js)));
     }
   }
 }
@@ -711,7 +711,7 @@ class UserCancelTestCase extends DrupalWebTestCase {
     $node = $this->drupalCreateNode(array('uid' => $account->uid));
 
     // Create comment.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array();
     $edit['subject'] = $this->randomName(8);
     $edit['comment_body[' . $langcode . '][0][value]'] = $this->randomName(16);
@@ -1720,7 +1720,7 @@ class UserSignatureTestCase extends DrupalWebTestCase {
     $this->assertFieldByName('signature[format]', $edit['signature[format]'], 'Submitted signature format found.');
 
     // Create a comment.
-    $langcode = LANGUAGE_NONE;
+    $langcode = LANGUAGE_NOT_SPECIFIED;
     $edit = array();
     $edit['subject'] = $this->randomName(8);
     $edit['comment_body[' . $langcode . '][0][value]'] = $this->randomName(16);
-- 
GitLab