By use of a jQuery modal. Create a wrapper around your webpart (set the content before and after fields), ensure the jQuery UI is included in your page and add some jQuery to the head using the Head HTML webpart. You'd have something that would look like this:
<head runat="server">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css" />
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<script type="text/javascript">
$(function () {
$("#lang-container").dialog({
autoOpen: false
});
$("#lang-button").click(function () {
$("#lang-container").dialog("open");
});
});
</script>
</head>
<body>
<!--button to click on to trigger the modal window -->
<a href="#" id="lang-button">Change Language</a>
<!-- modal window contaner with webpart inside -->
<div id="lang-container" title="Language Selector" style="display: none; position: absolute;">
<webpart>Select a language</webpart>
</div>
</body>