keymanapp / keymanapp/keyman

feat(developer): use new EthnoLib language search interface for BCP 47 tag picking in Keyman Developer

Open
#13,258 0 comments 0 reactions 1 assignee Claimed by @mcdurdin View on GitHub
developer/ developer/ide/ feat
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.