GetPreferredCaptionLanguage() returning ISO 639-1 language code rather than ISO 639-2.

I tested this on my Roku 3.

It’s giving me back a 2-letter language code rather than a 3-letter language code.

Is the API wrong, or the documents?

I see the same thing on my 4800 and 3910 both on 12.5. Maybe @RokuBen or @RokuKC could look into it.

Yes, this API ended up changing in Roku OS 12.0 – there was some inconsistency that broke internal testing, and the fix was made to always use the two-character codes, but the docs weren’t updated.

So if I want to compare the Language key in a video’s availableSubtitleTracks array, I’m going to have to use an internal mapping of 2-letter codes to 3-letter codes?

Are the preferred caption languages listed in the docs all of the supported languages?

The two-letter codes should match ISO 639-1. and the set of supported languages should match the docs, as we’ve not added any additional fonts for other character forms.

(https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)