2008-11-10 9 views
5

Rozumiem, że zalecanym podejściem do lokalizacji w WPF jest użycie narzędzia LocBaml w celu wyodrębnienia elementów lokalizowalnych do np. plik csv, przetłumacz elementy na żądany język i zregeneruj nowy zestaw satelitów z tego pliku csv. Jednak z moich eksperymentów wydaje się, że jest to sprzeczne z generacją zestawów satelitarnych z plików resources.resx, ponieważ żaden nie łączy zasobów w pojedynczy plik zasobów, ale po prostu zastępuje każdy istniejący zestaw satelitarny.Połączyć LocBaml i zasoby w pojedynczym zestawie satelitarnym

Czy istnieje zalecane podejście (lub jeszcze lepiej, istniejące narzędzie) do wykonywania "scalania" danych wyjściowych z LocBaml/generate i danych wyjściowych działania programu resgen w pliku resources.resx (co domyślnie odbywa się za pomocą VS na kompilacjach). Czy jest ktoś, kto radzi sobie z tymi samymi problemami?

Odpowiedz

3

trzeba to zrobić ręcznie generowanie .resources z LocBaml, a następnie łączenie zasobów Resx i BAML za pomocą łącznika Assembly.

Proces wygląda tak:

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 

(wszystko w jednej linii w pliku wsadowym).

Możesz umieścić powyższe w pliku wsadowym dostosowanym do projektu. Pamiętaj LocBaml musi w tym samym folderze, co pliki wyjściowe. Możesz dodać to jako zadanie tworzenia wiadomości.

1

Preferuję użyć projektu WPF Localization Extension, który można znaleźć na codeplex, aby zlokalizować mój projekt WPF.

Pozwala na stosowanie tego samego rozwiązania niż WinForm i jest znacznie łatwiejszy w użyciu niż LocBaml.

0

Przeszukiwano trochę i znalazłem tę stronę opisującą kilka sposobów użycia LocBaml, który zawiera bardzo szczegółowy opis łączenia zasobów resources.resx i locbaml w jeden plik (przy użyciu programu al.exe).

Localizing WPF using LocBaml

Strona opisuje trzy sposoby wykorzystania LocBaml i szukałem ostatnim etapie podejścia 3. Wiele dobrych rzeczy w tym artykule drodze

Powiązane problemy