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] | [List Home]

Subject: RE: [xliff] 1.2 to 2.0 Gaps and Proposals

Thanks Yves and David for the valuable feedback. See our comments inline below prefixed with [Microsoft]. As David suggested on another thread, we will add these soon to the wiki.


From: xliff@lists.oasis-open.org [mailto:xliff@lists.oasis-open.org] On Behalf Of Dr. David Filip
Sent: Thursday, November 15, 2012 5:24 PM
To: Yves Savourel
Cc: xliff@lists.oasis-open.org
Subject: Re: [xliff] 1.2 to 2.0 Gaps and Proposals


Yves, Ryan et. al.


Commenting inline..



On Thu, Nov 15, 2012 at 8:23 PM, Yves Savourel <ysavourel@enlaso.com> wrote:

Hi Ryan, all,

> Proposal 1: Add an optional build attribute to 2.0 <file> element in core.

> ..
> <file id=”1” original=”mainUI.resx” build="2011-11-23-133615307_windc.win8.beta.b01">

I don't see anything wrong with this.


> Proposal 2: Be able to specify optional custom values for match type
> attribute in the <mtc:matches> module.
> Content providers and Localization Suppliers base their cost and billing
> models on match similarity and match types. Localization suppliers charge
> us differently for ICE Matches, Exact Matches, and Fuzzy Matches, and we
> might even want to get more granular than that as our cost and billing models
> evolve with the business.
> In 2.0, the match type doesn’t support the values exact-match and fuzzy-match,
> which were defined in the state-qualifier attribute in 1.2. Instead of supporting
> these two, or any others that may not have migrated from 1.2 to 2.0,
> as a separate attribute, the request is, that like the discussion on state
> and sub-state in the Face-to-Face in Seattle, we add a sub-type to match type.
> This will allow us to add extra business logic to types, such as "tm" or "mt",
> which are already defined in the spec.
> <match id=”1” similarity=”100.0” type=”tm/xlf:exact”>
> <match id=”1” similarity=”75.0” type=”tm/xlf:fuzzy”>
> <match id=”1” similarity=”99.0” type=”tm/custom:near-exact”>

I understand the need for the information, but to me, it seems the similarity give you whether a match is exact or not.

The example however, shows (I think) that you are thinking about categories that could be mapped differently to the similarity depending on projects. For example in one project a near-match corresponds to one range and in another to a different range, and you want to simply map that info to something common across your process, without having to carry the ranges around. If that's the case I wonder if XLIFF should define any default like xlf:exact, etc.

I believe there is value in decoupling the "percentage" from the "business" type of the match. The number means nothing unless we opt to prescribe a specific variety of (modified) Levenshtein, and I i guess we should not open this particular can of worms..


So I wouldn't see a problem with a sub-type there.

A side comment on the match type: especially, if we allow sub-type, I'm still not sure about the values currently listed.


[Microsoft] we definitely advocate decoupling the “percentage” from the “business” type of match as David puts it. And we should not prescribe meaning to the percentage, either. Costing models built on top of these values will necessarily change from one provider/supplier to the next and as Yves states, possibly from one project to the next. We could very easily have the following (and we do in much of our recycled content):

  <match id=”1” similarity=”100.0” type=”tm/xlf:exact”>
  <match id=”1” similarity=”100.0” type=”ice”>

In the first case, we’ve recycled a candidate which is 100% match, but came from a segment whose state isn’t signed off or final yet, whereas the ice match, in our case, has the requirement of being 100% and signed off or final.

> Proposal 3: Add an optional Reference Language to core.
> This is a crucial feature for Microsoft and other large companies that localize
> minority languages. For example, it is typical that when we localize from
> English into Quechua, localizers are more efficient and provide much higher
> quality translation, when along with English source, we provide them with
> Spanish target. In 1.2, Reference Languages could be defined in
> an <alt-trans> element:

I see the use case and I've seen other cases like this, with Chinese (simplified/Traditional).

Could that be part of the match module?
Possibly with a new attribute (e.g. reference='yes|no' defaulting to no)

Adding something along with <source>/<target> is bound to cause additional PR issues. If it's part of the Match module, it just uses whatever the module PRs are.


I agree with Yves's reasons to have this within the match module, which is anyway the alt-trans successor. I guess it does not fulfill the core criteria


[Microsoft] Adding this to the match module would be fine as long as the proper explanatory text and processing instructions make it clear what this data should be used for as opposed to recycling.

> Proposal 4: Add an optional name attribute on <notes> in core
> and <mds:metadata> module.
> We believe it will be typical for content providers to want to

> ...

> <notes name="comments">
>  <note id=“comment">This string cannot be longer than 100 characters</note>
>  <note id=“user">Developer@microsoft.com</note>
>  <note id=“date">10/21/2012 5:28:13 PM</note>
> </notes>

Sounds reasonable. We'll have to allow several <notes> and <m:metadadat> (I think (but I may be wrong) only one is allowed)) on the extension point.

The example makes me wonder about the long term life of XLIFF though: likely this type of info (author, timestamp) will be needed by other. Maybe a better way to address it would be to add attributes to the note and meta that carry the author and time stamp?
That would obviously work only if those two info are the only example you have in mind.


I agree with Yves that a couple of standard attributes should be added to increase interoperability, still I believe that note should be fully extendable, as it is part of the general annotation mechanism and should be able to carry attributes from other namespaces.


[Microsoft] Capturing an author and timestamp on a comment is specific to our needs and thus that example. However, we do see value in being able to apply an author and timestamp on potentially any piece of data. So a module (as Yves suggests below) that can exists at the same extension points as metadata (and including metadata) might lend itself better to that.


> Proposal 5: Add optional change tracking attributes to <segment>.

> ...

> <segment id=”1” modifiedBy=”translator@loc.com
> modifiedDate=”10/21/2012 5:28:13 PM”>
>    <source>hello world</source>
>    <target>hola món</target>
> </segment>

Here again I'm wondering if a "change track" module may be better?
You could use it not just on segments but other elements: notes.
The issue then would be how this gets updated if it's not a core component?
Actually if it's a core attribute, does it means it's not optional?
I'm not sure there is a way, even with a PR, to guarantee these data will be up-to-date.
But maybe that's ok?


Optional attributes in core are tricky, IMHO It means you do not need to introduce it yourself, if you do not feel so.. But if present it would need to be processed by agents who modify the segment. If it is thinkable that change agents do not update it, it feels more like a module...


[Microsoft] Since we are heading down the same path to MUST preserve modules as well, if we introduce a “change track” module, then user agents would need to preserve it if present, but as for any other processing requirements, such as updating it, that could be specified as part of the module’s processing requirements. For example: The module MUST be preserved and SHOULD be updated by user agents.


To unsubscribe, e-mail: xliff-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: xliff-help@lists.oasis-open.org


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