Hook_node_presave is forcing a reset to default language when 'Use all enabled languages' permission for a specific role is disabled.
My guess it's extremely dangerous altering the node language instead of storing a language variable inside an admin_language table.

/**
 * Implements hook_node_presave().
 */
function admin_language_node_presave($node) {
  if (!user_access('use all enabled languages')) {
    if (variable_get('admin_language_force_default', 0)) {
      // force the use of the default site language
      $default = language_default();
      $node->language = $default->language;
    }
  }
}

Comments

Liam Morland’s picture

Issue summary: View changes
Status: Active » Postponed (maintainer needs more info)

Is this still a problem? If so, please provide steps to reproduce it.

Liam Morland’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)