OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xliff message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: [xliff] Phase name attribute use


Hi John and All,

here is my reaction on the phase-name attribute. I agree that the phase is
overloaded in the XLIFF file and I partialy agree with John's proposal, that
the phase-name attribute could be used in the <trans-unit> element, but it
still needs some re-formation of the structure inside the <trans-unit>, due
to redundancy of data and inconsistency. We have to distinguish more
precisely all cases that can occur. 

First case, the history of the translation is now stored in <alt-trans>
element and doesn't have any <source> defined, because this is taken from
the <trans-unit>'s original source. Let's consider we will use just one
<alt-trans> element for one phase in this case, so there will be allways one
<target> element in one <alt-trans> for one phase:

    <trans-unit id="1" phase-name="5final">

        <source>Cancel Report</source>
        <target>Annuler le Rapport</target>

        <alt-trans reason="Approved" phase-name="4review">
            <target>Annuler le Rapport</target>
        </alt-trans>
        <alt-trans reason="Rejected-Inaccurate" phase-name="3trans">
            <target>Annuler le rapport</target>
        </alt-trans>

    </trans-unit>

Second case is the origin of the translation (pre-translation), where the
content has its <source> defined in the <alt-trans>, because pre-translated
source may be different from the original source. Match-quality is defined
as the unit of similarity between the original source (in <trans-unit>) and
pre-translated source in the <alt-trans> element. Note, that there can be
more than one <target> element with several forms of translation in one
<alt-trans> for one match-quality:

    <trans-unit id="1" phase-name="5final">

        <source>Cancel Report</source>
        <target>Annuler le Rapport</target>

        <alt-trans match-quality="50%" reason="TM-Suggestion"
phase-name="2pretrans">
            <source>Cancel All</source>
            <target>Annuler tout</target>
            <target>Annuler Tout</target>
        </alt-trans>
        <alt-trans match-quality="100%" reason="TM-Suggestion"
phase-name="2pretrans">
            <source>Cancel Report</source>
            <target>Annuler le rapport</target>
        </alt-trans>

    </trans-unit>

As you could note, I haven't used any phase-name attribute in the <target>
element. When we consider the rules I mentioned (one <alt-trans> with one
<target> for one phase in history AND one <alt-trans> for one match-quality
for one phase for origin of the translation), we can simply remove the
phase-name attribute from the <target> element -- all information about the
phase is strored in the level above the <target>.


I can see the problem in first case (history): in the file structure
definition, <alt-trans> may have more than one occurences of the <target>,
so we have to either define a strong rules for using <alt-trans> OR add a
new element, which will distinguish the history from the translation origin
(e.g. add the <prev-trans> element at this place) and will have defined just
one <target> element inside.

Overall example:

    <trans-unit id="1" phase-name="5final">

        <source>Cancel Report</source>
        <target>Annuler le Rapport</target>

        <!-- TRANSLATION HISTORY: -->
        <prev-trans reason="Approved" phase-name="4review">
            <target>Annuler le Rapport</target>
        </prev-trans>
        <prev-trans reason="Rejected-Inaccurate" phase-name="3trans">
            <target>Annuler le rapport</target>
        </prev-trans>

        <!-- ORIGIN OF (PRE)TRANSLATION: -->
        <alt-trans match-quality="50%" reason="TM-Suggestion"
phase-name="2pretrans">
            <source>Cancel All</source>
            <target>Annuler tout</target>
            <target>Annuler Tout</target>
        </alt-trans>
        <alt-trans match-quality="100%" reason="TM-Suggestion"
phase-name="2pretrans">
            <source>Cancel Report</source>
            <target>Annuler le rapport</target>
        </alt-trans>

    </trans-unit>

Note that there is the same content in the history (phase '4review') and in
<trans-unit> (phase '5final'). In John's proposal, there was a phase-name
used in both <trans-unit> and its <target>, which is (as I think) a little
bit confusing and lead to inconsistency. I propose that when the string
between two phases remains the same (unchanged translation), it should be
add to the history with the same content in the <target> and with
appropriate phase-name in <alt-trans> (<prev-trans>). Yes, it is a
redundancy, but the history tracking is kept in the file in a consistent
way.

I'm looking forward to your comments and to future cooperation that will
continue after a little break.

Cheers,
Milan





-----Original Message-----
From: John Reid [mailto:jreid@novell.com]
Sent: Monday, December 09, 2002 6:53 AM
To: xliff@lists.oasis-open.org
Subject: RE: [xliff] Phase name attribute use


Hello Mirek, Mark, and All,

