[instruments] Multilingual instrument support #9522
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brief summary of changes
This is the CCNA implementation of multilingual support for instruments, but with some changes to support different languages.
Instrument labels are added in JSON files with the language code as a key. One default JSON labels file is included in
modules/instruments/language_labels/instrument_library_labels.json
which includes English and French for labels used inNDB_BVL_Instruments.class.inc
. If projects want to add more languages, they must put another version of this file inproject/instruments/language_labels/instrument_library_labels.json
with a new key for the additional language, and all of the same labels translated into the additional language. This new file can be tracked on the project's repository.The language support is only for php instruments at the moment. To have a multilingual instrument, the translated test name should be inserted into test_names_multilingual linked to the appropriate language ID. The function
$this->getLangLabel('key')
can be used anywhere in the instrument to use translated labels. A JSON file must be created in the same format asmodules/instruments/language_labels/instrument_library_labels.json
and put into theproject/instruments/language_labels/
directory with the following naming convention: <test_name>.jsonTesting instructions (if applicable)
Link(s) to related issue(s)