{% macro language_switcher(lang) %}
  <div class="language-switcher {% if not lang=='en' %}language-switcher-invert{% endif %}">
    <form method="get">
      {% if lang=='en' %}

        <span class="language-switcher-current">
          <span class="visuallyhidden">Current language:</span> English
        </span>

        <button type="submit" class="language-switcher-button" name="language" value="cy">
          <span class="visuallyhidden">Newid i’r</span> Gymraeg
        </button>

      {% else %}

        <span class="language-switcher-current">
          <span class="visuallyhidden">Iaith bresennol:</span> Cymraeg
        </span>

        <button type="submit" class="language-switcher-button" name="language" value="en">
          <span class="visuallyhidden">Switch to</span> English
        </button>

      {% endif %}
    </form>
  </div>
{% endmacro %}

{% macro language_switcher(lang) %}
  <div class="language-switcher {% if not lang=='en' %}language-switcher-invert{% endif %}">
    <form method="get">
      {% for key in request.args %}
        {% if key != 'language' %}
          <input type="hidden" name="{{key}}" value="{{request.args[key]}}" />
        {% endif %}
      {% endfor %}
      
      {% if lang=='en' %}

        <span class="language-switcher-current">
          <span class="visuallyhidden">Current language:</span> English
        </span>

        <button type="submit" class="language-switcher-button" name="language" value="cy">
          <span class="visuallyhidden">Newid i’r</span> Gymraeg
        </button>

      {% else %}

        <span class="language-switcher-current">
          <span class="visuallyhidden">Iaith bresennol:</span> Cymraeg
        </span>

        <button type="submit" class="language-switcher-button" name="language" value="en">
          <span class="visuallyhidden">Switch to</span> English
        </button>

      {% endif %}
    </form>
  </div>
{% endmacro %}

Fix language switcher logic to pass get params across
Fix language switcher logic to pass get params across