Multilingual views hide if no translation
The problem was that I was doing condition in views with field that wasn't translatable and views are adding join on langcode, thanks to user 4k4 that linked to this issue that can be found here.

I fixed this by removing untranslated field from view and hooking into hook_views_query_alter and adding relationship myself :

&lt;?php

use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\query\QueryPluginBase;

function hook_views_query_alter(ViewExecutable $view, 
QueryPluginBase $query)
{
    if ($view-&gt;id() == 'blog') {
        $definition = [
            'table' =&gt; 'node__field_content_type',
            'field' =&gt; 'entity_id',
            'left_table' =&gt; 'node_field_data',
            'left_field' =&gt; 'nid',
        ];
        $join = Drupal::service('plugin.manager.views.join')-&gt;createInstance('standard', $definition);
        $query-&gt;addRelationship('node__field_content_type', $join, 'node__field_content_type');
        $query-&gt;addWhere('1', 'node__field_content_type.field_content_type_value', 1, '=');
    }
}


Also this hook has to be in MODULE.views_execution.inc file