diff --git a/mastodon_email_bridge/mastodon_email_bridge.py b/mastodon_email_bridge/mastodon_email_bridge.py index ddeb1d9..d83e6c7 100755 --- a/mastodon_email_bridge/mastodon_email_bridge.py +++ b/mastodon_email_bridge/mastodon_email_bridge.py @@ -172,34 +172,6 @@ class MastodonEmailBridge: next_url = slink[0].replace('<', '').replace('>', '') return next_url - def _translate_data(self, data): - if self.config['libretranslate_url'] is None or self.config['libretranslate_url'] == '': - self._log.debug( - "Not translating data because no LibreTranslate URL was specified" - ) - return data - new_data = data - if ( - 'language' not in data or - data['language'] is None - ): - source_language = 'auto' - else: - source_language = data['language'] - if source_language in self.config['not_translate_language']: - return data - fields_to_translate = [ - 'spoiler', - 'content' - ] - for field in fields_to_translate: - if field in data: - new_data[f"translated_{field}"] = self._translate( - data[field], - source_language=source_language - ) - return new_data - def get_post(self, post_id): '''Get a single post''' post = {} @@ -273,6 +245,34 @@ class MastodonEmailBridge: result = template.render(data=data) return result + def _translate_data(self, data): + if self.config['libretranslate_url'] is None or self.config['libretranslate_url'] == '': + self._log.debug( + "Not translating data because no LibreTranslate URL was specified" + ) + return data + new_data = data + if ( + 'language' not in data or + data['language'] is None + ): + source_language = 'auto' + else: + source_language = data['language'] + if source_language in self.config['not_translate_language']: + return data + fields_to_translate = [ + 'spoiler', + 'content' + ] + for field in fields_to_translate: + if field in data: + new_data[f"translated_{field}"] = self._translate( + data[field], + source_language=source_language + ) + return new_data + def _translate(self, text, source_language='auto', destination_language=None): if text == '': return '' diff --git a/templates/new_post.html.j2 b/templates/new_post.html.j2 index 213d2b4..c05404c 100644 --- a/templates/new_post.html.j2 +++ b/templates/new_post.html.j2 @@ -29,6 +29,7 @@ } + Language {{ data['language'] }} {% if data['url'] != "" %} Post original page @@ -58,12 +59,20 @@
{% if data['spoiler'] != "" and data['spoiler'] != null %} + {% if data['translated_spoiler'] != "" and data['translated_spoiler'] != null %} +
+ {{ data['translated_spoiler'] }} +
+ {% endif %}
{{ data['spoiler'] }}
{% endif %}
+ {% if data['translated_content'] != '' and data['translated_content'] != null %} + {{ data['translated_content'] }} + {% endif %} {{ data['content'] }} {% if data['media_attachments'] %} @@ -113,10 +122,16 @@
+ {% if reply['translated_spoiler'] != '' and reply['translated_spoiler'] != null %} + {{ reply['translated_spoiler'] }} + {% endif %} {{ reply['spoiler'] }}
+ {% if reply['translated_content'] != '' and reply['translated_content'] != null %} + {{ reply['translated_content'] }} + {% endif %} {{ reply['content'] }} {% if reply['media_attachments'] %} @@ -169,11 +184,19 @@
+ {% if data['reblog']['translated_spoiler'] != '' and data['reblog']['translated_spoiler'] != null %} +
+ {{ data['reblog']['translated_spoiler'] }} +
+ {% endif %}
{{ data['reblog']['spoiler'] }}
+ {% if data['reblog']['translated_content'] != '' and data['reblog']['translated_content'] != null %} + {{ data['reblog']['translated_content'] }} + {% endif %} {{ data['reblog']['content'] }} {% if data['reblog']['media_attachments'] %}