diff --git a/core/modules/language/config/schema/language.schema.yml b/core/modules/language/config/schema/language.schema.yml
new file mode 100644
index 0000000000000000000000000000000000000000..495f72424691b2d9b339ece04a56cebc4d02ead6
--- /dev/null
+++ b/core/modules/language/config/schema/language.schema.yml
@@ -0,0 +1,47 @@
+# Schema for the configuration files of the Language module.
+
+language.detection:
+  type: mapping
+  label: 'Language detection settings'
+  mapping:
+    selected_langcode:
+      type: string
+      label: 'Selected language code'
+
+language.negotiation:
+  type: mapping
+  label: 'Language detection methods'
+  mapping:
+    session:
+      type: mapping
+      label: 'Session'
+      mapping:
+        parameter:
+          type: string
+          label: 'Request/session parameter'
+    url:
+      type: mapping
+      label: 'Language from the URL (Path prefix or domain).'
+      mapping:
+        source:
+          type: string
+          label: 'Part of the URL that determines language'
+        prefixes:
+          type: sequence
+          label: 'Path prefix configuration'
+          sequence:
+            - type: string
+              label: 'Path prefix'
+        domains:
+          type: sequence
+          label: 'Domain configuration'
+          sequence:
+            - type: string
+              label: 'Domain'
+
+language.mappings:
+  type: sequence
+  label: 'Language mapping'
+  sequence:
+    - type: string
+      label: 'Language'