Resources and Internationalization¶
In the following text, <plug-in_name> is the value of the plug-in name attributes
and <entry_name> is the value of the MenuItem/TabPage name attributes.
XenCenter reads the following resources from <plug-in>.resources.dll:
<plug-in_name>.description- Shown in the plug-ins dialog.<plug-in_name>.copyright- Vendor copyright statement. Shown in the plug-ins dialog.<plug-in_name>.link- Link to vendor's webpage. Shown in the plug-ins dialog.<entry_name>.label- The menu entry label.<entry_name>.description- Shown in the plug-ins dialog.<entry_name>.icon- The icon to use in the menu entry. This icon is a 16x16 PNG. Can be omitted.<entry_name>.tooltip- The tooltip to use when the menu entry is disabled. Can be omitted.
To create the resources file:
-
Create a RESX file containing the appropriate strings (You can do this task in any project in Visual Studio, for example, console project).
-
Open up Visual Studio command prompt and navigate to the RESX file's directory
-
Run
ResGen.exe <plug-in_name>.resx(
ResGen.exeis found inC:\Program Files\Microsoft SDKs\Windows\v7.0A\bin). -
Run
al.exe /t:lib /embed:<plug-in_name>.resources /out:<plug-in_name>.resources.dll(
al.exeis also found inC:\Program Files\Microsoft SDKs\Windows\v7.0A\bin). -
If you want to compile extra resource DLLs for any specific cultures, edit the RESX file appropriately. Run these commands again with an extra
/cultureargument in theal.execommand specifying the two letter culture string. For example, for Japanese, run:al.exe /t:lib /embed:<plug-in_name>.resources /culture:ja /out:<plug-in_name>.resources.dll -
Place the invariant culture
<plug-in_name>.resources.dllinto the<plug-in_dir>folder (with<plug-in_name>.xcplugin.xmland so on). Set up other cultures as follows:<plug-in_dir>\<culture>\<plug-in_name>.resources.dllwhere<culture>is the two-letter ISO culture name.
Unless stated otherwise, all of these entries are mandatory. If any are missing, then the problem is logged, and the menu option is disabled.