Blog‎ > ‎

Language and Branding

posted Mar 18, 2010, 5:43 PM by Robert Chandler   [ updated Aug 29, 2011, 1:27 PM by Robert Chandler ]
Let's see how language & branding work. Thanks Paul O'Rear [MSFT] for filling in the gaps. 

Testing Foreign Language Installs

I started this page after reading Roland's question in the Yahoo group. He needed to create foreign language catalog so he could test his foreign language installations, but was getting 'missing file error: MSHelp3_1_de-DE' when creating a German catalog (VS\100\de-de) on an English PC.

Whenever you create a new help catalog, the help-on-help book is automatically added to it.
However VS 2010 only ships with one language version of Help on Help. 

C:\Program Files\Microsoft Help Viewer\v1.0\

During the Beta release Paul suggested that for now developers could test non-English help by making a copy of this help file and rename using the correct language code.

VS Core Languages

There are 10 core languages (9 +  En) that VS 2010 test and ship for VS 2010 RTM.

 Language Short code LCID 
 Chinese - Taiwan (Traditional) zh-TW  0x0404 (1028) 
 Chinese - China (Simplified) zh-CN  0x0804 (2052) 
 English - US en-US 0x0409 (1033)
 French - France fr-FR 0x040C (1036) 
 German - Germany de-DE 0x0407 (1031)
 Italian - Italy It-IT 0x0410 (1040)
 Japanese - Japan ja-JP 0x0411 (1041) 
 Korean - Korea ko-KR  0x0412 (1042) 
 Russian - Russia ru-RU 0x0419 (1049) 
 Spanish - Spain es-ES  0x0C0A (3082) *

* Note that MS use modern Spanish LCID (3082) not the traditional Spanish LCID 0x040A (1034).

Other language codes used by MSDN

Language Short code LCID 
 Arabic - Saudi Arabia ar-SA 0x0401 (1025)
 Czech - Czech Republic cs-CZ  0x0405 (1029)
 Polish - Poland pl-PL 0x0415 (1045)
 Portuguese - Brazilian pt-BR 0x0416 (1046)
 Turkish, Turkey tr-TR 0x041F (1055)

Language code references: 
You can see 10 LCIDs (above) used to name the Help Viewer Install language DLLs.

C:\Program Files\Microsoft Help Viewer\v1.0\Microsoft Help Viewer 1.0\install.res.1033.dll  

If you look at the actual StopWord files shipping with the RC, the languages a slightly different. 

C:\Program Files\Microsoft Help Viewer\v1.0\StopWords\
cs-cz.stp, de-de.stp, en-us.stp, es-es.stp, fr-fr.stp, it-it.stp, pl-pl.stp, pt-br.stp, ru-ru.stp, tr-tr.stp

So here we also see Czech (cs-cz), Polish - Poland (pl-pl), Portuguese - Brazil (pt-br) and Turkish - Turkey (tr-tr).
I believe these files are simply a copy of the MS Help 2 StopWord files. They are used when a valid culture match is found. I'm not sure if StopWord files work in all languages.

Branding Packages

You will find 2 branding packages in the Help Viewer install folder.

Help3Branding is installed by the Help Viewer install. Fairly plain branding with no graphics. When you create a new catalog this is what get's used by default. *-IE6.mshc package is optional and, if found, provide for the layout quirks of Internet Explorer 6.

C:\Program Files\Microsoft Help Viewer\v1.0\Help3Branding.mshc
C:\Program Files\Microsoft Help Viewer\v1.0\Help3Branding-IE6.mshc

The Dev10 branding package is installed by VS setup. It contains the VS Logo graphic and specific VS feedback links etc. You wont see these files if you install just the help (without VS).

C:\Program Files\Microsoft Help Viewer\v1.0\Dev10.mshc
C:\Program Files\Microsoft Help Viewer\v1.0\Dev10-IE6.mshc

If you look inside the branding packages (which are PKZIP files), you will find support for several languages, graphics, CSS, and lots of transforms. The use of transforms is why clean XHTML is required (although the real requirement is for XML).

Create a new Catalog using Dev10 Branding

If you wanted to create a new catalog but use the Dev10 branding (Help3Branding being the default), you could create a batch file containing the following.

"%programfiles%\Microsoft Help Viewer\v1.0\HelpLibManager.exe" /product MyCatalog /version 10 /locale en-us /brandingPackage dev10.mshc

From what I can see you can't apply a branding package on an existing catalog. You need to specify the branding pack when the Catalog is created. And a catalog is created simply by specifying a unique product\version\locale on the HelpLibManager.exe command line.

Also, remember that branding packages work at the catalog level. One branding per catalog.

Make your own Branding Package

To make your own branding package take a copy of say 'dev10.mshc', rename it and modify it's content (it's just a ZIP file). 

At the moment you would need to copy any custom branding package you make into the \v1.0\ folder along with the other MS branding packages.

In the next version of help (after the 1.0 release) the help team plan to open up this whole customization area to ISVs. At the moment creating your own Catalogs and Branding Packages are not supported. Although, I'm sure if you ask the help team nicely they would be happy to give out basic advise.