簡體   English   中英

如何在Angular-Translate中使用ng-if

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

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