CAT Tools

The origin of Chad (if you’re British) or Kilroy (if you’re American) seems largely supposition.  The most likely story I could find, or rather the one I like the most, is that it was created by the late cartoonist George Edward Chatterton ‘Chat’ in 1937 to advertise dance events at a local RAF (Royal Air Force) base.  After that Chad is remembered for bringing attention to any shortages, or shortcomings, in wartime Britain with messages like Wot! No eggs!!, and Wot! No fags!!.  It’s not used a lot these days, but for those of us aware of the symbolism it’s probably a fitting exclamation when you can’t save your target file after completing a translation in Trados Studio!  At least that would be the polite exclamation since this is one of the most frustrating scenarios you may come across!

At the start of this article I fully intended this to be a simple description of the problems around saving the target file, but like so many things I write it hasn’t turned out that way!  But I found it a useful exercise so I hope you will too.  So, let’s start simple despite that introduction because the reasons for this problem usually boil down to one or more of these three things:

  1. Not preparing the project so it’s suitable for sharing
  2. Corruption of a project file
  3. A problem with the source file or the Studio filetype

Not Preparing the Project so it’s Suitable for Sharing

I’m only going to address the most common issues that relate to how the project has been prepared.  This usually comes down to one or more of these things:

  1. not embedding the source file into the SDLXLIFF when it’s prepared
  2. not having the same filetype that was used to create the SDLXLIFF when it’s prepared

These two things can be explained further, so if you’re still interested in more detail keep reading!

1. not embedding the source file into the SDLXLIFF when it’s prepared

This could be something you are not even aware of, but by default Studio will try to embed the source file into the SDLXLIFF itself whenever you create a project.  It’s controlled with this option in your Filetype options for SDLXLIFF:

As long as the source file is no larger than 20Mb it will be automatically embedded.  If the source file is larger than this, or this setting was changed to reduce the size of the files being sent out, then the source file will not be embedded. The effect this has on the SDLXLIFF is exactly the same whether you create a full project in Studio or if you just use the “translate single file” approach.  In case you are under the illusion that you don’t work with projects note that the “translate single file” approach still creates a project… it has less capability compared to a “standard Studio project” but it’s still a project.  I’ve written various articles on this topic in the past if you want to delve into this topic more.  But I don’t wish to digress… so the main difference where the SDLXLIFF includes the source file because it’s been embedded is that you can see it within the internal-file element as an encoded text.  Open an SDLXLIFF with a text editor and you’ll see what I mean.  This one is based on a small XML file I prepared with the default settings shown above:

The SDLXLIFF for the same file prepared by setting the Maximum embedded file size to zero is shown below, and it displays references to the source file in the external-file element as opposed to the actual file itself:

There are a few more small differences but the main point I wanted to demonstrate is this concept of the source file actually being inside the SDLXLIFF as opposed to just being referred to in the second example above.  Why is this important?  It’s important because if the SDLXLIFF files are shared on their own and the source file has not been embedded into the file then you will see something like this when you open the SDLXLIFF in Studio on another computer:

This message will appear whether you received these files as part of a project package or as single SDLXLIFF files.  It’s purely a question asking you if you would like to go and find the file that has been referenced in the external-file element.  If you also have the original source file then you can say “Yes” and that might” (I’ll come back to this point) allow you to save the target file from your project.  If you say “No” then you are going to be seeing these sorts of things in Studio when you get around to saving the target:

Note that you have two messages in the QA window now, one relating to the lack of a dependency file when you initially opened the file and the second relating to an inability to save the target file when you tried it because of the first error.  Hopefully this is clear by now that all these errors are to be expected because the project has not been created in a way that would allow Studio to work correctly, and you have not helped because you didn’t have the original source file available when needed.  These are not bugs at all because in this scenario you are dealing with an incomplete Studio project.  It’s unfortunate that the error message looks like something that is a problem with Studio because in this scenario a less emotive experience could be enjoyed if the messages were more explanatory and didn’t include the visual stimulations they do!

I’d like to say that always using a Project Package to share work would provide a resolution to this situation of the source file not being embedded in the SDLXLIFF files, but it won’t.  The source files are not included with the project package at all, even if the files are not embedded.  The only way to address this when using project packages is to either add the original source files as reference files, or send them separately.  I think there should be an option to include them when the project package is being created, particularly as this can also affect the ability to preview the files even if you don’t need to save the target… but then preview is another story!


As always there are some exceptions around the embedding of files.  If the source files are text files (TXT) or PO files for example, then they are never embedded.  So, for these formats you won’t find the reference element referring to the source file at all, and for the most part you shouldn’t have problems saving target files.  However, the next section could influence that if the filetype that was used to prepare the file in the first place is not available.

2. not having the same filetype that was used to create the SDLXLIFF when it’s prepared

