2016-05-31 47 views
0

我目前正在嘗試將角度轉換應用於我的項目。 這個問題是我不希望我的app.js被翻譯填充,我寧願將它放在一個翻譯文件夾中的單獨文件中。如何在單獨的文件中獲得角度轉換

我的項目結構看起來是這樣的:

wwwroot 
-- css 
-- images 
-- js 
--- controllers 
--- directives 
--- filters 
--- services 
--- app.js 
-- resources 
--- locale-nl.json 
--- translate.js 
-- views 

我app.js看起來simular這樣:

angular.module('testApp', ['ngRoute', 'ngResource', 'ui.bootstrap', 'ngAnimate', 'angular-loading-bar', 'smart-table', 'pascalprecht.translate']); 

我translate.js文件看起來像這樣:

angular.module("testApp").config([ 
    "$translateProvider", function ($translateProvider) { 
     $translateProvider.useLocalStorage(); 
     $translateProvider.useStaticFilesLoader({ 
      prefix: "resources/locale-", 
      suffix: ".json" 
     }); 
     $translateProvider.preferredLanguage("nl"); 
    } 
]); 

locale-nl.json如下所示:

{ 
    "FOO": "This is a paragraph", 
    "TITLE": "Helloooo" 
} 

在我的main.html中我有一個正常的平移值:

{{ 'TITLE' | translate }} 

,在我mainController我有這樣的:

"use strict"; 

angular.module("testApp") 
    .controller("MainController", function ($scope, $translate, userRole) { 
     var vm = this; 
     vm.role = userRole; 
     console.log(vm.role); 
    }); 

,但似乎沒有得到翻譯,並沒有看在不同的文件。

+0

我使用'$ translatePartialLoader'所以不完全一樣的東西,但在文件中我可以使用'folder/fileBegining- {lang} .json',它會自動替換'{lang}'。 請注意,該語言可以在語言環境(例如:'en_GB'語法) – Neozaru

+0

有可能向我展示一些代碼如何實現這一目標?除了在我的json網址中有一個變量,我的技術還有另一個區別嗎? –

回答

0

添加registerAvailableLanguageKeys你的代碼,根據所公佈各靜態文件的語言鍵:

angular.module("testApp").config([ 
    "$translateProvider", function ($translateProvider) { 
     $translateProvider.useLocalStorage(); 
     $translateProvider.registerAvailableLanguageKeys(['en', 'de', 'nl',  
     etc..]); 
     $translateProvider.useStaticFilesLoader({ 
      prefix: "resources/locale-", 
      suffix: ".json" 
     }); 
     $translateProvider.preferredLanguage("nl"); 
    } 
]); 
+0

添加到?應該刪除其他內容嗎?如果你將一個包含該行的完整功能包含在其中,這將更加清晰。這樣,沒有人會猜測你的意思 – Thatkookooguy

+0

我試過你的解決方案,但由於某種原因,我的單詞stil不會被翻譯。我沒有收到任何錯誤消息, –

+0

可以在代碼中顯示您使用'$ translateLocalStorage'嗎? – AranS

0

在我一飲而盡文件包括我從我的js文件夾中的所有我.js文件。 translate.js位於我的js文件夾之外。
我移動了我的js文件夾中的translation.js,現在它正在工作。

相關問題