FOLIO front-end code uses translation keys to fetch actual text in English or any other language.
This allows to change the translations after a module has been installed. The most common use case is to backport the latest translations into a FOLIO installation.
A FOLIO release like Honeysuckle, Iris, etc. ships with the translations that come with each front-end module. Each front-end module has a different release date (Honeysuckle example). This is the time when translations are taken from module's GitHub translations directory and is different for each front-end module. A new front-end module release is needed to get more recent translation included into a FOLIO release.
However, the sysOp of a FOLIO installation may manually update the translations of their installation by exchanging the files in the
/translations/ directory from where the static files are shipped.
One option is to take the latest translations from https://folio-testing.dev.folio.org/ .
Do to it manually use the browser developer tools to find out the current number folio-testing uses, for example
https://folio-testing.dev.folio.org/translations/de-1605513539114.json. If you own installation has
de-1601343197440.json merge them:
jq -s '. * .' de-1601343197440.json de-1605513539114.json > de-1601343197440.json.new
Then use the joined file:
mv de-1601343197440.json.new de-1601343197440.json
To do it automatically use this script:
To remove new translation keys replace
'. * .'by
'. as $old | . * . | with_entries( select( .key as $key | $old | has( $key ) ) )'but this may remove a key that the old code uses and was forgotten to get added to the old language file.
Clean backport using yarn build
The backport method described above is a hack.
The clean way to use more recent translations is to replace them during the front-end build process.
yarn install but before running
yarn build copy the new translations into the
We don't know of anyone that uses this method, no script is available for this yet.