Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4e613c6c10 | ||
|
|
76bcbce2ef | ||
|
|
7da7e853a3 | ||
|
|
6ae66f4dbf | ||
|
|
a98d4de1e3 | ||
|
|
5e4d66ad50 | ||
|
|
982d6bc748 | ||
|
|
3169291039 | ||
|
|
de86f4b965 | ||
|
|
bf45264131 | ||
|
|
1602fd0dfd | ||
|
|
12c4119abd | ||
|
|
f3a52d2e98 | ||
|
|
ba1af78dc8 | ||
|
|
59427dcfbf | ||
|
|
50755b5913 | ||
|
|
5b0051e710 | ||
|
|
8af523c694 | ||
|
|
2f84506227 | ||
|
|
6e7012c40f | ||
|
|
dfcd0f15ae | ||
|
|
8bfe71e803 | ||
|
|
1c1c9fa517 | ||
|
|
a55317f09c | ||
|
|
fcc5d2847c | ||
|
|
e5b3c31e70 | ||
|
|
2af910e8e6 | ||
|
|
9c5ec2974d | ||
|
|
6f6f1f1ba3 | ||
|
|
3f62305e91 | ||
|
|
15ecbbf928 | ||
|
|
2074f0ab41 | ||
|
|
290bd1756d | ||
|
|
729d1176ea | ||
|
|
c0db7007fa | ||
|
|
d7e3c4df26 | ||
|
|
76ec11422d | ||
|
|
8bc721c264 | ||
|
|
914d1e6645 |
@@ -28,7 +28,7 @@ class AdminController < ApplicationController
|
|||||||
|
|
||||||
def projects
|
def projects
|
||||||
sort_init 'name', 'asc'
|
sort_init 'name', 'asc'
|
||||||
sort_update
|
sort_update %w(name is_public created_on)
|
||||||
|
|
||||||
@status = params[:status] ? params[:status].to_i : 0
|
@status = params[:status] ? params[:status].to_i : 0
|
||||||
conditions = nil
|
conditions = nil
|
||||||
|
|||||||
@@ -61,11 +61,11 @@ class ApplicationController < ActionController::Base
|
|||||||
def set_localization
|
def set_localization
|
||||||
User.current.language = nil unless User.current.logged?
|
User.current.language = nil unless User.current.logged?
|
||||||
lang = begin
|
lang = begin
|
||||||
if !User.current.language.blank? and GLoc.valid_languages.include? User.current.language.to_sym
|
if !User.current.language.blank? && GLoc.valid_language?(User.current.language)
|
||||||
User.current.language
|
User.current.language
|
||||||
elsif request.env['HTTP_ACCEPT_LANGUAGE']
|
elsif request.env['HTTP_ACCEPT_LANGUAGE']
|
||||||
accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first.split('-').first
|
accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first.downcase
|
||||||
if accept_lang and !accept_lang.empty? and GLoc.valid_languages.include? accept_lang.to_sym
|
if !accept_lang.blank? && (GLoc.valid_language?(accept_lang) || GLoc.valid_language?(accept_lang = accept_lang.split('-').first))
|
||||||
User.current.language = accept_lang
|
User.current.language = accept_lang
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -36,12 +36,13 @@ class BoardsController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
sort_init "#{Message.table_name}.updated_on", "desc"
|
sort_init 'updated_on', 'desc'
|
||||||
sort_update
|
sort_update 'created_on' => "#{Message.table_name}.created_on",
|
||||||
|
'updated_on' => "#{Message.table_name}.updated_on"
|
||||||
|
|
||||||
@topic_count = @board.topics.count
|
@topic_count = @board.topics.count
|
||||||
@topic_pages = Paginator.new self, @topic_count, per_page_option, params['page']
|
@topic_pages = Paginator.new self, @topic_count, per_page_option, params['page']
|
||||||
@topics = @board.topics.find :all, :order => "#{Message.table_name}.sticky DESC, #{sort_clause}",
|
@topics = @board.topics.find :all, :order => ["#{Message.table_name}.sticky DESC", sort_clause].compact.join(', '),
|
||||||
:include => [:author, {:last_reply => :author}],
|
:include => [:author, {:last_reply => :author}],
|
||||||
:limit => @topic_pages.items_per_page,
|
:limit => @topic_pages.items_per_page,
|
||||||
:offset => @topic_pages.current.offset
|
:offset => @topic_pages.current.offset
|
||||||
|
|||||||
@@ -45,9 +45,10 @@ class IssuesController < ApplicationController
|
|||||||
include IssuesHelper
|
include IssuesHelper
|
||||||
|
|
||||||
def index
|
def index
|
||||||
sort_init "#{Issue.table_name}.id", "desc"
|
|
||||||
sort_update
|
|
||||||
retrieve_query
|
retrieve_query
|
||||||
|
sort_init 'id', 'desc'
|
||||||
|
sort_update({'id' => "#{Issue.table_name}.id"}.merge(@query.columns.inject({}) {|h, c| h[c.name.to_s] = c.sortable; h}))
|
||||||
|
|
||||||
if @query.valid?
|
if @query.valid?
|
||||||
limit = per_page_option
|
limit = per_page_option
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
@@ -78,9 +79,10 @@ class IssuesController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def changes
|
def changes
|
||||||
sort_init "#{Issue.table_name}.id", "desc"
|
|
||||||
sort_update
|
|
||||||
retrieve_query
|
retrieve_query
|
||||||
|
sort_init 'id', 'desc'
|
||||||
|
sort_update({'id' => "#{Issue.table_name}.id"}.merge(@query.columns.inject({}) {|h, c| h[c.name.to_s] = c.sortable; h}))
|
||||||
|
|
||||||
if @query.valid?
|
if @query.valid?
|
||||||
@journals = Journal.find :all, :include => [ :details, :user, {:issue => [:project, :author, :tracker, :status]} ],
|
@journals = Journal.find :all, :include => [ :details, :user, {:issue => [:project, :author, :tracker, :status]} ],
|
||||||
:conditions => @query.statement,
|
:conditions => @query.statement,
|
||||||
@@ -102,6 +104,7 @@ class IssuesController < ApplicationController
|
|||||||
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
|
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
|
||||||
@activities = Enumeration::get_values('ACTI')
|
@activities = Enumeration::get_values('ACTI')
|
||||||
@priorities = Enumeration::get_values('IPRI')
|
@priorities = Enumeration::get_values('IPRI')
|
||||||
|
@time_entry = TimeEntry.new
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { render :template => 'issues/show.rhtml' }
|
format.html { render :template => 'issues/show.rhtml' }
|
||||||
format.atom { render :action => 'changes', :layout => false, :content_type => 'application/atom+xml' }
|
format.atom { render :action => 'changes', :layout => false, :content_type => 'application/atom+xml' }
|
||||||
@@ -137,7 +140,7 @@ class IssuesController < ApplicationController
|
|||||||
@project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue) } :
|
@project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue) } :
|
||||||
@issue.custom_values
|
@issue.custom_values
|
||||||
else
|
else
|
||||||
requested_status = IssueStatus.find_by_id(params[:issue][:status_id])
|
requested_status = (params[:issue] && params[:issue][:status_id] ? IssueStatus.find_by_id(params[:issue][:status_id]) : default_status)
|
||||||
# Check that the user is allowed to apply the requested status
|
# Check that the user is allowed to apply the requested status
|
||||||
@issue.status = (@allowed_statuses.include? requested_status) ? requested_status : default_status
|
@issue.status = (@allowed_statuses.include? requested_status) ? requested_status : default_status
|
||||||
@custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x,
|
@custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x,
|
||||||
@@ -148,7 +151,7 @@ class IssuesController < ApplicationController
|
|||||||
attach_files(@issue, params[:attachments])
|
attach_files(@issue, params[:attachments])
|
||||||
flash[:notice] = l(:notice_successful_create)
|
flash[:notice] = l(:notice_successful_create)
|
||||||
Mailer.deliver_issue_add(@issue) if Setting.notified_events.include?('issue_added')
|
Mailer.deliver_issue_add(@issue) if Setting.notified_events.include?('issue_added')
|
||||||
redirect_to :controller => 'issues', :action => 'show', :id => @issue, :project_id => @project
|
redirect_to :controller => 'issues', :action => 'show', :id => @issue
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -185,13 +188,13 @@ class IssuesController < ApplicationController
|
|||||||
@custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue, :value => params["custom_fields"][x.id.to_s]) }
|
@custom_values = @project.custom_fields_for_issues(@issue.tracker).collect { |x| CustomValue.new(:custom_field => x, :customized => @issue, :value => params["custom_fields"][x.id.to_s]) }
|
||||||
@issue.custom_values = @custom_values
|
@issue.custom_values = @custom_values
|
||||||
end
|
end
|
||||||
|
@time_entry = TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => Date.today)
|
||||||
|
@time_entry.attributes = params[:time_entry]
|
||||||
attachments = attach_files(@issue, params[:attachments])
|
attachments = attach_files(@issue, params[:attachments])
|
||||||
attachments.each {|a| journal.details << JournalDetail.new(:property => 'attachment', :prop_key => a.id, :value => a.filename)}
|
attachments.each {|a| journal.details << JournalDetail.new(:property => 'attachment', :prop_key => a.id, :value => a.filename)}
|
||||||
if @issue.save
|
if @issue.save
|
||||||
# Log spend time
|
# Log spend time
|
||||||
if current_role.allowed_to?(:log_time)
|
if current_role.allowed_to?(:log_time)
|
||||||
@time_entry = TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => Date.today)
|
|
||||||
@time_entry.attributes = params[:time_entry]
|
|
||||||
@time_entry.save
|
@time_entry.save
|
||||||
end
|
end
|
||||||
if !journal.new_record?
|
if !journal.new_record?
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class ProjectsController < ApplicationController
|
|||||||
def show
|
def show
|
||||||
@custom_values = @project.custom_values.find(:all, :include => :custom_field, :order => "#{CustomField.table_name}.position")
|
@custom_values = @project.custom_values.find(:all, :include => :custom_field, :order => "#{CustomField.table_name}.position")
|
||||||
@members_by_role = @project.members.find(:all, :include => [:user, :role], :order => 'position').group_by {|m| m.role}
|
@members_by_role = @project.members.find(:all, :include => [:user, :role], :order => 'position').group_by {|m| m.role}
|
||||||
@subprojects = @project.active_children
|
@subprojects = @project.children.find(:all, :conditions => Project.visible_by(User.current))
|
||||||
@news = @project.news.find(:all, :limit => 5, :include => [ :author, :project ], :order => "#{News.table_name}.created_on DESC")
|
@news = @project.news.find(:all, :limit => 5, :include => [ :author, :project ], :order => "#{News.table_name}.created_on DESC")
|
||||||
@trackers = @project.rolled_up_trackers
|
@trackers = @project.rolled_up_trackers
|
||||||
|
|
||||||
@@ -204,8 +204,12 @@ class ProjectsController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def list_files
|
def list_files
|
||||||
sort_init "#{Attachment.table_name}.filename", "asc"
|
sort_init 'filename', 'asc'
|
||||||
sort_update
|
sort_update 'filename' => "#{Attachment.table_name}.filename",
|
||||||
|
'created_on' => "#{Attachment.table_name}.created_on",
|
||||||
|
'size' => "#{Attachment.table_name}.filesize",
|
||||||
|
'downloads' => "#{Attachment.table_name}.downloads"
|
||||||
|
|
||||||
@versions = @project.versions.find(:all, :include => :attachments, :order => sort_clause).sort.reverse
|
@versions = @project.versions.find(:all, :include => :attachments, :order => sort_clause).sort.reverse
|
||||||
render :layout => !request.xhr?
|
render :layout => !request.xhr?
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -129,7 +129,12 @@ class TimelogController < ApplicationController
|
|||||||
|
|
||||||
def details
|
def details
|
||||||
sort_init 'spent_on', 'desc'
|
sort_init 'spent_on', 'desc'
|
||||||
sort_update
|
sort_update 'spent_on' => 'spent_on',
|
||||||
|
'user' => 'user_id',
|
||||||
|
'activity' => 'activity_id',
|
||||||
|
'project' => "#{Project.table_name}.name",
|
||||||
|
'issue' => 'issue_id',
|
||||||
|
'hours' => 'hours'
|
||||||
|
|
||||||
cond = ARCondition.new
|
cond = ARCondition.new
|
||||||
cond << (@issue.nil? ? @project.project_condition(Setting.display_subprojects_issues?) :
|
cond << (@issue.nil? ? @project.project_condition(Setting.display_subprojects_issues?) :
|
||||||
@@ -172,7 +177,7 @@ class TimelogController < ApplicationController
|
|||||||
@time_entry.attributes = params[:time_entry]
|
@time_entry.attributes = params[:time_entry]
|
||||||
if request.post? and @time_entry.save
|
if request.post? and @time_entry.save
|
||||||
flash[:notice] = l(:notice_successful_update)
|
flash[:notice] = l(:notice_successful_update)
|
||||||
redirect_to(params[:back_url] || {:action => 'details', :project_id => @time_entry.project})
|
redirect_to(params[:back_url].blank? ? {:action => 'details', :project_id => @time_entry.project} : params[:back_url])
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@activities = Enumeration::get_values('ACTI')
|
@activities = Enumeration::get_values('ACTI')
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class UsersController < ApplicationController
|
|||||||
|
|
||||||
def list
|
def list
|
||||||
sort_init 'login', 'asc'
|
sort_init 'login', 'asc'
|
||||||
sort_update
|
sort_update %w(login firstname lastname mail admin created_on last_login_on)
|
||||||
|
|
||||||
@status = params[:status] ? params[:status].to_i : 1
|
@status = params[:status] ? params[:status].to_i : 1
|
||||||
conditions = "status <> 0"
|
conditions = "status <> 0"
|
||||||
|
|||||||
@@ -90,6 +90,11 @@ module ApplicationHelper
|
|||||||
include_date ? local.strftime("#{@date_format} #{@time_format}") : local.strftime(@time_format)
|
include_date ? local.strftime("#{@date_format} #{@time_format}") : local.strftime(@time_format)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Truncates and returns the string as a single line
|
||||||
|
def truncate_single_line(string, *args)
|
||||||
|
truncate(string, *args).gsub(%r{[\r\n]+}m, ' ')
|
||||||
|
end
|
||||||
|
|
||||||
def html_hours(text)
|
def html_hours(text)
|
||||||
text.gsub(%r{(\d+)\.(\d+)}, '<span class="hours hours-int">\1</span><span class="hours hours-dec">.\2</span>')
|
text.gsub(%r{(\d+)\.(\d+)}, '<span class="hours hours-int">\1</span><span class="hours hours-dec">.\2</span>')
|
||||||
end
|
end
|
||||||
@@ -293,7 +298,7 @@ module ApplicationHelper
|
|||||||
# source:some/file#L120 -> Link to line 120 of the file
|
# source:some/file#L120 -> Link to line 120 of the file
|
||||||
# source:some/file@52#L120 -> Link to line 120 of the file's revision 52
|
# source:some/file@52#L120 -> Link to line 120 of the file's revision 52
|
||||||
# export:some/file -> Force the download of the file
|
# export:some/file -> Force the download of the file
|
||||||
text = text.gsub(%r{([\s\(,-^])(!)?(attachment|document|version|commit|source|export)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*|"[^"]+"))(?=[[:punct:]]|\s|<|$)}) do |m|
|
text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*|"[^"]+"))(?=[[:punct:]]|\s|<|$)}) do |m|
|
||||||
leading, esc, prefix, sep, oid = $1, $2, $3, $5 || $7, $6 || $8
|
leading, esc, prefix, sep, oid = $1, $2, $3, $5 || $7, $6 || $8
|
||||||
link = nil
|
link = nil
|
||||||
if esc.nil?
|
if esc.nil?
|
||||||
@@ -301,7 +306,7 @@ module ApplicationHelper
|
|||||||
if project && (changeset = project.changesets.find_by_revision(oid))
|
if project && (changeset = project.changesets.find_by_revision(oid))
|
||||||
link = link_to("r#{oid}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => oid},
|
link = link_to("r#{oid}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => oid},
|
||||||
:class => 'changeset',
|
:class => 'changeset',
|
||||||
:title => truncate(changeset.comments, 100))
|
:title => truncate_single_line(changeset.comments, 100))
|
||||||
end
|
end
|
||||||
elsif sep == '#'
|
elsif sep == '#'
|
||||||
oid = oid.to_i
|
oid = oid.to_i
|
||||||
@@ -340,7 +345,9 @@ module ApplicationHelper
|
|||||||
end
|
end
|
||||||
when 'commit'
|
when 'commit'
|
||||||
if project && (changeset = project.changesets.find(:first, :conditions => ["scmid LIKE ?", "#{name}%"]))
|
if project && (changeset = project.changesets.find(:first, :conditions => ["scmid LIKE ?", "#{name}%"]))
|
||||||
link = link_to h("#{name}"), {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => changeset.revision}, :class => 'changeset', :title => truncate(changeset.comments, 100)
|
link = link_to h("#{name}"), {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => changeset.revision},
|
||||||
|
:class => 'changeset',
|
||||||
|
:title => truncate_single_line(changeset.comments, 100)
|
||||||
end
|
end
|
||||||
when 'source', 'export'
|
when 'source', 'export'
|
||||||
if project && project.repository
|
if project && project.repository
|
||||||
|
|||||||
@@ -21,6 +21,10 @@ module ProjectsHelper
|
|||||||
link_to h(version.name), { :controller => 'versions', :action => 'show', :id => version }, options
|
link_to h(version.name), { :controller => 'versions', :action => 'show', :id => version }, options
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def format_activity_title(text)
|
||||||
|
h(truncate_single_line(text, 100))
|
||||||
|
end
|
||||||
|
|
||||||
def format_activity_day(date)
|
def format_activity_day(date)
|
||||||
date == Date.today ? l(:label_today).titleize : format_date(date)
|
date == Date.today ? l(:label_today).titleize : format_date(date)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ module QueriesHelper
|
|||||||
end
|
end
|
||||||
|
|
||||||
def column_header(column)
|
def column_header(column)
|
||||||
column.sortable ? sort_header_tag(column.sortable, :caption => column.caption,
|
column.sortable ? sort_header_tag(column.name.to_s, :caption => column.caption,
|
||||||
:default_order => column.default_order) :
|
:default_order => column.default_order) :
|
||||||
content_tag('th', column.caption)
|
content_tag('th', column.caption)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -67,23 +67,31 @@ module SortHelper
|
|||||||
|
|
||||||
# Updates the sort state. Call this in the controller prior to calling
|
# Updates the sort state. Call this in the controller prior to calling
|
||||||
# sort_clause.
|
# sort_clause.
|
||||||
#
|
# sort_keys can be either an array or a hash of allowed keys
|
||||||
def sort_update()
|
def sort_update(sort_keys)
|
||||||
if params[:sort_key]
|
sort_key = params[:sort_key]
|
||||||
sort = {:key => params[:sort_key], :order => params[:sort_order]}
|
sort_key = nil unless (sort_keys.is_a?(Array) ? sort_keys.include?(sort_key) : sort_keys[sort_key])
|
||||||
|
|
||||||
|
sort_order = (params[:sort_order] == 'desc' ? 'DESC' : 'ASC')
|
||||||
|
|
||||||
|
if sort_key
|
||||||
|
sort = {:key => sort_key, :order => sort_order}
|
||||||
elsif session[@sort_name]
|
elsif session[@sort_name]
|
||||||
sort = session[@sort_name] # Previous sort.
|
sort = session[@sort_name] # Previous sort.
|
||||||
else
|
else
|
||||||
sort = @sort_default
|
sort = @sort_default
|
||||||
end
|
end
|
||||||
session[@sort_name] = sort
|
session[@sort_name] = sort
|
||||||
|
|
||||||
|
sort_column = (sort_keys.is_a?(Hash) ? sort_keys[sort[:key]] : sort[:key])
|
||||||
|
@sort_clause = (sort_column.blank? ? nil : "#{sort_column} #{sort[:order]}")
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns an SQL sort clause corresponding to the current sort state.
|
# Returns an SQL sort clause corresponding to the current sort state.
|
||||||
# Use this to sort the controller's table items collection.
|
# Use this to sort the controller's table items collection.
|
||||||
#
|
#
|
||||||
def sort_clause()
|
def sort_clause()
|
||||||
session[@sort_name][:key] + ' ' + session[@sort_name][:order]
|
@sort_clause
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns a link which sorts by the named column.
|
# Returns a link which sorts by the named column.
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ module UsersHelper
|
|||||||
link_to l(:button_unlock), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :post, :class => 'icon icon-unlock'
|
link_to l(:button_unlock), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :post, :class => 'icon icon-unlock'
|
||||||
elsif user.registered?
|
elsif user.registered?
|
||||||
link_to l(:button_activate), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :post, :class => 'icon icon-unlock'
|
link_to l(:button_activate), url.merge(:user => {:status => User::STATUS_ACTIVE}), :method => :post, :class => 'icon icon-unlock'
|
||||||
else
|
elsif user != User.current
|
||||||
link_to l(:button_lock), url.merge(:user => {:status => User::STATUS_LOCKED}), :method => :post, :class => 'icon icon-lock'
|
link_to l(:button_lock), url.merge(:user => {:status => User::STATUS_LOCKED}), :method => :post, :class => 'icon icon-lock'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class Attachment < ActiveRecord::Base
|
|||||||
@temp_file = incoming_file
|
@temp_file = incoming_file
|
||||||
if @temp_file.size > 0
|
if @temp_file.size > 0
|
||||||
self.filename = sanitize_filename(@temp_file.original_filename)
|
self.filename = sanitize_filename(@temp_file.original_filename)
|
||||||
self.disk_filename = DateTime.now.strftime("%y%m%d%H%M%S") + "_" + self.filename
|
self.disk_filename = Attachment.disk_filename(filename)
|
||||||
self.content_type = @temp_file.content_type.to_s.chomp
|
self.content_type = @temp_file.content_type.to_s.chomp
|
||||||
self.filesize = @temp_file.size
|
self.filesize = @temp_file.size
|
||||||
end
|
end
|
||||||
@@ -100,4 +100,17 @@ private
|
|||||||
# Finally, replace all non alphanumeric, hyphens or periods with underscore
|
# Finally, replace all non alphanumeric, hyphens or periods with underscore
|
||||||
@filename = just_filename.gsub(/[^\w\.\-]/,'_')
|
@filename = just_filename.gsub(/[^\w\.\-]/,'_')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns an ASCII or hashed filename
|
||||||
|
def self.disk_filename(filename)
|
||||||
|
df = DateTime.now.strftime("%y%m%d%H%M%S") + "_"
|
||||||
|
if filename =~ %r{^[a-zA-Z0-9_\.\-]*$}
|
||||||
|
df << filename
|
||||||
|
else
|
||||||
|
df << Digest::MD5.hexdigest(filename)
|
||||||
|
# keep the extension if any
|
||||||
|
df << $1 if filename =~ %r{(\.[a-zA-Z0-9]+)$}
|
||||||
|
end
|
||||||
|
df
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -19,4 +19,8 @@ class Change < ActiveRecord::Base
|
|||||||
belongs_to :changeset
|
belongs_to :changeset
|
||||||
|
|
||||||
validates_presence_of :changeset_id, :action, :path
|
validates_presence_of :changeset_id, :action, :path
|
||||||
|
|
||||||
|
def relative_path
|
||||||
|
changeset.repository.relative_path(path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class Changeset < ActiveRecord::Base
|
|||||||
if ref_keywords.delete('*')
|
if ref_keywords.delete('*')
|
||||||
# find any issue ID in the comments
|
# find any issue ID in the comments
|
||||||
target_issue_ids = []
|
target_issue_ids = []
|
||||||
comments.scan(%r{([\s\(,-^])#(\d+)(?=[[:punct:]]|\s|<|$)}).each { |m| target_issue_ids << m[1] }
|
comments.scan(%r{([\s\(,-]|^)#(\d+)(?=[[:punct:]]|\s|<|$)}).each { |m| target_issue_ids << m[1] }
|
||||||
referenced_issues += repository.project.issues.find_all_by_id(target_issue_ids)
|
referenced_issues += repository.project.issues.find_all_by_id(target_issue_ids)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ class Enumeration < ActiveRecord::Base
|
|||||||
validates_presence_of :opt, :name
|
validates_presence_of :opt, :name
|
||||||
validates_uniqueness_of :name, :scope => [:opt]
|
validates_uniqueness_of :name, :scope => [:opt]
|
||||||
validates_length_of :name, :maximum => 30
|
validates_length_of :name, :maximum => 30
|
||||||
validates_format_of :name, :with => /^[\w\s\'\-]*$/i
|
|
||||||
|
|
||||||
OPTIONS = {
|
OPTIONS = {
|
||||||
"IPRI" => :enumeration_issue_priorities,
|
"IPRI" => :enumeration_issue_priorities,
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class Journal < ActiveRecord::Base
|
|||||||
:project_key => "#{Issue.table_name}.project_id",
|
:project_key => "#{Issue.table_name}.project_id",
|
||||||
:date_column => "#{Issue.table_name}.created_on"
|
:date_column => "#{Issue.table_name}.created_on"
|
||||||
|
|
||||||
acts_as_event :title => Proc.new {|o| "#{o.issue.tracker.name} ##{o.issue.id}: #{o.issue.subject}" + ((s = o.new_status) ? " (#{s})" : '') },
|
acts_as_event :title => Proc.new {|o| status = ((s = o.new_status) ? " (#{s})" : nil); "#{o.issue.tracker} ##{o.issue.id}#{status}: #{o.issue.subject}" },
|
||||||
:description => :notes,
|
:description => :notes,
|
||||||
:author => :user,
|
:author => :user,
|
||||||
:type => Proc.new {|o| (s = o.new_status) && s.is_closed? ? 'issue-closed' : 'issue-edit' },
|
:type => Proc.new {|o| (s = o.new_status) && s.is_closed? ? 'issue-closed' : 'issue-edit' },
|
||||||
|
|||||||
@@ -73,9 +73,9 @@ class Project < ActiveRecord::Base
|
|||||||
|
|
||||||
def issues_with_subprojects(include_subprojects=false)
|
def issues_with_subprojects(include_subprojects=false)
|
||||||
conditions = nil
|
conditions = nil
|
||||||
if include_subprojects && !active_children.empty?
|
if include_subprojects
|
||||||
ids = [id] + active_children.collect {|c| c.id}
|
ids = [id] + child_ids
|
||||||
conditions = ["#{Project.table_name}.id IN (#{ids.join(',')})"]
|
conditions = ["#{Project.table_name}.id IN (#{ids.join(',')}) AND #{Project.visible_by}"]
|
||||||
end
|
end
|
||||||
conditions ||= ["#{Project.table_name}.id = ?", id]
|
conditions ||= ["#{Project.table_name}.id = ?", id]
|
||||||
# Quick and dirty fix for Rails 2 compatibility
|
# Quick and dirty fix for Rails 2 compatibility
|
||||||
@@ -93,6 +93,7 @@ class Project < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.visible_by(user=nil)
|
def self.visible_by(user=nil)
|
||||||
|
user ||= User.current
|
||||||
if user && user.admin?
|
if user && user.admin?
|
||||||
return "#{Project.table_name}.status=#{Project::STATUS_ACTIVE}"
|
return "#{Project.table_name}.status=#{Project::STATUS_ACTIVE}"
|
||||||
elsif user && user.memberships.any?
|
elsif user && user.memberships.any?
|
||||||
@@ -143,7 +144,8 @@ class Project < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
def to_param
|
||||||
identifier
|
# id is used for projects with a numeric identifier (compatibility)
|
||||||
|
@to_param ||= (identifier.to_s =~ %r{^\d*$} ? id : identifier)
|
||||||
end
|
end
|
||||||
|
|
||||||
def active?
|
def active?
|
||||||
|
|||||||
+16
-15
@@ -125,7 +125,7 @@ class Query < ActiveRecord::Base
|
|||||||
filters.each_key do |field|
|
filters.each_key do |field|
|
||||||
errors.add label_for(field), :activerecord_error_blank unless
|
errors.add label_for(field), :activerecord_error_blank unless
|
||||||
# filter requires one or more values
|
# filter requires one or more values
|
||||||
(values_for(field) and !values_for(field).first.empty?) or
|
(values_for(field) and !values_for(field).first.blank?) or
|
||||||
# filter doesn't require any value
|
# filter doesn't require any value
|
||||||
["o", "c", "!*", "*", "t", "w"].include? operator_for(field)
|
["o", "c", "!*", "*", "t", "w"].include? operator_for(field)
|
||||||
end if filters
|
end if filters
|
||||||
@@ -227,7 +227,7 @@ class Query < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def label_for(field)
|
def label_for(field)
|
||||||
label = @available_filters[field][:name] if @available_filters.has_key?(field)
|
label = available_filters[field][:name] if available_filters.has_key?(field)
|
||||||
label ||= field.gsub(/\_id$/, "")
|
label ||= field.gsub(/\_id$/, "")
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -265,7 +265,7 @@ class Query < ActiveRecord::Base
|
|||||||
|
|
||||||
def statement
|
def statement
|
||||||
# project/subprojects clause
|
# project/subprojects clause
|
||||||
clause = ''
|
project_clauses = []
|
||||||
if project && !@project.active_children.empty?
|
if project && !@project.active_children.empty?
|
||||||
ids = [project.id]
|
ids = [project.id]
|
||||||
if has_filter?("subproject_id")
|
if has_filter?("subproject_id")
|
||||||
@@ -277,17 +277,16 @@ class Query < ActiveRecord::Base
|
|||||||
# main project only
|
# main project only
|
||||||
else
|
else
|
||||||
# all subprojects
|
# all subprojects
|
||||||
ids += project.active_children.collect{|p| p.id}
|
ids += project.child_ids
|
||||||
end
|
end
|
||||||
elsif Setting.display_subprojects_issues?
|
elsif Setting.display_subprojects_issues?
|
||||||
ids += project.active_children.collect{|p| p.id}
|
ids += project.child_ids
|
||||||
end
|
end
|
||||||
clause << "#{Issue.table_name}.project_id IN (%s)" % ids.join(',')
|
project_clauses << "#{Issue.table_name}.project_id IN (%s)" % ids.join(',')
|
||||||
elsif project
|
elsif project
|
||||||
clause << "#{Issue.table_name}.project_id = %d" % project.id
|
project_clauses << "#{Issue.table_name}.project_id = %d" % project.id
|
||||||
else
|
|
||||||
clause << Project.visible_by(User.current)
|
|
||||||
end
|
end
|
||||||
|
project_clauses << Project.visible_by(User.current)
|
||||||
|
|
||||||
# filters clauses
|
# filters clauses
|
||||||
filters_clauses = []
|
filters_clauses = []
|
||||||
@@ -296,11 +295,13 @@ class Query < ActiveRecord::Base
|
|||||||
v = values_for(field).clone
|
v = values_for(field).clone
|
||||||
next unless v and !v.empty?
|
next unless v and !v.empty?
|
||||||
|
|
||||||
sql = ''
|
sql = ''
|
||||||
|
is_custom_filter = false
|
||||||
if field =~ /^cf_(\d+)$/
|
if field =~ /^cf_(\d+)$/
|
||||||
# custom field
|
# custom field
|
||||||
db_table = CustomValue.table_name
|
db_table = CustomValue.table_name
|
||||||
db_field = 'value'
|
db_field = 'value'
|
||||||
|
is_custom_filter = true
|
||||||
sql << "#{Issue.table_name}.id IN (SELECT #{Issue.table_name}.id FROM #{Issue.table_name} LEFT OUTER JOIN #{db_table} ON #{db_table}.customized_type='Issue' AND #{db_table}.customized_id=#{Issue.table_name}.id AND #{db_table}.custom_field_id=#{$1} WHERE "
|
sql << "#{Issue.table_name}.id IN (SELECT #{Issue.table_name}.id FROM #{Issue.table_name} LEFT OUTER JOIN #{db_table} ON #{db_table}.customized_type='Issue' AND #{db_table}.customized_id=#{Issue.table_name}.id AND #{db_table}.custom_field_id=#{$1} WHERE "
|
||||||
else
|
else
|
||||||
# regular field
|
# regular field
|
||||||
@@ -320,9 +321,11 @@ class Query < ActiveRecord::Base
|
|||||||
when "!"
|
when "!"
|
||||||
sql = sql + "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + v.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
|
sql = sql + "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + v.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
|
||||||
when "!*"
|
when "!*"
|
||||||
sql = sql + "#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} = ''"
|
sql = sql + "#{db_table}.#{db_field} IS NULL"
|
||||||
|
sql << " OR #{db_table}.#{db_field} = ''" if is_custom_filter
|
||||||
when "*"
|
when "*"
|
||||||
sql = sql + "#{db_table}.#{db_field} IS NOT NULL AND #{db_table}.#{db_field} <> ''"
|
sql = sql + "#{db_table}.#{db_field} IS NOT NULL"
|
||||||
|
sql << " AND #{db_table}.#{db_field} <> ''" if is_custom_filter
|
||||||
when ">="
|
when ">="
|
||||||
sql = sql + "#{db_table}.#{db_field} >= #{v.first.to_i}"
|
sql = sql + "#{db_table}.#{db_field} >= #{v.first.to_i}"
|
||||||
when "<="
|
when "<="
|
||||||
@@ -361,8 +364,6 @@ class Query < ActiveRecord::Base
|
|||||||
filters_clauses << sql
|
filters_clauses << sql
|
||||||
end if filters and valid?
|
end if filters and valid?
|
||||||
|
|
||||||
clause << ' AND ' unless clause.empty?
|
(project_clauses + filters_clauses).join(' AND ')
|
||||||
clause << filters_clauses.join(' AND ') unless filters_clauses.empty?
|
|
||||||
clause
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -64,6 +64,11 @@ class Repository < ActiveRecord::Base
|
|||||||
:order => "committed_on DESC, #{Changeset.table_name}.id DESC").collect(&:changeset)
|
:order => "committed_on DESC, #{Changeset.table_name}.id DESC").collect(&:changeset)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns a path relative to the url of the repository
|
||||||
|
def relative_path(path)
|
||||||
|
path
|
||||||
|
end
|
||||||
|
|
||||||
def latest_changeset
|
def latest_changeset
|
||||||
@latest_changeset ||= changesets.find(:first)
|
@latest_changeset ||= changesets.find(:first)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -76,7 +76,8 @@ class Repository::Cvs < Repository
|
|||||||
unless revision_to
|
unless revision_to
|
||||||
revision_to=scm.get_previous_revision(revision_from)
|
revision_to=scm.get_previous_revision(revision_from)
|
||||||
end
|
end
|
||||||
diff=diff+scm.diff(change_from.path, revision_from, revision_to, type)
|
file_diff = scm.diff(change_from.path, revision_from, revision_to)
|
||||||
|
diff = diff + file_diff unless file_diff.nil?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return diff
|
return diff
|
||||||
|
|||||||
@@ -35,6 +35,11 @@ class Repository::Subversion < Repository
|
|||||||
revisions ? changesets.find_all_by_revision(revisions.collect(&:identifier), :order => "committed_on DESC") : []
|
revisions ? changesets.find_all_by_revision(revisions.collect(&:identifier), :order => "committed_on DESC") : []
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns a path relative to the url of the repository
|
||||||
|
def relative_path(path)
|
||||||
|
path.gsub(Regexp.new("^\/?#{Regexp.escape(relative_url)}"), '')
|
||||||
|
end
|
||||||
|
|
||||||
def fetch_changesets
|
def fetch_changesets
|
||||||
scm_info = scm.info
|
scm_info = scm.info
|
||||||
if scm_info
|
if scm_info
|
||||||
@@ -71,4 +76,14 @@ class Repository::Subversion < Repository
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
# Returns the relative url of the repository
|
||||||
|
# Eg: root_url = file:///var/svn/foo
|
||||||
|
# url = file:///var/svn/foo/bar
|
||||||
|
# => returns /bar
|
||||||
|
def relative_url
|
||||||
|
@relative_url ||= url.gsub(Regexp.new("^#{Regexp.escape(root_url)}"), '')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -29,6 +29,14 @@ class TimeEntry < ActiveRecord::Base
|
|||||||
validates_numericality_of :hours, :allow_nil => true
|
validates_numericality_of :hours, :allow_nil => true
|
||||||
validates_length_of :comments, :maximum => 255
|
validates_length_of :comments, :maximum => 255
|
||||||
|
|
||||||
|
def after_initialize
|
||||||
|
if new_record? && self.activity.nil?
|
||||||
|
if default_activity = Enumeration.default('ACTI')
|
||||||
|
self.activity_id = default_activity.id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def before_validation
|
def before_validation
|
||||||
self.project = issue.project if issue && project.nil?
|
self.project = issue.project if issue && project.nil?
|
||||||
end
|
end
|
||||||
|
|||||||
+2
-3
@@ -54,7 +54,7 @@ class User < ActiveRecord::Base
|
|||||||
# Login must contain lettres, numbers, underscores only
|
# Login must contain lettres, numbers, underscores only
|
||||||
validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
|
validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
|
||||||
validates_length_of :login, :maximum => 30
|
validates_length_of :login, :maximum => 30
|
||||||
validates_format_of :firstname, :lastname, :with => /^[\w\s\'\-]*$/i
|
validates_format_of :firstname, :lastname, :with => /^[\w\s\'\-\.]*$/i
|
||||||
validates_length_of :firstname, :lastname, :maximum => 30
|
validates_length_of :firstname, :lastname, :maximum => 30
|
||||||
validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :allow_nil => true
|
validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :allow_nil => true
|
||||||
validates_length_of :mail, :maximum => 60, :allow_nil => true
|
validates_length_of :mail, :maximum => 60, :allow_nil => true
|
||||||
@@ -258,13 +258,12 @@ class User < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.anonymous
|
def self.anonymous
|
||||||
return @anonymous_user if @anonymous_user
|
|
||||||
anonymous_user = AnonymousUser.find(:first)
|
anonymous_user = AnonymousUser.find(:first)
|
||||||
if anonymous_user.nil?
|
if anonymous_user.nil?
|
||||||
anonymous_user = AnonymousUser.create(:lastname => 'Anonymous', :firstname => '', :mail => '', :login => '', :status => 0)
|
anonymous_user = AnonymousUser.create(:lastname => 'Anonymous', :firstname => '', :mail => '', :login => '', :status => 0)
|
||||||
raise 'Unable to create the anonymous user.' if anonymous_user.new_record?
|
raise 'Unable to create the anonymous user.' if anonymous_user.new_record?
|
||||||
end
|
end
|
||||||
@anonymous_user = anonymous_user
|
anonymous_user
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<h2><%=h @user.name %></h2>
|
<h2><%=h @user.name %></h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<%= mail_to @user.mail unless @user.pref.hide_mail %>
|
<%= mail_to(h(@user.mail)) unless @user.pref.hide_mail %>
|
||||||
<ul>
|
<ul>
|
||||||
<li><%=l(:label_registered_on)%>: <%= format_date(@user.created_on) %></li>
|
<li><%=l(:label_registered_on)%>: <%= format_date(@user.created_on) %></li>
|
||||||
<% for custom_value in @custom_values %>
|
<% for custom_value in @custom_values %>
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
<h3><%=l(:label_project_plural)%></h3>
|
<h3><%=l(:label_project_plural)%></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<% for membership in @memberships %>
|
<% for membership in @memberships %>
|
||||||
<li><%= link_to membership.project.name, :controller => 'projects', :action => 'show', :id => membership.project %>
|
<li><%= link_to(h(membership.project.name), :controller => 'projects', :action => 'show', :id => membership.project) %>
|
||||||
(<%= membership.role.name %>, <%= format_date(membership.created_on) %>)</li>
|
(<%=h membership.role.name %>, <%= format_date(membership.created_on) %>)</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -38,3 +38,5 @@
|
|||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
<%= auto_discovery_link_tag(:atom, {:controller => 'projects', :action => 'activity', :id => @project, :format => 'atom', :show_messages => 1, :key => User.current.rss_key}) %>
|
<%= auto_discovery_link_tag(:atom, {:controller => 'projects', :action => 'activity', :id => @project, :format => 'atom', :show_messages => 1, :key => User.current.rss_key}) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<% html_title l(:label_board_plural) %>
|
||||||
|
|||||||
@@ -32,9 +32,9 @@
|
|||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th><%= l(:field_subject) %></th>
|
<th><%= l(:field_subject) %></th>
|
||||||
<th><%= l(:field_author) %></th>
|
<th><%= l(:field_author) %></th>
|
||||||
<%= sort_header_tag("#{Message.table_name}.created_on", :caption => l(:field_created_on)) %>
|
<%= sort_header_tag('created_on', :caption => l(:field_created_on)) %>
|
||||||
<th><%= l(:label_reply_plural) %></th>
|
<th><%= l(:label_reply_plural) %></th>
|
||||||
<%= sort_header_tag("#{Message.table_name}.updated_on", :caption => l(:label_message_last)) %>
|
<%= sort_header_tag('updated_on', :caption => l(:label_message_last)) %>
|
||||||
</tr></thead>
|
</tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<% @topics.each do |topic| %>
|
<% @topics.each do |topic| %>
|
||||||
@@ -57,3 +57,5 @@
|
|||||||
<% else %>
|
<% else %>
|
||||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<% html_title h(@board.name) %>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
xml.instruct!
|
xml.instruct!
|
||||||
xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
|
xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
|
||||||
xml.title @title
|
xml.title truncate_single_line(@title, 100)
|
||||||
xml.link "rel" => "self", "href" => url_for(params.merge({:format => nil, :only_path => false}))
|
xml.link "rel" => "self", "href" => url_for(params.merge({:format => nil, :only_path => false}))
|
||||||
xml.link "rel" => "alternate", "href" => url_for(:controller => 'welcome', :only_path => false)
|
xml.link "rel" => "alternate", "href" => url_for(:controller => 'welcome', :only_path => false)
|
||||||
xml.id url_for(:controller => 'welcome', :only_path => false)
|
xml.id url_for(:controller => 'welcome', :only_path => false)
|
||||||
@@ -10,11 +10,15 @@ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
|
|||||||
@items.each do |item|
|
@items.each do |item|
|
||||||
xml.entry do
|
xml.entry do
|
||||||
url = url_for(item.event_url(:only_path => false))
|
url = url_for(item.event_url(:only_path => false))
|
||||||
xml.title truncate(item.event_title, 100)
|
if @project
|
||||||
|
xml.title truncate_single_line(item.event_title, 100)
|
||||||
|
else
|
||||||
|
xml.title truncate_single_line("#{item.project} - #{item.event_title}", 100)
|
||||||
|
end
|
||||||
xml.link "rel" => "alternate", "href" => url
|
xml.link "rel" => "alternate", "href" => url
|
||||||
xml.id url
|
xml.id url
|
||||||
xml.updated item.event_datetime.xmlschema
|
xml.updated item.event_datetime.xmlschema
|
||||||
author = item.event_author if item.respond_to?(:author)
|
author = item.event_author if item.respond_to?(:event_author)
|
||||||
xml.author do
|
xml.author do
|
||||||
xml.name(author)
|
xml.name(author)
|
||||||
xml.email(author.mail) if author.respond_to?(:mail) && !author.mail.blank?
|
xml.email(author.mail) if author.respond_to?(:mail) && !author.mail.blank?
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<table class="list">
|
<table class="list">
|
||||||
<% enumerations.each do |enumeration| %>
|
<% enumerations.each do |enumeration| %>
|
||||||
<tr class="<%= cycle('odd', 'even') %>">
|
<tr class="<%= cycle('odd', 'even') %>">
|
||||||
<td><%= link_to enumeration.name, :action => 'edit', :id => enumeration %></td>
|
<td><%= link_to h(enumeration), :action => 'edit', :id => enumeration %></td>
|
||||||
<td style="width:15%;"><%= image_tag('true.png') if enumeration.is_default? %></td>
|
<td style="width:15%;"><%= image_tag('true.png') if enumeration.is_default? %></td>
|
||||||
<td style="width:15%;">
|
<td style="width:15%;">
|
||||||
<%= link_to image_tag('2uparrow.png', :alt => l(:label_sort_highest)), {:action => 'move', :id => enumeration, :position => 'highest'}, :method => :post, :title => l(:label_sort_highest) %>
|
<%= link_to image_tag('2uparrow.png', :alt => l(:label_sort_highest)), {:action => 'move', :id => enumeration, :position => 'highest'}, :method => :post, :title => l(:label_sort_highest) %>
|
||||||
|
|||||||
@@ -21,9 +21,9 @@
|
|||||||
<p><%= time_entry.text_field :hours, :size => 6, :label => :label_spent_time %> <%= l(:field_hours) %></p>
|
<p><%= time_entry.text_field :hours, :size => 6, :label => :label_spent_time %> <%= l(:field_hours) %></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="splitcontentright">
|
<div class="splitcontentright">
|
||||||
<p><%= time_entry.text_field :comments, :size => 40 %></p>
|
|
||||||
<p><%= time_entry.select :activity_id, (@activities.collect {|p| [p.name, p.id]}) %></p>
|
<p><%= time_entry.select :activity_id, (@activities.collect {|p| [p.name, p.id]}) %></p>
|
||||||
</div>
|
</div>
|
||||||
|
<p><%= time_entry.text_field :comments, :size => 60 %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<th><%= link_to image_tag('toggle_check.png'), {}, :onclick => 'toggleIssuesSelection(this.up("form")); return false;',
|
<th><%= link_to image_tag('toggle_check.png'), {}, :onclick => 'toggleIssuesSelection(this.up("form")); return false;',
|
||||||
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %>
|
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}" %>
|
||||||
</th>
|
</th>
|
||||||
<%= sort_header_tag("#{Issue.table_name}.id", :caption => '#', :default_order => 'desc') %>
|
<%= sort_header_tag('id', :caption => '#', :default_order => 'desc') %>
|
||||||
<% query.columns.each do |column| %>
|
<% query.columns.each do |column| %>
|
||||||
<%= column_header(column) %>
|
<%= column_header(column) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -9,6 +9,6 @@
|
|||||||
<h3><%= l(:label_query_plural) %></h3>
|
<h3><%= l(:label_query_plural) %></h3>
|
||||||
|
|
||||||
<% sidebar_queries.each do |query| -%>
|
<% sidebar_queries.each do |query| -%>
|
||||||
<%= link_to query.name, :controller => 'issues', :action => 'index', :project_id => @project, :query_id => query %><br />
|
<%= link_to(h(query.name), :controller => 'issues', :action => 'index', :project_id => @project, :query_id => query) %><br />
|
||||||
<% end -%>
|
<% end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<a href="#" class="submenu" onclick="return false;"><%= l(:field_status) %></a>
|
<a href="#" class="submenu" onclick="return false;"><%= l(:field_status) %></a>
|
||||||
<ul>
|
<ul>
|
||||||
<% @statuses.each do |s| -%>
|
<% @statuses.each do |s| -%>
|
||||||
<li><%= context_menu_link s.name, {:controller => 'issues', :action => 'edit', :id => @issue, :issue => {:status_id => s}},
|
<li><%= context_menu_link s.name, {:controller => 'issues', :action => 'edit', :id => @issue, :issue => {:status_id => s}, :back_to => @back}, :method => :post,
|
||||||
:selected => (s == @issue.status), :disabled => !(@can[:update] && @allowed_statuses.include?(s)) %></li>
|
:selected => (s == @issue.status), :disabled => !(@can[:update] && @allowed_statuses.include?(s)) %></li>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
<p class="other-formats">
|
<p class="other-formats">
|
||||||
<%= l(:label_export_to) %>
|
<%= l(:label_export_to) %>
|
||||||
<span><%= link_to 'Atom', {:format => 'atom', :key => User.current.rss_key}, :class => 'feed' %></span>
|
<span><%= link_to 'Atom', {:query_id => @query, :format => 'atom', :key => User.current.rss_key}, :class => 'feed' %></span>
|
||||||
<span><%= link_to 'CSV', {:format => 'csv'}, :class => 'csv' %></span>
|
<span><%= link_to 'CSV', {:format => 'csv'}, :class => 'csv' %></span>
|
||||||
<span><%= link_to 'PDF', {:format => 'pdf'}, :class => 'pdf' %></span>
|
<span><%= link_to 'PDF', {:format => 'pdf'}, :class => 'pdf' %></span>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<% form_remote_tag(:url => {}, :html => { :id => "journal-#{@journal.id}-form" }) do %>
|
<% form_remote_tag(:url => {}, :html => { :id => "journal-#{@journal.id}-form" }) do %>
|
||||||
<%= text_area_tag :notes, @journal.notes, :class => 'wiki-edit',
|
<%= text_area_tag :notes, h(@journal.notes), :class => 'wiki-edit',
|
||||||
:rows => (@journal.notes.blank? ? 10 : [[10, @journal.notes.length / 50].max, 100].min) %>
|
:rows => (@journal.notes.blank? ? 10 : [[10, @journal.notes.length / 50].max, 100].min) %>
|
||||||
<p><%= submit_tag l(:button_save) %>
|
<p><%= submit_tag l(:button_save) %>
|
||||||
<%= link_to l(:button_cancel), '#', :onclick => "Element.remove('journal-#{@journal.id}-form'); " +
|
<%= link_to l(:button_cancel), '#', :onclick => "Element.remove('journal-#{@journal.id}-form'); " +
|
||||||
"Element.show('journal-#{@journal.id}-notes'); return false;" %></p>
|
"Element.show('journal-#{@journal.id}-notes'); return false;" %></p>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
<%= render :partial => 'layouts/project_selector' if User.current.memberships.any? %>
|
<%= render :partial => 'layouts/project_selector' if User.current.memberships.any? %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h1><%= h(@project ? @project.name : Setting.app_title) %></h1>
|
<h1><%= h(@project && !@project.new_record? ? @project.name : Setting.app_title) %></h1>
|
||||||
|
|
||||||
<div id="main-menu">
|
<div id="main-menu">
|
||||||
<%= render_main_menu(@project) %>
|
<%= render_main_menu(@project) %>
|
||||||
|
|||||||
@@ -1,12 +1,32 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<style>
|
<style>
|
||||||
body { font-family: Verdana, sans-serif; font-size: 0.8em; color:#484848; }
|
body {
|
||||||
body h1 { font-family: "Trebuchet MS", Verdana, sans-serif; font-size: 1.2em; margin: 0;}
|
font-family: Verdana, sans-serif;
|
||||||
a, a:link, a:visited{ color: #2A5685; }
|
font-size: 0.8em;
|
||||||
a:hover, a:active{ color: #c61a1a; }
|
color:#484848;
|
||||||
hr { width: 100%; height: 1px; background: #ccc; border: 0; }
|
}
|
||||||
.footer { font-size: 0.8em; font-style: italic; }
|
h1 {
|
||||||
|
font-family: "Trebuchet MS", Verdana, sans-serif;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
a, a:link, a:visited {
|
||||||
|
color: #2A5685;
|
||||||
|
}
|
||||||
|
a:hover, a:active {
|
||||||
|
color: #c61a1a;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background: #ccc;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
font-size: 0.8em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
<% unless @replies.empty? %>
|
||||||
<h3 class="icon22 icon22-comment"><%= l(:label_reply_plural) %></h3>
|
<h3 class="icon22 icon22-comment"><%= l(:label_reply_plural) %></h3>
|
||||||
<% @replies.each do |message| %>
|
<% @replies.each do |message| %>
|
||||||
<a name="<%= "message-#{message.id}" %>"></a>
|
<a name="<%= "message-#{message.id}" %>"></a>
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
<%= link_to_attachments message.attachments, :no_author => true %>
|
<%= link_to_attachments message.attachments, :no_author => true %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||||
<p><%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %></p>
|
<p><%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %></p>
|
||||||
@@ -48,3 +50,5 @@
|
|||||||
<div id="preview" class="wiki"></div>
|
<div id="preview" class="wiki"></div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<% html_title h(@topic.subject) %>
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
<dl>
|
<dl>
|
||||||
<% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| -%>
|
<% @events_by_day[day].sort {|x,y| y.event_datetime <=> x.event_datetime }.each do |e| -%>
|
||||||
<dt class="<%= e.event_type %>"><span class="time"><%= format_time(e.event_datetime, false) %></span>
|
<dt class="<%= e.event_type %>"><span class="time"><%= format_time(e.event_datetime, false) %></span>
|
||||||
<%= content_tag('span', h(e.project), :class => 'project') if @project.nil? || @project != e.project %> <%= link_to h(truncate(e.event_title, 100)), e.event_url %></dt>
|
<%= content_tag('span', h(e.project), :class => 'project') if @project.nil? || @project != e.project %>
|
||||||
|
<%= link_to format_activity_title(e.event_title), e.event_url %></dt>
|
||||||
<dd><% unless e.event_description.blank? -%>
|
<dd><% unless e.event_description.blank? -%>
|
||||||
<span class="description"><%= format_activity_description(e.event_description) %></span><br />
|
<span class="description"><%= format_activity_description(e.event_description) %></span><br />
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
<table class="list">
|
<table class="list">
|
||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th><%=l(:field_version)%></th>
|
<th><%=l(:field_version)%></th>
|
||||||
<%= sort_header_tag("#{Attachment.table_name}.filename", :caption => l(:field_filename)) %>
|
<%= sort_header_tag('filename', :caption => l(:field_filename)) %>
|
||||||
<%= sort_header_tag("#{Attachment.table_name}.created_on", :caption => l(:label_date), :default_order => 'desc') %>
|
<%= sort_header_tag('created_on', :caption => l(:label_date), :default_order => 'desc') %>
|
||||||
<%= sort_header_tag("#{Attachment.table_name}.filesize", :caption => l(:field_filesize), :default_order => 'desc') %>
|
<%= sort_header_tag('size', :caption => l(:field_filesize), :default_order => 'desc') %>
|
||||||
<%= sort_header_tag("#{Attachment.table_name}.downloads", :caption => l(:label_downloads_abbr), :default_order => 'desc') %>
|
<%= sort_header_tag('downloads', :caption => l(:label_downloads_abbr), :default_order => 'desc') %>
|
||||||
<th>MD5</th>
|
<th>MD5</th>
|
||||||
<% if delete_allowed %><th></th><% end %>
|
<% if delete_allowed %><th></th><% end %>
|
||||||
</tr></thead>
|
</tr></thead>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<h3><%= l(:label_version_plural) %></h3>
|
<h3><%= l(:label_version_plural) %></h3>
|
||||||
<% @versions.each do |version| %>
|
<% @versions.each do |version| %>
|
||||||
<%= link_to version.name, :anchor => version.name %><br />
|
<%= link_to version.name, "##{version.name}" %><br />
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="splitcontentleft">
|
<div class="splitcontentleft">
|
||||||
<%= textilizable @project.description %>
|
<%= textilizable @project.description %>
|
||||||
<ul>
|
<ul>
|
||||||
<% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= auto_link @project.homepage %></li><% end %>
|
<% unless @project.homepage.blank? %><li><%=l(:field_homepage)%>: <%= auto_link(h(@project.homepage)) %></li><% end %>
|
||||||
<% if @subprojects.any? %>
|
<% if @subprojects.any? %>
|
||||||
<li><%=l(:label_subproject_plural)%>: <%= @subprojects.collect{|p| link_to(h(p.name), :action => 'show', :id => p)}.join(", ") %></li>
|
<li><%=l(:label_subproject_plural)%>: <%= @subprojects.collect{|p| link_to(h(p.name), :action => 'show', :id => p)}.join(", ") %></li>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -1,32 +1,24 @@
|
|||||||
<% @entries.each do |entry| %>
|
<% @entries.each do |entry| %>
|
||||||
<% tr_id = Digest::MD5.hexdigest(entry.path)
|
<% tr_id = Digest::MD5.hexdigest(entry.path)
|
||||||
depth = params[:depth].to_i %>
|
depth = params[:depth].to_i %>
|
||||||
<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry">
|
<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry <%= entry.kind %>">
|
||||||
<td class="filename">
|
<td style="padding-left: <%=18 * depth%>px;" class="filename">
|
||||||
<%= if entry.is_dir?
|
<% if entry.is_dir? %>
|
||||||
link_to_remote h(entry.name),
|
<span class="expander" onclick="<%= remote_function :url => {:action => 'browse', :id => @project, :path => entry.path, :rev => @rev, :depth => (depth + 1), :parent_id => tr_id},
|
||||||
{:url => {:action => 'browse', :id => @project, :path => entry.path, :rev => @rev, :depth => (depth + 1), :parent_id => tr_id},
|
|
||||||
:update => { :success => tr_id },
|
:update => { :success => tr_id },
|
||||||
:position => :after,
|
:position => :after,
|
||||||
:success => "scmEntryLoaded('#{tr_id}')",
|
:success => "scmEntryLoaded('#{tr_id}')",
|
||||||
:condition => "scmEntryClick('#{tr_id}')"
|
:condition => "scmEntryClick('#{tr_id}')"%>"> </span>
|
||||||
},
|
<% end %>
|
||||||
{:href => url_for({:action => 'browse', :id => @project, :path => entry.path, :rev => @rev}),
|
<%= link_to h(entry.name),
|
||||||
:class => ('icon icon-folder'),
|
|
||||||
:style => "margin-left: #{18 * depth}px;"
|
|
||||||
}
|
|
||||||
else
|
|
||||||
link_to h(entry.name),
|
|
||||||
{:action => (entry.is_dir? ? 'browse' : 'changes'), :id => @project, :path => entry.path, :rev => @rev},
|
{:action => (entry.is_dir? ? 'browse' : 'changes'), :id => @project, :path => entry.path, :rev => @rev},
|
||||||
:class => 'icon icon-file',
|
:class => (entry.is_dir? ? 'icon icon-folder' : 'icon icon-file')%>
|
||||||
:style => "margin-left: #{18 * depth}px;"
|
|
||||||
end %>
|
|
||||||
</td>
|
</td>
|
||||||
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
|
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
|
||||||
<td class="revision"><%= link_to(format_revision(entry.lastrev.name), :action => 'revision', :id => @project, :rev => entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %></td>
|
<td class="revision"><%= link_to(format_revision(entry.lastrev.name), :action => 'revision', :id => @project, :rev => entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %></td>
|
||||||
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
|
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
|
||||||
<td class="author"><%=h(entry.lastrev.author.to_s.split('<').first) if entry.lastrev %></td>
|
<td class="author"><%=h(entry.lastrev.author.to_s.split('<').first) if entry.lastrev %></td>
|
||||||
<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev %>
|
<% changeset = @project.repository.changesets.find_by_revision(entry.lastrev.identifier) if entry.lastrev && entry.lastrev.identifier %>
|
||||||
<td class="comments"><%=h truncate(changeset.comments, 50) unless changeset.nil? %></td>
|
<td class="comments"><%=h truncate(changeset.comments, 50) unless changeset.nil? %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
<%= "(#{number_to_human_size(@entry.size)})" if @entry.size %>
|
<%= "(#{number_to_human_size(@entry.size)})" if @entry.size %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<%= render :partial => 'revisions', :locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }%>
|
<%= render(:partial => 'revisions',
|
||||||
|
:locals => {:project => @project, :path => @path, :revisions => @changesets, :entry => @entry }) unless @changesets.empty? %>
|
||||||
|
|
||||||
<% html_title(l(:label_change_plural)) -%>
|
<% html_title(l(:label_change_plural)) -%>
|
||||||
|
|||||||
@@ -11,82 +11,78 @@
|
|||||||
<%= select_tag 'type', options_for_select([[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], @diff_type), :onchange => "if (this.value != '') {this.form.submit()}" %></p>
|
<%= select_tag 'type', options_for_select([[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], @diff_type), :onchange => "if (this.value != '') {this.form.submit()}" %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% cache(@cache_key) do %>
|
<% cache(@cache_key) do -%>
|
||||||
<% @diff.each do |table_file| %>
|
<% @diff.each do |table_file| -%>
|
||||||
<div class="autoscroll">
|
<div class="autoscroll">
|
||||||
<% if @diff_type == 'sbs' %>
|
<% if @diff_type == 'sbs' -%>
|
||||||
<table class="filecontent CodeRay">
|
<table class="filecontent CodeRay">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr><th colspan="4" class="filename"><%= table_file.file_name %></th></tr>
|
||||||
<th colspan="4" class="filename">
|
<tr>
|
||||||
<%= table_file.file_name %>
|
<th colspan="2">@<%= format_revision @rev %></th>
|
||||||
</th>
|
<th colspan="2">@<%= format_revision @rev_to %></th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
</thead>
|
||||||
<th colspan="2">@<%= format_revision @rev %></th>
|
<tbody>
|
||||||
<th colspan="2">@<%= format_revision @rev_to %></th>
|
<% prev_line_left, prev_line_right = nil, nil -%>
|
||||||
</tr>
|
<% table_file.keys.sort.each do |key| -%>
|
||||||
</thead>
|
<% if prev_line_left && prev_line_right && (table_file[key].nb_line_left != prev_line_left+1) && (table_file[key].nb_line_right != prev_line_right+1) -%>
|
||||||
<tbody>
|
<tr class="spacing"><td colspan="4"></td></tr>
|
||||||
<% table_file.keys.sort.each do |key| %>
|
<% end -%>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="line-num">
|
<th class="line-num"><%= table_file[key].nb_line_left %></th>
|
||||||
<%= table_file[key].nb_line_left %>
|
<td class="line-code <%= table_file[key].type_diff_left %>">
|
||||||
</th>
|
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
||||||
<td class="line-code <%= table_file[key].type_diff_left %>">
|
</td>
|
||||||
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
<th class="line-num"><%= table_file[key].nb_line_right %></th>
|
||||||
</td>
|
<td class="line-code <%= table_file[key].type_diff_right %>">
|
||||||
<th class="line-num">
|
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
||||||
<%= table_file[key].nb_line_right %>
|
</td>
|
||||||
</th>
|
</tr>
|
||||||
<td class="line-code <%= table_file[key].type_diff_right %>">
|
<% prev_line_left, prev_line_right = table_file[key].nb_line_left.to_i, table_file[key].nb_line_right.to_i -%>
|
||||||
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
<% end -%>
|
||||||
</td>
|
</tbody>
|
||||||
</tr>
|
</table>
|
||||||
<% end %>
|
|
||||||
</tbody>
|
<% else -%>
|
||||||
</table>
|
<table class="filecontent CodeRay">
|
||||||
|
<thead>
|
||||||
|
<tr><th colspan="3" class="filename"><%= table_file.file_name %></th></tr>
|
||||||
|
<tr>
|
||||||
|
<th>@<%= format_revision @rev %></th>
|
||||||
|
<th>@<%= format_revision @rev_to %></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<% prev_line_left, prev_line_right = nil, nil -%>
|
||||||
|
<% table_file.keys.sort.each do |key, line| %>
|
||||||
|
<% if prev_line_left && prev_line_right && (table_file[key].nb_line_left != prev_line_left+1) && (table_file[key].nb_line_right != prev_line_right+1) -%>
|
||||||
|
<tr class="spacing"><td colspan="3"></td></tr>
|
||||||
|
<% end -%>
|
||||||
|
<tr>
|
||||||
|
<th class="line-num"><%= table_file[key].nb_line_left %></th>
|
||||||
|
<th class="line-num"><%= table_file[key].nb_line_right %></th>
|
||||||
|
<% if table_file[key].line_left.empty? -%>
|
||||||
|
<td class="line-code <%= table_file[key].type_diff_right %>">
|
||||||
|
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
||||||
|
</td>
|
||||||
|
<% else -%>
|
||||||
|
<td class="line-code <%= table_file[key].type_diff_left %>">
|
||||||
|
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
||||||
|
</td>
|
||||||
|
<% end -%>
|
||||||
|
</tr>
|
||||||
|
<% prev_line_left = table_file[key].nb_line_left.to_i if table_file[key].nb_line_left.to_i > 0 -%>
|
||||||
|
<% prev_line_right = table_file[key].nb_line_right.to_i if table_file[key].nb_line_right.to_i > 0 -%>
|
||||||
|
<% end -%>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<% end -%>
|
||||||
|
|
||||||
<% else %>
|
|
||||||
<table class="filecontent CodeRay">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th colspan="3" class="filename">
|
|
||||||
<%= table_file.file_name %>
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>@<%= format_revision @rev %></th>
|
|
||||||
<th>@<%= format_revision @rev_to %></th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<% table_file.keys.sort.each do |key, line| %>
|
|
||||||
<tr>
|
|
||||||
<th class="line-num">
|
|
||||||
<%= table_file[key].nb_line_left %>
|
|
||||||
</th>
|
|
||||||
<th class="line-num">
|
|
||||||
<%= table_file[key].nb_line_right %>
|
|
||||||
</th>
|
|
||||||
<% if table_file[key].line_left.empty? %>
|
|
||||||
<td class="line-code <%= table_file[key].type_diff_right %>">
|
|
||||||
<pre><%=to_utf8 table_file[key].line_right %></pre>
|
|
||||||
</td>
|
|
||||||
<% else %>
|
|
||||||
<td class="line-code <%= table_file[key].type_diff_left %>">
|
|
||||||
<pre><%=to_utf8 table_file[key].line_left %></pre>
|
|
||||||
</td>
|
|
||||||
<% end %>
|
|
||||||
</tr>
|
|
||||||
<% end %>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end -%>
|
||||||
<% end %>
|
<% end -%>
|
||||||
|
|
||||||
<% html_title(with_leading_slash(@path), 'Diff') -%>
|
<% html_title(with_leading_slash(@path), 'Diff') -%>
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
<td><div class="square action_<%= change.action %>"></div> <%= change.path %> <%= "(#{change.revision})" unless change.revision.blank? %></td>
|
<td><div class="square action_<%= change.action %>"></div> <%= change.path %> <%= "(#{change.revision})" unless change.revision.blank? %></td>
|
||||||
<td align="right">
|
<td align="right">
|
||||||
<% if change.action == "M" %>
|
<% if change.action == "M" %>
|
||||||
<%= link_to l(:label_view_diff), :action => 'diff', :id => @project, :path => without_leading_slash(change.path), :rev => @changeset.revision %>
|
<%= link_to l(:label_view_diff), :action => 'diff', :id => @project, :path => without_leading_slash(change.relative_path), :rev => @changeset.revision %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<h3><%= l(:label_permissions) %></h3>
|
<h3><%= l(:label_permissions) %></h3>
|
||||||
<div class="box">
|
<div class="box" id="permissions">
|
||||||
<% perms_by_module = @permissions.group_by {|p| p.project_module.to_s} %>
|
<% perms_by_module = @permissions.group_by {|p| p.project_module.to_s} %>
|
||||||
<% perms_by_module.keys.sort.each do |mod| %>
|
<% perms_by_module.keys.sort.each do |mod| %>
|
||||||
<fieldset><legend><%= mod.blank? ? l(:label_project) : mod.humanize %></legend>
|
<fieldset><legend><%= mod.blank? ? l(:label_project) : mod.humanize %></legend>
|
||||||
@@ -24,6 +24,6 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<% end %>
|
<% end %>
|
||||||
<br /><%= check_all_links 'role_form' %>
|
<br /><%= check_all_links 'permissions' %>
|
||||||
<%= hidden_field_tag 'role[permissions][]', '' %>
|
<%= hidden_field_tag 'role[permissions][]', '' %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,13 +9,13 @@
|
|||||||
<%= hidden_field_tag 'settings[bcc_recipients]', 0 %></p>
|
<%= hidden_field_tag 'settings[bcc_recipients]', 0 %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<fieldset class="box"><legend><%=l(:text_select_mail_notifications)%></legend>
|
<fieldset class="box" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend>
|
||||||
<% @notifiables.each do |notifiable| %>
|
<% @notifiables.each do |notifiable| %>
|
||||||
<label><%= check_box_tag 'settings[notified_events][]', notifiable, Setting.notified_events.include?(notifiable) %>
|
<label><%= check_box_tag 'settings[notified_events][]', notifiable, Setting.notified_events.include?(notifiable) %>
|
||||||
<%= l_or_humanize(notifiable) %></label><br />
|
<%= l_or_humanize(notifiable) %></label><br />
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= hidden_field_tag 'settings[notified_events][]', '' %>
|
<%= hidden_field_tag 'settings[notified_events][]', '' %>
|
||||||
<p><%= check_all_links('mail-options-form') %></p>
|
<p><%= check_all_links('notified_events') %></p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset class="box"><legend><%= l(:setting_emails_footer) %></legend>
|
<fieldset class="box"><legend><%= l(:setting_emails_footer) %></legend>
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<%= sort_header_tag('spent_on', :caption => l(:label_date), :default_order => 'desc') %>
|
<%= sort_header_tag('spent_on', :caption => l(:label_date), :default_order => 'desc') %>
|
||||||
<%= sort_header_tag('user_id', :caption => l(:label_member)) %>
|
<%= sort_header_tag('user', :caption => l(:label_member)) %>
|
||||||
<%= sort_header_tag('activity_id', :caption => l(:label_activity)) %>
|
<%= sort_header_tag('activity', :caption => l(:label_activity)) %>
|
||||||
<%= sort_header_tag("#{Project.table_name}.name", :caption => l(:label_project)) %>
|
<%= sort_header_tag('project', :caption => l(:label_project)) %>
|
||||||
<%= sort_header_tag('issue_id', :caption => l(:label_issue), :default_order => 'desc') %>
|
<%= sort_header_tag('issue', :caption => l(:label_issue), :default_order => 'desc') %>
|
||||||
<th><%= l(:field_comments) %></th>
|
<th><%= l(:field_comments) %></th>
|
||||||
<%= sort_header_tag('hours', :caption => l(:field_hours)) %>
|
<%= sort_header_tag('hours', :caption => l(:field_hours)) %>
|
||||||
<th></th>
|
<th></th>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<% next if hours_for_value.empty? -%>
|
<% next if hours_for_value.empty? -%>
|
||||||
<tr class="<%= cycle('odd', 'even') %> <%= 'last-level' unless criterias.length > level+1 %>">
|
<tr class="<%= cycle('odd', 'even') %> <%= 'last-level' unless criterias.length > level+1 %>">
|
||||||
<%= '<td></td>' * level %>
|
<%= '<td></td>' * level %>
|
||||||
<td><%= format_criteria_value(criterias[level], value) %></td>
|
<td><%= h(format_criteria_value(criterias[level], value)) %></td>
|
||||||
<%= '<td></td>' * (criterias.length - level - 1) -%>
|
<%= '<td></td>' * (criterias.length - level - 1) -%>
|
||||||
<% total = 0 -%>
|
<% total = 0 -%>
|
||||||
<% @periods.each do |period| -%>
|
<% @periods.each do |period| -%>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<p><%= custom_field_tag_with_label @custom_value %></p>
|
<p><%= custom_field_tag_with_label @custom_value %></p>
|
||||||
<% end if @custom_values%>
|
<% end if @custom_values%>
|
||||||
|
|
||||||
<p><%= f.check_box :admin %></p>
|
<p><%= f.check_box :admin, :disabled => (@user == User.current) %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="box">
|
<div class="box">
|
||||||
|
|||||||
@@ -26,10 +26,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<% for user in @users -%>
|
<% for user in @users -%>
|
||||||
<tr class="user <%= cycle("odd", "even") %> <%= %w(anon active registered locked)[user.status] %>">
|
<tr class="user <%= cycle("odd", "even") %> <%= %w(anon active registered locked)[user.status] %>">
|
||||||
<td class="username"><%= link_to user.login, :action => 'edit', :id => user %></td>
|
<td class="username"><%= link_to h(user.login), :action => 'edit', :id => user %></td>
|
||||||
<td class="firstname"><%= user.firstname %></td>
|
<td class="firstname"><%= h(user.firstname) %></td>
|
||||||
<td class="lastname"><%= user.lastname %></td>
|
<td class="lastname"><%= h(user.lastname) %></td>
|
||||||
<td class="email"><%= user.mail %></td>
|
<td class="email"><%= h(user.mail) %></td>
|
||||||
<td align="center"><%= image_tag('true.png') if user.admin? %></td>
|
<td align="center"><%= image_tag('true.png') if user.admin? %></td>
|
||||||
<td class="created_on" align="center"><%= format_time(user.created_on) %></td>
|
<td class="created_on" align="center"><%= format_time(user.created_on) %></td>
|
||||||
<td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
|
<td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
|
||||||
|
|||||||
@@ -12,17 +12,19 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="splitcontentright">
|
<div class="splitcontentright">
|
||||||
|
<% if @projects.any? %>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<h3 class="icon22 icon22-projects"><%=l(:label_project_latest)%></h3>
|
<h3 class="icon22 icon22-projects"><%=l(:label_project_latest)%></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<% for project in @projects %>
|
<% for project in @projects %>
|
||||||
<li>
|
<li>
|
||||||
<%= link_to project.name, :controller => 'projects', :action => 'show', :id => project %> (<%= format_time(project.created_on) %>)
|
<%= link_to h(project.name), :controller => 'projects', :action => 'show', :id => project %> (<%= format_time(project.created_on) %>)
|
||||||
<%= textilizable project.short_description, :project => project %>
|
<%= textilizable project.short_description, :project => project %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<th class="line-num"><%= line_num %></th>
|
<th class="line-num"><%= line_num %></th>
|
||||||
<td class="revision"><%= link_to line[0], :controller => 'wiki', :action => 'index', :id => @project, :page => @page.title, :version => line[0] %></td>
|
<td class="revision"><%= link_to line[0], :controller => 'wiki', :action => 'index', :id => @project, :page => @page.title, :version => line[0] %></td>
|
||||||
<td class="author"><%= h(line[1]) %></td>
|
<td class="author"><%= h(line[1]) %></td>
|
||||||
<td class="line-code"><pre><%= line[2] %></pre></td>
|
<td class="line-code"><pre><%=h line[2] %></pre></td>
|
||||||
</tr>
|
</tr>
|
||||||
<% line_num += 1 %>
|
<% line_num += 1 %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ production:
|
|||||||
host: localhost
|
host: localhost
|
||||||
username: root
|
username: root
|
||||||
password:
|
password:
|
||||||
|
encoding: utf8
|
||||||
|
|
||||||
development:
|
development:
|
||||||
adapter: mysql
|
adapter: mysql
|
||||||
@@ -19,6 +20,7 @@ development:
|
|||||||
host: localhost
|
host: localhost
|
||||||
username: root
|
username: root
|
||||||
password:
|
password:
|
||||||
|
encoding: utf8
|
||||||
|
|
||||||
test:
|
test:
|
||||||
adapter: mysql
|
adapter: mysql
|
||||||
@@ -26,6 +28,7 @@ test:
|
|||||||
host: localhost
|
host: localhost
|
||||||
username: root
|
username: root
|
||||||
password:
|
password:
|
||||||
|
encoding: utf8
|
||||||
|
|
||||||
test_pgsql:
|
test_pgsql:
|
||||||
adapter: postgresql
|
adapter: postgresql
|
||||||
|
|||||||
@@ -4,6 +4,91 @@ Redmine - project management software
|
|||||||
Copyright (C) 2006-2008 Jean-Philippe Lang
|
Copyright (C) 2006-2008 Jean-Philippe Lang
|
||||||
http://www.redmine.org/
|
http://www.redmine.org/
|
||||||
|
|
||||||
|
== 2008-12-30 v0.7.4
|
||||||
|
|
||||||
|
* Fixed several XSS vulnerabilities
|
||||||
|
* Fixed a SQL injection vulnerability
|
||||||
|
|
||||||
|
|
||||||
|
== 2008-07-06 v0.7.3
|
||||||
|
|
||||||
|
* Allow dot in firstnames and lastnames
|
||||||
|
* Add project name to cross-project Atom feeds
|
||||||
|
* Encoding set to utf8 in example database.yml
|
||||||
|
* HTML titles on forums related views
|
||||||
|
* Fixed: various XSS vulnerabilities
|
||||||
|
* Fixed: Entourage (and some old client) fails to correctly render notification styles
|
||||||
|
* Fixed: Fixed: timelog redirects inappropriately when :back_url is blank
|
||||||
|
* Fixed: wrong relative paths to images in wiki_syntax.html
|
||||||
|
|
||||||
|
|
||||||
|
== 2008-06-15 v0.7.2
|
||||||
|
|
||||||
|
* "New Project" link on Projects page
|
||||||
|
* Links to repository directories on the repo browser
|
||||||
|
* Move status to front in Activity View
|
||||||
|
* Remove edit step from Status context menu
|
||||||
|
* Fixed: No way to do textile horizontal rule
|
||||||
|
* Fixed: Repository: View differences doesn't work
|
||||||
|
* Fixed: attachement's name maybe invalid.
|
||||||
|
* Fixed: Error when creating a new issue
|
||||||
|
* Fixed: NoMethodError on @available_filters.has_key?
|
||||||
|
* Fixed: Check All / Uncheck All in Email Settings
|
||||||
|
* Fixed: "View differences" of one file at /repositories/revision/ fails
|
||||||
|
* Fixed: Column width in "my page"
|
||||||
|
* Fixed: private subprojects are listed on Issues view
|
||||||
|
* Fixed: Textile: bold, italics, underline, etc... not working after parentheses
|
||||||
|
* Fixed: Update issue form: comment field from log time end out of screen
|
||||||
|
* Fixed: Editing role: "issue can be assigned to this role" out of box
|
||||||
|
* Fixed: Unable use angular braces after include word
|
||||||
|
* Fixed: Using '*' as keyword for repository referencing keywords doesn't work
|
||||||
|
* Fixed: Subversion repository "View differences" on each file rise ERROR
|
||||||
|
* Fixed: View differences for individual file of a changeset fails if the repository URL doesn't point to the repository root
|
||||||
|
* Fixed: It is possible to lock out the last admin account
|
||||||
|
* Fixed: Wikis are viewable for anonymous users on public projects, despite not granting access
|
||||||
|
* Fixed: Issue number display clipped on 'my issues'
|
||||||
|
* Fixed: Roadmap version list links not carrying state
|
||||||
|
* Fixed: Log Time fieldset in IssueController#edit doesn't set default Activity as default
|
||||||
|
* Fixed: git's "get_rev" API should use repo's current branch instead of hardwiring "master"
|
||||||
|
* Fixed: browser's language subcodes ignored
|
||||||
|
* Fixed: Error on project selection with numeric (only) identifier.
|
||||||
|
* Fixed: Link to PDF doesn't work after creating new issue
|
||||||
|
* Fixed: "Replies" should not be shown on forum threads that are locked
|
||||||
|
* Fixed: SVN errors lead to svn username/password being displayed to end users (security issue)
|
||||||
|
* Fixed: http links containing hashes don't display correct
|
||||||
|
* Fixed: Allow ampersands in Enumeration names
|
||||||
|
* Fixed: Atom link on saved query does not include query_id
|
||||||
|
* Fixed: Logtime info lost when there's an error updating an issue
|
||||||
|
* Fixed: TOC does not parse colorization markups
|
||||||
|
* Fixed: CVS: add support for modules names with spaces
|
||||||
|
* Fixed: Bad rendering on projects/add
|
||||||
|
* Fixed: exception when viewing differences on cvs
|
||||||
|
* Fixed: export issue to pdf will messup when use Chinese language
|
||||||
|
* Fixed: Redmine::Scm::Adapters::GitAdapter#get_rev ignored GIT_BIN constant
|
||||||
|
* Fixed: Adding non-ASCII new issue type in the New Issue page have encoding error using IE
|
||||||
|
* Fixed: Importing from trac : some wiki links are messed
|
||||||
|
* Fixed: Incorrect weekend definition in Hebrew calendar locale
|
||||||
|
* Fixed: Atom feeds don't provide author section for repository revisions
|
||||||
|
* Fixed: In Activity views, changesets titles can be multiline while they should not
|
||||||
|
* Fixed: Ignore unreadable subversion directories (read disabled using authz)
|
||||||
|
* Fixed: lib/SVG/Graph/Graph.rb can't externalize stylesheets
|
||||||
|
* Fixed: Close statement handler in Redmine.pm
|
||||||
|
|
||||||
|
|
||||||
|
== 2008-05-04 v0.7.1
|
||||||
|
|
||||||
|
* Thai translation added (Gampol Thitinilnithi)
|
||||||
|
* Translations updates
|
||||||
|
* Escape HTML comment tags
|
||||||
|
* Prevent "can't convert nil into String" error when :sort_order param is not present
|
||||||
|
* Fixed: Updating tickets add a time log with zero hours
|
||||||
|
* Fixed: private subprojects names are revealed on the project overview
|
||||||
|
* Fixed: Search for target version of "none" fails with postgres 8.3
|
||||||
|
* Fixed: Home, Logout, Login links shouldn't be absolute links
|
||||||
|
* Fixed: 'Latest projects' box on the welcome screen should be hidden if there are no projects
|
||||||
|
* Fixed: error when using upcase language name in coderay
|
||||||
|
* Fixed: error on Trac import when :due attribute is nil
|
||||||
|
|
||||||
|
|
||||||
== 2008-04-28 v0.7.0
|
== 2008-04-28 v0.7.0
|
||||||
|
|
||||||
|
|||||||
+14
-5
@@ -1,13 +1,13 @@
|
|||||||
== Redmine installation
|
== Redmine installation
|
||||||
|
|
||||||
Redmine - project management software
|
Redmine - project management software
|
||||||
Copyright (C) 2006-2007 Jean-Philippe Lang
|
Copyright (C) 2006-2008 Jean-Philippe Lang
|
||||||
http://www.redmine.org/
|
http://www.redmine.org/
|
||||||
|
|
||||||
|
|
||||||
== Requirements
|
== Requirements
|
||||||
|
|
||||||
* Ruby on Rails 2.0.2
|
* Ruby on Rails 2.0.2 (not Rails 2.1)
|
||||||
* A database (see compatibility below)
|
* A database (see compatibility below)
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
@@ -33,17 +33,26 @@ Supported databases:
|
|||||||
rake db:migrate RAILS_ENV="production"
|
rake db:migrate RAILS_ENV="production"
|
||||||
It will create tables and an administrator account.
|
It will create tables and an administrator account.
|
||||||
|
|
||||||
5. Test the installation by running WEBrick web server:
|
5. Setting up permissions
|
||||||
|
The user who runs Redmine must have write permission on the following
|
||||||
|
subdirectories: files, log, tmp (create the last one if not present).
|
||||||
|
|
||||||
|
Assuming you run Redmine with a user named redmine:
|
||||||
|
mkdir tmp
|
||||||
|
sudo chown -R redmine:redmine files log tmp
|
||||||
|
sudo chmod -R 755 files log tmp
|
||||||
|
|
||||||
|
6. Test the installation by running WEBrick web server:
|
||||||
ruby script/server -e production
|
ruby script/server -e production
|
||||||
|
|
||||||
Once WEBrick has started, point your browser to http://localhost:3000/
|
Once WEBrick has started, point your browser to http://localhost:3000/
|
||||||
You should now see the application welcome page
|
You should now see the application welcome page
|
||||||
|
|
||||||
6. Use default administrator account to log in:
|
7. Use default administrator account to log in:
|
||||||
login: admin
|
login: admin
|
||||||
password: admin
|
password: admin
|
||||||
|
|
||||||
7. Go to "Administration" to load the default configuration data (roles,
|
Go to "Administration" to load the default configuration data (roles,
|
||||||
trackers, statuses, workflow) and adjust application settings
|
trackers, statuses, workflow) and adjust application settings
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -307,8 +307,8 @@ label_confirmation: Vahvistus
|
|||||||
label_export_to: Vie
|
label_export_to: Vie
|
||||||
label_read: Lukee...
|
label_read: Lukee...
|
||||||
label_public_projects: Julkiset projektit
|
label_public_projects: Julkiset projektit
|
||||||
label_open_issues: avoin
|
label_open_issues: avoin, yhteensä
|
||||||
label_open_issues_plural: avointa
|
label_open_issues_plural: avointa, yhteensä
|
||||||
label_closed_issues: suljettu
|
label_closed_issues: suljettu
|
||||||
label_closed_issues_plural: suljettua
|
label_closed_issues_plural: suljettua
|
||||||
label_total: Yhteensä
|
label_total: Yhteensä
|
||||||
@@ -617,4 +617,4 @@ setting_default_projects_public: Uudet projektit ovat oletuksena julkisia
|
|||||||
label_overall_activity: Kokonaishistoria
|
label_overall_activity: Kokonaishistoria
|
||||||
error_scm_annotate: "Merkintää ei ole tai siihen ei voi lisätä selityksiä."
|
error_scm_annotate: "Merkintää ei ole tai siihen ei voi lisätä selityksiä."
|
||||||
label_planning: Suunnittelu
|
label_planning: Suunnittelu
|
||||||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
text_subprojects_destroy_warning: 'Tämän alaprojekti(t): %s tullaan myös poistamaan.'
|
||||||
|
|||||||
+626
@@ -0,0 +1,626 @@
|
|||||||
|
_gloc_rule_default: '|n| n==1 ? "" : "_plural" '
|
||||||
|
|
||||||
|
actionview_datehelper_select_day_prefix:
|
||||||
|
actionview_datehelper_select_month_names: Január,Február,Március,Április,Május,Június,Július,Augusztus,Szeptember,Október,November,December
|
||||||
|
actionview_datehelper_select_month_names_abbr: Jan,Feb,Már,Ápr,Máj,Jún,Júl,Aug,Szept,Okt,Nov,Dec
|
||||||
|
actionview_datehelper_select_month_prefix:
|
||||||
|
actionview_datehelper_select_year_prefix:
|
||||||
|
actionview_datehelper_time_in_words_day: 1 nap
|
||||||
|
actionview_datehelper_time_in_words_day_plural: %d nap
|
||||||
|
actionview_datehelper_time_in_words_hour_about: kb. 1 óra
|
||||||
|
actionview_datehelper_time_in_words_hour_about_plural: kb. %d óra
|
||||||
|
actionview_datehelper_time_in_words_hour_about_single: kb. 1 óra
|
||||||
|
actionview_datehelper_time_in_words_minute: 1 perc
|
||||||
|
actionview_datehelper_time_in_words_minute_half: fél perc
|
||||||
|
actionview_datehelper_time_in_words_minute_less_than: kevesebb, mint 1 perc
|
||||||
|
actionview_datehelper_time_in_words_minute_plural: %d perc
|
||||||
|
actionview_datehelper_time_in_words_minute_single: 1 perc
|
||||||
|
actionview_datehelper_time_in_words_second_less_than: kevesebb, mint 1 másodperc
|
||||||
|
actionview_datehelper_time_in_words_second_less_than_plural: kevesebb, mint %d másodperc
|
||||||
|
actionview_instancetag_blank_option: Kérem válasszon
|
||||||
|
|
||||||
|
activerecord_error_inclusion: nem található a listában
|
||||||
|
activerecord_error_exclusion: foglalt
|
||||||
|
activerecord_error_invalid: érvénytelen
|
||||||
|
activerecord_error_confirmation: jóváhagyás szükséges
|
||||||
|
activerecord_error_accepted: ell kell fogadni
|
||||||
|
activerecord_error_empty: nem lehet üres
|
||||||
|
activerecord_error_blank: nem lehet üres
|
||||||
|
activerecord_error_too_long: túl hosszú
|
||||||
|
activerecord_error_too_short: túl rövid
|
||||||
|
activerecord_error_wrong_length: hibás a hossza
|
||||||
|
activerecord_error_taken: már foglalt
|
||||||
|
activerecord_error_not_a_number: nem egy szám
|
||||||
|
activerecord_error_not_a_date: nem érvényes dátum
|
||||||
|
activerecord_error_greater_than_start_date: nagyobbnak kell lennie, mint az indítás dátuma
|
||||||
|
activerecord_error_not_same_project: nem azonos projekthez tartozik
|
||||||
|
activerecord_error_circular_dependency: Ez a kapcsolat egy körkörös függőséget eredményez
|
||||||
|
|
||||||
|
general_fmt_age: %d év
|
||||||
|
general_fmt_age_plural: %d év
|
||||||
|
general_fmt_date: %%Y.%%m.%%d
|
||||||
|
general_fmt_datetime: %%Y.%%m.%%d %%H:%%M:%%S
|
||||||
|
general_fmt_datetime_short: %%b %%d, %%H:%%M:%%S
|
||||||
|
general_fmt_time: %%H:%%M:%%S
|
||||||
|
general_text_No: 'Nem'
|
||||||
|
general_text_Yes: 'Igen'
|
||||||
|
general_text_no: 'nem'
|
||||||
|
general_text_yes: 'igen'
|
||||||
|
general_lang_name: 'Magyar'
|
||||||
|
general_csv_separator: ','
|
||||||
|
general_csv_encoding: ISO-8859-2
|
||||||
|
general_pdf_encoding: ISO-8859-2
|
||||||
|
general_day_names: Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat,Vasárnap
|
||||||
|
general_first_day_of_week: '1'
|
||||||
|
|
||||||
|
notice_account_updated: A fiók adatai sikeresen frissítve.
|
||||||
|
notice_account_invalid_creditentials: Hibás felhasználói név, vagy jelszó
|
||||||
|
notice_account_password_updated: A jelszó módosítása megtörtént.
|
||||||
|
notice_account_wrong_password: Hibás jelszó
|
||||||
|
notice_account_register_done: A fiók sikeresen létrehozva. Aktiválásához kattints az e-mailben kapott linkre
|
||||||
|
notice_account_unknown_email: Ismeretlen felhasználó.
|
||||||
|
notice_can_t_change_password: A fiók külső azonosítási forrást használ. A jelszó megváltoztatása nem lehetséges.
|
||||||
|
notice_account_lost_email_sent: Egy e-mail üzenetben postáztunk Önnek egy leírást az új jelszó beállításáról.
|
||||||
|
notice_account_activated: Fiókját aktiváltuk. Most már be tud jelentkezni a rendszerbe.
|
||||||
|
notice_successful_create: Sikeres létrehozás.
|
||||||
|
notice_successful_update: Sikeres módosítás.
|
||||||
|
notice_successful_delete: Sikeres törlés.
|
||||||
|
notice_successful_connection: Sikeres bejelentkezés.
|
||||||
|
notice_file_not_found: Az oldal, amit meg szeretne nézni nem található, vagy átkerült egy másik helyre.
|
||||||
|
notice_locking_conflict: Az adatot egy másik felhasználó idő közben módosította.
|
||||||
|
notice_not_authorized: Nincs hozzáférési engedélye ehhez az oldalhoz.
|
||||||
|
notice_email_sent: Egy e-mail üzenetet küldtünk a következő címre %s
|
||||||
|
notice_email_error: Hiba történt a levél küldése közben (%s)
|
||||||
|
notice_feeds_access_key_reseted: Az RSS hozzáférési kulcsát újra generáltuk.
|
||||||
|
notice_failed_to_save_issues: "Nem sikerült a %d feladat(ok) mentése a %d -ban kiválasztva: %s."
|
||||||
|
notice_no_issue_selected: "Nincs feladat kiválasztva! Kérem jelölje meg melyik feladatot szeretné szerkeszteni!"
|
||||||
|
notice_account_pending: "A fiókja létrejött, és adminisztrátori jóváhagyásra vár."
|
||||||
|
notice_default_data_loaded: Az alapértelmezett konfiguráció betöltése sikeresen megtörtént.
|
||||||
|
|
||||||
|
error_can_t_load_default_data: "Az alapértelmezett konfiguráció betöltése nem lehetséges: %s"
|
||||||
|
error_scm_not_found: "A bejegyzés, vagy revízió nem található a tárolóban."
|
||||||
|
error_scm_command_failed: "A tároló elérése közben hiba lépett fel: %s"
|
||||||
|
error_scm_annotate: "A bejegyzés nem létezik, vagy nics jegyzetekkel ellátva."
|
||||||
|
error_issue_not_found_in_project: 'A feladat nem található, vagy nem ehhez a projekthez tartozik'
|
||||||
|
|
||||||
|
mail_subject_lost_password: Az Ön Redmine jelszava
|
||||||
|
mail_body_lost_password: 'A Redmine jelszó megváltoztatásához, kattintson a következő linkre:'
|
||||||
|
mail_subject_register: Redmine azonosító aktiválása
|
||||||
|
mail_body_register: 'A Redmine azonosítója aktiválásához, kattintson a következő linkre:'
|
||||||
|
mail_body_account_information_external: A "%s" azonosító használatával bejelentkezhet a Redmineba.
|
||||||
|
mail_body_account_information: Az Ön Redmine azonosítójának információi
|
||||||
|
mail_subject_account_activation_request: Redmine azonosító aktiválási kérelem
|
||||||
|
mail_body_account_activation_request: 'Egy új felhasználó (%s) regisztrált, azonosítója jóváhasgyásra várakozik:'
|
||||||
|
|
||||||
|
gui_validation_error: 1 hiba
|
||||||
|
gui_validation_error_plural: %d hiba
|
||||||
|
|
||||||
|
field_name: Név
|
||||||
|
field_description: Leírás
|
||||||
|
field_summary: Összegzés
|
||||||
|
field_is_required: Kötelező
|
||||||
|
field_firstname: Keresztnév
|
||||||
|
field_lastname: Vezetéknév
|
||||||
|
field_mail: E-mail
|
||||||
|
field_filename: Fájl
|
||||||
|
field_filesize: Méret
|
||||||
|
field_downloads: Letöltések
|
||||||
|
field_author: Szerző
|
||||||
|
field_created_on: Létrehozva
|
||||||
|
field_updated_on: Módosítva
|
||||||
|
field_field_format: Formátum
|
||||||
|
field_is_for_all: Minden projekthez
|
||||||
|
field_possible_values: Lehetséges értékek
|
||||||
|
field_regexp: Reguláris kifejezés
|
||||||
|
field_min_length: Minimum hossz
|
||||||
|
field_max_length: Maximum hossz
|
||||||
|
field_value: Érték
|
||||||
|
field_category: Kategória
|
||||||
|
field_title: Cím
|
||||||
|
field_project: Projekt
|
||||||
|
field_issue: Feladat
|
||||||
|
field_status: Státusz
|
||||||
|
field_notes: Feljegyzések
|
||||||
|
field_is_closed: Feladat lezárva
|
||||||
|
field_is_default: Alapértelmezett érték
|
||||||
|
field_tracker: Típus
|
||||||
|
field_subject: Tárgy
|
||||||
|
field_due_date: Befejezés dátuma
|
||||||
|
field_assigned_to: Felelős
|
||||||
|
field_priority: Prioritás
|
||||||
|
field_fixed_version: Cél verzió
|
||||||
|
field_user: Felhasználó
|
||||||
|
field_role: Szerepkör
|
||||||
|
field_homepage: Weboldal
|
||||||
|
field_is_public: Nyilvános
|
||||||
|
field_parent: Szülő projekt
|
||||||
|
field_is_in_chlog: Feladatok látszanak a változás naplóban
|
||||||
|
field_is_in_roadmap: Feladatok látszanak az életútban
|
||||||
|
field_login: Azonosító
|
||||||
|
field_mail_notification: E-mail értesítések
|
||||||
|
field_admin: Adminisztrátor
|
||||||
|
field_last_login_on: Utolsó bejelentkezés
|
||||||
|
field_language: Nyelv
|
||||||
|
field_effective_date: Dátum
|
||||||
|
field_password: Jelszó
|
||||||
|
field_new_password: Új jelszó
|
||||||
|
field_password_confirmation: Megerősítés
|
||||||
|
field_version: Verzió
|
||||||
|
field_type: Típus
|
||||||
|
field_host: Kiszolgáló
|
||||||
|
field_port: Port
|
||||||
|
field_account: Felhasználói fiók
|
||||||
|
field_base_dn: Base DN
|
||||||
|
field_attr_login: Bejelentkezési tulajdonság
|
||||||
|
field_attr_firstname: Családnév
|
||||||
|
field_attr_lastname: Utónév
|
||||||
|
field_attr_mail: E-mail
|
||||||
|
field_onthefly: On-the-fly felhasználó létrehozás
|
||||||
|
field_start_date: Kezdés dátuma
|
||||||
|
field_done_ratio: Elkészült (%%)
|
||||||
|
field_auth_source: Azonosítási mód
|
||||||
|
field_hide_mail: Rejtse el az e-mail címem
|
||||||
|
field_comments: Megjegyzés
|
||||||
|
field_url: URL
|
||||||
|
field_start_page: Kezdőlap
|
||||||
|
field_subproject: Alprojekt
|
||||||
|
field_hours: Óra
|
||||||
|
field_activity: Aktivitás
|
||||||
|
field_spent_on: Dátum
|
||||||
|
field_identifier: Azonosító
|
||||||
|
field_is_filter: Szűrőként használható
|
||||||
|
field_issue_to_id: Kapcsolódó feladat
|
||||||
|
field_delay: Késés
|
||||||
|
field_assignable: Feladat rendelhető ehhez a szerepkörhöz
|
||||||
|
field_redirect_existing_links: Létező linkek átirányítása
|
||||||
|
field_estimated_hours: Becsült idő
|
||||||
|
field_column_names: Oszlopok
|
||||||
|
field_time_zone: Időzóna
|
||||||
|
field_searchable: Kereshető
|
||||||
|
field_default_value: Alapértelmezett érték
|
||||||
|
field_comments_sorting: Feljegyzések megjelenítése
|
||||||
|
|
||||||
|
setting_app_title: Alkalmazás címe
|
||||||
|
setting_app_subtitle: Alkalmazás alcíme
|
||||||
|
setting_welcome_text: Üdvözlő üzenet
|
||||||
|
setting_default_language: Alapértelmezett nyelv
|
||||||
|
setting_login_required: Azonosítás szükséges
|
||||||
|
setting_self_registration: Regisztráció
|
||||||
|
setting_attachment_max_size: Melléklet max. mérete
|
||||||
|
setting_issues_export_limit: Feladatok exportálásának korlátja
|
||||||
|
setting_mail_from: Kibocsátó e-mail címe
|
||||||
|
setting_bcc_recipients: Titkos másolat címzet (bcc)
|
||||||
|
setting_host_name: Kiszolgáló neve
|
||||||
|
setting_text_formatting: Szöveg formázás
|
||||||
|
setting_wiki_compression: Wiki történet tömörítés
|
||||||
|
setting_feeds_limit: RSS tartalom korlát
|
||||||
|
setting_default_projects_public: Az új projektek alapértelmezés szerint nyilvánosak
|
||||||
|
setting_autofetch_changesets: Commitok automatikus lehúzása
|
||||||
|
setting_sys_api_enabled: WS engedélyezése a tárolók kezeléséhez
|
||||||
|
setting_commit_ref_keywords: Hivatkozó kulcsszavak
|
||||||
|
setting_commit_fix_keywords: Javítások kulcsszavai
|
||||||
|
setting_autologin: Automatikus bejelentkezés
|
||||||
|
setting_date_format: Dátum formátum
|
||||||
|
setting_time_format: Idő formátum
|
||||||
|
setting_cross_project_issue_relations: Kereszt-projekt feladat hivatkozások engedélyezése
|
||||||
|
setting_issue_list_default_columns: Az alapértelmezésként megjelenített oszlopok a feladat listában
|
||||||
|
setting_repositories_encodings: Tárolók kódolása
|
||||||
|
setting_emails_footer: E-mail lábléc
|
||||||
|
setting_protocol: Protokol
|
||||||
|
setting_per_page_options: Objektum / oldal opciók
|
||||||
|
setting_user_format: Felhasználók megjelenítésének formája
|
||||||
|
setting_activity_days_default: Napok megjelenítése a project aktivitásnál
|
||||||
|
setting_display_subprojects_issues: Alapértelmezettként mutassa az alprojektek feladatait is a projekteken
|
||||||
|
|
||||||
|
project_module_issue_tracking: Feladat követés
|
||||||
|
project_module_time_tracking: Idő rögzítés
|
||||||
|
project_module_news: Hírek
|
||||||
|
project_module_documents: Dokumentumok
|
||||||
|
project_module_files: Fájlok
|
||||||
|
project_module_wiki: Wiki
|
||||||
|
project_module_repository: Tároló
|
||||||
|
project_module_boards: Fórumok
|
||||||
|
|
||||||
|
label_user: Felhasználó
|
||||||
|
label_user_plural: Felhasználók
|
||||||
|
label_user_new: Új felhasználó
|
||||||
|
label_project: Projekt
|
||||||
|
label_project_new: Új projekt
|
||||||
|
label_project_plural: Projektek
|
||||||
|
label_project_all: Az összes projekt
|
||||||
|
label_project_latest: Legutóbbi projektek
|
||||||
|
label_issue: Feladat
|
||||||
|
label_issue_new: Új feladat
|
||||||
|
label_issue_plural: Feladatok
|
||||||
|
label_issue_view_all: Minden feladat megtekintése
|
||||||
|
label_issues_by: %s feladatai
|
||||||
|
label_issue_added: Feladat hozzáadva
|
||||||
|
label_issue_updated: Feladat frissítve
|
||||||
|
label_document: Dokumentum
|
||||||
|
label_document_new: Új dokumentum
|
||||||
|
label_document_plural: Dokumentumok
|
||||||
|
label_document_added: Dokumentum hozzáadva
|
||||||
|
label_role: Szerepkör
|
||||||
|
label_role_plural: Szerepkörök
|
||||||
|
label_role_new: Új szerepkör
|
||||||
|
label_role_and_permissions: Szerepkörök, és jogosultságok
|
||||||
|
label_member: Résztvevő
|
||||||
|
label_member_new: Új résztvevő
|
||||||
|
label_member_plural: Résztvevők
|
||||||
|
label_tracker: Feladat típus
|
||||||
|
label_tracker_plural: Feladat típusok
|
||||||
|
label_tracker_new: Új feladat típus
|
||||||
|
label_workflow: Workflow
|
||||||
|
label_issue_status: Feladat státusz
|
||||||
|
label_issue_status_plural: Feladat státuszok
|
||||||
|
label_issue_status_new: Új státusz
|
||||||
|
label_issue_category: Feladat kategória
|
||||||
|
label_issue_category_plural: Feladat kategóriák
|
||||||
|
label_issue_category_new: Új kategória
|
||||||
|
label_custom_field: Egyéni mező
|
||||||
|
label_custom_field_plural: Egyéni mezők
|
||||||
|
label_custom_field_new: Új egyéni mező
|
||||||
|
label_enumerations: Felsorolások
|
||||||
|
label_enumeration_new: Új érték
|
||||||
|
label_information: Információ
|
||||||
|
label_information_plural: Információk
|
||||||
|
label_please_login: Jelentkezzen be
|
||||||
|
label_register: Regisztráljon
|
||||||
|
label_password_lost: Elfelejtett jelszó
|
||||||
|
label_home: Kezdőlap
|
||||||
|
label_my_page: Saját kezdőlapom
|
||||||
|
label_my_account: Fiókom adatai
|
||||||
|
label_my_projects: Saját projektem
|
||||||
|
label_administration: Adminisztráció
|
||||||
|
label_login: Bejelentkezés
|
||||||
|
label_logout: Kijelentkezés
|
||||||
|
label_help: Súgó
|
||||||
|
label_reported_issues: Bejelentett feladatok
|
||||||
|
label_assigned_to_me_issues: A nekem kiosztott feladatok
|
||||||
|
label_last_login: Utolsó bejelentkezés
|
||||||
|
label_last_updates: Utoljára frissítve
|
||||||
|
label_last_updates_plural: Utoljára módosítva %d
|
||||||
|
label_registered_on: Regisztrált
|
||||||
|
label_activity: Tevékenységek
|
||||||
|
label_overall_activity: Teljes aktivitás
|
||||||
|
label_new: Új
|
||||||
|
label_logged_as: Bejelentkezve, mint
|
||||||
|
label_environment: Környezet
|
||||||
|
label_authentication: Azonosítás
|
||||||
|
label_auth_source: Azonosítás módja
|
||||||
|
label_auth_source_new: Új azonosítási mód
|
||||||
|
label_auth_source_plural: Azonosítási módok
|
||||||
|
label_subproject_plural: Alprojektek
|
||||||
|
label_and_its_subprojects: %s és alprojektjei
|
||||||
|
label_min_max_length: Min - Max hossz
|
||||||
|
label_list: Lista
|
||||||
|
label_date: Dátum
|
||||||
|
label_integer: Egész
|
||||||
|
label_float: Lebegőpontos
|
||||||
|
label_boolean: Logikai
|
||||||
|
label_string: Szöveg
|
||||||
|
label_text: Hosszú szöveg
|
||||||
|
label_attribute: Tulajdonság
|
||||||
|
label_attribute_plural: Tulajdonságok
|
||||||
|
label_download: %d Letöltés
|
||||||
|
label_download_plural: %d Letöltések
|
||||||
|
label_no_data: Nincs megjeleníthető adat
|
||||||
|
label_change_status: Státusz módosítása
|
||||||
|
label_history: Történet
|
||||||
|
label_attachment: Fájl
|
||||||
|
label_attachment_new: Új fájl
|
||||||
|
label_attachment_delete: Fájl törlése
|
||||||
|
label_attachment_plural: Fájlok
|
||||||
|
label_file_added: Fájl hozzáadva
|
||||||
|
label_report: Jelentés
|
||||||
|
label_report_plural: Jelentések
|
||||||
|
label_news: Hírek
|
||||||
|
label_news_new: Hír hozzáadása
|
||||||
|
label_news_plural: Hírek
|
||||||
|
label_news_latest: Legutóbbi hírek
|
||||||
|
label_news_view_all: Minden hír megtekintése
|
||||||
|
label_news_added: Hír hozzáadva
|
||||||
|
label_change_log: Változás napló
|
||||||
|
label_settings: Beállítások
|
||||||
|
label_overview: Áttekintés
|
||||||
|
label_version: Verzió
|
||||||
|
label_version_new: Új verzió
|
||||||
|
label_version_plural: Verziók
|
||||||
|
label_confirmation: Jóváhagyás
|
||||||
|
label_export_to: Exportálás
|
||||||
|
label_read: Olvas...
|
||||||
|
label_public_projects: Nyilvános projektek
|
||||||
|
label_open_issues: nyitott
|
||||||
|
label_open_issues_plural: nyitott
|
||||||
|
label_closed_issues: lezárt
|
||||||
|
label_closed_issues_plural: lezárt
|
||||||
|
label_total: Összesen
|
||||||
|
label_permissions: Jogosultságok
|
||||||
|
label_current_status: Jelenlegi státusz
|
||||||
|
label_new_statuses_allowed: Státusz változtatások engedélyei
|
||||||
|
label_all: mind
|
||||||
|
label_none: nincs
|
||||||
|
label_nobody: senki
|
||||||
|
label_next: Következő
|
||||||
|
label_previous: Előző
|
||||||
|
label_used_by: Használja
|
||||||
|
label_details: Részletek
|
||||||
|
label_add_note: Jegyzet hozzáadása
|
||||||
|
label_per_page: Oldalanként
|
||||||
|
label_calendar: Naptár
|
||||||
|
label_months_from: hónap, kezdve
|
||||||
|
label_gantt: Gantt
|
||||||
|
label_internal: Belső
|
||||||
|
label_last_changes: utolsó %d változás
|
||||||
|
label_change_view_all: Minden változás megtekintése
|
||||||
|
label_personalize_page: Az oldal testreszabása
|
||||||
|
label_comment: Megjegyzés
|
||||||
|
label_comment_plural: Megjegyzések
|
||||||
|
label_comment_add: Megjegyzés hozzáadása
|
||||||
|
label_comment_added: Megjegyzés hozzáadva
|
||||||
|
label_comment_delete: Megjegyzések törlése
|
||||||
|
label_query: Egyéni lekérdezés
|
||||||
|
label_query_plural: Egyéni lekérdezések
|
||||||
|
label_query_new: Új lekérdezés
|
||||||
|
label_filter_add: Szűrő hozzáadása
|
||||||
|
label_filter_plural: Szűrők
|
||||||
|
label_equals: egyenlő
|
||||||
|
label_not_equals: nem egyenlő
|
||||||
|
label_in_less_than: kevesebb, mint
|
||||||
|
label_in_more_than: több, mint
|
||||||
|
label_in: in
|
||||||
|
label_today: ma
|
||||||
|
label_all_time: mindenkor
|
||||||
|
label_yesterday: tegnap
|
||||||
|
label_this_week: aktuális hét
|
||||||
|
label_last_week: múlt hét
|
||||||
|
label_last_n_days: az elmúlt %d nap
|
||||||
|
label_this_month: aktuális hónap
|
||||||
|
label_last_month: múlt hónap
|
||||||
|
label_this_year: aktuális év
|
||||||
|
label_date_range: Dátum intervallum
|
||||||
|
label_less_than_ago: kevesebb, mint nappal ezelőtt
|
||||||
|
label_more_than_ago: több, mint nappal ezelőtt
|
||||||
|
label_ago: nappal ezelőtt
|
||||||
|
label_contains: tartalmazza
|
||||||
|
label_not_contains: nem tartalmazza
|
||||||
|
label_day_plural: nap
|
||||||
|
label_repository: Tároló
|
||||||
|
label_repository_plural: Tárolók
|
||||||
|
label_browse: Tallóz
|
||||||
|
label_modification: %d változás
|
||||||
|
label_modification_plural: %d változások
|
||||||
|
label_revision: Revízió
|
||||||
|
label_revision_plural: Revíziók
|
||||||
|
label_associated_revisions: Kapcsolt revíziók
|
||||||
|
label_added: hozzáadva
|
||||||
|
label_modified: módosítva
|
||||||
|
label_deleted: törölve
|
||||||
|
label_latest_revision: Legutolsó revízió
|
||||||
|
label_latest_revision_plural: Legutolsó revíziók
|
||||||
|
label_view_revisions: Revíziók megtekintése
|
||||||
|
label_max_size: Maximális méret
|
||||||
|
label_on: 'összesen'
|
||||||
|
label_sort_highest: Az elejére
|
||||||
|
label_sort_higher: Eggyel feljebb
|
||||||
|
label_sort_lower: Eggyel lejjebb
|
||||||
|
label_sort_lowest: Az aljára
|
||||||
|
label_roadmap: Életút
|
||||||
|
label_roadmap_due_in: Elkészültéig várhatóan még
|
||||||
|
label_roadmap_overdue: %s késésben
|
||||||
|
label_roadmap_no_issues: Nincsenek feladatok ehhez a verzióhoz
|
||||||
|
label_search: Keresés
|
||||||
|
label_result_plural: Találatok
|
||||||
|
label_all_words: Minden szó
|
||||||
|
label_wiki: Wiki
|
||||||
|
label_wiki_edit: Wiki szerkesztés
|
||||||
|
label_wiki_edit_plural: Wiki szerkesztések
|
||||||
|
label_wiki_page: Wiki oldal
|
||||||
|
label_wiki_page_plural: Wiki oldalak
|
||||||
|
label_index_by_title: Cím szerint indexelve
|
||||||
|
label_index_by_date: Dátum szerint indexelve
|
||||||
|
label_current_version: Jelenlegi verzió
|
||||||
|
label_preview: Előnézet
|
||||||
|
label_feed_plural: Visszajelzések
|
||||||
|
label_changes_details: Változások részletei
|
||||||
|
label_issue_tracking: Feladat követés
|
||||||
|
label_spent_time: Ráfordított idő
|
||||||
|
label_f_hour: %.2f óra
|
||||||
|
label_f_hour_plural: %.2f óra
|
||||||
|
label_time_tracking: Idő követés
|
||||||
|
label_change_plural: Változások
|
||||||
|
label_statistics: Statisztikák
|
||||||
|
label_commits_per_month: Commits havonta
|
||||||
|
label_commits_per_author: Commits szerzőnként
|
||||||
|
label_view_diff: Különbségek megtekintése
|
||||||
|
label_diff_inline: inline
|
||||||
|
label_diff_side_by_side: side by side
|
||||||
|
label_options: Opciók
|
||||||
|
label_copy_workflow_from: Workflow másolása innen
|
||||||
|
label_permissions_report: Jogosultsági riport
|
||||||
|
label_watched_issues: Megfigyelt feladatok
|
||||||
|
label_related_issues: Kapcsolódó feladatok
|
||||||
|
label_applied_status: Alkalmazandó státusz
|
||||||
|
label_loading: Betöltés...
|
||||||
|
label_relation_new: Új kapcsolat
|
||||||
|
label_relation_delete: Kapcsolat törlése
|
||||||
|
label_relates_to: kapcsolódik
|
||||||
|
label_duplicates: duplikálja
|
||||||
|
label_blocks: zárolja
|
||||||
|
label_blocked_by: zárolta
|
||||||
|
label_precedes: megelőzi
|
||||||
|
label_follows: követi
|
||||||
|
label_end_to_start: végétől indulásig
|
||||||
|
label_end_to_end: végétől végéig
|
||||||
|
label_start_to_start: indulástól indulásig
|
||||||
|
label_start_to_end: indulástól végéig
|
||||||
|
label_stay_logged_in: Emlékezzen rám
|
||||||
|
label_disabled: kikapcsolva
|
||||||
|
label_show_completed_versions: A kész verziók mutatása
|
||||||
|
label_me: én
|
||||||
|
label_board: Fórum
|
||||||
|
label_board_new: Új fórum
|
||||||
|
label_board_plural: Fórumok
|
||||||
|
label_topic_plural: Témák
|
||||||
|
label_message_plural: Üzenetek
|
||||||
|
label_message_last: Utolsó üzenet
|
||||||
|
label_message_new: Új üzenet
|
||||||
|
label_message_posted: Üzenet hozzáadva
|
||||||
|
label_reply_plural: Válaszok
|
||||||
|
label_send_information: Fiók infomációk küldése a felhasználónak
|
||||||
|
label_year: Év
|
||||||
|
label_month: Hónap
|
||||||
|
label_week: Hét
|
||||||
|
label_date_from: 'Kezdet:'
|
||||||
|
label_date_to: 'Vége:'
|
||||||
|
label_language_based: A felhasználó nyelve alapján
|
||||||
|
label_sort_by: %s szerint rendezve
|
||||||
|
label_send_test_email: Teszt e-mail küldése
|
||||||
|
label_feeds_access_key_created_on: 'RSS hozzáférési kulcs létrehozva ennyivel ezelőtt: %s'
|
||||||
|
label_module_plural: Modulok
|
||||||
|
label_added_time_by: '%s adta hozzá ennyivel ezelőtt: %s'
|
||||||
|
label_updated_time: 'Utolsó módosítás ennyivel ezelőtt: %s'
|
||||||
|
label_jump_to_a_project: Ugrás projekthez...
|
||||||
|
label_file_plural: Fájlok
|
||||||
|
label_changeset_plural: Changesets
|
||||||
|
label_default_columns: Alapértelmezett oszlopok
|
||||||
|
label_no_change_option: (Nincs változás)
|
||||||
|
label_bulk_edit_selected_issues: A kiválasztott feladatok kötegelt szerkesztése
|
||||||
|
label_theme: Téma
|
||||||
|
label_default: Alapértelmezett
|
||||||
|
label_search_titles_only: Keresés csak a címekben
|
||||||
|
label_user_mail_option_all: "Minden eseményről minden saját projektemben"
|
||||||
|
label_user_mail_option_selected: "Minden eseményről a kiválasztott projektekben..."
|
||||||
|
label_user_mail_option_none: "Csak a megfigyelt dolgokról, vagy, amiben részt veszek"
|
||||||
|
label_user_mail_no_self_notified: "Nem kérek értesítést az általam végzett módosításokról"
|
||||||
|
label_registration_activation_by_email: Fiók aktiválása e-mailben
|
||||||
|
label_registration_manual_activation: Manuális fiók aktiválás
|
||||||
|
label_registration_automatic_activation: Automatikus fiók aktiválás
|
||||||
|
label_display_per_page: 'Oldalanként: %s'
|
||||||
|
label_age: Kor
|
||||||
|
label_change_properties: Tulajdonságok változtatása
|
||||||
|
label_general: Általános
|
||||||
|
label_more: továbbiak
|
||||||
|
label_scm: SCM
|
||||||
|
label_plugins: Pluginek
|
||||||
|
label_ldap_authentication: LDAP azonosítás
|
||||||
|
label_downloads_abbr: D/L
|
||||||
|
label_optional_description: Opcionális leírás
|
||||||
|
label_add_another_file: Újabb fájl hozzáadása
|
||||||
|
label_preferences: Tulajdonságok
|
||||||
|
label_chronological_order: Időrendben
|
||||||
|
label_reverse_chronological_order: Fordított időrendben
|
||||||
|
label_planning: Tervezés
|
||||||
|
|
||||||
|
button_login: Bejelentkezés
|
||||||
|
button_submit: Elfogad
|
||||||
|
button_save: Mentés
|
||||||
|
button_check_all: Mindent kijelöl
|
||||||
|
button_uncheck_all: Kijelölés törlése
|
||||||
|
button_delete: Töröl
|
||||||
|
button_create: Létrehoz
|
||||||
|
button_test: Teszt
|
||||||
|
button_edit: Szerkeszt
|
||||||
|
button_add: Hozzáad
|
||||||
|
button_change: Változtat
|
||||||
|
button_apply: Alkalmaz
|
||||||
|
button_clear: Töröl
|
||||||
|
button_lock: Zárol
|
||||||
|
button_unlock: Felold
|
||||||
|
button_download: Letöltés
|
||||||
|
button_list: Lista
|
||||||
|
button_view: Megnéz
|
||||||
|
button_move: Mozgat
|
||||||
|
button_back: Vissza
|
||||||
|
button_cancel: Mégse
|
||||||
|
button_activate: Aktivál
|
||||||
|
button_sort: Rendezés
|
||||||
|
button_log_time: Idő rögzítés
|
||||||
|
button_rollback: Visszaáll erre a verzióra
|
||||||
|
button_watch: Megfigyel
|
||||||
|
button_unwatch: Megfigyelés törlése
|
||||||
|
button_reply: Válasz
|
||||||
|
button_archive: Archivál
|
||||||
|
button_unarchive: Dearchivál
|
||||||
|
button_reset: Reset
|
||||||
|
button_rename: Átnevez
|
||||||
|
button_change_password: Jelszó megváltoztatása
|
||||||
|
button_copy: Másol
|
||||||
|
button_annotate: Jegyzetel
|
||||||
|
button_update: Módosít
|
||||||
|
button_configure: Konfigurál
|
||||||
|
|
||||||
|
status_active: aktív
|
||||||
|
status_registered: regisztrált
|
||||||
|
status_locked: zárolt
|
||||||
|
|
||||||
|
text_select_mail_notifications: Válasszon eseményeket, amelyekről e-mail értesítést kell küldeni.
|
||||||
|
text_regexp_info: eg. ^[A-Z0-9]+$
|
||||||
|
text_min_max_length_info: 0 = nincs korlátozás
|
||||||
|
text_project_destroy_confirmation: Biztosan törölni szeretné a projektet és vele együtt minden kapcsolódó adatot ?
|
||||||
|
text_subprojects_destroy_warning: 'Az alprojekt(ek): %s szintén törlésre kerülnek.'
|
||||||
|
text_workflow_edit: Válasszon egy szerepkört, és egy trackert a workflow szerkesztéséhez
|
||||||
|
text_are_you_sure: Biztos benne ?
|
||||||
|
text_journal_changed: "változás: %s volt, %s lett"
|
||||||
|
text_journal_set_to: "beállítva: %s"
|
||||||
|
text_journal_deleted: törölve
|
||||||
|
text_tip_task_begin_day: a feladat ezen a napon kezdődik
|
||||||
|
text_tip_task_end_day: a feladat ezen a napon ér véget
|
||||||
|
text_tip_task_begin_end_day: a feladat ezen a napon kezdődik és ér véget
|
||||||
|
text_project_identifier_info: 'Kis betűk (a-z), számok és kötőjel megengedett.<br />Mentés után az azonosítót megváltoztatni nem lehet.'
|
||||||
|
text_caracters_maximum: maximum %d karakter.
|
||||||
|
text_caracters_minimum: Legkevesebb %d karakter hosszúnek kell lennie.
|
||||||
|
text_length_between: Legalább %d és legfeljebb %d hosszú karakter.
|
||||||
|
text_tracker_no_workflow: Nincs workflow definiálva ehhez a tracker-hez
|
||||||
|
text_unallowed_characters: Tiltott karakterek
|
||||||
|
text_comma_separated: Több érték megengedett (vesszővel elválasztva)
|
||||||
|
text_issues_ref_in_commit_messages: Hivatkozás feladatokra, feladatok javítása a commit üzenetekben
|
||||||
|
text_issue_added: %s feladat bejelentve.
|
||||||
|
text_issue_updated: %s feladat frissítve.
|
||||||
|
text_wiki_destroy_confirmation: Biztosan törölni szeretné ezt a wiki-t minden tartalmával együtt ?
|
||||||
|
text_issue_category_destroy_question: Néhány feladat (%d) hozzá van rendelve ehhez a kategóriához. Mit szeretne tenni ?
|
||||||
|
text_issue_category_destroy_assignments: Kategória hozzárendelés megszűntetése
|
||||||
|
text_issue_category_reassign_to: Feladatok újra hozzárendelése a kategóriához
|
||||||
|
text_user_mail_option: "A nem kiválasztott projektekről csak akkor kap értesítést, ha figyelést kér rá, vagy részt vesz benne (pl. Ön a létrehozó, vagy a hozzárendelő)"
|
||||||
|
text_no_configuration_data: "Szerepkörök, trackerek, feladat státuszok, és workflow adatok még nincsenek konfigurálva.\nErősen ajánlott, az alapértelmezett konfiguráció betöltése, és utána módosíthatja azt."
|
||||||
|
text_load_default_configuration: Alapértelmezett konfiguráció betöltése
|
||||||
|
text_status_changed_by_changeset: Applied in changeset %s.
|
||||||
|
text_issues_destroy_confirmation: 'Biztos benne, hogy törölni szeretné a kijelölt feladato(ka)t ?'
|
||||||
|
text_select_project_modules: 'Válassza ki az engedélyezett modulokat ehhez a projekthez:'
|
||||||
|
text_default_administrator_account_changed: Alapértelmezett adminisztrátor fiók megváltoztatva
|
||||||
|
text_file_repository_writable: Fájl tároló írható
|
||||||
|
text_rmagick_available: RMagick elérhető (opcionális)
|
||||||
|
text_destroy_time_entries_question: %.02f órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni ?
|
||||||
|
text_destroy_time_entries: A rögzített órák törlése
|
||||||
|
text_assign_time_entries_to_project: A rögzített órák hozzárendelése a projekthez
|
||||||
|
text_reassign_time_entries: 'A rögzített órák újra hozzárendelése ehhez a feladathoz:'
|
||||||
|
|
||||||
|
default_role_manager: Vezető
|
||||||
|
default_role_developper: Fejlesztő
|
||||||
|
default_role_reporter: Bejelentő
|
||||||
|
default_tracker_bug: Hiba
|
||||||
|
default_tracker_feature: Fejlesztés
|
||||||
|
default_tracker_support: Support
|
||||||
|
default_issue_status_new: Új
|
||||||
|
default_issue_status_assigned: Kiosztva
|
||||||
|
default_issue_status_resolved: Megoldva
|
||||||
|
default_issue_status_feedback: Visszajelzés
|
||||||
|
default_issue_status_closed: Lezárt
|
||||||
|
default_issue_status_rejected: Elutasított
|
||||||
|
default_doc_category_user: Felhasználói dokumentáció
|
||||||
|
default_doc_category_tech: Technikai dokumentáció
|
||||||
|
default_priority_low: Alacsony
|
||||||
|
default_priority_normal: Normál
|
||||||
|
default_priority_high: Magas
|
||||||
|
default_priority_urgent: Sürgős
|
||||||
|
default_priority_immediate: Azonnal
|
||||||
|
default_activity_design: Tervezés
|
||||||
|
default_activity_development: Fejlesztés
|
||||||
|
|
||||||
|
enumeration_issue_priorities: Feladat prioritások
|
||||||
|
enumeration_doc_categories: Dokumentum kategóriák
|
||||||
|
enumeration_activities: Tevékenységek (idő rögzítés)
|
||||||
|
mail_body_reminder: "%d neked kiosztott feladat határidős az elkövetkező %d napban:"
|
||||||
|
mail_subject_reminder: "%d feladat határidős az elkövetkező napokban"
|
||||||
|
text_user_wrote: '%s írta:'
|
||||||
|
label_duplicated_by: duplikálta
|
||||||
+42
-40
@@ -554,7 +554,7 @@ enumeration_issue_priorities: Darbo prioritetai
|
|||||||
enumeration_doc_categories: Dokumento kategorijos
|
enumeration_doc_categories: Dokumento kategorijos
|
||||||
enumeration_activities: Veiklos (laiko sekimas)
|
enumeration_activities: Veiklos (laiko sekimas)
|
||||||
label_display_per_page: '%s įrašų puslapyje'
|
label_display_per_page: '%s įrašų puslapyje'
|
||||||
setting_per_page_options: Objects per page options
|
setting_per_page_options: Įrašų puslapyje nustatimas
|
||||||
notice_default_data_loaded: Numatytoji konfiguracija sėkmingai užkrauta.
|
notice_default_data_loaded: Numatytoji konfiguracija sėkmingai užkrauta.
|
||||||
label_age: Amžius
|
label_age: Amžius
|
||||||
label_general: Bendri
|
label_general: Bendri
|
||||||
@@ -578,44 +578,46 @@ label_document_added: Dokumentas pridėtas
|
|||||||
label_message_posted: Pranešimas pridėtas
|
label_message_posted: Pranešimas pridėtas
|
||||||
label_file_added: Byla pridėta
|
label_file_added: Byla pridėta
|
||||||
label_news_added: Naujiena pridėta
|
label_news_added: Naujiena pridėta
|
||||||
project_module_boards: Boards
|
project_module_boards: Forumai
|
||||||
project_module_issue_tracking: Issue tracking
|
project_module_issue_tracking: Darbu pėdsekys
|
||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
project_module_files: Files
|
project_module_files: Rinkmenos
|
||||||
project_module_documents: Documents
|
project_module_documents: Dokumentai
|
||||||
project_module_repository: Repository
|
project_module_repository: Saugykla
|
||||||
project_module_news: News
|
project_module_news: Žinios
|
||||||
project_module_time_tracking: Time tracking
|
project_module_time_tracking: Laiko pėdsekys
|
||||||
text_file_repository_writable: File repository writable
|
text_file_repository_writable: Į rinkmenu saugyklą galima saugoti (RW)
|
||||||
text_default_administrator_account_changed: Default administrator account changed
|
text_default_administrator_account_changed: Administratoriaus numatyta paskyra pakeista
|
||||||
text_rmagick_available: RMagick available (optional)
|
text_rmagick_available: RMagick pasiekiamas (pasirinktinai)
|
||||||
button_configure: Configure
|
button_configure: Konfiguruoti
|
||||||
label_plugins: Plugins
|
label_plugins: Plugins
|
||||||
label_ldap_authentication: LDAP authentication
|
label_ldap_authentication: LDAP autentifikacija
|
||||||
label_downloads_abbr: D/L
|
label_downloads_abbr: siunt.
|
||||||
label_this_month: this month
|
label_this_month: šis menuo
|
||||||
label_last_n_days: last %d days
|
label_last_n_days: paskutinių %d dienų
|
||||||
label_all_time: all time
|
label_all_time: visas laikas
|
||||||
label_this_year: this year
|
label_this_year: šiemet
|
||||||
label_date_range: Date range
|
label_date_range: Dienų diapazonas
|
||||||
label_last_week: last week
|
label_last_week: paskutinė savaitė
|
||||||
label_yesterday: yesterday
|
label_yesterday: vakar
|
||||||
label_last_month: last month
|
label_last_month: paskutinis menuo
|
||||||
label_add_another_file: Add another file
|
label_add_another_file: Pridėti kitą bylą
|
||||||
label_optional_description: Optional description
|
label_optional_description: Apibūdinimas (laisvai pasirenkamas)
|
||||||
text_destroy_time_entries_question: %.02f hours were reported on the issues you are about to delete. What do you want to do ?
|
text_destroy_time_entries_question: Naikinamam darbui paskelbta %.02f valandų. Ką jūs noryte su jomis daryti?
|
||||||
error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
|
error_issue_not_found_in_project: 'Darbas nerastas arba nesurištas su šiuo projektu'
|
||||||
text_assign_time_entries_to_project: Assign reported hours to the project
|
text_assign_time_entries_to_project: Priskirti valandas prie projekto
|
||||||
text_destroy_time_entries: Delete reported hours
|
text_destroy_time_entries: Ištrinti paskelbtas valandas
|
||||||
text_reassign_time_entries: 'Reassign reported hours to this issue:'
|
text_reassign_time_entries: 'Priskirti paskelbtas valandas šiam darbui:'
|
||||||
setting_activity_days_default: Days displayed on project activity
|
setting_activity_days_default: Atvaizduojamos dienos projekto veikloje
|
||||||
label_chronological_order: In chronological order
|
label_chronological_order: Chronologine tvarka
|
||||||
field_comments_sorting: Display comments
|
field_comments_sorting: rodyti komentarus
|
||||||
label_reverse_chronological_order: In reverse chronological order
|
label_reverse_chronological_order: Atbuline chronologine tvarka
|
||||||
label_preferences: Preferences
|
label_preferences: Savybės
|
||||||
setting_display_subprojects_issues: Display subprojects issues on main projects by default
|
setting_display_subprojects_issues: Pagal nutylėjimą rodyti subprojektų darbus pagrindiniame projekte
|
||||||
label_overall_activity: Overall activity
|
label_overall_activity: Visa veikla
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: Naujas projektas viešas pagal nutylėjimą
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "Įrašas neegzituoja arba negalima jo atvaizduoti."
|
||||||
label_planning: Planning
|
label_planning: Planavimas
|
||||||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
text_subprojects_destroy_warning: 'Šis(ie) subprojektas(ai): %s taip pat bus ištrintas(i).'
|
||||||
|
label_and_its_subprojects: %s projektas ir jo subprojektai
|
||||||
|
|
||||||
|
|||||||
+7
-2
@@ -91,6 +91,8 @@ mail_body_account_information_external: Du kan bruke din "%s"-konto for å logge
|
|||||||
mail_body_account_information: Informasjon om din konto
|
mail_body_account_information: Informasjon om din konto
|
||||||
mail_subject_account_activation_request: %s kontoaktivering
|
mail_subject_account_activation_request: %s kontoaktivering
|
||||||
mail_body_account_activation_request: 'En ny bruker (%s) er registrert, og avventer din godkjenning:'
|
mail_body_account_activation_request: 'En ny bruker (%s) er registrert, og avventer din godkjenning:'
|
||||||
|
mail_subject_reminder: "%d sak(er) har frist de kommende dagene"
|
||||||
|
mail_body_reminder: "%d sak(er) som er tildelt deg har frist de kommende %d dager:"
|
||||||
|
|
||||||
gui_validation_error: 1 feil
|
gui_validation_error: 1 feil
|
||||||
gui_validation_error_plural: %d feil
|
gui_validation_error_plural: %d feil
|
||||||
@@ -291,6 +293,7 @@ label_auth_source: Autentifikasjonsmodus
|
|||||||
label_auth_source_new: Ny autentifikasjonmodus
|
label_auth_source_new: Ny autentifikasjonmodus
|
||||||
label_auth_source_plural: Autentifikasjonsmoduser
|
label_auth_source_plural: Autentifikasjonsmoduser
|
||||||
label_subproject_plural: Underprosjekter
|
label_subproject_plural: Underprosjekter
|
||||||
|
label_and_its_subprojects: %s og dets underprosjekter
|
||||||
label_min_max_length: Min.-maks. lengde
|
label_min_max_length: Min.-maks. lengde
|
||||||
label_list: Liste
|
label_list: Liste
|
||||||
label_date: Dato
|
label_date: Dato
|
||||||
@@ -444,7 +447,8 @@ label_loading: Laster...
|
|||||||
label_relation_new: Ny relasjon
|
label_relation_new: Ny relasjon
|
||||||
label_relation_delete: Slett relasjon
|
label_relation_delete: Slett relasjon
|
||||||
label_relates_to: relatert til
|
label_relates_to: relatert til
|
||||||
label_duplicates: duplikater
|
label_duplicates: dupliserer
|
||||||
|
label_duplicated_by: duplisert av
|
||||||
label_blocks: blokkerer
|
label_blocks: blokkerer
|
||||||
label_blocked_by: blokkert av
|
label_blocked_by: blokkert av
|
||||||
label_precedes: kommer før
|
label_precedes: kommer før
|
||||||
@@ -557,7 +561,7 @@ text_select_mail_notifications: Velg hendelser som skal varsles med e-post.
|
|||||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
text_regexp_info: eg. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 betyr ingen begrensning
|
text_min_max_length_info: 0 betyr ingen begrensning
|
||||||
text_project_destroy_confirmation: Er du sikker på at du vil slette dette prosjekter og alle relatert data ?
|
text_project_destroy_confirmation: Er du sikker på at du vil slette dette prosjekter og alle relatert data ?
|
||||||
text_subprojects_destroy_warning: 'Underprojekt(ene): %s vil også bli slettet.'
|
text_subprojects_destroy_warning: 'Underprojekt(ene): %s vil også bli slettet.'
|
||||||
text_workflow_edit: Velg en rolle og en sakstype for å endre arbeidsflyten
|
text_workflow_edit: Velg en rolle og en sakstype for å endre arbeidsflyten
|
||||||
text_are_you_sure: Er du sikker ?
|
text_are_you_sure: Er du sikker ?
|
||||||
text_journal_changed: endret fra %s til %s
|
text_journal_changed: endret fra %s til %s
|
||||||
@@ -593,6 +597,7 @@ text_destroy_time_entries_question: %.02f timer er ført på sakene du er i ferd
|
|||||||
text_destroy_time_entries: Slett førte timer
|
text_destroy_time_entries: Slett førte timer
|
||||||
text_assign_time_entries_to_project: Overfør førte timer til prosjektet
|
text_assign_time_entries_to_project: Overfør førte timer til prosjektet
|
||||||
text_reassign_time_entries: 'Overfør førte timer til denne saken:'
|
text_reassign_time_entries: 'Overfør førte timer til denne saken:'
|
||||||
|
text_user_wrote: '%s skrev:'
|
||||||
|
|
||||||
default_role_manager: Leder
|
default_role_manager: Leder
|
||||||
default_role_developper: Utvikler
|
default_role_developper: Utvikler
|
||||||
|
|||||||
+17
-17
@@ -70,7 +70,7 @@ notice_file_not_found: Strona do której próbujesz się dostać nie istnieje lu
|
|||||||
notice_locking_conflict: Dane poprawione przez innego użytkownika.
|
notice_locking_conflict: Dane poprawione przez innego użytkownika.
|
||||||
notice_not_authorized: Nie jesteś autoryzowany by zobaczyć stronę.
|
notice_not_authorized: Nie jesteś autoryzowany by zobaczyć stronę.
|
||||||
|
|
||||||
error_scm_not_found: "Wejście i/lub zmiana nie istnieje w repozytorium."
|
error_scm_not_found: "Obiekt lub wersja nie zostały znalezione w repozytorium."
|
||||||
error_scm_command_failed: "An error occurred when trying to access the repository: %s"
|
error_scm_command_failed: "An error occurred when trying to access the repository: %s"
|
||||||
|
|
||||||
mail_subject_lost_password: Twoje hasło do %s
|
mail_subject_lost_password: Twoje hasło do %s
|
||||||
@@ -114,12 +114,12 @@ field_subject: Temat
|
|||||||
field_due_date: Data oddania
|
field_due_date: Data oddania
|
||||||
field_assigned_to: Przydzielony do
|
field_assigned_to: Przydzielony do
|
||||||
field_priority: Priorytet
|
field_priority: Priorytet
|
||||||
field_fixed_version: Target version
|
field_fixed_version: Wersja docelowa
|
||||||
field_user: Użytkownik
|
field_user: Użytkownik
|
||||||
field_role: Rola
|
field_role: Rola
|
||||||
field_homepage: Strona www
|
field_homepage: Strona www
|
||||||
field_is_public: Publiczny
|
field_is_public: Publiczny
|
||||||
field_parent: Podprojekt
|
field_parent: Nadprojekt
|
||||||
field_is_in_chlog: Zagadnienie pokazywane w zapisie zmian
|
field_is_in_chlog: Zagadnienie pokazywane w zapisie zmian
|
||||||
field_is_in_roadmap: Zagadnienie pokazywane na mapie
|
field_is_in_roadmap: Zagadnienie pokazywane na mapie
|
||||||
field_login: Login
|
field_login: Login
|
||||||
@@ -172,10 +172,10 @@ setting_host_name: Nazwa hosta
|
|||||||
setting_text_formatting: Formatowanie tekstu
|
setting_text_formatting: Formatowanie tekstu
|
||||||
setting_wiki_compression: Kompresja historii Wiki
|
setting_wiki_compression: Kompresja historii Wiki
|
||||||
setting_feeds_limit: Limit danych RSS
|
setting_feeds_limit: Limit danych RSS
|
||||||
setting_autofetch_changesets: Auto-odświeżanie CVS
|
setting_autofetch_changesets: Automatyczne pobieranie zmian
|
||||||
setting_sys_api_enabled: Włączenie WS do zarządzania repozytorium
|
setting_sys_api_enabled: Włączenie WS do zarządzania repozytorium
|
||||||
setting_commit_ref_keywords: Terminy odnoszące (CVS)
|
setting_commit_ref_keywords: Słowa tworzące powiązania
|
||||||
setting_commit_fix_keywords: Terminy ustalające (CVS)
|
setting_commit_fix_keywords: Słowa zmieniające status
|
||||||
setting_autologin: Auto logowanie
|
setting_autologin: Auto logowanie
|
||||||
setting_date_format: Format daty
|
setting_date_format: Format daty
|
||||||
|
|
||||||
@@ -328,14 +328,14 @@ label_repository: Repozytorium
|
|||||||
label_browse: Przegląd
|
label_browse: Przegląd
|
||||||
label_modification: %d modyfikacja
|
label_modification: %d modyfikacja
|
||||||
label_modification_plural: %d modyfikacja
|
label_modification_plural: %d modyfikacja
|
||||||
label_revision: Zmiana
|
label_revision: Rewizja
|
||||||
label_revision_plural: Zmiany
|
label_revision_plural: Rewizje
|
||||||
label_added: dodane
|
label_added: dodane
|
||||||
label_modified: zmodufikowane
|
label_modified: zmodyfikowane
|
||||||
label_deleted: usunięte
|
label_deleted: usunięte
|
||||||
label_latest_revision: Ostatnia zmiana
|
label_latest_revision: Najnowsza rewizja
|
||||||
label_latest_revision_plural: Ostatnie zmiany
|
label_latest_revision_plural: Najnowsze rewizje
|
||||||
label_view_revisions: Pokaż zmiany
|
label_view_revisions: Pokaż rewizje
|
||||||
label_max_size: Maksymalny rozmiar
|
label_max_size: Maksymalny rozmiar
|
||||||
label_on: 'z'
|
label_on: 'z'
|
||||||
label_sort_highest: Przesuń na górę
|
label_sort_highest: Przesuń na górę
|
||||||
@@ -366,8 +366,8 @@ label_f_hour_plural: %.2f godzin
|
|||||||
label_time_tracking: Śledzenie czasu
|
label_time_tracking: Śledzenie czasu
|
||||||
label_change_plural: Zmiany
|
label_change_plural: Zmiany
|
||||||
label_statistics: Statystyki
|
label_statistics: Statystyki
|
||||||
label_commits_per_month: Wrzutek CVS w miesiącu
|
label_commits_per_month: Zatwierdzenia według miesięcy
|
||||||
label_commits_per_author: Wrzutek CVS przez autora
|
label_commits_per_author: Zatwierdzenia według autorów
|
||||||
label_view_diff: Pokaż różnice
|
label_view_diff: Pokaż różnice
|
||||||
label_diff_inline: w linii
|
label_diff_inline: w linii
|
||||||
label_diff_side_by_side: obok siebie
|
label_diff_side_by_side: obok siebie
|
||||||
@@ -463,13 +463,13 @@ text_length_between: Długość pomiędzy %d i %d znaków.
|
|||||||
text_tracker_no_workflow: Brak przepływu zefiniowanego dla tego typu zagadnienia
|
text_tracker_no_workflow: Brak przepływu zefiniowanego dla tego typu zagadnienia
|
||||||
text_unallowed_characters: Niedozwolone znaki
|
text_unallowed_characters: Niedozwolone znaki
|
||||||
text_comma_separated: Wielokrotne wartości dozwolone (rozdzielone przecinkami).
|
text_comma_separated: Wielokrotne wartości dozwolone (rozdzielone przecinkami).
|
||||||
text_issues_ref_in_commit_messages: Zagadnienia odnoszące i ustalające we wrzutkach CVS
|
text_issues_ref_in_commit_messages: Odwołania do zagadnień w komentarzach zatwierdzeń
|
||||||
|
|
||||||
default_role_manager: Kierownik
|
default_role_manager: Kierownik
|
||||||
default_role_developper: Programista
|
default_role_developper: Programista
|
||||||
default_role_reporter: Wprowadzajacy
|
default_role_reporter: Wprowadzajacy
|
||||||
default_tracker_bug: Błąd
|
default_tracker_bug: Błąd
|
||||||
default_tracker_feature: Cecha
|
default_tracker_feature: Zadanie
|
||||||
default_tracker_support: Wsparcie
|
default_tracker_support: Wsparcie
|
||||||
default_issue_status_new: Nowy
|
default_issue_status_new: Nowy
|
||||||
default_issue_status_assigned: Przypisany
|
default_issue_status_assigned: Przypisany
|
||||||
@@ -483,7 +483,7 @@ default_priority_low: Niski
|
|||||||
default_priority_normal: Normalny
|
default_priority_normal: Normalny
|
||||||
default_priority_high: Wysoki
|
default_priority_high: Wysoki
|
||||||
default_priority_urgent: Pilny
|
default_priority_urgent: Pilny
|
||||||
default_priority_immediate: Natyczmiastowy
|
default_priority_immediate: Natychmiastowy
|
||||||
default_activity_design: Projektowanie
|
default_activity_design: Projektowanie
|
||||||
default_activity_development: Rozwój
|
default_activity_development: Rozwój
|
||||||
|
|
||||||
|
|||||||
+398
-398
@@ -1,140 +1,140 @@
|
|||||||
_gloc_rule_default: '|n| n==1 ? "" : "_plural" '
|
_gloc_rule_default: '|n| n==1 ? "" : "_plural" '
|
||||||
|
|
||||||
actionview_datehelper_select_day_prefix:
|
actionview_datehelper_select_day_prefix:
|
||||||
actionview_datehelper_select_month_names: Janeiro,Fevereiro,Marco,Abrill,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro
|
actionview_datehelper_select_month_names: Janeiro,Fevereiro,Março,Abrill,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro
|
||||||
actionview_datehelper_select_month_names_abbr: Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez
|
actionview_datehelper_select_month_names_abbr: Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez
|
||||||
actionview_datehelper_select_month_prefix:
|
actionview_datehelper_select_month_prefix:
|
||||||
actionview_datehelper_select_year_prefix:
|
actionview_datehelper_select_year_prefix:
|
||||||
actionview_datehelper_time_in_words_day: 1 dia
|
actionview_datehelper_time_in_words_day: 1 dia
|
||||||
actionview_datehelper_time_in_words_day_plural: %d dias
|
actionview_datehelper_time_in_words_day_plural: %d dias
|
||||||
actionview_datehelper_time_in_words_hour_about: sobre uma hora
|
actionview_datehelper_time_in_words_hour_about: aproximadamente uma hora
|
||||||
actionview_datehelper_time_in_words_hour_about_plural: sobra %d horas
|
actionview_datehelper_time_in_words_hour_about_plural: aproximadamente %d horas
|
||||||
actionview_datehelper_time_in_words_hour_about_single: sobre uma hora
|
actionview_datehelper_time_in_words_hour_about_single: aproximadamente uma hora
|
||||||
actionview_datehelper_time_in_words_minute: 1 minuto
|
actionview_datehelper_time_in_words_minute: 1 minuto
|
||||||
actionview_datehelper_time_in_words_minute_half: meio minuto
|
actionview_datehelper_time_in_words_minute_half: meio minuto
|
||||||
actionview_datehelper_time_in_words_minute_less_than: menos que um minuto
|
actionview_datehelper_time_in_words_minute_less_than: menos de um minuto
|
||||||
actionview_datehelper_time_in_words_minute_plural: %d minutos
|
actionview_datehelper_time_in_words_minute_plural: %d minutos
|
||||||
actionview_datehelper_time_in_words_minute_single: 1 minuto
|
actionview_datehelper_time_in_words_minute_single: 1 minuto
|
||||||
actionview_datehelper_time_in_words_second_less_than: menos que um segundo
|
actionview_datehelper_time_in_words_second_less_than: menos de um segundo
|
||||||
actionview_datehelper_time_in_words_second_less_than_plural: menos que %d segundos
|
actionview_datehelper_time_in_words_second_less_than_plural: menos de %d segundos
|
||||||
actionview_instancetag_blank_option: Selecione
|
actionview_instancetag_blank_option: Selecione
|
||||||
|
|
||||||
activerecord_error_inclusion: nao esta incluido na lista
|
activerecord_error_inclusion: não está incluso na lista
|
||||||
activerecord_error_exclusion: esta reservado
|
activerecord_error_exclusion: está reservado
|
||||||
activerecord_error_invalid: e invalido
|
activerecord_error_invalid: é inválido
|
||||||
activerecord_error_confirmation: confirmacao nao confere
|
activerecord_error_confirmation: confirmação não confere
|
||||||
activerecord_error_accepted: deve ser aceito
|
activerecord_error_accepted: deve ser aceito
|
||||||
activerecord_error_empty: nao pode ser vazio
|
activerecord_error_empty: não pode ser vazio
|
||||||
activerecord_error_blank: nao pode estar em branco
|
activerecord_error_blank: não pode estar em branco
|
||||||
activerecord_error_too_long: e muito longo
|
activerecord_error_too_long: é muito longo
|
||||||
activerecord_error_too_short: e muito comprido
|
activerecord_error_too_short: é muito curto
|
||||||
activerecord_error_wrong_length: esta com o comprimento errado
|
activerecord_error_wrong_length: esta com o tamanho errado
|
||||||
activerecord_error_taken: ja esta examinado
|
activerecord_error_taken: já foi obtido
|
||||||
activerecord_error_not_a_number: nao e um numero
|
activerecord_error_not_a_number: não é um numero
|
||||||
activerecord_error_not_a_date: nao e uma data valida
|
activerecord_error_not_a_date: não é uma data valida
|
||||||
activerecord_error_greater_than_start_date: deve ser maior que a data inicial
|
activerecord_error_greater_than_start_date: deve ser maior que a data inicial
|
||||||
activerecord_error_not_same_project: doesn't belong to the same project
|
activerecord_error_not_same_project: não pode pertencer ao mesmo projeto
|
||||||
activerecord_error_circular_dependency: This relation would create a circular dependency
|
activerecord_error_circular_dependency: Esta relação geraria uma dependência circular
|
||||||
|
|
||||||
general_fmt_age: %d yr
|
general_fmt_age: %d ano
|
||||||
general_fmt_age_plural: %d yrs
|
general_fmt_age_plural: %d anos
|
||||||
general_fmt_date: %%m/%%d/%%Y
|
general_fmt_date: %%d/%%m/%%Y
|
||||||
general_fmt_datetime: %%m/%%d/%%Y %%I:%%M %%p
|
general_fmt_datetime: %%d/%%m/%%Y %%I:%%M %%p
|
||||||
general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
|
general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
|
||||||
general_fmt_time: %%I:%%M %%p
|
general_fmt_time: %%I:%%M %%p
|
||||||
general_text_No: 'Nao'
|
general_text_No: 'Não'
|
||||||
general_text_Yes: 'Sim'
|
general_text_Yes: 'Sim'
|
||||||
general_text_no: 'nao'
|
general_text_no: 'não'
|
||||||
general_text_yes: 'sim'
|
general_text_yes: 'sim'
|
||||||
general_lang_name: 'Portugues Brasileiro'
|
general_lang_name: 'Português(Brasil)'
|
||||||
general_csv_separator: ','
|
general_csv_separator: ','
|
||||||
general_csv_encoding: ISO-8859-1
|
general_csv_encoding: ISO-8859-1
|
||||||
general_pdf_encoding: ISO-8859-1
|
general_pdf_encoding: ISO-8859-1
|
||||||
general_day_names: Segunda,Terca,Quarta,Quinta,Sexta,Sabado,Domingo
|
general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sabado,Domingo
|
||||||
general_first_day_of_week: '1'
|
general_first_day_of_week: '1'
|
||||||
|
|
||||||
notice_account_updated: Conta foi alterada com sucesso.
|
notice_account_updated: Conta foi alterada com sucesso.
|
||||||
notice_account_invalid_creditentials: Usuario ou senha invalido.
|
notice_account_invalid_creditentials: Usuário ou senha inválido.
|
||||||
notice_account_password_updated: Senha foi alterada com sucesso.
|
notice_account_password_updated: Senha alterada com sucesso.
|
||||||
notice_account_wrong_password: Senha errada.
|
notice_account_wrong_password: Senha inválida.
|
||||||
notice_account_register_done: Conta foi criada com sucesso.
|
notice_account_register_done: Conta criada com sucesso.
|
||||||
notice_account_unknown_email: Usuario desconhecido.
|
notice_account_unknown_email: Usuário desconhecido.
|
||||||
notice_can_t_change_password: Esta conta usa autenticacao externa. E impossivel trocar a senha.
|
notice_can_t_change_password: Esta conta usa autenticação externa. E impossível alterar a senha.
|
||||||
notice_account_lost_email_sent: Um email com instrucoes para escolher uma nova senha foi enviado para voce.
|
notice_account_lost_email_sent: Um email com instruções para escolher uma nova senha foi enviado para você.
|
||||||
notice_account_activated: Sua conta foi ativada. Voce pode logar agora
|
notice_account_activated: Sua conta foi ativada. Você pode acessá-la agora.
|
||||||
notice_successful_create: Criado com sucesso.
|
notice_successful_create: Criado com sucesso.
|
||||||
notice_successful_update: Alterado com sucesso.
|
notice_successful_update: Alterado com sucesso.
|
||||||
notice_successful_delete: Apagado com sucesso.
|
notice_successful_delete: Excluído com sucesso.
|
||||||
notice_successful_connection: Conectado com sucesso.
|
notice_successful_connection: Conectado com sucesso.
|
||||||
notice_file_not_found: A pagina que voce esta tentando acessar nao existe ou foi excluida.
|
notice_file_not_found: A página que você está tentando acessar não existe ou foi excluída.
|
||||||
notice_locking_conflict: Os dados foram atualizados por um outro usuario.
|
notice_locking_conflict: Os dados foram atualizados por outro usuário.
|
||||||
notice_not_authorized: You are not authorized to access this page.
|
notice_not_authorized: Você não está autorizado a acessar esta página.
|
||||||
notice_email_sent: An email was sent to %s
|
notice_email_sent: Um email foi enviado para %s
|
||||||
notice_email_error: An error occurred while sending mail (%s)
|
notice_email_error: Um erro ocorreu ao enviar o email (%s)
|
||||||
notice_feeds_access_key_reseted: Your RSS access key was reseted.
|
notice_feeds_access_key_reseted: Sua chave RSS foi reconfigurada.
|
||||||
|
|
||||||
error_scm_not_found: "A entrada e/ou a revisao nao existem no repositorio."
|
error_scm_not_found: "A entrada e/ou a revisão não existe no repositório."
|
||||||
error_scm_command_failed: "An error occurred when trying to access the repository: %s"
|
error_scm_command_failed: "Ocorreu um erro ao tentar acessar o repositório: %s"
|
||||||
|
|
||||||
mail_subject_lost_password: Sua senha do %s.
|
mail_subject_lost_password: Sua senha do %s.
|
||||||
mail_body_lost_password: 'Para mudar sua senha, clique no link abaixo:'
|
mail_body_lost_password: 'Para mudar sua senha, clique no link abaixo:'
|
||||||
mail_subject_register: Ativacao de conta do %s.
|
mail_subject_register: Ativação de conta do %s.
|
||||||
mail_body_register: 'Para ativar sua conta, clique no link abaixo:'
|
mail_body_register: 'Para ativar sua conta, clique no link abaixo:'
|
||||||
|
|
||||||
gui_validation_error: 1 erro
|
gui_validation_error: 1 erro
|
||||||
gui_validation_error_plural: %d erros
|
gui_validation_error_plural: %d erros
|
||||||
|
|
||||||
field_name: Nome
|
field_name: Nome
|
||||||
field_description: Descricao
|
field_description: Descrição
|
||||||
field_summary: Sumario
|
field_summary: Resumo
|
||||||
field_is_required: Obrigatorio
|
field_is_required: Obrigatório
|
||||||
field_firstname: Primeiro nome
|
field_firstname: Primeiro nome
|
||||||
field_lastname: Ultimo nome
|
field_lastname: Último nome
|
||||||
field_mail: Email
|
field_mail: Email
|
||||||
field_filename: Arquivo
|
field_filename: Arquivo
|
||||||
field_filesize: Tamanho
|
field_filesize: Tamanho
|
||||||
field_downloads: Downloads
|
field_downloads: Downloads
|
||||||
field_author: Autor
|
field_author: Autor
|
||||||
field_created_on: Criado
|
field_created_on: Criado em
|
||||||
field_updated_on: Alterado
|
field_updated_on: Alterado em
|
||||||
field_field_format: Formato
|
field_field_format: Formato
|
||||||
field_is_for_all: Para todos os projetos
|
field_is_for_all: Para todos os projetos
|
||||||
field_possible_values: Possiveis valores
|
field_possible_values: Possíveis valores
|
||||||
field_regexp: Expressao regular
|
field_regexp: Expressão regular
|
||||||
field_min_length: Tamanho minimo
|
field_min_length: Tamanho mínimo
|
||||||
field_max_length: Tamanho maximo
|
field_max_length: Tamanho máximo
|
||||||
field_value: Valor
|
field_value: Valor
|
||||||
field_category: Categoria
|
field_category: Categoria
|
||||||
field_title: Titulo
|
field_title: Título
|
||||||
field_project: Projeto
|
field_project: Projeto
|
||||||
field_issue: Tarefa
|
field_issue: Ticket
|
||||||
field_status: Status
|
field_status: Status
|
||||||
field_notes: Notas
|
field_notes: Notas
|
||||||
field_is_closed: Tarefa fechada
|
field_is_closed: Ticket fechado
|
||||||
field_is_default: Status padrao
|
field_is_default: Status padrão
|
||||||
field_tracker: Tipo
|
field_tracker: Tipo
|
||||||
field_subject: Titulo
|
field_subject: Título
|
||||||
field_due_date: Data devida
|
field_due_date: Data prevista
|
||||||
field_assigned_to: Atribuido para
|
field_assigned_to: Atribuído para
|
||||||
field_priority: Prioridade
|
field_priority: Prioridade
|
||||||
field_fixed_version: Target version
|
field_fixed_version: Versão
|
||||||
field_user: Usuario
|
field_user: Usuário
|
||||||
field_role: Regra
|
field_role: Papel
|
||||||
field_homepage: Pagina inicial
|
field_homepage: Página inicial
|
||||||
field_is_public: Publico
|
field_is_public: Público
|
||||||
field_parent: Sub-projeto de
|
field_parent: Sub-projeto de
|
||||||
field_is_in_chlog: Tarefas mostradas no changelog
|
field_is_in_chlog: Tarefas exibidas no registro de alterações
|
||||||
field_is_in_roadmap: Tarefas mostradas no roadmap
|
field_is_in_roadmap: Tarefas exibidas no planejamento
|
||||||
field_login: Login
|
field_login: Login
|
||||||
field_mail_notification: Notificacoes por email
|
field_mail_notification: Notificações por email
|
||||||
field_admin: Administrador
|
field_admin: Administrador
|
||||||
field_last_login_on: Ultima conexao
|
field_last_login_on: Última conexão
|
||||||
field_language: Lingua
|
field_language: Idioma
|
||||||
field_effective_date: Data
|
field_effective_date: Data
|
||||||
field_password: Senha
|
field_password: Senha
|
||||||
field_new_password: Nova senha
|
field_new_password: Nova senha
|
||||||
field_password_confirmation: Confirmacao
|
field_password_confirmation: Confirmação
|
||||||
field_version: Versao
|
field_version: Versão
|
||||||
field_type: Tipo
|
field_type: Tipo
|
||||||
field_host: Servidor
|
field_host: Servidor
|
||||||
field_port: Porta
|
field_port: Porta
|
||||||
@@ -142,116 +142,116 @@ field_account: Conta
|
|||||||
field_base_dn: Base DN
|
field_base_dn: Base DN
|
||||||
field_attr_login: Atributo login
|
field_attr_login: Atributo login
|
||||||
field_attr_firstname: Atributo primeiro nome
|
field_attr_firstname: Atributo primeiro nome
|
||||||
field_attr_lastname: Atributo ultimo nome
|
field_attr_lastname: Atributo último nome
|
||||||
field_attr_mail: Atributo email
|
field_attr_mail: Atributo email
|
||||||
field_onthefly: Criacao de usuario on-the-fly
|
field_onthefly: Criação automática de usuário
|
||||||
field_start_date: Inicio
|
field_start_date: Início
|
||||||
field_done_ratio: %% Terminado
|
field_done_ratio: %% Terminado
|
||||||
field_auth_source: Modo de autenticacao
|
field_auth_source: Modo de autenticação
|
||||||
field_hide_mail: Esconder meu email
|
field_hide_mail: Ocultar meu email
|
||||||
field_comments: Comentario
|
field_comments: Comentário
|
||||||
field_url: URL
|
field_url: URL
|
||||||
field_start_page: Pagina inicial
|
field_start_page: Página inicial
|
||||||
field_subproject: Sub-projeto
|
field_subproject: Sub-projeto
|
||||||
field_hours: Horas
|
field_hours: Horas
|
||||||
field_activity: Atividade
|
field_activity: Atividade
|
||||||
field_spent_on: Data
|
field_spent_on: Data
|
||||||
field_identifier: Identificador
|
field_identifier: Identificador
|
||||||
field_is_filter: Used as a filter
|
field_is_filter: É um filtro
|
||||||
field_issue_to_id: Related issue
|
field_issue_to_id: Ticket relacionado
|
||||||
field_delay: Delay
|
field_delay: Espera
|
||||||
field_assignable: Issues can be assigned to this role
|
field_assignable: Tickets podem ser atribuídos para este papel
|
||||||
field_redirect_existing_links: Redirect existing links
|
field_redirect_existing_links: Redirecionar links existentes
|
||||||
field_estimated_hours: Estimated time
|
field_estimated_hours: Tempo estimado
|
||||||
field_default_value: Padrao
|
field_default_value: Padrão
|
||||||
|
|
||||||
setting_app_title: Titulo da aplicacao
|
setting_app_title: Título da aplicação
|
||||||
setting_app_subtitle: Sub-titulo da aplicacao
|
setting_app_subtitle: Sub-título da aplicação
|
||||||
setting_welcome_text: Texto de boa-vinda
|
setting_welcome_text: Texto de boas-vindas
|
||||||
setting_default_language: Lingua padrao
|
setting_default_language: Idioma padrão
|
||||||
setting_login_required: Autenticacao obrigatoria
|
setting_login_required: Autenticação obrigatória
|
||||||
setting_self_registration: Registro de si mesmo permitido
|
setting_self_registration: Permitido Auto-registro
|
||||||
setting_attachment_max_size: Tamanho maximo do anexo
|
setting_attachment_max_size: Tamanho máximo do anexo
|
||||||
setting_issues_export_limit: Limite de exportacao das tarefas
|
setting_issues_export_limit: Limite de exportação das tarefas
|
||||||
setting_mail_from: Email enviado de
|
setting_mail_from: Email enviado de
|
||||||
setting_host_name: Servidor
|
setting_host_name: Servidor
|
||||||
setting_text_formatting: Formato do texto
|
setting_text_formatting: Formato do texto
|
||||||
setting_wiki_compression: Compactacao do historio do Wiki
|
setting_wiki_compression: Compactação de histórico do Wiki
|
||||||
setting_feeds_limit: Limite do Feed
|
setting_feeds_limit: Limite do Feed
|
||||||
setting_autofetch_changesets: Autofetch commits
|
setting_autofetch_changesets: Auto-obter commits
|
||||||
setting_sys_api_enabled: Ativa WS para gerenciamento do repositorio
|
setting_sys_api_enabled: Ativa WS para gerenciamento do repositório
|
||||||
setting_commit_ref_keywords: Referencing keywords
|
setting_commit_ref_keywords: Palavras de referência
|
||||||
setting_commit_fix_keywords: Fixing keywords
|
setting_commit_fix_keywords: Palavras de fechamento
|
||||||
setting_autologin: Autologin
|
setting_autologin: Auto-login
|
||||||
setting_date_format: Date format
|
setting_date_format: Formato da data
|
||||||
setting_cross_project_issue_relations: Allow cross-project issue relations
|
setting_cross_project_issue_relations: Permitir relacionar tickets entre projetos
|
||||||
|
|
||||||
label_user: Usuario
|
label_user: Usuário
|
||||||
label_user_plural: Usuarios
|
label_user_plural: Usuários
|
||||||
label_user_new: Novo usuario
|
label_user_new: Novo usuário
|
||||||
label_project: Projeto
|
label_project: Projeto
|
||||||
label_project_new: Novo projeto
|
label_project_new: Novo projeto
|
||||||
label_project_plural: Projetos
|
label_project_plural: Projetos
|
||||||
label_project_all: All Projects
|
label_project_all: Todos os projetos
|
||||||
label_project_latest: Ultimos projetos
|
label_project_latest: Últimos projetos
|
||||||
label_issue: Tarefa
|
label_issue: Ticket
|
||||||
label_issue_new: Nova tarefa
|
label_issue_new: Novo ticket
|
||||||
label_issue_plural: Tarefas
|
label_issue_plural: Tickets
|
||||||
label_issue_view_all: Ver todas as tarefas
|
label_issue_view_all: Ver todos os tickets
|
||||||
label_document: Documento
|
label_document: Documento
|
||||||
label_document_new: Novo documento
|
label_document_new: Novo documento
|
||||||
label_document_plural: Documentos
|
label_document_plural: Documentos
|
||||||
label_role: Regra
|
label_role: Papel
|
||||||
label_role_plural: Regras
|
label_role_plural: Papéis
|
||||||
label_role_new: Nova regra
|
label_role_new: Novo papel
|
||||||
label_role_and_permissions: Regras e permissoes
|
label_role_and_permissions: Papéis e permissões
|
||||||
label_member: Membro
|
label_member: Membro
|
||||||
label_member_new: Novo membro
|
label_member_new: Novo membro
|
||||||
label_member_plural: Membros
|
label_member_plural: Membros
|
||||||
label_tracker: Tipo
|
label_tracker: Tipo de ticket
|
||||||
label_tracker_plural: Tipos
|
label_tracker_plural: Tipos de ticket
|
||||||
label_tracker_new: Novo tipo
|
label_tracker_new: Novo tipo
|
||||||
label_workflow: Workflow
|
label_workflow: Workflow
|
||||||
label_issue_status: Status da tarefa
|
label_issue_status: Status do ticket
|
||||||
label_issue_status_plural: Status das tarefas
|
label_issue_status_plural: Status dos tickets
|
||||||
label_issue_status_new: Novo status
|
label_issue_status_new: Novo status
|
||||||
label_issue_category: Categoria de tarefa
|
label_issue_category: Categoria de ticket
|
||||||
label_issue_category_plural: Categorias de tarefa
|
label_issue_category_plural: Categorias de tickets
|
||||||
label_issue_category_new: Nova categoria
|
label_issue_category_new: Nova categoria
|
||||||
label_custom_field: Campo personalizado
|
label_custom_field: Campo personalizado
|
||||||
label_custom_field_plural: Campos personalizado
|
label_custom_field_plural: Campos personalizados
|
||||||
label_custom_field_new: Novo campo personalizado
|
label_custom_field_new: Novo campo personalizado
|
||||||
label_enumerations: Enumeracao
|
label_enumerations: 'Tipos & Categorias'
|
||||||
label_enumeration_new: Novo valor
|
label_enumeration_new: Novo
|
||||||
label_information: Informacao
|
label_information: Informação
|
||||||
label_information_plural: Informacoes
|
label_information_plural: Informações
|
||||||
label_please_login: Efetue login
|
label_please_login: Efetue o login
|
||||||
label_register: Registre-se
|
label_register: Registre-se
|
||||||
label_password_lost: Perdi a senha
|
label_password_lost: Perdi minha senha
|
||||||
label_home: Pagina inicial
|
label_home: Página inicial
|
||||||
label_my_page: Minha pagina
|
label_my_page: Minha página
|
||||||
label_my_account: Minha conta
|
label_my_account: Minha conta
|
||||||
label_my_projects: Meus projetos
|
label_my_projects: Meus projetos
|
||||||
label_administration: Administracao
|
label_administration: Administração
|
||||||
label_login: Login
|
label_login: Entrar
|
||||||
label_logout: Logout
|
label_logout: Sair
|
||||||
label_help: Ajuda
|
label_help: Ajuda
|
||||||
label_reported_issues: Tarefas reportadas
|
label_reported_issues: Tickets reportados
|
||||||
label_assigned_to_me_issues: Tarefas atribuidas a mim
|
label_assigned_to_me_issues: Meus tickets
|
||||||
label_last_login: Utima conexao
|
label_last_login: Última conexao
|
||||||
label_last_updates: Ultima alteracao
|
label_last_updates: Última alteração
|
||||||
label_last_updates_plural: %d Ultimas alteracoes
|
label_last_updates_plural: %d Últimas alterações
|
||||||
label_registered_on: Registrado em
|
label_registered_on: Registrado em
|
||||||
label_activity: Atividade
|
label_activity: Atividade
|
||||||
label_new: Novo
|
label_new: Novo
|
||||||
label_logged_as: Logado como
|
label_logged_as: "Acessando como:"
|
||||||
label_environment: Ambiente
|
label_environment: Ambiente
|
||||||
label_authentication: Autenticacao
|
label_authentication: Autenticação
|
||||||
label_auth_source: Modo de autenticacao
|
label_auth_source: Modo de autenticação
|
||||||
label_auth_source_new: Novo modo de autenticacao
|
label_auth_source_new: Novo modo de autenticação
|
||||||
label_auth_source_plural: Modos de autenticacao
|
label_auth_source_plural: Modos de autenticação
|
||||||
label_subproject_plural: Sub-projetos
|
label_subproject_plural: Sub-projetos
|
||||||
label_min_max_length: Tamanho min-max
|
label_min_max_length: Tamanho mín-máx
|
||||||
label_list: Lista
|
label_list: Lista
|
||||||
label_date: Data
|
label_date: Data
|
||||||
label_integer: Inteiro
|
label_integer: Inteiro
|
||||||
@@ -262,169 +262,169 @@ label_attribute: Atributo
|
|||||||
label_attribute_plural: Atributos
|
label_attribute_plural: Atributos
|
||||||
label_download: %d Download
|
label_download: %d Download
|
||||||
label_download_plural: %d Downloads
|
label_download_plural: %d Downloads
|
||||||
label_no_data: Sem dados para mostrar
|
label_no_data: Nenhuma informação disponível
|
||||||
label_change_status: Mudar status
|
label_change_status: Alterar status
|
||||||
label_history: Historico
|
label_history: Histórico
|
||||||
label_attachment: Arquivo
|
label_attachment: Arquivo
|
||||||
label_attachment_new: Novo arquivo
|
label_attachment_new: Novo arquivo
|
||||||
label_attachment_delete: Apagar arquivo
|
label_attachment_delete: Apagar arquivo
|
||||||
label_attachment_plural: Arquivos
|
label_attachment_plural: Arquivos
|
||||||
label_report: Relatorio
|
label_report: Relatório
|
||||||
label_report_plural: Relatorio
|
label_report_plural: Relatório
|
||||||
label_news: Noticias
|
label_news: Notícia
|
||||||
label_news_new: Adicionar noticias
|
label_news_new: Adicionar notícias
|
||||||
label_news_plural: Noticias
|
label_news_plural: Notícias
|
||||||
label_news_latest: Ultimas noticias
|
label_news_latest: Últimas notícias
|
||||||
label_news_view_all: Ver todas as noticias
|
label_news_view_all: Ver todas as notícias
|
||||||
label_change_log: Change log
|
label_change_log: Registro de alterações
|
||||||
label_settings: Ajustes
|
label_settings: Configurações
|
||||||
label_overview: Visao geral
|
label_overview: Visão geral
|
||||||
label_version: Versao
|
label_version: Versão
|
||||||
label_version_new: Nova versao
|
label_version_new: Nova versão
|
||||||
label_version_plural: Versoes
|
label_version_plural: Versões
|
||||||
label_confirmation: Confirmacao
|
label_confirmation: Confirmação
|
||||||
label_export_to: Exportar para
|
label_export_to: Exportar para
|
||||||
label_read: Ler...
|
label_read: Ler...
|
||||||
label_public_projects: Projetos publicos
|
label_public_projects: Projetos públicos
|
||||||
label_open_issues: Aberto
|
label_open_issues: Aberto
|
||||||
label_open_issues_plural: Abertos
|
label_open_issues_plural: Abertos
|
||||||
label_closed_issues: Fechado
|
label_closed_issues: Fechado
|
||||||
label_closed_issues_plural: Fechados
|
label_closed_issues_plural: Fechados
|
||||||
label_total: Total
|
label_total: Total
|
||||||
label_permissions: Permissoes
|
label_permissions: Permissões
|
||||||
label_current_status: Status atual
|
label_current_status: Status atual
|
||||||
label_new_statuses_allowed: Novo status permitido
|
label_new_statuses_allowed: Novo status permitido
|
||||||
label_all: todos
|
label_all: todos
|
||||||
label_none: nenhum
|
label_none: nenhum
|
||||||
label_next: Proximo
|
label_next: Próximo
|
||||||
label_previous: Anterior
|
label_previous: Anterior
|
||||||
label_used_by: Usado por
|
label_used_by: Usado por
|
||||||
label_details: Detalhes
|
label_details: Detalhes
|
||||||
label_add_note: Adicionar nota
|
label_add_note: Adicionar nota
|
||||||
label_per_page: Por pagina
|
label_per_page: Por página
|
||||||
label_calendar: Calendario
|
label_calendar: Calendário
|
||||||
label_months_from: Meses de
|
label_months_from: meses a partir de
|
||||||
label_gantt: Gantt
|
label_gantt: Gantt
|
||||||
label_internal: Interno
|
label_internal: Interno
|
||||||
label_last_changes: utlimas %d mudancas
|
label_last_changes: últimas %d alteraçoes
|
||||||
label_change_view_all: Mostrar todas as mudancas
|
label_change_view_all: Mostrar todas as alteraçoes
|
||||||
label_personalize_page: Personalizar esta pagina
|
label_personalize_page: Personalizar esta página
|
||||||
label_comment: Comentario
|
label_comment: Comentário
|
||||||
label_comment_plural: Comentarios
|
label_comment_plural: Comentários
|
||||||
label_comment_add: Adicionar comentario
|
label_comment_add: Adicionar comentário
|
||||||
label_comment_added: Comentario adicionado
|
label_comment_added: Comentário adicionado
|
||||||
label_comment_delete: Apagar comentario
|
label_comment_delete: Apagar comentário
|
||||||
label_query: Consulta personalizada
|
label_query: Consulta personalizada
|
||||||
label_query_plural: Consultas personalizadas
|
label_query_plural: Consultas personalizadas
|
||||||
label_query_new: Nova consulta
|
label_query_new: Nova consulta
|
||||||
label_filter_add: Adicionar filtro
|
label_filter_add: Adicionar filtro
|
||||||
label_filter_plural: Filtros
|
label_filter_plural: Filtros
|
||||||
label_equals: e
|
label_equals: é
|
||||||
label_not_equals: nao e
|
label_not_equals: não é
|
||||||
label_in_less_than: e maior que
|
label_in_less_than: é maior que
|
||||||
label_in_more_than: e menor que
|
label_in_more_than: é menor que
|
||||||
label_in: em
|
label_in: em
|
||||||
label_today: hoje
|
label_today: hoje
|
||||||
label_this_week: this week
|
label_this_week: esta semana
|
||||||
label_less_than_ago: faz menos de
|
label_less_than_ago: faz menos de
|
||||||
label_more_than_ago: faz mais de
|
label_more_than_ago: faz mais de
|
||||||
label_ago: dias atras
|
label_ago: dias atrás
|
||||||
label_contains: contem
|
label_contains: contém
|
||||||
label_not_contains: nao contem
|
label_not_contains: não contem
|
||||||
label_day_plural: dias
|
label_day_plural: dias
|
||||||
label_repository: Repository
|
label_repository: Repositório
|
||||||
label_browse: Browse
|
label_browse: Procurar
|
||||||
label_modification: %d change
|
label_modification: %d alteração
|
||||||
label_modification_plural: %d changes
|
label_modification_plural: %d alterações
|
||||||
label_revision: Revision
|
label_revision: Revisão
|
||||||
label_revision_plural: Revisions
|
label_revision_plural: Revisões
|
||||||
label_added: added
|
label_added: adicionado
|
||||||
label_modified: modified
|
label_modified: modificado
|
||||||
label_deleted: deleted
|
label_deleted: excluído
|
||||||
label_latest_revision: Latest revision
|
label_latest_revision: Última revisão
|
||||||
label_latest_revision_plural: Latest revisions
|
label_latest_revision_plural: Últimas revisões
|
||||||
label_view_revisions: View revisions
|
label_view_revisions: Visualizar revisões
|
||||||
label_max_size: Maximum size
|
label_max_size: Tamanho máximo
|
||||||
label_on: 'em'
|
label_on: 'em'
|
||||||
label_sort_highest: Mover para o inicio
|
label_sort_highest: Mover para o início
|
||||||
label_sort_higher: Mover para cima
|
label_sort_higher: Mover para cima
|
||||||
label_sort_lower: Mover para baixo
|
label_sort_lower: Mover para baixo
|
||||||
label_sort_lowest: Mover para o fim
|
label_sort_lowest: Mover para o fim
|
||||||
label_roadmap: Roadmap
|
label_roadmap: Planejamento
|
||||||
label_roadmap_due_in: Due in
|
label_roadmap_due_in: Previsão em
|
||||||
label_roadmap_overdue: %s late
|
label_roadmap_overdue: %s atrasado
|
||||||
label_roadmap_no_issues: Sem tarefas para essa versao
|
label_roadmap_no_issues: Sem tickets para esta versão
|
||||||
label_search: Busca
|
label_search: Busca
|
||||||
label_result_plural: Resultados
|
label_result_plural: Resultados
|
||||||
label_all_words: Todas as palavras
|
label_all_words: Todas as palavras
|
||||||
label_wiki: Wiki
|
label_wiki: Wiki
|
||||||
label_wiki_edit: Wiki edit
|
label_wiki_edit: Editar Wiki
|
||||||
label_wiki_edit_plural: Wiki edits
|
label_wiki_edit_plural: Edições Wiki
|
||||||
label_wiki_page: Wiki page
|
label_wiki_page: Página Wiki
|
||||||
label_wiki_page_plural: Wiki pages
|
label_wiki_page_plural: Páginas Wiki
|
||||||
label_index_by_title: Index by title
|
label_index_by_title: Índice por título
|
||||||
label_index_by_date: Index by date
|
label_index_by_date: Índice por data
|
||||||
label_current_version: Versao atual
|
label_current_version: Versão atual
|
||||||
label_preview: Previa
|
label_preview: Pré-visualizar
|
||||||
label_feed_plural: Feeds
|
label_feed_plural: Feeds
|
||||||
label_changes_details: Detalhes de todas as mudancas
|
label_changes_details: Detalhes de todas as alterações
|
||||||
label_issue_tracking: Tarefas
|
label_issue_tracking: Tickets
|
||||||
label_spent_time: Tempo gasto
|
label_spent_time: Tempo gasto
|
||||||
label_f_hour: %.2f hora
|
label_f_hour: %.2f hora
|
||||||
label_f_hour_plural: %.2f horas
|
label_f_hour_plural: %.2f horas
|
||||||
label_time_tracking: Tempo trabalhado
|
label_time_tracking: Tempo trabalhado
|
||||||
label_change_plural: Mudancas
|
label_change_plural: Mudanças
|
||||||
label_statistics: Estatisticas
|
label_statistics: Estatísticas
|
||||||
label_commits_per_month: Commits por mes
|
label_commits_per_month: Commits por mês
|
||||||
label_commits_per_author: Commits por autor
|
label_commits_per_author: Commits por autor
|
||||||
label_view_diff: Ver diferencas
|
label_view_diff: Ver diferenças
|
||||||
label_diff_inline: inline
|
label_diff_inline: inline
|
||||||
label_diff_side_by_side: side by side
|
label_diff_side_by_side: lado a lado
|
||||||
label_options: Opcoes
|
label_options: Opções
|
||||||
label_copy_workflow_from: Copiar workflow de
|
label_copy_workflow_from: Copiar workflow de
|
||||||
label_permissions_report: Relatorio de permissoes
|
label_permissions_report: Relatório de permissões
|
||||||
label_watched_issues: Watched issues
|
label_watched_issues: Tickes acompanhados
|
||||||
label_related_issues: Related issues
|
label_related_issues: Tickets relacionados
|
||||||
label_applied_status: Applied status
|
label_applied_status: Status aplicado
|
||||||
label_loading: Loading...
|
label_loading: Carregando...
|
||||||
label_relation_new: New relation
|
label_relation_new: Nova relação
|
||||||
label_relation_delete: Delete relation
|
label_relation_delete: Excluir relação
|
||||||
label_relates_to: related to
|
label_relates_to: relacionado a
|
||||||
label_duplicates: duplicates
|
label_duplicates: duplicado de
|
||||||
label_blocks: blocks
|
label_blocks: bloqueia
|
||||||
label_blocked_by: blocked by
|
label_blocked_by: bloqueado por
|
||||||
label_precedes: precedes
|
label_precedes: precede
|
||||||
label_follows: follows
|
label_follows: segue
|
||||||
label_end_to_start: end to start
|
label_end_to_start: fim para o início
|
||||||
label_end_to_end: end to end
|
label_end_to_end: fim para fim
|
||||||
label_start_to_start: start to start
|
label_start_to_start: início para início
|
||||||
label_start_to_end: start to end
|
label_start_to_end: início para fim
|
||||||
label_stay_logged_in: Stay logged in
|
label_stay_logged_in: Permanecer logado
|
||||||
label_disabled: disabled
|
label_disabled: desabilitado
|
||||||
label_show_completed_versions: Show completed versions
|
label_show_completed_versions: Exibir versões completas
|
||||||
label_me: me
|
label_me: eu
|
||||||
label_board: Forum
|
label_board: Fórum
|
||||||
label_board_new: New forum
|
label_board_new: Novo fórum
|
||||||
label_board_plural: Forums
|
label_board_plural: Fóruns
|
||||||
label_topic_plural: Topics
|
label_topic_plural: Tópicos
|
||||||
label_message_plural: Messages
|
label_message_plural: Mensagens
|
||||||
label_message_last: Last message
|
label_message_last: Última mensagem
|
||||||
label_message_new: New message
|
label_message_new: Nova mensagem
|
||||||
label_reply_plural: Replies
|
label_reply_plural: Respostas
|
||||||
label_send_information: Send account information to the user
|
label_send_information: Enviar informação de conta para o usuário
|
||||||
label_year: Year
|
label_year: Ano
|
||||||
label_month: Month
|
label_month: Mês
|
||||||
label_week: Week
|
label_week: Semana
|
||||||
label_date_from: From
|
label_date_from: De
|
||||||
label_date_to: To
|
label_date_to: Para
|
||||||
label_language_based: Language based
|
label_language_based: Com base no idioma
|
||||||
label_sort_by: Sort by %s
|
label_sort_by: Ordenar por %s
|
||||||
label_send_test_email: Send a test email
|
label_send_test_email: Enviar um email de teste
|
||||||
label_feeds_access_key_created_on: RSS access key created %s ago
|
label_feeds_access_key_created_on: chave de acesso RSS criada %s atrás
|
||||||
label_module_plural: Modules
|
label_module_plural: Módulos
|
||||||
label_added_time_by: Added by %s %s ago
|
label_added_time_by: Adicionado por %s %s atrás
|
||||||
label_updated_time: Updated %s ago
|
label_updated_time: Atualizado %s atrás
|
||||||
label_jump_to_a_project: Jump to a project...
|
label_jump_to_a_project: Ir para o projeto...
|
||||||
|
|
||||||
button_login: Login
|
button_login: Login
|
||||||
button_submit: Enviar
|
button_submit: Enviar
|
||||||
@@ -436,7 +436,7 @@ button_create: Criar
|
|||||||
button_test: Testar
|
button_test: Testar
|
||||||
button_edit: Editar
|
button_edit: Editar
|
||||||
button_add: Adicionar
|
button_add: Adicionar
|
||||||
button_change: Mudar
|
button_change: Alterar
|
||||||
button_apply: Aplicar
|
button_apply: Aplicar
|
||||||
button_clear: Limpar
|
button_clear: Limpar
|
||||||
button_lock: Bloquear
|
button_lock: Bloquear
|
||||||
@@ -450,59 +450,59 @@ button_cancel: Cancelar
|
|||||||
button_activate: Ativar
|
button_activate: Ativar
|
||||||
button_sort: Ordenar
|
button_sort: Ordenar
|
||||||
button_log_time: Tempo de trabalho
|
button_log_time: Tempo de trabalho
|
||||||
button_rollback: Voltar para esta versao
|
button_rollback: Voltar para esta versão
|
||||||
button_watch: Watch
|
button_watch: Acompanhar
|
||||||
button_unwatch: Unwatch
|
button_unwatch: Não Acompanhar
|
||||||
button_reply: Reply
|
button_reply: Responder
|
||||||
button_archive: Archive
|
button_archive: Arquivar
|
||||||
button_unarchive: Unarchive
|
button_unarchive: Desarquivar
|
||||||
button_reset: Reset
|
button_reset: Redefinir
|
||||||
button_rename: Rename
|
button_rename: Renomear
|
||||||
|
|
||||||
status_active: ativo
|
status_active: ativo
|
||||||
status_registered: registrado
|
status_registered: registrado
|
||||||
status_locked: bloqueado
|
status_locked: bloqueado
|
||||||
|
|
||||||
text_select_mail_notifications: Selecionar acoes para ser enviado uma notificacao por email
|
text_select_mail_notifications: Selecionar ações para ser enviado uma notificação por email
|
||||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
text_regexp_info: ex. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 siginifica sem restricao
|
text_min_max_length_info: 0 siginifica sem restrição
|
||||||
text_project_destroy_confirmation: Voce tem certeza que deseja deletar este projeto e todas os dados relacionados?
|
text_project_destroy_confirmation: Você tem certeza que deseja excluir este projeto e todos os dados relacionados?
|
||||||
text_workflow_edit: Selecione uma regra e um tipo de tarefa para editar o workflow
|
text_workflow_edit: Selecione uma regra e um tipo de tarefa para editar o workflow
|
||||||
text_are_you_sure: Voce tem certeza ?
|
text_are_you_sure: Você tem certeza?
|
||||||
text_journal_changed: alterado de %s para %s
|
text_journal_changed: alterado de %s para %s
|
||||||
text_journal_set_to: setar para %s
|
text_journal_set_to: setar para %s
|
||||||
text_journal_deleted: apagado
|
text_journal_deleted: apagado
|
||||||
text_tip_task_begin_day: tarefa comeca neste dia
|
text_tip_task_begin_day: tarefa inicia neste dia
|
||||||
text_tip_task_end_day: tarefa termina neste dia
|
text_tip_task_end_day: tarefa termina neste dia
|
||||||
text_tip_task_begin_end_day: tarefa comeca e termina neste dia
|
text_tip_task_begin_end_day: tarefa inicia e termina neste dia
|
||||||
text_project_identifier_info: 'Letras minusculas (a-z), numeros e tracos permitido.<br />Uma vez salvo, o identificador nao pode ser mudado.'
|
text_project_identifier_info: 'Letras minúsculas (a-z), números e traços permitidos.<br />Uma vez salvo, o identificador não pode ser alterado.'
|
||||||
text_caracters_maximum: %d maximo de caracteres
|
text_caracters_maximum: máximo %d caracteres
|
||||||
text_length_between: Tamanho entre %d e %d caracteres.
|
text_length_between: Tamanho entre %d e %d caracteres.
|
||||||
text_tracker_no_workflow: Sem workflow definido para este tipo.
|
text_tracker_no_workflow: Sem workflow definido para este tipo.
|
||||||
text_unallowed_characters: Unallowed characters
|
text_unallowed_characters: Caracteres não permitidos
|
||||||
text_comma_separated: Multiple values allowed (comma separated).
|
text_comma_separated: Múltiplos valores são permitidos (separados por vírgula).
|
||||||
text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
|
text_issues_ref_in_commit_messages: Referenciando e fixando tickets nas mensagens de commit
|
||||||
text_issue_added: Tarefa %s foi incluída (by %s).
|
text_issue_added: Tarefa %s foi incluída (por %s).
|
||||||
text_issue_updated: Tarefa %s foi alterada (by %s).
|
text_issue_updated: Tarefa %s foi alterada (por %s).
|
||||||
text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content ?
|
text_wiki_destroy_confirmation: Você tem certeza que deseja excluir este wiki e todo o seu conteúdo?
|
||||||
text_issue_category_destroy_question: Some issues (%d) are assigned to this category. What do you want to do ?
|
text_issue_category_destroy_question: Alguns tickets (%d) estão atribuídos a esta categoria. O que você deseja fazer?
|
||||||
text_issue_category_destroy_assignments: Remove category assignments
|
text_issue_category_destroy_assignments: Remover atribuições da categoria
|
||||||
text_issue_category_reassign_to: Reassing issues to this category
|
text_issue_category_reassign_to: Redefinir tickets para esta categoria
|
||||||
|
|
||||||
default_role_manager: Analista de Negocio ou Gerente de Projeto
|
default_role_manager: Gerente
|
||||||
default_role_developper: Desenvolvedor
|
default_role_developper: Desenvolvedor
|
||||||
default_role_reporter: Analista de Suporte
|
default_role_reporter: Informante
|
||||||
default_tracker_bug: Bug
|
default_tracker_bug: Problema
|
||||||
default_tracker_feature: Implementacao
|
default_tracker_feature: Implementação
|
||||||
default_tracker_support: Suporte
|
default_tracker_support: Suporte
|
||||||
default_issue_status_new: Novo
|
default_issue_status_new: Novo
|
||||||
default_issue_status_assigned: Atribuido
|
default_issue_status_assigned: Atribuído
|
||||||
default_issue_status_resolved: Resolvido
|
default_issue_status_resolved: Resolvido
|
||||||
default_issue_status_feedback: Feedback
|
default_issue_status_feedback: Feedback
|
||||||
default_issue_status_closed: Fechado
|
default_issue_status_closed: Fechado
|
||||||
default_issue_status_rejected: Rejeitado
|
default_issue_status_rejected: Rejeitado
|
||||||
default_doc_category_user: Documentacao do usuario
|
default_doc_category_user: Documentação do usuário
|
||||||
default_doc_category_tech: Documentacao do tecnica
|
default_doc_category_tech: Documentação técnica
|
||||||
default_priority_low: Baixo
|
default_priority_low: Baixo
|
||||||
default_priority_normal: Normal
|
default_priority_normal: Normal
|
||||||
default_priority_high: Alto
|
default_priority_high: Alto
|
||||||
@@ -514,107 +514,107 @@ default_activity_development: Desenvolvimento
|
|||||||
enumeration_issue_priorities: Prioridade das tarefas
|
enumeration_issue_priorities: Prioridade das tarefas
|
||||||
enumeration_doc_categories: Categorias de documento
|
enumeration_doc_categories: Categorias de documento
|
||||||
enumeration_activities: Atividades (time tracking)
|
enumeration_activities: Atividades (time tracking)
|
||||||
label_file_plural: Files
|
label_file_plural: Arquivos
|
||||||
label_changeset_plural: Changesets
|
label_changeset_plural: Changesets
|
||||||
field_column_names: Columns
|
field_column_names: Colunas
|
||||||
label_default_columns: Default columns
|
label_default_columns: Colunas padrão
|
||||||
setting_issue_list_default_columns: Default columns displayed on the issue list
|
setting_issue_list_default_columns: Colunas padrão visíveis na lista de tickets
|
||||||
setting_repositories_encodings: Repositories encodings
|
setting_repositories_encodings: Codificação dos repositórios
|
||||||
notice_no_issue_selected: "No issue is selected! Please, check the issues you want to edit."
|
notice_no_issue_selected: "Nenhum ticket está selecionado! Por favor, marque os tickets que você deseja alterar."
|
||||||
label_bulk_edit_selected_issues: Bulk edit selected issues
|
label_bulk_edit_selected_issues: Edição em massa dos tickets selecionados.
|
||||||
label_no_change_option: (No change)
|
label_no_change_option: (Sem alteração)
|
||||||
notice_failed_to_save_issues: "Failed to save %d issue(s) on %d selected: %s."
|
notice_failed_to_save_issues: "Problema ao salvar %d ticket(s) no %d selecionado: %s."
|
||||||
label_theme: Theme
|
label_theme: Tema
|
||||||
label_default: Default
|
label_default: Padrão
|
||||||
label_search_titles_only: Search titles only
|
label_search_titles_only: Pesquisar somente títulos
|
||||||
label_nobody: nobody
|
label_nobody: ninguém
|
||||||
button_change_password: Change password
|
button_change_password: Alterar senha
|
||||||
text_user_mail_option: "For unselected projects, you will only receive notifications about things you watch or you're involved in (eg. issues you're the author or assignee)."
|
text_user_mail_option: "Para projetos não selecionados, você somente receberá notificações sobre o que você acompanha ou está envolvido (ex. tickets que você é autor ou está atribuído)"
|
||||||
label_user_mail_option_selected: "For any event on the selected projects only..."
|
label_user_mail_option_selected: "Para qualquer evento somente no(s) projeto(s) selecionado(s)..."
|
||||||
label_user_mail_option_all: "For any event on all my projects"
|
label_user_mail_option_all: "Para qualquer evento em todos os meus projetos"
|
||||||
label_user_mail_option_none: "Only for things I watch or I'm involved in"
|
label_user_mail_option_none: "Somente eventos que eu acompanho ou estou envolvido"
|
||||||
setting_emails_footer: Emails footer
|
setting_emails_footer: Rodapé dos emails
|
||||||
label_float: Float
|
label_float: Flutuante
|
||||||
button_copy: Copy
|
button_copy: Copiar
|
||||||
mail_body_account_information_external: You can use your "%s" account to log in.
|
mail_body_account_information_external: Você pode usar sua conta "%s" para entrar.
|
||||||
mail_body_account_information: Your account information
|
mail_body_account_information: Informações de sua conta
|
||||||
setting_protocol: Protocol
|
setting_protocol: Protocolo
|
||||||
label_user_mail_no_self_notified: "I don't want to be notified of changes that I make myself"
|
label_user_mail_no_self_notified: "Eu não desejo ser notificado de minhas próprias modificações"
|
||||||
setting_time_format: Time format
|
setting_time_format: Formato de data
|
||||||
label_registration_activation_by_email: account activation by email
|
label_registration_activation_by_email: ativação de conta por email
|
||||||
mail_subject_account_activation_request: %s account activation request
|
mail_subject_account_activation_request: %s requisição de ativação de conta
|
||||||
mail_body_account_activation_request: 'A new user (%s) has registered. His account his pending your approval:'
|
mail_body_account_activation_request: 'Um novo usuário (%s) se registrou. A conta está aguardando sua aprovação:'
|
||||||
label_registration_automatic_activation: automatic account activation
|
label_registration_automatic_activation: ativação automática de conta
|
||||||
label_registration_manual_activation: manual account activation
|
label_registration_manual_activation: ativação manual de conta
|
||||||
notice_account_pending: "Your account was created and is now pending administrator approval."
|
notice_account_pending: "Sua conta foi criada e está aguardando aprovação do administrador."
|
||||||
field_time_zone: Time zone
|
field_time_zone: Fuso-horário
|
||||||
text_caracters_minimum: Must be at least %d characters long.
|
text_caracters_minimum: Precisa ter ao menos %d caracteres.
|
||||||
setting_bcc_recipients: Blind carbon copy recipients (bcc)
|
setting_bcc_recipients: Destinatários com cópia oculta (cco)
|
||||||
button_annotate: Annotate
|
button_annotate: Anotar
|
||||||
label_issues_by: Issues by %s
|
label_issues_by: Tickets por %s
|
||||||
field_searchable: Searchable
|
field_searchable: Pesquisável
|
||||||
label_display_per_page: 'Per page: %s'
|
label_display_per_page: 'Por página: %s'
|
||||||
setting_per_page_options: Objects per page options
|
setting_per_page_options: Opções de itens por página
|
||||||
label_age: Age
|
notice_default_data_loaded: Configuração padrão carregada com sucesso.
|
||||||
notice_default_data_loaded: Default configuration successfully loaded.
|
text_load_default_configuration: Carregar a configuração padrão
|
||||||
text_load_default_configuration: Load the default configuration
|
text_no_configuration_data: "Os Papéis, tipos de tickets, status de tickets e workflows não foram configurados ainda.\nÉ altamente recomendado carregar as configurações padrão. Você poderá modificar estas configurações assim que carregadas."
|
||||||
text_no_configuration_data: "Roles, trackers, issue statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
error_can_t_load_default_data: "Configuração padrão não pôde ser carregada: %s"
|
||||||
error_can_t_load_default_data: "Default configuration could not be loaded: %s"
|
button_update: Atualizar
|
||||||
button_update: Update
|
label_change_properties: Alterar propriedades
|
||||||
label_change_properties: Change properties
|
label_general: Geral
|
||||||
label_general: General
|
label_repository_plural: Repositórios
|
||||||
label_repository_plural: Repositories
|
label_associated_revisions: Revisões associadas
|
||||||
label_associated_revisions: Associated revisions
|
setting_user_format: Formato de visualização dos usuários
|
||||||
setting_user_format: Users display format
|
text_status_changed_by_changeset: Aplicado no changeset %s.
|
||||||
text_status_changed_by_changeset: Applied in changeset %s.
|
label_more: Mais
|
||||||
label_more: More
|
text_issues_destroy_confirmation: 'Você tem certeza que deseja excluir o(s) ticket(s) selecionado(s)?'
|
||||||
text_issues_destroy_confirmation: 'Are you sure you want to delete the selected issue(s) ?'
|
|
||||||
label_scm: SCM
|
label_scm: SCM
|
||||||
text_select_project_modules: 'Select modules to enable for this project:'
|
text_select_project_modules: 'Selecione módulos para habilitar para este projeto:'
|
||||||
label_issue_added: Issue added
|
label_issue_added: Ticket adicionado
|
||||||
label_issue_updated: Issue updated
|
label_issue_updated: Ticket atualizado
|
||||||
label_document_added: Document added
|
label_document_added: Documento adicionado
|
||||||
label_message_posted: Message added
|
label_message_posted: Mensagem enviada
|
||||||
label_file_added: File added
|
label_file_added: Arquivo adicionado
|
||||||
label_news_added: News added
|
label_news_added: Notícia adicionada
|
||||||
project_module_boards: Boards
|
project_module_boards: Fóruns
|
||||||
project_module_issue_tracking: Issue tracking
|
project_module_issue_tracking: Gerenciamento de Tickets
|
||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
project_module_files: Files
|
project_module_files: Arquivos
|
||||||
project_module_documents: Documents
|
project_module_documents: Documentos
|
||||||
project_module_repository: Repository
|
project_module_repository: Repositório
|
||||||
project_module_news: News
|
project_module_news: Notícias
|
||||||
project_module_time_tracking: Time tracking
|
project_module_time_tracking: Gerenciamento de tempo
|
||||||
text_file_repository_writable: File repository writable
|
text_file_repository_writable: Repositório de arquivos gravável
|
||||||
text_default_administrator_account_changed: Default administrator account changed
|
text_default_administrator_account_changed: Conta de administrador padrão modificada
|
||||||
text_rmagick_available: RMagick available (optional)
|
text_rmagick_available: RMagick disponível (opcional)
|
||||||
button_configure: Configure
|
button_configure: Configuração
|
||||||
label_plugins: Plugins
|
label_plugins: Plugins
|
||||||
label_ldap_authentication: LDAP authentication
|
label_ldap_authentication: autenticação LDAP
|
||||||
label_downloads_abbr: D/L
|
label_downloads_abbr: D/L
|
||||||
label_this_month: this month
|
label_this_month: este mês
|
||||||
label_last_n_days: last %d days
|
label_last_n_days: últimos %d dias
|
||||||
label_all_time: all time
|
label_all_time: todo o tempo
|
||||||
label_this_year: this year
|
label_this_year: este ano
|
||||||
label_date_range: Date range
|
label_date_range: Intervalo de datas
|
||||||
label_last_week: last week
|
label_last_week: última semana
|
||||||
label_yesterday: yesterday
|
label_yesterday: ontem
|
||||||
label_last_month: last month
|
label_last_month: último mês
|
||||||
label_add_another_file: Add another file
|
label_add_another_file: Adicionar outro arquivo
|
||||||
label_optional_description: Optional description
|
label_optional_description: Descrição opcional
|
||||||
text_destroy_time_entries_question: %.02f hours were reported on the issues you are about to delete. What do you want to do ?
|
text_destroy_time_entries_question: %.02f horas foram reportadas neste ticket que você está excluindo. O que você deseja fazer?
|
||||||
error_issue_not_found_in_project: 'The issue was not found or does not belong to this project'
|
error_issue_not_found_in_project: 'O ticket não foi encontrado ou não pertence a este projeto'
|
||||||
text_assign_time_entries_to_project: Assign reported hours to the project
|
text_assign_time_entries_to_project: Atribuir horas reportadas para o projeto
|
||||||
text_destroy_time_entries: Delete reported hours
|
text_destroy_time_entries: Excluir horas reportadas
|
||||||
text_reassign_time_entries: 'Reassign reported hours to this issue:'
|
text_reassign_time_entries: 'Redefinir horas reportadas para este ticket:'
|
||||||
setting_activity_days_default: Days displayed on project activity
|
setting_activity_days_default: Dias visualizados na atividade do projeto
|
||||||
label_chronological_order: In chronological order
|
label_chronological_order: Em ordem cronológica
|
||||||
field_comments_sorting: Display comments
|
field_comments_sorting: Visualizar comentários
|
||||||
label_reverse_chronological_order: In reverse chronological order
|
label_reverse_chronological_order: Em order cronológica reversa
|
||||||
label_preferences: Preferences
|
label_preferences: Preferências
|
||||||
setting_display_subprojects_issues: Display subprojects issues on main projects by default
|
setting_display_subprojects_issues: Visualizar tickets dos subprojetos nos projetos principais por padrão
|
||||||
label_overall_activity: Overall activity
|
label_overall_activity: Atividade geral
|
||||||
setting_default_projects_public: New projects are public by default
|
setting_default_projects_public: Novos projetos são públicos por padrão
|
||||||
error_scm_annotate: "The entry does not exist or can not be annotated."
|
error_scm_annotate: "Esta entrada não existe ou não pode ser anotada."
|
||||||
label_planning: Planning
|
label_planning: Planejamento
|
||||||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
text_subprojects_destroy_warning: 'Seu(s) subprojeto(s): %s também serão excluídos.'
|
||||||
|
label_age: Age
|
||||||
|
|||||||
+7
-2
@@ -332,7 +332,7 @@ label_internal: Внутренний
|
|||||||
label_last_changes: менее %d изменений
|
label_last_changes: менее %d изменений
|
||||||
label_change_view_all: Просмотреть все изменения
|
label_change_view_all: Просмотреть все изменения
|
||||||
label_personalize_page: Персонализировать данную страницу
|
label_personalize_page: Персонализировать данную страницу
|
||||||
label_comment: Комментировать
|
label_comment: комментарий
|
||||||
label_comment_plural: Комментарии
|
label_comment_plural: Комментарии
|
||||||
label_comment_add: Оставить комментарий
|
label_comment_add: Оставить комментарий
|
||||||
label_comment_added: Добавленный комментарий
|
label_comment_added: Добавленный комментарий
|
||||||
@@ -621,4 +621,9 @@ label_overall_activity: Сводная активность
|
|||||||
setting_default_projects_public: Новые проекты являются публичными
|
setting_default_projects_public: Новые проекты являются публичными
|
||||||
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
||||||
label_planning: Планирование
|
label_planning: Планирование
|
||||||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
text_subprojects_destroy_warning: 'Подпроекты: %s также будут удалены.'
|
||||||
|
label_and_its_subprojects: %s и все подпроекты
|
||||||
|
mail_body_reminder: "%d назначенных на вас задач на следующие %d дней:"
|
||||||
|
mail_subject_reminder: "%d назначенных на вас задач в ближайшие дни"
|
||||||
|
text_user_wrote: '%s написал:'
|
||||||
|
label_duplicated_by: duplicated by
|
||||||
|
|||||||
+623
@@ -0,0 +1,623 @@
|
|||||||
|
_gloc_rule_default: '|n| n==1 ? "" : "_plural" '
|
||||||
|
|
||||||
|
actionview_datehelper_select_day_prefix:
|
||||||
|
actionview_datehelper_select_month_names: มกราคม,กุมภาพันธ์,มีนาคม,เมษายน,พฤษภาคม,มิถุนายน,กรกฎาคม,สิงหาคม,กันยายน,ตุลาคม,พฤศจิกายน,ธันวาคม
|
||||||
|
actionview_datehelper_select_month_names_abbr: ม.ค.,ก.พ.,มี.ค.,เม.ย.,พ.ค.,มิ.ย.,ก.ค.,ส.ค.,ก.ย.,ต.ค.,พ.ย.,ธ.ค.
|
||||||
|
actionview_datehelper_select_month_prefix:
|
||||||
|
actionview_datehelper_select_year_prefix:
|
||||||
|
actionview_datehelper_time_in_words_day: 1 วัน
|
||||||
|
actionview_datehelper_time_in_words_day_plural: %d วัน
|
||||||
|
actionview_datehelper_time_in_words_hour_about: ประมาณ 1 ชั่วโมง
|
||||||
|
actionview_datehelper_time_in_words_hour_about_plural: ประมาณ %d ชั่วโมง
|
||||||
|
actionview_datehelper_time_in_words_hour_about_single: ประมาณ 1 ชั่วโมง
|
||||||
|
actionview_datehelper_time_in_words_minute: 1 นาที
|
||||||
|
actionview_datehelper_time_in_words_minute_half: ครึ่งนาที
|
||||||
|
actionview_datehelper_time_in_words_minute_less_than: ไม่ถึงนาที
|
||||||
|
actionview_datehelper_time_in_words_minute_plural: %d นาที
|
||||||
|
actionview_datehelper_time_in_words_minute_single: 1 นาที
|
||||||
|
actionview_datehelper_time_in_words_second_less_than: ไม่ถึงวินาที
|
||||||
|
actionview_datehelper_time_in_words_second_less_than_plural: ไม่ถึง %d วินาที
|
||||||
|
actionview_instancetag_blank_option: กรุณาเลือก
|
||||||
|
|
||||||
|
activerecord_error_inclusion: ไม่อยู่ในรายการ
|
||||||
|
activerecord_error_exclusion: ถูกสงวนไว้
|
||||||
|
activerecord_error_invalid: ไม่ถูกต้อง
|
||||||
|
activerecord_error_confirmation: พิมพ์ไม่เหมือนเดิม
|
||||||
|
activerecord_error_accepted: ต้องยอมรับ
|
||||||
|
activerecord_error_empty: ต้องเติม
|
||||||
|
activerecord_error_blank: ต้องเติม
|
||||||
|
activerecord_error_too_long: ยาวเกินไป
|
||||||
|
activerecord_error_too_short: สั้นเกินไป
|
||||||
|
activerecord_error_wrong_length: ความยาวไม่ถูกต้อง
|
||||||
|
activerecord_error_taken: ถูกใช้ไปแล้ว
|
||||||
|
activerecord_error_not_a_number: ไม่ใช่ตัวเลข
|
||||||
|
activerecord_error_not_a_date: ไม่ใช่วันที่ ที่ถูกต้อง
|
||||||
|
activerecord_error_greater_than_start_date: ต้องมากกว่าวันเริ่ม
|
||||||
|
activerecord_error_not_same_project: ไม่ได้อยู่ในโครงการเดียวกัน
|
||||||
|
activerecord_error_circular_dependency: ความสัมพันธ์อ้างอิงเป็นวงกลม
|
||||||
|
|
||||||
|
general_fmt_age: %d ปี
|
||||||
|
general_fmt_age_plural: %d ปี
|
||||||
|
general_fmt_date: %%d/%%B/%%Y
|
||||||
|
general_fmt_datetime: %%d/%%B/%%Y %%H:%%M
|
||||||
|
general_fmt_datetime_short: %%d %%b, %%H:%%M
|
||||||
|
general_fmt_time: %%H:%%M
|
||||||
|
general_text_No: 'ไม่'
|
||||||
|
general_text_Yes: 'ใช่'
|
||||||
|
general_text_no: 'ไม่'
|
||||||
|
general_text_yes: 'ใช่'
|
||||||
|
general_lang_name: 'Thai (ไทย)'
|
||||||
|
general_csv_separator: ','
|
||||||
|
general_csv_encoding: Windows-874
|
||||||
|
general_pdf_encoding: cp874
|
||||||
|
general_day_names: จันทร์,อังคาร,พุธ,พฤหัสบดี,ศุกร์,เสาร์,อาทิตย์
|
||||||
|
general_first_day_of_week: '1'
|
||||||
|
|
||||||
|
notice_account_updated: บัญชีได้ถูกปรับปรุงแล้ว.
|
||||||
|
notice_account_invalid_creditentials: ชื้ผู้ใช้หรือรหัสผ่านไม่ถูกต้อง
|
||||||
|
notice_account_password_updated: รหัสได้ถูกปรับปรุงแล้ว.
|
||||||
|
notice_account_wrong_password: รหัสผ่านไม่ถูกต้อง
|
||||||
|
notice_account_register_done: บัญชีถูกสร้างแล้ว. กรุณาเช็คเมล์ แล้วคลิ๊กที่ลิงค์ในอีเมล์เพื่อเปิดใช้บัญชี
|
||||||
|
notice_account_unknown_email: ไม่มีผู้ใช้ที่ใช้อีเมล์นี้.
|
||||||
|
notice_can_t_change_password: บัญชีนี้ใช้การยืนยันตัวตนจากแหล่งภายนอก. ไม่สามารถปลี่ยนรหัสผ่านได้.
|
||||||
|
notice_account_lost_email_sent: เราได้ส่งอีเมล์พร้อมวิธีการสร้างรหัีสผ่านใหม่ให้คุณแล้ว กรุณาเช็คเมล์.
|
||||||
|
notice_account_activated: บัญชีของคุณได้เปิดใช้แล้ว. ตอนนี้คุณสามารถเข้าสู่ระบบได้แล้ว.
|
||||||
|
notice_successful_create: สร้างเสร็จแล้ว.
|
||||||
|
notice_successful_update: ปรับปรุงเสร็จแล้ว.
|
||||||
|
notice_successful_delete: ลบเสร็จแล้ว.
|
||||||
|
notice_successful_connection: ติดต่อสำเร็จแล้ว.
|
||||||
|
notice_file_not_found: หน้าที่คุณต้องการดูไม่มีอยู่จริง หรือถูกลบไปแล้ว.
|
||||||
|
notice_locking_conflict: ข้อมูลถูกปรับปรุงโดยผู้ใช้คนอื่น.
|
||||||
|
notice_not_authorized: คุณไม่มีสิทธิเข้าถึงหน้านี้.
|
||||||
|
notice_email_sent: อีเมล์ได้ถูกส่งถึง %s
|
||||||
|
notice_email_error: เกิดความผิดพลาดขณะกำส่งอีเมล์ (%s)
|
||||||
|
notice_feeds_access_key_reseted: RSS access key ของคุณถูก reset แล้ว.
|
||||||
|
notice_failed_to_save_issues: "%d ปัญหาจาก %d ปัญหาที่ถูกเลือกไม่สามารถจัดเก็บ: %s."
|
||||||
|
notice_no_issue_selected: "ไม่มีปัญหาที่ถูกเลือก! กรุณาเลือกปัญหาที่คุณต้องการแก้ไข."
|
||||||
|
notice_account_pending: "บัญชีของคุณสร้างเสร็จแล้ว ขณะนี้รอการอนุมัติจากผู้บริหารจัดการ."
|
||||||
|
notice_default_data_loaded: ค่าเริ่มต้นโหลดเสร็จแล้ว.
|
||||||
|
|
||||||
|
error_can_t_load_default_data: "ค่าเริ่มต้นโหลดไม่สำเร็จ: %s"
|
||||||
|
error_scm_not_found: "ไม่พบรุ่นที่ต้องการในแหล่งเก็บต้นฉบับ."
|
||||||
|
error_scm_command_failed: "เกิดความผิดพลาดในการเข้าถึงแหล่งเก็บต้นฉบับ: %s"
|
||||||
|
error_scm_annotate: "entry ไม่มีอยู่จริง หรือไม่สามารถเขียนหมายเหตุประกอบ."
|
||||||
|
error_issue_not_found_in_project: 'ไม่พบปัญหานี้ หรือปัญหาไม่ได้อยู่ในโครงการนี้'
|
||||||
|
|
||||||
|
mail_subject_lost_password: รหัสผ่าน %s ของคุณ
|
||||||
|
mail_body_lost_password: 'คลิ๊กที่ลิงค์ต่อไปนี้เพื่อเปลี่ยนรหัสผ่าน:'
|
||||||
|
mail_subject_register: เปิดบัญชี %s ของคุณ
|
||||||
|
mail_body_register: 'คลิ๊กที่ลิงค์ต่อไปนี้เพื่อเปลี่ยนรหัสผ่าน:'
|
||||||
|
mail_body_account_information_external: คุณสามารถใช้บัญชี "%s" เพื่อเข้าสู่ระบบ.
|
||||||
|
mail_body_account_information: ข้อมูลบัญชีของคุณ
|
||||||
|
mail_subject_account_activation_request: กรุณาเปิดบัญชี %s
|
||||||
|
mail_body_account_activation_request: 'ผู้ใช้ใหม่ (%s) ได้ลงทะเบียน. บัญชีของเขากำลังรออนุมัติ:'
|
||||||
|
|
||||||
|
gui_validation_error: 1 ข้อผิดพลาด
|
||||||
|
gui_validation_error_plural: %d ข้อผิดพลาด
|
||||||
|
|
||||||
|
field_name: ชื่อ
|
||||||
|
field_description: รายละเอียด
|
||||||
|
field_summary: สรุปย่อ
|
||||||
|
field_is_required: ต้องใส่
|
||||||
|
field_firstname: ชื่อ
|
||||||
|
field_lastname: นามสกุล
|
||||||
|
field_mail: อีเมล์
|
||||||
|
field_filename: แฟ้ม
|
||||||
|
field_filesize: ขนาด
|
||||||
|
field_downloads: ดาวน์โหลด
|
||||||
|
field_author: ผู้แต่ง
|
||||||
|
field_created_on: สร้าง
|
||||||
|
field_updated_on: ปรับปรุง
|
||||||
|
field_field_format: รูปแบบ
|
||||||
|
field_is_for_all: สำหรับทุกโครงการ
|
||||||
|
field_possible_values: ค่าที่เป็นไปได้
|
||||||
|
field_regexp: Regular expression
|
||||||
|
field_min_length: สั้นสุด
|
||||||
|
field_max_length: ยาวสุด
|
||||||
|
field_value: ค่า
|
||||||
|
field_category: ประเภท
|
||||||
|
field_title: ชื่อเรื่อง
|
||||||
|
field_project: โครงการ
|
||||||
|
field_issue: ปัญหา
|
||||||
|
field_status: สถานะ
|
||||||
|
field_notes: บันทึก
|
||||||
|
field_is_closed: ปัญหาจบ
|
||||||
|
field_is_default: ค่าเริ่มต้น
|
||||||
|
field_tracker: การติดตาม
|
||||||
|
field_subject: เรื่อง
|
||||||
|
field_due_date: วันครบกำหนด
|
||||||
|
field_assigned_to: มอบหมายให้
|
||||||
|
field_priority: ความสำคัญ
|
||||||
|
field_fixed_version: รุ่น
|
||||||
|
field_user: ผู้ใช้
|
||||||
|
field_role: บทบาท
|
||||||
|
field_homepage: หน้าแรก
|
||||||
|
field_is_public: สาธารณะ
|
||||||
|
field_parent: โครงการย่อยของ
|
||||||
|
field_is_in_chlog: ปัญหาแสดงใน รายกาเปลี่ยนแปลง
|
||||||
|
field_is_in_roadmap: ปัญหาแสดงใน แผนงาน
|
||||||
|
field_login: ชื่อที่ใช้เข้าระบบ
|
||||||
|
field_mail_notification: การแจ้งเตือนทางอีเมล์
|
||||||
|
field_admin: ผู้บริหารจัดการ
|
||||||
|
field_last_login_on: เข้าระบบครั้งสุดท้าย
|
||||||
|
field_language: ภาษา
|
||||||
|
field_effective_date: วันที่
|
||||||
|
field_password: รหัสผ่าน
|
||||||
|
field_new_password: รหัสผ่านใหม่
|
||||||
|
field_password_confirmation: ยืนยันรหัสผ่าน
|
||||||
|
field_version: รุ่น
|
||||||
|
field_type: ชนิด
|
||||||
|
field_host: โฮสต์
|
||||||
|
field_port: พอร์ต
|
||||||
|
field_account: บัญชี
|
||||||
|
field_base_dn: Base DN
|
||||||
|
field_attr_login: เข้าระบบ attribute
|
||||||
|
field_attr_firstname: ชื่อ attribute
|
||||||
|
field_attr_lastname: นามสกุล attribute
|
||||||
|
field_attr_mail: อีเมล์ attribute
|
||||||
|
field_onthefly: สร้างผู้ใช้ทันที
|
||||||
|
field_start_date: เริ่ม
|
||||||
|
field_done_ratio: %% สำเร็จ
|
||||||
|
field_auth_source: วิธีการยืนยันตัวตน
|
||||||
|
field_hide_mail: ซ่อนอีเมล์ของฉัน
|
||||||
|
field_comments: ความเห็น
|
||||||
|
field_url: URL
|
||||||
|
field_start_page: หน้าเริ่มต้น
|
||||||
|
field_subproject: โครงการย่อย
|
||||||
|
field_hours: ชั่วโมง
|
||||||
|
field_activity: กิจกรรม
|
||||||
|
field_spent_on: วันที่
|
||||||
|
field_identifier: ชื่อเฉพาะ
|
||||||
|
field_is_filter: ใช้เป็นตัวกรอง
|
||||||
|
field_issue_to_id: ปัญหาที่เกี่ยวข้อง
|
||||||
|
field_delay: เลื่อน
|
||||||
|
field_assignable: ปัญหาสามารถมอบหมายให้คนที่ทำบทบาทนี้
|
||||||
|
field_redirect_existing_links: ย้ายจุดเชื่อมโยงนี้
|
||||||
|
field_estimated_hours: เวลาที่ใช้โดยประมาณ
|
||||||
|
field_column_names: สดมภ์
|
||||||
|
field_time_zone: ย่านเวลา
|
||||||
|
field_searchable: ค้นหาได้
|
||||||
|
field_default_value: ค่าเริ่มต้น
|
||||||
|
field_comments_sorting: แสดงความเห็น
|
||||||
|
|
||||||
|
setting_app_title: ชื่อโปรแกรม
|
||||||
|
setting_app_subtitle: ชื่อโปรแกรมรอง
|
||||||
|
setting_welcome_text: ข้อความต้อนรับ
|
||||||
|
setting_default_language: ภาษาเริ่มต้น
|
||||||
|
setting_login_required: ต้องป้อนผู้ใช้-รหัสผ่าน
|
||||||
|
setting_self_registration: ลงทะเบียนด้วยตนเอง
|
||||||
|
setting_attachment_max_size: ขนาดแฟ้มแนบสูงสุด
|
||||||
|
setting_issues_export_limit: การส่งออกปัญหาสูงสุด
|
||||||
|
setting_mail_from: อีเมล์ที่ใช้ส่ง
|
||||||
|
setting_bcc_recipients: ไม่ระบุชื่อผู้รับ (bcc)
|
||||||
|
setting_host_name: ชื่อโฮสต์
|
||||||
|
setting_text_formatting: การจัดรูปแบบข้อความ
|
||||||
|
setting_wiki_compression: บีบอัดประวัติ Wiki
|
||||||
|
setting_feeds_limit: จำนวน Feed
|
||||||
|
setting_default_projects_public: โครงการใหม่มีค่าเริ่มต้นเป็น สาธารณะ
|
||||||
|
setting_autofetch_changesets: ดึง commits อัตโนมัติ
|
||||||
|
setting_sys_api_enabled: เปิดใช้ WS สำหรับการจัดการที่เก็บต้นฉบับ
|
||||||
|
setting_commit_ref_keywords: คำสำคัญ Referencing
|
||||||
|
setting_commit_fix_keywords: คำสำคัญ Fixing
|
||||||
|
setting_autologin: เข้าระบบอัตโนมัติ
|
||||||
|
setting_date_format: รูปแบบวันที่
|
||||||
|
setting_time_format: รูปแบบเวลา
|
||||||
|
setting_cross_project_issue_relations: อนุญาตให้ระบุปัญหาข้ามโครงการ
|
||||||
|
setting_issue_list_default_columns: สดมภ์เริ่มต้นแสดงในรายการปัญหา
|
||||||
|
setting_repositories_encodings: การเข้ารหัสที่เก็บต้นฉบับ
|
||||||
|
setting_emails_footer: คำลงท้ายอีเมล์
|
||||||
|
setting_protocol: Protocol
|
||||||
|
setting_per_page_options: ตัวเลือกจำนวนต่อหน้า
|
||||||
|
setting_user_format: รูปแบบการแสดงชื่อผู้ใช้
|
||||||
|
setting_activity_days_default: จำนวนวันที่แสดงในกิจกรรมของโครงการ
|
||||||
|
setting_display_subprojects_issues: แสดงปัญหาของโครงการย่อยในโครงการหลัก
|
||||||
|
|
||||||
|
project_module_issue_tracking: การติดตามปัญหา
|
||||||
|
project_module_time_tracking: การใช้เวลา
|
||||||
|
project_module_news: ข่าว
|
||||||
|
project_module_documents: เอกสาร
|
||||||
|
project_module_files: แฟ้ม
|
||||||
|
project_module_wiki: Wiki
|
||||||
|
project_module_repository: ที่เก็บต้นฉบับ
|
||||||
|
project_module_boards: กระดานข้อความ
|
||||||
|
|
||||||
|
label_user: ผู้ใช้
|
||||||
|
label_user_plural: ผู้ใช้
|
||||||
|
label_user_new: ผู้ใช้ใหม่
|
||||||
|
label_project: โครงการ
|
||||||
|
label_project_new: โครงการใหม่
|
||||||
|
label_project_plural: โครงการ
|
||||||
|
label_project_all: โครงการทั้งหมด
|
||||||
|
label_project_latest: โครงการล่าสุด
|
||||||
|
label_issue: ปัญหา
|
||||||
|
label_issue_new: ปัญหาใหม่
|
||||||
|
label_issue_plural: ปัญหา
|
||||||
|
label_issue_view_all: ดูปัญหาทั้งหมด
|
||||||
|
label_issues_by: ปัญหาโดย %s
|
||||||
|
label_issue_added: ปัญหาถูกเพิ่ม
|
||||||
|
label_issue_updated: ปัญหาถูกปรับปรุง
|
||||||
|
label_document: เอกสาร
|
||||||
|
label_document_new: เอกสารใหม่
|
||||||
|
label_document_plural: เอกสาร
|
||||||
|
label_document_added: เอกสารถูกเพิ่ม
|
||||||
|
label_role: บทบาท
|
||||||
|
label_role_plural: บทบาท
|
||||||
|
label_role_new: บทบาทใหม่
|
||||||
|
label_role_and_permissions: บทบาทและสิทธิ
|
||||||
|
label_member: สมาชิก
|
||||||
|
label_member_new: สมาชิกใหม่
|
||||||
|
label_member_plural: สมาชิก
|
||||||
|
label_tracker: การติดตาม
|
||||||
|
label_tracker_plural: การติดตาม
|
||||||
|
label_tracker_new: การติดตามใหม่
|
||||||
|
label_workflow: ลำดับงาน
|
||||||
|
label_issue_status: สถานะของปัญหา
|
||||||
|
label_issue_status_plural: สถานะของปัญหา
|
||||||
|
label_issue_status_new: สถานะใหม
|
||||||
|
label_issue_category: ประเภทของปัญหา
|
||||||
|
label_issue_category_plural: ประเภทของปัญหา
|
||||||
|
label_issue_category_new: ประเภทใหม่
|
||||||
|
label_custom_field: เขตข้อมูลแบบระบุเอง
|
||||||
|
label_custom_field_plural: เขตข้อมูลแบบระบุเอง
|
||||||
|
label_custom_field_new: สร้างเขตข้อมูลแบบระบุเอง
|
||||||
|
label_enumerations: รายการ
|
||||||
|
label_enumeration_new: สร้างใหม่
|
||||||
|
label_information: ข้อมูล
|
||||||
|
label_information_plural: ข้อมูล
|
||||||
|
label_please_login: กรุณาเข้าระบบก่อน
|
||||||
|
label_register: ลงทะเบียน
|
||||||
|
label_password_lost: ลืมรหัสผ่าน
|
||||||
|
label_home: หน้าแรก
|
||||||
|
label_my_page: หน้าของฉัน
|
||||||
|
label_my_account: บัญชีของฉัน
|
||||||
|
label_my_projects: โครงการของฉัน
|
||||||
|
label_administration: บริหารจัดการ
|
||||||
|
label_login: เข้าระบบ
|
||||||
|
label_logout: ออกระบบ
|
||||||
|
label_help: ช่วยเหลือ
|
||||||
|
label_reported_issues: ปัญหาที่แจ้งไว้
|
||||||
|
label_assigned_to_me_issues: ปัญหาที่มอบหมายให้ฉัน
|
||||||
|
label_last_login: ติดต่อครั้งสุดท้าย
|
||||||
|
label_last_updates: ปรับปรุงครั้งสุดท้าย
|
||||||
|
label_last_updates_plural: %d ปรับปรุงครั้งสุดท้าย
|
||||||
|
label_registered_on: ลงทะเบียนเมื่อ
|
||||||
|
label_activity: กิจกรรม
|
||||||
|
label_activity_plural: กิจกรรม
|
||||||
|
label_activity_latest: กิจกรรมล่าสุด
|
||||||
|
label_overall_activity: กิจกรรมโดยรวม
|
||||||
|
label_new: ใหม่
|
||||||
|
label_logged_as: เข้าระบบในชื่อ
|
||||||
|
label_environment: สภาพแวดล้อม
|
||||||
|
label_authentication: การยืนยันตัวตน
|
||||||
|
label_auth_source: วิธีการการยืนยันตัวตน
|
||||||
|
label_auth_source_new: สร้างวิธีการยืนยันตัวตนใหม่
|
||||||
|
label_auth_source_plural: วิธีการ Authentication
|
||||||
|
label_subproject_plural: โครงการย่อย
|
||||||
|
label_min_max_length: สั้น-ยาว สุดที่
|
||||||
|
label_list: รายการ
|
||||||
|
label_date: วันที่
|
||||||
|
label_integer: จำนวนเต็ม
|
||||||
|
label_float: จำนวนจริง
|
||||||
|
label_boolean: ถูกผิด
|
||||||
|
label_string: ข้อความ
|
||||||
|
label_text: ข้อความขนาดยาว
|
||||||
|
label_attribute: คุณลักษณะ
|
||||||
|
label_attribute_plural: คุณลักษณะ
|
||||||
|
label_download: %d ดาวน์โหลด
|
||||||
|
label_download_plural: %d ดาวน์โหลด
|
||||||
|
label_no_data: จำนวนข้อมูลที่แสดง
|
||||||
|
label_change_status: เปลี่ยนสถานะ
|
||||||
|
label_history: ประวัติ
|
||||||
|
label_attachment: แฟ้ม
|
||||||
|
label_attachment_new: แฟ้มใหม่
|
||||||
|
label_attachment_delete: ลบแฟ้ม
|
||||||
|
label_attachment_plural: แฟ้ม
|
||||||
|
label_file_added: แฟ้มถูกเพิ่ม
|
||||||
|
label_report: รายงาน
|
||||||
|
label_report_plural: รายงาน
|
||||||
|
label_news: ข่าว
|
||||||
|
label_news_new: เพิ่มข่าว
|
||||||
|
label_news_plural: ข่าว
|
||||||
|
label_news_latest: ข่าวล่าสุด
|
||||||
|
label_news_view_all: ดูข่าวทั้งหมด
|
||||||
|
label_news_added: ข่าวถูกเพิ่ม
|
||||||
|
label_change_log: บันทึกการเปลี่ยนแปลง
|
||||||
|
label_settings: ปรับแต่ง
|
||||||
|
label_overview: ภาพรวม
|
||||||
|
label_version: รุ่น
|
||||||
|
label_version_new: รุ่นใหม่
|
||||||
|
label_version_plural: รุ่น
|
||||||
|
label_confirmation: ยืนยัน
|
||||||
|
label_export_to: 'รูปแบบอื่นๆ :'
|
||||||
|
label_read: อ่าน...
|
||||||
|
label_public_projects: โครงการสาธารณะ
|
||||||
|
label_open_issues: เปิด
|
||||||
|
label_open_issues_plural: เปิด
|
||||||
|
label_closed_issues: ปิด
|
||||||
|
label_closed_issues_plural: ปิด
|
||||||
|
label_total: จำนวนรวม
|
||||||
|
label_permissions: สิทธิ
|
||||||
|
label_current_status: สถานะปัจจุบัน
|
||||||
|
label_new_statuses_allowed: อนุญาตให้มีสถานะใหม่
|
||||||
|
label_all: ทั้งหมด
|
||||||
|
label_none: ไม่มี
|
||||||
|
label_nobody: ไม่มีใคร
|
||||||
|
label_next: ต่อไป
|
||||||
|
label_previous: ก่อนหน้า
|
||||||
|
label_used_by: ถูกใช้โดย
|
||||||
|
label_details: รายละเอียด
|
||||||
|
label_add_note: เพิ่มบันทึก
|
||||||
|
label_per_page: ต่อหน้า
|
||||||
|
label_calendar: ปฏิทิน
|
||||||
|
label_months_from: เดือนจาก
|
||||||
|
label_gantt: Gantt
|
||||||
|
label_internal: ภายใน
|
||||||
|
label_last_changes: last %d เปลี่ยนแปลง
|
||||||
|
label_change_view_all: ดูการเปลี่ยนแปลงทั้งหมด
|
||||||
|
label_personalize_page: ปรับแต่งหน้านี้
|
||||||
|
label_comment: ความเห็น
|
||||||
|
label_comment_plural: ความเห็น
|
||||||
|
label_comment_add: เพิ่มความเห็น
|
||||||
|
label_comment_added: ความเห็นถูกเพิ่ม
|
||||||
|
label_comment_delete: ลบความเห็น
|
||||||
|
label_query: แบบสอบถามแบบกำหนดเอง
|
||||||
|
label_query_plural: แบบสอบถามแบบกำหนดเอง
|
||||||
|
label_query_new: แบบสอบถามใหม่
|
||||||
|
label_filter_add: เพิ่มตัวกรอง
|
||||||
|
label_filter_plural: ตัวกรอง
|
||||||
|
label_equals: คือ
|
||||||
|
label_not_equals: ไม่ใช่
|
||||||
|
label_in_less_than: น้อยกว่า
|
||||||
|
label_in_more_than: มากกว่า
|
||||||
|
label_in: ในช่วง
|
||||||
|
label_today: วันนี้
|
||||||
|
label_all_time: ตลอดเวลา
|
||||||
|
label_yesterday: เมื่อวาน
|
||||||
|
label_this_week: อาทิตย์นี้
|
||||||
|
label_last_week: อาทิตย์ที่แล้ว
|
||||||
|
label_last_n_days: %d วันย้อนหลัง
|
||||||
|
label_this_month: เดือนนี้
|
||||||
|
label_last_month: เดือนที่แล้ว
|
||||||
|
label_this_year: ปีนี้
|
||||||
|
label_date_range: ช่วงวันที่
|
||||||
|
label_less_than_ago: น้อยกว่าหนึ่งวัน
|
||||||
|
label_more_than_ago: มากกว่าหนึ่งวัน
|
||||||
|
label_ago: วันผ่านมาแล้ว
|
||||||
|
label_contains: มี...
|
||||||
|
label_not_contains: ไม่มี...
|
||||||
|
label_day_plural: วัน
|
||||||
|
label_repository: ที่เก็บต้นฉบับ
|
||||||
|
label_repository_plural: ที่เก็บต้นฉบับ
|
||||||
|
label_browse: เปิดหา
|
||||||
|
label_modification: %d เปลี่ยนแปลง
|
||||||
|
label_modification_plural: %d เปลี่ยนแปลง
|
||||||
|
label_revision: การแก้ไข
|
||||||
|
label_revision_plural: การแก้ไข
|
||||||
|
label_associated_revisions: การแก้ไขที่เกี่ยวข้อง
|
||||||
|
label_added: ถูกเพิ่ม
|
||||||
|
label_modified: ถูกแก้ไข
|
||||||
|
label_deleted: ถูกลบ
|
||||||
|
label_latest_revision: รุ่นการแก้ไขล่าสุด
|
||||||
|
label_latest_revision_plural: รุ่นการแก้ไขล่าสุด
|
||||||
|
label_view_revisions: ดูการแก้ไข
|
||||||
|
label_max_size: ขนาดใหญ่สุด
|
||||||
|
label_on: 'ใน'
|
||||||
|
label_sort_highest: ย้ายไปบนสุด
|
||||||
|
label_sort_higher: ย้ายขึ้น
|
||||||
|
label_sort_lower: ย้ายลง
|
||||||
|
label_sort_lowest: ย้ายไปล่างสุด
|
||||||
|
label_roadmap: แผนงาน
|
||||||
|
label_roadmap_due_in: ถึงกำหนดใน
|
||||||
|
label_roadmap_overdue: %s ช้ากว่ากำหนด
|
||||||
|
label_roadmap_no_issues: ไม่มีปัญหาสำหรับรุ่นนี้
|
||||||
|
label_search: ค้นหา
|
||||||
|
label_result_plural: ผลการค้นหา
|
||||||
|
label_all_words: ทุกคำ
|
||||||
|
label_wiki: Wiki
|
||||||
|
label_wiki_edit: แก้ไข Wiki
|
||||||
|
label_wiki_edit_plural: แก้ไข Wiki
|
||||||
|
label_wiki_page: หน้า Wiki
|
||||||
|
label_wiki_page_plural: หน้า Wiki
|
||||||
|
label_index_by_title: เรียงตามชื่อเรื่อง
|
||||||
|
label_index_by_date: เรียงตามวัน
|
||||||
|
label_current_version: รุ่นปัจจุบัน
|
||||||
|
label_preview: ตัวอย่างก่อนจัดเก็บ
|
||||||
|
label_feed_plural: Feeds
|
||||||
|
label_changes_details: รายละเอียดการเปลี่ยนแปลงทั้งหมด
|
||||||
|
label_issue_tracking: ติดตามปัญหา
|
||||||
|
label_spent_time: เวลาที่ใช้
|
||||||
|
label_f_hour: %.2f ชั่วโมง
|
||||||
|
label_f_hour_plural: %.2f ชั่วโมง
|
||||||
|
label_time_tracking: ติดตามการใช้เวลา
|
||||||
|
label_change_plural: เปลี่ยนแปลง
|
||||||
|
label_statistics: สถิติ
|
||||||
|
label_commits_per_month: Commits ต่อเดือน
|
||||||
|
label_commits_per_author: Commits ต่อผู้แต่ง
|
||||||
|
label_view_diff: ดูความแตกต่าง
|
||||||
|
label_diff_inline: inline
|
||||||
|
label_diff_side_by_side: side by side
|
||||||
|
label_options: ตัวเลือก
|
||||||
|
label_copy_workflow_from: คัดลอกลำดับงานจาก
|
||||||
|
label_permissions_report: รายงานสิทธิ
|
||||||
|
label_watched_issues: เฝ้าดูปัญหา
|
||||||
|
label_related_issues: ปัญหาที่เกี่ยวข้อง
|
||||||
|
label_applied_status: จัดเก็บสถานะ
|
||||||
|
label_loading: กำลังโหลด...
|
||||||
|
label_relation_new: ความสัมพันธ์ใหม่
|
||||||
|
label_relation_delete: ลบความสัมพันธ์
|
||||||
|
label_relates_to: สัมพันธ์กับ
|
||||||
|
label_duplicates: ซ้ำ
|
||||||
|
label_blocks: กีดกัน
|
||||||
|
label_blocked_by: กีดกันโดย
|
||||||
|
label_precedes: นำหน้า
|
||||||
|
label_follows: ตามหลัง
|
||||||
|
label_end_to_start: จบ-เริ่ม
|
||||||
|
label_end_to_end: จบ-จบ
|
||||||
|
label_start_to_start: เริ่ม-เริ่ม
|
||||||
|
label_start_to_end: เริ่ม-จบ
|
||||||
|
label_stay_logged_in: อยู่ในระบบต่อ
|
||||||
|
label_disabled: ไม่ใช้งาน
|
||||||
|
label_show_completed_versions: แสดงรุ่นที่สมบูรณ์
|
||||||
|
label_me: ฉัน
|
||||||
|
label_board: สภากาแฟ
|
||||||
|
label_board_new: สร้างสภากาแฟ
|
||||||
|
label_board_plural: สภากาแฟ
|
||||||
|
label_topic_plural: หัวข้อ
|
||||||
|
label_message_plural: ข้อความ
|
||||||
|
label_message_last: ข้อความล่าสุด
|
||||||
|
label_message_new: เขียนข้อความใหม่
|
||||||
|
label_message_posted: ข้อความถูกเพิ่มแล้ว
|
||||||
|
label_reply_plural: ตอบกลับ
|
||||||
|
label_send_information: ส่งรายละเอียดของบัญชีให้ผู้ใช้
|
||||||
|
label_year: ปี
|
||||||
|
label_month: เดือน
|
||||||
|
label_week: สัปดาห์
|
||||||
|
label_date_from: จาก
|
||||||
|
label_date_to: ถึง
|
||||||
|
label_language_based: ขึ้นอยู่กับภาษาของผู้ใช้
|
||||||
|
label_sort_by: เรียงโดย %s
|
||||||
|
label_send_test_email: ส่งจดหมายทดสอบ
|
||||||
|
label_feeds_access_key_created_on: RSS access key สร้างเมื่อ %s ที่ผ่านมา
|
||||||
|
label_module_plural: ส่วนประกอบ
|
||||||
|
label_added_time_by: เพิ่มโดย %s %s ที่ผ่านมา
|
||||||
|
label_updated_time: ปรับปรุง %s ที่ผ่านมา
|
||||||
|
label_jump_to_a_project: ไปที่โครงการ...
|
||||||
|
label_file_plural: แฟ้ม
|
||||||
|
label_changeset_plural: กลุ่มการเปลี่ยนแปลง
|
||||||
|
label_default_columns: สดมภ์เริ่มต้น
|
||||||
|
label_no_change_option: (ไม่เปลี่ยนแปลง)
|
||||||
|
label_bulk_edit_selected_issues: แก้ไขปัญหาที่เลือกทั้งหมด
|
||||||
|
label_theme: ชุดรูปแบบ
|
||||||
|
label_default: ค่าเริ่มต้น
|
||||||
|
label_search_titles_only: ค้นหาจากชื่อเรื่องเท่านั้น
|
||||||
|
label_user_mail_option_all: "ทุกๆ เหตุการณ์ในโครงการของฉัน"
|
||||||
|
label_user_mail_option_selected: "ทุกๆ เหตุการณ์ในโครงการที่เลือก..."
|
||||||
|
label_user_mail_option_none: "เฉพาะสิ่งที่ฉันเลือกหรือมีส่วนเกี่ยวข้อง"
|
||||||
|
label_user_mail_no_self_notified: "ฉันไม่ต้องการได้รับการแจ้งเตือนในสิ่งที่ฉันทำเอง"
|
||||||
|
label_registration_activation_by_email: เปิดบัญชีผ่านอีเมล์
|
||||||
|
label_registration_manual_activation: อนุมัติโดยผู้บริหารจัดการ
|
||||||
|
label_registration_automatic_activation: เปิดบัญชีอัตโนมัติ
|
||||||
|
label_display_per_page: 'ต่อหน้า: %s'
|
||||||
|
label_age: อายุ
|
||||||
|
label_change_properties: เปลี่ยนคุณสมบัติ
|
||||||
|
label_general: ทั่วๆ ไป
|
||||||
|
label_more: อื่น ๆ
|
||||||
|
label_scm: ตัวจัดการต้นฉบับ
|
||||||
|
label_plugins: ส่วนเสริม
|
||||||
|
label_ldap_authentication: การยืนยันตัวตนโดยใช้ LDAP
|
||||||
|
label_downloads_abbr: D/L
|
||||||
|
label_optional_description: รายละเอียดเพิ่มเติม
|
||||||
|
label_add_another_file: เพิ่มแฟ้มอื่นๆ
|
||||||
|
label_preferences: ค่าที่ชอบใจ
|
||||||
|
label_chronological_order: เรียงจากเก่าไปใหม่
|
||||||
|
label_reverse_chronological_order: เรียงจากใหม่ไปเก่า
|
||||||
|
label_planning: การวางแผน
|
||||||
|
|
||||||
|
button_login: เข้าระบบ
|
||||||
|
button_submit: จัดส่งข้อมูล
|
||||||
|
button_save: จัดเก็บ
|
||||||
|
button_check_all: เลือกทั้งหมด
|
||||||
|
button_uncheck_all: ไม่เลือกทั้งหมด
|
||||||
|
button_delete: ลบ
|
||||||
|
button_create: สร้าง
|
||||||
|
button_test: ทดสอบ
|
||||||
|
button_edit: แก้ไข
|
||||||
|
button_add: เพิ่ม
|
||||||
|
button_change: เปลี่ยนแปลง
|
||||||
|
button_apply: ประยุกต์ใช้
|
||||||
|
button_clear: ล้างข้อความ
|
||||||
|
button_lock: ล็อค
|
||||||
|
button_unlock: ยกเลิกการล็อค
|
||||||
|
button_download: ดาวน์โหลด
|
||||||
|
button_list: รายการ
|
||||||
|
button_view: มุมมอง
|
||||||
|
button_move: ย้าย
|
||||||
|
button_back: กลับ
|
||||||
|
button_cancel: ยกเลิก
|
||||||
|
button_activate: เปิดใช้
|
||||||
|
button_sort: จัดเรียง
|
||||||
|
button_log_time: บันทึกเวลา
|
||||||
|
button_rollback: ถอยกลับมาที่รุ่นนี้
|
||||||
|
button_watch: เฝ้าดู
|
||||||
|
button_unwatch: เลิกเฝ้าดู
|
||||||
|
button_reply: ตอบกลับ
|
||||||
|
button_archive: เก็บเข้าโกดัง
|
||||||
|
button_unarchive: เอาออกจากโกดัง
|
||||||
|
button_reset: เริ่มใหมท
|
||||||
|
button_rename: เปลี่ยนชื่อ
|
||||||
|
button_change_password: เปลี่ยนรหัสผ่าน
|
||||||
|
button_copy: คัดลอก
|
||||||
|
button_annotate: หมายเหตุประกอบ
|
||||||
|
button_update: ปรับปรุง
|
||||||
|
button_configure: ปรับแต่ง
|
||||||
|
|
||||||
|
status_active: เปิดใช้งานแล้ว
|
||||||
|
status_registered: รอการอนุมัติ
|
||||||
|
status_locked: ล็อค
|
||||||
|
|
||||||
|
text_select_mail_notifications: เลือกการกระทำที่ต้องการให้ส่งอีเมล์แจ้ง.
|
||||||
|
text_regexp_info: ตัวอย่าง ^[A-Z0-9]+$
|
||||||
|
text_min_max_length_info: 0 หมายถึงไม่จำกัด
|
||||||
|
text_project_destroy_confirmation: คุณแน่ใจไหมว่าต้องการลบโครงการและข้อมูลที่เกี่ยวข้่อง ?
|
||||||
|
text_subprojects_destroy_warning: 'โครงการย่อย: %s จะถูกลบด้วย.'
|
||||||
|
text_workflow_edit: เลือกบทบาทและการติดตาม เพื่อแก้ไขลำดับงาน
|
||||||
|
text_are_you_sure: คุณแน่ใจไหม ?
|
||||||
|
text_journal_changed: เปลี่ยนแปลงจาก %s เป็น %s
|
||||||
|
text_journal_set_to: ตั้งค่าเป็น %s
|
||||||
|
text_journal_deleted: ถูกลบ
|
||||||
|
text_tip_task_begin_day: งานที่เริ่มวันนี้
|
||||||
|
text_tip_task_end_day: งานที่จบวันนี้
|
||||||
|
text_tip_task_begin_end_day: งานที่เริ่มและจบวันนี้
|
||||||
|
text_project_identifier_info: 'ภาษาอังกฤษตัวเล็ก(a-z), ตัวเลข(0-9) และขีด (-) เท่านั้น.<br />เมื่อจัดเก็บแล้ว, ชื่อเฉพาะไม่สามารถเปลี่ยนแปลงได้'
|
||||||
|
text_caracters_maximum: สูงสุด %d ตัวอักษร.
|
||||||
|
text_caracters_minimum: ต้องยาวอย่างน้อย %d ตัวอักษร.
|
||||||
|
text_length_between: ความยาวระหว่าง %d ถึง %d ตัวอักษร.
|
||||||
|
text_tracker_no_workflow: ไม่ได้บัญญัติลำดับงานสำหรับการติดตามนี้
|
||||||
|
text_unallowed_characters: ตัวอักษรต้องห้าม
|
||||||
|
text_comma_separated: ใส่ได้หลายค่า โดยคั่นด้วยลูกน้ำ( ,).
|
||||||
|
text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
|
||||||
|
text_issue_added: ปัญหา %s ถูกแจ้งโดย %s.
|
||||||
|
text_issue_updated: ปัญหา %s ถูกปรับปรุงโดย %s.
|
||||||
|
text_wiki_destroy_confirmation: คุณแน่ใจหรือว่าต้องการลบ wiki นี้พร้อมทั้งเนี้อหา?
|
||||||
|
text_issue_category_destroy_question: บางปัญหา (%d) อยู่ในประเภทนี้. คุณต้องการทำอย่างไร ?
|
||||||
|
text_issue_category_destroy_assignments: ลบประเภทนี้
|
||||||
|
text_issue_category_reassign_to: ระบุปัญหาในประเภทนี้
|
||||||
|
text_user_mail_option: "ในโครงการที่ไม่ได้เลือก, คุณจะได้รับการแจ้งเกี่ยวกับสิ่งที่คุณเฝ้าดูหรือมีส่วนเกี่ยวข้อง (เช่นปัญหาที่คุณแจ้งไว้หรือได้รับมอบหมาย)."
|
||||||
|
text_no_configuration_data: "บทบาท, การติดตาม, สถานะปัญหา และลำดับงานยังไม่ได้ถูกตั้งค่า.\nขอแนะนำให้โหลดค่าเริ่มต้น. คุณสามารถแก้ไขค่าได้หลังจากโหลดแล้ว."
|
||||||
|
text_load_default_configuration: โหลดค่าเริ่มต้น
|
||||||
|
text_status_changed_by_changeset: ประยุกต์ใช้ในกลุ่มการเปลี่ยนแปลง %s.
|
||||||
|
text_issues_destroy_confirmation: 'คุณแน่ใจไหมว่าต้องการลบปัญหา(ทั้งหลาย)ที่เลือกไว้?'
|
||||||
|
text_select_project_modules: 'เลือกส่วนประกอบที่ต้องการใช้งานสำหรับโครงการนี้:'
|
||||||
|
text_default_administrator_account_changed: ค่าเริ่มต้นของบัญชีผู้บริหารจัดการถูกเปลี่ยนแปลง
|
||||||
|
text_file_repository_writable: ที่เก็บต้นฉบับสามารถเขียนได้
|
||||||
|
text_rmagick_available: RMagick มีให้ใช้ (เป็นตัวเลือก)
|
||||||
|
text_destroy_time_entries_question: %.02f ชั่วโมงที่ถูกแจ้งในปัญหานี้จะโดนลบ. คุณต้องการทำอย่างไร?
|
||||||
|
text_destroy_time_entries: ลบเวลาที่รายงานไว้
|
||||||
|
text_assign_time_entries_to_project: ระบุเวลาที่ใช้ในโครงการนี้
|
||||||
|
text_reassign_time_entries: 'ระบุเวลาที่ใช้ในโครงการนี่อีกครั้ง:'
|
||||||
|
|
||||||
|
default_role_manager: ผู้จัดการ
|
||||||
|
default_role_developper: ผู้พัฒนา
|
||||||
|
default_role_reporter: ผู้รายงาน
|
||||||
|
default_tracker_bug: บั๊ก
|
||||||
|
default_tracker_feature: ลักษณะเด่น
|
||||||
|
default_tracker_support: สนับสนุน
|
||||||
|
default_issue_status_new: เกิดขึ้น
|
||||||
|
default_issue_status_assigned: รับมอบหมาย
|
||||||
|
default_issue_status_resolved: ดำเนินการ
|
||||||
|
default_issue_status_feedback: รอคำตอบ
|
||||||
|
default_issue_status_closed: จบ
|
||||||
|
default_issue_status_rejected: ยกเลิก
|
||||||
|
default_doc_category_user: เอกสารของผู้ใช้
|
||||||
|
default_doc_category_tech: เอกสารทางเทคนิค
|
||||||
|
default_priority_low: ต่ำ
|
||||||
|
default_priority_normal: ปกติ
|
||||||
|
default_priority_high: สูง
|
||||||
|
default_priority_urgent: เร่งด่วน
|
||||||
|
default_priority_immediate: ด่วนมาก
|
||||||
|
default_activity_design: ออกแบบ
|
||||||
|
default_activity_development: พัฒนา
|
||||||
|
|
||||||
|
enumeration_issue_priorities: ความสำคัญของปัญหา
|
||||||
|
enumeration_doc_categories: ประเภทเอกสาร
|
||||||
|
enumeration_activities: กิจกรรม (ใช้ในการติดตามเวลา)
|
||||||
+7
-2
@@ -91,6 +91,8 @@ mail_body_account_information_external: 您可以使用 "%s" 帳號登入 Redmin
|
|||||||
mail_body_account_information: 您的 Redmine 帳號資訊
|
mail_body_account_information: 您的 Redmine 帳號資訊
|
||||||
mail_subject_account_activation_request: Redmine 帳號啟用需求通知
|
mail_subject_account_activation_request: Redmine 帳號啟用需求通知
|
||||||
mail_body_account_activation_request: '有位新用戶 (%s) 已經完成註冊,正等候您的審核:'
|
mail_body_account_activation_request: '有位新用戶 (%s) 已經完成註冊,正等候您的審核:'
|
||||||
|
mail_subject_reminder: "您有 %d 個項目即將到期"
|
||||||
|
mail_body_reminder: "%d 個指派給您的項目,將於 %d 天之內到期:"
|
||||||
|
|
||||||
gui_validation_error: 1 個錯誤
|
gui_validation_error: 1 個錯誤
|
||||||
gui_validation_error_plural: %d 個錯誤
|
gui_validation_error_plural: %d 個錯誤
|
||||||
@@ -210,7 +212,7 @@ setting_protocol: 協定
|
|||||||
setting_per_page_options: 每頁顯示個數選項
|
setting_per_page_options: 每頁顯示個數選項
|
||||||
setting_user_format: 使用者顯示格式
|
setting_user_format: 使用者顯示格式
|
||||||
setting_activity_days_default: 專案活動顯示天數
|
setting_activity_days_default: 專案活動顯示天數
|
||||||
setting_display_subprojects_issues: 預設於主控專案中顯示從屬專案的項目
|
setting_display_subprojects_issues: 預設於父專案中顯示子專案的項目
|
||||||
|
|
||||||
project_module_issue_tracking: 項目追蹤
|
project_module_issue_tracking: 項目追蹤
|
||||||
project_module_time_tracking: 工時追蹤
|
project_module_time_tracking: 工時追蹤
|
||||||
@@ -291,6 +293,7 @@ label_auth_source: 認證模式
|
|||||||
label_auth_source_new: 建立新認證模式
|
label_auth_source_new: 建立新認證模式
|
||||||
label_auth_source_plural: 認證模式清單
|
label_auth_source_plural: 認證模式清單
|
||||||
label_subproject_plural: 子專案
|
label_subproject_plural: 子專案
|
||||||
|
label_and_its_subprojects: %s 與其子專案
|
||||||
label_min_max_length: 最小 - 最大 長度
|
label_min_max_length: 最小 - 最大 長度
|
||||||
label_list: 清單
|
label_list: 清單
|
||||||
label_date: 日期
|
label_date: 日期
|
||||||
@@ -445,6 +448,7 @@ label_relation_new: 建立新關聯
|
|||||||
label_relation_delete: 刪除關聯
|
label_relation_delete: 刪除關聯
|
||||||
label_relates_to: 關聯至
|
label_relates_to: 關聯至
|
||||||
label_duplicates: 已重複
|
label_duplicates: 已重複
|
||||||
|
label_duplicated_by: 與後面所列項目重複
|
||||||
label_blocks: 阻擋
|
label_blocks: 阻擋
|
||||||
label_blocked_by: 被阻擋
|
label_blocked_by: 被阻擋
|
||||||
label_precedes: 優先於
|
label_precedes: 優先於
|
||||||
@@ -557,6 +561,7 @@ text_select_mail_notifications: 選擇欲寄送提醒通知郵件之動作
|
|||||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
text_regexp_info: eg. ^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 代表「不限制」
|
text_min_max_length_info: 0 代表「不限制」
|
||||||
text_project_destroy_confirmation: 您確定要刪除這個專案和其他相關資料?
|
text_project_destroy_confirmation: 您確定要刪除這個專案和其他相關資料?
|
||||||
|
text_subprojects_destroy_warning: '下列子專案: %s 將一併被刪除。'
|
||||||
text_workflow_edit: 選擇角色與追蹤標籤以設定其工作流程
|
text_workflow_edit: 選擇角色與追蹤標籤以設定其工作流程
|
||||||
text_are_you_sure: 確定執行?
|
text_are_you_sure: 確定執行?
|
||||||
text_journal_changed: 從 %s 變更為 %s
|
text_journal_changed: 從 %s 變更為 %s
|
||||||
@@ -592,6 +597,7 @@ text_destroy_time_entries_question: 您即將刪除的項目已報工 %.02f 小
|
|||||||
text_destroy_time_entries: 刪除已報工的時數
|
text_destroy_time_entries: 刪除已報工的時數
|
||||||
text_assign_time_entries_to_project: 指定已報工的時數至專案中
|
text_assign_time_entries_to_project: 指定已報工的時數至專案中
|
||||||
text_reassign_time_entries: '重新指定已報工的時數至此項目:'
|
text_reassign_time_entries: '重新指定已報工的時數至此項目:'
|
||||||
|
text_user_wrote: '%s 先前提到:'
|
||||||
|
|
||||||
default_role_manager: 管理人員
|
default_role_manager: 管理人員
|
||||||
default_role_developper: 開發人員
|
default_role_developper: 開發人員
|
||||||
@@ -618,4 +624,3 @@ default_activity_development: 開發
|
|||||||
enumeration_issue_priorities: 項目優先權
|
enumeration_issue_priorities: 項目優先權
|
||||||
enumeration_doc_categories: 文件分類
|
enumeration_doc_categories: 文件分類
|
||||||
enumeration_activities: 活動 (時間追蹤)
|
enumeration_activities: 活動 (時間追蹤)
|
||||||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
|
||||||
|
|||||||
+12
-7
@@ -91,6 +91,8 @@ mail_body_account_information_external: 您可以使用您的 "%s" 帐号来登
|
|||||||
mail_body_account_information: 您的帐号信息
|
mail_body_account_information: 您的帐号信息
|
||||||
mail_subject_account_activation_request: %s帐号激活请求
|
mail_subject_account_activation_request: %s帐号激活请求
|
||||||
mail_body_account_activation_request: '新用户(%s)已完成注册,正在等候您的审核:'
|
mail_body_account_activation_request: '新用户(%s)已完成注册,正在等候您的审核:'
|
||||||
|
mail_subject_reminder: "%d 个问题需要尽快解决"
|
||||||
|
mail_body_reminder: "指派给您的 %d 个问题需要在 %d 天内完成:"
|
||||||
|
|
||||||
gui_validation_error: 1 个错误
|
gui_validation_error: 1 个错误
|
||||||
gui_validation_error_plural: %d 个错误
|
gui_validation_error_plural: %d 个错误
|
||||||
@@ -198,7 +200,7 @@ setting_default_projects_public: 新建项目默认为公开项目
|
|||||||
setting_autofetch_changesets: 自动获取程序变更
|
setting_autofetch_changesets: 自动获取程序变更
|
||||||
setting_sys_api_enabled: 启用用于版本库管理的Web Service
|
setting_sys_api_enabled: 启用用于版本库管理的Web Service
|
||||||
setting_commit_ref_keywords: 用于引用问题的关键字
|
setting_commit_ref_keywords: 用于引用问题的关键字
|
||||||
setting_commit_fix_keywords: 用于修订问题的关键字
|
setting_commit_fix_keywords: 用于解决问题的关键字
|
||||||
setting_autologin: 自动登录
|
setting_autologin: 自动登录
|
||||||
setting_date_format: 日期格式
|
setting_date_format: 日期格式
|
||||||
setting_time_format: 时间格式
|
setting_time_format: 时间格式
|
||||||
@@ -257,9 +259,9 @@ label_issue_status_new: 新建问题状态
|
|||||||
label_issue_category: 问题类别
|
label_issue_category: 问题类别
|
||||||
label_issue_category_plural: 问题类别
|
label_issue_category_plural: 问题类别
|
||||||
label_issue_category_new: 新建问题类别
|
label_issue_category_new: 新建问题类别
|
||||||
label_custom_field: 自定义字段
|
label_custom_field: 自定义属性
|
||||||
label_custom_field_plural: 自定义字段
|
label_custom_field_plural: 自定义属性
|
||||||
label_custom_field_new: 新建自定义字段
|
label_custom_field_new: 新建自定义属性
|
||||||
label_enumerations: 枚举值
|
label_enumerations: 枚举值
|
||||||
label_enumeration_new: 新建枚举值
|
label_enumeration_new: 新建枚举值
|
||||||
label_information: 信息
|
label_information: 信息
|
||||||
@@ -291,6 +293,7 @@ label_auth_source: 认证模式
|
|||||||
label_auth_source_new: 新建认证模式
|
label_auth_source_new: 新建认证模式
|
||||||
label_auth_source_plural: 认证模式
|
label_auth_source_plural: 认证模式
|
||||||
label_subproject_plural: 子项目
|
label_subproject_plural: 子项目
|
||||||
|
label_and_its_subprojects: %s 及其子项目
|
||||||
label_min_max_length: 最小 - 最大 长度
|
label_min_max_length: 最小 - 最大 长度
|
||||||
label_list: 列表
|
label_list: 列表
|
||||||
label_date: 日期
|
label_date: 日期
|
||||||
@@ -554,9 +557,10 @@ status_registered: 已注册
|
|||||||
status_locked: 已锁定
|
status_locked: 已锁定
|
||||||
|
|
||||||
text_select_mail_notifications: 选择需要发送邮件通知的动作
|
text_select_mail_notifications: 选择需要发送邮件通知的动作
|
||||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
text_regexp_info: 例如:^[A-Z0-9]+$
|
||||||
text_min_max_length_info: 0 表示没有限制
|
text_min_max_length_info: 0 表示没有限制
|
||||||
text_project_destroy_confirmation: 您确信要删除这个项目以及所有相关的数据吗?
|
text_project_destroy_confirmation: 您确信要删除这个项目以及所有相关的数据吗?
|
||||||
|
text_subprojects_destroy_warning: '以下子项目也将被同时删除:%s'
|
||||||
text_workflow_edit: 选择角色和跟踪标签来编辑工作流程
|
text_workflow_edit: 选择角色和跟踪标签来编辑工作流程
|
||||||
text_are_you_sure: 您确定?
|
text_are_you_sure: 您确定?
|
||||||
text_journal_changed: 从 %s 变更为 %s
|
text_journal_changed: 从 %s 变更为 %s
|
||||||
@@ -572,7 +576,7 @@ text_length_between: 长度必须在 %d 到 %d 个字符之间。
|
|||||||
text_tracker_no_workflow: 此跟踪标签未定义工作流程
|
text_tracker_no_workflow: 此跟踪标签未定义工作流程
|
||||||
text_unallowed_characters: 非法字符
|
text_unallowed_characters: 非法字符
|
||||||
text_comma_separated: 可以使用多个值(用逗号,分开)。
|
text_comma_separated: 可以使用多个值(用逗号,分开)。
|
||||||
text_issues_ref_in_commit_messages: 在提交信息中引用和修订问题
|
text_issues_ref_in_commit_messages: 在提交信息中引用和解决问题
|
||||||
text_issue_added: 问题 %s 已由 %s 提交。
|
text_issue_added: 问题 %s 已由 %s 提交。
|
||||||
text_issue_updated: 问题 %s 已由 %s 更新。
|
text_issue_updated: 问题 %s 已由 %s 更新。
|
||||||
text_wiki_destroy_confirmation: 您确定要删除这个 wiki 及其所有内容吗?
|
text_wiki_destroy_confirmation: 您确定要删除这个 wiki 及其所有内容吗?
|
||||||
@@ -592,6 +596,7 @@ text_destroy_time_entries_question: 您要删除的问题已经上报了 %.02f
|
|||||||
text_destroy_time_entries: 删除上报的工作量
|
text_destroy_time_entries: 删除上报的工作量
|
||||||
text_assign_time_entries_to_project: 将已上报的工作量提交到项目中
|
text_assign_time_entries_to_project: 将已上报的工作量提交到项目中
|
||||||
text_reassign_time_entries: '将已上报的工作量指定到此问题:'
|
text_reassign_time_entries: '将已上报的工作量指定到此问题:'
|
||||||
|
text_user_wrote: '%s 写到:'
|
||||||
|
|
||||||
default_role_manager: 管理人员
|
default_role_manager: 管理人员
|
||||||
default_role_developper: 开发人员
|
default_role_developper: 开发人员
|
||||||
@@ -618,4 +623,4 @@ default_activity_development: 开发
|
|||||||
enumeration_issue_priorities: 问题优先级
|
enumeration_issue_priorities: 问题优先级
|
||||||
enumeration_doc_categories: 文档类别
|
enumeration_doc_categories: 文档类别
|
||||||
enumeration_activities: 活动(时间跟踪)
|
enumeration_activities: 活动(时间跟踪)
|
||||||
text_subprojects_destroy_warning: 'Its subproject(s): %s will be also deleted.'
|
label_duplicated_by: duplicated by
|
||||||
|
|||||||
@@ -829,7 +829,7 @@ module SVG
|
|||||||
@doc << DocType.new( %q{svg PUBLIC "-//W3C//DTD SVG 1.0//EN" } +
|
@doc << DocType.new( %q{svg PUBLIC "-//W3C//DTD SVG 1.0//EN" } +
|
||||||
%q{"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"} )
|
%q{"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"} )
|
||||||
if style_sheet && style_sheet != ''
|
if style_sheet && style_sheet != ''
|
||||||
@doc << ProcessingInstruction.new( "xml-stylesheet",
|
@doc << Instruction.new( "xml-stylesheet",
|
||||||
%Q{href="#{style_sheet}" type="text/css"} )
|
%Q{href="#{style_sheet}" type="text/css"} )
|
||||||
end
|
end
|
||||||
@root = @doc.add_element( "svg", {
|
@root = @doc.add_element( "svg", {
|
||||||
|
|||||||
+13
-10
@@ -376,13 +376,13 @@ class RedCloth < String
|
|||||||
re =
|
re =
|
||||||
case rtype
|
case rtype
|
||||||
when :limit
|
when :limit
|
||||||
/(^|[>\s])
|
/(^|[>\s\(])
|
||||||
(#{rcq})
|
(#{rcq})
|
||||||
(#{C})
|
(#{C})
|
||||||
(?::(\S+?))?
|
(?::(\S+?))?
|
||||||
([^\s\-].*?[^\s\-]|\w)
|
([^\s\-].*?[^\s\-]|\w)
|
||||||
#{rcq}
|
#{rcq}
|
||||||
(?=[[:punct:]]|\s|$)/x
|
(?=[[:punct:]]|\s|\)|$)/x
|
||||||
else
|
else
|
||||||
/(#{rcq})
|
/(#{rcq})
|
||||||
(#{C})
|
(#{C})
|
||||||
@@ -433,12 +433,15 @@ class RedCloth < String
|
|||||||
#
|
#
|
||||||
# Flexible HTML escaping
|
# Flexible HTML escaping
|
||||||
#
|
#
|
||||||
def htmlesc( str, mode )
|
def htmlesc( str, mode=:Quotes )
|
||||||
|
if str
|
||||||
str.gsub!( '&', '&' )
|
str.gsub!( '&', '&' )
|
||||||
str.gsub!( '"', '"' ) if mode != :NoQuotes
|
str.gsub!( '"', '"' ) if mode != :NoQuotes
|
||||||
str.gsub!( "'", ''' ) if mode == :Quotes
|
str.gsub!( "'", ''' ) if mode == :Quotes
|
||||||
str.gsub!( '<', '<')
|
str.gsub!( '<', '<')
|
||||||
str.gsub!( '>', '>')
|
str.gsub!( '>', '>')
|
||||||
|
end
|
||||||
|
str
|
||||||
end
|
end
|
||||||
|
|
||||||
# Search and replace for Textile glyphs (quotes, dashes, other symbols)
|
# Search and replace for Textile glyphs (quotes, dashes, other symbols)
|
||||||
@@ -462,8 +465,7 @@ class RedCloth < String
|
|||||||
style << "vertical-align:#{ v_align( $& ) };" if text =~ A_VLGN
|
style << "vertical-align:#{ v_align( $& ) };" if text =~ A_VLGN
|
||||||
end
|
end
|
||||||
|
|
||||||
style << "#{ $1 };" if not filter_styles and
|
style << "#{ htmlesc $1 };" if text.sub!( /\{([^}]*)\}/, '' ) && !filter_styles
|
||||||
text.sub!( /\{([^}]*)\}/, '' )
|
|
||||||
|
|
||||||
lang = $1 if
|
lang = $1 if
|
||||||
text.sub!( /\[([^)]+?)\]/, '' )
|
text.sub!( /\[([^)]+?)\]/, '' )
|
||||||
@@ -764,7 +766,7 @@ class RedCloth < String
|
|||||||
([\s\[{(]|[#{PUNCT}])? # $pre
|
([\s\[{(]|[#{PUNCT}])? # $pre
|
||||||
" # start
|
" # start
|
||||||
(#{C}) # $atts
|
(#{C}) # $atts
|
||||||
([^"]+?) # $text
|
([^"\n]+?) # $text
|
||||||
\s?
|
\s?
|
||||||
(?:\(([^)]+?)\)(?="))? # $title
|
(?:\(([^)]+?)\)(?="))? # $title
|
||||||
":
|
":
|
||||||
@@ -783,7 +785,7 @@ class RedCloth < String
|
|||||||
|
|
||||||
atts = pba( atts )
|
atts = pba( atts )
|
||||||
atts = " href=\"#{ url }#{ slash }\"#{ atts }"
|
atts = " href=\"#{ url }#{ slash }\"#{ atts }"
|
||||||
atts << " title=\"#{ title }\"" if title
|
atts << " title=\"#{ htmlesc title }\"" if title
|
||||||
atts = shelve( atts ) if atts
|
atts = shelve( atts ) if atts
|
||||||
|
|
||||||
external = (url =~ /^https?:\/\//) ? ' class="external"' : ''
|
external = (url =~ /^https?:\/\//) ? ' class="external"' : ''
|
||||||
@@ -890,6 +892,7 @@ class RedCloth < String
|
|||||||
def inline_textile_image( text )
|
def inline_textile_image( text )
|
||||||
text.gsub!( IMAGE_RE ) do |m|
|
text.gsub!( IMAGE_RE ) do |m|
|
||||||
stln,algn,atts,url,title,href,href_a1,href_a2 = $~[1..8]
|
stln,algn,atts,url,title,href,href_a1,href_a2 = $~[1..8]
|
||||||
|
htmlesc title
|
||||||
atts = pba( atts )
|
atts = pba( atts )
|
||||||
atts = " src=\"#{ url }\"#{ atts }"
|
atts = " src=\"#{ url }\"#{ atts }"
|
||||||
atts << " title=\"#{ title }\"" if title
|
atts << " title=\"#{ title }\"" if title
|
||||||
@@ -1027,7 +1030,7 @@ class RedCloth < String
|
|||||||
else
|
else
|
||||||
htmlesc( aftertag, :NoQuotes ) if aftertag and not used_offtags['notextile']
|
htmlesc( aftertag, :NoQuotes ) if aftertag and not used_offtags['notextile']
|
||||||
line = "<redpre##{ @pre_list.length }>"
|
line = "<redpre##{ @pre_list.length }>"
|
||||||
@pre_list << "#{ $3 }#{ aftertag }"
|
@pre_list << "#{ $3.gsub(/<(#{ OFFTAGS })[^>]*>/, '<\\1>') }#{ aftertag }"
|
||||||
end
|
end
|
||||||
elsif $1 and codepre > 0
|
elsif $1 and codepre > 0
|
||||||
if codepre - used_offtags.length > 0
|
if codepre - used_offtags.length > 0
|
||||||
@@ -1131,10 +1134,10 @@ class RedCloth < String
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ALLOWED_TAGS = %w(redpre pre code)
|
ALLOWED_TAGS = %w(redpre pre code notextile)
|
||||||
|
|
||||||
def escape_html_tags(text)
|
def escape_html_tags(text)
|
||||||
text.gsub!(%r{<(\/?(\w+)[^>\n]*)(>?)}) {|m| ALLOWED_TAGS.include?($2) ? "<#{$1}#{$3}" : "<#{$1}#{'>' if $3}" }
|
text.gsub!(%r{<(\/?([!\w]+)[^<>\n]*)(>?)}) {|m| ALLOWED_TAGS.include?($2) ? "<#{$1}#{$3}" : "<#{$1}#{'>' unless $3.blank?}" }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -94,7 +94,7 @@ Redmine::AccessControl.map do |map|
|
|||||||
end
|
end
|
||||||
|
|
||||||
Redmine::MenuManager.map :top_menu do |menu|
|
Redmine::MenuManager.map :top_menu do |menu|
|
||||||
menu.push :home, :home_url, :html => { :class => 'home' }
|
menu.push :home, :home_path, :html => { :class => 'home' }
|
||||||
menu.push :my_page, { :controller => 'my', :action => 'page' }, :html => { :class => 'mypage' }, :if => Proc.new { User.current.logged? }
|
menu.push :my_page, { :controller => 'my', :action => 'page' }, :html => { :class => 'mypage' }, :if => Proc.new { User.current.logged? }
|
||||||
menu.push :projects, { :controller => 'projects', :action => 'index' }, :caption => :label_project_plural, :html => { :class => 'projects' }
|
menu.push :projects, { :controller => 'projects', :action => 'index' }, :caption => :label_project_plural, :html => { :class => 'projects' }
|
||||||
menu.push :administration, { :controller => 'admin', :action => 'index' }, :html => { :class => 'admin' }, :if => Proc.new { User.current.admin? }
|
menu.push :administration, { :controller => 'admin', :action => 'index' }, :html => { :class => 'admin' }, :if => Proc.new { User.current.admin? }
|
||||||
@@ -102,10 +102,10 @@ Redmine::MenuManager.map :top_menu do |menu|
|
|||||||
end
|
end
|
||||||
|
|
||||||
Redmine::MenuManager.map :account_menu do |menu|
|
Redmine::MenuManager.map :account_menu do |menu|
|
||||||
menu.push :login, :signin_url, :html => { :class => 'login' }, :if => Proc.new { !User.current.logged? }
|
menu.push :login, :signin_path, :html => { :class => 'login' }, :if => Proc.new { !User.current.logged? }
|
||||||
menu.push :register, { :controller => 'account', :action => 'register' }, :html => { :class => 'register' }, :if => Proc.new { !User.current.logged? && Setting.self_registration? }
|
menu.push :register, { :controller => 'account', :action => 'register' }, :html => { :class => 'register' }, :if => Proc.new { !User.current.logged? && Setting.self_registration? }
|
||||||
menu.push :my_account, { :controller => 'my', :action => 'account' }, :html => { :class => 'myaccount' }, :if => Proc.new { User.current.logged? }
|
menu.push :my_account, { :controller => 'my', :action => 'account' }, :html => { :class => 'myaccount' }, :if => Proc.new { User.current.logged? }
|
||||||
menu.push :logout, :signout_url, :html => { :class => 'logout' }, :if => Proc.new { User.current.logged? }
|
menu.push :logout, :signout_path, :html => { :class => 'logout' }, :if => Proc.new { User.current.logged? }
|
||||||
end
|
end
|
||||||
|
|
||||||
Redmine::MenuManager.map :application_menu do |menu|
|
Redmine::MenuManager.map :application_menu do |menu|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ module Redmine #:nodoc:
|
|||||||
end
|
end
|
||||||
# 2,5 => 2.5
|
# 2,5 => 2.5
|
||||||
s.gsub!(',', '.')
|
s.gsub!(',', '.')
|
||||||
s.to_f
|
begin; Kernel.Float(s); rescue; nil; end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ module Redmine
|
|||||||
def logger
|
def logger
|
||||||
RAILS_DEFAULT_LOGGER
|
RAILS_DEFAULT_LOGGER
|
||||||
end
|
end
|
||||||
|
|
||||||
def shellout(cmd, &block)
|
def shellout(cmd, &block)
|
||||||
logger.debug "Shelling out: #{cmd}" if logger && logger.debug?
|
logger.debug "Shelling out: #{cmd}" if logger && logger.debug?
|
||||||
begin
|
begin
|
||||||
@@ -127,11 +127,22 @@ module Redmine
|
|||||||
block.call(io) if block_given?
|
block.call(io) if block_given?
|
||||||
end
|
end
|
||||||
rescue Errno::ENOENT => e
|
rescue Errno::ENOENT => e
|
||||||
|
msg = strip_credential(e.message)
|
||||||
# The command failed, log it and re-raise
|
# The command failed, log it and re-raise
|
||||||
logger.error("SCM command failed: #{cmd}\n with: #{e.message}")
|
logger.error("SCM command failed: #{strip_credential(cmd)}\n with: #{msg}")
|
||||||
raise CommandFailed.new(e.message)
|
raise CommandFailed.new(msg)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Hides username/password in a given command
|
||||||
|
def self.hide_credential(cmd)
|
||||||
|
q = (RUBY_PLATFORM =~ /mswin/ ? '"' : "'")
|
||||||
|
cmd.to_s.gsub(/(\-\-(password|username))\s+(#{q}[^#{q}]+#{q}|[^#{q}]\S+)/, '\\1 xxxx')
|
||||||
|
end
|
||||||
|
|
||||||
|
def strip_credential(cmd)
|
||||||
|
self.class.hide_credential(cmd)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class Entries < Array
|
class Entries < Array
|
||||||
@@ -279,7 +290,6 @@ module Redmine
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
if line =~ /^[^\+\-\s@\\]/
|
if line =~ /^[^\+\-\s@\\]/
|
||||||
self.delete(self.keys.sort.last)
|
|
||||||
@parsing = false
|
@parsing = false
|
||||||
return false
|
return false
|
||||||
elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
|
elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ module Redmine
|
|||||||
|
|
||||||
# Get the revision of a particuliar file
|
# Get the revision of a particuliar file
|
||||||
def get_rev (rev,path)
|
def get_rev (rev,path)
|
||||||
cmd="git --git-dir #{target('')} show #{shell_quote rev} -- #{shell_quote path}" if rev!='latest' and (! rev.nil?)
|
cmd="#{GIT_BIN} --git-dir #{target('')} show #{shell_quote rev} -- #{shell_quote path}" if rev!='latest' and (! rev.nil?)
|
||||||
cmd="git --git-dir #{target('')} log -1 master -- #{shell_quote path}" if
|
cmd="#{GIT_BIN} --git-dir #{target('')} log -1 master -- #{shell_quote path}" if
|
||||||
rev=='latest' or rev.nil?
|
rev=='latest' or rev.nil?
|
||||||
rev=[]
|
rev=[]
|
||||||
i=0
|
i=0
|
||||||
|
|||||||
@@ -64,6 +64,9 @@ module Redmine
|
|||||||
begin
|
begin
|
||||||
doc = REXML::Document.new(output)
|
doc = REXML::Document.new(output)
|
||||||
doc.elements.each("lists/list/entry") do |entry|
|
doc.elements.each("lists/list/entry") do |entry|
|
||||||
|
# Skip directory if there is no commit date (usually that
|
||||||
|
# means that we don't have read access to it)
|
||||||
|
next if entry.attributes['kind'] == 'dir' && entry.elements['commit'].elements['date'].nil?
|
||||||
entries << Entry.new({:name => entry.elements['name'].text,
|
entries << Entry.new({:name => entry.elements['name'].text,
|
||||||
:path => ((path.empty? ? "" : "#{path}/") + entry.elements['name'].text),
|
:path => ((path.empty? ? "" : "#{path}/") + entry.elements['name'].text),
|
||||||
:kind => entry.attributes['kind'],
|
:kind => entry.attributes['kind'],
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ module Redmine
|
|||||||
module VERSION #:nodoc:
|
module VERSION #:nodoc:
|
||||||
MAJOR = 0
|
MAJOR = 0
|
||||||
MINOR = 7
|
MINOR = 7
|
||||||
TINY = 0
|
TINY = 4
|
||||||
|
|
||||||
def self.revision
|
def self.revision
|
||||||
revision = nil
|
revision = nil
|
||||||
|
|||||||
@@ -26,12 +26,13 @@ module Redmine
|
|||||||
class TextileFormatter < RedCloth
|
class TextileFormatter < RedCloth
|
||||||
|
|
||||||
# auto_link rule after textile rules so that it doesn't break !image_url! tags
|
# auto_link rule after textile rules so that it doesn't break !image_url! tags
|
||||||
RULES = [:textile, :inline_auto_link, :inline_auto_mailto, :inline_toc, :inline_macros]
|
RULES = [:textile, :block_markdown_rule, :inline_auto_link, :inline_auto_mailto, :inline_toc, :inline_macros]
|
||||||
|
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
super
|
super
|
||||||
self.hard_breaks=true
|
self.hard_breaks=true
|
||||||
self.no_span_caps=true
|
self.no_span_caps=true
|
||||||
|
self.filter_styles=true
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_html(*rules, &block)
|
def to_html(*rules, &block)
|
||||||
@@ -45,7 +46,7 @@ module Redmine
|
|||||||
# Patch for RedCloth. Fixed in RedCloth r128 but _why hasn't released it yet.
|
# Patch for RedCloth. Fixed in RedCloth r128 but _why hasn't released it yet.
|
||||||
# <a href="http://code.whytheluckystiff.net/redcloth/changeset/128">http://code.whytheluckystiff.net/redcloth/changeset/128</a>
|
# <a href="http://code.whytheluckystiff.net/redcloth/changeset/128">http://code.whytheluckystiff.net/redcloth/changeset/128</a>
|
||||||
def hard_break( text )
|
def hard_break( text )
|
||||||
text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1<br />" ) if hard_breaks
|
text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1<br />\n" ) if hard_breaks
|
||||||
end
|
end
|
||||||
|
|
||||||
# Patch to add code highlighting support to RedCloth
|
# Patch to add code highlighting support to RedCloth
|
||||||
@@ -56,7 +57,7 @@ module Redmine
|
|||||||
content = @pre_list[$1.to_i]
|
content = @pre_list[$1.to_i]
|
||||||
if content.match(/<code\s+class="(\w+)">\s?(.+)/m)
|
if content.match(/<code\s+class="(\w+)">\s?(.+)/m)
|
||||||
content = "<code class=\"#{$1} CodeRay\">" +
|
content = "<code class=\"#{$1} CodeRay\">" +
|
||||||
CodeRay.scan($2, $1).html(:escape => false, :line_numbers => :inline)
|
CodeRay.scan($2, $1.downcase).html(:escape => false, :line_numbers => :inline)
|
||||||
end
|
end
|
||||||
content
|
content
|
||||||
end
|
end
|
||||||
@@ -85,6 +86,9 @@ module Redmine
|
|||||||
@toc.each_with_index do |heading, index|
|
@toc.each_with_index do |heading, index|
|
||||||
# remove wiki links from the item
|
# remove wiki links from the item
|
||||||
toc_item = heading.last.gsub(/(\[\[|\]\])/, '')
|
toc_item = heading.last.gsub(/(\[\[|\]\])/, '')
|
||||||
|
# remove styles
|
||||||
|
# eg. %{color:red}Triggers% => Triggers
|
||||||
|
toc_item.gsub! %r[%\{[^\}]*\}([^%]+)%], '\\1'
|
||||||
out << "<a href=\"##{index+1}\" class=\"heading#{heading.first}\">#{toc_item}</a>"
|
out << "<a href=\"##{index+1}\" class=\"heading#{heading.first}\">#{toc_item}</a>"
|
||||||
end
|
end
|
||||||
out << '</div>'
|
out << '</div>'
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ namespace :redmine do
|
|||||||
set_table_name :milestone
|
set_table_name :milestone
|
||||||
|
|
||||||
def due
|
def due
|
||||||
if read_attribute(:due) > 0
|
if read_attribute(:due) && read_attribute(:due) > 0
|
||||||
Time.at(read_attribute(:due)).to_date
|
Time.at(read_attribute(:due)).to_date
|
||||||
else
|
else
|
||||||
nil
|
nil
|
||||||
@@ -126,6 +126,10 @@ namespace :redmine do
|
|||||||
File.open("#{trac_fullpath}", 'rb').read
|
File.open("#{trac_fullpath}", 'rb').read
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def description
|
||||||
|
read_attribute(:description).to_s.slice(0,255)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def trac_fullpath
|
def trac_fullpath
|
||||||
attachment_type = read_attribute(:type)
|
attachment_type = read_attribute(:type)
|
||||||
@@ -233,7 +237,8 @@ namespace :redmine do
|
|||||||
text = text.gsub(/\[\"(.+)\".*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
text = text.gsub(/\[\"(.+)\".*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
||||||
text = text.gsub(/\[wiki:\"(.+)\".*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
text = text.gsub(/\[wiki:\"(.+)\".*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
||||||
text = text.gsub(/\[wiki:\"(.+)\".*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
text = text.gsub(/\[wiki:\"(.+)\".*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
||||||
text = text.gsub(/\[wiki:([^\s\]]+).*\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
text = text.gsub(/\[wiki:([^\s\]]+)\]/) {|s| "[[#{$1.delete(',./?;|:')}]]"}
|
||||||
|
text = text.gsub(/\[wiki:([^\s\]]+)\s(.*)\]/) {|s| "[[#{$1.delete(',./?;|:')}|#{$2.delete(',./?;|:')}]]"}
|
||||||
|
|
||||||
# Links to pages UsingJustWikiCaps
|
# Links to pages UsingJustWikiCaps
|
||||||
text = text.gsub(/([^!]|^)(^| )([A-Z][a-z]+[A-Z][a-zA-Z]+)/, '\\1\\2[[\3]]')
|
text = text.gsub(/([^!]|^)(^| )([A-Z][a-z]+[A-Z][a-zA-Z]+)/, '\\1\\2[[\3]]')
|
||||||
@@ -408,6 +413,7 @@ namespace :redmine do
|
|||||||
a.file = attachment
|
a.file = attachment
|
||||||
a.author = find_or_create_user(attachment.author)
|
a.author = find_or_create_user(attachment.author)
|
||||||
a.container = i
|
a.container = i
|
||||||
|
a.description = attachment.description
|
||||||
migrated_ticket_attachments += 1 if a.save
|
migrated_ticket_attachments += 1 if a.save
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -456,6 +462,7 @@ namespace :redmine do
|
|||||||
a = Attachment.new :created_on => attachment.time
|
a = Attachment.new :created_on => attachment.time
|
||||||
a.file = attachment
|
a.file = attachment
|
||||||
a.author = find_or_create_user(attachment.author)
|
a.author = find_or_create_user(attachment.author)
|
||||||
|
a.description = attachment.description
|
||||||
a.container = p
|
a.container = p
|
||||||
migrated_wiki_attachments += 1 if a.save
|
migrated_wiki_attachments += 1 if a.save
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,13 +22,13 @@ table td h3 { font-size: 1.2em; text-align: left; }
|
|||||||
|
|
||||||
<table width="100%">
|
<table width="100%">
|
||||||
<tr><th colspan="3">Font Styles</th></tr>
|
<tr><th colspan="3">Font Styles</th></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_strong.png" style="border: 1px solid #bbb;" alt="Strong" /></th><td width="50%">*Strong*</td><td width="50%"><strong>Strong</strong></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_strong.png" style="border: 1px solid #bbb;" alt="Strong" /></th><td width="50%">*Strong*</td><td width="50%"><strong>Strong</strong></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_em.png" style="border: 1px solid #bbb;" alt="Italic" /></th><td>_Italic_</td><td><em>Italic</em></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_em.png" style="border: 1px solid #bbb;" alt="Italic" /></th><td>_Italic_</td><td><em>Italic</em></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_ins.png" style="border: 1px solid #bbb;" alt="Underline" /></th><td>+Underline+</td><td><ins>Underline</ins></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_ins.png" style="border: 1px solid #bbb;" alt="Underline" /></th><td>+Underline+</td><td><ins>Underline</ins></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_del.png" style="border: 1px solid #bbb;" alt="Deleted" /></th><td>-Deleted-</td><td><del>Deleted</del></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_del.png" style="border: 1px solid #bbb;" alt="Deleted" /></th><td>-Deleted-</td><td><del>Deleted</del></td></tr>
|
||||||
<tr><th></th><td>??Quote??</td><td><cite>Quote</cite></td></tr>
|
<tr><th></th><td>??Quote??</td><td><cite>Quote</cite></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_code.png" style="border: 1px solid #bbb;" alt="Inline Code" /></th><td>@Inline Code@</td><td><code>Inline Code</code></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_code.png" style="border: 1px solid #bbb;" alt="Inline Code" /></th><td>@Inline Code@</td><td><code>Inline Code</code></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_pre.png" style="border: 1px solid #bbb;" alt="Preformatted text" /></th><td><pre><br /> lines<br /> of code<br /></pre></td><td>
|
<tr><th><img src="../images/jstoolbar/bt_pre.png" style="border: 1px solid #bbb;" alt="Preformatted text" /></th><td><pre><br /> lines<br /> of code<br /></pre></td><td>
|
||||||
<pre>
|
<pre>
|
||||||
lines
|
lines
|
||||||
of code
|
of code
|
||||||
@@ -36,27 +36,27 @@ table td h3 { font-size: 1.2em; text-align: left; }
|
|||||||
</td></tr>
|
</td></tr>
|
||||||
|
|
||||||
<tr><th colspan="3">Lists</th></tr>
|
<tr><th colspan="3">Lists</th></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_ul.png" style="border: 1px solid #bbb;" alt="Unordered list" /></th><td>* Item 1<br />* Item 2</td><td><ul><li>Item 1</li><li>Item 2</li></ul></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_ul.png" style="border: 1px solid #bbb;" alt="Unordered list" /></th><td>* Item 1<br />* Item 2</td><td><ul><li>Item 1</li><li>Item 2</li></ul></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_ol.png" style="border: 1px solid #bbb;" alt="Ordered list" /></th><td># Item 1<br /># Item 2</td><td><ol><li>Item 1</li><li>Item 2</li></ol></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_ol.png" style="border: 1px solid #bbb;" alt="Ordered list" /></th><td># Item 1<br /># Item 2</td><td><ol><li>Item 1</li><li>Item 2</li></ol></td></tr>
|
||||||
|
|
||||||
<tr><th colspan="3">Headings</th></tr>
|
<tr><th colspan="3">Headings</th></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_h1.png" style="border: 1px solid #bbb;" alt="Heading 1" /></th><td>h1. Title 1</td><td><h1>Title 1</h1></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_h1.png" style="border: 1px solid #bbb;" alt="Heading 1" /></th><td>h1. Title 1</td><td><h1>Title 1</h1></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_h2.png" style="border: 1px solid #bbb;" alt="Heading 2" /></th><td>h2. Title 2</td><td><h2>Title 2</h2></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_h2.png" style="border: 1px solid #bbb;" alt="Heading 2" /></th><td>h2. Title 2</td><td><h2>Title 2</h2></td></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_h3.png" style="border: 1px solid #bbb;" alt="Heading 3" /></th><td>h3. Title 3</td><td><h3>Title 3</h3></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_h3.png" style="border: 1px solid #bbb;" alt="Heading 3" /></th><td>h3. Title 3</td><td><h3>Title 3</h3></td></tr>
|
||||||
|
|
||||||
<tr><th colspan="3">Links</th></tr>
|
<tr><th colspan="3">Links</th></tr>
|
||||||
<tr><th></th><td>http://foo.bar</td><td><a href="#">http://foo.bar</a></td></tr>
|
<tr><th></th><td>http://foo.bar</td><td><a href="#">http://foo.bar</a></td></tr>
|
||||||
<tr><th></th><td>"Foo":http://foo.bar</td><td><a href="#">Foo</a></td></tr>
|
<tr><th></th><td>"Foo":http://foo.bar</td><td><a href="#">Foo</a></td></tr>
|
||||||
|
|
||||||
<tr><th colspan="3">Redmine links</th></tr>
|
<tr><th colspan="3">Redmine links</th></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_link.png" style="border: 1px solid #bbb;" alt="Link to a Wiki page" /></th><td>[[Wiki page]]</td><td><a href="#">Wiki page</a></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_link.png" style="border: 1px solid #bbb;" alt="Link to a Wiki page" /></th><td>[[Wiki page]]</td><td><a href="#">Wiki page</a></td></tr>
|
||||||
<tr><th></th><td>Issue #12</td><td>Issue <a href="#">#12</a></td></tr>
|
<tr><th></th><td>Issue #12</td><td>Issue <a href="#">#12</a></td></tr>
|
||||||
<tr><th></th><td>Revision r43</td><td>Revision <a href="#">r43</a></td></tr>
|
<tr><th></th><td>Revision r43</td><td>Revision <a href="#">r43</a></td></tr>
|
||||||
<tr><th></th><td>commit:"f30e13e43"</td><td><a href="#">f30e13e4</a></td></tr>
|
<tr><th></th><td>commit:"f30e13e43"</td><td><a href="#">f30e13e4</a></td></tr>
|
||||||
<tr><th></th><td>source:some/file</td><td><a href="#">source:some/file</a></td></tr>
|
<tr><th></th><td>source:some/file</td><td><a href="#">source:some/file</a></td></tr>
|
||||||
|
|
||||||
<tr><th colspan="3">Inline images</th></tr>
|
<tr><th colspan="3">Inline images</th></tr>
|
||||||
<tr><th><img src="../../images/jstoolbar/bt_img.png" style="border: 1px solid #bbb;" alt="Image" /></th><td>!<em>image_url</em>!</td><td></td></tr>
|
<tr><th><img src="../images/jstoolbar/bt_img.png" style="border: 1px solid #bbb;" alt="Image" /></th><td>!<em>image_url</em>!</td><td></td></tr>
|
||||||
<tr><th></th><td>!<em>attached_image</em>!</td><td></td></tr>
|
<tr><th></th><td>!<em>attached_image</em>!</td><td></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 335 B |
Binary file not shown.
|
After Width: | Height: | Size: 335 B |
@@ -2,10 +2,10 @@
|
|||||||
Copyright (C) 2006-2008 Jean-Philippe Lang */
|
Copyright (C) 2006-2008 Jean-Philippe Lang */
|
||||||
|
|
||||||
function checkAll (id, checked) {
|
function checkAll (id, checked) {
|
||||||
var el = document.getElementById(id);
|
var els = Element.descendants(id);
|
||||||
for (var i = 0; i < el.elements.length; i++) {
|
for (var i = 0; i < els.length; i++) {
|
||||||
if (el.elements[i].disabled==false) {
|
if (els[i].disabled==false) {
|
||||||
el.elements[i].checked = checked;
|
els[i].checked = checked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,7 @@ function setPredecessorFieldsVisibility() {
|
|||||||
function promptToRemote(text, param, url) {
|
function promptToRemote(text, param, url) {
|
||||||
value = prompt(text + ':');
|
value = prompt(text + ':');
|
||||||
if (value) {
|
if (value) {
|
||||||
new Ajax.Request(url + '?' + param + '=' + value, {asynchronous:true, evalScripts:true});
|
new Ajax.Request(url + '?' + param + '=' + encodeURIComponent(value), {asynchronous:true, evalScripts:true});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ Calendar._TT["DAY_FIRST"] = "הצג %s קודם";
|
|||||||
// This may be locale-dependent. It specifies the week-end days, as an array
|
// This may be locale-dependent. It specifies the week-end days, as an array
|
||||||
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
||||||
// means Monday, etc.
|
// means Monday, etc.
|
||||||
Calendar._TT["WEEKEND"] = "6,7";
|
Calendar._TT["WEEKEND"] = "5,6";
|
||||||
|
|
||||||
Calendar._TT["CLOSE"] = "סגור";
|
Calendar._TT["CLOSE"] = "סגור";
|
||||||
Calendar._TT["TODAY"] = "היום";
|
Calendar._TT["TODAY"] = "היום";
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
// ** I18N
|
||||||
|
|
||||||
|
// Calendar HU language
|
||||||
|
// Author: Takács Gábor
|
||||||
|
// Encoding: UTF-8
|
||||||
|
// Distributed under the same terms as the calendar itself.
|
||||||
|
|
||||||
|
// For translators: please use UTF-8 if possible. We strongly believe that
|
||||||
|
// Unicode is the answer to a real internationalized world. Also please
|
||||||
|
// include your contact information in the header, as can be seen above.
|
||||||
|
|
||||||
|
// full day names
|
||||||
|
Calendar._DN = new Array
|
||||||
|
("Vasárnap",
|
||||||
|
"Hétfő",
|
||||||
|
"Kedd",
|
||||||
|
"Szerda",
|
||||||
|
"Csütörtök",
|
||||||
|
"Péntek",
|
||||||
|
"Szombat",
|
||||||
|
"Vasárnap");
|
||||||
|
|
||||||
|
// Please note that the following array of short day names (and the same goes
|
||||||
|
// for short month names, _SMN) isn't absolutely necessary. We give it here
|
||||||
|
// for exemplification on how one can customize the short day names, but if
|
||||||
|
// they are simply the first N letters of the full name you can simply say:
|
||||||
|
//
|
||||||
|
// Calendar._SDN_len = N; // short day name length
|
||||||
|
// Calendar._SMN_len = N; // short month name length
|
||||||
|
//
|
||||||
|
// If N = 3 then this is not needed either since we assume a value of 3 if not
|
||||||
|
// present, to be compatible with translation files that were written before
|
||||||
|
// this feature.
|
||||||
|
|
||||||
|
// short day names
|
||||||
|
Calendar._SDN = new Array
|
||||||
|
("Vas",
|
||||||
|
"Hét",
|
||||||
|
"Ked",
|
||||||
|
"Sze",
|
||||||
|
"Csü",
|
||||||
|
"Pén",
|
||||||
|
"Szo",
|
||||||
|
"Vas");
|
||||||
|
|
||||||
|
// First day of the week. "0" means display Sunday first, "1" means display
|
||||||
|
// Monday first, etc.
|
||||||
|
Calendar._FD = 1;
|
||||||
|
|
||||||
|
// full month names
|
||||||
|
Calendar._MN = new Array
|
||||||
|
("Január",
|
||||||
|
"Február",
|
||||||
|
"Március",
|
||||||
|
"Április",
|
||||||
|
"Május",
|
||||||
|
"Június",
|
||||||
|
"Július",
|
||||||
|
"Augusztus",
|
||||||
|
"Szeptember",
|
||||||
|
"Október",
|
||||||
|
"November",
|
||||||
|
"December");
|
||||||
|
|
||||||
|
// short month names
|
||||||
|
Calendar._SMN = new Array
|
||||||
|
("Jan",
|
||||||
|
"Feb",
|
||||||
|
"Már",
|
||||||
|
"Ápr",
|
||||||
|
"Máj",
|
||||||
|
"Jún",
|
||||||
|
"Júl",
|
||||||
|
"Aug",
|
||||||
|
"Szep",
|
||||||
|
"Okt",
|
||||||
|
"Nov",
|
||||||
|
"Dec");
|
||||||
|
|
||||||
|
// tooltips
|
||||||
|
Calendar._TT = {};
|
||||||
|
Calendar._TT["INFO"] = "A naptár leírása";
|
||||||
|
|
||||||
|
Calendar._TT["ABOUT"] =
|
||||||
|
"DHTML Date/Time Selector\n" +
|
||||||
|
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
||||||
|
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
||||||
|
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
||||||
|
"\n\n" +
|
||||||
|
"Date selection:\n" +
|
||||||
|
"- Use the \xab, \xbb buttons to select year\n" +
|
||||||
|
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
|
||||||
|
"- Hold mouse button on any of the above buttons for faster selection.";
|
||||||
|
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
||||||
|
"Time selection:\n" +
|
||||||
|
"- Click on any of the time parts to increase it\n" +
|
||||||
|
"- or Shift-click to decrease it\n" +
|
||||||
|
"- or click and drag for faster selection.";
|
||||||
|
|
||||||
|
Calendar._TT["PREV_YEAR"] = "Előző év (nyomvatart = menü)";
|
||||||
|
Calendar._TT["PREV_MONTH"] = "Előző hónap (nyomvatart = menü)";
|
||||||
|
Calendar._TT["GO_TODAY"] = "Irány a Ma";
|
||||||
|
Calendar._TT["NEXT_MONTH"] = "Következő hónap (nyomvatart = menü)";
|
||||||
|
Calendar._TT["NEXT_YEAR"] = "Következő év (nyomvatart = menü)";
|
||||||
|
Calendar._TT["SEL_DATE"] = "Válasszon dátumot";
|
||||||
|
Calendar._TT["DRAG_TO_MOVE"] = "Fogd és vidd";
|
||||||
|
Calendar._TT["PART_TODAY"] = " (ma)";
|
||||||
|
|
||||||
|
// the following is to inform that "%s" is to be the first day of week
|
||||||
|
// %s will be replaced with the day name.
|
||||||
|
Calendar._TT["DAY_FIRST"] = "%s megjelenítése elsőként";
|
||||||
|
|
||||||
|
// This may be locale-dependent. It specifies the week-end days, as an array
|
||||||
|
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
||||||
|
// means Monday, etc.
|
||||||
|
Calendar._TT["WEEKEND"] = "0,6";
|
||||||
|
|
||||||
|
Calendar._TT["CLOSE"] = "Bezár";
|
||||||
|
Calendar._TT["TODAY"] = "Ma";
|
||||||
|
Calendar._TT["TIME_PART"] = "(Shift-)Click vagy húzd az érték változtatásához";
|
||||||
|
|
||||||
|
// date formats
|
||||||
|
Calendar._TT["DEF_DATE_FORMAT"] = "%Y.%m.%d";
|
||||||
|
Calendar._TT["TT_DATE_FORMAT"] = "%B %e, %A";
|
||||||
|
|
||||||
|
Calendar._TT["WK"] = "hét";
|
||||||
|
Calendar._TT["TIME"] = "Idő:";
|
||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
// Calendar pt_BR language
|
// Calendar pt_BR language
|
||||||
// Author: Adalberto Machado, <betosm@terra.com.br>
|
// Author: Adalberto Machado, <betosm@terra.com.br>
|
||||||
// Encoding: any
|
// Review: Alexandre da Silva, <simpsomboy@gmail.com>
|
||||||
|
// Encoding: UTF-8
|
||||||
// Distributed under the same terms as the calendar itself.
|
// Distributed under the same terms as the calendar itself.
|
||||||
|
|
||||||
// For translators: please use UTF-8 if possible. We strongly believe that
|
// For translators: please use UTF-8 if possible. We strongly believe that
|
||||||
@@ -13,7 +14,7 @@
|
|||||||
Calendar._DN = new Array
|
Calendar._DN = new Array
|
||||||
("Domingo",
|
("Domingo",
|
||||||
"Segunda",
|
"Segunda",
|
||||||
"Terca",
|
"Terça",
|
||||||
"Quarta",
|
"Quarta",
|
||||||
"Quinta",
|
"Quinta",
|
||||||
"Sexta",
|
"Sexta",
|
||||||
@@ -45,13 +46,13 @@ Calendar._SDN = new Array
|
|||||||
|
|
||||||
// First day of the week. "0" means display Sunday first, "1" means display
|
// First day of the week. "0" means display Sunday first, "1" means display
|
||||||
// Monday first, etc.
|
// Monday first, etc.
|
||||||
Calendar._FD = 1;
|
Calendar._FD = 0;
|
||||||
|
|
||||||
// full month names
|
// full month names
|
||||||
Calendar._MN = new Array
|
Calendar._MN = new Array
|
||||||
("Janeiro",
|
("Janeiro",
|
||||||
"Fevereiro",
|
"Fevereiro",
|
||||||
"Marco",
|
"Março",
|
||||||
"Abril",
|
"Abril",
|
||||||
"Maio",
|
"Maio",
|
||||||
"Junho",
|
"Junho",
|
||||||
@@ -79,29 +80,30 @@ Calendar._SMN = new Array
|
|||||||
|
|
||||||
// tooltips
|
// tooltips
|
||||||
Calendar._TT = {};
|
Calendar._TT = {};
|
||||||
Calendar._TT["INFO"] = "Sobre o calendario";
|
Calendar._TT["INFO"] = "Sobre o calendário";
|
||||||
|
|
||||||
Calendar._TT["ABOUT"] =
|
Calendar._TT["ABOUT"] =
|
||||||
"DHTML Date/Time Selector\n" +
|
"DHTML Date/Time Selector\n" +
|
||||||
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
||||||
"Ultima versao visite: http://www.dynarch.com/projects/calendar/\n" +
|
"Última versão visite: http://www.dynarch.com/projects/calendar/\n" +
|
||||||
"Distribuido sobre GNU LGPL. Veja http://gnu.org/licenses/lgpl.html para detalhes." +
|
"Distribuído sobre GNU LGPL. Veja http://gnu.org/licenses/lgpl.html para detalhes." +
|
||||||
"\n\n" +
|
"\n\n" +
|
||||||
"Selecao de data:\n" +
|
"Seleção de data:\n" +
|
||||||
"- Use os botoes \xab, \xbb para selecionar o ano\n" +
|
"- Use os botões \xab, \xbb para selecionar o ano\n" +
|
||||||
"- Use os botoes " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mes\n" +
|
"- Use os botões " + String.fromCharCode(0x2039) + ", " +
|
||||||
"- Segure o botao do mouse em qualquer um desses botoes para selecao rapida.";
|
String.fromCharCode(0x203a) + " para selecionar o mês\n" +
|
||||||
|
"- Segure o botão do mouse em qualquer um desses botões para seleção rápida.";
|
||||||
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
||||||
"Selecao de hora:\n" +
|
"Seleção de hora:\n" +
|
||||||
"- Clique em qualquer parte da hora para incrementar\n" +
|
"- Clique em qualquer parte da hora para incrementar\n" +
|
||||||
"- ou Shift-click para decrementar\n" +
|
"- ou Shift-click para decrementar\n" +
|
||||||
"- ou clique e segure para selecao rapida.";
|
"- ou clique e segure para seleção rápida.";
|
||||||
|
|
||||||
Calendar._TT["PREV_YEAR"] = "Ant. ano (segure para menu)";
|
Calendar._TT["PREV_YEAR"] = "Ant. ano (segure para menu)";
|
||||||
Calendar._TT["PREV_MONTH"] = "Ant. mes (segure para menu)";
|
Calendar._TT["PREV_MONTH"] = "Ant. mês (segure para menu)";
|
||||||
Calendar._TT["GO_TODAY"] = "Hoje";
|
Calendar._TT["GO_TODAY"] = "Hoje";
|
||||||
Calendar._TT["NEXT_MONTH"] = "Prox. mes (segure para menu)";
|
Calendar._TT["NEXT_MONTH"] = "Próx. mes (segure para menu)";
|
||||||
Calendar._TT["NEXT_YEAR"] = "Prox. ano (segure para menu)";
|
Calendar._TT["NEXT_YEAR"] = "Próx. ano (segure para menu)";
|
||||||
Calendar._TT["SEL_DATE"] = "Selecione a data";
|
Calendar._TT["SEL_DATE"] = "Selecione a data";
|
||||||
Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover";
|
Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover";
|
||||||
Calendar._TT["PART_TODAY"] = " (hoje)";
|
Calendar._TT["PART_TODAY"] = " (hoje)";
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
// ** I18N
|
||||||
|
|
||||||
|
// Calendar EN language
|
||||||
|
// Author: Gampol Thitinilnithi, <gampolt@gmail.com>
|
||||||
|
// Encoding: UTF-8
|
||||||
|
// Distributed under the same terms as the calendar itself.
|
||||||
|
|
||||||
|
// For translators: please use UTF-8 if possible. We strongly believe that
|
||||||
|
// Unicode is the answer to a real internationalized world. Also please
|
||||||
|
// include your contact information in the header, as can be seen above.
|
||||||
|
|
||||||
|
// full day names
|
||||||
|
Calendar._DN = new Array
|
||||||
|
("อาทิตย์",
|
||||||
|
"จันทร์",
|
||||||
|
"อังคาร",
|
||||||
|
"พุธ",
|
||||||
|
"พฤหัสบดี",
|
||||||
|
"ศุกร์",
|
||||||
|
"เสาร์",
|
||||||
|
"อาทิตย์");
|
||||||
|
|
||||||
|
// Please note that the following array of short day names (and the same goes
|
||||||
|
// for short month names, _SMN) isn't absolutely necessary. We give it here
|
||||||
|
// for exemplification on how one can customize the short day names, but if
|
||||||
|
// they are simply the first N letters of the full name you can simply say:
|
||||||
|
//
|
||||||
|
// Calendar._SDN_len = N; // short day name length
|
||||||
|
// Calendar._SMN_len = N; // short month name length
|
||||||
|
//
|
||||||
|
// If N = 3 then this is not needed either since we assume a value of 3 if not
|
||||||
|
// present, to be compatible with translation files that were written before
|
||||||
|
// this feature.
|
||||||
|
|
||||||
|
// short day names
|
||||||
|
Calendar._SDN = new Array
|
||||||
|
("อา.",
|
||||||
|
"จ.",
|
||||||
|
"อ.",
|
||||||
|
"พ.",
|
||||||
|
"พฤ.",
|
||||||
|
"ศ.",
|
||||||
|
"ส.",
|
||||||
|
"อา.");
|
||||||
|
|
||||||
|
// First day of the week. "0" means display Sunday first, "1" means display
|
||||||
|
// Monday first, etc.
|
||||||
|
Calendar._FD = 1;
|
||||||
|
|
||||||
|
// full month names
|
||||||
|
Calendar._MN = new Array
|
||||||
|
("มกราคม",
|
||||||
|
"กุมภาพันธ์",
|
||||||
|
"มีนาคม",
|
||||||
|
"เมษายน",
|
||||||
|
"พฤษภาคม",
|
||||||
|
"มิถุนายน",
|
||||||
|
"กรกฎาคม",
|
||||||
|
"สิงหาคม",
|
||||||
|
"กันยายน",
|
||||||
|
"ตุลาคม",
|
||||||
|
"พฤศจิกายน",
|
||||||
|
"ธันวาคม");
|
||||||
|
|
||||||
|
// short month names
|
||||||
|
Calendar._SMN = new Array
|
||||||
|
("ม.ค.",
|
||||||
|
"ก.พ.",
|
||||||
|
"มี.ค.",
|
||||||
|
"เม.ย.",
|
||||||
|
"พ.ค.",
|
||||||
|
"มิ.ย.",
|
||||||
|
"ก.ค.",
|
||||||
|
"ส.ค.",
|
||||||
|
"ก.ย.",
|
||||||
|
"ต.ค.",
|
||||||
|
"พ.ย.",
|
||||||
|
"ธ.ค.");
|
||||||
|
|
||||||
|
// tooltips
|
||||||
|
Calendar._TT = {};
|
||||||
|
Calendar._TT["INFO"] = "เกี่ยวกับปฏิทิน";
|
||||||
|
|
||||||
|
Calendar._TT["ABOUT"] =
|
||||||
|
"DHTML Date/Time Selector\n" +
|
||||||
|
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
||||||
|
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
||||||
|
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
||||||
|
"\n\n" +
|
||||||
|
"Date selection:\n" +
|
||||||
|
"- Use the \xab, \xbb buttons to select year\n" +
|
||||||
|
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
|
||||||
|
"- Hold mouse button on any of the above buttons for faster selection.";
|
||||||
|
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
||||||
|
"Time selection:\n" +
|
||||||
|
"- Click on any of the time parts to increase it\n" +
|
||||||
|
"- or Shift-click to decrease it\n" +
|
||||||
|
"- or click and drag for faster selection.";
|
||||||
|
|
||||||
|
Calendar._TT["PREV_YEAR"] = "ปีที่แล้ว (ถ้ากดค้างจะมีเมนู)";
|
||||||
|
Calendar._TT["PREV_MONTH"] = "เดือนที่แล้ว (ถ้ากดค้างจะมีเมนู)";
|
||||||
|
Calendar._TT["GO_TODAY"] = "ไปที่วันนี้";
|
||||||
|
Calendar._TT["NEXT_MONTH"] = "เดือนหน้า (ถ้ากดค้างจะมีเมนู)";
|
||||||
|
Calendar._TT["NEXT_YEAR"] = "ปีหน้า (ถ้ากดค้างจะมีเมนู)";
|
||||||
|
Calendar._TT["SEL_DATE"] = "เลือกวัน";
|
||||||
|
Calendar._TT["DRAG_TO_MOVE"] = "กดแล้วลากเพื่อย้าย";
|
||||||
|
Calendar._TT["PART_TODAY"] = " (วันนี้)";
|
||||||
|
|
||||||
|
// the following is to inform that "%s" is to be the first day of week
|
||||||
|
// %s will be replaced with the day name.
|
||||||
|
Calendar._TT["DAY_FIRST"] = "แสดง %s เป็นวันแรก";
|
||||||
|
|
||||||
|
// This may be locale-dependent. It specifies the week-end days, as an array
|
||||||
|
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
||||||
|
// means Monday, etc.
|
||||||
|
Calendar._TT["WEEKEND"] = "0,6";
|
||||||
|
|
||||||
|
Calendar._TT["CLOSE"] = "ปิด";
|
||||||
|
Calendar._TT["TODAY"] = "วันนี้";
|
||||||
|
Calendar._TT["TIME_PART"] = "(Shift-)กดหรือกดแล้วลากเพื่อเปลี่ยนค่า";
|
||||||
|
|
||||||
|
// date formats
|
||||||
|
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
||||||
|
Calendar._TT["TT_DATE_FORMAT"] = "%a %e %b";
|
||||||
|
|
||||||
|
Calendar._TT["WK"] = "wk";
|
||||||
|
Calendar._TT["TIME"] = "เวลา:";
|
||||||
@@ -84,13 +84,13 @@ Calendar._TT["INFO"] = "關於 calendar";
|
|||||||
Calendar._TT["ABOUT"] =
|
Calendar._TT["ABOUT"] =
|
||||||
"DHTML 日期/時間 選擇器\n" +
|
"DHTML 日期/時間 選擇器\n" +
|
||||||
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
||||||
"最For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
"最新版本取得位址: http://www.dynarch.com/projects/calendar/\n" +
|
||||||
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
"使用 GNU LGPL 發行. 參考 http://gnu.org/licenses/lgpl.html 以取得更多關於 LGPL 之細節。" +
|
||||||
"\n\n" +
|
"\n\n" +
|
||||||
"Date selection:\n" +
|
"日期選擇方式:\n" +
|
||||||
"- Use the \xab, \xbb buttons to select year\n" +
|
"- 使用滑鼠點擊 \xab 、 \xbb 按鈕選擇年份\n" +
|
||||||
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
|
"- 使用滑鼠點擊 " + String.fromCharCode(0x2039) + " 、 " + String.fromCharCode(0x203a) + " 按鈕選擇月份\n" +
|
||||||
"- Hold mouse button on any of the above buttons for faster selection.";
|
"- 使用滑鼠點擊上述按鈕並按住不放,可開啟快速選單。";
|
||||||
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
||||||
"時間選擇方式:\n" +
|
"時間選擇方式:\n" +
|
||||||
"- 「單擊」時分秒為遞增\n" +
|
"- 「單擊」時分秒為遞增\n" +
|
||||||
|
|||||||
@@ -82,33 +82,33 @@ Calendar._TT = {};
|
|||||||
Calendar._TT["INFO"] = "关于日历";
|
Calendar._TT["INFO"] = "关于日历";
|
||||||
|
|
||||||
Calendar._TT["ABOUT"] =
|
Calendar._TT["ABOUT"] =
|
||||||
"DHTML Date/Time Selector\n" +
|
"DHTML 日期/时间 选择器\n" +
|
||||||
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
||||||
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
"最新版本请访问: http://www.dynarch.com/projects/calendar/\n" +
|
||||||
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
"遵循 GNU LGPL 发布。详情请查阅 http://gnu.org/licenses/lgpl.html " +
|
||||||
"\n\n" +
|
"\n\n" +
|
||||||
"Date selection:\n" +
|
"日期选择:\n" +
|
||||||
"- Use the \xab, \xbb buttons to select year\n" +
|
"- 使用 \xab,\xbb 按钮选择年\n" +
|
||||||
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
|
"- 使用 " + String.fromCharCode(0x2039) + "," + String.fromCharCode(0x203a) + " 按钮选择月\n" +
|
||||||
"- Hold mouse button on any of the above buttons for faster selection.";
|
"- 在上述按钮上按住不放可以快速选择";
|
||||||
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
||||||
"Time selection:\n" +
|
"时间选择:\n" +
|
||||||
"- Click on any of the time parts to increase it\n" +
|
"- 点击时间的任意部分来增加\n" +
|
||||||
"- or Shift-click to decrease it\n" +
|
"- Shift加点击来减少\n" +
|
||||||
"- or click and drag for faster selection.";
|
"- 点击后拖动进行快速选择";
|
||||||
|
|
||||||
Calendar._TT["PREV_YEAR"] = "上年 (hold for menu)";
|
Calendar._TT["PREV_YEAR"] = "上年(按住不放显示菜单)";
|
||||||
Calendar._TT["PREV_MONTH"] = "上月 (hold for menu)";
|
Calendar._TT["PREV_MONTH"] = "上月(按住不放显示菜单)";
|
||||||
Calendar._TT["GO_TODAY"] = "回到今天";
|
Calendar._TT["GO_TODAY"] = "回到今天";
|
||||||
Calendar._TT["NEXT_MONTH"] = "下月 (hold for menu)";
|
Calendar._TT["NEXT_MONTH"] = "下月(按住不放显示菜单)";
|
||||||
Calendar._TT["NEXT_YEAR"] = "下年 (hold for menu)";
|
Calendar._TT["NEXT_YEAR"] = "下年(按住不放显示菜单)";
|
||||||
Calendar._TT["SEL_DATE"] = "选择日期";
|
Calendar._TT["SEL_DATE"] = "选择日期";
|
||||||
Calendar._TT["DRAG_TO_MOVE"] = "拖动";
|
Calendar._TT["DRAG_TO_MOVE"] = "拖动";
|
||||||
Calendar._TT["PART_TODAY"] = " (今日)";
|
Calendar._TT["PART_TODAY"] = " (今日)";
|
||||||
|
|
||||||
// the following is to inform that "%s" is to be the first day of week
|
// the following is to inform that "%s" is to be the first day of week
|
||||||
// %s will be replaced with the day name.
|
// %s will be replaced with the day name.
|
||||||
Calendar._TT["DAY_FIRST"] = "Display %s first";
|
Calendar._TT["DAY_FIRST"] = "一周开始于 %s";
|
||||||
|
|
||||||
// This may be locale-dependent. It specifies the week-end days, as an array
|
// This may be locale-dependent. It specifies the week-end days, as an array
|
||||||
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
||||||
@@ -117,11 +117,11 @@ Calendar._TT["WEEKEND"] = "0,6";
|
|||||||
|
|
||||||
Calendar._TT["CLOSE"] = "关闭";
|
Calendar._TT["CLOSE"] = "关闭";
|
||||||
Calendar._TT["TODAY"] = "今天";
|
Calendar._TT["TODAY"] = "今天";
|
||||||
Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
|
Calendar._TT["TIME_PART"] = "Shift加点击或者拖动来变更";
|
||||||
|
|
||||||
// date formats
|
// date formats
|
||||||
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
||||||
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
|
Calendar._TT["TT_DATE_FORMAT"] = "星期%a %b%e日";
|
||||||
|
|
||||||
Calendar._TT["WK"] = "wk";
|
Calendar._TT["WK"] = "周";
|
||||||
Calendar._TT["TIME"] = "Time:";
|
Calendar._TT["TIME"] = "时间:";
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
jsToolBar.strings = {};
|
||||||
|
jsToolBar.strings['Strong'] = 'Félkövér';
|
||||||
|
jsToolBar.strings['Italic'] = 'Dőlt';
|
||||||
|
jsToolBar.strings['Underline'] = 'Aláhúzott';
|
||||||
|
jsToolBar.strings['Deleted'] = 'Törölt';
|
||||||
|
jsToolBar.strings['Code'] = 'Kód sorok';
|
||||||
|
jsToolBar.strings['Heading 1'] = 'Fejléc 1';
|
||||||
|
jsToolBar.strings['Heading 2'] = 'Fejléc 2';
|
||||||
|
jsToolBar.strings['Heading 3'] = 'Fejléc 3';
|
||||||
|
jsToolBar.strings['Unordered list'] = 'Felsorolás';
|
||||||
|
jsToolBar.strings['Ordered list'] = 'Számozott lista';
|
||||||
|
jsToolBar.strings['Preformatted text'] = 'Előreformázott szöveg';
|
||||||
|
jsToolBar.strings['Wiki link'] = 'Link egy Wiki oldalra';
|
||||||
|
jsToolBar.strings['Image'] = 'Kép';
|
||||||
@@ -1,14 +1,16 @@
|
|||||||
|
// Translated by: Alexandre da Silva <simpsomboy@gmail.com>
|
||||||
|
|
||||||
jsToolBar.strings = {};
|
jsToolBar.strings = {};
|
||||||
jsToolBar.strings['Strong'] = 'Strong';
|
jsToolBar.strings['Strong'] = 'Negrito';
|
||||||
jsToolBar.strings['Italic'] = 'Italic';
|
jsToolBar.strings['Italic'] = 'Itálico';
|
||||||
jsToolBar.strings['Underline'] = 'Underline';
|
jsToolBar.strings['Underline'] = 'Sublinhado';
|
||||||
jsToolBar.strings['Deleted'] = 'Deleted';
|
jsToolBar.strings['Deleted'] = 'Excluído';
|
||||||
jsToolBar.strings['Code'] = 'Inline Code';
|
jsToolBar.strings['Code'] = 'Código Inline';
|
||||||
jsToolBar.strings['Heading 1'] = 'Heading 1';
|
jsToolBar.strings['Heading 1'] = 'Cabeçalho 1';
|
||||||
jsToolBar.strings['Heading 2'] = 'Heading 2';
|
jsToolBar.strings['Heading 2'] = 'Cabeçalho 2';
|
||||||
jsToolBar.strings['Heading 3'] = 'Heading 3';
|
jsToolBar.strings['Heading 3'] = 'Cabeçalho 3';
|
||||||
jsToolBar.strings['Unordered list'] = 'Unordered list';
|
jsToolBar.strings['Unordered list'] = 'Lista não ordenada';
|
||||||
jsToolBar.strings['Ordered list'] = 'Ordered list';
|
jsToolBar.strings['Ordered list'] = 'Lista ordenada';
|
||||||
jsToolBar.strings['Preformatted text'] = 'Preformatted text';
|
jsToolBar.strings['Preformatted text'] = 'Texto pré-formatado';
|
||||||
jsToolBar.strings['Wiki link'] = 'Link to a Wiki page';
|
jsToolBar.strings['Wiki link'] = 'Link para uma página Wiki';
|
||||||
jsToolBar.strings['Image'] = 'Image';
|
jsToolBar.strings['Image'] = 'Imagem';
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
jsToolBar.strings = {};
|
||||||
|
jsToolBar.strings['Strong'] = 'หนา';
|
||||||
|
jsToolBar.strings['Italic'] = 'เอียง';
|
||||||
|
jsToolBar.strings['Underline'] = 'ขีดเส้นใต้';
|
||||||
|
jsToolBar.strings['Deleted'] = 'ขีดฆ่า';
|
||||||
|
jsToolBar.strings['Code'] = 'โค๊ดโปรแกรม';
|
||||||
|
jsToolBar.strings['Heading 1'] = 'หัวข้อ 1';
|
||||||
|
jsToolBar.strings['Heading 2'] = 'หัวข้อ 2';
|
||||||
|
jsToolBar.strings['Heading 3'] = 'หัวข้อ 3';
|
||||||
|
jsToolBar.strings['Unordered list'] = 'รายการ';
|
||||||
|
jsToolBar.strings['Ordered list'] = 'ลำดับเลข';
|
||||||
|
jsToolBar.strings['Preformatted text'] = 'รูปแบบข้อความคงที่';
|
||||||
|
jsToolBar.strings['Wiki link'] = 'เชื่อมโยงไปหน้า Wiki อื่น';
|
||||||
|
jsToolBar.strings['Image'] = 'รูปภาพ';
|
||||||
@@ -9,6 +9,8 @@ jsToolBar.strings['Heading 2'] = '標題 2';
|
|||||||
jsToolBar.strings['Heading 3'] = '標題 3';
|
jsToolBar.strings['Heading 3'] = '標題 3';
|
||||||
jsToolBar.strings['Unordered list'] = '項目清單';
|
jsToolBar.strings['Unordered list'] = '項目清單';
|
||||||
jsToolBar.strings['Ordered list'] = '編號清單';
|
jsToolBar.strings['Ordered list'] = '編號清單';
|
||||||
jsToolBar.strings['Preformatted text'] = '格式化文字';
|
jsToolBar.strings['Quote'] = '引文';
|
||||||
|
jsToolBar.strings['Unquote'] = '取消引文';
|
||||||
|
jsToolBar.strings['Preformatted text'] = '已格式文字';
|
||||||
jsToolBar.strings['Wiki link'] = '連結至 Wiki 頁面';
|
jsToolBar.strings['Wiki link'] = '連結至 Wiki 頁面';
|
||||||
jsToolBar.strings['Image'] = '圖片';
|
jsToolBar.strings['Image'] = '圖片';
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
jsToolBar.strings = {};
|
jsToolBar.strings = {};
|
||||||
jsToolBar.strings['Strong'] = 'Strong';
|
jsToolBar.strings['Strong'] = '粗体';
|
||||||
jsToolBar.strings['Italic'] = 'Italic';
|
jsToolBar.strings['Italic'] = '斜体';
|
||||||
jsToolBar.strings['Underline'] = 'Underline';
|
jsToolBar.strings['Underline'] = '下划线';
|
||||||
jsToolBar.strings['Deleted'] = 'Deleted';
|
jsToolBar.strings['Deleted'] = '删除线';
|
||||||
jsToolBar.strings['Code'] = 'Inline Code';
|
jsToolBar.strings['Code'] = '程序代码';
|
||||||
jsToolBar.strings['Heading 1'] = 'Heading 1';
|
jsToolBar.strings['Heading 1'] = '标题 1';
|
||||||
jsToolBar.strings['Heading 2'] = 'Heading 2';
|
jsToolBar.strings['Heading 2'] = '标题 2';
|
||||||
jsToolBar.strings['Heading 3'] = 'Heading 3';
|
jsToolBar.strings['Heading 3'] = '标题 3';
|
||||||
jsToolBar.strings['Unordered list'] = 'Unordered list';
|
jsToolBar.strings['Unordered list'] = '无序列表';
|
||||||
jsToolBar.strings['Ordered list'] = 'Ordered list';
|
jsToolBar.strings['Ordered list'] = '排序列表';
|
||||||
jsToolBar.strings['Preformatted text'] = 'Preformatted text';
|
jsToolBar.strings['Quote'] = '引用';
|
||||||
jsToolBar.strings['Wiki link'] = 'Link to a Wiki page';
|
jsToolBar.strings['Unquote'] = '删除引用';
|
||||||
jsToolBar.strings['Image'] = 'Image';
|
jsToolBar.strings['Preformatted text'] = '格式化文本';
|
||||||
|
jsToolBar.strings['Wiki link'] = '连接到 Wiki 页面';
|
||||||
|
jsToolBar.strings['Image'] = '图片';
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ a.issue.closed, .issue.closed a { text-decoration: line-through; }
|
|||||||
/***** Tables *****/
|
/***** Tables *****/
|
||||||
table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
|
table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
|
||||||
table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
|
table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
|
||||||
table.list td { overflow: hidden; vertical-align: top;}
|
table.list td { vertical-align: top; }
|
||||||
table.list td.id { width: 2%; text-align: center;}
|
table.list td.id { width: 2%; text-align: center;}
|
||||||
table.list td.checkbox { width: 15px; padding: 0px;}
|
table.list td.checkbox { width: 15px; padding: 0px;}
|
||||||
|
|
||||||
@@ -97,6 +97,10 @@ tr.entry td.size { text-align: right; font-size: 90%; }
|
|||||||
tr.entry td.revision, tr.entry td.author { text-align: center; }
|
tr.entry td.revision, tr.entry td.author { text-align: center; }
|
||||||
tr.entry td.age { text-align: right; }
|
tr.entry td.age { text-align: right; }
|
||||||
|
|
||||||
|
tr.entry span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
|
||||||
|
tr.entry.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
|
||||||
|
tr.entry.file td.filename a { margin-left: 16px; }
|
||||||
|
|
||||||
tr.changeset td.author { text-align: center; width: 15%; }
|
tr.changeset td.author { text-align: center; width: 15%; }
|
||||||
tr.changeset td.committed_on { text-align: center; width: 15%; }
|
tr.changeset td.committed_on { text-align: center; width: 15%; }
|
||||||
|
|
||||||
@@ -223,6 +227,8 @@ height: 1%;
|
|||||||
clear:left;
|
clear:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html>body .tabular p {overflow:hidden;}
|
||||||
|
|
||||||
.tabular label{
|
.tabular label{
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
float: left;
|
float: left;
|
||||||
@@ -239,6 +245,8 @@ text-align: left;
|
|||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input#time_entry_comments { width: 90%;}
|
||||||
|
|
||||||
#preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
|
#preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
|
||||||
|
|
||||||
.tabular.settings p{ padding-left: 300px; }
|
.tabular.settings p{ padding-left: 300px; }
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
table.filecontent { border: 1px solid #ccc; border-collapse: collapse; width:98%; }
|
table.filecontent { border: 1px solid #ccc; border-collapse: collapse; width:98%; }
|
||||||
table.filecontent th { border: 1px solid #ccc; background-color: #eee; }
|
table.filecontent th { border: 1px solid #ccc; background-color: #eee; }
|
||||||
table.filecontent th.filename { background-color: #ddc; text-align: left; }
|
table.filecontent th.filename { background-color: #ddc; text-align: left; }
|
||||||
table.filecontent tr.spacing { border: 1px solid #d7d7d7; }
|
table.filecontent tr.spacing td { border: 1px solid #d7d7d7; height: 0.4em; }
|
||||||
table.filecontent th.line-num {
|
table.filecontent th.line-num {
|
||||||
border: 1px solid #d7d7d7;
|
border: 1px solid #d7d7d7;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
|
|||||||
Vendored
+7
@@ -13,4 +13,11 @@ changes_002:
|
|||||||
path: /test/some/path/elsewhere/in/the/repo
|
path: /test/some/path/elsewhere/in/the/repo
|
||||||
from_path:
|
from_path:
|
||||||
from_revision:
|
from_revision:
|
||||||
|
changes_003:
|
||||||
|
id: 3
|
||||||
|
changeset_id: 101
|
||||||
|
action: M
|
||||||
|
path: /test/some/path/in/the/repo
|
||||||
|
from_path:
|
||||||
|
from_revision:
|
||||||
|
|
||||||
Vendored
+1
@@ -4,6 +4,7 @@ custom_fields_001:
|
|||||||
min_length: 0
|
min_length: 0
|
||||||
regexp: ""
|
regexp: ""
|
||||||
is_for_all: true
|
is_for_all: true
|
||||||
|
is_filter: true
|
||||||
type: IssueCustomField
|
type: IssueCustomField
|
||||||
max_length: 0
|
max_length: 0
|
||||||
possible_values: MySQL|PostgreSQL|Oracle
|
possible_values: MySQL|PostgreSQL|Oracle
|
||||||
|
|||||||
Vendored
+5
@@ -39,4 +39,9 @@ enumerations_010:
|
|||||||
name: Development
|
name: Development
|
||||||
id: 10
|
id: 10
|
||||||
opt: ACTI
|
opt: ACTI
|
||||||
|
is_default: true
|
||||||
|
enumerations_011:
|
||||||
|
name: QA
|
||||||
|
id: 11
|
||||||
|
opt: ACTI
|
||||||
|
|
||||||
Vendored
+17
-1
@@ -71,4 +71,20 @@ issues_005:
|
|||||||
assigned_to_id:
|
assigned_to_id:
|
||||||
author_id: 2
|
author_id: 2
|
||||||
status_id: 1
|
status_id: 1
|
||||||
|
issues_006:
|
||||||
|
created_on: <%= 1.minute.ago.to_date.to_s(:db) %>
|
||||||
|
project_id: 5
|
||||||
|
updated_on: <%= 1.minute.ago.to_date.to_s(:db) %>
|
||||||
|
priority_id: 4
|
||||||
|
subject: Issue of a private subproject
|
||||||
|
id: 6
|
||||||
|
fixed_version_id:
|
||||||
|
category_id:
|
||||||
|
description: This is an issue of a private subproject of cookbook
|
||||||
|
tracker_id: 1
|
||||||
|
assigned_to_id:
|
||||||
|
author_id: 2
|
||||||
|
status_id: 1
|
||||||
|
start_date: <%= Date.today.to_s(:db) %>
|
||||||
|
due_date: <%= 1.days.from_now.to_date.to_s(:db) %>
|
||||||
|
|
||||||
Vendored
+6
@@ -24,4 +24,10 @@ members_004:
|
|||||||
role_id: 2
|
role_id: 2
|
||||||
# Locked user
|
# Locked user
|
||||||
user_id: 5
|
user_id: 5
|
||||||
|
members_005:
|
||||||
|
id: 5
|
||||||
|
created_on: 2006-07-19 19:35:33 +02:00
|
||||||
|
project_id: 5
|
||||||
|
role_id: 1
|
||||||
|
user_id: 2
|
||||||
|
|
||||||
Vendored
+13
-1
@@ -3,7 +3,7 @@ projects_001:
|
|||||||
created_on: 2006-07-19 19:13:59 +02:00
|
created_on: 2006-07-19 19:13:59 +02:00
|
||||||
name: eCookbook
|
name: eCookbook
|
||||||
updated_on: 2006-07-19 22:53:01 +02:00
|
updated_on: 2006-07-19 22:53:01 +02:00
|
||||||
projects_count: 2
|
projects_count: 3
|
||||||
id: 1
|
id: 1
|
||||||
description: Recipes management application
|
description: Recipes management application
|
||||||
homepage: http://ecookbook.somenet.foo/
|
homepage: http://ecookbook.somenet.foo/
|
||||||
@@ -43,3 +43,15 @@ projects_004:
|
|||||||
is_public: true
|
is_public: true
|
||||||
identifier: subproject2
|
identifier: subproject2
|
||||||
parent_id: 1
|
parent_id: 1
|
||||||
|
projects_005:
|
||||||
|
created_on: 2006-07-19 19:15:51 +02:00
|
||||||
|
name: Private child of eCookbook
|
||||||
|
updated_on: 2006-07-19 19:17:07 +02:00
|
||||||
|
projects_count: 0
|
||||||
|
id: 5
|
||||||
|
description: This is a private subproject of a public project
|
||||||
|
homepage: ""
|
||||||
|
is_public: false
|
||||||
|
identifier: private_child
|
||||||
|
parent_id: 1
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user