refinerycms 0.9.7.13 → 0.9.7.14
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -4
- data/changelog.md +11 -0
- data/public/javascripts/refinery/admin.js +11 -8
- data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +62 -20
- data/readme.md +12 -12
- data/vendor/plugins/authentication/config/locales/ru.yml +53 -53
- data/vendor/plugins/dashboard/config/locales/ru.yml +16 -16
- data/vendor/plugins/dashboard/readme.md +1 -1
- data/vendor/plugins/images/config/locales/ru.yml +30 -30
- data/vendor/plugins/inquiries/config/locales/ru.yml +8 -8
- data/vendor/plugins/pages/app/views/admin/pages/_form_advanced_options_seo.html.erb +1 -1
- data/vendor/plugins/pages/config/locales/ru.yml +61 -61
- data/vendor/plugins/refinery/config/locales/ru.yml +23 -23
- data/vendor/plugins/refinery/lib/generators/refinery_plugin/templates/rails/init.rb +9 -9
- data/vendor/plugins/refinery/lib/refinery.rb +1 -1
- data/vendor/plugins/refinery/lib/tasks/refinery.rake +3 -3
- data/vendor/plugins/refinery/plugins.md +2 -2
- data/vendor/plugins/refinery/rails/init.rb +1 -1
- data/vendor/plugins/refinery_settings/config/locales/ru.yml +29 -29
- data/vendor/plugins/resources/config/locales/ru.yml +19 -19
- data/vendor/plugins/resources/readme.md +1 -1
- data/vendor/plugins/themes/generators/refinery_theme/templates/views/pages/home.html.erb +1 -1
- data/vendor/plugins/themes/generators/refinery_theme/templates/views/pages/show.html.erb +1 -1
- metadata +4 -4
data/Gemfile
CHANGED
@@ -17,16 +17,16 @@ gem 'sqlite3-ruby', :require => 'sqlite3' #db_adapter=sqlite3
|
|
17
17
|
# gem 'aws-s3'
|
18
18
|
|
19
19
|
#===REFINERY REQUIRED GEMS===
|
20
|
-
gem 'acts_as_indexed', '= 0.6.
|
20
|
+
gem 'acts_as_indexed', '= 0.6.6', :require => 'acts_as_indexed'
|
21
21
|
gem 'authlogic', '= 2.1.6', :require => 'authlogic'
|
22
22
|
gem 'friendly_id', '= 3.1.3', :require => 'friendly_id'
|
23
|
-
gem 'rails', '= 2.3.
|
23
|
+
gem 'rails', '= 2.3.9'
|
24
24
|
gem 'rmagick', '~> 2.12.0'
|
25
25
|
gem 'truncate_html', '= 0.3.2', :require => 'truncate_html'
|
26
26
|
gem 'will_paginate', '= 2.3.14', :require => 'will_paginate'
|
27
27
|
|
28
28
|
group :test do
|
29
|
-
gem 'json_pure', '=1.4.6', :require => 'json/pure'
|
29
|
+
gem 'json_pure', '= 1.4.6', :require => 'json/pure'
|
30
30
|
gem 'factory_girl'
|
31
31
|
gem 'test-unit', '= 1.2.3'
|
32
32
|
gem 'capybara'
|
@@ -45,7 +45,7 @@ end
|
|
45
45
|
|
46
46
|
#===REQUIRED FOR REFINERY GEM INSTALL===
|
47
47
|
# Leave the gem below disabled (commented out) if you're not using the gem install method.
|
48
|
-
# gem 'refinerycms', '= 0.9.7.
|
48
|
+
# gem 'refinerycms', '= 0.9.7.14'
|
49
49
|
#===END OF REFINERY GEM INSTALL REQUIREMENTS===
|
50
50
|
|
51
51
|
# Bundle gems for certain environments:
|
data/changelog.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## 0.9.7.13 [23 August 2010]
|
2
|
+
|
3
|
+
* Russian language support (RU). [Sun](http://github.com/sunchess)
|
4
|
+
* We <3 HTML5 (better supported HTML5 semantics) [Joe Sak](http://github.com/joemsak) and [Philip Arndt](http://github.com/parndt)
|
5
|
+
* Fixed issue with Refinery's 404 page. [Philip Arndt](http://github.com/parndt)
|
6
|
+
* Fixed recent inquiries display on dashboard when HTML present. [Steven Heidel](http://github.com/stevenheidel)
|
7
|
+
* Better dutch (NL) translations. [Michael van Rooijen](http://github.com/meskyanichi)
|
8
|
+
* Fixed for IE and added fixes to WYMeditor from the core project. [Philip Arndt](http://github.com/parndt)
|
9
|
+
* Added pagination for search results to the plugin generator. [Amanda Wagener](http://github.com/awagener)
|
10
|
+
* [See full list](http://github.com/resolve/refinerycms/compare/0.9.7.12...0.9.7.13)
|
11
|
+
|
1
12
|
## 0.9.7.12 [11 August 2010]
|
2
13
|
|
3
14
|
* Smoothed the sortable list in the admin UI. [Joe Sak](http://github.com/joemsak)
|
@@ -950,18 +950,21 @@ var resource_picker = {
|
|
950
950
|
}
|
951
951
|
|
952
952
|
close_dialog = function(e) {
|
953
|
-
if (parent
|
954
|
-
&& parent.document.location.href != document.location.href
|
955
|
-
&& $.isFunction(parent.$))
|
953
|
+
if (parent && parent.document.location.href != document.location.href && $.isFunction(parent.$))
|
956
954
|
{
|
957
|
-
$(parent.document.body)
|
958
|
-
parent.$('.ui-dialog')
|
955
|
+
the_body = $(parent.document.body)
|
956
|
+
the_dialog = parent.$('.ui-dialog');
|
959
957
|
} else {
|
960
|
-
$(document.body).removeClass('hide-overflow');
|
961
|
-
$('.ui-dialog').dialog('close').remove();
|
958
|
+
the_body = $(document.body).removeClass('hide-overflow');
|
959
|
+
the_dialog = $('.ui-dialog').dialog('close').remove();
|
962
960
|
}
|
961
|
+
// if there's a wymeditor involved then let it do its thing without blocking first.
|
962
|
+
if (!($(document.body).hasClass('wym_iframe_body'))) {
|
963
|
+
the_body.removeClass('hide-overflow');
|
964
|
+
the_dialog.dialog('close').remove();
|
963
965
|
|
964
|
-
|
966
|
+
e.preventDefault();
|
967
|
+
}
|
965
968
|
}
|
966
969
|
|
967
970
|
//parse a URL to form an object of properties
|
@@ -1212,6 +1212,7 @@ WYMeditor.editor.prototype.update = function() {
|
|
1212
1212
|
* @description Opens a dialog box
|
1213
1213
|
*/
|
1214
1214
|
WYMeditor.editor.prototype.dialog = function( dialogType ) {
|
1215
|
+
this.update();
|
1215
1216
|
var path = this._wym._options.dialogPath + dialogType;
|
1216
1217
|
|
1217
1218
|
this._current_unique_stamp = this.uniqueStamp();
|
@@ -1258,10 +1259,50 @@ WYMeditor.editor.prototype.dialog = function( dialogType ) {
|
|
1258
1259
|
|
1259
1260
|
if ((parent_node != null) && (parent_node.tagName.toLowerCase() != WYMeditor.A))
|
1260
1261
|
{
|
1261
|
-
// wrap the current selection with a funky span
|
1262
|
-
if (this._selected_image == null
|
1262
|
+
// wrap the current selection with a funky span.
|
1263
|
+
if (this._selected_image == null)
|
1263
1264
|
{
|
1264
|
-
|
1265
|
+
if (selected != null && selected.tagName.toLowerCase() != WYMeditor.A && wym._iframe.contentWindow.getSelection) {
|
1266
|
+
// Fixes webkit issue where it would not paste at cursor.
|
1267
|
+
selection = wym._iframe.contentWindow.getSelection();
|
1268
|
+
selected_html = $(selected).html().replace(' ', ' ');
|
1269
|
+
|
1270
|
+
if ((offset = selected_html.indexOf(selection.focusNode.textContent)) == -1) {
|
1271
|
+
offset = 0;
|
1272
|
+
}
|
1273
|
+
focus = offset + selection.focusOffset;
|
1274
|
+
anchor = offset + selection.anchorOffset;
|
1275
|
+
start = (focus < anchor) ? focus : anchor;
|
1276
|
+
end = (focus < anchor) ? anchor : focus;
|
1277
|
+
length = (end - start);
|
1278
|
+
|
1279
|
+
focusNode = selection.focusNode.tagName === undefined ? selection.focusNode.parentNode : selection.focusNode;
|
1280
|
+
if (!($.browser.mozilla && $(focusNode).attr('_moz_dirty') !== undefined)) {
|
1281
|
+
if (length > 0) {
|
1282
|
+
new_html = selected_html.substring(0, start)
|
1283
|
+
+ "<span id='replace_me_with_" + this._current_unique_stamp + "'>"
|
1284
|
+
+ selected_html.substring(start, end)
|
1285
|
+
+ "</span>"
|
1286
|
+
+ selected_html.substring(end);
|
1287
|
+
} else {
|
1288
|
+
new_html = selected_html.substring(0, start)
|
1289
|
+
+ "<span id='replace_me_with_" + this._current_unique_stamp + "'></span>"
|
1290
|
+
+ selected_html.substring(end);
|
1291
|
+
}
|
1292
|
+
} else {
|
1293
|
+
// Mozilla Firefox seems to throw its toys out of the cot if the paragraph is _moz_dirty
|
1294
|
+
// and we try to get a selection of the entire text contents of the paragraph.
|
1295
|
+
// Firefox has to use this.wrap() for this specific condition.
|
1296
|
+
this.wrap("<span id='replace_me_with_" + this._current_unique_stamp + "'>", "</span>");
|
1297
|
+
}
|
1298
|
+
|
1299
|
+
if (typeof(new_html) != 'undefined' && new_html != null) {
|
1300
|
+
new_html = new_html.replace(' ', ' ');
|
1301
|
+
$(selected).html(new_html);
|
1302
|
+
}
|
1303
|
+
} else {
|
1304
|
+
this.wrap("<span id='replace_me_with_" + this._current_unique_stamp + "'>", "</span>");
|
1305
|
+
}
|
1265
1306
|
}
|
1266
1307
|
}
|
1267
1308
|
else {
|
@@ -1443,6 +1484,9 @@ WYMeditor.editor.prototype.insert = function(html) {
|
|
1443
1484
|
};
|
1444
1485
|
|
1445
1486
|
WYMeditor.editor.prototype.wrap = function(left, right, selection) {
|
1487
|
+
left = (typeof(left) != 'undefined' ? left : '');
|
1488
|
+
right = (typeof(right) != 'undefined' ? right : '');
|
1489
|
+
|
1446
1490
|
// Do we have a selection?
|
1447
1491
|
if (selection == null) { selection = this._iframe.contentWindow.getSelection();}
|
1448
1492
|
if (selection.focusNode != null) {
|
@@ -1650,7 +1694,7 @@ WYMeditor.INIT_DIALOG = function(wym, selected, isIframe) {
|
|
1650
1694
|
// focus first textarea or input type text element
|
1651
1695
|
dialog.find('input[type=text], textarea').first().focus();
|
1652
1696
|
|
1653
|
-
dialog.find(
|
1697
|
+
doc.find('body').addClass('wym_iframe_body').find('#cancel_button').add(dialog.find('.close_dialog')).click(function(e){
|
1654
1698
|
wym.close_dialog(e, true);
|
1655
1699
|
});
|
1656
1700
|
|
@@ -1728,19 +1772,15 @@ WYMeditor.INIT_DIALOG = function(wym, selected, isIframe) {
|
|
1728
1772
|
$(wym._options.dialogImageSelector).find(wym._options.submitSelector).click(function(e) {
|
1729
1773
|
form = $(this.form);
|
1730
1774
|
if ((url = form.find(wym._options.srcSelector).val()) != null && url.length > 0) {
|
1731
|
-
|
1732
|
-
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
.attr(WYMeditor.ALT, form.find(wym._options.titleSelector).val())
|
1737
|
-
.attr(WYMeditor.REL, form.find(wym._options.sizeSelector).val());
|
1775
|
+
(image = $('<img />'))
|
1776
|
+
.attr(WYMeditor.SRC, url)
|
1777
|
+
.attr(WYMeditor.TITLE, form.find(wym._options.titleSelector).val())
|
1778
|
+
.attr(WYMeditor.ALT, form.find(wym._options.titleSelector).val())
|
1779
|
+
.attr(WYMeditor.REL, form.find(wym._options.sizeSelector).val());
|
1738
1780
|
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1742
|
-
}
|
1743
|
-
}
|
1781
|
+
if (replaceable != null) {
|
1782
|
+
replaceable.after(image).remove();
|
1783
|
+
}
|
1744
1784
|
|
1745
1785
|
// fire a click event on the dialogs close button
|
1746
1786
|
wym.close_dialog(e);
|
@@ -1791,8 +1831,9 @@ WYMeditor.editor.prototype.close_dialog = function(e, cancelled) {
|
|
1791
1831
|
if ((span = $(this._doc.body).find('span#replace_me_with_' + this._current_unique_stamp)).length > 0) {
|
1792
1832
|
span.parent().html(span.parent().html().replace(new RegExp(["<span(.+?)", span.attr('id'), "(.+?)<\/span>"].join("")), span.html()));
|
1793
1833
|
}
|
1794
|
-
(remove_id = $(this._doc.body).find('#replace_me_with_' + this._current_unique_stamp))
|
1795
|
-
|
1834
|
+
(remove_id = $(this._doc.body).find('#replace_me_with_' + this._current_unique_stamp))
|
1835
|
+
.attr('id', (remove_id.attr('_id_before_replaceable') || ""))
|
1836
|
+
.replaceWith(remove_id.html());
|
1796
1837
|
if (this._undo_on_cancel == true) {
|
1797
1838
|
this._exec("undo");
|
1798
1839
|
}
|
@@ -4826,7 +4867,8 @@ WYMeditor.WymClassSafari.prototype.paste = function(sData) {
|
|
4826
4867
|
sTmp = sTmp.replace(rExp, "<br />");
|
4827
4868
|
if (x == 0 && $(container).html().replace(/<br\ ?\/?>/, "").length == 0) {
|
4828
4869
|
$(container).html(sTmp);
|
4829
|
-
}
|
4870
|
+
}
|
4871
|
+
else {
|
4830
4872
|
$(container).after("<p>" + sTmp + "</p>");
|
4831
4873
|
}
|
4832
4874
|
}
|
@@ -5062,4 +5104,4 @@ WYMeditor.WymClassSafari.prototype.getTagForStyle = function(style) {
|
|
5062
5104
|
if(/sub/.test(style)) return 'sub';
|
5063
5105
|
if(/super/.test(style)) return 'sup';
|
5064
5106
|
return false;
|
5065
|
-
};
|
5107
|
+
};
|
data/readme.md
CHANGED
@@ -14,8 +14,8 @@ Unlike other content managers, Refinery is truly __aimed at the end user__ makin
|
|
14
14
|
|
15
15
|
### For developers
|
16
16
|
|
17
|
-
* Easily __[Theme and customise](http://github.com/resolve/refinerycms/blob/
|
18
|
-
* __[Extend with custom plugins](http://github.com/resolve/refinerycms/blob/
|
17
|
+
* Easily __[Theme and customise](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/themes/readme.md)__ the look to suit the business
|
18
|
+
* __[Extend with custom plugins](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/plugins.md)__ to do anything Refinery doesn't do out of the box
|
19
19
|
* Sticks to __"the Rails way"__ as much as possible. We don't force you to learn new templating languages.
|
20
20
|
* Uses [jQuery](http://jquery.com/) for fast and concise JavaScript
|
21
21
|
|
@@ -53,51 +53,51 @@ Mac OS 10.5+ users [this shell install script](http://github.com/maddox/magick-i
|
|
53
53
|
|
54
54
|
## Features
|
55
55
|
|
56
|
-
### [Pages](http://github.com/resolve/refinerycms/blob/
|
56
|
+
### [Pages](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/pages/readme.md)
|
57
57
|
|
58
58
|
* Easily edit and manage pages with a [WYSIWYG visual editor](http://www.wymeditor.org/)
|
59
59
|
* Manage you site's structure
|
60
60
|
|
61
|
-
### [Images](http://github.com/resolve/refinerycms/blob/
|
61
|
+
### [Images](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/images/readme.md) & [Files](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/resources/readme.md)
|
62
62
|
|
63
63
|
* Easily upload and insert images
|
64
64
|
* Upload and link to resources such as PDF documents
|
65
65
|
* Uses the popular [attachment_fu](http://github.com/technoweenie/attachment_fu) Rails plugin
|
66
66
|
* Supports storage on Amazon S3
|
67
67
|
|
68
|
-
### [Inquiries](http://github.com/resolve/refinerycms/blob/
|
68
|
+
### [Inquiries](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/inquiries/readme.md)
|
69
69
|
|
70
70
|
* Collect inquiries from a contact form
|
71
71
|
* Manage your inquiries and be notified when new ones come in
|
72
72
|
* Checks new inquiries for spam
|
73
73
|
|
74
|
-
### [Settings](http://github.com/resolve/refinerycms/blob/
|
74
|
+
### [Settings](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery_settings/readme.md)
|
75
75
|
|
76
76
|
* Manage the behaviour of Refinery
|
77
77
|
* Easily integrate with [Google Analytics](https://www.google.com/analytics/)
|
78
78
|
|
79
|
-
### [Dashboard](http://github.com/resolve/refinerycms/blob/
|
79
|
+
### [Dashboard](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/dashboard/readme.md)
|
80
80
|
|
81
81
|
* Get an overview of what has been updated recently and see recent inquiries.
|
82
82
|
|
83
|
-
### [Authentication & Users](http://github.com/resolve/refinerycms/blob/
|
83
|
+
### [Authentication & Users](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/authentication/readme.md)
|
84
84
|
|
85
85
|
* Manage who can access Refinery
|
86
86
|
* Control which plugins each user has access to
|
87
87
|
* Uses the popular [authlogic](http://github.com/binarylogic/authlogic) authentication Rails plugin
|
88
88
|
|
89
|
-
### [Themes](http://github.com/resolve/refinerycms/blob/
|
89
|
+
### [Themes](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/themes/readme.md)
|
90
90
|
|
91
91
|
* Customise Refinery to look exactly how you want
|
92
92
|
* The Rails Way: use regular Rails erb views, no templating languages here!
|
93
93
|
|
94
|
-
### ...Want more? [Extend with Plugins](http://github.com/resolve/refinerycms/blob/
|
94
|
+
### ...Want more? [Extend with Plugins](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/plugins.md)
|
95
95
|
|
96
96
|
Extend Refinery easily by running the Refinery generator
|
97
97
|
|
98
98
|
ruby script/generate refinery_plugin
|
99
99
|
|
100
|
-
to get help on how to use that. Or read the full documentation on [writing plugins for Refinery](http://github.com/resolve/refinerycms/blob/
|
100
|
+
to get help on how to use that. Or read the full documentation on [writing plugins for Refinery](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/plugins.md)
|
101
101
|
|
102
102
|
### Popular Plugins
|
103
103
|
|
@@ -108,4 +108,4 @@ to get help on how to use that. Or read the full documentation on [writing plugi
|
|
108
108
|
|
109
109
|
## License
|
110
110
|
|
111
|
-
Refinery is released under the [MIT license](http://github.com/resolve/refinerycms/blob/
|
111
|
+
Refinery is released under the [MIT license](http://github.com/resolve/refinerycms/blob/rails2-stable/license.md) and is copyright (c) 2005-2010 [Resolve Digital Ltd.](http://www.resolvedigital.co.nz)
|
@@ -7,74 +7,74 @@ ru:
|
|
7
7
|
update:
|
8
8
|
cannot_remove_user_plugin_from_current_user: "You cannot remove the 'Users' plugin from the currently logged in account."
|
9
9
|
form:
|
10
|
-
blank_password_keeps_current:
|
10
|
+
blank_password_keeps_current: Оставьте поле пустым, если не хотите изменить пароль
|
11
11
|
enable_all: enable all
|
12
12
|
index:
|
13
|
-
create_new_user:
|
14
|
-
no_users_yet:
|
13
|
+
create_new_user: Создать нового пользователя
|
14
|
+
no_users_yet: "Пользователей пока что нет. Нажмите «Создать нового пользователя», чтобы добавить вашего первого пользователя."
|
15
15
|
user:
|
16
|
-
confirm_delete_message: "
|
17
|
-
confirm_delete_title:
|
18
|
-
edit_user:
|
19
|
-
email_user:
|
20
|
-
preview: ({{who}})
|
16
|
+
confirm_delete_message: "Вы действительно хотите удалить пользователя «{{who}}»?"
|
17
|
+
confirm_delete_title: Удалить этого пользователя навсегда
|
18
|
+
edit_user: Редактировать этого пользователя
|
19
|
+
email_user: Написать эл. письмо этому пользователю
|
20
|
+
preview: ({{who}}) создан {{created_at}}
|
21
21
|
sessions:
|
22
|
-
login_successful:
|
23
|
-
login_failed:
|
24
|
-
logged_out:
|
22
|
+
login_successful: Вход успешно выполнен
|
23
|
+
login_failed: Имя пользователя или пароль неверны.
|
24
|
+
logged_out: Вы вышли.
|
25
25
|
new:
|
26
|
-
hello_please_sign_in:
|
27
|
-
sign_in:
|
28
|
-
forgot_password:
|
26
|
+
hello_please_sign_in: Пожалуйста, войдите.
|
27
|
+
sign_in: Войти
|
28
|
+
forgot_password: Я забыл свой пароль
|
29
29
|
users:
|
30
|
-
setup_website_name: "
|
31
|
-
signup_disabled:
|
30
|
+
setup_website_name: "Для начала, назовите сайт. <a href='{{link}}' name='{{title}}'>Перейдите сюда</a>, чтобы отредактировать название сайта."
|
31
|
+
signup_disabled: Регистрация пользователей отключена
|
32
32
|
new:
|
33
|
-
fill_form:
|
34
|
-
sign_up:
|
33
|
+
fill_form: Заполните данные ниже.
|
34
|
+
sign_up: Зарегистрироваться
|
35
35
|
create:
|
36
|
-
welcome:
|
37
|
-
signup_complete:
|
36
|
+
welcome: Добро пожаловать в Refinery, {{who}}
|
37
|
+
signup_complete: Регистрация завершена!
|
38
38
|
forgot:
|
39
|
-
email_address:
|
40
|
-
enter_email_address:
|
41
|
-
reset_password:
|
42
|
-
blank_email:
|
43
|
-
email_not_associated_with_account: "
|
44
|
-
email_reset_sent:
|
39
|
+
email_address: Эл. почта
|
40
|
+
enter_email_address: Пожалуйста, введите адрес электронной почты вашего акаунта.
|
41
|
+
reset_password: Сбросить пароль
|
42
|
+
blank_email: Вы не ввели адрес электронной почты
|
43
|
+
email_not_associated_with_account: "{{email}} не принадлежит ни одному акаунту.<br/>Вы уверены, что ввели правильный адрес электронной почты?"
|
44
|
+
email_reset_sent: Вам выслано электронное письмо с ссылкой для сброса пароля.
|
45
45
|
reset:
|
46
|
-
code_invalid: "
|
47
|
-
successful: "
|
48
|
-
pick_new_password_for: "
|
49
|
-
reset_password:
|
46
|
+
code_invalid: "Код для сброса пароля истек или неверен. Попробуйте скопировать и вставить адрес из письма в адресную строку браузера или заново начать процесс восстановления."
|
47
|
+
successful: "Пароль успешно изменен для {{email}}"
|
48
|
+
pick_new_password_for: "Введите новый пароль для {{email}}"
|
49
|
+
reset_password: Изменить пароль
|
50
50
|
user_mailer:
|
51
|
-
please_activate:
|
52
|
-
activated:
|
53
|
-
activated_email: "{{who}},
|
54
|
-
account_created:
|
55
|
-
user_name:
|
56
|
-
password:
|
57
|
-
visit_url: "
|
58
|
-
link_to_reset_your_password:
|
51
|
+
please_activate: Пожалуйста, активируйте ваш новый акаунт
|
52
|
+
activated: Ваш акаунт активирован!
|
53
|
+
activated_email: "{{who}}, ваш акаунт активирован. Вы можете начать добавлять ваши модули:"
|
54
|
+
account_created: Ваш акаунт создан.
|
55
|
+
user_name: Имя пользователя {{name}}
|
56
|
+
password: Пароль {{password}}
|
57
|
+
visit_url: "Перейдите по этой ссылке, чтобы активировать ваш акаунт:"
|
58
|
+
link_to_reset_your_password: Ссылка для сброса пароля
|
59
59
|
authlogic:
|
60
60
|
error_messages:
|
61
|
-
login_blank:
|
62
|
-
login_not_found:
|
63
|
-
login_invalid:
|
64
|
-
consecutive_failed_logins_limit_exceeded:
|
65
|
-
email_invalid:
|
66
|
-
password_blank:
|
67
|
-
password_invalid:
|
68
|
-
not_active:
|
69
|
-
not_confirmed:
|
70
|
-
not_approved:
|
61
|
+
login_blank: не может быть пустым
|
62
|
+
login_not_found: неверен
|
63
|
+
login_invalid: должен состоять только из латинских букв, цифр, пробелов и символов .-_@
|
64
|
+
consecutive_failed_logins_limit_exceeded: Максимальное количество попыток входа исчерпано, акаунт отключен.
|
65
|
+
email_invalid: должен иметь формать адреса эл. почты
|
66
|
+
password_blank: не может быть пустым
|
67
|
+
password_invalid: неверен
|
68
|
+
not_active: Ваш акаунт не активирован
|
69
|
+
not_confirmed: Ваш акаунт не подтвержден
|
70
|
+
not_approved: Ваш акаунт не разрешен
|
71
71
|
no_authentication_details: You did not provide any details for authentication.
|
72
72
|
models:
|
73
73
|
user_session: UserSession
|
74
74
|
attributes:
|
75
75
|
user_session:
|
76
|
-
login:
|
77
|
-
email:
|
78
|
-
password:
|
79
|
-
remember_me:
|
80
|
-
incorrect: "
|
76
|
+
login: Имя пользователя
|
77
|
+
email: Эл. почта
|
78
|
+
password: Пароль
|
79
|
+
remember_me: Запомнить меня
|
80
|
+
incorrect: "{{login_field}} или пароль неверны"
|
@@ -1,27 +1,27 @@
|
|
1
1
|
ru:
|
2
2
|
plugins:
|
3
3
|
refinery_dashboard:
|
4
|
-
title:
|
4
|
+
title: Сводка
|
5
5
|
admin:
|
6
6
|
dashboard:
|
7
7
|
index:
|
8
|
-
quick_tasks:
|
9
|
-
add_a_new_page:
|
10
|
-
update_a_page:
|
11
|
-
upload_a_image:
|
12
|
-
upload_a_file:
|
13
|
-
change_language:
|
14
|
-
see_home_page:
|
8
|
+
quick_tasks: Быстрые задачи
|
9
|
+
add_a_new_page: Добавить новую страницу
|
10
|
+
update_a_page: Изменить страницу
|
11
|
+
upload_a_image: Загрузить изображение
|
12
|
+
upload_a_file: Загрузить файл
|
13
|
+
change_language: Сменить язык
|
14
|
+
see_home_page: Просмотреть домашнюю страницу
|
15
15
|
recent_activity:
|
16
|
-
latest_activity:
|
17
|
-
see: "
|
18
|
-
latest_activity_message: "{{what}} {{kind}}
|
16
|
+
latest_activity: Последние действия
|
17
|
+
see: "См. '{{what}}'"
|
18
|
+
latest_activity_message: "{{what}} {{kind}} {{action}}"
|
19
19
|
recent_inquiries:
|
20
|
-
latest_inquiries:
|
20
|
+
latest_inquiries: Последние запросы
|
21
21
|
updated:
|
22
|
-
'with_article "the"':
|
22
|
+
'with_article "the"': изменен(а)
|
23
23
|
created:
|
24
|
-
'with_article "the"':
|
24
|
+
'with_article "the"': создан(а)
|
25
25
|
|
26
|
-
ago: "{{time}}
|
27
|
-
see:
|
26
|
+
ago: "{{time}} назад"
|
27
|
+
see: См.
|
@@ -11,7 +11,7 @@ Refinery's dashboard is a plugin that does two simple things
|
|
11
11
|
|
12
12
|
## How do I Hook my Custom Plugin into the Recent Activity log?
|
13
13
|
|
14
|
-
Read ["Getting your Plugin to Report Activity in the Dashboard"](http://github.com/resolve/refinerycms/blob/
|
14
|
+
Read ["Getting your Plugin to Report Activity in the Dashboard"](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/plugins.md) in the Plugin documentation.
|
15
15
|
|
16
16
|
## Related Settings
|
17
17
|
|
@@ -1,46 +1,46 @@
|
|
1
1
|
ru:
|
2
2
|
plugins:
|
3
3
|
refinery_images:
|
4
|
-
title:
|
5
|
-
no_file_chosen:
|
6
|
-
file_should_be_smaller_than_max_image_size:
|
7
|
-
file_must_be_these_formats:
|
4
|
+
title: Изображения
|
5
|
+
no_file_chosen: Вы должны выбрать файл для загрузки
|
6
|
+
file_should_be_smaller_than_max_image_size: "Файлы должны быть меньше по размеру, чем {{max_image_size}}"
|
7
|
+
file_must_be_these_formats: "Ваше изображение может быть только в форматах JPG, PNG или GIF"
|
8
8
|
admin:
|
9
9
|
images:
|
10
10
|
image:
|
11
11
|
delete:
|
12
|
-
message:
|
13
|
-
title:
|
12
|
+
message: "Вы действительно хотите удалить «{{title}}»?"
|
13
|
+
title: Удалить это изображение навсегда
|
14
14
|
form:
|
15
|
-
image:
|
16
|
-
use_current_image:
|
17
|
-
or:
|
18
|
-
replace_image:
|
19
|
-
current_image:
|
20
|
-
maximum_image_size: "
|
15
|
+
image: Изображение
|
16
|
+
use_current_image: Использовать текущее изображение
|
17
|
+
or: или
|
18
|
+
replace_image: заменить его этим
|
19
|
+
current_image: Текущее изображение
|
20
|
+
maximum_image_size: "Максимальный размер изображения — {{megabytes}} МБ."
|
21
21
|
index:
|
22
|
-
create_new_image:
|
23
|
-
no_images_yet:
|
22
|
+
create_new_image: Создать новое изображение
|
23
|
+
no_images_yet: "Изображений пока что нет. Нажмите «Создать новое изображение», чтобы добавить ваше первое изображение."
|
24
24
|
view:
|
25
|
-
switch_to:
|
26
|
-
list:
|
27
|
-
grid:
|
25
|
+
switch_to: Показать {{view_name}}
|
26
|
+
list: списком
|
27
|
+
grid: сеткой
|
28
28
|
search:
|
29
29
|
results_for: Search results for {{query}}
|
30
30
|
grid_view:
|
31
|
-
edit:
|
32
|
-
view_live:
|
31
|
+
edit: Редактировать это изображение
|
32
|
+
view_live: Показать это изображение <br/><em>Откроется в новом окне</em>
|
33
33
|
list_view_image:
|
34
|
-
edit_this_image:
|
34
|
+
edit_this_image: Редактировать это изображение
|
35
35
|
existing_image:
|
36
|
-
submit_insert:
|
37
|
-
resize_image: "
|
38
|
-
size:
|
36
|
+
submit_insert: Вставить
|
37
|
+
resize_image: "Изменить размер изображение? <em>(Рекомендуется.)</em>"
|
38
|
+
size: Размер
|
39
39
|
insert:
|
40
|
-
existing_image:
|
41
|
-
new_image:
|
42
|
-
previous:
|
43
|
-
next:
|
44
|
-
submit_insert:
|
45
|
-
or:
|
46
|
-
cancel:
|
40
|
+
existing_image: Существующее изображение
|
41
|
+
new_image: Новое изображение
|
42
|
+
previous: Предыдущее
|
43
|
+
next: Следующее
|
44
|
+
submit_insert: Вставить
|
45
|
+
or: или
|
46
|
+
cancel: Отмена
|
@@ -25,9 +25,9 @@ ru:
|
|
25
25
|
inquiry:
|
26
26
|
move_inquiry_to_closed: "Переместить этот запрос в закрытые"
|
27
27
|
move_inquiry_to_open: "Переместить этот запрос в открытые"
|
28
|
-
read_inquiry: "Прочитать
|
28
|
+
read_inquiry: "Прочитать запрос"
|
29
29
|
remove_inquiry: "Вы уверены, что хотите удалить запрос от '{{name}}'?"
|
30
|
-
title: "Удалить этот
|
30
|
+
title: "Удалить этот запрос навсегда"
|
31
31
|
said: "пишет"
|
32
32
|
mark_as_spam: "Пометить как спам"
|
33
33
|
mark_as_ham: "Переместить во Входящие"
|
@@ -37,7 +37,7 @@ ru:
|
|
37
37
|
submenu:
|
38
38
|
inbox: "Входящие"
|
39
39
|
spam: "Спам"
|
40
|
-
update_notified:
|
40
|
+
update_notified: Изменить получателей уведомлений
|
41
41
|
edit_confirmation_email: "Редактировать письмо-подтверждение"
|
42
42
|
index:
|
43
43
|
search_results_for: "Найти результаты для {{query}}"
|
@@ -64,16 +64,16 @@ ru:
|
|
64
64
|
inquiry_settings_value_name: "Отправить уведомления"
|
65
65
|
explanation: "Каждый раз, когда кто-то связывается с вами посредством вашего сайта, Refinery CMS отправляет уведомление на электронную почту."
|
66
66
|
hint: "Когда поступит новый запрос, Refinery CMS отправит вам уведомление на электронную почту."
|
67
|
-
example: "Введите
|
67
|
+
example: "Введите адрес(а) электронной почты через запятую: anna@mail.ru, ivanov@yandex.ru"
|
68
68
|
confirmation_email_form:
|
69
69
|
to: "Кому"
|
70
70
|
from: "От"
|
71
71
|
subject: "Тема сообщения"
|
72
72
|
click_to_edit_subject: "Редактировать тему сообщения"
|
73
|
-
explanation: "Каждый раз, когда кто-то связывается с вами посредством вашего сайта, Refinery CMS отправляет письмо,
|
74
|
-
below_edit_email_sent:
|
75
|
-
the_customer_making_inquiry: "
|
73
|
+
explanation: "Каждый раз, когда кто-то связывается с вами посредством вашего сайта, Refinery CMS отправляет ему письмо, подтверждающее принятие запроса."
|
74
|
+
below_edit_email_sent: Ниже вы можете отредактировать отсылаемое письмо
|
75
|
+
the_customer_making_inquiry: "Клиент, делающий запрос"
|
76
76
|
message: "Сообщение"
|
77
|
-
note: "
|
77
|
+
note: "Примечание: поместите текст %name% там, где вы хотите, чтобы появилось имя клиента."
|
78
78
|
subject_form:
|
79
79
|
subject_value_name: "Тема сообщения"
|
@@ -16,7 +16,7 @@
|
|
16
16
|
</div>
|
17
17
|
<div class='field'>
|
18
18
|
<span class='label_with_help'>
|
19
|
-
<%= f.label :meta_description %>
|
19
|
+
<%= f.label :meta_description, t('.meta_description_title') %>
|
20
20
|
<%= refinery_help_tag t('.meta_description_help') %>
|
21
21
|
</span>
|
22
22
|
<%= f.text_area :meta_description, :class => 'widest', :rows => 7 %>
|
@@ -1,84 +1,84 @@
|
|
1
1
|
ru:
|
2
2
|
plugins:
|
3
3
|
refinery_pages:
|
4
|
-
title:
|
4
|
+
title: Страницы
|
5
5
|
admin:
|
6
6
|
pages_dialogs:
|
7
|
-
not_allowed:
|
7
|
+
not_allowed: У вас нет доступа к этой функции
|
8
8
|
page_link:
|
9
|
-
link_to_this_page:
|
9
|
+
link_to_this_page: Ссылка на эту страницу
|
10
10
|
link_to:
|
11
11
|
your_page:
|
12
|
-
tab_name:
|
12
|
+
tab_name: Ваша страница
|
13
13
|
web_address:
|
14
|
-
tab_name:
|
15
|
-
location:
|
16
|
-
new_window:
|
17
|
-
new_window_label:
|
18
|
-
not_sure:
|
19
|
-
step1:
|
20
|
-
step2: "
|
14
|
+
tab_name: Сайт
|
15
|
+
location: Адрес
|
16
|
+
new_window: Новое окно
|
17
|
+
new_window_label: Открывать ссылку в новом окне
|
18
|
+
not_sure: "Не уверены, что ввести в поле выше?"
|
19
|
+
step1: "Найдите страницу, на которую хотите поставить ссылку."
|
20
|
+
step2: "Скопируйте адрес из адресной строки браузера и вставьте его в поле выше"
|
21
21
|
email_address:
|
22
|
-
tab_name:
|
23
|
-
subject_line_optional:
|
24
|
-
body_optional:
|
25
|
-
not_sure:
|
26
|
-
step1: "
|
27
|
-
step2: "
|
28
|
-
step3: "
|
22
|
+
tab_name: Эл. почта
|
23
|
+
subject_line_optional: Тема (необязательно)
|
24
|
+
body_optional: Сообщение (необязательно)
|
25
|
+
not_sure: "Не уверены, что ввести в поля выше?"
|
26
|
+
step1: "Впишите или скопируйте и вставьте (например, из вашей адресной книги) адрес электронной почты, на который хотите поставить ссылку, в поле <strong>«Эл. почта»</strong>"
|
27
|
+
step2: "Используйте поле <strong>«Тема»</strong>, если хотите, чтобы в сообщении была автоматически заполнена тема письма"
|
28
|
+
step3: "Используйте поле <strong>«Сообщение»</strong>, если хотите, чтобы в сообщении была автоматически заполнено содержание письма"
|
29
29
|
your_resource:
|
30
|
-
tab_name:
|
31
|
-
link_to_this_resource:
|
30
|
+
tab_name: Ваш файл
|
31
|
+
link_to_this_resource: Ссылка на этот файл
|
32
32
|
pages:
|
33
33
|
page:
|
34
|
-
view_live:
|
35
|
-
edit_this_page:
|
36
|
-
confirm_delete_page_title:
|
37
|
-
confirm_delete_page_message: "
|
38
|
-
hidden:
|
39
|
-
draft:
|
34
|
+
view_live: Показать эту страницу вживую <br/><em>(откроется в новом окне)</em>
|
35
|
+
edit_this_page: Редактировать эту страницу
|
36
|
+
confirm_delete_page_title: Удалить эту страницу
|
37
|
+
confirm_delete_page_message: "Вы действительно хотите удалить страницу '{{title}}'?"
|
38
|
+
hidden: скрытая
|
39
|
+
draft: черновик
|
40
40
|
form_new_page_parts:
|
41
|
-
title:
|
41
|
+
title: Заголовок
|
42
42
|
form_advanced_options:
|
43
43
|
toggle_advanced_options: Click to access meta tag settings and menu options
|
44
|
-
parent_page:
|
45
|
-
title:
|
44
|
+
parent_page: Родительская страница
|
45
|
+
title: Заголовок
|
46
46
|
create_content_section: Create content section
|
47
47
|
delete_content_section: Delete content section
|
48
|
-
advanced_options:
|
49
|
-
explain_page_different_title:
|
48
|
+
advanced_options: Дополнительная настройка
|
49
|
+
explain_page_different_title: "Если вы хотите, чтобы страница имела заголовок, отличный от того, что в меню или в заголовке браузера, введите его здесь."
|
50
50
|
parent_id_title: Parent
|
51
|
-
custom_title:
|
52
|
-
title_type: "
|
51
|
+
custom_title: Другой заголовок на странице
|
52
|
+
title_type: "Тип:"
|
53
53
|
title_types:
|
54
|
-
none:
|
55
|
-
text:
|
56
|
-
image:
|
54
|
+
none: Нет
|
55
|
+
text: Текст
|
56
|
+
image: Изображение
|
57
57
|
custom_url: Custom URL
|
58
58
|
custom_url_explanation: "Enter a URL if this page links to an external site or to a pre-existing resource e.g. a contact page. <br/> Note: This URL must point to a location that exists; a new one will not be created."
|
59
|
-
draft:
|
60
|
-
show_in_menu_title:
|
61
|
-
show_in_menu_description:
|
62
|
-
show_in_menu_help: "
|
63
|
-
draft:
|
64
|
-
save_as_draft:
|
65
|
-
save:
|
66
|
-
cancel:
|
67
|
-
skip_to_first_child:
|
68
|
-
skip_to_first_child_label:
|
69
|
-
skip_to_first_child_help: "
|
70
|
-
link_url:
|
71
|
-
link_url_help: "
|
72
|
-
parent_page_help: "
|
73
|
-
custom_title_help: "
|
59
|
+
draft: Черновик
|
60
|
+
show_in_menu_title: Показ в меню
|
61
|
+
show_in_menu_description: Отображать эту страницу в меню сайта
|
62
|
+
show_in_menu_help: "Снимите отметку, если вы хотите убрать страницу из меню вашего сайта."
|
63
|
+
draft: Черновик
|
64
|
+
save_as_draft: Сохранить как черновик
|
65
|
+
save: Сохранить
|
66
|
+
cancel: Отмена
|
67
|
+
skip_to_first_child: Пропуск страницы верхнего уровня
|
68
|
+
skip_to_first_child_label: Перенаправлять посетителей на первую страницу нижнего уровня
|
69
|
+
skip_to_first_child_help: "Эта опция делает страницу связаннной с первой подстраницей. Это может быть полезно при группировке страниц."
|
70
|
+
link_url: Переадресовывать на другой сайт или страницу
|
71
|
+
link_url_help: "Если вы хотите, чтобы при переходе на эту страницу пользователь переадресовывался на другой сайт или страницу, введите адрес, например, http://google.com, иначе оставьте поле пустым"
|
72
|
+
parent_page_help: "Вы можете поместить эту страницу под другую, выбрав ее в списке. Если вы хотите, чтобы эта страница была самого верхнего уровня, оставьте выбранное пустым"
|
73
|
+
custom_title_help: "Если вы хотите, чтобы страница имела заголовок, отличный от того, что в меню или в заголовке браузера, выберите «Текст» и введите его здесь."
|
74
74
|
form_advanced_options_seo:
|
75
|
-
seo:
|
76
|
-
seo_override_title:
|
77
|
-
seo_override_title_help: "
|
78
|
-
meta_keywords_title:
|
79
|
-
meta_keywords_help:
|
80
|
-
meta_description_title:
|
81
|
-
meta_description_help:
|
75
|
+
seo: Поисковая оптимизация
|
76
|
+
seo_override_title: Заголовок браузера
|
77
|
+
seo_override_title_help: "Введите заголовок из 5–10 слов, которые описывают текст на этой странице."
|
78
|
+
meta_keywords_title: Ключевые слова
|
79
|
+
meta_keywords_help: "Введите 5–10 ключевых слов, которые относятся к этой странице, разделяя запятой."
|
80
|
+
meta_description_title: Описание
|
81
|
+
meta_description_help: "Введите два-три коротких предложения, описывающих страницу."
|
82
82
|
js:
|
83
83
|
content_section:
|
84
84
|
create: Create Content Section
|
@@ -86,9 +86,9 @@ ru:
|
|
86
86
|
title_empty: "You have not entered a title for the content section, please enter one."
|
87
87
|
confirm_delete: "This will remove the content section {{section_name}} when the page is saved and erase all content that has been entered into it, Are you sure?"
|
88
88
|
index:
|
89
|
-
create_new_page:
|
90
|
-
reorder_pages:
|
91
|
-
reorder_pages_done:
|
89
|
+
create_new_page: Создать новую страницу
|
90
|
+
reorder_pages: Изменить порядок страниц
|
91
|
+
reorder_pages_done: Сохранить такой порядок страниц
|
92
92
|
sorry_no_results: Sorry! There are no results found.
|
93
93
|
no_pages_yet: There are no pages yet. Click "Create New Page" to add your first page.
|
94
94
|
activerecord:
|
@@ -1,20 +1,20 @@
|
|
1
1
|
ru:
|
2
2
|
welcome:
|
3
|
-
there_are_no_users: "Ни одного пользователя не создано. Вы
|
3
|
+
there_are_no_users: "Ни одного пользователя не создано. Вы будете первым."
|
4
4
|
remember_admin_location: "Запомнить администратора как:"
|
5
5
|
lets_start: "Ок, давайте введем настройки для входа в систему..."
|
6
6
|
continue: "Далее..."
|
7
7
|
admin:
|
8
8
|
menu:
|
9
|
-
reorder_menu:
|
10
|
-
reorder_menu_done:
|
11
|
-
search:
|
12
|
-
search_submit:
|
13
|
-
search_results_for: "Результаты поиска для
|
14
|
-
search_no_results:
|
9
|
+
reorder_menu: Изменить порядок в меню
|
10
|
+
reorder_menu_done: Сохранить такой порядок в меню
|
11
|
+
search: Поиск
|
12
|
+
search_submit: Далее
|
13
|
+
search_results_for: "Результаты поиска для «{{query}}»"
|
14
|
+
search_no_results: Ничего не найдено
|
15
15
|
images:
|
16
16
|
existing_image:
|
17
|
-
submit_insert:
|
17
|
+
submit_insert: Вставить
|
18
18
|
refinery:
|
19
19
|
other: "Иначе {{what}}"
|
20
20
|
reorder: "Поменять порядок {{what}}"
|
@@ -25,24 +25,24 @@ ru:
|
|
25
25
|
destroyed: "{{what}} уничтожен(а)."
|
26
26
|
shared:
|
27
27
|
site_bar:
|
28
|
-
log_out:
|
29
|
-
switch_to_your_website:
|
30
|
-
switch_to_your_website_editor:
|
28
|
+
log_out: Выйти
|
29
|
+
switch_to_your_website: Перейти на сайт
|
30
|
+
switch_to_your_website_editor: Перейти в панель управления
|
31
31
|
admin:
|
32
32
|
message:
|
33
|
-
close:
|
33
|
+
close: Закрыть
|
34
34
|
continue_editing:
|
35
|
-
save_and_continue_editing:
|
35
|
+
save_and_continue_editing: Сохранить и продолжить
|
36
36
|
form_actions:
|
37
|
-
or:
|
38
|
-
save:
|
39
|
-
or_cancel:
|
40
|
-
cancel:
|
41
|
-
or_continue:
|
37
|
+
or: или
|
38
|
+
save: Сохранить
|
39
|
+
or_cancel: или
|
40
|
+
cancel: Отмена
|
41
|
+
or_continue: или
|
42
42
|
cancel_lose_changes: "Cancelling will lose all changes you've made to this {{object_name}}"
|
43
|
-
delete:
|
44
|
-
previous:
|
45
|
-
next:
|
43
|
+
delete: Удалить
|
44
|
+
previous: Предыдущее
|
45
|
+
next: Следующее
|
46
46
|
image_picker:
|
47
47
|
none_selected: "There is currently no {{what}} selected, please click here to add one."
|
48
48
|
remove_current: "Remove current {{what}}"
|
@@ -57,5 +57,5 @@ ru:
|
|
57
57
|
remove_current: "Remove current {{what}}"
|
58
58
|
resource: resource
|
59
59
|
message:
|
60
|
-
close:
|
61
|
-
close_this_message:
|
60
|
+
close: Закрыть
|
61
|
+
close_this_message: Закрыть это сообщение
|
@@ -1,9 +1,9 @@
|
|
1
|
-
Refinery::Plugin.register do |plugin|
|
2
|
-
plugin.name = "<%= class_name.pluralize.underscore.downcase %>"
|
3
|
-
plugin.activity = {
|
4
|
-
:class => <%= class_name %><% if attributes.first.name != "title"
|
5
|
-
:title => '<%=
|
6
|
-
<% end %>}
|
7
|
-
|
8
|
-
plugin.directory = directory # tell refinery where this plugin is located
|
9
|
-
end
|
1
|
+
Refinery::Plugin.register do |plugin|
|
2
|
+
plugin.name = "<%= class_name.pluralize.underscore.downcase %>"
|
3
|
+
plugin.activity = {
|
4
|
+
:class => <%= class_name %><% if attributes.first.name != "title" %>,<% attrs = attributes.select { |a| a.type.to_s == "string" }%>
|
5
|
+
:title => '<%= (attrs.empty? ? "" : attrs.first.name) %>'
|
6
|
+
<% end %>}
|
7
|
+
|
8
|
+
plugin.directory = directory # tell refinery where this plugin is located
|
9
|
+
end
|
@@ -77,8 +77,8 @@ namespace :refinery do
|
|
77
77
|
puts "rake refinery:override controller=pages"
|
78
78
|
puts "rake refinery:override model=page"
|
79
79
|
puts "rake refinery:override view=pages/home theme=demolicious"
|
80
|
-
puts "rake refinery:override
|
81
|
-
puts "rake refinery:override shared/_menu_branch"
|
80
|
+
puts "rake refinery:override view=**/*menu"
|
81
|
+
puts "rake refinery:override view=shared/_menu_branch"
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
@@ -400,4 +400,4 @@ end
|
|
400
400
|
desc 'Removes trailing whitespace across the entire application.'
|
401
401
|
task :whitespace do
|
402
402
|
sh %{find . -name '*.*rb' -exec sed -i '' 's/\t/ /g' {} \\; -exec sed -i '' 's/ *$//g' {} \\; }
|
403
|
-
end
|
403
|
+
end
|
@@ -91,9 +91,9 @@ This bit is important. It's where all the controllers are held to manage pages i
|
|
91
91
|
|
92
92
|
end
|
93
93
|
|
94
|
-
This single controller allows us to create, read, update and delete pages in the backend. With a little bit of Refinery magic we utilise the [crudify mixin](http://github.com/resolve/refinerycms/blob/
|
94
|
+
This single controller allows us to create, read, update and delete pages in the backend. With a little bit of Refinery magic we utilise the [crudify mixin](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/crud.md) which gives us all of these regular features out of the box.
|
95
95
|
|
96
|
-
How crudify works is an entire topic of it's own. Checkout the [crudify documentation](http://github.com/resolve/refinerycms/blob/
|
96
|
+
How crudify works is an entire topic of it's own. Checkout the [crudify documentation](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/crud.md) to get an insight into how that works.
|
97
97
|
|
98
98
|
### app/views and app/helpers
|
99
99
|
|
@@ -18,6 +18,6 @@ require_dependency 'refinery/base_presenter'
|
|
18
18
|
].uniq.each do |path|
|
19
19
|
Dir[path].each do |presenters_path|
|
20
20
|
$LOAD_PATH << presenters_path
|
21
|
-
::ActiveSupport::Dependencies.
|
21
|
+
::ActiveSupport::Dependencies.autoload_paths << presenters_path
|
22
22
|
end
|
23
23
|
end
|
@@ -1,45 +1,45 @@
|
|
1
1
|
ru:
|
2
2
|
activerecord:
|
3
3
|
models:
|
4
|
-
refinery_setting:
|
4
|
+
refinery_setting: Параметр системы
|
5
5
|
attributes:
|
6
6
|
refinery_setting:
|
7
|
-
name:
|
8
|
-
value:
|
9
|
-
restricted:
|
7
|
+
name: Имя
|
8
|
+
value: Значение
|
9
|
+
restricted: Ограничение доступа
|
10
10
|
admin:
|
11
11
|
refinery_settings:
|
12
12
|
refinery_setting:
|
13
|
-
edit:
|
14
|
-
confirm:
|
15
|
-
remove:
|
13
|
+
edit: Редактировать параметр
|
14
|
+
confirm: "Вы уверены, что хотите удалить этот параметр навсегда?"
|
15
|
+
remove: "Удалить этот параметр навсегда"
|
16
16
|
index:
|
17
|
-
new: "Создать
|
18
|
-
empty_set: "
|
19
|
-
create_first: "Нажмите
|
17
|
+
new: "Создать новый параметр"
|
18
|
+
empty_set: "Параметров пока что нет."
|
19
|
+
create_first: "Нажмите «{{link}}», чтобы добавить первый параметр."
|
20
20
|
form:
|
21
|
-
restart_may_be_in_order: "<strong>Пожалуйста, обратите
|
22
|
-
yes_make_this_setting_restricted: "Да, сделать
|
21
|
+
restart_may_be_in_order: "<strong>Пожалуйста, обратите внимание,</strong> что вам может понадобится перезапустить сайт, чтобы параметр вступил в силу."
|
22
|
+
yes_make_this_setting_restricted: "Да, сделать этот параметр доступным только суперпользователям."
|
23
23
|
help:
|
24
|
-
restricted: "Это сделает
|
24
|
+
restricted: "Это сделает параметр видимым и доступным для редактирования только для суперпользователей (как вы)."
|
25
25
|
help:
|
26
|
-
activity_show_limit: "Это ограничит количество
|
27
|
-
analytics_page_code: "Этот код активирует средства статистики (отслеживание) от Google Analitics на вашем сайте. Если оставить
|
26
|
+
activity_show_limit: "Это ограничит количество последних действий, отображающихся в «Сводке»."
|
27
|
+
analytics_page_code: "Этот код активирует средства статистики (отслеживание) от Google Analitics на вашем сайте. Если оставить параметр пустым, либо задать UA-xxxxxx-x, то эта функция отключается, и удаленные вызовы к Google Analitics не производится."
|
28
28
|
image_dialogue_sizes: "Эта установка вызывает диалоговое окно вставки картинки. Вы должны загружать миниатюры разных размеров, а также изменять их."
|
29
|
-
image_thumbnails: "Если вы измените
|
30
|
-
menu_hide_children: "Спрятать все
|
31
|
-
new_page_parts: "
|
32
|
-
page_title: "Очень сложные
|
33
|
-
page_advanced_options_include_seo: "
|
34
|
-
preferred_image_view: "
|
35
|
-
refinery_enable_backend_reordering: "Вы можете убрать возможность изменения порядка
|
36
|
-
refinery_menu_cache_action_suffix: "
|
37
|
-
show_contact_privacy_link: "Вы можете
|
38
|
-
site_name: "Это название сайта, которое будет отображаться в
|
29
|
+
image_thumbnails: "Если вы измените этот параметр, вам нужно будет перегенерировать изображения с помощью команды rake images:regenerate (или rake images:update, если вы только добавили больше миниатюр), иначе параметр не будет применен к существующим изображениям."
|
30
|
+
menu_hide_children: "Спрятать все подстраницы из меню, даже если они есть."
|
31
|
+
new_page_parts: "Разрешить добавлять новые части страницы (колонки содержимого) в редакторе страниц."
|
32
|
+
page_title: "Очень сложные параметры для настройки названия страницы. Здесь вы можете задать свой класс CSS или тег, либо разбить страницу на фрагменты в соответствии с их происхождением."
|
33
|
+
page_advanced_options_include_seo: "Это управляет отображением параметров поисковой оптимизации в дополнительной настройке страницы."
|
34
|
+
preferred_image_view: "Этот параметр устанавливает вид отображения в модуле изображений: grid для отображения сеткой и list для отображения списком. В этом модуле также есть кнопка автоматизации данного процесса."
|
35
|
+
refinery_enable_backend_reordering: "Вы можете убрать возможность изменения порядка модулей в меню с помощью данного параметра."
|
36
|
+
refinery_menu_cache_action_suffix: "Этот параметр задает ключ, который применяется для кеширования меню сайта. Если вы используете готовую тему, то лучше не изменять этот параметр, так как тема сама будет управлять этим."
|
37
|
+
show_contact_privacy_link: "Вы можете показать или спрятать ссылку на страницу политики конфиденциальности возле формы обратной связи."
|
38
|
+
site_name: "Это название вашего сайта, которое будет отображаться в верхней части страниц, а так же внизу в знаке охраны авторского права для некоторых тем."
|
39
39
|
theme: "Введите имя темы, которую вы хотите использовать. Эта тема сразу же вступит в силу и установки должны корректно идентифицировать существующую тему для работы."
|
40
|
-
use_google_ajax_libraries: "Если вы хотите использовать Google
|
41
|
-
use_marketable_urls: "Изменяет
|
42
|
-
use_resource_caching: "Рекомендуется включить
|
40
|
+
use_google_ajax_libraries: "Если вы хотите использовать сервера Google в качестве источника некоторых джаваскриптовских библиотек, введите true."
|
41
|
+
use_marketable_urls: "Изменяет адрес страниц с /pages/about до просто /about и автоматически разрешает конфликты с другими модулями."
|
42
|
+
use_resource_caching: "Рекомендуется включить этот параметр в рабочем режиме сайта, чтобы файлы джаваскриптов и таблиц стилей собирались в единый пакет, что снизит число запросов к вашему сайту, тем самым увеличится его скорость."
|
43
43
|
plugins:
|
44
44
|
refinery_settings:
|
45
|
-
title:
|
45
|
+
title: Параметры
|
@@ -1,33 +1,33 @@
|
|
1
1
|
ru:
|
2
2
|
plugins:
|
3
3
|
refinery_files:
|
4
|
-
title:
|
5
|
-
must_choose_file:
|
4
|
+
title: Файлы
|
5
|
+
must_choose_file: Вы должны выбрать файл для загрузки
|
6
6
|
file_should_be_smaller_than_max_file_size: "Файлы должны быть по размеру меньше чем {{max_file_size}}"
|
7
7
|
admin:
|
8
8
|
resources:
|
9
9
|
form:
|
10
|
-
file_to_upload:
|
11
|
-
download_current:
|
12
|
-
or:
|
10
|
+
file_to_upload: Загружаемый файл
|
11
|
+
download_current: Скачать текущий файл
|
12
|
+
or: или
|
13
13
|
replace: ", заменить его на вот этот..."
|
14
|
-
maximum_file_size: "Максимальный размер файла {{megabytes}}
|
14
|
+
maximum_file_size: "Максимальный размер файла — {{megabytes}} МБ."
|
15
15
|
resource:
|
16
16
|
download: "Скачать файл ({{size}})"
|
17
|
-
edit:
|
17
|
+
edit: Редактировать файл
|
18
18
|
delete:
|
19
|
-
message: "Вы уверены, что хотите удалить
|
20
|
-
title:
|
19
|
+
message: "Вы уверены, что хотите удалить «{{title}}»?"
|
20
|
+
title: Удалить этот файл навсегда
|
21
21
|
index:
|
22
|
-
upload_new:
|
23
|
-
no_files_yet: "Здесь пока нет файлов. Нажмите
|
22
|
+
upload_new: Загрузить новый файл
|
23
|
+
no_files_yet: "Здесь пока нет файлов. Нажмите «Загрузить новые файлы», чтобы добавить первый файл."
|
24
24
|
insert:
|
25
|
-
existing:
|
26
|
-
new:
|
27
|
-
previous:
|
28
|
-
next:
|
29
|
-
or:
|
30
|
-
cancel:
|
25
|
+
existing: Существующий файл
|
26
|
+
new: Новый файл
|
27
|
+
previous: Предыдущий
|
28
|
+
next: Следующий
|
29
|
+
or: или
|
30
|
+
cancel: Отмена
|
31
31
|
existing_resource:
|
32
|
-
link_to_resource:
|
33
|
-
submit_insert:
|
32
|
+
link_to_resource: Поставить ссылку на этот ресурс
|
33
|
+
submit_insert: Вставить
|
@@ -6,4 +6,4 @@ The Resources plugin allows you to upload files such as PDFs and other files you
|
|
6
6
|
|
7
7
|
## How it works
|
8
8
|
|
9
|
-
The resources plugins is made up of [attachment_fu](http://github.com/technoweenie/attachment_fu) for handling the store and upload of the images and the [Crudfiy mixin](http://github.com/resolve/refinerycms/blob/
|
9
|
+
The resources plugins is made up of [attachment_fu](http://github.com/technoweenie/attachment_fu) for handling the store and upload of the images and the [Crudfiy mixin](http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/refinery/crud.md).
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<%# For the best way to modify this page with your own markup read %>
|
2
|
-
<%# http://github.com/resolve/refinerycms/blob/
|
2
|
+
<%# http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/themes/readme.md %>
|
3
3
|
|
4
4
|
<%= render :partial => "/shared/content_page" %>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<%# For the best way to modify this page with your own markup read %>
|
2
|
-
<%# http://github.com/resolve/refinerycms/blob/
|
2
|
+
<%# http://github.com/resolve/refinerycms/blob/rails2-stable/vendor/plugins/themes/readme.md %>
|
3
3
|
|
4
4
|
<%= render :partial => "/shared/content_page" %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refinerycms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 7
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
9
|
- 7
|
10
|
-
-
|
11
|
-
version: 0.9.7.
|
10
|
+
- 14
|
11
|
+
version: 0.9.7.14
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Resolve Digital
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2010-
|
21
|
+
date: 2010-10-12 00:00:00 +13:00
|
22
22
|
default_executable:
|
23
23
|
dependencies: []
|
24
24
|
|