In the previous section I said “that might” allow you to save the target file from your project.”.  The reason I said this is that if the files were prepared using the out of the box filetypes for Studio then you should be able to successfully save the target file.  But if they were prepared using a custom filetype, either by using the filetype features in Studio for this, or through the use of a plugin created using the API, then you still won’t be able to save the target unless you also have this filetype available to you in your project settings.  You will get a message something like this… which is at least a little less alarming than the message about the dependency files in the previous section:

This one can normally be resolved by using project packages because the custom filetype should be included in the project and therefore available for use.  However, this won’t work if the filetype is a custom plugin that you might find on the SDL AppStore for example, or if the filetype is not available at all in the version of Studio used to open the package.  For example, one of my test projects uses the following out of the box filetypes in Studio 2019:

If I create a project package and send this to a user of Studio 2014 then they will see something like this:

Note that the Excel file and the Word file are unidentified in Studio 2014.  This doesn’t mean I can’t translate the files and create a return package because I can.  But it does mean that I won’t be able to save the target file, or preview the files where it would be possible with an older version.  The same problem works the other way… if I create a project in Studio 2014 using filetypes that have been deprecated in Studio 2019 then I will have a similar situation.  In both scenarios 2014 -> 2019 and vice versa, I’ll get the information message telling me Studio can’t save the target file and why.

The path to project success

I wrote the title to this section right at the beginning with an idea in my head to create a flowchart, or something like that, which would show you the best way to work and always achieve success.  But as I worked through all the different scenarios, and I’m pretty sure there will be others I missed, it’s clear that the only way to ensure you will avoid this all of the time depends on understanding the variables in your translation process.

  • Is everyone using the same version of Studio?
  • Are you working with custom filetypes?
  • Were your custom filetypes created using the API or using the UI in Studio (custom XML or regex-based text files for example)?
  • Do you have a Professional licence (to be able to create a Project Package) or a Freelance licence (only work with the SDLXLIFF files)?
  • Do you need the translator (or person you are collaborating with) to be able to create a target file or will you do this yourself?

Once you have identified the variables you will know the following:

  • what instructions to provide the recipient of your files
  • how to prepare the project in the first place
  • whether you need to provide additional resources in a project package
  • what to expect from the recipient of your files

In fact, not too many things.  However, you do need to understand them if you want to have a successful workflow and I have a suspicion that the out of the box courses won’t prepare you for this.  It’s more likely to be an on the job experience!

Corruption of a Project File

The second one doesn’t happen very often and I’m not really sure how this happens.  When referring to a bilingual file in the project (an SDLXLIFF) I could hazard a guess that one reason is it’s related to security software (anti-virus checks, clean-up tools etc.) running while Studio has a file open for translation, or perhaps something happened to the file when transferring from one machine to another, maybe even between a MAC and a Windows system… or with a dodgy connection between drives… or even something in an email transfer.  But I’m guessing.  These sorts of problems are not anything we can address easily (other than to recommend you zip up project files before sharing) as they occur outside of Studio and are related to factors beyond our control.

Another reason could be a bug within Studio affecting you in two ways.  The first is that a project where the file could be successfully saved at the start suddenly fails at some point during the project.  I’m not sure what causes this either… it might be due to problems associated with security software again that corrupts a bilingual file (an SDLXLIFF), or perhaps the SDLPROJ file which contains metadata helping to manage the project resources… but at least this one is easily resolved.  You can prepare the project again from the original source file (if you have it) and pretranslate the project from your TM (or use PerfectMatch… although I’ve found PerfectMatch can sometimes reproduce the same issue perfectly!!), then save the target file.

A problem with the source file or the Studio filetype

If you can’t save the target file immediately after creating the project, which is the second way a bug within Studio can affect you, then the problem is either with the source file or the Studio filetype and in these cases you should not try to complete the translation until you have resolved this problem as it may be wasted effort.  If it’s an Office file, Word, Excel or PowerPoint, then you can try using a different version of the filetype as there are several to choose from and create the project again!  If the problem is with the source file then you can try and identify the problematic part of the file using the tried “divide and conquer” methodology which is a very quick way to find parts of the document you may be able to remove before translation.  This and a few more interesting methods for resolving filetype problems are detailed in this old, but very useful KB article.

Needless to say, if you have problems with the source filetype or the Studio filetypes you should report them through support or the SDL Community… this article refers.

There are three things that have stood out for me this year.  The first is how much support SDL have provided to their users to make sure they are able to work successfully with their investment.  The second is how little many users are aware of this, and the third is just how many users have used Trados for a decade or more and were not aware of what a support & maintenance contract can bring you.  This last one has been the biggest surprise to me as I’ve spoken to people who thought a support contract was more than the cost of the software; to people who thought it was support only and to people who didn’t know SDL provided any support at all!  So, one of my resolutions for 2019 will be to try and make sure that all our users are more aware of how to get help, even if they don’t want to purchase a support & maintenance contract.  So, I’ll cover these things:

  • Support & Maintenance Contract
  • SDL Community
  • The Customer Experience Team
  • The SDL AppStore Team
  • The SDL Marketing Team
  • Training
  • Customer Experience Program

