diff --git a/CHANGELOG.md b/CHANGELOG.md index 014603ca..308bf37c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ Changelog for Redmine DMSF ========================== +1.5.3 *2015-08-10* +------------------ + + Plupload 2.1.8 + Redmine >= 3.0 required + +* Bug: #430 - Got 500 error when change directory name +* Bug: #427 - Can't access to WebDAV root directory +* Bug: #422 - Document uploading in IE + 1.5.2 *2015-07-13* ------------------ diff --git a/README.md b/README.md index b9775ac1..cfba5218 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Redmine DMSF Plugin =================== -The current version of Redmine DMSF is **1.5.2** [![Build Status](https://api.travis-ci.org/danmunn/redmine_dmsf.png)](https://travis-ci.org/danmunn/redmine_dmsf) +The current version of Redmine DMSF is **1.5.3** [![Build Status](https://api.travis-ci.org/danmunn/redmine_dmsf.png)](https://travis-ci.org/danmunn/redmine_dmsf) Redmine DMSF is Document Management System Features plugin for Redmine issue tracking system; It is aimed to replace current Redmine's Documents module. @@ -42,7 +42,7 @@ Features Dependencies ------------ - * Redmine 2.5.0 or higher + * Redmine 3.0.0 or higher ### Fulltext search (optional) @@ -140,7 +140,7 @@ In the file /public/help//wiki_syntax_detailed.html, aft In the file /public/help//wiki_syntax.html, at the end of the Redmine links section: - {{dmsf(83)}}Document #83 + {{dmsf(83)}}Document #83 There's a patch that helps you to modify all help files at once. In your Redmine folder: @@ -218,4 +218,4 @@ Changes with tests, and full documentation are preferred. Additional Documentation ------------------------ -[CHANGELOG.md](CHANGELOG.md) - Project changelog +[CHANGELOG.md](CHANGELOG.md) - Project changelog \ No newline at end of file diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index bf352a2f..f4560df0 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -306,8 +306,9 @@ class DmsfController < ApplicationController redirect_to dmsf_folder_path(:id => @project, :folder_id => @folder) return end - @pathfolder = copy_folder(@folder) - @folder.attributes = params[:dmsf_folder] + @pathfolder = copy_folder(@folder) + @folder.title = params[:dmsf_folder][:title] + @folder.description = params[:dmsf_folder][:description] # Custom fields if params[:dmsf_folder][:custom_field_values].present? diff --git a/app/controllers/dmsf_workflows_controller.rb b/app/controllers/dmsf_workflows_controller.rb index e360e9d7..d2b10192 100644 --- a/app/controllers/dmsf_workflows_controller.rb +++ b/app/controllers/dmsf_workflows_controller.rb @@ -49,9 +49,10 @@ class DmsfWorkflowsController < ApplicationController file = DmsfFile.joins(:revisions).where(:dmsf_file_revisions => {:id => revision.id}).first if file begin - file.unlock! + file.unlock! true rescue DmsfLockError => e - logger.warn e.message + flash[:info] = e.message + #logger.warn e.message end end if revision.workflow == DmsfWorkflow::STATE_APPROVED @@ -287,18 +288,18 @@ class DmsfWorkflowsController < ApplicationController step = params[:step].to_i end operator = (params[:commit] == l(:dmsf_and)) ? DmsfWorkflowStep::OPERATOR_AND : DmsfWorkflowStep::OPERATOR_OR - users = User.where(:id => params[:user_ids]) + users = User.where(:id => params[:user_ids]).to_a if users.count > 0 users.each do |user| - ws = DmsfWorkflowStep.new( - :dmsf_workflow_id => @dmsf_workflow.id, - :step => step, - :user_id => user.id, - :operator => operator) + ws = DmsfWorkflowStep.new + ws.dmsf_workflow_id = @dmsf_workflow.id + ws.step = step + ws.user_id = user.id + ws.operator = operator if ws.save @dmsf_workflow.dmsf_workflow_steps << ws else - flash[:error] = @dmsf_workflow.errors.full_messages.to_sentence + flash[:error] = ws.errors.full_messages.to_sentence end end else diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 764c8e70..26440f13 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -35,31 +35,15 @@ class DmsfFile < ActiveRecord::Base belongs_to :project belongs_to :folder, :class_name => 'DmsfFolder', :foreign_key => 'dmsf_folder_id' belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id' - - if (Rails::VERSION::MAJOR > 3) - has_many :revisions, -> { order("#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC") }, - :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id', - :dependent => :destroy - has_many :locks, -> { where(entity_type: 0).order("#{DmsfLock.table_name}.updated_at DESC") }, - :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy - has_many :referenced_links, -> { where target_type: DmsfFile.model_name.to_s}, - :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy - accepts_nested_attributes_for :revisions, :locks, :referenced_links, :project - else - has_many :revisions, :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id', - :order => "#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC", - :dependent => :destroy - has_many :locks, :class_name => 'DmsfLock', :foreign_key => 'entity_id', - :order => "#{DmsfLock.table_name}.updated_at DESC", - :conditions => {:entity_type => 0}, - :dependent => :destroy - has_many :referenced_links, :class_name => 'DmsfLink', :foreign_key => 'target_id', - :conditions => {:target_type => DmsfFile.model_name.to_s}, :dependent => :destroy - end - - if (Rails::VERSION::MAJOR > 3) - accepts_nested_attributes_for :revisions, :locks, :referenced_links - end + + has_many :revisions, -> { order("#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC") }, + :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_id', + :dependent => :destroy + has_many :locks, -> { where(entity_type: 0).order("#{DmsfLock.table_name}.updated_at DESC") }, + :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy + has_many :referenced_links, -> { where target_type: DmsfFile.model_name.to_s}, + :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy + accepts_nested_attributes_for :revisions, :locks, :referenced_links, :project scope :visible, lambda { |*args| where(deleted: false) @@ -78,31 +62,18 @@ class DmsfFile < ActiveRecord::Base existing_file = DmsfFile.visible.find_file_by_name(self.project, self.folder, self.name) errors.add(:name, l('activerecord.errors.messages.taken')) unless existing_file.nil? || existing_file.id == self.id - end - - if (Rails::VERSION::MAJOR <= 3) - attr_accessor :event_description - end + end acts_as_event :title => Proc.new { |o| o.name }, - :description => Proc.new { |o| - if (Rails::VERSION::MAJOR > 3) - desc = Redmine::Search.cache_store.fetch("DmsfFile-#{o.id}") - if desc - Redmine::Search.cache_store.delete("DmsfFile-#{o.id}") - else - desc = o.description - desc += ' / ' if o.description.present? && o.last_revision.comment.present? - desc += o.last_revision.comment if o.last_revision.comment.present? - end + :description => Proc.new { |o| + desc = Redmine::Search.cache_store.fetch("DmsfFile-#{o.id}") + if desc + Redmine::Search.cache_store.delete("DmsfFile-#{o.id}") else - desc = o.event_description - unless desc.present? - desc = o.description - desc += ' / ' if o.description.present? && o.last_revision.comment.present? - desc += o.last_revision.comment if o.last_revision.comment.present? - end - end + desc = o.description + desc += ' / ' if o.description.present? && o.last_revision.comment.present? + desc += o.last_revision.comment if o.last_revision.comment.present? + end desc }, :url => Proc.new { |o| {:controller => 'dmsf_files', :action => 'show', :id => o} }, @@ -404,13 +375,9 @@ class DmsfFile < ActiveRecord::Base if dmsf_file if user.allowed_to?(:view_dmsf_files, dmsf_file.project) && - (project_ids.blank? || (project_ids.include?(dmsf_file.project.id))) - if (Rails::VERSION::MAJOR > 3) + (project_ids.blank? || (project_ids.include?(dmsf_file.project.id))) Redmine::Search.cache_store.write("DmsfFile-#{dmsf_file.id}", - dochash['sample'].force_encoding('UTF-8')) if dochash['sample'] - else - dmsf_file.event_description = dochash['sample'].force_encoding('UTF-8') if dochash['sample'] - end + dochash['sample'].force_encoding('UTF-8')) if dochash['sample'] break if(!options[:limit].blank? && results.count >= options[:limit]) results << dmsf_file end diff --git a/app/models/dmsf_file_revision.rb b/app/models/dmsf_file_revision.rb index f44dda19..f71d27fe 100644 --- a/app/models/dmsf_file_revision.rb +++ b/app/models/dmsf_file_revision.rb @@ -27,21 +27,14 @@ class DmsfFileRevision < ActiveRecord::Base belongs_to :folder, :class_name => 'DmsfFolder', :foreign_key => 'dmsf_folder_id' belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id' has_many :access, :class_name => 'DmsfFileRevisionAccess', :foreign_key => 'dmsf_file_revision_id', :dependent => :destroy - has_many :dmsf_workflow_step_assignment, :dependent => :destroy - if (Rails::VERSION::MAJOR > 3) - accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user - end + has_many :dmsf_workflow_step_assignment, :dependent => :destroy + accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user attr_accessible :file, :title, :name, :description, :comment # Returns a list of revisions that are not deleted here, or deleted at parent level either - if (Rails::VERSION::MAJOR > 3) - scope :visible, -> { where(deleted: false) } - scope :deleted, -> { where(deleted: true) } - else - scope :visible, where(:deleted => false) - scope :deleted, where(:deleted => true) - end + scope :visible, -> { where(deleted: false) } + scope :deleted, -> { where(deleted: true) } acts_as_customizable acts_as_event :title => Proc.new {|o| "#{l(:label_dmsf_updated)}: #{o.file.dmsf_path_str}"}, @@ -49,28 +42,16 @@ class DmsfFileRevision < ActiveRecord::Base :datetime => Proc.new {|o| o.updated_at }, :description => Proc.new {|o| o.comment }, :author => Proc.new {|o| o.user } - if (Rails::VERSION::MAJOR > 3) - acts_as_activity_provider :type => 'dmsf_file_revisions', - :timestamp => "#{DmsfFileRevision.table_name}.updated_at", - :author_key => "#{DmsfFileRevision.table_name}.user_id", - :permission => :view_dmsf_file_revisions, - :scope => select("#{DmsfFileRevision.table_name}.*"). - joins( - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). - where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) - else - acts_as_activity_provider :type => 'dmsf_file_revisions', - :timestamp => "#{DmsfFileRevision.table_name}.updated_at", - :author_key => "#{DmsfFileRevision.table_name}.user_id", - :permission => :view_dmsf_file_revisions, - :find_options => {:select => "#{DmsfFileRevision.table_name}.*", - :joins => - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id", - :conditions => ["#{DmsfFile.table_name}.deleted = :false", {:false => false}] - } - end + + acts_as_activity_provider :type => 'dmsf_file_revisions', + :timestamp => "#{DmsfFileRevision.table_name}.updated_at", + :author_key => "#{DmsfFileRevision.table_name}.user_id", + :permission => :view_dmsf_file_revisions, + :scope => select("#{DmsfFileRevision.table_name}.*"). + joins( + "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + + "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). + where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) validates :title, :name, :presence => true validates_format_of :name, :with => DmsfFolder.invalid_characters, diff --git a/app/models/dmsf_file_revision_access.rb b/app/models/dmsf_file_revision_access.rb index 6c32dd97..44140ee4 100644 --- a/app/models/dmsf_file_revision_access.rb +++ b/app/models/dmsf_file_revision_access.rb @@ -21,10 +21,8 @@ class DmsfFileRevisionAccess < ActiveRecord::Base belongs_to :revision, :class_name => 'DmsfFileRevision', :foreign_key => 'dmsf_file_revision_id' belongs_to :user delegate :project, :to => :revision, :allow_nil => false - delegate :file, :to => :revision, :allow_nil => false - if (Rails::VERSION::MAJOR > 3) - accepts_nested_attributes_for :user, :revision - end + delegate :file, :to => :revision, :allow_nil => false + accepts_nested_attributes_for :user, :revision DownloadAction = 0 EmailAction = 1 @@ -34,29 +32,16 @@ class DmsfFileRevisionAccess < ActiveRecord::Base :datetime => Proc.new {|o| o.updated_at }, :description => Proc.new {|o| o.revision.comment }, :author => Proc.new {|o| o.user } - if (Rails::VERSION::MAJOR > 3) - acts_as_activity_provider :type => 'dmsf_file_revision_accesses', - :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", - :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", - :permission => :view_dmsf_file_revision_accesses, - :scope => select("#{DmsfFileRevisionAccess.table_name}.*"). - joins( - "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). - where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) - else - acts_as_activity_provider :type => 'dmsf_file_revision_accesses', - :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", - :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", - :permission => :view_dmsf_file_revision_accesses, - :find_options => {:select => "#{DmsfFileRevisionAccess.table_name}.*", - :joins => - "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + - "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + - "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id", - :conditions => ["#{DmsfFile.table_name}.deleted = :false", {:false => false}] - } - end + + acts_as_activity_provider :type => 'dmsf_file_revision_accesses', + :timestamp => "#{DmsfFileRevisionAccess.table_name}.updated_at", + :author_key => "#{DmsfFileRevisionAccess.table_name}.user_id", + :permission => :view_dmsf_file_revision_accesses, + :scope => select("#{DmsfFileRevisionAccess.table_name}.*"). + joins( + "INNER JOIN #{DmsfFileRevision.table_name} ON #{DmsfFileRevisionAccess.table_name}.dmsf_file_revision_id = #{DmsfFileRevision.table_name}.id " + + "INNER JOIN #{DmsfFile.table_name} ON #{DmsfFileRevision.table_name}.dmsf_file_id = #{DmsfFile.table_name}.id " + + "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). + where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) end diff --git a/app/models/dmsf_folder.rb b/app/models/dmsf_folder.rb index 6275b636..61bc24e8 100644 --- a/app/models/dmsf_folder.rb +++ b/app/models/dmsf_folder.rb @@ -35,33 +35,18 @@ class DmsfFolder < ActiveRecord::Base has_many :subfolders, :class_name => 'DmsfFolder', :foreign_key => 'dmsf_folder_id', :dependent => :destroy has_many :files, :class_name => 'DmsfFile', :foreign_key => 'dmsf_folder_id', - :dependent => :destroy - if (Rails::VERSION::MAJOR > 3) - has_many :folder_links, -> { where :target_type => 'DmsfFolder' }, - :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy - has_many :file_links, -> { where :target_type => 'DmsfFile' }, - :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy - has_many :url_links, -> { where :target_type => 'DmsfUrl' }, - :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy - has_many :referenced_links, -> { where :target_type => 'DmsfFolder' }, - :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy - has_many :locks, -> { where(entity_type: 1).order("#{DmsfLock.table_name}.updated_at DESC") }, - :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy - accepts_nested_attributes_for :user, :project, :folder, :subfolders, :files, :folder_links, :file_links, :url_links, :referenced_links, :locks - else - has_many :folder_links, :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', - :conditions => { :target_type => 'DmsfFolder' }, :dependent => :destroy - has_many :file_links, :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', - :conditions => { :target_type => 'DmsfFile' }, :dependent => :destroy - has_many :url_links, :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', - :conditions => { :target_type => 'DmsfUrl' }, :dependent => :destroy - has_many :referenced_links, :class_name => 'DmsfLink', :foreign_key => 'target_id', - :conditions => { :target_type => 'DmsfFolder' }, :dependent => :destroy - has_many :locks, :class_name => 'DmsfLock', :foreign_key => 'entity_id', - :order => "#{DmsfLock.table_name}.updated_at DESC", - :conditions => {:entity_type => 1}, - :dependent => :destroy - end + :dependent => :destroy + has_many :folder_links, -> { where :target_type => 'DmsfFolder' }, + :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy + has_many :file_links, -> { where :target_type => 'DmsfFile' }, + :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy + has_many :url_links, -> { where :target_type => 'DmsfUrl' }, + :class_name => 'DmsfLink', :foreign_key => 'dmsf_folder_id', :dependent => :destroy + has_many :referenced_links, -> { where :target_type => 'DmsfFolder' }, + :class_name => 'DmsfLink', :foreign_key => 'target_id', :dependent => :destroy + has_many :locks, -> { where(entity_type: 1).order("#{DmsfLock.table_name}.updated_at DESC") }, + :class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy + accepts_nested_attributes_for :user, :project, :folder, :subfolders, :files, :folder_links, :file_links, :url_links, :referenced_links, :locks scope :visible, lambda { |*args| where(deleted: false) @@ -71,20 +56,12 @@ class DmsfFolder < ActiveRecord::Base } acts_as_customizable - - if (Rails::VERSION::MAJOR > 3) - acts_as_searchable :columns => ["#{self.table_name}.title", "#{self.table_name}.description"], - :project_key => 'project_id', - :date_column => 'updated_at', - :permission => :view_dmsf_files, - :scope => self.joins(:project) - else - acts_as_searchable :columns => ["#{self.table_name}.title", "#{self.table_name}.description"], - :project_key => 'project_id', - :date_column => 'updated_at', - :permission => :view_dmsf_files, - :include => :project - end + + acts_as_searchable :columns => ["#{self.table_name}.title", "#{self.table_name}.description"], + :project_key => 'project_id', + :date_column => 'updated_at', + :permission => :view_dmsf_files, + :scope => self.joins(:project) acts_as_event :title => Proc.new {|o| o.title}, :description => Proc.new {|o| o.description }, diff --git a/app/models/dmsf_link.rb b/app/models/dmsf_link.rb index 98636e17..e92662be 100644 --- a/app/models/dmsf_link.rb +++ b/app/models/dmsf_link.rb @@ -41,14 +41,9 @@ class DmsfLink < ActiveRecord::Base end end end - - if (Rails::VERSION::MAJOR > 3) - scope :visible, -> { where(deleted: false) } - scope :deleted, -> { where(deleted: true) } - else - scope :visible, where(:deleted => false) - scope :deleted, where(:deleted => true) - end + + scope :visible, -> { where(deleted: false) } + scope :deleted, -> { where(deleted: true) } def target_folder_id if self.target_type == DmsfFolder.model_name.to_s diff --git a/app/models/dmsf_lock.rb b/app/models/dmsf_lock.rb index 2f427311..74d68372 100644 --- a/app/models/dmsf_lock.rb +++ b/app/models/dmsf_lock.rb @@ -1,8 +1,10 @@ +# encoding: utf-8 +# # Redmine plugin for Document Management System "Features" # # Copyright (C) 2011 Vít Jonáš # Copyright (C) 2012 Daniel Munn -# Copyright (C) 2011-14 Karel Picman +# Copyright (C) 2011-15 Karel Pičman # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -26,20 +28,20 @@ class DmsfLock < ActiveRecord::Base belongs_to :folder, :class_name => 'DmsfFolder', :foreign_key => 'entity_id' belongs_to :user - #At the moment apparently we're only supporting a write lock? + # At the moment apparently we're only supporting a write lock? as_enum :lock_type, [:type_write, :type_other] as_enum :lock_scope, [:scope_exclusive, :scope_shared] - # We really loosly bind the value in the belongs_to above + # We really loosely bind the value in the belongs_to above # here we just ensure the data internal to the model is correct # to ensure everything lists fine - it's the same as a join - # just without runing the join in the first place + # just without running the join in the first place def file entity_type == 0 ? super : nil; end - # see file, exact same scenario + # See the file, exact same scenario def folder entity_type == 1 ? super : nil; end @@ -57,11 +59,11 @@ class DmsfLock < ActiveRecord::Base self.delete_all ["#{DmsfLock.table_name}.expires_at IS NOT NULL && #{DmsfLock.table_name}.expires_at < ?", Time.now] end - #Lets allow our UUID to be searchable + # Let's allow our UUID to be searchable def self.find(*args) if args.first && args.first.is_a?(String) && !args.first.match(/^\d*$/) lock = find_by_uuid(*args) - raise ActiveRecord::RecordNotFound, "Couldn't find lock with uuid=#{args.first}" if lock.nil? + raise ActiveRecord::RecordNotFound, "Couldn't find lock with uuid = #{args.first}" if lock.nil? lock else super @@ -72,4 +74,4 @@ class DmsfLock < ActiveRecord::Base self.find(*args) end -end +end \ No newline at end of file diff --git a/app/models/dmsf_workflow.rb b/app/models/dmsf_workflow.rb index 0077e429..a29da4ba 100644 --- a/app/models/dmsf_workflow.rb +++ b/app/models/dmsf_workflow.rb @@ -18,12 +18,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -class DmsfWorkflow < ActiveRecord::Base - if (Rails::VERSION::MAJOR > 3) - has_many :dmsf_workflow_steps, -> { order 'step ASC, operator DESC' }, :dependent => :destroy - else - has_many :dmsf_workflow_steps, :dependent => :destroy, :order => 'step ASC, operator DESC' - end +class DmsfWorkflow < ActiveRecord::Base + + has_many :dmsf_workflow_steps, -> { order 'step ASC, operator DESC' }, :dependent => :destroy attr_accessible :name diff --git a/app/models/dmsf_workflow_step.rb b/app/models/dmsf_workflow_step.rb index 0374ac5b..8ce5c857 100644 --- a/app/models/dmsf_workflow_step.rb +++ b/app/models/dmsf_workflow_step.rb @@ -25,9 +25,7 @@ class DmsfWorkflowStep < ActiveRecord::Base validates :step, :presence => true validates :user_id, :presence => true validates :operator, :presence => true - validates_uniqueness_of :user_id, :scope => [:dmsf_workflow_id, :step] - - attr_accessible :dmsf_workflow_id, :step, :user_id, :operator + validates_uniqueness_of :user_id, :scope => [:dmsf_workflow_id, :step] OPERATOR_OR = 0 OPERATOR_AND = 1 diff --git a/app/views/dmsf/show.html.erb b/app/views/dmsf/show.html.erb index 4e76ba60..dcbf2613 100644 --- a/app/views/dmsf/show.html.erb +++ b/app/views/dmsf/show.html.erb @@ -240,8 +240,8 @@ end %> -<% content_for :header_tags do %> - <%= stylesheet_link_tag 'plupload/jquery.ui.plupload.css', :plugin => 'redmine_dmsf' %> +<% content_for :header_tags do %> + <%= javascript_include_tag 'bowser.min.js', :plugin => 'redmine_dmsf' %> <%= stylesheet_link_tag 'jquery.dataTables/jquery-ui.dataTables.css', :plugin => 'redmine_dmsf' %> <%= javascript_include_tag 'jquery.dataTables/jquery.dataTables.min.js', :plugin => 'redmine_dmsf' %> diff --git a/app/views/dmsf_upload/_multi_upload.html.erb b/app/views/dmsf_upload/_multi_upload.html.erb index 9b8df737..0c1ee706 100644 --- a/app/views/dmsf_upload/_multi_upload.html.erb +++ b/app/views/dmsf_upload/_multi_upload.html.erb @@ -1,8 +1,10 @@ -<%# Redmine plugin for Document Management System "Features" +<% +# encoding: utf-8 +# Redmine plugin for Document Management System "Features" # # Copyright (C) 2011 Vít Jonáš # Copyright (C) 2012 Daniel Munn -# Copyright (C) 2011-14 Karel Picman +# Copyright (C) 2011-15 Karel Pičman # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -16,7 +18,8 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.%> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +%>
<%= form_tag({:controller => 'dmsf_upload', :action => 'upload_files', :id => @project, :folder_id => @folder}, @@ -72,31 +75,48 @@ <% content_for :header_tags do %> - <%= javascript_include_tag 'bowser.min.js', :plugin => 'redmine_dmsf' %> - <%= javascript_include_tag 'plupload/plupload.js', :plugin => 'redmine_dmsf' %> - <%= javascript_include_tag 'plupload/plupload.flash.js', :plugin => 'redmine_dmsf' %> - <%= javascript_include_tag 'plupload/plupload.html5.js', :plugin => 'redmine_dmsf' %> - <%= javascript_include_tag 'plupload/plupload.html4.js', :plugin => 'redmine_dmsf' %> - <%= javascript_include_tag 'plupload/jquery.ui.plupload/jquery.ui.plupload.js', :plugin => 'redmine_dmsf' %> - <%= javascript_include_tag("plupload/i18n/#{I18n.locale.to_s.downcase}.js", :plugin => 'redmine_dmsf') if I18n.locale && !I18n.locale.to_s.match(/^en.*/) %> + <%= stylesheet_link_tag 'plupload/jquery.ui.plupload.css', :plugin => 'redmine_dmsf' %> + <%= javascript_include_tag 'plupload/js/plupload.full.min.js', :plugin => 'redmine_dmsf' %> + <%= javascript_include_tag 'plupload/js/jquery.ui.plupload/jquery.ui.plupload.js', :plugin => 'redmine_dmsf' %> + <%= javascript_include_tag("plupload/js/i18n/#{I18n.locale.to_s.downcase}.js", :plugin => 'redmine_dmsf') if I18n.locale && !I18n.locale.to_s.match(/^en.*/) %> + + + + + + + +

Custom example

+ +

Shows you how to use the core plupload API.

+ +
Your browser doesn't have Flash, Silverlight or HTML5 support.
+
+ + + +
+

+
+
+
+
+
diff --git a/assets/javascripts/plupload/examples/dump.php b/assets/javascripts/plupload/examples/dump.php
new file mode 100644
index 00000000..3ce4471f
--- /dev/null
+++ b/assets/javascripts/plupload/examples/dump.php
@@ -0,0 +1,27 @@
+
+
+
+
+Plupload - Form dump
+
+
+	
+

Post dump

+ +

Shows the form items posted.

+ + + + + + + $value) { ?> + + + + + +
NameValue
+ + + diff --git a/assets/javascripts/plupload/examples/events.html b/assets/javascripts/plupload/examples/events.html new file mode 100644 index 00000000..dd05e75d --- /dev/null +++ b/assets/javascripts/plupload/examples/events.html @@ -0,0 +1,217 @@ + + + + + +Plupload - Events example + + + + + + + + + + +

Events example

+ + + +
+

+ 
+
+
+
\ No newline at end of file
diff --git a/assets/javascripts/plupload/examples/jquery/all_runtimes.html b/assets/javascripts/plupload/examples/jquery/all_runtimes.html
new file mode 100644
index 00000000..ea44a9ba
--- /dev/null
+++ b/assets/javascripts/plupload/examples/jquery/all_runtimes.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+Plupload - Queue widget example
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Queue widget example

+ +

Shows the jQuery Plupload Queue widget and under different runtimes.

+ +
+

Flash runtime

+
Your browser doesn't have Flash installed.
+ +

Silverlight runtime

+
Your browser doesn't have Silverlight installed.
+
+ +
+

HTML 4 runtime

+
Your browser doesn't have HTML 4 support.
+ +

HTML 5 runtime

+
Your browser doesn't support native upload.
+
+ +
+ + +
+ + + + + diff --git a/assets/javascripts/plupload/examples/jquery/jquery_ui_widget.html b/assets/javascripts/plupload/examples/jquery/jquery_ui_widget.html new file mode 100644 index 00000000..1beb6c15 --- /dev/null +++ b/assets/javascripts/plupload/examples/jquery/jquery_ui_widget.html @@ -0,0 +1,113 @@ + + + + + +Plupload - jQuery UI Widget + + + + + + + + + + + + + + + + +

jQuery UI Widget

+ +

You can see this example with different themes on the www.plupload.com website.

+ +
+
+

Your browser doesn't have Flash, Silverlight or HTML5 support.

+
+
+ +
+ + + + diff --git a/assets/javascripts/plupload/examples/jquery/queue_widget.html b/assets/javascripts/plupload/examples/jquery/queue_widget.html new file mode 100644 index 00000000..48552870 --- /dev/null +++ b/assets/javascripts/plupload/examples/jquery/queue_widget.html @@ -0,0 +1,66 @@ + + + + + +Plupload - Queue widget example + + + + + + + + + + + + + + + +
+
+

Your browser doesn't have Flash, Silverlight or HTML5 support.

+
+ +
+ + + + + diff --git a/assets/javascripts/plupload/examples/jquery/s3.php b/assets/javascripts/plupload/examples/jquery/s3.php new file mode 100644 index 00000000..a46f1dbc --- /dev/null +++ b/assets/javascripts/plupload/examples/jquery/s3.php @@ -0,0 +1,125 @@ + + + + + + +In our tests SilverLight didn't require anything special and worked with this configuration just fine. It may fail back +to the same crossdomain.xml as last resort. + +!!!Important!!! Plupload UI Widget here, is used only for demo purposes and is not required for uploading to S3. +*/ + +// important variables that will be used throughout this example +$bucket = 'BUCKET'; + +// these can be found on your Account page, under Security Credentials > Access Keys +$accessKeyId = 'ACCESS_KEY_ID'; +$secret = 'SECRET_ACCESS_KEY'; + +// prepare policy +$policy = base64_encode(json_encode(array( + // ISO 8601 - date('c'); generates uncompatible date, so better do it manually + 'expiration' => date('Y-m-d\TH:i:s.000\Z', strtotime('+1 day')), + 'conditions' => array( + array('bucket' => $bucket), + array('acl' => 'public-read'), + array('starts-with', '$key', ''), + // for demo purposes we are accepting only images + array('starts-with', '$Content-Type', 'image/'), + // Plupload internally adds name field, so we need to mention it here + array('starts-with', '$name', ''), + // One more field to take into account: Filename - gets silently sent by FileReference.upload() in Flash + // http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTFlash.html + array('starts-with', '$Filename', ''), + ) +))); + +// sign policy +$signature = base64_encode(hash_hmac('sha1', $policy, $secret, true)); + +?> + + + + + +Plupload to Amazon S3 Example + + + + + + + + + + + + + + + + + + +

Plupload to Amazon S3 Example

+ +
+

Your browser doesn't have Flash, Silverlight or HTML5 support.

+
+ + + + + diff --git a/assets/javascripts/plupload/examples/upload.php b/assets/javascripts/plupload/examples/upload.php new file mode 100644 index 00000000..0b7276ce --- /dev/null +++ b/assets/javascripts/plupload/examples/upload.php @@ -0,0 +1,125 @@ +' + - '
' + - '
' + - '
' + - '
' + - '
' + _('Select files') + '
' + - '
' + _('Add files to the upload queue and click the start button.') + '
' + - '
' + - '
' + - - '
' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
' + _('Filename') + '' + _('Status') + '' + _('Size') + ' 
' + - - '
' + - '
' + - '
' + - - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
' + - '
' + - '
' + - '
' + - '' + - '
' - ); -} - - -$.widget("ui.plupload", { - - contents_bak: '', - - runtime: null, - - options: { - browse_button_hover: 'ui-state-hover', - browse_button_active: 'ui-state-active', - - // widget specific - dragdrop : true, - multiple_queues: true, // re-use widget by default - - buttons: { - browse: true, - start: true, - stop: true - }, - autostart: false, - sortable: false, - rename: false, - max_file_count: 0 // unlimited - }, - - FILE_COUNT_ERROR: -9001, - - _create: function() { - var self = this, id, uploader; - - id = this.element.attr('id'); - if (!id) { - id = plupload.guid(); - this.element.attr('id', id); - } - this.id = id; - - // backup the elements initial state - this.contents_bak = this.element.html(); - renderUI(this.element); - - // container, just in case - this.container = $('.plupload_container', this.element).attr('id', id + '_container'); - - // list of files, may become sortable - this.filelist = $('.plupload_filelist_content', this.container) - .attr({ - id: id + '_filelist', - unselectable: 'on' - }); - - // buttons - this.browse_button = $('.plupload_add', this.container).attr('id', id + '_browse'); - this.start_button = $('.plupload_start', this.container).attr('id', id + '_start'); - this.stop_button = $('.plupload_stop', this.container).attr('id', id + '_stop'); - - if ($.ui.button) { - this.browse_button.button({ - icons: { primary: 'ui-icon-circle-plus' } - }); - - this.start_button.button({ - icons: { primary: 'ui-icon-circle-arrow-e' }, - disabled: true - }); - - this.stop_button.button({ - icons: { primary: 'ui-icon-circle-close' } - }); - } - - // progressbar - this.progressbar = $('.plupload_progress_container', this.container); - - if ($.ui.progressbar) { - this.progressbar.progressbar(); - } - - // counter - this.counter = $('.plupload_count', this.element) - .attr({ - id: id + '_count', - name: id + '_count' - }); - - // initialize uploader instance - uploader = this.uploader = uploaders[id] = new plupload.Uploader($.extend({ - container: id , - browse_button: id + '_browse' - }, this.options)); - - // do not show UI if no runtime can be initialized - uploader.bind('Error', function(up, err) { - if (err.code === plupload.INIT_ERROR) { - self.destroy(); - } - }); - - uploader.bind('Init', function(up, res) { - // all buttons are optional, so they can be disabled and hidden - if (!self.options.buttons.browse) { - self.browse_button.button('disable').hide(); - up.disableBrowse(true); - } - - if (!self.options.buttons.start) { - self.start_button.button('disable').hide(); - } - - if (!self.options.buttons.stop) { - self.stop_button.button('disable').hide(); - } - - if (!self.options.unique_names && self.options.rename) { - self._enableRenaming(); - } - - if (uploader.features.dragdrop && self.options.dragdrop) { - self._enableDragAndDrop(); - } - - self.container.attr('title', _('Using runtime: ') + (self.runtime = res.runtime)); - - self.start_button.click(function(e) { - if (!$(this).button('option', 'disabled')) { - self.start(); - } - e.preventDefault(); - }); - - self.stop_button.click(function(e) { - self.stop(); - e.preventDefault(); - }); - }); - - - // check if file count doesn't exceed the limit - if (self.options.max_file_count) { - uploader.bind('FilesAdded', function(up, selectedFiles) { - var removed = [], selectedCount = selectedFiles.length; - var extraCount = up.files.length + selectedCount - self.options.max_file_count; - - if (extraCount > 0) { - removed = selectedFiles.splice(selectedCount - extraCount, extraCount); - - up.trigger('Error', { - code : self.FILE_COUNT_ERROR, - message : _('File count error.'), - file : removed - }); - } - }); - } - - // uploader internal events must run first - uploader.init(); - - uploader.bind('FilesAdded', function(up, files) { - self._trigger('selected', null, { up: up, files: files } ); - - if (self.options.autostart) { - // set a little delay to make sure that QueueChanged triggered by the core has time to complete - setTimeout(function() { - self.start(); - }, 10); - } - }); - - uploader.bind('FilesRemoved', function(up, files) { - self._trigger('removed', null, { up: up, files: files } ); - }); - - uploader.bind('QueueChanged', function() { - self._updateFileList(); - }); - - uploader.bind('StateChanged', function() { - self._handleState(); - }); - - uploader.bind('UploadFile', function(up, file) { - self._handleFileStatus(file); - }); - - uploader.bind('FileUploaded', function(up, file) { - self._handleFileStatus(file); - - self._trigger('uploaded', null, { up: up, file: file } ); - }); - - uploader.bind('UploadProgress', function(up, file) { - // Set file specific progress - $('#' + file.id) - .find('.plupload_file_status') - .html(file.percent + '%') - .end() - .find('.plupload_file_size') - .html(plupload.formatSize(file.size)); - - self._handleFileStatus(file); - self._updateTotalProgress(); - - self._trigger('progress', null, { up: up, file: file } ); - }); - - uploader.bind('UploadComplete', function(up, files) { - self._trigger('complete', null, { up: up, files: files } ); - }); - - uploader.bind('Error', function(up, err) { - var file = err.file, message, details; - - if (file) { - message = '' + err.message + ''; - details = err.details; - - if (details) { - message += "
" + err.details + ""; - } else { - - switch (err.code) { - case plupload.FILE_EXTENSION_ERROR: - details = _("File: %s").replace('%s', file.name); - break; - - case plupload.FILE_SIZE_ERROR: - details = _("File: %f, size: %s, max file size: %m").replace(/%([fsm])/g, function($0, $1) { - switch ($1) { - case 'f': return file.name; - case 's': return file.size; - case 'm': return plupload.parseSize(self.options.max_file_size); - } - }); - break; - - case self.FILE_COUNT_ERROR: - details = _("Upload element accepts only %d file(s) at a time. Extra files were stripped.") - .replace('%d', self.options.max_file_count); - break; - - case plupload.IMAGE_FORMAT_ERROR : - details = plupload.translate('Image format either wrong or not supported.'); - break; - - case plupload.IMAGE_MEMORY_ERROR : - details = plupload.translate('Runtime ran out of available memory.'); - break; - - case plupload.IMAGE_DIMENSIONS_ERROR : - details = plupload.translate('Resoultion out of boundaries! %s runtime supports images only up to %wx%hpx.').replace(/%([swh])/g, function($0, $1) { - switch ($1) { - case 's': return up.runtime; - case 'w': return up.features.maxWidth; - case 'h': return up.features.maxHeight; - } - }); - break; - - case plupload.HTTP_ERROR: - details = _("Upload URL might be wrong or doesn't exist"); - break; - } - message += "
" + details + ""; - } - - self.notify('error', message); - self._trigger('error', null, { up: up, file: file, error: message } ); - } - }); - }, - - _setOption: function(key, value) { - var self = this; - - if (key == 'buttons' && typeof(value) == 'object') { - value = $.extend(self.options.buttons, value); - - if (!value.browse) { - self.browse_button.button('disable').hide(); - up.disableBrowse(true); - } else { - self.browse_button.button('enable').show(); - up.disableBrowse(false); - } - - if (!value.start) { - self.start_button.button('disable').hide(); - } else { - self.start_button.button('enable').show(); - } - - if (!value.stop) { - self.stop_button.button('disable').hide(); - } else { - self.start_button.button('enable').show(); - } - } - - self.uploader.settings[key] = value; - }, - - - start: function() { - this.uploader.start(); - this._trigger('start', null); - }, - - stop: function() { - this.uploader.stop(); - this._trigger('stop', null); - }, - - getFile: function(id) { - var file; - - if (typeof id === 'number') { - file = this.uploader.files[id]; - } else { - file = this.uploader.getFile(id); - } - return file; - }, - - removeFile: function(id) { - var file = this.getFile(id); - if (file) { - this.uploader.removeFile(file); - } - }, - - clearQueue: function() { - this.uploader.splice(); - }, - - getUploader: function() { - return this.uploader; - }, - - refresh: function() { - this.uploader.refresh(); - }, - - - _handleState: function() { - var self = this, up = this.uploader; - - if (up.state === plupload.STARTED) { - - $(self.start_button).button('disable'); - - $([]) - .add(self.stop_button) - .add('.plupload_started') - .removeClass('plupload_hidden'); - - $('.plupload_upload_status', self.element).html( - _('Uploaded %d/%d files').replace('%d/%d', up.total.uploaded+'/'+up.files.length) - ); - - $('.plupload_header_content', self.element).addClass('plupload_header_content_bw'); - - } else { - - $([]) - .add(self.stop_button) - .add('.plupload_started') - .addClass('plupload_hidden'); - - if (self.options.multiple_queues) { - $(self.start_button).button('enable'); - - $('.plupload_header_content', self.element).removeClass('plupload_header_content_bw'); - } - - self._updateFileList(); - } - }, - - - _handleFileStatus: function(file) { - var actionClass, iconClass; - - // since this method might be called asynchronously, file row might not yet be rendered - if (!$('#' + file.id).length) { - return; - } - - switch (file.status) { - case plupload.DONE: - actionClass = 'plupload_done'; - iconClass = 'ui-icon ui-icon-circle-check'; - break; - - case plupload.FAILED: - actionClass = 'ui-state-error plupload_failed'; - iconClass = 'ui-icon ui-icon-alert'; - break; - - case plupload.QUEUED: - actionClass = 'plupload_delete'; - iconClass = 'ui-icon ui-icon-circle-minus'; - break; - - case plupload.UPLOADING: - actionClass = 'ui-state-highlight plupload_uploading'; - iconClass = 'ui-icon ui-icon-circle-arrow-w'; - - // scroll uploading file into the view if its bottom boundary is out of it - var scroller = $('.plupload_scroll', this.container), - scrollTop = scroller.scrollTop(), - scrollerHeight = scroller.height(), - rowOffset = $('#' + file.id).position().top + $('#' + file.id).height(); - - if (scrollerHeight < rowOffset) { - scroller.scrollTop(scrollTop + rowOffset - scrollerHeight); - } - break; - } - actionClass += ' ui-state-default plupload_file'; - - $('#' + file.id) - .attr('class', actionClass) - .find('.ui-icon') - .attr('class', iconClass); - }, - - - _updateTotalProgress: function() { - var up = this.uploader; - - this.progressbar.progressbar('value', up.total.percent); - - this.element - .find('.plupload_total_status') - .html(up.total.percent + '%') - .end() - .find('.plupload_total_file_size') - .html(plupload.formatSize(up.total.size)) - .end() - .find('.plupload_upload_status') - .html(_('Uploaded %d/%d files').replace('%d/%d', up.total.uploaded+'/'+up.files.length)); - }, - - - _updateFileList: function() { - var self = this, up = this.uploader, filelist = this.filelist, - count = 0, - id, prefix = this.id + '_', - fields; - - // destroy sortable if enabled - if ($.ui.sortable && this.options.sortable) { - $('tbody.ui-sortable', filelist).sortable('destroy'); - } - - filelist.empty(); - - $.each(up.files, function(i, file) { - fields = ''; - id = prefix + count; - - if (file.status === plupload.DONE) { - if (file.target_name) { - fields += ''; - } - fields += ''; - fields += ''; - - count++; - self.counter.val(count); - } - - filelist.append( - '' + - '' + file.name + '' + - '' + file.percent + '%' + - '' + plupload.formatSize(file.size) + '' + - '
' + fields + '' + - '' - ); - - self._handleFileStatus(file); - - $('#' + file.id + '.plupload_delete .ui-icon, #' + file.id + '.plupload_done .ui-icon') - .click(function(e) { - $('#' + file.id).remove(); - up.removeFile(file); - - e.preventDefault(); - }); - - self._trigger('updatelist', null, filelist); - }); - - if (up.total.queued === 0) { - $('.ui-button-text', self.browse_button).html(_('Add Files')); - } else { - $('.ui-button-text', self.browse_button).html(_('%d files queued').replace('%d', up.total.queued)); - } - - - if (up.files.length === (up.total.uploaded + up.total.failed)) { - self.start_button.button('disable'); - } else { - self.start_button.button('enable'); - } - - - // Scroll to end of file list - filelist[0].scrollTop = filelist[0].scrollHeight; - - self._updateTotalProgress(); - - if (!up.files.length && up.features.dragdrop && up.settings.dragdrop) { - // Re-add drag message if there are no files - $('#' + id + '_filelist').append('' + _("Drag files here.") + ''); - } else { - // Otherwise re-initialize sortable - if (self.options.sortable && $.ui.sortable) { - self._enableSortingList(); - } - } - }, - - - _enableRenaming: function() { - var self = this; - - this.filelist.on('click', '.plupload_delete .plupload_file_name span', function(e) { - var targetSpan = $(e.target), file, parts, name, ext = ""; - - // Get file name and split out name and extension - file = self.uploader.getFile(targetSpan.parents('tr')[0].id); - name = file.name; - parts = /^(.+)(\.[^.]+)$/.exec(name); - if (parts) { - name = parts[1]; - ext = parts[2]; - } - - // Display input element - targetSpan.hide().after(''); - targetSpan.next().val(name).focus().blur(function() { - targetSpan.show().next().remove(); - }).keydown(function(e) { - var targetInput = $(this); - - if ($.inArray(e.keyCode, [13, 27]) !== -1) { - e.preventDefault(); - - // Rename file and glue extension back on - if (e.keyCode === 13) { - file.name = targetInput.val() + ext; - targetSpan.html(file.name); - } - targetInput.blur(); - } - }); - }); - }, - - - _enableDragAndDrop: function() { - this.filelist.append('' + _("Drag files here.") + ''); - - this.filelist.parent().attr('id', this.id + '_dropbox'); - - this.uploader.settings.drop_element = this.options.drop_element = this.id + '_dropbox'; - }, - - - _enableSortingList: function() { - var idxStart, self = this; - - if ($('tbody tr', this.filelist).length < 2) { - return; - } - - $('tbody', this.filelist).sortable({ - containment: 'parent', - items: '.plupload_delete', - - helper: function(e, el) { - return el.clone(true).find('td:not(.plupload_file_name)').remove().end().css('width', '100%'); - }, - - stop: function(e, ui) { - var i, length, idx, files = []; - - $.each($(this).sortable('toArray'), function(i, id) { - files[files.length] = self.uploader.getFile(id); - }); - - files.unshift(files.length); - files.unshift(0); - - // re-populate files array - Array.prototype.splice.apply(self.uploader.files, files); - } - }); - }, - - notify: function(type, message) { - var popup = $( - '
' + - '' + - '

' + message + '

' + - '
' - ); - - popup - .addClass('ui-state-' + (type === 'error' ? 'error' : 'highlight')) - .find('p .ui-icon') - .addClass('ui-icon-' + (type === 'error' ? 'alert' : 'info')) - .end() - .find('.plupload_message_close') - .click(function() { - popup.remove(); - }) - .end(); - - $('.plupload_header_content', this.container).append(popup); - }, - - - - destroy: function() { - // unbind all button events - $('.plupload_button', this.element).unbind(); - - // destroy buttons - if ($.ui.button) { - $('.plupload_add, .plupload_start, .plupload_stop', this.container) - .button('destroy'); - } - - // destroy progressbar - if ($.ui.progressbar) { - this.progressbar.progressbar('destroy'); - } - - // destroy sortable behavior - if ($.ui.sortable && this.options.sortable) { - $('tbody', this.filelist).sortable('destroy'); - } - - // destroy uploader instance - this.uploader.destroy(); - - // restore the elements initial state - this.element - .empty() - .html(this.contents_bak); - this.contents_bak = ''; - - $.Widget.prototype.destroy.apply(this); - } -}); - - -} (window, document, plupload, jQuery)); diff --git a/assets/javascripts/plupload/js/Moxie.swf b/assets/javascripts/plupload/js/Moxie.swf new file mode 100644 index 00000000..e477cf93 Binary files /dev/null and b/assets/javascripts/plupload/js/Moxie.swf differ diff --git a/assets/javascripts/plupload/js/Moxie.xap b/assets/javascripts/plupload/js/Moxie.xap new file mode 100644 index 00000000..fc7fbfe4 Binary files /dev/null and b/assets/javascripts/plupload/js/Moxie.xap differ diff --git a/assets/javascripts/plupload/js/i18n/ar.js b/assets/javascripts/plupload/js/i18n/ar.js new file mode 100644 index 00000000..dc348395 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ar.js @@ -0,0 +1,2 @@ +// Arabic (ar) +plupload.addI18n({"Stop Upload":"أيقاف التحميل","Upload URL might be wrong or doesn't exist.":"عنوان التحميل ربما يكون خاطئ أو غير متوفر","tb":"تيرابايت","Size":"الحجم","Close":"أغلاق","Init error.":"خطأ في تهيئة","Add files to the upload queue and click the start button.":"أضف ملفات إلى القائمة إنتظار التحميل ثم أضغط على زر البداية","Filename":"أسم الملف","Image format either wrong or not supported.":"صيغة الصورة أما خطاء أو غير مدعومه","Status":"الحالة","HTTP Error.":"خطأ في برتوكول نقل الملفات","Start Upload":"أبدا التحميل","mb":"ميجابايت","kb":"كيلوبايت","Duplicate file error.":"خطاء في تكرار الملف","File size error.":"خطأ في حجم الملف","N/A":"لا شي","gb":"جيجابايت","Error: Invalid file extension:":"خطاء : أمتداد الملف غير صالح :","Select files":"أختر الملفات","%s already present in the queue.":"%s الملف موجود بالفعل في قائمة الانتظار","File: %s":"ملف: %s","b":"بايت","Uploaded %d/%d files":"تحميل %d/%d ملف","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"العناصر المقبوله لتحميل هي %d ملف في هذا الوقت. الملفات الاضافية أزيلة.","%d files queued":"%d الملفات في قائمة الانتظار","File: %s, size: %d, max file size: %d":"ملف: %s, أقصى حجم للملف: %d, حجم: %d","Drag files here.":"سحب الملف هنا","Runtime ran out of available memory.":"الذاكرة المتوفره أنتهت لمدة التشغيل","File count error.":"خطاء في عد الملفات","File extension error.":"خطأ في أمتداد الملف","Error: File too large:":" خطاء : حجم الملف كبير :","Add Files":"أضف ملفات"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/az.js b/assets/javascripts/plupload/js/i18n/az.js new file mode 100644 index 00000000..5930cbb2 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/az.js @@ -0,0 +1,2 @@ +// Azerbaijani (az) +plupload.addI18n({"Stop Upload":"Yükləməni saxla","Upload URL might be wrong or doesn't exist.":"Yükləmə ünvanı səhvdir və ya mövcud deyil","tb":"tb","Size":"Həcm","Close":"Bağla","Init error.":"Init error.","Add files to the upload queue and click the start button.":"Faylları əlavə edin və yüklə düyməsinə klikləyin.","Filename":"Faylın adı","Image format either wrong or not supported.":"Şəklin formatı uyğun deyil və ya dəstəklənmir.","Status":"Status","HTTP Error.":"HTTP xətası.","Start Upload":"Yüklə","mb":"mb","kb":"kb","Duplicate file error.":"Bu fayl artıq növbədə var.","File size error.":"Fayl həcmi xətası.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Xəta: Yanlış fayl uzantısı:","Select files":"Faylları seçin","%s already present in the queue.":"%s artıq növbədə var.","File: %s":"Fayl: %s","b":"b","Uploaded %d/%d files":"%d/%d fayl yüklənib","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"Növbədə %d fayl var","File: %s, size: %d, max file size: %d":"Fayl: %s, həcm: %d, max fayl həcmi: %d","Drag files here.":"Faylları bura çəkin.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"Fayl sayı çox böyükdür.","File extension error.":"Fayl uzantısı xətası.","Error: File too large:":"Xəta:Fayl həcmi çox böyükdür.","Add Files":"Fayl əlavə et"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/be_BY.js b/assets/javascripts/plupload/js/i18n/be_BY.js new file mode 100644 index 00000000..656a4e52 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/be_BY.js @@ -0,0 +1,2 @@ +// Belarusian (Belarus) (be_BY) +plupload.addI18n({"Stop Upload":"","Upload URL might be wrong or doesn't exist.":"","tb":"","Size":"","Close":"","Init error.":"","Add files to the upload queue and click the start button.":"","Filename":"","Image format either wrong or not supported.":"","Status":"","HTTP Error.":"","Start Upload":"","mb":"","kb":"","Duplicate file error.":"","File size error.":"","N/A":"","gb":"","Error: Invalid file extension:":"","Select files":"","%s already present in the queue.":"","File: %s":"","b":"","Uploaded %d/%d files":"","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"","%d files queued":"","File: %s, size: %d, max file size: %d":"","Drag files here.":"","Runtime ran out of available memory.":"","File count error.":"","File extension error.":"","Error: File too large:":"","Add Files":""}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/bg.js b/assets/javascripts/plupload/js/i18n/bg.js new file mode 100644 index 00000000..e16bdb0f --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/bg.js @@ -0,0 +1,2 @@ +// Bulgarian (bg) +plupload.addI18n({"Stop Upload":"Спрете качването","Upload URL might be wrong or doesn't exist.":"URL за качване може да е грешен или да не съществува.","tb":"tb","Size":"Размер","Close":"Затвори","Init error.":"Грешка: инициализиране.","Add files to the upload queue and click the start button.":"Добавете файлове в опашката за качване, и щракнете бутона старт.","Filename":"Име на файла","Image format either wrong or not supported.":"Формата на изображението или е объркан, или не се поддържа.","Status":"Статус","HTTP Error.":"Грешка: HTTP .","Start Upload":"Започнете качването","mb":"mb","kb":"kb","Duplicate file error.":"Грешка: файла е вече качен на сървъра.","File size error.":"Грешка: размер на файла.","N/A":"не приложимо","gb":"gb","Error: Invalid file extension:":"Грешка: Невалидно разширение на файл:","Select files":"Изберете файлове","%s already present in the queue.":"%s вече го има в опашката.","File: %s":"Файл: %s","b":"b","Uploaded %d/%d files":"Качени %d/%d файла","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Елемента за качване приема само %d файл(а) наведнъж. Допълнителните файлове бяха отстранени.","%d files queued":"%d файла в опашката","File: %s, size: %d, max file size: %d":"Файл: %s, размер: %d, максимален размер: %d","Drag files here.":"Довлечете файловете тук.","Runtime ran out of available memory.":"Недостатъчна свободна памет.","File count error.":"Грешка в броя на файловете.","File extension error.":"Грешка: разширение на файла.","Error: File too large:":"Грешка: Файла е твърде голям:","Add Files":"Добавете файлове"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/bs.js b/assets/javascripts/plupload/js/i18n/bs.js new file mode 100644 index 00000000..27fe0093 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/bs.js @@ -0,0 +1,2 @@ +// Bosnian (bs) +plupload.addI18n({"Stop Upload":"Prekini dodavanje","Upload URL might be wrong or doesn't exist.":"URL za dodavanje je neispravan ili ne postoji.","tb":"tb","Size":"Veličina","Close":"Zatvori","Init error.":"Inicijalizacijska greška.","Add files to the upload queue and click the start button.":"Dodajte datoteke u red i kliknite na dugme za pokretanje.","Filename":"Naziv datoteke","Image format either wrong or not supported.":"Format slike je neispravan ili nije podržan.","Status":"Status","HTTP Error.":"HTTP greška.","Start Upload":"Započni dodavanje","mb":"mb","kb":"kb","Duplicate file error.":"Dupla datoteka.","File size error.":"Greška u veličini datoteke.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Greška! Neispravan ekstenzija datoteke:","Select files":"Odaberite datoteke","%s already present in the queue.":"%s se već nalazi u redu.","File: %s":"Datoteka: %s","b":"b","Uploaded %d/%d files":"Dodano %d/%d datoteka","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Dodavanje trenutno dozvoljava samo %d datoteka istovremeno. Dodatne datoteke su uklonjene.","%d files queued":"%d datoteka čeka","File: %s, size: %d, max file size: %d":"Datoteka: %s, veličina: %d, maksimalna veličina: %d","Drag files here.":"Dovucite datoteke ovdje.","Runtime ran out of available memory.":"Nema više dostupne memorije.","File count error.":"Greška u brojanju datoeka.","File extension error.":"Greška u ekstenziji datoteke.","Error: File too large:":"Greška! Datoteka je prevelika:","Add Files":"Dodaj datoteke"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ca.js b/assets/javascripts/plupload/js/i18n/ca.js new file mode 100644 index 00000000..f45ed975 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ca.js @@ -0,0 +1,2 @@ +// Catalan (ca) +plupload.addI18n({"Stop Upload":"Parar pujada","Upload URL might be wrong or doesn't exist.":"La URL de càrrega no és correcte o bé no existeix.","tb":"Tb","Size":"Tamany","Close":"Tancar","Init error.":"Error d´inicialització.","Add files to the upload queue and click the start button.":"Afegeixi els fitxers a la cua de pujada i cliqui el botó Iniciar","Filename":"Nom de fitxer","Image format either wrong or not supported.":"Format d'imatge incorrecte o no suportat.","Status":"Estat","HTTP Error.":"Error HTTP.","Start Upload":"Començar pujada","mb":"Mb","kb":"Kb","Duplicate file error.":"Error per duplicitat de fitxer.","File size error.":"Error en la mida del fitxer.","N/A":"N/D","gb":"Gb","Error: Invalid file extension:":"Error: Extensió de fitxer no vàlida:","Select files":"Seleccionar fitxers","%s already present in the queue.":"%s ja existeix a la cua.","File: %s":"Fitxer: %s","b":"b","Uploaded %d/%d files":"Pujats %d/%d fitxers","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"La càrrega d'elements tan sols accepta %d fitxer(s) alhora. Els fitxers sobrants seran descartats.","%d files queued":"%d fitxers en cua","File: %s, size: %d, max file size: %d":"Fitxer: %s, mida: %d, mida màxima de fitxer: %d","Drag files here.":"Arrossegui fitxers aquí","Runtime ran out of available memory.":"L'execució ha arribat al límit de memòria.","File count error.":"Error en el recompte de fitxers","File extension error.":"Error en l´extensió del fitxer.","Error: File too large:":"Error: Fitxer massa gran:","Add Files":"Afegir fitxers"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/cs.js b/assets/javascripts/plupload/js/i18n/cs.js new file mode 100644 index 00000000..82c21ed0 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/cs.js @@ -0,0 +1,2 @@ +// Czech (cs) +plupload.addI18n({"Stop Upload":"Zastavit nahrávání","Upload URL might be wrong or doesn't exist.":"URL uploadu je možná špatně, nebo neexistuje.","tb":"tb","Size":"Velikost","Close":"Zavřít","Init error.":"Chyba inicializace.","Add files to the upload queue and click the start button.":"Přidejte soubory do fronty a pak spusťte nahrávání.","Filename":"Název souboru","Image format either wrong or not supported.":"Špatný, nebo nepodporovaný formát obrázku.","Status":"Stav","HTTP Error.":"Chyba HTTP.","Start Upload":"Spustit nahrávání","mb":"mb","kb":"kb","Duplicate file error.":"Chyba - duplikovaný soubor.","File size error.":"Chyba velikosti souboru.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Chyba: Neplatná koncovka souboru:","Select files":"Vyberte soubory","%s already present in the queue.":"%s je již zařazen ve frontě.","File: %s":"Soubor: %s","b":"b","Uploaded %d/%d files":"Nahráno %d/%d souborů","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload akceptuje pouze %d soubor(ů) najednou. Další soubory byly odstraněny.","%d files queued":"%d souborů ve frontě","File: %s, size: %d, max file size: %d":"Soubor: %s, velikost: %d, maximální velikost souboru: %d","Drag files here.":"Sem přetáhněte soubory.","Runtime ran out of available memory.":"Běh skriptu přesáhl dostupnou paměť.","File count error.":"Chyba v počtu souborů.","File extension error.":"Chyba přípony souboru.","Error: File too large:":"Chyba: Soubor je příliš veliký:","Add Files":"Přidat soubory"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/cy.js b/assets/javascripts/plupload/js/i18n/cy.js new file mode 100644 index 00000000..54a60c02 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/cy.js @@ -0,0 +1,2 @@ +// Welsh (cy) +plupload.addI18n({"Stop Upload":"Atal Lanlwytho","Upload URL might be wrong or doesn't exist.":"URL y lanlwythiad ynb anghywir neu ddim yn bodoli.","tb":"tb","Size":"Maint","Close":"Cau","Init error.":"Gwall cych.","Add files to the upload queue and click the start button.":"Ychwanegwch ffeiliau i'r ciw lanlwytho a chlicio'r botwm dechrau.","Filename":"Enw'r ffeil","Image format either wrong or not supported.":"Fformat delwedd yn anghywir neu heb ei gynnal.","Status":"Statws","HTTP Error.":"Gwall HTTP.","Start Upload":"Dechrau Lanlwytho","mb":"mb","kb":"kb","Duplicate file error.":"Gwall ffeil ddyblyg.","File size error.":"Gwall maint ffeil.","N/A":"Dd/A","gb":"gb","Error: Invalid file extension:":"Gwall: estyniad ffeil annilys:","Select files":"Dewis ffeiliau","%s already present in the queue.":"%s yn y ciw yn barod.","File: %s":"Ffeil: %s","b":"b","Uploaded %d/%d files":"Lanlwythwyd %d/%d ffeil","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Mae'r elfen lanlwytho yn derbyn %d ffeil ar y tro. Caiff ffeiliau ychwanegol eu tynnu.","%d files queued":"%d ffeil mewn ciw","File: %s, size: %d, max file size: %d":"Ffeil: %s, maint: %d, maint mwyaf ffeil: %d","Drag files here.":"Llusgwch ffeiliau yma.","Runtime ran out of available memory.":"Allan o gof.","File count error.":"Gwall cyfri ffeiliau.","File extension error.":"Gwall estyniad ffeil.","Error: File too large:":"Gwall: Ffeil yn rhy fawr:","Add Files":"Ychwanegu Ffeiliau"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/da.js b/assets/javascripts/plupload/js/i18n/da.js new file mode 100644 index 00000000..9a4f62fe --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/da.js @@ -0,0 +1,2 @@ +// Danish (da) +plupload.addI18n({"Stop Upload":"Stop upload","Upload URL might be wrong or doesn't exist.":"Upload URL kan være forkert eller ikke eksisterende.","tb":"tb","Size":"Størrelse","Close":"Luk","Init error.":"Opstarts fejl.","Add files to the upload queue and click the start button.":"Tilføj filer til køen og klik Start upload knappen.","Filename":"Filnavn","Image format either wrong or not supported.":"Billede format er enten forkert eller ikke understøttet.","Status":"Status","HTTP Error.":"HTTP fejl.","Start Upload":"Start upload","mb":"mb","kb":"kb","Duplicate file error.":"Filen findes allerede.","File size error.":"Filstørrelse fejl.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Fejl: Ugyldigt fil format:","Select files":"Vælg filer","%s already present in the queue.":"%s findes allerede i køen.","File: %s":"Fil: %s","b":"b","Uploaded %d/%d files":"Uploaded %d/%d filer","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload accepterer kun %d fil(er) af gangen. Ekstra filer blev skippet.","%d files queued":"%d filer i kø","File: %s, size: %d, max file size: %d":"Fil: %s, størrelse: %d, maks. filstørrelse: %d","Drag files here.":"Træk filer her.","Runtime ran out of available memory.":"Runtime mangler tilgængelige hukommelse.","File count error.":"Fil antal fejl.","File extension error.":"Fil format fejl.","Error: File too large:":"Fejl: Filen er for stor:","Add Files":"Tilføj filer"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/de.js b/assets/javascripts/plupload/js/i18n/de.js new file mode 100644 index 00000000..c738343d --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/de.js @@ -0,0 +1,2 @@ +// German (de) +plupload.addI18n({"Stop Upload":"Hochladen stoppen","Upload URL might be wrong or doesn't exist.":"Upload-URL ist falsch oder existiert nicht.","tb":"TB","Size":"Größe","Close":"Schließen","Init error.":"Initialisierungsfehler","Add files to the upload queue and click the start button.":"Dateien hinzufügen und auf 'Hochladen' klicken.","Filename":"Dateiname","Image format either wrong or not supported.":"Bildformat falsch oder nicht unterstützt.","Status":"Status","HTTP Error.":"HTTP-Fehler","Start Upload":"Hochladen beginnen","mb":"MB","kb":"KB","Duplicate file error.":"Datei bereits hochgeladen","File size error.":"Fehler bei Dateigröße","N/A":"Nicht verfügbar","gb":"GB","Error: Invalid file extension:":"Fehler: Ungültige Dateiendung:","Select files":"Dateien auswählen","%s already present in the queue.":"%s ist bereits in der Warteschlange","File: %s":"Datei: %s","b":"B","Uploaded %d/%d files":"%d/%d Dateien wurden hochgeladen","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Pro Durchgang können nur %d Datei(en) akzeptiert werden. Überzählige Dateien wurden ignoriert.","%d files queued":"%d Dateien in der Warteschlange","File: %s, size: %d, max file size: %d":"Datei: %s, Größe: %d, maximale Dateigröße: %d","Drag files here.":"Dateien hier hin ziehen.","Runtime ran out of available memory.":"Nicht genügend Speicher verfügbar.","File count error.":"Fehlerhafte Dateianzahl.","File extension error.":"Fehler bei Dateiendung","Error: File too large:":"Fehler: Datei zu groß:","Add Files":"Dateien hinzufügen"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/el.js b/assets/javascripts/plupload/js/i18n/el.js new file mode 100644 index 00000000..1cabee89 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/el.js @@ -0,0 +1,2 @@ +// Greek (el) +plupload.addI18n({"Stop Upload":"Ακύρωση Μεταφόρτωσης","Upload URL might be wrong or doesn't exist.":"Το URL μεταφόρτωσης είναι λάθος ή δεν υπάρχει.","tb":"tb","Size":"Μέγεθος","Close":"Κλείσιμο","Init error.":"Σφάλμα αρχικοποίησης.","Add files to the upload queue and click the start button.":"Προσθέστε αρχεία στην ουρά μεταφόρτωσης και πατήστε το κουμπί εκκίνησης.","Filename":"Όνομα Αρχείου","Image format either wrong or not supported.":"Ο τύπος εικόνας είναι λάθος ή δεν υποστηρίζεται.","Status":"Κατάσταση","HTTP Error.":"Σφάλμα HTTP.","Start Upload":"Εκκίνηση Μεταφόρτωσης","mb":"mb","kb":"kb","Duplicate file error.":"Το αρχείο έχει ξαναπροστεθεί.","File size error.":"Σφάλμα με το μέγεθος του αρχείου.","N/A":"Δεν ισχύει","gb":"gb","Error: Invalid file extension:":"Σφάλμα: Μη έγκυρος τύπος αρχείου:","Select files":"Επιλέξτε Αρχεία","%s already present in the queue.":"Το «%s» βρίσκεται ήδη στην ουρά.","File: %s":"Αρχείο: %s","b":"b","Uploaded %d/%d files":"Μεταφορτώθηκαν %d/%d αρχεία","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Μπορείτε να μεταφορτώσετε μεχρι και %d αρχείο/α κάθε φορά. Τα επιπλέον αρχεία αφαιρέθηκαν.","%d files queued":"%d αρχεία στην ουρά","File: %s, size: %d, max file size: %d":"Αρχείο: %s, μέγεθος: %d, μέγιστο μέγεθος αρχείου: %d","Drag files here.":"Σύρετε αρχεία εδώ","Runtime ran out of available memory.":"Δεν υπάρχει αρκετή διαθέσιμη μνήμη.","File count error.":"Σφάλμα με τον αριθμό αρχείων.","File extension error.":"Σφάλμα με τον τύπο αρχείου.","Error: File too large:":"Σφάλμα: Πολύ μεγάλο αρχείο:","Add Files":"Προσθέστε Αρχεία"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/en.js b/assets/javascripts/plupload/js/i18n/en.js new file mode 100644 index 00000000..6ab3e2e0 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/en.js @@ -0,0 +1,2 @@ +// English (en) +plupload.addI18n({"Stop Upload":"Stop Upload","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.","tb":"tb","Size":"Size","Close":"Close","Init error.":"Init error.","Add files to the upload queue and click the start button.":"Add files to the upload queue and click the start button.","Filename":"Filename","Image format either wrong or not supported.":"Image format either wrong or not supported.","Status":"Status","HTTP Error.":"HTTP Error.","Start Upload":"Start Upload","mb":"mb","kb":"kb","Duplicate file error.":"Duplicate file error.","File size error.":"File size error.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"Select files","%s already present in the queue.":"%s already present in the queue.","File: %s":"File: %s","b":"b","Uploaded %d/%d files":"Uploaded %d/%d files","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d files queued","File: %s, size: %d, max file size: %d":"File: %s, size: %d, max file size: %d","Drag files here.":"Drag files here.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"File count error.","File extension error.":"File extension error.","Error: File too large:":"Error: File too large:","Add Files":"Add Files"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/es.js b/assets/javascripts/plupload/js/i18n/es.js new file mode 100644 index 00000000..72b0367e --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/es.js @@ -0,0 +1,2 @@ +// Spanish (es) +plupload.addI18n({"Stop Upload":"Detener Subida.","Upload URL might be wrong or doesn't exist.":"URL de carga inexistente.","tb":"TB","Size":"Tamaño","Close":"Cerrar","Init error.":"Error de inicialización.","Add files to the upload queue and click the start button.":"Agregue archivos a la lista de subida y pulse clic en el botón de Iniciar carga","Filename":"Nombre de archivo","Image format either wrong or not supported.":"Formato de imagen no soportada.","Status":"Estado","HTTP Error.":"Error de HTTP.","Start Upload":"Iniciar carga","mb":"MB","kb":"KB","Duplicate file error.":"Error, archivo duplicado","File size error.":"Error de tamaño de archivo.","N/A":"No disponible","gb":"GB","Error: Invalid file extension:":"Error: Extensión de archivo inválida:","Select files":"Elija archivos","%s already present in the queue.":"%s ya se encuentra en la lista.","File: %s":"Archivo: %s","b":"B","Uploaded %d/%d files":"Subidos %d/%d archivos","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Se aceptan sólo %d archivo(s) al tiempo. Más, no se tienen en cuenta.","%d files queued":"%d archivos en cola.","File: %s, size: %d, max file size: %d":"Archivo: %s, tamaño: %d, tamaño máximo de archivo: %d","Drag files here.":"Arrastre archivos aquí","Runtime ran out of available memory.":"No hay memoria disponible.","File count error.":"Error en contador de archivos.","File extension error.":"Error de extensión de archivo.","Error: File too large:":"Error: archivo demasiado grande:","Add Files":"Agregar archivos"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/et.js b/assets/javascripts/plupload/js/i18n/et.js new file mode 100644 index 00000000..3e145b10 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/et.js @@ -0,0 +1,2 @@ +// Estonian (et) +plupload.addI18n({"Stop Upload":"Stop Upload","Upload URL might be wrong or doesn't exist.":"Üleslaadimise URL võib olla vale või seda pole.","tb":"","Size":"Suurus","Close":"Sulge","Init error.":"Lähtestamise viga.","Add files to the upload queue and click the start button.":"Lisa failid üleslaadimise järjekorda ja klõpsa alustamise nupule.","Filename":"Failinimi","Image format either wrong or not supported.":"Image format either wrong or not supported.","Status":"Olek","HTTP Error.":"HTTP ühenduse viga.","Start Upload":"Start Upload","mb":"","kb":"","Duplicate file error.":"","File size error.":"Failisuuruse viga.","N/A":"N/A","gb":"","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"Vali faile","%s already present in the queue.":"","File: %s":"Fail: %s","b":"","Uploaded %d/%d files":"Üles laaditud %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Üleslaadimise element saab vastu võtta ainult %d faili ühe korraga. Ülejäänud failid jäetakse laadimata.","%d files queued":"Järjekorras on %d faili","File: %s, size: %d, max file size: %d":"","Drag files here.":"Lohista failid siia.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"Failide arvu viga.","File extension error.":"Faililaiendi viga.","Error: File too large:":"Error: File too large:","Add Files":"Add Files"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/fa.js b/assets/javascripts/plupload/js/i18n/fa.js new file mode 100644 index 00000000..e3246cc9 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/fa.js @@ -0,0 +1,2 @@ +// Persian (fa) +plupload.addI18n({"Stop Upload":"توقف انتقال","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.","tb":"ترابایت","Size":"سایز","Close":"بستن","Init error.":"خطا در استارت اسکریپت","Add files to the upload queue and click the start button.":"اضافه کنید فایل ها را به صف آپلود و دکمه شروع را کلیک کنید.","Filename":"نام فایل","Image format either wrong or not supported.":"Image format either wrong or not supported.","Status":"وضعیت","HTTP Error.":"HTTP خطای","Start Upload":"شروع انتقال","mb":"مگابایت","kb":"کیلوبایت","Duplicate file error.":"خطای فایل تکراری","File size error.":"خطای سایز فایل","N/A":"N/A","gb":"گیگابایت","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"انتخاب فایل","%s already present in the queue.":"%s در لیست آپلود وجود دارد.","File: %s":" فایل ها : %s","b":"بایت","Uploaded %d/%d files":"منتقل شد %d/%d از فایلها","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"عنصر بارگذار فقط %d فایل رو در یک زمان می پذیرد. سایر فایل ها مجرد از این موضوع هستند.","%d files queued":"%d فایل در صف","File: %s, size: %d, max file size: %d":"فایل: %s, اندازه: %d, محدودیت اندازه فایل: %d","Drag files here.":"بکشید فایل ها رو به اینجا","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"خطای تعداد فایل","File extension error.":"خطا پیشوند فایل","Error: File too large:":"Error: File too large:","Add Files":"افزودن فایل"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/fi.js b/assets/javascripts/plupload/js/i18n/fi.js new file mode 100644 index 00000000..e16ebecf --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/fi.js @@ -0,0 +1,2 @@ +// Finnish (fi) +plupload.addI18n({"Stop Upload":"Pysäytä lähetys","Upload URL might be wrong or doesn't exist.":"Lähetyksen URL-osoite saattaa olla väärä tai sitä ei ole olemassa.","tb":"TB","Size":"Koko","Close":"Sulje","Init error.":"Init virhe.","Add files to the upload queue and click the start button.":"Lisää tiedostoja lähetysjonoon ja klikkaa aloita-nappia.","Filename":"Tiedostonimi","Image format either wrong or not supported.":"Kuvaformaatti on joko väärä tai ei tuettu.","Status":"Tila","HTTP Error.":"HTTP-virhe.","Start Upload":"Aloita lähetys","mb":"MB","kb":"kB","Duplicate file error.":"Tuplatiedostovirhe.","File size error.":"Tiedostokokovirhe.","N/A":"N/A","gb":"GB","Error: Invalid file extension:":"Virhe: Virheellinen tiedostopääte:","Select files":"Valitse tiedostoja","%s already present in the queue.":"%s on jo jonossa.","File: %s":"Tiedosto: %s","b":"B","Uploaded %d/%d files":"Lähetetty %d/%d tiedostoa","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Vain %d tiedosto(a) voidaan lähettää kerralla. Ylimääräiset tiedostot ohitettiin.","%d files queued":"%d tiedostoa jonossa","File: %s, size: %d, max file size: %d":"Tiedosto: %s, koko: %d, suurin sallittu tiedostokoko: %d","Drag files here.":"Raahaa tiedostot tähän.","Runtime ran out of available memory.":"Toiminnon käytettävissä oleva muisti loppui kesken.","File count error.":"Tiedostolaskentavirhe.","File extension error.":"Tiedostopäätevirhe.","Error: File too large:":"Virhe: Liian suuri tiedosto:","Add Files":"Lisää tiedostoja"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/fr.js b/assets/javascripts/plupload/js/i18n/fr.js new file mode 100644 index 00000000..7f2a765b --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/fr.js @@ -0,0 +1,2 @@ +// French (fr) +plupload.addI18n({"Stop Upload":"Arrêter l'envoi.","Upload URL might be wrong or doesn't exist.":"L'URL d'envoi est soit erronée soit n'existe pas.","tb":"To","Size":"Taille","Close":"Fermer","Init error.":"Erreur d'initialisation.","Add files to the upload queue and click the start button.":"Ajoutez des fichiers à la file d'attente de téléchargement et appuyez sur le bouton 'Démarrer l'envoi'","Filename":"Nom du fichier","Image format either wrong or not supported.":"Le format d'image est soit erroné soit pas géré.","Status":"État","HTTP Error.":"Erreur HTTP.","Start Upload":"Démarrer l'envoi","mb":"Mo","kb":"Ko","Duplicate file error.":"Erreur: Fichier déjà sélectionné.","File size error.":"Erreur de taille de fichier.","N/A":"Non applicable","gb":"Go","Error: Invalid file extension:":"Erreur: Extension de fichier non valide:","Select files":"Sélectionnez les fichiers","%s already present in the queue.":"%s déjà présent dans la file d'attente.","File: %s":"Fichier: %s","b":"o","Uploaded %d/%d files":"%d fichiers sur %d ont été envoyés","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Que %d fichier(s) peuvent être envoyé(s) à la fois. Les fichiers supplémentaires ont été ignorés.","%d files queued":"%d fichiers en attente","File: %s, size: %d, max file size: %d":"Fichier: %s, taille: %d, taille max. d'un fichier: %d","Drag files here.":"Déposez les fichiers ici.","Runtime ran out of available memory.":"Le traitement a manqué de mémoire disponible.","File count error.":"Erreur: Nombre de fichiers.","File extension error.":"Erreur d'extension de fichier","Error: File too large:":"Erreur: Fichier trop volumineux:","Add Files":"Ajouter des fichiers"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/he.js b/assets/javascripts/plupload/js/i18n/he.js new file mode 100644 index 00000000..71033478 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/he.js @@ -0,0 +1,2 @@ +// Hebrew (he) +plupload.addI18n({"Stop Upload":"בטל העלאה","Upload URL might be wrong or doesn't exist.":"כתובת URL שגויה או לא קיימת.","tb":"tb","Size":"גודל","Close":"סגור","Init error.":"שגיאת איתחול","Add files to the upload queue and click the start button.":"הוסף קבצים לרשימה ולחץ על כפתור שליחה להתחלת פעולות העלאה","Filename":"שם קובץ","Image format either wrong or not supported.":"תמונה פגומה או סוג תמונה לא נתמך","Status":"אחוז","HTTP Error.":"שגיאת פרוטוקול","Start Upload":"שליחה","mb":"MB","kb":"KB","Duplicate file error.":"קובץ כפול","File size error.":"גודל קובץ חורג מהמותר","N/A":"שגיאה","gb":"GB","Error: Invalid file extension:":"שגיאה: סוג קובץ לא נתמך:","Select files":"בחר קבצים","%s already present in the queue.":"%sקובץ נמצא כבר ברשימת הקבצים.","File: %s":"קובץ: %s","b":"B","Uploaded %d/%d files":"מעלה: %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"אלמנטי ההעלאה מקבלים רק %d קובץ(ים) בפעם אחת. קבצים נוספים הוסרו.","%d files queued":"%d קבצים נותרו","File: %s, size: %d, max file size: %d":"קובץ: %s, גודל: %d, גודל מקסימלי: %d","Drag files here.":"גרור קבצים לכאן","Runtime ran out of available memory.":"שגיאת מחסור בזיכרון","File count error.":"שגיאת מספר קבצים","File extension error.":"קובץ זה לא נתמך","Error: File too large:":"שגיאה: קובץ חורג מהגודל המותר:","Add Files":"הוסף קבצים"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/hr.js b/assets/javascripts/plupload/js/i18n/hr.js new file mode 100644 index 00000000..626dded4 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/hr.js @@ -0,0 +1,2 @@ +// Croatian (hr) +plupload.addI18n({"Stop Upload":"Zaustavi upload.","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.","tb":"tb","Size":"Veličina","Close":"Zatvori","Init error.":"Greška inicijalizacije.","Add files to the upload queue and click the start button.":"Dodajte datoteke u listu i kliknite Upload.","Filename":"Ime datoteke","Image format either wrong or not supported.":"Image format either wrong or not supported.","Status":"Status","HTTP Error.":"HTTP greška.","Start Upload":"Pokreni upload.","mb":"mb","kb":"kb","Duplicate file error.":"Pogreška dvostruke datoteke.","File size error.":"Greška veličine datoteke.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Pogreška: Nevažeći nastavak datoteke:","Select files":"Odaberite datoteke:","%s already present in the queue.":"%s je već prisutan u listi čekanja.","File: %s":"Datoteka: %s","b":"b","Uploaded %d/%d files":"Uploadano %d/%d datoteka","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d datoteka na čekanju.","File: %s, size: %d, max file size: %d":"Datoteka: %s, veličina: %d, maksimalna veličina: %d","Drag files here.":"Dovucite datoteke ovdje","Runtime ran out of available memory.":"Runtime aplikaciji je ponestalo memorije.","File count error.":"Pogreška u broju datoteka.","File extension error.":"Pogreška u nastavku datoteke.","Error: File too large:":"Pogreška: Datoteka je prevelika:","Add Files":"Dodaj datoteke"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/hu.js b/assets/javascripts/plupload/js/i18n/hu.js new file mode 100644 index 00000000..ad233566 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/hu.js @@ -0,0 +1,2 @@ +// Hungarian (hu) +plupload.addI18n({"Stop Upload":"Feltöltés leállítása","Upload URL might be wrong or doesn't exist.":"A feltöltő URL hibás vagy nem létezik.","tb":"TB","Size":"Méret","Close":"Bezárás","Init error.":"Init hiba.","Add files to the upload queue and click the start button.":"A fájlok feltöltési sorhoz való hozzáadása után az Indítás gombra kell kattintani.","Filename":"Fájlnév","Image format either wrong or not supported.":"Rossz vagy nem támogatott képformátum.","Status":"Állapot","HTTP Error.":"HTTP-hiba.","Start Upload":"Feltöltés indítása","mb":"MB","kb":"kB","Duplicate file error.":"Duplikáltfájl-hiba.","File size error.":"Hibás fájlméret.","N/A":"Nem elérhető","gb":"GB","Error: Invalid file extension:":"Hiba: érvénytelen fájlkiterjesztés:","Select files":"Fájlok kiválasztása","%s already present in the queue.":"%s már szerepel a listában.","File: %s":"Fájl: %s","b":"b","Uploaded %d/%d files":"Feltöltött fájlok: %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"A feltöltés egyszerre csak %d fájlt fogad el, a többi fájl nem lesz feltöltve.","%d files queued":"%d fájl sorbaállítva","File: %s, size: %d, max file size: %d":"Fájl: %s, méret: %d, legnagyobb fájlméret: %d","Drag files here.":"Ide lehet húzni a fájlokat.","Runtime ran out of available memory.":"Futásidőben elfogyott a rendelkezésre álló memória.","File count error.":"A fájlok számával kapcsolatos hiba.","File extension error.":"Hibás fájlkiterjesztés.","Error: File too large:":"Hiba: a fájl túl nagy:","Add Files":"Fájlok hozzáadása"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/hy.js b/assets/javascripts/plupload/js/i18n/hy.js new file mode 100644 index 00000000..ddf432df --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/hy.js @@ -0,0 +1,2 @@ +// Armenian (hy) +plupload.addI18n({"Stop Upload":"Կանգնեցնել","Upload URL might be wrong or doesn't exist.":"Ավեցաված URL-ը սխալ է կամ գոյություն չունի։","tb":"տբ","Size":"Չափ","Close":"Փակել","Init error.":"Ստեղծման սխալ","Add files to the upload queue and click the start button.":"Ավելացրեք ֆայլեր ցուցակում և սեղմեք \"Վերբեռնել\"։","Filename":"Ֆայլի անուն","Image format either wrong or not supported.":"Նկարի ֆորմատը սխալ է կամ չի ընդունվում։","Status":"Կարգավիճակ","HTTP Error.":"HTTP սխալ","Start Upload":"Վերբեռնել","mb":"մբ","kb":"կբ","Duplicate file error.":"Ֆայլի կրկնման սխալ","File size error.":"Ֆայլի չափի սխալ","N/A":"N/A","gb":"գբ","Error: Invalid file extension:":"Սխալ։ Ֆայլի ընդլայնումը սխալ է։","Select files":"Ընտրեք ֆայլերը","%s already present in the queue.":"%s ֆայլը արդեն ավելացված է ցուցակում.","File: %s":"Ֆայլ: %s","b":"բ","Uploaded %d/%d files":"Վերբեռնվել են %d/%d ֆայլերը","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Վերբեռնիչը միանգամից ըդունում է միայն %d ֆայլ(եր). Ավելորդ ֆայլերը հեռացվել են.","%d files queued":"ցուցակում կա %d ֆայլ","File: %s, size: %d, max file size: %d":"Ֆայլ: %s, չափ: %d, ֆայլի մաքսիմում չափ: %d","Drag files here.":"Տեղափոխեք ֆայլերը այստեղ","Runtime ran out of available memory.":"Օպերատիվ հիշողության անբավարարուտյուն.","File count error.":"Ֆայլերի քանակի սխալ","File extension error.":"Ֆայլի ընդլայնման սխալ","Error: File too large:":"Սխալ։ Ֆայլի չափը մեծ է։","Add Files":"Ավելացնել ֆայլեր"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/id.js b/assets/javascripts/plupload/js/i18n/id.js new file mode 100644 index 00000000..2921c27d --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/id.js @@ -0,0 +1,2 @@ +// Indonesian (id) +plupload.addI18n({"Stop Upload":"Hentikan Upload","Upload URL might be wrong or doesn't exist.":"Alamat URL untuk upload tidak benar atau tidak ada","tb":"tb","Size":"Ukuran","Close":"Tutup","Init error.":"Kesalahan pada Init","Add files to the upload queue and click the start button.":"Tambahkan file kedalam antrian upload dan klik tombol Mulai","Filename":"Nama File","Image format either wrong or not supported.":"Kesalahan pada jenis gambar atau jenis file tidak didukung","Status":"Status","HTTP Error.":"HTTP Bermasalah","Start Upload":"Mulai Upload","mb":"mb","kb":"kb","Duplicate file error.":"Terjadi duplikasi file","File size error.":"Kesalahan pada ukuran file","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Kesalahan: Ekstensi file tidak dikenal","Select files":"Pilih file","%s already present in the queue.":"%s sudah ada dalam daftar antrian","File: %s":"File: %s","b":"b","Uploaded %d/%d files":"File terupload %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Tempat untuk upload hanya menerima %d file(s) dalam setiap upload. File lainnya tidak akan disertakan","%d files queued":"%d file dalam antrian","File: %s, size: %d, max file size: %d":"File: %s, ukuran: %d, maksimum ukuran file: %d","Drag files here.":"Tarik file kesini","Runtime ran out of available memory.":"Tidak cukup memori","File count error.":"Kesalahan pada jumlah file","File extension error.":"Kesalahan pada ekstensi file","Error: File too large:":"Kesalahan: File terlalu besar","Add Files":"Tambah File"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/it.js b/assets/javascripts/plupload/js/i18n/it.js new file mode 100644 index 00000000..66c9f9df --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/it.js @@ -0,0 +1,2 @@ +// Italian (it) +plupload.addI18n({"Stop Upload":"Ferma Upload","Upload URL might be wrong or doesn't exist.":"URL di Upload errata o non esistente","tb":"tb","Size":"Dimensione","Close":"Chiudi","Init error.":"Errore inizializzazione.","Add files to the upload queue and click the start button.":"Aggiungi i file alla coda di caricamento e clicca il pulsante di avvio.","Filename":"Nome file","Image format either wrong or not supported.":"Formato immagine errato o non supportato.","Status":"Stato","HTTP Error.":"Errore HTTP.","Start Upload":"Inizia Upload","mb":"mb","kb":"kb","Duplicate file error.":"Errore file duplicato.","File size error.":"Errore dimensione file.","N/A":"N/D","gb":"gb","Error: Invalid file extension:":"Errore: Estensione file non valida:","Select files":"Seleziona i files","%s already present in the queue.":"%s già presente nella coda.","File: %s":"File: %s","b":"byte","Uploaded %d/%d files":"Caricati %d/%d file","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d file in coda","File: %s, size: %d, max file size: %d":"File: %s, dimensione: %d, dimensione max file: %d","Drag files here.":"Trascina i files qui.","Runtime ran out of available memory.":"Runtime ha esaurito la memoria disponibile.","File count error.":"File count error.","File extension error.":"Errore estensione file.","Error: File too large:":"Errore: File troppo grande:","Add Files":"Aggiungi file"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ja.js b/assets/javascripts/plupload/js/i18n/ja.js new file mode 100644 index 00000000..28486992 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ja.js @@ -0,0 +1,2 @@ +// Japanese (ja) +plupload.addI18n({"Stop Upload":"アップロード停止","Upload URL might be wrong or doesn't exist.":"アップロード先の URL が存在しません","tb":"TB","Size":"サイズ","Close":"閉じる","Init error.":"イニシャライズエラー","Add files to the upload queue and click the start button.":"ファイルをアップロードキューに追加してスタートボタンをクリックしてください","Filename":"ファイル名","Image format either wrong or not supported.":"画像形式が間違っているかサポートされていません","Status":"ステータス","HTTP Error.":"HTTP エラー","Start Upload":"アップロード開始","mb":"MB","kb":"KB","Duplicate file error.":"重複ファイルエラー","File size error.":"ファイルサイズエラー","N/A":"N/A","gb":"GB","Error: Invalid file extension:":"エラー: ファイルの拡張子が無効です:","Select files":"ファイル選択","%s already present in the queue.":"%s 既にキューに存在しています","File: %s":"ファイル: %s","b":"B","Uploaded %d/%d files":"アップロード中 %d/%d ファイル","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"アップロード可能なファイル数は %d です 余分なファイルは削除されました","%d files queued":"%d ファイルが追加されました","File: %s, size: %d, max file size: %d":"ファイル: %s, サイズ: %d, 最大ファイルサイズ: %d","Drag files here.":"ここにファイルをドラッグ","Runtime ran out of available memory.":"ランタイムが使用するメモリが不足しました","File count error.":"ファイル数エラー","File extension error.":"ファイル拡張子エラー","Error: File too large:":"エラー: ファイルが大きすぎます:","Add Files":"ファイルを追加"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ka.js b/assets/javascripts/plupload/js/i18n/ka.js new file mode 100644 index 00000000..b1a1fa9d --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ka.js @@ -0,0 +1,2 @@ +// Georgian (ka) +plupload.addI18n({"Stop Upload":"ატვირთვის შეჩერება","Upload URL might be wrong or doesn't exist.":"ატვირთვის მისამართი არასწორია ან არ არსებობს.","tb":"ტბ","Size":"ზომა","Close":"დავხუროთ","Init error.":"ინიციალიზაციის შეცდომა.","Add files to the upload queue and click the start button.":"დაამატეთ ფაილები და დააჭირეთ ღილაკს - ატვირთვა.","Filename":"ფაილის სახელი","Image format either wrong or not supported.":"ფაილის ფორმატი არ არის მხარდაჭერილი ან არასწორია.","Status":"სტატუსი","HTTP Error.":"HTTP შეცდომა.","Start Upload":"ატვირთვა","mb":"მბ","kb":"კბ","Duplicate file error.":"ესეთი ფაილი უკვე დამატებულია.","File size error.":"ფაილის ზომა დაშვებულზე დიდია.","N/A":"N/A","gb":"გბ","Error: Invalid file extension:":"შეცდომა: ფაილს აქვს არასწორი გაფართოება.","Select files":"ფაილების მონიშვნა","%s already present in the queue.":"%s უკვე დამატებულია.","File: %s":"ფაილი: %s","b":"ბ","Uploaded %d/%d files":"ატვირთულია %d/%d ფაილი","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"ერთდროულად დაშვებულია მხოლოდ %d ფაილის დამატება.","%d files queued":"რიგშია %d ფაილი","File: %s, size: %d, max file size: %d":"ფაილი: %s, ზომა: %d, მაქსიმალური დაშვებული ზომა: %d","Drag files here.":"ჩააგდეთ ფაილები აქ.","Runtime ran out of available memory.":"ხელმისაწვდომი მეხსიერება გადაივსო.","File count error.":"აღმოჩენილია ზედმეტი ფაილები.","File extension error.":"ფაილის ფორმატი დაშვებული არ არის.","Error: File too large:":"შეცდომა: ფაილი ზედმეტად დიდია.","Add Files":"დაამატეთ ფაილები"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/kk.js b/assets/javascripts/plupload/js/i18n/kk.js new file mode 100644 index 00000000..344922a8 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/kk.js @@ -0,0 +1,2 @@ +// Kazakh (kk) +plupload.addI18n({"Stop Upload":"Жүктеуді тоқтату","Upload URL might be wrong or doesn't exist.":"Жүктеуді қабылдаушы URL қате не мүлдем көрсетілмеген.","tb":"тб","Size":"Өлшемі","Close":"Жабу","Init error.":"Инициализация қатесі.","Add files to the upload queue and click the start button.":"Жүктеу кезегіне файлдар қосып, Бастау кнопкасын басыңыз.","Filename":"Файл аты","Image format either wrong or not supported.":"Сурет форматы қате немесе оның қолдауы жоқ.","Status":"Күйі","HTTP Error.":"HTTP қатесі.","Start Upload":"Жүктеуді бастау","mb":"мб","kb":"кб","Duplicate file error.":"Файл қайталамасының қатесі.","File size error.":"Файл өлшемінің қатесі.","N/A":"Қ/Ж","gb":"гб","Error: Invalid file extension:":"Қате: Файл кеңейтілуі қате:","Select files":"Файлдар таңдаңыз","%s already present in the queue.":"%s файлы кезекте бұрыннан бар.","File: %s":"Файл: %s","b":"б","Uploaded %d/%d files":"Жүктелген: %d/%d файл","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Жүктеу элементі бір кезде %d файл ғана жүктей алады. Артық файлдар жүктелмейді.","%d files queued":"%d файл кезекке қойылды","File: %s, size: %d, max file size: %d":"Файл: %s, өлшемі: %d, макс. файл өлшемі: %d","Drag files here.":"Файлдарды мына жерге тастаңыз.","Runtime ran out of available memory.":"Орындау кезінде жады жетпей қалды.","File count error.":"Файл санының қатесі.","File extension error.":"Файл кеңейтілуінің қатесі.","Error: File too large:":"Қате: Файл мөлшері тым үлкен:","Add Files":"Файл қосу"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/km.js b/assets/javascripts/plupload/js/i18n/km.js new file mode 100644 index 00000000..c77cea13 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/km.js @@ -0,0 +1,2 @@ +// Khmer (km) +plupload.addI18n({"Stop Upload":"បញ្ឈប់​ការ​ផ្ទុក​ឡើង","Upload URL might be wrong or doesn't exist.":"URL ផ្ទុក​ឡើង​អាច​ខុស ឬ​ក៏​គ្មាន។","tb":"tb","Size":"ទំហំ","Close":"បិទ","Init error.":"កំហុស Init។","Add files to the upload queue and click the start button.":"បន្ថែម​ឯកសារ​ទៅ​ក្នុង​ជួរ​លំដាប់​ផ្ទុក​ឡើង ហើយ​ចុច​ប៊ូតុង​ចាប់​ផ្ដើម។","Filename":"ឈ្មោះ​ឯកសារ","Image format either wrong or not supported.":"ទ្រង់​ទ្រាយ​រូបភាព​អាច​ខុស ឬ​ក៏​មិន​ស្គាល់​តែ​ម្ដង។","Status":"ស្ថានភាព","HTTP Error.":"កំហុស HTTP ។","Start Upload":"ចាប់​ផ្ដើម​ផ្ទុក​ឡើង","mb":"mb","kb":"kb","Duplicate file error.":"កំហុស​ឯកសារ​ស្ទួន​គ្នា។","File size error.":"កំហុស​ទំហំ​ឯកសារ។","N/A":"គ្មាន","gb":"gb","Error: Invalid file extension:":"កំហុស៖ កន្ទុយ​ឯកសារ​មិន​ត្រឹម​ត្រូវ៖","Select files":"ជ្រើស​ឯកសារ","%s already present in the queue.":"មាន %s នៅ​ក្នុង​ជួរ​លំដាប់​ហើយ។","File: %s":"ឯកសារ៖ %s","b":"b","Uploaded %d/%d files":"បាន​ផ្ទុក​ឡើង​ឯកសារ %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"ការ​ផ្ទុក​ឡើង​ទទួល​ឯកសារ​បាន​តែ %d ប៉ុណ្ណោះ​ក្នុង​ពេល​តែ​មួយ។ ឯកសារ​ផ្សេង​ទៀត​នឹង​ត្រូវ​ដក​ចេញ។","%d files queued":"បាន​ដាក់​ឯកសារ %d បន្ត​គ្នា","File: %s, size: %d, max file size: %d":"ឯកសារ៖ %s, size: %d, ទំហំ​ឯកសារ​អតិបរមា៖ %d","Drag files here.":"អូស​ឯកសារ​មក​ទីនេះ។","Runtime ran out of available memory.":"ពេល​ដំណើរ​ការ​អស់​អង្គ​ចងចាំ​ទំនេរ​ហើយ។","File count error.":"កំហុស​ការ​រាប់​ឯកសារ។","File extension error.":"កំហុស​កន្ទុយ​ឯកសារ។","Error: File too large:":"កំហុស៖ ឯកសារ​ធំ​ពេក៖","Add Files":"បន្ថែម​ឯកសារ"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ko.js b/assets/javascripts/plupload/js/i18n/ko.js new file mode 100644 index 00000000..80c65640 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ko.js @@ -0,0 +1,2 @@ +// Korean (ko) +plupload.addI18n({"Stop Upload":"업로드 중지","Upload URL might be wrong or doesn't exist.":"업로드할 URL이 존재하지 않습니다.","tb":"tb","Size":"크기","Close":"닫기","Init error.":"초기화 오류.","Add files to the upload queue and click the start button.":"파일을 업로드 큐에 추가한 후 시작 버튼을 클릭하십시오.","Filename":"파일명","Image format either wrong or not supported.":"지원되지 않는 이미지 형식입니다.","Status":"상태","HTTP Error.":"HTTP 오류.","Start Upload":"업로드 시작","mb":"mb","kb":"kb","Duplicate file error.":"파일 중복 오류.","File size error.":"파일 크기 오류.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"오류: 허용되지 않은 확장자입니다.","Select files":"파일 선택","%s already present in the queue.":"%s 파일이 이미 대기열에 존재합니다.","File: %s":"파일: %s","b":"b","Uploaded %d/%d files":"%d / %d 파일 업로드 완료","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"업로드 가능한 파일의 수는 %d 입니다. 불필요한 파일은 삭제되었습니다.","%d files queued":"%d 파일이 추가됨","File: %s, size: %d, max file size: %d":"파일: %s, 크기: %d, 최대 파일 크기: %d","Drag files here.":"이곳에 파일을 드래그 하세요.","Runtime ran out of available memory.":"런타임 메모리가 부족합니다.","File count error.":"파일 갯수 오류.","File extension error.":"파일 확장자 오류.","Error: File too large:":"오류: 파일 크기가 너무 큽니다.","Add Files":"파일 추가"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ku_IQ.js b/assets/javascripts/plupload/js/i18n/ku_IQ.js new file mode 100644 index 00000000..f3dd2506 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ku_IQ.js @@ -0,0 +1,2 @@ +// Kurdish (Iraq) (ku_IQ) +plupload.addI18n({"Stop Upload":"وەستانی بارکردن","Upload URL might be wrong or doesn't exist.":".بەستەری بارکراو نادروستە یان بەردەست نییە","tb":"تێرابایت","Size":"قەبارە","Close":"داخستن","Init error.":".هەڵەی ئامادەکردن","Add files to the upload queue and click the start button.":".زیادکردنی پەڕگەکان بۆ ڕیزی بارکردن و کرتەکردن لە دوگمەی دەستپێکردن","Filename":"ناوی پەڕگە","Image format either wrong or not supported.":".شێوازی وێنە هەڵەیە یان پاڵپشتی ناکرێت","Status":"ڕەوش","HTTP Error.":".HTTP هەڵەی","Start Upload":"دەستپێکردنی بارکردن","mb":"مێگابایت","kb":"کیلۆبایت","Duplicate file error.":".هەڵەی پەڕگەی دوبارە","File size error.":".هەڵەی قەبارەی پەڕگە","N/A":"بەردەست نییە","gb":"گێگابایت","Error: Invalid file extension:":":هەڵە: پاشگری پەڕگەی نادروست","Select files":"دیاریکردنی پەڕگەکان","%s already present in the queue.":".ئامادەیی هەیە لە ڕیز %s","File: %s":"%s :پەڕگە","b":"بایت","Uploaded %d/%d files":"پەڕگە بارکران %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"بەشی بارکردن تەنها %d پەڕگە(کان) وەردەگرێت لەیەک کاتدا. پەڕگە زیادەکان .جیادەکرێنەوە","%d files queued":"پەڕگە ڕیزکران %d","File: %s, size: %d, max file size: %d":"پەڕگە: %s، قەبارە: %d، گەورەترین قەبارەی پەڕگە: %d","Drag files here.":".پەڕگەکان ڕاکێشە بۆ ئێرە","Runtime ran out of available memory.":"هەڵەی دەرچوون لە بیرگەی بەردەست.","File count error.":".هەڵەی ژماردنی پەڕگە","File extension error.":".هەڵەی پاشگری پەڕگە","Error: File too large:":":هەڵە: پەڕگەکە زۆر گەورەیە","Add Files":"زیادکردنی پەڕگەکان"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/lt.js b/assets/javascripts/plupload/js/i18n/lt.js new file mode 100644 index 00000000..b24e65b0 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/lt.js @@ -0,0 +1,2 @@ +// Lithuanian (lt) +plupload.addI18n({"Stop Upload":"Stabdyti įkėlimą","Upload URL might be wrong or doesn't exist.":"Klaidinga arba neegzistuojanti įkėlimo nuoroda.","tb":"tb","Size":"Dydis","Close":"Uždaryti","Init error.":"Įkrovimo klaida.","Add files to the upload queue and click the start button.":"Pridėkite bylas į įkėlimo eilę ir paspauskite starto mygtuką.","Filename":"Bylos pavadinimas","Image format either wrong or not supported.":"Paveiksliuko formatas klaidingas arba nebepalaikomas.","Status":"Statusas","HTTP Error.":"HTTP klaida.","Start Upload":"Pradėti įkėlimą","mb":"mb","kb":"kb","Duplicate file error.":"Pasikartojanti byla.","File size error.":"Netinkamas bylos dydis.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Klaida: Netinkamas bylos plėtinys:","Select files":"Žymėti bylas","%s already present in the queue.":"%s jau yra eilėje.","File: %s":"Byla: %s","b":"b","Uploaded %d/%d files":"Įkelta bylų: %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Vienu metu galima įkelti tik %d bylas(ų). Papildomos bylos buvo pašalintos.","%d files queued":"%d bylų eilėje","File: %s, size: %d, max file size: %d":"Byla: %s, dydis: %d, galimas dydis: %d","Drag files here.":"Padėti bylas čia.","Runtime ran out of available memory.":"Išeikvota darbinė atmintis.","File count error.":"Netinkamas bylų kiekis.","File extension error.":"Netinkamas pletinys.","Error: File too large:":"Klaida: Byla per didelė:","Add Files":"Pridėti bylas"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/lv.js b/assets/javascripts/plupload/js/i18n/lv.js new file mode 100644 index 00000000..4e714641 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/lv.js @@ -0,0 +1,2 @@ +// Latvian (lv) +plupload.addI18n({"Stop Upload":"Apturēt augšupielādi","Upload URL might be wrong or doesn't exist.":"Augšupielādes saite neeksistē vai ir nepareiza.","tb":"terabaiti","Size":"Izmērs","Close":"Aizvērt","Init error.":"Inicializācijas kļūda.","Add files to the upload queue and click the start button.":"Pievienojiet failus rindai un klikšķiniet uz pogas \"Sākt augšupielādi\".","Filename":"Faila nosaukums","Image format either wrong or not supported.":"Attēla formāts ir nepareizs vai arī netiek atbalstīts.","Status":"Statuss","HTTP Error.":"HTTP kļūda.","Start Upload":"Sākt augšupielādi","mb":"megabaiti","kb":"kilobaiti","Duplicate file error.":"Atkārtota faila kļūda","File size error.":"Faila izmēra kļūda.","N/A":"N/A","gb":"gigabaiti","Error: Invalid file extension:":"Kļūda: Nepareizs faila paplašinājums:","Select files":"Izvēlieties failus","%s already present in the queue.":"%s jau ir atrodams rindā.","File: %s":"Fails: %s","b":"baiti","Uploaded %d/%d files":"Augšupielādēti %d/%d faili","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Iespējams ielādēt tikai %d failus vienā reizē. Atlikušie faili netika pievienoti","%d files queued":"%d faili pievienoti rindai","File: %s, size: %d, max file size: %d":"Fails: %s, izmērs: %d, max faila izmērs: %d","Drag files here.":"Ievelciet failus šeit","Runtime ran out of available memory.":"Pietrūkst izmantojamās atmiņas.","File count error.":"Failu skaita kļūda","File extension error.":"Faila paplašinājuma kļūda.","Error: File too large:":"Kļūda: Fails pārāk liels:","Add Files":"Pievienot failus"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ms.js b/assets/javascripts/plupload/js/i18n/ms.js new file mode 100644 index 00000000..dffb0ae1 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ms.js @@ -0,0 +1,2 @@ +// Malay (ms) +plupload.addI18n({"Stop Upload":"Berhenti Muat naik","Upload URL might be wrong or doesn't exist.":"URL muat naik mungkin salah atau tidak wujud.","tb":"tb","Size":"saiz","Close":"Tutup","Init error.":"Ralat perlaksanaan.","Add files to the upload queue and click the start button.":"Tambah fail ke dalam giliran muat naik dan klik butang Muat Naik.","Filename":"Nama fail","Image format either wrong or not supported.":"Format imej sama ada salah atau tidak disokong.","Status":"Status","HTTP Error.":"Ralat HTTP.","Start Upload":"Muat Naik","mb":"mb","kb":"kb","Duplicate file error.":"Ralat menggandakan fail.","File size error.":"Ralat saiz fail.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Ralat: Sambungan fail tidak sah:","Select files":"Pilih fail","%s already present in the queue.":"%s telah ada dalam barisan.","File: %s":"Fail: %s","b":"b","Uploaded %d/%d files":"%d/%d telah dimuat naik","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Element muat naik hanya menerima %d fail(-fail) pada satu masa. Fail tambahan telah digugurkan.","%d files queued":"%d fail dalam barisan","File: %s, size: %d, max file size: %d":"Fail: %s, saiz: %d, saiz maks fail: %d","Drag files here.":"Seret fail ke sini.","Runtime ran out of available memory.":"Ruang ingatan masa larian tidak mencukupi.","File count error.":"Ralat bilangan fail.","File extension error.":"Ralat sambungan fail.","Error: File too large:":"Ralat: Fail terlalu bersar:","Add Files":"Tambah Fail"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/nl.js b/assets/javascripts/plupload/js/i18n/nl.js new file mode 100644 index 00000000..9ff3c1c6 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/nl.js @@ -0,0 +1,2 @@ +// Dutch (nl) +plupload.addI18n({"Stop Upload":"Stop Upload","Upload URL might be wrong or doesn't exist.":"Upload URL is verkeerd of bestaat niet.","tb":"tb","Size":"Grootte","Close":"Sluiten","Init error.":"Initialisatie error.","Add files to the upload queue and click the start button.":"Voeg bestanden toe aan de wachtrij en druk op 'Start'.","Filename":"Bestandsnaam","Image format either wrong or not supported.":"bestandsextensie is verkeerd of niet ondersteund.","Status":"Status","HTTP Error.":"HTTP Error.","Start Upload":"Start Upload","mb":"mb","kb":"kb","Duplicate file error.":"Bestand bestaat al.","File size error.":"Bestandsgrootte error.","N/A":"Niet beschikbaar","gb":"gb","Error: Invalid file extension:":"Error: Ongeldige bestandsextensie:","Select files":"Selecteer bestand(en):","%s already present in the queue.":"%s is al aan de wachtrij toegevoegd.","File: %s":"Bestand: %s","b":"b","Uploaded %d/%d files":"%d/%d bestanden ge-upload","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload accepteert alleen %d bestand(en) tegelijk. Extra bestanden zijn verwijderd.","%d files queued":"%d bestand(en) in de wachtrij","File: %s, size: %d, max file size: %d":"Bestand: %s, grootte: %d, maximale bestandsgrootte: %d","Drag files here.":"Sleep bestanden hierheen.","Runtime ran out of available memory.":"Het maximum bruikbare geheugen is overschreden.","File count error.":"Teveel bestand(en) error.","File extension error.":"Ongeldig bestandsextensie.","Error: File too large:":"Error: Bestand te groot:","Add Files":"Bestand(en) toevoegen"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/pl.js b/assets/javascripts/plupload/js/i18n/pl.js new file mode 100644 index 00000000..05a5b295 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/pl.js @@ -0,0 +1,2 @@ +// Polish (pl) +plupload.addI18n({"Stop Upload":"Przerwij transfer.","Upload URL might be wrong or doesn't exist.":"Adres URL moze bys nieprawidlowy lub moze nieistniec","tb":"tb","Size":"Rozmiar","Close":"Zamknij","Init error.":"Błąd inicjalizacji.","Add files to the upload queue and click the start button.":"Dodaj pliki i kliknij 'Rozpocznij transfer'.","Filename":"Nazwa pliku","Image format either wrong or not supported.":"Format zdjecia jest zly lub nieobslugiwany","Status":"Status","HTTP Error.":"Błąd HTTP.","Start Upload":"Wyslij","mb":"mb","kb":"kb","Duplicate file error.":"Blad: duplikacja pliku.","File size error.":"Plik jest zbyt duży.","N/A":"Nie dostępne","gb":"gb","Error: Invalid file extension:":"Blad: Nieprawidlowe rozszerzenie pliku:","Select files":"Wybierz pliki:","%s already present in the queue.":"%s juz wystepuje w kolejce.","File: %s":"Plik: %s","b":"b","Uploaded %d/%d files":"Wysłano %d/%d plików","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d plików w kolejce.","File: %s, size: %d, max file size: %d":"Plik: %s, rozmiar: %d, maksymalny rozmiar pliku: %d","Drag files here.":"Przeciągnij tu pliki","Runtime ran out of available memory.":"Wyczerpano pamiec RAM.","File count error.":"Blad liczenia pliku.","File extension error.":"Nieobsługiwany format pliku.","Error: File too large:":"Blad: Plik za duzy:","Add Files":"Dodaj pliki"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/pt_BR.js b/assets/javascripts/plupload/js/i18n/pt_BR.js new file mode 100644 index 00000000..dcaf6c6f --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/pt_BR.js @@ -0,0 +1,2 @@ +// Portuguese (Brazil) (pt_BR) +plupload.addI18n({"Stop Upload":"Parar o envio","Upload URL might be wrong or doesn't exist.":"URL de envio está errada ou não existe","tb":"TB","Size":"Tamanho","Close":"Fechar","Init error.":"Erro inicializando.","Add files to the upload queue and click the start button.":"Adicione os arquivos abaixo e clique no botão \"Iniciar o envio\".","Filename":"Nome do arquivo","Image format either wrong or not supported.":"Image format either wrong or not supported.","Status":"Status","HTTP Error.":"Erro HTTP.","Start Upload":"Iniciar o envio","mb":"MB","kb":"KB","Duplicate file error.":"Erro: Arquivo duplicado.","File size error.":"Tamanho de arquivo não permitido.","N/A":"N/D","gb":"GB","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"Escolha os arquivos","%s already present in the queue.":"%s já presentes na fila.","File: %s":"Arquivo: %s","b":"Bytes","Uploaded %d/%d files":"Enviado(s) %d/%d arquivo(s)","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Só são aceitos %d arquivos por vez. O que passou disso foi descartado.","%d files queued":"%d arquivo(s)","File: %s, size: %d, max file size: %d":"Arquivo: %s, Tamanho: %d , Tamanho Máximo do Arquivo: %d","Drag files here.":"Arraste os arquivos pra cá","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"Erro na contagem dos arquivos","File extension error.":"Tipo de arquivo não permitido.","Error: File too large:":"Error: File too large:","Add Files":"Adicionar arquivo(s)"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ro.js b/assets/javascripts/plupload/js/i18n/ro.js new file mode 100644 index 00000000..2ea3f06c --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ro.js @@ -0,0 +1,2 @@ +// Romanian (ro) +plupload.addI18n({"Stop Upload":"Oprește încărcarea","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.","tb":"tb","Size":"Mărime","Close":"Închide","Init error.":"Eroare inițializare.","Add files to the upload queue and click the start button.":"Adaugă fișiere în lista apoi apasă butonul \"Începe încărcarea\".","Filename":"Nume fișier","Image format either wrong or not supported.":"Formatul de imagine ori este greșit ori nu este suportat.","Status":"Stare","HTTP Error.":"Eroare HTTP","Start Upload":"Începe încărcarea","mb":"mb","kb":"kb","Duplicate file error.":"Eroare duplicat fișier.","File size error.":"Eroare dimensiune fișier.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Eroare: Extensia fișierului este invalidă:","Select files":"Selectează fișierele","%s already present in the queue.":"%s există deja în lista de așteptare.","File: %s":"Fișier: %s","b":"b","Uploaded %d/%d files":"Fișiere încărcate %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d fișiere listate","File: %s, size: %d, max file size: %d":"Fișier: %s, mărime: %d, mărime maximă: %d","Drag files here.":"Trage aici fișierele.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"Eroare numărare fișiere.","File extension error.":"Eroare extensie fișier.","Error: File too large:":"Eroare: Fișierul este prea mare:","Add Files":"Adaugă fișiere"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/ru.js b/assets/javascripts/plupload/js/i18n/ru.js new file mode 100644 index 00000000..ae2470be --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/ru.js @@ -0,0 +1,2 @@ +// Russian (ru) +plupload.addI18n({"Stop Upload":"Остановить Загрузку","Upload URL might be wrong or doesn't exist.":"Адрес заргузки неправильный или он не существует.","tb":"тб","Size":"Размер","Close":"Закрыть","Init error.":"Ошибка инициализации.","Add files to the upload queue and click the start button.":"Добавьте файлы в очередь и нажмите кнопку \"Загрузить файлы\".","Filename":"Имя файла","Image format either wrong or not supported.":"Формат картинки неправильный или он не поддерживается.","Status":"Статус","HTTP Error.":"Ошибка HTTP.","Start Upload":"Начать загрузку","mb":"мб","kb":"кб","Duplicate file error.":"Такой файл уже присутствует в очереди.","File size error.":"Неправильный размер файла.","N/A":"N/A","gb":"гб","Error: Invalid file extension:":"Ошибка: У файла неправильное расширение:","Select files":"Выберите файлы","%s already present in the queue.":"%s уже присутствует в очереди.","File: %s":"Файл: %s","b":"б","Uploaded %d/%d files":"Загружено %d/%d файлов","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Загрузочный элемент за раз принимает только %d файл(ов). Лишние файлы были отброшены.","%d files queued":"В очереди %d файл(ов)","File: %s, size: %d, max file size: %d":"Файл: %s, размер: %d, макс. размер файла: %d","Drag files here.":"Перетащите файлы сюда.","Runtime ran out of available memory.":"Рабочая среда превысила лимит достуной памяти.","File count error.":"Слишком много файлов.","File extension error.":"Неправильное расширение файла.","Error: File too large:":"Ошибка: Файл слишком большой:","Add Files":"Добавьте файлы"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/sk.js b/assets/javascripts/plupload/js/i18n/sk.js new file mode 100644 index 00000000..18c9351c --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/sk.js @@ -0,0 +1,2 @@ +// Slovak (sk) +plupload.addI18n({"Stop Upload":"Zastaviť nahrávanie","Upload URL might be wrong or doesn't exist.":"URL pre nahratie nie je správna alebo neexistuje.","tb":"tb","Size":"Veľkosť","Close":"Zatvoriť","Init error.":"Chyba inicializácie.","Add files to the upload queue and click the start button.":"Pridajte súbory do zoznamu a potom spustite nahrávanie.","Filename":"Názov súboru","Image format either wrong or not supported.":"Formát obrázku je nesprávny alebo nie je podporovaný.","Status":"Stav","HTTP Error.":"HTTP Chyba.","Start Upload":"Spustiť nahrávanie","mb":"mb","kb":"kb","Duplicate file error.":"Duplicitný súbor.","File size error.":"Súbor je príliš veľký.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Error: Nesprávny typ súboru:","Select files":"Vyberte súbory","%s already present in the queue.":"%s sa už nachádza v zozname.","File: %s":"Súbor: %s","b":"b","Uploaded %d/%d files":"Nahraných %d/%d súborov","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d súborov pridaných do zoznamu","File: %s, size: %d, max file size: %d":"Súbor: %s, veľkosť: %d, max. veľkosť súboru: %d","Drag files here.":"Sem pretiahnite súbory.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"Nesprávny počet súborov.","File extension error.":"Chybný typ súboru.","Error: File too large:":"Chyba: Súbor je príliš veľký:","Add Files":"Pridať súbory"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/sq.js b/assets/javascripts/plupload/js/i18n/sq.js new file mode 100644 index 00000000..921b3361 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/sq.js @@ -0,0 +1,2 @@ +// Albanian (sq) +plupload.addI18n({"Stop Upload":"Ndalimi i ngarkimit","Upload URL might be wrong or doesn't exist.":"Ngarkimi i URL-s është i gabuar ose nuk ekziston.","tb":"TB","Size":"Madhësia","Close":"Mbyll","Init error.":"Init gabim.","Add files to the upload queue and click the start button.":"Mbas ngarkimit të dosjeve sipas rradhës duhet të klikoni butonin Start.","Filename":"Emri i dosjes","Image format either wrong or not supported.":"Formati i fotove është i keq ose nuk është i pranueshëm.","Status":"Statusi","HTTP Error.":"HTTP Gabim.","Start Upload":"Nisja e ngarkimit","mb":"MB","kb":"KB","Duplicate file error.":"Gabim i dublikimit të dosjes.","File size error.":"Gabim i madhësisë së dosjes.","N/A":"Nuk është në dispozicion","gb":"GB","Error: Invalid file extension:":"Gabim: përhapja e llojit të dosjes është e pavlefshme:","Select files":"Zhgjidhni dosjet","%s already present in the queue.":"%s tashmë ekziston në list.","File: %s":"Dosje: %s","b":"B","Uploaded %d/%d files":"Dosjet e ngarkuara: %d/%d","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Ngarkimi pranon njëherësh vetëm %d dosje, dosjet e tjera nuk do të jenë të ngarkuara.","%d files queued":"Dosja %d e vendosur në rradhë","File: %s, size: %d, max file size: %d":"Dosje: %s, madhësia: %d, madhësia maximale e dosjes: %d","Drag files here.":"Këtu mund të tërhiqni dosjet","Runtime ran out of available memory.":"Memoria që ishte në dispozicion ka mbaruar.","File count error.":"Gabim në lidhje me numrin e dosjeve.","File extension error.":"Gabim i zgjerimit të dosjes.","Error: File too large:":"Gabim: dosja është shumë e madhe:","Add Files":"Shtoni dosjet"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/sr.js b/assets/javascripts/plupload/js/i18n/sr.js new file mode 100644 index 00000000..bb9581c8 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/sr.js @@ -0,0 +1,2 @@ +// Serbian (sr) +plupload.addI18n({"Stop Upload":"Stop Upload","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.","tb":"","Size":"Veličina","Close":"Close","Init error.":"Init error.","Add files to the upload queue and click the start button.":"Dodajte fajlove u listu i kliknite na dugme Start.","Filename":"Naziv fajla","Image format either wrong or not supported.":"Image format either wrong or not supported.","Status":"Status","HTTP Error.":"HTTP Error.","Start Upload":"Počni upload","mb":"","kb":"","Duplicate file error.":"","File size error.":"File size error.","N/A":"N/A","gb":"","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"Izaberite fajlove","%s already present in the queue.":"","File: %s":"File: %s","b":"","Uploaded %d/%d files":"Snimljeno %d/%d fajlova","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d files queued","File: %s, size: %d, max file size: %d":"","Drag files here.":"Prevucite fajlove ovde.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"File count error.","File extension error.":"File extension error.","Error: File too large:":"Error: File too large:","Add Files":"Dodaj fajlove"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/sv.js b/assets/javascripts/plupload/js/i18n/sv.js new file mode 100644 index 00000000..f25ed818 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/sv.js @@ -0,0 +1,2 @@ +// Swedish (sv) +plupload.addI18n({"Stop Upload":"Avbryt","Upload URL might be wrong or doesn't exist.":"URL:en va fel eller existerar inte.","tb":"tb","Size":"Storlek","Close":"Stäng","Init error.":"Problem vid initialisering.","Add files to the upload queue and click the start button.":"Lägg till filer till kön och tryck på start.","Filename":"Filnamn","Image format either wrong or not supported.":"Bildformatet är fel eller så finns inte stöd för det.","Status":"Status","HTTP Error.":"HTTP problem.","Start Upload":"Starta","mb":"mb","kb":"kb","Duplicate file error.":"Problem med dubbla filer.","File size error.":"Problem med filstorlek.","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"Fel: Ej godkänd filändelse.","Select files":"Välj filer","%s already present in the queue.":"%s är redan tillagd.","File: %s":"Fil: %s","b":"b","Uploaded %d/%d files":"Laddade upp %d/%d filer","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Det går bara lägga till %d filer åt gången, allt utöver detta togs bort.","%d files queued":"%d filer i kö","File: %s, size: %d, max file size: %d":"Fil: %s, storlek: %d, max storlek: %d","Drag files here.":"Dra filer hit","Runtime ran out of available memory.":"Slut på minne.","File count error.":"Räknefel.","File extension error.":"Problem med filändelse.","Error: File too large:":"Fel: Filen är för stor:","Add Files":"Lägg till"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/th_TH.js b/assets/javascripts/plupload/js/i18n/th_TH.js new file mode 100644 index 00000000..53b995e6 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/th_TH.js @@ -0,0 +1,2 @@ +// Thai (Thailand) (th_TH) +plupload.addI18n({"Stop Upload":"หยุดอัพโหลด","Upload URL might be wrong or doesn't exist.":"URL ของการอัพโหลดอาจจะผิดหรือไม่มีอยู่","tb":"เทราไบต์","Size":"ขนาด","Close":"ปิด","Init error.":"Init เกิดข้อผิดพลาด","Add files to the upload queue and click the start button.":"เพิ่มไฟล์ไปยังคิวอัพโหลดและคลิกที่ปุ่มเริ่ม","Filename":"ชื่อไฟล์","Image format either wrong or not supported.":"รูปแบบรูปภาพทั้งสองผิดหรือไม่รองรับ","Status":"สถานะ","HTTP Error.":"HTTP เกิดข้อผิดพลาด","Start Upload":"เริ่มอัพโหลด","mb":"เมกะไบต์","kb":"กิโลไบต์","Duplicate file error.":"ไฟล์ที่ซ้ำกันเกิดข้อผิดพลาด","File size error.":"ขนาดไฟล์เกิดข้อผิดพลาด","N/A":"N/A","gb":"กิกะไบต์","Error: Invalid file extension:":"ข้อผิดพลาด: นามสกุลไฟล์ไม่ถูกต้อง:","Select files":"เลือกไฟล์","%s already present in the queue.":"%s อยู่ในคิวแล้ว","File: %s":"ไฟล์: %s","b":"ไบต์","Uploaded %d/%d files":"อัพโหลดแล้ว %d/%d ไฟล์","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"การอัพโหลดจะยอมรับเฉพาะ %d ไฟล์(s) ในช่วงเวลาเดียวกัน เมื่อไฟล์พิเศษถูกปลดออก","%d files queued":"%d ไฟล์ที่อยู่ในคิว","File: %s, size: %d, max file size: %d":"ไฟล์: %s, ขนาด: %d, ขนาดไฟล์สูงสุด: %d","Drag files here.":"ลากไฟล์มาที่นี่","Runtime ran out of available memory.":"รันไทม์วิ่งออกมาจากหน่วยความจำ","File count error.":"การนับไฟล์เกิดข้อผิดพลาด","File extension error.":"นามสกุลไฟล์เกิดข้อผิดพลาด","Error: File too large:":"ข้อผิดพลาด: ไฟล์ใหญ่เกินไป:","Add Files":"เพิ่มไฟล์"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/tr.js b/assets/javascripts/plupload/js/i18n/tr.js new file mode 100644 index 00000000..47fec4ea --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/tr.js @@ -0,0 +1,2 @@ +// Turkish (tr) +plupload.addI18n({"Stop Upload":"Yüklemeyi durdur","Upload URL might be wrong or doesn't exist.":"URL yok ya da hatalı olabilir.","tb":"tb","Size":"Boyut","Close":"Kapat","Init error.":"Başlangıç hatası.","Add files to the upload queue and click the start button.":"Dosyaları kuyruğa ekleyin ve başlatma butonuna tıklayın.","Filename":"Dosya adı","Image format either wrong or not supported.":"Resim formatı yanlış ya da desteklenmiyor.","Status":"Durum","HTTP Error.":"HTTP hatası.","Start Upload":"Yüklemeyi başlat","mb":"mb","kb":"kb","Duplicate file error.":"Yinelenen dosya hatası.","File size error.":"Dosya boyutu hatası.","N/A":"-","gb":"gb","Error: Invalid file extension:":"Hata: Geçersiz dosya uzantısı:","Select files":"Dosyaları seç","%s already present in the queue.":"%s kuyrukta zaten mevcut.","File: %s":"Dosya: %s","b":"bayt","Uploaded %d/%d files":"%d/%d dosya yüklendi","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Yükleme elemanı aynı anda %d dosya kabul eder. Ekstra dosyalar işleme konulmaz.","%d files queued":"Kuyrukta %d dosya var.","File: %s, size: %d, max file size: %d":"Dosya: %s, boyut: %d, maksimum dosya boyutu: %d","Drag files here.":"Dosyaları buraya bırakın.","Runtime ran out of available memory.":"İşlem için yeterli bellek yok.","File count error.":"Dosya sayım hatası.","File extension error.":"Dosya uzantısı hatası.","Error: File too large:":"Hata: Dosya çok büyük:","Add Files":"Dosya ekle"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/uk_UA.js b/assets/javascripts/plupload/js/i18n/uk_UA.js new file mode 100644 index 00000000..726bf94c --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/uk_UA.js @@ -0,0 +1,2 @@ +// Ukrainian (Ukraine) (uk_UA) +plupload.addI18n({"Stop Upload":"Зупинити завантаження","Upload URL might be wrong or doesn't exist.":"Адреса завантаження неправильна або не існує.","tb":"тб","Size":"Розмір","Close":"Закрити","Init error.":"Помилка ініціалізації.","Add files to the upload queue and click the start button.":"Додайте файли в чергу та натисніть кнопку \"Завантажити файли\".","Filename":"Назва файлу","Image format either wrong or not supported.":"Формат картинки не правильний або не підтримується.","Status":"Статус","HTTP Error.":"Помилка HTTP.","Start Upload":"Почати завантаження","mb":"мб","kb":"кб","Duplicate file error.":"Такий файл вже присутній в черзі.","File size error.":"Неправильний розмір файлу.","N/A":"Н/Д","gb":"гб","Error: Invalid file extension:":"Помилка: У файлу неправильне розширення:","Select files":"Оберіть файли","%s already present in the queue.":"%s вже присутній у черзі.","File: %s":"Файл: %s","b":"б","Uploaded %d/%d files":"Завантажено %d/%d файлів","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Завантажувальний елемент приймає лише %d файл(ів) одночасно. Зайві файли було відкинуто.","%d files queued":"В черзі %d файл(ів)","File: %s, size: %d, max file size: %d":"Файл: %s, розмір: %d, макс. розмір файлу: %d","Drag files here.":"Перетягніть файли сюди.","Runtime ran out of available memory.":"Робоче середовище перевищило ліміт доступної пам'яті.","File count error.":"Занадто багато файлів.","File extension error.":"Неправильне розширення файлу.","Error: File too large:":"Помилка: Файл занадто великий:","Add Files":"Додати файли"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/vi.js b/assets/javascripts/plupload/js/i18n/vi.js new file mode 100644 index 00000000..a0cfadcb --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/vi.js @@ -0,0 +1,2 @@ +// Vietnamese (vi) +plupload.addI18n({"Stop Upload":"Dừng","Upload URL might be wrong or doesn't exist.":"Đường dẫn URL tải lên không đúng hoặc không tồn tại.","tb":"TB","Size":"Dung lượng","Close":"Đóng","Init error.":"Lỗi khởi tạo","Add files to the upload queue and click the start button.":"Thêm tập tin để tải lên và bấm vào nút bắt đầu","Filename":"Tên tập tin","Image format either wrong or not supported.":"Địng dạng hình ảnh không đúng hoặc không được hỗ trợ.","Status":"Trạng thái","HTTP Error.":"Lỗi HTTP","Start Upload":"Bắt đầu","mb":"MB","kb":"KB","Duplicate file error.":"Tập tin đã tồn tại","File size error.":"Lỗi dung lượng tập tin","N/A":"Chưa có thông tin","gb":"GB","Error: Invalid file extension:":"Lỗi: Định dạng tập tin không xác định:","Select files":"Chọn tập tin","%s already present in the queue.":"%s đã có trong danh sách chờ tải lên","File: %s":"Tập tin: %s","b":"B","Uploaded %d/%d files":"Đã tải lên %d/%d tập tin","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Chỉ có thể tải lên (%d) tập tin cùng một lúc. Những tập tin còn lại đã bị huỷ bỏ.","%d files queued":"%d tập tin trong danh sách chờ","File: %s, size: %d, max file size: %d":"Tập tin: %s, dung lượng %d, dung lượng tối đa: %d","Drag files here.":"Ném vào đây","Runtime ran out of available memory.":"Thời gian chạy vượt quá giới hạn bộ nhớ cho phép.","File count error.":"Lỗi đếm tập tin","File extension error.":"Lỗi định dạng tập tin","Error: File too large:":"Lỗi: Dung lượng tập tin quá lớn:","Add Files":"Thêm tập tin"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/zh_CN.js b/assets/javascripts/plupload/js/i18n/zh_CN.js new file mode 100644 index 00000000..f48e0c43 --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/zh_CN.js @@ -0,0 +1,2 @@ +// Chinese (China) (zh_CN) +plupload.addI18n({"Stop Upload":"停止上传","Upload URL might be wrong or doesn't exist.":"上传的URL可能是错误的或不存在。","tb":"tb","Size":"大小","Close":"关闭","Init error.":"初始化错误。","Add files to the upload queue and click the start button.":"将文件添加到上传队列,然后点击”开始上传“按钮。","Filename":"文件名","Image format either wrong or not supported.":"图片格式错误或者不支持。","Status":"状态","HTTP Error.":"HTTP 错误。","Start Upload":"开始上传","mb":"mb","kb":"kb","Duplicate file error.":"重复文件错误。","File size error.":"文件大小错误。","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"错误:无效的文件扩展名:","Select files":"选择文件","%s already present in the queue.":"%s 已经在当前队列里。","File: %s":"文件: %s","b":"b","Uploaded %d/%d files":"已上传 %d/%d 个文件","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"每次只接受同时上传 %d 个文件,多余的文件将会被删除。","%d files queued":"%d 个文件加入到队列","File: %s, size: %d, max file size: %d":"文件: %s, 大小: %d, 最大文件大小: %d","Drag files here.":"把文件拖到这里。","Runtime ran out of available memory.":"运行时已消耗所有可用内存。","File count error.":"文件数量错误。","File extension error.":"文件扩展名错误。","Error: File too large:":"错误: 文件太大:","Add Files":"增加文件"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/js/i18n/zh_TW.js b/assets/javascripts/plupload/js/i18n/zh_TW.js new file mode 100644 index 00000000..2deebe2d --- /dev/null +++ b/assets/javascripts/plupload/js/i18n/zh_TW.js @@ -0,0 +1,2 @@ +// Chinese (Taiwan) (zh_TW) +plupload.addI18n({"Stop Upload":"停止上傳","Upload URL might be wrong or doesn't exist.":"檔案URL可能有誤或者不存在。","tb":"tb","Size":"大小","Close":"關閉","Init error.":"初始化錯誤。","Add files to the upload queue and click the start button.":"將檔案加入上傳序列,然後點選”開始上傳“按鈕。","Filename":"檔案名稱","Image format either wrong or not supported.":"圖片格式錯誤或者不支援。","Status":"狀態","HTTP Error.":"HTTP 錯誤。","Start Upload":"開始上傳","mb":"mb","kb":"kb","Duplicate file error.":"錯誤:檔案重複。","File size error.":"錯誤:檔案大小超過限制。","N/A":"N/A","gb":"gb","Error: Invalid file extension:":"錯誤:不接受的檔案格式:","Select files":"選擇檔案","%s already present in the queue.":"%s 已經存在目前的檔案序列。","File: %s":"檔案: %s","b":"b","Uploaded %d/%d files":"已上傳 %d/%d 個文件","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"每次只能上傳 %d 個檔案,超過限制數量的檔案將被忽略。","%d files queued":"%d 個檔案加入到序列","File: %s, size: %d, max file size: %d":"檔案: %s, 大小: %d, 檔案大小上限: %d","Drag files here.":"把檔案拖曳到這裡。","Runtime ran out of available memory.":"執行時耗盡了所有可用的記憶體。","File count error.":"檔案數量錯誤。","File extension error.":"檔案副檔名錯誤。","Error: File too large:":"錯誤: 檔案大小太大:","Add Files":"增加檔案"}); \ No newline at end of file diff --git a/assets/javascripts/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css b/assets/javascripts/plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css similarity index 95% rename from assets/javascripts/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css rename to assets/javascripts/plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css index 4f377e22..6bfe0e5e 100644 --- a/assets/javascripts/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css +++ b/assets/javascripts/plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css @@ -2,6 +2,10 @@ Plupload ------------------------------------------------------------------- */ +.plupload_wrapper * { + box-sizing: content-box; +} + .plupload_button { display: -moz-inline-box; /* FF < 3*/ display: inline-block; @@ -107,7 +111,11 @@ } .plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;} -.plupload_filelist .plupload_file_name {width: 205px} +.plupload_filelist .plupload_file_name { + width: 205px; + white-space: nowrap; + text-overflow: ellipsis; +} .plupload_file_action { float: right; diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/backgrounds.gif b/assets/javascripts/plupload/js/jquery.plupload.queue/img/backgrounds.gif similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/backgrounds.gif rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/backgrounds.gif diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/buttons-disabled.png b/assets/javascripts/plupload/js/jquery.plupload.queue/img/buttons-disabled.png similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/buttons-disabled.png rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/buttons-disabled.png diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/buttons.png b/assets/javascripts/plupload/js/jquery.plupload.queue/img/buttons.png similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/buttons.png rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/buttons.png diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/delete.gif b/assets/javascripts/plupload/js/jquery.plupload.queue/img/delete.gif similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/delete.gif rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/delete.gif diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/done.gif b/assets/javascripts/plupload/js/jquery.plupload.queue/img/done.gif similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/done.gif rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/done.gif diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/error.gif b/assets/javascripts/plupload/js/jquery.plupload.queue/img/error.gif similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/error.gif rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/error.gif diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/throbber.gif b/assets/javascripts/plupload/js/jquery.plupload.queue/img/throbber.gif similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/throbber.gif rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/throbber.gif diff --git a/assets/javascripts/plupload/jquery.plupload.queue/img/transp50.png b/assets/javascripts/plupload/js/jquery.plupload.queue/img/transp50.png similarity index 100% rename from assets/javascripts/plupload/jquery.plupload.queue/img/transp50.png rename to assets/javascripts/plupload/js/jquery.plupload.queue/img/transp50.png diff --git a/assets/javascripts/plupload/jquery.plupload.queue/jquery.plupload.queue.js b/assets/javascripts/plupload/js/jquery.plupload.queue/jquery.plupload.queue.js similarity index 59% rename from assets/javascripts/plupload/jquery.plupload.queue/jquery.plupload.queue.js rename to assets/javascripts/plupload/js/jquery.plupload.queue/jquery.plupload.queue.js index cd5d66fc..6894ecde 100644 --- a/assets/javascripts/plupload/jquery.plupload.queue/jquery.plupload.queue.js +++ b/assets/javascripts/plupload/js/jquery.plupload.queue/jquery.plupload.queue.js @@ -8,10 +8,72 @@ * Contributing: http://www.plupload.com/contributing */ -// JSLint defined globals -/*global plupload:false, jQuery:false, alert:false */ +/* global jQuery:true, alert:true */ -(function($) { +/** +jQuery based implementation of the Plupload API - multi-runtime file uploading API. + +To use the widget you must include _jQuery_. It is not meant to be extended in any way and is provided to be +used as it is. + +@example + +
+

Your browser doesn't have Flash, Silverlight or HTML5 support.

+
+ + + +@example + // Retrieving a reference to plupload.Uploader object + var uploader = $('#uploader').pluploadQueue(); + + uploader.bind('FilesAdded', function() { + + // Autostart + setTimeout(uploader.start, 1); // "detach" from the main thread + }); + +@class pluploadQueue +@constructor +@param {Object} settings For detailed information about each option check documentation. + @param {String} settings.url URL of the server-side upload handler. + @param {Number|String} [settings.chunk_size=0] Chunk size in bytes to slice the file into. Shorcuts with b, kb, mb, gb, tb suffixes also supported. `e.g. 204800 or "204800b" or "200kb"`. By default - disabled. + @param {String} [settings.file_data_name="file"] Name for the file field in Multipart formated message. + @param {Array} [settings.filters=[]] Set of file type filters, each one defined by hash of title and extensions. `e.g. {title : "Image files", extensions : "jpg,jpeg,gif,png"}`. Dispatches `plupload.FILE_EXTENSION_ERROR` + @param {String} [settings.flash_swf_url] URL of the Flash swf. + @param {Object} [settings.headers] Custom headers to send with the upload. Hash of name/value pairs. + @param {Number|String} [settings.max_file_size] Maximum file size that the user can pick, in bytes. Optionally supports b, kb, mb, gb, tb suffixes. `e.g. "10mb" or "1gb"`. By default - not set. Dispatches `plupload.FILE_SIZE_ERROR`. + @param {Number} [settings.max_retries=0] How many times to retry the chunk or file, before triggering Error event. + @param {Boolean} [settings.multipart=true] Whether to send file and additional parameters as Multipart formated message. + @param {Object} [settings.multipart_params] Hash of key/value pairs to send with every file upload. + @param {Boolean} [settings.multi_selection=true] Enable ability to select multiple files at once in file dialog. + @param {Boolean} [settings.prevent_duplicates=false] Do not let duplicates into the queue. Dispatches `plupload.FILE_DUPLICATE_ERROR`. + @param {String|Object} [settings.required_features] Either comma-separated list or hash of required features that chosen runtime should absolutely possess. + @param {Object} [settings.resize] Enable resizng of images on client-side. Applies to `image/jpeg` and `image/png` only. `e.g. {width : 200, height : 200, quality : 90, crop: true}` + @param {Number} [settings.resize.width] If image is bigger, it will be resized. + @param {Number} [settings.resize.height] If image is bigger, it will be resized. + @param {Number} [settings.resize.quality=90] Compression quality for jpegs (1-100). + @param {Boolean} [settings.resize.crop=false] Whether to crop images to exact dimensions. By default they will be resized proportionally. + @param {String} [settings.runtimes="html5,flash,silverlight,html4"] Comma separated list of runtimes, that Plupload will try in turn, moving to the next if previous fails. + @param {String} [settings.silverlight_xap_url] URL of the Silverlight xap. + @param {Boolean} [settings.unique_names=false] If true will generate unique filenames for uploaded files. + + @param {Boolean} [settings.dragdrop=true] Enable ability to add file to the queue by drag'n'dropping them from the desktop. + @param {Boolean} [settings.rename=false] Enable ability to rename files in the queue. + @param {Boolean} [settings.multiple_queues=true] Re-activate the widget after each upload procedure. +*/ +;(function($, o) { var uploaders = {}; function _(str) { @@ -53,8 +115,8 @@ '