2013-08-28 7 views
5

Pracuję nad projektem, w którym do internacjonalizacji używam pliku zasobów (.resx) do moich wiadomości sprawdzania poprawności i wiadomości informacyjnych. Działa dobrze po stronie serwera, a po stronie klienta również chcę korzystać z tego samego podejścia. Jestem całkiem nowy w tego rodzaju materiałach. Uczę się te wielkie blogi t uzyskać informacje na ten temat:C# Najlepszy sposób na plik zasobów użytkownika po stronie klienta w projekcie mvc - 4

http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx

http://afana.me/post/aspnet-mvc-internationalization.aspx

Na stronie klienta myślałem zrobić wywołanie ajax pobrać plik zasobów jako JSON. A następnie użyj go po stronie klienta. Chcę tylko wiedzieć, jakie podejście podjąłem. Czy jest dobry i zoptymalizowany, czy jest jakiś inny lepszy sposób na osiągnięcie tego samego?

Proszę dać mi znać najlepszy sposób, aby to osiągnąć?

Dzięki

Odpowiedz

0

ja widocznie wałęsał na kawałku tutaj, wersja krótka jest, jeśli trzeba zlokalizowane ciągi w JavaScript to polecam przy użyciu ukrytych pól do przechowywania przetłumaczonych wartości i chwycić z nich.

Istnieją dwie części do obsługi wielu języków, globalizacji i lokalizacji.

Globalizacja zajmuje się liczbami i związanymi z nimi kwestiami w oparciu o aktualne normy kultury. Na przykład w Stanach Zjednoczonych zapisalibyśmy 1000,00 $, podczas gdy w Niemczech (zakładając, że mój Googling jest prawidłowy) napisz 1.000,00 $ (waluty są również złożonym tematem, ale nie podlegają IMO).

Jest to nieco, że mamy wiele bibliotek JavaScript ponieważ Javascript często musi uczynić jakieś dane związek jako wyjścia użytkownika (na przykład podsumowując produktów w wózku bez konieczności ładowania strony)

Lokalizacja jest przetwarzanie tekstu strony, jest to obszar, w którym Javascript jest bardzo słaby. Powód jest słaby, ponieważ naprawdę nie powinno go potrzebować. Jedynym miejscem, w którym wymagana jest lokalizacja Javascript, jest renderowanie tekstu z Javascript, który jest dziwnym źródłem tekstu wyświetlanego na stronie internetowej.

Co zrobiłem, gdy potrzebowałem zlokalizować łańcuchy JavaScript (powiedzmy w przypadku monitu), to użyć ukrytego pola, które jest zapełniane przez narzędzia lokalizacyjne po stronie serwera. Wydaje się, że dobrze się zazębia z normalnym procesem i rozwiązuje problem czysto. Chociaż nie jest idealny, pomaga również zminimalizować ciągłe napisy w JavaScript, które są koszmarem lokalizacyjnym.

0

Mam kilka pomysłów na ten problem:

  1. jeden pomysł ist dokonania kontroler, który renderuje plik java-script, który ma jeden obiekt ze wszystkich zasobów potrzebnych dla strony (można również grupa je w inny sposób, ale nie jest dobrym pomysłem posiadanie jednego dużego pliku js-resource w twojej aplikacji).

Regulator gerenates obiektu takiego:

var resources = {}; 
resources.Yes = 'Yes'; 
resources.No = 'No'; 
resources.DeleteUser = 'Delete User?'; 

można uzyskać dostęp do tego łatwe w skrypcie:

if (alert(resources.DeleteUser)) { 
    // Delete User 
} 

Trzeba sprytny sposób na generowanie tych plików, na przykład ty może automatycznie przeskanować twój jscript dla instrukcji acess resource-acess i wygenerować te pliki.

  1. Napisz niestandardową procedurę obsługi plików jscript, zeskanuj ją dla wszystkich instrukcji dostępu do zasobów, np. zasoby. [...] i zastąp go wersją zlokalizowaną. Dostarcz jeden plik jscript dla każdego języka i użyj cachingu i zależności cache do pliku jscript, aby zwiększyć wydajność.
Powiązane problemy