$mdDialog ok/cancel 翻译 angular

$mdDialog ok/cancel with angular translation

1) $mdDialog 需要在 js 中设置,我找不到一种方法来定义在 HTML 代码中创建对话框所需的属性。因为我需要翻译 okcancel 按钮,所以我需要在 HTML 中构建对话框(至少部分)(因为建议在视图中进行翻译)。我似乎不知道该怎么做。

2) htmlContent 需要加载注入的 HTML 页面。 _disclaimer.html,我想我也许可以删除按钮 (ok/cancel) 并在免责声明中设置它们,我似乎也无法弄清楚这个。

我想要一个带有翻译 ok/cancel 按钮和注入 HTML 页面 (_disclaimer.html) 的模式。我不介意在 _disclaimer.html 中编写 ok/cancel 按钮。请给我指明正确的方向

        var showDisclaimer = function showDisclaimer()  {
            var confirm = $mdDialog.confirm()
                .title('Are you sure to delete the record?')
                .htmlContent('my html content')
                .ok('Yes')
                .cancel('No');
            $mdDialog.show(confirm).then(function () {
                $scope.status = 'Record deleted successfully!';
            }, function () {
                $scope.status = 'You decided to keep your record.';
            });
        };

我假设您已经正确加载 pascalprecht.translate 并为您想要的任何内容添加了翻译。 (OK/Cancel 在这种情况下)。现在您可以在您的控制器中转换它们并在您的视图中为该值建模。例如 controller.js

 app.controller('TranslateMe', ['$scope', '$translate', function ($scope, 
  $translate) {
  $translate('PAGE.OK')
    .then(function (translatedValue) {
        $scope.ok = translatedValue;
    });
$translate('PAGE.CANCEL')
    .then(function (translatedValue) {
        $scope.cancel = translatedValue;
    });
}); 

同样适用于您想要的任何其他值。值不需要在 html 中进行翻译。正如我上面提到的,您甚至可以在 controller 中翻译它们。现在,对于 ok/cancel 的翻译文本,您可以执行类似

的操作
var showDisclaimer = function showDisclaimer()  {
        var confirm = $mdDialog.confirm()
            .title('Are you sure to delete the record?')
            .htmlContent('my html content')
            .ok( $scope.ok)
            .cancel( $scope.cancel);
        $mdDialog.show(confirm).then(function () {
            $scope.status = 'Record deleted successfully!';
        }, function () {
            $scope.status = 'You decided to keep your record.';
        });
    };

希望这会有所帮助