changeset 785:cb71ad1fb64b pyntnclick

Support dialects
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 26 Jan 2013 19:41:14 +0200
parents 29c5badeef98
children fb8c146017a9
files pyntnclick/main.py pyntnclick/resources.py
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/pyntnclick/main.py	Sat Jan 26 19:31:03 2013 +0200
+++ b/pyntnclick/main.py	Sat Jan 26 19:41:14 2013 +0200
@@ -68,8 +68,6 @@
         locale.setlocale(locale.LC_ALL, "")
         lang = locale.getdefaultlocale(['LANGUAGE', 'LC_ALL', 'LC_CTYPE',
                                         'LANG'])[0]
-        if lang and '_' in lang:
-            lang = lang.split('_', 1)[0]
         self.resource = Resources(self._resource_module, lang)
         gettext.bindtextdomain(self.constants.i18n_name,
                                self.resource.get_resource_path('locale'))
--- a/pyntnclick/resources.py	Sat Jan 26 19:31:03 2013 +0200
+++ b/pyntnclick/resources.py	Sat Jan 26 19:41:14 2013 +0200
@@ -23,7 +23,10 @@
 
     def __init__(self, resource_module, language=None):
         self.resource_module = resource_module
+        self.lang_dialect = language
         self.language = language
+        if language:
+            self.language = language.split('_', 1)[0]
         self._image_cache = {}
         self._font_cache = {}
         self._transformed_image_cache = {}
@@ -33,8 +36,10 @@
 
         The following directories are searched, in order:
 
+         * /<lang>_<dialect>/<resource_module>/
          * /<lang>/<resource_module>/
          * <resource_module>/
+         * /<lang>_<dialect>/<default_resource_module>/
          * /<lang>/<default_resource_module>/
          * <default_resource_module>/
 
@@ -54,6 +59,8 @@
         paths = []
         for module in [self.resource_module, self.DEFAULT_RESOURCE_MODULE]:
             if self.language:
+                fn = os.path.join(self.lang_dialect, resource_path)
+                paths.append(resource_filename(module, fn))
                 fn = os.path.join(self.language, resource_path)
                 paths.append(resource_filename(module, fn))
             paths.append(resource_filename(module, resource_path))