Read More

If there’s one thing I firmly believe it’s that I think all translators should learn a little bit of regex, or regular expressions.  In fact it probably wouldn’t hurt anyone to know how to use them a little bit simply because they are so useful for manipulating text, especially when it comes to working in and out of spreadsheets.  When I started to think about this article today I was thinking about how to slice up text so that it’s better segmented for translation; and I was thinking about what data to use.  I settled on lists of data as this sort of question comes up quite often in the community and to create some sample files I used this wikipedia page.  It’s a good list, so I copied it as plain text straight into Excel which got me a column of fruit formatted exactly as I would like to see it if I was translating it, one fruit per segment.  But as I wanted to replcate the sort of lists we see translators getting from their customers I copied the list into a text editor and used regex to replace the hard returns (\r\n) with a comma and a space, then broke the file up alphabetically… took me around a minute to do.  I’m pretty sure that kind of simple manipulation would be useful for many people in all walks of life.  But I digress….

Read More

When I write these articles I always start with thinking about the image at the top.  I do this for two reasons, the first is because it usually helps me think of some bizarre introduction (like this!) that helps me start writing, and the second is because every now and again I like to play around with Gimp which is the free image software I occassionally use.  It’s always nice to spend a little time doing something frivolous because it’s good thinking time without being distracted by the job!  I don’t really know how to use this software at all, but it’s fun seeing what turns out… and I confess I often use a combination of powerpoint and Gimp simply because some things are just easier in powerpoint!  Eventually I might actually learn how to use it properly… I’ll keep practicing anyway.

Read More

There are people who believe that the original intention of the internet during its inception in the 1980’s was to put the power of information in the hands of its users.  In fact the last three or four decades has seen the return of the wild wild west with the internet, e-mail, mobile technology, social media, online shopping, big data, cloud computing and now the internet of things.  All of this has been accessible to anyone, and anyone with the ability to create a website can give the impression they are far more trustworthy and capable than they actually are.  The way the growth of the internet has taken place has meant that only large organisations are able, in theory, to provide “security” and “trust” and we rely on them to validate our financial transactions, willingly handing over our personal data so that we no longer have any control over what happens with it.  Since the global social media phenomenon we even hand this data over to less secure environments sharing our lives with the world and in the process becoming less and less oblivious to the implications of what we share.  Certainly a far cry from the original idea of a secure and private network for the users, and today individuals have next to zero control over their personal data at all.

Read More

Every time a new release of SDL Trados Studio is released there are usually a flurry of blogs and videos explaining what’s in them, some are really useful and full of details that will help a user decide whether the upgrade is for them or not, and others are written without any real understanding of what’s in the software or why the upgrade will help.  That’s really par for the course and always to be expected since everyone is looking for the things they would like to meet their own needs.  So for me, when I’m looking for independent reviews of anything, I find the more helpful reviews give me as much information as possible and I can make my own mind up based on the utility I’ll get from it, the fun in using it and the cost of upgrade.  I put a couple of what I would consider helpful reviews here as they both try to cover as many of the new features available as possible.  So if you are in the early stages of wondering at a high level what’s in it for you then you could do a lot worse than spending 10 or 20 minutes of your time to read/watch the contributions from Emma and Nora below.

Read More

In the last year or so many articles have been written about XLIFF 2.0 explaining what’s so great about it, so I’m not going to write another one of those.  I’m in awe of the knowledge and effort the technical standard committees display in delivering the comprehensive documentation they do, working hard to deliver a solution to meet the needs of as many groups as possible.  The very existence of a standard however does not mean it’s the panacea for every problem it may be loosely related to.  It’s against this background I was prompted to write about this topic after reading this article questionning whether some companies were preventing translators from improving their lives.  The article makes a number of claims which I think might be a little misguided in my opinion… in fact this is what it says:

XLIFF 2.0 is a “new” bilingual format for translation that attempts to do a handful important things for translators.

  • Improve the standard so that different translation tools makers, like SDL, don’t “need” to create their own proprietary versions that are not compatible with other tools
  • Creating true interoperability among tools, so translators can work in the tool of their choice, and end-customers can have flexibility about who they work with too
  • Allow businesses to embed more information in the files, like TM matches glossaries, or annotations, further enhancing interoperability

I say “new” because XLIFF 2.0 has been around for years now. Unfortunately, adoption of the XLIFF 2.0 standard has been slow, due to tools makers and other players deciding that interoperability is not in their interest. It’s one of those things where commerce gets in the way of sanity.

Read More

%d bloggers like this: