Pergunta

Entendo que a abordagem recomendada para localização no WPF é usar a ferramenta LocBaml para extrair os itens localizáveis, por exemplo.um arquivo csv, traduza os itens para o idioma desejado e gere novamente uma nova montagem de satélite a partir desse arquivo csv.No entanto, pelos meus experimentos, isso parece entrar em conflito com a geração de montagens de satélite a partir de arquivos resources.resx, uma vez que nenhum dos dois combina os recursos em um único arquivo de recursos, mas simplesmente substitui qualquer montagem de satélite existente.

Existe uma abordagem recomendada (ou melhor ainda, uma ferramenta existente) para fazer uma "mesclagem" da saída de LocBaml /generate e a saída da execução do resgen em um arquivo resources.resx (que é feito por padrão pelo VS nas compilações).Alguém aí está lidando com os mesmos problemas?

Foi útil?

Solução

Você deve fazer isso manualmente, gerando .resources do LocBaml e, em seguida, mesclando os recursos Resx e BAML usando o vinculador Assembly.

O processo é mais ou menos assim:

LocBaml.exe /generate ..\obj\WpfLocalization.g.en-US.resources 
            /trans:Res\de.csv /out:de /culture:de

REM Combine resource files w/ Assembly Linker
al /template:WpfLocalization.exe 
   /embed:de\WpfLocalization.g.de.resources 
   /embed:..\..\obj\WpfLocalization.Properties.Resources.de.resources   
   /culture:de  /out:de\WpfLocalization.resources.dll

(tudo em uma linha em um arquivo em lote).

Você pode colocar o acima em um arquivo em lote personalizado para o seu projeto.Lembre-se de que LocBaml deve estar na mesma pasta dos arquivos de saída.Você pode adicionar isso como uma tarefa pós-construção.

Outras dicas

Eu prefiro usar o Extensão de localização WPF projeto que você pode encontrar em codeplex para localizar meu projeto WPF.

Ele permite usar a mesma abordagem do WinForms e é muito mais fácil de usar do que LocBaml.

Pesquisei um pouco no Google e encontrei esta página que descreve algumas maneiras de usar LocBaml, que inclui uma descrição muito detalhada sobre como mesclar os recursos gerados resources.resx e locbaml em um único arquivo (usando al.exe).

Localizando WPF usando LocBaml

A página descreve três maneiras de usar LocBaml e eu estava procurando a última etapa da abordagem 3.A propósito, muitas coisas boas nesse artigo

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