Soluling home   Document home

WPF

Software Localization

Software localization has some unique properties. Soluling has been designed to address them.

Internationalization is required

Unlike documents, software needs to be internationalization before localization. This means placing all strings that need to be translated into resources and using the proper I18N APIs. Each platform contains its own I18N API. However, some of the API does not contain everything you need. In that case, you can use Soluling's I18N API that extends the native I18N APIs.

Strings are stored into resource files or data format that is most often platform-specific

There are several resource file formats out there. Most often, each platform has its own format. The formats are based on JSON, XML or proprietary formats (e.g., getText's .po, Delphi's .dfm). Soluling knows these formats. Soluling goes further than typical localization tools that only support the resource file format. Soluling also supports the project file formats. That way, you don't have to locate the individual resource files and add them to the project. Instead, you just select the project file. Soluling analyzes it to find every resource file the project uses.

Strings, especially the user interface strings, are relatively short

User interface strings are short segments containing only a few words. It is very important to use consistent terminology on user interface strings. Soluling helps you with its terminology feature.

Because strings are short, it is important to have all the context information possible. Soluling has visual editors that show the localized user interface visually. The developer can also add comments to the strings. Soluling automatically picks those comments and attaches them to the strings.

Some resource content constantly change when you modify the user interface

Some user interface resources are edited and maintained using a form or dialog editor of the IDE. This means it is easy to create and edit the user interface resources, making the resource formats very complex. These UI resources are much more complex than simple flat JSON or XML resources.

Because these formats mix strings inside complex presentation logic that constantly fluctuates, you have to ensure that your localized UI resources are always updated with the original UI resources. Use Soluling's buiild automation support for that.

The software comes in various formats

There are several kinds of software: desktop, mobile, and web. Soluling supports them all:

It is not only the user interface but data and documents too

Last but not least, to localize the user interface only is not enough. In many cases, you need to localize the documentation, data files, and databases.