Skip to content

Translation and Multi language support

Jingang Guo, KK edited this page Jul 24, 2015 · 3 revisions

1. Translate

2. How the Multi-language implemented.

Multi languages are supported, by applying .NET native globalization flow with a little trick.

All localize strings are defined in Resource file, by default, an English (en-US) resource (Resources.resx) is in use, alternative language strings are provided from additional resource file, such as Resources.zh-CN.resx or Resources.it-IT.resx, the language code (zh-CN/it-IT) is in the file name.

Corresponding resource will be applied according to user's environment. So if you are using Chinese system, you will see Chinese menu by default.

Each additional culture resource generates satellites dll file, laying under < build >/< lang-code >/ApkSHellext2.resources.dll besides ApkShellext2.dll, Which is I cannot bear, I would like keep a lite and green release structure instead of bunch of files, so I put the satellites dll as a resource into the main dll and extract it out on-the-fly when needed. (see code).

But under this, the build process need to do twice if the resource file got updated. The first time is for generating the satellites dll, the second time will include it into main dll. In Post-build event, the generated satellites dll is moved to resources folder.


Please let me know if you DONOT want your name and email appear on the website as contributor.