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:
- Not preparing the project so it’s suitable for sharing
- Corruption of a project file
- 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:
- not embedding the source file into the SDLXLIFF when it’s prepared
- 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.