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.exe
is 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.exe
is 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
/culture
argument in theal.exe
command 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.dll
into the<plug-in_dir>
folder (with<plug-in_name>.xcplugin.xml
and so on). Set up other cultures as follows:<plug-in_dir>\<culture>\<plug-in_name>.resources.dll
where<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.