The SDLXLIFF Toolkit

#01The release of Studio 2014 will bring a number of new OpenExchange applications to the App Store.  One of these is already becoming well known based on the name alone… the SDLXLIFF Toolkit!  The name suggests this is a tool for working with an SDLXLIFF and being able to take it to pieces and interact with all of it’s components… and this is probably a good explanation of what it actually does.
So if you’ve ever wanted to be able to filter on fuzzy matches of 99% to help you find segments that may have a duplicate translation penalty… or if you wanted to be able to take a 500 file Project, copy source to target, set as translated and lock various segments based on their Document Structure Information … or you wanted to use regex to find dates in the source segments as they were not recognised by Studio and correct them using back references before sending the file for translation… or you receive a number of TTX or Bilingual Doc files and want to clear all the target segments so they are empty before you start… then these sort of tasks can be easily accomplished by the SDLXLIFF Toolkit.
It would probably be easier to list the things it can’t do with an SDLXLIFF… certainly the interface explains it well and shows how you can select various criteria before deciding whether you SliceIt!, ChangeIt! or Clear it!


In a nutshell the “Statuses” tab shown above allows you to carry out various functions based on the status of the segments…
This allows you to select segments from a single file, several files or a complete Project, and create new SDLXLIFF files containing only the results of your selections.
This allows you to select segments and change the “Translation Status”, lock or unlock them, or copy source to target for the selected segments.
This allows you to clear the translations for the selected segments
But that’s not all!  There are also two more tabs next to the “Statuses” tab.  A “Search” and a “Replace” tab.


In here you have the same SliceIt!ChangeIt! or Clear it! options at the bottom but you can decide what segments get used based on a natural search query, regular expressions or by searching in the tags:


The replace feature is possibly my favourite of all with this excellent application.  Here you can set up your search and replace patterns, again using a natural search query or by using regular expressions and then preview the result before you make the replacement so you can make sure you are not doing something you’ll later regret.  So in this example I took the same search pattern for a date in the format yyyy-mm-dd and replaced it with dd/mm/yyyy…
There are so many possibilities for this application that I could very nearly write a book on this alone!  Certainly I think it will be the Toolkit you won’t want to be without!
You can download this tool from here and use it if you have Studio 2014 installed…
The SDLXLIFF Toolkit

0 thoughts on “The SDLXLIFF Toolkit

    1. Hi Riccardo, the clue is in the name 😉 I guess it could be extended to include other variants… anything is possible… but I think that would be out of scope for our purposes. So no, it won’t be extended by us to support other variants of XLIFF.

      1. I obviously have training gaps in Studio fluency, but can the Freelance version of Studio do that? I can’t see anything like that in Batch Tasks in Studio 2014 Freelance.

  1. Thank you, Paul, for the post and letting me know, I appreciate it. If I use Clearit!, will it alter the status of the segments? Here is what I want to do:
    1. I have a segment with CM status.
    2. I want to clear it.
    3. I want to copy source to target then.
    4. As a result, I want to have a segment with source=target., but still with the CM status.
    Is it possible?

    1. Hello Roman, this is tricky as there is no change to Context Match in the Toolkit. But I don’t know why you want to do this really because as soon as you update your TM these segments will all be stored in your TM as if they were a Context Match anyway.
      I guess, if you wanted to have these with a different status then you could lock everything apart from the CM matches you need and then copy source to target. Then select the unlocked and change these to Signed off… maybe this would work?

  2. I have now come to appreciate the Toolkit. Using the search feature + regular expressions + Slice it. I can now carve out segments of specific length from a large SDLXLIFF file. Excellent if you want to do some work on the move with a netbook that has not enough computing power to run Studio, but can handle SDLXLIFF files using other CAT tools.

    1. Indeed… and after doing several roadshows in the last month I’ve come across many very interesting uses for this. Had one yesterday for example where the requirement was to lock nontranslatable content in Master Slide pages in Powerpoint. You can do this by selecting sdl:masterpage after generating the document structure content.

  3. I am unable to make this tool do anything more than lock and unlock everything and clear all segments. I need to sort a file by two specific document structure tags and no matter what I select, I wind up locking or unlocking all and that’s it. Is there a sort of manual somewhere with a bit more info on how to use this?

    1. There is a PDF inside the zip that explains the basic principles. Feel free to send me ( the sdlxliff you are using it with and an explanation of what you need to do and I’ll be happy to try and explain.

  4. Wow, fast reply! I’ll check the PDF first, meanwhile I did this the old fashioned way: squinting and scrolling.

  5. Whenever I want to use slice it, SDLXLIFFToolkit crashes. Today I wanted to export draft and untranslated for working on a netbook, after loading a project file, marking the statuses I was interested in, selecting “Merge” in the slice it section and clicking Slice it, but the program crashed. It crashed even when I loaded just a single file, and selected one status, and I also tried with Studio running, project open and closed, and Studio closed, no difference, no luck. In the end I ended up squinting and scrolling in a third party tool which cannot differentiate between between confirmed, locked and new segments, and was half hour late with delivery. Why doesn’t this work for me. Does SDL get any other complaints about it?

    1. We have seen some files that this fails on… and I have a new build I’m testing at the moment. You can try it if you email me and maybe it’ll resolve your issue too. I’d appreciate some more testing!

  6. I have just started to use Toolkit and really like it. What I like the best (with my limited knowledge with this app) is the change segment status feature. A client wants the files in return packages in sign-off mode, and I found using Toolkit to set all segments in sign-off mode in a project is the quickest way. Great app!

  7. I must be stupid. I have tried over and over again doing a really simple thing. Locking CM and 100 in an SDLXLIFF from WorldServer (mixed confirmed and not confirmed). I add the file, choose the categories (have tried all possible combinations). then Lock segment, then ChangeIt! Nothing happens, no matter which settings I choose. Could someone explain to me like I am a three-year old which checkboxes should be checked when locking CM and 100, please?

      1. OK, thanks, I am actually not sure exactly which file it was now. But I’ll see if I can find a good example, and send it.
        But, I think I might be onto something. Obviously you can’t select segments of different groups to manipulate at the same time (for example Not translated and CM, only one group at a time), but when it comes to the match percentage group, it even seems that only one of the options can be selected at a time, i.e. either PM, or CM, or a match percentage.
        I tried with another file, that only contained 100 matches. Nothing happened when PM, CM and 100 were selected at the same time. But first selecting PM > Changeit!, then CM > Changeit!, then =100 > Changeit! worked. The 100 matches were locked. Of course nothing happened to the file when locking PM and CM, since the file didn’t contain any such segments, but at least the 100 matches were locked in the last stage.
        It seems as if the file does not contain segments with the specified match percentage (in this case PM and CM), it won’t process the rest either (in this case 100 matches). Do you know if this behaviour is correct?
        The workaround is of course to lock separately as above, since you don’t know which percentages the files contain unless you open them (and you normally want to lock the segments that are not to be touched before preparing in Studio).
        Thanks for the blog!

        1. I think you’re correct. You do need to tackle these separately. We may look to improve this tool at some point, and maybe integrate it into Studio as a new view perhaps (still as an openexchange app), so when we do this we can also take enhancement requests from users like you who have put it through its paces. So far we have just fixed bugs, and it’s still working as originally created. So I’m sure there are things we can improve… I’d like to see more search and replace around tag content for example. We omitted this with the first release as it was causing too many problems and I ran out of the small budget allocated for the apps I did at the time… but we should come back to this going forward.

Leave a Reply