I'm making an existing site with a few thousand nodes multiligual. Source is English. How can I set all of the existing content to langauge:English instead of neutral all in one bulk command?
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!)
Here's how I bulk set the language on my site:
Using Views Bulk Optimization, select all nodes you want to change, use the 'Change value' option and then change the value to language you want.
After you've done this, the field values will not appear when editing the nodes, so you need to run a script, e.g.
UPDATE database.field_data_body SET language='en' WHERE bundle='page'(use your db name, field name, and bundle as appropriate).
IMPORTANT: If you have any custom url aliases, they will be overwritten with this approach, due to a problem with pathauto, but there's a work-around: first go to /admin/config/search/path/settings, and change the 'Update action' option to 'Do nothing. Leave the old alias intact.', then change this value back once you've run your Views Bulk Operations action.
(I've now answered three Stack questions with this answer, hopefully it won't be considered spam).
In reference to the accepted answer here is a views export that does just that. https://gist.github.com/dasginganinja/7bfa862f379ade6e0f0f