Dealing with node language when manually updating node I'm trying to manually update a node and I'm not sure how the language works.

The node is in English, so $node-&gt;language = 'en';

However, all my fields data are organized like this in the node:

$node-&gt;field_name['und'][0]['value']


I thought 'und' means "language undefined", so shouldn't it be 'en' instead?

I'm trying to automate the process so is it safe to assume fields will always use 'und' in nodes?
Yes - it is safe to assume this. The locale module will deal with this by setting it to the language code of the default language, ex 'en'.

Citing from: http://drupal.org/update/modules/6/7#drupal_language_none

In Drupal 7, the LANGUAGE_NONE constant should be used for nodes or other items that do not have a specific language associated with it.

http://api.drupal.org/api/drupal/includes--bootstrap.inc/constant/LANGUAGE_NONE/7