From 1d33e1be969ca53efadd895bdbab3d42311a59bb Mon Sep 17 00:00:00 2001 From: Hartmut Holzgraefe Date: Fri, 29 Sep 2023 03:16:35 +0000 Subject: [PATCH] make status update messages translatable (Issue #99, WiP) --- ocitysmap/__init__.py | 2 +- ocitysmap/layoutlib/multi_page_renderer.py | 40 ++++++++++---------- ocitysmap/layoutlib/single_page_renderers.py | 14 +++---- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/ocitysmap/__init__.py b/ocitysmap/__init__.py index d2c1295..c8f7bc1 100644 --- a/ocitysmap/__init__.py +++ b/ocitysmap/__init__.py @@ -834,7 +834,7 @@ class OCitySMap: """ config.output_format = output_format.upper() LOG.debug('Rendering to %s format...' % config.output_format) - config.status_update("Rendering %s" % config.output_format) + config.status_update(_("Rendering %s") % config.output_format) dpi = layoutlib.commons.PT_PER_INCH diff --git a/ocitysmap/layoutlib/multi_page_renderer.py b/ocitysmap/layoutlib/multi_page_renderer.py index db49b2f..eb3db3a 100644 --- a/ocitysmap/layoutlib/multi_page_renderer.py +++ b/ocitysmap/layoutlib/multi_page_renderer.py @@ -121,7 +121,7 @@ class MultiPageRenderer(Renderer): Renderer.__init__(self, db, rc, tmpdir, dpi) - self.rc.status_update("Initializing ...") + self.rc.status_update(_("Initializing ...")) self._grid_legend_margin_pt = \ min(Renderer.GRID_LEGEND_MARGIN_RATIO * self.paper_width_pt, @@ -322,7 +322,7 @@ class MultiPageRenderer(Renderer): # Create an overview map - self.rc.status_update("Preparing overview page") + self.rc.status_update(_("Preparing overview page")) overview_bb = self._geo_bbox.create_expanded(0.001, 0.001) # Create the overview grid @@ -355,14 +355,14 @@ class MultiPageRenderer(Renderer): self.rc.stylesheet.grid_line_color, 1, self.rc.stylesheet.grid_line_width) - self.rc.status_update("Preparing overview page: base map") + self.rc.status_update(_("Preparing overview page: base map")) self.overview_canvas.render() self.overview_overlay_canvases = [] self.overview_overlay_effects = {} for overlay in self._overlays: - self.rc.status_update("Preparing overview page: %s" % overlay.name) + self.rc.status_update(_("Preparing overview page: %s") % overlay.name) path = overlay.path.strip() if path.startswith('internal:'): @@ -387,7 +387,7 @@ class MultiPageRenderer(Renderer): # Create the map canvas for each page indexes = [] for i, (bb, bb_inner) in enumerate(bboxes): - self.rc.status_update("Preparing map page %d of %d: base map" % (i + 1, len(bboxes))) + self.rc.status_update(_("Preparing map page %d of %d: base map") % (i + 1, len(bboxes))) # Create the gray shape around the map exterior = shapely.wkt.loads(bb.as_wkt()) @@ -451,7 +451,7 @@ class MultiPageRenderer(Renderer): map_canvas.render() for overlay_canvas in overlay_canvases: - self.rc.status_update("Preparing map page %d of %d: %s" % (i + 1, len(bboxes), overlay_canvas._style_name)) + self.rc.status_update(_("Preparing map page %d of %d: %s") % (i + 1, len(bboxes), overlay_canvas._style_name)) overlay_canvas.render() self.pages.append((map_canvas, map_grid, overlay_canvases, overlay_effects)) @@ -459,7 +459,7 @@ class MultiPageRenderer(Renderer): # Create the index for the current page inside_contour_wkt = interior_contour.intersection(interior).wkt # TODO: other index types - self.rc.status_update("Preparing map page %d of %d: collecting index data" % (i + 1, len(bboxes))) + self.rc.status_update(_("Preparing map page %d of %d: collecting index data") % (i + 1, len(bboxes))) try: indexer_class = globals()[self.rc.indexer+"Index"] # TODO: check that it actually implements a working indexer class @@ -605,7 +605,7 @@ class MultiPageRenderer(Renderer): ctx.clip() def _prepare_front_page_map(self, dpi): - self.rc.status_update("Preparing front page") + self.rc.status_update(_("Preparing front page")) front_page_map_w = \ self._usable_area_width_pt - 2 * Renderer.PRINT_SAFE_MARGIN_PT front_page_map_h = \ @@ -630,7 +630,7 @@ class MultiPageRenderer(Renderer): 'shade-overview-cover') shade.add_shade_from_wkt(shade_wkt) front_page_map.add_shape_file(shade) - self.rc.status_update("Preparing front page: base map") + self.rc.status_update(_("Preparing front page: base map")) front_page_map.render() self._front_page_map = front_page_map @@ -649,7 +649,7 @@ class MultiPageRenderer(Renderer): front_page_map_h, dpi, extend_bbox_to_ratio=True) - self.rc.status_update("Preparing front page: %s" % ov_canvas._style_name) + self.rc.status_update(_("Preparing front page: %s") % ov_canvas._style_name) ov_canvas.render() self._frontpage_overlay_canvases.append(ov_canvas) @@ -676,11 +676,11 @@ class MultiPageRenderer(Renderer): ctx.clip() # Render the map ! - self.rc.status_update("Render front page: base map") + self.rc.status_update(_("Rendering front page: base map")) mapnik.render(self._front_page_map.get_rendered_map(), ctx) for ov_canvas in self._frontpage_overlay_canvases: - self.rc.status_update("Render front page: %s" % ov_canvas._style_name) + self.rc.status_update(_("Rendering front page: %s") % ov_canvas._style_name) rendered_map = ov_canvas.get_rendered_map() mapnik.render(rendered_map, ctx) @@ -781,7 +781,7 @@ class MultiPageRenderer(Renderer): ctx.restore() def _render_front_page(self, ctx, cairo_surface, dpi, osm_date): - self.rc.status_update("Rendering front page") + self.rc.status_update(_("Rendering front page")) ctx.save() self._prepare_page(ctx) @@ -808,7 +808,7 @@ class MultiPageRenderer(Renderer): Render table of contents and map setting details """ - self.rc.status_update("Render table of contents page") + self.rc.status_update(_("Rendering table of contents page")) ctx.save() self._prepare_page(ctx) @@ -885,17 +885,17 @@ class MultiPageRenderer(Renderer): cairo_surface.show_page() def _render_overview_page(self, ctx, cairo_surface, dpi): - self.rc.status_update("Render overview page") + self.rc.status_update(_("Rendering overview page")) ctx.save() self._prepare_page(ctx) rendered_map = self.overview_canvas.get_rendered_map() - self.rc.status_update("Render overview page: base map") + self.rc.status_update(_("Rendering overview page: base map")) mapnik.render(rendered_map, ctx) for ov_canvas in self.overview_overlay_canvases: - self.rc.status_update("Render overview page: %s" % ov_canvas._style_name) + self.rc.status_update(_("Rendering overview page: %s") % ov_canvas._style_name) rendered_map = ov_canvas.get_rendered_map() mapnik.render(rendered_map, ctx) @@ -1119,7 +1119,7 @@ class MultiPageRenderer(Renderer): self._render_overview_page(ctx, cairo_surface, dpi) for map_number, (canvas, grid, overlay_canvases, overlay_effects) in enumerate(self.pages): - self.rc.status_update("Rendering map page %d of %d: base map" % (map_number + 1, len(self.pages))) + self.rc.status_update(_("Rendering map page %d of %d: base map") % (map_number + 1, len(self.pages))) ctx.save() self._prepare_page(ctx) @@ -1137,7 +1137,7 @@ class MultiPageRenderer(Renderer): mapnik.render(rendered_map, ctx) for overlay_canvas in overlay_canvases: - self.rc.status_update("Rendering map page %d of %d: %s" % (map_number + 1, len(self.pages), overlay_canvas._style_name)) + self.rc.status_update(_("Rendering map page %d of %d: %s") % (map_number + 1, len(self.pages), overlay_canvas._style_name)) rendered_overlay = overlay_canvas.get_rendered_map() mapnik.render(rendered_overlay, ctx) @@ -1188,7 +1188,7 @@ class MultiPageRenderer(Renderer): cairo_surface.show_page() ctx.restore() - self.rc.status_update("Rendering index pages") + self.rc.status_update(_("Rendering index pages")) mpsir = MultiPageIndexRenderer(self.rc.i18n, ctx, cairo_surface, self.index_categories, diff --git a/ocitysmap/layoutlib/single_page_renderers.py b/ocitysmap/layoutlib/single_page_renderers.py index e8ea1b1..ea0b0db 100644 --- a/ocitysmap/layoutlib/single_page_renderers.py +++ b/ocitysmap/layoutlib/single_page_renderers.py @@ -165,7 +165,7 @@ class SinglePageRenderer(Renderer): try: if ( index_position and self.street_index and self.street_index.categories ): - self.rc.status_update("%s: fetching index data" % self.rc.output_format) + self.rc.status_update(_("%s: fetching index data") % self.rc.output_format) self._index_renderer, self._index_area \ = self._create_index_rendering(index_position) else: @@ -570,7 +570,7 @@ class SinglePageRenderer(Renderer): LOG.info('Zoom factor: %d' % self.scaleDenominator2zoom(rendered_map.scale_denominator())) # now perform the actual map drawing - self.rc.status_update("%s: rendering base map" % self.rc.output_format) + self.rc.status_update(_("%s: rendering base map") % self.rc.output_format) mapnik.render(rendered_map, ctx, scale_factor, 0, 0) ctx.restore() @@ -579,7 +579,7 @@ class SinglePageRenderer(Renderer): ctx.save() rendered_overlay = overlay_canvas.get_rendered_map() LOG.info('Overlay: %s' % overlay_canvas.get_style_name()) - self.rc.status_update("%s: rendering '%s' overlay" % (self.rc.output_format, overlay_canvas.get_style_name())) + self.rc.status_update(_("%s: rendering '%s' overlay") % (self.rc.output_format, overlay_canvas.get_style_name())) mapnik.render(rendered_overlay, ctx, scale_factor, 0, 0) ctx.restore() @@ -606,7 +606,7 @@ class SinglePageRenderer(Renderer): # apply effect plugin overlays for plugin_name, effect in self._overlay_effects.items(): - self.rc.status_update("%s: rendering '%s' overlay" % (self.rc.output_format, plugin_name)) + self.rc.status_update(_("%s: rendering '%s' overlay") % (self.rc.output_format, plugin_name)) try: effect.render(self, ctx) except Exception as e: @@ -630,7 +630,7 @@ class SinglePageRenderer(Renderer): # Update the street_index to reflect the grid's actual position if self.grid and self.street_index and self.index_position is not None: - self.rc.status_update("%s: writing CSV index file" % self.rc.output_format) + self.rc.status_update(_("%s: writing CSV index file") % self.rc.output_format) self.street_index.apply_grid(self.grid) # Dump the CSV street index @@ -650,7 +650,7 @@ class SinglePageRenderer(Renderer): # index::render::StreetIndexRenederer::render() and # comments within. - self.rc.status_update("%s: rendering index" % self.rc.output_format) + self.rc.status_update(_("%s: rendering index") % self.rc.output_format) self._index_renderer.render(ctx, self._index_area, dpi) ctx.restore() @@ -685,7 +685,7 @@ class SinglePageRenderer(Renderer): # render index on 2nd page if requested, and output format supports it try: if self.index_position == 'extra_page' and self._has_multipage_format() and self._index_renderer is not None: - self.rc.status_update("%s: rendering extra index page" % self.rc.output_format) + self.rc.status_update(_("%s: rendering extra index page") % self.rc.output_format) # We use a fake vector device to determine the actual # rendering characteristics