Hi,
We are building a big enterprise class product using winforms. The product
needs to support multiple langauges. So we have separated all resources, esp
strings, in separate resource assemblies which are loaded based on the
culture. We have separate assemblies for labels, messages, errors and hint
messages. we had also planned to have separate satellite assemblies for each
module. We have around 10 modules each of which could contain many thousands
of string resources. Some string resources are common across modules, so we
had planned to keep them in common assembly.
We have the following questions related to the resources:
1) What would be the impact on performance (of GetString) if we have a
single satellite assembly instead of multiple ones which could contain close
to a million string resources compared to the approach of opening two to
three different resource files which could contain 1/10th of the total
number of strings? Are the strings indexed in some way?
2) Is there any recommendation on the maximum size of a resource file
containing string resources? (Individual strings are not big, but the total
number is big.)
We are debating having multiple resource files(satellite assmeblies) per
module versus single reosurce file for the whole product. With mutiple
resource files, we will need to open separate resource managers and with
single resource file we are concerned if the search to find a string using
GetString would slow down our application. Separate resource files will
allow us to give smaller patches to our customers (we have needs to
customize parts of product).
Ideas/thoughts/recommendations would be appreciated.
Thanks