Substituir cultura ao usar GetGlobalResourceObject ou GetLocalResourceObject em ASP.NET
-
22-07-2019 - |
Pergunta
Eu tenho implementado localização neste projecto ASP.NET usando arquivos de recurso e que está funcionando como esperado. Mas há uma situação onde eu tenho para exibir a página inteira em um idioma e, em seguida, uma secção do mesmo em algum outro idioma com base na seleção a partir de uma lista suspensa.
Pelo que posso ver, o GetGlobalResourceObject () e métodos GetLocalResourceObject () trabalham a partir da cultura página, mas eu preciso para ajustar a linguagem de programação. Existe uma maneira de substituir o comportamento desses métodos para que eu possa especificar o idioma?
Solução
Eu acredito que você pode acessar um arquivo específico resx usando este método:
value = HttpContext.GetGlobalResourceObject(classKey, resourceKey, culture)
Você pode inicializar sua cultura como esta:
Culture culture = CultureInfo.CreateSpecificCulture("pt-PT");
Basta pegar o seu valor na lista suspensa e mudar a cultura no método CreateSpecificCulture.
Eu ainda não testei, deixe-me saber se isso não funciona.
EDIT: é o mesmo para GetLocalResourceObject