0

在这个plunker示例中,有没有办法翻译 angular ui-datepicker 中的按钮。我尝试close-text="{{\'lblClose\' | translate}}" current-text="{{\'lblToday\' | translate}}" clear-text="{{\'lblClear\' | translate}}"像其他 Angular ui-datepicker 一样添加,但它不起作用。任何帮助真的很感激

4

2 回答 2

1

你可以通过更新这样的指令来做到这一点<div class="datepicker-wrapper" ><input uib-datepicker-popup is-open="isOpen" ng-model="' + attrs.rowField + '" ng-change="changeDate($event)" close-text="closeText" current-text="curentText" clear-text="clearText"on-open-focus="false" disabled/></div> 请查看这个plunker的结果

于 2017-03-06T10:43:26.430 回答
0

在深入了解 ui-grid-datepicker 的工作原理后,我发现了一个肮脏的解决方案(我认为没有干净的解决方案)

你可以在这里看到一个 plunker 我更改了关闭按钮的文本: http ://plnkr.co/edit/za99R9wUOcM2s2EkHLsv?p=preview

问题是更改完成按钮的设置必须应用于具有指令“uib-datepicker-popup”的元素

因此,如果您想修改“完成”按钮的标签,则必须更改 ui-grid-settings 库(这不是一个好的解决方案,但我没有看到任何其他方式)。

由此:

    template: function(element, attrs) {
        var html = '<div class="datepicker-wrapper" ><input uib-datepicker-popup is-open="isOpen" ng-model="' + attrs.rowField + '" ng-change="changeDate($event)" on-open-focus="false" disabled/></div>';
        return html;
    },

您将其更改为(注意我添加了带有参数的 close-text 属性):

    template: function(element, attrs) {
        var html = '<div class="datepicker-wrapper" ><input uib-datepicker-popup is-open="isOpen" close-text="' + attrs.closeLabel + '"  ng-model="' + attrs.rowField + '" ng-change="changeDate($event)" on-open-focus="false" disabled/></div>';
        return html;
    },

然后在你的主文件 app.js 中,从这里:

editableCellTemplate: '<div><form name="inputForm"><div ui-grid-edit-datepicker row-field="MODEL_COL_FIELD" ng-class="\'colt\' + col.uid"></div></form></div>'

你把它改成:

editableCellTemplate: '<div><form name="inputForm"><div ui-grid-edit-datepicker close-label="' + closeLabelTranslated  + '" row-field="MODEL_COL_FIELD" ng-class="\'colt\' + col.uid"></div></form></div>'

剩下的唯一事情是将变量 closeLabelTranslated 设置为您想要的任何内容,例如使用 angular-translate 模块(我没有将其添加到 plunker):

 var closeLabelTranslated = $filter('translate')('DONE');

就像我说的那样,这是一个肮脏的解决方案,但似乎 ui-grid-edit-datepicker 没有为您提供此选项,因此您必须手动添加它

于 2017-03-03T14:29:39.043 回答