2017-08-30 80 views
0

我嘗試以從<html>屬性獲取語言的方式設置我的腳本。作爲一個基本的概念,它可以正常工作,唯一的問題是我有一個定位本地化文件所在的位置。如何在TinyMCE v4中動態設置語言文件

如何爲en_US設置參數language_url。我嘗試了一個空字符串''以及值false沒有成功。我得到錯誤:

Failed to load plugin url: https://localhost/js/tinymce/langs/en_US.js

這是因爲沒有en_US的語言文件。

var lang = $('html').attr('lang'); 

tinymce.init({ 
    selector: 'textarea', 
    language_url: (lang === 'en' ? '' : '/js/tinymce/langs/de.js'), 
    language: (lang === 'en' ? 'en_US' : 'de') 
}); 

是否有language_url沒有默認值?在這個

回答

1

兩個評論...

如果要放置在LANGS語言文件TinyMCE的文件夾內,你並不需要在所有使用language_url配置選項。只有當你想將文件存儲在不同的位置時才需要。上面的例子似乎意味着您將語言文件放在您的TinyMCE發行版的langs文件夾中,如果是這種情況,您根本就不需要該設置。

如果你真的需要設置(但只是偶爾),您可以通過您的網頁上創建一個「默認」初始化對象的JavaScript變量使用JavaScript來做到這一點...

你開始,然後引用那稍後。例如:

var default_init = { 
    theme: "modern", 
    plugins...., 
    toolbar.... 
} 

...然後當你要調用TinyMCE的情況下,你可以使用基本對象,以使您的init:

var lang = $('html').attr('lang'); 
if (lang !== 'en') { 
    default_init.language_url = '/js/tinymce/langs/' + lang + '.js'; 
} 
tinymce.init(default_init); 
+0

THX您的意見,這就是我一直在尋找!而且你的第一個評論也是對的。通常我不需要,但在我的情況下,它是一個'java'環境,語言文件沒有註冊爲'java.faces'。所以如果我不設置'language_url',它不會找到它。 – wittich