我有一个translate指令,它接受一个键并提供当前语言环境中可能是任何语言的文本。
例如,你可以这样做:
<p translate="yes">#App.MyString</p>
或
<p>{{'#App.MyString' | translate }}</p>
它将以所选文化的语言打印。
<p> This is my string </p>
处理翻译的过滤器是:
export class TranslateFilter {
public static build(getTextCatalog: Infrastructure.IGettextCatalog) {
var filter = (resourceKey, resourceType, resourcePrefix) => {
if (resourcePrefix != null) {
resourceKey = `${resourcePrefix}.${resourceKey}`;
}
return getTextCatalog.getString(`#${resourceType}.${resourceKey}`);
};
return filter;
}
}
我现在也想尝试将它与string.Format。
结合起来因此,如果#App.KeyString
包含这样的字符串:'Hi {0}. Welcome to {1}'
我可以使用动态值执行string.Format。
我可以在控制器中做到这一点,但我想知道是否可以在html文件上完成。
例如:
<p translate="yes" format="{{scope.name}},{{scope.place}}">#App.MyString</p>
或
<p>{{'#App.MyString' | translate | format:[$scope.name, $scope.place] }}</p>
会打印
'Hi Nick! Welcome to Narnia'
有什么想法吗?