Closed rhdunn closed 11 years ago
The idea here is to make matching a document language to voice language more robust by going on the uris in languages.rdf, since the document and voice may have different but equivalent dc:language labels (e.g. gl
and glg
for Galician).
This is changing the way the cainteoir::languages class works -- in fact, this class will no longer be needed and should therefore be removed. The functionality will be done through metadata queries and metadata transformation.
This is also similar to the way that the (dc:publisher, dc:subject)
replacement will work. Therefore, the core cainteoir-engine API should support both replacement types and others as well.
Defering this as I am no longer sure this will be beneficial over the current language implenementation (i.e. implementing the language code spec and lookup mechanism, using languages.rdf as the data source).
The idea behind this is to simplify the logic to associate the language of a document with the language of a text-to-speech voice.
This requires that the RDF functionality supports
(graph, subject, predicate, object)
quads and the triplestore model with languages.rdf preloaded.When constructing the voice metadata, the
tts-engine { voice dc:language L }
should be replaced withtts-engine { voice dc:language U }
wherelanguages.rdf { U skos:altLabel L }
.When adding a document to the triplestore, the document language
doc { doc dc:language L }
should be replaced withdoc { doc dc:language U }
wherelanguages.rdf { U skos:altLabel L }
.Resolving the language name is the following lookup:
( X dc:language Y join language.rdf { Y skos:prefLabel L } ) as L
.