You can do this with four database columns:
ID (unique primary key) CultureCode ProductID ProductName
I assume that you select your products from the database. Go into the UI culture as part of the stored procedure, then when you select from your product table, join the Culture table on the product ID and UICulture. You would call your SELECT as follows:
SELECT ProductID ,another field ,IsNull(Culture.ProductName, Product.ProductName) ,etc FROM Product LEFT JOIN Culture ON Product.ProductID = Culture.ProductID AND Culture.CultureCode = @UICulture
you get the idea. You can even check the UICulture for the hyphen (for example: fr-CA), split it into another variable, then make two connections in the Culture table - one for the exact culture and one for the backup culture, so in this example the first connection will be for fr-CA and the second connection will simply be dropped before fr. If your entire culture is combined with an error (for example, because you do not have Zulu in the culture table), IsNull uses only the regular ProductName (this may be in English).
source share