Pregunta

Entiendo que el enfoque recomendado para la localización en WPF es usar la herramienta LocBaml para extraer los elementos localizables en, p. un archivo csv, traduzca los elementos al idioma deseado y regenere un nuevo conjunto de satélites a partir de este archivo csv. Sin embargo, según mis experimentos, esto parece entrar en conflicto con la generación de conjuntos de satélites a partir de archivos resources.resx, ya que ninguno combina los recursos en un solo archivo de recursos, sino que simplemente anula cualquier conjunto de satélites existente.

¿Existe un enfoque recomendado (o incluso mejor, una herramienta existente) para hacer una fusión? de salida de LocBaml / generate y la salida de ejecutar resgen en un archivo resources.resx (que VS realiza de forma predeterminada en las compilaciones). ¿Alguien está abordando los mismos problemas?

¿Fue útil?

Solución

Debe hacer esto manualmente, generando .resources desde LocBaml y luego fusionando los recursos de Resx y BAML usando el enlazador de ensamblados.

El proceso se parece a esto:

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

(todo en una línea en un archivo por lotes).

Puede colocar lo anterior en un archivo por lotes personalizado para su proyecto. Recuerde que LocBaml tiene que estar en la misma carpeta que sus archivos de salida. Puede agregar esto como una tarea posterior a la compilación.

Otros consejos

Prefiero usar el WPF Localization Extension que puede encontrar en codeplex para localizar mi proyecto WPF.

Le permite usar el mismo enfoque que WinForms y es mucho más fácil de usar que LocBaml.

Busqué en Google un poco y encontré esta página que describe algunas maneras de usar LocBaml, que incluye una descripción muy detallada sobre cómo combinar los recursos resources.resx y locbaml en un solo archivo (usando al.exe).

Localizando WPF usando LocBaml

La página describe tres formas de usar LocBaml y estaba buscando el último paso en el enfoque 3. Por cierto, muchas cosas buenas en ese artículo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top