Por que os arquivos de recurso localizado não são criados automaticamente quando mudar a cultura no designer?

StackOverflow https://stackoverflow.com/questions/1459100

Pergunta

Eu estou trabalhando atualmente em localizar um formulário. No entanto, estou um pouco confuso quanto à forma como se corretamente faz isso.

Eu pensei que seria possível propriedades de controle de exportação para um arquivo de recurso automaticamente, mas parece que esta é uma tarefa manual.

Minha abordagem atual é adicionar todas as propriedades de controle que são do tipo String e são graváveis ??para o arquivo de recurso. Isto por forma recursiva enumerar todos os controles e os controles filho no formulário e refletindo as propriedades.

Mas isso parece um pouco complicado, e eu me pergunto como as outras pessoas fazem isso.

Assim, a minha pergunta: Qual é a melhor prática em termos de usar um arquivo de recurso de Controle de Localização de texto?

Edit: eu ver o que estou fazendo de errado. Eu pensei que o Displaytext será automaticamente copiada para cada arquivo de recurso. No entanto, parece apenas os campos que foram alterados são copiados.

Então, basicamente, eu definir o idioma de uma configuração específica, altere o ExibirTexto para todos os controles, e quando eu mudar a parte traseira linguagem para (padrão), o mudou são salvos.

Obrigado por qualquer / todos os comentários.

Foi útil?

Solução

Bem, na verdade localizar uma forma que não é difícil. Você definir a propriedade "Localizable" para "true". Isso faz com que todas as propriedades localizáveis ??de controles no formulário a ser migrados para um arquivo de recurso. O arquivo de recurso atual é a única independente de localidade. Você pode então selecionar outro idioma nas propriedades do formulário e substituir todas as legendas de controle e textos com suas variantes traduzidas. Isso faz com que o arquivo de recurso dependente da localidade apropriada a ser criado e usado.

Você pode selecionar o idioma em que a interface é exibida, definindo as propriedades CurrentCulture e CurrentUICulture em Thread.currentThread:

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-GB");

A interface wil adaptar em conformidade.

Outras dicas

Ele faz isso já.

Ligue Localizable no designer de formulário ou UserControl.

Agora, mudar você Language (também no designer), eo langXXX.resx apropriado é automagicamente criado.

Você só precisa fazer a forma localizável (no painel de propriedades, definir Localizable para true). Então você só precisa selecionar o idioma para o qual você deseja localizável. Todos os arquivos de recursos necessários são gerados automaticamente

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