├── src ├── .gitkeep ├── resources │ ├── assets │ │ └── summernote │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.ttf │ │ │ └── summernote.woff │ │ │ ├── plugin │ │ │ ├── databasic │ │ │ │ ├── summernote-ext-databasic.css │ │ │ │ └── summernote-ext-databasic.js │ │ │ ├── hello │ │ │ │ └── summernote-ext-hello.js │ │ │ └── specialchars │ │ │ │ └── summernote-ext-specialchars.js │ │ │ └── lang │ │ │ ├── summernote-th-TH.js │ │ │ ├── summernote-zh-TW.js │ │ │ ├── summernote-vi-VN.js │ │ │ ├── summernote-ar-AR.js │ │ │ ├── summernote-he-IL.js │ │ │ ├── summernote-id-ID.js │ │ │ ├── summernote-bg-BG.js │ │ │ ├── summernote-ko-KR.js │ │ │ ├── summernote-fa-IR.js │ │ │ ├── summernote-ro-RO.js │ │ │ ├── summernote-cs-CZ.js │ │ │ ├── summernote-sk-SK.js │ │ │ ├── summernote-hr-HR.js │ │ │ ├── summernote-sr-RS.js │ │ │ ├── summernote-nb-NO.js │ │ │ ├── summernote-sv-SE.js │ │ │ ├── summernote-sr-RS-Latin.js │ │ │ ├── summernote-fi-FI.js │ │ │ ├── summernote-pt-PT.js │ │ │ ├── summernote-nl-NL.js │ │ │ ├── summernote-es-EU.js │ │ │ ├── summernote-sl-SI.js │ │ │ ├── summernote-it-IT.js │ │ │ ├── summernote-de-DE.js │ │ │ ├── summernote-ta-IN.js │ │ │ ├── summernote-lt-LT.js │ │ │ ├── summernote-da-DK.js │ │ │ ├── summernote-uk-UA.js │ │ │ ├── summernote-pl-PL.js │ │ │ ├── summernote-ru-RU.js │ │ │ ├── summernote-ja-JP.js │ │ │ ├── summernote-mn-MN.js │ │ │ ├── summernote-zh-CN.js │ │ │ ├── summernote-pt-BR.js │ │ │ ├── summernote-hu-HU.js │ │ │ ├── summernote-lt-LV.js │ │ │ ├── summernote-gl-ES.js │ │ │ ├── summernote-tr-TR.js │ │ │ ├── summernote-ca-ES.js │ │ │ ├── summernote-es-ES.js │ │ │ ├── summernote-el-GR.js │ │ │ └── summernote-fr-FR.js │ ├── lang │ │ ├── zh-CN │ │ │ └── upload.php │ │ ├── zh-TW │ │ │ └── upload.php │ │ └── en │ │ │ └── upload.php │ └── views │ │ └── assets.blade.php ├── UploadController.php ├── Events │ ├── Uploaded.php │ └── Uploading.php ├── config │ └── summernote.php ├── SummernoteServiceProvider.php ├── UrlResolverTrait.php └── StorageManager.php ├── .editorconfig ├── composer.json └── README.md /src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overtrue/laravel-summernote/HEAD/src/resources/assets/summernote/font/summernote.eot -------------------------------------------------------------------------------- /src/resources/assets/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overtrue/laravel-summernote/HEAD/src/resources/assets/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /src/resources/assets/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overtrue/laravel-summernote/HEAD/src/resources/assets/summernote/font/summernote.woff -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | ; top-most EditorConfig file 2 | root = true 3 | 4 | ; Unix-style newlines 5 | [*] 6 | end_of_line = LF 7 | 8 | [*.php] 9 | indent_style = space 10 | indent_size = 4 -------------------------------------------------------------------------------- /src/resources/assets/summernote/plugin/databasic/summernote-ext-databasic.css: -------------------------------------------------------------------------------- 1 | .ext-databasic { 2 | position: relative; 3 | display: block; 4 | min-height: 50px; 5 | background-color: cyan; 6 | text-align: center; 7 | padding: 20px; 8 | border: 1px solid white; 9 | border-radius: 10px; 10 | } 11 | 12 | .ext-databasic p { 13 | color: white; 14 | font-size: 1.2em; 15 | margin: 0; 16 | } 17 | -------------------------------------------------------------------------------- /src/UploadController.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | namespace Overtrue\LaravelSummernote; 13 | 14 | use Illuminate\Http\Request; 15 | use Illuminate\Routing\Controller; 16 | 17 | /** 18 | * Class UploadController. 19 | */ 20 | class UploadController extends Controller 21 | { 22 | public function serve(Request $request) 23 | { 24 | $upload = config('summernote.upload'); 25 | $storage = app('summernote.storage'); 26 | 27 | return $storage->upload($request); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "overtrue/laravel-summernote", 3 | "description": "Summernote editor integration for Laravel.", 4 | "license": "MIT", 5 | "keywords": ["summernote", "laravel"], 6 | "authors": [ 7 | { 8 | "name": "overtrue", 9 | "email": "anzhengchao@gmail.com" 10 | } 11 | ], 12 | "autoload": { 13 | "psr-4":{ 14 | "Overtrue\\LaravelSummernote\\":"src/" 15 | } 16 | }, 17 | "suggest": { 18 | "overtrue/laravel-filesystem-qiniu": "如果你想要使用七牛云存储,也许你需要安装它哦~" 19 | }, 20 | "require-dev": { 21 | "fabpot/php-cs-fixer": "^1.10" 22 | }, 23 | "extra": { 24 | "laravel": { 25 | "providers": [ 26 | "Overtrue\\LaravelSummernote\\SummernoteServiceProvider" 27 | ] 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/resources/lang/zh-CN/upload.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | return [ 13 | UPLOAD_ERR_INI_SIZE => '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值', 14 | UPLOAD_ERR_FORM_SIZE => '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值', 15 | UPLOAD_ERR_PARTIAL => '文件只有部分被上传', 16 | UPLOAD_ERR_NO_FILE => '没有文件被上传', 17 | UPLOAD_ERR_NO_TMP_DIR => '找不到临时文件夹', 18 | UPLOAD_ERR_CANT_WRITE => '文件写入失败', 19 | 20 | 'ERROR_SIZE_EXCEED' => '文件大小超出网站限制', 21 | 'ERROR_TYPE_NOT_ALLOWED' => '文件类型不允许', 22 | 'ERROR_CREATE_DIR' => '目录创建失败', 23 | 'ERROR_DIR_NOT_WRITEABLE' => '目录没有写权限', 24 | 'ERROR_FILE_MOVE' => '文件保存时出错', 25 | 'ERROR_WRITE_CONTENT' => '写入文件内容错误', 26 | 'ERROR_UNKNOWN' => '未知错误', 27 | 'ERROR_DEAD_LINK' => '链接不可用', 28 | 'ERROR_HTTP_LINK' => '链接不是http链接', 29 | 'ERROR_HTTP_CONTENTTYPE' => '链接contentType不正确', 30 | 'ERROR_UNKNOWN_MODE' => '文件上传模式错误', 31 | ]; 32 | -------------------------------------------------------------------------------- /src/resources/lang/zh-TW/upload.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | return [ 13 | UPLOAD_ERR_INI_SIZE => '文件大小超出php.ini中MAX_FILE_SIZE限制', 14 | UPLOAD_ERR_FORM_SIZE => '文件大小超出表单中MAX_FILE_SIZE限制', 15 | UPLOAD_ERR_PARTIAL => '文件未被完整上傳', 16 | UPLOAD_ERR_NO_FILE => '沒有文件被上傳', 17 | UPLOAD_ERR_NO_TMP_DIR => '找不到臨時文件夹', 18 | UPLOAD_ERR_CANT_WRITE => '文件写入失败', 19 | 'ERROR_TMP_FILE' => '臨時文件錯誤', 20 | 'ERROR_TMP_FILE_NOT_FOUND' => '找不到臨時文件', 21 | 'ERROR_SIZE_EXCEED' => '文件大小超出網站限制', 22 | 'ERROR_TYPE_NOT_ALLOWED' => '文件類型不允許', 23 | 'ERROR_CREATE_DIR' => '目錄創建失敗', 24 | 'ERROR_DIR_NOT_WRITEABLE' => '目錄沒有寫許可權', 25 | 'ERROR_FILE_MOVE' => '文件保存時出錯', 26 | 'ERROR_FILE_NOT_FOUND' => '找不到上傳文件', 27 | 'ERROR_WRITE_CONTENT' => '寫入文件內容錯誤', 28 | 'ERROR_UNKNOWN' => '未知錯誤', 29 | 'ERROR_DEAD_LINK' => '鏈接不可用', 30 | 'ERROR_HTTP_LINK' => '鏈接不是http鏈接', 31 | 'ERROR_HTTP_CONTENTTYPE' => '鏈接contentType不正確', 32 | 'ERROR_UNKNOWN_MODE' => '文件上傳模式錯誤', 33 | ]; 34 | -------------------------------------------------------------------------------- /src/Events/Uploaded.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | namespace Overtrue\LaravelSummernote\Events; 13 | 14 | use Illuminate\Broadcasting\InteractsWithSockets; 15 | use Illuminate\Foundation\Events\Dispatchable; 16 | use Illuminate\Queue\SerializesModels; 17 | use Symfony\Component\HttpFoundation\File\UploadedFile; 18 | 19 | /** 20 | * Class Uploading. 21 | * 22 | * @author overtrue 23 | */ 24 | class Uploaded 25 | { 26 | use Dispatchable, InteractsWithSockets, SerializesModels; 27 | 28 | /** 29 | * @var \Symfony\Component\HttpFoundation\File\UploadedFile 30 | */ 31 | public $file; 32 | 33 | /** 34 | * @var array 35 | */ 36 | public $result; 37 | 38 | /** 39 | * Uploaded constructor. 40 | * 41 | * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file 42 | * @param array $result 43 | */ 44 | public function __construct(UploadedFile $file, array $result) 45 | { 46 | $this->file = $file; 47 | $this->result = $result; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/config/summernote.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | return [ 13 | // 存储引擎: config/filesystem.php 中 disks, public 或 qiniu 14 | 'disk' => 'public', 15 | 'route' => [ 16 | 'name' => '/summernote/server', 17 | 'options' => [ 18 | // middleware => 'auth', 19 | ], 20 | ], 21 | 22 | // 是否使用 md5 格式文件名 23 | 'hash_filename' => true, 24 | 25 | // 上传 配置 26 | 'upload' => [ 27 | 'form_name' => 'image', 28 | /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */ 29 | /* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */ 30 | /* {time} 会替换成时间戳 */ 31 | /* {yyyy} 会替换成四位年份 */ 32 | /* {yy} 会替换成两位年份 */ 33 | /* {mm} 会替换成两位月份 */ 34 | /* {dd} 会替换成两位日期 */ 35 | /* {hh} 会替换成两位小时 */ 36 | /* {ii} 会替换成两位分钟 */ 37 | /* {ss} 会替换成两位秒 */ 38 | /* 非法字符 \ => * ? " < > | */ 39 | 40 | /* 上传图片配置项 */ 41 | 'max_size' => 2 * 1024 * 1024, /* 上传大小限制,单位B */ 42 | 'allow_files' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], /* 上传图片格式显示 */ 43 | 'path_format' => '/uploads/image/{yyyy}/{mm}/{dd}/', /* 上传保存路径,可以自定义保存路径和文件名格式 */ 44 | ], 45 | ]; 46 | -------------------------------------------------------------------------------- /src/Events/Uploading.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | namespace Overtrue\LaravelSummernote\Events; 13 | 14 | use Illuminate\Broadcasting\InteractsWithSockets; 15 | use Illuminate\Foundation\Events\Dispatchable; 16 | use Illuminate\Queue\SerializesModels; 17 | use Symfony\Component\HttpFoundation\File\UploadedFile; 18 | 19 | /** 20 | * Class Uploading. 21 | * 22 | * @author overtrue 23 | */ 24 | class Uploading 25 | { 26 | use Dispatchable, InteractsWithSockets, SerializesModels; 27 | 28 | /** 29 | * @var \Symfony\Component\HttpFoundation\File\UploadedFile 30 | */ 31 | public $file; 32 | 33 | /** 34 | * @var string 35 | */ 36 | public $filename; 37 | 38 | /** 39 | * @var array 40 | */ 41 | public $config; 42 | 43 | /** 44 | * Uploading constructor. 45 | * 46 | * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file 47 | * @param $filename 48 | * @param array $config 49 | */ 50 | public function __construct(UploadedFile $file, $filename, array $config) 51 | { 52 | $this->file = $file; 53 | $this->filename = $filename; 54 | $this->config = $config; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/resources/lang/en/upload.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | return [ 13 | UPLOAD_ERR_INI_SIZE => 'file size exceeds MAX_FILE_SIZE in php.ini limit', 14 | UPLOAD_ERR_FORM_SIZE => 'file size exceeds MAX_FILE_SIZE in form limit', 15 | UPLOAD_ERR_PARTIAL => 'upload file is not complete', 16 | UPLOAD_ERR_NO_FILE => 'no files uploaded', 17 | UPLOAD_ERR_NO_TMP_DIR => 'no temporary directory found', 18 | UPLOAD_ERR_CANT_WRITE => 'fail to write file', 19 | 20 | 'ERROR_TMP_FILE' => 'create temporary file error', 21 | 'ERROR_TMP_FILE_NOT_FOUND' => 'can\'t find a temporary file', 22 | 'ERROR_SIZE_EXCEED' => 'file size beyond the site restrictions', 23 | 'ERROR_TYPE_NOT_ALLOWED' => 'file type does not allowed', 24 | 'ERROR_CREATE_DIR' => 'directory creation fails', 25 | 'ERROR_DIR_NOT_WRITEABLE' => 'directory does not have write permission', 26 | 'ERROR_FILE_MOVE' => 'file save error', 27 | 'ERROR_FILE_NOT_FOUND' => 'can\'t find the uploaded file', 28 | 'ERROR_WRITE_CONTENT' => 'error writing file content', 29 | 'ERROR_UNKNOWN' => 'An unknown error', 30 | 'ERROR_DEAD_LINK' => 'link is not available', 31 | 'ERROR_HTTP_LINK' => 'not a HTTP link', 32 | 'ERROR_HTTP_CONTENTTYPE' => 'link contentType incorrect', 33 | 'ERROR_UNKNOWN_MODE' => 'Please Config the core.mode', 34 | ]; 35 | -------------------------------------------------------------------------------- /src/resources/views/assets.blade.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/SummernoteServiceProvider.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | namespace Overtrue\LaravelSummernote; 13 | 14 | use Illuminate\Routing\Router; 15 | use Illuminate\Support\Facades\Storage; 16 | use Illuminate\Support\ServiceProvider; 17 | 18 | /** 19 | * Class SummernoteServiceProvider. 20 | */ 21 | class SummernoteServiceProvider extends ServiceProvider 22 | { 23 | /** 24 | * Bootstrap any application services. 25 | * 26 | * @param \Illuminate\Routing\Router $router 27 | */ 28 | public function boot(Router $router) 29 | { 30 | $this->loadViewsFrom(__DIR__.'/resources/views', 'summernote'); 31 | $this->loadTranslationsFrom(__DIR__.'/resources/lang', 'summernote'); 32 | 33 | $this->publishes([ 34 | __DIR__.'/config/summernote.php' => config_path('summernote.php'), 35 | ], 'config'); 36 | 37 | $this->publishes([ 38 | __DIR__.'/resources/assets/summernote' => public_path('vendor/summernote'), 39 | ], 'assets'); 40 | 41 | $this->publishes([ 42 | __DIR__.'/resources/views' => base_path('resources/views/vendor/summernote'), 43 | __DIR__.'/resources/lang' => base_path('resources/lang/vendor/summernote'), 44 | ], 'resources'); 45 | 46 | if (!app()->runningInConsole()) { 47 | $this->registerRoute($router); 48 | } 49 | } 50 | 51 | /** 52 | * Register any application services. 53 | */ 54 | public function register() 55 | { 56 | $this->mergeConfigFrom(__DIR__.'/config/summernote.php', 'summernote'); 57 | $this->app->bind('summernote.storage', function ($app) { 58 | return new StorageManager(Storage::disk($app['config']->get('summernote.disk', 'public'))); 59 | }); 60 | } 61 | 62 | /** 63 | * Register routes. 64 | * 65 | * @param $router 66 | */ 67 | protected function registerRoute($router) 68 | { 69 | if (!$this->app->routesAreCached()) { 70 | $router->group(array_merge(['namespace' => __NAMESPACE__], config('summernote.route.options', [])), function ($router) { 71 | $router->any(config('summernote.route.url', '/summernote/server'), 'UploadController@serve'); 72 | }); 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/plugin/hello/summernote-ext-hello.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | /* global define */ 3 | if (typeof define === 'function' && define.amd) { 4 | // AMD. Register as an anonymous module. 5 | define(['jquery'], factory); 6 | } else if (typeof module === 'object' && module.exports) { 7 | // Node/CommonJS 8 | module.exports = factory(require('jquery')); 9 | } else { 10 | // Browser globals 11 | factory(window.jQuery); 12 | } 13 | }(function ($) { 14 | 15 | // Extends plugins for adding hello. 16 | // - plugin is external module for customizing. 17 | $.extend($.summernote.plugins, { 18 | /** 19 | * @param {Object} context - context object has status of editor. 20 | */ 21 | 'hello': function (context) { 22 | var self = this; 23 | 24 | // ui has renders to build ui elements. 25 | // - you can create a button with `ui.button` 26 | var ui = $.summernote.ui; 27 | 28 | // add hello button 29 | context.memo('button.hello', function () { 30 | // create button 31 | var button = ui.button({ 32 | contents: ' Hello', 33 | tooltip: 'hello', 34 | click: function () { 35 | self.$panel.show(); 36 | self.$panel.hide(500); 37 | // invoke insertText method with 'hello' on editor module. 38 | context.invoke('editor.insertText', 'hello'); 39 | } 40 | }); 41 | 42 | // create jQuery object from button instance. 43 | var $hello = button.render(); 44 | return $hello; 45 | }); 46 | 47 | // This events will be attached when editor is initialized. 48 | this.events = { 49 | // This will be called after modules are initialized. 50 | 'summernote.init': function (we, e) { 51 | console.log('summernote initialized', we, e); 52 | }, 53 | // This will be called when user releases a key on editable. 54 | 'summernote.keyup': function (we, e) { 55 | console.log('summernote keyup', we, e); 56 | } 57 | }; 58 | 59 | // This method will be called when editor is initialized by $('..').summernote(); 60 | // You can create elements for plugin 61 | this.initialize = function () { 62 | this.$panel = $('
').css({ 63 | position: 'absolute', 64 | width: 100, 65 | height: 100, 66 | left: '50%', 67 | top: '50%', 68 | background: 'red' 69 | }).hide(); 70 | 71 | this.$panel.appendTo('body'); 72 | }; 73 | 74 | // This methods will be called when editor is destroyed by $('..').summernote('destroy'); 75 | // You should remove elements on `initialize`. 76 | this.destroy = function () { 77 | this.$panel.remove(); 78 | this.$panel = null; 79 | }; 80 | } 81 | }); 82 | })); 83 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-th-TH.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'th-TH': { 4 | font: { 5 | bold: 'ตัวหนา', 6 | italic: 'ตัวเอียง', 7 | underline: 'ขีดเส้นใต้', 8 | clear: 'ล้างรูปแบบตัวอักษร', 9 | height: 'ความสูงบรรทัด', 10 | name: 'แบบตัวอักษร', 11 | strikethrough: 'ขีดฆ่า', 12 | subscript: 'ตัวห้อย', 13 | superscript: 'ตัวยก', 14 | size: 'ขนาดตัวอักษร' 15 | }, 16 | image: { 17 | image: 'รูปภาพ', 18 | insert: 'แทรกรูปภาพ', 19 | resizeFull: 'ปรับขนาดเท่าจริง', 20 | resizeHalf: 'ปรับขนาดลง 50%', 21 | resizeQuarter: 'ปรับขนาดลง 25%', 22 | floatLeft: 'ชิดซ้าย', 23 | floatRight: 'ชิดขวา', 24 | floatNone: 'ไม่จัดตำแหน่ง', 25 | dragImageHere: 'ลากรูปภาพที่ต้องการไว้ที่นี่', 26 | selectFromFiles: 'เลือกไฟล์รูปภาพ', 27 | url: 'ที่อยู่ URL ของรูปภาพ', 28 | remove: 'ลบรูปภาพ' 29 | }, 30 | video: { 31 | video: 'วีดีโอ', 32 | videoLink: 'ลิงก์ของวีดีโอ', 33 | insert: 'แทรกวีดีโอ', 34 | url: 'ที่อยู่ URL ของวีดีโอ?', 35 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion หรือ Youku)' 36 | }, 37 | link: { 38 | link: 'ตัวเชื่อมโยง', 39 | insert: 'แทรกตัวเชื่อมโยง', 40 | unlink: 'ยกเลิกตัวเชื่อมโยง', 41 | edit: 'แก้ไข', 42 | textToDisplay: 'ข้อความที่ให้แสดง', 43 | url: 'ที่อยู่เว็บไซต์ที่ต้องการให้เชื่อมโยงไปถึง?', 44 | openInNewWindow: 'เปิดในหน้าต่างใหม่' 45 | }, 46 | table: { 47 | table: 'ตาราง' 48 | }, 49 | hr: { 50 | insert: 'แทรกเส้นคั่น' 51 | }, 52 | style: { 53 | style: 'รูปแบบ', 54 | p: 'ปกติ', 55 | blockquote: 'ข้อความ', 56 | pre: 'โค้ด', 57 | h1: 'หัวข้อ 1', 58 | h2: 'หัวข้อ 2', 59 | h3: 'หัวข้อ 3', 60 | h4: 'หัวข้อ 4', 61 | h5: 'หัวข้อ 5', 62 | h6: 'หัวข้อ 6' 63 | }, 64 | lists: { 65 | unordered: 'รายการแบบไม่มีลำดับ', 66 | ordered: 'รายการแบบมีลำดับ' 67 | }, 68 | options: { 69 | help: 'ช่วยเหลือ', 70 | fullscreen: 'ขยายเต็มหน้าจอ', 71 | codeview: 'ซอร์สโค้ด' 72 | }, 73 | paragraph: { 74 | paragraph: 'ย่อหน้า', 75 | outdent: 'เยื้องซ้าย', 76 | indent: 'เยื้องขวา', 77 | left: 'จัดหน้าชิดซ้าย', 78 | center: 'จัดหน้ากึ่งกลาง', 79 | right: 'จัดหน้าชิดขวา', 80 | justify: 'จัดบรรทัดเสมอกัน' 81 | }, 82 | color: { 83 | recent: 'สีที่ใช้ล่าสุด', 84 | more: 'สีอื่นๆ', 85 | background: 'สีพื้นหลัง', 86 | foreground: 'สีพื้นหน้า', 87 | transparent: 'โปร่งแสง', 88 | setTransparent: 'ตั้งค่าความโปร่งแสง', 89 | reset: 'คืนค่า', 90 | resetToDefault: 'คืนค่ามาตรฐาน' 91 | }, 92 | shortcut: { 93 | shortcuts: 'แป้นลัด', 94 | close: 'ปิด', 95 | textFormatting: 'การจัดรูปแบบข้อความ', 96 | action: 'การกระทำ', 97 | paragraphFormatting: 'การจัดรูปแบบย่อหน้า', 98 | documentStyle: 'รูปแบบของเอกสาร' 99 | }, 100 | history: { 101 | undo: 'ยกเลิกการกระทำ', 102 | redo: 'ทำซ้ำการกระทำ' 103 | } 104 | } 105 | }); 106 | })(jQuery); 107 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-zh-TW.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'zh-TW': { 4 | font: { 5 | bold: '粗體', 6 | italic: '斜體', 7 | underline: '底線', 8 | clear: '清除格式', 9 | height: '行高', 10 | name: '字體', 11 | strikethrough: '刪除線', 12 | subscript: '下標', 13 | superscript: '上標', 14 | size: '字號' 15 | }, 16 | image: { 17 | image: '圖片', 18 | insert: '插入圖片', 19 | resizeFull: '縮放至100%', 20 | resizeHalf: '縮放至 50%', 21 | resizeQuarter: '縮放至 25%', 22 | floatLeft: '靠左浮動', 23 | floatRight: '靠右浮動', 24 | floatNone: '取消浮動', 25 | shapeRounded: '形狀: 圓角', 26 | shapeCircle: '形狀: 圓', 27 | shapeThumbnail: '形狀: 縮略圖', 28 | shapeNone: '形狀: 無', 29 | dragImageHere: '將圖片拖曳至此處', 30 | selectFromFiles: '從本機上傳', 31 | maximumFileSize: '文件大小最大值', 32 | maximumFileSizeError: '文件大小超出最大值。', 33 | url: '圖片網址', 34 | remove: '移除圖片' 35 | }, 36 | video: { 37 | video: '影片', 38 | videoLink: '影片連結', 39 | insert: '插入影片', 40 | url: '影片網址', 41 | providers: '(優酷, Instagram, DailyMotion, Youtube等)' 42 | }, 43 | link: { 44 | link: '連結', 45 | insert: '插入連結', 46 | unlink: '取消連結', 47 | edit: '編輯連結', 48 | textToDisplay: '顯示文字', 49 | url: '連結網址', 50 | openInNewWindow: '在新視窗開啟' 51 | }, 52 | table: { 53 | table: '表格' 54 | }, 55 | hr: { 56 | insert: '水平線' 57 | }, 58 | style: { 59 | style: '樣式', 60 | p: '一般', 61 | blockquote: '引用區塊', 62 | pre: '程式碼區塊', 63 | h1: '標題 1', 64 | h2: '標題 2', 65 | h3: '標題 3', 66 | h4: '標題 4', 67 | h5: '標題 5', 68 | h6: '標題 6' 69 | }, 70 | lists: { 71 | unordered: '項目清單', 72 | ordered: '編號清單' 73 | }, 74 | options: { 75 | help: '幫助', 76 | fullscreen: '全螢幕', 77 | codeview: '原始碼' 78 | }, 79 | paragraph: { 80 | paragraph: '段落', 81 | outdent: '取消縮排', 82 | indent: '增加縮排', 83 | left: '靠右對齊', 84 | center: '靠中對齊', 85 | right: '靠右對齊', 86 | justify: '左右對齊' 87 | }, 88 | color: { 89 | recent: '字型顏色', 90 | more: '更多', 91 | background: '背景', 92 | foreground: '前景', 93 | transparent: '透明', 94 | setTransparent: '透明', 95 | reset: '重設', 96 | resetToDefault: '默認' 97 | }, 98 | shortcut: { 99 | shortcuts: '快捷鍵', 100 | close: '關閉', 101 | textFormatting: '文字格式', 102 | action: '動作', 103 | paragraphFormatting: '段落格式', 104 | documentStyle: '文件格式', 105 | extraKeys: '額外按鍵' 106 | }, 107 | history: { 108 | undo: '復原', 109 | redo: '取消復原' 110 | } 111 | } 112 | }); 113 | })(jQuery); 114 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-vi-VN.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'vi-VN': { 4 | font: { 5 | bold: 'In Đậm', 6 | italic: 'In Nghiêng', 7 | underline: 'Gạch dưới', 8 | clear: 'Bỏ định dạng', 9 | height: 'Chiều cao dòng', 10 | name: 'Phông chữ', 11 | strikethrough: 'Gạch ngang', 12 | size: 'Cỡ chữ' 13 | }, 14 | image: { 15 | image: 'Hình ảnh', 16 | insert: 'Chèn', 17 | resizeFull: '100%', 18 | resizeHalf: '50%', 19 | resizeQuarter: '25%', 20 | floatLeft: 'Trôi về trái', 21 | floatRight: 'Trôi về phải', 22 | floatNone: 'Không trôi', 23 | dragImageHere: 'Thả Ảnh ở vùng này', 24 | selectFromFiles: 'Chọn từ File', 25 | url: 'URL', 26 | remove: 'Xóa' 27 | }, 28 | video: { 29 | video: 'Video', 30 | videoLink: 'Link đến Video', 31 | insert: 'Chèn Video', 32 | url: 'URL', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion và Youku)' 34 | }, 35 | link: { 36 | link: 'Link', 37 | insert: 'Chèn Link', 38 | unlink: 'Gỡ Link', 39 | edit: 'Sửa', 40 | textToDisplay: 'Văn bản hiển thị', 41 | url: 'URL', 42 | openInNewWindow: 'Mở ở Cửa sổ mới' 43 | }, 44 | table: { 45 | table: 'Bảng' 46 | }, 47 | hr: { 48 | insert: 'Chèn' 49 | }, 50 | style: { 51 | style: 'Kiểu chữ', 52 | p: 'Chữ thường', 53 | blockquote: 'Đoạn trích', 54 | pre: 'Mã Code', 55 | h1: 'H1', 56 | h2: 'H2', 57 | h3: 'H3', 58 | h4: 'H4', 59 | h5: 'H5', 60 | h6: 'H6' 61 | }, 62 | lists: { 63 | unordered: 'Liệt kê danh sách', 64 | ordered: 'Liệt kê theo thứ tự' 65 | }, 66 | options: { 67 | help: 'Trợ giúp', 68 | fullscreen: 'Toàn Màn hình', 69 | codeview: 'Xem Code' 70 | }, 71 | paragraph: { 72 | paragraph: 'Canh lề', 73 | outdent: 'Dịch sang trái', 74 | indent: 'Dịch sang phải', 75 | left: 'Canh trái', 76 | center: 'Canh giữa', 77 | right: 'Canh phải', 78 | justify: 'Canh đều' 79 | }, 80 | color: { 81 | recent: 'Màu chữ', 82 | more: 'Mở rộng', 83 | background: 'Màu nền', 84 | foreground: 'Màu chữ', 85 | transparent: 'trong suốt', 86 | setTransparent: 'Nền trong suốt', 87 | reset: 'Thiết lập lại', 88 | resetToDefault: 'Trở lại ban đầu' 89 | }, 90 | shortcut: { 91 | shortcuts: 'Phím tắt', 92 | close: 'Đóng', 93 | textFormatting: 'Định dạng Văn bản', 94 | action: 'Hành động', 95 | paragraphFormatting: 'Định dạng', 96 | documentStyle: 'Kiểu văn bản' 97 | }, 98 | history: { 99 | undo: 'Lùi lại', 100 | redo: 'Làm lại' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ar-AR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ar-AR': { 4 | font: { 5 | bold: 'عريض', 6 | italic: 'مائل', 7 | underline: 'تحته خط', 8 | clear: 'مسح التنسيق', 9 | height: 'إرتفاع السطر', 10 | name: 'الخط', 11 | strikethrough: 'فى وسطه خط', 12 | size: 'الحجم' 13 | }, 14 | image: { 15 | image: 'صورة', 16 | insert: 'إضافة صورة', 17 | resizeFull: 'الحجم بالكامل', 18 | resizeHalf: 'تصغير للنصف', 19 | resizeQuarter: 'تصغير للربع', 20 | floatLeft: 'تطيير لليسار', 21 | floatRight: 'تطيير لليمين', 22 | floatNone: 'ثابته', 23 | dragImageHere: 'إدرج الصورة هنا', 24 | selectFromFiles: 'حدد ملف', 25 | url: 'رابط الصورة', 26 | remove: 'حذف الصورة' 27 | }, 28 | video: { 29 | video: 'فيديو', 30 | videoLink: 'رابط الفيديو', 31 | insert: 'إدراج الفيديو', 32 | url: 'رابط الفيديو', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' 34 | }, 35 | link: { 36 | link: 'رابط رابط', 37 | insert: 'إدراج', 38 | unlink: 'حذف الرابط', 39 | edit: 'تعديل', 40 | textToDisplay: 'النص', 41 | url: 'مسار الرابط', 42 | openInNewWindow: 'فتح في نافذة جديدة' 43 | }, 44 | table: { 45 | table: 'جدول' 46 | }, 47 | hr: { 48 | insert: 'إدراج خط أفقي' 49 | }, 50 | style: { 51 | style: 'تنسيق', 52 | p: 'عادي', 53 | blockquote: 'إقتباس', 54 | pre: 'شفيرة', 55 | h1: 'عنوان رئيسي 1', 56 | h2: 'عنوان رئيسي 2', 57 | h3: 'عنوان رئيسي 3', 58 | h4: 'عنوان رئيسي 4', 59 | h5: 'عنوان رئيسي 5', 60 | h6: 'عنوان رئيسي 6' 61 | }, 62 | lists: { 63 | unordered: 'قائمة مُنقطة', 64 | ordered: 'قائمة مُرقمة' 65 | }, 66 | options: { 67 | help: 'مساعدة', 68 | fullscreen: 'حجم الشاشة بالكامل', 69 | codeview: 'شفيرة المصدر' 70 | }, 71 | paragraph: { 72 | paragraph: 'فقرة', 73 | outdent: 'محاذاة للخارج', 74 | indent: 'محاذاة للداخل', 75 | left: 'محاذاة لليسار', 76 | center: 'توسيط', 77 | right: 'محاذاة لليمين', 78 | justify: 'ملئ السطر' 79 | }, 80 | color: { 81 | recent: 'تم إستخدامه', 82 | more: 'المزيد', 83 | background: 'لون الخلفية', 84 | foreground: 'لون النص', 85 | transparent: 'شفاف', 86 | setTransparent: 'بدون خلفية', 87 | reset: 'إعادة الضبط', 88 | resetToDefault: 'إعادة الضبط' 89 | }, 90 | shortcut: { 91 | shortcuts: 'إختصارات', 92 | close: 'غلق', 93 | textFormatting: 'تنسيق النص', 94 | action: 'Action', 95 | paragraphFormatting: 'تنسيق الفقرة', 96 | documentStyle: 'تنسيق المستند' 97 | }, 98 | history: { 99 | undo: 'تراجع', 100 | redo: 'إعادة' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-he-IL.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'he-IL': { 4 | font: { 5 | bold: 'מודגש', 6 | italic: 'נטוי', 7 | underline: 'קו תחתון', 8 | clear: 'נקה עיצוב', 9 | height: 'גובה', 10 | name: 'גופן', 11 | strikethrough: 'קו חוצה', 12 | subscript: 'כתב תחתי', 13 | superscript: 'כתב עילי', 14 | size: 'גודל גופן' 15 | }, 16 | image: { 17 | image: 'תמונה', 18 | insert: 'הוסף תמונה', 19 | resizeFull: 'גודל מלא', 20 | resizeHalf: 'להקטין לחצי', 21 | resizeQuarter: 'להקטין לרבע', 22 | floatLeft: 'יישור לשמאל', 23 | floatRight: 'יישור לימין', 24 | floatNone: 'ישר', 25 | dragImageHere: 'גרור תמונה לכאן', 26 | selectFromFiles: 'בחר מתוך קבצים', 27 | url: 'נתיב לתמונה', 28 | remove: 'הסר תמונה' 29 | }, 30 | video: { 31 | video: 'סרטון', 32 | videoLink: 'קישור לסרטון', 33 | insert: 'הוסף סרטון', 34 | url: 'קישור לסרטון', 35 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion או Youku)' 36 | }, 37 | link: { 38 | link: 'קישור', 39 | insert: 'הוסף קישור', 40 | unlink: 'הסר קישור', 41 | edit: 'ערוך', 42 | textToDisplay: 'טקסט להציג', 43 | url: 'קישור', 44 | openInNewWindow: 'פתח בחלון חדש' 45 | }, 46 | table: { 47 | table: 'טבלה' 48 | }, 49 | hr: { 50 | insert: 'הוסף קו' 51 | }, 52 | style: { 53 | style: 'עיצוב', 54 | p: 'טקסט רגיל', 55 | blockquote: 'ציטוט', 56 | pre: 'קוד', 57 | h1: 'כותרת 1', 58 | h2: 'כותרת 2', 59 | h3: 'כותרת 3', 60 | h4: 'כותרת 4', 61 | h5: 'כותרת 5', 62 | h6: 'כותרת 6' 63 | }, 64 | lists: { 65 | unordered: 'רשימת תבליטים', 66 | ordered: 'רשימה ממוספרת' 67 | }, 68 | options: { 69 | help: 'עזרה', 70 | fullscreen: 'מסך מלא', 71 | codeview: 'תצוגת קוד' 72 | }, 73 | paragraph: { 74 | paragraph: 'פסקה', 75 | outdent: 'הקטן כניסה', 76 | indent: 'הגדל כניסה', 77 | left: 'יישור לשמאל', 78 | center: 'יישור למרכז', 79 | right: 'יישור לימין', 80 | justify: 'מיושר' 81 | }, 82 | color: { 83 | recent: 'צבע טקסט אחרון', 84 | more: 'עוד צבעים', 85 | background: 'צבע רקע', 86 | foreground: 'צבע טקסט', 87 | transparent: 'שקוף', 88 | setTransparent: 'קבע כשקוף', 89 | reset: 'איפוס', 90 | resetToDefault: 'אפס לברירת מחדל' 91 | }, 92 | shortcut: { 93 | shortcuts: 'קיצורי מקלדת', 94 | close: 'סגור', 95 | textFormatting: 'עיצוב הטקסט', 96 | action: 'פעולה', 97 | paragraphFormatting: 'סגנונות פסקה', 98 | documentStyle: 'עיצוב המסמך', 99 | extraKeys: 'קיצורים נוספים' 100 | }, 101 | history: { 102 | undo: 'בטל פעולה', 103 | redo: 'בצע שוב' 104 | } 105 | } 106 | }); 107 | })(jQuery); 108 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-id-ID.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'id-ID': { 4 | font: { 5 | bold: 'Tebal', 6 | italic: 'Miring', 7 | underline: 'Garis bawah', 8 | clear: 'Bersihkan gaya', 9 | height: 'Jarak baris', 10 | strikethrough: 'Coret', 11 | size: 'Ukuran font' 12 | }, 13 | image: { 14 | image: 'Gambar', 15 | insert: 'Sisipkan gambar', 16 | resizeFull: 'Ukuran penuh', 17 | resizeHalf: 'Ukuran 50%', 18 | resizeQuarter: 'Ukuran 25%', 19 | floatLeft: 'Rata kiri', 20 | floatRight: 'Rata kanan', 21 | floatNone: 'Tidak ada perataan', 22 | dragImageHere: 'Tarik gambar pada area ini', 23 | selectFromFiles: 'Pilih gambar dari berkas', 24 | url: 'URL gambar', 25 | remove: 'Hapus Gambar' 26 | }, 27 | video: { 28 | video: 'Video', 29 | videoLink: 'Link video', 30 | insert: 'Sisipkan video', 31 | url: 'Tautan video', 32 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion atau Youku)' 33 | }, 34 | link: { 35 | link: 'Tautan', 36 | insert: 'Tambah tautan', 37 | unlink: 'Hapus tautan', 38 | edit: 'Edit', 39 | textToDisplay: 'Tampilan teks', 40 | url: 'Tautan tujuan', 41 | openInNewWindow: 'Buka di jendela baru' 42 | }, 43 | table: { 44 | table: 'Tabel' 45 | }, 46 | hr: { 47 | insert: 'Masukkan garis horizontal' 48 | }, 49 | style: { 50 | style: 'Gaya', 51 | p: 'p', 52 | blockquote: 'Kutipan', 53 | pre: 'Kode', 54 | h1: 'Heading 1', 55 | h2: 'Heading 2', 56 | h3: 'Heading 3', 57 | h4: 'Heading 4', 58 | h5: 'Heading 5', 59 | h6: 'Heading 6' 60 | }, 61 | lists: { 62 | unordered: 'Pencacahan', 63 | ordered: 'Penomoran' 64 | }, 65 | options: { 66 | help: 'Bantuan', 67 | fullscreen: 'Layar penuh', 68 | codeview: 'Kode HTML' 69 | }, 70 | paragraph: { 71 | paragraph: 'Paragraf', 72 | outdent: 'Outdent', 73 | indent: 'Indent', 74 | left: 'Rata kiri', 75 | center: 'Rata tengah', 76 | right: 'Rata kanan', 77 | justify: 'Rata kanan kiri' 78 | }, 79 | color: { 80 | recent: 'Warna sekarang', 81 | more: 'Selengkapnya', 82 | background: 'Warna latar', 83 | foreground: 'Warna font', 84 | transparent: 'Transparan', 85 | setTransparent: 'Atur transparansi', 86 | reset: 'Atur ulang', 87 | resetToDefault: 'Kembalikan kesemula' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Jalan pintas', 91 | close: 'Keluar', 92 | textFormatting: 'Format teks', 93 | action: 'Aksi', 94 | paragraphFormatting: 'Format paragraf', 95 | documentStyle: 'Gaya dokumen' 96 | }, 97 | history: { 98 | undo: 'Kembali', 99 | redo: 'Ulang' 100 | } 101 | } 102 | }); 103 | })(jQuery); 104 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-bg-BG.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'bg-BG': { 4 | font: { 5 | bold: 'Удебелен', 6 | italic: 'Наклонен', 7 | underline: 'Подчертан', 8 | clear: 'Изчисти стиловете', 9 | height: 'Височина', 10 | name: 'Шрифт', 11 | strikethrough: 'Задраскано', 12 | subscript: 'Долен индекс', 13 | superscript: 'Горен индекс', 14 | size: 'Размер на шрифта' 15 | }, 16 | image: { 17 | image: 'Изображение', 18 | insert: 'Постави картинка', 19 | resizeFull: 'Цял размер', 20 | resizeHalf: 'Размер на 50%', 21 | resizeQuarter: 'Размер на 25%', 22 | floatLeft: 'Подравни в ляво', 23 | floatRight: 'Подравни в дясно', 24 | floatNone: 'Без подравняване', 25 | dragImageHere: 'Пуснете изображението тук', 26 | selectFromFiles: 'Изберете файл', 27 | url: 'URL адрес на изображение', 28 | remove: 'Премахни изображение' 29 | }, 30 | link: { 31 | link: 'Връзка', 32 | insert: 'Добави връзка', 33 | unlink: 'Премахни връзка', 34 | edit: 'Промени', 35 | textToDisplay: 'Текст за показване', 36 | url: 'URL адрес', 37 | openInNewWindow: 'Отвори в нов прозорец' 38 | }, 39 | table: { 40 | table: 'Таблица' 41 | }, 42 | hr: { 43 | insert: 'Добави хоризонтална линия' 44 | }, 45 | style: { 46 | style: 'Стил', 47 | p: 'Нормален', 48 | blockquote: 'Цитат', 49 | pre: 'Код', 50 | h1: 'Заглавие 1', 51 | h2: 'Заглавие 2', 52 | h3: 'Заглавие 3', 53 | h4: 'Заглавие 4', 54 | h5: 'Заглавие 5', 55 | h6: 'Заглавие 6' 56 | }, 57 | lists: { 58 | unordered: 'Символен списък', 59 | ordered: 'Цифров списък' 60 | }, 61 | options: { 62 | help: 'Помощ', 63 | fullscreen: 'На цял екран', 64 | codeview: 'Преглед на код' 65 | }, 66 | paragraph: { 67 | paragraph: 'Параграф', 68 | outdent: 'Намаляване на отстъпа', 69 | indent: 'Абзац', 70 | left: 'Подравняване в ляво', 71 | center: 'Център', 72 | right: 'Подравняване в дясно', 73 | justify: 'Разтягане по ширина' 74 | }, 75 | color: { 76 | recent: 'Последния избран цвят', 77 | more: 'Още цветове', 78 | background: 'Цвят на фона', 79 | foreground: 'Цвят на шрифта', 80 | transparent: 'Прозрачен', 81 | setTransparent: 'Направете прозрачен', 82 | reset: 'Възстанови', 83 | resetToDefault: 'Възстанови оригиналните' 84 | }, 85 | shortcut: { 86 | shortcuts: 'Клавишни комбинации', 87 | close: 'Затвори', 88 | textFormatting: 'Форматиране на текста', 89 | action: 'Действие', 90 | paragraphFormatting: 'Форматиране на параграф', 91 | documentStyle: 'Стил на документа' 92 | }, 93 | history: { 94 | undo: 'Назад', 95 | redo: 'Напред' 96 | } 97 | } 98 | }); 99 | })(jQuery); 100 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ko-KR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ko-KR': { 4 | font: { 5 | bold: '굵게', 6 | italic: '기울임꼴', 7 | underline: '밑줄', 8 | clear: '글자 효과 없애기', 9 | height: '줄간격', 10 | name: '글꼴', 11 | superscript: '위 첨자', 12 | subscript: '아래 첨자', 13 | strikethrough: '취소선', 14 | size: '글자 크기' 15 | }, 16 | image: { 17 | image: '사진', 18 | insert: '사진 추가', 19 | resizeFull: '100% 크기로 변경', 20 | resizeHalf: '50% 크기로 변경', 21 | resizeQuarter: '25% 크기로 변경', 22 | floatLeft: '왼쪽 정렬', 23 | floatRight: '오른쪽 정렬', 24 | floatNone: '정렬하지 않음', 25 | shapeRounded: '스타일: 둥근 모서리', 26 | shapeCircle: '스타일: 원형', 27 | shapeThumbnail: '스타일: 액자', 28 | shapeNone: '스타일: 없음', 29 | dragImageHere: '텍스트 혹은 사진을 이곳으로 끌어오세요', 30 | dropImage: '텍스트 혹은 사진을 내려놓으세요', 31 | selectFromFiles: '파일 선택', 32 | url: '사진 URL', 33 | remove: '사진 삭제' 34 | }, 35 | video: { 36 | video: '동영상', 37 | videoLink: '동영상 링크', 38 | insert: '동영상 추가', 39 | url: '동영상 URL', 40 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)' 41 | }, 42 | link: { 43 | link: '링크', 44 | insert: '링크 추가', 45 | unlink: '링크 삭제', 46 | edit: '수정', 47 | textToDisplay: '링크에 표시할 내용', 48 | url: '이동할 URL', 49 | openInNewWindow: '새창으로 열기' 50 | }, 51 | table: { 52 | table: '테이블' 53 | }, 54 | hr: { 55 | insert: '구분선 추가' 56 | }, 57 | style: { 58 | style: '스타일', 59 | p: '본문', 60 | blockquote: '인용구', 61 | pre: '코드', 62 | h1: '제목 1', 63 | h2: '제목 2', 64 | h3: '제목 3', 65 | h4: '제목 4', 66 | h5: '제목 5', 67 | h6: '제목 6' 68 | }, 69 | lists: { 70 | unordered: '글머리 기호', 71 | ordered: '번호 매기기' 72 | }, 73 | options: { 74 | help: '도움말', 75 | fullscreen: '전체 화면', 76 | codeview: '코드 보기' 77 | }, 78 | paragraph: { 79 | paragraph: '문단 정렬', 80 | outdent: '내어쓰기', 81 | indent: '들여쓰기', 82 | left: '왼쪽 정렬', 83 | center: '가운데 정렬', 84 | right: '오른쪽 정렬', 85 | justify: '양쪽 정렬' 86 | }, 87 | color: { 88 | recent: '마지막으로 사용한 색', 89 | more: '다른 색 선택', 90 | background: '배경색', 91 | foreground: '글자색', 92 | transparent: '투명', 93 | setTransparent: '투명', 94 | reset: '취소', 95 | resetToDefault: '기본 값으로 변경' 96 | }, 97 | shortcut: { 98 | shortcuts: '키보드 단축키', 99 | close: '닫기', 100 | textFormatting: '글자 스타일 적용', 101 | action: '기능', 102 | paragraphFormatting: '문단 스타일 적용', 103 | documentStyle: '문서 스타일 적용' 104 | }, 105 | history: { 106 | undo: '실행 취소', 107 | redo: '다시 실행' 108 | }, 109 | specialChar: { 110 | specialChar: '특수문자', 111 | select: '특수문자를 선택하세요' 112 | } 113 | } 114 | }); 115 | })(jQuery); 116 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-fa-IR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'fa-IR': { 4 | font: { 5 | bold: 'درشت', 6 | italic: 'خمیده', 7 | underline: 'میان خط', 8 | clear: 'پاک کردن فرمت فونت', 9 | height: 'فاصله ی خطی', 10 | name: 'اسم فونت', 11 | strikethrough: 'Strike', 12 | size: 'اندازه ی فونت' 13 | }, 14 | image: { 15 | image: 'تصویر', 16 | insert: 'وارد کردن تصویر', 17 | resizeFull: 'تغییر به اندازه ی کامل', 18 | resizeHalf: 'تغییر به اندازه نصف', 19 | resizeQuarter: 'تغییر به اندازه یک چهارم', 20 | floatLeft: 'چسباندن به چپ', 21 | floatRight: 'چسباندن به راست', 22 | floatNone: 'بدون چسبندگی', 23 | dragImageHere: 'یک تصویر را اینجا بکشید', 24 | selectFromFiles: 'فایل ها را انتخاب کنید', 25 | url: 'آدرس تصویر', 26 | remove: 'حذف تصویر' 27 | }, 28 | video: { 29 | video: 'ویدیو', 30 | videoLink: 'لینک ویدیو', 31 | insert: 'افزودن ویدیو', 32 | url: 'آدرس ویدیو ؟', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion یا Youku)' 34 | }, 35 | link: { 36 | link: 'لینک', 37 | insert: 'اضافه کردن لینک', 38 | unlink: 'حذف لینک', 39 | edit: 'ویرایش', 40 | textToDisplay: 'متن جهت نمایش', 41 | url: 'این لینک به چه آدرسی باید برود ؟', 42 | openInNewWindow: 'در یک پنجره ی جدید باز شود' 43 | }, 44 | table: { 45 | table: 'جدول' 46 | }, 47 | hr: { 48 | insert: 'افزودن خط افقی' 49 | }, 50 | style: { 51 | style: 'استیل', 52 | p: 'نرمال', 53 | blockquote: 'نقل قول', 54 | pre: 'کد', 55 | h1: 'سرتیتر 1', 56 | h2: 'سرتیتر 2', 57 | h3: 'سرتیتر 3', 58 | h4: 'سرتیتر 4', 59 | h5: 'سرتیتر 5', 60 | h6: 'سرتیتر 6' 61 | }, 62 | lists: { 63 | unordered: 'لیست غیر ترتیبی', 64 | ordered: 'لیست ترتیبی' 65 | }, 66 | options: { 67 | help: 'راهنما', 68 | fullscreen: 'نمایش تمام صفحه', 69 | codeview: 'مشاهده ی کد' 70 | }, 71 | paragraph: { 72 | paragraph: 'پاراگراف', 73 | outdent: 'کاهش تو رفتگی', 74 | indent: 'افزایش تو رفتگی', 75 | left: 'چپ چین', 76 | center: 'میان چین', 77 | right: 'راست چین', 78 | justify: 'بلوک چین' 79 | }, 80 | color: { 81 | recent: 'رنگ اخیرا استفاده شده', 82 | more: 'رنگ بیشتر', 83 | background: 'رنگ پس زمینه', 84 | foreground: 'رنگ متن', 85 | transparent: 'بی رنگ', 86 | setTransparent: 'تنظیم حالت بی رنگ', 87 | reset: 'بازنشاندن', 88 | resetToDefault: 'حالت پیش فرض' 89 | }, 90 | shortcut: { 91 | shortcuts: 'دکمه های میان بر', 92 | close: 'بستن', 93 | textFormatting: 'فرمت متن', 94 | action: 'عملیات', 95 | paragraphFormatting: 'فرمت پاراگراف', 96 | documentStyle: 'استیل سند' 97 | }, 98 | history: { 99 | undo: 'واچیدن', 100 | redo: 'بازچیدن' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | 106 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ro-RO.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ro-RO': { 4 | font: { 5 | bold: 'Îngroșat', 6 | italic: 'Înclinat', 7 | underline: 'Subliniat', 8 | clear: 'Înlătură formatare font', 9 | height: 'Înălțime rând', 10 | strikethrough: 'Tăiat', 11 | size: 'Dimensiune font' 12 | }, 13 | image: { 14 | image: 'Imagine', 15 | insert: 'Inserează imagine', 16 | resizeFull: 'Redimensionează complet', 17 | resizeHalf: 'Redimensionează 1/2', 18 | resizeQuarter: 'Redimensionează 1/4', 19 | floatLeft: 'Aliniere la stânga', 20 | floatRight: 'Aliniere la dreapta', 21 | floatNone: 'Fară aliniere', 22 | dragImageHere: 'Trage o imagine aici', 23 | selectFromFiles: 'Alege din fişiere', 24 | url: 'URL imagine' 25 | }, 26 | video: { 27 | video: 'Video', 28 | videoLink: 'Link video', 29 | insert: 'Inserează video', 30 | url: 'URL video?', 31 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion sau Youku)' 32 | }, 33 | link: { 34 | link: 'Link', 35 | insert: 'Inserează link', 36 | unlink: 'Înlătură link', 37 | edit: 'Editează', 38 | textToDisplay: 'Text ce va fi afişat', 39 | url: 'Deschidere în fereastra nouă?' 40 | }, 41 | table: { 42 | table: 'Tabel' 43 | }, 44 | hr: { 45 | insert: 'Inserează o linie orizontală' 46 | }, 47 | style: { 48 | style: 'Stil', 49 | p: 'p', 50 | blockquote: 'Citat', 51 | pre: 'Preformatat', 52 | h1: 'Titlu 1', 53 | h2: 'Titlu 2', 54 | h3: 'Titlu 3', 55 | h4: 'Titlu 4', 56 | h5: 'Titlu 5', 57 | h6: 'Titlu 6' 58 | }, 59 | lists: { 60 | unordered: 'Listă neordonată', 61 | ordered: 'Listă ordonată' 62 | }, 63 | options: { 64 | help: 'Ajutor', 65 | fullscreen: 'Măreşte', 66 | codeview: 'Sursă' 67 | }, 68 | paragraph: { 69 | paragraph: 'Paragraf', 70 | outdent: 'Creşte identarea', 71 | indent: 'Scade identarea', 72 | left: 'Aliniere la stânga', 73 | center: 'Aliniere centrală', 74 | right: 'Aliniere la dreapta', 75 | justify: 'Aliniere în bloc' 76 | }, 77 | color: { 78 | recent: 'Culoare recentă', 79 | more: 'Mai multe culori', 80 | background: 'Culoarea fundalului', 81 | foreground: 'Culoarea textului', 82 | transparent: 'Transparent', 83 | setTransparent: 'Setează transparent', 84 | reset: 'Resetează', 85 | resetToDefault: 'Revino la iniţial' 86 | }, 87 | shortcut: { 88 | shortcuts: 'Scurtături tastatură', 89 | close: 'Închide', 90 | textFormatting: 'Formatare text', 91 | action: 'Acţiuni', 92 | paragraphFormatting: 'Formatare paragraf', 93 | documentStyle: 'Stil paragraf' 94 | }, 95 | history: { 96 | undo: 'Starea anterioară', 97 | redo: 'Starea ulterioară' 98 | } 99 | 100 | } 101 | }); 102 | })(jQuery); 103 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-cs-CZ.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'cs-CZ': { 4 | font: { 5 | bold: 'Tučné', 6 | italic: 'Kurzíva', 7 | underline: 'Podtržené', 8 | clear: 'Odstranit styl písma', 9 | height: 'Výška řádku', 10 | strikethrough: 'Přeškrtnuté', 11 | size: 'Velikost písma' 12 | }, 13 | image: { 14 | image: 'Obrázek', 15 | insert: 'Vložit obrázek', 16 | resizeFull: 'Původní velikost', 17 | resizeHalf: 'Poloviční velikost', 18 | resizeQuarter: 'Čtvrteční velikost', 19 | floatLeft: 'Umístit doleva', 20 | floatRight: 'Umístit doprava', 21 | floatNone: 'Neobtékat textem', 22 | dragImageHere: 'Přetáhnout sem obrázek', 23 | selectFromFiles: 'Vybrat soubor', 24 | url: 'URL obrázku' 25 | }, 26 | video: { 27 | video: 'Video', 28 | videoLink: 'Odkaz videa', 29 | insert: 'Vložit video', 30 | url: 'URL videa?', 31 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion nebo Youku)' 32 | }, 33 | link: { 34 | link: 'Odkaz', 35 | insert: 'Vytvořit odkaz', 36 | unlink: 'Zrušit odkaz', 37 | edit: 'Upravit', 38 | textToDisplay: 'Zobrazovaný text', 39 | url: 'Na jaké URL má tento odkaz vést?', 40 | openInNewWindow: 'Otevřít v novém okně' 41 | }, 42 | table: { 43 | table: 'Tabulka' 44 | }, 45 | hr: { 46 | insert: 'Vložit vodorovnou čáru' 47 | }, 48 | style: { 49 | style: 'Styl', 50 | p: 'Normální', 51 | blockquote: 'Citace', 52 | pre: 'Kód', 53 | h1: 'Nadpis 1', 54 | h2: 'Nadpis 2', 55 | h3: 'Nadpis 3', 56 | h4: 'Nadpis 4', 57 | h5: 'Nadpis 5', 58 | h6: 'Nadpis 6' 59 | }, 60 | lists: { 61 | unordered: 'Odrážkový seznam', 62 | ordered: 'Číselný seznam' 63 | }, 64 | options: { 65 | help: 'Nápověda', 66 | fullscreen: 'Celá obrazovka', 67 | codeview: 'HTML kód' 68 | }, 69 | paragraph: { 70 | paragraph: 'Odstavec', 71 | outdent: 'Zvětšit odsazení', 72 | indent: 'Zmenšit odsazení', 73 | left: 'Zarovnat doleva', 74 | center: 'Zarovnat na střed', 75 | right: 'Zarovnat doprava', 76 | justify: 'Zarovnat oboustranně' 77 | }, 78 | color: { 79 | recent: 'Aktuální barva', 80 | more: 'Další barvy', 81 | background: 'Barva pozadí', 82 | foreground: 'Barva písma', 83 | transparent: 'Průhlednost', 84 | setTransparent: 'Nastavit průhlednost', 85 | reset: 'Obnovit', 86 | resetToDefault: 'Obnovit výchozí' 87 | }, 88 | shortcut: { 89 | shortcuts: 'Klávesové zkratky', 90 | close: 'Zavřít', 91 | textFormatting: 'Formátování textu', 92 | action: 'Akce', 93 | paragraphFormatting: 'Formátování odstavce', 94 | documentStyle: 'Styl dokumentu' 95 | }, 96 | history: { 97 | undo: 'Krok vzad', 98 | redo: 'Krok vpřed' 99 | } 100 | 101 | } 102 | }); 103 | })(jQuery); 104 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-sk-SK.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'sk-SK': { 4 | font: { 5 | bold: 'Tučné', 6 | italic: 'Kurzíva', 7 | underline: 'Podčiarknutie', 8 | clear: 'Odstrániť štýl písma', 9 | height: 'Výška riadku', 10 | strikethrough: 'Prečiarknuté', 11 | size: 'Veľkosť písma' 12 | }, 13 | image: { 14 | image: 'Obrázok', 15 | insert: 'Vložiť obrázok', 16 | resizeFull: 'Pôvodná veľkosť', 17 | resizeHalf: 'Polovičná veľkosť', 18 | resizeQuarter: 'Štvrtinová veľkosť', 19 | floatLeft: 'Umiestniť doľava', 20 | floatRight: 'Umiestniť doprava', 21 | floatNone: 'Bez zarovnania', 22 | dragImageHere: 'Pretiahnuť sem obrázok', 23 | selectFromFiles: 'Vybrať súbor', 24 | url: 'URL obrázku' 25 | }, 26 | video: { 27 | video: 'Video', 28 | videoLink: 'Odkaz videa', 29 | insert: 'Vložiť video', 30 | url: 'URL videa?', 31 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion alebo Youku)' 32 | }, 33 | link: { 34 | link: 'Odkaz', 35 | insert: 'Vytvoriť odkaz', 36 | unlink: 'Zrušiť odkaz', 37 | edit: 'Upraviť', 38 | textToDisplay: 'Zobrazovaný text', 39 | url: 'Na akú URL adresu má tento odkaz viesť?', 40 | openInNewWindow: 'Otvoriť v novom okne' 41 | }, 42 | table: { 43 | table: 'Tabuľka' 44 | }, 45 | hr: { 46 | insert: 'Vložit vodorovnú čiaru' 47 | }, 48 | style: { 49 | style: 'Štýl', 50 | p: 'Normálny', 51 | blockquote: 'Citácia', 52 | pre: 'Kód', 53 | h1: 'Nadpis 1', 54 | h2: 'Nadpis 2', 55 | h3: 'Nadpis 3', 56 | h4: 'Nadpis 4', 57 | h5: 'Nadpis 5', 58 | h6: 'Nadpis 6' 59 | }, 60 | lists: { 61 | unordered: 'Odrážkový zoznam', 62 | ordered: 'Číselný zoznam' 63 | }, 64 | options: { 65 | help: 'Pomoc', 66 | fullscreen: 'Celá obrazovka', 67 | codeview: 'HTML kód' 68 | }, 69 | paragraph: { 70 | paragraph: 'Odsek', 71 | outdent: 'Zväčšiť odsadenie', 72 | indent: 'Zmenšiť odsadenie', 73 | left: 'Zarovnať doľava', 74 | center: 'Zarovnať na stred', 75 | right: 'Zarovnať doprava', 76 | justify: 'Zarovnať obojstranne' 77 | }, 78 | color: { 79 | recent: 'Aktuálna farba', 80 | more: 'Dalšie farby', 81 | background: 'Farba pozadia', 82 | foreground: 'Farba písma', 83 | transparent: 'Priehľadnosť', 84 | setTransparent: 'Nastaviť priehľadnosť', 85 | reset: 'Obnoviť', 86 | resetToDefault: 'Obnoviť prednastavené' 87 | }, 88 | shortcut: { 89 | shortcuts: 'Klávesové skratky', 90 | close: 'Zavrieť', 91 | textFormatting: 'Formátovanie textu', 92 | action: 'Akcia', 93 | paragraphFormatting: 'Formátovanie odseku', 94 | documentStyle: 'Štýl dokumentu' 95 | }, 96 | history: { 97 | undo: 'Krok vzad', 98 | redo: 'Krok dopredu' 99 | } 100 | } 101 | }); 102 | })(jQuery); 103 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-hr-HR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'hr-HR': { 4 | font: { 5 | bold: 'Podebljano', 6 | italic: 'Kurziv', 7 | underline: 'Podvučeno', 8 | clear: 'Ukloni stilove fonta', 9 | height: 'Visina linije', 10 | strikethrough: 'Precrtano', 11 | size: 'Veličina fonta' 12 | }, 13 | image: { 14 | image: 'Slika', 15 | insert: 'Ubaci sliku', 16 | resizeFull: 'Puna veličina', 17 | resizeHalf: 'Umanji na 50%', 18 | resizeQuarter: 'Umanji na 25%', 19 | floatLeft: 'Poravnaj lijevo', 20 | floatRight: 'Poravnaj desno', 21 | floatNone: 'Bez poravnanja', 22 | dragImageHere: 'Povuci sliku ovdje', 23 | selectFromFiles: 'Izaberi iz datoteke', 24 | url: 'Adresa slike', 25 | remove: 'Ukloni sliku' 26 | }, 27 | video: { 28 | video: 'Video', 29 | videoLink: 'Veza na video', 30 | insert: 'Ubaci video', 31 | url: 'URL video', 32 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)' 33 | }, 34 | link: { 35 | link: 'Veza', 36 | insert: 'Ubaci vezu', 37 | unlink: 'Ukloni vezu', 38 | edit: 'Uredi', 39 | textToDisplay: 'Tekst za prikaz', 40 | url: 'Internet adresa', 41 | openInNewWindow: 'Otvori u novom prozoru' 42 | }, 43 | table: { 44 | table: 'Tablica' 45 | }, 46 | hr: { 47 | insert: 'Ubaci horizontalnu liniju' 48 | }, 49 | style: { 50 | style: 'Stil', 51 | p: 'pni', 52 | blockquote: 'Citat', 53 | pre: 'Kôd', 54 | h1: 'Naslov 1', 55 | h2: 'Naslov 2', 56 | h3: 'Naslov 3', 57 | h4: 'Naslov 4', 58 | h5: 'Naslov 5', 59 | h6: 'Naslov 6' 60 | }, 61 | lists: { 62 | unordered: 'Obična lista', 63 | ordered: 'Numerirana lista' 64 | }, 65 | options: { 66 | help: 'Pomoć', 67 | fullscreen: 'Preko cijelog ekrana', 68 | codeview: 'Izvorni kôd' 69 | }, 70 | paragraph: { 71 | paragraph: 'Paragraf', 72 | outdent: 'Smanji uvlačenje', 73 | indent: 'Povećaj uvlačenje', 74 | left: 'Poravnaj lijevo', 75 | center: 'Centrirano', 76 | right: 'Poravnaj desno', 77 | justify: 'Poravnaj obostrano' 78 | }, 79 | color: { 80 | recent: 'Posljednja boja', 81 | more: 'Više boja', 82 | background: 'Boja pozadine', 83 | foreground: 'Boja teksta', 84 | transparent: 'Prozirna', 85 | setTransparent: 'Prozirna', 86 | reset: 'Poništi', 87 | resetToDefault: 'Podrazumijevana' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Prečice s tipkovnice', 91 | close: 'Zatvori', 92 | textFormatting: 'Formatiranje teksta', 93 | action: 'Akcija', 94 | paragraphFormatting: 'Formatiranje paragrafa', 95 | documentStyle: 'Stil dokumenta', 96 | extraKeys: 'Dodatne kombinacije' 97 | }, 98 | history: { 99 | undo: 'Poništi', 100 | redo: 'Ponovi' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-sr-RS.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'sr-RS': { 4 | font: { 5 | bold: 'Подебљано', 6 | italic: 'Курзив', 7 | underline: 'Подвучено', 8 | clear: 'Уклони стилове фонта', 9 | height: 'Висина линије', 10 | strikethrough: 'Прецртано', 11 | size: 'Величина фонта' 12 | }, 13 | image: { 14 | image: 'Слика', 15 | insert: 'Уметни слику', 16 | resizeFull: 'Пуна величина', 17 | resizeHalf: 'Умањи на 50%', 18 | resizeQuarter: 'Умањи на 25%', 19 | floatLeft: 'Уз леву ивицу', 20 | floatRight: 'Уз десну ивицу', 21 | floatNone: 'Без равнања', 22 | dragImageHere: 'Превуци слику овде', 23 | selectFromFiles: 'Изабери из датотеке', 24 | url: 'Адреса слике', 25 | remove: 'Уклони слику' 26 | }, 27 | video: { 28 | video: 'Видео', 29 | videoLink: 'Веза ка видеу', 30 | insert: 'Уметни видео', 31 | url: 'URL видео', 32 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)' 33 | }, 34 | link: { 35 | link: 'Веза', 36 | insert: 'Уметни везу', 37 | unlink: 'Уклони везу', 38 | edit: 'Уреди', 39 | textToDisplay: 'Текст за приказ', 40 | url: 'Интернет адреса', 41 | openInNewWindow: 'Отвори у новом прозору' 42 | }, 43 | table: { 44 | table: 'Табела' 45 | }, 46 | hr: { 47 | insert: 'Уметни хоризонталну линију' 48 | }, 49 | style: { 50 | style: 'Стил', 51 | p: 'Нормални', 52 | blockquote: 'Цитат', 53 | pre: 'Код', 54 | h1: 'Заглавље 1', 55 | h2: 'Заглавље 2', 56 | h3: 'Заглавље 3', 57 | h4: 'Заглавље 4', 58 | h5: 'Заглавље 5', 59 | h6: 'Заглавље 6' 60 | }, 61 | lists: { 62 | unordered: 'Обична листа', 63 | ordered: 'Нумерисана листа' 64 | }, 65 | options: { 66 | help: 'Помоћ', 67 | fullscreen: 'Преко целог екрана', 68 | codeview: 'Изворни код' 69 | }, 70 | paragraph: { 71 | paragraph: 'Параграф', 72 | outdent: 'Смањи увлачење', 73 | indent: 'Повечај увлачење', 74 | left: 'Поравнај у лево', 75 | center: 'Центрирано', 76 | right: 'Поравнај у десно', 77 | justify: 'Поравнај обострано' 78 | }, 79 | color: { 80 | recent: 'Последња боја', 81 | more: 'Више боја', 82 | background: 'Боја позадине', 83 | foreground: 'Боја текста', 84 | transparent: 'Провидна', 85 | setTransparent: 'Провидна', 86 | reset: 'Опозив', 87 | resetToDefault: 'Подразумевана' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Пречице са тастатуре', 91 | close: 'Затвори', 92 | textFormatting: 'Форматирање текста', 93 | action: 'Акција', 94 | paragraphFormatting: 'Форматирање параграфа', 95 | documentStyle: 'Стил документа', 96 | extraKeys: 'Додатне комбинације' 97 | }, 98 | history: { 99 | undo: 'Поништи', 100 | redo: 'Понови' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-nb-NO.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'nb-NO': { 4 | font: { 5 | bold: 'Fet', 6 | italic: 'Kursiv', 7 | underline: 'Understrek', 8 | clear: 'Fjern formatering', 9 | height: 'Linjehøyde', 10 | name: 'Skrifttype', 11 | strikethrough: 'Gjennomstrek', 12 | size: 'Skriftstørrelse' 13 | }, 14 | image: { 15 | image: 'Bilde', 16 | insert: 'Sett inn bilde', 17 | resizeFull: 'Sett full størrelse', 18 | resizeHalf: 'Sett halv størrelse', 19 | resizeQuarter: 'Sett kvart størrelse', 20 | floatLeft: 'Flyt til venstre', 21 | floatRight: 'Flyt til høyre', 22 | floatNone: 'Fjern flyt', 23 | dragImageHere: 'Dra et bilde hit', 24 | selectFromFiles: 'Velg fra filer', 25 | url: 'Bilde-URL', 26 | remove: 'Fjern bilde' 27 | }, 28 | video: { 29 | video: 'Video', 30 | videoLink: 'Videolenke', 31 | insert: 'Sett inn video', 32 | url: 'Video-URL', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)' 34 | }, 35 | link: { 36 | link: 'Lenke', 37 | insert: 'Sett inn lenke', 38 | unlink: 'Fjern lenke', 39 | edit: 'Rediger', 40 | textToDisplay: 'Visningstekst', 41 | url: 'Til hvilken URL skal denne lenken peke?', 42 | openInNewWindow: 'Åpne i nytt vindu' 43 | }, 44 | table: { 45 | table: 'Tabell' 46 | }, 47 | hr: { 48 | insert: 'Sett inn horisontal linje' 49 | }, 50 | style: { 51 | style: 'Stil', 52 | p: 'p', 53 | blockquote: 'Sitat', 54 | pre: 'Kode', 55 | h1: 'Overskrift 1', 56 | h2: 'Overskrift 2', 57 | h3: 'Overskrift 3', 58 | h4: 'Overskrift 4', 59 | h5: 'Overskrift 5', 60 | h6: 'Overskrift 6' 61 | }, 62 | lists: { 63 | unordered: 'Punktliste', 64 | ordered: 'Nummerert liste' 65 | }, 66 | options: { 67 | help: 'Hjelp', 68 | fullscreen: 'Fullskjerm', 69 | codeview: 'HTML-visning' 70 | }, 71 | paragraph: { 72 | paragraph: 'Avsnitt', 73 | outdent: 'Tilbakerykk', 74 | indent: 'Innrykk', 75 | left: 'Venstrejustert', 76 | center: 'Midtstilt', 77 | right: 'Høyrejustert', 78 | justify: 'Blokkjustert' 79 | }, 80 | color: { 81 | recent: 'Nylig valgt farge', 82 | more: 'Flere farger', 83 | background: 'Bakgrunnsfarge', 84 | foreground: 'Skriftfarge', 85 | transparent: 'Gjennomsiktig', 86 | setTransparent: 'Sett gjennomsiktig', 87 | reset: 'Nullstill', 88 | resetToDefault: 'Nullstill til standard' 89 | }, 90 | shortcut: { 91 | shortcuts: 'Hurtigtaster', 92 | close: 'Lukk', 93 | textFormatting: 'Tekstformatering', 94 | action: 'Handling', 95 | paragraphFormatting: 'Avsnittsformatering', 96 | documentStyle: 'Dokumentstil' 97 | }, 98 | history: { 99 | undo: 'Angre', 100 | redo: 'Gjør om' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-sv-SE.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'sv-SE': { 4 | font: { 5 | bold: 'Fet', 6 | italic: 'Kursiv', 7 | underline: 'Understruken', 8 | clear: 'Radera formatering', 9 | height: 'Radavstånd', 10 | name: 'Teckensnitt', 11 | strikethrough: 'Genomstruken', 12 | size: 'Teckenstorlek' 13 | }, 14 | image: { 15 | image: 'Bild', 16 | insert: 'Infoga bild', 17 | resizeFull: 'Full storlek', 18 | resizeHalf: 'Halv storlek', 19 | resizeQuarter: 'En fjärdedel i storlek', 20 | floatLeft: 'Vänsterjusterad', 21 | floatRight: 'Högerjusterad', 22 | floatNone: 'Ingen justering', 23 | dragImageHere: 'Dra en bild hit', 24 | selectFromFiles: 'Välj från filer', 25 | url: 'Länk till bild', 26 | remove: 'Ta bort bild' 27 | }, 28 | video: { 29 | video: 'Filmklipp', 30 | videoLink: 'Länk till filmklipp', 31 | insert: 'Infoga filmklipp', 32 | url: 'Länk till filmklipp', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)' 34 | }, 35 | link: { 36 | link: 'Länk', 37 | insert: 'Infoga länk', 38 | unlink: 'Ta bort länk', 39 | edit: 'Redigera', 40 | textToDisplay: 'Visningstext', 41 | url: 'Till vilken URL ska denna länk peka?', 42 | openInNewWindow: 'Öppna i ett nytt fönster' 43 | }, 44 | table: { 45 | table: 'Tabell' 46 | }, 47 | hr: { 48 | insert: 'Infoga horisontell linje' 49 | }, 50 | style: { 51 | style: 'Stil', 52 | p: 'p', 53 | blockquote: 'Citat', 54 | pre: 'Kod', 55 | h1: 'Rubrik 1', 56 | h2: 'Rubrik 2', 57 | h3: 'Rubrik 3', 58 | h4: 'Rubrik 4', 59 | h5: 'Rubrik 5', 60 | h6: 'Rubrik 6' 61 | }, 62 | lists: { 63 | unordered: 'Punktlista', 64 | ordered: 'Numrerad lista' 65 | }, 66 | options: { 67 | help: 'Hjälp', 68 | fullscreen: 'Fullskärm', 69 | codeview: 'HTML-visning' 70 | }, 71 | paragraph: { 72 | paragraph: 'Justera text', 73 | outdent: 'Minska indrag', 74 | indent: 'Öka indrag', 75 | left: 'Vänsterjusterad', 76 | center: 'Centrerad', 77 | right: 'Högerjusterad', 78 | justify: 'Justera text' 79 | }, 80 | color: { 81 | recent: 'Senast använda färg', 82 | more: 'Fler färger', 83 | background: 'Bakgrundsfärg', 84 | foreground: 'Teckenfärg', 85 | transparent: 'Genomskinlig', 86 | setTransparent: 'Gör genomskinlig', 87 | reset: 'Nollställ', 88 | resetToDefault: 'Återställ till standard' 89 | }, 90 | shortcut: { 91 | shortcuts: 'Kortkommandon', 92 | close: 'Stäng', 93 | textFormatting: 'Textformatering', 94 | action: 'Funktion', 95 | paragraphFormatting: 'Avsnittsformatering', 96 | documentStyle: 'Dokumentstil' 97 | }, 98 | history: { 99 | undo: 'Ångra', 100 | redo: 'Gör om' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-sr-RS-Latin.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'sr-RS': { 4 | font: { 5 | bold: 'Podebljano', 6 | italic: 'Kurziv', 7 | underline: 'Podvučeno', 8 | clear: 'Ukloni stilove fonta', 9 | height: 'Visina linije', 10 | strikethrough: 'Precrtano', 11 | size: 'Veličina fonta' 12 | }, 13 | image: { 14 | image: 'Slika', 15 | insert: 'Umetni sliku', 16 | resizeFull: 'Puna veličina', 17 | resizeHalf: 'Umanji na 50%', 18 | resizeQuarter: 'Umanji na 25%', 19 | floatLeft: 'Uz levu ivicu', 20 | floatRight: 'Uz desnu ivicu', 21 | floatNone: 'Bez ravnanja', 22 | dragImageHere: 'Prevuci sliku ovde', 23 | selectFromFiles: 'Izaberi iz datoteke', 24 | url: 'Adresa slike', 25 | remove: 'Ukloni sliku' 26 | }, 27 | video: { 28 | video: 'Video', 29 | videoLink: 'Veza ka videu', 30 | insert: 'Umetni video', 31 | url: 'URL video', 32 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)' 33 | }, 34 | link: { 35 | link: 'Veza', 36 | insert: 'Umetni vezu', 37 | unlink: 'Ukloni vezu', 38 | edit: 'Uredi', 39 | textToDisplay: 'Tekst za prikaz', 40 | url: 'Internet adresa', 41 | openInNewWindow: 'Otvori u novom prozoru' 42 | }, 43 | table: { 44 | table: 'Tabela' 45 | }, 46 | hr: { 47 | insert: 'Umetni horizontalnu liniju' 48 | }, 49 | style: { 50 | style: 'Stil', 51 | p: 'pni', 52 | blockquote: 'Citat', 53 | pre: 'Kod', 54 | h1: 'Zaglavlje 1', 55 | h2: 'Zaglavlje 2', 56 | h3: 'Zaglavlje 3', 57 | h4: 'Zaglavlje 4', 58 | h5: 'Zaglavlje 5', 59 | h6: 'Zaglavlje 6' 60 | }, 61 | lists: { 62 | unordered: 'Obična lista', 63 | ordered: 'Numerisana lista' 64 | }, 65 | options: { 66 | help: 'Pomoć', 67 | fullscreen: 'Preko celog ekrana', 68 | codeview: 'Izvorni kod' 69 | }, 70 | paragraph: { 71 | paragraph: 'Paragraf', 72 | outdent: 'Smanji uvlačenje', 73 | indent: 'Povečaj uvlačenje', 74 | left: 'Poravnaj u levo', 75 | center: 'Centrirano', 76 | right: 'Poravnaj u desno', 77 | justify: 'Poravnaj obostrano' 78 | }, 79 | color: { 80 | recent: 'Poslednja boja', 81 | more: 'Više boja', 82 | background: 'Boja pozadine', 83 | foreground: 'Boja teksta', 84 | transparent: 'Providna', 85 | setTransparent: 'Providna', 86 | reset: 'Opoziv', 87 | resetToDefault: 'Podrazumevana' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Prečice sa tastature', 91 | close: 'Zatvori', 92 | textFormatting: 'Formatiranje teksta', 93 | action: 'Akcija', 94 | paragraphFormatting: 'Formatiranje paragrafa', 95 | documentStyle: 'Stil dokumenta', 96 | extraKeys: 'Dodatne kombinacije' 97 | }, 98 | history: { 99 | undo: 'Poništi', 100 | redo: 'Ponovi' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-fi-FI.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'fi-FI': { 4 | font: { 5 | bold: 'Lihavoitu', 6 | italic: 'Kursiivi', 7 | underline: 'Alleviivaa', 8 | clear: 'Tyhjennä muotoilu', 9 | height: 'Riviväli', 10 | name: 'Kirjasintyyppi', 11 | strikethrough: 'Yliviivaus', 12 | size: 'Kirjasinkoko' 13 | }, 14 | image: { 15 | image: 'Kuva', 16 | insert: 'Lisää kuva', 17 | resizeFull: 'Koko leveys', 18 | resizeHalf: 'Puolikas leveys', 19 | resizeQuarter: 'Neljäsosa leveys', 20 | floatLeft: 'Sijoita vasemmalle', 21 | floatRight: 'Sijoita oikealle', 22 | floatNone: 'Ei sijoitusta', 23 | dragImageHere: 'Vedä kuva tähän', 24 | selectFromFiles: 'Valitse tiedostoista', 25 | url: 'URL-osoitteen mukaan', 26 | remove: 'Poista kuva' 27 | }, 28 | video: { 29 | video: 'Video', 30 | videoLink: 'Linkki videoon', 31 | insert: 'Lisää video', 32 | url: 'Videon URL-osoite?', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion tai Youku)' 34 | }, 35 | link: { 36 | link: 'Linkki', 37 | insert: 'Lisää linkki', 38 | unlink: 'Poista linkki', 39 | edit: 'Muokkaa', 40 | textToDisplay: 'Näytettävä teksti', 41 | url: 'Linkin URL-osoite?', 42 | openInNewWindow: 'Avaa uudessa ikkunassa' 43 | }, 44 | table: { 45 | table: 'Taulukko' 46 | }, 47 | hr: { 48 | insert: 'Lisää vaakaviiva' 49 | }, 50 | style: { 51 | style: 'Tyyli', 52 | p: 'Normaali', 53 | blockquote: 'Lainaus', 54 | pre: 'Koodi', 55 | h1: 'Otsikko 1', 56 | h2: 'Otsikko 2', 57 | h3: 'Otsikko 3', 58 | h4: 'Otsikko 4', 59 | h5: 'Otsikko 5', 60 | h6: 'Otsikko 6' 61 | }, 62 | lists: { 63 | unordered: 'Luettelomerkitty luettelo', 64 | ordered: 'Numeroitu luettelo' 65 | }, 66 | options: { 67 | help: 'Ohje', 68 | fullscreen: 'Koko näyttö', 69 | codeview: 'HTML-näkymä' 70 | }, 71 | paragraph: { 72 | paragraph: 'Kappale', 73 | outdent: 'Pienennä sisennystä', 74 | indent: 'Suurenna sisennystä', 75 | left: 'Tasaus vasemmalle', 76 | center: 'Keskitä', 77 | right: 'Tasaus oikealle', 78 | justify: 'Tasaa' 79 | }, 80 | color: { 81 | recent: 'Viimeisin väri', 82 | more: 'Lisää värejä', 83 | background: 'Taustaväri', 84 | foreground: 'Tekstin väri', 85 | transparent: 'Läpinäkyvä', 86 | setTransparent: 'Aseta läpinäkyväksi', 87 | reset: 'Palauta', 88 | resetToDefault: 'Palauta oletusarvoksi' 89 | }, 90 | shortcut: { 91 | shortcuts: 'Pikanäppäimet', 92 | close: 'Sulje', 93 | textFormatting: 'Tekstin muotoilu', 94 | action: 'Toiminto', 95 | paragraphFormatting: 'Kappaleen muotoilu', 96 | documentStyle: 'Asiakirjan tyyli' 97 | }, 98 | history: { 99 | undo: 'Kumoa', 100 | redo: 'Toista' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-pt-PT.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'pt-PT': { 4 | font: { 5 | bold: 'Negrito', 6 | italic: 'Itálico', 7 | underline: 'Sublinhado', 8 | clear: 'Remover estilo da fonte', 9 | height: 'Altura da linha', 10 | name: 'Fonte', 11 | strikethrough: 'Riscado', 12 | size: 'Tamanho da fonte' 13 | }, 14 | image: { 15 | image: 'Imagem', 16 | insert: 'Inserir imagem', 17 | resizeFull: 'Redimensionar Completo', 18 | resizeHalf: 'Redimensionar Metade', 19 | resizeQuarter: 'Redimensionar Um Quarto', 20 | floatLeft: 'Float Esquerda', 21 | floatRight: 'Float Direita', 22 | floatNone: 'Sem Float', 23 | dragImageHere: 'Arraste uma imagem para aqui', 24 | selectFromFiles: 'Selecione a partir dos arquivos', 25 | url: 'Endereço da imagem' 26 | }, 27 | video: { 28 | video: 'Vídeo', 29 | videoLink: 'Link para vídeo', 30 | insert: 'Inserir vídeo', 31 | url: 'URL do vídeo?', 32 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' 33 | }, 34 | link: { 35 | link: 'Link', 36 | insert: 'Inserir ligação', 37 | unlink: 'Remover ligação', 38 | edit: 'Editar', 39 | textToDisplay: 'Texto para exibir', 40 | url: 'Que endereço esta licação leva?', 41 | openInNewWindow: 'Abrir numa nova janela' 42 | }, 43 | table: { 44 | table: 'Tabela' 45 | }, 46 | hr: { 47 | insert: 'Inserir linha horizontal' 48 | }, 49 | style: { 50 | style: 'Estilo', 51 | p: 'p', 52 | blockquote: 'Citação', 53 | pre: 'Código', 54 | h1: 'Título 1', 55 | h2: 'Título 2', 56 | h3: 'Título 3', 57 | h4: 'Título 4', 58 | h5: 'Título 5', 59 | h6: 'Título 6' 60 | }, 61 | lists: { 62 | unordered: 'Lista com marcadores', 63 | ordered: 'Lista numerada' 64 | }, 65 | options: { 66 | help: 'Ajuda', 67 | fullscreen: 'Janela Completa', 68 | codeview: 'Ver código-fonte' 69 | }, 70 | paragraph: { 71 | paragraph: 'Parágrafo', 72 | outdent: 'Menor tabulação', 73 | indent: 'Maior tabulação', 74 | left: 'Alinhar à esquerda', 75 | center: 'Alinhar ao centro', 76 | right: 'Alinha à direita', 77 | justify: 'Justificado' 78 | }, 79 | color: { 80 | recent: 'Cor recente', 81 | more: 'Mais cores', 82 | background: 'Fundo', 83 | foreground: 'Fonte', 84 | transparent: 'Transparente', 85 | setTransparent: 'Fundo transparente', 86 | reset: 'Restaurar', 87 | resetToDefault: 'Restaurar padrão' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Atalhos do teclado', 91 | close: 'Fechar', 92 | textFormatting: 'Formatação de texto', 93 | action: 'Ação', 94 | paragraphFormatting: 'Formatação de parágrafo', 95 | documentStyle: 'Estilo de documento' 96 | }, 97 | history: { 98 | undo: 'Desfazer', 99 | redo: 'Refazer' 100 | } 101 | } 102 | }); 103 | })(jQuery); 104 | -------------------------------------------------------------------------------- /src/UrlResolverTrait.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | namespace Overtrue\LaravelSummernote; 13 | 14 | use Illuminate\Support\Str; 15 | use League\Flysystem\Adapter\Local as LocalAdapter; 16 | use League\Flysystem\AwsS3v3\AwsS3Adapter; 17 | use RuntimeException; 18 | 19 | /** 20 | * Trait UrlResolverTrait. 21 | */ 22 | trait UrlResolverTrait 23 | { 24 | /** 25 | * @param string $filename 26 | * 27 | * @return string 28 | */ 29 | public function getUrl($filename) 30 | { 31 | if (method_exists($this->disk, 'url')) { 32 | return $this->disk->url($filename); 33 | } 34 | 35 | return $this->url($filename); 36 | } 37 | 38 | /** 39 | * Get the URL for the file at the given path. 40 | * 41 | * @param string $path 42 | * 43 | * @return string 44 | */ 45 | public function url($path) 46 | { 47 | $adapter = $this->disk->getDriver()->getAdapter(); 48 | 49 | if (method_exists($adapter, 'getUrl')) { 50 | return $adapter->getUrl($path); 51 | } elseif ($adapter instanceof AwsS3Adapter) { 52 | return $this->getAwsUrl($adapter, $path); 53 | } elseif ($adapter instanceof LocalAdapter) { 54 | return $this->getLocalUrl($path); 55 | } 56 | 57 | throw new RuntimeException('This driver does not support retrieving URLs.'); 58 | } 59 | 60 | /** 61 | * Get the URL for the file at the given path. 62 | * 63 | * @param \League\Flysystem\AwsS3v3\AwsS3Adapter $adapter 64 | * @param string $path 65 | * 66 | * @return string 67 | */ 68 | protected function getAwsUrl($adapter, $path) 69 | { 70 | return $adapter->getClient()->getObjectUrl( 71 | $adapter->getBucket(), $adapter->getPathPrefix().$path 72 | ); 73 | } 74 | 75 | /** 76 | * Get the URL for the file at the given path. 77 | * 78 | * @param string $path 79 | * 80 | * @return string 81 | */ 82 | protected function getLocalUrl($path) 83 | { 84 | $config = $this->disk->getDriver()->getConfig(); 85 | 86 | // If an explicit base URL has been set on the disk configuration then we will use 87 | // it as the base URL instead of the default path. This allows the developer to 88 | // have full control over the base path for this filesystem's generated URLs. 89 | if ($config->has('url')) { 90 | return rtrim($config->get('url'), '/').'/'.ltrim($path, '/'); 91 | } 92 | 93 | $path = '/storage/'.ltrim($path, '/'); 94 | 95 | // If the path contains "storage/public", it probably means the developer is using 96 | // the default disk to generate the path instead of the "public" disk like they 97 | // are really supposed to use. We will remove the public from this path here. 98 | if (Str::contains($path, '/storage/public/')) { 99 | return Str::replaceFirst('/public/', '/', $path); 100 | } 101 | 102 | return $path; 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-nl-NL.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'nl-NL': { 4 | font: { 5 | bold: 'Vet', 6 | italic: 'Cursief', 7 | underline: 'Onderstrepen', 8 | clear: 'Stijl verwijderen', 9 | height: 'Regelhoogte', 10 | name: 'Lettertype', 11 | strikethrough: 'Doorhalen', 12 | size: 'Tekstgrootte' 13 | }, 14 | image: { 15 | image: 'Afbeelding', 16 | insert: 'Afbeelding invoegen', 17 | resizeFull: 'Volledige breedte', 18 | resizeHalf: 'Halve breedte', 19 | resizeQuarter: 'Kwart breedte', 20 | floatLeft: 'Links uitlijnen', 21 | floatRight: 'Rechts uitlijnen', 22 | floatNone: 'Geen uitlijning', 23 | dragImageHere: 'Sleep hier een afbeelding naar toe', 24 | selectFromFiles: 'Selecteer een bestand', 25 | url: 'URL van de afbeelding', 26 | remove: 'Verwijder afbeelding' 27 | }, 28 | video: { 29 | video: 'Video', 30 | videoLink: 'Video link', 31 | insert: 'Video invoegen', 32 | url: 'URL van de video', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion of Youku)' 34 | }, 35 | link: { 36 | link: 'Link', 37 | insert: 'Link invoegen', 38 | unlink: 'Link verwijderen', 39 | edit: 'Wijzigen', 40 | textToDisplay: 'Tekst van link', 41 | url: 'Naar welke URL moet deze link verwijzen?', 42 | openInNewWindow: 'Open in nieuw venster' 43 | }, 44 | table: { 45 | table: 'Tabel' 46 | }, 47 | hr: { 48 | insert: 'Horizontale lijn invoegen' 49 | }, 50 | style: { 51 | style: 'Stijl', 52 | p: 'Normaal', 53 | blockquote: 'Quote', 54 | pre: 'Code', 55 | h1: 'Kop 1', 56 | h2: 'Kop 2', 57 | h3: 'Kop 3', 58 | h4: 'Kop 4', 59 | h5: 'Kop 5', 60 | h6: 'Kop 6' 61 | }, 62 | lists: { 63 | unordered: 'Ongeordende lijst', 64 | ordered: 'Geordende lijst' 65 | }, 66 | options: { 67 | help: 'Help', 68 | fullscreen: 'Volledig scherm', 69 | codeview: 'Bekijk Code' 70 | }, 71 | paragraph: { 72 | paragraph: 'Paragraaf', 73 | outdent: 'Inspringen verkleinen', 74 | indent: 'Inspringen vergroten', 75 | left: 'Links uitlijnen', 76 | center: 'Centreren', 77 | right: 'Rechts uitlijnen', 78 | justify: 'Uitvullen' 79 | }, 80 | color: { 81 | recent: 'Recente kleur', 82 | more: 'Meer kleuren', 83 | background: 'Achtergrond kleur', 84 | foreground: 'Tekst kleur', 85 | transparent: 'Transparant', 86 | setTransparent: 'Transparant', 87 | reset: 'Standaard', 88 | resetToDefault: 'Standaard kleur' 89 | }, 90 | shortcut: { 91 | shortcuts: 'Toetsencombinaties', 92 | close: 'sluiten', 93 | textFormatting: 'Tekststijlen', 94 | action: 'Acties', 95 | paragraphFormatting: 'Paragraafstijlen', 96 | documentStyle: 'Documentstijlen' 97 | }, 98 | history: { 99 | undo: 'Ongedaan maken', 100 | redo: 'Opnieuw doorvoeren' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-es-EU.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'es-EU': { 4 | font: { 5 | bold: 'Lodia', 6 | italic: 'Etzana', 7 | underline: 'Azpimarratua', 8 | clear: 'Estiloa kendu', 9 | height: 'Lerro altuera', 10 | name: 'Tipografia', 11 | strikethrough: 'Marratua', 12 | size: 'Letren neurria' 13 | }, 14 | image: { 15 | image: 'Irudia', 16 | insert: 'Irudi bat txertatu', 17 | resizeFull: 'Jatorrizko neurrira aldatu', 18 | resizeHalf: 'Neurria erdira aldatu', 19 | resizeQuarter: 'Neurria laurdenera aldatu', 20 | floatLeft: 'Ezkerrean kokatu', 21 | floatRight: 'Eskuinean kokatu', 22 | floatNone: 'Kokapenik ez ezarri', 23 | dragImageHere: 'Irudi bat ezarri hemen', 24 | selectFromFiles: 'Zure fitxategi bat aukeratu', 25 | url: 'Irudiaren URL helbidea' 26 | }, 27 | video: { 28 | video: 'Bideoa', 29 | videoLink: 'Bideorako esteka', 30 | insert: 'Bideo berri bat txertatu', 31 | url: 'Bideoaren URL helbidea', 32 | providers: '(YouTube, Vimeo, Vine, Instagram edo DailyMotion)' 33 | }, 34 | link: { 35 | link: 'Esteka', 36 | insert: 'Esteka bat txertatu', 37 | unlink: 'Esteka ezabatu', 38 | edit: 'Editatu', 39 | textToDisplay: 'Estekaren testua', 40 | url: 'Estekaren URL helbidea', 41 | openInNewWindow: 'Leiho berri batean ireki' 42 | }, 43 | table: { 44 | table: 'Taula' //Tabla 45 | }, 46 | hr: { 47 | insert: 'Marra horizontala txertatu' //Insertar línea horizontal 48 | }, 49 | style: { 50 | style: 'Estiloa', 51 | p: 'p', 52 | blockquote: 'Aipamena', 53 | pre: 'Kodea', 54 | h1: '1. izenburua', 55 | h2: '2. izenburua', 56 | h3: '3. izenburua', 57 | h4: '4. izenburua', 58 | h5: '5. izenburua', 59 | h6: '6. izenburua' 60 | }, 61 | lists: { 62 | unordered: 'Ordenatu gabeko zerrenda', 63 | ordered: 'Zerrenda ordenatua' 64 | }, 65 | options: { 66 | help: 'Laguntza', 67 | fullscreen: 'Pantaila osoa', 68 | codeview: 'Kodea ikusi' 69 | }, 70 | paragraph: { 71 | paragraph: 'Paragrafoa', 72 | outdent: 'Koska txikiagoa', 73 | indent: 'Koska handiagoa', 74 | left: 'Ezkerrean kokatu', 75 | center: 'Erdian kokatu', 76 | right: 'Eskuinean kokatu', 77 | justify: 'Justifikatu' 78 | }, 79 | color: { 80 | recent: 'Azken kolorea', 81 | more: 'Kolore gehiago', 82 | background: 'Atzeko planoa', 83 | foreground: 'Aurreko planoa', 84 | transparent: 'Gardena', 85 | setTransparent: 'Gardendu', 86 | reset: 'Lehengoratu', 87 | resetToDefault: 'Berrezarri lehenetsia' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Lasterbideak', 91 | close: 'Itxi', 92 | textFormatting: 'Testuaren formatua', 93 | action: 'Ekintza', 94 | paragraphFormatting: 'Paragrafoaren formatua', 95 | documentStyle: 'Dokumentuaren estiloa' 96 | }, 97 | history: { 98 | undo: 'Desegin', 99 | redo: 'Berregin' 100 | } 101 | } 102 | }); 103 | })(jQuery); 104 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-sl-SI.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'sl-SI': { 4 | font: { 5 | bold: 'Krepko', 6 | italic: 'Ležeče', 7 | underline: 'Podčrtano', 8 | clear: 'Počisti oblikovanje izbire', 9 | height: 'Razmik med vrsticami', 10 | name: 'Pisava', 11 | strikethrough: 'Prečrtano', 12 | subscript: 'Podpisano', 13 | superscript: 'Nadpisano', 14 | size: 'Velikost pisave' 15 | }, 16 | image: { 17 | image: 'Slika', 18 | insert: 'Vstavi sliko', 19 | resizeFull: 'Razširi na polno velikost', 20 | resizeHalf: 'Razširi na polovico velikosti', 21 | resizeQuarter: 'Razširi na četrtino velikosti', 22 | floatLeft: 'Leva poravnava', 23 | floatRight: 'Desna poravnava', 24 | floatNone: 'Brez poravnave', 25 | dragImageHere: 'Sem povlecite sliko', 26 | selectFromFiles: 'Izberi sliko za nalaganje', 27 | url: 'URL naslov slike', 28 | remove: 'Odstrani sliko' 29 | }, 30 | video: { 31 | video: 'Video', 32 | videoLink: 'Video povezava', 33 | insert: 'Vstavi video', 34 | url: 'Povezava do videa', 35 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ali Youku)' 36 | }, 37 | link: { 38 | link: 'Povezava', 39 | insert: 'Vstavi povezavo', 40 | unlink: 'Odstrani povezavo', 41 | edit: 'Uredi', 42 | textToDisplay: 'Prikazano besedilo', 43 | url: 'Povezava', 44 | openInNewWindow: 'Odpri v novem oknu' 45 | }, 46 | table: { 47 | table: 'Tabela' 48 | }, 49 | hr: { 50 | insert: 'Vstavi horizontalno črto' 51 | }, 52 | style: { 53 | style: 'Slogi', 54 | p: 'Navadno besedilo', 55 | blockquote: 'Citat', 56 | pre: 'Koda', 57 | h1: 'Naslov 1', 58 | h2: 'Naslov 2', 59 | h3: 'Naslov 3', 60 | h4: 'Naslov 4', 61 | h5: 'Naslov 5', 62 | h6: 'Naslov 6' 63 | }, 64 | lists: { 65 | unordered: 'Označen seznam', 66 | ordered: 'Oštevilčen seznam' 67 | }, 68 | options: { 69 | help: 'Pomoč', 70 | fullscreen: 'Celozaslonski način', 71 | codeview: 'Pregled HTML kode' 72 | }, 73 | paragraph: { 74 | paragraph: 'Slogi odstavka', 75 | outdent: 'Zmanjšaj odmik', 76 | indent: 'Povečaj odmik', 77 | left: 'Leva poravnava', 78 | center: 'Desna poravnava', 79 | right: 'Sredinska poravnava', 80 | justify: 'Obojestranska poravnava' 81 | }, 82 | color: { 83 | recent: 'Uporabi zadnjo barvo', 84 | more: 'Več barv', 85 | background: 'Barva ozadja', 86 | foreground: 'Barva besedila', 87 | transparent: 'Brez barve', 88 | setTransparent: 'Brez barve', 89 | reset: 'Ponastavi', 90 | resetToDefault: 'Ponastavi na privzeto' 91 | }, 92 | shortcut: { 93 | shortcuts: 'Bljižnice', 94 | close: 'Zapri', 95 | textFormatting: 'Oblikovanje besedila', 96 | action: 'Dejanja', 97 | paragraphFormatting: 'Oblikovanje odstavka', 98 | documentStyle: 'Oblikovanje naslova' 99 | }, 100 | history: { 101 | undo: 'Razveljavi', 102 | redo: 'Uveljavi' 103 | } 104 | } 105 | }); 106 | })(jQuery); 107 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-it-IT.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'it-IT': { 4 | font: { 5 | bold: 'Testo in grassetto', 6 | italic: 'Testo in corsivo', 7 | underline: 'Testo sottolineato', 8 | clear: 'Elimina la formattazione del testo', 9 | height: 'Altezza della linea di testo', 10 | name: 'Famiglia Font', 11 | strikethrough: 'Testo barrato', 12 | size: 'Dimensione del carattere' 13 | }, 14 | image: { 15 | image: 'Immagine', 16 | insert: 'Inserisci Immagine', 17 | resizeFull: 'Dimensioni originali', 18 | resizeHalf: 'Ridimensiona al 50%', 19 | resizeQuarter: 'Ridimensiona al 25%', 20 | floatLeft: 'Posiziona a sinistra', 21 | floatRight: 'Posiziona a destra', 22 | floatNone: 'Nessun posizionamento', 23 | dragImageHere: 'Trascina qui un\'immagine', 24 | selectFromFiles: 'Scegli dai Documenti', 25 | url: 'URL dell\'immagine', 26 | remove: 'Rimuovi immagine' 27 | }, 28 | video: { 29 | video: 'Video', 30 | videoLink: 'Collegamento ad un Video', 31 | insert: 'Inserisci Video', 32 | url: 'URL del Video', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)' 34 | }, 35 | link: { 36 | link: 'Collegamento', 37 | insert: 'Inserisci Collegamento', 38 | unlink: 'Elimina collegamento', 39 | edit: 'Modifica collegamento', 40 | textToDisplay: 'Testo del collegamento', 41 | url: 'URL del collegamento', 42 | openInNewWindow: 'Apri in una nuova finestra' 43 | }, 44 | table: { 45 | table: 'Tabella' 46 | }, 47 | hr: { 48 | insert: 'Inserisce una linea di separazione' 49 | }, 50 | style: { 51 | style: 'Stili', 52 | p: 'pe', 53 | blockquote: 'Citazione', 54 | pre: 'Codice', 55 | h1: 'Titolo 1', 56 | h2: 'Titolo 2', 57 | h3: 'Titolo 3', 58 | h4: 'Titolo 4', 59 | h5: 'Titolo 5', 60 | h6: 'Titolo 6' 61 | }, 62 | lists: { 63 | unordered: 'Elenco non ordinato', 64 | ordered: 'Elenco ordinato' 65 | }, 66 | options: { 67 | help: 'Aiuto', 68 | fullscreen: 'Modalità a tutto schermo', 69 | codeview: 'Visualizza codice' 70 | }, 71 | paragraph: { 72 | paragraph: 'Paragrafo', 73 | outdent: 'Diminuisce il livello di rientro', 74 | indent: 'Aumenta il livello di rientro', 75 | left: 'Allinea a sinistra', 76 | center: 'Centra', 77 | right: 'Allinea a destra', 78 | justify: 'Giustifica (allinea a destra e sinistra)' 79 | }, 80 | color: { 81 | recent: 'Ultimo colore utilizzato', 82 | more: 'Altri colori', 83 | background: 'Colore di sfondo', 84 | foreground: 'Colore', 85 | transparent: 'Trasparente', 86 | setTransparent: 'Trasparente', 87 | reset: 'Reimposta', 88 | resetToDefault: 'Reimposta i colori' 89 | }, 90 | shortcut: { 91 | shortcuts: 'Scorciatoie da tastiera', 92 | close: 'Chiudi', 93 | textFormatting: 'Formattazione testo', 94 | action: 'Azioni', 95 | paragraphFormatting: 'Formattazione paragrafo', 96 | documentStyle: 'Stili' 97 | }, 98 | history: { 99 | undo: 'Annulla', 100 | redo: 'Ripristina' 101 | } 102 | } 103 | }); 104 | })(jQuery); 105 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-de-DE.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'de-DE': { 4 | font: { 5 | bold: 'Fett', 6 | italic: 'Kursiv', 7 | underline: 'Unterstreichen', 8 | clear: 'Zurücksetzen', 9 | height: 'Zeilenhöhe', 10 | strikethrough: 'Durchgestrichen', 11 | size: 'Schriftgröße' 12 | }, 13 | image: { 14 | image: 'Grafik', 15 | insert: 'Grafik einfügen', 16 | resizeFull: 'Originalgröße', 17 | resizeHalf: 'Größe 1/2', 18 | resizeQuarter: 'Größe 1/4', 19 | floatLeft: 'Linksbündig', 20 | floatRight: 'Rechtsbündig', 21 | floatNone: 'Kein Textfluss', 22 | shapeRounded: 'Rahmen: Abgerundet', 23 | shapeCircle: 'Rahmen: Kreisförmig', 24 | shapeThumbnail: 'Rahmen: Thumbnail', 25 | shapeNone: 'Kein Rahmen', 26 | dragImageHere: 'Ziehen Sie ein Bild mit der Maus hierher', 27 | selectFromFiles: 'Wählen Sie eine Datei aus', 28 | maximumFileSize: 'Maximale Dateigröße', 29 | maximumFileSizeError: 'Maximale Dateigröße überschritten', 30 | url: 'Grafik URL', 31 | remove: 'Grafik entfernen' 32 | }, 33 | video: { 34 | video: 'Video', 35 | videoLink: 'Video Link', 36 | insert: 'Video einfügen', 37 | url: 'Video URL?', 38 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion oder Youku)' 39 | }, 40 | link: { 41 | link: 'Link', 42 | insert: 'Link einfügen', 43 | unlink: 'Link entfernen', 44 | edit: 'Editieren', 45 | textToDisplay: 'Anzeigetext', 46 | url: 'Ziel des Links?', 47 | openInNewWindow: 'In einem neuen Fenster öffnen' 48 | }, 49 | table: { 50 | table: 'Tabelle' 51 | }, 52 | hr: { 53 | insert: 'Eine horizontale Linie einfügen' 54 | }, 55 | style: { 56 | style: 'Stil', 57 | p: 'p', 58 | blockquote: 'Zitat', 59 | pre: 'Quellcode', 60 | h1: 'Überschrift 1', 61 | h2: 'Überschrift 2', 62 | h3: 'Überschrift 3', 63 | h4: 'Überschrift 4', 64 | h5: 'Überschrift 5', 65 | h6: 'Überschrift 6' 66 | }, 67 | lists: { 68 | unordered: 'Aufzählung', 69 | ordered: 'Nummerierung' 70 | }, 71 | options: { 72 | help: 'Hilfe', 73 | fullscreen: 'Vollbild', 74 | codeview: 'HTML-Code anzeigen' 75 | }, 76 | paragraph: { 77 | paragraph: 'Absatz', 78 | outdent: 'Einzug vergrößern', 79 | indent: 'Einzug verkleinern', 80 | left: 'Links ausrichten', 81 | center: 'Zentriert ausrichten', 82 | right: 'Rechts ausrichten', 83 | justify: 'Blocksatz' 84 | }, 85 | color: { 86 | recent: 'Letzte Farbe', 87 | more: 'Mehr Farben', 88 | background: 'Hintergrundfarbe', 89 | foreground: 'Schriftfarbe', 90 | transparent: 'Transparenz', 91 | setTransparent: 'Transparenz setzen', 92 | reset: 'Zurücksetzen', 93 | resetToDefault: 'Auf Standard zurücksetzen' 94 | }, 95 | shortcut: { 96 | shortcuts: 'Tastenkürzel', 97 | close: 'Schließen', 98 | textFormatting: 'Textformatierung', 99 | action: 'Aktion', 100 | paragraphFormatting: 'Absatzformatierung', 101 | documentStyle: 'Dokumentenstil' 102 | }, 103 | history: { 104 | undo: 'Rückgängig', 105 | redo: 'Wiederholen' 106 | } 107 | 108 | } 109 | }); 110 | })(jQuery); 111 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ta-IN.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ta-IN': { 4 | font: { 5 | bold: 'தடித்த', 6 | italic: 'சாய்வு', 7 | underline: 'அடிக்கோடு', 8 | clear: 'நீக்கு', 9 | height: 'வரி உயரம்', 10 | name: 'எழுத்துரு பெயர்', 11 | strikethrough: 'குறுக்குக் கோடு', 12 | size: 'எழுத்துரு அளவு', 13 | superscript: 'மேல் ஒட்டு', 14 | subscript: 'கீழ் ஒட்டு' 15 | }, 16 | image: { 17 | image: 'படம்', 18 | insert: 'படத்தை செருகு', 19 | resizeFull: 'முழு அளவை', 20 | resizeHalf: 'அரை அளவை', 21 | resizeQuarter: 'கால் அளவை', 22 | floatLeft: 'இடப்பக்கமாக வை', 23 | floatRight: 'வலப்பக்கமாக வை', 24 | floatNone: 'இயல்புநிலையில் வை', 25 | shapeRounded: 'வட்டமான வடிவம்', 26 | shapeCircle: 'வட்ட வடிவம்', 27 | shapeThumbnail: 'சிறு வடிவம்', 28 | shapeNone: 'வடிவத்தை நீக்கு', 29 | dragImageHere: 'படத்தை இங்கே இழுத்துவை', 30 | dropImage: 'படத்தை விடு', 31 | selectFromFiles: 'கோப்புகளை தேர்வு செய்', 32 | maximumFileSize: 'அதிகபட்ச கோப்பு அளவு', 33 | maximumFileSizeError: 'கோப்பு அதிகபட்ச அளவை மீறிவிட்டது', 34 | url: 'இணையதள முகவரி', 35 | remove: 'படத்தை நீக்கு' 36 | }, 37 | video: { 38 | video: 'காணொளி', 39 | videoLink: 'காணொளி இணைப்பு', 40 | insert: 'காணொளியை செருகு', 41 | url: 'இணையதள முகவரி', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' 43 | }, 44 | link: { 45 | link: 'இணைப்பு', 46 | insert: 'இணைப்பை செருகு', 47 | unlink: 'இணைப்பை நீக்கு', 48 | edit: 'இணைப்பை தொகு', 49 | textToDisplay: 'காட்சி வாசகம்', 50 | url: 'இணையதள முகவரி', 51 | openInNewWindow: 'புதிய சாளரத்தில் திறக்க' 52 | }, 53 | table: { 54 | table: 'அட்டவணை' 55 | }, 56 | hr: { 57 | insert: 'கிடைமட்ட கோடு' 58 | }, 59 | style: { 60 | style: 'தொகுப்பு', 61 | p: 'பத்தி', 62 | blockquote: 'மேற்கோள்', 63 | pre: 'குறியீடு', 64 | h1: 'தலைப்பு 1', 65 | h2: 'தலைப்பு 2', 66 | h3: 'தலைப்பு 3', 67 | h4: 'தலைப்பு 4', 68 | h5: 'தலைப்பு 5', 69 | h6: 'தலைப்பு 6' 70 | }, 71 | lists: { 72 | unordered: 'வரிசையிடாத', 73 | ordered: 'வரிசையிட்ட' 74 | }, 75 | options: { 76 | help: 'உதவி', 77 | fullscreen: 'முழுத்திரை', 78 | codeview: 'நிரலாக்க காட்சி' 79 | }, 80 | paragraph: { 81 | paragraph: 'பத்தி', 82 | outdent: 'வெளித்தள்ளு', 83 | indent: 'உள்ளே தள்ளு', 84 | left: 'இடது சீரமைப்பு', 85 | center: 'நடு சீரமைப்பு', 86 | right: 'வலது சீரமைப்பு', 87 | justify: 'இருபுற சீரமைப்பு' 88 | }, 89 | color: { 90 | recent: 'அண்மை நிறம்', 91 | more: 'மேலும்', 92 | background: 'பின்புல நிறம்', 93 | foreground: 'முன்புற நிறம்', 94 | transparent: 'தெளிமையான', 95 | setTransparent: 'தெளிமையாக்கு', 96 | reset: 'மீட்டமைக்க', 97 | resetToDefault: 'இயல்புநிலைக்கு மீட்டமை' 98 | }, 99 | shortcut: { 100 | shortcuts: 'குறுக்குவழி', 101 | close: 'மூடு', 102 | textFormatting: 'எழுத்து வடிவமைப்பு', 103 | action: 'செயல்படுத்து', 104 | paragraphFormatting: 'பத்தி வடிவமைப்பு', 105 | documentStyle: 'ஆவண பாணி' 106 | }, 107 | history: { 108 | undo: 'மீளமை', 109 | redo: 'மீண்டும்' 110 | } 111 | } 112 | }); 113 | })(jQuery); 114 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-lt-LT.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'lt-LT': { 4 | font: { 5 | bold: 'Paryškintas', 6 | italic: 'Kursyvas', 7 | underline: 'Pabrėžtas', 8 | clear: 'Be formatavimo', 9 | height: 'Eilutės aukštis', 10 | name: 'Šrifto pavadinimas', 11 | strikethrough: 'Perbrauktas', 12 | superscript: 'Viršutinis', 13 | subscript: 'Indeksas', 14 | size: 'Šrifto dydis' 15 | }, 16 | image: { 17 | image: 'Paveikslėlis', 18 | insert: 'Įterpti paveikslėlį', 19 | resizeFull: 'Pilnas dydis', 20 | resizeHalf: 'Sumažinti dydį 50%', 21 | resizeQuarter: 'Sumažinti dydį 25%', 22 | floatLeft: 'Kairinis lygiavimas', 23 | floatRight: 'Dešininis lygiavimas', 24 | floatNone: 'Jokio lygiavimo', 25 | shapeRounded: 'Forma: apvalūs kraštai', 26 | shapeCircle: 'Forma: apskritimas', 27 | shapeThumbnail: 'Forma: miniatiūra', 28 | shapeNone: 'Forma: jokia', 29 | dragImageHere: 'Vilkite paveikslėlį čia', 30 | selectFromFiles: 'Pasirinkite failą', 31 | maximumFileSize: 'Maskimalus failo dydis', 32 | maximumFileSizeError: 'Maskimalus failo dydis viršytas!', 33 | url: 'Paveikslėlio URL adresas', 34 | remove: 'Ištrinti paveikslėlį' 35 | }, 36 | link: { 37 | link: 'Nuoroda', 38 | insert: 'Įterpti nuorodą', 39 | unlink: 'Pašalinti nuorodą', 40 | edit: 'Redaguoti', 41 | textToDisplay: 'Rodomas tekstas', 42 | url: 'Koks URL adresas yra susietas?', 43 | openInNewWindow: 'Atidaryti naujame lange' 44 | }, 45 | table: { 46 | table: 'Lentelė' 47 | }, 48 | hr: { 49 | insert: 'Įterpti horizontalią liniją' 50 | }, 51 | style: { 52 | style: 'Stilius', 53 | p: 'pus', 54 | blockquote: 'Citata', 55 | pre: 'Kodas', 56 | h1: 'Antraštė 1', 57 | h2: 'Antraštė 2', 58 | h3: 'Antraštė 3', 59 | h4: 'Antraštė 4', 60 | h5: 'Antraštė 5', 61 | h6: 'Antraštė 6' 62 | }, 63 | lists: { 64 | unordered: 'Suženklintasis sąrašas', 65 | ordered: 'Sunumeruotas sąrašas' 66 | }, 67 | options: { 68 | help: 'Pagalba', 69 | fullscreen: 'Viso ekrano režimas', 70 | codeview: 'HTML kodo peržiūra' 71 | }, 72 | paragraph: { 73 | paragraph: 'Pastraipa', 74 | outdent: 'Sumažinti įtrauką', 75 | indent: 'Padidinti įtrauką', 76 | left: 'Kairinė lygiuotė', 77 | center: 'Centrinė lygiuotė', 78 | right: 'Dešininė lygiuotė', 79 | justify: 'Abipusis išlyginimas' 80 | }, 81 | color: { 82 | recent: 'Paskutinė naudota spalva', 83 | more: 'Daugiau spalvų', 84 | background: 'Fono spalva', 85 | foreground: 'Šrifto spalva', 86 | transparent: 'Permatoma', 87 | setTransparent: 'Nustatyti skaidrumo intensyvumą', 88 | reset: 'Atkurti', 89 | resetToDefault: 'Atstatyti numatytąją spalvą' 90 | }, 91 | shortcut: { 92 | shortcuts: 'Spartieji klavišai', 93 | close: 'Uždaryti', 94 | textFormatting: 'Teksto formatavimas', 95 | action: 'Veiksmas', 96 | paragraphFormatting: 'Pastraipos formatavimas', 97 | documentStyle: 'Dokumento stilius', 98 | extraKeys: 'Papildomi klavišų deriniai' 99 | }, 100 | history: { 101 | undo: 'Anuliuoti veiksmą', 102 | redo: 'Perdaryti veiksmą' 103 | } 104 | 105 | } 106 | }); 107 | })(jQuery); 108 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-da-DK.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'da-DK': { 4 | font: { 5 | bold: 'Fed', 6 | italic: 'Kursiv', 7 | underline: 'Understreget', 8 | clear: 'Fjern formatering', 9 | height: 'Højde', 10 | name: 'Skrifttype', 11 | strikethrough: 'Gennemstreget', 12 | subscript: 'Sænket skrift', 13 | superscript: 'Hævet skrift', 14 | size: 'Skriftstørrelse' 15 | }, 16 | image: { 17 | image: 'Billede', 18 | insert: 'Indsæt billede', 19 | resizeFull: 'Original størrelse', 20 | resizeHalf: 'Halv størrelse', 21 | resizeQuarter: 'Kvart størrelse', 22 | floatLeft: 'Venstrestillet', 23 | floatRight: 'Højrestillet', 24 | floatNone: 'Fjern formatering', 25 | shapeRounded: 'Form: Runde kanter', 26 | shapeCircle: 'Form: Cirkel', 27 | shapeThumbnail: 'Form: Miniature', 28 | shapeNone: 'Form: Ingen', 29 | dragImageHere: 'Træk billede hertil', 30 | dropImage: 'Slip billede', 31 | selectFromFiles: 'Vælg billed-fil', 32 | maximumFileSize: 'Maks fil størrelse', 33 | maximumFileSizeError: 'Filen er større end maks tilladte fil størrelse!', 34 | url: 'Billede URL', 35 | remove: 'Fjern billede' 36 | }, 37 | video: { 38 | video: 'Video', 39 | videoLink: 'Video Link', 40 | insert: 'Indsæt Video', 41 | url: 'Video URL?', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion eller Youku)' 43 | }, 44 | link: { 45 | link: 'Link', 46 | insert: 'Indsæt link', 47 | unlink: 'Fjern link', 48 | edit: 'Rediger', 49 | textToDisplay: 'Visningstekst', 50 | url: 'Hvor skal linket pege hen?', 51 | openInNewWindow: 'Åbn i nyt vindue' 52 | }, 53 | table: { 54 | table: 'Tabel' 55 | }, 56 | hr: { 57 | insert: 'Indsæt horisontal linje' 58 | }, 59 | style: { 60 | style: 'Stil', 61 | p: 'p', 62 | blockquote: 'Citat', 63 | pre: 'Kode', 64 | h1: 'Overskrift 1', 65 | h2: 'Overskrift 2', 66 | h3: 'Overskrift 3', 67 | h4: 'Overskrift 4', 68 | h5: 'Overskrift 5', 69 | h6: 'Overskrift 6' 70 | }, 71 | lists: { 72 | unordered: 'Punktopstillet liste', 73 | ordered: 'Nummereret liste' 74 | }, 75 | options: { 76 | help: 'Hjælp', 77 | fullscreen: 'Fuld skærm', 78 | codeview: 'HTML-Visning' 79 | }, 80 | paragraph: { 81 | paragraph: 'Afsnit', 82 | outdent: 'Formindsk indryk', 83 | indent: 'Forøg indryk', 84 | left: 'Venstrestillet', 85 | center: 'Centreret', 86 | right: 'Højrestillet', 87 | justify: 'Blokjuster' 88 | }, 89 | color: { 90 | recent: 'Nyligt valgt farve', 91 | more: 'Flere farver', 92 | background: 'Baggrund', 93 | foreground: 'Forgrund', 94 | transparent: 'Transparent', 95 | setTransparent: 'Sæt transparent', 96 | reset: 'Nulstil', 97 | resetToDefault: 'Gendan standardindstillinger' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Genveje', 101 | close: 'Luk', 102 | textFormatting: 'Tekstformatering', 103 | action: 'Handling', 104 | paragraphFormatting: 'Afsnitsformatering', 105 | documentStyle: 'Dokumentstil' 106 | }, 107 | history: { 108 | undo: 'Fortryd', 109 | redo: 'Annuller fortryd' 110 | } 111 | 112 | } 113 | }); 114 | })(jQuery); 115 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-uk-UA.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'uk-UA': { 4 | font: { 5 | bold: 'Напівжирний', 6 | italic: 'Курсив', 7 | underline: 'Підкреслений', 8 | clear: 'Прибрати стилі шрифту', 9 | height: 'Висота лінії', 10 | name: 'Шрифт', 11 | strikethrough: 'Закреслений', 12 | subscript: 'Нижній індекс', 13 | superscript: 'Верхній індекс', 14 | size: 'Розмір шрифту' 15 | }, 16 | image: { 17 | image: 'Картинка', 18 | insert: 'Вставити картинку', 19 | resizeFull: 'Відновити розмір', 20 | resizeHalf: 'Зменшити до 50%', 21 | resizeQuarter: 'Зменшити до 25%', 22 | floatLeft: 'Розташувати ліворуч', 23 | floatRight: 'Розташувати праворуч', 24 | floatNone: 'Початкове розташування', 25 | shapeRounded: 'Форма: Заокруглена', 26 | shapeCircle: 'Форма: Коло', 27 | shapeThumbnail: 'Форма: Мініатюра', 28 | shapeNone: 'Форма: Немає', 29 | dragImageHere: 'Перетягніть сюди картинку', 30 | dropImage: 'Перетягніть картинку', 31 | selectFromFiles: 'Вибрати з файлів', 32 | url: 'URL картинки', 33 | remove: 'Видалити картинку' 34 | }, 35 | video: { 36 | video: 'Відео', 37 | videoLink: 'Посилання на відео', 38 | insert: 'Вставити відео', 39 | url: 'URL відео', 40 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion чи Youku)' 41 | }, 42 | link: { 43 | link: 'Посилання', 44 | insert: 'Вставити посилання', 45 | unlink: 'Прибрати посилання', 46 | edit: 'Редагувати', 47 | textToDisplay: 'Текст, що відображається', 48 | url: 'URL для переходу', 49 | openInNewWindow: 'Відкривати у новому вікні' 50 | }, 51 | table: { 52 | table: 'Таблиця' 53 | }, 54 | hr: { 55 | insert: 'Вставити горизонтальну лінію' 56 | }, 57 | style: { 58 | style: 'Стиль', 59 | p: 'Нормальний', 60 | blockquote: 'Цитата', 61 | pre: 'Код', 62 | h1: 'Заголовок 1', 63 | h2: 'Заголовок 2', 64 | h3: 'Заголовок 3', 65 | h4: 'Заголовок 4', 66 | h5: 'Заголовок 5', 67 | h6: 'Заголовок 6' 68 | }, 69 | lists: { 70 | unordered: 'Маркований список', 71 | ordered: 'Нумерований список' 72 | }, 73 | options: { 74 | help: 'Допомога', 75 | fullscreen: 'На весь екран', 76 | codeview: 'Початковий код' 77 | }, 78 | paragraph: { 79 | paragraph: 'Параграф', 80 | outdent: 'Зменшити відступ', 81 | indent: 'Збільшити відступ', 82 | left: 'Вирівняти по лівому краю', 83 | center: 'Вирівняти по центру', 84 | right: 'Вирівняти по правому краю', 85 | justify: 'Розтягнути по ширині' 86 | }, 87 | color: { 88 | recent: 'Останній колір', 89 | more: 'Ще кольори', 90 | background: 'Колір фону', 91 | foreground: 'Колір шрифту', 92 | transparent: 'Прозорий', 93 | setTransparent: 'Зробити прозорим', 94 | reset: 'Відновити', 95 | resetToDefault: 'Відновити початкові' 96 | }, 97 | shortcut: { 98 | shortcuts: 'Комбінації клавіш', 99 | close: 'Закрити', 100 | textFormatting: 'Форматування тексту', 101 | action: 'Дія', 102 | paragraphFormatting: 'Форматування параграфу', 103 | documentStyle: 'Стиль документу' 104 | }, 105 | history: { 106 | undo: 'Відмінити', 107 | redo: 'Повторити' 108 | } 109 | } 110 | }); 111 | })(jQuery); 112 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-pl-PL.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'pl-PL': { 4 | font: { 5 | bold: 'Pogrubienie', 6 | italic: 'Pochylenie', 7 | underline: 'Podkreślenie', 8 | clear: 'Usuń formatowanie', 9 | height: 'Interlinia', 10 | name: 'Czcionka', 11 | strikethrough: 'Przekreślenie', 12 | size: 'Rozmiar' 13 | }, 14 | image: { 15 | image: 'Grafika', 16 | insert: 'Wstaw grafikę', 17 | resizeFull: 'Zmień rozmiar na 100%', 18 | resizeHalf: 'Zmień rozmiar na 50%', 19 | resizeQuarter: 'Zmień rozmiar na 25%', 20 | floatLeft: 'Po lewej', 21 | floatRight: 'Po prawej', 22 | floatNone: 'Równo z tekstem', 23 | shapeRounded: 'Kształt: zaokrąglone', 24 | shapeCircle: 'Kształt: okrąg', 25 | shapeThumbnail: 'Kształt: miniatura', 26 | shapeNone: 'Kształt: brak', 27 | dragImageHere: 'Przeciągnij grafikę lub tekst tutaj', 28 | dropImage: 'Przeciągnij grafikę lub tekst', 29 | selectFromFiles: 'Wybierz z dysku', 30 | maximumFileSize: 'Limit wielkości pliku', 31 | maximumFileSizeError: 'Przekroczono limit wielkości pliku.', 32 | url: 'Adres URL grafiki', 33 | remove: 'Usuń grafikę' 34 | }, 35 | video: { 36 | video: 'Wideo', 37 | videoLink: 'Adres wideo', 38 | insert: 'Wstaw wideo', 39 | url: 'Adres wideo', 40 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion lub Youku)' 41 | }, 42 | link: { 43 | link: 'Odnośnik', 44 | insert: 'Wstaw odnośnik', 45 | unlink: 'Usuń odnośnik', 46 | edit: 'Edytuj', 47 | textToDisplay: 'Tekst do wyświetlenia', 48 | url: 'Na jaki adres URL powinien przenosić ten odnośnik?', 49 | openInNewWindow: 'Otwórz w nowym oknie' 50 | }, 51 | table: { 52 | table: 'Tabela' 53 | }, 54 | hr: { 55 | insert: 'Wstaw poziomą linię' 56 | }, 57 | style: { 58 | style: 'Style', 59 | p: 'pny', 60 | blockquote: 'Cytat', 61 | pre: 'Kod', 62 | h1: 'Nagłówek 1', 63 | h2: 'Nagłówek 2', 64 | h3: 'Nagłówek 3', 65 | h4: 'Nagłówek 4', 66 | h5: 'Nagłówek 5', 67 | h6: 'Nagłówek 6' 68 | }, 69 | lists: { 70 | unordered: 'Lista wypunktowana', 71 | ordered: 'Lista numerowana' 72 | }, 73 | options: { 74 | help: 'Pomoc', 75 | fullscreen: 'Pełny ekran', 76 | codeview: 'Źródło' 77 | }, 78 | paragraph: { 79 | paragraph: 'Akapit', 80 | outdent: 'Zmniejsz wcięcie', 81 | indent: 'Zwiększ wcięcie', 82 | left: 'Wyrównaj do lewej', 83 | center: 'Wyrównaj do środka', 84 | right: 'Wyrównaj do prawej', 85 | justify: 'Wyrównaj do lewej i prawej' 86 | }, 87 | color: { 88 | recent: 'Ostani kolor', 89 | more: 'Więcej kolorów', 90 | background: 'Tło', 91 | foreground: 'Czcionka', 92 | transparent: 'Przeźroczysty', 93 | setTransparent: 'Przeźroczyste', 94 | reset: 'Reset', 95 | resetToDefault: 'Domyślne' 96 | }, 97 | shortcut: { 98 | shortcuts: 'Skróty klawiaturowe', 99 | close: 'Zamknij', 100 | textFormatting: 'Formatowanie tekstu', 101 | action: 'Akcja', 102 | paragraphFormatting: 'Formatowanie akapitu', 103 | documentStyle: 'Styl dokumentu', 104 | extraKeys: 'Dodatkowe klawisze' 105 | }, 106 | history: { 107 | undo: 'Cofnij', 108 | redo: 'Ponów' 109 | } 110 | } 111 | }); 112 | })(jQuery); 113 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ru-RU.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ru-RU': { 4 | font: { 5 | bold: 'Полужирный', 6 | italic: 'Курсив', 7 | underline: 'Подчёркнутый', 8 | clear: 'Убрать стили шрифта', 9 | height: 'Высота линии', 10 | name: 'Шрифт', 11 | strikethrough: 'Зачёркнутый', 12 | subscript: 'Нижний индекс', 13 | superscript: 'Верхний индекс', 14 | size: 'Размер шрифта' 15 | }, 16 | image: { 17 | image: 'Картинка', 18 | insert: 'Вставить картинку', 19 | resizeFull: 'Восстановить размер', 20 | resizeHalf: 'Уменьшить до 50%', 21 | resizeQuarter: 'Уменьшить до 25%', 22 | floatLeft: 'Расположить слева', 23 | floatRight: 'Расположить справа', 24 | floatNone: 'Расположение по-умолчанию', 25 | shapeRounded: 'Форма: Закругленная', 26 | shapeCircle: 'Форма: Круг', 27 | shapeThumbnail: 'Форма: Миниатюра', 28 | shapeNone: 'Форма: Нет', 29 | dragImageHere: 'Перетащите сюда картинку', 30 | dropImage: 'Перетащите картинку', 31 | selectFromFiles: 'Выбрать из файлов', 32 | url: 'URL картинки', 33 | remove: 'Удалить картинку' 34 | }, 35 | video: { 36 | video: 'Видео', 37 | videoLink: 'Ссылка на видео', 38 | insert: 'Вставить видео', 39 | url: 'URL видео', 40 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion или Youku)' 41 | }, 42 | link: { 43 | link: 'Ссылка', 44 | insert: 'Вставить ссылку', 45 | unlink: 'Убрать ссылку', 46 | edit: 'Редактировать', 47 | textToDisplay: 'Отображаемый текст', 48 | url: 'URL для перехода', 49 | openInNewWindow: 'Открывать в новом окне' 50 | }, 51 | table: { 52 | table: 'Таблица' 53 | }, 54 | hr: { 55 | insert: 'Вставить горизонтальную линию' 56 | }, 57 | style: { 58 | style: 'Стиль', 59 | p: 'Нормальный', 60 | blockquote: 'Цитата', 61 | pre: 'Код', 62 | h1: 'Заголовок 1', 63 | h2: 'Заголовок 2', 64 | h3: 'Заголовок 3', 65 | h4: 'Заголовок 4', 66 | h5: 'Заголовок 5', 67 | h6: 'Заголовок 6' 68 | }, 69 | lists: { 70 | unordered: 'Маркированный список', 71 | ordered: 'Нумерованный список' 72 | }, 73 | options: { 74 | help: 'Помощь', 75 | fullscreen: 'На весь экран', 76 | codeview: 'Исходный код' 77 | }, 78 | paragraph: { 79 | paragraph: 'Параграф', 80 | outdent: 'Уменьшить отступ', 81 | indent: 'Увеличить отступ', 82 | left: 'Выровнять по левому краю', 83 | center: 'Выровнять по центру', 84 | right: 'Выровнять по правому краю', 85 | justify: 'Растянуть по ширине' 86 | }, 87 | color: { 88 | recent: 'Последний цвет', 89 | more: 'Еще цвета', 90 | background: 'Цвет фона', 91 | foreground: 'Цвет шрифта', 92 | transparent: 'Прозрачный', 93 | setTransparent: 'Сделать прозрачным', 94 | reset: 'Сброс', 95 | resetToDefault: 'Восстановить умолчания' 96 | }, 97 | shortcut: { 98 | shortcuts: 'Сочетания клавиш', 99 | close: 'Закрыть', 100 | textFormatting: 'Форматирование текста', 101 | action: 'Действие', 102 | paragraphFormatting: 'Форматирование параграфа', 103 | documentStyle: 'Стиль документа', 104 | extraKeys: 'Дополнительные комбинации' 105 | }, 106 | history: { 107 | undo: 'Отменить', 108 | redo: 'Повтор' 109 | } 110 | } 111 | }); 112 | })(jQuery); 113 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ja-JP.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ja-JP': { 4 | font: { 5 | bold: '太字', 6 | italic: '斜体', 7 | underline: '下線', 8 | clear: 'クリア', 9 | height: '文字高', 10 | name: 'フォント', 11 | strikethrough: '取り消し線', 12 | size: '大きさ' 13 | }, 14 | image: { 15 | image: '画像', 16 | insert: '画像挿入', 17 | resizeFull: '最大化', 18 | resizeHalf: '1/2', 19 | resizeQuarter: '1/4', 20 | floatLeft: '左寄せ', 21 | floatRight: '右寄せ', 22 | floatNone: '寄せ解除', 23 | dragImageHere: 'ここに画像をドラッグしてください', 24 | selectFromFiles: '画像ファイルを選ぶ', 25 | url: 'URLから画像を挿入する', 26 | remove: '画像を削除する' 27 | }, 28 | video: { 29 | video: '動画', 30 | videoLink: '動画リンク', 31 | insert: '動画挿入', 32 | url: '動画のURL', 33 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku)' 34 | }, 35 | link: { 36 | link: 'リンク', 37 | insert: 'リンク挿入', 38 | unlink: 'リンク解除', 39 | edit: '編集', 40 | textToDisplay: 'リンク文字列', 41 | url: 'URLを入力してください', 42 | openInNewWindow: '新しいウィンドウで開く' 43 | }, 44 | table: { 45 | table: 'テーブル' 46 | }, 47 | hr: { 48 | insert: '水平線の挿入' 49 | }, 50 | style: { 51 | style: 'スタイル', 52 | p: '標準', 53 | blockquote: '引用', 54 | pre: 'コード', 55 | h1: '見出し1', 56 | h2: '見出し2', 57 | h3: '見出し3', 58 | h4: '見出し4', 59 | h5: '見出し5', 60 | h6: '見出し6' 61 | }, 62 | lists: { 63 | unordered: '通常リスト', 64 | ordered: '番号リスト' 65 | }, 66 | options: { 67 | help: 'ヘルプ', 68 | fullscreen: 'フルスクリーン', 69 | codeview: 'コード表示' 70 | }, 71 | paragraph: { 72 | paragraph: '文章', 73 | outdent: '字上げ', 74 | indent: '字下げ', 75 | left: '左寄せ', 76 | center: '中央寄せ', 77 | right: '右寄せ', 78 | justify: '均等割付' 79 | }, 80 | color: { 81 | recent: '現在の色', 82 | more: 'もっと見る', 83 | background: '背景色', 84 | foreground: '文字色', 85 | transparent: '透過率', 86 | setTransparent: '透過率を設定', 87 | reset: '標準', 88 | resetToDefault: '標準に戻す' 89 | }, 90 | shortcut: { 91 | shortcuts: 'ショートカット', 92 | close: '閉じる', 93 | textFormatting: '文字フォーマット', 94 | action: 'アクション', 95 | paragraphFormatting: '文章フォーマット', 96 | documentStyle: 'ドキュメント形式' 97 | }, 98 | history: { 99 | undo: '元に戻す', 100 | redo: 'やり直す' 101 | }, 102 | help: { 103 | 'insertParagraph': '改行挿入', 104 | 'undo': '一旦、行った操作を戻す', 105 | 'redo': '最後のコマンドをやり直す', 106 | 'tab': 'Tab', 107 | 'untab': 'タブ戻し', 108 | 'bold': '太文字', 109 | 'italic': '斜体', 110 | 'underline': '下線', 111 | 'strikethrough': '取り消し線', 112 | 'removeFormat': '装飾を戻す', 113 | 'justifyLeft': '左寄せ', 114 | 'justifyCenter': '真ん中寄せ', 115 | 'justifyRight': '右寄せ', 116 | 'justifyFull': 'すべてを整列', 117 | 'insertUnorderedList': '行頭に●を挿入', 118 | 'insertOrderedList': '行頭に番号を挿入', 119 | 'outdent': '字下げを戻す(アウトデント)', 120 | 'indent': '字下げする(インデント)', 121 | 'formatPara': '段落(P tag)指定', 122 | 'formatH1': 'H1指定', 123 | 'formatH2': 'H2指定', 124 | 'formatH3': 'H3指定', 125 | 'formatH4': 'H4指定', 126 | 'formatH5': 'H5指定', 127 | 'formatH6': 'H6指定', 128 | 'insertHorizontalRule': '<hr />を挿入', 129 | 'linkDialog.show': 'リンク挿入' 130 | } 131 | } 132 | }); 133 | })(jQuery); 134 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-mn-MN.js: -------------------------------------------------------------------------------- 1 | // Starsoft Mongolia LLC Temuujin Ariunbold 2 | 3 | (function ($) { 4 | $.extend($.summernote.lang, { 5 | 'mn-MN': { 6 | font: { 7 | bold: 'Тод', 8 | italic: 'Налуу', 9 | underline: 'Доогуур зураас', 10 | clear: 'Цэвэрлэх', 11 | height: 'Өндөр', 12 | name: 'Фонт', 13 | superscript: 'Дээд илтгэгч', 14 | subscript: 'Доод илтгэгч', 15 | strikethrough: 'Дарах', 16 | size: 'Хэмжээ' 17 | }, 18 | image: { 19 | image: 'Зураг', 20 | insert: 'Оруулах', 21 | resizeFull: 'Хэмжээ бүтэн', 22 | resizeHalf: 'Хэмжээ 1/2', 23 | resizeQuarter: 'Хэмжээ 1/4', 24 | floatLeft: 'Зүүн талд байрлуулах', 25 | floatRight: 'Баруун талд байрлуулах', 26 | floatNone: 'Анхдагч байрлалд аваачих', 27 | shapeRounded: 'Хүрээ: Дугуй', 28 | shapeCircle: 'Хүрээ: Тойрог', 29 | shapeThumbnail: 'Хүрээ: Хураангуй', 30 | shapeNone: 'Хүрээгүй', 31 | dragImageHere: 'Зургийг энд чирч авчирна уу', 32 | selectFromFiles: 'Файлуудаас сонгоно уу', 33 | maximumFileSize: 'Файлын дээд хэмжээ', 34 | maximumFileSizeError: 'Файлын дээд хэмжээ хэтэрсэн', 35 | url: 'Зургийн URL', 36 | remove: 'Зургийг устгах' 37 | }, 38 | video: { 39 | video: 'Видео', 40 | videoLink: 'Видео холбоос', 41 | insert: 'Видео оруулах', 42 | url: 'Видео URL?', 43 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion болон Youku)' 44 | }, 45 | link: { 46 | link: 'Холбоос', 47 | insert: 'Холбоос оруулах', 48 | unlink: 'Холбоос арилгах', 49 | edit: 'Засварлах', 50 | textToDisplay: 'Харуулах бичвэр', 51 | url: 'Энэ холбоос хаашаа очих вэ?', 52 | openInNewWindow: 'Шинэ цонхонд нээх' 53 | }, 54 | table: { 55 | table: 'Хүснэгт' 56 | }, 57 | hr: { 58 | insert: 'Хэвтээ шугам оруулах' 59 | }, 60 | style: { 61 | style: 'Хэв маяг', 62 | p: 'p', 63 | blockquote: 'Иш татах', 64 | pre: 'Эх сурвалж', 65 | h1: 'Гарчиг 1', 66 | h2: 'Гарчиг 2', 67 | h3: 'Гарчиг 3', 68 | h4: 'Гарчиг 4', 69 | h5: 'Гарчиг 5', 70 | h6: 'Гарчиг 6' 71 | }, 72 | lists: { 73 | unordered: 'Эрэмбэлэгдээгүй', 74 | ordered: 'Эрэмбэлэгдсэн' 75 | }, 76 | options: { 77 | help: 'Тусламж', 78 | fullscreen: 'Дэлгэцийг дүүргэх', 79 | codeview: 'HTML-Code харуулах' 80 | }, 81 | paragraph: { 82 | paragraph: 'Хэсэг', 83 | outdent: 'Догол мөр хасах', 84 | indent: 'Догол мөр нэмэх', 85 | left: 'Зүүн тийш эгнүүлэх', 86 | center: 'Төвд эгнүүлэх', 87 | right: 'Баруун тийш эгнүүлэх', 88 | justify: 'Мөрийг тэгшлэх' 89 | }, 90 | color: { 91 | recent: 'Сүүлд хэрэглэсэн өнгө', 92 | more: 'Өөр өнгөнүүд', 93 | background: 'Дэвсгэр өнгө', 94 | foreground: 'Үсгийн өнгө', 95 | transparent: 'Тунгалаг', 96 | setTransparent: 'Тунгалаг болгох', 97 | reset: 'Анхдагч өнгөөр тохируулах', 98 | resetToDefault: 'Хэвд нь оруулах' 99 | }, 100 | shortcut: { 101 | shortcuts: 'Богино холбоос', 102 | close: 'Хаалт', 103 | textFormatting: 'Бичвэрийг хэлбэржүүлэх', 104 | action: 'Үйлдэл', 105 | paragraphFormatting: 'Догол мөрийг хэлбэржүүлэх', 106 | documentStyle: 'Бичиг баримтын хэв загвар' 107 | }, 108 | history: { 109 | undo: 'Буцаах', 110 | redo: 'Дахин хийх' 111 | }, 112 | specialChar: { 113 | specialChar: 'Тусгай тэмдэгт', 114 | select: 'Тусгай тэмдэгт сонгох' 115 | } 116 | } 117 | }); 118 | })(jQuery); 119 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Laravel Summernote 2 | 3 | Summernote editor integration for Laravel 5. 4 | 5 | ![Laravel Octane Ready Status](https://img.shields.io/badge/Octance-ready-green?style=flat-square) 6 | ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/overtrue/laravel-summernote?style=flat-square) 7 | ![GitHub License](https://img.shields.io/github/license/overtrue/laravel-summernote?style=flat-square) 8 | ![Packagist Downloads](https://img.shields.io/packagist/dt/overtrue/laravel-summernote?style=flat-square) 9 | 10 | [![Sponsor me](https://github.com/overtrue/overtrue/blob/master/sponsor-me-button-s.svg?raw=true)](https://github.com/sponsors/overtrue) 11 | 12 | # 使用 13 | 14 | ## 安装 15 | 16 | ```shell 17 | $ composer require "overtrue/laravel-summernote" 18 | ``` 19 | 20 | ## 配置 21 | 22 | 1. 添加下面一行到 `config/app.php` 中 `providers` 部分: 23 | 24 | ```php 25 | Overtrue\LaravelSummernote\SummernoteServiceProvider::class, 26 | ``` 27 | 28 | 2. 发布配置文件与资源 29 | 30 | ```php 31 | $ php artisan vendor:publish --provider='Overtrue\LaravelSummernote\SummernoteServiceProvider' 32 | ``` 33 | 34 | 3. 模板引入编辑器 35 | 36 | 这行的作用是引入编辑器需要的 css,js 等文件,所以你不需要再手动去引入它们。 37 | 38 | ```php 39 | @include('vendor.summernote.assets') 40 | ``` 41 | 42 | 4. 编辑器的初始化 43 | 44 | ```html 45 | 46 | 53 | 54 | 55 |
Hello Summernote
56 | ``` 57 | 58 | # 说明 59 | 60 | 1. 如果你使用的是 laravel 5.3 以下版本,请先创建软链接: 61 | ```shell 62 | # 请在项目根目录执行以下命令 63 | $ ln -s `pwd`/storage/app/public `pwd`/public/storage 64 | ``` 65 | 1. 在 `config/summernote.php` 配置 `disk` 为 `'public'` 情况下,上传路径在:`public/uploads/` 下,确认该目录存在并可写。 66 | 1. 如果要修改上传路径,请在 `config/summernote.php` 里各种类型的上传路径,但是都在 public 下。 67 | 1. 请在 `.env` 中正确配置 `APP_URL` 为你的当前域名,否则可能上传成功了,但是无法正确显示。 68 | 69 | ## 七牛支持 70 | 71 | 如果你想使用七牛云储存,需要进行下面几个简单的操作: 72 | 73 | 1.安装和配置 [laravel-filesystem-qiniu](https://github.com/overtrue/laravel-filesystem-qiniu) 74 | 75 | 2.配置 `config/summernote.php` 的 `disk` 为 `qiniu`: 76 | 77 | ```php 78 | 'disk' => 'qiniu' 79 | ``` 80 | 81 | 3.剩下时间打局 LOL,已经完事了。 82 | 83 | > 七牛的 `access_key` 和 `secret_key` 可以在这里找到:https://portal.qiniu.com/user/key ,在创建 `bucket` (空间)的时候,推荐大家都使用公开的空间。 84 | 85 | ## 事件 86 | 87 | 你肯定有一些朋友肯定会有一些比较特殊的场景,那么你可以使用本插件提供的事件来支持: 88 | 89 | > 请按照 Laravel 事件的文档来使用: 90 | > https://laravel.com/docs/5.4/events#registering-events-and-listeners 91 | 92 | ### 上传中事件 93 | 94 | > Overtrue\LaravelSummernote\Events\Uploading 95 | 96 | 在保存文件之前,你可以拿到一些信息: 97 | 98 | - `$event->file` 这是请求的已经上传的文件对象,`Symfony\Component\HttpFoundation\File\UploadedFile` 实例。 99 | - `$event->filename` 这是即将存储时用的新文件名 100 | - `$event->config` 上传配置,数组。 101 | 102 | 你可以在本事件监听器返回值,返回值将替换 `$filename` 作为存储文件名。 103 | 104 | ### 上传完成事件 105 | 106 | > Overtrue\LaravelSummernote\Events\Uploaded 107 | 108 | 它有两个属性: 109 | 110 | - `$event->file` 与 Uploading 一样,上传的文件 111 | - `$event->result` 上传结构,数组,包含以下信息: 112 | 113 | ```php 114 | 'state' => 'SUCCESS', 115 | 'url' => 'http://xxxxxx.qiniucdn.com/xxx/xxx.jpg', 116 | 'title' => '文件名.jpg', 117 | 'original' => '上传时的源文件名.jpg', 118 | 'type' => 'jpg', 119 | 'size' => 17283, 120 | ``` 121 | 122 | 你可以监听此事件用于一些后续处理任务,比如记录到数据库。 123 | 124 | [![Sponsor me](https://github.com/overtrue/overtrue/blob/master/sponsor-me.svg?raw=true)](https://github.com/sponsors/overtrue) 125 | 126 | ## Project supported by JetBrains 127 | 128 | Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects. 129 | 130 | [![](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://www.jetbrains.com/?from=https://github.com/overtrue) 131 | 132 | 133 | # License 134 | 135 | MIT 136 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-zh-CN.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'zh-CN': { 4 | font: { 5 | bold: '粗体', 6 | italic: '斜体', 7 | underline: '下划线', 8 | clear: '清除格式', 9 | height: '行高', 10 | name: '字体', 11 | strikethrough: '删除线', 12 | subscript: '下标', 13 | superscript: '上标', 14 | size: '字号' 15 | }, 16 | image: { 17 | image: '图片', 18 | insert: '插入图片', 19 | resizeFull: '缩放至 100%', 20 | resizeHalf: '缩放至 50%', 21 | resizeQuarter: '缩放至 25%', 22 | floatLeft: '靠左浮动', 23 | floatRight: '靠右浮动', 24 | floatNone: '取消浮动', 25 | shapeRounded: '形状: 圆角', 26 | shapeCircle: '形状: 圆', 27 | shapeThumbnail: '形状: 缩略图', 28 | shapeNone: '形状: 无', 29 | dragImageHere: '将图片拖拽至此处', 30 | selectFromFiles: '从本地上传', 31 | maximumFileSize: '文件大小最大值', 32 | maximumFileSizeError: '文件大小超出最大值。', 33 | url: '图片地址', 34 | remove: '移除图片' 35 | }, 36 | video: { 37 | video: '视频', 38 | videoLink: '视频链接', 39 | insert: '插入视频', 40 | url: '视频地址', 41 | providers: '(优酷, Instagram, DailyMotion, Youtube等)' 42 | }, 43 | link: { 44 | link: '链接', 45 | insert: '插入链接', 46 | unlink: '去除链接', 47 | edit: '编辑链接', 48 | textToDisplay: '显示文本', 49 | url: '链接地址', 50 | openInNewWindow: '在新窗口打开' 51 | }, 52 | table: { 53 | table: '表格' 54 | }, 55 | hr: { 56 | insert: '水平线' 57 | }, 58 | style: { 59 | style: '样式', 60 | p: '普通', 61 | blockquote: '引用', 62 | pre: '代码', 63 | h1: '标题 1', 64 | h2: '标题 2', 65 | h3: '标题 3', 66 | h4: '标题 4', 67 | h5: '标题 5', 68 | h6: '标题 6' 69 | }, 70 | lists: { 71 | unordered: '无序列表', 72 | ordered: '有序列表' 73 | }, 74 | options: { 75 | help: '帮助', 76 | fullscreen: '全屏', 77 | codeview: '源代码' 78 | }, 79 | paragraph: { 80 | paragraph: '段落', 81 | outdent: '减少缩进', 82 | indent: '增加缩进', 83 | left: '左对齐', 84 | center: '居中对齐', 85 | right: '右对齐', 86 | justify: '两端对齐' 87 | }, 88 | color: { 89 | recent: '最近使用', 90 | more: '更多', 91 | background: '背景', 92 | foreground: '前景', 93 | transparent: '透明', 94 | setTransparent: '透明', 95 | reset: '重置', 96 | resetToDefault: '默认' 97 | }, 98 | shortcut: { 99 | shortcuts: '快捷键', 100 | close: '关闭', 101 | textFormatting: '文本格式', 102 | action: '动作', 103 | paragraphFormatting: '段落格式', 104 | documentStyle: '文档样式', 105 | extraKeys: '额外按键' 106 | }, 107 | history: { 108 | undo: '撤销', 109 | redo: '重做' 110 | }, 111 | help: { 112 | insertParagraph: '插入段落', 113 | undo: '撤销', 114 | redo: '重做', 115 | tab: '增加缩进', 116 | untab: '减少缩进', 117 | bold: '粗体', 118 | italic: '斜体', 119 | underline: '下划线', 120 | strikethrough: '删除线', 121 | removeFormat: '清除格式', 122 | justifyLeft: '左对齐', 123 | justifyCenter: '居中对齐', 124 | justifyRight: '右对齐', 125 | justifyFull: '两端对齐', 126 | insertUnorderedList: '无序列表', 127 | insertOrderedList: '有序列表', 128 | outdent: '减少缩进', 129 | indent: '增加缩进', 130 | formatPara: '设置选中内容样式为 普通', 131 | formatH1: '设置选中内容样式为 标题1', 132 | formatH2: '设置选中内容样式为 标题2', 133 | formatH3: '设置选中内容样式为 标题3', 134 | formatH4: '设置选中内容样式为 标题4', 135 | formatH5: '设置选中内容样式为 标题5', 136 | formatH6: '设置选中内容样式为 标题6', 137 | insertHorizontalRule: '插入水平线', 138 | 'linkDialog.show': '显示链接对话框' 139 | } 140 | } 141 | }); 142 | })(jQuery); 143 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-pt-BR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'pt-BR': { 4 | font: { 5 | bold: 'Negrito', 6 | italic: 'Itálico', 7 | underline: 'Sublinhado', 8 | clear: 'Remover estilo da fonte', 9 | height: 'Altura da linha', 10 | name: 'Fonte', 11 | strikethrough: 'Riscado', 12 | size: 'Tamanho da fonte' 13 | }, 14 | image: { 15 | image: 'Imagem', 16 | insert: 'Inserir imagem', 17 | resizeFull: 'Redimensionar Completamente', 18 | resizeHalf: 'Redimensionar pela Metade', 19 | resizeQuarter: 'Redimensionar um Quarto', 20 | floatLeft: 'Flutuar para Esquerda', 21 | floatRight: 'Flutuar para Direira', 22 | floatNone: 'Não Flutuar', 23 | dragImageHere: 'Arraste uma imagem para cá', 24 | selectFromFiles: 'Selecione a partir dos arquivos', 25 | url: 'URL da imagem' 26 | }, 27 | video: { 28 | video: 'Vídeo', 29 | videoLink: 'Link para vídeo', 30 | insert: 'Inserir vídeo', 31 | url: 'URL do vídeo?', 32 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' 33 | }, 34 | link: { 35 | link: 'Link', 36 | insert: 'Inserir link', 37 | unlink: 'Remover link', 38 | edit: 'Editar', 39 | textToDisplay: 'Texto para exibir', 40 | url: 'Para qual URL esse link leva?', 41 | openInNewWindow: 'Abrir em uma nova janela' 42 | }, 43 | table: { 44 | table: 'Tabela' 45 | }, 46 | hr: { 47 | insert: 'Inserir linha horizontal' 48 | }, 49 | style: { 50 | style: 'Estilo', 51 | normal: 'Normal', 52 | blockquote: 'Citação', 53 | pre: 'Código', 54 | h1: 'Título 1', 55 | h2: 'Título 2', 56 | h3: 'Título 3', 57 | h4: 'Título 4', 58 | h5: 'Título 5', 59 | h6: 'Título 6' 60 | }, 61 | lists: { 62 | unordered: 'Lista com marcadores', 63 | ordered: 'Lista numerada' 64 | }, 65 | options: { 66 | help: 'Ajuda', 67 | fullscreen: 'Tela cheia', 68 | codeview: 'Ver código-fonte' 69 | }, 70 | paragraph: { 71 | paragraph: 'Parágrafo', 72 | outdent: 'Menor tabulação', 73 | indent: 'Maior tabulação', 74 | left: 'Alinhar à esquerda', 75 | center: 'Alinhar ao centro', 76 | right: 'Alinha à direita', 77 | justify: 'Justificado' 78 | }, 79 | color: { 80 | recent: 'Cor recente', 81 | more: 'Mais cores', 82 | background: 'Fundo', 83 | foreground: 'Fonte', 84 | transparent: 'Transparente', 85 | setTransparent: 'Fundo transparente', 86 | reset: 'Restaurar', 87 | resetToDefault: 'Restaurar padrão' 88 | }, 89 | shortcut: { 90 | shortcuts: 'Atalhos do teclado', 91 | close: 'Fechar', 92 | textFormatting: 'Formatação de texto', 93 | action: 'Ação', 94 | paragraphFormatting: 'Formatação de parágrafo', 95 | documentStyle: 'Estilo de documento' 96 | }, 97 | history: { 98 | undo: 'Desfazer', 99 | redo: 'Refazer' 100 | }, 101 | help: { 102 | 'insertParagraph': 'Inserir Parágrafo', 103 | 'undo': 'Desfazer o último comando', 104 | 'redo': 'Refazer o último comando', 105 | 'tab': 'Tab', 106 | 'untab': 'Desfazer tab', 107 | 'bold': 'Colocar em negrito', 108 | 'italic': 'Colocar em itálico', 109 | 'underline': 'Sublinhado', 110 | 'strikethrough': 'Tachado', 111 | 'removeFormat': 'Remover estilo', 112 | 'justifyLeft': 'Alinhar à esquerda', 113 | 'justifyCenter': 'Centralizar', 114 | 'justifyRight': 'Alinhar à esquerda', 115 | 'justifyFull': 'Justificar', 116 | 'insertUnorderedList': 'Lista não ordenada', 117 | 'insertOrderedList': 'Lista ordenada', 118 | 'outdent': 'Recuar parágrafo atual', 119 | 'indent': 'Avançar parágrafo atual', 120 | 'formatPara': 'Alterar formato do bloco para parágrafo(tag P)', 121 | 'formatH1': 'Alterar formato do bloco para H1', 122 | 'formatH2': 'Alterar formato do bloco para H2', 123 | 'formatH3': 'Alterar formato do bloco para H3', 124 | 'formatH4': 'Alterar formato do bloco para H4', 125 | 'formatH5': 'Alterar formato do bloco para H5', 126 | 'formatH6': 'Alterar formato do bloco para H6', 127 | 'insertHorizontalRule': 'Inserir régua horizontal', 128 | 'linkDialog.show': 'Inserir um Hiperlink' 129 | } 130 | } 131 | }); 132 | })(jQuery); 133 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-hu-HU.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'hu-HU': { 4 | font: { 5 | bold: 'Félkövér', 6 | italic: 'Dőlt', 7 | underline: 'Aláhúzott', 8 | clear: 'Formázás törlése', 9 | height: 'Sorköz', 10 | name: 'Betűtípus', 11 | strikethrough: 'Áthúzott', 12 | size: 'Betűméret' 13 | }, 14 | image: { 15 | image: 'Kép', 16 | insert: 'Kép beszúrása', 17 | resizeFull: 'Átméretezés teljes méretre', 18 | resizeHalf: 'Átméretezés felére', 19 | resizeQuarter: 'Átméretezés negyedére', 20 | floatLeft: 'Igazítás balra', 21 | floatRight: 'Igazítás jobbra', 22 | floatNone: 'Igazítás törlése', 23 | dragImageHere: 'Ide húzhat képet vagy szöveget', 24 | dropImage: 'Engedje el a képet vagy szöveget', 25 | selectFromFiles: 'Fájlok kiválasztása', 26 | url: 'Kép URL címe', 27 | remove: 'Kép törlése' 28 | }, 29 | video: { 30 | video: 'Videó', 31 | videoLink: 'Videó hivatkozás', 32 | insert: 'Videó beszúrása', 33 | url: 'Videó URL címe', 34 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion vagy Youku)' 35 | }, 36 | link: { 37 | link: 'Hivatkozás', 38 | insert: 'Hivatkozás beszúrása', 39 | unlink: 'Hivatkozás megszüntetése', 40 | edit: 'Szerkesztés', 41 | textToDisplay: 'Megjelenítendő szöveg', 42 | url: 'Milyen URL címre hivatkozzon?', 43 | openInNewWindow: 'Megnyitás új ablakban' 44 | }, 45 | table: { 46 | table: 'Táblázat' 47 | }, 48 | hr: { 49 | insert: 'Elválasztó vonal beszúrása' 50 | }, 51 | style: { 52 | style: 'Stílus', 53 | p: 'Normál', 54 | blockquote: 'Idézet', 55 | pre: 'Kód', 56 | h1: 'Fejléc 1', 57 | h2: 'Fejléc 2', 58 | h3: 'Fejléc 3', 59 | h4: 'Fejléc 4', 60 | h5: 'Fejléc 5', 61 | h6: 'Fejléc 6' 62 | }, 63 | lists: { 64 | unordered: 'Listajeles lista', 65 | ordered: 'Számozott lista' 66 | }, 67 | options: { 68 | help: 'Súgó', 69 | fullscreen: 'Teljes képernyő', 70 | codeview: 'Kód nézet' 71 | }, 72 | paragraph: { 73 | paragraph: 'Bekezdés', 74 | outdent: 'Behúzás csökkentése', 75 | indent: 'Behúzás növelése', 76 | left: 'Igazítás balra', 77 | center: 'Igazítás középre', 78 | right: 'Igazítás jobbra', 79 | justify: 'Sorkizárt' 80 | }, 81 | color: { 82 | recent: 'Jelenlegi szín', 83 | more: 'További színek', 84 | background: 'Háttérszín', 85 | foreground: 'Betűszín', 86 | transparent: 'Átlátszó', 87 | setTransparent: 'Átlászóság beállítása', 88 | reset: 'Visszaállítás', 89 | resetToDefault: 'Alaphelyzetbe állítás' 90 | }, 91 | shortcut: { 92 | shortcuts: 'Gyorsbillentyű', 93 | close: 'Bezárás', 94 | textFormatting: 'Szöveg formázása', 95 | action: 'Művelet', 96 | paragraphFormatting: 'Bekezdés formázása', 97 | documentStyle: 'Dokumentumstílus' 98 | }, 99 | help: { 100 | 'insertParagraph': 'Új bekezdés', 101 | 'undo': 'Visszavonás', 102 | 'redo': 'Újra', 103 | 'tab': 'Behúzás növelése', 104 | 'untab': 'Behúzás csökkentése', 105 | 'bold': 'Félkövérre állítás', 106 | 'italic': 'Dőltre állítás', 107 | 'underline': 'Aláhúzás', 108 | 'strikethrough': 'Áthúzás', 109 | 'removeFormat': 'Formázás törlése', 110 | 'justifyLeft': 'Balra igazítás', 111 | 'justifyCenter': 'Középre igazítás', 112 | 'justifyRight': 'Jobbra igazítás', 113 | 'justifyFull': 'Sorkizárt', 114 | 'insertUnorderedList': 'Számozatlan lista be/ki', 115 | 'insertOrderedList': 'Számozott lista be/ki', 116 | 'outdent': 'Jelenlegi bekezdés behúzásának megszüntetése', 117 | 'indent': 'Jelenlegi bekezdés behúzása', 118 | 'formatPara': 'Blokk formázása bekezdésként (P tag)', 119 | 'formatH1': 'Blokk formázása, mint Fejléc 1', 120 | 'formatH2': 'Blokk formázása, mint Fejléc 2', 121 | 'formatH3': 'Blokk formázása, mint Fejléc 3', 122 | 'formatH4': 'Blokk formázása, mint Fejléc 4', 123 | 'formatH5': 'Blokk formázása, mint Fejléc 5', 124 | 'formatH6': 'Blokk formázása, mint Fejléc 6', 125 | 'insertHorizontalRule': 'Vízszintes vonal beszúrása', 126 | 'linkDialog.show': 'Link párbeszédablak megjelenítése' 127 | }, 128 | history: { 129 | undo: 'Visszavonás', 130 | redo: 'Újra' 131 | } 132 | 133 | } 134 | }); 135 | })(jQuery); 136 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-lt-LV.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'lv-LV': { 4 | font: { 5 | bold: 'Treknraksts', 6 | italic: 'Kursīvs', 7 | underline: 'Pasvītrots', 8 | clear: 'Noņemt formatējumu', 9 | height: 'Līnijas augstums', 10 | name: 'Fonts', 11 | strikethrough: 'Nosvītrots', 12 | superscript: 'Augšraksts', 13 | subscript: 'Apakšraksts', 14 | size: 'Fonta lielums' 15 | }, 16 | image: { 17 | image: 'Attēls', 18 | insert: 'Ievietot attēlu', 19 | resizeFull: 'Pilns izmērts', 20 | resizeHalf: 'Samazināt 50%', 21 | resizeQuarter: 'Samazināt 25%', 22 | floatLeft: 'Līdzināt pa kreisi', 23 | floatRight: 'Līdzināt pa labi', 24 | floatNone: 'Nelīdzināt', 25 | shapeRounded: 'Forma: apaļām malām', 26 | shapeCircle: 'Forma: aplis', 27 | shapeThumbnail: 'Forma: rāmītis', 28 | shapeNone: 'Forma: orģināla', 29 | dragImageHere: 'Ievēlciet attēlu šeit', 30 | selectFromFiles: 'Izvēlēties failu', 31 | maximumFileSize: 'Maksimālais faila izmērs', 32 | maximumFileSizeError: 'Faila izmērs pārāk liels!', 33 | url: 'Attēla URL', 34 | remove: 'Dzēst attēlu' 35 | }, 36 | link: { 37 | link: 'Saite', 38 | insert: 'Ievietot saiti', 39 | unlink: 'Noņemt saiti', 40 | edit: 'Rediģēt', 41 | textToDisplay: 'Saites saturs', 42 | url: 'Koks URL adresas yra susietas?', 43 | openInNewWindow: 'Atvērt jaunā logā' 44 | }, 45 | table: { 46 | table: 'Tabula' 47 | }, 48 | hr: { 49 | insert: 'Ievietot līniju' 50 | }, 51 | style: { 52 | style: 'Stils', 53 | p: 'Parasts', 54 | blockquote: 'Citāts', 55 | pre: 'Kods', 56 | h1: 'Virsraksts h1', 57 | h2: 'Virsraksts h2', 58 | h3: 'Virsraksts h3', 59 | h4: 'Virsraksts h4', 60 | h5: 'Virsraksts h5', 61 | h6: 'Virsraksts h6' 62 | }, 63 | lists: { 64 | unordered: 'Nenumurēts saraksts', 65 | ordered: 'Numurēts saraksts' 66 | }, 67 | options: { 68 | help: 'Palīdzība', 69 | fullscreen: 'Pa visu ekrānu', 70 | codeview: 'HTML kods' 71 | }, 72 | paragraph: { 73 | paragraph: 'Paragrāfs', 74 | outdent: 'Samazināt atkāpi', 75 | indent: 'Palielināt atkāpi', 76 | left: 'Līdzināt pa kreisi', 77 | center: 'Centrēt', 78 | right: 'Līdzināt pa labi', 79 | justify: 'Līdzināt gar abām malām' 80 | }, 81 | color: { 82 | recent: 'Nesen izmantotās', 83 | more: 'Citas krāsas', 84 | background: 'Fona krāsa', 85 | foreground: 'Fonta krāsa', 86 | transparent: 'Caurspīdīgs', 87 | setTransparent: 'Iestatīt caurspīdīgumu', 88 | reset: 'Atjaunot', 89 | resetToDefault: 'Atjaunot noklusējumu' 90 | }, 91 | shortcut: { 92 | shortcuts: 'Saīsnes', 93 | close: 'Aizvērt', 94 | textFormatting: 'Teksta formatēšana', 95 | action: 'Darbība', 96 | paragraphFormatting: 'Paragrāfa formatēšana', 97 | documentStyle: 'Dokumenta stils', 98 | extraKeys: 'Citas taustiņu kombinācijas' 99 | }, 100 | history: { 101 | undo: 'Atsauks (undo)', 102 | redo: 'Atkārtot (redo)' 103 | }, 104 | help: { 105 | insertParagraph: 'Ievietot Paragrāfu', 106 | undo: 'Atcelt iepriekšējo darbību', 107 | redo: 'Atkārtot atcelto darbību', 108 | tab: 'Atkāpe', 109 | untab: 'Samazināt atkāpi', 110 | bold: 'Pārvērst tekstu treknrakstā', 111 | italic: 'Pārvērst tekstu slīprakstā (kursīvā)', 112 | underline: 'Pasvītrot tekstu', 113 | strikethrough: 'Nosvītrot tekstu', 114 | removeFormat: 'Notīrīt stilu no teksta', 115 | justifyLeft: 'Līdzīnāt saturu pa kreisi', 116 | justifyCenter: 'Centrēt saturu', 117 | justifyRight: 'Līdzīnāt saturu pa labi', 118 | justifyFull: 'Izlīdzināt saturu gar abām malām', 119 | insertUnorderedList: 'Ievietot nenumurētu sarakstu', 120 | insertOrderedList: 'Ievietot numurētu sarakstu', 121 | outdent: 'Samazināt/noņemt atkāpi paragrāfam', 122 | indent: 'Uzlikt atkāpi paragrāfam', 123 | formatPara: 'Mainīt bloka tipu uz (p) Paragrāfu', 124 | formatH1: 'Mainīt bloka tipu uz virsrakstu H1', 125 | formatH2: 'Mainīt bloka tipu uz virsrakstu H2', 126 | formatH3: 'Mainīt bloka tipu uz virsrakstu H3', 127 | formatH4: 'Mainīt bloka tipu uz virsrakstu H4', 128 | formatH5: 'Mainīt bloka tipu uz virsrakstu H5', 129 | formatH6: 'Mainīt bloka tipu uz virsrakstu H6', 130 | insertHorizontalRule: 'Ievietot horizontālu līniju', 131 | 'linkDialog.show': 'Parādīt saites logu' 132 | } 133 | } 134 | }); 135 | })(jQuery); 136 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-gl-ES.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'gl-ES': { 4 | font: { 5 | bold: 'Negrita', 6 | italic: 'Cursiva', 7 | underline: 'Subliñado', 8 | clear: 'Quitar estilo de fonte', 9 | height: 'Altura de liña', 10 | name: 'Fonte', 11 | strikethrough: 'Riscado', 12 | superscript: 'Superíndice', 13 | subscript: 'Subíndice', 14 | size: 'Tamaño da fonte' 15 | }, 16 | image: { 17 | image: 'Imaxe', 18 | insert: 'Inserir imaxe', 19 | resizeFull: 'Redimensionar a tamaño completo', 20 | resizeHalf: 'Redimensionar á metade', 21 | resizeQuarter: 'Redimensionar a un cuarto', 22 | floatLeft: 'Flotar á esquerda', 23 | floatRight: 'Flotar á dereita', 24 | floatNone: 'Non flotar', 25 | shapeRounded: 'Forma: Redondeado', 26 | shapeCircle: 'Forma: Círculo', 27 | shapeThumbnail: 'Forma: Marco', 28 | shapeNone: 'Forma: Ningunha', 29 | dragImageHere: 'Arrastrar unha imaxe ou texto aquí', 30 | dropImage: 'Solta a imaxe ou texto', 31 | selectFromFiles: 'Seleccionar desde os arquivos', 32 | maximumFileSize: 'Tamaño máximo do arquivo', 33 | maximumFileSizeError: 'Superaches o tamaño máximo do arquivo.', 34 | url: 'URL da imaxe', 35 | remove: 'Eliminar imaxe' 36 | }, 37 | video: { 38 | video: 'Vídeo', 39 | videoLink: 'Ligazón do vídeo', 40 | insert: 'Insertar vídeo', 41 | url: 'URL do vídeo?', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)' 43 | }, 44 | link: { 45 | link: 'Ligazón', 46 | insert: 'Inserir Ligazón', 47 | unlink: 'Quitar Ligazón', 48 | edit: 'Editar', 49 | textToDisplay: 'Texto para amosar', 50 | url: 'Cara a que URL leva a ligazón?', 51 | openInNewWindow: 'Abrir nunha nova xanela' 52 | }, 53 | table: { 54 | table: 'Táboa' 55 | }, 56 | hr: { 57 | insert: 'Inserir liña horizontal' 58 | }, 59 | style: { 60 | style: 'Estilo', 61 | normal: 'Normal', 62 | blockquote: 'Cita', 63 | pre: 'Código', 64 | h1: 'Título 1', 65 | h2: 'Título 2', 66 | h3: 'Título 3', 67 | h4: 'Título 4', 68 | h5: 'Título 5', 69 | h6: 'Título 6' 70 | }, 71 | lists: { 72 | unordered: 'Lista desordenada', 73 | ordered: 'Lista ordenada' 74 | }, 75 | options: { 76 | help: 'Axuda', 77 | fullscreen: 'Pantalla completa', 78 | codeview: 'Ver código fonte' 79 | }, 80 | paragraph: { 81 | paragraph: 'Parágrafo', 82 | outdent: 'Menos tabulación', 83 | indent: 'Máis tabulación', 84 | left: 'Aliñar á esquerda', 85 | center: 'Aliñar ao centro', 86 | right: 'Aliñar á dereita', 87 | justify: 'Xustificar' 88 | }, 89 | color: { 90 | recent: 'Última cor', 91 | more: 'Máis cores', 92 | background: 'Cor de fondo', 93 | foreground: 'Cor de fuente', 94 | transparent: 'Transparente', 95 | setTransparent: 'Establecer transparente', 96 | reset: 'Restaurar', 97 | resetToDefault: 'Restaurar por defecto' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Atallos de teclado', 101 | close: 'Pechar', 102 | textFormatting: 'Formato de texto', 103 | action: 'Acción', 104 | paragraphFormatting: 'Formato de parágrafo', 105 | documentStyle: 'Estilo de documento', 106 | extraKeys: 'Teclas adicionais' 107 | }, 108 | help : { 109 | 'insertParagraph': 'Inserir parágrafo', 110 | 'undo': 'Desfacer última acción', 111 | 'redo': 'Refacer última acción', 112 | 'tab': 'Tabular', 113 | 'untab': 'Eliminar tabulación', 114 | 'bold': 'Establecer estilo negrita', 115 | 'italic': 'Establecer estilo cursiva', 116 | 'underline': 'Establecer estilo subliñado', 117 | 'strikethrough': 'Establecer estilo riscado', 118 | 'removeFormat': 'Limpar estilo', 119 | 'justifyLeft': 'Aliñar á esquerda', 120 | 'justifyCenter': 'Aliñar ao centro', 121 | 'justifyRight': 'Aliñar á dereita', 122 | 'justifyFull': 'Xustificar', 123 | 'insertUnorderedList': 'Inserir lista desordenada', 124 | 'insertOrderedList': 'Inserir lista ordenada', 125 | 'outdent': 'Reducir tabulación do parágrafo', 126 | 'indent': 'Aumentar tabulación do parágrafo', 127 | 'formatPara': 'Mudar estilo do bloque a parágrafo (etiqueta P)', 128 | 'formatH1': 'Mudar estilo do bloque a H1', 129 | 'formatH2': 'Mudar estilo do bloque a H2', 130 | 'formatH3': 'Mudar estilo do bloque a H3', 131 | 'formatH4': 'Mudar estilo do bloque a H4', 132 | 'formatH5': 'Mudar estilo do bloque a H5', 133 | 'formatH6': 'Mudar estilo do bloque a H6', 134 | 'insertHorizontalRule': 'Inserir liña horizontal', 135 | 'linkDialog.show': 'Amosar panel ligazóns' 136 | }, 137 | history: { 138 | undo: 'Desfacer', 139 | redo: 'Refacer' 140 | }, 141 | specialChar: { 142 | specialChar: 'CARACTERES ESPECIAIS', 143 | select: 'Selecciona Caracteres especiais' 144 | } 145 | } 146 | }); 147 | })(jQuery); 148 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-tr-TR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'tr-TR': { 4 | font: { 5 | bold: 'Kalın', 6 | italic: 'İtalik', 7 | underline: 'Altı çizili', 8 | clear: 'Temizle', 9 | height: 'Satır yüksekliği', 10 | name: 'Yazı Tipi', 11 | strikethrough: 'Üstü çizili', 12 | subscript: 'Alt Simge', 13 | superscript: 'Üst Simge', 14 | size: 'Yazı tipi boyutu' 15 | }, 16 | image: { 17 | image: 'Resim', 18 | insert: 'Resim ekle', 19 | resizeFull: 'Orjinal boyut', 20 | resizeHalf: '1/2 boyut', 21 | resizeQuarter: '1/4 boyut', 22 | floatLeft: 'Sola hizala', 23 | floatRight: 'Sağa hizala', 24 | floatNone: 'Hizalamayı kaldır', 25 | shapeRounded: 'Şekil: Yuvarlatılmış Köşe', 26 | shapeCircle: 'Şekil: Daire', 27 | shapeThumbnail: 'Şekil: K.Resim', 28 | shapeNone: 'Şekil: Yok', 29 | dragImageHere: 'Buraya sürükleyin', 30 | dropImage: 'Resim veya metni bırakın', 31 | selectFromFiles: 'Dosya seçin', 32 | maximumFileSize: 'Maksimum dosya boyutu', 33 | maximumFileSizeError: 'Maksimum dosya boyutu aşıldı.', 34 | url: 'Resim bağlantısı', 35 | remove: 'Resimi Kaldır' 36 | }, 37 | video: { 38 | video: 'Video', 39 | videoLink: 'Video bağlantısı', 40 | insert: 'Video ekle', 41 | url: 'Video bağlantısı?', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion veya Youku)' 43 | }, 44 | link: { 45 | link: 'Bağlantı', 46 | insert: 'Bağlantı ekle', 47 | unlink: 'Bağlantıyı kaldır', 48 | edit: 'Bağlantıyı düzenle', 49 | textToDisplay: 'Görüntülemek için', 50 | url: 'Bağlantı adresi?', 51 | openInNewWindow: 'Yeni pencerede aç' 52 | }, 53 | table: { 54 | table: 'Tablo' 55 | }, 56 | hr: { 57 | insert: 'Yatay çizgi ekle' 58 | }, 59 | style: { 60 | style: 'Biçim', 61 | p: 'p', 62 | blockquote: 'Alıntı', 63 | pre: 'Önbiçimli', 64 | h1: 'Başlık 1', 65 | h2: 'Başlık 2', 66 | h3: 'Başlık 3', 67 | h4: 'Başlık 4', 68 | h5: 'Başlık 5', 69 | h6: 'Başlık 6' 70 | }, 71 | lists: { 72 | unordered: 'Madde işaretli liste', 73 | ordered: 'Numaralı liste' 74 | }, 75 | options: { 76 | help: 'Yardım', 77 | fullscreen: 'Tam ekran', 78 | codeview: 'HTML Kodu' 79 | }, 80 | paragraph: { 81 | paragraph: 'Paragraf', 82 | outdent: 'Girintiyi artır', 83 | indent: 'Girintiyi azalt', 84 | left: 'Sola hizala', 85 | center: 'Ortaya hizala', 86 | right: 'Sağa hizala', 87 | justify: 'Yasla' 88 | }, 89 | color: { 90 | recent: 'Son renk', 91 | more: 'Daha fazla renk', 92 | background: 'Arka plan rengi', 93 | foreground: 'Yazı rengi', 94 | transparent: 'Seffaflık', 95 | setTransparent: 'Şeffaflığı ayarla', 96 | reset: 'Sıfırla', 97 | resetToDefault: 'Varsayılanlara sıfırla' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Kısayollar', 101 | close: 'Kapat', 102 | textFormatting: 'Yazı biçimlendirme', 103 | action: 'Eylem', 104 | paragraphFormatting: 'Paragraf biçimlendirme', 105 | documentStyle: 'Biçim', 106 | extraKeys: 'İlave anahtarlar' 107 | }, 108 | help: { 109 | 'insertParagraph': 'Paragraf ekler', 110 | 'undo': 'Son komudu geri alır', 111 | 'redo': 'Son komudu yineler', 112 | 'tab': 'Girintiyi artırır', 113 | 'untab': 'Girintiyi azaltır', 114 | 'bold': 'Kalın yazma stilini ayarlar', 115 | 'italic': 'İtalik yazma stilini ayarlar', 116 | 'underline': 'Altı çizgili yazma stilini ayarlar', 117 | 'strikethrough': 'Üstü çizgili yazma stilini ayarlar', 118 | 'removeFormat': 'Biçimlendirmeyi temizler', 119 | 'justifyLeft': 'Yazıyı sola hizalar', 120 | 'justifyCenter': 'Yazıyı ortalar', 121 | 'justifyRight': 'Yazıyı sağa hizalar', 122 | 'justifyFull': 'Yazıyı her iki tarafa yazlar', 123 | 'insertUnorderedList': 'Madde işaretli liste ekler', 124 | 'insertOrderedList': 'Numaralı liste ekler', 125 | 'outdent': 'Aktif paragrafın girintisini azaltır', 126 | 'indent': 'Aktif paragrafın girintisini artırır', 127 | 'formatPara': 'Aktif bloğun biçimini paragraf (p) olarak değiştirir', 128 | 'formatH1': 'Aktif bloğun biçimini başlık 1 (h1) olarak değiştirir', 129 | 'formatH2': 'Aktif bloğun biçimini başlık 2 (h2) olarak değiştirir', 130 | 'formatH3': 'Aktif bloğun biçimini başlık 3 (h3) olarak değiştirir', 131 | 'formatH4': 'Aktif bloğun biçimini başlık 4 (h4) olarak değiştirir', 132 | 'formatH5': 'Aktif bloğun biçimini başlık 5 (h5) olarak değiştirir', 133 | 'formatH6': 'Aktif bloğun biçimini başlık 6 (h6) olarak değiştirir', 134 | 'insertHorizontalRule': 'Yatay çizgi ekler', 135 | 'linkDialog.show': 'Bağlantı ayar kutusunu gösterir' 136 | }, 137 | history: { 138 | undo: 'Geri al', 139 | redo: 'Yinele' 140 | }, 141 | specialChar: { 142 | specialChar: 'ÖZEL KARAKTERLER', 143 | select: 'Özel Karakterleri seçin' 144 | } 145 | } 146 | }); 147 | })(jQuery); 148 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-ca-ES.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'ca-ES': { 4 | font: { 5 | bold: 'Negreta', 6 | italic: 'Cursiva', 7 | underline: 'Subratllat', 8 | clear: 'Treure estil de lletra', 9 | height: 'Alçada de línia', 10 | name: 'Font', 11 | strikethrough: 'Ratllat', 12 | subscript: 'Subíndex', 13 | superscript: 'Superíndex', 14 | size: 'Mida de lletra' 15 | }, 16 | image: { 17 | image: 'Imatge', 18 | insert: 'Inserir imatge', 19 | resizeFull: 'Redimensionar a mida completa', 20 | resizeHalf: 'Redimensionar a la meitat', 21 | resizeQuarter: 'Redimensionar a un quart', 22 | floatLeft: 'Alinear a l\'esquerra', 23 | floatRight: 'Alinear a la dreta', 24 | floatNone: 'No alinear', 25 | shapeRounded: 'Forma: Arrodonit', 26 | shapeCircle: 'Forma: Cercle', 27 | shapeThumbnail: 'Forma: Marc', 28 | shapeNone: 'Forma: Cap', 29 | dragImageHere: 'Arrossegueu una imatge o text aquí', 30 | dropImage: 'Deixa anar aquí una imatge o un text', 31 | selectFromFiles: 'Seleccioneu des dels arxius', 32 | maximumFileSize: 'Mida màxima de l\'arxiu', 33 | maximumFileSizeError: 'La mida màxima de l\'arxiu s\'ha superat.', 34 | url: 'URL de la imatge', 35 | remove: 'Eliminar imatge' 36 | }, 37 | video: { 38 | video: 'Vídeo', 39 | videoLink: 'Enllaç del vídeo', 40 | insert: 'Inserir vídeo', 41 | url: 'URL del vídeo?', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)' 43 | }, 44 | link: { 45 | link: 'Enllaç', 46 | insert: 'Inserir enllaç', 47 | unlink: 'Treure enllaç', 48 | edit: 'Editar', 49 | textToDisplay: 'Text per mostrar', 50 | url: 'Cap a quina URL porta l\'enllaç?', 51 | openInNewWindow: 'Obrir en una finestra nova' 52 | }, 53 | table: { 54 | table: 'Taula' 55 | }, 56 | hr: { 57 | insert: 'Inserir línia horitzontal' 58 | }, 59 | style: { 60 | style: 'Estil', 61 | p: 'p', 62 | blockquote: 'Cita', 63 | pre: 'Codi', 64 | h1: 'Títol 1', 65 | h2: 'Títol 2', 66 | h3: 'Títol 3', 67 | h4: 'Títol 4', 68 | h5: 'Títol 5', 69 | h6: 'Títol 6' 70 | }, 71 | lists: { 72 | unordered: 'Llista desendreçada', 73 | ordered: 'Llista endreçada' 74 | }, 75 | options: { 76 | help: 'Ajut', 77 | fullscreen: 'Pantalla sencera', 78 | codeview: 'Veure codi font' 79 | }, 80 | paragraph: { 81 | paragraph: 'Paràgraf', 82 | outdent: 'Menys tabulació', 83 | indent: 'Més tabulació', 84 | left: 'Alinear a l\'esquerra', 85 | center: 'Alinear al mig', 86 | right: 'Alinear a la dreta', 87 | justify: 'Justificar' 88 | }, 89 | color: { 90 | recent: 'Últim color', 91 | more: 'Més colors', 92 | background: 'Color de fons', 93 | foreground: 'Color de lletra', 94 | transparent: 'Transparent', 95 | setTransparent: 'Establir transparent', 96 | reset: 'Restablir', 97 | resetToDefault: 'Restablir per defecte' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Dreceres de teclat', 101 | close: 'Tancar', 102 | textFormatting: 'Format de text', 103 | action: 'Acció', 104 | paragraphFormatting: 'Format de paràgraf', 105 | documentStyle: 'Estil del document', 106 | extraKeys: 'Tecles adicionals' 107 | }, 108 | help : { 109 | 'insertParagraph': 'Inserir paràgraf', 110 | 'undo': 'Desfer l\'última acció', 111 | 'redo': 'Refer l\'última acció', 112 | 'tab': 'Tabular', 113 | 'untab': 'Eliminar tabulació', 114 | 'bold': 'Establir estil negreta', 115 | 'italic': 'Establir estil cursiva', 116 | 'underline': 'Establir estil subratllat', 117 | 'strikethrough': 'Establir estil ratllat', 118 | 'removeFormat': 'Netejar estil', 119 | 'justifyLeft': 'Alinear a l\'esquerra', 120 | 'justifyCenter': 'Alinear al centre', 121 | 'justifyRight': 'Alinear a la dreta', 122 | 'justifyFull': 'Justificar', 123 | 'insertUnorderedList': 'Inserir llista desendreçada', 124 | 'insertOrderedList': 'Inserir llista endreçada', 125 | 'outdent': 'Reduïr tabulació del paràgraf', 126 | 'indent': 'Augmentar tabulació del paràgraf', 127 | 'formatPara': 'Canviar l\'estil del bloc com a un paràgraf (etiqueta P)', 128 | 'formatH1': 'Canviar l\'estil del bloc com a un H1', 129 | 'formatH2': 'Canviar l\'estil del bloc com a un H2', 130 | 'formatH3': 'Canviar l\'estil del bloc com a un H3', 131 | 'formatH4': 'Canviar l\'estil del bloc com a un H4', 132 | 'formatH5': 'Canviar l\'estil del bloc com a un H5', 133 | 'formatH6': 'Canviar l\'estil del bloc com a un H6', 134 | 'insertHorizontalRule': 'Inserir una línia horitzontal', 135 | 'linkDialog.show': 'Mostrar panel d\'enllaços' 136 | }, 137 | history: { 138 | undo: 'Desfer', 139 | redo: 'Refer' 140 | }, 141 | specialChar: { 142 | specialChar: 'CARÀCTERS ESPECIALS', 143 | select: 'Selecciona caràcters especials' 144 | } 145 | } 146 | }); 147 | })(jQuery); 148 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-es-ES.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'es-ES': { 4 | font: { 5 | bold: 'Negrita', 6 | italic: 'Cursiva', 7 | underline: 'Subrayado', 8 | clear: 'Quitar estilo de fuente', 9 | height: 'Altura de línea', 10 | name: 'Fuente', 11 | strikethrough: 'Tachado', 12 | superscript: 'Superíndice', 13 | subscript: 'Subíndice', 14 | size: 'Tamaño de la fuente' 15 | }, 16 | image: { 17 | image: 'Imagen', 18 | insert: 'Insertar imagen', 19 | resizeFull: 'Redimensionar a tamaño completo', 20 | resizeHalf: 'Redimensionar a la mitad', 21 | resizeQuarter: 'Redimensionar a un cuarto', 22 | floatLeft: 'Flotar a la izquierda', 23 | floatRight: 'Flotar a la derecha', 24 | floatNone: 'No flotar', 25 | shapeRounded: 'Forma: Redondeado', 26 | shapeCircle: 'Forma: Círculo', 27 | shapeThumbnail: 'Forma: Marco', 28 | shapeNone: 'Forma: Ninguna', 29 | dragImageHere: 'Arrastrar una imagen o texto aquí', 30 | dropImage: 'Suelta la imagen o texto', 31 | selectFromFiles: 'Seleccionar desde los archivos', 32 | maximumFileSize: 'Tamaño máximo del archivo', 33 | maximumFileSizeError: 'Has superado el tamaño máximo del archivo.', 34 | url: 'URL de la imagen', 35 | remove: 'Eliminar imagen' 36 | }, 37 | video: { 38 | video: 'Vídeo', 39 | videoLink: 'Link del vídeo', 40 | insert: 'Insertar vídeo', 41 | url: '¿URL del vídeo?', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)' 43 | }, 44 | link: { 45 | link: 'Link', 46 | insert: 'Insertar link', 47 | unlink: 'Quitar link', 48 | edit: 'Editar', 49 | textToDisplay: 'Texto para mostrar', 50 | url: '¿Hacia que URL lleva el link?', 51 | openInNewWindow: 'Abrir en una nueva ventana' 52 | }, 53 | table: { 54 | table: 'Tabla' 55 | }, 56 | hr: { 57 | insert: 'Insertar línea horizontal' 58 | }, 59 | style: { 60 | style: 'Estilo', 61 | p: 'p', 62 | blockquote: 'Cita', 63 | pre: 'Código', 64 | h1: 'Título 1', 65 | h2: 'Título 2', 66 | h3: 'Título 3', 67 | h4: 'Título 4', 68 | h5: 'Título 5', 69 | h6: 'Título 6' 70 | }, 71 | lists: { 72 | unordered: 'Lista desordenada', 73 | ordered: 'Lista ordenada' 74 | }, 75 | options: { 76 | help: 'Ayuda', 77 | fullscreen: 'Pantalla completa', 78 | codeview: 'Ver código fuente' 79 | }, 80 | paragraph: { 81 | paragraph: 'Párrafo', 82 | outdent: 'Menos tabulación', 83 | indent: 'Más tabulación', 84 | left: 'Alinear a la izquierda', 85 | center: 'Alinear al centro', 86 | right: 'Alinear a la derecha', 87 | justify: 'Justificar' 88 | }, 89 | color: { 90 | recent: 'Último color', 91 | more: 'Más colores', 92 | background: 'Color de fondo', 93 | foreground: 'Color de fuente', 94 | transparent: 'Transparente', 95 | setTransparent: 'Establecer transparente', 96 | reset: 'Restaurar', 97 | resetToDefault: 'Restaurar por defecto' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Atajos de teclado', 101 | close: 'Cerrar', 102 | textFormatting: 'Formato de texto', 103 | action: 'Acción', 104 | paragraphFormatting: 'Formato de párrafo', 105 | documentStyle: 'Estilo de documento', 106 | extraKeys: 'Teclas adicionales' 107 | }, 108 | help : { 109 | 'insertParagraph': 'Insertar párrafo', 110 | 'undo': 'Deshacer última acción', 111 | 'redo': 'Rehacer última acción', 112 | 'tab': 'Tabular', 113 | 'untab': 'Eliminar tabulación', 114 | 'bold': 'Establecer estilo negrita', 115 | 'italic': 'Establecer estilo cursiva', 116 | 'underline': 'Establecer estilo subrayado', 117 | 'strikethrough': 'Establecer estilo tachado', 118 | 'removeFormat': 'Limpiar estilo', 119 | 'justifyLeft': 'Alinear a la izquierda', 120 | 'justifyCenter': 'Alinear al centro', 121 | 'justifyRight': 'Alinear a la derecha', 122 | 'justifyFull': 'Justificar', 123 | 'insertUnorderedList': 'Insertar lista desordenada', 124 | 'insertOrderedList': 'Insertar lista ordenada', 125 | 'outdent': 'Reducir tabulación del párrafo', 126 | 'indent': 'Aumentar tabulación del párrafo', 127 | 'formatPara': 'Cambiar estilo del bloque a párrafo (etiqueta P)', 128 | 'formatH1': 'Cambiar estilo del bloque a H1', 129 | 'formatH2': 'Cambiar estilo del bloque a H2', 130 | 'formatH3': 'Cambiar estilo del bloque a H3', 131 | 'formatH4': 'Cambiar estilo del bloque a H4', 132 | 'formatH5': 'Cambiar estilo del bloque a H5', 133 | 'formatH6': 'Cambiar estilo del bloque a H6', 134 | 'insertHorizontalRule': 'Insertar línea horizontal', 135 | 'linkDialog.show': 'Mostrar panel enlaces' 136 | }, 137 | history: { 138 | undo: 'Deshacer', 139 | redo: 'Rehacer' 140 | }, 141 | specialChar: { 142 | specialChar: 'CARACTERES ESPECIALES', 143 | select: 'Selecciona Caracteres especiales' 144 | } 145 | } 146 | }); 147 | })(jQuery); 148 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-el-GR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'el-GR': { 4 | font: { 5 | bold: 'Έντονα', 6 | italic: 'Πλάγια', 7 | underline: 'Υπογραμμισμένα', 8 | clear: 'Καθαρισμός', 9 | height: 'Ύψος', 10 | name: 'Γραμματοσειρά', 11 | strikethrough: 'Διεγραμμένα', 12 | subscript: 'Δείκτης', 13 | superscript: 'Εκθέτης', 14 | size: 'Μέγεθος' 15 | }, 16 | image: { 17 | image: 'εικόνα', 18 | insert: 'Εισαγωγή', 19 | resizeFull: 'Πλήρες μέγεθος', 20 | resizeHalf: 'Μισό μέγεθος', 21 | resizeQuarter: '1/4 μέγεθος', 22 | floatLeft: 'Μετατόπιση αριστερά', 23 | floatRight: 'Μετατόπιση δεξιά', 24 | floatNone: 'Χωρίς μετατόπιση', 25 | shapeRounded: 'Σχήμα: Στρογγυλεμένο', 26 | shapeCircle: 'Σχήμα: Κύκλος', 27 | shapeThumbnail: 'Σχήμα: Thumbnail', 28 | shapeNone: 'Σχήμα: Κανένα', 29 | dragImageHere: 'Σύρτε την εικόνα εδώ', 30 | dropImage: 'Αφήστε την εικόνα', 31 | selectFromFiles: 'Επιλογή από αρχεία', 32 | maximumFileSize: 'Μέγιστο μέγεθος αρχείου', 33 | maximumFileSizeError: 'Το μέγεθος είναι μεγαλύτερο από το μέγιστο επιτρεπτό.', 34 | url: 'URL', 35 | remove: 'Αφαίρεση' 36 | }, 37 | link: { 38 | link: 'Σύνδεσμος', 39 | insert: 'Εισαγωγή συνδέσμου', 40 | unlink: 'Αφαίρεση συνδέσμου', 41 | edit: 'Επεξεργασία συνδέσμου', 42 | textToDisplay: 'Κείμενο συνδέσμου', 43 | url: 'URL', 44 | openInNewWindow: 'Άνοιγμα σε νέο παράθυρο' 45 | }, 46 | video: { 47 | video: 'Βίντεο', 48 | videoLink: 'Σύνδεσμος Βίντεο', 49 | insert: 'Εισαγωγή', 50 | url: 'URL', 51 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)' 52 | }, 53 | table: { 54 | table: 'Πίνακας' 55 | }, 56 | hr: { 57 | insert: 'Εισαγωγή οριζόντιας γραμμής' 58 | }, 59 | style: { 60 | style: 'Στυλ', 61 | normal: 'Κανονικό', 62 | blockquote: 'Παράθεση', 63 | pre: 'Ως έχει', 64 | h1: 'Κεφαλίδα 1', 65 | h2: 'συνδέσμου 2', 66 | h3: 'συνδέσμου 3', 67 | h4: 'συνδέσμου 4', 68 | h5: 'συνδέσμου 5', 69 | h6: 'συνδέσμου 6' 70 | }, 71 | lists: { 72 | unordered: 'Αταξινόμητη λίστα', 73 | ordered: 'Ταξινομημένη λίστα' 74 | }, 75 | options: { 76 | help: 'Βοήθεια', 77 | fullscreen: 'Πλήρης οθόνη', 78 | codeview: 'Προβολή HTML' 79 | }, 80 | paragraph: { 81 | paragraph: 'Παράγραφος', 82 | outdent: 'Μείωση εσοχής', 83 | indent: 'Άυξηση εσοχής', 84 | left: 'Αριστερή στοίχιση', 85 | center: 'Στοίχιση στο κέντρο', 86 | right: 'Δεξιά στοίχιση', 87 | justify: 'Πλήρης στοίχιση' 88 | }, 89 | color: { 90 | recent: 'Πρόσφατη επιλογή', 91 | more: 'Περισσότερα', 92 | background: 'Υπόβαθρο', 93 | foreground: 'Μπροστά', 94 | transparent: 'Διαφανές', 95 | setTransparent: 'Επιλογή διαφάνειας', 96 | reset: 'Επαναφορά', 97 | resetToDefault: 'Επαναφορά στις προκαθορισμένες τιμές' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Συντομεύσεις', 101 | close: 'Κλείσιμο', 102 | textFormatting: 'Διαμόρφωση κειμένου', 103 | action: 'Ενέργεια', 104 | paragraphFormatting: 'Διαμόρφωση παραγράφου', 105 | documentStyle: 'Στυλ κειμένου', 106 | extraKeys: 'Επιπλέον συντομεύσεις' 107 | }, 108 | help: { 109 | 'insertParagraph': 'Εισαγωγή παραγράφου', 110 | 'undo': 'Αναιρεί την προηγούμενη εντολή', 111 | 'redo': 'Επαναλαμβάνει την προηγούμενη εντολή', 112 | 'tab': 'Εσοχή', 113 | 'untab': 'Αναίρεση εσοχής', 114 | 'bold': 'Ορισμός έντονου στυλ', 115 | 'italic': 'Ορισμός πλάγιου στυλ', 116 | 'underline': 'Ορισμός υπογεγραμμένου στυλ', 117 | 'strikethrough': 'Ορισμός διεγραμμένου στυλ', 118 | 'removeFormat': 'Αφαίρεση στυλ', 119 | 'justifyLeft': 'Ορισμός αριστερής στοίχισης', 120 | 'justifyCenter': 'Ορισμός κεντρικής στοίχισης', 121 | 'justifyRight': 'Ορισμός δεξιάς στοίχισης', 122 | 'justifyFull': 'Ορισμός πλήρους στοίχισης', 123 | 'insertUnorderedList': 'Ορισμός μη-ταξινομημένης λίστας', 124 | 'insertOrderedList': 'Ορισμός ταξινομημένης λίστας', 125 | 'outdent': 'Προεξοχή παραγράφου', 126 | 'indent': 'Εσοχή παραγράφου', 127 | 'formatPara': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε παράγραφο (P tag)', 128 | 'formatH1': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H1', 129 | 'formatH2': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H2', 130 | 'formatH3': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H3', 131 | 'formatH4': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H4', 132 | 'formatH5': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H5', 133 | 'formatH6': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H6', 134 | 'insertHorizontalRule': 'Εισαγωγή οριζόντιας γραμμής', 135 | 'linkDialog.show': 'Εμφάνιση διαλόγου συνδέσμου' 136 | }, 137 | history: { 138 | undo: 'Αναίρεση', 139 | redo: 'Επαναληψη' 140 | }, 141 | specialChar: { 142 | specialChar: 'SPECIAL CHARACTERS', 143 | select: 'Επιλέξτε ειδικούς χαρακτήρες' 144 | } 145 | } 146 | }); 147 | })(jQuery); 148 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/lang/summernote-fr-FR.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $.extend($.summernote.lang, { 3 | 'fr-FR': { 4 | font: { 5 | bold: 'Gras', 6 | italic: 'Italique', 7 | underline: 'Souligné', 8 | clear: 'Effacer la mise en forme', 9 | height: 'Interligne', 10 | name: 'Famille de police', 11 | strikethrough: 'Barré', 12 | superscript: 'Exposant', 13 | subscript: 'Indice', 14 | size: 'Taille de police' 15 | }, 16 | image: { 17 | image: 'Image', 18 | insert: 'Insérer une image', 19 | resizeFull: 'Taille originale', 20 | resizeHalf: 'Redimensionner à 50 %', 21 | resizeQuarter: 'Redimensionner à 25 %', 22 | floatLeft: 'Aligné à gauche', 23 | floatRight: 'Aligné à droite', 24 | floatNone: 'Pas d\'alignement', 25 | shapeRounded: 'Forme: Rectangle arrondie', 26 | shapeCircle: 'Forme: Cercle', 27 | shapeThumbnail: 'Forme: Vignette', 28 | shapeNone: 'Forme: Aucune', 29 | dragImageHere: 'Faites glisser une image ou un texte dans ce cadre', 30 | dropImage: 'Lachez l\'image ou le texte', 31 | selectFromFiles: 'Choisir un fichier', 32 | maximumFileSize: 'Taille de fichier maximale', 33 | maximumFileSizeError: 'Taille maximale du fichier dépassée', 34 | url: 'URL de l\'image', 35 | remove: 'Supprimer l\'image' 36 | }, 37 | video: { 38 | video: 'Vidéo', 39 | videoLink: 'Lien vidéo', 40 | insert: 'Insérer une vidéo', 41 | url: 'URL de la vidéo', 42 | providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' 43 | }, 44 | link: { 45 | link: 'Lien', 46 | insert: 'Insérer un lien', 47 | unlink: 'Supprimer un lien', 48 | edit: 'Modifier', 49 | textToDisplay: 'Texte à afficher', 50 | url: 'URL du lien', 51 | openInNewWindow: 'Ouvrir dans une nouvelle fenêtre' 52 | }, 53 | table: { 54 | table: 'Tableau' 55 | }, 56 | hr: { 57 | insert: 'Insérer une ligne horizontale' 58 | }, 59 | style: { 60 | style: 'Style', 61 | p: 'Normal', 62 | blockquote: 'Citation', 63 | pre: 'Code source', 64 | h1: 'Titre 1', 65 | h2: 'Titre 2', 66 | h3: 'Titre 3', 67 | h4: 'Titre 4', 68 | h5: 'Titre 5', 69 | h6: 'Titre 6' 70 | }, 71 | lists: { 72 | unordered: 'Liste à puces', 73 | ordered: 'Liste numérotée' 74 | }, 75 | options: { 76 | help: 'Aide', 77 | fullscreen: 'Plein écran', 78 | codeview: 'Afficher le code HTML' 79 | }, 80 | paragraph: { 81 | paragraph: 'Paragraphe', 82 | outdent: 'Diminuer le retrait', 83 | indent: 'Augmenter le retrait', 84 | left: 'Aligner à gauche', 85 | center: 'Centrer', 86 | right: 'Aligner à droite', 87 | justify: 'Justifier' 88 | }, 89 | color: { 90 | recent: 'Dernière couleur sélectionnée', 91 | more: 'Plus de couleurs', 92 | background: 'Couleur de fond', 93 | foreground: 'Couleur de police', 94 | transparent: 'Transparent', 95 | setTransparent: 'Définir la transparence', 96 | reset: 'Restaurer', 97 | resetToDefault: 'Restaurer la couleur par défaut' 98 | }, 99 | shortcut: { 100 | shortcuts: 'Raccourcis', 101 | close: 'Fermer', 102 | textFormatting: 'Mise en forme du texte', 103 | action: 'Action', 104 | paragraphFormatting: 'Mise en forme des paragraphes', 105 | documentStyle: 'Style du document', 106 | extraKeys: 'Touches supplémentaires' 107 | }, 108 | help: { 109 | 'insertParagraph': 'Insérer paragraphe', 110 | 'undo': 'Défaire la dernière commande', 111 | 'redo': 'Refaire la dernière commande', 112 | 'tab': 'Tabulation', 113 | 'untab': 'Tabulation arrière', 114 | 'bold': 'Mettre en caractère gras', 115 | 'italic': 'Mettre en italique', 116 | 'underline': 'Mettre en souligné', 117 | 'strikethrough': 'Mettre en texte barré', 118 | 'removeFormat': 'Nettoyer les styles', 119 | 'justifyLeft': 'Aligner à gauche', 120 | 'justifyCenter': 'Centrer', 121 | 'justifyRight': 'Aligner à droite', 122 | 'justifyFull': 'Justifier à gauche et à droite', 123 | 'insertUnorderedList': 'Basculer liste à puces', 124 | 'insertOrderedList': 'Basculer liste ordonnée', 125 | 'outdent': 'Diminuer le retrait du paragraphe', 126 | 'indent': 'Augmenter le retrait du paragraphe', 127 | 'formatPara': 'Changer le paragraphe en cours en normal (P)', 128 | 'formatH1': 'Changer le paragraphe en cours en entête H1', 129 | 'formatH2': 'Change current block\'s format as entête H2', 130 | 'formatH3': 'Change current block\'s format as entête H3', 131 | 'formatH4': 'Change current block\'s format as entête H4', 132 | 'formatH5': 'Change current block\'s format as entête H5', 133 | 'formatH6': 'Change current block\'s format as entête H6', 134 | 'insertHorizontalRule': 'Insérer ligne horizontale', 135 | 'linkDialog.show': 'Afficher fenêtre d\'hyperlien' 136 | }, 137 | history: { 138 | undo: 'Annuler la dernière action', 139 | redo: 'Restaurer la dernière action annulée' 140 | }, 141 | specialChar: { 142 | specialChar: 'CARACTÈRES SPÉCIAUX', 143 | select: 'Choisir des caractères spéciaux' 144 | } 145 | } 146 | }); 147 | })(jQuery); 148 | -------------------------------------------------------------------------------- /src/StorageManager.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This source file is subject to the MIT license that is bundled 9 | * with this source code in the file LICENSE. 10 | */ 11 | 12 | namespace Overtrue\LaravelSummernote; 13 | 14 | use Illuminate\Contracts\Filesystem\Filesystem; 15 | use Illuminate\Http\Request; 16 | use Illuminate\Support\Facades\Storage; 17 | use Overtrue\LaravelSummernote\Events\Uploaded; 18 | use Overtrue\LaravelSummernote\Events\Uploading; 19 | use Symfony\Component\HttpFoundation\File\UploadedFile; 20 | 21 | /** 22 | * Class StorageManager. 23 | */ 24 | class StorageManager 25 | { 26 | use UrlResolverTrait; 27 | 28 | /** 29 | * @var \Illuminate\Contracts\Filesystem\Filesystem 30 | */ 31 | protected $disk; 32 | 33 | /** 34 | * Constructor. 35 | * 36 | * @param \Illuminate\Contracts\Filesystem\Filesystem $disk 37 | */ 38 | public function __construct(Filesystem $disk) 39 | { 40 | $this->disk = $disk; 41 | } 42 | 43 | /** 44 | * Upload a file. 45 | * 46 | * @param \Illuminate\Http\Request $request 47 | * 48 | * @return \Illuminate\Http\JsonResponse 49 | */ 50 | public function upload(Request $request) 51 | { 52 | $config = config('summernote.upload'); 53 | 54 | if (!$request->hasFile($config['form_name'])) { 55 | return $this->error('UPLOAD_ERR_NO_FILE'); 56 | } 57 | 58 | $file = $request->file($config['form_name']); 59 | 60 | if ($error = $this->fileHasError($file, $config)) { 61 | return $this->error($error); 62 | } 63 | 64 | $filename = $this->getFilename($file, $config); 65 | 66 | if ($this->eventSupport()) { 67 | $modifiedFilename = event(new Uploading($file, $filename, $config), [], true); 68 | $filename = !is_null($modifiedFilename) ? $modifiedFilename : $filename; 69 | } 70 | 71 | $this->store($file, $filename); 72 | 73 | $response = [ 74 | 'state' => 'SUCCESS', 75 | 'url' => $this->getUrl($filename), 76 | 'title' => $this->getUrl($filename), 77 | 'relative_url' => substr($this->getUrl($filename), strlen(config('app.url'))), 78 | 'original' => $file->getClientOriginalName(), 79 | 'type' => $file->getExtension(), 80 | 'size' => $file->getSize(), 81 | ]; 82 | 83 | if ($this->eventSupport()) { 84 | event(new Uploaded($file, $response)); 85 | } 86 | 87 | return response()->json($response); 88 | } 89 | 90 | /** 91 | * @return bool 92 | */ 93 | public function eventSupport() 94 | { 95 | return class_exists('Illuminate\Foundation\Events\Dispatchable'); 96 | } 97 | 98 | /** 99 | * List all files of dir. 100 | * 101 | * @param string $path 102 | * @param int $start 103 | * @param int $size 104 | * @param array $allowFiles 105 | * 106 | * @return Response 107 | */ 108 | public function listFiles($path, $start, $size = 20, array $allowFiles = []) 109 | { 110 | $allFiles = $this->disk->listContents($path, true); 111 | $files = $this->paginateFiles($allFiles, $start, $size); 112 | 113 | return [ 114 | 'state' => empty($files) ? 'EMPTY' : 'SUCCESS', 115 | 'list' => $files, 116 | 'start' => $start, 117 | 'total' => count($allFiles), 118 | ]; 119 | } 120 | 121 | /** 122 | * Split results. 123 | * 124 | * @param array $files 125 | * @param int $start 126 | * @param int $size 127 | * 128 | * @return array 129 | */ 130 | protected function paginateFiles(array $files, $start = 0, $size = 50) 131 | { 132 | return collect($files)->where('type', 'file')->splice($start)->take($size)->map(function ($file) { 133 | return [ 134 | 'url' => $this->getUrl($file['path']), 135 | 'mtime' => $file['timestamp'], 136 | ]; 137 | })->all(); 138 | } 139 | 140 | /** 141 | * Store file. 142 | * 143 | * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file 144 | * @param string $filename 145 | * 146 | * @return mixed 147 | */ 148 | protected function store(UploadedFile $file, $filename) 149 | { 150 | return $this->disk->put($filename, fopen($file->getRealPath(), 'r+')); 151 | } 152 | 153 | /** 154 | * Validate the input file. 155 | * 156 | * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file 157 | * @param array $config 158 | * 159 | * @return bool|string 160 | */ 161 | protected function fileHasError(UploadedFile $file, array $config) 162 | { 163 | $error = false; 164 | 165 | if (!$file->isValid()) { 166 | $error = $file->getError(); 167 | } elseif ($file->getSize() > $config['max_size']) { 168 | $error = 'upload.ERROR_SIZE_EXCEED'; 169 | } elseif (!empty($config['allow_files']) && 170 | !in_array('.'.$file->guessExtension(), $config['allow_files'])) { 171 | $error = 'upload.ERROR_TYPE_NOT_ALLOWED'; 172 | } 173 | 174 | return $error; 175 | } 176 | 177 | /** 178 | * Get the new filename of file. 179 | * 180 | * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file 181 | * @param array $config 182 | * 183 | * @return string 184 | */ 185 | protected function getFilename(UploadedFile $file, array $config) 186 | { 187 | $ext = '.'.$file->getClientOriginalExtension(); 188 | 189 | $filename = config('summernote.hash_filename') ? md5($file->getFilename()).$ext : $file->getClientOriginalName(); 190 | 191 | return $this->formatPath($config['path_format'], $filename); 192 | } 193 | 194 | /** 195 | * Make error response. 196 | * 197 | * @param $message 198 | * 199 | * @return \Illuminate\Http\JsonResponse 200 | */ 201 | protected function error($message) 202 | { 203 | return response()->json(['state' => trans("summernote::upload.{$message}")]); 204 | } 205 | 206 | /** 207 | * Format the storage path. 208 | * 209 | * @param string $path 210 | * @param string $filename 211 | * 212 | * @return mixed 213 | */ 214 | protected function formatPath($path, $filename) 215 | { 216 | $replacement = array_merge(explode('-', date('Y-y-m-d-H-i-s')), [$filename, time()]); 217 | $placeholders = ['{yyyy}', '{yy}', '{mm}', '{dd}', '{hh}', '{ii}', '{ss}', '{filename}', '{time}']; 218 | $path = str_replace($placeholders, $replacement, $path); 219 | 220 | //替换随机字符串 221 | if (preg_match('/\{rand\:([\d]*)\}/i', $path, $matches)) { 222 | $length = min($matches[1], strlen(PHP_INT_MAX)); 223 | $path = preg_replace('/\{rand\:[\d]*\}/i', str_pad(mt_rand(0, pow(10, $length) - 1), $length, '0', STR_PAD_LEFT), $path); 224 | } 225 | 226 | if (!str_contains($path, $filename)) { 227 | $path = str_finish($path, '/').$filename; 228 | } 229 | 230 | return $path; 231 | } 232 | } 233 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/plugin/databasic/summernote-ext-databasic.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | /* global define */ 3 | if (typeof define === 'function' && define.amd) { 4 | // AMD. Register as an anonymous module. 5 | define(['jquery'], factory); 6 | } else if (typeof module === 'object' && module.exports) { 7 | // Node/CommonJS 8 | module.exports = factory(require('jquery')); 9 | } else { 10 | // Browser globals 11 | factory(window.jQuery); 12 | } 13 | }(function ($) { 14 | 15 | // pull in some summernote core functions 16 | var ui = $.summernote.ui; 17 | var dom = $.summernote.dom; 18 | 19 | // define the popover plugin 20 | var DataBasicPlugin = function (context) { 21 | var self = this; 22 | var options = context.options; 23 | var lang = options.langInfo; 24 | 25 | self.icon = ''; 26 | 27 | // add context menu button for dialog 28 | context.memo('button.databasic', function () { 29 | return ui.button({ 30 | contents: self.icon, 31 | tooltip: lang.databasic.insert, 32 | click: context.createInvokeHandler('databasic.showDialog') 33 | }).render(); 34 | }); 35 | 36 | // add popover edit button 37 | context.memo('button.databasicDialog', function () { 38 | return ui.button({ 39 | contents: self.icon, 40 | tooltip: lang.databasic.edit, 41 | click: context.createInvokeHandler('databasic.showDialog') 42 | }).render(); 43 | }); 44 | 45 | // add popover size buttons 46 | context.memo('button.databasicSize100', function () { 47 | return ui.button({ 48 | contents: '100%', 49 | tooltip: lang.image.resizeFull, 50 | click: context.createInvokeHandler('editor.resize', '1') 51 | }).render(); 52 | }); 53 | context.memo('button.databasicSize50', function () { 54 | return ui.button({ 55 | contents: '50%', 56 | tooltip: lang.image.resizeHalf, 57 | click: context.createInvokeHandler('editor.resize', '0.5') 58 | }).render(); 59 | }); 60 | context.memo('button.databasicSize25', function () { 61 | return ui.button({ 62 | contents: '25%', 63 | tooltip: lang.image.resizeQuarter, 64 | click: context.createInvokeHandler('editor.resize', '0.25') 65 | }).render(); 66 | }); 67 | 68 | self.events = { 69 | 'summernote.init': function (we, e) { 70 | // update existing containers 71 | $('data.ext-databasic', e.editable).each(function () { self.setContent($(this)); }); 72 | // TODO: make this an undo snapshot... 73 | }, 74 | 'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () { 75 | self.update(); 76 | }, 77 | 'summernote.dialog.shown': function () { 78 | self.hidePopover(); 79 | } 80 | }; 81 | 82 | self.initialize = function () { 83 | // create dialog markup 84 | var $container = options.dialogsInBody ? $(document.body) : context.layoutInfo.editor; 85 | 86 | var body = '
' + 87 | '' + 88 | '' + 89 | '
'; 90 | var footer = ''; 91 | 92 | self.$dialog = ui.dialog({ 93 | title: lang.databasic.name, 94 | fade: options.dialogsFade, 95 | body: body, 96 | footer: footer 97 | }).render().appendTo($container); 98 | 99 | // create popover 100 | self.$popover = ui.popover({ 101 | className: 'ext-databasic-popover' 102 | }).render().appendTo('body'); 103 | var $content = self.$popover.find('.popover-content'); 104 | 105 | context.invoke('buttons.build', $content, options.popover.databasic); 106 | }; 107 | 108 | self.destroy = function () { 109 | self.$popover.remove(); 110 | self.$popover = null; 111 | self.$dialog.remove(); 112 | self.$dialog = null; 113 | }; 114 | 115 | self.update = function () { 116 | // Prevent focusing on editable when invoke('code') is executed 117 | if (!context.invoke('editor.hasFocus')) { 118 | self.hidePopover(); 119 | return; 120 | } 121 | 122 | var rng = context.invoke('editor.createRange'); 123 | var visible = false; 124 | 125 | if (rng.isOnData()) 126 | { 127 | var $data = $(rng.sc).closest('data.ext-databasic'); 128 | 129 | if ($data.length) 130 | { 131 | var pos = dom.posFromPlaceholder($data[0]); 132 | 133 | self.$popover.css({ 134 | display: 'block', 135 | left: pos.left, 136 | top: pos.top 137 | }); 138 | 139 | // save editor target to let size buttons resize the container 140 | context.invoke('editor.saveTarget', $data[0]); 141 | 142 | visible = true; 143 | } 144 | 145 | } 146 | 147 | // hide if not visible 148 | if (!visible) { 149 | self.hidePopover(); 150 | } 151 | 152 | }; 153 | 154 | self.hidePopover = function () { 155 | self.$popover.hide(); 156 | }; 157 | 158 | // define plugin dialog 159 | self.getInfo = function () { 160 | var rng = context.invoke('editor.createRange'); 161 | 162 | if (rng.isOnData()) 163 | { 164 | var $data = $(rng.sc).closest('data.ext-databasic'); 165 | 166 | if ($data.length) 167 | { 168 | // Get the first node on range(for edit). 169 | return { 170 | node: $data, 171 | test: $data.attr('data-test') 172 | }; 173 | } 174 | } 175 | 176 | return {}; 177 | }; 178 | 179 | self.setContent = function ($node) { 180 | $node.html('

' + self.icon + ' ' + lang.databasic.name + ': ' + 181 | $node.attr('data-test') + '

'); 182 | }; 183 | 184 | self.updateNode = function (info) { 185 | self.setContent(info.node 186 | .attr('data-test', info.test)); 187 | }; 188 | 189 | self.createNode = function (info) { 190 | var $node = $(''); 191 | 192 | if ($node) { 193 | // save node to info structure 194 | info.node = $node; 195 | // insert node into editor dom 196 | context.invoke('editor.insertNode', $node[0]); 197 | } 198 | 199 | return $node; 200 | }; 201 | 202 | self.showDialog = function () { 203 | var info = self.getInfo(); 204 | var newNode = !info.node; 205 | context.invoke('editor.saveRange'); 206 | 207 | self 208 | .openDialog(info) 209 | .then(function (dialogInfo) { 210 | // [workaround] hide dialog before restore range for IE range focus 211 | ui.hideDialog(self.$dialog); 212 | context.invoke('editor.restoreRange'); 213 | 214 | // insert a new node 215 | if (newNode) 216 | { 217 | self.createNode(info); 218 | } 219 | 220 | // update info with dialog info 221 | $.extend(info, dialogInfo); 222 | 223 | self.updateNode(info); 224 | }) 225 | .fail(function () { 226 | context.invoke('editor.restoreRange'); 227 | }); 228 | 229 | }; 230 | 231 | self.openDialog = function (info) { 232 | return $.Deferred(function (deferred) { 233 | var $inpTest = self.$dialog.find('.ext-databasic-test'); 234 | var $saveBtn = self.$dialog.find('.ext-databasic-save'); 235 | var onKeyup = function (event) { 236 | if (event.keyCode === 13) 237 | { 238 | $saveBtn.trigger('click'); 239 | } 240 | }; 241 | 242 | ui.onDialogShown(self.$dialog, function () { 243 | context.triggerEvent('dialog.shown'); 244 | 245 | $inpTest.val(info.test).on('input', function () { 246 | ui.toggleBtn($saveBtn, $inpTest.val()); 247 | }).trigger('focus').on('keyup', onKeyup); 248 | 249 | $saveBtn 250 | .text(info.node ? lang.databasic.edit : lang.databasic.insert) 251 | .click(function (event) { 252 | event.preventDefault(); 253 | 254 | deferred.resolve({ test: $inpTest.val() }); 255 | }); 256 | 257 | // init save button 258 | ui.toggleBtn($saveBtn, $inpTest.val()); 259 | }); 260 | 261 | ui.onDialogHidden(self.$dialog, function () { 262 | $inpTest.off('input keyup'); 263 | $saveBtn.off('click'); 264 | 265 | if (deferred.state() === 'pending') { 266 | deferred.reject(); 267 | } 268 | }); 269 | 270 | ui.showDialog(self.$dialog); 271 | }); 272 | }; 273 | }; 274 | 275 | // Extends summernote 276 | $.extend(true, $.summernote, { 277 | plugins: { 278 | databasic: DataBasicPlugin 279 | }, 280 | 281 | options: { 282 | popover: { 283 | databasic: [ 284 | ['databasic', ['databasicDialog', 'databasicSize100', 'databasicSize50', 'databasicSize25']] 285 | ] 286 | } 287 | }, 288 | 289 | // add localization texts 290 | lang: { 291 | 'en-US': { 292 | databasic: { 293 | name: 'Basic Data Container', 294 | insert: 'insert basic data container', 295 | edit: 'edit basic data container', 296 | testLabel: 'test input' 297 | } 298 | } 299 | } 300 | 301 | }); 302 | 303 | })); 304 | -------------------------------------------------------------------------------- /src/resources/assets/summernote/plugin/specialchars/summernote-ext-specialchars.js: -------------------------------------------------------------------------------- 1 | (function (factory) { 2 | /* global define */ 3 | if (typeof define === 'function' && define.amd) { 4 | // AMD. Register as an anonymous module. 5 | define(['jquery'], factory); 6 | } else if (typeof module === 'object' && module.exports) { 7 | // Node/CommonJS 8 | module.exports = factory(require('jquery')); 9 | } else { 10 | // Browser globals 11 | factory(window.jQuery); 12 | } 13 | }(function ($) { 14 | $.extend($.summernote.plugins, { 15 | 'specialchars': function (context) { 16 | var self = this; 17 | var ui = $.summernote.ui; 18 | 19 | var $editor = context.layoutInfo.editor; 20 | var options = context.options; 21 | var lang = options.langInfo; 22 | 23 | var KEY = { 24 | UP: 38, 25 | DOWN: 40, 26 | LEFT: 37, 27 | RIGHT: 39, 28 | ENTER: 13 29 | }; 30 | var COLUMN_LENGTH = 15; 31 | var COLUMN_WIDTH = 35; 32 | 33 | var currentColumn, currentRow, totalColumn, totalRow = 0; 34 | 35 | // special characters data set 36 | var specialCharDataSet = [ 37 | '"', '&', '<', '>', '¡', '¢', 38 | '£', '¤', '¥', '¦', '§', 39 | '¨', '©', 'ª', '«', '¬', 40 | '®', '¯', '°', '±', '²', 41 | '³', '´', 'µ', '¶', '·', 42 | '¸', '¹', 'º', '»', '¼', 43 | '½', '¾', '¿', '×', '÷', 44 | 'ƒ', 'ˆ', '˜', '–', '—', 45 | '‘', '’', '‚', '“', '”', 46 | '„', '†', '‡', '•', '…', 47 | '‰', '′', '″', '‹', '›', 48 | '‾', '⁄', '€', 'ℑ', '℘', 49 | 'ℜ', '™', 'ℵ', '←', '↑', 50 | '→', '↓', '↔', '↵', '⇐', 51 | '⇑', '⇒', '⇓', '⇔', '∀', 52 | '∂', '∃', '∅', '∇', '∈', 53 | '∉', '∋', '∏', '∑', '−', 54 | '∗', '√', '∝', '∞', '∠', 55 | '∧', '∨', '∩', '∪', '∫', 56 | '∴', '∼', '≅', '≈', '≠', 57 | '≡', '≤', '≥', '⊂', '⊃', 58 | '⊄', '⊆', '⊇', '⊕', '⊗', 59 | '⊥', '⋅', '⌈', '⌉', '⌊', 60 | '⌋', '◊', '♠', '♣', '♥', 61 | '♦' 62 | ]; 63 | 64 | context.memo('button.specialCharacter', function () { 65 | return ui.button({ 66 | contents: '', 67 | tooltip: lang.specialChar.specialChar, 68 | click: function () { 69 | self.show(); 70 | } 71 | }).render(); 72 | }); 73 | 74 | /** 75 | * Make Special Characters Table 76 | * 77 | * @member plugin.specialChar 78 | * @private 79 | * @return {jQuery} 80 | */ 81 | this.makeSpecialCharSetTable = function () { 82 | var $table = $(''); 83 | $.each(specialCharDataSet, function (idx, text) { 84 | var $td = $('') : $table.find('tr').last(); 86 | 87 | var $button = ui.button({ 88 | callback: function ($node) { 89 | $node.html(text); 90 | $node.attr('title', text); 91 | $node.attr('data-value', encodeURIComponent(text)); 92 | $node.css({ 93 | width: COLUMN_WIDTH, 94 | 'margin-right': '2px', 95 | 'margin-bottom': '2px' 96 | }); 97 | } 98 | }).render(); 99 | 100 | $td.append($button); 101 | 102 | $tr.append($td); 103 | if (idx % COLUMN_LENGTH === 0) { 104 | $table.append($tr); 105 | } 106 | }); 107 | 108 | totalRow = $table.find('tr').length; 109 | totalColumn = COLUMN_LENGTH; 110 | 111 | return $table; 112 | }; 113 | 114 | this.initialize = function () { 115 | var $container = options.dialogsInBody ? $(document.body) : $editor; 116 | 117 | var body = '
' + this.makeSpecialCharSetTable()[0].outerHTML + '
'; 118 | 119 | this.$dialog = ui.dialog({ 120 | title: lang.specialChar.select, 121 | body: body 122 | }).render().appendTo($container); 123 | }; 124 | 125 | this.show = function () { 126 | var text = context.invoke('editor.getSelectedText'); 127 | context.invoke('editor.saveRange'); 128 | this.showSpecialCharDialog(text).then(function (selectChar) { 129 | context.invoke('editor.restoreRange'); 130 | 131 | // build node 132 | var $node = $('').html(selectChar)[0]; 133 | 134 | if ($node) { 135 | // insert video node 136 | context.invoke('editor.insertNode', $node); 137 | } 138 | }).fail(function () { 139 | context.invoke('editor.restoreRange'); 140 | }); 141 | }; 142 | 143 | /** 144 | * show image dialog 145 | * 146 | * @param {jQuery} $dialog 147 | * @return {Promise} 148 | */ 149 | this.showSpecialCharDialog = function (text) { 150 | return $.Deferred(function (deferred) { 151 | var $specialCharDialog = self.$dialog; 152 | var $specialCharNode = $specialCharDialog.find('.note-specialchar-node'); 153 | var $selectedNode = null; 154 | var ARROW_KEYS = [KEY.UP, KEY.DOWN, KEY.LEFT, KEY.RIGHT]; 155 | var ENTER_KEY = KEY.ENTER; 156 | 157 | function addActiveClass($target) { 158 | if (!$target) { 159 | return; 160 | } 161 | $target.find('button').addClass('active'); 162 | $selectedNode = $target; 163 | } 164 | 165 | function removeActiveClass($target) { 166 | $target.find('button').removeClass('active'); 167 | $selectedNode = null; 168 | } 169 | 170 | // find next node 171 | function findNextNode(row, column) { 172 | var findNode = null; 173 | $.each($specialCharNode, function (idx, $node) { 174 | var findRow = Math.ceil((idx + 1) / COLUMN_LENGTH); 175 | var findColumn = ((idx + 1) % COLUMN_LENGTH === 0) ? COLUMN_LENGTH : (idx + 1) % COLUMN_LENGTH; 176 | if (findRow === row && findColumn === column) { 177 | findNode = $node; 178 | return false; 179 | } 180 | }); 181 | return $(findNode); 182 | } 183 | 184 | function arrowKeyHandler(keyCode) { 185 | // left, right, up, down key 186 | var $nextNode; 187 | var lastRowColumnLength = $specialCharNode.length % totalColumn; 188 | 189 | if (KEY.LEFT === keyCode) { 190 | 191 | if (currentColumn > 1) { 192 | currentColumn = currentColumn - 1; 193 | } else if (currentRow === 1 && currentColumn === 1) { 194 | currentColumn = lastRowColumnLength; 195 | currentRow = totalRow; 196 | } else { 197 | currentColumn = totalColumn; 198 | currentRow = currentRow - 1; 199 | } 200 | 201 | } else if (KEY.RIGHT === keyCode) { 202 | 203 | if (currentRow === totalRow && lastRowColumnLength === currentColumn) { 204 | currentColumn = 1; 205 | currentRow = 1; 206 | } else if (currentColumn < totalColumn) { 207 | currentColumn = currentColumn + 1; 208 | } else { 209 | currentColumn = 1; 210 | currentRow = currentRow + 1; 211 | } 212 | 213 | } else if (KEY.UP === keyCode) { 214 | if (currentRow === 1 && lastRowColumnLength < currentColumn) { 215 | currentRow = totalRow - 1; 216 | } else { 217 | currentRow = currentRow - 1; 218 | } 219 | } else if (KEY.DOWN === keyCode) { 220 | currentRow = currentRow + 1; 221 | } 222 | 223 | if (currentRow === totalRow && currentColumn > lastRowColumnLength) { 224 | currentRow = 1; 225 | } else if (currentRow > totalRow) { 226 | currentRow = 1; 227 | } else if (currentRow < 1) { 228 | currentRow = totalRow; 229 | } 230 | 231 | $nextNode = findNextNode(currentRow, currentColumn); 232 | 233 | if ($nextNode) { 234 | removeActiveClass($selectedNode); 235 | addActiveClass($nextNode); 236 | } 237 | } 238 | 239 | function enterKeyHandler() { 240 | if (!$selectedNode) { 241 | return; 242 | } 243 | 244 | deferred.resolve(decodeURIComponent($selectedNode.find('button').attr('data-value'))); 245 | $specialCharDialog.modal('hide'); 246 | } 247 | 248 | function keyDownEventHandler(event) { 249 | event.preventDefault(); 250 | var keyCode = event.keyCode; 251 | if (keyCode === undefined || keyCode === null) { 252 | return; 253 | } 254 | // check arrowKeys match 255 | if (ARROW_KEYS.indexOf(keyCode) > -1) { 256 | if ($selectedNode === null) { 257 | addActiveClass($specialCharNode.eq(0)); 258 | currentColumn = 1; 259 | currentRow = 1; 260 | return; 261 | } 262 | arrowKeyHandler(keyCode); 263 | } else if (keyCode === ENTER_KEY) { 264 | enterKeyHandler(); 265 | } 266 | return false; 267 | } 268 | 269 | // remove class 270 | removeActiveClass($specialCharNode); 271 | 272 | // find selected node 273 | if (text) { 274 | for (var i = 0; i < $specialCharNode.length; i++) { 275 | var $checkNode = $($specialCharNode[i]); 276 | if ($checkNode.text() === text) { 277 | addActiveClass($checkNode); 278 | currentRow = Math.ceil((i + 1) / COLUMN_LENGTH); 279 | currentColumn = (i + 1) % COLUMN_LENGTH; 280 | } 281 | } 282 | } 283 | 284 | ui.onDialogShown(self.$dialog, function () { 285 | 286 | $(document).on('keydown', keyDownEventHandler); 287 | 288 | self.$dialog.find('button').tooltip(); 289 | 290 | $specialCharNode.on('click', function (event) { 291 | event.preventDefault(); 292 | deferred.resolve(decodeURIComponent($(event.currentTarget).find('button').attr('data-value'))); 293 | ui.hideDialog(self.$dialog); 294 | }); 295 | 296 | }); 297 | 298 | ui.onDialogHidden(self.$dialog, function () { 299 | $specialCharNode.off('click'); 300 | 301 | self.$dialog.find('button').tooltip('destroy'); 302 | 303 | $(document).off('keydown', keyDownEventHandler); 304 | 305 | if (deferred.state() === 'pending') { 306 | deferred.reject(); 307 | } 308 | }); 309 | 310 | ui.showDialog(self.$dialog); 311 | }); 312 | }; 313 | } 314 | }); 315 | })); 316 | --------------------------------------------------------------------------------
').addClass('note-specialchar-node'); 85 | var $tr = (idx % COLUMN_LENGTH === 0) ? $('