使用 $translateProvider.useUrlLoader

Using $translateProvider.useUrlLoader

我正在使用最新版本的 angularjsangular-translate.

出于某种原因,我不想将翻译存储在静态 .json 文件中(en_US.json 或 ru_RU.json)

angular-translate 中是否有任何 API 调用 REST API 进而 returns json 待翻译数据。 REST API 将提取数据库中的翻译存储。

故事看看:

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

默认情况下,它将使用查询字符串参数 ?lang= 来传递所需的语言。

你会像这样使用它:

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

Angular-translate 然后会调用 /path/to/my/endpoint?lang=en

如果您不需要查询字符串参数,而是想要路径参数,您可以基于 $translateUrlLoader 创建自己的加载器。查看源码,看起来很琐碎:

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