Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

If you are a VIVO site administrator and you simply want to enable one of the available languages in your VIVO installation, the Quick Start guide should be all you need. If, however, you are interested in design details, then continue reading.

Table of Contents

Quick Start

  1. Stop the VIVO application
  2. Update the runtime.properties file to:
    1. Enable language filtering


      Code Block
      RDFService.languageFilter = true


    2. Enabled desired languages

      ..such as the following if you wanted: English, Spanish, German, French and Portuguese

      Code Block
      languages.selectableLocales = en_US, es, de_DE, fr_CA, pt_BR


VIVO i18n Design

One of the goals of the most recent design of VIVO's internationalization (i18n) implementation is to simplify the process for activating a multi-lingual VIVO site. Starting with the 1.12.0 release of VIVO, all supported languages are built into the application. On start-up, VIVO loads the property files, annotation and labels RDF, and Freemarker templates for the languages enabled in the runtime.properties file; see Quick Start above. Ideally, only a single set of Freemarker template files would needed, the content of which being populated by i18n properties. A few template files, such as "terms of use", "email templates" and "search help", include large blocks of formatted text that are currently better suited to exist in their own language-specific Freemarker templates.

When internationalization is enabled, additional logic is executed that filters content triples and selects fallback content in the case that there are no triples available for the preferred language/locale.

For example, if the site language is set to Canadian French ('fr_CA'), the search algorithm for returning triples for a specific label is as follows:

  • Return label triples with language tag that matches the language ('fr') and locale ('CA'), if not found
  • Return label triples with language tag that matches just the language ('fr'), if not found
  • Return label triples with language tag that matches the language, but with a different locale (e.g. 'fr_FR'), if not found
  • Return label triples with any or no language tag

Note, the above filtering does impose a performance impact:

Jira
serverLYRASIS JIRA
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
keyVIVO-1931