[FrameworkBundle][Translator] Validate locales.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
@Tobion IMO, there is 2 kind of exceptions:

- something bad happened while executing the method and the user might want to recover from it (retrying for instance)
- the method has been used in an invalid way (wrong code being written using the method for instance).

Documenting the first case makes sense. Documenting the second one does not (especially if you want to make it for real, and so propagate it to all callers).

Java has the same distinction between 2 kinds of exceptions. for instance, NullPointerException can be thrown anywhere without being added in the signature of the method.(some Java exceptions could deserve being in the other category though)