簡體   English   中英

angular-translate翻譯文件中的翻譯

[英]angular-translate translate in translation file

是否可以將變量傳遞到翻譯文件中,並在翻譯文件中進行翻譯?

// translation.json

"country":{
    "CHINA":"中國",
    "US":"United States"
}

"text":"I live in $translate('country.{{country}}'), {{ someOtherVar }}.

我相信下面的這種結構將幫助您實現所需的目標。

在英文翻譯文件中

"country": {
    "CHINA": "China",
    "US": "United States",
    ...
},
"text":"I live in {{country}}, {{ someOtherVar }}."

在中文翻譯文件中

"country": {
    "CHINA": "中國",
    "US": "美國",
    ...
},
"text":"我住在{{country}}, {{ someOtherVar }}."

在HTML中

<span translate="text" translate-values="{country: translated_country_name, someOtherVar: someothervar}"></span>

在控制器中

$scope.someothervar = // some value
var countrykey = //CHINA or US...
$translate('country.' + countrykey).then(function(trans){
    $scope.translated_country_name = trans;
})

您總是可以預處理翻譯文件(例如,通過$httpProvider.interceptors )。

但是您可以從(可能)范圍中獲得可用的country變量。 所以你應該這樣寫:

var country = ...;
country = $translate(country);
$scope.translatedText = $translate('text', { country: country, someOtherVar: 'value' });

您的text應位於:

"text":"I live in {{country}}, {{ someOtherVar }}."

在這里,您可以獲得動態翻譯的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM