.NET Windows Forms localization
Lingobit Localizer is a perfect tool for Windows Forms localization. It supports binary and .ResX based localization approaches and displays preview for original and translated forms. It automates 99% of localization process and makes it extremely easy to localize your application. Lingobit Localizer supports .NET 1.0, 1.1, 2.0, 3.0, 3.5 and 4.0 versions.
Using Lingobit Localizer
Lingobit extracts all localizable resources such as strings, menus and forms directly from assembly file (*.exe, *.dll, *.resx) and presents them in productive translation environment with such features as translation reuse between versions, automatic validation for common translation errors, exchange wizard for easy collaboration between translator and manager.
After you translate resources, Lingobit Localizer creates satellite assemblies and places them in directories with language code names (for example, en-gb is English – Great Britain). This is a default location for satellite assemblies used in Microsoft .NET Framework. It automatically locates resources in those directories and selects appropriate using language settings.
.NET localization in general
There are a lot of information about .NET localization a covered in .NET localization article. There you will find everything you need about satellite assemblies, language selection, neutral languages, strong named files and signing. It is recommended to read the article before moving forward.
How to prepare for Windows Forms localization
First you need to set Localizable property to be true for all forms that require localization. You can do it in Visual Studio at Properties page.
Furthermore, there are a lot of strings that are hardcoded in your source code. You need to move the strings to resources. We have developed a tool that makes it 95% automatically. Lingobit Extractor extracts hardcoded strings and replaces them with code that loads translation from resources.
Binary .NET localization vs .ResX localization
Lingobit Localizer supports both types of localization:
- localization of binary files (.exe and .dll)
- localization of .resx files
In most situation it is preferred to use binary localization becuase:
- use of Reflection Based form editor, that is capable to preview 3rd party controls
- there is no need to disclose source code
- localized satellite assemblies a ready for deployment
- you can run localized application without use of compiler
- translation could be done without any connection with development
- you deal with one binary file instead of huge amount of resx files, that are created for each form
- Input - .dll and .exe files
- Output - localized satellite assemblies (.dll)
- Ready to run after localization
- Input - .ResX files
- Output - .ResX files
- After localization add localized files into Visual studio project and compile
During process of translation Lingobit Localizer displays preview of original and translated forms, allowing translator to view changes and adopt control sizes and form layout. There are two types of form preview for .NET Windows Forms localization.
Reflection based preview
Reflection based form preview is a most advanced. It loads original controls that are used in form in design mode allowing you to preview almost any 3rd party control. It is capable to display the form exactly as it looks in Visual Studio designer.
Reflection based form editor requires original and referenced assemblies to be loaded. It is usually normal at developer's computer, but it could require additional configuration for translators. Some 3rd party controls require desinger license to preview controls in desing mode. If Localizer can't find any of requested assemblies it will load Mapping Based preview.
Mapping based preview
Mapping based preview replaces all unknown controls with similiar controls from .NET Framework. There are a lot of 3rd party controls already mapped, but you can configure additional.
Mapping based preview works in all situations, but it displays form preview that is "like" original, but not the same.
Other .NET localization platforms
.NET Framework has several technologies that use slightly different approaches for localization. Please select the one you need