Pergunta

Eu estou tentando fazer o meu apoio aplicativo vários idiomas. Eu fiz alguns conjuntos de satélite e agora eu quero testar o que o aplicativo será semelhante quando executado em uma máquina francesa, por exemplo.

Em [Painel de Controle-> Opções regionais e de idioma] eu posso selecionar Francês (França) na guia Opções regionais, e posso seleccionar francês (França), na guia Avançado.

Mas isso não é o suficiente para fazer minha aplicação acho que é francês.

Se eu adicionar este código para o início da minha função principal,

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    CultureInfo^ ci1 = Thread::CurrentThread->CurrentCulture;
    CultureInfo^ ci2 = Thread::CurrentThread->CurrentUICulture;

então ci1-> Nome é fr-FR mas ci2-> Nome é en-US.

E, infelizmente para mim, para o satélite francês de montagem a ser usado, o CurrentUICulture é aquele que precisa ser fr-FR.

Eu não quero definir o CurrentUICulture para o mesmo como o CurrentCulture em código - Eu quero mudar o padrão usando o Painel de Controle ou algo

.

Eu vi muitos posts sobre t'internet sobre como detectar um evento quando o CurrentUICulture é alterado, apenas nada que me diz como mudar isso!

Foi útil?

Solução

Por favor, veja como alterar a linguagem usada para exibir menus e caixas de diálogo em MUI :

Windows MUI torna fácil para os usuários alterar a interface do usuário (menus e diálogos) para a língua que melhor lhes convier. Até 33 diferentes idiomas podem ser instalados no máquina por um administrador (qualquer utilizador com privilégios administrativos) usando o programa Muisetup.exe.

O .NET CurrentUICulture reflete essa configuração.

Outras dicas

Esta pode ou não ser possível, dependendo da sua instalação do Windows. Consulte a seção "Implicitamente, definindo a propriedade CurrentUICulture" em http://msdn.microsoft.com/en-us/library/441487wx(v=vs.100).aspx para mais detalhes. Para obter informações adicionais sobre o comportamento em várias versões do Windows, consulte http :. //msdn.microsoft.com/en-us/library/dd374098 (VS.85) .aspx

A resposta mudou um pouco para o Windows 8 (estes passos foram feitos em 8.1).

Você deve ser capaz de alterar o idioma de exibição para outro idioma em Painel de controle> Relógio, Idioma e Região> Idioma . Observe o "deveria".

Eu tinha um inferno de um tempo mudando o CurrentUICulture em meu aplicativo console. Para alterá-lo, acabei:

  • alterar o idioma para a japonesa
  • baixar e instalar o pacote de idioma (todos de dentro do menu de Lanuage: cool)
  • subindo japonês para o topo das "Preferências de idioma"
  • , em seguida, em "alterar os formatos de data, hora ou número"
    • > Formatos: mudando "Format" para japonês
    • > Localização: mudar "local de residência" para o Japão
    • > Administrativo: mudando "linguagem atual para programas não-Unicode" para japonês
  • ainda em Administrativo "Configurações de cópia" mostrou usuário atual: o idioma de apresentação como Inglês
    • na máquina de um colega de trabalho o idioma do visor não era o mesmo que o CurrentUICulture padrão, então não há provavelmente ainda mais para a história
  • Eu tinha reiniciado várias vezes antes, mas agora com cada configuração de Japão / japonês I reiniciado

E finalmente, finalmente CurrentUICulture já não era Inglês! Não tenho a certeza que passo resolveu o problema, mas a reinicialização foi necessária.

CurrentCulture é realmente muito fácil de mudar. O passo formato anterior irá alterá-lo quando você bate OK / Apply, nenhuma reinicialização, confusão ou maldição necessário!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top