How to pass multi-language value to PublicationOutput25's retrieveMetadata via the xmlMetadataFilter?

I have code that calls PublicationOutput25's retrieveMetadata that works if I pass a single language in the xmlMetadataFilter parameter.  However, if I'm trying to retrieve the metadata for an output format that has *more* than one language (i.e. en-us+de), I get this error:

The LovValue en-us+de does not exist. [label:"en-us+de"] [102001;InvalidObject]

The xmlMetadataFilter I'm passing is:

<ishfields><ishfield name='VERSION' level='version'>2</ishfield><ishfield name='FISHOUTPUTFORMATREF' level='lng'>PDF A4 Online</ishfield><ishfield name='DOC-LANGUAGE' level='lng'>en-us+de</ishfield></ishfields>

This is a valid publication output which I have published successfully in the web client.   Please help me understand what I'm missing here to make this work with more than one language.

Screenshot showing Trados Studio interface with a highlighted section displaying 'PDF A4 Online' format with language set to 'en-us+de'.

Screenshot of Trados Studio event log with an error message for a publish process, indicating an invalid object for 'PDF A4 Online-en-us+de'.



Generated Image Alt-Text
[edited by: Trados AI at 4:04 AM (GMT 0) on 5 Mar 2024]
emoji
  • Hi Dana,

    For those who wonder what "en-us+de" means... if you imagine a booklet from a product that contains multiple languages, then this field decides the order and the languages. So your publishing train knows that this booklet contains first "en-us" and next "de". It is indeed a different booklet from "fr+de" or even "de+en-us" (where it is first German then US English).

    The field DOC-LANGUAGE holds the leading value of such a combination of languages. It is something the system needs regarding logical version language hierarchy.

    The field you are looking for is FISHPUBLNGCOMBINATION. It is just a string field and does understand individual languages, so you could use the like operator for filtering. We choose the language labels to keep the field value readable in file names. I found that one using ISHRemote: Get-IshTypeFieldDefinition | Out-GridView

    -Dave