The "code" field for natural language objects in Wikifunctions mixes different types of codes. Some are MediaWiki language codes, some are BCP47 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 BCP47-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 BCP47 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 BCP47 code.
https://www.wikifunctions.org/view/de/Z1624
* Code: `ar-001`
* **Note**: `ar-001` is a BCP47-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 BCP47. The BCP47 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 BCP47, or a BCP47 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 BCP47 code is `en-simple`. `en-x-simple` is a BCP47-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 BCP47 code.
https://www.wikifunctions.org/view/de/Z1394
* Code: `sr-el`
* **Note**: `sr-el` is a MediaWiki code. The equivalent BCP47 code is `sr-latn`.
https://www.wikifunctions.org/view/de/Z1181
* Code: `sr-ec`
* **Note**: `sr-ec` is a MediaWiki code. The equivalent BCP47 code is `sr-cyrl`. In BCP47 `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 BCP47 code.
https://www.wikifunctions.org/view/de/Z1826
* Code: `map-bms`
* **Note**: `map-bms` is a MediaWiki code without an assigned BCP47 code.
https://www.wikifunctions.org/view/de/Z1503
* Code: `bho`
* Code aliases: `bh`
* **Note**: `bho` is the BCP47 code and preferred MediaWiki code. `bh` is a MediaWiki code which means Bihari in BCP47.
https://www.wikifunctions.org/view/de/Z1346
* Code: `vro`
* Code aliases: `fiu-vro`
* **Note**: `fiu-vro` is a MediaWiki code. `vro` is the BCP47 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]]
https://www.wikifunctions.org/view/de/Z1501
* Code: `zh-min-nan`
* **Note**: Both are valid in BCP47 but the preferred value both in MediaWiki and BCP47 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/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 BCP47 code.
https://www.wikifunctions.org/view/de/Z1849
* Code: `nrm`
* **Note**: This is a MediaWiki code. The equivalent BCP47 code is `nrf`. `nrm` means Narom in BCP47.