使用 $translateProvider.useUrlLoader
Using $translateProvider.useUrlLoader
我正在使用最新版本的 angularjs 和 angular-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
我正在使用最新版本的 angularjs 和 angular-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