Fallback languages for catalog content
I recently had a partner ask me how they could get catalog content to work with fallback languages. I figured this would be a tough task as been on the roadmap for awhile but tried to give this a shot. I went looking into resuing the ContentLanguageSetting used in Cms but quickly found the it relies on content being stored in the content tables in the CMS. The partner use case only needed to fallback to a neutral version if the country specific locale did not exist. This alllowed me to tackle using code.
Here is a gist of the code that was used.
Please note the two Get overloads in FallbackLanguageSettingsHandler as this is waht determines the fallback and replacement languages. Here you could read from config or elsewhere if you need to have more business rules around which languages to choose. Also note you need to set the strictLanguageRouting="false" in episerver section.
Hopefully this helps someone else trying to do the same thing.