5
votes

Let's say I have a WCF service, it has multiple clients, in multiple languages. It would be appropriate to use the resource files and satellite assemblies to provide localized resource strings.

Now if those resource strings become branded, for example two clients in the same country, same language, but have different terminology, would I make a separate resx file with a separate satellite assembly, or am I missing something?

Adding a branded satellite assembly for that client would mean a lot of redundancy for resource strings that are not branded. But, at the same time in need all resource strings to be brand-able.

2
Keep an eye on this question: stackoverflow.com/q/3894135/135787 - ulty4life

2 Answers

1
votes

We faced the same problems (the customers were able to adapt the initially provided translation) and satellite assemblies did not solve our problem. Resources and assemblies are more suitable for stable content.

We ended up saving all these resource strings in the database and loaded and cached them at first application start.

0
votes

I faced this problem on one project; I landed up writing my own code to read strings from a XML file that is in the same format as the input file to the resource compiler. We then for each customer had a list of “message” files to try in order; we used the message from the first file that contained it. (Using the resource file format let the translators use the tools they were used to.)

This was of course all done with an in memory data cache after a message file was accessed for the first time.