-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DataHarmonizer Internationalization 1.9.0 #458
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…events 'afterChange' to be triggered too frequently on large dataset loads.
…h sections. test export to TSV/CSV with sections.
Eliminates need for webpack.config.js DirectoryTreePlugin() and manifest.json
Produces DH's intermediary schema_core.yaml, schema_slots.tsv, and schema_enums.tsv files. Then run tabular_to_schema.py in same folder.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull has numerous changes to code though few visible interface changes. This is version 1.9.0, and will be released as 2.0.0 once we "unhide" the internationalization capability.
Internationalization: For version 1.9.0 we have disabled the internationalization code simply by hiding a UI "language" menu that provides a menu of available languages. In this way maintainers and implementers of DataHarmonizer don't have to prepare for training users about this capability, and no bugs will show up related to using the UI interface in another language. We can therefore test the default "english" only version for some other bug fixes. That said, the upcomming internationalization feature has two parts:
User interface: A language menu will control the language that the DataHarmonizer interface is presented in. The translation file for all of this language is present in the DataHarmonizer github repo, in the web/translations/translations.json file. Canadian government approved translators have provided our first translation into French. Other translated languages are welcome!
Schema content: Every language field aspect of each LinkML data schema (and its templates) can be translated into a given language as well, appearing in the templates column header help, and in menu selections, and even in data saved in a given language. i.e. if one selects picklist items while using the interface in french, they are saved in french. Ones' selections are converted back into english if one flips the user interface back into english.
Note that if a schema has no translation, its content will remain in the default language regardless of what language a user is interacting with DataHarmonizer in.
A second change (useful perhaps to programmers) is that there is a better structure to the menu.js which holds basic information used to construct a stand-alone DataHarmonizer's menu of templates.
JSON Data load/save: Finally, we've upgraded our data structure for saving JSON data to accommodate a few needs:
As a sneak preview of how the multilingual schema content works, our test case is with the CanCoGeN specification, whose language variants can be found in the locales/ subfolder, in this case "locales/fr/schema.yaml" for the french translation, which gets converted into a schema.json file in the standalone distribution of DataHarmonizer. The schema.yaml file has only the language sensitive fields in it (title, description, comment, examples etc.) and is "overlayed" onto the main, default - language provided in the template / schema home folder.