Help (CHM)

HTML Help localization for desktop applications.

Translate a compiled .chm file directly: its pages, contents, and index, with a preview of each page, and let Lingobit compile de\help.chm for each language. Your help authoring tool keeps the source; your application opens the help of its language.

Help localization: Enterprise

Your source CHM help.chm Lingobit Localizer Project SourceGerman New Order Neue Bestellung Customer: Kunde: Quantity: Menge: Each string, translated in the project You get help.chm de\help.chm fr\help.chm ja\help.chm A translated file for each language; compiled by Lingobit Your source CHM help.chm Translate in Lingobit Project SourceGerman New Order Neue Bestellung Customer: Kunde: Quantity: Menge: You get help.chm source de\help.chm fr\help.chm ja\help.chm
Input
A compiled .chm file, from any help authoring tool
Output
de\help.chm, compiled with the HTML Help compiler
Preview
Each help page, rendered, with the translation in place
Edition
Enterprise
On this page

Tutorial

Localize CHM help with Lingobit, step by step.

Four steps from help.chm to a compiled help file for each language.

Your source CHM help.chm Project DE FR JA LOC MyApp.loc orders.htmHTML New Order Create an order help.hhcTOC Orders Customers Format HTML Help CHM Your source CHM help.chm Project DE FR JA LOC MyApp.loc orders.htmHTML New Order Create an order help.hhcTOC Orders Customers Format HTML Help CHM
  1. Your source CHM help.chm Project DE FR JA LOC MyApp.loc orders.htmHTML New Order Create an order help.hhcTOC Orders Customers Format HTML Help CHM Your source CHM help.chm Project DE FR JA LOC MyApp.loc orders.htmHTML New Order Create an order help.hhcTOC Orders Customers Format HTML Help CHM

Your files TMX XLIFF CSV Open file Ship today 100% Print preview Notify the customer. 95% Microsoft terms Cancel Folder Quantity only what matches the project Project Translation memory Ship today Noch heute versenden Notify the customer. Kunde benachrichtigen. Terminology Cancel Abbrechen Quantity Menge Your files TMX XLIFF CSV Open file Ship today100% Print preview Notify the customer.95% Microsoft terms CancelFolderQuantity only what matches the project Project Translation memory Ship today Noch heute versenden Notify the customer. Kunde benachrichtigen. Terminology Cancel→Abbrechen Quantity→Menge
ProjectDEFRJAMyApp.locorders.htmNew Orderhelp.hhc PrepareTranslationTaskImportTranslationResults TranslatorDENew OrderNeue BestellungCustomer:Kunde:CreateErstellenSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Validation on save Or their CAT toolXLIFF 1.2for the tool the translatoralready uses ProjectDEFRJAMyApp.locorders.htmNew Orderhelp.hhc PrepareTranslation Task TranslatorDENew OrderNeue BestellungCustomer:Kunde:CreateErstellenSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Validation on save Or their CAT toolXLIFF 1.2for the tool the translatoralready uses ImportResults
  1. Your files TMX XLIFF CSV Open file Ship today 100% Print preview Notify the customer. 95% Microsoft terms Cancel Folder Quantity only what matches the project Project Translation memory Ship today Noch heute versenden Notify the customer. Kunde benachrichtigen. Terminology Cancel Abbrechen Quantity Menge Your files TMX XLIFF CSV Open file Ship today100% Print preview Notify the customer.95% Microsoft terms CancelFolderQuantity only what matches the project Project Translation memory Ship today Noch heute versenden Notify the customer. Kunde benachrichtigen. Terminology Cancel→Abbrechen Quantity→Menge
  2. ProjectDEFRJAMyApp.locorders.htmNew Orderhelp.hhc PrepareTranslationTaskImportTranslationResults TranslatorDENew OrderNeue BestellungCustomer:Kunde:CreateErstellenSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Validation on save Or their CAT toolXLIFF 1.2for the tool the translatoralready uses ProjectDEFRJAMyApp.locorders.htmNew Orderhelp.hhc PrepareTranslation Task TranslatorDENew OrderNeue BestellungCustomer:Kunde:CreateErstellenSourceGermanNew OrderNeue BestellungCustomer:Kunde:Quantity:Menge:Validation on save Or their CAT toolXLIFF 1.2for the tool the translatoralready uses ImportResults

Output · Validation HTML Tags mismatch orders.htm · p Fixed Resource orders.htm · p Source Export {0} pages to {1}. Export %d pages to %s. Export <b>all</b> pages. Export %1 pages to %2. German {0} Seiten nach {2} exportieren. %d Seiten nach %d exportieren. <b>Alle</i> Seiten exportieren. %1 Seiten nach %3 exportieren. {0} Seiten nach {1} exportieren. %d Seiten nach %s exportieren. <b>Alle</b> Seiten exportieren. %1 Seiten nach %2 exportieren. Output · Validation HTML Tags mismatch orders.htm · p Fixed orders.htm · p Source Export {0} pages to {1}. Export %d pages to %s. Export <b>all</b> pages. Export %1 pages to %2. German {0} Seiten nach {2} exportieren. %d Seiten nach %d exportieren. <b>Alle</i> Seiten exportieren. %1 Seiten nach %3 exportieren. {0} Seiten nach {1} exportieren. %d Seiten nach %s exportieren. <b>Alle</b> Seiten exportieren. %1 Seiten nach %2 exportieren.
  1. Output · Validation HTML Tags mismatch orders.htm · p Fixed Resource orders.htm · p Source Export {0} pages to {1}. Export %d pages to %s. Export <b>all</b> pages. Export %1 pages to %2. German {0} Seiten nach {2} exportieren. %d Seiten nach %d exportieren. <b>Alle</i> Seiten exportieren. %1 Seiten nach %3 exportieren. {0} Seiten nach {1} exportieren. %d Seiten nach %s exportieren. <b>Alle</b> Seiten exportieren. %1 Seiten nach %2 exportieren. Output · Validation HTML Tags mismatch orders.htm · p Fixed orders.htm · p Source Export {0} pages to {1}. Export %d pages to %s. Export <b>all</b> pages. Export %1 pages to %2. German {0} Seiten nach {2} exportieren. %d Seiten nach %d exportieren. <b>Alle</i> Seiten exportieren. %1 Seiten nach %3 exportieren. {0} Seiten nach {1} exportieren. %d Seiten nach %s exportieren. <b>Alle</b> Seiten exportieren. %1 Seiten nach %2 exportieren.

