2010-10-08 10 views
5

Załóżmy, że mam usługę WCF, ma ona wielu klientów w wielu językach. Właściwe byłoby użycie plików zasobów i zespołów satelitów w celu zapewnienia zlokalizowanych ciągów zasobów..NET Lokalizacja a branding

Jeśli te ciągi zasobów zostaną oznaczone marką, na przykład dwa klienty w tym samym kraju, w tym samym języku, ale mają inną terminologię, czy utworzę osobny plik resx z oddzielnym zestawem satelitarnym, czy też czegoś brakuje?

Dodanie markowego zestawu satelitarnego dla tego klienta oznaczałoby dużą nadmiarowość dla ciągów zasobów, które nie są oznakowane marką. Ale jednocześnie potrzebują wszystkich łańcuchów zasobów, aby były markowe.

+0

Miej oko na to pytanie: http://stackoverflow.com/q/3894135/135787 – ulty4life

Odpowiedz

1

Mieliśmy do czynienia z tymi samymi problemami (klienci byli w stanie dostosować wstępnie dostarczone tłumaczenie), a zespoły satelitarne nie rozwiązały naszego problemu. Zasoby i złożenia są bardziej odpowiednie dla stabilnych treści.

W efekcie zapisaliśmy wszystkie te ciągi zasobów w bazie danych i załadowaliśmy je do pamięci podręcznej przy pierwszym uruchomieniu aplikacji.

0

Zmierzyłem się z tym problemem w jednym projekcie; Wylądowałem, pisząc własny kod, aby odczytać ciągi z pliku XML, który jest w tym samym formacie, co plik wejściowy do kompilatora zasobów. Następnie dla każdego klienta mieliśmy listę plików "wiadomość", aby spróbować w kolejności; użyliśmy wiadomości z pierwszego pliku, który ją zawierał. (Korzystając z formatu pliku zasobów, tłumacze mogą używać narzędzi, do których byli przyzwyczajeni.)

Było to oczywiście zrobione przy użyciu pamięci podręcznej danych w pamięci po uzyskaniu dostępu do pliku wiadomości po raz pierwszy.