refinerycms-resources 0.9.9.1

Sign up to get free protection for your applications and to get access to all the features.
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}