From ce8b02c9f6df6fcbb85b63abc061e7fbb8efbcd2 Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Sun, 15 Feb 2009 21:50:27 +0000 Subject: [PATCH] Better localization support for decimal separator. svn: r11999 --- src/plugins/gramplet/AgeStats.py | 9 ++++----- src/plugins/gramplet/PedigreeGramplet.py | 5 +++-- src/plugins/textreport/NumberOfAncestorsReport.py | 3 ++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/plugins/gramplet/AgeStats.py b/src/plugins/gramplet/AgeStats.py index eee539ef8..d65123770 100644 --- a/src/plugins/gramplet/AgeStats.py +++ b/src/plugins/gramplet/AgeStats.py @@ -21,6 +21,8 @@ This Gramplet shows textual distributions of age breakdowns of various types. """ +import locale + from DataViews import register, Gramplet import gen.lib @@ -214,7 +216,7 @@ class AgeStatsGramplet(Gramplet): retval = _("Statistics") + ":\n" retval += " " + _("Total") + ": %d\n" % count retval += " " + _("Minimum") + ": %d\n" % minval - retval += " " + _("Average") + ": %.1f\n" % average + retval += " " + _("Average") + locale.format_string(": %.1f\n", average) retval += " " + _("Median") + ": %d\n" % median retval += " " + _("Maximum") + ": %d\n" % maxval return retval @@ -253,10 +255,7 @@ class AgeStatsGramplet(Gramplet): selected, tooltip=_("Double-click to see %d people") % len(selected)) procent = float(len(selected))/(float(sum(hash.values())))*100 - if procent > 10.0: - self.append_text("%2.2f" % procent) - else: - self.append_text("% 1.2f" % procent) + self.append_text(locale.format("%#5.2f", procent)) self.append_text("\n") i += 1 self.append_text("--------" + self.format("", graph_width-4, fill = "-", borders="++") + "-----\n") diff --git a/src/plugins/gramplet/PedigreeGramplet.py b/src/plugins/gramplet/PedigreeGramplet.py index 11aaae4f1..1a3222579 100644 --- a/src/plugins/gramplet/PedigreeGramplet.py +++ b/src/plugins/gramplet/PedigreeGramplet.py @@ -24,6 +24,7 @@ # #------------------------------------------------------------------------ import cgi +import locale #------------------------------------------------------------------------ # @@ -247,13 +248,13 @@ class PedigreeGramplet(Gramplet): if g == 0: self.link(_("Generation 1"), 'PersonList', handles, tooltip=_("Double-click to see people in generation")) - percent = '%.2f%s' % ( 100, percent_sign) + percent = locale.format( '%.2f', 100) + percent_sign self.append_text(_(" has 1 of 1 individual (%(percent)s complete)\n") % {'percent': percent}) else: all.extend(handles) self.link(_("Generation %d") % g, 'PersonList', handles, tooltip=_("Double-click to see people in generation %d") % g) - percent = '%.2f%s' % ( float(count)/2**(g-1) * 100, percent_sign) + percent = locale.format('%.2f', float(count)/2**(g-1) * 100) + percent_sign self.append_text(ngettext( " has %(count_person)d of %(max_count_person)d individuals (%(percent)s complete)\n", " has %(count_person)d of %(max_count_person)d individuals (%(percent)s complete)\n", diff --git a/src/plugins/textreport/NumberOfAncestorsReport.py b/src/plugins/textreport/NumberOfAncestorsReport.py index a785a53f4..4e6c85eb6 100644 --- a/src/plugins/textreport/NumberOfAncestorsReport.py +++ b/src/plugins/textreport/NumberOfAncestorsReport.py @@ -32,6 +32,7 @@ #------------------------------------------------------------------------ from gettext import gettext as _ from gettext import ngettext +import locale import math #------------------------------------------------------------------------ @@ -95,7 +96,7 @@ class NumberOfAncestorsReport(Report): gen += 1 theoretical = math.pow(2, ( gen - 1 ) ) total_theoretical += theoretical - percent = '(%3.2f%%)' % ((sum(thisgen.values()) / theoretical ) * 100) + percent = '(%s%%)' % locale.format('%3.2f', ((sum(thisgen.values()) / theoretical ) * 100)) # TC # English return something like: # Generation 3 has 2 individuals. (50.00%)