Despite what some Americans may think, not everybody speaks English. So it's sometimes a good idea for your Vault command to support multiple languages. Since your command is a plug-in and not an EXE, there are some complications.
Satellite Assemblies:
Vault Explorer localization is based on the .NET concept of Satellite Assemblies. If you are not familiar with that concept, you way want to read the relevant MSDN articles.
In a nutshell, satellite assemblies are DLLs that contain the localized strings and dialogs for a specific language or locale. At run time, every time a resource is needed, .NET attempts to find it in the appropriate satellite assembly. If the resource is not found, the default resource is used. The OS language is used to determine which satellite assembly to use.
Vault Explorer and your custom command:
For Vault Explorer, the default language is English. If you install the English version of Vault, you get no satellite assemblies. If you install a non-English version of Vault, you get everything the English install has plus the satellite assemblies for the install language.
So you've written a custom command for Vault Explorer. For sake of demonstration, let's say you've set up satellite assemblies for all the major languages. Your control is .NET so it follows the .NET localization mechanism. At runtime the OS language determines which satellite assembly is use. The Vault install language is not a factor.
This can lead to some interesting results. Here a chart with some example set-ups and their results:
| OS Language | Vault Install Language | Vault Runtime Language | Custom Command Runtime Language |
| English | English | English | English |
| German | English | English | German |
| English | German | English | English |
| German | German | German | German |
| French | German | English | French |
There is a pattern that emerges. Vault runs as English (default language) if the install language doesn't match the OS language. The custom command matches the OS language. So we can create a more abstract grid...
| OS Language | Vault Install Language | Vault Runtime Language | Custom Command Runtime Language |
| X | X | X | X |
| X | Y | English | X |
NOTE: The highlighted configurations are the ones supported by Autodesk.
Deployment:
Vault has several different language installs which are released at different times. However your control doesn't have to follow this pattern. In most cases, it will probably be easiest to support all your languages in a single deployment. In other words, all the satellite assemblies are deployed at the same time.
Testing:
If you have an English OS and want to test out your localization, it can be a bit tricky to switch your OS language. Changing the locale formats and keyboard settings in the Control Panel does not change the OS language. First you need to install the appropriate language pack. Next, you need to set the “Display Language” from the Control Panel localization, which requires a reboot or re-login.
That's all I have for this article. Auf Wiedersehen.

Subscribe