PizzaMVC - lokalizowanie zasobów

A miało być tak pięknie… Po świętach miałem zrobić proste zadanie i od razu napisać o tym krótkiego posta. No, ale nieco poległem na dość prostym zadaniu - lokalizacji aplikacji. Tzn. lokalizacja aplikacji była prosta, problemy się narodziły przy lokalizowaniu komunikatów o błędach oraz debugowaniu System.Web.Mvc.dll. Ale o tym będą inne posty, o ile wcześniej nie zwariuję.

Nic niezwykłego

A teraz króciutko o lokalizacji napisów GUI w PizzaMVC. Użyłem do tego standardowego w .NET mechanizmu zasobów przechowywanych w plikach resx. W Warszawie i Łowiczu na nie narzekają, ale że ja nie stamtąd, to jak na razie mi wystarczają. :P Tworzenie plików jest proste, to że trzeba dodać sufiks z kodem kultury (np. pl-PL), aby zasoby zostały wczytane dla innych ustawień regionalnych dość intuicyjne. Najtrudniejsze jest oczywiście nazywanie zasobów, tak aby nie stworzyć bałaganu.

Po przemyśleniach zdecydowałem się podzielić zasoby na rodzaje, które odróżniam za pomocą prefiksów. (Odrobina notacji węgierskiej nikomu przecież jeszcze nie zaszkodziła. ;)) Moje prefiksy to:

Prefiks Opis
DialogButton przycisk okna dialogowego
Dialog tekst na oknie dialogowym
Editor element formularza edycji
FormButton przycisk formularza
GridButton przycisk umiesczony wewnątrz grida
GridSearch element wyszukiwarki grida
LoginPage tekst na domyślnym widoku logowania
ChangePassword tekst na domyślnym widoku zmiany hasła
ViewTitle domyślny tytuł widoku
Link globalny link

Nie mówię, że są idealne, ale takie będą do odwołania.

Gotowy plik zasobów wygląda tak:

Resources file

Ale to nie wszystko

Mając już zlokalizowane teksty elementów GUI, wziąłem się za lokalizowanie domyślnych komunikatów błedów ASP.NET MVC. Okazało się to na tyle skomplikowane, że w końcu wydzieliłem z tego oddzielne issue na GitHubie. Mam zamiar niebawem je skończyć i opisać.

Opublikowano: