Skip to content

impr(languages): add Bemba language (@kopachef)#7819

Open
kopachef wants to merge 1 commit intomonkeytypegame:masterfrom
kopachef:bemba-language-upstream
Open

impr(languages): add Bemba language (@kopachef)#7819
kopachef wants to merge 1 commit intomonkeytypegame:masterfrom
kopachef:bemba-language-upstream

Conversation

@kopachef
Copy link
Copy Markdown

Description

Adds Bemba language support to Monkeytype with three word lists:

  • bemba
  • bemba_1k
  • bemba_10k

Bemba is a Bantu language and is the most commonly spoken language in Zambia, with roughly 5-6 million speakers. I have had this language support working on a personal Monkeytype fork at https://typing.martinnn.com, and I wanted to contribute the language data upstream so it can be used by the wider Monkeytype community.

Most of this data comes from work I did for my undergraduate thesis, where I built a morphological analyser for Bemba:

https://project-archive.inf.ed.ac.uk/ug4/20244657/ug4_proj.pdf

The language files use the BCP 47 tag bem, and include the metadata requested in the language contribution guide:

  • rightToLeft: false
  • ligatures: false
  • orderedByFrequency: false

I also registered the new language variants in the schema and added them to a single Bemba language group.

Validation run locally:

pnpm run check-assets-languages

Result:

Languages are all valid

One note: the older checklist item mentions adding languages to _list and _groups. In the current codebase, those files have been replaced by packages/schemas/src/ languages.ts and frontend/src/ts/constants/languages.ts. This PR follows the current structure and passes pnpm run check-assets-languages.

Checks

  • Adding quotes?
    • Make sure to follow the quotes documentation
    • Make sure to include translations for the quotes in the description (or another comment) so we can verify their content.
  • Adding a language?
    • Make sure to follow the languages documentation
    • Add language to packages/schemas/src/languages.ts
    • Add language to exactly one group in frontend/src/ts/constants/languages.ts
    • Add language json file to frontend/static/languages
  • Adding a theme?
    • Make sure to follow the themes documentation
    • Add theme to packages/schemas/src/themes.ts
    • Add theme to frontend/src/ts/constants/themes.ts
    • (optional) Add theme css file to frontend/static/themes
    • Add some screenshots of the theme, especially with different test settings (colorful, flip colors) to your pull request
  • Adding a layout?
    • Make sure to follow the layouts documentation
    • Add layout to packages/schemas/src/layouts.ts
    • Add layout json file to frontend/static/layouts
  • Adding a font?
    • Make sure to follow the fonts documentation
    • Add font file to frontend/static/webfonts
    • Add font to packages/schemas/src/fonts.ts
    • Add font to frontend/src/ts/constants/fonts.ts
  • Check if any open issues are related to this PR; if so, be sure to tag them below.
  • Make sure the PR title follows the Conventional Commits standard. (https://www.conventionalcommits.org for more info)
  • Make sure to include your GitHub username prefixed with @ inside parentheses at the end of the PR title.

Closes: n/a

@monkeytypegeorge monkeytypegeorge added frontend User interface or web stuff assets Languages, themes, layouts, etc. packages Changes in local packages labels Apr 12, 2026
@fehmer
Copy link
Copy Markdown
Member

fehmer commented Apr 12, 2026

Hi @kopachef

One note: the older checklist item mentions adding languages to _list and _groups.

Where does it say this?

@kopachef
Copy link
Copy Markdown
Author

Hi @kopachef

One note: the older checklist item mentions adding languages to _list and _groups.

Where does it say this?

Hi @fehmer, this is under the language guidelines here: https://github.com/monkeytypegame/monkeytype/blob/master/docs/CONTRIBUTING.md#language-guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assets Languages, themes, layouts, etc. frontend User interface or web stuff packages Changes in local packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants