Localisation workflow using external translation application
Copy link to clipboard
Copied
Hi everyone,
If there is already a good answer for this question out there somewhere just let me know. Unfortunately, I haven't been able to find it yet.
We're about to start translating all of our documentation in Robohelp 2017 into a few different languages starting with German. However, I can't find a good workflow to stick to. The one I've found in the Robohelp documentation doesn't quite cover it.
- Apply French language project settings by selecting French Language.
- Open an English topic, create a topic for the French language, and translate the content, including the topic title from English to French. (Do not translate topic filenames.)
- Create French tables of contents, indexes, and glossaries.
- Create a conditional build tag, such as FrenchContent.
- Apply the FrenchContent conditional build tag to French content and topics.
- Generate output for the French language.
The main issue is that we want to use a translation application (Transit NXT) so we will need to export the source files for translation. For this I could use the following workflow:
- Apply French language project settings by selecting French Language.
- Create a new folder at the top level called French.
- Create a copy in the French folder of all the files and folders.
- Create French indexes and glossaries.
- Send French topic files, index file and glossary file for translation. Translator translates the content, including the topic title from English to French. (Do not translate topic filenames.)
- Overwrite French topic files, index files and glossary files with the translated copies.
- Create French tables of contents.
- Create a conditional build tag, such as FrenchContent.
- Apply the FrenchContent conditional build tag to French content and topics.
- Generate output for the French language.
Does this seem the best way to do it and are there any translation steps that I'm missing?
Thanks in advance for any help you can give me.
Tom Jenks
Copy link to clipboard
Copied
I use RoboHelp 11.0.4.291 and SDL TRADOS Studio 2015 Professional SR3 – 12.3.5262.0
Iam the technical writer for software and I start the Robohelp-project in german, it is translated into serveral languages.
I don't use multilingual projects because for some products we translate up into 8 other languages.
For example product aaa_V9.0 is translated into 4 languages but next release aaa_V9.1 needs to translate into 7 languages.
I use Robohelp and Trados since many years this way.
RoboHelp-Projekts in "Responsive HTML5" an "Microsolft html"
1) The folder with the RoboHelp-project has the name "product_DEU", the RoboHelp-project has the ending "..._DEU.xpj"
2) I copied the whole folder including all sub folders and rename the new folder to "product_ENG" or "product_ITA" etc.
3) I open the RoboHelp-project in the new folder and rename the RoboHelp-project <Data file - Rename project...> (in german <Datei - Projekt umbenennen...>)
".._DEU.xpj" to ".._ENG.xpj" or ".._ITA.xpj" or ".._FRA.xpj"
4) All project-files will be rename, except *.hhc (content), *.hhk (index) and *.glo (glossary). These new files are empty.
5) In "Projectmanager" open content (Inhaltsverzeichnis)
You see two files "..._DEU(Standard)" including your table of content and the new empty file "..._ENG".
6) Delete the new file "..._ENG" and rename the standard to "..._ENG", after that it is "..._ENG(Standard)"
7) You have to do the same for "Indes" and "glossary"
8) Change the language in the project settings from german to english.
<Data file - projectsettings... - language> (in german <Datei - Projekteinstellungen - Sprache>)
TRADOS or Transit NXT (I think it works in the same way)
9) I create a new Trados-project for every translation.
"Product_V92_DEU_ENG" or "Product_V92_DEU_ITA"
10) I import all sub folders with the files "...*.htm" to the Trados project.
Trados can easily read the *.htm file, I had to do nothing else.
For *.htm files Trados use the filtersettings "XHTML 1.1 V1.2"
12) I do NOT rename any htm-file and the translator only see the text no link.
13) To translate the table of content, index and glossary you need to translate the RoboHelp-project files
*.hhc - content
*.hhk - index
*.glo - glossar
For these files Trados needs a special filter, *.hhc and *.hhk are XML format files
These filter settings are no standard in Trados and not in Transit NXT
Perhaps you ask the support of Transit NXT to create filter settings for these files.
I can give you the filter settings for Trados, may it helps to create filter settings for Transit NXT.
In Trados the translater only see the words of the content or index, he can't overwrite the link.
14) After translation I export the "sub-folders" with the translated files and copy it back to the new RoboHelp folder from 2)
RoboHelp
15) Start the RoboHelp project ".._ENG.xpj" and all files are in the new language and all links or hyperlinks are still fine.
16) Pictures - If you use pictures in the help, you perhaps need to translate the pictures.
17) If you have a titel in the output window you need to rename the titel <project appointment - window> (in german <projekteinrichtung - Fenster>) and compile the new help.
I hope it helps you a little bit with your problem or to find you own way to translate RoboHelp-projects.
Best regards
Jutta
P.S.
TRADOS - filtersettings for *.hhc + *.hhk + *.glo
For Trados you have to copy it to a file with the ending <*.sdlftsettings>. In Trados you have to import it for each new project again.
<?xml version="1.0" encoding="utf-8"?><SettingsBundle><SettingsGroup Id="Robohelp"><Setting Id="SnifferNamespaces">True</Setting><Setting Id="SnifferRootElements0">glossary</Setting><Setting Id="SnifferRootElements">True</Setting><Setting Id="SnifferXPaths">True</Setting><Setting Id="ElementData3IsInlinePlaceholder">false</Setting><Setting Id="ElementData2IsInlinePlaceholder">false</Setting><Setting Id="ElementData3IsInline">false</Setting><Setting Id="ElementData3Name">glossdef</Setting><Setting Id="ElementData3">True</Setting><Setting Id="ElementData0AttributeData0"><AttributeData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Sdl.FileTypeSupport.Native.Xml.FilterSettings"><Name>version</Name></AttributeData></Setting><Setting Id="ElementData0AttributeData">True</Setting><Setting Id="ElementData1IsInlinePlaceholder">false</Setting><Setting Id="ElementData2IsInline">false</Setting><Setting Id="ElementData2Name">glossterm</Setting><Setting Id="ElementData2">True</Setting><Setting Id="ElementData1AttributeData">True</Setting><Setting Id="ElementData0IsInlinePlaceholder">false</Setting><Setting Id="ElementData1IsInline">false</Setting><Setting Id="ElementData1Name">glossentry</Setting><Setting Id="ElementData1">True</Setting><Setting Id="ElementData2AttributeData">True</Setting><Setting Id="ElementData">True</Setting><Setting Id="ElementData0IsInline">false</Setting><Setting Id="ElementData0Name">glossary</Setting><Setting Id="ElementData0">True</Setting><Setting Id="ElementData3AttributeData">True</Setting><Setting Id="Xml_Translate_Rule_4">True</Setting><Setting Id="Xml_Translate_Rule_3">True</Setting><Setting Id="Xml_Translate_Rule_4Translate">yes</Setting><Setting Id="Xml_Translate_Rule_2">True</Setting><Setting Id="Xml_Translate_Rule_5XPathSelector">//section/@name</Setting><Setting Id="Xml_Translate_Rule_1XPathSelector">//glossentry</Setting><Setting Id="Xml_Translate_Rule_5Translate">yes</Setting><Setting Id="Xml_Translate_Rule_3XPathSelector">//glossdef</Setting><Setting Id="Xml_Translate_Rule_4XPathSelector">//item/@name</Setting><Setting Id="Xml_WithinText_Rule_">True</Setting><Setting Id="Xml_Translate_Rule_1">True</Setting><Setting Id="Xml_Translate_Rule_2XPathSelector">//glossterm</Setting><Setting Id="SnifferRootElements1">toc</Setting><Setting Id="Xml_Translate_Rule_5">True</Setting><Setting Id="SnifferRootElements2">index</Setting><Setting Id="Xml_Translate_Rule_">True</Setting><Setting Id="Xml_Translate_Rule_0XPathSelector">//glossary</Setting><Setting Id="Xml_Translate_Rule_0">True</Setting><Setting Id="FileTypeConfiguration_ComponentBuilderId">XML v 1.3.0.0</Setting><Setting Id="FileTypeConfiguration_ProfileData"><FileTypeInformation xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sdl.com/filetypesupport"><Description></Description><Expression>(^[\d\D]*\.[gG][lL][oO]$)|(^[\d\D]*\.[hH][hH][cC]$)|(^[\d\D]*\.[hH][hH][kK]$)</Expression><FileDialogWildcardExpression>*.glo;*.hhc;*.hhk</FileDialogWildcardExpression><FileTypeDefinitionId>Robohelp</FileTypeDefinitionId><FileTypeDocumentName>Robohelp-Dokument</FileTypeDocumentName><FileTypeDocumentsName>Robohelp-Dokumente</FileTypeDocumentsName><FileTypeName>Robohelp</FileTypeName></FileTypeInformation></Setting></SettingsGroup></SettingsBundle>
Copy link to clipboard
Copied
Thanks very much for the detailed reply. I'm going to be using some elements of it although not all of it as I'd like to keep the translations in the same project. I've come across a few other issues along the way which we've managed to resolve. As soon as we have a finalised process in place I'll post it on here.
I have at least realised that we don't need to switch to MadCap Flare and Lingo to simplify the process. I considered it for a while as their workflow looked more integrated. However, after a bit of research it looks like Robohelp will be just as good in the long run, although both products could do with enhancing their translation workflows.
Copy link to clipboard
Copied
With the help of Gesand, I have now prepared an article on my site covering the subject of Translating RoboHelp projects.
Hope it helps.
See www.grainge.org for RoboHelp and Authoring information
Copy link to clipboard
Copied
Thank you both for the information. I can now see that keeping it all in a single project makes things a lot more complicated so I'm going for the project copy option and I'll follow your steps fairly closely. I'll also send your Trados filter to our translator (in-house) in case it helps with setting up the Transit NXT filters.
I've just got one more question. Should there be additional steps at the start to send a list of the folder names to the translator and then insert the translations in Robohelp? She doesn't have a Robohelp license and I can imagine that just renaming the folders in Windows Explorer would cause a lot of problems with hyperlinks. Or can the translation application package handle this itself?
Copy link to clipboard
Copied
I hope Jutta will step in when she sees this but meantime I believe you give the project to the Trados operator and everything is done from within that. I don't believe they need RoboHelp.
See www.grainge.org for RoboHelp and Authoring information
Copy link to clipboard
Copied
Dear Tom,
Robohelp is not required for the translation, only trados or transit NXT.
In Windows Explorer, I create a folder for each software version.
This has 1 subfolder for each language. This subfolder contains the files for the RoboHelp project (* .xpj; * .ali, * .hhc, * .brs ....etc..)
Depending on how the online help is built, or how extensive, there are further subfolders, these contain the help pages (* .htm)
Folder_AAAA_V01
- Subfolder_AAAA_V01_DEU (Original, youz work in with RoboHelp)
- Subfolder_AAAA_V01_ENG.. or .. _FRA or ...._ITA ect. (Copy from your original)
Folder_AAAA_V01
- Subfolder_AAAA_V01_DEU
(include all files like: *** _ DEU.xpj, *_DEU.ali, *_DEU.brs....ect.)
-01_AAA (Welcom.htm)
-02_AAA (First Steps.htm, etc.)
// -copy the subfolder_AAAA_V01_DEU
You only have to rename
- the copied folder for the language and as described above,
- the project files, as well as content, index + glossary
- Subfolder_AAAA_V01_ENG
(*** _ ENG.xpj ....
-01_AAA (Welcom.htm)
-02_AAA (First Steps.htm, etc.)
The translator DEU-ENG receives the subfolders as follows.
The translator does not change any names, neither the filenames of the * .htm files nor the folder names. Otherwise, the effort to rework broken links or the allocation of files is too high.
TRADOS - 00_AAA (* .hhc, * .hhk, * .glo)
- 01_AAA (Welcom.htm)
- 02_AAA (First Steps.htm, etc.)
When the translator returns the finished files, these translated files are inserted into the "copied" project folder.
The only "disadvantage" of this method, in the fully compiled online help (HTML5) the user always sees the original name of the *.htm file. This is not a problem for our software, because the pages often have technical names, such as device names, which are not translated anyway.
So, I hope it has become a bit clearer. Iam the only technical writer, and I need to handle a lot of languages, I often didn't speak. So in my way, it is fine, if all *.htm files or Links are not renamed,
Greeting Jutta
Copy link to clipboard
Copied
For someone who'd like to use TRADOS filter settings for RoboHel, I
post this.
When I copied the TRADOS filter settings for hhk, hhc and glo files
into a plain text file as "Robohelp.sdlftsettings", my TRADOS 2015
could not import it by error.
I found the cause of this problem. It is “unnecessary space characters
were unexpectedly inserted to the pasted XML files”. Please remove those unnecessary
space characters from it.
Line 1, position 3026: Just after “/”.
Line 1, position 3118: Between FileTyp and eDocumentName
Line 1, position 3299: Just after “/”.
After removing above 3 unnecessary spaces from the XML, save it and try
to import it from TRADOS again. It would be imported successfully.
Copy link to clipboard
Copied
Thanks for pointing this out, Y. Shibata!
I have forwarded this to Adobe Engineering and hopefully they provide and update.
John Daigle
Adobe Certified RoboHelp and Captivate Instructor
Evergreen, Colorado
Adobe Certified RoboHelp and Captivate Instructor
Newport, Oregon

