]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Add support for character order information
authoralexbodn@gmail.com <alexbodn@gmail.com>
Sun, 13 Mar 2016 11:28:20 +0000 (13:28 +0200)
committerAarni Koskela <akx@iki.fi>
Sat, 19 Mar 2016 12:41:40 +0000 (14:41 +0200)
babel/core.py
scripts/import_cldr.py

index 3e9f9a399d43ac7f41143e8ca5f712e2259297d2..251ebf16164093ddef35b44395050807a2d15ba4 100644 (file)
@@ -885,6 +885,29 @@ class Locale(object):
         """
         return self._data.get('ordinal_form', _default_plural_rule)
 
+    @property
+    def character_order(self):
+        """The text direction for the language.
+
+        >>> Locale('de', 'DE').character_order
+        'left-to-right'
+        >>> Locale('ar', 'SA').character_order
+        'right-to-left'
+        """
+        return self._data['character_order']
+
+    @property
+    def direction(self):
+        """The text direction for the language in CSS short-hand form.
+
+        >>> Locale('de', 'DE').direction
+        'ltr'
+        >>> Locale('ar', 'SA').direction
+        'rtl'
+        """
+        order = self.character_order
+        return ''.join([word[0] for word in order.split('-')])
+
 
 def default_locale(category=None, aliases=LOCALE_ALIASES):
     """Returns the system default locale for a given category, based on
index 00d11e95edb6c70fc0530002cd2d07fdd6df9388..af48d0f3d1b0cca164be63c5526cc8192ebb82dd 100755 (executable)
@@ -422,6 +422,9 @@ def _process_local_datas(sup, srcdir, destdir, force=False, dump_json=False):
         parse_unit_patterns(data, tree)
         parse_date_fields(data, tree)
 
+        for elem in tree.findall('.//layout/orientation/characterOrder'):
+            data['character_order'] = elem.text
+
         write_datafile(data_filename, data, dump_json=dump_json)