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
@ -118,11 +118,6 @@ class RepositoriesController < ApplicationController
|
||||
def revision
|
||||
@changeset = @repository.changesets.find_by_revision(@rev)
|
||||
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|
|
||||
format.html
|
||||
|
||||
@ -32,6 +32,74 @@ module RepositoriesHelper
|
||||
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)
|
||||
return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii
|
||||
@encodings ||= Setting.repositories_encodings.split(',').collect(&:strip)
|
||||
|
||||
@ -19,6 +19,6 @@
|
||||
<h3><%= l(:label_query_plural) %></h3>
|
||||
|
||||
<% 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 -%>
|
||||
|
||||
@ -36,33 +36,19 @@
|
||||
<% end %>
|
||||
|
||||
<h3><%= l(:label_attachment_plural) %></h3>
|
||||
<div style="float:right;">
|
||||
<div class="square action_A"></div> <div style="float:left;"><%= l(:label_added) %> </div>
|
||||
<div class="square action_M"></div> <div style="float:left;"><%= l(:label_modified) %> </div>
|
||||
<div class="square action_D"></div> <div style="float:left;"><%= l(:label_deleted) %> </div>
|
||||
</div>
|
||||
<ul id="changes-legend">
|
||||
<li class="change change-A"><%= l(:label_added) %></li>
|
||||
<li class="change change-M"><%= l(:label_modified) %></li>
|
||||
<li class="change change-C"><%= l(:label_copied) %></li>
|
||||
<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>
|
||||
<table class="list">
|
||||
<tbody>
|
||||
<% @changes.each do |change| %>
|
||||
<tr class="<%= cycle 'odd', 'even' %>">
|
||||
<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>
|
||||
|
||||
<div class="changeset-changes">
|
||||
<%= render_changeset_changes %>
|
||||
</div>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= stylesheet_link_tag "scm" %>
|
||||
|
||||
@ -1,13 +1,51 @@
|
||||
#!/usr/bin/ruby
|
||||
|
||||
# rdm-mailhandler
|
||||
# == Synopsis
|
||||
#
|
||||
# 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/https'
|
||||
require 'uri'
|
||||
require 'getoptlong'
|
||||
require 'rdoc/usage'
|
||||
|
||||
module Net
|
||||
class HTTPS < HTTP
|
||||
@ -31,15 +69,15 @@ class RedmineMailHandler
|
||||
self.issue_attributes = {}
|
||||
|
||||
opts = GetoptLong.new(
|
||||
[ '--help', '-h', GetoptLong::NO_ARGUMENT ],
|
||||
[ '--version', '-V', GetoptLong::NO_ARGUMENT ],
|
||||
[ '--verbose', '-v', GetoptLong::NO_ARGUMENT ],
|
||||
[ '--url', '-u', GetoptLong::REQUIRED_ARGUMENT ],
|
||||
[ '--key', '-k', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--project', '-p', GetoptLong::REQUIRED_ARGUMENT ],
|
||||
[ '--tracker', '-t', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--category', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--priority', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--help', '-h', GetoptLong::NO_ARGUMENT ],
|
||||
[ '--version', '-V', GetoptLong::NO_ARGUMENT ],
|
||||
[ '--verbose', '-v', GetoptLong::NO_ARGUMENT ],
|
||||
[ '--url', '-u', GetoptLong::REQUIRED_ARGUMENT ],
|
||||
[ '--key', '-k', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--project', '-p', GetoptLong::REQUIRED_ARGUMENT ],
|
||||
[ '--tracker', '-t', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--category', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--priority', GetoptLong::REQUIRED_ARGUMENT],
|
||||
[ '--allow-override', '-o', GetoptLong::REQUIRED_ARGUMENT]
|
||||
)
|
||||
|
||||
@ -62,7 +100,7 @@ class RedmineMailHandler
|
||||
end
|
||||
end
|
||||
|
||||
usage if url.nil?
|
||||
RDoc.usage if url.nil?
|
||||
end
|
||||
|
||||
def submit(email)
|
||||
@ -74,48 +112,14 @@ class RedmineMailHandler
|
||||
debug "Posting to #{uri}..."
|
||||
response = Net::HTTPS.post_form(URI.parse(uri), data)
|
||||
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
|
||||
|
||||
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)
|
||||
puts msg if verbose
|
||||
end
|
||||
|
||||
@ -2,15 +2,15 @@
|
||||
|
||||
# == Synopsis
|
||||
#
|
||||
# reposman: manages your svn repositories with Redmine
|
||||
# reposman: manages your repositories with Redmine
|
||||
#
|
||||
# == Usage
|
||||
#
|
||||
# reposman [OPTIONS...] -s [DIR] -r [HOST]
|
||||
#
|
||||
# Examples:
|
||||
# reposman --svn-dir=/var/svn --redmine-host=redmine.example.net
|
||||
# reposman -s /var/svn -r redmine.example.net -u http://svn.example.net
|
||||
# reposman --svn-dir=/var/svn --redmine-host=redmine.example.net --scm subversion
|
||||
# reposman -s /var/git -r redmine.example.net -u http://svn.example.net --scm git
|
||||
#
|
||||
# == Arguments (mandatory)
|
||||
#
|
||||
@ -24,7 +24,12 @@
|
||||
#
|
||||
# -o, --owner=OWNER owner of the repository. using the rails login
|
||||
# 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
|
||||
# repositories. This option is used to automatically
|
||||
# register the repositories in Redmine. The project
|
||||
@ -35,13 +40,8 @@
|
||||
# the repositories in Redmine
|
||||
# -c, --command=COMMAND use this command instead of "svnadmin create" to
|
||||
# create a repository. This option can be used to
|
||||
# create non-subversion repositories
|
||||
# --scm SCM vendor used to register the repository in
|
||||
# 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.
|
||||
# create repositories other than subversion and git kind.
|
||||
# This command override the default creation for git and subversion.
|
||||
# -f, --force force repository creation even if the project
|
||||
# repository is already declared in Redmine
|
||||
# -t, --test only show what should be done
|
||||
@ -49,6 +49,11 @@
|
||||
# -v, --verbose verbose
|
||||
# -V, --version print version and exit
|
||||
# -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 'rdoc/usage'
|
||||
@ -82,16 +87,38 @@ $svn_owner = 'root'
|
||||
$use_groupid = true
|
||||
$svn_url = false
|
||||
$test = false
|
||||
$command = "svnadmin create"
|
||||
$force = false
|
||||
$scm = 'Subversion'
|
||||
|
||||
def log(text,level=0, exit=false)
|
||||
return if $quiet or level > $verbose
|
||||
puts text
|
||||
puts text unless $quiet or level > $verbose
|
||||
exit 1 if exit
|
||||
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
|
||||
opts.each do |opt, arg|
|
||||
case opt
|
||||
@ -99,7 +126,7 @@ begin
|
||||
when '--redmine-host'; $redmine_host = arg.dup
|
||||
when '--owner'; $svn_owner = arg.dup; $use_groupid = false;
|
||||
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 '--verbose'; $verbose += 1
|
||||
when '--test'; $test = true
|
||||
@ -117,12 +144,15 @@ if $test
|
||||
log("running in test mode")
|
||||
end
|
||||
|
||||
# Make sure command is overridden if SCM vendor is not Subversion
|
||||
if $scm != 'Subversion' && $command == 'svnadmin create'
|
||||
log("Please use --command option to specify how to create a #{$scm} repository.", 0, true)
|
||||
# Make sure command is overridden if SCM vendor is not handled internally (for the moment Subversion and Git)
|
||||
if $command.nil?
|
||||
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
|
||||
|
||||
|
||||
$svn_url += "/" if $svn_url and not $svn_url.match(/\/$/)
|
||||
|
||||
if ($redmine_host.empty? or $repos_base.empty?)
|
||||
@ -231,8 +261,11 @@ projects.each do |project|
|
||||
|
||||
begin
|
||||
set_owner_and_rights(project, repos_path) do
|
||||
command = "#{$command} #{repos_path}"
|
||||
raise "#{command} failed" unless system( command )
|
||||
if scm_module.nil?
|
||||
system_or_raise "#{$command} #{repos_path}"
|
||||
else
|
||||
scm_module.create(repos_path)
|
||||
end
|
||||
end
|
||||
rescue => e
|
||||
log("\tunable to create #{repos_path} : #{e}\n")
|
||||
|
||||
@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
||||
button_quote: Quote
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
notice_unable_delete_version: Unable to delete version
|
||||
label_renamed: renamed
|
||||
label_copied: copied
|
||||
|
||||
644
lang/ca.yml
Normal file
@ -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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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_added: added
|
||||
label_modified: modified
|
||||
label_copied: copied
|
||||
label_renamed: renamed
|
||||
label_deleted: deleted
|
||||
label_latest_revision: Latest revision
|
||||
label_latest_revision_plural: Latest revisions
|
||||
|
||||
@ -641,3 +641,5 @@ setting_commit_logs_encoding: Codificación de los mensajes de commit
|
||||
button_quote: Quote
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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_commit_logs_encoding: Commit messages encoding
|
||||
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_added: ajouté
|
||||
label_modified: modifié
|
||||
label_copied: copié
|
||||
label_renamed: renommé
|
||||
label_deleted: supprimé
|
||||
label_latest_revision: Dernière révision
|
||||
label_latest_revision_plural: Dernières révisions
|
||||
|
||||
@ -638,3 +638,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
||||
button_quote: Quote
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
button_quote: Idézet
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
button_quote: Quote
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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_activities: Atividades (time tracking)
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
notice_unable_delete_version: Unable to delete version
|
||||
label_renamed: renamed
|
||||
label_copied: copied
|
||||
|
||||
88
lang/ru.yml
@ -31,10 +31,10 @@ activerecord_error_accepted: необходимо принять
|
||||
activerecord_error_blank: необходимо заполнить
|
||||
activerecord_error_circular_dependency: Такая связь приведет к циклической зависимости
|
||||
activerecord_error_confirmation: ошибка в подтверждении
|
||||
activerecord_error_empty: необходимо заполнить
|
||||
activerecord_error_exclusion: зарезервировано
|
||||
activerecord_error_empty: необходимо заполнить
|
||||
activerecord_error_exclusion: зарезервировано
|
||||
activerecord_error_greater_than_start_date: должна быть позднее даты начала
|
||||
activerecord_error_inclusion: нет в списке
|
||||
activerecord_error_inclusion: нет в списке
|
||||
activerecord_error_invalid: неверное значение
|
||||
activerecord_error_not_a_date: дата недействительна
|
||||
activerecord_error_not_a_number: не является числом
|
||||
@ -76,7 +76,7 @@ button_sort: Сортировать
|
||||
button_submit: Принять
|
||||
button_test: Проверить
|
||||
button_unarchive: Разархивировать
|
||||
button_uncheck_all: Очистить
|
||||
button_uncheck_all: Очистить
|
||||
button_unlock: Разблокировать
|
||||
button_unwatch: Не следить
|
||||
button_update: Обновить
|
||||
@ -85,13 +85,13 @@ button_watch: Следить
|
||||
|
||||
default_activity_design: Проектирование
|
||||
default_activity_development: Разработка
|
||||
default_doc_category_tech: Техническая документация
|
||||
default_doc_category_tech: Техническая документация
|
||||
default_doc_category_user: Документация пользователя
|
||||
default_issue_status_assigned: Назначен
|
||||
default_issue_status_closed: Закрыт
|
||||
default_issue_status_feedback: Обратная связь
|
||||
default_issue_status_feedback: Обратная связь
|
||||
default_issue_status_new: Новый
|
||||
default_issue_status_rejected: Отказ
|
||||
default_issue_status_rejected: Отказ
|
||||
default_issue_status_resolved: Заблокирован
|
||||
default_priority_high: Высокий
|
||||
default_priority_immediate: Немедленный
|
||||
@ -113,7 +113,7 @@ error_can_t_load_default_data: "Конфигурация по умолчанию
|
||||
error_issue_not_found_in_project: Задача не была найдена или не прикреплена к этому проекту
|
||||
error_scm_annotate: "Данные отсутствуют или не могут быть подписаны."
|
||||
error_scm_command_failed: "Ошибка доступа к хранилищу: %s"
|
||||
error_scm_not_found: Хранилилище не содержит записи и/или исправления.
|
||||
error_scm_not_found: Хранилище не содержит записи и/или исправления.
|
||||
|
||||
field_account: Учетная запись
|
||||
field_activity: Деятельность
|
||||
@ -132,7 +132,7 @@ field_column_names: Колонки
|
||||
field_comments_sorting: Отображение комментариев
|
||||
field_comments: Комментарий
|
||||
field_created_on: Создан
|
||||
field_default_value: Значение по умолчанию
|
||||
field_default_value: Значение по умолчанию
|
||||
field_delay: Отложить
|
||||
field_description: Описание
|
||||
field_done_ratio: Готовность в %%
|
||||
@ -173,17 +173,17 @@ field_new_password: Новый пароль
|
||||
field_notes: Примечания
|
||||
field_onthefly: Создание пользователя на лету
|
||||
field_parent_title: Родительская страница
|
||||
field_parent: Родительский проект
|
||||
field_parent: Родительский проект
|
||||
field_password_confirmation: Подтверждение
|
||||
field_password: Пароль
|
||||
field_port: Порт
|
||||
field_possible_values: Возможные значения
|
||||
field_possible_values: Возможные значения
|
||||
field_priority: Приоритет
|
||||
field_project: Проект
|
||||
field_redirect_existing_links: Перенаправить существующие ссылки
|
||||
field_regexp: Регулярное выражение
|
||||
field_role: Роль
|
||||
field_searchable: Доступно для поиска
|
||||
field_searchable: Доступно для поиска
|
||||
field_spent_on: Дата
|
||||
field_start_date: Начало
|
||||
field_start_page: Стартовая страница
|
||||
@ -212,7 +212,7 @@ general_fmt_age_plural5: %d гг.
|
||||
general_fmt_age_plural: %d лет
|
||||
general_fmt_date: %%d.%%m.%%Y
|
||||
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_lang_name: 'Russian (Русский)'
|
||||
general_pdf_encoding: UTF-8
|
||||
@ -228,11 +228,11 @@ gui_validation_error_plural: %d ошибок
|
||||
|
||||
label_activity: Активность
|
||||
label_add_another_file: Добавить ещё один файл
|
||||
label_added_time_by: Добавлено %s %s назад
|
||||
label_added_time_by: Добавил(а) %s %s назад
|
||||
label_added: добавлено
|
||||
label_add_note: Добавить замечание
|
||||
label_administration: Администрирование
|
||||
label_age: Возраст
|
||||
label_age: Возраст
|
||||
label_ago: дней(я) назад
|
||||
label_all_time: всё время
|
||||
label_all_words: Все слова
|
||||
@ -251,8 +251,8 @@ label_authentication: Аутентификация
|
||||
label_auth_source_new: Новый режим аутентификации
|
||||
label_auth_source_plural: Режимы аутентификации
|
||||
label_auth_source: Режим аутентификации
|
||||
label_blocked_by: заблокировано
|
||||
label_blocks: блокирует
|
||||
label_blocked_by: заблокировано
|
||||
label_blocks: блокирует
|
||||
label_board_new: Новый форум
|
||||
label_board_plural: Форумы
|
||||
label_board: Форум
|
||||
@ -266,10 +266,10 @@ label_change_log: Журнал изменений
|
||||
label_change_plural: Правки
|
||||
label_change_properties: Изменить свойства
|
||||
label_changes_details: Подробности по всем изменениям
|
||||
label_changeset_plural: Наборы изменений
|
||||
label_changeset_plural: Хранилище
|
||||
label_change_status: Изменить статус
|
||||
label_change_view_all: Просмотреть все изменения
|
||||
label_chronological_order: В хронологическом порядке
|
||||
label_chronological_order: В хронологическом порядке
|
||||
label_closed_issues_plural2: закрыто
|
||||
label_closed_issues_plural5: закрыто
|
||||
label_closed_issues_plural: закрыто
|
||||
@ -285,7 +285,7 @@ label_commits_per_author: Изменений на пользователя
|
||||
label_commits_per_month: Изменений в месяц
|
||||
label_confirmation: Подтверждение
|
||||
label_contains: содержит
|
||||
label_copy_workflow_from: Скопировать последовательность действий из
|
||||
label_copy_workflow_from: Скопировать последовательность действий из
|
||||
label_current_status: Текущий статус
|
||||
label_current_version: Текущая версия
|
||||
label_custom_field_new: Новое настраиваемое поле
|
||||
@ -363,7 +363,7 @@ label_issue_status: Статус задачи
|
||||
label_issue_tracking: Ситуация по задачам
|
||||
label_issue_updated: Задача обновлена
|
||||
label_issue_view_all: Просмотреть все задачи
|
||||
label_issue_watchers: Следящие
|
||||
label_issue_watchers: Наблюдатели
|
||||
label_issue: Задача
|
||||
label_jump_to_a_project: Перейти к проекту...
|
||||
label_language_based: На основе языка
|
||||
@ -379,7 +379,7 @@ label_last_week: последняя неделю
|
||||
label_latest_revision_plural: Последние редакции
|
||||
label_latest_revision: Последняя редакция
|
||||
label_ldap_authentication: Авторизация с помощью LDAP
|
||||
label_less_than_ago: менее, чем дней(я) назад
|
||||
label_less_than_ago: менее, чем дней(я) назад
|
||||
label_list: Список
|
||||
label_loading: Загрузка...
|
||||
label_logged_as: Вошел как
|
||||
@ -396,14 +396,14 @@ label_message_posted: Сообщение добавлено
|
||||
label_me: мне
|
||||
label_min_max_length: Минимальная - максимальная длина
|
||||
label_modification: %d изменение
|
||||
label_modification_plural2: %d изменений
|
||||
label_modification_plural2: %d изменения
|
||||
label_modification_plural5: %d изменений
|
||||
label_modification_plural: %d изменений
|
||||
label_modified: изменено
|
||||
label_module_plural: Модули
|
||||
label_months_from: месяцев(ца) с
|
||||
label_month: Месяц
|
||||
label_more_than_ago: более, чем дней(я) назад
|
||||
label_more_than_ago: более, чем дней(я) назад
|
||||
label_more: Больше
|
||||
label_my_account: Моя учетная запись
|
||||
label_my_page: Моя страница
|
||||
@ -420,7 +420,7 @@ label_next: Следующий
|
||||
label_nobody: никто
|
||||
label_no_change_option: (Нет изменений)
|
||||
label_no_data: Нет данных для отображения
|
||||
label_none: отсутствует
|
||||
label_none: отсутствует
|
||||
label_not_contains: не содержит
|
||||
label_not_equals: не соответствует
|
||||
label_on: 'из'
|
||||
@ -432,7 +432,7 @@ label_optional_description: Описание (опционально)
|
||||
label_options: Опции
|
||||
label_overall_activity: Сводная активность
|
||||
label_overview: Просмотр
|
||||
label_password_lost: Восстановление пароля
|
||||
label_password_lost: Восстановление пароля
|
||||
label_permissions_report: Отчет о правах доступа
|
||||
label_permissions: Права доступа
|
||||
label_per_page: На страницу
|
||||
@ -456,7 +456,7 @@ label_query_new: Новый запрос
|
||||
label_query_plural: Сохраненные запросы
|
||||
label_query: Сохраненный запрос
|
||||
label_read: Чтение...
|
||||
label_registered_on: Зарегистрирован(а)
|
||||
label_registered_on: Зарегистрирован(а)
|
||||
label_register: Регистрация
|
||||
label_registration_activation_by_email: активация учетных записей по email
|
||||
label_registration_automatic_activation: автоматическая активация учетных записей
|
||||
@ -475,7 +475,7 @@ label_result_plural: Результаты
|
||||
label_reverse_chronological_order: В обратном порядке
|
||||
label_revision_plural: Редакции
|
||||
label_revision: Редакция
|
||||
label_roadmap_due_in: Вовремя
|
||||
label_roadmap_due_in: Вовремя
|
||||
label_roadmap_no_issues: Нет задач для данной версии
|
||||
label_roadmap_overdue: %s опоздание
|
||||
label_roadmap: Оперативный план
|
||||
@ -499,7 +499,7 @@ label_spent_time: Затраченное время
|
||||
label_start_to_end: с начала к концу
|
||||
label_start_to_start: с начала к началу
|
||||
label_statistics: Статистика
|
||||
label_stay_logged_in: Оставаться в системе
|
||||
label_stay_logged_in: Оставаться в системе
|
||||
label_string: Текст
|
||||
label_subproject_plural: Подпроекты
|
||||
label_text: Длинный текст
|
||||
@ -529,7 +529,7 @@ label_version_plural: Версии
|
||||
label_version: Версия
|
||||
label_view_diff: Просмотреть отличия
|
||||
label_view_revisions: Просмотреть редакции
|
||||
label_watched_issues: Отслеживаемые задачи
|
||||
label_watched_issues: Отслеживаемые задачи
|
||||
label_week: Неделя
|
||||
label_wiki_edit_plural: Редактирования Wiki
|
||||
label_wiki_edit: Редактирование Wiki
|
||||
@ -545,18 +545,18 @@ mail_body_account_information_external: Вы можете использоват
|
||||
mail_body_account_information: Информация о Вашей учетной записи
|
||||
mail_body_lost_password: 'Для изменения пароля зайдите по следующей ссылке:'
|
||||
mail_body_register: 'Для активации учетной записи зайдите по следующей ссылке:'
|
||||
mail_body_reminder: "%d назначенных на вас задач на следующие %d дней:"
|
||||
mail_body_reminder: "%d назначенных на Вас задач на следующие %d дней:"
|
||||
mail_subject_account_activation_request: Запрос на активацию пользователя в системе %s
|
||||
mail_subject_lost_password: Ваш %s пароль
|
||||
mail_subject_register: Активация учетной записи %s
|
||||
mail_subject_reminder: "%d назначенных на вас задач в ближайшие дни"
|
||||
mail_subject_reminder: "%d назначенных на Вас задач в ближайшие дни"
|
||||
|
||||
notice_account_activated: Ваша учетная запись активирована. Вы можете войти.
|
||||
notice_account_invalid_creditentials: Неправильное имя пользователя или пароль
|
||||
notice_account_lost_email_sent: Вам отправлено письмо с инструкциями по выбору нового пароля.
|
||||
notice_account_password_updated: Пароль успешно обновлен.
|
||||
notice_account_pending: "Ваша учетная запись уже создан и ожидает подтверждения администратора."
|
||||
notice_account_register_done: Учетная запись успешно создана. Для активации Вашей учетной записи зайдите по ссылке, которая выслана вам по электронной почте.
|
||||
notice_account_pending: "Ваша учетная запись уже создана и ожидает подтверждения администратора."
|
||||
notice_account_register_done: Учетная запись успешно создана. Для активации Вашей учетной записи зайдите по ссылке, которая выслана Вам по электронной почте.
|
||||
notice_account_unknown_email: Неизвестный пользователь.
|
||||
notice_account_updated: Учетная запись успешно обновлена.
|
||||
notice_account_wrong_password: Неверный пароль
|
||||
@ -569,14 +569,14 @@ notice_feeds_access_key_reseted: Ваш ключ доступа RSS был пе
|
||||
notice_file_not_found: Страница, на которую Вы пытаетесь зайти, не существует или удалена.
|
||||
notice_locking_conflict: Информация обновлена другим пользователем.
|
||||
notice_no_issue_selected: "Не выбрано ни одной задачи! Пожалуйста, отметьте задачи, которые Вы хотите отредактировать."
|
||||
notice_not_authorized: У вас нет прав для посещения данной страницы.
|
||||
notice_not_authorized: У Вас нет прав для посещения данной страницы.
|
||||
notice_successful_connection: Подключение успешно установлено.
|
||||
notice_successful_create: Создание успешно завершено.
|
||||
notice_successful_delete: Удаление успешно завершено.
|
||||
notice_successful_update: Обновление успешно завершено.
|
||||
notice_unable_delete_version: Невозможно удалить версию.
|
||||
|
||||
project_module_boards: Форумы
|
||||
project_module_boards: Форумы
|
||||
project_module_documents: Документы
|
||||
project_module_files: Файлы
|
||||
project_module_issue_tracking: Задачи
|
||||
@ -586,14 +586,14 @@ project_module_time_tracking: Учет времени
|
||||
project_module_wiki: Wiki
|
||||
|
||||
setting_activity_days_default: Количество дней, отображаемых в Активности
|
||||
setting_app_subtitle: Подзаголовок приложения
|
||||
setting_app_subtitle: Подзаголовок приложения
|
||||
setting_app_title: Название приложения
|
||||
setting_attachment_max_size: Максимальный размер вложения
|
||||
setting_autofetch_changesets: Автоматически следить за изменениями хранилища
|
||||
setting_autologin: Автоматический вход
|
||||
setting_bcc_recipients: Использовать скрытые списки (bcc)
|
||||
setting_commit_fix_keywords: Назначение ключевых слов
|
||||
setting_commit_logs_encoding: Кодировка добавляемых сообщений
|
||||
setting_commit_logs_encoding: Кодировка комментариев в хранилище
|
||||
setting_commit_ref_keywords: Ключевые слова для поиска
|
||||
setting_cross_project_issue_relations: Разрешить пересечение задач по проектам
|
||||
setting_date_format: Формат даты
|
||||
@ -617,15 +617,15 @@ setting_self_registration: Возможна саморегистрация
|
||||
setting_sequential_project_identifiers: Генерировать последовательные идентификаторы проектов
|
||||
setting_sys_api_enabled: Разрешить WS для управления хранилищем
|
||||
setting_text_formatting: Форматирование текста
|
||||
setting_time_format: Формат времени
|
||||
setting_time_format: Формат времени
|
||||
setting_user_format: Формат отображения имени
|
||||
setting_welcome_text: Текст приветствия
|
||||
setting_wiki_compression: Сжатие истории Wiki
|
||||
|
||||
status_active: активен
|
||||
status_locked: закрыт
|
||||
|
||||
status_registered: зарегистрирован
|
||||
|
||||
text_are_you_sure: Подтвердите
|
||||
text_assign_time_entries_to_project: Прикрепить зарегистрированное время к проекту
|
||||
text_caracters_maximum: Максимум %d символов(а).
|
||||
@ -640,7 +640,7 @@ text_enumeration_destroy_question: '%d объект(а,ов) связаны с
|
||||
text_file_repository_writable: Хранилище с доступом на запись
|
||||
text_issue_added: По задаче %s был создан отчет (%s).
|
||||
text_issue_category_destroy_assignments: Удалить назначения категории
|
||||
text_issue_category_destroy_question: Несколько задач (%d) назначено в данную категорию. Что вы хотите предпринять?
|
||||
text_issue_category_destroy_question: Несколько задач (%d) назначено в данную категорию. Что Вы хотите предпринять?
|
||||
text_issue_category_reassign_to: Переназначить задачи для данной категории
|
||||
text_issues_destroy_confirmation: 'Вы уверены, что хотите удалить выбранные задачи?'
|
||||
text_issues_ref_in_commit_messages: Сопоставление и изменение статуса задач исходя из текста сообщений
|
||||
@ -666,7 +666,9 @@ text_tip_task_begin_end_day: начало задачи и окончание е
|
||||
text_tip_task_end_day: дата завершения задачи
|
||||
text_tracker_no_workflow: Для этого трекера последовательность действий не определена
|
||||
text_unallowed_characters: Запрещенные символы
|
||||
text_user_mail_option: "Для невыбранных проектов, Вы будете получать уведомления только о том что просматриваете или в чем участвуете (например, вопросы автором которых вы являетесь или которые вам назначены)."
|
||||
text_user_mail_option: "Для невыбранных проектов, Вы будете получать уведомления только о том что просматриваете или в чем участвуете (например, вопросы, автором которых Вы являетесь или которые Вам назначены)."
|
||||
text_user_wrote: '%s написал(а):'
|
||||
text_wiki_destroy_confirmation: Вы уверены, что хотите удалить данную вики и все содержимое?
|
||||
text_wiki_destroy_confirmation: Вы уверены, что хотите удалить данную Wiki и все содержимое?
|
||||
text_workflow_edit: Выберите роль и трекер для редактирования последовательности состояний
|
||||
label_renamed: renamed
|
||||
label_copied: copied
|
||||
|
||||
@ -639,3 +639,5 @@ setting_commit_logs_encoding: Commit messages encoding
|
||||
button_quote: Quote
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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
|
||||
general_csv_decimal_separator: '.'
|
||||
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
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
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_account_pending: "您的帳號已經建立,正在等待管理員的審核。"
|
||||
notice_default_data_loaded: 預設組態已載入成功。
|
||||
notice_unable_delete_version: 無法刪除版本。
|
||||
|
||||
error_can_t_load_default_data: "無法載入預設組態: %s"
|
||||
error_scm_not_found: SCM 儲存庫中找不到這個專案或版本。
|
||||
@ -638,4 +639,5 @@ default_activity_development: 開發
|
||||
enumeration_issue_priorities: 項目優先權
|
||||
enumeration_doc_categories: 文件分類
|
||||
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_account_pending: "您的帐号已被成功创建,正在等待管理员的审核。"
|
||||
notice_default_data_loaded: 成功载入默认设置。
|
||||
notice_unable_delete_version: 无法删除版本
|
||||
|
||||
error_can_t_load_default_data: "无法载入默认设置:%s"
|
||||
error_scm_not_found: "版本库中不存在该条目和(或)其修订版本。"
|
||||
@ -219,6 +220,7 @@ setting_display_subprojects_issues: 在项目页面上默认显示子项目的
|
||||
setting_enabled_scm: 启用 SCM
|
||||
setting_mail_handler_api_enabled: 启用用于接收邮件的Web Service
|
||||
setting_mail_handler_api_key: API key
|
||||
setting_sequential_project_identifiers: 顺序产生项目标识
|
||||
|
||||
project_module_issue_tracking: 问题跟踪
|
||||
project_module_time_tracking: 时间跟踪
|
||||
@ -561,6 +563,7 @@ button_copy: 复制
|
||||
button_annotate: 追溯
|
||||
button_update: 更新
|
||||
button_configure: 配置
|
||||
button_quote: 引用
|
||||
|
||||
status_active: 活动的
|
||||
status_registered: 已注册
|
||||
@ -636,6 +639,5 @@ default_activity_development: 开发
|
||||
enumeration_issue_priorities: 问题优先级
|
||||
enumeration_doc_categories: 文档类别
|
||||
enumeration_activities: 活动(时间跟踪)
|
||||
button_quote: Quote
|
||||
setting_sequential_project_identifiers: Generate sequential project identifiers
|
||||
notice_unable_delete_version: Unable to delete version
|
||||
label_renamed: renamed
|
||||
label_copied: copied
|
||||
|
||||
@ -788,10 +788,10 @@ class RedCloth3 < String
|
||||
":
|
||||
([\w\/]\S+?) # $url
|
||||
(\/)? # $slash
|
||||
([^\w\/;]*?) # $post
|
||||
([^\w\=\/;\(\)]*?) # $post
|
||||
(?=<|\s|$)
|
||||
/x
|
||||
|
||||
#"
|
||||
def inline_textile_link( text )
|
||||
text.gsub!( LINK_RE ) do |m|
|
||||
pre,atts,text,title,url,slash,post = $~[1..7]
|
||||
@ -799,6 +799,12 @@ class RedCloth3 < String
|
||||
url, url_title = check_refs( url )
|
||||
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 = " href=\"#{ url }#{ slash }\"#{ atts }"
|
||||
atts << " title=\"#{ title }\"" if title
|
||||
|
||||
@ -144,7 +144,7 @@ module Redmine
|
||||
(\S+?) # url
|
||||
(\/)? # slash
|
||||
)
|
||||
([^\w\=\/;]*?) # post
|
||||
([^\w\=\/;\(\)]*?) # post
|
||||
(?=<|\s|$)
|
||||
}x unless const_defined?(:AUTO_LINK_RE)
|
||||
|
||||
@ -156,7 +156,13 @@ module Redmine
|
||||
# don't replace URL's that are already linked
|
||||
# and URL's prefixed with ! !> !< != (textile images)
|
||||
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})
|
||||
end
|
||||
end
|
||||
|
||||
BIN
public/images/bullet_add.png
Normal file
|
After Width: | Height: | Size: 286 B |
BIN
public/images/bullet_black.png
Normal file
|
After Width: | Height: | Size: 211 B |
BIN
public/images/bullet_blue.png
Normal file
|
After Width: | Height: | Size: 289 B |
BIN
public/images/bullet_delete.png
Normal file
|
After Width: | Height: | Size: 308 B |
BIN
public/images/bullet_orange.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/images/bullet_purple.png
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
public/images/folder_open_add.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/images/folder_open_orange.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
127
public/javascripts/calendar/lang/calendar-ca.js
Normal file
@ -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:";
|
||||
16
public/javascripts/jstoolbar/lang/jstoolbar-ca.js
Normal file
@ -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-admin { background-image: url(../images/admin.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-attachment { background-image: url(../images/attachment.png); }
|
||||
.icon-index { background-image: url(../images/index.png); }
|
||||
|
||||
@ -60,15 +60,9 @@
|
||||
.jstb_del {
|
||||
background-image: url(../images/jstoolbar/bt_del.png);
|
||||
}
|
||||
.jstb_quote {
|
||||
background-image: url(../images/jstoolbar/bt_quote.png);
|
||||
}
|
||||
.jstb_code {
|
||||
background-image: url(../images/jstoolbar/bt_code.png);
|
||||
}
|
||||
.jstb_br {
|
||||
background-image: url(../images/jstoolbar/bt_br.png);
|
||||
}
|
||||
.jstb_h1 {
|
||||
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 th { border: 1px solid #ccc; background-color: #eee; }
|
||||
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
|
||||
assert_response :success
|
||||
assert_template 'revision'
|
||||
assert_tag :tag => 'tr',
|
||||
:child => { :tag => 'td',
|
||||
assert_tag :tag => 'ul',
|
||||
:child => { :tag => 'li',
|
||||
# link to the entry at rev 2
|
||||
:child => { :tag => 'a', :attributes => {:href => 'repositories/entry/ecookbook/test/some/path/in/the/repo?rev=2'},
|
||||
:content => %r{/test/some/path/in/the/repo} }
|
||||
},
|
||||
:child => { :tag => 'td',
|
||||
# link to partial diff
|
||||
:child => { :tag => 'a', :attributes => { :href => '/repositories/diff/ecookbook/test/some/path/in/the/repo?rev=2' } }
|
||||
}
|
||||
:child => { :tag => 'a',
|
||||
:attributes => {:href => '/repositories/entry/ecookbook/test/some/path/in/the/repo?rev=2'},
|
||||
:content => 'repo',
|
||||
# link to partial diff
|
||||
:sibling => { :tag => 'a',
|
||||
:attributes => { :href => '/repositories/diff/ecookbook/test/some/path/in/the/repo?rev=2' }
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
def test_revision_with_repository_pointing_to_a_subdirectory
|
||||
@ -145,11 +147,18 @@ class RepositoriesSubversionControllerTest < Test::Unit::TestCase
|
||||
get :revision, :id => 1, :rev => 2
|
||||
assert_response :success
|
||||
assert_template 'revision'
|
||||
assert_tag :tag => 'tr',
|
||||
:child => { :tag => 'td', :content => %r{/test/some/path/in/the/repo} },
|
||||
:child => { :tag => 'td',
|
||||
:child => { :tag => 'a', :attributes => { :href => '/repositories/diff/ecookbook/path/in/the/repo?rev=2' } }
|
||||
}
|
||||
assert_tag :tag => 'ul',
|
||||
:child => { :tag => 'li',
|
||||
# link to the entry at 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
|
||||
|
||||
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>.',
|
||||
'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://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>',
|
||||
'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@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>',
|
||||
}
|
||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||
|
||||