I'm about to start writing a tool in .NET 2.0 (C#), and the tool needs to be re-brandable to be sold for use by other companies. We'll compile the tool in house, with other company's resources, so they don't get the source, just the generated output.
Since the re-branding will use the same default language, how do you manage multiple resources for the same language set without doing something sleazy like swapping out resx files with scripts at build time, or something even sleazier (and more error prone) like using en-US for customer A, en-CA for customer B, en-GB for customer C, etc.