tinymce4-rails 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/.rvmrc +1 -0
- data/Gemfile +9 -0
- data/LICENSE +22 -0
- data/README.md +110 -0
- data/Rakefile +2 -0
- data/lib/tinymce4-rails.rb +15 -0
- data/lib/tinymce4/rails.rb +2 -0
- data/lib/tinymce4/rails/engine.rb +22 -0
- data/lib/tinymce4/rails/helper.rb +37 -0
- data/lib/tinymce4/version.rb +4 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/tinymce4/rails_helper_spec.rb +72 -0
- data/tinymce4-rails.gemspec +16 -0
- data/vendor/assets/javascripts/tinymce/jquery.tinymce.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/langs/ar.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/cs.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/da.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/de.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/el.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/es.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/fa.js +92 -0
- data/vendor/assets/javascripts/tinymce/langs/fi.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/fr_FR.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/gl.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/he_IL.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/hu_HU.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/it.js +155 -0
- data/vendor/assets/javascripts/tinymce/langs/ja.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/ka_GE.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/nb_NO.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/nl.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/pl.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/pt_BR.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/pt_PT.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/readme.md +3 -0
- data/vendor/assets/javascripts/tinymce/langs/ru.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/sk.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/sl_SI.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/sr.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/sv_SE.js +156 -0
- data/vendor/assets/javascripts/tinymce/langs/tr_TR.js +152 -0
- data/vendor/assets/javascripts/tinymce/langs/uk.js +31 -0
- data/vendor/assets/javascripts/tinymce/langs/zh_CN.js +156 -0
- data/vendor/assets/javascripts/tinymce/license.txt +504 -0
- data/vendor/assets/javascripts/tinymce/plugins/advlist/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/autolink/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/autosave/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/bbcode/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/code/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/compat3x/editable_selects.js +70 -0
- data/vendor/assets/javascripts/tinymce/plugins/compat3x/form_utils.js +210 -0
- data/vendor/assets/javascripts/tinymce/plugins/compat3x/mctabs.js +162 -0
- data/vendor/assets/javascripts/tinymce/plugins/compat3x/tiny_mce_popup.js +435 -0
- data/vendor/assets/javascripts/tinymce/plugins/compat3x/validate.js +252 -0
- data/vendor/assets/javascripts/tinymce/plugins/contextmenu/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/example/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/example_dependency/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/fullpage/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/hr/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/image/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/layer/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/legacyoutput/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/link/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/media/moxieplayer.swf +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/media/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/noneditable/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/pagebreak/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/preview/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/print/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/save/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/searchreplace/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/spellchecker/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/tabfocus/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/table/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/template/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/textcolor/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/visualblocks/css/visualblocks.css +114 -0
- data/vendor/assets/javascripts/tinymce/plugins/visualblocks/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/visualchars/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/plugins/wordcount/plugin.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/content.min.css +1 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.eot +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.svg +166 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.ttf +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon-small.woff +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.eot +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.svg +150 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.ttf +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/icomoon.woff +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/fonts/readme.md +1 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/img/anchor.gif +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/img/loader.gif +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/img/object.gif +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/img/trans.gif +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/img/wline.gif +0 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.classic.min.css +1 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.ie7.min.css +1 -0
- data/vendor/assets/javascripts/tinymce/skins/lightgray/skin.min.css +1 -0
- data/vendor/assets/javascripts/tinymce/themes/modern/theme.min.js +1 -0
- data/vendor/assets/javascripts/tinymce/tinymce.min.js +9 -0
- metadata +174 -0
data/.gitignore
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use 1.9.3@tinymce4-rails --create
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 xixilive
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
# Tinymce4::Rails
|
2
|
+
|
3
|
+
Rails assets pipeline and helpers for tinymce4, lang packages are built-in.
|
4
|
+
|
5
|
+
This Gem is working with Rails 3.2.*.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
gem 'tinymce4-rails'
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle install
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install tinymce4-rails
|
20
|
+
|
21
|
+
And then append following lines to your application.js
|
22
|
+
|
23
|
+
//= require tinymce/tinymce.min
|
24
|
+
//= require tinymce/jquery.tinymce.min (options for jquery plugin)
|
25
|
+
|
26
|
+
## Usage
|
27
|
+
|
28
|
+
### default configuration
|
29
|
+
|
30
|
+
{
|
31
|
+
selector: 'textarea',
|
32
|
+
language: 'I18n.default_locale of your application',
|
33
|
+
theme: 'modern'
|
34
|
+
}
|
35
|
+
|
36
|
+
### custom configure
|
37
|
+
|
38
|
+
Tinymce4.configure do |c|
|
39
|
+
c.selector = 'textarea',
|
40
|
+
c.plugins = [
|
41
|
+
'advlist autolink lists link image charmap print preview hr anchor pagebreak',
|
42
|
+
'insertdatetime media nonbreaking save table contextmenu directionality'
|
43
|
+
]
|
44
|
+
......
|
45
|
+
end
|
46
|
+
|
47
|
+
### helpers
|
48
|
+
|
49
|
+
#### tinymce
|
50
|
+
|
51
|
+
<%= tinymce :selector => '#my-editor', :theme => 'my_custom_theme',...... %>
|
52
|
+
|
53
|
+
With block
|
54
|
+
|
55
|
+
<%= tinymce do |config|
|
56
|
+
config.selector = '#my-editor'
|
57
|
+
config.theme = 'my_custom_theme'
|
58
|
+
end %>
|
59
|
+
|
60
|
+
=> <script type="text/javascript">
|
61
|
+
tinymce.init({
|
62
|
+
selector: '#my-editor',
|
63
|
+
theme: 'my_custom_theme',
|
64
|
+
......
|
65
|
+
});
|
66
|
+
</script>
|
67
|
+
|
68
|
+
With jquery options and block
|
69
|
+
|
70
|
+
<%= tinymce(:jquery => true) do |config|
|
71
|
+
config.selector = '#my-editor'
|
72
|
+
config.theme = 'my_custom_theme'
|
73
|
+
end %>
|
74
|
+
|
75
|
+
Or
|
76
|
+
|
77
|
+
<%= tinymce(true) do |config|
|
78
|
+
config.selector = '#my-editor'
|
79
|
+
config.theme = 'my_custom_theme'
|
80
|
+
end %>
|
81
|
+
|
82
|
+
=> <script type="text/javascript">
|
83
|
+
$(function(){
|
84
|
+
$.tinymce({
|
85
|
+
selector: '#my-editor',
|
86
|
+
theme: 'my_custom_theme',
|
87
|
+
......
|
88
|
+
});
|
89
|
+
});
|
90
|
+
</script>
|
91
|
+
|
92
|
+
#### assets
|
93
|
+
<%= tinymce_assets %>
|
94
|
+
|
95
|
+
=> <script type="text/javascript" src="assets/tinymce/tinymce.min.js"></script>
|
96
|
+
|
97
|
+
Or with jquery:
|
98
|
+
|
99
|
+
<%= tinymce_assets(true) %>
|
100
|
+
|
101
|
+
=> <script type="text/javascript" src="assets/tinymce/tinymce.min.js"></script>
|
102
|
+
<script type="text/javascript" src="assets/tinymce/jquery.tinymce.min.js"></script>
|
103
|
+
|
104
|
+
## Contributing
|
105
|
+
|
106
|
+
1. Fork it
|
107
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
108
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
109
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
110
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "active_support/configurable"
|
2
|
+
require "active_support/core_ext"
|
3
|
+
|
4
|
+
$:.unshift(File.dirname(__FILE__))
|
5
|
+
|
6
|
+
require 'tinymce4/version'
|
7
|
+
|
8
|
+
module Tinymce4
|
9
|
+
include ActiveSupport::Configurable
|
10
|
+
class << self
|
11
|
+
#TODO:: pre-define some profiles
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'tinymce4/rails' if defined?(::Rails)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Tinymce4
|
2
|
+
module Rails
|
3
|
+
class Engine < ::Rails::Engine
|
4
|
+
initializer "init Tinymce4 config" do
|
5
|
+
Tinymce4.configure do |c|
|
6
|
+
c.selector = 'textarea'
|
7
|
+
c.theme = 'modern'
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
config.after_initialize do
|
12
|
+
Tinymce4.config.language ||= I18n.default_locale
|
13
|
+
end
|
14
|
+
|
15
|
+
initializer "load helpers" do |app|
|
16
|
+
ActiveSupport.on_load(:action_view) do
|
17
|
+
include Tinymce4::Rails::Helper
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Tinymce4
|
2
|
+
module Rails
|
3
|
+
module Helper
|
4
|
+
def tinymce *args
|
5
|
+
options = args.extract_options!
|
6
|
+
jquery = options.delete(:jquery) || !!args.first
|
7
|
+
options = Tinymce4.config.merge(options)
|
8
|
+
yield(options) if block_given?
|
9
|
+
jquery ? tinymce_jquery(options.to_hash) : tinymce_init(options.to_hash)
|
10
|
+
end
|
11
|
+
|
12
|
+
def tinymce_assets jquery = false
|
13
|
+
assets = ["tinymce/tinymce.min"]
|
14
|
+
assets << "tinymce/jquery.tinymce.min" if jquery
|
15
|
+
javascript_include_tag *assets
|
16
|
+
end
|
17
|
+
|
18
|
+
def tinymce_jquery_assets
|
19
|
+
tinymce_assets(true)
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
def tinymce_init options
|
24
|
+
javascript_tag do
|
25
|
+
"tinyMCE.init(#{options.to_json});".html_safe
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def tinymce_jquery options
|
30
|
+
selector = options.delete(:selector) || options.delete("selector") || 'textarea'
|
31
|
+
javascript_tag do
|
32
|
+
";jQuery(function(){\n\tjQuery('#{selector}').tinymce(#{options.to_json});\n});".html_safe
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'rspec'
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'tinymce4-rails'
|
3
|
+
require 'tinymce4/rails/helper'
|
4
|
+
require 'action_view'
|
5
|
+
require 'action_view/helpers'
|
6
|
+
|
7
|
+
describe Tinymce4::Rails::Helper do
|
8
|
+
|
9
|
+
let(:view){
|
10
|
+
Class.new{
|
11
|
+
attr_accessor :output_buffer
|
12
|
+
include ActionView::Helpers
|
13
|
+
include Tinymce4::Rails::Helper
|
14
|
+
}.new
|
15
|
+
}
|
16
|
+
|
17
|
+
before(:each){ Tinymce4.config.clear }
|
18
|
+
|
19
|
+
context '#tinymce' do
|
20
|
+
it "without jquery options" do
|
21
|
+
view.should_receive(:tinymce_init).with(:option1=>'value1')
|
22
|
+
view.tinymce do |c|
|
23
|
+
c.option1 = 'value1'
|
24
|
+
end
|
25
|
+
|
26
|
+
view.should_receive(:tinymce_init).with(:option1=>'value1')
|
27
|
+
view.tinymce(:option1=>'value1')
|
28
|
+
end
|
29
|
+
|
30
|
+
it "with jquery options" do
|
31
|
+
view.should_receive(:tinymce_jquery).with(:option1=>'value1')
|
32
|
+
view.tinymce(:jquery=>true) do |c|
|
33
|
+
c.option1 = 'value1'
|
34
|
+
end
|
35
|
+
|
36
|
+
view.should_receive(:tinymce_jquery).with(:option1=>'value1')
|
37
|
+
view.tinymce(true, :option1=>'value1')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context '#tinymce_assets' do
|
42
|
+
it 'without jquery' do
|
43
|
+
view.should_receive(:javascript_include_tag).with(*["tinymce/tinymce.min"])
|
44
|
+
view.tinymce_assets
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'with jquery' do
|
48
|
+
view.should_receive(:javascript_include_tag).with(*["tinymce/tinymce.min", "tinymce/jquery.tinymce.min"])
|
49
|
+
view.tinymce_assets(true)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context '#tinymce_init' do
|
54
|
+
it "should use tinymce.init" do
|
55
|
+
view.tinymce(:selector=>'textarea').should == "<script type=\"text/javascript\">\n//<![CDATA[\ntinyMCE.init({\"selector\":\"textarea\"});\n//]]>\n</script>"
|
56
|
+
|
57
|
+
view.tinymce{|c| c.selector = 'textarea' }.should == "<script type=\"text/javascript\">\n//<![CDATA[\ntinyMCE.init({\"selector\":\"textarea\"});\n//]]>\n</script>"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context '#tinymce_jquery' do
|
62
|
+
it "should use tinymce jquery plugin" do
|
63
|
+
view.tinymce(true,:selector=>'textarea',:language=>'en').should == "<script type=\"text/javascript\">\n//<![CDATA[\n;jQuery(function(){\n\tjQuery('textarea').tinymce({\"language\":\"en\"});\n});\n//]]>\n</script>"
|
64
|
+
|
65
|
+
view.tinymce(true){|c|
|
66
|
+
c.selector = 'textarea'
|
67
|
+
c.language = 'en'
|
68
|
+
}.should == "<script type=\"text/javascript\">\n//<![CDATA[\n;jQuery(function(){\n\tjQuery('textarea').tinymce({\"language\":\"en\"});\n});\n//]]>\n</script>"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.expand_path('../lib/tinymce4/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.authors = ["xixilive"]
|
5
|
+
gem.email = ["xixilive@gmail.com"]
|
6
|
+
gem.description = %q{Rails3 assets pipeline and helpers for tinymce4, lang packages are built-in}
|
7
|
+
gem.summary = %q{Rails3 assets pipeline and helpers for tinymce4, lang packages are built-in}
|
8
|
+
gem.homepage = "https://github.com/xixilive/tinymce4-rails"
|
9
|
+
|
10
|
+
gem.files = `git ls-files`.split($\)
|
11
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
12
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
13
|
+
gem.name = "tinymce4-rails"
|
14
|
+
gem.require_paths = ["lib"]
|
15
|
+
gem.version = Tinymce4::VERSION
|
16
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
!function(t){function e(){function e(t){"remove"===t&&this.each(function(t,e){var n=r(e);n&&n.remove()}),this.find("span.mceEditor,div.mceEditor").each(function(t,e){var n=tinymce.get(e.id.replace(/_parent$/,""));n&&n.remove()})}function i(t){var i,r=this;if(t!==n)e.call(r),r.each(function(e,n){var i;(i=tinymce.get(n.id))&&i.setContent(t)});else if(r.length>0&&(i=tinymce.get(r[0].id)))return i.getContent()}function r(t){var e=null;return t&&t.id&&a.tinymce&&(e=tinymce.get(t.id)),e}function c(t){return!!(t&&t.length&&a.tinymce&&t.is(":tinymce"))}var u={};t.each(["text","html","val"],function(e,a){var o=u[a]=t.fn[a],s="text"===a;t.fn[a]=function(e){var a=this;if(!c(a))return o.apply(a,arguments);if(e!==n)return i.call(a.filter(":tinymce"),e),o.apply(a.not(":tinymce"),arguments),a;var u="",l=arguments;return(s?a:a.eq(0)).each(function(e,n){var i=r(n);u+=i?s?i.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):i.getContent({save:!0}):o.apply(t(n),l)}),u}}),t.each(["append","prepend"],function(e,i){var a=u[i]=t.fn[i],o="prepend"===i;t.fn[i]=function(t){var e=this;return c(e)?t!==n?(e.filter(":tinymce").each(function(e,n){var i=r(n);i&&i.setContent(o?t+i.getContent():i.getContent()+t)}),a.apply(e.not(":tinymce"),arguments),e):void 0:a.apply(e,arguments)}}),t.each(["remove","replaceWith","replaceAll","empty"],function(n,i){var r=u[i]=t.fn[i];t.fn[i]=function(){return e.call(this,i),r.apply(this,arguments)}}),u.attr=t.fn.attr,t.fn.attr=function(e,a){var o=this,s=arguments;if(!e||"value"!==e||!c(o))return a!==n?u.attr.apply(o,s):u.attr.apply(o,s);if(a!==n)return i.call(o.filter(":tinymce"),a),u.attr.apply(o.not(":tinymce"),s),o;var l=o[0],p=r(l);return p?p.getContent({save:!0}):u.attr.apply(t(l),s)}}var n,i,r=[],a=window;t.fn.tinymce=function(n){function c(){var i=[],r=0;e&&(e(),e=null),l.each(function(t,e){var a,c=e.id,u=n.oninit;c||(e.id=c=tinymce.DOM.uniqueId()),a=new tinymce.Editor(c,n,tinymce.EditorManager),i.push(a),a.on("init",function(){var t,e=u;l.css("visibility",""),u&&++r==i.length&&("string"==typeof e&&(t=-1===e.indexOf(".")?null:tinymce.resolve(e.replace(/\.\w+$/,"")),e=tinymce.resolve(e)),e.apply(t||tinymce,i))})}),t.each(i,function(t,e){e.render()})}var u,o,s,l=this,p="";if(!l.length)return l;if(!n)return tinymce.get(l[0].id);if(l.css("visibility","hidden"),a.tinymce||i||!(u=n.script_url))1===i?r.push(c):c();else{i=1,o=u.substring(0,u.lastIndexOf("/")),-1!=u.indexOf(".min")&&(p=".min"),a.tinymce=a.tinyMCEPreInit||{base:o,suffix:p},-1!=u.indexOf("gzip")&&(s=n.language||"en",u=u+(/\?/.test(u)?"&":"?")+"js=true&core=true&suffix="+escape(p)+"&themes="+escape(n.theme)+"&plugins="+escape(n.plugins)+"&languages="+s,a.tinyMCE_GZ||(a.tinyMCE_GZ={start:function(){function e(t){tinymce.ScriptLoader.markDone(tinymce.baseURI.toAbsolute(t))}e("langs/"+s+".js"),e("themes/"+n.theme+"/theme"+p+".js"),e("themes/"+n.theme+"/langs/"+s+".js"),t.each(n.plugins.split(","),function(t,n){n&&(e("plugins/"+n+"/plugin"+p+".js"),e("plugins/"+n+"/langs/"+s+".js"))})},end:function(){}}));var f=document.createElement("script");f.type="text/javascript",f.onload=f.onreadystatechange=function(e){e=e||event,("load"==e.type||/complete|loaded/.test(f.readyState))&&(tinymce.dom.Event.domLoaded=1,i=2,n.script_loaded&&n.script_loaded(),c(),t.each(r,function(t,e){e()}))},f.src=u,document.body.appendChild(f)}return l},t.extend(t.expr[":"],{tinymce:function(t){return!!(t.id&&"tinymce"in window&&tinymce.get(t.id))}})}(jQuery);
|
@@ -0,0 +1,152 @@
|
|
1
|
+
tinymce.addI18n('ar',{
|
2
|
+
"Cut": "\u0642\u0635",
|
3
|
+
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0645\u062a\u0635\u0641\u062d\u0643 \u0644\u0627 \u064a\u062f\u0639\u0645 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0625\u0644\u0649 \u0627\u0644\u062d\u0627\u0641\u0638\u0629. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d Ctrl+X\/C\/V \u0628\u062f\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643.",
|
4
|
+
"Paste": "\u0644\u0635\u0642",
|
5
|
+
"Close": "\u0625\u063a\u0644\u0627\u0642",
|
6
|
+
"Align right": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0646\u0635 \u0644\u0644\u064a\u0645\u064a\u0646",
|
7
|
+
"New document": "\u0645\u0633\u062a\u0646\u062f \u062c\u062f\u064a\u062f",
|
8
|
+
"Numbered list": "\u062a\u0631\u0642\u064a\u0645",
|
9
|
+
"Increase indent": "\u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629",
|
10
|
+
"Formats": "\u0627\u0644\u062a\u0646\u0633\u064a\u0642\u0627\u062a",
|
11
|
+
"Select all": "\u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0643\u0644",
|
12
|
+
"Undo": "\u062a\u0631\u0627\u062c\u0639",
|
13
|
+
"Strikethrough": "\u064a\u062a\u0648\u0633\u0637 \u062e\u0637",
|
14
|
+
"Bullet list": "\u062a\u0639\u062f\u0627\u062f \u0646\u0642\u0637\u064a",
|
15
|
+
"Superscript": "\u0645\u0631\u062a\u0641\u0639",
|
16
|
+
"Clear formatting": "\u0645\u0633\u062d \u0627\u0644\u062a\u0646\u0633\u064a\u0642",
|
17
|
+
"Subscript": "\u0645\u0646\u062e\u0641\u0636",
|
18
|
+
"Redo": "\u0625\u0639\u0627\u062f\u0629",
|
19
|
+
"Ok": "\u0645\u0648\u0627\u0641\u0642",
|
20
|
+
"Bold": "\u063a\u0627\u0645\u0642",
|
21
|
+
"Italic": "\u0645\u0627\u0626\u0644",
|
22
|
+
"Align center": "\u062a\u0648\u0633\u064a\u0637",
|
23
|
+
"Decrease indent": "\u0625\u0646\u0642\u0627\u0635 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629",
|
24
|
+
"Underline": "\u062a\u0633\u0637\u064a\u0631",
|
25
|
+
"Cancel": "\u0625\u0644\u063a\u0627\u0621",
|
26
|
+
"Justify": "\u0636\u0628\u0637",
|
27
|
+
"Copy": "\u0646\u0633\u062e",
|
28
|
+
"Align left": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0646\u0635 \u0644\u0644\u064a\u0633\u0627\u0631",
|
29
|
+
"Visual aids": "\u0627\u0644\u0645\u0639\u064a\u0646\u0627\u062a \u0627\u0644\u0628\u0635\u0631\u064a\u0629",
|
30
|
+
"Lower Greek": "\u062a\u0631\u0642\u064a\u0645 \u064a\u0648\u0646\u0627\u0646\u064a \u0635\u063a\u064a\u0631",
|
31
|
+
"Square": "\u0645\u0631\u0628\u0639",
|
32
|
+
"Default": "\u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a",
|
33
|
+
"Lower Alpha": "\u062a\u0631\u0642\u064a\u0645 \u0623\u062e\u0631\u0641 \u0635\u063a\u064a\u0631\u0629",
|
34
|
+
"Circle": "\u062f\u0627\u0626\u0631\u0629",
|
35
|
+
"Disc": "\u0642\u0631\u0635",
|
36
|
+
"Upper Alpha": "\u062a\u0631\u0642\u064a\u0645 \u0623\u062d\u0631\u0641 \u0643\u0628\u064a\u0631\u0629",
|
37
|
+
"Upper Roman": "\u062a\u0631\u0642\u064a\u0645 \u0631\u0648\u0645\u0627\u0646\u064a \u0643\u0628\u064a\u0631",
|
38
|
+
"Lower Roman": "\u062a\u0631\u0642\u064a\u0645 \u0631\u0648\u0645\u0627\u0646\u064a \u0635\u063a\u064a\u0631",
|
39
|
+
"Name": "\u0627\u0644\u0627\u0633\u0645",
|
40
|
+
"Anchor": "\u0645\u0631\u0633\u0627\u0629",
|
41
|
+
"You have unsaved changes are you sure you want to navigate away?": "\u0644\u062f\u064a\u0643 \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647\u0627 \u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u0639\u064a\u062f\u0627\u061f",
|
42
|
+
"Restore last draft": "\u0627\u0633\u062a\u0639\u0627\u062f\u0629 \u0623\u062e\u0631 \u0645\u0633\u0648\u062f\u0629",
|
43
|
+
"Special character": "\u0631\u0645\u0632",
|
44
|
+
"Source code": "\u0634\u0641\u0631\u0629 \u0627\u0644\u0645\u0635\u062f\u0631",
|
45
|
+
"Right to left": "\u0645\u0646 \u0627\u0644\u064a\u0645\u064a\u0646 \u0644\u0644\u064a\u0633\u0627\u0631",
|
46
|
+
"Left to right": "\u0645\u0646 \u0627\u0644\u064a\u0633\u0627\u0631 \u0644\u0644\u064a\u0645\u064a\u0646",
|
47
|
+
"Emoticons": "\u0627\u0644\u0631\u0645\u0648\u0632",
|
48
|
+
"Robots": "\u0627\u0644\u0631\u0648\u0628\u0648\u062a\u0627\u062a",
|
49
|
+
"Document properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0645\u0633\u062a\u0646\u062f",
|
50
|
+
"Title": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646",
|
51
|
+
"Keywords": "\u0643\u0644\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b",
|
52
|
+
"Encoding": "\u0627\u0644\u062a\u0631\u0645\u064a\u0632",
|
53
|
+
"Description": "\u0627\u0644\u0648\u0635\u0641",
|
54
|
+
"Author": "\u0627\u0644\u0643\u0627\u062a\u0628",
|
55
|
+
"Fullscreen": "\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",
|
56
|
+
"Horizontal line": "\u062e\u0637 \u0623\u0641\u0642\u064a",
|
57
|
+
"Source": "\u0627\u0644\u0645\u0635\u062f\u0631",
|
58
|
+
"Constrain proportions": "\u0627\u0644\u062a\u0646\u0627\u0633\u0628",
|
59
|
+
"Dimensions": "\u0627\u0644\u0623\u0628\u0639\u0627\u062f",
|
60
|
+
"Insert\/edit image": "\u0625\u062f\u0631\u0627\u062c\/\u062a\u062d\u0631\u064a\u0631 \u0635\u0648\u0631\u0629",
|
61
|
+
"Image description": "\u0648\u0635\u0641 \u0627\u0644\u0635\u0648\u0631\u0629",
|
62
|
+
"Insert date\/time": "\u0625\u062f\u0631\u0627\u062c \u062a\u0627\u0631\u064a\u062e\/\u0648\u0642\u062a",
|
63
|
+
"Url": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646",
|
64
|
+
"Text to display": "\u0627\u0644\u0646\u0635 \u0627\u0644\u0645\u0637\u0644\u0648\u0628 \u0639\u0631\u0636\u0647",
|
65
|
+
"Insert link": "\u0625\u062f\u0631\u0627\u062c \u0631\u0627\u0628\u0637",
|
66
|
+
"New window": "\u0646\u0627\u0641\u0630\u0629 \u062c\u062f\u064a\u062f\u0629",
|
67
|
+
"None": "\u0628\u0644\u0627",
|
68
|
+
"Target": "\u0627\u0644\u0625\u0637\u0627\u0631 \u0627\u0644\u0647\u062f\u0641",
|
69
|
+
"Insert\/edit link": "\u0625\u062f\u0631\u0627\u062c\/\u062a\u062d\u0631\u064a\u0631 \u0631\u0627\u0628\u0637",
|
70
|
+
"Insert\/edit video": "\u0625\u062f\u0631\u0627\u062c\/\u062a\u062d\u0631\u064a\u0631 \u0641\u064a\u062f\u064a\u0648",
|
71
|
+
"General": "\u0639\u0627\u0645",
|
72
|
+
"Poster": "\u0645\u0644\u0635\u0642",
|
73
|
+
"Alternative source": "\u0645\u0635\u062f\u0631 \u0628\u062f\u064a\u0644",
|
74
|
+
"Paste your embed code below:": "\u0644\u0635\u0642 \u0643\u0648\u062f \u0627\u0644\u062a\u0636\u0645\u064a\u0646 \u0647\u0646\u0627:",
|
75
|
+
"Insert video": "\u0625\u062f\u0631\u0627\u062c \u0641\u064a\u062f\u064a\u0648",
|
76
|
+
"Embed": "\u062a\u0636\u0645\u064a\u0646",
|
77
|
+
"Nonbreaking space": "\u0645\u0633\u0627\u0641\u0629 \u063a\u064a\u0631 \u0645\u0646\u0642\u0633\u0645\u0629",
|
78
|
+
"Page break": "\u0641\u0627\u0635\u0644 \u0644\u0644\u0635\u0641\u062d\u0629",
|
79
|
+
"Preview": "\u0645\u0639\u0627\u064a\u0646\u0629",
|
80
|
+
"Print": "\u0637\u0628\u0627\u0639\u0629",
|
81
|
+
"Save": "\u062d\u0641\u0638",
|
82
|
+
"Could not find the specified string.": "\u062a\u0639\u0630\u0631 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u062d\u062f\u062f\u0629",
|
83
|
+
"Replace": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644",
|
84
|
+
"Next": "\u0627\u0644\u062a\u0627\u0644\u064a",
|
85
|
+
"Whole words": "\u0645\u0637\u0627\u0628\u0642\u0629 \u0627\u0644\u0643\u0644\u0645\u0627\u062a \u0628\u0627\u0644\u0643\u0627\u0645\u0644",
|
86
|
+
"Find and replace": "\u0628\u062d\u062b \u0648\u0627\u0633\u062a\u0628\u062f\u0627\u0644",
|
87
|
+
"Replace with": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0628\u0640",
|
88
|
+
"Find": "\u0628\u062d\u062b",
|
89
|
+
"Replace all": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0643\u0644",
|
90
|
+
"Match case": "\u0645\u0637\u0627\u0628\u0642\u0629 \u062d\u0627\u0644\u0629 \u0627\u0644\u0623\u062d\u0631\u0641",
|
91
|
+
"Prev": "\u0627\u0644\u0633\u0627\u0628\u0642",
|
92
|
+
"Spellcheck": "\u062a\u062f\u0642\u064a\u0642 \u0625\u0645\u0644\u0627\u0626\u064a",
|
93
|
+
"Finish": "\u0627\u0646\u062a\u0647\u064a",
|
94
|
+
"Ignore all": "\u062a\u062c\u0627\u0647\u0644 \u0627\u0644\u0643\u0644",
|
95
|
+
"Ignore": "\u062a\u062c\u0627\u0647\u0644",
|
96
|
+
"Insert row before": "\u0625\u062f\u0631\u0627\u062c \u0635\u0641 \u0644\u0644\u0623\u0639\u0644\u0649",
|
97
|
+
"Rows": "\u0639\u062f\u062f \u0627\u0644\u0635\u0641\u0648\u0641",
|
98
|
+
"Height": "\u0627\u0631\u062a\u0641\u0627\u0639",
|
99
|
+
"Paste row after": "\u0644\u0635\u0642 \u0627\u0644\u0635\u0641 \u0644\u0644\u0623\u0633\u0641\u0644",
|
100
|
+
"Alignment": "\u0645\u062d\u0627\u0630\u0627\u0629",
|
101
|
+
"Column group": "\u0645\u062c\u0645\u0648\u0639\u0629 \u0639\u0645\u0648\u062f",
|
102
|
+
"Row": "\u0635\u0641",
|
103
|
+
"Insert column before": "\u0625\u062f\u0631\u0627\u062c \u0639\u0645\u0648\u062f \u0644\u0644\u064a\u0633\u0627\u0631",
|
104
|
+
"Split cell": "\u062a\u0642\u0633\u064a\u0645 \u0627\u0644\u062e\u0644\u0627\u064a\u0627",
|
105
|
+
"Cell padding": "\u062a\u0628\u0627\u0639\u062f \u0627\u0644\u062e\u0644\u064a\u0629",
|
106
|
+
"Cell spacing": "\u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0628\u064a\u0646 \u0627\u0644\u062e\u0644\u0627\u064a\u0627",
|
107
|
+
"Row type": "\u0646\u0648\u0639 \u0627\u0644\u0635\u0641",
|
108
|
+
"Insert table": "\u0625\u062f\u0631\u0627\u062c \u062c\u062f\u0648\u0644",
|
109
|
+
"Body": "\u0647\u064a\u0643\u0644",
|
110
|
+
"Caption": "\u0634\u0631\u062d",
|
111
|
+
"Footer": "\u062a\u0630\u064a\u064a\u0644",
|
112
|
+
"Delete row": "\u062d\u0630\u0641 \u0635\u0641",
|
113
|
+
"Paste row before": "\u0644\u0635\u0642 \u0627\u0644\u0635\u0641 \u0644\u0644\u0623\u0639\u0644\u0649",
|
114
|
+
"Scope": "\u0627\u0644\u0645\u062c\u0627\u0644",
|
115
|
+
"Delete table": "\u062d\u0630\u0641 \u062c\u062f\u0648\u0644",
|
116
|
+
"Header cell": "\u0631\u0623\u0633 \u0627\u0644\u062e\u0644\u064a\u0629",
|
117
|
+
"Column": "\u0639\u0645\u0648\u062f",
|
118
|
+
"Cell": "\u062e\u0644\u064a\u0629",
|
119
|
+
"Header": "\u0627\u0644\u0631\u0623\u0633",
|
120
|
+
"Border": "\u062d\u062f\u0648\u062f",
|
121
|
+
"Cell type": "\u0646\u0648\u0639 \u0627\u0644\u062e\u0644\u064a\u0629",
|
122
|
+
"Copy row": "\u0646\u0633\u062e \u0627\u0644\u0635\u0641",
|
123
|
+
"Row properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0635\u0641",
|
124
|
+
"Table properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u062c\u062f\u0648\u0644",
|
125
|
+
"Row group": "\u0645\u062c\u0645\u0648\u0639\u0629 \u0635\u0641",
|
126
|
+
"Right": "\u064a\u0645\u064a\u0646",
|
127
|
+
"Insert column after": "\u0625\u062f\u0631\u0627\u062c \u0639\u0645\u0648\u062f \u0644\u0644\u064a\u0645\u064a\u0646",
|
128
|
+
"Cols": "\u0639\u062f\u062f \u0627\u0644\u0623\u0639\u0645\u062f\u0629",
|
129
|
+
"Insert row after": "\u0625\u062f\u0631\u0627\u062c \u0635\u0641 \u0644\u0644\u0623\u0633\u0641\u0644",
|
130
|
+
"Width": "\u0639\u0631\u0636",
|
131
|
+
"Cell properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u062e\u0644\u064a\u0629",
|
132
|
+
"Left": "\u064a\u0633\u0627\u0631",
|
133
|
+
"Cut row": "\u0642\u0635 \u0627\u0644\u0635\u0641",
|
134
|
+
"Delete column": "\u062d\u0630\u0641 \u0639\u0645\u0648\u062f",
|
135
|
+
"Center": "\u062a\u0648\u0633\u064a\u0637",
|
136
|
+
"Merge cells": "\u062f\u0645\u062c \u062e\u0644\u0627\u064a\u0627",
|
137
|
+
"Insert template": "\u0625\u062f\u0631\u0627\u062c \u0642\u0627\u0644\u0628",
|
138
|
+
"Templates": "\u0642\u0648\u0627\u0644\u0628",
|
139
|
+
"Background color": "\u0644\u0648\u0646 \u0627\u0644\u062e\u0644\u0641\u064a\u0629",
|
140
|
+
"Text color": "\u0644\u0648\u0646 \u0627\u0644\u0646\u0635",
|
141
|
+
"Show blocks": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0627\u0644\u0643\u062a\u0644",
|
142
|
+
"Show invisible characters": "\u0623\u0638\u0647\u0631 \u0627\u0644\u0623\u062d\u0631\u0641 \u0627\u0644\u063a\u064a\u0631 \u0645\u0631\u0626\u064a\u0629",
|
143
|
+
"Words: {0}": "\u0627\u0644\u0643\u0644\u0645\u0627\u062a:{0}",
|
144
|
+
"Insert": "\u0625\u062f\u0631\u0627\u062c",
|
145
|
+
"File": "\u0645\u0644\u0641",
|
146
|
+
"Edit": "\u062a\u062d\u0631\u064a\u0631",
|
147
|
+
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0645\u0646\u0637\u0642\u0629 \u0646\u0635 \u0645\u0646\u0633\u0642. \u0627\u0636\u063a\u0637 ALT-F9 \u0644\u0644\u0642\u0627\u0626\u0645\u0629. \u0627\u0636\u063a\u0637 ALT-F10 \u0644\u0634\u0631\u064a\u0637 \u0627\u0644\u0623\u062f\u0648\u0627\u062a. \u0627\u0636\u063a\u0637 ALT-0 \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0645\u0633\u0627\u0639\u062f\u0629",
|
148
|
+
"Tools": "\u0623\u062f\u0627\u0648\u0627\u062a",
|
149
|
+
"View": "\u0639\u0631\u0636",
|
150
|
+
"Table": "\u062c\u062f\u0648\u0644",
|
151
|
+
"Format": "\u062a\u0646\u0633\u064a\u0642"
|
152
|
+
});
|