r18596@gaspard (orig r1860): nbc | 2008-09-14 21:03:46 +0200
bugfix r18597@gaspard (orig r1861): winterheart | 2008-09-15 17:14:34 +0200 #1902, translation for zh-tw r18598@gaspard (orig r1862): winterheart | 2008-09-15 17:16:53 +0200 #1907, translation for zh r18599@gaspard (orig r1863): winterheart | 2008-09-15 17:19:51 +0200 fixed #1905, patch for Hungarian language r18600@gaspard (orig r1864): winterheart | 2008-09-15 17:22:53 +0200 Minor typo, fixed #1897, thank Denis Tomashenko for reporting. r18601@gaspard (orig r1865): winterheart | 2008-09-15 18:07:30 +0200 Catalan translation (#1822), thanks to Joan Duran for contribuition. Some strings has wrong quoting, I fixed that. r18602@gaspard (orig r1866): nbc | 2008-09-15 21:37:43 +0200 * reposman can create git repository with "--scm git" option * light refactoring r18603@gaspard (orig r1867): jplang | 2008-09-16 23:54:53 +0200 Use RDoc.usage r18604@gaspard (orig r1868): jplang | 2008-09-16 23:56:02 +0200 mailhandler: fixes exit status and adds an explicit message if response code is 403. r18605@gaspard (orig r1869): winterheart | 2008-09-17 17:31:35 +0200 Patch #1909, updates for ru.yml r18606@gaspard (orig r1870): jplang | 2008-09-17 18:39:23 +0200 Render the commit changes list as a tree (#1896). r18607@gaspard (orig r1871): jplang | 2008-09-17 18:48:04 +0200 Fixed: http links containing parentheses fail to reder correctly (#1591). Patch by Paul Rivier. r18608@gaspard (orig r1872): jplang | 2008-09-17 19:18:05 +0200 Removes unused image references in stylesheets (#1914). r18609@gaspard (orig r1873): jplang | 2008-09-17 19:23:08 +0200 Fixed custom query sidebar links broken by r1797 (#1899). git-svn-id: http://redmine.rubyforge.org/svn/branches/nbc@1874 e93f8b46-1217-0410-a6f0-8f06a7374b81
No files matched your search
@@ -118,11 +118,6 @@ class RepositoriesController < ApplicationController
|
|||||||
def revision
|
def revision
|
||||||
@changeset = @repository.changesets.find_by_revision(@rev)
|
@changeset = @repository.changesets.find_by_revision(@rev)
|
||||||
raise ChangesetNotFound unless @changeset
|
raise ChangesetNotFound unless @changeset
|
||||||
@changes_count = @changeset.changes.size
|
|
||||||
@changes_pages = Paginator.new self, @changes_count, 150, params['page']
|
|
||||||
@changes = @changeset.changes.find(:all,
|
|
||||||
:limit => @changes_pages.items_per_page,
|
|
||||||
:offset => @changes_pages.current.offset)
|
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html
|
||||||
|
|||||||
@@ -32,6 +32,74 @@ module RepositoriesHelper
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def render_changeset_changes
|
||||||
|
changes = @changeset.changes.find(:all, :limit => 1000, :order => 'path').collect do |change|
|
||||||
|
case change.action
|
||||||
|
when 'A'
|
||||||
|
# Detects moved/copied files
|
||||||
|
if !change.from_path.blank?
|
||||||
|
change.action = @changeset.changes.detect {|c| c.action == 'D' && c.path == change.from_path} ? 'R' : 'C'
|
||||||
|
end
|
||||||
|
change
|
||||||
|
when 'D'
|
||||||
|
@changeset.changes.detect {|c| c.from_path == change.path} ? nil : change
|
||||||
|
else
|
||||||
|
change
|
||||||
|
end
|
||||||
|
end.compact
|
||||||
|
|
||||||
|
tree = { }
|
||||||
|
changes.each do |change|
|
||||||
|
p = tree
|
||||||
|
dirs = change.path.to_s.split('/').select {|d| !d.blank?}
|
||||||
|
dirs.each do |dir|
|
||||||
|
p[:s] ||= {}
|
||||||
|
p = p[:s]
|
||||||
|
p[dir] ||= {}
|
||||||
|
p = p[dir]
|
||||||
|
end
|
||||||
|
p[:c] = change
|
||||||
|
end
|
||||||
|
|
||||||
|
render_changes_tree(tree[:s])
|
||||||
|
end
|
||||||
|
|
||||||
|
def render_changes_tree(tree)
|
||||||
|
return '' if tree.nil?
|
||||||
|
|
||||||
|
output = ''
|
||||||
|
output << '<ul>'
|
||||||
|
tree.keys.sort.each do |file|
|
||||||
|
s = !tree[file][:s].nil?
|
||||||
|
c = tree[file][:c]
|
||||||
|
|
||||||
|
style = 'change'
|
||||||
|
style << ' folder' if s
|
||||||
|
style << " change-#{c.action}" if c
|
||||||
|
|
||||||
|
text = h(file)
|
||||||
|
unless c.nil?
|
||||||
|
path_param = to_path_param(@repository.relative_path(c.path))
|
||||||
|
text = link_to(text, :controller => 'repositories',
|
||||||
|
:action => 'entry',
|
||||||
|
:id => @project,
|
||||||
|
:path => path_param,
|
||||||
|
:rev => @changeset.revision) unless s || c.action == 'D'
|
||||||
|
text << " - #{c.revision}" unless c.revision.blank?
|
||||||
|
text << ' (' + link_to('diff', :controller => 'repositories',
|
||||||
|
:action => 'diff',
|
||||||
|
:id => @project,
|
||||||
|
:path => path_param,
|
||||||
|
:rev => @changeset.revision) + ') ' if c.action == 'M'
|
||||||
|
text << ' ' + content_tag('span', c.from_path, :class => 'copied-from') unless c.from_path.blank?
|
||||||
|
end
|
||||||
|
output << "<li class='#{style}'>#{text}</li>"
|
||||||
|
output << render_changes_tree(tree[file][:s]) if s
|
||||||
|
end
|
||||||
|
output << '</ul>'
|
||||||
|
output
|
||||||
|
end
|
||||||
|
|
||||||
def to_utf8(str)
|
def to_utf8(str)
|
||||||
return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii
|
return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii
|
||||||
@encodings ||= Setting.repositories_encodings.split(',').collect(&:strip)
|
@encodings ||= Setting.repositories_encodings.split(',').collect(&:strip)
|
||||||
|
|||||||
@@ -19,6 +19,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, :query_id => query %><br />
|
<%= link_to query.name, :controller => 'issues', :action => 'index', :project_id => @project, :query_id => query %><br />
|
||||||
<% end -%>
|
<% end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
@@ -36,33 +36,19 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<h3><%= l(:label_attachment_plural) %></h3>
|
<h3><%= l(:label_attachment_plural) %></h3>
|
||||||
<div style="float:right;">
|
<ul id="changes-legend">
|
||||||
<div class="square action_A"></div> <div style="float:left;"><%= l(:label_added) %> </div>
|
<li class="change change-A"><%= l(:label_added) %></li>
|
||||||
<div class="square action_M"></div> <div style="float:left;"><%= l(:label_modified) %> </div>
|
<li class="change change-M"><%= l(:label_modified) %></li>
|
||||||
<div class="square action_D"></div> <div style="float:left;"><%= l(:label_deleted) %> </div>
|
<li class="change change-C"><%= l(:label_copied) %></li>
|
||||||
</div>
|
<li class="change change-R"><%= l(:label_renamed) %></li>
|
||||||
|
<li class="change change-D"><%= l(:label_deleted) %></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<p><%= link_to(l(:label_view_diff), :action => 'diff', :id => @project, :path => "", :rev => @changeset.revision) if @changeset.changes.any? %></p>
|
<p><%= link_to(l(:label_view_diff), :action => 'diff', :id => @project, :path => "", :rev => @changeset.revision) if @changeset.changes.any? %></p>
|
||||||
<table class="list">
|
|
||||||
<tbody>
|
<div class="changeset-changes">
|
||||||
<% @changes.each do |change| %>
|
<%= render_changeset_changes %>
|
||||||
<tr class="<%= cycle 'odd', 'even' %>">
|
</div>
|
||||||
<td><div class="square action_<%= change.action %>"></div>
|
|
||||||
<% if change.action == "D" -%>
|
|
||||||
<%= change.path -%>
|
|
||||||
<% else -%>
|
|
||||||
<%= link_to change.path, :action => 'entry', :id => @project, :path => to_path_param(change.relative_path), :rev => @changeset.revision -%>
|
|
||||||
<% end -%>
|
|
||||||
<%= "(#{change.revision})" unless change.revision.blank? %></td>
|
|
||||||
<td align="right">
|
|
||||||
<% if change.action == "M" %>
|
|
||||||
<%= link_to l(:label_view_diff), :action => 'diff', :id => @project, :path => to_path_param(change.relative_path), :rev => @changeset.revision %>
|
|
||||||
<% end %>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<% end %>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p class="pagination"><%= pagination_links_full @changes_pages %></p>
|
|
||||||
|
|
||||||
<% content_for :header_tags do %>
|
<% content_for :header_tags do %>
|
||||||
<%= stylesheet_link_tag "scm" %>
|
<%= stylesheet_link_tag "scm" %>
|
||||||
|
|||||||
@@ -1,13 +1,51 @@
|
|||||||
#!/usr/bin/ruby
|
#!/usr/bin/ruby
|
||||||
|
|
||||||
# rdm-mailhandler
|
# == Synopsis
|
||||||
|
#
|
||||||
# Reads an email from standard input and forward it to a Redmine server
|
# Reads an email from standard input and forward it to a Redmine server
|
||||||
# Can be used from a remote mail server
|
# through a HTTP request.
|
||||||
|
#
|
||||||
|
# == Usage
|
||||||
|
#
|
||||||
|
# rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
|
||||||
|
#
|
||||||
|
# == Arguments
|
||||||
|
#
|
||||||
|
# -u, --url URL of the Redmine server
|
||||||
|
# -k, --key Redmine API key
|
||||||
|
#
|
||||||
|
# General options:
|
||||||
|
# -h, --help show this help
|
||||||
|
# -v, --verbose show extra information
|
||||||
|
# -V, --version show version information and exit
|
||||||
|
#
|
||||||
|
# Issue attributes control options:
|
||||||
|
# -p, --project=PROJECT identifier of the target project
|
||||||
|
# -t, --tracker=TRACKER name of the target tracker
|
||||||
|
# --category=CATEGORY name of the target category
|
||||||
|
# --priority=PRIORITY name of the target priority
|
||||||
|
# -o, --allow-override=ATTRS allow email content to override attributes
|
||||||
|
# specified by previous options
|
||||||
|
# ATTRS is a comma separated list of attributes
|
||||||
|
#
|
||||||
|
# == Examples
|
||||||
|
# No project specified. Emails MUST contain the 'Project' keyword:
|
||||||
|
#
|
||||||
|
# rdm-mailhandler --url http://redmine.domain.foo --key secret
|
||||||
|
#
|
||||||
|
# Fixed project and default tracker specified, but emails can override
|
||||||
|
# both tracker and priority attributes using keywords:
|
||||||
|
#
|
||||||
|
# rdm-mailhandler --url https://domain.foo/redmine --key secret \\
|
||||||
|
# --project foo \\
|
||||||
|
# --tracker bug \\
|
||||||
|
# --allow-override tracker,priority
|
||||||
|
|
||||||
require 'net/http'
|
require 'net/http'
|
||||||
require 'net/https'
|
require 'net/https'
|
||||||
require 'uri'
|
require 'uri'
|
||||||
require 'getoptlong'
|
require 'getoptlong'
|
||||||
|
require 'rdoc/usage'
|
||||||
|
|
||||||
module Net
|
module Net
|
||||||
class HTTPS < HTTP
|
class HTTPS < HTTP
|
||||||
@@ -31,15 +69,15 @@ class RedmineMailHandler
|
|||||||
self.issue_attributes = {}
|
self.issue_attributes = {}
|
||||||
|
|
||||||
opts = GetoptLong.new(
|
opts = GetoptLong.new(
|
||||||
[ '--help', '-h', GetoptLong::NO_ARGUMENT ],
|
[ '--help', '-h', GetoptLong::NO_ARGUMENT ],
|
||||||
[ '--version', '-V', GetoptLong::NO_ARGUMENT ],
|
[ '--version', '-V', GetoptLong::NO_ARGUMENT ],
|
||||||
[ '--verbose', '-v', GetoptLong::NO_ARGUMENT ],
|
[ '--verbose', '-v', GetoptLong::NO_ARGUMENT ],
|
||||||
[ '--url', '-u', GetoptLong::REQUIRED_ARGUMENT ],
|
[ '--url', '-u', GetoptLong::REQUIRED_ARGUMENT ],
|
||||||
[ '--key', '-k', GetoptLong::REQUIRED_ARGUMENT],
|
[ '--key', '-k', GetoptLong::REQUIRED_ARGUMENT],
|
||||||
[ '--project', '-p', GetoptLong::REQUIRED_ARGUMENT ],
|
[ '--project', '-p', GetoptLong::REQUIRED_ARGUMENT ],
|
||||||
[ '--tracker', '-t', GetoptLong::REQUIRED_ARGUMENT],
|
[ '--tracker', '-t', GetoptLong::REQUIRED_ARGUMENT],
|
||||||
[ '--category', GetoptLong::REQUIRED_ARGUMENT],
|
[ '--category', GetoptLong::REQUIRED_ARGUMENT],
|
||||||
[ '--priority', GetoptLong::REQUIRED_ARGUMENT],
|
[ '--priority', GetoptLong::REQUIRED_ARGUMENT],
|
||||||
[ '--allow-override', '-o', GetoptLong::REQUIRED_ARGUMENT]
|
[ '--allow-override', '-o', GetoptLong::REQUIRED_ARGUMENT]
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -62,7 +100,7 @@ class RedmineMailHandler
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
usage if url.nil?
|
RDoc.usage if url.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
def submit(email)
|
def submit(email)
|
||||||
@@ -74,48 +112,14 @@ class RedmineMailHandler
|
|||||||
debug "Posting to #{uri}..."
|
debug "Posting to #{uri}..."
|
||||||
response = Net::HTTPS.post_form(URI.parse(uri), data)
|
response = Net::HTTPS.post_form(URI.parse(uri), data)
|
||||||
debug "Response received: #{response.code}"
|
debug "Response received: #{response.code}"
|
||||||
response.code == 201 ? 0 : 1
|
|
||||||
|
puts "Request was denied by your Redmine server. " +
|
||||||
|
"Please, make sure that 'WS for incoming emails' is enabled in application settings and that you provided the correct API key." if response.code == '403'
|
||||||
|
response.code == '201' ? 0 : 1
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def usage
|
|
||||||
puts <<-USAGE
|
|
||||||
Usage: rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
|
|
||||||
Reads an email from standard input and forward it to a Redmine server
|
|
||||||
|
|
||||||
Required:
|
|
||||||
-u, --url URL of the Redmine server
|
|
||||||
-k, --key Redmine API key
|
|
||||||
|
|
||||||
General options:
|
|
||||||
-h, --help show this help
|
|
||||||
-v, --verbose show extra information
|
|
||||||
-V, --version show version information and exit
|
|
||||||
|
|
||||||
Issue attributes control options:
|
|
||||||
-p, --project=PROJECT identifier of the target project
|
|
||||||
-t, --tracker=TRACKER name of the target tracker
|
|
||||||
--category=CATEGORY name of the target category
|
|
||||||
--priority=PRIORITY name of the target priority
|
|
||||||
-o, --allow-override=ATTRS allow email content to override attributes
|
|
||||||
specified by previous options
|
|
||||||
ATTRS is a comma separated list of attributes
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
# No project specified. Emails MUST contain the 'Project' keyword:
|
|
||||||
rdm-mailhandler --url http://redmine.domain.foo --key secret
|
|
||||||
|
|
||||||
# Fixed project and default tracker specified, but emails can override
|
|
||||||
# both tracker and priority attributes:
|
|
||||||
rdm-mailhandler --url https://domain.foo/redmine --key secret \\
|
|
||||||
--project foo \\
|
|
||||||
--tracker bug \\
|
|
||||||
--allow-override tracker,priority
|
|
||||||
USAGE
|
|
||||||
exit
|
|
||||||
end
|
|
||||||
|
|
||||||
def debug(msg)
|
def debug(msg)
|
||||||
puts msg if verbose
|
puts msg if verbose
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
# == Synopsis
|
# == Synopsis
|
||||||
#
|
#
|
||||||
# reposman: manages your svn repositories with Redmine
|
# reposman: manages your repositories with Redmine
|
||||||
#
|
#
|
||||||
# == Usage
|
# == Usage
|
||||||
#
|
#
|
||||||
# reposman [OPTIONS...] -s [DIR] -r [HOST]
|
# reposman [OPTIONS...] -s [DIR] -r [HOST]
|
||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
# reposman --svn-dir=/var/svn --redmine-host=redmine.example.net
|
# reposman --svn-dir=/var/svn --redmine-host=redmine.example.net --scm subversion
|
||||||
# reposman -s /var/svn -r redmine.example.net -u http://svn.example.net
|
# reposman -s /var/git -r redmine.example.net -u http://svn.example.net --scm git
|
||||||
#
|
#
|
||||||
# == Arguments (mandatory)
|
# == Arguments (mandatory)
|
||||||
#
|
#
|
||||||
@@ -24,7 +24,12 @@
|
|||||||
#
|
#
|
||||||
# -o, --owner=OWNER owner of the repository. using the rails login
|
# -o, --owner=OWNER owner of the repository. using the rails login
|
||||||
# allow user to browse the repository within
|
# allow user to browse the repository within
|
||||||
# Redmine even for private project
|
# Redmine even for private project. If you want to share repositories
|
||||||
|
# through Redmine.pm, you need to use the apache owner.
|
||||||
|
# --scm=SCM the kind of SCM repository you want to create (and register) in
|
||||||
|
# Redmine (default: Subversion). reposman is able to create Git
|
||||||
|
# and Subversion repositories. For all other kind (Bazaar,
|
||||||
|
# Darcs, Filesystem, Mercurial) you must specify a --command option
|
||||||
# -u, --url=URL the base url Redmine will use to access your
|
# -u, --url=URL the base url Redmine will use to access your
|
||||||
# repositories. This option is used to automatically
|
# repositories. This option is used to automatically
|
||||||
# register the repositories in Redmine. The project
|
# register the repositories in Redmine. The project
|
||||||
@@ -35,13 +40,8 @@
|
|||||||
# the repositories in Redmine
|
# the repositories in Redmine
|
||||||
# -c, --command=COMMAND use this command instead of "svnadmin create" to
|
# -c, --command=COMMAND use this command instead of "svnadmin create" to
|
||||||
# create a repository. This option can be used to
|
# create a repository. This option can be used to
|
||||||
# create non-subversion repositories
|
# create repositories other than subversion and git kind.
|
||||||
# --scm SCM vendor used to register the repository in
|
# This command override the default creation for git and subversion.
|
||||||
# Redmine (default: Subversion). Can be one of the
|
|
||||||
# other supported SCM: Bazaar, Darcs, Filesystem,
|
|
||||||
# Git, Mercurial (case sensitive).
|
|
||||||
# This option should be used when both options --url
|
|
||||||
# and --command are used.
|
|
||||||
# -f, --force force repository creation even if the project
|
# -f, --force force repository creation even if the project
|
||||||
# repository is already declared in Redmine
|
# repository is already declared in Redmine
|
||||||
# -t, --test only show what should be done
|
# -t, --test only show what should be done
|
||||||
@@ -49,6 +49,11 @@
|
|||||||
# -v, --verbose verbose
|
# -v, --verbose verbose
|
||||||
# -V, --version print version and exit
|
# -V, --version print version and exit
|
||||||
# -q, --quiet no log
|
# -q, --quiet no log
|
||||||
|
#
|
||||||
|
# == References
|
||||||
|
#
|
||||||
|
# You can find more information on the redmine's wiki : http://www.redmine.org/wiki/redmine/HowTos
|
||||||
|
|
||||||
|
|
||||||
require 'getoptlong'
|
require 'getoptlong'
|
||||||
require 'rdoc/usage'
|
require 'rdoc/usage'
|
||||||
@@ -82,16 +87,38 @@ $svn_owner = 'root'
|
|||||||
$use_groupid = true
|
$use_groupid = true
|
||||||
$svn_url = false
|
$svn_url = false
|
||||||
$test = false
|
$test = false
|
||||||
$command = "svnadmin create"
|
|
||||||
$force = false
|
$force = false
|
||||||
$scm = 'Subversion'
|
$scm = 'Subversion'
|
||||||
|
|
||||||
def log(text,level=0, exit=false)
|
def log(text,level=0, exit=false)
|
||||||
return if $quiet or level > $verbose
|
puts text unless $quiet or level > $verbose
|
||||||
puts text
|
|
||||||
exit 1 if exit
|
exit 1 if exit
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def system_or_raise(command)
|
||||||
|
raise "\"#{command}\" failed" unless system command
|
||||||
|
end
|
||||||
|
|
||||||
|
module SCM
|
||||||
|
|
||||||
|
module Subversion
|
||||||
|
def self.create(path)
|
||||||
|
system_or_raise "svnadmin create #{path}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
module Git
|
||||||
|
def self.create(path)
|
||||||
|
Dir.mkdir path
|
||||||
|
Dir.chdir(path) do
|
||||||
|
system_or_raise "git --bare init --shared"
|
||||||
|
system_or_raise "git-update-server-info"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
begin
|
begin
|
||||||
opts.each do |opt, arg|
|
opts.each do |opt, arg|
|
||||||
case opt
|
case opt
|
||||||
@@ -99,7 +126,7 @@ begin
|
|||||||
when '--redmine-host'; $redmine_host = arg.dup
|
when '--redmine-host'; $redmine_host = arg.dup
|
||||||
when '--owner'; $svn_owner = arg.dup; $use_groupid = false;
|
when '--owner'; $svn_owner = arg.dup; $use_groupid = false;
|
||||||
when '--url'; $svn_url = arg.dup
|
when '--url'; $svn_url = arg.dup
|
||||||
when '--scm'; $scm = arg.dup; log("Invalid SCM: #{$scm}", 0, true) unless SUPPORTED_SCM.include?($scm)
|
when '--scm'; $scm = arg.dup.capitalize; log("Invalid SCM: #{$scm}", 0, true) unless SUPPORTED_SCM.include?($scm)
|
||||||
when '--command'; $command = arg.dup
|
when '--command'; $command = arg.dup
|
||||||
when '--verbose'; $verbose += 1
|
when '--verbose'; $verbose += 1
|
||||||
when '--test'; $test = true
|
when '--test'; $test = true
|
||||||
@@ -117,12 +144,15 @@ if $test
|
|||||||
log("running in test mode")
|
log("running in test mode")
|
||||||
end
|
end
|
||||||
|
|
||||||
# Make sure command is overridden if SCM vendor is not Subversion
|
# Make sure command is overridden if SCM vendor is not handled internally (for the moment Subversion and Git)
|
||||||
if $scm != 'Subversion' && $command == 'svnadmin create'
|
if $command.nil?
|
||||||
log("Please use --command option to specify how to create a #{$scm} repository.", 0, true)
|
begin
|
||||||
|
scm_module = SCM.const_get($scm)
|
||||||
|
rescue
|
||||||
|
log("Please use --command option to specify how to create a #{$scm} repository.", 0, true)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
$svn_url += "/" if $svn_url and not $svn_url.match(/\/$/)
|
$svn_url += "/" if $svn_url and not $svn_url.match(/\/$/)
|
||||||
|
|
||||||
if ($redmine_host.empty? or $repos_base.empty?)
|
if ($redmine_host.empty? or $repos_base.empty?)
|
||||||
@@ -231,8 +261,11 @@ projects.each do |project|
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
set_owner_and_rights(project, repos_path) do
|
set_owner_and_rights(project, repos_path) do
|
||||||
command = "#{$command} #{repos_path}"
|
if scm_module.nil?
|
||||||
raise "#{command} failed" unless system( command )
|
system_or_raise "#{$command} #{repos_path}"
|
||||||
|
else
|
||||||
|
scm_module.create(repos_path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
log("\tunable to create #{repos_path} : #{e}\n")
|
log("\tunable to create #{repos_path} : #{e}\n")
|
||||||
|
|||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -0,0 +1,644 @@
|
|||||||
|
_gloc_rule_default: '|n| n==1 ? "" : "_plural" '
|
||||||
|
|
||||||
|
actionview_datehelper_select_day_prefix:
|
||||||
|
actionview_datehelper_select_month_names: Gener,Febrer,Març,Abril,Maig,Juny,Juliol,Agost,Setembre,Octubre,Novembre,Desembre
|
||||||
|
actionview_datehelper_select_month_names_abbr: Gen,Feb,Mar,Abr,Mai,Jun,Jul,Ago,Set,Oct,Nov,Dec
|
||||||
|
actionview_datehelper_select_month_prefix:
|
||||||
|
actionview_datehelper_select_year_prefix:
|
||||||
|
actionview_datehelper_time_in_words_day: 1 dia
|
||||||
|
actionview_datehelper_time_in_words_day_plural: %d dies
|
||||||
|
actionview_datehelper_time_in_words_hour_about: aproximadament una hora
|
||||||
|
actionview_datehelper_time_in_words_hour_about_plural: aproximadament %d hores
|
||||||
|
actionview_datehelper_time_in_words_hour_about_single: aproximadament una hora
|
||||||
|
actionview_datehelper_time_in_words_minute: 1 minut
|
||||||
|
actionview_datehelper_time_in_words_minute_half: mig minut
|
||||||
|
actionview_datehelper_time_in_words_minute_less_than: "menys d'un minut"
|
||||||
|
actionview_datehelper_time_in_words_minute_plural: %d minuts
|
||||||
|
actionview_datehelper_time_in_words_minute_single: 1 minut
|
||||||
|
actionview_datehelper_time_in_words_second_less_than: "menys d'un segon"
|
||||||
|
actionview_datehelper_time_in_words_second_less_than_plural: menys de %d segons
|
||||||
|
actionview_instancetag_blank_option: Seleccioneu
|
||||||
|
|
||||||
|
activerecord_error_inclusion: no està inclòs a la llista
|
||||||
|
activerecord_error_exclusion: està reservat
|
||||||
|
activerecord_error_invalid: no és vàlid
|
||||||
|
activerecord_error_confirmation: la confirmació no coincideix
|
||||||
|
activerecord_error_accepted: "s'ha d'acceptar"
|
||||||
|
activerecord_error_empty: no pot estar buit
|
||||||
|
activerecord_error_blank: no pot estar en blanc
|
||||||
|
activerecord_error_too_long: és massa llarg
|
||||||
|
activerecord_error_too_short: és massa curt
|
||||||
|
activerecord_error_wrong_length: la longitud és incorrecta
|
||||||
|
activerecord_error_taken: "ja s'està utilitzant"
|
||||||
|
activerecord_error_not_a_number: no és un número
|
||||||
|
activerecord_error_not_a_date: no és una data vàlida
|
||||||
|
activerecord_error_greater_than_start_date: ha de ser superior que la data inicial
|
||||||
|
activerecord_error_not_same_project: no pertany al mateix projecte
|
||||||
|
activerecord_error_circular_dependency: Aquesta relació crearia una dependència circular
|
||||||
|
|
||||||
|
general_fmt_age: %d any
|
||||||
|
general_fmt_age_plural: %d anys
|
||||||
|
general_fmt_date: %%d/%%m/%%Y
|
||||||
|
general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
|
||||||
|
general_fmt_datetime_short: %%d/%%m %%H:%%M
|
||||||
|
general_fmt_time: %%H:%%M
|
||||||
|
general_text_No: 'No'
|
||||||
|
general_text_Yes: 'Si'
|
||||||
|
general_text_no: 'no'
|
||||||
|
general_text_yes: 'si'
|
||||||
|
general_lang_name: 'Català'
|
||||||
|
general_csv_separator: ';'
|
||||||
|
general_csv_decimal_separator: ','
|
||||||
|
general_csv_encoding: ISO-8859-15
|
||||||
|
general_pdf_encoding: ISO-8859-15
|
||||||
|
general_day_names: Dilluns,Dimarts,Dimecres,Dijous,Divendres,Dissabte,Diumenge
|
||||||
|
general_first_day_of_week: '1'
|
||||||
|
|
||||||
|
notice_account_updated: "El compte s'ha actualitzat correctament."
|
||||||
|
notice_account_invalid_creditentials: Usuari o contrasenya invàlid
|
||||||
|
notice_account_password_updated: "La contrasenya s'ha modificat correctament."
|
||||||
|
notice_account_wrong_password: Contrasenya incorrecta
|
||||||
|
notice_account_register_done: "El compte s'ha creat correctament. Per a activar el compte, feu clic en l'enllaç que us han enviat per correu electrònic."
|
||||||
|
notice_account_unknown_email: Usuari desconegut.
|
||||||
|
notice_can_t_change_password: "Aquest compte utilitza una font d'autenticació externa. No és possible canviar la contrasenya."
|
||||||
|
notice_account_lost_email_sent: "S'ha enviat un correu electrònic amb instruccions per a seleccionar una contrasenya nova."
|
||||||
|
notice_account_activated: "El compte s'ha activat. Ara podeu entrar."
|
||||||
|
notice_successful_create: "S'ha creat correctament."
|
||||||
|
notice_successful_update: "S'ha modificat correctament."
|
||||||
|
notice_successful_delete: "S'ha suprimit correctament."
|
||||||
|
notice_successful_connection: "S'ha connectat correctament."
|
||||||
|
notice_file_not_found: "La pàgina a la que intenteu accedir no existeix o s'ha suprimit."
|
||||||
|
notice_locking_conflict: Un altre usuari ha actualitzat les dades.
|
||||||
|
notice_not_authorized: No teniu permís per a accedir a aquesta pàgina.
|
||||||
|
notice_email_sent: "S'ha enviat un correu electrònic a %s"
|
||||||
|
notice_email_error: "S'ha produït un error en enviar el correu (%s)"
|
||||||
|
notice_feeds_access_key_reseted: "S'ha reiniciat la clau d'accés del RSS."
|
||||||
|
notice_failed_to_save_issues: "No s'han pogut desar %s assumptes de %d seleccionats: %s."
|
||||||
|
notice_no_issue_selected: "No s'ha seleccionat cap assumpte. Activeu els assumptes que voleu editar."
|
||||||
|
notice_account_pending: "S'ha creat el compte i ara està pendent de l'aprovació de l'administrador."
|
||||||
|
notice_default_data_loaded: "S'ha carregat correctament la configuració predeterminada."
|
||||||
|
|
||||||
|
error_can_t_load_default_data: "No s'ha pogut carregar la configuració predeterminada: %s"
|
||||||
|
error_scm_not_found: "No s'ha trobat l'entrada o la revisió en el dipòsit."
|
||||||
|
error_scm_command_failed: "S'ha produït un error en intentar accedir al dipòsit: %s"
|
||||||
|
error_scm_annotate: "L'entrada no existeix o no s'ha pogut anotar."
|
||||||
|
error_issue_not_found_in_project: "No s'ha trobat l'assumpte o no pertany a aquest projecte"
|
||||||
|
|
||||||
|
mail_subject_lost_password: Contrasenya de %s
|
||||||
|
mail_body_lost_password: "Per a canviar la contrasenya, feu clic en l'enllaç següent:"
|
||||||
|
mail_subject_register: Activació del compte de %s
|
||||||
|
mail_body_register: "Per a activar el compte, feu clic en l'enllaç següent:"
|
||||||
|
mail_body_account_information_external: Podeu utilitzar el compte «%s» per a entrar.
|
||||||
|
mail_body_account_information: Informació del compte
|
||||||
|
mail_subject_account_activation_request: "Sol·licitud d'activació del compte de %s"
|
||||||
|
mail_body_account_activation_request: "S'ha registrat un usuari nou (%s). El seu compte està pendent d'aprovació:"
|
||||||
|
mail_subject_reminder: "%d assumptes venceran els següents %d dies"
|
||||||
|
mail_body_reminder: "%d assumptes que teniu assignades venceran els següents %d dies:"
|
||||||
|
|
||||||
|
gui_validation_error: 1 error
|
||||||
|
gui_validation_error_plural: %d errors
|
||||||
|
|
||||||
|
field_name: Nom
|
||||||
|
field_description: Descripció
|
||||||
|
field_summary: Resum
|
||||||
|
field_is_required: Necessari
|
||||||
|
field_firstname: Nom
|
||||||
|
field_lastname: Cognom
|
||||||
|
field_mail: Correu electrònic
|
||||||
|
field_filename: Fitxer
|
||||||
|
field_filesize: Mida
|
||||||
|
field_downloads: Baixades
|
||||||
|
field_author: Autor
|
||||||
|
field_created_on: Creat
|
||||||
|
field_updated_on: Actualitzat
|
||||||
|
field_field_format: Format
|
||||||
|
field_is_for_all: Per a tots els projectes
|
||||||
|
field_possible_values: Valores possibles
|
||||||
|
field_regexp: Expressió regular
|
||||||
|
field_min_length: Longitud mínima
|
||||||
|
field_max_length: Longitud màxima
|
||||||
|
field_value: Valor
|
||||||
|
field_category: Categoria
|
||||||
|
field_title: Títol
|
||||||
|
field_project: Projecte
|
||||||
|
field_issue: Assumpte
|
||||||
|
field_status: Estat
|
||||||
|
field_notes: Notes
|
||||||
|
field_is_closed: Assumpte tancat
|
||||||
|
field_is_default: Estat predeterminat
|
||||||
|
field_tracker: Seguidor
|
||||||
|
field_subject: Tema
|
||||||
|
field_due_date: Data de venciment
|
||||||
|
field_assigned_to: Assignat a
|
||||||
|
field_priority: Prioritat
|
||||||
|
field_fixed_version: Versió objectiu
|
||||||
|
field_user: Usuari
|
||||||
|
field_role: Rol
|
||||||
|
field_homepage: Pàgina web
|
||||||
|
field_is_public: Públic
|
||||||
|
field_parent: Subprojecte de
|
||||||
|
field_is_in_chlog: Assumptes mostrats en el registre de canvis
|
||||||
|
field_is_in_roadmap: Assumptes mostrats en la planificació
|
||||||
|
field_login: Entrada
|
||||||
|
field_mail_notification: Notificacions per correu electrònic
|
||||||
|
field_admin: Administrador
|
||||||
|
field_last_login_on: Última connexió
|
||||||
|
field_language: Idioma
|
||||||
|
field_effective_date: Data
|
||||||
|
field_password: Contrasenya
|
||||||
|
field_new_password: Contrasenya nova
|
||||||
|
field_password_confirmation: Confirmació
|
||||||
|
field_version: Versió
|
||||||
|
field_type: Tipus
|
||||||
|
field_host: Ordinador
|
||||||
|
field_port: Port
|
||||||
|
field_account: Compte
|
||||||
|
field_base_dn: Base DN
|
||||||
|
field_attr_login: "Atribut d'entrada"
|
||||||
|
field_attr_firstname: Atribut del nom
|
||||||
|
field_attr_lastname: Atribut del cognom
|
||||||
|
field_attr_mail: Atribut del correu electrònic
|
||||||
|
field_onthefly: "Creació de l'usuari «al vol»"
|
||||||
|
field_start_date: Inici
|
||||||
|
field_done_ratio: %% realitzat
|
||||||
|
field_auth_source: "Mode d'autenticació"
|
||||||
|
field_hide_mail: "Oculta l'adreça de correu electrònic"
|
||||||
|
field_comment: Comentari
|
||||||
|
field_url: URL
|
||||||
|
field_start_page: Pàgina inicial
|
||||||
|
field_subproject: Subprojecte
|
||||||
|
field_hours: Hores
|
||||||
|
field_activity: Activitat
|
||||||
|
field_spent_on: Data
|
||||||
|
field_identifier: Identificador
|
||||||
|
field_is_filter: "S'ha utilitzat com a filtre"
|
||||||
|
field_issue_to_id: Assumpte relacionat
|
||||||
|
field_delay: Retard
|
||||||
|
field_assignable: Es poden assignar assumptes a aquest rol
|
||||||
|
field_redirect_existing_links: Redirigeix els enllaços existents
|
||||||
|
field_estimated_hours: Temps previst
|
||||||
|
field_column_names: Columnes
|
||||||
|
field_time_zone: Zona horària
|
||||||
|
field_searchable: Es pot cercar
|
||||||
|
field_default_value: Valor predeterminat
|
||||||
|
field_comments_sorting: Mostra els comentaris
|
||||||
|
field_parent_title: Pàgina pare
|
||||||
|
|
||||||
|
setting_app_title: "Títol de l'aplicació"
|
||||||
|
setting_app_subtitle: "Subtítol de l'aplicació"
|
||||||
|
setting_welcome_text: Text de benvinguda
|
||||||
|
setting_default_language: Idioma predeterminat
|
||||||
|
setting_login_required: Es necessita autenticació
|
||||||
|
setting_self_registration: Registre automàtic
|
||||||
|
setting_attachment_max_size: Mida màxima dels adjunts
|
||||||
|
setting_issues_export_limit: "Límit d'exportació d'assumptes"
|
||||||
|
setting_mail_from: "Adreça de correu electrònic d'emissió"
|
||||||
|
setting_bcc_recipients: Vincula els destinataris de les còpies amb carbó (bcc)
|
||||||
|
setting_host_name: "Nom de l'ordinador"
|
||||||
|
setting_text_formatting: Format del text
|
||||||
|
setting_wiki_compression: "Comprimeix l'historial del wiki"
|
||||||
|
setting_feeds_limit: Límit de contingut del canal
|
||||||
|
setting_default_projects_public: Els projectes nous són públics per defecte
|
||||||
|
setting_autofetch_changesets: Omple automàticament les publicacions
|
||||||
|
setting_sys_api_enabled: Habilita el WS per a la gestió del dipòsit
|
||||||
|
setting_commit_ref_keywords: Paraules claus per a la referència
|
||||||
|
setting_commit_fix_keywords: Paraules claus per a la correcció
|
||||||
|
setting_autologin: Entrada automàtica
|
||||||
|
setting_date_format: Format de la data
|
||||||
|
setting_time_format: Format de hora
|
||||||
|
setting_cross_project_issue_relations: "Permet les relacions d'assumptes entre projectes"
|
||||||
|
setting_issue_list_default_columns: "Columnes mostrades per defecte en la llista d'assumptes"
|
||||||
|
setting_repositories_encodings: Codificacions del dipòsit
|
||||||
|
setting_emails_footer: Peu dels correus electrònics
|
||||||
|
setting_protocol: Protocol
|
||||||
|
setting_per_page_options: Opcions dels objectes per pàgina
|
||||||
|
setting_user_format: "Format de com mostrar l'usuari"
|
||||||
|
setting_activity_days_default: "Dies a mostrar l'activitat del projecte"
|
||||||
|
setting_display_subprojects_issues: "Mostra els assumptes d'un subprojecte en el projecte pare per defecte"
|
||||||
|
setting_enabled_scm: "Habilita l'SCM"
|
||||||
|
setting_mail_handler_api_enabled: "Habilita el WS per correus electrònics d'entrada"
|
||||||
|
setting_mail_handler_api_key: Clau API
|
||||||
|
|
||||||
|
project_module_issue_tracking: "Seguidor d'assumptes"
|
||||||
|
project_module_time_tracking: Seguidor de temps
|
||||||
|
project_module_news: Noticies
|
||||||
|
project_module_documents: Documents
|
||||||
|
project_module_files: Fitxers
|
||||||
|
project_module_wiki: Wiki
|
||||||
|
project_module_repository: Dipòsit
|
||||||
|
project_module_boards: Taulers
|
||||||
|
|
||||||
|
label_user: Usuari
|
||||||
|
label_user_plural: Usuaris
|
||||||
|
label_user_new: Usuari nou
|
||||||
|
label_project: Projecte
|
||||||
|
label_project_new: Projecte nou
|
||||||
|
label_project_plural: Projectes
|
||||||
|
label_project_all: Tots els projectes
|
||||||
|
label_project_latest: Els últims projectes
|
||||||
|
label_issue: Assumpte
|
||||||
|
label_issue_new: Assumpte nou
|
||||||
|
label_issue_plural: Assumptes
|
||||||
|
label_issue_view_all: Visualitza tots els assumptes
|
||||||
|
label_issues_by: Assumptes per %s
|
||||||
|
label_issue_added: Assumpte afegit
|
||||||
|
label_issue_updated: Assumpte actualitzat
|
||||||
|
label_document: Document
|
||||||
|
label_document_new: Document nou
|
||||||
|
label_document_plural: Documents
|
||||||
|
label_document_added: Document afegit
|
||||||
|
label_role: Rol
|
||||||
|
label_role_plural: Rols
|
||||||
|
label_role_new: Rol nou
|
||||||
|
label_role_and_permissions: Rols i permisos
|
||||||
|
label_member: Membre
|
||||||
|
label_member_new: Membre nou
|
||||||
|
label_member_plural: Membres
|
||||||
|
label_tracker: Seguidor
|
||||||
|
label_tracker_plural: Seguidors
|
||||||
|
label_tracker_new: Seguidor nou
|
||||||
|
label_workflow: Flux de treball
|
||||||
|
label_issue_status: "Estat de l'assumpte"
|
||||||
|
label_issue_status_plural: "Estats de l'assumpte"
|
||||||
|
label_issue_status_new: Estat nou
|
||||||
|
label_issue_category: "Categoria de l'assumpte"
|
||||||
|
label_issue_category_plural: "Categories de l'assumpte"
|
||||||
|
label_issue_category_new: Categoria nova
|
||||||
|
label_custom_field: Camp personalitzat
|
||||||
|
label_custom_field_plural: Camps personalitzats
|
||||||
|
label_custom_field_new: Camp personalitzat nou
|
||||||
|
label_enumerations: Enumeracions
|
||||||
|
label_enumeration_new: Valor nou
|
||||||
|
label_information: Informació
|
||||||
|
label_information_plural: Informació
|
||||||
|
label_please_login: Entreu
|
||||||
|
label_register: Registre
|
||||||
|
label_password_lost: Contrasenya perduda
|
||||||
|
label_home: Inici
|
||||||
|
label_my_page: La meva pàgina
|
||||||
|
label_my_account: El meu compte
|
||||||
|
label_my_projects: Els meus projectes
|
||||||
|
label_administration: Administració
|
||||||
|
label_login: Entra
|
||||||
|
label_logout: Surt
|
||||||
|
label_help: Ajuda
|
||||||
|
label_reported_issues: Assumptes informats
|
||||||
|
label_assigned_to_me_issues: Assumptes assignats a mi
|
||||||
|
label_last_login: Última connexió
|
||||||
|
label_last_updates: Última actualització
|
||||||
|
label_last_updates_plural: %d última actualització
|
||||||
|
label_registered_on: Informat el
|
||||||
|
label_activity: Activitat
|
||||||
|
label_overall_activity: Activitat global
|
||||||
|
label_new: Nou
|
||||||
|
label_logged_as: Heu entrat com a
|
||||||
|
label_environment: Entorn
|
||||||
|
label_authentication: Autenticació
|
||||||
|
label_auth_source: "Mode d'autenticació"
|
||||||
|
label_auth_source_new: "Mode d'autenticació nou"
|
||||||
|
label_auth_source_plural: "Modes d'autenticació"
|
||||||
|
label_subproject_plural: Subprojectes
|
||||||
|
label_and_its_subprojects: %s i els seus subprojectes
|
||||||
|
label_min_max_length: Longitud mín - max
|
||||||
|
label_list: Llist
|
||||||
|
label_date: Data
|
||||||
|
label_integer: Enter
|
||||||
|
label_float: Flotant
|
||||||
|
label_boolean: Booleà
|
||||||
|
label_string: Text
|
||||||
|
label_text: Text llarg
|
||||||
|
label_attribute: Atribut
|
||||||
|
label_attribute_plural: Atributs
|
||||||
|
label_download: %d baixada
|
||||||
|
label_download_plural: %d baixades
|
||||||
|
label_no_data: Sense dades a mostrar
|
||||||
|
label_change_status: "Canvia l'estat"
|
||||||
|
label_history: Historial
|
||||||
|
label_attachment: Fitxer
|
||||||
|
label_attachment_new: Fitxer nou
|
||||||
|
label_attachment_delete: Suprimeix el fitxer
|
||||||
|
label_attachment_plural: Fitxers
|
||||||
|
label_file_added: Fitxer afegit
|
||||||
|
label_report: Informe
|
||||||
|
label_report_plural: Informes
|
||||||
|
label_news: Noticies
|
||||||
|
label_news_new: Afegeix noticies
|
||||||
|
label_news_plural: Noticies
|
||||||
|
label_news_latest: Últimes noticies
|
||||||
|
label_news_view_all: Visualitza totes les noticies
|
||||||
|
label_news_added: Noticies afegides
|
||||||
|
label_change_log: Registre de canvis
|
||||||
|
label_settings: Paràmetres
|
||||||
|
label_overview: Resum
|
||||||
|
label_version: Versió
|
||||||
|
label_version_new: Versió nova
|
||||||
|
label_version_plural: Versions
|
||||||
|
label_confirmation: Confirmació
|
||||||
|
label_export_to: 'També disponible a:'
|
||||||
|
label_read: Llegeix...
|
||||||
|
label_public_projects: Projectes públics
|
||||||
|
label_open_issues: obert
|
||||||
|
label_open_issues_plural: oberts
|
||||||
|
label_closed_issues: tancat
|
||||||
|
label_closed_issues_plural: tancats
|
||||||
|
label_total: Total
|
||||||
|
label_permissions: Permisos
|
||||||
|
label_current_status: Estat actual
|
||||||
|
label_new_statuses_allowed: Nous estats autoritzats
|
||||||
|
label_all: tots
|
||||||
|
label_none: cap
|
||||||
|
label_nobody: ningú
|
||||||
|
label_next: Següent
|
||||||
|
label_previous: Anterior
|
||||||
|
label_used_by: Utilitzat per
|
||||||
|
label_details: Detalls
|
||||||
|
label_add_note: Afegeix una nota
|
||||||
|
label_per_page: Per pàgina
|
||||||
|
label_calendar: Calendari
|
||||||
|
label_months_from: mesos des de
|
||||||
|
label_gantt: Gantt
|
||||||
|
label_internal: Intern
|
||||||
|
label_last_changes: últims %d canvis
|
||||||
|
label_change_view_all: Visualitza tots els canvis
|
||||||
|
label_personalize_page: Personalitza aquesta pàgina
|
||||||
|
label_comment: Comentari
|
||||||
|
label_comment_plural: Comentaris
|
||||||
|
label_comment_add: Afegeix un comentari
|
||||||
|
label_comment_added: Comentari afegit
|
||||||
|
label_comment_delete: Suprimeix comentaris
|
||||||
|
label_query: Consulta personalitzada
|
||||||
|
label_query_plural: Consultes personalitzades
|
||||||
|
label_query_new: Consulta nova
|
||||||
|
label_filter_add: Afegeix un filtre
|
||||||
|
label_filter_plural: Filtres
|
||||||
|
label_equals: és
|
||||||
|
label_not_equals: no és
|
||||||
|
label_in_less_than: en menys de
|
||||||
|
label_in_more_than: en més de
|
||||||
|
label_in: en
|
||||||
|
label_today: avui
|
||||||
|
label_all_time: tot el temps
|
||||||
|
label_yesterday: ahir
|
||||||
|
label_this_week: aquesta setmana
|
||||||
|
label_last_week: "l'última setmana"
|
||||||
|
label_last_n_days: els últims %d dies
|
||||||
|
label_this_month: aquest més
|
||||||
|
label_last_month: "l'últim més"
|
||||||
|
label_this_year: aquest any
|
||||||
|
label_date_range: Abast de les dates
|
||||||
|
label_less_than_ago: fa menys de
|
||||||
|
label_more_than_ago: fa més de
|
||||||
|
label_ago: fa
|
||||||
|
label_contains: conté
|
||||||
|
label_not_contains: no conté
|
||||||
|
label_day_plural: dies
|
||||||
|
label_repository: Dipòsit
|
||||||
|
label_repository_plural: Dipòsits
|
||||||
|
label_browse: Navega
|
||||||
|
label_modification: %d canvi
|
||||||
|
label_modification_plural: %d canvis
|
||||||
|
label_revision: Revisió
|
||||||
|
label_revision_plural: Revisions
|
||||||
|
label_associated_revisions: Revisions associades
|
||||||
|
label_added: afegit
|
||||||
|
label_modified: modificat
|
||||||
|
label_deleted: suprimit
|
||||||
|
label_latest_revision: Última revisió
|
||||||
|
label_latest_revision_plural: Últimes revisions
|
||||||
|
label_view_revisions: Visualitza les revisions
|
||||||
|
label_max_size: Mida màxima
|
||||||
|
label_on: 'de'
|
||||||
|
label_sort_highest: Mou a la part superior
|
||||||
|
label_sort_higher: Mou cap amunt
|
||||||
|
label_sort_lower: Mou cap avall
|
||||||
|
label_sort_lowest: Mou a la part inferior
|
||||||
|
label_roadmap: Planificació
|
||||||
|
label_roadmap_due_in: Venç en
|
||||||
|
label_roadmap_overdue: %s tard
|
||||||
|
label_roadmap_no_issues: No hi ha assumptes per a aquesta versió
|
||||||
|
label_search: Cerca
|
||||||
|
label_result_plural: Resultats
|
||||||
|
label_all_words: Totes les paraules
|
||||||
|
label_wiki: Wiki
|
||||||
|
label_wiki_edit: Edició wiki
|
||||||
|
label_wiki_edit_plural: Edicions wiki
|
||||||
|
label_wiki_page: Pàgina wiki
|
||||||
|
label_wiki_page_plural: Pàgines wiki
|
||||||
|
label_index_by_title: Índex per títol
|
||||||
|
label_index_by_date: Índex per data
|
||||||
|
label_current_version: Versió actual
|
||||||
|
label_preview: Previsualització
|
||||||
|
label_feed_plural: Canals
|
||||||
|
label_changes_details: Detalls de tots els canvis
|
||||||
|
label_issue_tracking: "Seguiment d'assumptes"
|
||||||
|
label_spent_time: Temps invertit
|
||||||
|
label_f_hour: %.2f hora
|
||||||
|
label_f_hour_plural: %.2f hores
|
||||||
|
label_time_tracking: Temps de seguiment
|
||||||
|
label_change_plural: Canvis
|
||||||
|
label_statistics: Estadístiques
|
||||||
|
label_commits_per_month: Publicacions per mes
|
||||||
|
label_commits_per_author: Publicacions per autor
|
||||||
|
label_view_diff: Visualitza les diferències
|
||||||
|
label_diff_inline: en línia
|
||||||
|
label_diff_side_by_side: costat per costat
|
||||||
|
label_options: Opcions
|
||||||
|
label_copy_workflow_from: Copia el flux de treball des de
|
||||||
|
label_permissions_report: Informe de permisos
|
||||||
|
label_watched_issues: Assumptes vigilats
|
||||||
|
label_related_issues: Assumptes relacionats
|
||||||
|
label_applied_status: Estat aplicat
|
||||||
|
label_loading: "S'està carregant..."
|
||||||
|
label_relation_new: Relació nova
|
||||||
|
label_relation_delete: Suprimeix la relació
|
||||||
|
label_relates_to: relacionat amb
|
||||||
|
label_duplicates: duplicats
|
||||||
|
label_duplicated_by: duplicat per
|
||||||
|
label_blocks: bloqueja
|
||||||
|
label_blocked_by: bloquejats per
|
||||||
|
label_precedes: anterior a
|
||||||
|
label_follows: posterior a
|
||||||
|
label_end_to_start: final al començament
|
||||||
|
label_end_to_end: final al final
|
||||||
|
label_start_to_start: començament al començament
|
||||||
|
label_start_to_end: començament al final
|
||||||
|
label_stay_logged_in: "Manté l'entrada en"
|
||||||
|
label_disabled: inhabilitat
|
||||||
|
label_show_completed_versions: Mostra les versions completes
|
||||||
|
label_me: jo mateix
|
||||||
|
label_board: Fòrum
|
||||||
|
label_board_new: Fòrum nou
|
||||||
|
label_board_plural: Fòrums
|
||||||
|
label_topic_plural: Temes
|
||||||
|
label_message_plural: Missatges
|
||||||
|
label_message_last: Últim missatge
|
||||||
|
label_message_new: Missatge nou
|
||||||
|
label_message_posted: Missatge afegit
|
||||||
|
label_reply_plural: Respostes
|
||||||
|
label_send_information: "Envia la informació del compte a l'usuari"
|
||||||
|
label_year: Any
|
||||||
|
label_month: Mes
|
||||||
|
label_week: Setmana
|
||||||
|
label_date_from: Des de
|
||||||
|
label_date_to: A
|
||||||
|
label_language_based: "Basat en l'idioma de l'usuari"
|
||||||
|
label_sort_by: Ordena per %s
|
||||||
|
label_send_test_email: Envia un correu electrònic de prova
|
||||||
|
label_feeds_access_key_created_on: "Clau d'accés del RSS creada fa %s"
|
||||||
|
label_module_plural: Mòduls
|
||||||
|
label_added_time_by: Afegit per %s fa %s
|
||||||
|
label_updated_time: Actualitzat fa %s
|
||||||
|
label_jump_to_a_project: Salta al projecte...
|
||||||
|
label_file_plural: Fitxers
|
||||||
|
label_changeset_plural: Conjunt de canvis
|
||||||
|
label_default_columns: Columnes predeterminades
|
||||||
|
label_no_change_option: (sense canvis)
|
||||||
|
label_bulk_edit_selected_issues: Edita en bloc els assumptes seleccionats
|
||||||
|
label_theme: Tema
|
||||||
|
label_default: Predeterminat
|
||||||
|
label_search_titles_only: Cerca només en els títols
|
||||||
|
label_user_mail_option_all: "Per qualsevol esdeveniment en tots els meus projectes"
|
||||||
|
label_user_mail_option_selected: "Per qualsevol esdeveniment en els projectes seleccionats..."
|
||||||
|
label_user_mail_option_none: "Només per les coses que vigilo o hi estic implicat"
|
||||||
|
label_user_mail_no_self_notified: "No vull ser notificat pels canvis que faig jo mateix"
|
||||||
|
label_registration_activation_by_email: activació del compte per correu electrònic
|
||||||
|
label_registration_manual_activation: activació del compte manual
|
||||||
|
label_registration_automatic_activation: activació del compte automàtica
|
||||||
|
label_display_per_page: 'Per pàgina: %s'
|
||||||
|
label_age: Edat
|
||||||
|
label_change_properties: Canvia les propietats
|
||||||
|
label_general: General
|
||||||
|
label_more: Més
|
||||||
|
label_scm: SCM
|
||||||
|
label_plugins: Connectors
|
||||||
|
label_ldap_authentication: Autenticació LDAP
|
||||||
|
label_downloads_abbr: Baixades
|
||||||
|
label_optional_description: Descripció opcional
|
||||||
|
label_add_another_file: Afegeix un altre fitxer
|
||||||
|
label_preferences: Preferències
|
||||||
|
label_chronological_order: En ordre cronològic
|
||||||
|
label_reverse_chronological_order: En ordre cronològic invers
|
||||||
|
label_planning: Planificació
|
||||||
|
label_incoming_emails: "Correu electrònics d'entrada"
|
||||||
|
label_generate_key: Genera una clau
|
||||||
|
label_issue_watchers: Vigilants
|
||||||
|
|
||||||
|
button_login: Entra
|
||||||
|
button_submit: Tramet
|
||||||
|
button_save: Desa
|
||||||
|
button_check_all: Activa-ho tot
|
||||||
|
button_uncheck_all: Desactiva-ho tot
|
||||||
|
button_delete: Suprimeix
|
||||||
|
button_create: Crea
|
||||||
|
button_test: Test
|
||||||
|
button_edit: Edit
|
||||||
|
button_add: Afegeix
|
||||||
|
button_change: Canvia
|
||||||
|
button_apply: Aplica
|
||||||
|
button_clear: Neteja
|
||||||
|
button_lock: Bloca
|
||||||
|
button_unlock: Desbloca
|
||||||
|
button_download: Baixa
|
||||||
|
button_list: Llista
|
||||||
|
button_view: Visualitza
|
||||||
|
button_move: Mou
|
||||||
|
button_back: Enrere
|
||||||
|
button_cancel: Cancel·la
|
||||||
|
button_activate: Activa
|
||||||
|
button_sort: Ordena
|
||||||
|
button_log_time: "Hora d'entrada"
|
||||||
|
button_rollback: Torna a aquesta versió
|
||||||
|
button_watch: Vigila
|
||||||
|
button_unwatch: No vigilis
|
||||||
|
button_reply: Resposta
|
||||||
|
button_archive: Arxiva
|
||||||
|
button_unarchive: Desarxiva
|
||||||
|
button_reset: Reinicia
|
||||||
|
button_rename: Reanomena
|
||||||
|
button_change_password: Canvia la contrasenya
|
||||||
|
button_copy: Copia
|
||||||
|
button_annotate: Anota
|
||||||
|
button_update: Actualitza
|
||||||
|
button_configure: Configura
|
||||||
|
|
||||||
|
status_active: actiu
|
||||||
|
status_registered: informat
|
||||||
|
status_locked: bloquejat
|
||||||
|
|
||||||
|
text_select_mail_notifications: "Seleccioneu les accions per les quals s'hauria d'enviar una notificació per correu electrònic."
|
||||||
|
text_regexp_info: ex. ^[A-Z0-9]+$
|
||||||
|
text_min_max_length_info: 0 significa sense restricció
|
||||||
|
text_project_destroy_confirmation: Segur que voleu suprimir aquest projecte i les dades relacionades?
|
||||||
|
text_subprojects_destroy_warning: "També seran suprimits els seus subprojectes: %s."
|
||||||
|
text_workflow_edit: Seleccioneu un rol i un seguidor per a editar el flux de treball
|
||||||
|
text_are_you_sure: Segur?
|
||||||
|
text_journal_changed: canviat des de %s a %s
|
||||||
|
text_journal_set_to: establert a %s
|
||||||
|
text_journal_deleted: suprimit
|
||||||
|
text_tip_task_begin_day: "tasca que s'inicia aquest dia"
|
||||||
|
text_tip_task_end_day: tasca que finalitza aquest dia
|
||||||
|
text_tip_task_begin_end_day: "tasca que s'inicia i finalitza aquest dia"
|
||||||
|
text_project_identifier_info: "Es permeten lletres en minúscules (a-z), números i guions.<br />Un cop desat, l'identificador no es pot modificar."
|
||||||
|
text_caracters_maximum: %d caràcters com a màxim.
|
||||||
|
text_caracters_minimum: Com a mínim ha de tenir %d caràcters.
|
||||||
|
text_length_between: Longitud entre %d i %d caràcters.
|
||||||
|
text_tracker_no_workflow: "No s'ha definit cap flux de treball per a aquest seguidor"
|
||||||
|
text_unallowed_characters: Caràcters no permesos
|
||||||
|
text_comma_separated: Es permeten valors múltiples (separats per una coma).
|
||||||
|
text_issues_ref_in_commit_messages: Referència i soluciona els assumptes en els missatges publicats
|
||||||
|
text_issue_added: "L'assumpte %s ha sigut informat per %s."
|
||||||
|
text_issue_updated: "L'assumpte %s ha sigut actualitzat per %s."
|
||||||
|
text_wiki_destroy_confirmation: Segur que voleu suprimir aquest wiki i tots els seus continguts?
|
||||||
|
text_issue_category_destroy_question: Alguns assumptes (%d) estan assignats a aquesta categoria. Què voleu fer?
|
||||||
|
text_issue_category_destroy_assignments: Suprimeix les assignacions de la categoria
|
||||||
|
text_issue_category_reassign_to: Torna a assignar els assumptes a aquesta categoria
|
||||||
|
text_user_mail_option: "Per als projectes no seleccionats, només rebreu notificacions sobre les coses que vigileu o que hi esteu implicat (ex. assumptes que en sou l'autor o hi esteu assignat)."
|
||||||
|
text_no_configuration_data: "Encara no s'han configurat els rols, seguidors, estats de l'assumpte i flux de treball.\nÉs altament recomanable que carregueu la configuració predeterminada. Podreu modificar-la un cop carregada."
|
||||||
|
text_load_default_configuration: Carrega la configuració predeterminada
|
||||||
|
text_status_changed_by_changeset: Aplicat en el conjunt de canvis %s.
|
||||||
|
text_issues_destroy_confirmation: "Segur que voleu suprimir els assumptes seleccionats?"
|
||||||
|
text_select_project_modules: "Seleccioneu els mòduls a habilitar per a aquest projecte:"
|
||||||
|
text_default_administrator_account_changed: "S'ha canviat el compte d'administrador predeterminat"
|
||||||
|
text_file_repository_writable: Es pot escriure en el dipòsit de fitxers
|
||||||
|
text_rmagick_available: RMagick disponible (opcional)
|
||||||
|
text_destroy_time_entries_question: "S'han informat %.02f hores en els assumptes que aneu a suprimir. Què voleu fer?"
|
||||||
|
text_destroy_time_entries: Suprimeix les hores informades
|
||||||
|
text_assign_time_entries_to_project: Assigna les hores informades al projecte
|
||||||
|
text_reassign_time_entries: 'Torna a assignar les hores informades a aquest assumpte:'
|
||||||
|
text_user_wrote: '%s va escriure:'
|
||||||
|
text_enumeration_destroy_question: '%d objectes estan assignats a aquest valor.'
|
||||||
|
text_enumeration_category_reassign_to: 'Torna a assignar-los a aquest valor:'
|
||||||
|
text_email_delivery_not_configured: "El lliurament per correu electrònic no està configurat i les notificacions estan inhabilitades.\nConfigureu el servidor SMTP a config/email.yml i reinicieu l'aplicació per habilitar-lo."
|
||||||
|
|
||||||
|
default_role_manager: Gestor
|
||||||
|
default_role_developper: Desenvolupador
|
||||||
|
default_role_reporter: Informador
|
||||||
|
default_tracker_bug: Error
|
||||||
|
default_tracker_feature: Característica
|
||||||
|
default_tracker_support: Suport
|
||||||
|
default_issue_status_new: Nou
|
||||||
|
default_issue_status_assigned: Assignat
|
||||||
|
default_issue_status_resolved: Resolt
|
||||||
|
default_issue_status_feedback: Comentaris
|
||||||
|
default_issue_status_closed: Tancat
|
||||||
|
default_issue_status_rejected: Rebutjat
|
||||||
|
default_doc_category_user: "Documentació d'usuari"
|
||||||
|
default_doc_category_tech: Documentació tècnica
|
||||||
|
default_priority_low: Baixa
|
||||||
|
default_priority_normal: Normal
|
||||||
|
default_priority_high: Alta
|
||||||
|
default_priority_urgent: Urgent
|
||||||
|
default_priority_immediate: Immediata
|
||||||
|
default_activity_design: Disseny
|
||||||
|
default_activity_development: Desenvolupament
|
||||||
|
|
||||||
|
enumeration_issue_priorities: Prioritat dels assumptes
|
||||||
|
enumeration_doc_categories: Categories del document
|
||||||
|
enumeration_activities: Activitats (seguidor de temps)
|
||||||
|
button_quote: Quote
|
||||||
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
|
notice_unable_delete_version: Unable to delete version.
|
||||||
|
field_comments: Comment
|
||||||
|
setting_commit_logs_encoding: Commit messages encoding
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -643,3 +643,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -640,3 +640,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -405,6 +405,8 @@ label_revision_plural: Revisions
|
|||||||
label_associated_revisions: Associated revisions
|
label_associated_revisions: Associated revisions
|
||||||
label_added: added
|
label_added: added
|
||||||
label_modified: modified
|
label_modified: modified
|
||||||
|
label_copied: copied
|
||||||
|
label_renamed: renamed
|
||||||
label_deleted: deleted
|
label_deleted: deleted
|
||||||
label_latest_revision: Latest revision
|
label_latest_revision: Latest revision
|
||||||
label_latest_revision_plural: Latest revisions
|
label_latest_revision_plural: Latest revisions
|
||||||
|
|||||||
@@ -641,3 +641,5 @@ setting_commit_logs_encoding: Codificación de los mensajes de commit
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,3 +638,5 @@ button_quote: Quote
|
|||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
setting_commit_logs_encoding: Commit messages encoding
|
setting_commit_logs_encoding: Commit messages encoding
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -404,6 +404,8 @@ label_revision_plural: Révisions
|
|||||||
label_associated_revisions: Révisions associées
|
label_associated_revisions: Révisions associées
|
||||||
label_added: ajouté
|
label_added: ajouté
|
||||||
label_modified: modifié
|
label_modified: modifié
|
||||||
|
label_copied: copié
|
||||||
|
label_renamed: renommé
|
||||||
label_deleted: supprimé
|
label_deleted: supprimé
|
||||||
label_latest_revision: Dernière révision
|
label_latest_revision: Dernière révision
|
||||||
label_latest_revision_plural: Dernières révisions
|
label_latest_revision_plural: Dernières révisions
|
||||||
|
|||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,4 +638,6 @@ label_issue_watchers: Megfigyelők
|
|||||||
setting_commit_logs_encoding: Commit üzenetek kódlapja
|
setting_commit_logs_encoding: Commit üzenetek kódlapja
|
||||||
button_quote: Idézet
|
button_quote: Idézet
|
||||||
setting_sequential_project_identifiers: Szekvenciális projekt azonosítók generálása
|
setting_sequential_project_identifiers: Szekvenciális projekt azonosítók generálása
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: A verziót nem lehet törölni
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -640,3 +640,5 @@ setting_commit_logs_encoding: Commit pranėšimų koduotė
|
|||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ 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)
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -31,10 +31,10 @@ activerecord_error_accepted: необходимо принять
|
|||||||
activerecord_error_blank: необходимо заполнить
|
activerecord_error_blank: необходимо заполнить
|
||||||
activerecord_error_circular_dependency: Такая связь приведет к циклической зависимости
|
activerecord_error_circular_dependency: Такая связь приведет к циклической зависимости
|
||||||
activerecord_error_confirmation: ошибка в подтверждении
|
activerecord_error_confirmation: ошибка в подтверждении
|
||||||
activerecord_error_empty: необходимо заполнить
|
activerecord_error_empty: необходимо заполнить
|
||||||
activerecord_error_exclusion: зарезервировано
|
activerecord_error_exclusion: зарезервировано
|
||||||
activerecord_error_greater_than_start_date: должна быть позднее даты начала
|
activerecord_error_greater_than_start_date: должна быть позднее даты начала
|
||||||
activerecord_error_inclusion: нет в списке
|
activerecord_error_inclusion: нет в списке
|
||||||
activerecord_error_invalid: неверное значение
|
activerecord_error_invalid: неверное значение
|
||||||
activerecord_error_not_a_date: дата недействительна
|
activerecord_error_not_a_date: дата недействительна
|
||||||
activerecord_error_not_a_number: не является числом
|
activerecord_error_not_a_number: не является числом
|
||||||
@@ -76,7 +76,7 @@ button_sort: Сортировать
|
|||||||
button_submit: Принять
|
button_submit: Принять
|
||||||
button_test: Проверить
|
button_test: Проверить
|
||||||
button_unarchive: Разархивировать
|
button_unarchive: Разархивировать
|
||||||
button_uncheck_all: Очистить
|
button_uncheck_all: Очистить
|
||||||
button_unlock: Разблокировать
|
button_unlock: Разблокировать
|
||||||
button_unwatch: Не следить
|
button_unwatch: Не следить
|
||||||
button_update: Обновить
|
button_update: Обновить
|
||||||
@@ -85,13 +85,13 @@ button_watch: Следить
|
|||||||
|
|
||||||
default_activity_design: Проектирование
|
default_activity_design: Проектирование
|
||||||
default_activity_development: Разработка
|
default_activity_development: Разработка
|
||||||
default_doc_category_tech: Техническая документация
|
default_doc_category_tech: Техническая документация
|
||||||
default_doc_category_user: Документация пользователя
|
default_doc_category_user: Документация пользователя
|
||||||
default_issue_status_assigned: Назначен
|
default_issue_status_assigned: Назначен
|
||||||
default_issue_status_closed: Закрыт
|
default_issue_status_closed: Закрыт
|
||||||
default_issue_status_feedback: Обратная связь
|
default_issue_status_feedback: Обратная связь
|
||||||
default_issue_status_new: Новый
|
default_issue_status_new: Новый
|
||||||
default_issue_status_rejected: Отказ
|
default_issue_status_rejected: Отказ
|
||||||
default_issue_status_resolved: Заблокирован
|
default_issue_status_resolved: Заблокирован
|
||||||
default_priority_high: Высокий
|
default_priority_high: Высокий
|
||||||
default_priority_immediate: Немедленный
|
default_priority_immediate: Немедленный
|
||||||
@@ -113,7 +113,7 @@ error_can_t_load_default_data: "Конфигурация по умолчанию
|
|||||||
error_issue_not_found_in_project: Задача не была найдена или не прикреплена к этому проекту
|
error_issue_not_found_in_project: Задача не была найдена или не прикреплена к этому проекту
|
||||||
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
||||||
error_scm_command_failed: "Ошибка доступа к хранилищу: %s"
|
error_scm_command_failed: "Ошибка доступа к хранилищу: %s"
|
||||||
error_scm_not_found: Хранилилище не содержит записи и/или исправления.
|
error_scm_not_found: Хранилище не содержит записи и/или исправления.
|
||||||
|
|
||||||
field_account: Учетная запись
|
field_account: Учетная запись
|
||||||
field_activity: Деятельность
|
field_activity: Деятельность
|
||||||
@@ -132,7 +132,7 @@ field_column_names: Колонки
|
|||||||
field_comments_sorting: Отображение комментариев
|
field_comments_sorting: Отображение комментариев
|
||||||
field_comments: Комментарий
|
field_comments: Комментарий
|
||||||
field_created_on: Создан
|
field_created_on: Создан
|
||||||
field_default_value: Значение по умолчанию
|
field_default_value: Значение по умолчанию
|
||||||
field_delay: Отложить
|
field_delay: Отложить
|
||||||
field_description: Описание
|
field_description: Описание
|
||||||
field_done_ratio: Готовность в %%
|
field_done_ratio: Готовность в %%
|
||||||
@@ -173,17 +173,17 @@ field_new_password: Новый пароль
|
|||||||
field_notes: Примечания
|
field_notes: Примечания
|
||||||
field_onthefly: Создание пользователя на лету
|
field_onthefly: Создание пользователя на лету
|
||||||
field_parent_title: Родительская страница
|
field_parent_title: Родительская страница
|
||||||
field_parent: Родительский проект
|
field_parent: Родительский проект
|
||||||
field_password_confirmation: Подтверждение
|
field_password_confirmation: Подтверждение
|
||||||
field_password: Пароль
|
field_password: Пароль
|
||||||
field_port: Порт
|
field_port: Порт
|
||||||
field_possible_values: Возможные значения
|
field_possible_values: Возможные значения
|
||||||
field_priority: Приоритет
|
field_priority: Приоритет
|
||||||
field_project: Проект
|
field_project: Проект
|
||||||
field_redirect_existing_links: Перенаправить существующие ссылки
|
field_redirect_existing_links: Перенаправить существующие ссылки
|
||||||
field_regexp: Регулярное выражение
|
field_regexp: Регулярное выражение
|
||||||
field_role: Роль
|
field_role: Роль
|
||||||
field_searchable: Доступно для поиска
|
field_searchable: Доступно для поиска
|
||||||
field_spent_on: Дата
|
field_spent_on: Дата
|
||||||
field_start_date: Начало
|
field_start_date: Начало
|
||||||
field_start_page: Стартовая страница
|
field_start_page: Стартовая страница
|
||||||
@@ -212,7 +212,7 @@ general_fmt_age_plural5: %d гг.
|
|||||||
general_fmt_age_plural: %d лет
|
general_fmt_age_plural: %d лет
|
||||||
general_fmt_date: %%d.%%m.%%Y
|
general_fmt_date: %%d.%%m.%%Y
|
||||||
general_fmt_datetime: %%d.%%m.%%Y %%I:%%M %%p
|
general_fmt_datetime: %%d.%%m.%%Y %%I:%%M %%p
|
||||||
general_fmt_datetime_short: %%d %%b, %%H:%%M
|
general_fmt_datetime_short: %%d %%b, %%H:%%M
|
||||||
general_fmt_time: %%H:%%M
|
general_fmt_time: %%H:%%M
|
||||||
general_lang_name: 'Russian (Русский)'
|
general_lang_name: 'Russian (Русский)'
|
||||||
general_pdf_encoding: UTF-8
|
general_pdf_encoding: UTF-8
|
||||||
@@ -228,11 +228,11 @@ gui_validation_error_plural: %d ошибок
|
|||||||
|
|
||||||
label_activity: Активность
|
label_activity: Активность
|
||||||
label_add_another_file: Добавить ещё один файл
|
label_add_another_file: Добавить ещё один файл
|
||||||
label_added_time_by: Добавлено %s %s назад
|
label_added_time_by: Добавил(а) %s %s назад
|
||||||
label_added: добавлено
|
label_added: добавлено
|
||||||
label_add_note: Добавить замечание
|
label_add_note: Добавить замечание
|
||||||
label_administration: Администрирование
|
label_administration: Администрирование
|
||||||
label_age: Возраст
|
label_age: Возраст
|
||||||
label_ago: дней(я) назад
|
label_ago: дней(я) назад
|
||||||
label_all_time: всё время
|
label_all_time: всё время
|
||||||
label_all_words: Все слова
|
label_all_words: Все слова
|
||||||
@@ -251,8 +251,8 @@ label_authentication: Аутентификация
|
|||||||
label_auth_source_new: Новый режим аутентификации
|
label_auth_source_new: Новый режим аутентификации
|
||||||
label_auth_source_plural: Режимы аутентификации
|
label_auth_source_plural: Режимы аутентификации
|
||||||
label_auth_source: Режим аутентификации
|
label_auth_source: Режим аутентификации
|
||||||
label_blocked_by: заблокировано
|
label_blocked_by: заблокировано
|
||||||
label_blocks: блокирует
|
label_blocks: блокирует
|
||||||
label_board_new: Новый форум
|
label_board_new: Новый форум
|
||||||
label_board_plural: Форумы
|
label_board_plural: Форумы
|
||||||
label_board: Форум
|
label_board: Форум
|
||||||
@@ -266,10 +266,10 @@ label_change_log: Журнал изменений
|
|||||||
label_change_plural: Правки
|
label_change_plural: Правки
|
||||||
label_change_properties: Изменить свойства
|
label_change_properties: Изменить свойства
|
||||||
label_changes_details: Подробности по всем изменениям
|
label_changes_details: Подробности по всем изменениям
|
||||||
label_changeset_plural: Наборы изменений
|
label_changeset_plural: Хранилище
|
||||||
label_change_status: Изменить статус
|
label_change_status: Изменить статус
|
||||||
label_change_view_all: Просмотреть все изменения
|
label_change_view_all: Просмотреть все изменения
|
||||||
label_chronological_order: В хронологическом порядке
|
label_chronological_order: В хронологическом порядке
|
||||||
label_closed_issues_plural2: закрыто
|
label_closed_issues_plural2: закрыто
|
||||||
label_closed_issues_plural5: закрыто
|
label_closed_issues_plural5: закрыто
|
||||||
label_closed_issues_plural: закрыто
|
label_closed_issues_plural: закрыто
|
||||||
@@ -285,7 +285,7 @@ label_commits_per_author: Изменений на пользователя
|
|||||||
label_commits_per_month: Изменений в месяц
|
label_commits_per_month: Изменений в месяц
|
||||||
label_confirmation: Подтверждение
|
label_confirmation: Подтверждение
|
||||||
label_contains: содержит
|
label_contains: содержит
|
||||||
label_copy_workflow_from: Скопировать последовательность действий из
|
label_copy_workflow_from: Скопировать последовательность действий из
|
||||||
label_current_status: Текущий статус
|
label_current_status: Текущий статус
|
||||||
label_current_version: Текущая версия
|
label_current_version: Текущая версия
|
||||||
label_custom_field_new: Новое настраиваемое поле
|
label_custom_field_new: Новое настраиваемое поле
|
||||||
@@ -363,7 +363,7 @@ label_issue_status: Статус задачи
|
|||||||
label_issue_tracking: Ситуация по задачам
|
label_issue_tracking: Ситуация по задачам
|
||||||
label_issue_updated: Задача обновлена
|
label_issue_updated: Задача обновлена
|
||||||
label_issue_view_all: Просмотреть все задачи
|
label_issue_view_all: Просмотреть все задачи
|
||||||
label_issue_watchers: Следящие
|
label_issue_watchers: Наблюдатели
|
||||||
label_issue: Задача
|
label_issue: Задача
|
||||||
label_jump_to_a_project: Перейти к проекту...
|
label_jump_to_a_project: Перейти к проекту...
|
||||||
label_language_based: На основе языка
|
label_language_based: На основе языка
|
||||||
@@ -379,7 +379,7 @@ label_last_week: последняя неделю
|
|||||||
label_latest_revision_plural: Последние редакции
|
label_latest_revision_plural: Последние редакции
|
||||||
label_latest_revision: Последняя редакция
|
label_latest_revision: Последняя редакция
|
||||||
label_ldap_authentication: Авторизация с помощью LDAP
|
label_ldap_authentication: Авторизация с помощью LDAP
|
||||||
label_less_than_ago: менее, чем дней(я) назад
|
label_less_than_ago: менее, чем дней(я) назад
|
||||||
label_list: Список
|
label_list: Список
|
||||||
label_loading: Загрузка...
|
label_loading: Загрузка...
|
||||||
label_logged_as: Вошел как
|
label_logged_as: Вошел как
|
||||||
@@ -396,14 +396,14 @@ label_message_posted: Сообщение добавлено
|
|||||||
label_me: мне
|
label_me: мне
|
||||||
label_min_max_length: Минимальная - максимальная длина
|
label_min_max_length: Минимальная - максимальная длина
|
||||||
label_modification: %d изменение
|
label_modification: %d изменение
|
||||||
label_modification_plural2: %d изменений
|
label_modification_plural2: %d изменения
|
||||||
label_modification_plural5: %d изменений
|
label_modification_plural5: %d изменений
|
||||||
label_modification_plural: %d изменений
|
label_modification_plural: %d изменений
|
||||||
label_modified: изменено
|
label_modified: изменено
|
||||||
label_module_plural: Модули
|
label_module_plural: Модули
|
||||||
label_months_from: месяцев(ца) с
|
label_months_from: месяцев(ца) с
|
||||||
label_month: Месяц
|
label_month: Месяц
|
||||||
label_more_than_ago: более, чем дней(я) назад
|
label_more_than_ago: более, чем дней(я) назад
|
||||||
label_more: Больше
|
label_more: Больше
|
||||||
label_my_account: Моя учетная запись
|
label_my_account: Моя учетная запись
|
||||||
label_my_page: Моя страница
|
label_my_page: Моя страница
|
||||||
@@ -420,7 +420,7 @@ label_next: Следующий
|
|||||||
label_nobody: никто
|
label_nobody: никто
|
||||||
label_no_change_option: (Нет изменений)
|
label_no_change_option: (Нет изменений)
|
||||||
label_no_data: Нет данных для отображения
|
label_no_data: Нет данных для отображения
|
||||||
label_none: отсутствует
|
label_none: отсутствует
|
||||||
label_not_contains: не содержит
|
label_not_contains: не содержит
|
||||||
label_not_equals: не соответствует
|
label_not_equals: не соответствует
|
||||||
label_on: 'из'
|
label_on: 'из'
|
||||||
@@ -432,7 +432,7 @@ label_optional_description: Описание (опционально)
|
|||||||
label_options: Опции
|
label_options: Опции
|
||||||
label_overall_activity: Сводная активность
|
label_overall_activity: Сводная активность
|
||||||
label_overview: Просмотр
|
label_overview: Просмотр
|
||||||
label_password_lost: Восстановление пароля
|
label_password_lost: Восстановление пароля
|
||||||
label_permissions_report: Отчет о правах доступа
|
label_permissions_report: Отчет о правах доступа
|
||||||
label_permissions: Права доступа
|
label_permissions: Права доступа
|
||||||
label_per_page: На страницу
|
label_per_page: На страницу
|
||||||
@@ -456,7 +456,7 @@ label_query_new: Новый запрос
|
|||||||
label_query_plural: Сохраненные запросы
|
label_query_plural: Сохраненные запросы
|
||||||
label_query: Сохраненный запрос
|
label_query: Сохраненный запрос
|
||||||
label_read: Чтение...
|
label_read: Чтение...
|
||||||
label_registered_on: Зарегистрирован(а)
|
label_registered_on: Зарегистрирован(а)
|
||||||
label_register: Регистрация
|
label_register: Регистрация
|
||||||
label_registration_activation_by_email: активация учетных записей по email
|
label_registration_activation_by_email: активация учетных записей по email
|
||||||
label_registration_automatic_activation: автоматическая активация учетных записей
|
label_registration_automatic_activation: автоматическая активация учетных записей
|
||||||
@@ -475,7 +475,7 @@ label_result_plural: Результаты
|
|||||||
label_reverse_chronological_order: В обратном порядке
|
label_reverse_chronological_order: В обратном порядке
|
||||||
label_revision_plural: Редакции
|
label_revision_plural: Редакции
|
||||||
label_revision: Редакция
|
label_revision: Редакция
|
||||||
label_roadmap_due_in: Вовремя
|
label_roadmap_due_in: Вовремя
|
||||||
label_roadmap_no_issues: Нет задач для данной версии
|
label_roadmap_no_issues: Нет задач для данной версии
|
||||||
label_roadmap_overdue: %s опоздание
|
label_roadmap_overdue: %s опоздание
|
||||||
label_roadmap: Оперативный план
|
label_roadmap: Оперативный план
|
||||||
@@ -499,7 +499,7 @@ label_spent_time: Затраченное время
|
|||||||
label_start_to_end: с начала к концу
|
label_start_to_end: с начала к концу
|
||||||
label_start_to_start: с начала к началу
|
label_start_to_start: с начала к началу
|
||||||
label_statistics: Статистика
|
label_statistics: Статистика
|
||||||
label_stay_logged_in: Оставаться в системе
|
label_stay_logged_in: Оставаться в системе
|
||||||
label_string: Текст
|
label_string: Текст
|
||||||
label_subproject_plural: Подпроекты
|
label_subproject_plural: Подпроекты
|
||||||
label_text: Длинный текст
|
label_text: Длинный текст
|
||||||
@@ -529,7 +529,7 @@ label_version_plural: Версии
|
|||||||
label_version: Версия
|
label_version: Версия
|
||||||
label_view_diff: Просмотреть отличия
|
label_view_diff: Просмотреть отличия
|
||||||
label_view_revisions: Просмотреть редакции
|
label_view_revisions: Просмотреть редакции
|
||||||
label_watched_issues: Отслеживаемые задачи
|
label_watched_issues: Отслеживаемые задачи
|
||||||
label_week: Неделя
|
label_week: Неделя
|
||||||
label_wiki_edit_plural: Редактирования Wiki
|
label_wiki_edit_plural: Редактирования Wiki
|
||||||
label_wiki_edit: Редактирование Wiki
|
label_wiki_edit: Редактирование Wiki
|
||||||
@@ -545,18 +545,18 @@ mail_body_account_information_external: Вы можете использоват
|
|||||||
mail_body_account_information: Информация о Вашей учетной записи
|
mail_body_account_information: Информация о Вашей учетной записи
|
||||||
mail_body_lost_password: 'Для изменения пароля зайдите по следующей ссылке:'
|
mail_body_lost_password: 'Для изменения пароля зайдите по следующей ссылке:'
|
||||||
mail_body_register: 'Для активации учетной записи зайдите по следующей ссылке:'
|
mail_body_register: 'Для активации учетной записи зайдите по следующей ссылке:'
|
||||||
mail_body_reminder: "%d назначенных на вас задач на следующие %d дней:"
|
mail_body_reminder: "%d назначенных на Вас задач на следующие %d дней:"
|
||||||
mail_subject_account_activation_request: Запрос на активацию пользователя в системе %s
|
mail_subject_account_activation_request: Запрос на активацию пользователя в системе %s
|
||||||
mail_subject_lost_password: Ваш %s пароль
|
mail_subject_lost_password: Ваш %s пароль
|
||||||
mail_subject_register: Активация учетной записи %s
|
mail_subject_register: Активация учетной записи %s
|
||||||
mail_subject_reminder: "%d назначенных на вас задач в ближайшие дни"
|
mail_subject_reminder: "%d назначенных на Вас задач в ближайшие дни"
|
||||||
|
|
||||||
notice_account_activated: Ваша учетная запись активирована. Вы можете войти.
|
notice_account_activated: Ваша учетная запись активирована. Вы можете войти.
|
||||||
notice_account_invalid_creditentials: Неправильное имя пользователя или пароль
|
notice_account_invalid_creditentials: Неправильное имя пользователя или пароль
|
||||||
notice_account_lost_email_sent: Вам отправлено письмо с инструкциями по выбору нового пароля.
|
notice_account_lost_email_sent: Вам отправлено письмо с инструкциями по выбору нового пароля.
|
||||||
notice_account_password_updated: Пароль успешно обновлен.
|
notice_account_password_updated: Пароль успешно обновлен.
|
||||||
notice_account_pending: "Ваша учетная запись уже создан и ожидает подтверждения администратора."
|
notice_account_pending: "Ваша учетная запись уже создана и ожидает подтверждения администратора."
|
||||||
notice_account_register_done: Учетная запись успешно создана. Для активации Вашей учетной записи зайдите по ссылке, которая выслана вам по электронной почте.
|
notice_account_register_done: Учетная запись успешно создана. Для активации Вашей учетной записи зайдите по ссылке, которая выслана Вам по электронной почте.
|
||||||
notice_account_unknown_email: Неизвестный пользователь.
|
notice_account_unknown_email: Неизвестный пользователь.
|
||||||
notice_account_updated: Учетная запись успешно обновлена.
|
notice_account_updated: Учетная запись успешно обновлена.
|
||||||
notice_account_wrong_password: Неверный пароль
|
notice_account_wrong_password: Неверный пароль
|
||||||
@@ -569,14 +569,14 @@ notice_feeds_access_key_reseted: Ваш ключ доступа RSS был пе
|
|||||||
notice_file_not_found: Страница, на которую Вы пытаетесь зайти, не существует или удалена.
|
notice_file_not_found: Страница, на которую Вы пытаетесь зайти, не существует или удалена.
|
||||||
notice_locking_conflict: Информация обновлена другим пользователем.
|
notice_locking_conflict: Информация обновлена другим пользователем.
|
||||||
notice_no_issue_selected: "Не выбрано ни одной задачи! Пожалуйста, отметьте задачи, которые Вы хотите отредактировать."
|
notice_no_issue_selected: "Не выбрано ни одной задачи! Пожалуйста, отметьте задачи, которые Вы хотите отредактировать."
|
||||||
notice_not_authorized: У вас нет прав для посещения данной страницы.
|
notice_not_authorized: У Вас нет прав для посещения данной страницы.
|
||||||
notice_successful_connection: Подключение успешно установлено.
|
notice_successful_connection: Подключение успешно установлено.
|
||||||
notice_successful_create: Создание успешно завершено.
|
notice_successful_create: Создание успешно завершено.
|
||||||
notice_successful_delete: Удаление успешно завершено.
|
notice_successful_delete: Удаление успешно завершено.
|
||||||
notice_successful_update: Обновление успешно завершено.
|
notice_successful_update: Обновление успешно завершено.
|
||||||
notice_unable_delete_version: Невозможно удалить версию.
|
notice_unable_delete_version: Невозможно удалить версию.
|
||||||
|
|
||||||
project_module_boards: Форумы
|
project_module_boards: Форумы
|
||||||
project_module_documents: Документы
|
project_module_documents: Документы
|
||||||
project_module_files: Файлы
|
project_module_files: Файлы
|
||||||
project_module_issue_tracking: Задачи
|
project_module_issue_tracking: Задачи
|
||||||
@@ -586,14 +586,14 @@ project_module_time_tracking: Учет времени
|
|||||||
project_module_wiki: Wiki
|
project_module_wiki: Wiki
|
||||||
|
|
||||||
setting_activity_days_default: Количество дней, отображаемых в Активности
|
setting_activity_days_default: Количество дней, отображаемых в Активности
|
||||||
setting_app_subtitle: Подзаголовок приложения
|
setting_app_subtitle: Подзаголовок приложения
|
||||||
setting_app_title: Название приложения
|
setting_app_title: Название приложения
|
||||||
setting_attachment_max_size: Максимальный размер вложения
|
setting_attachment_max_size: Максимальный размер вложения
|
||||||
setting_autofetch_changesets: Автоматически следить за изменениями хранилища
|
setting_autofetch_changesets: Автоматически следить за изменениями хранилища
|
||||||
setting_autologin: Автоматический вход
|
setting_autologin: Автоматический вход
|
||||||
setting_bcc_recipients: Использовать скрытые списки (bcc)
|
setting_bcc_recipients: Использовать скрытые списки (bcc)
|
||||||
setting_commit_fix_keywords: Назначение ключевых слов
|
setting_commit_fix_keywords: Назначение ключевых слов
|
||||||
setting_commit_logs_encoding: Кодировка добавляемых сообщений
|
setting_commit_logs_encoding: Кодировка комментариев в хранилище
|
||||||
setting_commit_ref_keywords: Ключевые слова для поиска
|
setting_commit_ref_keywords: Ключевые слова для поиска
|
||||||
setting_cross_project_issue_relations: Разрешить пересечение задач по проектам
|
setting_cross_project_issue_relations: Разрешить пересечение задач по проектам
|
||||||
setting_date_format: Формат даты
|
setting_date_format: Формат даты
|
||||||
@@ -617,15 +617,15 @@ setting_self_registration: Возможна саморегистрация
|
|||||||
setting_sequential_project_identifiers: Генерировать последовательные идентификаторы проектов
|
setting_sequential_project_identifiers: Генерировать последовательные идентификаторы проектов
|
||||||
setting_sys_api_enabled: Разрешить WS для управления хранилищем
|
setting_sys_api_enabled: Разрешить WS для управления хранилищем
|
||||||
setting_text_formatting: Форматирование текста
|
setting_text_formatting: Форматирование текста
|
||||||
setting_time_format: Формат времени
|
setting_time_format: Формат времени
|
||||||
setting_user_format: Формат отображения имени
|
setting_user_format: Формат отображения имени
|
||||||
setting_welcome_text: Текст приветствия
|
setting_welcome_text: Текст приветствия
|
||||||
setting_wiki_compression: Сжатие истории Wiki
|
setting_wiki_compression: Сжатие истории Wiki
|
||||||
|
|
||||||
status_active: активен
|
status_active: активен
|
||||||
status_locked: закрыт
|
status_locked: закрыт
|
||||||
|
|
||||||
status_registered: зарегистрирован
|
status_registered: зарегистрирован
|
||||||
|
|
||||||
text_are_you_sure: Подтвердите
|
text_are_you_sure: Подтвердите
|
||||||
text_assign_time_entries_to_project: Прикрепить зарегистрированное время к проекту
|
text_assign_time_entries_to_project: Прикрепить зарегистрированное время к проекту
|
||||||
text_caracters_maximum: Максимум %d символов(а).
|
text_caracters_maximum: Максимум %d символов(а).
|
||||||
@@ -640,7 +640,7 @@ text_enumeration_destroy_question: '%d объект(а,ов) связаны с
|
|||||||
text_file_repository_writable: Хранилище с доступом на запись
|
text_file_repository_writable: Хранилище с доступом на запись
|
||||||
text_issue_added: По задаче %s был создан отчет (%s).
|
text_issue_added: По задаче %s был создан отчет (%s).
|
||||||
text_issue_category_destroy_assignments: Удалить назначения категории
|
text_issue_category_destroy_assignments: Удалить назначения категории
|
||||||
text_issue_category_destroy_question: Несколько задач (%d) назначено в данную категорию. Что вы хотите предпринять?
|
text_issue_category_destroy_question: Несколько задач (%d) назначено в данную категорию. Что Вы хотите предпринять?
|
||||||
text_issue_category_reassign_to: Переназначить задачи для данной категории
|
text_issue_category_reassign_to: Переназначить задачи для данной категории
|
||||||
text_issues_destroy_confirmation: 'Вы уверены, что хотите удалить выбранные задачи?'
|
text_issues_destroy_confirmation: 'Вы уверены, что хотите удалить выбранные задачи?'
|
||||||
text_issues_ref_in_commit_messages: Сопоставление и изменение статуса задач исходя из текста сообщений
|
text_issues_ref_in_commit_messages: Сопоставление и изменение статуса задач исходя из текста сообщений
|
||||||
@@ -666,7 +666,9 @@ text_tip_task_begin_end_day: начало задачи и окончание е
|
|||||||
text_tip_task_end_day: дата завершения задачи
|
text_tip_task_end_day: дата завершения задачи
|
||||||
text_tracker_no_workflow: Для этого трекера последовательность действий не определена
|
text_tracker_no_workflow: Для этого трекера последовательность действий не определена
|
||||||
text_unallowed_characters: Запрещенные символы
|
text_unallowed_characters: Запрещенные символы
|
||||||
text_user_mail_option: "Для невыбранных проектов, Вы будете получать уведомления только о том что просматриваете или в чем участвуете (например, вопросы автором которых вы являетесь или которые вам назначены)."
|
text_user_mail_option: "Для невыбранных проектов, Вы будете получать уведомления только о том что просматриваете или в чем участвуете (например, вопросы, автором которых Вы являетесь или которые Вам назначены)."
|
||||||
text_user_wrote: '%s написал(а):'
|
text_user_wrote: '%s написал(а):'
|
||||||
text_wiki_destroy_confirmation: Вы уверены, что хотите удалить данную вики и все содержимое?
|
text_wiki_destroy_confirmation: Вы уверены, что хотите удалить данную Wiki и все содержимое?
|
||||||
text_workflow_edit: Выберите роль и трекер для редактирования последовательности состояний
|
text_workflow_edit: Выберите роль и трекер для редактирования последовательности состояний
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -641,3 +641,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -639,3 +639,5 @@ setting_mail_handler_api_key: API key
|
|||||||
setting_commit_logs_encoding: Commit messages encoding
|
setting_commit_logs_encoding: Commit messages encoding
|
||||||
general_csv_decimal_separator: '.'
|
general_csv_decimal_separator: '.'
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -640,3 +640,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
|||||||
button_quote: Quote
|
button_quote: Quote
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||||
notice_unable_delete_version: Unable to delete version
|
notice_unable_delete_version: Unable to delete version
|
||||||
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -77,6 +77,7 @@ notice_failed_to_save_issues: " %d 個項目儲存失敗 (總共選取 %d 個項
|
|||||||
notice_no_issue_selected: "未選擇任何項目!請勾選您想要編輯的項目。"
|
notice_no_issue_selected: "未選擇任何項目!請勾選您想要編輯的項目。"
|
||||||
notice_account_pending: "您的帳號已經建立,正在等待管理員的審核。"
|
notice_account_pending: "您的帳號已經建立,正在等待管理員的審核。"
|
||||||
notice_default_data_loaded: 預設組態已載入成功。
|
notice_default_data_loaded: 預設組態已載入成功。
|
||||||
|
notice_unable_delete_version: 無法刪除版本。
|
||||||
|
|
||||||
error_can_t_load_default_data: "無法載入預設組態: %s"
|
error_can_t_load_default_data: "無法載入預設組態: %s"
|
||||||
error_scm_not_found: SCM 儲存庫中找不到這個專案或版本。
|
error_scm_not_found: SCM 儲存庫中找不到這個專案或版本。
|
||||||
@@ -638,4 +639,5 @@ default_activity_development: 開發
|
|||||||
enumeration_issue_priorities: 項目優先權
|
enumeration_issue_priorities: 項目優先權
|
||||||
enumeration_doc_categories: 文件分類
|
enumeration_doc_categories: 文件分類
|
||||||
enumeration_activities: 活動 (時間追蹤)
|
enumeration_activities: 活動 (時間追蹤)
|
||||||
notice_unable_delete_version: Unable to delete version
|
label_renamed: renamed
|
||||||
|
label_copied: copied
|
||||||
@@ -77,6 +77,7 @@ notice_failed_to_save_issues: "%d 个问题保存失败(共选择 %d 个问题
|
|||||||
notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
|
notice_no_issue_selected: "未选择任何问题!请选择您要编辑的问题。"
|
||||||
notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
|
notice_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
|
||||||
notice_default_data_loaded: 成功载入默认设置。
|
notice_default_data_loaded: 成功载入默认设置。
|
||||||
|
notice_unable_delete_version: 无法删除版本
|
||||||
|
|
||||||
error_can_t_load_default_data: "无法载入默认设置:%s"
|
error_can_t_load_default_data: "无法载入默认设置:%s"
|
||||||
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
||||||
@@ -219,6 +220,7 @@ setting_display_subprojects_issues: 在项目页面上默认显示子项目的
|
|||||||
setting_enabled_scm: 启用 SCM
|
setting_enabled_scm: 启用 SCM
|
||||||
setting_mail_handler_api_enabled: 启用用于接收邮件的Web Service
|
setting_mail_handler_api_enabled: 启用用于接收邮件的Web Service
|
||||||
setting_mail_handler_api_key: API key
|
setting_mail_handler_api_key: API key
|
||||||
|
setting_sequential_project_identifiers: 顺序产生项目标识
|
||||||
|
|
||||||
project_module_issue_tracking: 问题跟踪
|
project_module_issue_tracking: 问题跟踪
|
||||||
project_module_time_tracking: 时间跟踪
|
project_module_time_tracking: 时间跟踪
|
||||||
@@ -561,6 +563,7 @@ button_copy: 复制
|
|||||||
button_annotate: 追溯
|
button_annotate: 追溯
|
||||||
button_update: 更新
|
button_update: 更新
|
||||||
button_configure: 配置
|
button_configure: 配置
|
||||||
|
button_quote: 引用
|
||||||
|
|
||||||
status_active: 活动的
|
status_active: 活动的
|
||||||
status_registered: 已注册
|
status_registered: 已注册
|
||||||
@@ -636,6 +639,5 @@ default_activity_development: 开发
|
|||||||
enumeration_issue_priorities: 问题优先级
|
enumeration_issue_priorities: 问题优先级
|
||||||
enumeration_doc_categories: 文档类别
|
enumeration_doc_categories: 文档类别
|
||||||
enumeration_activities: 活动(时间跟踪)
|
enumeration_activities: 活动(时间跟踪)
|
||||||
button_quote: Quote
|
label_renamed: renamed
|
||||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
label_copied: copied
|
||||||
notice_unable_delete_version: Unable to delete version
|
|
||||||
@@ -788,10 +788,10 @@ class RedCloth3 < String
|
|||||||
":
|
":
|
||||||
([\w\/]\S+?) # $url
|
([\w\/]\S+?) # $url
|
||||||
(\/)? # $slash
|
(\/)? # $slash
|
||||||
([^\w\/;]*?) # $post
|
([^\w\=\/;\(\)]*?) # $post
|
||||||
(?=<|\s|$)
|
(?=<|\s|$)
|
||||||
/x
|
/x
|
||||||
|
#"
|
||||||
def inline_textile_link( text )
|
def inline_textile_link( text )
|
||||||
text.gsub!( LINK_RE ) do |m|
|
text.gsub!( LINK_RE ) do |m|
|
||||||
pre,atts,text,title,url,slash,post = $~[1..7]
|
pre,atts,text,title,url,slash,post = $~[1..7]
|
||||||
@@ -799,6 +799,12 @@ class RedCloth3 < String
|
|||||||
url, url_title = check_refs( url )
|
url, url_title = check_refs( url )
|
||||||
title ||= url_title
|
title ||= url_title
|
||||||
|
|
||||||
|
# Idea below : an URL with unbalanced parethesis and
|
||||||
|
# ending by ')' is put into external parenthesis
|
||||||
|
if ( url[-1]==?) and ((url.count("(") - url.count(")")) < 0 ) )
|
||||||
|
url=url[0..-2] # discard closing parenth from url
|
||||||
|
post = ")"+post # add closing parenth to post
|
||||||
|
end
|
||||||
atts = pba( atts )
|
atts = pba( atts )
|
||||||
atts = " href=\"#{ url }#{ slash }\"#{ atts }"
|
atts = " href=\"#{ url }#{ slash }\"#{ atts }"
|
||||||
atts << " title=\"#{ title }\"" if title
|
atts << " title=\"#{ title }\"" if title
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ module Redmine
|
|||||||
(\S+?) # url
|
(\S+?) # url
|
||||||
(\/)? # slash
|
(\/)? # slash
|
||||||
)
|
)
|
||||||
([^\w\=\/;]*?) # post
|
([^\w\=\/;\(\)]*?) # post
|
||||||
(?=<|\s|$)
|
(?=<|\s|$)
|
||||||
}x unless const_defined?(:AUTO_LINK_RE)
|
}x unless const_defined?(:AUTO_LINK_RE)
|
||||||
|
|
||||||
@@ -156,7 +156,13 @@ module Redmine
|
|||||||
# don't replace URL's that are already linked
|
# don't replace URL's that are already linked
|
||||||
# and URL's prefixed with ! !> !< != (textile images)
|
# and URL's prefixed with ! !> !< != (textile images)
|
||||||
all
|
all
|
||||||
else
|
else
|
||||||
|
# Idea below : an URL with unbalanced parethesis and
|
||||||
|
# ending by ')' is put into external parenthesis
|
||||||
|
if ( url[-1]==?) and ((url.count("(") - url.count(")")) < 0 ) )
|
||||||
|
url=url[0..-2] # discard closing parenth from url
|
||||||
|
post = ")"+post # add closing parenth to post
|
||||||
|
end
|
||||||
%(#{leading}<a class="external" href="#{proto=="www."?"http://www.":proto}#{url}">#{proto + url}</a>#{post})
|
%(#{leading}<a class="external" href="#{proto=="www."?"http://www.":proto}#{url}">#{proto + url}</a>#{post})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
|
After Width: | Height: | Size: 286 B |
|
After Width: | Height: | Size: 211 B |
|
After Width: | Height: | Size: 289 B |
|
After Width: | Height: | Size: 308 B |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 294 B |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,127 @@
|
|||||||
|
// ** I18N
|
||||||
|
|
||||||
|
// Calendar EN language
|
||||||
|
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
|
||||||
|
// Encoding: any
|
||||||
|
// 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
|
||||||
|
("Diumenge",
|
||||||
|
"Dilluns",
|
||||||
|
"Dimarts",
|
||||||
|
"Dimecres",
|
||||||
|
"Dijous",
|
||||||
|
"Divendres",
|
||||||
|
"Dissabte",
|
||||||
|
"Diumenge");
|
||||||
|
|
||||||
|
// 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
|
||||||
|
("dg",
|
||||||
|
"dl",
|
||||||
|
"dt",
|
||||||
|
"dc",
|
||||||
|
"dj",
|
||||||
|
"dv",
|
||||||
|
"ds",
|
||||||
|
"dg");
|
||||||
|
|
||||||
|
// First day of the week. "0" means display Sunday first, "1" means display
|
||||||
|
// Monday first, etc.
|
||||||
|
Calendar._FD = 0;
|
||||||
|
|
||||||
|
// full month names
|
||||||
|
Calendar._MN = new Array
|
||||||
|
("Gener",
|
||||||
|
"Febrer",
|
||||||
|
"Març",
|
||||||
|
"Abril",
|
||||||
|
"Maig",
|
||||||
|
"Juny",
|
||||||
|
"Juliol",
|
||||||
|
"Agost",
|
||||||
|
"Setembre",
|
||||||
|
"Octubre",
|
||||||
|
"Novembre",
|
||||||
|
"Desembre");
|
||||||
|
|
||||||
|
// short month names
|
||||||
|
Calendar._SMN = new Array
|
||||||
|
("Gen",
|
||||||
|
"Feb",
|
||||||
|
"Mar",
|
||||||
|
"Abr",
|
||||||
|
"Mai",
|
||||||
|
"Jun",
|
||||||
|
"Jul",
|
||||||
|
"Ago",
|
||||||
|
"Set",
|
||||||
|
"Oct",
|
||||||
|
"Nov",
|
||||||
|
"Des");
|
||||||
|
|
||||||
|
// tooltips
|
||||||
|
Calendar._TT = {};
|
||||||
|
Calendar._TT["INFO"] = "Quant al calendari";
|
||||||
|
|
||||||
|
Calendar._TT["ABOUT"] =
|
||||||
|
"Selector DHTML de data/hora\n" +
|
||||||
|
"(c) dynarch.com 2002-2005 / Autor: Mihai Bazon\n" + // don't translate this this ;-)
|
||||||
|
"Per a aconseguir l'última versió visiteu: http://www.dynarch.com/projects/calendar/\n" +
|
||||||
|
"Distribuït sota la llicència GNU LGPL. Vegeu http://gnu.org/licenses/lgpl.html per a més detalls." +
|
||||||
|
"\n\n" +
|
||||||
|
"Selecció de la data:\n" +
|
||||||
|
"- Utilitzeu els botons \xab, \xbb per a seleccionar l'any\n" +
|
||||||
|
"- Utilitzeu els botons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per a selecciona el mes\n" +
|
||||||
|
"- Mantingueu premut el botó del ratolí sobre qualsevol d'aquests botons per a uns selecció més ràpida.";
|
||||||
|
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
||||||
|
"Selecció de l'hora:\n" +
|
||||||
|
"- Feu clic en qualsevol part de l'hora per a incrementar-la\n" +
|
||||||
|
"- o premeu majúscules per a disminuir-la\n" +
|
||||||
|
"- o feu clic i arrossegueu per a una selecció més ràpida.";
|
||||||
|
|
||||||
|
Calendar._TT["PREV_YEAR"] = "Any anterior (mantenir per menú)";
|
||||||
|
Calendar._TT["PREV_MONTH"] = "Mes anterior (mantenir per menú)";
|
||||||
|
Calendar._TT["GO_TODAY"] = "Anar a avui";
|
||||||
|
Calendar._TT["NEXT_MONTH"] = "Mes següent (mantenir per menú)";
|
||||||
|
Calendar._TT["NEXT_YEAR"] = "Any següent (mantenir per menú)";
|
||||||
|
Calendar._TT["SEL_DATE"] = "Sel·lecciona data";
|
||||||
|
Calendar._TT["DRAG_TO_MOVE"] = "Arrossega per a moure";
|
||||||
|
Calendar._TT["PART_TODAY"] = " (avui)";
|
||||||
|
|
||||||
|
// 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"] = "Primer mostra el %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"] = "Tanca";
|
||||||
|
Calendar._TT["TODAY"] = "Avui";
|
||||||
|
Calendar._TT["TIME_PART"] = "(Majúscules-)Feu clic o arrossegueu per a canviar el valor";
|
||||||
|
|
||||||
|
// date formats
|
||||||
|
Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y";
|
||||||
|
Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y";
|
||||||
|
|
||||||
|
Calendar._TT["WK"] = "set";
|
||||||
|
Calendar._TT["TIME"] = "Hora:";
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
jsToolBar.strings = {};
|
||||||
|
jsToolBar.strings['Strong'] = 'Negreta';
|
||||||
|
jsToolBar.strings['Italic'] = 'Cursiva';
|
||||||
|
jsToolBar.strings['Underline'] = 'Subratllat';
|
||||||
|
jsToolBar.strings['Deleted'] = 'Barrat';
|
||||||
|
jsToolBar.strings['Code'] = 'Codi en línia';
|
||||||
|
jsToolBar.strings['Heading 1'] = 'Encapçalament 1';
|
||||||
|
jsToolBar.strings['Heading 2'] = 'Encapçalament 2';
|
||||||
|
jsToolBar.strings['Heading 3'] = 'Encapçalament 3';
|
||||||
|
jsToolBar.strings['Unordered list'] = 'Llista sense ordre';
|
||||||
|
jsToolBar.strings['Ordered list'] = 'Llista ordenada';
|
||||||
|
jsToolBar.strings['Quote'] = 'Cometes';
|
||||||
|
jsToolBar.strings['Unquote'] = 'Sense cometes';
|
||||||
|
jsToolBar.strings['Preformatted text'] = 'Text formatat';
|
||||||
|
jsToolBar.strings['Wiki link'] = 'Enllaça a una pàgina Wiki';
|
||||||
|
jsToolBar.strings['Image'] = 'Imatge';
|
||||||
@@ -582,7 +582,6 @@ vertical-align: middle;
|
|||||||
.icon-mypage { background-image: url(../images/user_page.png); }
|
.icon-mypage { background-image: url(../images/user_page.png); }
|
||||||
.icon-admin { background-image: url(../images/admin.png); }
|
.icon-admin { background-image: url(../images/admin.png); }
|
||||||
.icon-projects { background-image: url(../images/projects.png); }
|
.icon-projects { background-image: url(../images/projects.png); }
|
||||||
.icon-logout { background-image: url(../images/logout.png); }
|
|
||||||
.icon-help { background-image: url(../images/help.png); }
|
.icon-help { background-image: url(../images/help.png); }
|
||||||
.icon-attachment { background-image: url(../images/attachment.png); }
|
.icon-attachment { background-image: url(../images/attachment.png); }
|
||||||
.icon-index { background-image: url(../images/index.png); }
|
.icon-index { background-image: url(../images/index.png); }
|
||||||
|
|||||||
@@ -60,15 +60,9 @@
|
|||||||
.jstb_del {
|
.jstb_del {
|
||||||
background-image: url(../images/jstoolbar/bt_del.png);
|
background-image: url(../images/jstoolbar/bt_del.png);
|
||||||
}
|
}
|
||||||
.jstb_quote {
|
|
||||||
background-image: url(../images/jstoolbar/bt_quote.png);
|
|
||||||
}
|
|
||||||
.jstb_code {
|
.jstb_code {
|
||||||
background-image: url(../images/jstoolbar/bt_code.png);
|
background-image: url(../images/jstoolbar/bt_code.png);
|
||||||
}
|
}
|
||||||
.jstb_br {
|
|
||||||
background-image: url(../images/jstoolbar/bt_br.png);
|
|
||||||
}
|
|
||||||
.jstb_h1 {
|
.jstb_h1 {
|
||||||
background-image: url(../images/jstoolbar/bt_h1.png);
|
background-image: url(../images/jstoolbar/bt_h1.png);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,32 @@
|
|||||||
|
|
||||||
|
div.changeset-changes ul { margin: 0; padding: 0; }
|
||||||
|
div.changeset-changes ul > ul { margin-left: 18px; padding: 0; }
|
||||||
|
|
||||||
|
li.change {
|
||||||
|
list-style-type:none;
|
||||||
|
background-image: url(../images/bullet_black.png);
|
||||||
|
background-position: 1px 1px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
padding-top: 1px;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
padding-left: 20px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
li.change.folder { background-image: url(../images/folder_open.png); }
|
||||||
|
li.change.folder.change-A { background-image: url(../images/folder_open_add.png); }
|
||||||
|
li.change.folder.change-M { background-image: url(../images/folder_open_orange.png); }
|
||||||
|
li.change.change-A { background-image: url(../images/bullet_add.png); }
|
||||||
|
li.change.change-M { background-image: url(../images/bullet_orange.png); }
|
||||||
|
li.change.change-C { background-image: url(../images/bullet_blue.png); }
|
||||||
|
li.change.change-R { background-image: url(../images/bullet_purple.png); }
|
||||||
|
li.change.change-D { background-image: url(../images/bullet_delete.png); }
|
||||||
|
|
||||||
|
li.change .copied-from { font-style: italic; color: #999; font-size: 0.9em; }
|
||||||
|
li.change .copied-from:before { content: " - "}
|
||||||
|
|
||||||
|
#changes-legend { float: right; font-size: 0.8em; margin: 0; }
|
||||||
|
#changes-legend li { float: left; background-position: 5px 0; }
|
||||||
|
|
||||||
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: #e4e4d4; text-align: left; padding: 0.2em;}
|
table.filecontent th.filename { background-color: #e4e4d4; text-align: left; padding: 0.2em;}
|
||||||
|
|||||||
@@ -125,16 +125,18 @@ class RepositoriesSubversionControllerTest < Test::Unit::TestCase
|
|||||||
get :revision, :id => 1, :rev => 2
|
get :revision, :id => 1, :rev => 2
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template 'revision'
|
assert_template 'revision'
|
||||||
assert_tag :tag => 'tr',
|
assert_tag :tag => 'ul',
|
||||||
:child => { :tag => 'td',
|
:child => { :tag => 'li',
|
||||||
# link to the entry at rev 2
|
# link to the entry at rev 2
|
||||||
:child => { :tag => 'a', :attributes => {:href => 'repositories/entry/ecookbook/test/some/path/in/the/repo?rev=2'},
|
:child => { :tag => 'a',
|
||||||
:content => %r{/test/some/path/in/the/repo} }
|
:attributes => {:href => '/repositories/entry/ecookbook/test/some/path/in/the/repo?rev=2'},
|
||||||
},
|
:content => 'repo',
|
||||||
:child => { :tag => 'td',
|
# link to partial diff
|
||||||
# link to partial diff
|
:sibling => { :tag => 'a',
|
||||||
:child => { :tag => 'a', :attributes => { :href => '/repositories/diff/ecookbook/test/some/path/in/the/repo?rev=2' } }
|
:attributes => { :href => '/repositories/diff/ecookbook/test/some/path/in/the/repo?rev=2' }
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_revision_with_repository_pointing_to_a_subdirectory
|
def test_revision_with_repository_pointing_to_a_subdirectory
|
||||||
@@ -145,11 +147,18 @@ class RepositoriesSubversionControllerTest < Test::Unit::TestCase
|
|||||||
get :revision, :id => 1, :rev => 2
|
get :revision, :id => 1, :rev => 2
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template 'revision'
|
assert_template 'revision'
|
||||||
assert_tag :tag => 'tr',
|
assert_tag :tag => 'ul',
|
||||||
:child => { :tag => 'td', :content => %r{/test/some/path/in/the/repo} },
|
:child => { :tag => 'li',
|
||||||
:child => { :tag => 'td',
|
# link to the entry at rev 2
|
||||||
:child => { :tag => 'a', :attributes => { :href => '/repositories/diff/ecookbook/path/in/the/repo?rev=2' } }
|
:child => { :tag => 'a',
|
||||||
}
|
:attributes => {:href => '/repositories/entry/ecookbook/path/in/the/repo?rev=2'},
|
||||||
|
:content => 'repo',
|
||||||
|
# link to partial diff
|
||||||
|
:sibling => { :tag => 'a',
|
||||||
|
:attributes => { :href => '/repositories/diff/ecookbook/path/in/the/repo?rev=2' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_diff
|
def test_diff
|
||||||
|
|||||||
@@ -38,10 +38,18 @@ class ApplicationHelperTest < HelperTestCase
|
|||||||
'This is a link: http://foo.bar.' => 'This is a link: <a class="external" href="http://foo.bar">http://foo.bar</a>.',
|
'This is a link: http://foo.bar.' => 'This is a link: <a class="external" href="http://foo.bar">http://foo.bar</a>.',
|
||||||
'A link (eg. http://foo.bar).' => 'A link (eg. <a class="external" href="http://foo.bar">http://foo.bar</a>).',
|
'A link (eg. http://foo.bar).' => 'A link (eg. <a class="external" href="http://foo.bar">http://foo.bar</a>).',
|
||||||
'http://foo.bar/foo.bar#foo.bar.' => '<a class="external" href="http://foo.bar/foo.bar#foo.bar">http://foo.bar/foo.bar#foo.bar</a>.',
|
'http://foo.bar/foo.bar#foo.bar.' => '<a class="external" href="http://foo.bar/foo.bar#foo.bar">http://foo.bar/foo.bar#foo.bar</a>.',
|
||||||
|
'http://www.foo.bar/Test_(foobar)' => '<a class="external" href="http://www.foo.bar/Test_(foobar)">http://www.foo.bar/Test_(foobar)</a>',
|
||||||
|
'(see inline link : http://www.foo.bar/Test_(foobar))' => '(see inline link : <a class="external" href="http://www.foo.bar/Test_(foobar)">http://www.foo.bar/Test_(foobar)</a>)',
|
||||||
|
'(see inline link : http://www.foo.bar/Test)' => '(see inline link : <a class="external" href="http://www.foo.bar/Test">http://www.foo.bar/Test</a>)',
|
||||||
|
'(see inline link : http://www.foo.bar/Test).' => '(see inline link : <a class="external" href="http://www.foo.bar/Test">http://www.foo.bar/Test</a>).',
|
||||||
|
'(see "inline link":http://www.foo.bar/Test_(foobar))' => '(see <a href="http://www.foo.bar/Test_(foobar)" class="external">inline link</a>)',
|
||||||
|
'(see "inline link":http://www.foo.bar/Test)' => '(see <a href="http://www.foo.bar/Test" class="external">inline link</a>)',
|
||||||
|
'(see "inline link":http://www.foo.bar/Test).' => '(see <a href="http://www.foo.bar/Test" class="external">inline link</a>).',
|
||||||
'www.foo.bar' => '<a class="external" href="http://www.foo.bar">www.foo.bar</a>',
|
'www.foo.bar' => '<a class="external" href="http://www.foo.bar">www.foo.bar</a>',
|
||||||
'http://foo.bar/page?p=1&t=z&s=' => '<a class="external" href="http://foo.bar/page?p=1&t=z&s=">http://foo.bar/page?p=1&t=z&s=</a>',
|
'http://foo.bar/page?p=1&t=z&s=' => '<a class="external" href="http://foo.bar/page?p=1&t=z&s=">http://foo.bar/page?p=1&t=z&s=</a>',
|
||||||
'http://foo.bar/page#125' => '<a class="external" href="http://foo.bar/page#125">http://foo.bar/page#125</a>',
|
'http://foo.bar/page#125' => '<a class="external" href="http://foo.bar/page#125">http://foo.bar/page#125</a>',
|
||||||
'http://foo@www.bar.com' => '<a class="external" href="http://foo@www.bar.com">http://foo@www.bar.com</a>',
|
'http://foo@www.bar.com' => '<a class="external" href="http://foo@www.bar.com">http://foo@www.bar.com</a>',
|
||||||
|
'http://foo:bar@www.bar.com' => '<a class="external" href="http://foo:bar@www.bar.com">http://foo:bar@www.bar.com</a>',
|
||||||
'ftp://foo.bar' => '<a class="external" href="ftp://foo.bar">ftp://foo.bar</a>',
|
'ftp://foo.bar' => '<a class="external" href="ftp://foo.bar">ftp://foo.bar</a>',
|
||||||
}
|
}
|
||||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||||
|
|||||||