我正在使用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不是woking,我的意思是没有验证表达。 有人能给我一个小费吗?
此致 caribesoft
答案 0 :(得分:1)
那不是你应该如何使用翻译。我们的想法是拥有一段HTML代码,并为您想要支持的语言提供键/值词典:
根据他们的docs guide,你会有类似的内容:
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>
答案 1 :(得分:0)
我还用两种语言制作了一个应用程序:English&amp;希腊语,我用不同的方式在语言之间切换。而不是让ng-if用于语言交换,你可以用这种方式获得它。
使用{{'KEYTEXT' | translate}}
作为div内的文本,并在转换表中添加这些键及其值。
AS
<div class="tit" >
<1--here will be Text -->
{{'KEYTEXT' | translate}}
</div>
在您的ENGLISH翻译表中
{
"KEYTEXT" : 'English Text'
}
在您的西班牙语翻译表中
{
"KEYTEXT" : 'Spanish Text'
}
答案 2 :(得分:0)
你应该使用一个全局变量并为其赋值,例如&#34; en&#34;或者&#34; sp&#34;根据您的用户选择,然后根据选择显示语言,如:
if(user selects spanish) {
GlobalVariable = "sp";
$translateProvider.preferredLanguage(GlobalVariable);
}
<div class="tit" ng-if="GlobalVariable == 'sp' ">
{{{{'LANGUAGE' | translate}} }}
</div>
你也可以看看 @Omri Aharon 的答案,以便更好地理解。