Skip to main content

IIIF-metadatahandboek

Meertaligheid

Overzicht

IIIF zet in op uitwisselbaarheid en interoperabiliteit. Dit betekent onder meer dat binnen deze standaarden aandacht gaat naar het faciliteren van meertalige metadata. Alle data die bedoeld zijn om gepresenteerd te worden aan gebruikers kunnen met andere woorden in verschillende talen in een manifest opgenomen worden.

Presentation API 2.1

Binnen Presentation API 2.1 kan deze meertaligheid van gepresenteerde metadata worden bekomen door de toevoeging van “@language” en een ‘language tag’, gevormd volgens de afspraken in RFC 5646. Deze afspraken maken het mogelijk om een taal, schrift, regio, variant, … via een internationaal afgesproken ‘code’ te identificeren.

Voorbeelden van deze ‘language tag’ zijn:

  • ‘de’ (Duits), ‘fr’ (Frans), ‘en’ (Engels)
  • ‘en-US’ (Engels zoals gebruikt in de Verenigde Staten)
  • ‘zh-Hans-CN’ (Chinees, geschreven in het vereenvoudigd schrift zoals gebruikt op het Chinese vasteland)

Deze toevoeging kan enkel gebeuren bij de eigenschappen “label”, “description”, “attribution” en alle labels en waarden onder de eigenschap “metadata”. De combinatie “@language” en een ‘language tag’ dient daar telkens voor de “@value” toegevoegd te worden, gescheiden door een komma.

Hieronder vind je een voorbeeld in JSON-formaat:

"metadata": [
      {
         "label": [
            {
                  "@language": "en",
                  "@value": "Creator"
            },
            {
                  "@language": "nl",
                  "@value": "Vervaardiger"
            },

            {
                  "@language": "fr",
                  "@value": "Créateur"
            },
            {
                  "@language": "de",
                  "@value": "Hersteller"
            }
          ],
                  "value": "Ensor, James"
      },

Door meerdere talen op te nemen in het manifest wordt het mogelijk om bij een viewer alle componenten van de user interface in meerdere talen aan te bieden. Niet alle viewers ondersteunen echter alle talen. Daardoor is het mogelijk dat eenzelfde manifest, met meertalige velden, in verschillende viewers anders wordt gepresenteerd.

Het aangepaste manifest van onderstaand voorbeeld is hier terug te vinden. (De taal kan je wijzigen via het tandwiel in de linker kolom.)

Presentation API 3.0

Binnen Presentation API 3.0 is het verplicht om bij elke vrije tekst die bedoeld is voor presentatie de taal te specificeren. Dit betekent dat de eigenschappen “label”, “summary”, “requiredStatement” en alle labels en waarden onder “metadata” van een taal moeten worden voorzien. Dit gebeurt via een JSON sleutel/waarde-paar (key/value pair, zie voorbeeld hieronder), met als sleutel een code gevormd volgens de afspraken in BCP 47. Deze afspraken zijn een combinatie van de documenten RFC 4647 en RFC 5646.

Hieronder vind je een voorbeeld in JSON-formaat (“en” = key; ["Attribution"] = value):

"requiredStatement": {
      "label": {
           "en": [
                 "Attribution"
           ],
           "nl": [
                 "Naamsvermelding"
           ]
       },

Opgelet!

  • Is de taal niet bekend of niet van toepassing (bv. bij een eigennaam), dan wordt als sleutel “none” gebruikt.
  • Deze werkwijze voor meertaligheid geldt niet voor opgenomen tekst in annotaties. Annotaties volgen de afspraken van het Web Annotation Data Model. Dit betekent dat de taal in een aparte eigenschap (“language”) wordt aangegeven.
  • Niet alle viewers ondersteunen alle mogelijke talen. Universal Viewer biedt bijvoorbeeld Engels en Frans aan, maar geen Nederlands of Duits. Ook TIFY biedt niet de mogelijkheid om de taal te wijzigen. Zelfs als vertalingen van labels wel in het manifest zijn opgenomen, worden deze daardoor soms niet getoond (zie bijvoorbeeld de Universal Viewer hieronder).

Het aangepast manifest van onderstaand voorbeeld is hier terug te vinden.

Verwerking door viewers

De informatie die in een manifest opgenomen is, wordt door viewers zoals Mirador, Universal Viewer, Tify, … verwerkt om deze logisch te presenteren. Die verwerking gebeurt in principe op basis van voorgeschreven ‘algoritmes’. Een inzicht in die algoritmes is belangrijk om in te schatten hoe de eigen manifesten gepresenteerd zullen worden.

Voor de verwerking van de meertaligheid wordt vanuit de IIIF-Community het volgende algoritme opgelegd:

  • Als alle waarden gekoppeld zijn aan de “none”-sleutel moeten al deze waarden door de viewer getoond worden
  • Is dit niet het geval, dan moet de viewer trachten de taalvoorkeur van de gebruiker te achterhalen (bv. via cookies) of een bepaalde taal als standaardinstelling gebruiken.
    • De viewer moet dan alle waarden tonen die verbonden zijn met de taal die het beste bij de taalvoorkeur of de standaardinstelling aansluit.
    • Als alle waarden in het manifest met een taal verbonden zijn, maar geen enkele taal aansluit bij de taalvoorkeur of de standaardinstelling, moet de viewer één taal selecteren en alle waarden die daarmee verbonden zijn presenteren.
    • Als maar een deel van de waarden in het manifest met een taal verbonden is en geen enkele taal aansluit bij de taalvoorkeur, moet de viewer alle waarden tonen die niet met een taal verbonden zijn.

Een voorbeeld van de verwerking van een manifest met verschillende talen is hieronder te vinden. (De taal kan je wijzigen via het tandwiel in de linker kolom.)

Bronnen

“IIIF Presentation API 3.0 - Language of Property Values.” International Image Interoperablity Framework. Geraadpleegd op 10.05.2023. https://iiif.io/api/presentation/3.0/#language-of-property-values.

“Internationalization and Multi-language Values.” International Image Interoperablity Framework. Geraadpleegd op 10.05.2023. https://iiif.io/api/cookbook/recipe/0006-text-language/.

This work is licensed under CC BY 4.0 - Vlaamse Kunstcollectie/Rein Debrulle