2017-04-19 3 views
1

私は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> 

は、エディタの言語の変更をページを更新した後。

+0

$ onイベントのexecCommandが実行されて言語が変更されたときにチェックしましたか? – trd3v3lop

+0

@ trd3v3lopうん、何のエラーも、何も.. – ayZagen

答えて

1

これは私がそれを解決した方法です。

$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); 
    } 
}); 
1

TinyMCEは、エディタの初期化後に言語/ローカライゼーションを動的に変更することをサポートしていません。

異なる言語設定のエディタでremove()およびinit()を編集できますが、一度初期化すると設定を変更できません。

+0

私にアイデアを与えてくれてありがとう。 – ayZagen

関連する問題