This discussion brings out some problems with the phase information as it is
currently defined. Phase is a bit overloaded. First, phase is used for
versioning the file and the parts of the file. This is the case in
<trans-unit> and <bin-unit> where the phase can mark which have gone through
a proofreading and which have not. Second, phase is used for specifying the
origin of translations. This is the case for the phase-name in the <target>
and <bin-target>. Thus, the phase of <trans-unit> may be different than
phase of <target>. In addition, each <trans-unit> may have multiple
<alt-trans> (>=0). An <alt-trans> may have a <source>, which is useful in
providing fuzzy matches. 

For example, in the following, the <trans-unit> has had a final review, the
<target> of the <trans-unit> was entered during the translation phase, and
the <alt-trans> came into the file during pretranslation.

<trans-unit id="1" phase-name="5final">
  <source>Cancel Report</source>
  <target phase-name="3trans">Annuler le rapport</target>
  <alt-trans match-quality="50%">
    <source>Cancel All</target>
    <target phase-name="2pretrans">Annuler tout</target>
  </alt-trans>
</trans-unit>

In the above example, though, the phase associated with the fuzzy match is
stored all the way down in the target rather than the more sensible position
of in the <alt-trans>. One could easily imagine the scenario where another
<alt-trans> is used to store translator entered translation that is
acceptable but changed upon review, possibly because of context information;
this information may be required for historical reasons or so the difference
can be arbitrated by a final review. (I'll use case as the differentiator
since my language skills aren't sufficient to create a better example.
Please bear with me.)

<trans-unit id="1" phase-name="5final">
  <source>Cancel Report</source>
  <target phase-name="4review">Annuler le Rapport</target>
  <alt-trans>
    <target phase-name="3trans">Annuler le rapport</target>
  </alt-trans>
  <alt-trans match-quality="50%">
    <source>Cancel All</target>
    <target phase-name="2pretrans">Annuler tout</target>
  </alt-trans>
</trans-unit>

Here, as in the first example, there is no information in the <alt-trans> as
to when it was entered in the file. The assumption is made that it entered
at the time of the review since that is the phase of the <trans-unit>'s
target. 

Now, if we remove the occurence of phase-name as proposed, we no longer know
if the <trans-unit> has been reviewed or not. It can only be assumed,
erroneously, to be at the phase of the last phase entered in the
<trans-unit>, phase-name="4review". Since this information may be useful but
is not required, I disagree with removing the phase-name from the
<trans-unit> and <bin-unit>. This information becomes even more important as
we split and recombine XLIFF files during their processing.

<trans-unit id="1">
  <source>Cancel Report</source>
  <target phase-name="4review">Annuler le Rapport</target>
  <alt-trans>
    <target phase-name="3trans">Annuler le rapport</target>
  </alt-trans>
  <alt-trans match-quality="50%">
    <source>Cancel All</target>
    <target phase-name="2pretrans">Annuler tout</target>
  </alt-trans>
</trans-unit>

Adding in the reason attribute, if I understand it correctly, we have the
following.

<trans-unit id="1" phase-name="5final">
  <source>Cancel Report</source>
  <target phase-name="4review">Annuler le Rapport</target>
  <alt-trans reason="Rejected-Inaccurate">
    <target phase-name="3trans">Annuler le rapport</target>
  </alt-trans>
  <alt-trans match-quality="50%" reason="TM-Suggestion">
    <source>Cancel All</target>
    <target phase-name="2pretrans">Annuler tout</target>
  </alt-trans>
</trans-unit>

Although this does answer the question of the reason for the <alt-trans>, it
still does not fix the problem of the deeply embedded phase-name. Also, if
the reasons aren't strongly typed somehow (read 'enumerated') that
information won't easily be interpretted. Thus we will have added more
unusable data.

I don't have a strong opinion one way or the other about the reason
attribute. It solves some problems but may introduce others, especially if
it is required. It still needs some more work.

I do think we should add the phase-name attribute to the alt-trans as an
optional attribute. Following along with Yves's original thoughts on this,
the phase-name could be placed at the <alt-trans> level for any <alt-trans>
that has a <source>. It would be placed in the target of any <alt-trans>
that does not have a <source>. 

<trans-unit id="1" phase-name="5final">
  <source>Cancel Report</source>
  <target phase-name="4review">Annuler le Rapport</target>
  <alt-trans reason="Rejected-Inaccurate">
    <target phase-name="3trans">Annuler le rapport</target>
  </alt-trans>
  <alt-trans match-quality="50%" reason="TM-Suggestion"
phase-name="2pretrans">
    <source>Cancel All</target>
    <target>Annuler tout</target>
  </alt-trans>
</trans-unit>

cheers,
john





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC