当我使用" $ filter('翻译')(' HostName')"设置headerName或displayName时,如下所示
export default (($filter, modalHelper, $translate) => [{
displayName:$filter('translate')('HostName'),
headerCellFilter: 'translate',
headerFilter:'translate',
field: 'name',
width: 130,
filter: 'text'}]
const en = {
'HEADLINE': 'This is a test',
'HostName': 'This is Host Name',
'IPAddress': 'IP Address'}
export default {
en
}
const cn = {
'HEADLINE': '这是一个测试',
'HostName': '主机名',
'IPAddress': 'IP 地址'
}
export default {
cn
}
headerName只能显示一次,无法动态更改,当我运行changeLanguage函数时,如下文
function changeLanguage() {
$translate.use($scope.lang)
})
}
$scope.langs = ['English', '中文(简体)'];
$scope.lang = '中文(简体)';
$translateProvider.translations('English', translateEN.en)
.translations('中文(简体)', translateCN.cn)
.preferredLanguage('中文(简体)') // 默认 EN
如果有任何解决方案可以修复它? 谢谢。
答案 0 :(得分:1)
Seems可以用headerValueGetter
使用
headerValueGetter
代替colDef.headerName
来允许动态标头名称。
在headerValueGetter
函数中,您可以处理翻译
答案 1 :(得分:0)
您可能需要手动更改headerName
。
有一个名为refreshHeader()
,here's an example from the docs的函数。
或者,如果更容易,您可以重新加载整个列定义with setColumnDefs()
。