tramway 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +5 -5
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +889 -15
  4. data/Rakefile +8 -8
  5. data/app/assets/config/tramway_core_manifest.js +2 -0
  6. data/app/assets/images/tramway/mona_lisa_from_prado.jpg +0 -0
  7. data/app/assets/images/tramway/mona_lisa_from_prado_square.jpg +0 -0
  8. data/app/assets/javascripts/bootstrap-datepicker-1.8.0.js +2035 -0
  9. data/app/assets/javascripts/bootstrap-datepicker-1.8.0.ru.min.js +64 -0
  10. data/app/assets/javascripts/ckeditor/config.js +30 -0
  11. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +1259 -0
  12. data/app/assets/javascripts/ckeditor/plugins/image/icons/hidpi/image.png +0 -0
  13. data/app/assets/javascripts/ckeditor/plugins/image/icons/image.png +0 -0
  14. data/app/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  15. data/app/assets/javascripts/ckeditor/plugins/image/lang/en.js +25 -0
  16. data/app/assets/javascripts/ckeditor/plugins/image/lang/ru.js +25 -0
  17. data/app/assets/javascripts/ckeditor/plugins/image/plugin.js +184 -0
  18. data/app/assets/javascripts/ckeditor/plugins/youtube/images/icon-hdpi.png +0 -0
  19. data/app/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  20. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/en.js +25 -0
  21. data/app/assets/javascripts/ckeditor/plugins/youtube/lang/ru.js +25 -0
  22. data/app/assets/javascripts/ckeditor/plugins/youtube/plugin.js +449 -0
  23. data/app/assets/javascripts/tramway/application.js +60 -0
  24. data/app/assets/stylesheets/tramway/application.sass +60 -0
  25. data/app/assets/stylesheets/tramway/bootstrap-datepicker-1.8.0.css +477 -0
  26. data/app/controllers/concerns/auth_management.rb +26 -0
  27. data/app/controllers/concerns/filtering.rb +43 -0
  28. data/app/controllers/tramway/application_controller.rb +142 -0
  29. data/app/controllers/tramway/export/application_controller.rb +5 -0
  30. data/app/controllers/tramway/has_and_belongs_to_many_records_controller.rb +26 -0
  31. data/app/controllers/tramway/records_controller.rb +86 -0
  32. data/app/controllers/tramway/sessions_controller.rb +49 -0
  33. data/app/controllers/tramway/singletons_controller.rb +48 -0
  34. data/app/controllers/tramway/welcome_controller.rb +17 -0
  35. data/app/decorators/tramway/application_decorated_collection.rb +15 -0
  36. data/app/decorators/tramway/application_decorator.rb +124 -0
  37. data/app/decorators/tramway/associations/class_helper.rb +45 -0
  38. data/app/decorators/tramway/associations/object_helper.rb +58 -0
  39. data/app/decorators/tramway/attributes/view_helper.rb +30 -0
  40. data/app/decorators/tramway/concerns/attributes_decorator_helper.rb +97 -0
  41. data/app/decorators/tramway/concerns/table_builder.rb +33 -0
  42. data/app/decorators/tramway/default/values_helper.rb +23 -0
  43. data/app/decorators/tramway/delegating/class_helper.rb +9 -0
  44. data/app/decorators/tramway/user_decorator.rb +49 -0
  45. data/app/forms/admin/tramway/user_form.rb +24 -0
  46. data/app/forms/tramway/application_form.rb +124 -0
  47. data/app/forms/tramway/application_forms/association_class_helpers.rb +7 -0
  48. data/app/forms/tramway/application_forms/association_object_helpers.rb +36 -0
  49. data/app/forms/tramway/application_forms/constant_class_actions.rb +7 -0
  50. data/app/forms/tramway/application_forms/constant_object_actions.rb +20 -0
  51. data/app/forms/tramway/application_forms/frontend.rb +12 -0
  52. data/app/forms/tramway/application_forms/object_helpers.rb +15 -0
  53. data/app/forms/tramway/application_forms/properties_object_helper.rb +16 -0
  54. data/app/forms/tramway/application_forms/submit_helper.rb +26 -0
  55. data/app/forms/tramway/extendable_form.rb +15 -0
  56. data/app/forms/tramway/extendable_forms_helpers/class_builder.rb +34 -0
  57. data/app/forms/tramway/extendable_forms_helpers/ignored_properties_helper.rb +11 -0
  58. data/app/forms/tramway/extendable_forms_helpers/more_properties_helper.rb +31 -0
  59. data/app/forms/tramway/extendable_forms_helpers/properties_helper.rb +16 -0
  60. data/app/forms/tramway/extendable_forms_helpers/submit/class_helpers.rb +18 -0
  61. data/app/forms/tramway/extendable_forms_helpers/submit/object_helpers.rb +21 -0
  62. data/app/forms/tramway/extendable_forms_helpers/validators.rb +40 -0
  63. data/app/forms/tramway/extended_application_form.rb +23 -0
  64. data/app/forms/tramway/form_creator.rb +7 -0
  65. data/app/forms/tramway/session_form.rb +26 -0
  66. data/app/helpers/tramway/actions_helper.rb +45 -0
  67. data/app/helpers/tramway/additional_buttons_builder.rb +12 -0
  68. data/app/helpers/tramway/application_helper.rb +27 -0
  69. data/app/helpers/tramway/cases_helper.rb +13 -0
  70. data/app/helpers/tramway/copy_to_clipboard_helper.rb +11 -0
  71. data/app/helpers/tramway/focus_generator_helper.rb +10 -0
  72. data/app/helpers/tramway/frontend_helper.rb +26 -0
  73. data/app/helpers/tramway/inputs/associations_helper.rb +30 -0
  74. data/app/helpers/tramway/inputs/polymorphic_associations_helper.rb +24 -0
  75. data/app/helpers/tramway/inputs_helper.rb +96 -0
  76. data/app/helpers/tramway/model_helper.rb +7 -0
  77. data/app/helpers/tramway/navbar_helper.rb +11 -0
  78. data/app/helpers/tramway/records_helper.rb +120 -0
  79. data/app/helpers/tramway/russian_cases_helper.rb +26 -0
  80. data/app/helpers/tramway/singleton_helper.rb +12 -0
  81. data/app/helpers/tramway/state_machine_buttons_helper.rb +61 -0
  82. data/app/helpers/tramway/title_helper.rb +25 -0
  83. data/app/inputs/date_picker_input.rb +4 -0
  84. data/app/inputs/multiple_file_input.rb +7 -0
  85. data/app/models/tramway/application_record.rb +60 -0
  86. data/app/models/tramway/user.rb +23 -0
  87. data/app/uploaders/application_uploader.rb +22 -0
  88. data/app/uploaders/file_uploader.rb +4 -0
  89. data/app/uploaders/ico_uploader.rb +7 -0
  90. data/app/uploaders/image_defaults.rb +14 -0
  91. data/app/uploaders/photo_uploader.rb +54 -0
  92. data/app/views/layouts/tramway/application.html.haml +32 -0
  93. data/app/views/layouts/tramway/shared/_navbar.html.haml +46 -0
  94. data/app/views/tramway/404.haml +1 -0
  95. data/app/views/tramway/records/_form.html.haml +22 -0
  96. data/app/views/tramway/records/_list.html.haml +38 -0
  97. data/app/views/tramway/records/_search.html.haml +34 -0
  98. data/app/views/tramway/records/edit.html.haml +1 -0
  99. data/app/views/tramway/records/index.html.haml +31 -0
  100. data/app/views/tramway/records/new.html.haml +1 -0
  101. data/app/views/tramway/records/show.html.haml +1 -0
  102. data/app/views/tramway/sessions/new.html.haml +9 -0
  103. data/app/views/tramway/shared/_input.html.haml +34 -0
  104. data/app/views/tramway/shared/_input_extended.html.haml +14 -0
  105. data/app/views/tramway/shared/_messages.html.haml +10 -0
  106. data/app/views/tramway/shared/_show.html.haml +35 -0
  107. data/app/views/tramway/shared/errors/server_error.html.haml +12 -0
  108. data/app/views/tramway/shared/input_extended_types/_checkbox.html.haml +1 -0
  109. data/app/views/tramway/shared/input_extended_types/_select.html.haml +16 -0
  110. data/app/views/tramway/shared/input_extended_types/_simple.html.haml +4 -0
  111. data/app/views/tramway/shared/input_extended_types/_yes_no.html.haml +4 -0
  112. data/app/views/tramway/shared/show/_attribute_tr.html.haml +9 -0
  113. data/app/views/tramway/shared/show/associations/_habtm_row.html.haml +14 -0
  114. data/app/views/tramway/shared/show/associations/_list.html.haml +21 -0
  115. data/app/views/tramway/shared/show/associations/_row.html.haml +19 -0
  116. data/app/views/tramway/shared/show/associations/_table_row.html.haml +21 -0
  117. data/app/views/tramway/singletons/_form.html.haml +15 -0
  118. data/app/views/tramway/singletons/edit.html.haml +1 -0
  119. data/app/views/tramway/singletons/new.html.haml +1 -0
  120. data/app/views/tramway/singletons/show.html.haml +1 -0
  121. data/app/views/tramway/welcome/index.html.haml +4 -0
  122. data/config/initializers/assets.rb +7 -0
  123. data/config/initializers/carrierwave.rb +5 -0
  124. data/config/initializers/ckeditor.rb +9 -0
  125. data/config/initializers/plurals.rb +25 -0
  126. data/config/locales/en/collections.yml +4 -0
  127. data/config/locales/en/date.yml +16 -0
  128. data/config/locales/en/dates.yml +10 -0
  129. data/config/locales/en/helpers.yml +26 -0
  130. data/config/locales/en/locale.yml +11 -0
  131. data/config/locales/en/messages.yml +7 -0
  132. data/config/locales/en/models.yml +9 -0
  133. data/config/locales/en/simple_form_extension.yml +8 -0
  134. data/config/locales/en/state_machines.yml +8 -0
  135. data/config/locales/ru/collections.yml +4 -0
  136. data/config/locales/ru/date.yml +16 -0
  137. data/config/locales/ru/dates.yml +10 -0
  138. data/config/locales/ru/helpers.yml +30 -0
  139. data/config/locales/ru/locale.yml +6 -0
  140. data/config/locales/ru/messages.yml +7 -0
  141. data/config/locales/ru/models.yml +21 -0
  142. data/config/locales/ru/simple_form_extension.yml +8 -0
  143. data/config/locales/ru/state_machines.yml +8 -0
  144. data/config/routes.rb +13 -0
  145. data/lib/string.rb +18 -0
  146. data/lib/tramway/application.rb +10 -0
  147. data/lib/tramway/class_name_helpers.rb +15 -0
  148. data/lib/tramway/collection.rb +9 -0
  149. data/lib/tramway/collections/helper.rb +21 -0
  150. data/lib/tramway/collections.rb +4 -0
  151. data/lib/tramway/engine.rb +14 -0
  152. data/lib/tramway/error.rb +32 -0
  153. data/lib/tramway/forms.rb +5 -0
  154. data/lib/tramway/generators/install_generator.rb +49 -0
  155. data/lib/tramway/generators/model_generator.rb +105 -0
  156. data/lib/tramway/generators/templates/create_tramway_users.rb +18 -0
  157. data/lib/tramway/generators/templates/decorator.rb.erb +56 -0
  158. data/lib/tramway/generators/templates/form.rb.erb +22 -0
  159. data/lib/tramway/generators/templates/initializers/simple_form.rb +23 -0
  160. data/lib/tramway/generators/templates/initializers/simple_form_bootstrap.rb +133 -0
  161. data/lib/tramway/generators.rb +4 -0
  162. data/lib/tramway/navbar.rb +44 -0
  163. data/lib/tramway/notifications.rb +12 -0
  164. data/lib/tramway/record_routes_helper.rb +23 -0
  165. data/lib/tramway/records_models.rb +52 -0
  166. data/lib/tramway/singleton_models.rb +32 -0
  167. data/lib/tramway/spec/helpers/navbar_helper.rb +7 -0
  168. data/lib/tramway/spec/helpers/tramway_helpers.rb +47 -0
  169. data/lib/tramway/version.rb +3 -1
  170. data/lib/tramway/welcome_page_actions.rb +5 -0
  171. data/lib/tramway/yaml/errors.yml +49 -0
  172. data/lib/tramway.rb +143 -2
  173. data/lib/validators/presence_validator.rb +9 -0
  174. metadata +582 -25
  175. data/.gitignore +0 -9
  176. data/.travis.yml +0 -5
  177. data/Gemfile +0 -6
  178. data/bin/console +0 -14
  179. data/bin/setup +0 -8
  180. data/tramway.gemspec +0 -26
