Визуализация виджета Yii2 (Redactor, перевод не работает)

У меня проблемы с переводом на работу.

[ https://imperavi.com/redactor/ Версия 3, Yii 2.0.12, PHP 7.1.16]

Вот мой код в yii2 (php framework):

use yii\easyii\widgets\Redactor;
use yii\widgets\ActiveForm;
...

<?= $form->field($model, "content")->widget(Redactor::className(),[
'options' => [
        'id'=>"redactor",
        'minHeight' => 200,
        'imageUpload' => Url::to(['/admin/redactor/upload'], true),
        'buttons' => ['html', 'formatting', 'bold', 'italic', 'deleted', 'unorderedlist', 'orderedlist', 'outdent', 'indent', 'alignment', 'horizontalrule', 'link', 'image', 'file','clips'],
        'plugins' => ['fontcolor', 'fontfamily', 'fontsize', 'table','clips','filemanager','imagemanager','alignment','fullscreen','video','widget'],
        'maxHeight' => 500,
        'placeholder' => 'Skriv inn, eller lim inn kopiert tekst og/eller bilder her..',
        'toolbarFixed',
        'lang' => 'no',
        'clickToEdit' => true,
        'clickToCancel'=> ['title'=> 'Avbryt'],
],
])->label(false) ?>

Вот что он генерирует:

jQuery('#notes-content').redactor({
    "imageUpload":"http://byggmannkalk.no/admin/redactor/upload",
    "fileUpload":"/admin/redactor/upload","id":"redactor",
    "minHeight":200,
    "buttons":["html","formatting","bold","italic","deleted","unorderedlist","orderedlist","outdent","indent","alignment","horizontalrule","link","image","file","clips"],
    "plugins":["fontcolor","fontfamily","fontsize","table","clips","filemanager","imagemanager","alignment","fullscreen","video","widget"],
    "maxHeight":500,
    "placeholder":"Skriv inn, eller lim inn kopiert tekst og/eller bilder her..",
    "0":"toolbarFixed",
    "lang":"nb",
    "clickToEdit":true,
    "clickToCancel":{"title":"Cancel"},
    "imageUploadErrorCallback":function(json){alert(json.error);},
    "fileUploadErrorCallback":function(json){alert(json.error);}
});

Языковые файлы дают мне ошибку консоли:

VM2426:2 Uncaught TypeError: Cannot read property 'opts' of undefined
    at eval (eval at globalEval (jquery.js?v=1523865201:343), <anonymous>:2:13)
    at eval (eval at globalEval (jquery.js?v=1523865201:343), <anonymous>:74:3)
    at eval (<anonymous>)
    at Function.globalEval (jquery.js?v=1523865201:343)
    at text script (jquery.js?v=1523865201:9208)
    at ajaxConvert (jquery.js?v=1523865201:8243)
    at done (jquery.js?v=1523865201:8707)
    at XMLHttpRequest.<anonymous> (jquery.js?v=1523865201:9123)
    at XMLHttpRequest.send (catcher.js:197)
    at Object.send (jquery.js?v=1523865201:9175)

Что указывает на мой языковой файл:

(function ($) {
    $.Redactor.opts.langs['nb'] = {
        html: 'HTML',
....
        filename: 'Filnavn (valgfritt)',
        edit: 'Endre',
        center: 'Midten'
    };
})(jQuery);

Можно ли изменить мое создание экземпляра редактора так, чтобы он добавлял его в $, а не только в for $('#notes-content')?

Есть ли параметр, который мне не хватает?

Языковые файлы будут использоваться во многих местах программы, где используется Redactor, поэтому я не хочу их изменять.

Спасибо за любую помощь.

Ps. На демонстрационном сайте ( https://imperavi.com/redactor/examples/language/translations/) я заметил, что они изменили языковой файл:

(function($R)
{
    $R.lang['fi'] = {
...
        "redo": "Redo"
    };
})(Redactor);

0 ответов

Другие вопросы по тегам