I18N em uma sessão

Pessoal eu estou com o seguinte problema, eu estou criando uma aplicação web utilzando o padrão MVC. Para esta aplicação eu tenho que usar internacionalização (i18n).

Eu já criei os arquivos .properties e já configurei o arquivo xml:

arquivos .properties:

messages_pt_BR.properties
messages_en.properties

trecho do xml:

<context-param>
	<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
	<param-value>languages/messages</param-value>
</context-param>

Para a criação das páginas jsp eu estou usando as tags jstl para exibir as mensagens que estão no meu arquivo .properties.

Para fazer a criação das páginas eu padronizei um Header e um Footer para a aplicação, e inclui no meu Header as opções para setar a linguagem da aplicação.

//Setando o locale

<c:if test="${! empty param[‘locale’]}">
<fmt:setLocale value="${param[‘locale’]}" scope=“session”/>
</c:if>

//Links para alterar os idiomas

Para as outras páginas eu apenas coloco um include do meu Header e do Footer.

Observação: Na minha Head contém todos os links para as outras páginas.

Se eu estiver na minha página inicial, e depois eu clicar em um os links, o idioma da página e alterado normalmente.

O Problema:

Quando eu clico em um dos links para mudar de página, o idioma volta para o padrão que ele tinha inicialmente.
Como posso resolver esse problema ?

escopo dos links

href="?locale=pt_BR"
href="?locale=en"

inclui da maneira acima somente para demostrar a chamda da alteração do locale