refinerycms-resources 0.9.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. data/app/controllers/admin/resources_controller.rb +89 -0
  2. data/app/models/resource.rb +53 -0
  3. data/app/views/admin/resources/_existing_resource.html.erb +32 -0
  4. data/app/views/admin/resources/_form.html.erb +55 -0
  5. data/app/views/admin/resources/_resource.html.erb +17 -0
  6. data/app/views/admin/resources/_resources.html.erb +10 -0
  7. data/app/views/admin/resources/edit.html.erb +1 -0
  8. data/app/views/admin/resources/index.html.erb +31 -0
  9. data/app/views/admin/resources/insert.html.erb +54 -0
  10. data/app/views/admin/resources/new.html.erb +1 -0
  11. data/config/locales/cs.yml +34 -0
  12. data/config/locales/da.yml +34 -0
  13. data/config/locales/de.yml +34 -0
  14. data/config/locales/el.yml +34 -0
  15. data/config/locales/en.yml +34 -0
  16. data/config/locales/es.yml +33 -0
  17. data/config/locales/fr.yml +34 -0
  18. data/config/locales/it.yml +43 -0
  19. data/config/locales/lolcat.yml +34 -0
  20. data/config/locales/lt.yml +34 -0
  21. data/config/locales/lv.yml +34 -0
  22. data/config/locales/nb.yml +34 -0
  23. data/config/locales/nl.yml +33 -0
  24. data/config/locales/pl.yml +35 -0
  25. data/config/locales/pt-BR.yml +34 -0
  26. data/config/locales/rs.yml +35 -0
  27. data/config/locales/ru.yml +34 -0
  28. data/config/locales/sl.yml +33 -0
  29. data/config/locales/sv.yml +34 -0
  30. data/config/locales/vi.yml +34 -0
  31. data/config/locales/zh-CN.yml +34 -0
  32. data/config/locales/zh-TW.yml +34 -0
  33. data/config/routes.rb +13 -0
  34. data/db/migrate/20100913234709_create_refinerycms_resources_schema.rb +21 -0
  35. data/features/manage_files.feature +43 -0
  36. data/features/step_definitions/file_steps.rb +21 -0
  37. data/features/support/paths.rb +17 -0
  38. data/features/uploads/beach.jpeg +0 -0
  39. data/features/uploads/refinery_is_awesome.txt +1 -0
  40. data/lib/gemspec.rb +35 -0
  41. data/lib/generators/refinerycms_resources_generator.rb +8 -0
  42. data/lib/refinerycms-resources.rb +68 -0
  43. data/license.md +21 -0
  44. data/readme.md +9 -0
  45. data/refinerycms-resources.gemspec +90 -0
  46. data/spec/models/resource_spec.rb +91 -0
  47. data/spec/uploads/refinery_is_awesome.txt +1 -0
  48. 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}