I am most concerned with Book
or Event
schema types which both use inLanguage
. I have a number of books that are in 2 languages, the clearest example would be a Chinese-English/English-Chinese dictionary.
The inLanguage
blurb has
The language of the content or performance or used in an action. Please use one of the language codes from the IETF BCP 47 standard. See also availableLanguage. Supersedes language.
but if you drop in an availableLanguage
list you get
warningavailableLanguage
http://schema.org/#__sid=rd7 (The property availableLanguage is not recognized by the schema (e.g. schema.org) for an object of type Event.)
Have I missed something other than "pick one"?
The reference to availableLanguage
just exists to inform that Schema.org also defines a similar property. As that one is not defined for Book
or Event
(which explains your error), you can ignore it.
To provide multiple values for a property, you have to repeat the property (Microdata, RDFa) or provide an array as value (JSON-LD).
Microdata:
<meta itemprop="inLanguage" content="en" />
<meta itemprop="inLanguage" content="zh" />
RDFa:
<meta property="inLanguage" content="en" />
<meta property="inLanguage" content="zh" />
JSON-LD:
"inLanguage": ["en", "zh"]
In the case of Book
, this should only be done if the same book is in multiple languages (like in your example), not if translations of the book exists (in which case each translation should get its own Book
entry, with its own inLanguage
).