Project Open Öffnen Save Speichern Print Drucken Export Exportieren Removed Help Hilfe Scan for Changes New build Open Öffnen Save Speichern Print all Updated Help Hilfe Share New Project Öffnen Speichern Drucken Exportieren Hilfe Removed Scan for Changes New build Open Öffnen Save Speichern Print all Updated Help Hilfe Share New
  1. Project Open Öffnen Save Speichern Print Drucken Export Exportieren Removed Help Hilfe Scan for Changes New build Open Öffnen Save Speichern Print all Updated Help Hilfe Share New Project Öffnen Speichern Drucken Exportieren Hilfe Removed Scan for Changes New build Open Öffnen Save Speichern Print all Updated Help Hilfe Share New

Lingobit opens the .chm, translates it, and compiles it again.

Your help tool, such as RoboHelp or Help & Manual, writes help.chm. Lingobit reads the pages, the table of contents, and the index from it. After translation, it compiles a .chm for each language with Microsoft's HTML Help compiler, with the language of the help set. Your installer ships them with the application.

Your help projectLingobit help toolCHMhelp.chmtranslate, compileDEde\help.chminstaller Your help tool builds itLingobit translates and compilesYour installer ships it Your help project help toolCHMhelp.chmLingobittranslate, compileDEde\help.chminstaller

Lingobit does

  • Translates the help pages, sentence by sentence, with their inline tags protected.
  • Translates the table of contents, the index, and the help window titles.
  • Checks HTML tags, entities, and more, and shows each page in the preview.
  • Compiles a .chm for each language.

Your help project keeps

  • Writing the help in your authoring tool.
  • Building the English .chm for each release.
  • Opening the help of the user's language from the application.
  • The final check in the help viewer.

Reference

Open the help of the language.

Windows does not choose a help file for you: the application opens the .chm of the language it shows. Put each file in its language folder, and build the path from the same language your application uses for its interface.

C++ and MFC

HtmlHelp(hwnd, L"de\\help.chm::/orders.htm",
         HH_DISPLAY_TOPIC, 0);

.NET

Help.ShowHelp(this, @"de\help.chm",
              HelpNavigator.Topic, "orders.htm");

What Lingobit reads in a .chm file.

Parts of a CHM file and how Lingobit treats them
In the helpIn Lingobit
Pages (.htm)Translated like HTML pages: sentences with inline tags, the attributes your rules select, a preview of the page
Table of contents (.hhc) and index (.hhk)Translated entry by entry
Help title and window titlesTranslated
Images, styles, scriptsCopied into the compiled help unchanged
Language of the helpSet to the target language when the help is compiled

Compiling needs Microsoft HTML Help Workshop. Lingobit looks for its compiler in the Microsoft HTML Help Compiler folder set in Tools, Options. The help settings of the project also choose Auto Index, Auto TOC, and whether to create a .chi file.

Do and don't.

Do

  • Install Microsoft HTML Help Workshop on the computer that creates the localized help.
  • Build the English .chm before every handoff, and run Scan for Changes.
  • Translate the application and its help in one project, so the help uses the same words as the interface.
  • Choose German, not German (Germany), when the folder should be de.
  • Check the compiled help in the help viewer on the target language.

Don't

  • Edit the localized .chm by hand: the next Create compiles it again.
  • Put text in images: it is not translated.
  • Send the help source or the authoring project to translators: they work in Lingobit.

Troubleshooting.

Symptoms, causes, and what to do
SymptomLikely causeWhat to do
"MS HTML Help compiler not found"HTML Help Workshop is not installed, or is installed in another folderInstall it, or set the Microsoft HTML Help Compiler folder in Tools, Options
The application opens the English helpIts code opens one fixed help fileBuild the help path from the language the application shows
A help page looks brokenA translation changed or dropped an inline tagRun Validation: it reports HTML tags that differ from the source

The help samples.

Localizer installs two help samples with their projects.

  • CHM HTML Help: a compiled help file with more than a hundred topics, contents, and index, in German and French. Create Localized Files compiles de\localizer.chm.
  • Help & Manual: an uncompressed Help & Manual project, translated as XML with XPath settings, before it is compiled.

More about help localization.

Help Authoring Tool workflows

CHM help built with RoboHelp, Help & Manual, Doc-To-Help, ForeHelp, or another help authoring tool goes through the same workflow: Lingobit localizes the compiled help, and the authoring tool stays responsible for writing and maintaining the documentation source. Lingobit does not replace it or redesign the documentation structure.

Help, HTML, or XML guide
  • This guide: the deliverable is application help, especially CHM help shipped with a Windows desktop application.
  • HTML guide: standalone HTML or template files localized as files.
  • XML guide: help resources stored as XML that need XPath node selection.