Rozglądałem się za tworzeniem aplikacji odpowiednich dla wielu języków w C #, ponieważ muszę pracować nad małym projektem, w którym tak jest. Zasadniczo znalazłem na to dwa sposoby:
Ustaw właściwość Localizable formularza na true, ustaw właściwość Language, wypełnij wszystkie etykiety i tym podobne, i gotowe. Główną wadą, jaką w tym widzę, jest: jak tworzyć inne rzeczy, które nie są częścią formularza gotowego dla wielu języków (np. Wyskakujące okienka, pliki dziennika lub okna itp.).
Utwórz plik zasobów, na przykład „Lang.en-us.resx” i po jednym dla każdego języka, na przykład „Lang.nl-nl.resx” i wypełnij go ciągami znaków. Wydaje się, że IDE automatycznie generuje dla mnie klasę, więc w kodzie mogę po prostu użyć Lang.SomeText. Największą wadą, jaką w tym widzę, jest to, że dla każdego formularza muszę samodzielnie ustawić wszystkie etykiety i inne podpisy w kodzie (i nie wydaje się, aby wiązanie danych działało z tymi zasobami).
Jestem jednak pewien, że istnieją również inne metody, aby to zrobić.
Jaka jest więc najlepsza praktyka? Co jest najłatwiejsze dla małych aplikacji (kilka formularzy, połączenie z bazą danych itp.) I jaka skala jest najlepsza dla większych aplikacji?