add better support for lang tags based on bcp 47
assume primary language tag is lowercase per the recommendation