refinerycms-resources 0.9.9.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/admin/resources_controller.rb +89 -0
- data/app/models/resource.rb +53 -0
- data/app/views/admin/resources/_existing_resource.html.erb +32 -0
- data/app/views/admin/resources/_form.html.erb +55 -0
- data/app/views/admin/resources/_resource.html.erb +17 -0
- data/app/views/admin/resources/_resources.html.erb +10 -0
- data/app/views/admin/resources/edit.html.erb +1 -0
- data/app/views/admin/resources/index.html.erb +31 -0
- data/app/views/admin/resources/insert.html.erb +54 -0
- data/app/views/admin/resources/new.html.erb +1 -0
- data/config/locales/cs.yml +34 -0
- data/config/locales/da.yml +34 -0
- data/config/locales/de.yml +34 -0
- data/config/locales/el.yml +34 -0
- data/config/locales/en.yml +34 -0
- data/config/locales/es.yml +33 -0
- data/config/locales/fr.yml +34 -0
- data/config/locales/it.yml +43 -0
- data/config/locales/lolcat.yml +34 -0
- data/config/locales/lt.yml +34 -0
- data/config/locales/lv.yml +34 -0
- data/config/locales/nb.yml +34 -0
- data/config/locales/nl.yml +33 -0
- data/config/locales/pl.yml +35 -0
- data/config/locales/pt-BR.yml +34 -0
- data/config/locales/rs.yml +35 -0
- data/config/locales/ru.yml +34 -0
- data/config/locales/sl.yml +33 -0
- data/config/locales/sv.yml +34 -0
- data/config/locales/vi.yml +34 -0
- data/config/locales/zh-CN.yml +34 -0
- data/config/locales/zh-TW.yml +34 -0
- data/config/routes.rb +13 -0
- data/db/migrate/20100913234709_create_refinerycms_resources_schema.rb +21 -0
- data/features/manage_files.feature +43 -0
- data/features/step_definitions/file_steps.rb +21 -0
- data/features/support/paths.rb +17 -0
- data/features/uploads/beach.jpeg +0 -0
- data/features/uploads/refinery_is_awesome.txt +1 -0
- data/lib/gemspec.rb +35 -0
- data/lib/generators/refinerycms_resources_generator.rb +8 -0
- data/lib/refinerycms-resources.rb +68 -0
- data/license.md +21 -0
- data/readme.md +9 -0
- data/refinerycms-resources.gemspec +90 -0
- data/spec/models/resource_spec.rb +91 -0
- data/spec/uploads/refinery_is_awesome.txt +1 -0
- metadata +137 -0
@@ -0,0 +1,89 @@
|
|
1
|
+
module Admin
|
2
|
+
class ResourcesController < Admin::BaseController
|
3
|
+
|
4
|
+
crudify :resource, :order => "updated_at DESC"
|
5
|
+
before_filter :init_dialog
|
6
|
+
|
7
|
+
def new
|
8
|
+
@resource = Resource.new if @resource.nil?
|
9
|
+
|
10
|
+
@url_override = admin_resources_url(:dialog => from_dialog?)
|
11
|
+
end
|
12
|
+
|
13
|
+
def create
|
14
|
+
@resources = Resource.create_resources(params[:resource])
|
15
|
+
@resource = @resources.detect { |r| !r.valid? }
|
16
|
+
|
17
|
+
unless params[:insert]
|
18
|
+
if @resources.all?(&:valid?)
|
19
|
+
flash.notice = t('created', :scope => 'refinery.crudify', :what => "'#{@resources.collect{|r| r.title}.join("', '")}'")
|
20
|
+
unless from_dialog?
|
21
|
+
redirect_to :action => 'index'
|
22
|
+
else
|
23
|
+
render :text => "<script>parent.window.location = '#{admin_resources_url}';</script>"
|
24
|
+
end
|
25
|
+
else
|
26
|
+
self.new # important for dialogs
|
27
|
+
render :action => 'new'
|
28
|
+
end
|
29
|
+
else
|
30
|
+
if @resources.all?(&:valid?)
|
31
|
+
@resource_id = @resources.detect(&:persisted?).id
|
32
|
+
@resource = nil
|
33
|
+
end
|
34
|
+
|
35
|
+
insert
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def index
|
40
|
+
search_all_resources if searching?
|
41
|
+
paginate_all_resources
|
42
|
+
|
43
|
+
render :partial => 'resources' if request.xhr?
|
44
|
+
end
|
45
|
+
|
46
|
+
def insert
|
47
|
+
self.new if @resource.nil?
|
48
|
+
|
49
|
+
@url_override = admin_resources_url(:dialog => from_dialog?, :insert => true)
|
50
|
+
|
51
|
+
if params[:conditions].present?
|
52
|
+
extra_condition = params[:conditions].split(',')
|
53
|
+
|
54
|
+
extra_condition[1] = true if extra_condition[1] == "true"
|
55
|
+
extra_condition[1] = false if extra_condition[1] == "false"
|
56
|
+
extra_condition[1] = nil if extra_condition[1] == "nil"
|
57
|
+
paginate_resources({extra_condition[0].to_sym => extra_condition[1]})
|
58
|
+
else
|
59
|
+
paginate_resources
|
60
|
+
end
|
61
|
+
render :action => "insert"
|
62
|
+
end
|
63
|
+
|
64
|
+
protected
|
65
|
+
|
66
|
+
def init_dialog
|
67
|
+
@app_dialog = params[:app_dialog].present?
|
68
|
+
@field = params[:field]
|
69
|
+
@update_resource = params[:update_resource]
|
70
|
+
@update_text = params[:update_text]
|
71
|
+
@thumbnail = params[:thumbnail]
|
72
|
+
@callback = params[:callback]
|
73
|
+
@conditions = params[:conditions]
|
74
|
+
@current_link = params[:current_link]
|
75
|
+
end
|
76
|
+
|
77
|
+
def restrict_controller
|
78
|
+
super unless action_name == 'insert'
|
79
|
+
end
|
80
|
+
|
81
|
+
def paginate_resources(conditions={})
|
82
|
+
@resources = Resource.paginate :page => (@paginate_page_number ||= params[:page]),
|
83
|
+
:conditions => conditions,
|
84
|
+
:order => 'created_at DESC',
|
85
|
+
:per_page => Resource.per_page(from_dialog?)
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class Resource < ActiveRecord::Base
|
2
|
+
|
3
|
+
# What is the max resource size a user can upload
|
4
|
+
MAX_SIZE_IN_MB = 50
|
5
|
+
|
6
|
+
resource_accessor :file
|
7
|
+
|
8
|
+
validates :file, :presence => {},
|
9
|
+
:length => { :maximum => MAX_SIZE_IN_MB.megabytes }
|
10
|
+
|
11
|
+
# Docs for acts_as_indexed http://github.com/dougal/acts_as_indexed
|
12
|
+
acts_as_indexed :fields => [:file_name, :title, :type_of_content]
|
13
|
+
|
14
|
+
# when a dialog pops up with resources, how many resources per page should there be
|
15
|
+
PAGES_PER_DIALOG = 12
|
16
|
+
|
17
|
+
# when listing resources out in the admin area, how many resources should show per page
|
18
|
+
PAGES_PER_ADMIN_INDEX = 20
|
19
|
+
|
20
|
+
delegate :ext, :size, :mime_type, :url, :to => :file
|
21
|
+
|
22
|
+
# used for searching
|
23
|
+
def type_of_content
|
24
|
+
mime_type.split("/").join(" ")
|
25
|
+
end
|
26
|
+
|
27
|
+
# Returns a titleized version of the filename
|
28
|
+
# my_file.pdf returns My File
|
29
|
+
def title
|
30
|
+
CGI::unescape(file_name.to_s).gsub(/\.\w+$/, '').titleize
|
31
|
+
end
|
32
|
+
|
33
|
+
class << self
|
34
|
+
# How many resources per page should be displayed?
|
35
|
+
def per_page(dialog = false)
|
36
|
+
dialog ? PAGES_PER_DIALOG : PAGES_PER_ADMIN_INDEX
|
37
|
+
end
|
38
|
+
|
39
|
+
def create_resources(params)
|
40
|
+
resources = []
|
41
|
+
|
42
|
+
unless params.present? and params[:file].is_a?(Array)
|
43
|
+
resources << create(params)
|
44
|
+
else
|
45
|
+
params[:file].each do |resource|
|
46
|
+
resources << create(:file => resource)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
resources
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<div id='existing_resource_area' class='dialog_area' <%= "style='display:none;'" if @resource.errors.any? %>>
|
2
|
+
<input type='hidden' name='linked_resource' id='linked_resource' />
|
3
|
+
<div id='existing_resource_area_content' class='clearfix'>
|
4
|
+
<div id='pages_list'>
|
5
|
+
<ul class='link_list'>
|
6
|
+
<% @resources.each do |resource| -%>
|
7
|
+
<% resource_linked = (resource.url == params[:current_link]) if params[:current_link].present? %>
|
8
|
+
<li<%= " class='linked'" if resource_linked %>>
|
9
|
+
<%= link_to "#{resource.title} (#{resource.file_name})", resource.url,
|
10
|
+
:title => t('.link_to_file'),
|
11
|
+
:rel => resource.title,
|
12
|
+
:class => 'page_link',
|
13
|
+
:id => "resource_#{resource.id}" %>
|
14
|
+
</li>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<%= render :partial => "/shared/admin/form_actions",
|
21
|
+
:locals => {
|
22
|
+
:f => nil,
|
23
|
+
:cancel_url => admin_resources_url,
|
24
|
+
:submit_button_text => t('.button_text'),
|
25
|
+
:hide_cancel => true,
|
26
|
+
:hide_delete => true,
|
27
|
+
:paginate => {
|
28
|
+
:collection => @resources,
|
29
|
+
:url => {:controller => "/admin/resources", :action => "insert", :dialog => from_dialog? }
|
30
|
+
}
|
31
|
+
} if @app_dialog or @resources.any? %>
|
32
|
+
</div>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<%= form_for [:admin, @resource], :url => @url_override || @url,
|
2
|
+
:html => {:multipart => true} do |f| -%>
|
3
|
+
|
4
|
+
<%= render :partial => "/shared/admin/error_messages",
|
5
|
+
:locals => {
|
6
|
+
:object => @resource,
|
7
|
+
:include_object_name => false
|
8
|
+
} %>
|
9
|
+
|
10
|
+
<div class='field'>
|
11
|
+
<% if action_name =~ /(edit)|(update)/ %>
|
12
|
+
<%= link_to t('.download_current'), @resource.url,
|
13
|
+
:title => @resource.title %>
|
14
|
+
<em><%= t('.or')%></em><%= t('.replace') %>
|
15
|
+
<%= f.file_field :file %>
|
16
|
+
<% else %>
|
17
|
+
<% # we must only hint at multiple when it's a *new* record otherwise update fails. %>
|
18
|
+
<%= f.file_field :file, :multiple => (true unless @resource.persisted?) %>
|
19
|
+
<% end %>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div class='field'>
|
23
|
+
<label>
|
24
|
+
<%= t('.maximum_file_size', :megabytes => Resource::MAX_SIZE_IN_MB) %>
|
25
|
+
</label>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<%= render :partial => "/shared/admin/form_actions",
|
29
|
+
:locals => {
|
30
|
+
:f => f,
|
31
|
+
:continue_editing => false,
|
32
|
+
:hide_cancel => (@app_dialog or action_name == "insert" or from_dialog?),
|
33
|
+
:delete_title => t('delete', :scope => 'admin.resources'),
|
34
|
+
:delete_confirmation => (t('message', :scope => 'shared.admin.delete',
|
35
|
+
:title => @resource.title) if @resource.persisted?)
|
36
|
+
} %>
|
37
|
+
|
38
|
+
<% if @app_dialog -%>
|
39
|
+
<input type='hidden' name='app_dialog' value='<%= @app_dialog %>' />
|
40
|
+
<input type='hidden' name='field' value='<%= @field %>' />
|
41
|
+
<input type='hidden' name='update_resource' value='<%= @update_resource %>' />
|
42
|
+
<input type='hidden' name='update_text' value='<%= @update_text %>' />
|
43
|
+
<input type='hidden' name='thumbnail' value='<%= @thumbnail %>' />
|
44
|
+
<input type='hidden' name='callback' value='<%= @callback %>' />
|
45
|
+
<input type='hidden' name='conditions' value='<%= @conditions %>' />
|
46
|
+
<input type='hidden' name='current_link' value='<%= @current_link %>' />
|
47
|
+
<% end -%>
|
48
|
+
<% end -%>
|
49
|
+
<% content_for :javascripts do %>
|
50
|
+
<script>
|
51
|
+
$(document).ready(function(){
|
52
|
+
link_dialog.init();
|
53
|
+
});
|
54
|
+
</script>
|
55
|
+
<% end if from_dialog? %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<li class='clearfix record <%= cycle("on", "on-hover") %>'>
|
2
|
+
<span class='title <%= resource.ext %>'>
|
3
|
+
<%= resource.title %>.<%= resource.ext %>
|
4
|
+
<span class="preview">- <%= number_to_human_size(resource.size) %></span>
|
5
|
+
</span>
|
6
|
+
<span class='actions'>
|
7
|
+
<%= link_to refinery_icon_tag('page_white_put.png'), resource.url,
|
8
|
+
:title => t('.download', :size => number_to_human_size(resource.size)) %>
|
9
|
+
<%= link_to refinery_icon_tag('application_edit.png'), edit_admin_resource_url(resource),
|
10
|
+
:title => t('edit', :scope => 'admin.resources') %>
|
11
|
+
<%= link_to refinery_icon_tag('delete.png'), admin_resource_path(resource),
|
12
|
+
:class => "cancel confirm-delete",
|
13
|
+
:title => t('delete', :scope => 'admin.resources'),
|
14
|
+
:confirm => t('message', :scope => 'shared.admin.delete', :title => resource.title),
|
15
|
+
:method => :delete %>
|
16
|
+
</span>
|
17
|
+
</li>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<%= will_paginate @resources %>
|
2
|
+
<div class="<%= ['clearfix', 'pagination_frame', pagination_css_class].compact.join(' ') %>">
|
3
|
+
<% group_by_date(@resources).each do |container|
|
4
|
+
date = Date.parse((resource_group = container.last).first.created_at.to_s) %>
|
5
|
+
<h3><%= l(date, :format => :long ) %></h3>
|
6
|
+
<ul>
|
7
|
+
<%= render :partial => "resource", :collection => resource_group %>
|
8
|
+
</ul>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => "form" -%>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<div id='records' class='files'>
|
2
|
+
<% if searching? %>
|
3
|
+
<h2><%= t('results_for', :scope => 'shared.admin.search', :query => params[:search]) %></h2>
|
4
|
+
<% end %>
|
5
|
+
<% if @resources.any? %>
|
6
|
+
<div class='pagination_container'>
|
7
|
+
<%= render :partial => 'resources' %>
|
8
|
+
</div>
|
9
|
+
<% else %>
|
10
|
+
<p>
|
11
|
+
<% unless searching? %>
|
12
|
+
<strong><%= t('.no_files_yet') %></strong>
|
13
|
+
<% else %>
|
14
|
+
<%= t('no_results', :scope => 'shared.admin.search') %>
|
15
|
+
<% end %>
|
16
|
+
</p>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
<div id='actions'>
|
20
|
+
<ul>
|
21
|
+
<li>
|
22
|
+
<%= render :partial => "/shared/admin/search", :locals => {:url => admin_resources_url} %>
|
23
|
+
</li>
|
24
|
+
<li>
|
25
|
+
<%= link_to t('.upload_new'), new_admin_resource_url(:dialog => true,
|
26
|
+
:width => 600,
|
27
|
+
:height => 300),
|
28
|
+
:class => "add_icon" %>
|
29
|
+
</li>
|
30
|
+
</ul>
|
31
|
+
</div>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<% user_can_modify_resources = Refinery::Plugins.active.names.include?("refinery_files") %>
|
2
|
+
<div class='clearfix'>
|
3
|
+
<div id='dialog_menu_left'>
|
4
|
+
<% if (any_resources = @resources.any?) %>
|
5
|
+
<span id='existing_resource_radio' class='radio<%= " selected_radio" if @resource.errors.empty? %>'>
|
6
|
+
<input type='radio' name='resource_type' value='existing_resource' id='resource_type_existing' <%= "checked='true'" if @resource.errors.empty? %> />
|
7
|
+
<label for='resource_type_existing' class='stripped'>
|
8
|
+
<%= t('.existing') %>
|
9
|
+
</label>
|
10
|
+
</span>
|
11
|
+
<% end %>
|
12
|
+
<% if user_can_modify_resources %>
|
13
|
+
<span id='upload_resource_radio' class='radio<%= " selected_radio" if @resource.errors.any? or @resources.empty? %>'>
|
14
|
+
<input type='radio' name='resource_type' value='upload_resource' id='resource_type_upload' <%= "checked='true'" if @resources.empty? or @resource.errors.any? %> />
|
15
|
+
<label for='resource_type_upload' class='stripped'>
|
16
|
+
<%= t('.new') %>
|
17
|
+
</label>
|
18
|
+
</span>
|
19
|
+
<% end %>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div id='dialog_main'>
|
23
|
+
<% if any_resources or user_can_modify_resources %>
|
24
|
+
<%= render :partial => 'existing_resource' if any_resources %>
|
25
|
+
|
26
|
+
<% if user_can_modify_resources %>
|
27
|
+
<div id='upload_resource_area' class='dialog_area' <%= "style='display:none;'" if any_resources and @resource.errors.empty? %>>
|
28
|
+
<%= render :partial => "form", :locals => {:insert => true} %>
|
29
|
+
</div>
|
30
|
+
<% end %>
|
31
|
+
<% else %>
|
32
|
+
<% flash.now[:error] = t('.no_files') %>
|
33
|
+
<%= render :partial => "/shared/admin/form_actions",
|
34
|
+
:locals => {
|
35
|
+
:f => nil,
|
36
|
+
:cancel_url => '',
|
37
|
+
:hide_cancel => false,
|
38
|
+
:hide_delete => true,
|
39
|
+
:hide_submit => true,
|
40
|
+
:cancel_button_text => t('close', :scope => 'shared.admin.form_actions'),
|
41
|
+
:cancel_title => nil
|
42
|
+
} %>
|
43
|
+
<% end %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<% content_for :javascripts do %>
|
48
|
+
<script>
|
49
|
+
$(document).ready(function(){
|
50
|
+
link_dialog.init();
|
51
|
+
resource_picker.init(<%= @callback.present? ? "self.parent.#{@callback}" : "null" %>);
|
52
|
+
});
|
53
|
+
</script>
|
54
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => "form" -%>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
cs:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Soubory
|
5
|
+
description: Správa souborů
|
6
|
+
admin:
|
7
|
+
resources:
|
8
|
+
delete: Smazat tento soubor
|
9
|
+
edit: Upravit tento soubor
|
10
|
+
form:
|
11
|
+
download_current: Stáhnout vybraný soubor
|
12
|
+
or: nebo
|
13
|
+
replace: " nahradit tímto..."
|
14
|
+
maximum_file_size: Maximální velikost souboru je %{megabytes} MB.
|
15
|
+
resource:
|
16
|
+
download: Stáhnout soubor (%{size})
|
17
|
+
index:
|
18
|
+
upload_new: Nahrát nový soubor
|
19
|
+
no_files_yet: Zatím nebyly nahrány žádné soubory.
|
20
|
+
insert:
|
21
|
+
existing: Existující soubor
|
22
|
+
new: Nový soubor
|
23
|
+
no_files: Nejsou zde žádné soubory.
|
24
|
+
existing_resource:
|
25
|
+
link_to_file: Odkaz na tento soubor
|
26
|
+
button_text: Vložit
|
27
|
+
activerecord:
|
28
|
+
models:
|
29
|
+
resource: soubor
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
resource:
|
33
|
+
blank: Musíte vybrat soubor pro nahrání
|
34
|
+
too_long: Maximální velikost souboru je %{count}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
da:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Filer
|
5
|
+
description: Upload og link til filer
|
6
|
+
admin:
|
7
|
+
resources:
|
8
|
+
delete: Slet fil
|
9
|
+
edit: Redigér fil
|
10
|
+
form:
|
11
|
+
download_current: Download filen
|
12
|
+
or: eller
|
13
|
+
replace: " erstat den med denne fil..."
|
14
|
+
maximum_file_size: Filen må maksimalt fylde %{megabytes} megabytes.
|
15
|
+
resource:
|
16
|
+
download: Download fil (%{size})
|
17
|
+
index:
|
18
|
+
upload_new: Tilføj en ny fil
|
19
|
+
no_files_yet: Der er ingen filer endnu. Klik på "Tilføj en ny fil" for at oprette den første.
|
20
|
+
insert:
|
21
|
+
existing: Eksisterende fil
|
22
|
+
new: Ny fil
|
23
|
+
no_files: Der er ingen filer endnu. Klik "Upload en ny fil" for at tilføje den første.
|
24
|
+
existing_resource:
|
25
|
+
link_to_file: Link til denne fil
|
26
|
+
button_text: Indsæt
|
27
|
+
activerecord:
|
28
|
+
models:
|
29
|
+
resource: fil
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
resource:
|
33
|
+
blank: Du skal vælge en fil, der skal uploades
|
34
|
+
too_long: Filer må højest være på %{count}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
de:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Dateien
|
5
|
+
description: Dateien hochladen und verlinken
|
6
|
+
admin:
|
7
|
+
resources:
|
8
|
+
delete: Diese Datei für immer löschen
|
9
|
+
edit: Diese Datei bearbeiten
|
10
|
+
form:
|
11
|
+
download_current: Download der aktuellen Datei
|
12
|
+
or: oder
|
13
|
+
replace: ", mit dieser ersetzen..."
|
14
|
+
maximum_file_size: "Die maximale Dateigröße beträgt %{megabytes} Megabyte."
|
15
|
+
resource:
|
16
|
+
download: Diese Datei herunterladen (%{size})
|
17
|
+
index:
|
18
|
+
upload_new: Neue Datei Hochladen
|
19
|
+
no_files_yet: Keine Dateien vorhanden. Klicken Sie auf "Neue Datei Hochladen" um Ihre erste Datei hinzuzufügen.
|
20
|
+
insert:
|
21
|
+
existing: Vorhandene Datei
|
22
|
+
new: Neue Datei
|
23
|
+
no_files: Keine Dateien vorhanden.
|
24
|
+
existing_resource:
|
25
|
+
link_to_file: Link zu dieser Datei
|
26
|
+
button_text: Einfügen
|
27
|
+
activerecord:
|
28
|
+
models:
|
29
|
+
resource: Datei
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
resource:
|
33
|
+
blank: Sie müssen eine Datei zum Hochladen angeben
|
34
|
+
too_long: Die Dateien sollten kleiner als %{count} sein
|
@@ -0,0 +1,34 @@
|
|
1
|
+
el:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Αρχεία
|
5
|
+
description: Ανεβάστε και συνδέστε αρχεία
|
6
|
+
admin:
|
7
|
+
resources:
|
8
|
+
delete: Διαγραφή αρχείου
|
9
|
+
edit: Επεξεργασία αρχείου
|
10
|
+
form:
|
11
|
+
download_current: Μεταφόρτωση τρέχοντος αρχείου
|
12
|
+
or: ή
|
13
|
+
replace: " αντικατάσταση με νέο..."
|
14
|
+
maximum_file_size: Το μέγιστο μέγεθος του αρχείου είναι %{megabytes} megabytes.
|
15
|
+
resource:
|
16
|
+
download: Μεταφόρτωση αυτού του αρχείου (%{size})
|
17
|
+
index:
|
18
|
+
upload_new: Ανέβασμα νέου αρχείου
|
19
|
+
no_files_yet: Δεν υπαχουν αρχεία. Κάντε κλικ στο "Ανέβασμα αρχείου" για να προσθέσετε το πρώτο σας αρχείο.
|
20
|
+
insert:
|
21
|
+
existing: Υπάρχον αρχείο
|
22
|
+
new: Νέο αρχείο
|
23
|
+
no_files: Δεν υπάρχουν αρχεία.
|
24
|
+
existing_resource:
|
25
|
+
link_to_file: Σύνδεσμος σε αυτό το αρχείο
|
26
|
+
button_text: Εισαγωγή
|
27
|
+
activerecord:
|
28
|
+
models:
|
29
|
+
resource: αρχείο
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
resource:
|
33
|
+
blank: Πρέπει να διαλέξετε αρχείο για ανέβασμα
|
34
|
+
too_long: Το αρχείο πρέπει να είναι μικρότερο από %{count} σε μέγεθος
|
@@ -0,0 +1,34 @@
|
|
1
|
+
en:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Files
|
5
|
+
description: Upload and link to files
|
6
|
+
admin:
|
7
|
+
resources:
|
8
|
+
delete: Remove this file forever
|
9
|
+
edit: Edit this file
|
10
|
+
form:
|
11
|
+
download_current: Download current file
|
12
|
+
or: or
|
13
|
+
replace: " replace it with this one..."
|
14
|
+
maximum_file_size: The maximum file size is %{megabytes} megabytes.
|
15
|
+
resource:
|
16
|
+
download: Download this file (%{size})
|
17
|
+
index:
|
18
|
+
upload_new: Upload new file
|
19
|
+
no_files_yet: There are no files yet. Click "Upload new file" to add your first file.
|
20
|
+
insert:
|
21
|
+
existing: Existing File
|
22
|
+
new: New File
|
23
|
+
no_files: There are no files.
|
24
|
+
existing_resource:
|
25
|
+
link_to_file: Link to this file
|
26
|
+
button_text: Insert
|
27
|
+
activerecord:
|
28
|
+
models:
|
29
|
+
resource: file
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
resource:
|
33
|
+
blank: You must specify file for upload
|
34
|
+
too_long: File should be smaller than %{count} in size
|
@@ -0,0 +1,33 @@
|
|
1
|
+
es:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Archivos
|
5
|
+
admin:
|
6
|
+
resources:
|
7
|
+
delete: Borrar este archivo para siempre
|
8
|
+
edit: Editar este archivo
|
9
|
+
form:
|
10
|
+
download_current: Descargar archivo actual
|
11
|
+
or: o
|
12
|
+
replace: " reemplazarlo por este otro..."
|
13
|
+
maximum_file_size: El peso máximo para el archivo es de %{megabytes} megabytes.
|
14
|
+
resource:
|
15
|
+
download: Descargar este archivo (%{size})
|
16
|
+
index:
|
17
|
+
upload_new: Subir nuevo archivo
|
18
|
+
no_files_yet: Aún no hay archivos. Pulsa "Subir nuevos archivos" para añadir tu primer archivo.
|
19
|
+
insert:
|
20
|
+
existing: Archivo existente
|
21
|
+
new: Nuevo archivo
|
22
|
+
no_files: No hay archivos.
|
23
|
+
existing_resource:
|
24
|
+
link_to_file: Enlazar este archivo
|
25
|
+
button_text: Insertar
|
26
|
+
activerecord:
|
27
|
+
models:
|
28
|
+
resource: archivo
|
29
|
+
errors:
|
30
|
+
models:
|
31
|
+
resource:
|
32
|
+
blank: Selecciona qué archivo quieres subir
|
33
|
+
too_long: El archivo debe pesar menos de %{count}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
fr:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Fichiers
|
5
|
+
description: Gestion des fichiers
|
6
|
+
admin:
|
7
|
+
resources:
|
8
|
+
delete: Supprimer définitivement ce fichier
|
9
|
+
edit: Modifier ce fichier
|
10
|
+
form:
|
11
|
+
download_current: Télécharger ce fichier
|
12
|
+
or: ou
|
13
|
+
replace: " le remplacer par celui-ci..."
|
14
|
+
maximum_file_size: "La taille du fichier ne doit pas excéder %{megabytes} megaoctets."
|
15
|
+
resource:
|
16
|
+
download: Télécharger ce fichier (%{size})
|
17
|
+
index:
|
18
|
+
upload_new: Ajouter un nouveau fichier
|
19
|
+
no_files_yet: Il n'y a actuellement aucun fichier. Cliquez sur 'Ajouter un nouveau fichier' afin d'en ajouter un.
|
20
|
+
insert:
|
21
|
+
existing: Fichier existant
|
22
|
+
new: Nouveau fichier
|
23
|
+
no_files: Il n'y a aucun fichier.
|
24
|
+
existing_resource:
|
25
|
+
link_to_file: Lien vers ce fichier
|
26
|
+
button_text: Insertion
|
27
|
+
activerecord:
|
28
|
+
models:
|
29
|
+
resource: fichier
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
resource:
|
33
|
+
blank: Vous devez spécifier un fichier à télécharger
|
34
|
+
too_long: Le poids maximal des fichiers est de %{count}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
it:
|
2
|
+
plugins:
|
3
|
+
refinery_files:
|
4
|
+
title: Risorse
|
5
|
+
admin:
|
6
|
+
resources:
|
7
|
+
delete: Rimuovere per sempre questo file
|
8
|
+
edit: Modificare questo file
|
9
|
+
form:
|
10
|
+
file_to_upload: File da caricare
|
11
|
+
download_current: Scarica il file corrente
|
12
|
+
or: o
|
13
|
+
replace: ", sostituirlo con questo..."
|
14
|
+
maximum_file_size: "La dimensione massima di un file è %{megabytes} megabytes."
|
15
|
+
resource:
|
16
|
+
download: Scarica il file corrente (%{size})
|
17
|
+
edit: Modifica questo file
|
18
|
+
delete:
|
19
|
+
message: Sei sicuro di voler eliminare '%{title}'?
|
20
|
+
title: Rimuovere per sempre questo file
|
21
|
+
index:
|
22
|
+
upload_new: Carica Nuovo File
|
23
|
+
no_files_yet: Nessun file presente. Fai clic su "Carica Nuovo File" per aggiungere il primo file.
|
24
|
+
insert:
|
25
|
+
existing: File esistente
|
26
|
+
new: Nuovo File
|
27
|
+
no_files: Non ci sono file.
|
28
|
+
existing_file: File esistente
|
29
|
+
link_to_resource: 'Link a questa risorsa'
|
30
|
+
previous: Precedente
|
31
|
+
next: Prossimo
|
32
|
+
submit_insert: Inserire
|
33
|
+
or: o
|
34
|
+
cancel: Annullare
|
35
|
+
existing_resource:
|
36
|
+
link_to_file: Collegamento a questo file
|
37
|
+
button_text: Inserisci
|
38
|
+
activerecord:
|
39
|
+
errors:
|
40
|
+
models:
|
41
|
+
resource:
|
42
|
+
blank: Devi scegliere un file da caricare
|
43
|
+
too_long: I file devono avere dimensioni a %{count}
|