如何动态更改 angular tinymce 编辑器的本地化?

How to change angular tinymce editor's localization dynamically?

我正在使用 angular-ui-tinymce 和 tinymce ver 4.5.6 我正在尝试动态更改编辑器的本地化。对于本地化,我使用 angular-translate 但是我做不到。

我试着这样实现

JS

var tinymce=null;
vm.tinymceOptions = {
   setup: function(editor) {
        tinymce = editor;
   },
   content_css: "vendor/tinymce/angular-ui-tinymce/skins/lightgray/content.min.css",
   language: $translate.proposedLanguage(),
   //more options here
}

//To get localization change
$rootScope.$on('$translateChangeSuccess', function () {
    if(tinymce!=null)
        tinymce.execCommand('mceRepaint'); //This doesn't reflect any changes
});

这里是 HTML:

<form method="post" ng-show="vm.editMode">
     <textarea ui-tinymce="vm.tinymceOptions" ng-model="vm.editorContent"></textarea>
</form>

刷新页面后,编辑语言发生变化

TinyMCE 不支持在编辑器初始化后动态改变language/localization。

您可以 remove()init() 具有不同语言设置的编辑器,但一旦初始化该设置就无法更改。

我就是这样解决的。

 $rootScope.$on('$translateChangeSuccess', function () {
    if(tinymce!=null){
        vm.tinymceOptions.language=$translate.proposedLanguage();
        tinymce.editorManager.editors = [];
        tinymce.editorManager.createEditor("ui-tinymce-1",vm.tinymceOptions);
        tinymce.init(vm.tinymceOptions);
    }
});