diff --git a/app/src/main/assets/language_key_texts/cv.txt b/app/src/main/assets/language_key_texts/cv.txt
new file mode 100644
index 000000000..53fa6e14c
--- /dev/null
+++ b/app/src/main/assets/language_key_texts/cv.txt
@@ -0,0 +1,20 @@
+[popup_keys]
+" « » „ “ ”
+у у́ ү ӯ
+к қ
+е е́ ә
+н ң
+г ғ
+х ҳ
+ы ы́
+а а́
+о о́ ө
+ж җ
+э э́ є
+я я́
+ч ҷ
+и и́ і ӣ
+ю ю́
+
+[labels]
+alphabet: АБВ
\ No newline at end of file
diff --git a/app/src/main/assets/layouts/chuvash.txt b/app/src/main/assets/layouts/chuvash.txt
new file mode 100644
index 000000000..c94eef9c2
--- /dev/null
+++ b/app/src/main/assets/layouts/chuvash.txt
@@ -0,0 +1,44 @@
+ё
+ӑ
+ӗ
+ҫ
+ӳ
+ъ
+-
+!
+?
+"
+
+й
+ц
+у
+к
+е
+н
+г
+ш
+щ
+з
+х
+
+ф
+ы
+в
+а
+п
+р
+о
+л
+д
+ж
+э
+
+я
+ч
+с
+м
+и
+т
+ь
+б
+ю
\ No newline at end of file
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 f60e0e047..0de181672 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" -> SCRIPT_CYRILLIC
+ "sr", "mk", "ru", "uk", "mn", "be", "kk", "ky", "bg", "xdq", "cv" -> 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 4dbeb77c6..79a38cb60 100644
--- a/app/src/main/res/xml/method.xml
+++ b/app/src/main/res/xml/method.xml
@@ -23,6 +23,7 @@
bn_IN: Bengali (India)/bengali
ca: Catalan/qwerty+
cs: Czech/qwertz
+ cv: Chuvash/chuvash
da: Danish/qwerty+
de: German/qwertz
de_DE: German (Germany)/qwertz+
@@ -269,6 +270,15 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
android:isAsciiCapable="true"
/>
+