diff --git a/app/src/main/assets/language_key_texts/mhr.txt b/app/src/main/assets/language_key_texts/mhr.txt
new file mode 100644
index 00000000..287860cb
--- /dev/null
+++ b/app/src/main/assets/language_key_texts/mhr.txt
@@ -0,0 +1,8 @@
+[popup_keys]
+" « » „ “ ”
+н ҥ
+о ӧ
+у ӱ
+
+[labels]
+alphabet: АБВ
diff --git a/app/src/main/assets/layouts/mari.txt b/app/src/main/assets/layouts/mari.txt
new file mode 100644
index 00000000..528cd828
--- /dev/null
+++ b/app/src/main/assets/layouts/mari.txt
@@ -0,0 +1,44 @@
+ё
+ҥ
+ӧ
+ӱ
+ъ
+-
+!
+?
+"
+/
+
+й
+ц
+у
+к
+е
+н
+г
+ш
+щ
+з
+х
+
+ф
+ы
+в
+а
+п
+р
+о
+л
+д
+ж
+э
+
+я
+ч
+с
+м
+и
+т
+ь
+б
+ю
diff --git a/app/src/main/java/helium314/keyboard/latin/utils/ScriptUtils.kt b/app/src/main/java/helium314/keyboard/latin/utils/ScriptUtils.kt
index 0de18167..5d55fab9 100644
--- a/app/src/main/java/helium314/keyboard/latin/utils/ScriptUtils.kt
+++ b/app/src/main/java/helium314/keyboard/latin/utils/ScriptUtils.kt
@@ -165,7 +165,7 @@ object ScriptUtils {
"ar", "ur", "fa" -> SCRIPT_ARABIC
"hy" -> SCRIPT_ARMENIAN
"bn" -> SCRIPT_BENGALI
- "sr", "mk", "ru", "uk", "mn", "be", "kk", "ky", "bg", "xdq", "cv" -> SCRIPT_CYRILLIC
+ "sr", "mk", "ru", "uk", "mn", "be", "kk", "ky", "bg", "xdq", "cv", "mhr" -> SCRIPT_CYRILLIC
"ka" -> SCRIPT_GEORGIAN
"el" -> SCRIPT_GREEK
"iw" -> SCRIPT_HEBREW
diff --git a/app/src/main/res/xml/method.xml b/app/src/main/res/xml/method.xml
index b701d9f1..ea86e1ef 100644
--- a/app/src/main/res/xml/method.xml
+++ b/app/src/main/res/xml/method.xml
@@ -67,6 +67,7 @@
lo_LA: Lao (Laos)/lao
lt: Lithuanian/qwerty
lv: Latvian/qwerty
+ mhr: Mari (Eastern)
mk: Macedonian/macedonian
ml_IN: Malayalam (India)/malayalam
mn_MN: Mongolian (Mongolia)/mongolian
@@ -679,6 +680,15 @@
android:imeSubtypeMode="keyboard"
android:imeSubtypeExtraValue="AsciiCapable,EmojiCapable"
android:isAsciiCapable="true"
+ />
+