2010-04-06 8 views
6

Potrzebujemy naszych tłumaczeń na inne języki. To pociąga za sobą zmianę nazw właściwości .text naszych widocznych kontrolek, a także innych literałów znajdujących się w naszych aplikacjach na dowolny język, na który musimy się tłumaczyć.Czy istnieje podejście oparte na najlepszych praktykach w zakresie internacjonalizacji aplikacji?

Czy jest to coś, co można łatwo osiągnąć za pomocą plików .resx? Zastanawiałem się nad stworzeniem listy klucz/wartość master resx, w której kluczem byłaby pełna nazwa kontrolki/zmiennej/stałej itd., A następnie refaktoryzacja naszych aplikacji, aby przejrzeć ten plik, aby uzyskać ich wartości na podstawie informacji o kulturze znalezionych na stronie środowisko wykonawcze?

Czy istnieje standardowe lub prostsze podejście do tego problemu?

+0

Jakie ramy to Twoja aplikacja? Formularz internetowy, formularz okna, wpf, silverlight? –

+0

3.5 winform app –

Odpowiedz

1

Istnieje dość kilka środków na to:

MSDN guide dla aplikacji ASP.NET.
Code Project example dla aplikacji WPF.

Masz rację myśląc, że można to osiągnąć poprzez użycie plików .resx. Zasadniczo tworzysz plik .resx dla każdego języka, który chcesz obsługiwać, a jeśli nadasz mu nazwę na podstawie ustawień regionalnych (EN-US, DE-DE, itd.), To zostanie on automatycznie pobrany.

3

Zapoznaj się z FairlyLocal, gdy masz szansę. Jest to biblioteka, która pozwala ci zrobić i18n za pomocą GetText, co pozwala ci na stosowanie najlepszych praktyk z reszty branży, a nie na rzeczy .resx, które MS stara się wymusić na tobie.

+0

Chcesz opracować? Nie jestem pewien, co jest nie tak z formatem .resx. –

+1

To po prostu nie jest tak dobre, jak alternatywa. Każda inna technologia używa GetText, nie bez powodu. To proste i proste. .resx to cokolwiek innego. Więcej tutaj: http://expatsoftware.com/articles/2010/03/why-internationalization-is-hopelessly.html –

+0

Dzięki za link. Mój poprzedni sklep korzystał z niestandardowego schematu i nigdy nie rozumiałam, dlaczego. Off, aby przeczytać ... –