Who’s up for a little bit of Passolo?

I can remember being asked in early 2007 to organise a report on the benefits of Passolo compared to other tools that also supported visual software localization.  In the same year, shortly after that, SDL purchased Pass Engineering and SDL Passolo was born.  At the time I didn’t know a lot about Trados Workbench or SDLX either as I had a very different role, and I only started getting interested in the technology we (and our competitors) use in 2008 just prior to the release of SDL Trados Studio 2009 the following year.  In all that time since then, until a few months ago, I’m ashamed to say I’ve never taken more than a cursory look at it.  It’s taken a course I’m doing at the moment at the University of Strasbourg to really bring home the value.  One of the modules on this course is “Localization of Graphical User Interfaces” and under some expert tutorage I’m plugging many of the gaps I have in my knowledge of this industry.  I’m even putting it to good use in my daily work!

Localizing apps!

Achim Herrmann (who is the most knowledgeable person I know with this product) didn’t have to ask twice about using Passolo when we discussed localizing SDL BaccS Lite into the same languages as Studio.  He looked at the sdlplugin and idenfified two dll files that contained all the localizable strings.  The beauty of Passolo is that we can then create a localization project where we can not only see the strings that need to be translated but we can see the user interface of the software itself as we’re doing it which gives us the perfect context to avoid rework later on.  For example, you can see the UI of BaccS Lite in the top of the image below with the extracted strings for translation underneath it:

Not only can we see the context visually, the translation is written into the image so you can check it to ensure any special characters are displayed correctly, or the translation fits into the space available; and you can also resize the space for some components such as the tab label we see above.  To handle this in Studio on the basis of the dll files would be impossible.  We would need to extract the strings and put them into something Studio would be able to handle which is often excel, or a text file containing the keyID and the translatable strings themselves.  But then we lose the visual context and we also lose one of the biggest benefits of using Passolo in the first place which is the ID based matching.

When you translate a project using Passolo, and it’s set up correctly, the translation units are stored against the ID.  This means that when you get updated source strings you don’t need to run them against a Translation Memory where there is always the possibility that a 100% match is not the correct 100% match in this context.  Instead they are matched against the string ID and this ensures beyond all doubt that the previously translated strings are the correct ones.

So this idea of being able to open files that Studio can’t work with is interesting and it brings me onto a more common problem I see people dealing with just about every week.  Multilingual Excel files!

Multilingual Excel

It’s common practice, particularly in the gaming industry, for strings to be provided in Excel with multiple columns used for each language.  I saw one yesterday in the SDL Community with 28 target languages all inside one Excel worksheet.  You can handle these in Studio of course but only with the use of the monolingual or bilingual Excel filetypes.  This means a lot of seperate projects and a lot of copy/paste or VBA work afterwards to put the translations back into one spreadsheet for your client.

Passolo doesn’t have this problem as it has the ability to handle Multilingual Excel files using its Excel Parser which comes with the ODBC database add-in.  “But how does that help me as I want to be able to translate these files using Studio?” I hear you ask… well Passolo also has the ability to export files as SDLXLIFF.  And since there is no visual context with an Excel file we have the perfect scenario… strings prepared for translation in Passolo with ID based matching (as long as the IDs are also in the Excel file), and the translation carried out in the more productive translation environment of Trados Studio.  Let’s take this file as an example:

I can add this to Passolo and set up the project using these options for the source file:

In my simple example the sheetname is the default one in Excel, the translatable text starts at row #2, the ID values are in column A and the English source text is in column B.  Once this is complete I need to tell Passolo where the target languages need to be written.

I have to do this for each target language which is a bit of a nuisance if I have a lot of languages and receive files with slightly different formats each time.  But if I get files in the same format then it’s no problem as I can save the parser settings and reuse them again.

Once that’s done I can generate my string lists so it looks like this:… French as an example where you can see I have extracted the source and the ID so they are linked together:

Now I export to SDLXLIFF and I can send the files out for translation with Trados Studio:

Now comes the really cool part… several cool parts in fact!!  I now have five SDLXLIFF files which you’d think I would not be able to add to a single project in Studio since they are all different language pairs.  But you can… I simply drop them into a new project with the appropriate language pairs and this will create a single multilingual project with the correct number of files per language.  So here we can see a single file with the FR extension in the French language folder:

You can also see the other languages in the Files list.  Normally if you add five source files to a project in Studio you would see five source files in each language folder, but in this case Studio identifies the language codes from the SDLXLIFF and correctly sets up the project.

Two things to note in the Studio screenshot below:

  1. you will see a warning that the file was created without using a filetype definition.  This is because the SDLXLIFF was created by Passolo and not Studio.  So there is no way for Studio to get the SDLXLIFF back to the original Excel, you need Passolo to be able to do this.
  2. the ID is respresented in the Document Structure column, so it may provide some useful information for the translator if a little more context is required.  I think a preview capability here would be nice so you had the IDs displayed all the time, and perhaps any other contextual information that can be used when setting up the project in Passolo… but that would be an enhancement for the future perhaps, or maybe an app.

Once the files have been translated they can be imported back into Passolo using the “Import” feature like this:

Passolo will update all the strings accordingly for each language in your project:

Now you just need to generate the target file with “All strings” and the target file is a single Excel file with all the languages, fully translated, and correctly inserted into the columns:

So no copy/paste operations, everything is rebuilt in one go.  For these type of multilingual excel files Passolo certainly saves a lot of administrative time, reduces the potential errors in manually reconstructing the file and gives you the ability to use ID based matching.  A very nice tool and with a lot more features and functions I really like and would love to have in Trados Studio too!