Hi Michael Fuchs,
Yes, the hashtable approach should work fine. However, there is something that you may have to think about. If you expose the hashtable by a string property, you will be able to search for a product by its name only in the current locale. And you will probably have to create an additional method for adding new key-value pairs. Having that said maybe it is appropriate to have an additional property that exposes the hashtable with its real type. For example, if you are using a field of type Dictionary<string, string>, you can execute a Linq query that will search for a string in all available locale values of a product:
|List<Product> products = scope.Extent<Product>().Where(x => x.ProductNameDictionary.Values.Any(str => str.Contains("abc"))).ToList();
In parallel to that you can have the string property that returns the value according to the current locale. It is up to you to choose what behavior you need, it should work both ways. Hope that helps.
the Telerik team