function all_rewrite_rules($rewrite)
 {
     global $sitepress;
     if (!class_exists('WPML_Slug_Translation')) {
         return $rewrite;
     }
     $active_languages = $sitepress->get_active_languages();
     $current_language = $sitepress->get_current_language();
     $default_language = $sitepress->get_default_language();
     $cache_keys = array($current_language, $default_language);
     $cache_keys[] = md5(serialize($active_languages));
     $cache_keys[] = md5(serialize($rewrite));
     $cache_key = implode(':', $cache_keys);
     $cache_group = 'all_rewrite_rules';
     $cache_found = false;
     $final_rules = wp_cache_get($cache_key, $cache_group, false, $cache_found);
     if ($cache_found) {
         return $final_rules;
     }
     $final_rules = $rewrite;
     foreach ($active_languages as $next_language) {
         if ($next_language['code'] == $default_language) {
             continue;
         }
         $sitepress->switch_lang($next_language['code']);
         $translated_rules = WPML_Slug_Translation::rewrite_rules_filter($final_rules);
         if (is_array($translated_rules) && is_array($final_rules)) {
             $new_rules = array_diff_assoc($translated_rules, $final_rules);
             $final_rules = array_merge($new_rules, $final_rules);
         }
     }
     $sitepress->switch_lang($current_language);
     wp_cache_set($cache_key, $final_rules, $cache_group);
     return $final_rules;
 }