-
-
Notifications
You must be signed in to change notification settings - Fork 86
Translation and Multi language support
- Goto http://translate.apkshellext.com
- It will lead to translation project on Crowdin.com
- Pick your language or add your language
- Follow the translation instruction
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.