2015-02-02 14 views
6

Używam najnowszej wersji angularjs i angular-translate.

Z jakiegoś powodu, nie chcę, aby zapisać swoje tłumaczenia w statycznych .json plików (en_US.json lub ru_RU.json)

Czy istnieje API w kątowe-translate który nazywa REST API, który z kolei zwraca json dane do tłumaczenia. Interfejs API REST spowoduje pobranie magazynu tłumaczeń w bazie danych.

Odpowiedz

7

Tale spojrzenie na.

http://angular-translate.github.io/docs/#/api/pascalprecht.translate $ translateUrlLoader

domyślnie będzie korzystał z param ciągu kwerendy ?lang= przejść w żądanym języku.

byłoby go używać jak:

$translateProvider.useUrlLoader("/path/to/my/endpoint"); 
$translationProvider.defaultLanguage("en"); 

kątowa-translate będzie następnie nawiązać połączenie /path/to/my/endpoint?lang=en

Jeśli nie chcesz parametru ciąg kwerendy, ale raczej parametr ścieżka, można utwórz własny program ładujący oparty na $ translateUrlLoader. Patrząc na źródło, wygląda bardzo trywialne:

https://github.com/angular-translate/angular-translate/blob/master/src/service/loader-url.js

+0

Czy istnieje przykładowy przykład $ translateUrlLoader? Czy zamiast tego można użyć programu $ translateProvider.useUrlLoader? – NoobDeveloper

+0

$ translateUrlLoader to fabryka, której używa $ tranlateProvider.useUrlLoader (...). Dodałem przykład do mojej odpowiedzi. – Martin

+0

Dzięki. Jaka jest najlepsza praktyka, jeśli chodzi o lokalizację? Czy mogę załadować tłumaczenia na stronę lub załadować tłumaczenia dla poszczególnych ustawień dla całej witryny jednocześnie? – NoobDeveloper