| /** | |
| * BCP 47 is a combination of country code ISO 3166 and language code ISO 639. | |
| * | |
| * This translates both codes. | |
| */ | |
| const bcp47 = (function (iso3166, iso639) { | |
| 'use strict'; | |
| return { | |
| lookup: function (code) { | |
| if (!code) { | |
| return; | |
| } | |
| const parts = String(code).split(/[-|_]/); | |
| return { | |
| language: iso639.lookup(parts[0]) || iso639.lookup(parts[1]), | |
| country: iso3166.lookup(parts[0]) || iso3166.lookup(parts[1]) | |
| } | |
| } | |
| } | |
| }(iso3166, iso639)); | |