If this is just a one-time conversion, you should be able to do it with Views Bulk Operations (VBO).
Here's one way to do this that doesn't involve writing any code.
- Install the VBO module.
- Create a new view showing Content of whatever content types you need to convert. Use the Fields display method.
- Add a field Bulk operations: content.
- Check Modify entity values and select Language.
- Choose Apply.
- Save the view (add any other filters if necessary to limit the selection) and go to the created view page.
- From the view page, choose the option to select all items on all pages and execute the Modify entity values action.
- Choose the language and click next.
If you have an extremely large number of nodes, you may need to play around with the queuing settings so that not everything is executed at once, but I would try doing it in one pass first because hey, if it works, you're done (note: always test on a backup first!)
Source: How can I set the language of nodes in bulk to existing content when making a site multilingual? - please upvote that one if you liked the solution above.
To force the default language to be undefined, in the setting.php
file used by your site, add the following lines:
$conf['language_default'] = (object) array(
'language' => 'und', 'name' => '', 'native' => '',
'direction' => 0, 'enabled' => 1, 'plurals' => 0, 'formula' => '',
'domain' => '', 'prefix' => '', 'weight' => 0, 'javascript' => ''
);
This will force Drupal to use 'und' as the default language for all new content.