Construindo um alternador de idioma - somente 2 idiomas - ASP.NET MVC

ASP.NET MVC app, perto de conclusão, então foi decidido que precisava de um alternador de idioma. Serão simplesmente dois idiomas: inglês e japonês. Eles devem ser capazes de alternar entre os dois, mas se um não estiver selecionado, ele deve escolher o idioma padrão do navegador.

Eu estou querendo saber qual seria a melhor solução neste caso.

Primeiro pensamentorotas! Então eu mudo as rotas para ter um/{l} no final de cada rota e padrãol = "". Então, no meu BaseController (todo controlador é baseado nele), eu verifico a variável l na rota. Cada ação retorna uma visão baseada no idioma.

Eu queria simplesmente ser capaz de hack / ja-jp no final da url, e mostraria a visão em japonês. Não parecia rodar corretamente. Então, eu estava muito mal em meus pontos de vista e codifiquei manualmente os links ... Eu não consegui fazer com que o ajudante produzisse os links certos no começo ... e tive um péssimo hábito de codificá-los manualmente. Então, eu teria que recodificar todos os links novamente - para hackear a variável de idioma no final.

Pensando melhor... ok, use o jQuery para anexar a variável language a todas as hrefs da âncora. Isso parece excessivamente desajeitado e difícil em certas situações em que os hrefs estão escondidos até que sejam necessários, etc ...

Então ... neste momento eu decidi apenas fazer o que for preciso. Qual é a maneira mais elegante de alternar entre dois idiomas - sem usar arquivos de recursos? Eu simplesmente quero que a ação escolha entre duas visualizações, com base na linguagem.

Eu reescrevo todos os links que tenho para usar o Html Helper e depois faço as rotas funcionarem? Então, no BaseController, basta definir o idioma para o inglês se não tiver valor?

Qualquer conselho é muito apreciado, obrigado.