People with poorly formatted json files would not get a locales table,
leading to an error when trying to iterate.
Contains some other inconsequential changes, and warnings.
string.gsub returns two variables, the updated string and the pattern occurrences.
The outer string.gsub would replace n occurrences, or nothing if the string did not
contain '%'.
BREAKING CHANGE (kind of)
Remove user-selection for locales. Adds mostly unnecessary complexity,
and most people don't want to bother with it anyway.
Locale is always based on the convar "ox:locale" instead.
Partial, and google translated just for the sake of setting an example.
Also renamed many of the language codes where the extra characters are
redundant (i.e. fr-FR, de-DE).