diff --git a/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl b/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl
index 681726d3e0..edd93dfdee 100644
--- a/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl
+++ b/nikola/data/themes/base-jinja/templates/feeds_translations_helper.tmpl
@@ -1,20 +1,35 @@
{# -*- coding: utf-8 -*- #}
-{% macro _append_language(language) %}{{ " (" + language + ")" if translations|length > 1 else "" }}{% endmacro %}
-{% macro _append_name(name, kind) %}{{ (" (" + name + ")" if name and kind != "archive" and kind != "author" else "") | h }}{% endmacro %}
-{% macro _append_name_language_proper(language, kind, name) %}{{ (" (" + name + ", " + language + ")" if name and kind != "archive" and kind != "author" else " (" + language + ")") | h }}{% endmacro %}
-{% macro _append_name_language(language, kind, name=None) %}{{ _append_name_language_proper(language, kind, name) if translations|length > 1 else _append_name(name, kind) }}{% endmacro %}
-
{% macro _head_feed_link(link_type, link_name, link_postfix, classification, kind, language) %}
-
+ {% if translations|length > 1 %}
+
+ {% else %}
+
+ {% endif %}
{% endmacro %}
{% macro _html_feed_link(link_type, link_name, link_postfix, classification, kind, language, name=None) %}
- {{ messages(link_name, language) }} {{ _append_name_language(language, kind, name) }}
+ {% if translations|length > 1 %}
+ {% if name and kind != "archive" and kind != "author" %}
+ {{ messages(link_name, language) }} ({{ name|e }}, {{ language }})
+ {% else %}
+ {{ messages(link_name, language) }} ({{ language }})
+ {% endif %}
+ {% else %}
+ {% if name and kind != "archive" and kind != "author" %}
+ {{ messages(link_name, language) }} ({{ name|e }})
+ {% else %}
+ {{ messages(link_name, language) }}
+ {% endif %}
+ {% endif %}
{% endmacro %}
{% macro _html_translation_link(classification, kind, language, name=None) %}
- {{ messages("LANGUAGE", language) }}{{ _append_name(name, kind) }}
+ {% if name and kind != "archive" and kind != "author" %}
+ {{ messages("LANGUAGE", language) }} ({{ name|e }})
+ {% else %}
+ {{ messages("LANGUAGE", language) }}
+ {% endif %}
{% endmacro %}
{% macro _head_rss(classification=None, kind='index', rss_override=True) %}
@@ -28,7 +43,7 @@
{% endfor %}
{% else %}
{% for language in translations|sort %}
- {% if classification and kind != 'index' %}
+ {% if (classification or classification == '') and kind != 'index' %}
{{ _head_feed_link('application/rss+xml', 'RSS for ' + kind + ' ' + classification, 'rss', classification, kind, language) }}
{% else %}
{{ _head_feed_link('application/rss+xml', 'RSS', 'rss', classification, 'index', language) }}
@@ -46,7 +61,7 @@
{% endfor %}
{% else %}
{% for language in translations|sort %}
- {% if classification and kind != 'index' %}
+ {% if (classification or classification == '') and kind != 'index' %}
{{ _head_feed_link('application/atom+xml', 'Atom for ' + kind + ' ' + classification, 'atom', classification, kind, language) }}
{% else %}
{{ _head_feed_link('application/atom+xml', 'Atom', 'atom', classification, 'index', language) }}