def render(self, response): translated_text = _('translated') translated_width = render_size( "DejaVu Sans", Pango.Weight.NORMAL, 11, 0, translated_text )[0].width + 5 percent_text = self.get_percent_text() percent_width = render_size( "DejaVu Sans", Pango.Weight.NORMAL, 11, 0, percent_text )[0].width + 5 if self.percent >= 90: color = '#4c1' elif self.percent >= 75: color = '#dfb317' else: color = '#e05d44' response.write(render_to_string( self.template_name, { 'translated_text': translated_text, 'percent_text': percent_text, 'translated_width': translated_width, 'percent_width': percent_width, 'width': translated_width + percent_width, 'color': color, 'translated_offset': translated_width // 2, 'percent_offset': translated_width + percent_width // 2, 'lang': get_language(), } ))
def render(self, response): translated_text = _("translated") translated_width = (render_size("DejaVu Sans", Pango.Weight.NORMAL, 11, 0, translated_text)[0].width + 5) percent_text = self.get_percent_text() percent_width = (render_size("DejaVu Sans", Pango.Weight.NORMAL, 11, 0, percent_text)[0].width + 5) if self.percent >= 90: color = "#4c1" elif self.percent >= 75: color = "#dfb317" else: color = "#e05d44" response.write( render_to_string( self.template_name, { "translated_text": translated_text, "percent_text": percent_text, "translated_width": translated_width, "percent_width": percent_width, "width": translated_width + percent_width, "color": color, "translated_offset": translated_width // 2, "percent_offset": translated_width + percent_width // 2, "lang": get_language(), }, ))
def render(self, response): translations = [] offset = 20 color = self.COLOR_MAP[self.color] language_width = 190 for stats in self.obj.stats.get_language_stats(): language = stats.language percent = stats.translated_percent if self.color == "auto": color = get_percent_color(percent) language_name = force_str(language) language_width = max( language_width, (render_size("DejaVu Sans", Pango.Weight.NORMAL, 11, 0, language_name)[0].width + 5), ) translations.append(( # Language name language_name, # Translation percent int(percent), # Text y offset offset, # Bar y offset offset - 6, # Bar width int(percent * 1.5), # Bar color color, # Row URL get_site_url( reverse( "project-language", kwargs={ "lang": language.code, "project": self.obj.slug }, )), # Top offset for horizontal 10 + int((100 - percent) * 1.5), )) offset += 15 response.write( render_to_string( self.template_name, { "height": len(translations) * 15 + 15, "width": language_width + 210, "language_offset": language_width, "bar_offset": language_width + 10, "text_offset": language_width + 170, "translations": translations, "site_url": get_site_url(), "horizontal_height": language_width + 130, "fonts_cdn_url": settings.FONTS_CDN_URL, }, ))