[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xliff-comment] XLIFF vs. PO vs. Trolltech
Hello Oswald Buddenhagen, Thank you for your detailed note, and for giving us the opportunity to review the work Trolltech is embarking on. We will review your message, come to consensus in the TC, and provide feedback. Thank you for this opportunity, Bryan Schnabel Co-chair OASIS XLIFF Technical Committee -----Original Message----- From: Oswald Buddenhagen [mailto:oswald.buddenhagen@trolltech.de] Sent: Friday, May 16, 2008 10:05 AM To: xliff-comment Subject: [xliff-comment] XLIFF vs. PO vs. Trolltech Hello *, Trolltech is looking into implementing/improving XLIFF support in Qt's Linguist tool chain. Interoperability with PO files is an item, too. This is what I've come up with. Please sanity-check it, so we don't set a faulty de-facto standard in case we go for it. ;) - The PO representation guide says that everything should be put into one <file> element and PO references should be represented as <context context-type="sourcefile">. This is in accordance with the XLIFF spec (see "sourcefile" value doc). However, that means that if I create an .xlf file directly from sources I get a different representation than if I create a .po file and convert it to .xlf later. I find this inconsistency not justified, so I think I would opt for the "native" representation with multiple <file> elements. Only if the PO message has additional references to other files, sourcefile contexts would be used. - Gettext's new msgctxt keyword was brought up before. Incidentally, the <comment> element in Qt's own .ts files maps pretty well to it. There is no standardized mapping for .xlf yet, though. I would pick up a previously suggested approach and do it like that: <trans-unit> <source>foobar</source> <target>irgendwas</target> <context-group purpose="match information"> <context context-type="x-gettext-msgctxt" match-mandatory="yes">some context info</context> </context-group> </trans-unit> For plural forms, the context would be attached to the plural group. The exact value for purpose= is not clear to me - the values suggested seem to refer to TM only. I think I would simply skip the purpose ... - .ts files know a <context> element. I consider it stronger than msgctxt: it is not optional; every message is in a context. Therefore I would map it to nested groups: <group restype="x-trolltech-ts-context"> <context-group purpose="match information"> <context context-type="x-trolltech-ts-context" match-mandatory="yes">the context</context> </context-group> <trans-unit .../> </group> FWIW, the mapping to PO would be via a magic extracted comment: #. ts:context <the context> - As the repr. guide says, .po files do not encode the (target) language. Therefore I would add an X-Language: header to the initial msgstr. It would be implanted and extracted during conversion. When converting from an .xlf file which does not have a first message that seems to be a .po file header, a message would be generated and marked with X-Virgin-Header:; if this header is found on converting back, the message would be zapped. - Gettext's #| msgid (previous source in fuzzy translation) would be mapped to <alt-trans> elements as suggested on this list before: Each previous source is tacked onto a current source. If more previous sources than current sources exist (plural to singular "downgrade"), the source gets two alt-trans elements, the second one with an empty target marked with restype="x-dummy". - Gettext's #| msgctxt would get mapped just like msgctxt, only that the context-type would be x-gettext-previous-msgctxt. - Contrary to the guide, I would store obsolete messages, marking the <trans-unit> resp. the containing plural <group> with translate="no". I see no harm in doing this and it yields a more faithful conversion. The messages would go into a <file> with the imaginary original name Obsolete_PO_entries. - The guide does not specify how to map fuzzy plurals. I guess one should require approval of all <trans-unit>s in the <group> for non-fuzziness. Does this sound OK? TIA for any input. Regards, -- Oswald Buddenhagen Trolltech GmbH Rudower Chaussee 13 12489 Berlin Germany Fon: +49 (030) 6392 3255 Fax: +49 (030) 6392 3256 -- This publicly archived list offers a means to provide input to the OASIS XML Localisation Interchange File Format (XLIFF) TC. In order to verify user consent to the Feedback License terms and to minimize spam in the list archive, subscription is required before posting. Subscribe: xliff-comment-subscribe@lists.oasis-open.org Unsubscribe: xliff-comment-unsubscribe@lists.oasis-open.org List help: xliff-comment-help@lists.oasis-open.org List archive: http://lists.oasis-open.org/archives/xliff-comment/ Feedback License: http://www.oasis-open.org/who/ipr/feedback_license.pdf List Guidelines: http://www.oasis-open.org/maillists/guidelines.php Committee: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xliff
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]