From 6efaa6b8cc6405899d6d9f7a5d2908e0669d6776 Mon Sep 17 00:00:00 2001 From: Samir Abdumo'minov Date: Tue, 16 Jun 2026 16:58:47 +0500 Subject: [PATCH 1/6] Add monkey.json for Monkey Language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added 'Primate Communication' (Monkey Language) based on real-world zoological studies (Vervet and Diana monkey alarm calls like 'krak', 'hok', 'chutter'). It’s a fun, thematic easter egg for Monkeytype! --- frontend/static/languages/monkey.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 frontend/static/languages/monkey.json diff --git a/frontend/static/languages/monkey.json b/frontend/static/languages/monkey.json new file mode 100644 index 000000000000..70d45ad9aef1 --- /dev/null +++ b/frontend/static/languages/monkey.json @@ -0,0 +1,4 @@ +{ + "name": "Monkey Language", + "words": ["krak", "hok", "rraup", "chutter", "wraaa", "pant", "hoot", "ook", "krak-oo"] +} From 1af69ea2b2dc77cf3ca2bf58b2980f66a86b1b63 Mon Sep 17 00:00:00 2001 From: Samir Abdumo'minov Date: Tue, 16 Jun 2026 17:01:11 +0500 Subject: [PATCH 2/6] Add 'monkey' language to the schema --- packages/schemas/src/languages.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/schemas/src/languages.ts b/packages/schemas/src/languages.ts index 245acb1dbf17..5381903d4a66 100644 --- a/packages/schemas/src/languages.ts +++ b/packages/schemas/src/languages.ts @@ -44,6 +44,7 @@ export const LanguageSchema = z.enum( "malay_1k", "mongolian", "mongolian_10k", + "monkey", "kannada", "korean", "korean_1k", From 8796bc24662a182b845e817d69ad53b1d8c0ed5a Mon Sep 17 00:00:00 2001 From: Samir Abdumo'minov Date: Tue, 16 Jun 2026 17:07:13 +0500 Subject: [PATCH 3/6] Update languages.ts --- frontend/src/ts/constants/languages.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/ts/constants/languages.ts b/frontend/src/ts/constants/languages.ts index 86b4d39ee3b5..ce202269a974 100644 --- a/frontend/src/ts/constants/languages.ts +++ b/frontend/src/ts/constants/languages.ts @@ -297,6 +297,7 @@ export const LanguageGroups: Record = { "league_of_legends", "docker_file", "pokemon_1k", + "monkey", ], amharic: ["amharic", "amharic_1k", "amharic_5k"], oromo: ["oromo", "oromo_1k", "oromo_5k"], From f9be9fbc56a97a8a1ad73ac92090726e149b6bbe Mon Sep 17 00:00:00 2001 From: Samir Abdumo'minov Date: Tue, 16 Jun 2026 17:24:49 +0500 Subject: [PATCH 4/6] Add new words and properties to monkey.json --- frontend/static/languages/monkey.json | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/frontend/static/languages/monkey.json b/frontend/static/languages/monkey.json index 70d45ad9aef1..8da03e47b146 100644 --- a/frontend/static/languages/monkey.json +++ b/frontend/static/languages/monkey.json @@ -1,4 +1,29 @@ { "name": "Monkey Language", - "words": ["krak", "hok", "rraup", "chutter", "wraaa", "pant", "hoot", "ook", "krak-oo"] + "rightToLeft": false, + "joiningScript": false, + "orderedByFrequency": false, + "bcp47": "en-x-monkey", + "words": [ + "krak", "hok", "rraup", "chutter", "wraaa", "pant", "hoot", "ook", "baq", "grrrr", + "hoo", "haha", "ugah", "ahh", "eee", "gurr", "phee", "tsik", "keff", "nyah", + "boom", "ooh", "wahoo", "screech", "bark", "grunt", "chirp", "whine", "squeak", "pant-hoot", + "krak-oo", "hok-oo", "rraup-krak", "ook-ook", "baq-baq", "grrrr-grrrr", "hoo-hoo", "haha-haha", "ugah-ugah", "ahh-ahh", + "eee-eee", "gurr-gurr", "phee-phee", "tsik-tsik", "keff-keff", "nyah-nyah", "boom-boom", "ooh-ooh", "wahoo-wahoo", "krak-krak", + "hok-hok", "chutter-chutter", "wraaa-wraaa", "krak-chutter", "hok-chutter", "pant-hoot-krak", "krak-oo-hok", "hok-oo-krak", "chutter-krak", "wraaa-hok", + "ook-pant", "krak-hoo", "hok-hoo", "rraup-hoo", "chutter-hoo", "wraaa-hoo", "pant-hoo", "ook-hoo", "baq-hoo", "krak-haha", + "hok-haha", "rraup-haha", "chutter-haha", "wraaa-haha", "pant-haha", "ook-haha", "baq-haha", "krak-ugah", "hok-ugah", "rraup-ugah", + "chutter-ugah", "wraaa-ugah", "pant-ugah", "ook-ugah", "baq-ugah", "krak-ahh", "hok-ahh", "rraup-ahh", "chutter-ahh", "wraaa-ahh", + "pant-ahh", "ook-ahh", "baq-ahh", "krak-eee", "hok-eee", "rraup-eee", "chutter-eee", "wraaa-eee", "pant-eee", "ook-eee", + "baq-eee", "krak-gurr", "hok-gurr", "ook-gurr", "krak-phee", "chutter-phee", "ook-phee", "hok-tsik", "chutter-tsik", "ook-tsik", + "rraup-keff", "wraaa-keff", "ook-keff", "pant-nyah", "baq-nyah", "ook-nyah", "krak-boom", "wraaa-boom", "ook-boom", "pant-ooh", + "hoot-ooh", "ook-ooh", "chirp-chirp", "grunt-grunt", "screech-screech", "bark-bark", "whine-whine", "squeak-squeak", "wahoo-krak", "wahoo-hok", + "wahoo-ook", "grunt-krak", "grunt-hok", "grunt-ook", "bark-krak", "bark-hok", "bark-ook", "screech-krak", "screech-hok", "screech-ook", + "phee-krak", "phee-hok", "phee-ook", "tsik-krak", "tsik-hok", "tsik-ook", "keff-krak", "keff-hok", "keff-ook", "nyah-krak", + "nyah-hok", "nyah-ook", "boom-krak", "boom-hok", "boom-ook", "ooh-krak", "ooh-hok", "ooh-ook", "haha-krak", "haha-hok", + "haha-ook", "ugah-krak", "ugah-hok", "ugah-ook", "ahh-krak", "ahh-hok", "ahh-ook", "eee-krak", "eee-hok", "eee-ook", + "gurr-krak", "gurr-hok", "gurr-ook", "pant-krak", "pant-hok", "pant-ook", "hoot-krak", "hoot-hok", "hoot-ook", "baq-krak", + "baq-hok", "baq-ook", "rraup-hok", "chutter-krak", "wraaa-pant", "krak-wahoo", "hok-wahoo", "ook-wahoo", "pant-wahoo", "hoot-wahoo", + "baq-wahoo", "grrrr-wahoo", "hoo-wahoo", "haha-wahoo", "ugah-wahoo" + ] } From 0d96ea6466a0549a535d3984e6a0b02fddedf6c2 Mon Sep 17 00:00:00 2001 From: Samir Abdumo'minov Date: Tue, 16 Jun 2026 17:53:06 +0500 Subject: [PATCH 5/6] Refactor words array to remove duplicates Removed duplicate entries from the words array in monkey.json and retained unique sounds. --- frontend/static/languages/monkey.json | 215 +++++++++++++++++++++++--- 1 file changed, 195 insertions(+), 20 deletions(-) diff --git a/frontend/static/languages/monkey.json b/frontend/static/languages/monkey.json index 8da03e47b146..f0eaa73a538f 100644 --- a/frontend/static/languages/monkey.json +++ b/frontend/static/languages/monkey.json @@ -5,25 +5,200 @@ "orderedByFrequency": false, "bcp47": "en-x-monkey", "words": [ - "krak", "hok", "rraup", "chutter", "wraaa", "pant", "hoot", "ook", "baq", "grrrr", - "hoo", "haha", "ugah", "ahh", "eee", "gurr", "phee", "tsik", "keff", "nyah", - "boom", "ooh", "wahoo", "screech", "bark", "grunt", "chirp", "whine", "squeak", "pant-hoot", - "krak-oo", "hok-oo", "rraup-krak", "ook-ook", "baq-baq", "grrrr-grrrr", "hoo-hoo", "haha-haha", "ugah-ugah", "ahh-ahh", - "eee-eee", "gurr-gurr", "phee-phee", "tsik-tsik", "keff-keff", "nyah-nyah", "boom-boom", "ooh-ooh", "wahoo-wahoo", "krak-krak", - "hok-hok", "chutter-chutter", "wraaa-wraaa", "krak-chutter", "hok-chutter", "pant-hoot-krak", "krak-oo-hok", "hok-oo-krak", "chutter-krak", "wraaa-hok", - "ook-pant", "krak-hoo", "hok-hoo", "rraup-hoo", "chutter-hoo", "wraaa-hoo", "pant-hoo", "ook-hoo", "baq-hoo", "krak-haha", - "hok-haha", "rraup-haha", "chutter-haha", "wraaa-haha", "pant-haha", "ook-haha", "baq-haha", "krak-ugah", "hok-ugah", "rraup-ugah", - "chutter-ugah", "wraaa-ugah", "pant-ugah", "ook-ugah", "baq-ugah", "krak-ahh", "hok-ahh", "rraup-ahh", "chutter-ahh", "wraaa-ahh", - "pant-ahh", "ook-ahh", "baq-ahh", "krak-eee", "hok-eee", "rraup-eee", "chutter-eee", "wraaa-eee", "pant-eee", "ook-eee", - "baq-eee", "krak-gurr", "hok-gurr", "ook-gurr", "krak-phee", "chutter-phee", "ook-phee", "hok-tsik", "chutter-tsik", "ook-tsik", - "rraup-keff", "wraaa-keff", "ook-keff", "pant-nyah", "baq-nyah", "ook-nyah", "krak-boom", "wraaa-boom", "ook-boom", "pant-ooh", - "hoot-ooh", "ook-ooh", "chirp-chirp", "grunt-grunt", "screech-screech", "bark-bark", "whine-whine", "squeak-squeak", "wahoo-krak", "wahoo-hok", - "wahoo-ook", "grunt-krak", "grunt-hok", "grunt-ook", "bark-krak", "bark-hok", "bark-ook", "screech-krak", "screech-hok", "screech-ook", - "phee-krak", "phee-hok", "phee-ook", "tsik-krak", "tsik-hok", "tsik-ook", "keff-krak", "keff-hok", "keff-ook", "nyah-krak", - "nyah-hok", "nyah-ook", "boom-krak", "boom-hok", "boom-ook", "ooh-krak", "ooh-hok", "ooh-ook", "haha-krak", "haha-hok", - "haha-ook", "ugah-krak", "ugah-hok", "ugah-ook", "ahh-krak", "ahh-hok", "ahh-ook", "eee-krak", "eee-hok", "eee-ook", - "gurr-krak", "gurr-hok", "gurr-ook", "pant-krak", "pant-hok", "pant-ook", "hoot-krak", "hoot-hok", "hoot-ook", "baq-krak", - "baq-hok", "baq-ook", "rraup-hok", "chutter-krak", "wraaa-pant", "krak-wahoo", "hok-wahoo", "ook-wahoo", "pant-wahoo", "hoot-wahoo", - "baq-wahoo", "grrrr-wahoo", "hoo-wahoo", "haha-wahoo", "ugah-wahoo" + "krak", + "hok", + "rraup", + "chutter", + "wraaa", + "pant", + "hoot", + "ook", + "baq", + "grrrr", + "hoo", + "haha", + "ugah", + "ahh", + "eee", + "gurr", + "phee", + "tsik", + "keff", + "nyah", + "boom", + "ooh", + "wahoo", + "screech", + "bark", + "grunt", + "chirp", + "whine", + "squeak", + "pant-hoot", + "krak-oo", + "hok-oo", + "rraup-krak", + "ook-ook", + "baq-baq", + "grrrr-grrrr", + "hoo-hoo", + "haha-haha", + "ugah-ugah", + "ahh-ahh", + "eee-eee", + "gurr-gurr", + "phee-phee", + "tsik-tsik", + "keff-keff", + "nyah-nyah", + "boom-boom", + "ooh-ooh", + "wahoo-wahoo", + "krak-krak", + "hok-hok", + "chutter-chutter", + "wraaa-wraaa", + "krak-chutter", + "hok-chutter", + "pant-hoot-krak", + "krak-oo-hok", + "hok-oo-krak", + "chutter-krak", + "wraaa-hok", + "ook-pant", + "krak-hoo", + "hok-hoo", + "rraup-hoo", + "chutter-hoo", + "wraaa-hoo", + "pant-hoo", + "ook-hoo", + "baq-hoo", + "krak-haha", + "hok-haha", + "rraup-haha", + "chutter-haha", + "wraaa-haha", + "pant-haha", + "ook-haha", + "baq-haha", + "krak-ugah", + "hok-ugah", + "rraup-ugah", + "chutter-ugah", + "wraaa-ugah", + "pant-ugah", + "ook-ugah", + "baq-ugah", + "krak-ahh", + "hok-ahh", + "rraup-ahh", + "chutter-ahh", + "wraaa-ahh", + "pant-ahh", + "ook-ahh", + "baq-ahh", + "krak-eee", + "hok-eee", + "rraup-eee", + "chutter-eee", + "wraaa-eee", + "pant-eee", + "ook-eee", + "baq-eee", + "krak-gurr", + "hok-gurr", + "ook-gurr", + "krak-phee", + "chutter-phee", + "ook-phee", + "hok-tsik", + "chutter-tsik", + "ook-tsik", + "rraup-keff", + "wraaa-keff", + "ook-keff", + "pant-nyah", + "baq-nyah", + "ook-nyah", + "krak-boom", + "wraaa-boom", + "ook-boom", + "pant-ooh", + "hoot-ooh", + "ook-ooh", + "chirp-chirp", + "grunt-grunt", + "screech-screech", + "bark-bark", + "whine-whine", + "squeak-squeak", + "wahoo-krak", + "wahoo-hok", + "wahoo-ook", + "grunt-krak", + "grunt-hok", + "grunt-ook", + "bark-krak", + "bark-hok", + "bark-ook", + "screech-krak", + "screech-hok", + "screech-ook", + "phee-krak", + "phee-hok", + "phee-ook", + "tsik-krak", + "tsik-hok", + "tsik-ook", + "keff-krak", + "keff-hok", + "keff-ook", + "nyah-krak", + "nyah-hok", + "nyah-ook", + "boom-krak", + "boom-hok", + "boom-ook", + "ooh-krak", + "ooh-hok", + "ooh-ook", + "haha-krak", + "haha-hok", + "haha-ook", + "ugah-krak", + "ugah-hok", + "ugah-ook", + "ahh-krak", + "ahh-hok", + "ahh-ook", + "eee-krak", + "eee-hok", + "eee-ook", + "gurr-krak", + "gurr-hok", + "gurr-ook", + "pant-krak", + "pant-hok", + "pant-ook", + "hoot-krak", + "hoot-hok", + "hoot-ook", + "baq-krak", + "baq-hok", + "baq-ook", + "rraup-hok", + "chutter-krak", + "wraaa-pant", + "krak-wahoo", + "hok-wahoo", + "ook-wahoo", + "pant-wahoo", + "hoot-wahoo", + "baq-wahoo", + "grrrr-wahoo", + "hoo-wahoo", + "haha-wahoo", + "ugah-wahoo" ] } From 180f5b8268dfcd7ad431257fb92e91c00769c17a Mon Sep 17 00:00:00 2001 From: Samir Abdumo'minov Date: Tue, 16 Jun 2026 18:45:29 +0500 Subject: [PATCH 6/6] Change language name to lowercase and update terms --- frontend/static/languages/monkey.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/frontend/static/languages/monkey.json b/frontend/static/languages/monkey.json index f0eaa73a538f..62298bd903e9 100644 --- a/frontend/static/languages/monkey.json +++ b/frontend/static/languages/monkey.json @@ -1,5 +1,5 @@ { - "name": "Monkey Language", + "name": "monkey", "rightToLeft": false, "joiningScript": false, "orderedByFrequency": false, @@ -56,7 +56,7 @@ "wahoo-wahoo", "krak-krak", "hok-hok", - "chutter-chutter", + "chutter-test", "wraaa-wraaa", "krak-chutter", "hok-chutter", @@ -188,7 +188,6 @@ "baq-hok", "baq-ook", "rraup-hok", - "chutter-krak", "wraaa-pant", "krak-wahoo", "hok-wahoo",