A language and a written script are not the same thing: * Some languages are only spoken (or use gestures etc.), and have no associated writing system. * Some languages can be written using multiple writing systems and alphabets. Example: Arabic (both classical and modern spoken variants) has occasionally been written in Hebrew or Syriac script. * Some scripts can be to write multiple languages - immediately or with a bit of extension. Example: The modern (so-to-speak) Latin script, with the addition of accents, is used to write over 100 different languages or language-variants, in ad. Hebrew can be used to write the Hebrew language, but also Arabic and Yiddish. Have a look at https://omniglot.com for many more examples and descriptions of writing systems and languages, historical and current, as well as constructed scripts etc. Then, we also have * _keyboard layouts_, which are not the same as scripts and are certainly not languages. A given script may have multiple different layouts; and the same layout may accommodate more than a single script. * _locales_, aspects of which may involve a language and a writing system, but other aspects regard time listing format, currency, customary paper sizes etc. There are some contexts in which these terms are conflated, confused or fudged. And that's even ignoring the fact that we bunch many of these together in "language groups", and don't support setting the language of anything (bug 151290). This is intended as a meta-bug for cases of such inappropriate intrication of these concepts or terms - in the UI, the documentation, the source code etc.