Hi
I had some similar problems (I don’t recall exactly, but one problem was coming of the fact that I was using a static homepage, which is probably what you’re doing) but I made this code and added it to my functions.php
// Correct the loop on main page so that qtranslate excludes posts correctly
function my_qtrans_excludeUntranslatedPosts($where) {
global $q_config, $wpdb;
if($q_config['hide_untranslated'] && !is_singular()) {
$where .= " AND $wpdb->posts.post_content LIKE '%<!--:".qtrans_getLanguage()."-->%'";
}
elseif($q_config['hide_untranslated'] && is_singular() && !strpos($where, "wp_posts.post_type = 'post'") && !strpos($where, "wp_posts.post_type = 'page'")) {
$where .= " AND $wpdb->posts.post_content LIKE '%<!--:".qtrans_getLanguage()."-->%'";
}
elseif($q_config['hide_untranslated'] && is_front_page()) {
$where .= " AND $wpdb->posts.post_content LIKE '%<!--:".qtrans_getLanguage()."-->%'";
}
return $where;
}
if(!defined('WP_ADMIN')) {
remove_filter('posts_where_request', 'qtrans_excludeUntranslatedPosts');
add_filter('posts_where_request', 'my_qtrans_excludeUntranslatedPosts');
}
The part with WP_ADMIN is to ensure that all articles will be loaded when you’re on the dashboard. Play with this code and see if it helps!