[英]angular directive ng-if in angular-translate translation string not working
[英]How to use ng-if with angular-translate
我正在使用Ionic框架編寫一個移動應用程序,也正在使用angular-translate,它的工作效果很好,但是我想根據用戶語言選擇以英語或西班牙語顯示內容。 我正在嘗試使用ng-if驗證條件,這是我的代碼的一部分:
<div class="tit" ng-if=" {{'LANGUAGE' | translate}} == en ">
{{adult.desdeAct}} - {{adult.titleAct}}
</div>
</div>
<div class="tit" ng-if=" 'LANGUAGE' | translate == sp ">
<div class="tit">
{{adult.desdeAct}} - {{adult.titleActEs}}
</div>
</div>
但是ng-if不能正常工作,我的意思是不驗證表達式。 有人可以給我小費嗎?
問候,caribesoft
那並不是您應該使用的翻譯方式。 這個想法是擁有一段HTML代碼,並為您要支持的語言提供鍵/值字典:
根據他們的文檔指南 ,您將看到以下內容:
app.config(['$translateProvider', function ($translateProvider) {
$translateProvider.translations('en', {
'LANGUAGE': 'Hello'
});
$translateProvider.translations('sp', {
'LANGUAGE': 'Hola'
});
$translateProvider.preferredLanguage('en');
}]);
現在,您已經為LANGUAGE
設置了值,您可以執行以下操作:
<div class="tit">
{{'LANGUAGE' | translate}}
</div>
我還制作了兩種語言的應用程序:英語和希臘語,而且我使用了一種不同的方式來切換語言。 您可以用這種方式代替使用ng-if語言。
使用{{'KEYTEXT' | translate}}
{{'KEYTEXT' | translate}}
的DIV中的文本,並在轉換表中添加這些密鑰和它們的價值。
如,
<div class="tit" >
<1--here will be Text -->
{{'KEYTEXT' | translate}}
</div>
然后在您的英語翻譯表中
{
"KEYTEXT" : 'English Text'
}
並在您的西班牙語翻譯表中
{
"KEYTEXT" : 'Spanish Text'
}
您應該使用Global變量並根據用戶選擇為其分配值,例如“ en”或“ sp”,然后根據相應的選擇顯示語言,例如:
if(user selects spanish) {
GlobalVariable = "sp";
$translateProvider.preferredLanguage(GlobalVariable);
}
<div class="tit" ng-if="GlobalVariable == 'sp' ">
{{{{'LANGUAGE' | translate}} }}
</div>
您也可以查看@Omri Aharon答案以獲得更好的理解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.