Upon further investigation into the functionality of ui-grid-datepicker, I came up with a creative workaround (as I couldn't find a straightforward solution).
You can view a modified plunker here where I altered the text of the close button:
http://plnkr.co/edit/za99R9wUOcM2s2EkHLsv?p=preview
The issue lies in the fact that the modification to change the label of the Done button must be applied to the element containing the "uib-datepicker-popup" directive.
Hence, if you wish to customize the label of the Done button, you are required to modify the ui-grid-settings library (which may not be an ideal solution but appears to be necessary).
Transforming from this:
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;
},
You should alter it as follows (notably adding the close-text attribute with a parameter):
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;
},
Subsequently, in your main file app.js, transition from this:
editableCellTemplate: '<div><form name="inputForm"><div ui-grid-edit-datepicker row-field="MODEL_COL_FIELD" ng-class="\'colt\' + col.uid"></div></form></div>'
to :
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>'
All that's left is to assign your variable closeLabelTranslated with your desired value, perhaps utilizing the angular-translate module (though not included in the plunker):
var closeLabelTranslated = $filter('translate')('DONE');
To reiterate, this might not be the cleanest solution, but since ui-grid-edit-datepicker doesn't offer this feature out-of-the-box, manual intervention seems unavoidable.