From 091d12ef58a65ff11b48186fe87947bb9a8f22d4 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Fri, 5 Jul 2013 19:21:17 +0200 Subject: [PATCH] Territory name and script name added --- ChangeLog | 2 ++ babel/core.py | 48 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a39a625..31acbf6c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -60,6 +60,8 @@ http://svn.edgewall.org/repos/babel/tags/1.0.0/ * ensure .mo file header contains the same information as the source .po file (#199) * added support for get_language_name() on the locale objects. + * added support for get_territory_name() on the locale objects. + * added support for get_script_name() on the locale objects. Version 0.9.6 diff --git a/babel/core.py b/babel/core.py index e7ba0f35..612d8896 100644 --- a/babel/core.py +++ b/babel/core.py @@ -274,6 +274,19 @@ class Locale(object): retval += ' (%s)' % u', '.join(details) return retval + display_name = property(get_display_name, doc="""\ + The localized display name of the locale. + + >>> Locale('en').display_name + u'English' + >>> Locale('en', 'US').display_name + u'English (United States)' + >>> Locale('sv').display_name + u'svenska' + + :type: `unicode` + """) + def get_language_name(self, locale=None): """Return the language of this locale in the given locale. @@ -297,18 +310,33 @@ class Locale(object): u'English' """) - display_name = property(get_display_name, doc="""\ - The localized display name of the locale. + def get_territory_name(self, locale=None): + """Return the territory name in the given locale.""" + if locale is None: + locale = self + locale = Locale.parse(locale) + return locale.territories.get(self.territory) - >>> Locale('en').display_name - u'English' - >>> Locale('en', 'US').display_name - u'English (United States)' - >>> Locale('sv').display_name - u'svenska' + territory_name = property(get_territory_name, doc="""\ + The localized territory name of the locale if available. - :type: `unicode` - """) + >>> Locale('de', 'DE').territory_name + u'Deutschland' + """) + + def get_script_name(self, locale=None): + """Return the script name in the given locale.""" + if locale is None: + locale = self + locale = Locale.parse(locale) + return locale.scripts.get(self.script) + + script_name = property(get_script_name, doc="""\ + The localized script name of the locale if available. + + >>> Locale('ms', 'SG', script='Latn').script_name + u'Latin' + """) @property def english_name(self): -- 2.47.2