[英]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.