2016-06-07 24 views
0

我有一個字符串「你好,我的名字是{0}。我來自{1}」和一個排序數組[「Michael」,「Berlin」]。如何翻譯和使用數組的順序值?

我想把{0}中的第一個數組元素,{1}中的第二個數組元素,依此類推。我怎樣才能實現這個角度翻譯?

回答

1

如果您可以將您的陣列從簡單的「無鑰匙」排序到一個不錯的json關聯對象,對我們來說會更容易e模板,如

Hello, my name is {name}. I'm from {city} 

然後讓模塊完成工作通過指令(接收來自其他答案的陣列定義):

<span translate translate-values="{'name': vm.array[0], 'city': vm.array[1]}"></span> 

使用這種方法,您將得到您想要的。但建議在開始時使用結構化對象而不是簡單的數組。

有關替換功能的文檔可以參考here

0

你可以把你想要翻譯的文本放在不同的字符串中,並單獨翻譯它們。

var app = angular.module('moduleName', ['pascalprecht.translate']); 

app.config(function ($translateProvider) { 
    $translateProvider.translations('en', { 
    'HELLO': 'Hello, my name is ', 
    'IM_FROM': 'Im from ' 
    }); 
    $translateProvider.translations('fr', { 
    //your translation in other languages 
    }); 
    $translateProvider.preferredLanguage('en'); 
}); 

你可以在這裏閱讀單證:angular-translate

在你的控制器定義數組:

vm.array = ["Michael", "Berlin"] 

在你的HTML:

<div translate="HELLO"></div>{{vm.array[0]}}. 
<div translate="IM_FROM"></div>{{vm.array[1]}}