2017-08-30 23 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

2つのコメント...

あなたはlangsに言語ファイルを配置している場合は、すべてのlanguage_url設定オプションを使用する必要はありませんTinyMCEの内のフォルダ。これは、ファイルを別の場所に保存する場合にのみ必要です。上記のあなたの例は、TinyMCEディストリビューションのlangsフォルダーに言語ファイルを置くことを意味しているようですが、そうであれば、その設定はまったく必要ありません。

あなたは本当にあなたがそれを実現するためにJavaScriptを使用することができます設定(だけ時々)ことが必要な場合は...

あなたのページにJavaScript変数として「デフォルト」のinitオブジェクトを作成することによって開始し、参照それは後で。

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.faces'として登録されていない' java'環境です。ですから 'language_url'を設定しなければ、それは見つからないのです。 – wittich

関連する問題