Double-Byte RoboHelp Localization

RoboHelp can be an important tool for setting up a user-assistance/help system, but doing so for double-byte languages can be a challenge for some users, especially those working on older versions. Currently-used versions of RoboHelp include x3, x5, and versions 7.0 through the most recent 9.0. For x3, there is a version specially designed for double-byte languages like Chinese, Japanese and Korean (aka ‘CJK’). When compiling RoboHelp projects for CJK in x3, it is essential to select the sector and the language setting of the operating system to match the corresponding language, e.g. having an operating system in Chinese when compiling a Chinese RoboHelp project. Failure to do so can lead to unreadable codes being displayed. In versions 7.0 and higher, double-byte languages are fully supported thanks to Unicode, so they can be used directly.

Localization of RoboHelp is actually quite simple. First, you translate the web files acting as topics, the hhc files as table of contents, the hhk files as indices and the glo files as glossaries. In addition, the help titles in the hhp files also need to be translated. Graphics may also need to be processed, so be sure to confirm if this is in scope.

Still, there are some remaining challenges to which attention should be paid for processing a RoboHelp project when using older versions. The most important things are file encoding and entity processing. When they are processed incorrectly, compiling becomes problematic and it can lead to many problems during the exporting. So let’s look at some of these challenges to help ensure they are managed properly.

1. Encoding

Both x3 and x5 use ANSI code, which is the default code for the operating system in the corresponding language. But 7.0 and higher use utf-8 encoding. Since popular localization tools support Unicode, it is necessary to convert the files into Unicode before translation and then reconvert them into the required code again post-translation. Note: generally, the original English codes for x3 and x5 are Western European Windows, for 7.0 and higher they are utf-8. Utf-8 is relatively simple to be convert. When converting Unicode back into ANSI, some tools may produce unreadable codes, however. For the files that contain unsupported characters, it is feasible to create a file with ANSI code first, then copy from the file with and save, thus ensuring that all characters will be displayed correctly.
Be sure to remember: correct encoding is very important; when wrong, exporting will also be incorrect.

2. Charset

For the value of the Charset in web files, 7.0 and higher are utf-8, so it is unnecessary to correct. In x3 and x5,it is necessary to correct the values into the ones that are corresponding to the ANSI code. For Chinese that means gb2312; Japanese shift_jis; and Korean ks_c_5601-1987. Checking and correcting manually after translation are suggested, to ensure that all things are correct and nothing is missing.

3. Entity

After translation, the entity should be maintained same as original source. Spaces, hyphens, copyright and trademark symbols, or even Chinese quotes may be converted by your localization tool (e.g. Trados). In Trados, use the following settings to avoid the entity conversion issue. (See the Tag Settings Properties screenshot below.)

4. The .ini setting of Trados

Using Tageditor to translate the RoboHelp file is very convenient. If project settings include conditional files, they can also be filtered by setting the .ini correctly. We recommend the settings seen in the screenshot below, Trados .ini settings.

5. Compilation

It is best to compile using the same version as the original source. At present, for double-byte languages, we find that using x3 or 7.0 or higher to compile x5 files is OK if source is x5, but you do need to modify some settings and it is not ideal.There maybe no error warnings when compile a version of robohelp project files with different version of Robohelp, but the output may not be 100% reliable. Also note that 7.0 files can not be compiled with 8.0. When compiling, you also need to check the project settings, and check if coding needs to be modified and that entities are displaying correctly with no garnling. If you find the file needs to be modified in the final positioning of the file, use EmEditor to modify it. Note that the editor that comes with x5 has been found to incorrectly identify some of the content.

Finally and most importantly, make sure you do a full and thorough linguistic quality assurance on the finalized files before finishing the project!


Leave a Reply