ContextualLabels is a plugin for Omeka Classic that dynamically changes the labels and descriptions of Dublin Core fields based on the item type and active language.
NB : I shared the first working version to my use case, this is definitely not a complete work.
This plugin is especially useful for cultural heritage, architecture, and academic projects where metadata fields need contextualized labels like:
- βDate Createdβ β βMonument Construction Dateβ
- βDescriptionβ β βArchitectural Descriptionβ
- β Dynamic label and description overrides (admin form)
- π Language-aware (e.g.
Monument_EN.txt,Monument_FR.txt) - π Public view label customization
- π§ Per-item-type configuration
- π IIIF and UniversalViewer-safe (no interference with manifest generation)
- πͺ΅ Built-in debug logging for easy troubleshooting
The plugin looks for CSV files in plugins/ContextualLabels/config/ named like:
<ItemTypeName>_<LANG>.txt
Date Created,Monument Construction Date,Year of construction
Coverage,Geographical Scope,Where the monument is located
Description,Architectural Description,Describe the architectural features
Each row is:
OriginalLabel,NewLabel,Description
OriginalLabel: must match what's displayed in the UI (e.g., "Date Created")NewLabel: the label you want to showDescription: shows as a help text in the admin form
ContextualLabels/
βββ ContextualLabelsPlugin.php
βββ plugin.ini
βββ config/
β βββ Monument_EN.txt
β βββ Person_EN.txt
βββ debug.log (optional, for development)
- Clone or download this repository
- Place it in your
plugins/directory asContextualLabels - Activate the plugin in the Omeka admin panel
- Add your override files to
ContextualLabels/config/
- Tested on Omeka Classic v3.1.2
- Compatible with UniversalViewer and other IIIF-consuming tools
- Fully safe for multilingual public or admin use
MIT License (or specify your own)
Developed by medersa.ma for built heritage documentation in Morocco.
Enable error logging by reviewing plugins/ContextualLabels/debug.log.
Make sure your file names and labels match exactly (case-sensitive).
Feel free to contribute or fork the project. PRs welcome!