Standard Drupal Views (not using Search API) allow specifying the “Rendering Language”: to “Interface text language selected for the page” and I encountered a problem.
This way, if the page is set to Irish let’s say, the View displays the items in Irish and falls back to the default language if the translation is not present. This works well for mirrored translations where the majority of the content is translated.
That doesn’t work however if the View is displaying data indexed by Search API. The “Rendering Language” is not there. The solution:
Add the “Language (with fallback)” to the index.
Rebuild the index.
Clear the cache.
Go to the view and add a new “Filter criteria”.
Add “Language (with fallback)” filter.
That’s it. The Views items will show the translated content or its default language version if the translation doesn’t exist.
Note, I always disable caching on Views for development. Set the “Block: Caching” to “None”.