Application to handle TMX files from other products

Hi,

I came across this another post in ProZ discussing the ability, or lack of it, for Studio to handle TMX files created elsewhere.  I know this could amount to anything, but maybe there is a way to allow some customisation to correct a TMX so it could be successfully converted to an SDLTM or to a TMX that Studio would import?  This was the post and is just an idea of the sort of things users find when taking TMX files from others.  Another issue I sawe today was field values that are not always brought in correctly unless the TMX came from Studio in the first place.  So a bit of an open question... but maybe there is a clever way around this?

The TMX files pass lisa.org's TMX validator and work as intended in Trados 7 and Trados 8. I'm pretty sure they are kosher, although there might be some subtle problem with my TMX implementation. Studio doesn't complain about the files and imports the text correctly, but it applies the userid of the Studio user and the current system time instead of the userid and creation time specified in the TMX TUs, and it completely ignores the "Note" text field. At this point, I think this is a Studio bug.

After a horribly lengthy troubleshooting session, I found a workaround: if I change the o-tmf (original format) property to what Workbench uses in its TMX exports (TW4Win 2.0 Format), the import works as intended. This is pretty inelegant and it could potentially cause some minor problems down the line. The TMX spec that I have found doesn't say much about what o-tmx one should use, I assume it's a free-for-all... Anyone have a suggestion aside from spoofing the Workbench string? I'm assuming that many people will use LF aligner with Studio (note: until I roll out an update, current users can either import the TMXes to Workbench, export and then import to Studio, or just edit the o-tmf string).

Here's a TMX sample as produced by LF Aligner:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
<header
creationtool="LF TMX maker"
creationtoolversion="2.01"
datatype="unknown"
segtype="sentence"
adminlang="EN-GB"
srclang="EN-GB"
o-tmf="aligned"
>
</header>
<body>
<tu creationdate="20101114T180539Z" creationid="LF TMX maker 2.01"><prop type="Txt::Note">this is a note added to the TU</prop><tuv xml:lang="EN-GB"><seg>Text</seg></tuv><tuv xml:lang="ES-ES"><seg>Texto</seg></tuv></tu>

</body>
</tmx>

Regards

Paul

Paul Filkin | RWS Group

________________________
Design your own training!

You've done the courses and still need to go a little further, or still not clear? 
Tell us what you need in our Community Solutions Hub

  • Hi Paul,

    Unknown said:
    <prop type="Txt::Note">this is a note added to the TU</prop>

    Not importing the Note above is fine.  Studio does not necessarily have to import <prop> elements from other software although it would be nice.

    Since according to the TMX...

      <prop>

    Property - The <prop> element is used to define the various properties of the parent element (or of the document when <prop> is used in the <header> element). These properties are not defined by the standard.

    As your tool is fully responsible for handling the content of a <prop> element you can use it in any way you wish. For example the content can be a list of instructions your tool can parse, not only a simple text.

    <prop type="user-defined">name:domain value:Computer science</prop> <prop type="x-domain">Computer science</prop> 

    It is the responsibility of each tool provider to publish the types and values of the properties it uses. If the tool exports unpublished properties types, their values should begin with the prefix "x-".

    Unknown said:
    creationid="LF TMX maker 2.01"

    Not importing properly the Creation User is wrong.  According to TMX...

    creationid

    Creation identifier - Specifies the identifier of the user who created the element.

    Value description:

    Text.

    Default value:

    Undefined.

    Used in:

    <header>, <tu>, <tuv>.

    Actually it is also wrong not reading the proper creation date - time.  In addition  the wrong creation user and date-time automatically pass to the Last Modified and Last Used fields..

    To create a Studio flavor of a TMX file from another software's TMX the relevant 3rd party <prop> elements will need to be matched to the Studio non published (x-) properties, so that most of the information in the 3rd party TMX will be transferred to Studio.

    I think that if a table with prop elements from 3rd part TMXs is collected and is matched to the prop elements of Studio an simple app can be created to do the conversion.

    Regards,

    Costas