Change record status: 
Project: 
Introduced in branch: 
8.x
Description: 

You can now load a language by its language code with a dedicated load function.

Drupal 7:

$languages = language_list();
$language = $languages[$langcode];

Drupal 8:

$language = language_load($langcode);
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done

Comments

guy_schneerson’s picture

We needed to change the language as part of the checkout processes of a Drupal 7 commerce site

The following code did not work:

  global $language;
  $languages = language_list();
  $new_language = $languages['en-gb'];
  // Assign
  $language = $new_language;

however assigning the properties of $new_language to $language did work:

  global $language;
  $languages = language_list();
  $new_language = $languages['en-gb'];
  // Assign
  $vars = get_object_vars($new_language);
  foreach($vars as $name => $value) {
      $language->$name = $value;
  }

Guy Schneerson
Main Site: www.blue-bag.com
Technology Blog: http://technology.blue-bag.com