2014-12-29 25 views
0

嗨,我正在開發一個Angular JS Web應用程序,支持兩種語言(英語和意大利語)。到目前爲止,我已經從我的HTML頁面做了所有翻譯,如下所示,它工作正常。如何翻譯Angular JS控制器中的innerHTML文本?

{{translation.ERROR_12}} 

現在我需要通過從控制器一些文字,像下面

case 'ERROR_12': document.getElementById("errorDiv").innerHTML= "Reporting error 12"; 
       break; 

我所有的翻譯都存儲在以.json文件。如果大小寫匹配,那麼我需要顯示相應的消息與翻譯。如果我像上面那樣對innerHTML文本進行硬編碼,那麼在非英文語言中它也會顯示相同的文本。我如何申請翻譯上述代碼?所以我不寫在innerHTML中的描述。
我應得的輸出應該是這樣的:

case 'ERROR_12': document.getElementById("errorDiv").innerHTML= $translate.ERROR_12; 
       break; 
+0

案 'ERROR_12':$(「#errorDiv)的.html($ translate.ERROR_12);將更好 –

+0

VAR someVar = $範圍$翻譯.ERROR_12; case'ERROR_12':$(「#errorDiv).html(someVar); –

+0

請在.json文件中發佈您的部分語言 –

回答

1

對於HTML部分

<div ng-app> 
<div ng-controller="TodoCtrl"> 
<div ng-click="callMeToSetErrorCode(1)" style="cursor:pointer">Click me to set error code1</div> 
    <div ng-click="callMeToSetErrorCode(2)" style="cursor:pointer">Click me to set error code2</div> 
    <div ng-click="callMeToSetErrorCode(3)" style="cursor:pointer">Click me to set error code3</div> 

<div id="toShowError"> 
    {{ErrorToshow}} 
</div> 
</div> 
</div> 

控制器部分:控制器TodoCtrl 功能TodoCtrl($範圍,$ rootScope){$ scope.allStatusInEng = {」 ERR_001「:」報告錯誤1「,」ERR_002「:」報告錯誤2「,」ERR_003「:」報告錯誤3「}; $ scope.allStatusInItalian = {「ERR_001」:「報告錯誤1 Italianno」,「ERR_002」:「報告錯誤2 Italianno」,「ERR_003」:「報告錯誤3 Italianno」};

alert("Helping Radha----"); 
$scope.ErrorToshow = ""; 
//If you know ,in which language in you need to show message you can set it as Default in a variable 
    //For example if you are using Italian language 

    // $scope.nameOfActivejson = "allStatusInItalian"; 
$rootScope.nameOfActivejson = "allStatusInItalian"; 
$scope.callMeToSetErrorCode = function(){ 

    $scope.currentErrorCode = "ERR_001"; 
    $scope.callSwitchCase($scope.currentErrorCode); 

    } 
$scope.callMeToRevertLang = function(){ 
    $rootScope.nameOfActivejson ="allStatusInEng"; 
    alert("Ok done" +$rootScope.nameOfActivejson); 

} 
$scope.callSwitchCase = function(presentError){ 
    alert($rootScope.nameOfActivejson); 
    alert(JSON.stringify($scope[$rootScope.nameOfActivejson])); 
    switch (presentError) { 
case 'ERR_001': 
    $scope.ErrorToshow = $scope[$rootScope.nameOfActivejson]['ERR_001']; 
    break; 
case 'ERR_002': 
    $scope.ErrorToshow = $scope[$rootScope.nameOfActivejson]['ERR_002']; 
    break; 
case 'ERR_003': 
    $scope.ErrorToshow = $scope[$rootScope.nameOfActivejson]['ERR_003']; 
    break; 

}}

}

+0

如果我這樣做,哪裏可以寫意大利語翻譯? – Radhakrishna

+0

@radha錯誤消息的意大利語翻譯? –

+0

是的,我維護兩個同樣的兩種語言的json文件鍵 – Radhakrishna

相關問題