Hi Andrew.
It’s possible to do this. You have to read the submitted GET params and append them to the URLs in the language list.
An old forum post describes how a simple snippet can be used to read the GET params and output them as a query string.
So, you’ll have to edit your YAMS template for your language list to append the query string to the end of the URLs which change the document language. By default the repeat template is:
<li class="yams_lang_(yams_id)"><a href="(yams_docr)" lang="(yams_tag)" xml:lang="(yams_tag)" dir="(yams_dir)" title="(yams_name_in_(yams_id+))">(yams_name)</a></li>
so this would become
<li class="yams_lang_(yams_id)"><a href="(yams_docr)[!QueryParams!]" lang="(yams_tag)" xml:lang="(yams_tag)" dir="(yams_dir)" title="(yams_name_in_(yams_id+))">(yams_name)</a></li>
where [tt][!QueryParams!][/tt] runs the snippet that grabs the GET params on each page load. Assuming that this in a chunk called [tt]repeattpl[/tt], your language list generating [tt][[YAMS? ...[/tt] snippet call would need to have the parameter [tt]&repeattpl=`repeattpl`[/tt] added to it.
EDIT: This is not a bug by the way.
EDIT: There was a duplicate post, so I removed the other one.