The "code" field for natural language objects in Wikifunctions mixes different types of codes. Some are MediaWiki language codes, some are BCP 47 language codes. These are not fully compatible with each other, which makes it unclear how they should be interpreted, and in some cases, unclear what is meant.
MediaWiki contains mappings from its language codes to BCP 47-compatible ones in https://gerrit.wikimedia.org/g/mediawiki/core/+/master/includes/language/LanguageCode.php. The codes in `DEPRECATED_LANGUAGE_CODE_MAPPING` plus `egl` are also MediaWiki languages, the rest are generally only used to create valid HTML `lang` attributes and not otherwise understood by MediaWiki.
Examples:
https://www.wikifunctions.org/view/de/Z1755
* Code: `bat-smg`
* Code aliases: `sgs`
* **Note**: `bat-smg` is a MediaWiki code. The BCP 47 code and preferred MediaWiki code is `sgs`.
https://www.wikifunctions.org/view/de/Z1231
* Code: `de-formal`
* **Note**: `de-formal` is a MediaWiki code without an assigned BCP 47 code.
https://www.wikifunctions.org/view/de/Z1624
* Code: `ar-001`
* **Note**: `ar-001` is a BCP 47-compatible code used by CLDR but not MediaWiki.
https://www.wikifunctions.org/view/de/Z1508
* Code: `als`
* **Note**: `als` is a MediaWiki code which means Tosk Albanian in BCP 47. The BCP 47 code and preferred MediaWiki code is `gsw` (= [[https://www.wikifunctions.org/view/de/Z1405|Z1405]]).
https://www.wikifunctions.org/view/de/Z1668
* Code: `mo`
* **Note**: `mo` could either be a MediaWiki code, which is equivalent to `ro-cyrl-md` in BCP 47, or a BCP 47 code which is equivalent to `ro-md` (= [[https://www.wikifunctions.org/view/de/Z1239|Z1239]]).
https://www.wikifunctions.org/view/de/Z1124
* Code: `en-x-simple`
* Code aliases: `simple`
* **Note**: The MediaWiki code is `simple`. The equivalent BCP 47 code is `en-simple`. `en-x-simple` is a BCP 47-compatible code using a private use subtag.
https://www.wikifunctions.org/view/de/Z1679
* Code: `roa-tara`
* **Note**: `roa-tara` is a MediaWiki code without an assigned BCP 47 code.
https://www.wikifunctions.org/view/de/Z1394
* Code: `sr-el`
* **Note**: `sr-el` is a MediaWiki code. The equivalent BCP 47 code is `sr-latn`.
https://www.wikifunctions.org/view/de/Z1181
* Code: `sr-ec`
* **Note**: `sr-ec` is a MediaWiki code. The equivalent BCP 47 code is `sr-cyrl`. In BCP 47 `sr-ec` means Serbian as used in Ecuador.
https://www.wikifunctions.org/view/de/Z1782
* Code: `cbk-zam`
* **Note**: `cbk-zam` is a MediaWiki code without an assigned BCP 47 code.
https://www.wikifunctions.org/view/de/Z1826
* Code: `map-bms`
* **Note**: `map-bms` is a MediaWiki code without an assigned BCP 47 code.
https://www.wikifunctions.org/view/de/Z1503
* Code: `bho`
* Code aliases: `bh`
* **Note**: `bho` is the BCP 47 code and preferred MediaWiki code. `bh` is a MediaWiki code which means Bihari in BCP 47.
https://www.wikifunctions.org/view/de/Z1346
* Code: `vro`
* Code aliases: `fiu-vro`
* **Note**: `fiu-vro` is a MediaWiki code. `vro` is the BCP 47 code and preferred MediaWiki code.
* **Note**: Previously duplicated, cf. [[https://www.wikifunctions.org/wiki/Wikifunctions:Requests_for_deletions/Archive/2023/08#Z1346_&_Z1816|Z1346 & Z1816 discussion]] -- It was [[https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata/-/merge_requests/35|removed from function-schemata]] before merging onwiki.
https://www.wikifunctions.org/view/de/Z1501
* Code: `zh-min-nan`
* **Note**: Both are valid in BCP 47 but the preferred value both in MediaWiki and BCP 47 is `nan` (= [[https://www.wikifunctions.org/view/de/Z1221|Z1221]]).
* **Note**: Currently also duplicated, cf. [[https://www.wikifunctions.org/wiki/Wikifunctions:Requests_for_deletions#Z1221_&_Z1501|Z1221 & Z1501 discussion]]
https://www.wikifunctions.org/view/de/Z1229
* Code: `zh-classical`
* **Note**: `zh-classical` is a deprecated MediaWiki code. The BCP 47 code and preferred MediaWiki code is `lzh` (= [[https://www.wikifunctions.org/view/de/Z1152|Z1152]]).
* **Note**: Currently also duplicated, cf. [[https://www.wikifunctions.org/wiki/Wikifunctions:Requests_for_deletions#Z1152_&_Z1229|Z1152 & Z1229 discussion]]
https://www.wikifunctions.org/view/de/Z1750
* Code: `eml`
* **Note**: This could either be a MediaWiki code meaning Emilian (= [[https://www.wikifunctions.org/view/de/Z1726|Z1726]]) or an old ISO 639-3 code for Emiliano-Romagnolo that was split a long time ago into `egl` for Emilian and `rgl` for Romagnolo ([[https://www.wikifunctions.org/view/de/Z1356|Z1356]]). Although it was in ISO 639-3, it's not a valid BCP 47 code.
https://www.wikifunctions.org/view/de/Z1849
* Code: `nrm`
* **Note**: This is a MediaWiki code. The equivalent BCP 47 code is `nrf`. `nrm` means Narom in BCP 47.