/ / Ember i internacjonalizacja: prośba o najlepsze praktyki i podejście wdrożeniowe - internacjonalizacja, ember.js, aplikacja jednostronicowa

Ember i internacjonalizacja: prośba o najlepsze praktyki i podejście wdrożeniowe - internacjonalizacja, ember.js, aplikacja jednostronicowa

Pracuję nad pojedynczą aplikacją strony wymagającą funkcji internacjonalizacji (tłumaczenie wszystkich ciągów statycznych na język użytkownika oraz ustawienie formatu daty i waluty).

Używam Ember.js, więc większość ciągów statycznych znajduje się w plikach html (w szablonach lub widokach) lub w typowych komunikatach JavaScript, takich jak "Czy na pewno chcesz usunąć ..." (część plików kontrolera).

Poszukuję najlepszych praktyk i doświadczeń dotyczących tego, jak wyodrębnić z aplikacji wszystkie te ciągi i inne specyficzne locale.

Widzę głównie problem z faktem, żejęzyk użytkownika jest określany tylko po zalogowaniu. Ale w tym momencie kompletna aplikacja jest już załadowana (po angielsku) i dlatego "przekierowanie" na inny język nie jest możliwe (chyba że wczytasz wszystkie ciągi wszystkich możliwych języków przy uruchomieniu aplikacji - ale wymagałoby to zbyt dużej ilości danych ładowane przy starcie).

Wszelkie opinie są mile widziane!

-- AKTUALIZACJA --

Znalazłem w międzyczasie bibliotekę ember-i18n, której mogę użyć do tłumaczenia struny (https://github.com/jamesarosen/ember-i18n).

Pozostaje jednak moje główne pytanie: jak załadować dynamicznie pliki translation.js odpowiadające wybranemu językowi lub odpowiadające językowi użytkownika po zalogowaniu?

Czy istnieje sposób na zapisanie wybranego języka, aby przy następnym uruchomieniu aplikacji aplikacja używała poprawnego języka (w ten sposób załaduj poprawny plik tłumaczeń przed renderowaniem interfejsu użytkownika).

Mam nadzieję, że ktoś może pomóc.

Marc

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz zapisać ustawienia językowe w pliku cookie, ale to nie jest podejście 100%. Lub po prostu załaduj json tłumaczenia z wywołaniem ajax, jak tylko znasz język.