/**
  * Filter rewrite rules used for search archives.
  *
  * Likely search-related archives include /search/search+query/ as well as
  * pagination and feed paths for a search.
  *
  * @param array $search_rewrite The rewrite rules for search queries.
  */
 function rewrite_rules($rules)
 {
     global $wp_rewrite, $polylang;
     _x('search', 'URI slug', 'boilerplate');
     if (!empty($polylang) && $polylang->options['force_lang']) {
         $new_rules = [];
         $languages = $polylang->model->get_languages_list(['fields' => 'slug']);
         if ($polylang->options['hide_default']) {
             $languages = array_diff($languages, [$polylang->options['default_lang']]);
         }
         if (!empty($languages)) {
             $slug = $wp_rewrite->root . ($polylang->options['rewrite'] ? '' : 'language/') . '(' . implode('|', $languages) . ')/';
         }
         $translations = pll_translations_x('search', 'URI slug', 'boilerplate');
         //$search_uri = '(' . implode( '|', $translations ) . ')';
         $search_uri = '(search|recherche)';
         foreach ($rules as $key => $rule) {
             $new_rules[str_replace($wp_rewrite->search_base, $search_uri, $key)] = str_replace(['[9]', '[8]', '[7]', '[6]', '[5]', '[4]', '[3]', '[2]'], ['[10]', '[9]', '[8]', '[7]', '[6]', '[5]', '[4]', '[3]'], $rule);
         }
         $new_rules[$slug . $search_uri . '/?$'] = 'index.php?lang=$matches[1]&s=%20';
         $rules = $new_rules;
     }
     return $rules;
 }
 /**
  * Translate Object Type Rewrite Rules
  *
  * @param  array $post_types
  * @return array $post_types
  */
 public function pll_translate_taxonomy_slugs($taxonomies = [])
 {
     global $polylang;
     $object = get_taxonomy($this->obj_tax);
     if ($this->obj_rewrite && isset($object->rewrite['slug'])) {
         $translations = [];
         if (empty($translations)) {
             $translations = pll_translations_x($object->rewrite['slug'], 'URI slug', 'boilerplate');
         }
         if (is_array($translations) && !empty($translations)) {
             $taxonomies[$this->obj_tax] = [];
             foreach ($translations as $language => $text) {
                 $taxonomies[$this->obj_tax][$language] = $text;
             }
         }
     }
     return $taxonomies;
 }