Wot! No target!!

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!

Exceptions

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.

0 thoughts on “Wot! No target!!

  1. Thank you Paul! It’s always so interesting to read your articles!. Unhappily I’ve faced several times this (generally last-minute) issue. In some cases with a set of files that I’ve exchanged with a colleague to edit, the bug-like issue appeared when the file changed the computer. So your explanation seems very logical (point 1). You explained it perfectly but what’s not clear to me, if I find this issue, can’t save as target (explanation: different versions of Studio (e.g. Studio 2015 and Studio 2017; the xliff is part of a project, and the project is not shared, just the xliff; the file is bigger than 20 MB as you mentioned), what do I do? (So far, I’ve opened the file as a translation memory, exported this new Translation Memory, made up a new project and ran the file using exclusively using that new TM for Perfect Match). Is there any other way?

    Another issue I have found several times is the “character-type” issue. I mean the original word included what seemed to be “just a dash!”, but that dash was the problem. I opened the file with Wordpad++ found and replaced the character with anything (e.g. ???), closed the file and opened again in Studio. It worked well. I replaced the “???” with the dash, in the clean final target Word file.

    1. Hi Alita, glad you enjoy the articles! If you have the XLIFF and no source file (which is what you are suggesting I think) then you won’t be able to save the target at all, so you would either have to ask your collaborator to save it, or ask them to send you the source file. I’m a bit confused though because you said you pre-translated the file from a TM you created and then saved the target? This seems to conflict with my first summary of your situation.
      I’m interested in the character issue though… but confused again. You said the original word, which I assumed was a Word file, but you opened with Wordpad++, which I assumed was Notepad++, and so am now confused as to how you managed to do that? Did you mean you replaced the dodgy character in the SDLXLIFF file using Notepad++?
      Sorry for not following you here!

      1. I think Alita was referring to a source word, not Word file, and yes, this could be fixed using Notepad++ or other text editor tools, I have fixed such issues like changing “&” to “&”.

  2. Dear Paul!

    Thanks a lot for these detailed explanations, helped me to understand what happened.

    But I have one related query:
    Is there any way you can think of, how a translator can change from sdlxliffs with embedded sourcefiles to sdlxliffs with sourcefiles not embedded but only linked _without_ the recreation of the Studio-package?

    The scenario is the following: I as PM created a Studio-project and package with sourcefiles embedded, but in the return-package I got from the linguist these are no longer embedded but only linked in into the sdlxliffs.
    And so I want to know, if the linguist did recreate the Studio-project, as in this case she might not have used the same project-settings I want to be used, but her own.
    She says she did not recreate the Studio-project, but I tried several scenarios and did not manage this to be changed in an already existing Studio-project.
    And so in other words, if there is no way to get this changed within an already existing Studio-project this then is the proof that she actually did re-create the project at her end.

    Thanks in advance and Best regards,
    Hannes

    1. Hello Hannes, I think that first of all you should open the SDLXLIFF files you sent out, and the ones you got back, in a text editor. Check them both and see whether or not they contain the encoded source file. Also, what makes you think the source files are no longer embedded?
      But to answer your question… no, it’s not possible to do this without working outside of Studio.

  3. Dear Paul!

    Well, because I do get this notification about the missing source file :), see below:

    I already did check the sdlxliffs in a texteditor, the ones I sent out contain and then many lines of unreadable chars, which I think are the embedded file in hex-code or something like that, whereas the files I got back do contain <external-file href="file:// followed by a local path starting with C:Users at the same location in the sdlxliff.
    And in this local path specified the source-files are of course _not_ to be found on my workstation here, which then leads to this error-message.

    So the linguist must have re-created the Studio-project with different settings at her end, thanks for this confirmation.

    Best regards,
    Hannes

Leave a Reply