def download_dictionary_ttkit(export_format, prj, lang, words): ''' Translate-toolkit builder for dictionary downloads. ''' # Use translate-toolkit for other formats if export_format == 'po': # Construct store from translate.storage.po import pofile store = pofile() # Export parameters content_type = 'text/x-po' extension = 'po' has_lang = False # Set po file header store.updateheader(add=True, language=lang.code, x_generator='Weblate %s' % weblate.VERSION, project_id_version='%s (%s)' % (lang.name, prj.name), language_team='%s <%s>' % ( lang.name, get_site_url( reverse('show_dictionary', kwargs={ 'project': prj.slug, 'lang': lang.code })), )) else: # Construct store from translate.storage.tbx import tbxfile store = tbxfile() # Export parameters content_type = 'application/x-tbx' extension = 'tbx' has_lang = True # Setup response and headers response = HttpResponse(content_type='%s; charset=utf-8' % content_type) filename = 'glossary-%s-%s.%s' % (prj.slug, lang.code, extension) response['Content-Disposition'] = 'attachment; filename=%s' % filename # Add words for word in words.iterator(): unit = store.UnitClass(word.source) if has_lang: unit.settarget(word.target, lang.code) else: unit.target = word.target store.addunit(unit) # Save to response response.write(FileFormat.serialize(store)) return response
def download_dictionary_ttkit(export_format, prj, lang, words): ''' Translate-toolkit builder for dictionary downloads. ''' # Use translate-toolkit for other formats if export_format == 'po': # Construct store from translate.storage.po import pofile store = pofile() # Export parameters content_type = 'text/x-po' extension = 'po' has_lang = False # Set po file header store.updateheader( add=True, language=lang.code, x_generator='Weblate %s' % weblate.VERSION, project_id_version='%s (%s)' % (lang.name, prj.name), language_team='%s <%s>' % ( lang.name, get_site_url(reverse( 'show_dictionary', kwargs={'project': prj.slug, 'lang': lang.code} )), ) ) else: # Construct store from translate.storage.tbx import tbxfile store = tbxfile() # Export parameters content_type = 'application/x-tbx' extension = 'tbx' has_lang = True # Setup response and headers response = HttpResponse(content_type='%s; charset=utf-8' % content_type) filename = 'glossary-%s-%s.%s' % (prj.slug, lang.code, extension) response['Content-Disposition'] = 'attachment; filename=%s' % filename # Add words for word in words.iterator(): unit = store.UnitClass(word.source) if has_lang: unit.settarget(word.target, lang.code) else: unit.target = word.target store.addunit(unit) # Save to response response.write(FileFormat.serialize(store)) return response
def get_response(self, filetemplate='{project}-{language}.{extension}'): filename = filetemplate.format(project=self.project.slug, language=self.language.code, extension=self.extension) response = HttpResponse( content_type='{0}; charset=utf-8'.format(self.content_type)) response['Content-Disposition'] = 'attachment; filename={0}'.format( filename) # Save to response response.write(FileFormat.serialize(self.storage)) return response
def get_response(self, filetemplate='{project}-{language}.{extension}'): filename = filetemplate.format( project=self.project.slug, language=self.language.code, extension=self.extension ) response = HttpResponse( content_type='{0}; charset=utf-8'.format(self.content_type) ) response['Content-Disposition'] = 'attachment; filename={0}'.format( filename ) # Save to response response.write(FileFormat.serialize(self.storage)) return response
def serialize(self): """Return storage content""" return FileFormat.serialize(self.storage)
def serialize(self): """Returns storage content""" return FileFormat.serialize(self.storage)