Объедините LocBaml и Ресурсы в единую спутниковую сборку - PullRequest
5 голосов
/ 10 ноября 2008

Насколько я понимаю, рекомендуемый подход к локализации в WPF заключается в использовании инструмента LocBaml для извлечения локализуемых элементов, например, в. CSV-файл, перевести элементы на нужный язык и восстановить новую сборку спутника из этого CSV-файла. Однако из моих экспериментов это, кажется, вступает в конфликт с генерацией спутниковых сборок из файлов resources.resx, поскольку ни одна из них не объединяет ресурсы в один файл ресурсов, а просто переопределяет любую существующую спутниковую сборку.

Есть ли рекомендуемый подход (или, что еще лучше, существующий инструмент) для выполнения «слияния» выходных данных из LocBaml / generate и выходного файла resgen для файла resources.resx (который по умолчанию выполняется VS для строит). Кто-нибудь там занимается такими же проблемами?

Ответы [ 3 ]

3 голосов
/ 14 июня 2009

Это необходимо сделать вручную, создавая .resources из LocBaml и затем объединяя ресурсы Resx и BAML с помощью компоновщика Assembly

Процесс выглядит примерно так:

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

(все в одной строке в пакетном файле).

Вы можете поместить вышеперечисленное в пакетный файл, настроенный для вашего проекта. Помните, что LocBaml должен находиться в той же папке, что и ваши выходные файлы. Вы можете добавить это как задачу пост-сборки.

1 голос
/ 11 ноября 2008

Я предпочитаю использовать проект Расширение локализации WPF , который вы можете найти в codeplex , для локализации моего проекта WPF.

Он позволяет использовать тот же подход, что и WinForms, и намного проще в использовании, чем LocBaml.

0 голосов
/ 11 ноября 2008

Немного погуглил и нашел эту страницу, описывающую несколько способов использования LocBaml, в которой приведено очень подробное описание того, как объединить сгенерированные ресурсы resources.resx и locbaml в один файл (используя al.exe).

Локализация WPF с использованием LocBaml

На странице описаны три способа использования LocBaml, и я искал последний шаг в подходе 3. Кстати, много полезного в этой статье

...