feat(developer): use new EthnoLib language search interface for BCP 47 tag picking in Keyman Developer
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
This picker meets (and excceeds) most of the requirements we previously identified for a BCP 47 language tag picker for Keyman Developer. It seems likely that we could use all three layers in the picker in Developer.
https://github.com/sillsdev/EthnoLib/blob/main/README.md
Demo: https://sillsdev.github.io/EthnoLib/?path=/story/demos-dialogdemo--primary
Design principles from the picker would be useful for the keyboard search on keyman.com as well, but the search needs for that encompass more than just langtags so would not be instantly applicable.
Similarly, the KeymanWeb Toolbar interface could use aspects of this design.
> There are three layers:
> 1) Search Logic: [@ethnolib/find-language](https://github.com/sillsdev/EthnoLib/tree/main/components/language-chooser/common/find-language)
> 2) Headless React Logic [@ethnolib/language-chooser-react-hook](https://github.com/sillsdev/EthnoLib/tree/main/components/language-chooser/react/common/language-chooser-react-hook)
> 3) Material UI Interface [@ethnolib/Mui Language Chooser](https://github.com/sillsdev/EthnoLib/blob/main/components/language-chooser/react/language-chooser-react-mui/README.md)
Note: issues in EthnoLib should be reported to BloomLibrary:
> For each independent problem or unmet need you have with the language chooser, please send a single email to issues AT bloomlibrary.org with a good subject line. Include a screenshot. We can then discuss that individual issue with you, assign it for work, give it to the test team, etc. A brilliant template for such things would be "As a ______ (rice farmer, LT Use consultant, etc.) I need a way to __________ , but I didn't find a way to do it / found that it doesn't work / think it would be hard to train someone / etc. What I tried was _____.
Blocked: EthnoLib has not yet been released. We don't want to start using it until it is (nearly) ready.
## Related issues
* #12694
* #1223
* #761
* keymanapp/keymanweb.com#119
* keymanapp/api.keyman.com#108
* keymanapp/api.keyman.com#80
* keymanapp/keyman.com#384
Contributor guide
Assessment
This issue has not been assessed yet.