Proper localization of a WinForms application

前端 未结 5 658
Happy的楠姐
Happy的楠姐 2020-11-30 01:11

I have a WinForms application which I want to translate into multiple languages. However, I do not have any experience with localizing a WinForms a

5条回答
  •  难免孤独
    2020-11-30 01:43

    I've just completed a C# .Net 3.5 project with a similar problem. We were writing WinForms plugin for an existing multi-lingual application with 8 languages (including English).

    This is how we did it:

    1. Create all our forms and UI in the default language, English.

    2. Put all our internal strings in a resource file (stuff not tied directly to a form like custom error messages and dialog box titles etc)

    Once we had completed most of the work and testing we localised it.

    1. Each form already had a .resx file but this was empty. We set the property 'Localizable' to true, the .resx file was filled with things like button sizes & strings.

    2. For each of the other languages, we changed the 'Language' property on the form. We chose the basic version of each language eg: 'Spanish' instead of 'Spanish (Chile)' etc. so that it would work for every 'Spanish' dialect, I think.

    3. Then we went through each control, translated its text and resized, if needed. This created a .resx per language and form combination.

    We were then left with, for 8 languages, 8 .resx for each form and 8 .resx for the general strings. When compiled the output folder had the .dll we were creating and then a sub folder for each language with a .resources.dll in it.

    We were able to test the versions of the UI in the designer by just changing the language property to check that we had the correct strings & layout.

    All in all once we got our heads around it, it was quite easy and painless.

    We didn't need to write any custom tweaks to the form loading

提交回复
热议问题