diff --git a/i18n_node/i18n_node.module b/i18n_node/i18n_node.module
index 754ae69..b85ea5f 100644
--- a/i18n_node/i18n_node.module
+++ b/i18n_node/i18n_node.module
@@ -570,3 +570,18 @@ function i18n_node_type_enabled($type) {
   $mode = variable_get('language_content_type_' . $type, 0);
   return $mode == 1 || $mode == 2; // 2 == TRANSLATION_ENABLED
 }
+
+function i18n_node_operations() {
+  $languages = i18n_language_list();
+  $languages = array(LANGUAGE_NONE => t('Language neutral')) + $languages;
+  $operations = array();
+  foreach ($languages as $lang_id => $language) {
+    $operations['i18n_node_set_language_' . $lang_id] = array(
+      'label' => t('Set node language to !language', array('!language' => $language)),
+      'callback' => 'node_mass_update',
+      'callback arguments' => array('updates' => array('language' => $lang_id)),
+    );
+  }
+
+  return $operations;
+}