@@ -0,0 +1,25 @@
1
+ /*
2
+ Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ CKEDITOR.plugins.setLang( 'image', 'en', {
6
+ alt: 'Alternative Text',
7
+ border: 'Border',
8
+ btnUpload: 'Send it to the Server',
9
+ button2Img: 'Do you want to transform the selected image button on a simple image?',
10
+ hSpace: 'HSpace',
11
+ img2Button: 'Do you want to transform the selected image on a image button?',
12
+ infoTab: 'Image Info',
13
+ linkTab: 'Link',
14
+ lockRatio: 'Lock Ratio',
15
+ menu: 'Image Properties',
16
+ resetSize: 'Reset Size',
17
+ title: 'Image Properties',
18
+ titleButton: 'Image Button Properties',
19
+ upload: 'Upload',
20
+ urlMissing: 'Image source URL is missing.',
21
+ vSpace: 'VSpace',
22
+ validateBorder: 'Border must be a whole number.',
23
+ validateHSpace: 'HSpace must be a whole number.',
24
+ validateVSpace: 'VSpace must be a whole number.'
25
+ } );
@@ -0,0 +1,25 @@
1
+ /*
2
+ Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ CKEDITOR.plugins.setLang( 'image', 'ru', {
6
+ alt: 'Альтернативный текст',
7
+ border: 'Граница',
8
+ btnUpload: 'Загрузить на сервер',
9
+ button2Img: 'Вы желаете преобразовать это изображение-кнопку в обычное изображение?',
10
+ hSpace: 'Гориз. отступ',
11
+ img2Button: 'Вы желаете преобразовать это обычное изображение в изображение-кнопку?',
12
+ infoTab: 'Данные об изображении',
13
+ linkTab: 'Ссылка',
14
+ lockRatio: 'Сохранять пропорции',
15
+ menu: 'Свойства изображения',
16
+ resetSize: 'Вернуть обычные размеры',
17
+ title: 'Свойства изображения',
18
+ titleButton: 'Свойства изображения-кнопки',
19
+ upload: 'Загрузить',
20
+ urlMissing: 'Не указана ссылка на изображение.',
21
+ vSpace: 'Вертик. отступ',
22
+ validateBorder: 'Размер границ должен быть задан числом.',
23
+ validateHSpace: 'Горизонтальный отступ должен быть задан числом.',
24
+ validateVSpace: 'Вертикальный отступ должен быть задан числом.'
25
+ } );
@@ -0,0 +1,184 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview The Image plugin.
8
+ */
9
+
10
+ ( function() {
11
+
12
+ CKEDITOR.plugins.add( 'image', {
13
+ requires: 'dialog',
14
+ // jscs:disable maximumLineLength
15
+ lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%
16
+ // jscs:enable maximumLineLength
17
+ icons: 'image', // %REMOVE_LINE_CORE%
18
+ hidpi: true, // %REMOVE_LINE_CORE%
19
+ init: function( editor ) {
20
+ var pluginName = 'image';
21
+
22
+ // Abort when Easyimage or Image2 are to be loaded since this plugins
23
+ // share the same functionality (#1791).
24
+ if ( editor.plugins.detectConflict( pluginName, [ 'easyimage', 'image2' ] ) ) {
25
+ return;
26
+ }
27
+
28
+ // Register the dialog.
29
+ CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/image.js' );
30
+
31
+ var allowed = 'img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}',
32
+ required = 'img[alt,src]';
33
+
34
+ if ( CKEDITOR.dialog.isTabEnabled( editor, pluginName, 'advanced' ) )
35
+ allowed = 'img[alt,dir,id,lang,longdesc,!src,title]{*}(*)';
36
+
37
+ // Register the command.
38
+ editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName, {
39
+ allowedContent: allowed,
40
+ requiredContent: required,
41
+ contentTransformations: [
42
+ [ 'img{width}: sizeToStyle', 'img[width]: sizeToAttribute' ],
43
+ [ 'img{float}: alignmentToStyle', 'img[align]: alignmentToAttribute' ]
44
+ ]
45
+ } ) );
46
+
47
+ // Register the toolbar button.
48
+ editor.ui.addButton && editor.ui.addButton( 'Image', {
49
+ label: editor.lang.common.image,
50
+ command: pluginName,
51
+ toolbar: 'insert,10'
52
+ } );
53
+
54
+ editor.on( 'doubleclick', function( evt ) {
55
+ var element = evt.data.element;
56
+
57
+ if ( element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() )
58
+ evt.data.dialog = 'image';
59
+ } );
60
+
61
+ // If the "menu" plugin is loaded, register the menu items.
62
+ if ( editor.addMenuItems ) {
63
+ editor.addMenuItems( {
64
+ image: {
65
+ label: editor.lang.image.menu,
66
+ command: 'image',
67
+ group: 'image'
68
+ }
69
+ } );
70
+ }
71
+
72
+ // If the "contextmenu" plugin is loaded, register the listeners.
73
+ if ( editor.contextMenu ) {
74
+ editor.contextMenu.addListener( function( element ) {
75
+ if ( getSelectedImage( editor, element ) )
76
+ return { image: CKEDITOR.TRISTATE_OFF };
77
+ } );
78
+ }
79
+ },
80
+ afterInit: function( editor ) {
81
+ // Abort when Image2 is to be loaded since both plugins
82
+ // share the same button, command, etc. names (https://dev.ckeditor.com/ticket/11222).
83
+ if ( editor.plugins.image2 )
84
+ return;
85
+
86
+ // Customize the behavior of the alignment commands. (https://dev.ckeditor.com/ticket/7430)
87
+ setupAlignCommand( 'left' );
88
+ setupAlignCommand( 'right' );
89
+ setupAlignCommand( 'center' );
90
+ setupAlignCommand( 'block' );
91
+
92
+ function setupAlignCommand( value ) {
93
+ var command = editor.getCommand( 'justify' + value );
94
+ if ( command ) {
95
+ if ( value == 'left' || value == 'right' ) {
96
+ command.on( 'exec', function( evt ) {
97
+ var img = getSelectedImage( editor ),
98
+ align;
99
+ if ( img ) {
100
+ align = getImageAlignment( img );
101
+ if ( align == value ) {
102
+ img.removeStyle( 'float' );
103
+
104
+ // Remove "align" attribute when necessary.
105
+ if ( value == getImageAlignment( img ) )
106
+ img.removeAttribute( 'align' );
107
+ } else {
108
+ img.setStyle( 'float', value );
109
+ }
110
+
111
+ evt.cancel();
112
+ }
113
+ } );
114
+ }
115
+
116
+ command.on( 'refresh', function( evt ) {
117
+ var img = getSelectedImage( editor ),
118
+ align;
119
+ if ( img ) {
120
+ align = getImageAlignment( img );
121
+
122
+ this.setState(
123
+ ( align == value ) ? CKEDITOR.TRISTATE_ON : ( value == 'right' || value == 'left' ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED );
124
+
125
+ evt.cancel();
126
+ }
127
+ } );
128
+ }
129
+ }
130
+ }
131
+ } );
132
+
133
+ function getSelectedImage( editor, element ) {
134
+ if ( !element ) {
135
+ var sel = editor.getSelection();
136
+ element = sel.getSelectedElement();
137
+ }
138
+
139
+ if ( element && element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() )
140
+ return element;
141
+ }
142
+
143
+ function getImageAlignment( element ) {
144
+ var align = element.getStyle( 'float' );
145
+
146
+ if ( align == 'inherit' || align == 'none' )
147
+ align = 0;
148
+
149
+ if ( !align )
150
+ align = element.getAttribute( 'align' );
151
+
152
+ return align;
153
+ }
154
+
155
+ } )();
156
+
157
+ /**
158
+ * Determines whether dimension inputs should be automatically filled when the image URL changes in the Image plugin dialog window.
159
+ *
160
+ * config.image_prefillDimensions = false;
161
+ *
162
+ * @since 4.5
163
+ * @cfg {Boolean} [image_prefillDimensions=true]
164
+ * @member CKEDITOR.config
165
+ */
166
+
167
+ /**
168
+ * Whether to remove links when emptying the link URL field in the Image dialog window.
169
+ *
170
+ * config.image_removeLinkByEmptyURL = false;
171
+ *
172
+ * @cfg {Boolean} [image_removeLinkByEmptyURL=true]
173
+ * @member CKEDITOR.config
174
+ */
175
+ CKEDITOR.config.image_removeLinkByEmptyURL = true;
176
+
177
+ /**
178
+ * Padding text to set off the image in the preview area.
179
+ *
180
+ * config.image_previewText = CKEDITOR.tools.repeat( '___ ', 100 );
181
+ *
182
+ * @cfg {String} [image_previewText='Lorem ipsum dolor...' (placeholder text)]
183
+ * @member CKEDITOR.config
184
+ */
@@ -0,0 +1,25 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'en', {
2
+ button : 'Embed YouTube Video',
3
+ title : 'Embed YouTube Video',
4
+ txtEmbed : 'Paste Embed Code Here',
5
+ txtUrl : 'Paste YouTube Video URL',
6
+ txtWidth : 'Width',
7
+ txtHeight : 'Height',
8
+ chkRelated : 'Show suggested videos at the video\'s end',
9
+ txtStartAt : 'Start at (ss or mm:ss or hh:mm:ss)',
10
+ chkPrivacy : 'Enable privacy-enhanced mode',
11
+ chkOlderCode : 'Use old embed code',
12
+ chkAutoplay: 'Autoplay',
13
+ chkControls: 'Show player controls',
14
+ noCode : 'You must input an embed code or URL',
15
+ invalidEmbed : 'The embed code you\'ve entered doesn\'t appear to be valid',
16
+ invalidUrl : 'The URL you\'ve entered doesn\'t appear to be valid',
17
+ or : 'or',
18
+ noWidth : 'You must inform the width',
19
+ invalidWidth : 'Inform a valid width',
20
+ noHeight : 'You must inform the height',
21
+ invalidHeight : 'Inform a valid height',
22
+ invalidTime : 'Inform a valid start time',
23
+ txtResponsive : 'Make Responsive (ignore width and height, fit to width)',
24
+ txtNoEmbed : 'Video image and link only'
25
+ });
@@ -0,0 +1,25 @@
1
+ CKEDITOR.plugins.setLang('youtube', 'ru', {
2
+ button : 'Вставить YouTube видео',
3
+ title : 'Вставить YouTube видео',
4
+ txtEmbed : 'Вставьте HTML-код сюда',
5
+ txtUrl : 'Вставьте адрес видео (URL)',
6
+ txtWidth : 'Ширина',
7
+ txtHeight : 'Высота',
8
+ chkRelated : 'Показать похожие видео после завершения просмотра',
9
+ txtStartAt : 'Начать с (сс или мм:сс или чч:мм:сс)',
10
+ chkPrivacy : 'Включить режим повышенной конфиденциальности',
11
+ chkOlderCode : 'Использовать старый код вставки',
12
+ chkAutoplay: 'Автозапуск',
13
+ chkControls: 'Показать панель управления',
14
+ noCode : 'Вы должны ввести HTML-код или адрес',
15
+ invalidEmbed : 'Ваш HTML-код не похож на правильный',
16
+ invalidUrl : 'Ваш адрес видео не похож на правильный',
17
+ or : 'или',
18
+ noWidth : 'Вы должны указать ширину',
19
+ invalidWidth : 'Укажите правильную ширину',
20
+ noHeight : 'Вы должны указать высоту',
21
+ invalidHeight : 'Укажите правильную высоту',
22
+ invalidTime : 'Укажите правильное время начала',
23
+ txtResponsive : 'Растягиваемое видео',
24
+ txtNoEmbed : 'Не встраивать видео (обложка-ссылка на YouTube)'
25
+ });