active_scaffold 3.7.0 → 3.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.rdoc +24 -0
- data/README.md +2 -0
- data/app/assets/javascripts/jquery/active_scaffold.js +68 -62
- data/app/assets/stylesheets/active_scaffold_layout.css +1 -1
- data/app/views/active_scaffold_overrides/_form_association_record.html.erb +2 -1
- data/app/views/active_scaffold_overrides/_render_field.js.erb +9 -6
- data/config/locales/de.yml +6 -3
- data/config/locales/en.yml +3 -0
- data/config/locales/es.yml +3 -0
- data/config/locales/fr.yml +9 -6
- data/config/locales/hu.yml +20 -17
- data/config/locales/ja.yml +25 -22
- data/config/locales/ru.yml +17 -14
- data/lib/active_scaffold/actions/update.rb +3 -3
- data/lib/active_scaffold/attribute_params.rb +7 -17
- data/lib/active_scaffold/bridges/active_storage/form_ui.rb +6 -6
- data/lib/active_scaffold/bridges/active_storage/list_ui.rb +7 -7
- data/lib/active_scaffold/bridges/ancestry/ancestry_bridge.rb +2 -2
- data/lib/active_scaffold/bridges/calendar_date_select/as_cds_bridge.rb +12 -14
- data/lib/active_scaffold/bridges/carrierwave/form_ui.rb +2 -2
- data/lib/active_scaffold/bridges/carrierwave/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/chosen/helpers.rb +10 -10
- data/lib/active_scaffold/bridges/country_select/country_select_bridge_helper.rb +7 -7
- data/lib/active_scaffold/bridges/date_picker/ext.rb +20 -9
- data/lib/active_scaffold/bridges/date_picker/helper.rb +5 -5
- data/lib/active_scaffold/bridges/date_picker.rb +2 -0
- data/lib/active_scaffold/bridges/dragonfly/form_ui.rb +3 -3
- data/lib/active_scaffold/bridges/dragonfly/list_ui.rb +5 -5
- data/lib/active_scaffold/bridges/file_column/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/list_ui.rb +3 -3
- data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +1 -1
- data/lib/active_scaffold/bridges/paperclip/form_ui.rb +3 -3
- data/lib/active_scaffold/bridges/paperclip/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/record_select/helpers.rb +15 -15
- data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +6 -6
- data/lib/active_scaffold/bridges/usa_state_select/usa_state_select_helper.rb +5 -5
- data/lib/active_scaffold/bridges.rb +0 -3
- data/lib/active_scaffold/constraints.rb +22 -7
- data/lib/active_scaffold/core.rb +5 -3
- data/lib/active_scaffold/data_structures/column.rb +108 -23
- data/lib/active_scaffold/engine.rb +19 -1
- data/lib/active_scaffold/extensions/routing_mapper.rb +1 -0
- data/lib/active_scaffold/finder.rb +142 -27
- data/lib/active_scaffold/helpers/controller_helpers.rb +9 -4
- data/lib/active_scaffold/helpers/form_column_helpers.rb +114 -94
- data/lib/active_scaffold/helpers/human_condition_helpers.rb +48 -14
- data/lib/active_scaffold/helpers/list_column_helpers.rb +34 -18
- data/lib/active_scaffold/helpers/search_column_helpers.rb +131 -55
- data/lib/active_scaffold/helpers/show_column_helpers.rb +6 -6
- data/lib/active_scaffold/orm_checks.rb +21 -1
- data/lib/active_scaffold/version.rb +1 -1
- data/lib/active_scaffold.rb +4 -2
- data/test/bridges/date_picker_test.rb +3 -2
- data/test/bridges/paperclip_test.rb +3 -2
- data/test/bridges/tiny_mce_test.rb +4 -2
- data/test/helpers/form_column_helpers_test.rb +7 -5
- data/test/helpers/search_column_helpers_test.rb +2 -1
- data/test/misc/constraints_test.rb +1 -0
- data/test/misc/finder_test.rb +38 -0
- metadata +2 -6
- data/config/brakeman.ignore +0 -26
- data/config/brakeman.yml +0 -3
- data/config/i18n-tasks.yml +0 -121
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +0 -221
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1c01273f43a7214112a02b40bb586bba990baa0960e75977bd74263ef53d707
|
4
|
+
data.tar.gz: aa8a443eb2b4f64d368ebce26f1fa53667608dc9185fc2ef76ed365a11ee9224
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 187a8c7a33e53747b87035c156776b5d0a4318eb2937fd40e80e73fc4571ea0a4c7d514c8d7f6bbafd361311b55f1588470017465dae1ed534221767b04f328e
|
7
|
+
data.tar.gz: 50b05425009f23b58e53d2984aebe9e7e6b16909638ae48d20ae866137a99e5b83579783f30c40084cb9aadc176dc9f1dbb966b3de516298165ce926def47e60
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
= 3.7.2
|
2
|
+
- Fix routes
|
3
|
+
|
4
|
+
= 3.7.1
|
5
|
+
- Nullable boolean columns default to use :boolean form_ui instead of :checkbox
|
6
|
+
- Display the value set in options[:include_blank] for boolean columns when value is nil, to match the label in the form
|
7
|
+
- Support :select_multiple in search_ui, and :draggable in form_ui and search_ui, as shorthands
|
8
|
+
- Support assigning options next to the UI type in form_ui, list_ui, show_ui, search_ui, so they are used instead of common options
|
9
|
+
- Support :refresh_link option in :select form_ui for non-association columns
|
10
|
+
- Support using a hash in :refresh_link option instead of true, with html
|
11
|
+
- Support select with multiple attribute for plural associations using :select form_ui, instead of checkboxes, using {html_options: {multiple: true}}, or :select_multiple
|
12
|
+
- Support attributes= in column, to set multiple settings with a hash
|
13
|
+
- Fix update_columns in type column of polymorphic association, when foreign key has value, it will look for old id with new type and may fail
|
14
|
+
- Support changing between subform and form_ui with update_columns
|
15
|
+
- Deprecate automatic :select form_ui for associations in subforms, set :select in the controller config to remove deprecation warning, or enable new behaviour of nested subforms with ActiveScaffold.nested_subforms = true
|
16
|
+
- Some fixes for human conditions with some search UI
|
17
|
+
- Add more string comparators in field search
|
18
|
+
- Support date and datetime searches with operators using html5 inputs, as was supported when using date picker. The different bridges, date_picker and calendar_date_select, will just replace the input fields.
|
19
|
+
- Support disabling default usage of jquery UI date picker, in case of sortable is wanted, so jquery-ui-rails is loaded, but wants to use HTML5 date input.
|
20
|
+
- Support multiple id in constraints for polymorphic association, and don't register constrained field if value is an array.
|
21
|
+
- Support subqueries in field_search, with new syntax for search_sql, so search in polymorphic associations is possible.
|
22
|
+
- Better support for active model attributes
|
23
|
+
- Load files on boot using initializer blocks and use hooks to patch rails classes, run hook :active_scaffold_routing when routing is loaded so other plugins can extend routes
|
24
|
+
|
1
25
|
= 3.7.0
|
2
26
|
- Drop support for rails < 5.2 and ruby < 2.5
|
3
27
|
- Support adding settings for chosen and tinyMCE in initializer (ActiveScaffold.js_config) or JavaScript code (ActiveScaffold.config, needed for callbacks)
|
data/README.md
CHANGED
@@ -62,6 +62,8 @@ rails db:migrate
|
|
62
62
|
|
63
63
|
Run the app and visit localhost:3000/<plural_model>
|
64
64
|
|
65
|
+
It's recommended to call `clear_helpers` in ApplicationController, as some helpers defined by ActiveScaffold, such as active_scaffold_enum_options, options_for_association_conditions, association_klass_scoped, are usually overrided for different controllers, and it may cause issues when all helper modules are available to every controller, specially when models have associations or columns with the same name but need different code for those overrided helper methods.
|
66
|
+
|
65
67
|
Threadsafe
|
66
68
|
----------
|
67
69
|
|
@@ -1,34 +1,34 @@
|
|
1
1
|
jQuery(document).ready(function($) {
|
2
|
-
/* It should not be needed, latest chrome is caching by itself
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
2
|
+
/* It should not be needed, latest chrome is caching by itself
|
3
|
+
if (ActiveScaffold.config.conditional_get) jQuery.ajaxSettings.ifModified = true;
|
4
|
+
jQuery(document).on('ajax:beforeSend', function(event, xhr, settings){
|
5
|
+
xhr.cacheUrl = settings.url;
|
6
|
+
});
|
7
|
+
jQuery(document).on('ajax:success', function(event, data, status, xhr){
|
8
|
+
var etag=xhr.getResponseHeader("etag");
|
9
|
+
if (etag && xhr.status==304) {
|
10
|
+
var key = etag + xhr.cacheUrl;
|
11
|
+
xhr.responseText=jQuery(document).data(key);
|
12
|
+
var conv = jQuery(document).data('type-'+key);
|
13
|
+
if (conv) conv(xhr.responseText);
|
14
|
+
}
|
15
|
+
});
|
16
|
+
jQuery(document).ajaxComplete(function(event, xhr, settings){
|
17
|
+
var etag=xhr.getResponseHeader("etag");
|
18
|
+
if (etag && settings.ifModified && xhr.responseText) {
|
19
|
+
var key = etag + xhr.cacheUrl;
|
20
|
+
jQuery(document).data(key, xhr.responseText);
|
21
|
+
var contentType = xhr.getResponseHeader('Content-Type');
|
22
|
+
for(s in settings.contents) {
|
23
|
+
if (settings.contents[s].test(contentType)) {
|
24
|
+
var conv = settings.converters['text '+s];
|
25
|
+
if (typeof conv == 'function') jQuery(document).data('type-'+key, conv);
|
26
|
+
break;
|
27
|
+
}
|
27
28
|
}
|
28
29
|
}
|
29
|
-
}
|
30
|
-
|
31
|
-
*/
|
30
|
+
});
|
31
|
+
*/
|
32
32
|
if (/1\.[2-7]\..*/.test(jQuery().jquery)) {
|
33
33
|
var error = 'ActiveScaffold requires jquery 1.8.0 or greater, please use jquery-rails 2.1.x gem or greater';
|
34
34
|
if (typeof console != 'undefined') console.error(error);
|
@@ -198,7 +198,7 @@ jQuery(document).ready(function($) {
|
|
198
198
|
var td = jQuery(this), span = td.find('span.in_place_editor_field');
|
199
199
|
if (event.type == 'mouseenter') {
|
200
200
|
if (td.hasClass('empty') || typeof(span.data('editInPlace')) === 'undefined') td.find('span').addClass("hover");
|
201
|
-
|
201
|
+
}
|
202
202
|
if (event.type == 'mouseleave') {
|
203
203
|
if (td.hasClass('empty') || typeof(span.data('editInPlace')) === 'undefined') td.find('span').removeClass("hover");
|
204
204
|
}
|
@@ -266,6 +266,7 @@ jQuery(document).ready(function($) {
|
|
266
266
|
var element = jQuery(this);
|
267
267
|
var form_element = element.prev();
|
268
268
|
var value;
|
269
|
+
if (form_element.is(".field_with_errors")) form_element = form_element.children().last();
|
269
270
|
if (form_element.is(".checkbox-list")) {
|
270
271
|
value = form_element.find(':checked').map(function(item){return $(this).val();}).toArray();
|
271
272
|
form_element = form_element.parent().find("input:checkbox"); // parent is needed for draggable-list, checked list may be empty
|
@@ -400,7 +401,7 @@ jQuery(document).ready(function($) {
|
|
400
401
|
}
|
401
402
|
if (ActiveScaffold.config.warn_changes) ActiveScaffold.setup_warn_changes();
|
402
403
|
jQuery(document).on('as:element_updated as:element_created', function(e, action_link) {
|
403
|
-
|
404
|
+
ActiveScaffold.setup(e.target);
|
404
405
|
});
|
405
406
|
jQuery(document).on('as:element_removed', function(e, action_link) {
|
406
407
|
setTimeout(ActiveScaffold.update_floating_form_footer); // delay so form is already removed
|
@@ -443,7 +444,7 @@ jQuery(document).on('turbolinks:load turbo:load', function($) {
|
|
443
444
|
for (var name in prop) {
|
444
445
|
// Check if we're overwriting an existing function
|
445
446
|
prototype[name] = typeof prop[name] == "function" &&
|
446
|
-
|
447
|
+
typeof _super[name] == "function" && fnTest.test(prop[name]) ?
|
447
448
|
(function(name, fn){
|
448
449
|
return function() {
|
449
450
|
var tmp = this._super;
|
@@ -930,25 +931,30 @@ var ActiveScaffold = {
|
|
930
931
|
render_form_field: function(source, content, options) {
|
931
932
|
if (typeof(source) == 'string') source = '#' + source;
|
932
933
|
var source = jQuery(source);
|
933
|
-
var element = source.closest('.sub-form-record'), selector = '';
|
934
|
-
if (
|
935
|
-
|
934
|
+
var element, container = source.closest('.sub-form-record'), selector = '';
|
935
|
+
if (container.length == 0) {
|
936
|
+
container = source.closest('form > ol.form');
|
936
937
|
selector = 'li';
|
937
938
|
}
|
938
939
|
// find without entering new subforms
|
939
|
-
|
940
|
-
|
940
|
+
element = container.find(selector + ':not(.sub-form) .' + options.field_class).first();
|
941
|
+
if (element.length)
|
942
|
+
element = element.closest('dl');
|
943
|
+
else if (options.subform_class)
|
944
|
+
element = container.find(selector + '.' + options.subform_class).first();
|
941
945
|
|
942
946
|
if (element.length) {
|
943
|
-
|
944
|
-
|
945
|
-
var li = element.closest('li');
|
946
|
-
li[options.hidden ? 'addClass' : 'removeClass'].call(li, 'hidden')
|
947
|
-
}
|
948
|
-
this.replace(element.closest('dl'), content);
|
949
|
-
} else {
|
947
|
+
var parent = element.is('li, td') ? element : element.parent('li, td');
|
948
|
+
if (element.is('li'))
|
950
949
|
this.replace_html(element, content);
|
950
|
+
else
|
951
|
+
this.replace(element, content);
|
952
|
+
if (parent.is('li')) {
|
953
|
+
for (var attr in options.attrs)
|
954
|
+
parent.attr(attr, options.attrs[attr]);
|
951
955
|
}
|
956
|
+
if (typeof(options.hidden) != 'undefined')
|
957
|
+
parent[options.hidden ? 'addClass' : 'removeClass'].call(parent, 'hidden')
|
952
958
|
}
|
953
959
|
},
|
954
960
|
|
@@ -981,23 +987,23 @@ var ActiveScaffold = {
|
|
981
987
|
// test editor is open
|
982
988
|
if (typeof(span.data('editInPlace')) === 'undefined') {
|
983
989
|
var options = {show_buttons: true,
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
990
|
+
hover_class: 'hover',
|
991
|
+
element_id: 'editor_id',
|
992
|
+
ajax_data_type: "script",
|
993
|
+
delegate: {
|
994
|
+
willCloseEditInPlace: function(span, options) {
|
995
|
+
if (span.data('addEmptyOnCancel')) span.closest('td').addClass('empty');
|
996
|
+
span.closest('tr').find('td.actions .loading-indicator').css('visibility','visible');
|
997
|
+
},
|
998
|
+
didCloseEditInPlace: function(span, options) {
|
999
|
+
span.closest('tr').find('td.actions .loading-indicator').css('visibility','hidden');
|
1000
|
+
}
|
1001
|
+
},
|
1002
|
+
update_value: 'value'},
|
1003
|
+
csrf_param = jQuery('meta[name=csrf-param]').first(),
|
1004
|
+
csrf_token = jQuery('meta[name=csrf-token]').first(),
|
1005
|
+
my_parent = span.parent(),
|
1006
|
+
column_heading = null;
|
1001
1007
|
|
1002
1008
|
if(!(my_parent.is('td') || my_parent.is('th'))){
|
1003
1009
|
my_parent = span.parents('td').eq(0);
|
@@ -1011,8 +1017,8 @@ var ActiveScaffold = {
|
|
1011
1017
|
}
|
1012
1018
|
|
1013
1019
|
var render_url = column_heading.data('ie-render-url'),
|
1014
|
-
|
1015
|
-
|
1020
|
+
mode = column_heading.data('ie-mode'),
|
1021
|
+
record_id = span.data('ie-id') || '';
|
1016
1022
|
|
1017
1023
|
ActiveScaffold.read_inplace_edit_heading_attributes(column_heading, options);
|
1018
1024
|
|
@@ -52,7 +52,8 @@
|
|
52
52
|
next unless in_subform?(column, parent_record, record_column)
|
53
53
|
columns_length += 1
|
54
54
|
show_actions = true
|
55
|
-
if column.association && column.form_ui.nil?
|
55
|
+
if !ActiveScaffold.nested_subforms && !readonly && column.association && column.form_ui.nil?
|
56
|
+
ActiveSupport::Deprecation.warn "Nested subforms are allowed now, set form_ui = :select for #{column.name} in controller for #{config.model.name}"
|
56
57
|
column = column.dup unless ActiveScaffold.threadsafe
|
57
58
|
column.form_ui = :select
|
58
59
|
end
|
@@ -14,11 +14,14 @@
|
|
14
14
|
renders_as = column_renders_as(column)
|
15
15
|
form_ui = column.form_ui
|
16
16
|
end
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
options = {field_class: "#{column.name}-input", hidden: form_ui == :hidden}
|
18
|
+
options[:subform_class] = "#{column.name}-sub-form" if column.association
|
19
|
+
options[:attrs] =
|
20
|
+
if renders_as == :subform
|
21
|
+
active_scaffold_subform_attributes(column, (column.css_class unless column.css_class.is_a?(Proc)))
|
22
|
+
else
|
23
|
+
{class: 'form-element', id: ''}
|
24
|
+
end
|
22
25
|
html =
|
23
26
|
if scope
|
24
27
|
readonly = @record.readonly? || !@record.authorized_for?(:crud_type => :update)
|
@@ -34,5 +37,5 @@
|
|
34
37
|
|
35
38
|
ActiveScaffold.render_form_field('<%= source_id %>','<%= escape_javascript(html) %>', <%= options.to_json.html_safe %>);
|
36
39
|
<%if column.update_columns && !column.update_columns.empty?%>
|
37
|
-
|
40
|
+
<%= render(partial: "render_field", collection: column.update_columns, locals: {source_id: source_id, scope: scope})%>
|
38
41
|
<%end%>
|
data/config/locales/de.yml
CHANGED
@@ -47,6 +47,9 @@ de:
|
|
47
47
|
deleted_model: "%{model} gelöscht"
|
48
48
|
deleted_records: Gelöschte Records auflisten
|
49
49
|
delimiter: Trennzeichen
|
50
|
+
doesnt_begin_with:
|
51
|
+
doesnt_contain:
|
52
|
+
doesnt_end_with:
|
50
53
|
download: Herunterladen
|
51
54
|
edit: Bearbeiten
|
52
55
|
ends_with: Endet
|
@@ -138,10 +141,10 @@ de:
|
|
138
141
|
yesterday: Gestern
|
139
142
|
date:
|
140
143
|
formats:
|
141
|
-
month:
|
144
|
+
month: "%B"
|
142
145
|
quarter: Quartal %{num}
|
143
|
-
week:
|
144
|
-
year_month:
|
146
|
+
week:
|
147
|
+
year_month: "%b %Y"
|
145
148
|
year_quarter: Quartal %{quarter} %{year}
|
146
149
|
time:
|
147
150
|
formats:
|
data/config/locales/en.yml
CHANGED
@@ -47,6 +47,9 @@ en:
|
|
47
47
|
deleted_model: Deleted %{model}
|
48
48
|
deleted_records: List Deleted Records
|
49
49
|
delimiter: Delimiter
|
50
|
+
doesnt_begin_with: Doesn't begin with
|
51
|
+
doesnt_contain: Doesn't contain
|
52
|
+
doesnt_end_with: Doesn't end with
|
50
53
|
download: Download
|
51
54
|
edit: Edit
|
52
55
|
ends_with: Ends with
|
data/config/locales/es.yml
CHANGED
@@ -47,6 +47,9 @@ es:
|
|
47
47
|
deleted_model: "%{model} borrado"
|
48
48
|
deleted_records: Ver Eliminados
|
49
49
|
delimiter: Delimitador
|
50
|
+
doesnt_begin_with: No empieza con
|
51
|
+
doesnt_contain: No contiene
|
52
|
+
doesnt_end_with: No termina con
|
50
53
|
download: Descargar
|
51
54
|
edit: Editar
|
52
55
|
ends_with: Termina con
|
data/config/locales/fr.yml
CHANGED
@@ -47,6 +47,9 @@ fr:
|
|
47
47
|
deleted_model: Suppression de %{model}
|
48
48
|
deleted_records: Lister les enregistrements supprimés
|
49
49
|
delimiter: Délimiteur
|
50
|
+
doesnt_begin_with:
|
51
|
+
doesnt_contain:
|
52
|
+
doesnt_end_with:
|
50
53
|
download: Télécharger
|
51
54
|
edit: Éditer
|
52
55
|
ends_with: Se terminant par
|
@@ -63,7 +66,7 @@ fr:
|
|
63
66
|
found: Trouvé
|
64
67
|
future: Futur
|
65
68
|
group_by: Grouper par
|
66
|
-
grouped_by:
|
69
|
+
grouped_by:
|
67
70
|
hide: "(Cacher)"
|
68
71
|
hours: Heures
|
69
72
|
human_conditions:
|
@@ -138,11 +141,11 @@ fr:
|
|
138
141
|
yesterday: Hier
|
139
142
|
date:
|
140
143
|
formats:
|
141
|
-
month:
|
142
|
-
quarter:
|
143
|
-
week:
|
144
|
-
year_month:
|
145
|
-
year_quarter:
|
144
|
+
month: "%B"
|
145
|
+
quarter:
|
146
|
+
week:
|
147
|
+
year_month: "%b %Y"
|
148
|
+
year_quarter:
|
146
149
|
time:
|
147
150
|
formats:
|
148
151
|
picker: "%a, %d %b %Y %H:%M:%S"
|
data/config/locales/hu.yml
CHANGED
@@ -18,7 +18,7 @@ hu:
|
|
18
18
|
between: Között
|
19
19
|
cancel: Mégse
|
20
20
|
cant_destroy_record: 'nem törölhető: %{record}'
|
21
|
-
changes:
|
21
|
+
changes:
|
22
22
|
click_to_edit: Kattints a szerkesztéshez
|
23
23
|
click_to_reset: Kattints az alapállapothoz
|
24
24
|
close: Bezárás
|
@@ -27,7 +27,7 @@ hu:
|
|
27
27
|
contains: Contains
|
28
28
|
create: Létrehozás
|
29
29
|
create_another: Create Another %{model}
|
30
|
-
create_apply:
|
30
|
+
create_apply:
|
31
31
|
create_model: "%{model} létrehozása"
|
32
32
|
create_new: Új létrehozása
|
33
33
|
created_model: "%{model} létrehozva"
|
@@ -38,15 +38,18 @@ hu:
|
|
38
38
|
showMonthAfterYear: false
|
39
39
|
weekHeader: Wk
|
40
40
|
datetime_picker_options:
|
41
|
-
closeText:
|
42
|
-
currentText:
|
41
|
+
closeText:
|
42
|
+
currentText:
|
43
43
|
timeText:
|
44
|
-
timezoneText:
|
44
|
+
timezoneText:
|
45
45
|
days: Days
|
46
46
|
delete: Törlés
|
47
47
|
deleted_model: "%{model} törölve"
|
48
|
-
deleted_records:
|
48
|
+
deleted_records:
|
49
49
|
delimiter: Elválasztó
|
50
|
+
doesnt_begin_with:
|
51
|
+
doesnt_contain:
|
52
|
+
doesnt_end_with:
|
50
53
|
download: Letöltés
|
51
54
|
edit: Szerkesztés
|
52
55
|
ends_with: Ends with
|
@@ -62,8 +65,8 @@ hu:
|
|
62
65
|
filtered: "(Szűrt)"
|
63
66
|
found: Találat
|
64
67
|
future: Future
|
65
|
-
group_by:
|
66
|
-
grouped_by:
|
68
|
+
group_by:
|
69
|
+
grouped_by:
|
67
70
|
hide: "(Elrejtés)"
|
68
71
|
hours: Hours
|
69
72
|
human_conditions:
|
@@ -85,9 +88,9 @@ hu:
|
|
85
88
|
next_week: Next Week
|
86
89
|
next_year: Next Year
|
87
90
|
no_authorization_for_action: No Authorization for action %{action}
|
88
|
-
no_color:
|
91
|
+
no_color:
|
89
92
|
no_entries: Nincs elem
|
90
|
-
no_group:
|
93
|
+
no_group:
|
91
94
|
no_options: nincsenek opciók
|
92
95
|
not_null: Not Null
|
93
96
|
'null': 'Null'
|
@@ -109,7 +112,7 @@ hu:
|
|
109
112
|
refresh: Frissítés
|
110
113
|
remove: Törlés
|
111
114
|
remove_file: Fájl törlése, vagy cseréje
|
112
|
-
remove_files:
|
115
|
+
remove_files:
|
113
116
|
replace_existing: Replace existing
|
114
117
|
replace_with_new: Csere újjal
|
115
118
|
reset: Alapállapot
|
@@ -129,7 +132,7 @@ hu:
|
|
129
132
|
tomorrow: Tomorrow
|
130
133
|
'true': 'True'
|
131
134
|
update: Modosítás
|
132
|
-
update_apply:
|
135
|
+
update_apply:
|
133
136
|
update_model: "%{model} modosítása"
|
134
137
|
updated_model: "%{model} módosítva"
|
135
138
|
version_inconsistency: Verzió ütközés - ezt a rekordot módosították mióta elkezdted szerkeszteni.
|
@@ -138,11 +141,11 @@ hu:
|
|
138
141
|
yesterday: Yesterday
|
139
142
|
date:
|
140
143
|
formats:
|
141
|
-
month:
|
142
|
-
quarter:
|
143
|
-
week:
|
144
|
-
year_month:
|
145
|
-
year_quarter:
|
144
|
+
month:
|
145
|
+
quarter:
|
146
|
+
week:
|
147
|
+
year_month:
|
148
|
+
year_quarter:
|
146
149
|
time:
|
147
150
|
formats:
|
148
151
|
picker: "%a, %d %b %Y %H:%M:%S"
|
data/config/locales/ja.yml
CHANGED
@@ -22,12 +22,12 @@ ja:
|
|
22
22
|
click_to_edit: クリックして編集
|
23
23
|
click_to_reset: クリックしてリセット
|
24
24
|
close: 閉じる
|
25
|
-
config_list:
|
26
|
-
config_list_model:
|
25
|
+
config_list:
|
26
|
+
config_list_model:
|
27
27
|
contains: 部分一致検索
|
28
28
|
create: 作成
|
29
|
-
create_another:
|
30
|
-
create_apply:
|
29
|
+
create_another:
|
30
|
+
create_apply:
|
31
31
|
create_model: "%{model}を作成"
|
32
32
|
create_new: 新規作成
|
33
33
|
created_model: "%{model}を作成しました"
|
@@ -45,25 +45,28 @@ ja:
|
|
45
45
|
days: 日分
|
46
46
|
delete: 削除
|
47
47
|
deleted_model: "%{model}を削除しました"
|
48
|
-
deleted_records:
|
48
|
+
deleted_records:
|
49
49
|
delimiter: 区切り文字
|
50
|
+
doesnt_begin_with:
|
51
|
+
doesnt_contain:
|
52
|
+
doesnt_end_with:
|
50
53
|
download: ダウンロード
|
51
54
|
edit: 編集
|
52
55
|
ends_with: 終了時間
|
53
56
|
error_500: "(コード500:内部エラー)"
|
54
57
|
errors:
|
55
58
|
template:
|
56
|
-
body:
|
59
|
+
body: 次のフィールドに問題がありました:
|
57
60
|
header:
|
58
61
|
one: 1件のエラーにより、この%{model}が保存できませんでした
|
59
62
|
other: "%{count}件のエラーにより、この%{model}が保存できませんでした"
|
60
63
|
export: エクスポート
|
61
|
-
'false':
|
64
|
+
'false':
|
62
65
|
filtered: "(フィルタ中)"
|
63
66
|
found: 個ありました
|
64
67
|
future: 未来
|
65
|
-
group_by:
|
66
|
-
grouped_by:
|
68
|
+
group_by:
|
69
|
+
grouped_by:
|
67
70
|
hide: "(隠す)"
|
68
71
|
hours: 時間分
|
69
72
|
human_conditions:
|
@@ -79,23 +82,23 @@ ja:
|
|
79
82
|
minutes: 分間
|
80
83
|
months: か月分
|
81
84
|
nested_for_model: "%{parent_model}の%{nested_model}"
|
82
|
-
nested_of_model:
|
85
|
+
nested_of_model:
|
83
86
|
next: 次
|
84
87
|
next_month: 来月
|
85
88
|
next_week: 来週
|
86
89
|
next_year: 来年
|
87
|
-
no_authorization_for_action:
|
88
|
-
no_color:
|
90
|
+
no_authorization_for_action:
|
91
|
+
no_color:
|
89
92
|
no_entries: 見つかりませんでした
|
90
|
-
no_group:
|
93
|
+
no_group:
|
91
94
|
no_options: オプション無し
|
92
|
-
not_null:
|
93
|
-
'null':
|
94
|
-
omit_header:
|
95
|
-
optional_attributes:
|
95
|
+
not_null:
|
96
|
+
'null':
|
97
|
+
omit_header:
|
98
|
+
optional_attributes:
|
96
99
|
options: オプション
|
97
100
|
past: 過去
|
98
|
-
pdf:
|
101
|
+
pdf:
|
99
102
|
prev_month: 先月
|
100
103
|
prev_week: 先週
|
101
104
|
prev_year: 去年
|
@@ -110,10 +113,10 @@ ja:
|
|
110
113
|
remove: 削除
|
111
114
|
remove_file: ファイルを削除または置換
|
112
115
|
remove_files: ファイルを削除または追加する
|
113
|
-
replace_existing:
|
116
|
+
replace_existing:
|
114
117
|
replace_with_new: 新しいもので置換
|
115
118
|
reset: リセット
|
116
|
-
revisions_for_model:
|
119
|
+
revisions_for_model:
|
117
120
|
saving: 保存中…
|
118
121
|
search: 検索
|
119
122
|
search_terms: 検索単語
|
@@ -127,9 +130,9 @@ ja:
|
|
127
130
|
this_year: 今年
|
128
131
|
today: 今日
|
129
132
|
tomorrow: 明日
|
130
|
-
'true':
|
133
|
+
'true':
|
131
134
|
update: 更新
|
132
|
-
update_apply:
|
135
|
+
update_apply:
|
133
136
|
update_model: "%{model}を更新"
|
134
137
|
updated_model: "%{model}を更新しました"
|
135
138
|
version_inconsistency: バージョンが一致しません - あなたが編集している間にこのレコードが変更されました。
|
data/config/locales/ru.yml
CHANGED
@@ -18,7 +18,7 @@ ru:
|
|
18
18
|
between: В интервале
|
19
19
|
cancel: Отмена
|
20
20
|
cant_destroy_record: Запись %{record} не может быть удалена
|
21
|
-
changes:
|
21
|
+
changes:
|
22
22
|
click_to_edit: Нажмите для редактирования
|
23
23
|
click_to_reset: Нажмите для сброса
|
24
24
|
close: Закрыть
|
@@ -27,7 +27,7 @@ ru:
|
|
27
27
|
contains: Содержит
|
28
28
|
create: Создать
|
29
29
|
create_another: "%{model}: Создать другую запись"
|
30
|
-
create_apply:
|
30
|
+
create_apply:
|
31
31
|
create_model: "%{model}: создать запись"
|
32
32
|
create_new: Создать новую запись
|
33
33
|
created_model: "%{model}: запись создана"
|
@@ -41,12 +41,15 @@ ru:
|
|
41
41
|
closeText: Закрыть
|
42
42
|
currentText: Текущее время
|
43
43
|
timeText:
|
44
|
-
timezoneText:
|
44
|
+
timezoneText:
|
45
45
|
days: дней
|
46
46
|
delete: Удалить
|
47
47
|
deleted_model: "%{model}: запись удалена"
|
48
|
-
deleted_records:
|
48
|
+
deleted_records:
|
49
49
|
delimiter: Разделитель
|
50
|
+
doesnt_begin_with:
|
51
|
+
doesnt_contain:
|
52
|
+
doesnt_end_with:
|
50
53
|
download: Загрузить
|
51
54
|
edit: Изменить
|
52
55
|
ends_with: Оканчивается на
|
@@ -68,8 +71,8 @@ ru:
|
|
68
71
|
one: запись
|
69
72
|
other: записи
|
70
73
|
future: Будущие
|
71
|
-
group_by:
|
72
|
-
grouped_by:
|
74
|
+
group_by:
|
75
|
+
grouped_by:
|
73
76
|
hide: "(Скрыть)"
|
74
77
|
hours: часов
|
75
78
|
human_conditions:
|
@@ -91,9 +94,9 @@ ru:
|
|
91
94
|
next_week: На следующей неделе
|
92
95
|
next_year: В следующем году
|
93
96
|
no_authorization_for_action: Нет прав на выполнение действия "%{action}"
|
94
|
-
no_color:
|
97
|
+
no_color:
|
95
98
|
no_entries: Нет записей
|
96
|
-
no_group:
|
99
|
+
no_group:
|
97
100
|
no_options: Нет вариантов
|
98
101
|
not_null: Не пусто
|
99
102
|
'null': Пусто
|
@@ -137,7 +140,7 @@ ru:
|
|
137
140
|
tomorrow: Завтра
|
138
141
|
'true': Да
|
139
142
|
update: Обновить запись
|
140
|
-
update_apply:
|
143
|
+
update_apply:
|
141
144
|
update_model: "%{model}: обновить запись"
|
142
145
|
updated_model: "%{model}: запись обновлена"
|
143
146
|
version_inconsistency: Эта запись была обновлена с того момента, как вы начали ее редактировать
|
@@ -146,11 +149,11 @@ ru:
|
|
146
149
|
yesterday: Вчера
|
147
150
|
date:
|
148
151
|
formats:
|
149
|
-
month:
|
150
|
-
quarter:
|
151
|
-
week:
|
152
|
-
year_month:
|
153
|
-
year_quarter:
|
152
|
+
month:
|
153
|
+
quarter:
|
154
|
+
week:
|
155
|
+
year_month:
|
156
|
+
year_quarter:
|
154
157
|
time:
|
155
158
|
formats:
|
156
159
|
picker: "%a, %d %b %Y %H:%M:%S"
|