Javascript 角度平移

Javascript 角度平移,javascript,angularjs,angular-translate,Javascript,Angularjs,Angular Translate,在我的应用程序中,我想添加将页面翻译成用户在浏览器中设置的所有语言的功能,如果这些语言都不可用,则翻译成默认英语。。。问题是浏览器与语言支持不一致。我找到了一个解决方法,我对一些返回用户语言的Web服务进行了http调用。这是在app.run中完成的 app.run(function($rootScope, UserDataService, $translate){ UserDataService.getUserBrowserLanguage().then(function(language)

在我的应用程序中,我想添加将页面翻译成用户在浏览器中设置的所有语言的功能,如果这些语言都不可用,则翻译成默认英语。。。问题是浏览器与语言支持不一致。我找到了一个解决方法,我对一些返回用户语言的Web服务进行了http调用。这是在app.run中完成的

app.run(function($rootScope, UserDataService, $translate){

UserDataService.getUserBrowserLanguage().then(function(language){



    var langArr = language.split(',').map(function(el){
            return el.split(';')[0].split(/-|_/)[0];
        });


    $translate.fallbackLanguage(langArr)
    $translate.preferredLanguage(langArr[0]);
    $translate.use(langArr[0]);
});
}))

和应用程序内配置:

app.config(function ($routeProvider, $translateProvider) {

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

});
节,因为我无法在配置中进行http调用,但它失败了…:/语言已加载,但翻译未更改。。。我做错了什么?这是普朗克:


它不显示任何内容没有翻译。。。为什么?(我非常乐意提供任何帮助。

至于您的问题,由于以下错误,视图没有显示任何内容:

几处错误: 首先,ng应用程序应该移动到html标记

<html ng-app="translateApp">
用我的评论修复了你的plunker:

至于$translate的工作方式,我对这项服务并不十分熟悉,但我会尝试一下

编辑: 我研究$translate服务是为了给您一个完整的答案,包括修复您使用translate的方式,因此首先我在尝试使用translate.instant之前设置了2秒的超时,原因是我允许translate在配置中加载JSON文件

我添加了两个按钮,这样你可以在两种语言之间切换,并看到它正在工作

享受!这里是最新的工作。
这是我使用的翻译网站。

是的,它可以工作,但不是预期的…它可以翻译成英语,但首先应该翻译成中文,假设您已经选择了例如非洲人、中国人、英语…关于您配置翻译服务的方式,我会尽快尝试查看。我的答案是针对您的问题,修复所有错误,以便您能够我能正确使用翻译服务。如果我回答了你的原始问题,你可以标记我的答案:)无论如何,我没有忘记你。呵呵,没有问题:)现在它只起作用,但没有预期的效果…我的意思是标记我的答案回答了你的问题,但不要紧,我会继续帮助你。嗨,阿迪86,在我的回答中,你会发现两个部分:第一部分:纠正你的角度问题第二部分:纠正你的翻译问题。享受吧!抱歉或Guz,但当您加载翻译时,它仍然无法解决问题。此外,添加steTimeout不是一个好主意:)还有另一个选项,您可以为translate instant添加$watch。此外,它不是错误的语言,而是您配置它使用的语言。
<div ng-controller="mainCtrl">
  $scope.translation = $translate.instant('GENERAL');