Hi Dave,
Thank you for your reply!
Yes, what you expected can be done definitely.
In fact, the best practice of localizing a WinForm application is like the
following:
1. Use VS IDE to create WinForms in the application and make each form
localizable, i.e. set the Localizable property of the form to true and
build the WinForm application project.
2. When you want the application support another culture later, you can use
Windows Forms Resource Editor(Winres.exe) to edit the .resx files, e.g.
Form1.resx. Translate the resource text into another language, e.g. German,
and save this resx file in German culture, which produces a Form1.de.resx
file in the same folder where the Form1.resx resides.
3. Use Resgen.exe tool to convert Form1.de.resx file to
ProjectNamespace.Form1.de.resources file(Note, the .resources file should
have a full name so that the resource could be accessed by the executable
later). For example, type the following command in the VS2005 command
prompt:
Resgen Form1.de.resx WindowsApplication1.Form1.de.resources
4. Bind all .resources files for a specified culture into a statellite
assembly using AL.exe tool. For example, you create Form1.de.resources and
Form2.de.resources files, then you need to bind both the two *.de.resources
files into a statellite assembly for the culture German. For example, type
the following command in the VS2005 command prompt:
AL /t:lib /embed:WindowsApplication1.Form1.de.resources
/embed:WindowsApplication1.Form2.de.resources /culture:de
/out:WindowsApplication1.resources.dll
5. Copy the generated satellite assembly
'WindowsApplication1.resources.dll' into a subdirectory named 'de' under
the folder that the executable resides.
As you can see, we needn't re-compile the existing WinForm application
project to support another culture.
Hope this helps.
If you have any question, please feel free to let me know.
Sincerely,
Linda Liu
Microsoft Online Community Support