Added BCP 47 language tag validation (IsStructurallyValidLanguageTag), moved summary comments outside of function bodies