首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular-translate翻译文件中的翻译

angular-translate翻译文件中的翻译
EN

Stack Overflow用户
提问于 2015-04-17 06:27:03
回答 2查看 428关注 0票数 0

是否可以将变量传递到转换文件中,并在转换文件中对其进行转换?

// translation.json

代码语言:javascript
复制
"country":{
    "CHINA":"中国",
    "US":"United States"
}

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

回答 2

Stack Overflow用户

发布于 2015-04-17 09:19:05

我相信下面的结构会帮助你实现你想要的东西。

在英文翻译文件中

代码语言:javascript
复制
"country": {
    "CHINA": "China",
    "US": "United States",
    ...
},
"text":"I live in {{country}}, {{ someOtherVar }}."

在中文翻译文件中

代码语言:javascript
复制
"country": {
    "CHINA": "中国",
    "US": "美国",
    ...
},
"text":"我住在{{country}}, {{ someOtherVar }}."

在HTML中

代码语言:javascript
复制
<span translate="text" translate-values="{country: translated_country_name, someOtherVar: someothervar}"></span>

在控制器中

代码语言:javascript
复制
$scope.someothervar = // some value
var countrykey = //CHINA or US...
$translate('country.' + countrykey).then(function(trans){
    $scope.translated_country_name = trans;
})
票数 1
EN

Stack Overflow用户

发布于 2015-04-17 09:13:42

您可以始终对转换文件进行预处理(例如,通过$httpProvider.interceptors)。

但是您可以从(可能)作用域中获得country变量。所以你应该写这样的代码:

代码语言:javascript
复制
var country = ...;
country = $translate(country);
$scope.translatedText = $translate('text', { country: country, someOtherVar: 'value' });

你的text应该在哪里:

代码语言:javascript
复制
"text":"I live in {{country}}, {{ someOtherVar }}."

这里有dynamic translation的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29687067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档