La norme ISO 639-5 (ISO 639-5:2008), intitulée « Codes pour la représentation des noms de langues – Partie 5 : code alpha-3 pour les familles et groupes de langues », est une norme internationale développée par le sous-comité 2 du comité technique 37 de l’ISO. La norme internationale a été publiée le .
Cette partie de l’ISO 639 définit des codes alpha-3 (à trois lettres) pour les familles ou groupes de langues. Certains de ces codes faisaient partie de l’ISO 639-2, où se mélaient aussi des codes pour des macro-langues et langues individuelles, mais pas de façon assez précise ni complète.
La norme ISO 639-5 permet d'affiner et compléter dans les ensembles de codes de la norme ISO 639 uniquement les familles et groupes de langues sans inclure aucune langue individuelle (qui ont été affinées et complétées dans l'ISO 639-3) ni aucune variété dialectale ou orthographique (qui fera l’objet d'un autre volet définissant des codes alpha-4). Ainsi de nouveaux codes sont apparus et ne figurent que dans l'ISO 639-5.
Depuis la mise à jour du , il y a eu 114 codes définis.
L’ISO 639-2 contient des codes pour des langues individuelles ou groupes de langues, et donc ses codes font le plus souvent partie soit de l’ISO 639-3 (pour les « codes techniques » ISO 639-2/T uniquement), soit de l’ISO 639-5 (les « codes bibliographiques » de l'ISO 639-2/B sont des alias destinés à certains usages mais ne sont pas réutilisés dans les autres parties de la norme ISO 639).
Les langues, familles ou groupes de l’ISO 639-2 peuvent être de type « groupe » (g) ou « groupe résiduel » (r), où un groupe consiste en plusieurs langues apparentées comprises de façon inclusive, alors qu'un groupe résiduel contient un ensemble de langues apparentées duquel certaines langues (ou certains sous-groupes de langues) ont été exclus. Le principal défaut des groupes résiduels de l’ISO 639-2 était leur instabilité au cours du temps puisque toute nouvelle codification pour des langues ou groupes de langues supplémentaires venait pratiquement chaque fois modifier leur composition. Ainsi les groupes de langues n’étaient pas réellement utilisables pour une classification systématique et stable des langues et des ressources associées, sans faire référence aussi à la date précise de la version de cette norme, avec en plus le problème supplémentaire (lors des échanges de données entre systèmes hétérogènes) que les différents systèmes ne s'appuient pas sur la même version, et que les documents ou données contenant ces codes ne permettent pas de déterminer précisément la signification précise de ces codes de groupes résiduels.
De plus, certains systèmes ont volontairement choisi de ne pas inclure la totalité des codes, et donc d'étendre la signification des codes au-delà de ceux retenus dans la partie 2 de la norme telle qu'elle était au moment de leur utilisation. Il est donc apparu nécessaire de définir une autre norme supprimant cette distinction entre les groupes résiduels (inadaptés) et les groupes complets, d'autant plus que l'arrivée de la partie 3 de la norme a considérablement étendu le nombre de langues individuelles codées.
Avec l'ISO 639-3, la norme ISO 639-5 établit une classification plus claire, plus précise, plus complète et plus systématique des langues. Dans l'ISO 639-5, tous les groupes et familles de langues deviennent inclusifs ; les dénominations « autres langues... » ont été modifiées, et quand il y a lieu de distinguer une langue individuelle de la famille homonyme de langues qui la contient, le nom de la langue individuelle (dans l'ISO 639-3, y compris quand c'est une macro-langue) est qualifié par cette indication de même que le nom de la famille correspondante, pour supprimer l'homonymie et lever les ambiguïtés d'interprétation.
Cependant le changement de définition des groupes résiduels de l'ISO 639-3 en groupes ou familles inclusifs dans l'ISO 639-5 introduit une ambiguïté nouvelle qui ne peut être levée si la partie 2 ou 5 de la norme n'est pas précisée. Ce risque n'existe que pour les applications basées sur l'ISO 639-2 et qui ignorent l'ISO 639-5, mais ces mêmes applications étaient déjà concernées par l'ambiguïté au sein des différentes révisions de la norme ISO 639-3 qui en modifiait déjà le contenu : ce changement est nécessaire, mais assure une classification qui ne devrait plus être modifiée pour l'ensemble des langues déjà codées (sauf en cas d'erreurs ou d'imprécision de certaines codifications de langues ou groupes de langues plus rares, après consultation des linguistes et groupes d'experts ou communautés significatives travaillant sur ces langues).
Exemples des relations à l’ISO 639-2 :
afa
: dans 639-2 il recouvre seulement les « autres langues afro-asiatiques », dans 639-5 il recouvre toutes les « langues afro-asiatiques ».alg
: dans 639-2 et 639-5, il recouvre toutes les langues algonquiennessqj
: toutes les langues albanaises