gpt4 book ai didi

javascript - 当我更改语言时, Angular 翻译不会刷新 Controller 中的翻译

转载 作者:行者123 更新时间:2023-12-03 06:03:24 25 4
gpt4 key购买 nike

我在更改 Controller 中的语言时遇到问题。当我选择另一种语言时,模板中的值会更改正确的翻译,但 Controller 中的翻译仍然相同。
我该如何解决这个问题?

我使用useStaticFilesLoader

.config(function($translateProvider) {
$translateProvider.useStaticFilesLoader({
prefix: 'lang/',
suffix: '.json'
});

$translate(['safemode_title','safemode_message','server_error']).then(function (translations) {
$scope.safemode_title = translations.safemode_title;
$scope.safemode_message = translations.safemode_message;
$scope.serverError = translations.server_error;
});

最佳答案

尝试收听 $translateChangeStart事件,以便您能够了解用户何时更改语言。

因此,将代码更改为:

$rootScope.$on('$translateChangeStart', function (event, a) {
$translate(['safemode_title','safemode_message','server_error']).then(function (translations) {
$scope.safemode_title = translations.safemode_title;
$scope.safemode_message = translations.safemode_message;
$scope.serverError = translations.server_error;
});
});

对于 ng-translate (以及过滤器),你不需要这个监听器,因为它会自动为你完成。

显然,请记住注入(inject) $rootScope 依赖项。

关于javascript - 当我更改语言时, Angular 翻译不会刷新 Controller 中的翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39657838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com