With DeployLX Licensing provides custom translations for multiple cultures. When DeployLX Licensing compiles an error message or displays a form all text resources on are translated to the thread's CurrentUICulture.
At runtime DeployLX uses the .NET Framework's built in resource management utilities to locate satellite assemblies that contain custom translations of the DeployLX Licensing resources. DeployLX will look at all the assemblies in the call chain starting from the host application to DeployLX.Licensing.v5.dll itself. For each assembly that it finds it will look for satellite assemblies with custom translations of the DeployLX Licensing resources. If found, any customized resources will be used. If no custom translation is found then the default resources will be used.
Satellite assemblies are placed into their own folder with the a name corresponding to the culture that it provides resources for. For example a satellite assembly for the es culture will go in to a subfolder named es.
Use the RESX Translator to automatically translate the resouces into any of the 37+ langauges supported by Bing.com.
The easiest way to create a custom translation is to to create a new Translation Project in DeployLX Manager. The Translation Editor provides an easy to use visual tool for editing the resources and automatically builds the satellite assemblies needed by the runtime to locate the custom translations.
Direct RESX Editing|
If you use satellite assemblies for your own resources then you must compile the custom translations into your satellite assemblies by including the translated RESX files into your project.|
In order for DeployLX to find the custom translation you must also add the neutral culture DeployLX.Licensing.v5.resx to the protected assembly.
As an alternative to editing the RESX files in Visual Studio you can use the Translation Project described above and export the resulting RESX files directly to the Resources folder of your project1.
If you do not use a localized version of Windows you won't see your custom translation automatically. To manually test a translation set the thread's CurrentUICulture before calling LicenseManager.Validate.
This sample assumes that a custom translation has been provided for the es neutral or es-MX specific culture.
Thread.CurrentThread.CurrentUICulture = _ CultureInfo.GetCultureInfo("es-MX") _license = SecureLicenseManager.Validate(Me, Nothing, Nothing)
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo( "es-MX" ); _license = SecureLicenseManager.Validate( this, null, null );