6 Replies Latest reply on Apr 18, 2017 3:42 AM by Gesand

    Localisation workflow using external translation application

    Tom Jenks

      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.

      1. Apply French language project settings by selecting French Language.
      2. 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.)
      3. Create French tables of contents, indexes, and glossaries.
      4. Create a conditional build tag, such as FrenchContent.
      5. Apply the FrenchContent conditional build tag to French content and topics.
      6. 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:

      1. Apply French language project settings by selecting French Language.
      2. Create a new folder at the top level called French.
      3. Create a copy in the French folder of all the files and folders.
      4. Create French indexes and glossaries.
      5. 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.)
      6. Overwrite French topic files, index files and glossary files with the translated copies.
      7. Create French tables of contents.
      8. Create a conditional build tag, such as FrenchContent.
      9. Apply the FrenchContent conditional build tag to French content and topics.
      10. 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

        • 1. Re: Localisation workflow using external translation application

          I use RoboHelp 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)



          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




          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</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><FileTyp eDocumentName>Robohelp-Dokument</FileTypeDocumentName><FileTypeDocumentsName>Robohelp-Doku mente</FileTypeDocumentsName><FileTypeName>Robohelp</FileTypeName></FileTypeInformation></ Setting></SettingsGroup></SettingsBundle>

          • 2. Re: Localisation workflow using external translation application
            Tom Jenks Level 1

            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.

            • 3. Re: Localisation workflow using external translation application
              Peter Grainge Adobe Community Professional

              With the help of Gesand, I have now prepared an article on my site covering the subject of Translating RoboHelp projects.


              Click here.


              Hope it helps.


              See www.grainge.org for RoboHelp and Authoring information




              • 4. Re: Localisation workflow using external translation application
                Tom Jenks Level 1

                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?

                • 5. Re: Localisation workflow using external translation application
                  Peter Grainge Adobe Community Professional

                  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




                  • 6. Re: Localisation workflow using external translation application
                    Gesand Level 1

                    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)


                              - Subfolder_AAAA_V01_DEU       (Original, youz work in with RoboHelp)

                              - Subfolder_AAAA_V01_ENG..   or  .. _FRA    or ...._ITA  ect.    (Copy from your original)



                      - 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