0

您好,我使用 angular-translate 模块创建了基本的 angularJS 应用程序。在配置中,除了我的路由之外,我还有$translateProvider负责翻译表和首选语言的配置。

所以这段代码:

$translateProvider.preferredLanguage('en');

在 Angularconfig()函数中。

我知道 config 是先执行的,然后run()是控制器和其他。我也知道在配置中必须只有提供者不能注入例如$rootScope那里。

在我的项目中,通过调用单个端点,$http我收集了有关用户进入此应用程序的国家/地区的信息。这发生在run().

我尝试使用$rootScope(在此run()):

$rootScope.homeCountry = response.data.country;
$rootScope.homeCountryLower = $rootScope.homeCountry.toLowerCase();
console.log($rootScope.homeCountryLower);

它在我的情况下控制台输出“pl”,但我最终了解到我无法传递$rootScope给配置,因为它不是提供者。

我需要将此信息传递给$translateProvider配置函数,以便能够根据用户国家/地区设置首选用户语言。

我怎样才能做到这一点?

4

0 回答 0