is `locale` right here and not `language`?

I know it's, if nothing else, historic but the translate behavior relates to language, not locales. The [w3](http://www.w3.org/International/articles/language-tags/) and [rfc5646](http://tools.ietf.org/rfc/rfc5646.txt) use the term language tags, made up of:

    language-extlang-script-region-variant-extension-privateuse
                 ^ all optional from here

A locale doesn't form part of a language tag, the translate behavior isn't responsible for e.g. date/number formatting.