2014-03-07 117 views
7

我的角度控制器可能會生成消息,我打算使用角度翻譯進行翻譯。Angular-Translations:動態查找翻譯鍵的顯示翻譯

在控制器我目前一個變量分配給翻譯鍵,如:

$scope.info = "core.projectconfig.created"; 

如該鍵有其翻譯指定爲

core.projectconfig.created <=> 'Project {{projectName}} created successfully' 

正如你所看到的,我還需要在翻譯中替代projectName。

我想這樣的事情在我看來

<P translate="{{info}}", translate-values="{projectName : projectData.ProjectName}"></p> 

,但它不工作。我如何翻譯動態找到的翻譯鍵,並在翻譯後的行中添加一個範圍變量?

+0

是'projectData'定義在你的範圍內?你有任何錯誤? – PascalPrecht

+0

@PascalPrecht,很高興在這裏有作者。 :)請你確認我的語法是正確的,應該工作嗎?那麼這就意味着翻譯的其他部分,即其他人編碼的部分,並沒有被應用。 –

+2

是的語法看起來不錯。 – PascalPrecht

回答

3

您可以在控制器中注入$ translate指令,該指令由https://github.com/angular-translate/angular-translate提供。

以後使用$翻譯這樣的動態密鑰:在您的消息

$translate(translation_key) 

範圍變量可以使用方法如下:

$translate(translation_key, { scope_variable_key: $scope_value }) 

如:$translate("core.projectconfig.created", { projectName: $scope.projectData. ProjectName })

+0

你好Monika,請幫助我下面的離子幻燈片標籤不會翻譯當我切換語言,但它會正常工作時,我關閉,並再次打開應用程序它將翻譯,但不是在一次