GrampsLocale: Improve handling the language list

Replace "en" with "C" when setting $LANGUAGE ("en" confuses GtkBuilder), and explicitly iterate over languages when finding
the translator, because left to itself gettext will ignore English.

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21595 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
Mac: Improve language list handling

Make sure that lang overrides the language list only if $LANG is set. Don't add encodings to the language list (e.g., en_US, not en_US.UTF-8). Start collation with None, because `if collation:` is True for collation = "". defaults may have whitespace at the end of "root", so use "startswith".

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21596 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
Grampslocale: Protect from crashes due to passing bad strings to setlocale

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21597 4ae1f11a-8b86-4847-b8af-ab372f36d1fd