VIVO Documentation
Current Release
This documentation covers the latest release of VIVO, version 1.15.x.
If you are able to help contribute to this documentation, please contact vivo at lyrasis dot org
Looking for another version? See all documentation.
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.
Quick Start
- Stop the VIVO application
- Update the runtime.properties file to:
- Enable language filtering
RDFService.languageFilter = true
- Enabled desired languages
..such as the following if you wanted: English, Spanish, German, French and Portuguese
languages.selectableLocales = en_US, es, de_DE, fr_CA, pt_BR
Private-use subtags are also supported, meaning in the list of selectableLocales might be used local/institutional extension of the language such as fr_CA_x_uqam or de_DE_x_tib. However, those language files are not in the VIVO/Vitro codebase, meaning it is not possible just to enable those languages without copying of the directory with translations in those languages in the [VIVO_HOME] directory.
- Enable language filtering
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 UI labels ttl files, and annotation and other labels RDF for the languages enabled in the runtime.properties file; see Quick Start above.
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