diff --git a/bin/tools/translate.py b/bin/tools/translate.py
index 7e1a7ca08a8c2b0cbc3266556cca426612353e9a..bae9b68a8822e89b6e7471f461d9a768972c76e4 100644
--- a/bin/tools/translate.py
+++ b/bin/tools/translate.py
@@ -59,7 +59,7 @@ class GettextAlias(object):
     def __call__(self, source):
         frame = inspect.stack()[1][0]
         cr = frame.f_locals.get('cr')
-        lang = frame.f_locals.get('context', {}).get('lang', False)
+        lang = (frame.f_locals.get('context') or {}).get('lang', False)
         if not (lang and cr):
             return source
 
@@ -527,7 +527,7 @@ def trans_load_data(db_name, fileobj, fileformat, lang, strict=False, lang_name=
             fail = True
             for ln in get_locales(lang):
                 try:
-                    locale.setlocale(locale.LC_ALL, ln)
+                    locale.setlocale(locale.LC_ALL, str(ln))
                     fail = False
                     break
                 except locale.Error: