/**
  * sets the language for home page
  * add the lang query var when querying archives with no language code
  *
  * @since 1.2
  *
  * @param object $query instance of WP_Query
  */
 public function parse_main_query($query)
 {
     if ($query !== $GLOBALS['wp_the_query']) {
         return;
     }
     $qv = $query->query_vars;
     // homepage is requested, let's set the language
     // take care to avoid posts page for which is_home = 1
     if (empty($query->query) && (is_home() || is_page())) {
         $this->home_language();
         $this->home_requested();
     }
     parent::parse_main_query($query);
     $is_archive = count($query->query) == 1 && !empty($qv['paged']) || $query->is_date || $query->is_author || !empty($qv['post_type']) && $query->is_post_type_archive && $this->model->is_translated_post_type($qv['post_type']);
     // sets the language in case we hide the default language
     // use $query->query['s'] as is_search is not set when search is empty
     // http://wordpress.org/support/topic/search-for-empty-string-in-default-language
     if ($this->options['hide_default'] && !isset($qv['lang']) && ($is_archive || isset($query->query['s']) || count($query->query) == 1 && !empty($qv['feed']))) {
         $this->set_language($this->model->get_language($this->options['default_lang']));
         $this->set_lang_query_var($query, $this->curlang);
     }
 }