Compare commits

...

66 Commits

Author SHA1 Message Date
Jean-Philippe Lang
c49155426a tagged version 2.3.0
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/tags/2.3.0@11661 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 20:30:27 +00:00
Jean-Philippe Lang
61a32a5002 Merged r11657 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11658 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 19:22:59 +00:00
Jean-Philippe Lang
5745a2a2e3 Merged r11641 and r11642 from trunk (#8794).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11656 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 18:40:26 +00:00
Jean-Philippe Lang
f98f9b9ae1 Merged r11640 from trunk (#12968).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11655 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 18:37:33 +00:00
Toshi MARUYAMA
cfec2018e3 Merged r11648, r11649, r11650 from trunk to 2.3-stable.
upgrade Rails 3.2.13.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11652 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 08:21:46 +00:00
Toshi MARUYAMA
0083420829 Merged r11645 from trunk to 2.3-stable (#13514)
fix pt-BR "permission_set_notes_private" translation.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11646 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 02:55:35 +00:00
Toshi MARUYAMA
338d7ea91d Merged r11637 from trunk to 2.3-stable (#13354)
PDF: fix incompatible character encodings: UTF-8 and ASCII-8BIT.

Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11639 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-16 08:04:42 +00:00
Toshi MARUYAMA
73fb7e3427 Merged r11622 from trunk to 2.3-stable (#13475)
fix pt-BR translation.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11623 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 01:28:24 +00:00
Toshi MARUYAMA
edb7f2d2c5 Merged r11620 from trunk to 2.3-stable (#13463)
Russian translation updated by Kirill Bezrukov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11621 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-13 08:06:23 +00:00
Toshi MARUYAMA
594d9e9da2 Merged r11613 from trunk to 2.3-stable.
Fixing HTML in groups index view.

Contributed by Gregor Schmidt.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11619 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-13 00:32:53 +00:00
Toshi MARUYAMA
7ebc62387a Merged r11615 from trunk to 2.3-stable (#13458)
Bulgarian translation ordered by Ivan Cenov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11618 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-13 00:08:24 +00:00
Toshi MARUYAMA
3269c42cdc Merged r11614 from trunk to 2.3-stable (#13450)
Czech translation changed by Karel Pičman.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11617 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-13 00:08:13 +00:00
Toshi MARUYAMA
9436318987 Merged r11556 from trunk to 2.3-stable (#13391)
Czech translation changed by Karel Pičman.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11616 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-13 00:08:02 +00:00
Jean-Philippe Lang
94ecabbaf9 Merged r11605 from trunk (#13301).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11606 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 17:09:28 +00:00
Toshi MARUYAMA
063c9a2a83 Merged r11603 from trunk to 2.3-stable (#13447)
German translation changed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11604 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 14:41:21 +00:00
Toshi MARUYAMA
376e8d4aa3 Merged r11599, r11600, r11601 from trunk to 2.3-stable (#13438)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11602 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 12:15:06 +00:00
Toshi MARUYAMA
20114bd8e0 Merged r11597 from trunk to 2.3-stable (#13437)
German translation of setting_emails_header changed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11598 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 10:37:48 +00:00
Jean-Philippe Lang
cfdd85173f Merged r11526 and r11590 from trunk (#13341).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11591 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-11 18:00:39 +00:00
Toshi MARUYAMA
5de8e9f04c Merged r11588 from trunk to 2.3-stable (#13420)
Korean translation changed by Jongwook Choi.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11589 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-11 00:49:50 +00:00
Toshi MARUYAMA
79db8fd3e0 Merged r11585 from trunk to 2.3-stable (#13420)
Korean translation updated by Jongwook Choi.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11587 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 23:19:41 +00:00
Toshi MARUYAMA
98b7900c5c Merged r11584 from trunk to 2.3-stable (#13420)
Korean translation changed by Jongwook Choi.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11586 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 23:19:30 +00:00
Jean-Philippe Lang
23c28c1ef7 Merged r11582 from trunk (#13337).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11583 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 13:16:09 +00:00
Jean-Philippe Lang
974863e8f4 Merged r11525 from trunk (#11498).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11581 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 12:36:44 +00:00
Jean-Philippe Lang
58af20746b Merged r11522 from trunk (#13340).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11580 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 12:35:20 +00:00
Toshi MARUYAMA
efcd602444 Merged r11578 from trunk to 2.3-stable (#13414)
Bulgarian translation updated and changed by Ivan Cenov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11579 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 04:41:45 +00:00
Jean-Philippe Lang
20cd146e93 Backported r11494 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11577 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 11:07:55 +00:00
Jean-Philippe Lang
8a97dfdeab Merged r11507 from trunk (#13329).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11576 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 11:01:28 +00:00
Jean-Philippe Lang
b0b7f4d7d6 Merged r11506 from trunk (#13329).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11575 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 11:00:33 +00:00
Jean-Philippe Lang
53680edb2d Merged r11497 from trunk (#13329).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11574 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:59:22 +00:00
Jean-Philippe Lang
ddf0307718 Merged r11488 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11573 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:47:27 +00:00
Jean-Philippe Lang
0ab90145fe Merged r11571 from trunk (#12122).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11572 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:45:12 +00:00
Jean-Philippe Lang
f4def66c58 Merged r11518 from trunk (#8529).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11570 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:19:39 +00:00
Jean-Philippe Lang
4413e0e52e Merged r11519 and r11520 from trunk (#13335).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11569 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:17:26 +00:00
Jean-Philippe Lang
b2e1080007 Merged r11567 from trunk (#13272).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11568 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:01:42 +00:00
Jean-Philippe Lang
8245eaa9f3 Merged r11474 from trunk (#10277).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11566 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 09:17:37 +00:00
Jean-Philippe Lang
83430dacd9 Merged r11471 from trunk (#5329).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11565 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 09:15:42 +00:00
Jean-Philippe Lang
998a29cbaf Merged r11473 from trunk (#3676).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11564 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 09:14:22 +00:00
Jean-Philippe Lang
511099e9ca Merged r11521 from trunk (#3371).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11563 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 09:13:01 +00:00
Jean-Philippe Lang
a18db94c06 Merged r11472 from trunk (#3107).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11562 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 09:11:44 +00:00
Toshi MARUYAMA
fe3a4cdbd1 Merged r11560 from trunk to 2.3-stable (#13399)
Korean translation changed by Lucas Yang.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11561 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-08 10:08:34 +00:00
Toshi MARUYAMA
67bb69d68e Merged r11554 from trunk to 2.3-stable (#13391)
Czech translation for 2.3-stable updated by Karel Pičman.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11559 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-08 01:09:34 +00:00
Toshi MARUYAMA
639b6f5c85 Merged r11553 from trunk to 2.3-stable (#13398, #13391)
Czech translation for 2.2-stable updated by Karel Pičman.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11558 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-08 01:09:22 +00:00
Toshi MARUYAMA
b783bbf3bb 2.3-stable: svn propset svn:eol-style native to fixtures (#12641)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11552 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 21:07:51 +00:00
Toshi MARUYAMA
a4b6928a26 Merged r11544, r11545, r11546, r11547, r11549 from trunk to 2.3-stable (#12641)
fix that diff outputs become ??? in some non ASCII words.

Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11551 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 21:03:55 +00:00
Toshi MARUYAMA
0e92038047 Merged r11542 from trunk to 2.3-stable.
use %r{} instead of // at lib/redmine/unified_diff.rb.

Syntax highlight is broken in gedit 2.28.4 on CentOS 6.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11548 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 10:29:50 +00:00
Toshi MARUYAMA
35b17d3bdc Merged from r11537 trunk to 2.3-stable (#13350)
fix some Japanese "issue" translations.

Contributed by Go MAEDA.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11541 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-06 09:50:23 +00:00
Toshi MARUYAMA
8672114648 Merged from r11536 trunk to 2.3-stable (#13349)
Japanese translation updated by Go MAEDA.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11540 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-06 09:50:12 +00:00
Toshi MARUYAMA
699fa9ac3f Merged r11530 from trunk to 2.3-stable (#13339)
Vietnamese translation changed by Minh Thien Nguyen.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11535 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 12:11:11 +00:00
Toshi MARUYAMA
a5a1bd5a35 Merged r11528 and r11529 from trunk to 2.3-stable (#13343, #13339)
Vietnamese translation for 2.2-stable and 2.3-stable updated by Minh Thien Nguyen.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11534 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 12:11:00 +00:00
Toshi MARUYAMA
4100d3beeb Merged r11527 from trunk to 2.3-stable (#13338, #13329)
Ruby2.0: remove "warning: class variable access from toplevel" in lib/plugins/rfpdf/lib/tcpdf.rb.

Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11533 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 12:10:48 +00:00
Jean-Philippe Lang
58ebb87ae6 Merged r11510 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11517 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 16:22:37 +00:00
Jean-Philippe Lang
33ef9fbe29 Merged r11508 from trunk (#13301).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11516 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 16:22:02 +00:00
Jean-Philippe Lang
b0fa5e7305 Merged r11513 from trunk (#13328).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11515 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 16:20:27 +00:00
Jean-Philippe Lang
5bb2f5e211 Merged r11509 and r11512 from trunk (#13309).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11514 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 16:19:05 +00:00
Toshi MARUYAMA
2293a5d3f4 Merged r11504 from trunk to 2.3-stable (#13324)
pt-BR translation changed.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11505 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 07:08:23 +00:00
Toshi MARUYAMA
d14cd42a78 Merged r11499 from trunk to 2.3-stable (#13324)
pt-BR translation for 2.3-stable updated.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11503 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 02:34:33 +00:00
Toshi MARUYAMA
2a53538616 Merged r11498 from trunk to 2.3-stable (#13325, #13324)
pt-BR translation for 2.2-stable updated.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11501 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 01:57:52 +00:00
Toshi MARUYAMA
d1f63717dd Merged r11491 from trunk to 2.3-stable (#13310)
pt-BR "label_last_n_weeks" translation updated.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11493 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-28 08:35:41 +00:00
Toshi MARUYAMA
d22b085d1d Merged r11483 from trunk to 2.3-stable (#13281)
Russian translation updated by Kirill Bezrukov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11485 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 15:40:31 +00:00
Toshi MARUYAMA
15751a6931 Merged r11482 from trunk to 2.3-stable (#13280)
German translation changed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11484 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 14:58:14 +00:00
Toshi MARUYAMA
052cf73dfd Merged r11476 from trunk to 2.3-stable (#13246)
German translation changed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11481 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 11:44:44 +00:00
Jean-Philippe Lang
a4bee12e5a Merged r11464 from trunk (#13173).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11465 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 10:14:22 +00:00
Jean-Philippe Lang
92507382b4 Merged r11461, r11462 from trunk (#13251).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11463 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 10:06:27 +00:00
Jean-Philippe Lang
e6d63a4e0d Merged r11459 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11460 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 09:22:41 +00:00
Jean-Philippe Lang
346085c5fc Set stable version.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11455 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-23 14:30:18 +00:00
Jean-Philippe Lang
dcfc9170e6 Added 2.3-stable branch.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@11454 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-23 14:26:18 +00:00
95 changed files with 1670 additions and 1028 deletions

15
Gemfile
View File

@@ -1,6 +1,6 @@
source 'http://rubygems.org'
source 'https://rubygems.org'
gem 'rails', '3.2.12'
gem "rails", "3.2.13"
gem "jquery-rails", "~> 2.0.2"
gem "i18n", "~> 0.6.0"
gem "coderay", "~> 1.0.6"
@@ -37,6 +37,7 @@ end
# Include database gems for the adapters found in the database
# configuration file
require 'erb'
require 'yaml'
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
@@ -44,9 +45,11 @@ if File.exist?(database_file)
if adapters.any?
adapters.each do |adapter|
case adapter
when /mysql/
gem "mysql", "~> 2.8.1", :platforms => [:mri_18, :mingw_18]
gem "mysql2", "~> 0.3.11", :platforms => [:mri_19, :mingw_19]
when 'mysql2'
gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when 'mysql'
gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when /postgresql/
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
@@ -75,7 +78,7 @@ end
group :test do
gem "shoulda", "~> 3.3.2"
gem "mocha"
gem "mocha", "~> 0.13.3"
gem 'capybara', '~> 2.0.0'
end

View File

@@ -176,7 +176,9 @@ class AccountController < ApplicationController
end
def open_id_authenticate(openid_url)
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => signin_url, :method => :post) do |result, identity_url, registration|
back_url = signin_url(:autologin => params[:autologin])
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => back_url, :method => :post) do |result, identity_url, registration|
if result.successful?
user = User.find_or_initialize_by_identity_url(identity_url)
if user.new_record?
@@ -230,7 +232,6 @@ class AccountController < ApplicationController
def set_autologin_cookie(user)
token = Token.create(:user => user, :action => 'autologin')
cookie_name = Redmine::Configuration['autologin_cookie_name'] || 'autologin'
cookie_options = {
:value => token.value,
:expires => 1.year.from_now,
@@ -238,7 +239,7 @@ class AccountController < ApplicationController
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false),
:httponly => true
}
cookies[cookie_name] = cookie_options
cookies[autologin_cookie_name] = cookie_options
end
# Onthefly creation failed, display the registration form to fill/fix attributes

View File

@@ -35,7 +35,7 @@ class ApplicationController < ActionController::Base
protect_from_forgery
def handle_unverified_request
super
cookies.delete(:autologin)
cookies.delete(autologin_cookie_name)
end
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization
@@ -127,10 +127,14 @@ class ApplicationController < ActionController::Base
user
end
def autologin_cookie_name
Redmine::Configuration['autologin_cookie_name'].presence || 'autologin'
end
def try_to_autologin
if cookies[:autologin] && Setting.autologin?
if cookies[autologin_cookie_name] && Setting.autologin?
# auto-login feature starts a new session
user = User.try_to_autologin(cookies[:autologin])
user = User.try_to_autologin(cookies[autologin_cookie_name])
if user
reset_session
start_user_session(user)
@@ -153,7 +157,7 @@ class ApplicationController < ActionController::Base
# Logs out current user
def logout_user
if User.current.logged?
cookies.delete :autologin
cookies.delete(autologin_cookie_name)
Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin'])
self.logged_user = nil
end

View File

@@ -50,7 +50,7 @@ class IssueRelationsController < ApplicationController
respond_to do |format|
format.html { redirect_to issue_path(@issue) }
format.js {
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
@relations = @issue.reload.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
}
format.api {
if saved

View File

@@ -343,7 +343,7 @@ module ApplicationHelper
def options_for_membership_project_select(principal, projects)
options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
options << project_tree_options_for_select(projects) do |p|
{:disabled => principal.projects.include?(p)}
{:disabled => principal.projects.to_a.include?(p)}
end
options
end
@@ -1180,7 +1180,7 @@ module ApplicationHelper
def sanitize_anchor_name(anchor)
if ''.respond_to?(:encoding) || RUBY_PLATFORM == 'java'
anchor.gsub(%r{[^\p{Word}\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
anchor.gsub(%r{[^\s\-\p{Word}]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
else
# TODO: remove when ruby1.8 is no longer supported
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')

View File

@@ -353,7 +353,10 @@ module IssuesHelper
association = Issue.reflect_on_association(field.to_sym)
if association
record = association.class_name.constantize.find_by_id(id)
return record.name if record
if record
record.name.force_encoding('UTF-8') if record.name.respond_to?(:force_encoding)
return record.name
end
end
end

View File

@@ -107,14 +107,14 @@ module TimelogHelper
# Column headers
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
headers += report.periods
headers << l(:label_total)
headers << l(:label_total_time)
csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8(
c.to_s,
l(:general_csv_encoding) ) }
# Content
report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours)
# Total row
str_total = Redmine::CodesetUtil.from_utf8(l(:label_total), l(:general_csv_encoding))
str_total = Redmine::CodesetUtil.from_utf8(l(:label_total_time), l(:general_csv_encoding))
row = [ str_total ] + [''] * (report.criteria.size - 1)
total = 0
report.periods.each do |period|

View File

@@ -30,6 +30,7 @@ class Group < Principal
before_destroy :remove_references_before_destroy
scope :sorted, lambda { order("#{table_name}.lastname ASC") }
scope :named, lambda {|arg| where("LOWER(#{table_name}.lastname) = LOWER(?)", arg.to_s.strip)}
safe_attributes 'name',
'user_ids',

View File

@@ -184,10 +184,12 @@ class Issue < ActiveRecord::Base
super
end
alias :base_reload :reload
def reload(*args)
@workflow_rule_by_attribute = nil
@assignable_versions = nil
super
@relations = nil
base_reload(*args)
end
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
@@ -574,6 +576,8 @@ class Issue < ActiveRecord::Base
elsif @parent_issue
if !valid_parent_project?(@parent_issue)
errors.add :parent_issue_id, :invalid
elsif (@parent_issue != parent) && (all_dependent_issues.include?(@parent_issue) || @parent_issue.all_dependent_issues.include?(self))
errors.add :parent_issue_id, :invalid
elsif !new_record?
# moving an existing issue
if @parent_issue.root_id != root_id
@@ -849,16 +853,16 @@ class Issue < ActiveRecord::Base
IssueRelation.find(relation_id, :conditions => ["issue_to_id = ? OR issue_from_id = ?", id, id])
end
# Returns all the other issues that depend on the issue
def all_dependent_issues(except=[])
except << self
dependencies = []
relations_from.each do |relation|
if relation.issue_to && !except.include?(relation.issue_to)
dependencies << relation.issue_to
dependencies += relation.issue_to.all_dependent_issues(except)
end
end
dependencies
dependencies += relations_from.map(&:issue_to)
dependencies += children unless leaf?
dependencies << parent
dependencies.compact!
dependencies -= except
dependencies + dependencies.map {|issue| issue.all_dependent_issues(except)}.flatten
end
# Returns an array of issues that duplicate this one
@@ -890,7 +894,7 @@ class Issue < ActiveRecord::Base
@soonest_start = nil if reload
@soonest_start ||= (
relations_to(reload).collect{|relation| relation.successor_soonest_start} +
ancestors.collect(&:soonest_start)
[(@parent_issue || parent).try(:soonest_start)]
).compact.max
end
@@ -953,7 +957,7 @@ class Issue < ActiveRecord::Base
# Returns a string of css classes that apply to the issue
def css_classes
s = "issue status-#{status_id} #{priority.try(:css_classes)}"
s = "issue tracker-#{tracker_id} status-#{status_id} #{priority.try(:css_classes)}"
s << ' closed' if closed?
s << ' overdue' if overdue?
s << ' child' if child?
@@ -1145,20 +1149,27 @@ class Issue < ActiveRecord::Base
end
unless @copied_from.leaf? || @copy_options[:subtasks] == false
@copied_from.children.each do |child|
copy_options = (@copy_options || {}).merge(:subtasks => false)
copied_issue_ids = {@copied_from.id => self.id}
@copied_from.reload.descendants.reorder("#{Issue.table_name}.lft").each do |child|
# Do not copy self when copying an issue as a descendant of the copied issue
next if child == self
# Do not copy subtasks of issues that were not copied
next unless copied_issue_ids[child.parent_id]
# Do not copy subtasks that are not visible to avoid potential disclosure of private data
unless child.visible?
# Do not copy subtasks that are not visible to avoid potential disclosure of private data
logger.error "Subtask ##{child.id} was not copied during ##{@copied_from.id} copy because it is not visible to the current user" if logger
next
end
copy = Issue.new.copy_from(child, @copy_options)
copy = Issue.new.copy_from(child, copy_options)
copy.author = author
copy.project = project
copy.parent_issue_id = id
# Children subtasks are copied recursively
copy.parent_issue_id = copied_issue_ids[child.parent_id]
unless copy.save
logger.error "Could not copy subtask ##{child.id} while copying ##{@copied_from.id} to ##{id} due to validation errors: #{copy.errors.full_messages.join(', ')}" if logger
next
end
copied_issue_ids[child.id] = copy.id
end
end
@after_create_from_copy_handled = true

View File

@@ -38,7 +38,9 @@ class MailHandler < ActionMailer::Base
# Status overridable by default
@@handler_options[:allow_override] << 'status' unless @@handler_options[:issue].has_key?(:status)
@@handler_options[:no_permission_check] = (@@handler_options[:no_permission_check].to_s == '1' ? true : false)
@@handler_options[:no_account_notice] = (@@handler_options[:no_account_notice].to_s == '1')
@@handler_options[:no_notification] = (@@handler_options[:no_notification].to_s == '1')
@@handler_options[:no_permission_check] = (@@handler_options[:no_permission_check].to_s == '1')
email.force_encoding('ASCII-8BIT') if email.respond_to?(:force_encoding)
super(email)
@@ -97,7 +99,10 @@ class MailHandler < ActionMailer::Base
if logger && logger.info
logger.info "MailHandler: [#{@user.login}] account created"
end
Mailer.account_information(@user, @user.password).deliver
add_user_to_group(@@handler_options[:default_group])
unless @@handler_options[:no_account_notice]
Mailer.account_information(@user, @user.password).deliver
end
else
if logger && logger.error
logger.error "MailHandler: could not create account for [#{sender_email}]"
@@ -249,26 +254,9 @@ class MailHandler < ActionMailer::Base
def add_attachments(obj)
if email.attachments && email.attachments.any?
email.attachments.each do |attachment|
filename = attachment.filename
unless filename.respond_to?(:encoding)
# try to reencode to utf8 manually with ruby1.8
h = attachment.header['Content-Disposition']
unless h.nil?
begin
if m = h.value.match(/filename\*[0-9\*]*=([^=']+)'/)
filename = Redmine::CodesetUtil.to_utf8(filename, m[1])
elsif m = h.value.match(/filename=.*=\?([^\?]+)\?[BbQq]\?/)
# http://tools.ietf.org/html/rfc2047#section-4
filename = Redmine::CodesetUtil.to_utf8(filename, m[1])
end
rescue
# nop
end
end
end
obj.attachments << Attachment.create(:container => obj,
:file => attachment.decoded,
:filename => filename,
:filename => attachment.filename,
:author => user,
:content_type => attachment.mime_type)
end
@@ -391,19 +379,6 @@ class MailHandler < ActionMailer::Base
def cleaned_up_subject
subject = email.subject.to_s
unless subject.respond_to?(:encoding)
# try to reencode to utf8 manually with ruby1.8
begin
if h = email.header[:subject]
# http://tools.ietf.org/html/rfc2047#section-4
if m = h.value.match(/=\?([^\?]+)\?[BbQq]\?/)
subject = Redmine::CodesetUtil.to_utf8(subject, m[1])
end
end
rescue
# nop
end
end
subject.strip[0,255]
end
@@ -433,6 +408,7 @@ class MailHandler < ActionMailer::Base
password_length = [Setting.password_min_length.to_i, 10].max
user.password = Redmine::Utils.random_hex(password_length / 2 + 1)
user.language = Setting.default_language
user.mail_notification = 'only_my_events'
unless user.valid?
user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank?
@@ -453,6 +429,9 @@ class MailHandler < ActionMailer::Base
end
if addr.present?
user = self.class.new_user_from_attributes(addr, name)
if @@handler_options[:no_notification]
user.mail_notification = 'none'
end
if user.save
user
else
@@ -465,6 +444,19 @@ class MailHandler < ActionMailer::Base
end
end
# Adds the newly created user to default group
def add_user_to_group(default_group)
if default_group.present?
default_group.split(',').each do |group_name|
if group = Group.named(group_name).first
group.users << @user
elsif logger
logger.warn "MailHandler: could not add user to [#{group_name}], group not found"
end
end
end
end
# Removes the email body of text after the truncation configurations.
def cleanup_body(body)
delimiters = Setting.mail_handler_body_delimiters.to_s.split(/[\r\n]+/).reject(&:blank?).map {|s| Regexp.escape(s)}

View File

@@ -285,6 +285,7 @@ class Project < ActiveRecord::Base
self.find(*args)
end
alias :base_reload :reload
def reload(*args)
@shared_versions = nil
@rolled_up_versions = nil
@@ -297,7 +298,7 @@ class Project < ActiveRecord::Base
@actions_allowed = nil
@start_date = nil
@due_date = nil
super
base_reload(*args)
end
def to_param

View File

@@ -40,6 +40,7 @@ class TimeEntry < ActiveRecord::Base
validates_presence_of :user_id, :activity_id, :project_id, :hours, :spent_on
validates_numericality_of :hours, :allow_nil => true, :message => :invalid
validates_length_of :comments, :maximum => 255, :allow_nil => true
validates :spent_on, :date => true
before_validation :set_project_if_nil
validate :validate_time_entry

View File

@@ -128,10 +128,12 @@ class User < Principal
end
end
alias :base_reload :reload
def reload(*args)
@name = nil
@projects_by_role = nil
super
@membership_by_project_id = nil
base_reload(*args)
end
def mail=(arg)
@@ -415,6 +417,17 @@ class User < Principal
!logged?
end
# Returns user's membership for the given project
# or nil if the user is not a member of project
def membership(project)
project_id = project.is_a?(Project) ? project.id : project
@membership_by_project_id ||= Hash.new {|h, project_id|
h[project_id] = memberships.where(:project_id => project_id).first
}
@membership_by_project_id[project_id]
end
# Return user's roles for project
def roles_for_project(project)
roles = []
@@ -422,7 +435,7 @@ class User < Principal
return roles if project.nil? || project.archived?
if logged?
# Find project membership
membership = memberships.detect {|m| m.project_id == project.id}
membership = membership(project)
if membership
roles = membership.roles
else
@@ -438,7 +451,7 @@ class User < Principal
# Return true if the user is a member of project
def member_of?(project)
roles_for_project(project).any? {|role| role.member?}
projects.to_a.include?(project)
end
# Returns a hash of user's projects grouped by roles
@@ -679,6 +692,10 @@ class AnonymousUser < User
UserPreference.new(:user => self)
end
def member_of?(project)
false
end
# Anonymous user can not be destroyed
def destroy
false

View File

@@ -10,7 +10,7 @@
<thead>
<tr>
<th colspan="4" class="filename">
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %>
<%= table_file.file_name %>
</th>
</tr>
</thead>
@@ -24,11 +24,11 @@
<tr>
<th class="line-num"><%= line.nb_line_left %></th>
<td class="line-code <%= line.type_diff_left %>">
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line_left).html_safe %></pre>
<pre><%= line.html_line_left.html_safe %></pre>
</td>
<th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff_right %>">
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line_right).html_safe %></pre>
<pre><%= line.html_line_right.html_safe %></pre>
</td>
</tr>
<% end -%>
@@ -40,7 +40,7 @@
<thead>
<tr>
<th colspan="3" class="filename">
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %>
<%= table_file.file_name %>
</th>
</tr>
</thead>
@@ -55,7 +55,7 @@
<th class="line-num"><%= line.nb_line_left %></th>
<th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff %>">
<pre><%= Redmine::CodesetUtil.to_utf8_by_setting(line.html_line).html_safe %></pre>
<pre><%= line.html_line.html_safe %></pre>
</td>
</tr>
<% end -%>

View File

@@ -21,7 +21,7 @@
<fieldset>
<legend><%= l(:label_related_issues) %></legend>
<label>
<%= check_box_tag "draw_rels", params["draw_rels"], true %>
<%= check_box_tag "draw_rels", params["draw_rels"], params[:set_filter].blank? || params[:draw_rels] %>
<% rels = [IssueRelation::TYPE_BLOCKS, IssueRelation::TYPE_PRECEDES] %>
<% rels.each do |rel| %>
<% color = Redmine::Helpers::Gantt::DRAW_TYPES[rel][:color] %>
@@ -36,7 +36,7 @@
<fieldset>
<legend><%= l(:label_gantt_progress_line) %></legend>
<label>
<%= check_box_tag "draw_progress_line", params[:draw_progress_line], false %>
<%= check_box_tag "draw_progress_line", params[:draw_progress_line], params[:draw_progress_line] %>
<%= l(:label_display) %>
</label>
</fieldset>

View File

@@ -19,6 +19,7 @@
<td class="buttons"><%= delete_link group %></td>
</tr>
<% end %>
</tbody>
</table>
<% else %>
<p class="nodata"><%= l(:label_no_data) %></p>

View File

@@ -5,7 +5,7 @@ entries_by_day = entries.group_by(&:spent_on)
%>
<div class="total-hours">
<p><%= l(:label_total) %>: <%= html_hours("%.2f" % entries.sum(&:hours).to_f) %></p>
<p><%= l(:label_total_time) %>: <%= html_hours("%.2f" % entries.sum(&:hours).to_f) %></p>
</div>
<% if entries.any? %>

View File

@@ -13,7 +13,7 @@
<% end %>
<div class="total-hours">
<p><%= l(:label_total) %>: <%= html_hours(l_hours(@total_hours)) %></p>
<p><%= l(:label_total_time) %>: <%= html_hours(l_hours(@total_hours)) %></p>
</div>
<% unless @entries.empty? %>

View File

@@ -30,7 +30,7 @@
<% unless @report.criteria.empty? %>
<div class="total-hours">
<p><%= l(:label_total) %>: <%= html_hours(l_hours(@report.total_hours)) %></p>
<p><%= l(:label_total_time) %>: <%= html_hours(l_hours(@report.total_hours)) %></p>
</div>
<% unless @report.hours.empty? %>
@@ -45,13 +45,13 @@
<% @report.periods.each do |period| %>
<th class="period" width="<%= columns_width %>%"><%= period %></th>
<% end %>
<th class="total" width="<%= columns_width %>%"><%= l(:label_total) %></th>
<th class="total" width="<%= columns_width %>%"><%= l(:label_total_time) %></th>
</tr>
</thead>
<tbody>
<%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %>
<tr class="total">
<td><%= l(:label_total) %></td>
<td><%= l(:label_total_time) %></td>
<%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %>
<% total = 0 -%>
<% @report.periods.each do |period| -%>

View File

@@ -6,6 +6,7 @@ api.user do
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
api.created_on @user.created_on
api.last_login_on @user.last_login_on
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
render_api_custom_values @user.visible_custom_field_values, api

View File

@@ -133,7 +133,7 @@ default:
scm_bazaar_command:
scm_darcs_command:
# Absolute path to the scm commands errors (stderr) log file.
# Absolute path to the SCM commands errors (stderr) log file.
# The default is to log in the 'log' directory of your Redmine instance.
# Example:
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log

View File

@@ -1085,3 +1085,5 @@ ar:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: الإجمالي

View File

@@ -1182,3 +1182,5 @@ az:
label_any_issues_not_in_project: any issues not in project
label_cross_project_tree: With project tree
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Cəmi

View File

@@ -180,7 +180,7 @@ bg:
notice_account_deleted: Вашият профил беше премахнат без възможност за възстановяване.
notice_user_successful_create: Потребител %{id} е създаден.
error_can_t_load_default_data: "Грешка при зареждане на примерната информация: %{value}"
error_can_t_load_default_data: "Грешка при зареждане на началната информация: %{value}"
error_scm_not_found: Несъществуващ обект в хранилището.
error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
@@ -360,7 +360,7 @@ bg:
setting_cross_project_subtasks: Подзадачи от други проекти
setting_issue_list_default_columns: Показвани колони по подразбиране
setting_repositories_encodings: Кодова таблица на прикачените файлове и хранилищата
setting_emails_header: Emails header
setting_emails_header: Email header
setting_emails_footer: Подтекст за e-mail
setting_protocol: Протокол
setting_per_page_options: Опции за страниране
@@ -401,6 +401,7 @@ bg:
setting_thumbnails_size: Размер на миниатюрите (в пиксели)
setting_non_working_week_days: Не работни дни
setting_jsonp_enabled: Разрешаване на поддръжка на JSONP
setting_default_projects_tracker_ids: Тракери по подразбиране за нови проекти
permission_add_project: Създаване на проект
permission_add_subprojects: Създаване на подпроекти
@@ -618,6 +619,7 @@ bg:
one: 1 задача
other: "%{count} задачи"
label_total: Общо
label_total_time: Общо
label_permissions: Права
label_current_status: Текущо състояние
label_new_statuses_allowed: Позволени състояния

View File

@@ -938,7 +938,6 @@ bs:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -979,8 +978,6 @@ bs:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1098,3 +1095,8 @@ bs:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Ukupno
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -927,7 +927,6 @@ ca:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -968,8 +967,6 @@ ca:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1087,3 +1084,8 @@ ca:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -1,3 +1,4 @@
# Update to 2.2 by Karel Picman <karel.picman@kontron.com>
# Update to 1.1 by Michal Gebauer <mishak@mishak.net>
# Updated by Josef Liška <jl@chl.cz>
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.cz
@@ -160,10 +161,10 @@ cs:
notice_successful_update: Úspěšně aktualizováno.
notice_successful_delete: Úspěšně odstraněno.
notice_successful_connection: Úspěšné připojení.
notice_file_not_found: Stránka na kterou se snažíte zobrazit neexistuje nebo byla smazána.
notice_file_not_found: Stránka, kterou se snažíte zobrazit, neexistuje nebo byla smazána.
notice_locking_conflict: Údaje byly změněny jiným uživatelem.
notice_not_authorized: Nemáte dostatečná práva pro zobrazení této stránky.
notice_not_authorized_archived_project: Projekt ke kterému se snažíte přistupovat byl archivován.
notice_not_authorized_archived_project: Projekt, ke kterému se snažíte přistupovat, byl archivován.
notice_email_sent: "Na adresu %{value} byl odeslán email"
notice_email_error: "Při odesílání emailu nastala chyba (%{value})"
notice_feeds_access_key_reseted: Váš klíč pro přístup k RSS byl resetován.
@@ -174,7 +175,7 @@ cs:
notice_account_pending: "Váš účet byl vytvořen, nyní čeká na schválení administrátorem."
notice_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
notice_unable_delete_version: Nemohu odstanit verzi
notice_unable_delete_time_entry: Nelze smazat čas ze záznamu.
notice_unable_delete_time_entry: Nelze smazat záznam času.
notice_issue_done_ratios_updated: Koeficienty dokončení úkolu byly aktualizovány.
notice_gantt_chart_truncated: Graf byl oříznut, počet položek přesáhl limit pro zobrazení (%{max})
@@ -184,15 +185,15 @@ cs:
error_scm_annotate: "Položka neexistuje nebo nemůže být komentována."
error_issue_not_found_in_project: 'Úkol nebyl nalezen nebo nepatří k tomuto projektu'
error_no_tracker_in_project: Žádná fronta nebyla přiřazena tomuto projektu. Prosím zkontroluje nastavení projektu.
error_no_default_issue_status: Není nastaven výchozí stav úkolu. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
error_no_default_issue_status: Není nastaven výchozí stav úkolů. Prosím zkontrolujte nastavení ("Administrace -> Stavy úkolů").
error_can_not_delete_custom_field: Nelze smazat volitelné pole
error_can_not_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazán.
error_can_not_delete_tracker: Tato fronta obsahuje úkoly a nemůže být smazána.
error_can_not_remove_role: Tato role je právě používaná a nelze ji smazat.
error_can_not_reopen_issue_on_closed_version: Úkol přiřazený k uzavřené verzi nemůže být znovu otevřen
error_can_not_archive_project: Tento projekt nemůže být archivován
error_issue_done_ratios_not_updated: Koeficient dokončení úkolu nebyl aktualizován.
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roly
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e)
error_workflow_copy_source: Prosím vyberte zdrojovou frontu nebo roli
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roli(e)
error_unable_delete_issue_status: Nelze smazat stavy úkolů
error_unable_to_connect: Nelze se připojit (%{value})
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit."
@@ -206,7 +207,7 @@ cs:
mail_subject_account_activation_request: "Aktivace %{value} účtu"
mail_body_account_activation_request: "Byl zaregistrován nový uživatel %{value}. Aktivace jeho účtu závisí na vašem potvrzení."
mail_subject_reminder: "%{count} úkol(ů) má termín během několik dní (%{days})"
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několik dní (%{days}):"
mail_body_reminder: "%{count} úkol(ů), které máte přiřazeny má termín během několika dní (%{days}):"
mail_subject_wiki_content_added: "'%{id}' Wiki stránka byla přidána"
mail_body_wiki_content_added: "'%{id}' Wiki stránka byla přidána od %{author}."
mail_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
@@ -290,7 +291,7 @@ cs:
field_issue_to: Související úkol
field_delay: Zpoždění
field_assignable: Úkoly mohou být přiřazeny této roli
field_redirect_existing_links: Přesměrovat stvávající odkazy
field_redirect_existing_links: Přesměrovat stávající odkazy
field_estimated_hours: Odhadovaná doba
field_column_names: Sloupce
field_time_entries: Zaznamenaný čas
@@ -320,7 +321,7 @@ cs:
setting_attachment_max_size: Maximální velikost přílohy
setting_issues_export_limit: Limit pro export úkolů
setting_mail_from: Odesílat emaily z adresy
setting_bcc_recipients: Příjemci skryté kopie (bcc)
setting_bcc_recipients: Příjemci jako skrytá kopie (bcc)
setting_plain_text_mail: pouze prostý text (ne HTML)
setting_host_name: Jméno serveru
setting_text_formatting: Formátování textu
@@ -336,8 +337,8 @@ cs:
setting_time_format: Formát času
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
setting_emails_header: Hlavička emailů
setting_emails_footer: Patička emailů
setting_emails_header: Záhlaví emailů
setting_emails_footer: Zápatí emailů
setting_protocol: Protokol
setting_per_page_options: Povolené počty řádků na stránce
setting_user_format: Formát zobrazení uživatele
@@ -350,7 +351,7 @@ cs:
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
setting_gravatar_enabled: Použít uživatelské ikony Gravatar
setting_gravatar_default: Výchozí Gravatar
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílů
setting_diff_max_lines_displayed: Maximální počet zobrazených řádků rozdílu
setting_file_max_size_displayed: Maximální velikost textových souborů zobrazených přímo na stránce
setting_repository_log_display_limit: Maximální počet revizí zobrazených v logu souboru
setting_openid: Umožnit přihlašování a registrace s OpenID
@@ -366,7 +367,7 @@ cs:
setting_default_notification_option: Výchozí nastavení oznámení
setting_commit_logtime_enabled: Povolit zapisování času
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově grafu
setting_gantt_items_limit: Maximální počet položek zobrazený na ganttově diagramu
permission_add_project: Vytvořit projekt
permission_add_subprojects: Vytvořit podprojekty
@@ -387,11 +388,11 @@ cs:
permission_delete_issues: Mazání úkolů
permission_manage_public_queries: Správa veřejných dotazů
permission_save_queries: Ukládání dotazů
permission_view_gantt: Zobrazené Ganttova diagramu
permission_view_gantt: Zobrazení ganttova diagramu
permission_view_calendar: Prohlížení kalendáře
permission_view_issue_watchers: Zobrazení seznamu sledujícíh uživatelů
permission_view_issue_watchers: Zobrazení seznamu sledujících uživatelů
permission_add_issue_watchers: Přidání sledujících uživatelů
permission_delete_issue_watchers: Smazat přihlížející
permission_delete_issue_watchers: Smazat sledující uživatele
permission_log_time: Zaznamenávání stráveného času
permission_view_time_entries: Zobrazení stráveného času
permission_edit_time_entries: Upravování záznamů o stráveném času
@@ -421,7 +422,7 @@ cs:
permission_delete_messages: Mazání zpráv
permission_delete_own_messages: Smazat vlastní zprávy
permission_export_wiki_pages: Exportovat Wiki stránky
permission_manage_subtasks: Spravovat podúkoly
permission_manage_subtasks: Spravovat dílčí úkoly
project_module_issue_tracking: Sledování úkolů
project_module_time_tracking: Sledování času
@@ -482,7 +483,7 @@ cs:
label_enumeration_new: Nová hodnota
label_information: Informace
label_information_plural: Informace
label_please_login: Prosím přihlašte se
label_please_login: Přihlašte se, prosím
label_register: Registrovat
label_login_with_open_id_option: nebo se přihlašte s OpenID
label_password_lost: Zapomenuté heslo
@@ -579,7 +580,7 @@ cs:
label_per_page: Na stránku
label_calendar: Kalendář
label_months_from: měsíců od
label_gantt: Ganttův graf
label_gantt: Ganttův diagram
label_internal: Interní
label_last_changes: "posledních %{count} změn"
label_change_view_all: Zobrazit všechny změny
@@ -686,9 +687,9 @@ cs:
label_relation_delete: Odstranit souvislost
label_relates_to: související s
label_duplicates: duplikuje
label_duplicated_by: zduplikován
label_duplicated_by: duplikován
label_blocks: blokuje
label_blocked_by: zablokován
label_blocked_by: blokován
label_precedes: předchází
label_follows: následuje
label_end_to_start: od konce do začátku
@@ -697,12 +698,12 @@ cs:
label_start_to_end: od začátku do konce
label_stay_logged_in: Zůstat přihlášený
label_disabled: zakázán
label_show_completed_versions: Ukázat dokončené verze
label_show_completed_versions: Zobrazit dokončené verze
label_me:
label_board: Fórum
label_board_new: Nové fórum
label_board_plural: Fóra
label_board_locked: Uzamčeno
label_board_locked: Zamčeno
label_board_sticky: Nálepka
label_topic_plural: Témata
label_message_plural: Zprávy
@@ -716,7 +717,7 @@ cs:
label_week: Týden
label_date_from: Od
label_date_to: Do
label_language_based: Podle výchozího jazyku
label_language_based: Podle výchozího jazyka
label_sort_by: "Seřadit podle %{value}"
label_send_test_email: Poslat testovací email
label_feeds_access_key: Přístupový klíč pro RSS
@@ -728,7 +729,7 @@ cs:
label_updated_time: "Aktualizováno před %{value}"
label_jump_to_a_project: Vyberte projekt...
label_file_plural: Soubory
label_changeset_plural: Changesety
label_changeset_plural: Sady změn
label_default_columns: Výchozí sloupce
label_no_change_option: (beze změny)
label_bulk_edit_selected_issues: Hromadná úprava vybraných úkolů
@@ -738,9 +739,9 @@ cs:
label_user_mail_option_all: "Pro všechny události všech mých projektů"
label_user_mail_option_selected: "Pro všechny události vybraných projektů..."
label_user_mail_option_none: "Žádné události"
label_user_mail_option_only_my_events: "Jen pro věci co sleduji nebo jsem v nich zapojen"
label_user_mail_option_only_assigned: "Jen pro všeci kterým sem přiřazen"
label_user_mail_option_only_owner: "Jen pro věci které vlastním"
label_user_mail_option_only_my_events: "Jen pro věci, co sleduji nebo jsem v nich zapojen"
label_user_mail_option_only_assigned: "Jen pro věci, ke kterým sem přiřazen"
label_user_mail_option_only_owner: "Jen pro věci, které vlastním"
label_user_mail_no_self_notified: "Nezasílat informace o mnou vytvořených změnách"
label_registration_activation_by_email: aktivace účtu emailem
label_registration_manual_activation: manuální aktivace účtu
@@ -789,7 +790,7 @@ cs:
label_missing_api_access_key: Chybějící přístupový klíč API
label_api_access_key_created_on: API přístupový klíč vytvořen %{value}
label_profile: Profil
label_subtask_plural: Podúkol
label_subtask_plural: Dílčí úkoly
label_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
label_principal_search: "Hledat uživatele nebo skupinu:"
label_user_search: "Hledat uživatele:"
@@ -826,7 +827,7 @@ cs:
button_unwatch: Nesledovat
button_reply: Odpovědět
button_archive: Archivovat
button_unarchive: Odarchivovat
button_unarchive: Dearchivovat
button_reset: Resetovat
button_rename: Přejmenovat
button_change_password: Změnit heslo
@@ -841,18 +842,18 @@ cs:
status_active: aktivní
status_registered: registrovaný
status_locked: uzamčený
status_locked: zamčený
version_status_open: otevřený
version_status_locked: uzamčený
version_status_locked: zamčený
version_status_closed: zavřený
field_active: Aktivní
text_select_mail_notifications: Vyberte akci při které bude zasláno upozornění emailem.
text_select_mail_notifications: Vyberte akci, při které bude zasláno upozornění emailem.
text_regexp_info: např. ^[A-Z0-9]+$
text_min_max_length_info: 0 znamená bez limitu
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data ?
text_project_destroy_confirmation: Jste si jisti, že chcete odstranit tento projekt a všechna související data?
text_subprojects_destroy_warning: "Jeho podprojek(y): %{value} budou také smazány."
text_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
text_are_you_sure: Jste si jisti?
@@ -870,7 +871,7 @@ cs:
text_unallowed_characters: Nepovolené znaky
text_comma_separated: Povoleno více hodnot (oddělěné čárkou).
text_line_separated: Více hodnot povoleno (jeden řádek pro každou hodnotu).
text_issues_ref_in_commit_messages: Odkazování a opravování úkolů ve zprávách commitů
text_issues_ref_in_commit_messages: Odkazování a opravování úkolů v poznámkách commitů
text_issue_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
text_issue_updated: "Úkol %{id} byl aktualizován uživatelem %{author}."
text_wiki_destroy_confirmation: Opravdu si přejete odstranit tuto Wiki a celý její obsah?
@@ -880,30 +881,30 @@ cs:
text_user_mail_option: "U projektů, které nebyly vybrány, budete dostávat oznámení pouze o vašich či o sledovaných položkách (např. o položkách jejichž jste autor nebo ke kterým jste přiřazen(a))."
text_no_configuration_data: "Role, fronty, stavy úkolů ani průběh práce nebyly zatím nakonfigurovány.\nVelice doporučujeme nahrát výchozí konfiguraci. Po té si můžete vše upravit"
text_load_default_configuration: Nahrát výchozí konfiguraci
text_status_changed_by_changeset: "Použito v changesetu %{value}."
text_time_logged_by_changeset: Aplikováno v changesetu %{value}.
text_status_changed_by_changeset: "Použito v sadě změn %{value}."
text_time_logged_by_changeset: Aplikováno v sadě změn %{value}.
text_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
text_select_project_modules: 'Aktivní moduly v tomto projektu:'
text_default_administrator_account_changed: Výchozí nastavení administrátorského účtu změněno
text_file_repository_writable: Povolen zápis do adresáře ukládání souborů
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
text_rmagick_available: RMagick k dispozici (volitelné)
text_destroy_time_entries_question: "U úkolů, které chcete odstranit je evidováno %{hours} práce. Co chete udělat?"
text_destroy_time_entries: Odstranit evidované hodiny.
text_assign_time_entries_to_project: Přiřadit evidované hodiny projektu
text_reassign_time_entries: 'Přeřadit evidované hodiny k tomuto úkolu:'
text_destroy_time_entries_question: "U úkolů, které chcete odstranit, je evidováno %{hours} práce. Co chete udělat?"
text_destroy_time_entries: Odstranit zaznamenané hodiny.
text_assign_time_entries_to_project: Přiřadit zaznamenané hodiny projektu
text_reassign_time_entries: 'Přeřadit zaznamenané hodiny k tomuto úkolu:'
text_user_wrote: "%{value} napsal:"
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě."
text_enumeration_category_reassign_to: 'Přeřadit je do této:'
text_email_delivery_not_configured: "Doručování e-mailů není nastaveno a odesílání notifikací je zakázáno.\nNastavte Váš SMTP server v souboru config/configuration.yml a restartujte aplikaci."
text_repository_usernames_mapping: "Vybrat nebo upravit mapování mezi Redmine uživateli a uživatelskými jmény nalezenými v logu repozitáře.\nUživatelé se shodným Redmine uživatelským jménem a uživatelským jménem v repozitáři jsou mapovaní automaticky."
text_repository_usernames_mapping: "Vybrat nebo upravit mapování mezi Redmine uživateli a uživatelskými jmény nalezenými v logu repozitáře.\nUživatelé se shodným Redmine uživatelským jménem a uživatelským jménem v repozitáři jsou mapováni automaticky."
text_diff_truncated: '... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.'
text_custom_field_possible_values_info: 'Každá hodnota na novém řádku'
text_wiki_page_destroy_question: Tato stránka má %{descendants} podstránek a potomků. Co chcete udělat?
text_wiki_page_nullify_children: Ponechat podstránky jako kořenové stránky
text_wiki_page_destroy_children: Smazat podstránky a všechny jejich potomky
text_wiki_page_reassign_children: Přiřadit podstránky k tomuto rodiči
text_own_membership_delete_confirmation: "Chystáte se odebrat si některá nebo všechny svá oprávnění a potom již nemusíte být schopni upravit tento projekt.\nOpravdu chcete pokračovat?"
text_own_membership_delete_confirmation: "Chystáte se odebrat si některá nebo všechna svá oprávnění, potom již nemusíte být schopni upravit tento projekt.\nOpravdu chcete pokračovat?"
text_zoom_in: Přiblížit
text_zoom_out: Oddálit
@@ -934,157 +935,159 @@ cs:
enumeration_activities: Aktivity (sledování času)
enumeration_system_activity: Systémová aktivita
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
label_my_queries: My custom queries
text_journal_changed_no_detail: "%{label} updated"
label_news_comment_added: Comment added to a news
button_expand_all: Expand all
button_collapse_all: Collapse all
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
label_role_anonymous: Anonymous
label_role_non_member: Non member
label_issue_note_added: Note added
label_issue_status_updated: Status updated
label_issue_priority_updated: Priority updated
label_issues_visibility_own: Issues created by or assigned to the user
field_issues_visibility: Issues visibility
label_issues_visibility_all: All issues
permission_set_own_issues_private: Set own issues public or private
field_is_private: Private
permission_set_issues_private: Set issues public or private
label_issues_visibility_public: All non private issues
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
field_warn_on_leaving_unsaved: Varuj mě před opuštěním stránky s neuloženým textem
text_warn_on_leaving_unsaved: Aktuální stránka obsahuje neuložený text, který bude ztracen, když opustíte stránku.
label_my_queries: Moje vlastní dotazy
text_journal_changed_no_detail: "%{label} aktualizován"
label_news_comment_added: K novince byl přidán komentář
button_expand_all: Rozbal vše
button_collapse_all: Sbal vše
label_additional_workflow_transitions_for_assignee: Další změna stavu povolena, jestliže je uživatel přiřazen
label_additional_workflow_transitions_for_author: Další změna stavu povolena, jestliže je uživatel autorem
label_bulk_edit_selected_time_entries: Hromadná změna záznamů času
text_time_entries_destroy_confirmation: Jste si jistí, že chcete smazat vybraný záznam(y) času?
label_role_anonymous: Anonym
label_role_non_member: Není členem
label_issue_note_added: Přidána poznámka
label_issue_status_updated: Aktualizován stav
label_issue_priority_updated: Aktualizována priorita
label_issues_visibility_own: Úkol vytvořen nebo přiřazen uživatel(i/em)
field_issues_visibility: Viditelnost úkolů
label_issues_visibility_all: Všechny úkoly
permission_set_own_issues_private: Nastavit vlastní úkoly jako veřejné nebo soukromé
field_is_private: Soukromý
permission_set_issues_private: Nastavit úkoly jako veřejné nebo soukromé
label_issues_visibility_public: Všechny úkoly, které nejsou soukromé
text_issues_destroy_descendants_confirmation: "%{count} dílčí(ch) úkol(ů) bude rovněž smazán(o)."
field_commit_logs_encoding: Kódování zpráv při commitu
field_scm_path_encoding: Path encoding
text_scm_path_encoding_note: "Default: UTF-8"
field_path_to_repository: Path to repository
field_root_directory: Root directory
field_cvs_module: Module
field_scm_path_encoding: Kódování cesty SCM
text_scm_path_encoding_note: "Výchozí: UTF-8"
field_path_to_repository: Cesta k repositáři
field_root_directory: Kořenový adresář
field_cvs_module: Modul
field_cvsroot: CVSROOT
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
label_diff: diff
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
description_query_sort_criteria_direction: Sort direction
description_project_scope: Search scope
description_filter: Filter
description_user_mail_notification: Mail notification settings
description_date_from: Enter start date
description_message_content: Message content
description_available_columns: Available Columns
description_date_range_interval: Choose range by selecting start and end date
description_issue_category_reassign: Choose issue category
description_search: Searchfield
description_notes: Notes
description_date_range_list: Choose range from list
description_choose_project: Projects
description_date_to: Enter end date
description_query_sort_criteria_attribute: Sort attribute
description_wiki_subpages_reassign: Choose new parent page
description_selected_columns: Selected Columns
label_parent_revision: Parent
label_child_revision: Child
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
button_edit_section: Edit this section
setting_repositories_encodings: Attachments and repositories encodings
description_all_columns: All Columns
text_mercurial_repository_note: Lokální repositář (např. /hgrepo, c:\hgrepo)
text_scm_command: Příkaz
text_scm_command_version: Verze
label_git_report_last_commit: Reportovat poslední commit pro soubory a adresáře
text_scm_config: Můžete si nastavit vaše SCM příkazy v config/configuration.yml. Restartujte, prosím, aplikaci po jejich úpravě.
text_scm_command_not_available: SCM příkaz není k dispozici. Zkontrolujte, prosím, nastavení v panelu Administrace.
notice_issue_successful_create: Úkol %{id} vytvořen.
label_between: mezi
setting_issue_group_assignment: Povolit přiřazení úkolu skupině
label_diff: rozdíl
text_git_repository_note: Repositář je "bare and local" (např. /gitrepo, c:\gitrepo)
description_query_sort_criteria_direction: Směr třídění
description_project_scope: Rozsah vyhledávání
description_filter: Filtr
description_user_mail_notification: Nastavení emailových notifikací
description_date_from: Zadejte počáteční datum
description_message_content: Obsah zprávy
description_available_columns: Dostupné sloupce
description_date_range_interval: Zvolte rozsah výběrem počátečního a koncového data
description_issue_category_reassign: Zvolte kategorii úkolu
description_search: Vyhledávací pole
description_notes: Poznámky
description_date_range_list: Zvolte rozsah ze seznamu
description_choose_project: Projekty
description_date_to: Zadejte datum
description_query_sort_criteria_attribute: Třídící atribut
description_wiki_subpages_reassign: Zvolte novou rodičovskou stránku
description_selected_columns: Vybraný sloupec
label_parent_revision: Rodič
label_child_revision: Potomek
error_scm_annotate_big_text_file: Vstup nemůže být komentován, protože překračuje povolenou velikost textového souboru
setting_default_issue_start_date_to_creation_date: Použij aktuální datum jako počáteční datum pro nové úkoly
button_edit_section: Uprav tuto část
setting_repositories_encodings: Kódování příloh a repositářů
description_all_columns: Všechny sloupce
button_export: Export
label_export_options: "%{export_format} export options"
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
label_export_options: "nastavení exportu %{export_format}"
error_attachment_too_big: Soubor nemůže být nahrán, protože jeho velikost je větší než maximální (%{max_size})
notice_failed_to_save_time_entries: "Chyba při ukládání %{count} časov(ých/ého) záznam(ů) z %{total} vybraného: %{ids}."
label_x_issues:
zero: 0 Úkol
one: 1 Úkol
other: "%{count} Úkoly"
label_repository_new: New repository
field_repository_is_default: Main repository
label_copy_attachments: Copy attachments
label_repository_new: Nový repositář
field_repository_is_default: Hlavní repositář
label_copy_attachments: Kopírovat přílohy
label_item_position: "%{position}/%{count}"
label_completed_versions: Completed versions
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
field_multiple: Multiple values
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
permission_manage_related_issues: Manage related issues
field_auth_source_ldap_filter: LDAP filter
label_search_for_watchers: Search for watchers to add
notice_account_deleted: Your account has been permanently deleted.
setting_unsubscribe: Allow users to delete their own account
button_delete_my_account: Delete my account
label_completed_versions: Dokončené verze
text_project_identifier_info: Jsou povolena pouze malá písmena (a-z), číslice, pomlčky a podtržítka.<br />Po uložení již nelze identifikátor měnit.
field_multiple: Více hodnot
setting_commit_cross_project_ref: Povolit reference a opravy úkolů ze všech ostatních projektů
text_issue_conflict_resolution_add_notes: Přidat moje poznámky a zahodit ostatní změny
text_issue_conflict_resolution_overwrite: Přesto přijmout moje úpravy (předchozí poznámky budou zachovány, ale některé změny mohou být přepsány)
notice_issue_update_conflict: Během vašich úprav byl úkol aktualizován jiným uživatelem.
text_issue_conflict_resolution_cancel: Zahoď všechny moje změny a znovu zobraz %{link}
permission_manage_related_issues: Spravuj související úkoly
field_auth_source_ldap_filter: LDAP filtr
label_search_for_watchers: Hledej sledující pro přidání
notice_account_deleted: Váš účet byl trvale smazán.
setting_unsubscribe: Povolit uživatelům smazání jejich vlastního účtu
button_delete_my_account: Smazat můj účet
text_account_destroy_confirmation: |-
Are you sure you want to proceed?
Your account will be permanently deleted, with no way to reactivate it.
error_session_expired: Your session has expired. Please login again.
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
setting_session_lifetime: Session maximum lifetime
setting_session_timeout: Session inactivity timeout
label_session_expiration: Session expiration
permission_close_project: Close / reopen the project
label_show_closed_projects: View closed projects
button_close: Close
button_reopen: Reopen
project_status_active: active
project_status_closed: closed
project_status_archived: archived
text_project_closed: This project is closed and read-only.
notice_user_successful_create: User %{id} created.
field_core_fields: Standard fields
field_timeout: Timeout (in seconds)
setting_thumbnails_enabled: Display attachment thumbnails
setting_thumbnails_size: Thumbnails size (in pixels)
label_status_transitions: Status transitions
label_fields_permissions: Fields permissions
label_readonly: Read-only
label_required: Required
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
field_board_parent: Parent forum
label_attribute_of_project: Project's %{name}
label_attribute_of_author: Author's %{name}
label_attribute_of_assigned_to: Assignee's %{name}
label_attribute_of_fixed_version: Target version's %{name}
label_copy_subtasks: Copy subtasks
label_copied_to: copied to
label_copied_from: copied from
label_any_issues_in_project: any issues in project
label_any_issues_not_in_project: any issues not in project
field_private_notes: Private notes
permission_view_private_notes: View private notes
permission_set_notes_private: Set notes as private
label_no_issues_in_project: no issues in project
Skutečně chcete pokračovat?
Váš účet bude nenávratně smazán.
error_session_expired: Vaše sezení vypršelo. Znovu se přihlaste, prosím.
text_session_expiration_settings: "Varování: změnou tohoto nastavení mohou vypršet aktuální sezení včetně toho vašeho."
setting_session_lifetime: Maximální čas sezení
setting_session_timeout: Vypršení sezení bez aktivity
label_session_expiration: Vypršení sezení
permission_close_project: Zavřít / Otevřít projekt
label_show_closed_projects: Zobrazit zavřené projekty
button_close: Zavřít
button_reopen: Znovu otevřít
project_status_active: aktiv
project_status_closed: zavřený
project_status_archived: archivovaný
text_project_closed: Tento projekt je uzevřený a je pouze pro čtení.
notice_user_successful_create: Uživatel %{id} vytvořen.
field_core_fields: Standardní pole
field_timeout: Vypršení (v sekundách)
setting_thumbnails_enabled: Zobrazit náhled přílohy
setting_thumbnails_size: Velikost náhledu (v pixelech)
label_status_transitions: Změna stavu
label_fields_permissions: Práva k polím
label_readonly: Pouze pro čtení
label_required: Vyžadováno
text_repository_identifier_info: Jou povoleny pouze malá písmena (a-z), číslice, pomlčky a podtržítka.<br />Po uložení již nelze identifikátor změnit.
field_board_parent: Rodičovské fórum
label_attribute_of_project: Projektové %{name}
label_attribute_of_author: Autorovo %{name}
label_attribute_of_assigned_to: "%{name} přiřazené(ho)"
label_attribute_of_fixed_version: Cílová verze %{name}
label_copy_subtasks: Kopírovat dílčí úkoly
label_copied_to: zkopírováno do
label_copied_from: zkopírováno z
label_any_issues_in_project: jakékoli úkoly v projektu
label_any_issues_not_in_project: jakékoli úkoly mimo projekt
field_private_notes: Soukromé poznámky
permission_view_private_notes: Zobrazit soukromé poznámky
permission_set_notes_private: Nastavit poznámky jako soukromé
label_no_issues_in_project: žádné úkoly v projektu
label_any: vše
label_last_n_weeks: last %{count} weeks
setting_cross_project_subtasks: Allow cross-project subtasks
label_last_n_weeks: poslední %{count} týdny
setting_cross_project_subtasks: Povolit dílčí úkoly napříč projekty
label_cross_project_descendants: S podprojekty
label_cross_project_tree: Se stromem projektu
label_cross_project_hierarchy: S hierarchií projektu
label_cross_project_system: Se všemi projekty
button_hide: Hide
setting_non_working_week_days: Non-working days
label_in_the_next_days: in the next
label_in_the_past_days: in the past
label_attribute_of_user: User's %{name}
text_turning_multiple_off: If you disable multiple values, multiple values will be
removed in order to preserve only one value per item.
label_attribute_of_issue: Issue's %{name}
permission_add_documents: Add documents
permission_edit_documents: Edit documents
permission_delete_documents: Delete documents
label_gantt_progress_line: Progress line
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
button_hide: Skrýt
setting_non_working_week_days: Dny pracovního volna/klidu
label_in_the_next_days: v přístích
label_in_the_past_days: v minulých
label_attribute_of_user: "%{name} uživatel(e/ky)"
text_turning_multiple_off: Jestliže zakážete více hodnot,
hodnoty budou smazány za účelem rezervace pouze jediné hodnoty na položku.
label_attribute_of_issue: "%{name} úkolu"
permission_add_documents: Přidat dokument
permission_edit_documents: Upravit dokumenty
permission_delete_documents: Smazet dokumenty
label_gantt_progress_line: Vývojová čára
setting_jsonp_enabled: Povolit podporu JSONP
field_inherit_members: Zdědit členy
field_closed_on: Uzavřeno
setting_default_projects_tracker_ids: Výchozí fronta pro nové projekty
label_total_time: Celkem

View File

@@ -941,7 +941,6 @@ da:
label_principal_search: "Søg efter bruger eller gruppe:"
label_user_search: "Søg efter bruger:"
field_visible: Synlig
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Aktivitet for registreret tid
text_time_logged_by_changeset: Anvendt i changeset %{value}.
setting_commit_logtime_enabled: Aktiver tidsregistrering
@@ -983,8 +982,6 @@ da:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1102,3 +1099,8 @@ da:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -144,7 +144,7 @@ de:
greater_than_start_date: "muss größer als Anfangsdatum sein"
not_same_project: "gehört nicht zum selben Projekt"
circular_dependency: "Diese Beziehung würde eine zyklische Abhängigkeit erzeugen"
cant_link_an_issue_with_a_descendant: "Ein Ticket kann nicht mit einer ihrer Unteraufgaben verlinkt werden"
cant_link_an_issue_with_a_descendant: "Ein Ticket kann nicht mit einer Ihrer Unteraufgaben verlinkt werden"
actionview_instancetag_blank_option: Bitte auswählen
@@ -280,7 +280,7 @@ de:
field_attr_login: Mitgliedsname-Attribut
field_attr_mail: E-Mail-Attribut
field_auth_source: Authentifizierungs-Modus
field_auth_source_ldap_filter: LDAP Filter
field_auth_source_ldap_filter: LDAP-Filter
field_author: Autor
field_base_dn: Base DN
field_board_parent: Übergeordnetes Forum
@@ -347,7 +347,7 @@ de:
field_parent_title: Übergeordnete Seite
field_password: Kennwort
field_password_confirmation: Bestätigung
field_path_to_repository: Pfad zum repository
field_path_to_repository: Pfad zum Repository
field_port: Port
field_possible_values: Mögliche Werte
field_principal: Auftraggeber
@@ -359,7 +359,7 @@ de:
field_repository_is_default: Haupt-Repository
field_role: Rolle
field_root_directory: Wurzelverzeichnis
field_scm_path_encoding: Pfad Kodierung
field_scm_path_encoding: Pfad-Kodierung
field_searchable: Durchsuchbar
field_sharing: Gemeinsame Verwendung
field_spent_on: Datum
@@ -382,7 +382,7 @@ de:
field_value: Wert
field_version: Version
field_visible: Sichtbar
field_warn_on_leaving_unsaved: vor dem Verlassen einer Seite mit ungesichertem Text im Editor warnen
field_warn_on_leaving_unsaved: Vor dem Verlassen einer Seite mit ungesichertem Text im Editor warnen
field_watcher: Beobachter
general_csv_decimal_separator: ','
@@ -473,7 +473,7 @@ de:
label_copied: kopiert
label_copied_from: Kopiert von
label_copied_to: Kopiert nach
label_copy_attachments: Anhänge Kopieren
label_copy_attachments: Anhänge kopieren
label_copy_same_as_target: So wie das Ziel
label_copy_source: Quelle
label_copy_subtasks: Unteraufgaben kopieren
@@ -525,7 +525,7 @@ de:
label_f_hour: "%{value} Stunde"
label_f_hour_plural: "%{value} Stunden"
label_feed_plural: Feeds
label_feeds_access_key: RSS-Zugriffsschlüssel
label_feeds_access_key: Atom-Zugriffsschlüssel
label_feeds_access_key_created_on: "Atom-Zugriffsschlüssel vor %{value} erstellt"
label_fields_permissions: Feldberechtigungen
label_file_added: Datei hinzugefügt
@@ -577,7 +577,7 @@ de:
label_issue_watchers: Beobachter
label_issues_by: "Tickets pro %{value}"
label_issues_visibility_all: Alle Tickets
label_issues_visibility_own: Tickets die folgender User erstellt hat oder die ihm zugewiesen sind
label_issues_visibility_own: Tickets die folgender Benutzer erstellt hat oder die ihm zugewiesen sind
label_issues_visibility_public: Alle öffentlichen Tickets
label_item_position: "%{position}/%{count}"
label_jump_to_a_project: Zu einem Projekt springen...
@@ -610,7 +610,7 @@ de:
label_message_posted: Forenbeitrag hinzugefügt
label_min_max_length: Länge (Min. - Max.)
label_missing_api_access_key: Der API-Zugriffsschlüssel fehlt.
label_missing_feeds_access_key: Der RSS-Zugriffsschlüssel fehlt.
label_missing_feeds_access_key: Der Atom-Zugriffsschlüssel fehlt.
label_modified: geändert
label_module_plural: Module
label_month: Monat
@@ -755,8 +755,8 @@ de:
label_user_anonymous: Anonym
label_user_mail_no_self_notified: "Ich möchte nicht über Änderungen benachrichtigt werden, die ich selbst durchführe."
label_user_mail_option_all: "Für alle Ereignisse in all meinen Projekten"
label_user_mail_option_none: keine Ereignisse
label_user_mail_option_only_assigned: Nur für Aufgaben für die ich zuständig bin.
label_user_mail_option_none: Keine Ereignisse
label_user_mail_option_only_assigned: Nur für Aufgaben für die ich zuständig bin
label_user_mail_option_only_my_events: Nur für Aufgaben die ich beobachte oder an welchen ich mitarbeite
label_user_mail_option_only_owner: Nur für Aufgaben die ich angelegt habe
label_user_mail_option_selected: "Für alle Ereignisse in den ausgewählten Projekten..."
@@ -777,8 +777,8 @@ de:
label_watched_issues: Beobachtete Tickets
label_week: Woche
label_wiki: Wiki
label_wiki_content_added: Die Wiki-Seite wurde erfolgreich hinzugefügt.
label_wiki_content_updated: Die Wiki-Seite wurde erfolgreich aktualisiert.
label_wiki_content_added: Wiki-Seite hinzugefügt
label_wiki_content_updated: Wiki-Seite aktualisiert
label_wiki_edit: Wiki-Bearbeitung
label_wiki_edit_plural: Wiki-Bearbeitungen
label_wiki_page: Wiki-Seite
@@ -872,7 +872,7 @@ de:
permission_browse_repository: Projektarchiv ansehen
permission_close_project: Schließen / erneutes Öffnen eines Projekts
permission_comment_news: News kommentieren
permission_commit_access: Commit-Zugriff (über WebDAV)
permission_commit_access: Commit-Zugriff
permission_delete_issue_watchers: Beobachter löschen
permission_delete_issues: Tickets löschen
permission_delete_messages: Forenbeiträge löschen
@@ -964,11 +964,11 @@ de:
setting_diff_max_lines_displayed: Maximale Anzahl anzuzeigender Diff-Zeilen
setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
setting_emails_footer: E-Mail-Fußzeile
setting_emails_header: E-Mail Betreffzeile
setting_emails_header: E-Mail-Kopfzeile
setting_enabled_scm: Aktivierte Versionskontrollsysteme
setting_feeds_limit: Max. Anzahl Einträge pro Atom-Feed
setting_file_max_size_displayed: Maximale Größe inline angezeigter Textdateien
setting_gantt_items_limit: Maximale Anzahl von Aufgaben die im Gantt-Chart angezeigt werden.
setting_gantt_items_limit: Maximale Anzahl von Aufgaben die im Gantt-Chart angezeigt werden
setting_gravatar_default: Standard-Gravatar-Bild
setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen
setting_host_name: Hostname
@@ -991,7 +991,7 @@ de:
setting_per_page_options: Objekte pro Seite
setting_plain_text_mail: Nur reinen Text (kein HTML) senden
setting_protocol: Protokoll
setting_repositories_encodings: Encoding von Anhängen und Repositories
setting_repositories_encodings: Enkodierung von Anhängen und Repositories
setting_repository_log_display_limit: Maximale Anzahl anzuzeigender Revisionen in der Historie einer Datei
setting_rest_api_enabled: REST-Schnittstelle aktivieren
setting_self_registration: Anmeldung ermöglicht
@@ -1008,6 +1008,7 @@ de:
setting_user_format: Benutzer-Anzeigeformat
setting_welcome_text: Willkommenstext
setting_wiki_compression: Wiki-Historie komprimieren
setting_default_projects_tracker_ids: Standardmäßig aktivierte Tracker für neue Projekte
status_active: aktiv
status_locked: gesperrt
@@ -1054,7 +1055,7 @@ de:
text_own_membership_delete_confirmation: "Sie sind dabei, einige oder alle Ihre Berechtigungen zu entfernen. Es ist möglich, dass Sie danach das Projekt nicht mehr ansehen oder bearbeiten dürfen.\nSind Sie sicher, dass Sie dies tun möchten?"
text_plugin_assets_writable: Verzeichnis für Plugin-Assets beschreibbar
text_project_closed: Dieses Projekt ist geschlossen und kann nicht bearbeitet werden.
text_project_destroy_confirmation: Sind Sie sicher, dass sie das Projekt löschen wollen?
text_project_destroy_confirmation: Sind Sie sicher, dass Sie das Projekt löschen wollen?
text_project_identifier_info: 'Kleinbuchstaben (a-z), Ziffern, Binde- und Unterstriche erlaubt, muss mit einem Kleinbuchstaben beginnen.<br />Einmal gespeichert, kann die Kennung nicht mehr geändert werden.'
text_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
text_regexp_info: z. B. ^[A-Z0-9]+$
@@ -1062,7 +1063,7 @@ de:
text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen Redmine- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
text_rmagick_available: RMagick verfügbar (optional)
text_scm_command: Kommando
text_scm_command_not_available: Scm Kommando ist nicht verfügbar. Bitte prüfen Sie die Einstellungen im Administrationspanel.
text_scm_command_not_available: SCM-Kommando ist nicht verfügbar. Bitte prüfen Sie die Einstellungen im Administrationspanel.
text_scm_command_version: Version
text_scm_config: Die SCM-Kommandos können in der in config/configuration.yml konfiguriert werden. Redmine muss anschließend neu gestartet werden.
text_scm_path_encoding_note: "Standard: UTF-8"
@@ -1089,11 +1090,12 @@ de:
text_wiki_page_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
text_workflow_edit: Workflow zum Bearbeiten auswählen
text_zoom_in: Zoom in
text_zoom_out: Zoom out
text_zoom_in: Ansicht vergrößern
text_zoom_out: Ansicht verkleinern
version_status_closed: abgeschlossen
version_status_locked: gesperrt
version_status_open: offen
warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden."
label_total_time: Gesamtzeit

View File

@@ -925,7 +925,6 @@ el:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -966,8 +965,6 @@ el:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1085,3 +1082,8 @@ el:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Σύνολο
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -338,8 +338,8 @@ en-GB:
setting_time_format: Time format
setting_cross_project_issue_relations: Allow cross-project issue relations
setting_issue_list_default_columns: Default columns displayed on the issue list
setting_emails_header: Emails header
setting_emails_footer: Emails footer
setting_emails_header: Email header
setting_emails_footer: Email footer
setting_protocol: Protocol
setting_per_page_options: Objects per page options
setting_user_format: Users display format
@@ -972,8 +972,8 @@ en-GB:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
label_diff: diff
@@ -1087,3 +1087,5 @@ en-GB:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total

View File

@@ -359,8 +359,8 @@ en:
setting_cross_project_subtasks: Allow cross-project subtasks
setting_issue_list_default_columns: Default columns displayed on the issue list
setting_repositories_encodings: Attachments and repositories encodings
setting_emails_header: Emails header
setting_emails_footer: Emails footer
setting_emails_header: Email header
setting_emails_footer: Email footer
setting_protocol: Protocol
setting_per_page_options: Objects per page options
setting_user_format: Users display format
@@ -400,6 +400,7 @@ en:
setting_thumbnails_size: Thumbnails size (in pixels)
setting_non_working_week_days: Non-working days
setting_jsonp_enabled: Enable JSONP support
setting_default_projects_tracker_ids: Default trackers for new projects
permission_add_project: Create project
permission_add_subprojects: Create subprojects
@@ -617,6 +618,7 @@ en:
one: 1 issue
other: "%{count} issues"
label_total: Total
label_total_time: Total time
label_permissions: Permissions
label_current_status: Current status
label_new_statuses_allowed: New statuses allowed
@@ -1025,8 +1027,8 @@ en:
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Command
text_scm_command_version: Version
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
text_issue_conflict_resolution_overwrite: "Apply my changes anyway (previous notes will be kept but some changes may be overwritten)"
text_issue_conflict_resolution_add_notes: "Add my notes and discard my other changes"
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"

View File

@@ -1121,3 +1121,5 @@ es:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total

View File

@@ -1098,3 +1098,5 @@ et:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: "Kokku"

View File

@@ -967,8 +967,6 @@ eu:
text_scm_command: Komandoa
text_scm_command_version: Bertsioa
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1084,7 @@ eu:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Guztira
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.

View File

@@ -968,8 +968,6 @@ fa:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1087,3 +1085,7 @@ fa:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: جمله
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.

View File

@@ -946,7 +946,6 @@ fi:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -987,8 +986,6 @@ fi:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1106,3 +1103,8 @@ fi:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Yhteensä
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -397,6 +397,7 @@ fr:
setting_thumbnails_size: Taille des vignettes (en pixels)
setting_non_working_week_days: Jours non travaillés
setting_jsonp_enabled: Activer le support JSONP
setting_default_projects_tracker_ids: Trackers par défaut pour les nouveaux projets
permission_add_project: Créer un projet
permission_add_subprojects: Créer des sous-projets
@@ -611,6 +612,7 @@ fr:
one: 1 demande
other: "%{count} demandes"
label_total: Total
label_total_time: Temps total
label_permissions: Permissions
label_current_status: Statut actuel
label_new_statuses_allowed: Nouveaux statuts autorisés

View File

@@ -936,7 +936,6 @@ gl:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -977,8 +976,6 @@ gl:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1096,3 +1093,8 @@ gl:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -930,7 +930,6 @@ he:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -971,8 +970,6 @@ he:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1090,3 +1087,8 @@ he:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: סה"כ
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -926,7 +926,6 @@ hr:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -967,8 +966,6 @@ hr:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1083,8 @@ hr:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Ukupno
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -985,8 +985,6 @@
text_scm_command: Parancs
text_scm_command_version: Verzió
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1104,3 +1102,7 @@
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Összesen
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.

View File

@@ -929,7 +929,6 @@ id:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -970,8 +969,6 @@ id:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1089,3 +1086,8 @@ id:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -1086,3 +1086,5 @@ it:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Totale

View File

@@ -401,6 +401,7 @@ ja:
setting_commit_logtime_enabled: コミット時に作業時間を記録する
setting_commit_logtime_activity_id: 作業時間の作業分類
setting_gantt_items_limit: ガントチャート最大表示項目数
setting_default_projects_tracker_ids: 新規プロジェクトにおいてデフォルトで有効になるトラッカー
permission_add_project: プロジェクトの追加
permission_add_subprojects: サブプロジェクトの追加
@@ -904,9 +905,9 @@ ja:
text_journal_set_to: "%{label} を %{value} にセット"
text_journal_deleted: "%{label} を削除 (%{old})"
text_journal_added: "%{label} %{value} を追加"
text_tip_issue_begin_day: この日に開始するタスク
text_tip_issue_end_day: この日に終了するタスク
text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク
text_tip_issue_begin_day: この日に開始するチケット
text_tip_issue_end_day: この日に終了するチケット
text_tip_issue_begin_end_day: この日に開始終了するチケット
text_caracters_maximum: "最大%{count}文字です。"
text_caracters_minimum: "最低%{count}文字の長さが必要です"
text_length_between: "長さは%{min}から%{max}文字までです。"
@@ -1112,5 +1113,6 @@ ja:
permission_edit_documents: 文書の編集
permission_delete_documents: 文書の削除
setting_jsonp_enabled: JSONPを有効にする
field_inherit_members: Inherit members
field_closed_on: Closed
field_inherit_members: メンバーを継承
field_closed_on: 終了日
label_total_time: 合計

View File

@@ -231,7 +231,7 @@ ko:
mail_body_account_information: 계정 정보
mail_subject_account_activation_request: "%{value} 계정 활성화 요청"
mail_body_account_activation_request: "새 사용자(%{value})가 등록되었습니다. 관리자님의 승인을 기다리고 있습니다.:"
mail_body_reminder: "당신이 맡고 있는 일감 %{count}개의 완료 기한이 %{days}일 후 입니다."
mail_body_reminder: "당신이 맡고 있는 일감 %{count}개의 완료기한이 %{days}일 후 입니다."
mail_subject_reminder: "내일이 만기인 일감 %{count}개 (%{days})"
mail_subject_wiki_content_added: "위키페이지 '%{id}'이(가) 추가되었습니다."
mail_subject_wiki_content_updated: "'위키페이지 %{id}'이(가) 수정되었습니다."
@@ -269,7 +269,7 @@ ko:
field_is_default: 기본값
field_tracker: 유형
field_subject: 제목
field_due_date: 완료 기한
field_due_date: 완료기한
field_assigned_to: 담당자
field_priority: 우선순위
field_fixed_version: 목표버전
@@ -324,7 +324,7 @@ ko:
field_comments_sorting: 댓글 정렬
field_parent_title: 상위 제목
field_editable: 편집가능
field_watcher: 일감지킴이
field_watcher: 일감관람자
field_identity_url: OpenID URL
field_content: 내용
field_group_by: 결과를 묶어 보여줄 기준
@@ -390,8 +390,8 @@ ko:
permission_save_queries: 검색양식 저장
permission_view_gantt: Gantt차트 보기
permission_view_calendar: 달력 보기
permission_view_issue_watchers: 일감지킴이 보기
permission_add_issue_watchers: 일감지킴이 추가
permission_view_issue_watchers: 일감관람자 보기
permission_add_issue_watchers: 일감관람자 추가
permission_log_time: 작업시간 기록
permission_view_time_entries: 시간입력 보기
permission_edit_time_entries: 시간입력 편집
@@ -457,9 +457,9 @@ ko:
label_role_plural: 역할
label_role_new: 새 역할
label_role_and_permissions: 역할 및 권한
label_member: 담당자
label_member_new: 담당자
label_member_plural: 담당자
label_member: 구성원
label_member_new: 구성원
label_member_plural: 구성원
label_tracker: 일감 유형
label_tracker_plural: 일감 유형
label_tracker_new: 새 일감 유형
@@ -660,8 +660,8 @@ ko:
label_commits_per_month: 월별 커밋 내역
label_commits_per_author: 저자별 커밋 내역
label_view_diff: 차이점 보기
label_diff_inline: 줄로
label_diff_side_by_side: 줄로
label_diff_inline: 줄로
label_diff_side_by_side: 줄로
label_options: 옵션
label_copy_workflow_from: 업무흐름 복사하기
label_permissions_report: 권한 보고서
@@ -741,7 +741,7 @@ ko:
label_planning: 프로젝트계획
label_incoming_emails: 수신 메일
label_generate_key: 키 생성
label_issue_watchers: 일감지킴이
label_issue_watchers: 일감관람자
label_example:
label_display: 표시방식
label_sort: 정렬
@@ -787,7 +787,7 @@ ko:
button_change_password: 비밀번호 바꾸기
button_copy: 복사
button_annotate: 이력해설
button_update: 수정
button_update: 업데이트
button_configure: 설정
button_quote: 댓글달기
@@ -886,7 +886,7 @@ ko:
text_journal_added: "%{label}에 %{value}이(가) 추가되었습니다."
field_active: 사용중
enumeration_system_activity: 시스템 작업
permission_delete_issue_watchers: 일감지킴이 지우기
permission_delete_issue_watchers: 일감관람자 지우기
version_status_closed: 닫힘
version_status_locked: 잠김
version_status_open: 진행
@@ -1002,7 +1002,7 @@ ko:
permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정"
field_is_private: "비공개"
permission_set_issues_private: "일감을 공개나 비공개로 설정"
label_issues_visibility_public: "모든 비공개 일감"
label_issues_visibility_public: "비공개 일감 제외"
text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다."
field_commit_logs_encoding: "커밋(commit) 기록 인코딩"
field_scm_path_encoding: "경로 인코딩"
@@ -1069,7 +1069,7 @@ ko:
text_issue_conflict_resolution_cancel: "변경내용을 되돌리고 다시 표시 %{link}"
permission_manage_related_issues: 연결된 일감 관리
field_auth_source_ldap_filter: LDAP 필터
label_search_for_watchers: 추가할 일감지킴이 검색
label_search_for_watchers: 추가할 일감관람자 검색
notice_account_deleted: 당신의 계정이 완전히 삭제되었습니다.
setting_unsubscribe: 사용자들이 자신의 계정을 삭제토록 허용
button_delete_my_account: 나의 계정 삭제
@@ -1112,7 +1112,7 @@ ko:
field_private_notes: 비공개 덧글
permission_view_private_notes: 비공개 덧글 보기
permission_set_notes_private: 덧글을 비공개로 설정
label_no_issues_in_project: 다음 프로젝트 내에서 해당 일감 없음
label_no_issues_in_project: 다음 프로젝트 일감 제외
label_any: 모두
label_last_n_weeks: 최근 %{count} 주
setting_cross_project_subtasks: 다른 프로젝트의 일감을 상위 일감으로 지정하는 것을 허용
@@ -1124,14 +1124,15 @@ ko:
setting_non_working_week_days: 비근무일 (non-working days)
label_in_the_next_days: 다음
label_in_the_past_days: 지난
label_attribute_of_user: User's %{name}
text_turning_multiple_off: If you disable multiple values, multiple values will be
removed in order to preserve only one value per item.
label_attribute_of_issue: Issue's %{name}
permission_add_documents: Add documents
permission_edit_documents: Edit documents
permission_delete_documents: Delete documents
label_attribute_of_user: "사용자의 %{name}"
text_turning_multiple_off: 복수선택을 비활성화하면, 하나의 값을 제외한 나머지 값들이 지워집니다.
label_attribute_of_issue: "일감의 %{name}"
permission_add_documents: 문서 추가
permission_edit_documents: 문서 편집
permission_delete_documents: 문서 삭제
label_gantt_progress_line: Progress line
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_jsonp_enabled: JSONP 허용
field_inherit_members: 상위 프로젝트로부터 구성원을 상속
field_closed_on: 완료일
setting_default_projects_tracker_ids: 새 프로젝트에 기본적으로 추가할 일감 유형
label_total_time: 합계

View File

@@ -1008,8 +1008,6 @@ lt:
text_mercurial_repository_note: Vietinė saugykla (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Komanda
text_scm_command_version: Versija
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
default_role_manager: Vadovas
default_role_developer: Projektuotojas
@@ -1144,3 +1142,7 @@ lt:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Iš viso
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.

View File

@@ -919,7 +919,6 @@ lv:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -960,8 +959,6 @@ lv:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1079,3 +1076,8 @@ lv:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Kopā
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -327,7 +327,6 @@ mk:
setting_time_format: Формат на време
setting_cross_project_issue_relations: Дозволи релации на задачи меѓу проекти
setting_issue_list_default_columns: Default columns displayed on the issue list
setting_emails_footer: Emails footer
setting_protocol: Протокол
setting_per_page_options: Objects per page options
setting_user_format: Приказ на корисниците
@@ -925,7 +924,6 @@ mk:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -966,8 +964,6 @@ mk:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1085,3 +1081,9 @@ mk:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Вкупно
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_footer: Email footer
setting_emails_header: Email header

View File

@@ -926,7 +926,6 @@ mn:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -967,8 +966,6 @@ mn:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1083,8 @@ mn:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Нийт
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -908,7 +908,6 @@ nl:
label_principal_search: "Zoek naar gebruiker of groep:"
label_user_search: "Zoek naar gebruiker:"
field_visible: Zichtbaar
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie
text_time_logged_by_changeset: Toegepast in changeset %{value}.
setting_commit_logtime_enabled: Activeer tijdregistratie
@@ -1067,3 +1066,6 @@ nl:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Totaal
setting_emails_header: Email header

View File

@@ -1075,3 +1075,5 @@
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Totalt

View File

@@ -946,7 +946,6 @@ pl:
label_principal_search: "Szukaj użytkownika lub grupy:"
label_user_search: "Szukaj użytkownika:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -987,8 +986,6 @@ pl:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1106,3 +1103,8 @@ pl:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Ogółem
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -53,8 +53,8 @@ pt-BR:
one: 'aproximadamente 1 hora'
other: 'aproximadamente %{count} horas'
x_hours:
one: "1 hour"
other: "%{count} hours"
one: "1 hora"
other: "%{count} horas"
x_days:
one: '1 dia'
@@ -76,8 +76,8 @@ pt-BR:
one: 'mais de 1 ano'
other: 'mais de %{count} anos'
almost_x_years:
one: "almost 1 year"
other: "almost %{count} years"
one: "quase 1 ano"
other: "quase %{count} anos"
# numeros
number:
@@ -122,8 +122,8 @@ pt-BR:
errors:
template:
header:
one: "model não pode ser salvo: 1 erro"
other: "model não pode ser salvo: %{count} erros."
one: "modelo não pode ser salvo: 1 erro"
other: "modelo não pode ser salvo: %{count} erros."
body: "Por favor, verifique os seguintes campos:"
messages:
inclusion: "não está incluso na lista"
@@ -134,7 +134,7 @@ pt-BR:
empty: "não pode ficar vazio"
blank: "não pode ficar vazio"
too_long: "é muito longo (máximo: %{count} caracteres)"
too_short: "é muito curto (mínimon: %{count} caracteres)"
too_short: "é muito curto (mínimo: %{count} caracteres)"
wrong_length: "deve ter %{count} caracteres"
taken: "não está disponível"
not_a_number: "não é um número"
@@ -879,12 +879,12 @@ pt-BR:
label_copy_source: Origem
setting_issue_done_ratio: Calcular o percentual de conclusão da tarefa
setting_issue_done_ratio_issue_status: Usar a situação da tarefa
error_issue_done_ratios_not_updated: O pecentual de conclusão das tarefas não foi atualizado.
error_issue_done_ratios_not_updated: O percentual de conclusão das tarefas não foi atualizado.
error_workflow_copy_target: Por favor, selecione os tipos de tarefa e os papéis alvo
setting_issue_done_ratio_issue_field: Use the issue field
setting_issue_done_ratio_issue_field: Use o campo da tarefa
label_copy_same_as_target: Mesmo alvo
label_copy_target: Alvo
notice_issue_done_ratios_updated: Percentual de conslusão atualizados.
notice_issue_done_ratios_updated: Percentual de conclusão atualizados.
error_workflow_copy_source: Por favor, selecione um tipo de tarefa e papel de origem
label_update_issue_done_ratios: Atualizar percentual de conclusão das tarefas
setting_start_of_week: Início da semana
@@ -897,7 +897,7 @@ pt-BR:
label_api_access_key_created_on: Chave de acesso a API criado a %{value} atrás
label_feeds_access_key: Chave de acesso ao RSS
notice_api_access_key_reseted: Sua chave de acesso a API foi redefinida.
setting_rest_api_enabled: Habilitar REST web service
setting_rest_api_enabled: Habilitar a api REST
label_missing_api_access_key: Chave de acesso a API faltando
label_missing_feeds_access_key: Chave de acesso ao RSS faltando
text_line_separated: Múltiplos valores permitidos (uma linha para cada valor).
@@ -915,7 +915,7 @@ pt-BR:
permission_manage_project_activities: Gerenciar atividades do projeto
error_unable_delete_issue_status: Não foi possível excluir situação da tarefa
label_profile: Perfil
permission_manage_subtasks: Gerenciar subtarefas
permission_manage_subtasks: Gerenciar sub-tarefas
field_parent_issue: Tarefa pai
label_subtask_plural: Subtarefas
label_project_copy_notifications: Enviar notificações por e-mail ao copiar projeto
@@ -987,13 +987,13 @@ pt-BR:
label_git_report_last_commit: Relatar última alteração para arquivos e diretórios
text_scm_config: Você pode configurar seus comandos de versionamento em config/configurations.yml. Por favor reinicie a aplicação após alterá-lo.
text_scm_command_not_available: Comando de versionamento não disponível. Por favor verifique as configurações no painel de administração.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
notice_issue_successful_create: Tarefa %{id} criada.
label_between: entre
setting_issue_group_assignment: Permitir atribuições de tarefas a grupos
label_diff: diff
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
text_git_repository_note: "Repositório esta vazio e é local (ex: /gitrepo, c:\\gitrepo)"
description_query_sort_criteria_direction: Sort direction
description_query_sort_criteria_direction: Direção da ordenação
description_project_scope: Escopo da pesquisa
description_filter: Filtro
description_user_mail_notification: Configuração de notificações por e-mail
@@ -1007,102 +1007,103 @@ pt-BR:
description_date_range_list: Escolha um período a partira da lista
description_choose_project: Projetos
description_date_to: Digite a data final
description_query_sort_criteria_attribute: Sort attribute
description_query_sort_criteria_attribute: Atributo de ordenação
description_wiki_subpages_reassign: Escolha uma nova página pai
description_selected_columns: Colunas selecionadas
label_parent_revision: Parent
label_child_revision: Child
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
label_parent_revision: Pais
label_child_revision: Filhos
error_scm_annotate_big_text_file: A entrada não pode ser anotada, pois excede o tamanho máximo do arquivo de texto.
setting_default_issue_start_date_to_creation_date: Usar data corrente como data inicial para novas tarefas
button_edit_section: Edit this section
setting_repositories_encodings: Attachments and repositories encodings
description_all_columns: All Columns
button_export: Export
label_export_options: "%{export_format} export options"
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
button_edit_section: Editar esta seção
setting_repositories_encodings: Encoding dos repositórios e anexos
description_all_columns: Todas as colunas
button_export: Exportar
label_export_options: "Opções de exportação %{export_format}"
error_attachment_too_big: Este arquivo não pode ser enviado porque excede o tamanho máximo permitido (%{max_size})
notice_failed_to_save_time_entries: "Falha ao salvar %{count} de %{total} horas trabalhadas: %{ids}."
label_x_issues:
zero: 0 tarefa
one: 1 tarefa
other: "%{count} tarefas"
label_repository_new: New repository
field_repository_is_default: Main repository
label_copy_attachments: Copy attachments
label_repository_new: Novo repositório
field_repository_is_default: Repositório principal
label_copy_attachments: Copiar anexos
label_item_position: "%{position}/%{count}"
label_completed_versions: Completed versions
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
field_multiple: Multiple values
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
permission_manage_related_issues: Manage related issues
field_auth_source_ldap_filter: LDAP filter
label_search_for_watchers: Search for watchers to add
notice_account_deleted: Your account has been permanently deleted.
setting_unsubscribe: Allow users to delete their own account
button_delete_my_account: Delete my account
label_completed_versions: Versões completadas
text_project_identifier_info: Somente letras minúsculas (az), números, traços e sublinhados são permitidos. <br /> Uma vez salvo, o identificador não pode ser alterado.
field_multiple: Multiplos valores
setting_commit_cross_project_ref: Permitir que tarefas de todos os outros projetos sejam refenciadas e resolvidas
text_issue_conflict_resolution_add_notes: Adicione minhas anotações e descartar minhas outras mudanças
text_issue_conflict_resolution_overwrite: Aplicar as minhas alterações de qualquer maneira (notas anteriores serão mantidos, mas algumas mudanças podem ser substituídos)
notice_issue_update_conflict: A tarefa foi atualizada por um outro usuário, enquanto você estava editando.
text_issue_conflict_resolution_cancel: Descartar todas as minhas mudanças e re-exibir %{link}
permission_manage_related_issues: Gerenciar tarefas relacionadas
field_auth_source_ldap_filter: Filtro LDAP
label_search_for_watchers: Procurar por outros observadores para adiconar
notice_account_deleted: Sua conta foi excluída permanentemente.
setting_unsubscribe: Permitir aos usuários excluir sua conta própria
button_delete_my_account: Excluir minha conta
text_account_destroy_confirmation: |-
Are you sure you want to proceed?
Your account will be permanently deleted, with no way to reactivate it.
error_session_expired: Your session has expired. Please login again.
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
setting_session_lifetime: Session maximum lifetime
setting_session_timeout: Session inactivity timeout
label_session_expiration: Session expiration
permission_close_project: Close / reopen the project
label_show_closed_projects: View closed projects
button_close: Close
button_reopen: Reopen
project_status_active: active
project_status_closed: closed
project_status_archived: archived
text_project_closed: This project is closed and read-only.
notice_user_successful_create: User %{id} created.
field_core_fields: Standard fields
field_timeout: Timeout (in seconds)
setting_thumbnails_enabled: Display attachment thumbnails
setting_thumbnails_size: Thumbnails size (in pixels)
label_status_transitions: Status transitions
label_fields_permissions: Fields permissions
label_readonly: Read-only
label_required: Required
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
field_board_parent: Parent forum
label_attribute_of_project: Project's %{name}
label_attribute_of_author: Author's %{name}
label_attribute_of_assigned_to: Assignee's %{name}
label_attribute_of_fixed_version: Target version's %{name}
label_copy_subtasks: Copy subtasks
label_copied_to: copied to
label_copied_from: copied from
label_any_issues_in_project: any issues in project
label_any_issues_not_in_project: any issues not in project
field_private_notes: Private notes
permission_view_private_notes: View private notes
permission_set_notes_private: Set notes as private
label_no_issues_in_project: no issues in project
Tem certeza de que quer continuar?
Sua conta será excluída permanentemente, sem qualquer forma de reativá-lo.
error_session_expired: A sua sessão expirou. Por favor, faça login novamente.
text_session_expiration_settings: "Aviso: a alteração dessas configurações pode expirar as sessões atuais, incluindo a sua."
setting_session_lifetime: duração máxima da sessão
setting_session_timeout: tempo limite de inatividade da sessão
label_session_expiration: "Expiração da sessão"
permission_close_project: Fechar / reabrir o projeto
label_show_closed_projects: Visualização de projetos fechados
button_close: Fechar
button_reopen: Reabrir
project_status_active: ativo
project_status_closed: fechado
project_status_archived: arquivado
text_project_closed: Este projeto é fechado e somente leitura.
notice_user_successful_create: Usuário %{id} criado.
field_core_fields: campos padrão
field_timeout: Tempo de espera (em segundos)
setting_thumbnails_enabled: Exibir miniaturas de anexos
setting_thumbnails_size: Tamanho das miniaturas (em pixels)
label_status_transitions: Estados das transições
label_fields_permissions: Permissões de campos
label_readonly: somente leitura
label_required: Obrigatório
text_repository_identifier_info: Somente letras minúsculas (az), números, traços e sublinhados são permitidos <br/> Uma vez salvo, o identificador não pode ser alterado.
field_board_parent: Fórum Pai
label_attribute_of_project: "Projeto %{name}"
label_attribute_of_author: "autor %{name}"
label_attribute_of_assigned_to: "atribuído %{name}"
label_attribute_of_fixed_version: "versão alvo %{name}"
label_copy_subtasks: Copiar sub-tarefas
label_copied_to: copiada
label_copied_from: copiado
label_any_issues_in_project: quaisquer problemas em projeto
label_any_issues_not_in_project: todas as questões que não estão em projeto
field_private_notes: notas privadas
permission_view_private_notes: Ver notas privadas
permission_set_notes_private: Permitir alterar notas para privada
label_no_issues_in_project: sem problemas em projeto
label_any: todos
label_last_n_weeks: last %{count} weeks
setting_cross_project_subtasks: Allow cross-project subtasks
label_cross_project_descendants: Com sub-projetos
label_cross_project_tree: Com a árvore do projeto
label_cross_project_hierarchy: Com a hierarquia do projeto
label_cross_project_system: Com todos os projetos
button_hide: Hide
setting_non_working_week_days: Non-working days
label_in_the_next_days: in the next
label_in_the_past_days: in the past
label_attribute_of_user: User's %{name}
text_turning_multiple_off: If you disable multiple values, multiple values will be
removed in order to preserve only one value per item.
label_attribute_of_issue: Issue's %{name}
permission_add_documents: Add documents
permission_edit_documents: Edit documents
permission_delete_documents: Delete documents
label_gantt_progress_line: Progress line
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
label_last_n_weeks: "últimas %{count} semanas"
setting_cross_project_subtasks: Permitir cruzamento de sub-tarefas entre projetos
label_cross_project_descendants: com sub-Projetos
label_cross_project_tree: Com uma Árvore fazer o Projeto
label_cross_project_hierarchy: Com uma hierarquia fazer o Projeto
label_cross_project_system: Com de Todos os Projetos
button_hide: Esconder
setting_non_working_week_days: dias não úteis
label_in_the_next_days: na próxima
label_in_the_past_days: no passado
label_attribute_of_user: Usuário %{name}
text_turning_multiple_off: Se você desativar vários valores, vários valores serão removidas, a fim de preservar a somente um valor por item.
label_attribute_of_issue: Emissão de %{name}
permission_add_documents: Adicionar documentos
permission_edit_documents: Editar documentos
permission_delete_documents: excluir documentos
label_gantt_progress_line: Linha de progresso
setting_jsonp_enabled: Ativar suporte JSONP
field_inherit_members: Herdar membros
field_closed_on: Fechado
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total

View File

@@ -1091,3 +1091,5 @@ pt:
setting_jsonp_enabled: Activar suporte JSONP
field_inherit_members: Herdar membros
field_closed_on: Fechado
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total

View File

@@ -920,7 +920,6 @@ ro:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -961,8 +960,6 @@ ro:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1080,3 +1077,8 @@ ro:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -1192,6 +1192,8 @@ ru:
permission_edit_documents: Редактировать документы
permission_delete_documents: Удалить документы
label_gantt_progress_line: Линия прогресса
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_jsonp_enabled: Поддержка JSONP
field_inherit_members: Наследовать участников
field_closed_on: Закрыта
setting_default_projects_tracker_ids: Трекеры по умолчанию для новых проектов
label_total_time: Общее время

View File

@@ -922,7 +922,6 @@ sk:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -963,8 +962,6 @@ sk:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1082,3 +1079,8 @@ sk:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Celkovo
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -1085,3 +1085,5 @@ sl:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Skupaj

View File

@@ -351,8 +351,6 @@ sq:
setting_cross_project_issue_relations: Allow cross-project issue relations
setting_issue_list_default_columns: Default columns displayed on the issue list
setting_repositories_encodings: Attachments and repositories encodings
setting_emails_header: Emails header
setting_emails_footer: Emails footer
setting_protocol: Protocol
setting_per_page_options: Objects per page options
setting_user_format: Users display format
@@ -971,8 +969,6 @@ sq:
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Command
text_scm_command_version: Version
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
text_issue_conflict_resolution_overwrite: "Apply my changes anyway (previous notes will be kept but some changes may be overwritten)"
text_issue_conflict_resolution_add_notes: "Add my notes and discard my other changes"
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
@@ -1081,3 +1077,9 @@ sq:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_footer: Email footer
setting_emails_header: Email header

View File

@@ -968,8 +968,6 @@ sr-YU:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1087,3 +1085,7 @@ sr-YU:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Ukupno
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.

View File

@@ -926,7 +926,6 @@ sr:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -967,8 +966,6 @@ sr:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1083,8 @@ sr:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Укупно
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -1123,3 +1123,5 @@ sv:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total

View File

@@ -922,7 +922,6 @@ th:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -963,8 +962,6 @@ th:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1082,3 +1079,8 @@ th:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: จำนวนรวม
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

View File

@@ -985,8 +985,6 @@ tr:
text_scm_command: Komut
text_scm_command_version: Sürüm
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1104,3 +1102,7 @@ tr:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Toplam
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.

View File

@@ -922,7 +922,6 @@ uk:
label_principal_search: "Search for user or group:"
label_user_search: "Search for user:"
field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging
@@ -963,8 +962,6 @@ uk:
text_scm_command: Command
text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created.
label_between: between
setting_issue_group_assignment: Allow issue assignment to groups
@@ -1080,3 +1077,8 @@ uk:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Всього
text_scm_config: You can configure your SCM commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: SCM command is not available. Please check settings on the administration panel.
setting_emails_header: Email header

File diff suppressed because it is too large Load Diff

View File

@@ -1165,3 +1165,5 @@
description_date_from: 輸入起始日期
description_date_to: 輸入結束日期
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: 總計

View File

@@ -1089,3 +1089,5 @@ zh:
setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members
field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: 合计

View File

@@ -4,6 +4,136 @@ Redmine - project management software
Copyright (C) 2006-2013 Jean-Philippe Lang
http://www.redmine.org/
== 2013-03-19 v2.3.0
* Defect #3107: Issue with two digit year on Logtime
* Defect #3371: Autologin does not work when using openid
* Defect #3676: www. generates broken link in formatted text
* Defect #4700: Adding news does not send notification to all project members
* Defect #5329: Time entries report broken on first week of year
* Defect #8794: Circular loop when using relations and subtasks
* Defect #9475: German Translation "My custom queries" and "Custom queries"
* Defect #9549: Only 100 users are displayed when adding new project members
* Defect #10277: Redmine wikitext URL-into-link creation with hyphen is wrong
* Defect #10364: Custom field float separator in CSV export
* Defect #10930: rake redmine:load_default_data error in 2.0 with SQLServer
* Defect #10977: Redmine shouldn't require all database gems
* Defect #12528: Handle temporary failures gracefully in the external mail handler script
* Defect #12629: Wrong German "label_issues_by" translation
* Defect #12641: Diff outputs become ??? in some non ASCII words.
* Defect #12707: Typo in app/models/tracker.rb
* Defect #12716: Attachment description lost when issue validation fails
* Defect #12735: Negative duration allowed
* Defect #12736: Negative start/due dates allowed
* Defect #12968: Subtasks don't resepect following/precedes
* Defect #13006: Filter "Assignee's group" doesn't work with group assignments
* Defect #13022: Image pointing towards /logout signs out user
* Defect #13059: Custom fields are listed two times in workflow/Fields permission
* Defect #13076: Project overview page shows trackers from subprojects with disabled issue module
* Defect #13119: custom_field_values are not reloaded on #reload
* Defect #13154: After upgrade to 2.2.2 ticket list on some projects fails
* Defect #13188: Forms are not updated after changing the status field without "Add issues" permission
* Defect #13251: Adding a "follows" relation may not refresh relations list
* Defect #13272: translation missing: setting_default_projects_tracker_ids
* Defect #13328: Copying an issue as a child of itself creates an extra issue
* Defect #13335: Autologin does not work with custom autologin cookie name
* Defect #13350: Japanese mistranslation fix
* Feature #824: Add "closed_on" issue field (storing time of last closing) & add it as a column and filter on the issue list.
* Feature #1766: Custom fields should become addable to Spent Time list/report
* Feature #3436: Show relations in Gantt diagram
* Feature #3957: Ajax file upload with progress bar
* Feature #5298: Store attachments in sub directories
* Feature #5605: Subprojects should (optionally) inherit Members from their parent
* Feature #6727: Add/remove issue watchers via REST API
* Feature #7159: Bulk watch/unwatch issues from the context menu
* Feature #8529: Get the API key of the user through REST API
* Feature #8579: Multiple file upload with HTML5 / Drag-and-Drop
* Feature #10191: Add Filters For Spent time's Details and Report
* Feature #10286: Auto-populate fields while creating a new user with LDAP
* Feature #10352: Preview should already display the freshly attached images
* Feature #11498: Add --no-account-notice option for the mail handler script
* Feature #12122: Gantt progress lines (html only)
* Feature #12228: JRuby 1.7.2 support
* Feature #12251: Custom fields: 'Multiple values' should be able to be checked and then unchecked
* Feature #12401: Split "Manage documents" permission into create, edit and delete permissions
* Feature #12542: Group events in the activity view
* Feature #12665: Link to a file in a repository branch
* Feature #12713: Microsoft SQLServer support
* Feature #12787: Remove "Warning - iconv will be deprecated in the future, use String#encode instead."
* Feature #12843: Add links to projects in Group projects list
* Feature #12898: Handle GET /issues/context_menu parameters nicely to prevent returning error 500 to crawlers
* Feature #12992: Make JSONP support optional and disabled by default
* Feature #13174: Raise group name maximum length to 255 characters
* Feature #13175: Possibility to define the default enable trackers when creating a project
* Feature #13329: Ruby 2.0 support
* Feature #13337: Split translation "label_total"
* Feature #13340: Mail handler: option to add created user to default group
* Feature #13341: Mail handler: --no-notification option to disable notifications to the created user
* Patch #7202: Polish translation for v1.0.4
* Patch #7851: Italian translation for 'issue'
* Patch #9225: Generate project identifier automatically with JavaScript
* Patch #10916: Optimisation in issues relations display
* Patch #12485: Don't force english language for default admin account
* Patch #12499: Use lambda in model scopes
* Patch #12611: Login link unexpected logs you out
* Patch #12626: Updated Japanese translations for button_view and permission_commit_access
* Patch #12640: Russian "about_x_hours" translation change
* Patch #12645: Russian numeric translation
* Patch #12660: Consistent German translation for my page
* Patch #12708: Restructured german translation (Cleanup)
* Patch #12721: Optimize MenuManager a bit
* Patch #12725: Change pourcent to percent (#12724)
* Patch #12754: Updated Japanese translation for notice_account_register_done
* Patch #12788: Copyright for 2013
* Patch #12806: Serbian translation change
* Patch #12810: Swedish Translation change
* Patch #12910: Plugin settings div should perhaps have 'settings' CSS class
* Patch #12911: Fix 500 error for requests to the settings path for non-configurable plugins
* Patch #12926: Bulgarian translation (r11218)
* Patch #12927: Swedish Translation for r11244
* Patch #12967: Change Spanish login/logout translations
* Patch #12988: Russian translation for trunk
* Patch #13080: German translation of label_in
* Patch #13098: Small datepicker improvements
* Patch #13152: Locale file for Azerbaijanian language
* Patch #13155: Add login to /users/:id API for current user
* Patch #13173: Put source :rubygems url HTTP secure
* Patch #13190: Bulgarian translation (r11404)
* Patch #13198: Traditional Chinese language file (to r11426)
* Patch #13203: German translation change for follow and precedes is inconsitent
* Patch #13206: Portuguese translation file
* Patch #13246: Some german translation patches
* Patch #13280: German translation (r11478)
* Patch #13301: Performance: avoid querying all memberships in User#roles_for_project
* Patch #13309: Add "tracker-[id]" CSS class to issues
* Patch #13324: fixing some pt-br locales
* Patch #13339: Complete language Vietnamese file
* Patch #13391: Czech translation update
* Patch #13399: Fixed some wrong or confusing translation in Korean locale
* Patch #13414: Bulgarian translation (r11567)
* Patch #13420: Korean translation for 2.3 (r11583)
* Patch #13437: German translation of setting_emails_header
* Patch #13438: English translation
* Patch #13447: German translation - some patches
* Patch #13450: Czech translation
* Patch #13475: fixing some pt-br locales
* Patch #13514: fixing some pt-br locales
== 2013-03-19 v2.2.4
* Upgrade to Rails 3.2.13
* Defect #12243: Ordering forum replies by last reply date is broken
* Defect #13127: h1 multiple lined titles breaks into main menu
* Defect #13138: Generating PDF of issue causes UndefinedConversionError with htmlentities gem
* Defect #13165: rdm-mailhandler.rb: initialize_http_header override basic auth
* Defect #13232: Link to topic in nonexistent forum causes error 500
* Patch #13181: Bulgarian translation of jstoolbar-bg.js
* Patch #13207: Portuguese translation for 2.2-stable
* Patch #13310: pt-BR label_last_n_weeks translation
* Patch #13325: pt-BR translation for 2.2-stable
* Patch #13343: Vietnamese translation for 2.2-stable
* Patch #13398: Czech translation for 2.2-stable
== 2013-02-12 v2.2.3
* Upgrade to Rails 3.2.12

View File

@@ -14,7 +14,7 @@ http://www.redmine.org/
* A database:
* MySQL (tested with MySQL 5.1)
* PostgreSQL (tested with PostgreSQL 9.1)
* SQLite3 (tested with SQLite 3.6)
* SQLite3 (tested with SQLite 3.7)
Optional:
* SCM binaries (e.g. svn, git...), for repository browsing (must be available in PATH)

View File

@@ -32,6 +32,16 @@ http://www.redmine.org/
of the rmagick gem using:
bundle install --without development test rmagick
Only the gems that are needed by the adapters you've specified in your database
configuration file are actually installed (eg. if your config/database.yml
uses the 'mysql2' adapter, then only the mysql2 gem will be installed). Don't
forget to re-run `bundle install` when you change config/database.yml for using
other database adapters.
If you need to load some gems that are not required by Redmine core (eg. fcgi),
you can create a file named Gemfile.local at the root of your redmine directory.
It will be loaded automatically when running `bundle install`.
6. Generate a session store secret
Redmine stores session data in cookies by default, which requires

View File

@@ -23,9 +23,10 @@ module Net
end
class RedmineMailHandler
VERSION = '0.2.1'
VERSION = '0.2.3'
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :no_permission_check, :url, :key, :no_check_certificate
attr_accessor :verbose, :issue_attributes, :allow_override, :unknown_user, :default_group, :no_permission_check,
:url, :key, :no_check_certificate, :no_account_notice, :no_notification
def initialize
self.issue_attributes = {}
@@ -40,11 +41,6 @@ class RedmineMailHandler
opts.on("-k", "--key KEY", "Redmine API key") {|v| self.key = v}
opts.separator("")
opts.separator("General options:")
opts.on("--unknown-user ACTION", "how to handle emails from an unknown user",
"ACTION can be one of the following values:",
"* ignore: email is ignored (default)",
"* accept: accept as anonymous user",
"* create: create a user account") {|v| self.unknown_user = v}
opts.on("--no-permission-check", "disable permission checking when receiving",
"the email") {self.no_permission_check = '1'}
opts.on("--key-file FILE", "path to a file that contains the Redmine",
@@ -56,6 +52,19 @@ class RedmineMailHandler
opts.on("-v", "--verbose", "show extra information") {self.verbose = true}
opts.on("-V", "--version", "show version information and exit") {puts VERSION; exit}
opts.separator("")
opts.separator("User creation options:")
opts.on("--unknown-user ACTION", "how to handle emails from an unknown user",
"ACTION can be one of the following values:",
"* ignore: email is ignored (default)",
"* accept: accept as anonymous user",
"* create: create a user account") {|v| self.unknown_user = v}
opts.on("--default-group GROUP", "add created user to GROUP (none by default)",
"GROUP can be a comma separated list of groups") { |v| self.default_group = v}
opts.on("--no-account-notice", "don't send account information to the newly",
"created user") { |v| self.no_account_notice = '1'}
opts.on("--no-notification", "disable email notifications for the created",
"user") { |v| self.no_notification = '1'}
opts.separator("")
opts.separator("Issue attributes control options:")
opts.on("-p", "--project PROJECT", "identifier of the target project") {|v| self.issue_attributes['project'] = v}
opts.on("-s", "--status STATUS", "name of the target status") {|v| self.issue_attributes['status'] = v}
@@ -95,6 +104,9 @@ class RedmineMailHandler
data = { 'key' => key, 'email' => email,
'allow_override' => allow_override,
'unknown_user' => unknown_user,
'default_group' => default_group,
'no_account_notice' => no_account_notice,
'no_notification' => no_notification,
'no_permission_check' => no_permission_check}
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }

View File

@@ -33,7 +33,6 @@ module Redmine
:dependent => :delete_all,
:validate => false
send :alias_method, :reload_without_custom_fields, :reload
send :include, Redmine::Acts::Customizable::InstanceMethods
validate :validate_custom_field_values
after_save :save_custom_field_values
@@ -43,6 +42,7 @@ module Redmine
module InstanceMethods
def self.included(base)
base.extend ClassMethods
base.send :alias_method_chain, :reload, :custom_fields
end
def available_custom_fields
@@ -154,7 +154,7 @@ module Redmine
@custom_field_values_changed = true
end
def reload(*args)
def reload_with_custom_fields(*args)
@custom_field_values = nil
@custom_field_values_changed = false
reload_without_custom_fields(*args)

View File

@@ -39,9 +39,6 @@ require 'core/rmagick'
# @package com.tecnick.tcpdf
#
@@version = "1.53.0.TC031"
@@fpdf_charwidths = {}
PDF_PRODUCER = 'TCPDF via RFPDF 1.53.0.TC031 (http://tcpdf.sourceforge.net)'
module TCPDFFontDescriptor
@@ -79,6 +76,9 @@ class TCPDF
Rails.logger
end
@@version = "1.53.0.TC031"
@@fpdf_charwidths = {}
cattr_accessor :k_cell_height_ratio
@@k_cell_height_ratio = 1.25

View File

@@ -63,7 +63,7 @@ module Redmine
when 'month'
row['month'] = "#{row['tyear']}-#{row['tmonth']}"
when 'week'
row['week'] = "#{row['tyear']}-#{row['tweek']}"
row['week'] = "#{row['spent_on'].cwyear}-#{row['tweek']}"
when 'day'
row['day'] = "#{row['spent_on']}"
end
@@ -90,7 +90,7 @@ module Redmine
@periods << "#{date_from.year}-#{date_from.month}"
date_from = (date_from + 1.month).at_beginning_of_month
when 'week'
@periods << "#{date_from.year}-#{date_from.to_date.cweek}"
@periods << "#{date_from.to_date.cwyear}-#{date_from.to_date.cweek}"
date_from = (date_from + 7.day).at_beginning_of_week
when 'day'
@periods << "#{date_from.to_date}"
@@ -127,13 +127,16 @@ module Redmine
:label => :label_issue}
}
# Add list and boolean custom fields as available criteria
custom_fields = (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields)
# Add list and boolean time entry custom fields
custom_fields += TimeEntryCustomField.all
# Add list and boolean time entry activity custom fields
# Add time entry custom fields
custom_fields = TimeEntryCustomField.all
# Add project custom fields
custom_fields += ProjectCustomField.all
# Add issue custom fields
custom_fields += (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields)
# Add time entry activity custom fields
custom_fields += TimeEntryActivityCustomField.all
# Add list and boolean custom fields as available criteria
custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
@available_criteria["cf_#{cf.id}"] = {:sql => "#{cf.join_alias}.value",
:joins => cf.join_for_order_statement,

View File

@@ -28,17 +28,9 @@ module Redmine
lines = 0
@truncated = false
diff_table = DiffTable.new(diff_type, diff_style)
diff.each do |line|
line_encoding = nil
if line.respond_to?(:force_encoding)
line_encoding = line.encoding
# TODO: UTF-16 and Japanese CP932 which is imcompatible with ASCII
# In Japan, diffrence between file path encoding
# and file contents encoding is popular.
line.force_encoding('ASCII-8BIT')
end
unless diff_table.add_line line
line.force_encoding(line_encoding) if line_encoding
diff.each do |line_raw|
line = Redmine::CodesetUtil.to_utf8_by_setting(line_raw)
unless diff_table.add_line(line)
self << diff_table if diff_table.length > 0
diff_table = DiffTable.new(diff_type, diff_style)
end
@@ -83,7 +75,7 @@ module Redmine
@parsing = true
end
else
if line =~ /^[^\+\-\s@\\]/
if line =~ %r{^[^\+\-\s@\\]}
@parsing = false
return false
elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
@@ -207,10 +199,16 @@ module Redmine
while starting < max && line_left[starting] == line_right[starting]
starting += 1
end
while line_left[starting].ord.between?(128, 191) && starting > 0
starting -= 1
end
ending = -1
while ending >= -(max - starting) && line_left[ending] == line_right[ending]
ending -= 1
end
while line_left[ending].ord.between?(128, 191) && ending > -1
ending -= 1
end
unless starting == 0 && ending == -1
[starting, ending]
end
@@ -268,6 +266,12 @@ module Redmine
private
def line_to_html(line, offsets)
html = line_to_html_raw(line, offsets)
html.force_encoding('UTF-8') if html.respond_to?(:force_encoding)
html
end
def line_to_html_raw(line, offsets)
if offsets
s = ''
unless offsets.first == 0

View File

@@ -10,7 +10,7 @@ module Redmine
# * official release: nil
# * stable branch: stable
# * trunk: devel
BRANCH = 'devel'
BRANCH = 'stable'
# Retrieves the revision from the working copy
def self.revision

View File

@@ -86,7 +86,7 @@ module Redmine
AUTO_LINK_RE = %r{
( # leading text
<\w+.*?>| # leading HTML tag, or
[^=<>!:'"/]| # leading punctuation, or
[\s\(\[,;]| # leading punctuation, or
^ # beginning of line
)
(
@@ -95,7 +95,7 @@ module Redmine
(?:www\.) # www.*
)
(
(\S+?) # url
([^<]\S*?) # url
(\/)? # slash
)
((?:&gt;)?|[^[:alnum:]_\=\/;\(\)]*?) # post

25
test/fixtures/diffs/issue-12641-ja.diff vendored Normal file
View File

@@ -0,0 +1,25 @@
# HG changeset patch
# User tmaruyama
# Date 1362559296 0
# Node ID ee54942e0289c30bea1b1973750b698b1ee7c466
# Parent 738777832f379f6f099c25251593fc57bc17f586
fix some Japanese "issue" translations (#13350)
Contributed by Go MAEDA.
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -904,9 +904,9 @@ ja:
text_journal_set_to: "%{label} を %{value} にセット"
text_journal_deleted: "%{label} を削除 (%{old})"
text_journal_added: "%{label} %{value} を追加"
- text_tip_issue_begin_day: この日に開始するタスク
- text_tip_issue_end_day: この日に終了するタスク
- text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク
+ text_tip_issue_begin_day: この日に開始するチケット
+ text_tip_issue_end_day: この日に終了するチケット
+ text_tip_issue_begin_end_day: この日に開始・終了するチケット
text_caracters_maximum: "最大%{count}文字です。"
text_caracters_minimum: "最低%{count}文字の長さが必要です"
text_length_between: "長さは%{min}から%{max}文字までです。"

19
test/fixtures/diffs/issue-12641-ru.diff vendored Normal file
View File

@@ -0,0 +1,19 @@
# HG changeset patch
# User tmaruyama
# Date 1355872765 0
# Node ID 8a13ebed1779c2e85fa644ecdd0de81996c969c4
# Parent 5c3c5f917ae92f278fe42c6978366996595b0796
Russian "about_x_hours" translation changed by Mikhail Velkin (#12640)
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -115,7 +115,7 @@ ru:
one: "около %{count} часа"
few: "около %{count} часов"
many: "около %{count} часов"
- other: "около %{count} часа"
+ other: "около %{count} часов"
x_hours:
one: "1 час"
other: "%{count} часов"

View File

@@ -28,7 +28,8 @@ class IssueRelationsControllerTest < ActionController::TestCase
:issue_relations,
:enabled_modules,
:enumerations,
:trackers
:trackers,
:projects_trackers
def setup
User.current = nil
@@ -87,6 +88,17 @@ class IssueRelationsControllerTest < ActionController::TestCase
end
end
def test_create_follows_relation_should_update_relations_list
issue1 = Issue.generate!(:subject => 'Followed issue', :start_date => Date.yesterday, :due_date => Date.today)
issue2 = Issue.generate!
assert_difference 'IssueRelation.count' do
xhr :post, :create, :issue_id => issue2.id,
:relation => {:issue_to_id => issue1.id, :relation_type => 'follows', :delay => ''}
end
assert_match /Followed issue/, response.body
end
def test_should_create_relations_with_visible_issues_only
Setting.cross_project_issue_relations = '1'
assert_nil Issue.visible(User.find(3)).find_by_id(4)

View File

@@ -3474,6 +3474,8 @@ class IssuesControllerTest < ActionController::TestCase
end
def test_bulk_update_parent_id
IssueRelation.delete_all
@request.session[:user_id] = 2
post :bulk_update, :ids => [1, 3],
:notes => 'Bulk editing parent',

View File

@@ -125,22 +125,62 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
:attributes => {:action => "/projects/ecookbook/issues/1/time_entries/report", :id => 'query_form'}
end
def test_report_custom_field_criteria
get :report, :project_id => 1, :criteria => ['project', 'cf_1', 'cf_7']
def test_report_by_week_should_use_commercial_year
TimeEntry.delete_all
TimeEntry.generate!(:hours => '2', :spent_on => '2009-12-25') # 2009-52
TimeEntry.generate!(:hours => '4', :spent_on => '2009-12-31') # 2009-53
TimeEntry.generate!(:hours => '8', :spent_on => '2010-01-01') # 2009-53
TimeEntry.generate!(:hours => '16', :spent_on => '2010-01-05') # 2010-1
get :report, :columns => 'week', :from => "2009-12-25", :to => "2010-01-05", :criteria => ["project"]
assert_response :success
assert_select '#time-report thead tr' do
assert_select 'th:nth-child(1)', :text => 'Project'
assert_select 'th:nth-child(2)', :text => '2009-52'
assert_select 'th:nth-child(3)', :text => '2009-53'
assert_select 'th:nth-child(4)', :text => '2010-1'
assert_select 'th:nth-child(5)', :text => 'Total time'
end
assert_select '#time-report tbody tr' do
assert_select 'td:nth-child(1)', :text => 'eCookbook'
assert_select 'td:nth-child(2)', :text => '2.00'
assert_select 'td:nth-child(3)', :text => '12.00'
assert_select 'td:nth-child(4)', :text => '16.00'
assert_select 'td:nth-child(5)', :text => '30.00' # Total
end
end
def test_report_should_propose_association_custom_fields
get :report
assert_response :success
assert_template 'report'
assert_select 'select[name=?]', 'criteria[]' do
assert_select 'option[value=cf_1]', {:text => 'Database'}, 'Issue custom field not found'
assert_select 'option[value=cf_3]', {:text => 'Development status'}, 'Project custom field not found'
assert_select 'option[value=cf_7]', {:text => 'Billable'}, 'TimeEntryActivity custom field not found'
end
end
def test_report_with_association_custom_fields
get :report, :criteria => ['cf_1', 'cf_3', 'cf_7']
assert_response :success
assert_template 'report'
assert_not_nil assigns(:report)
assert_equal 3, assigns(:report).criteria.size
assert_equal "162.90", "%.2f" % assigns(:report).total_hours
# Custom field column
assert_tag :tag => 'th', :content => 'Database'
# Custom fields columns
assert_select 'th', :text => 'Database'
assert_select 'th', :text => 'Development status'
assert_select 'th', :text => 'Billable'
# Custom field row
assert_tag :tag => 'td', :content => 'MySQL',
:sibling => { :tag => 'td', :attributes => { :class => 'hours' },
:child => { :tag => 'span', :attributes => { :class => 'hours hours-int' },
:content => '1' }}
# Second custom field column
assert_tag :tag => 'th', :content => 'Billable'
assert_select 'tr' do
assert_select 'td', :text => 'MySQL'
assert_select 'td.hours', :text => '1.00'
end
end
def test_report_one_criteria_no_result
@@ -166,9 +206,9 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
assert_equal 'text/csv; header=present', @response.content_type
lines = @response.body.chomp.split("\n")
# Headers
assert_equal 'Project,User,Activity,2007-3,2007-4,Total', lines.first
assert_equal 'Project,User,Activity,2007-3,2007-4,Total time', lines.first
# Total row
assert_equal 'Total,"","",154.25,8.65,162.90', lines.last
assert_equal 'Total time,"","",154.25,8.65,162.90', lines.last
end
def test_report_csv_export
@@ -179,9 +219,9 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
assert_equal 'text/csv; header=present', @response.content_type
lines = @response.body.chomp.split("\n")
# Headers
assert_equal 'Project,User,Activity,2007-3,2007-4,Total', lines.first
assert_equal 'Project,User,Activity,2007-3,2007-4,Total time', lines.first
# Total row
assert_equal 'Total,"","",154.25,8.65,162.90', lines.last
assert_equal 'Total time,"","",154.25,8.65,162.90', lines.last
end
def test_csv_big_5
@@ -308,8 +348,8 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
assert_equal 'text/csv; header=present', @response.content_type
lines = @response.body.chomp.split("\n")
# Headers
s1 = "Utilisateur;2011-11-11;Total"
s2 = "Total"
s1 = "Utilisateur;2011-11-11;Temps total"
s2 = "Temps total"
if s1.respond_to?(:force_encoding)
s1.force_encoding('ISO-8859-1')
s2.force_encoding('ISO-8859-1')

View File

@@ -68,6 +68,33 @@ class AccountTest < ActionController::IntegrationTest
assert_not_nil user.reload.last_login_on
end
def test_autologin_should_use_autologin_cookie_name
Token.delete_all
Redmine::Configuration.stubs(:[]).with('autologin_cookie_name').returns('custom_autologin')
Redmine::Configuration.stubs(:[]).with('autologin_cookie_path').returns('/')
Redmine::Configuration.stubs(:[]).with('autologin_cookie_secure').returns(false)
with_settings :autologin => '7' do
assert_difference 'Token.count' do
post '/login', :username => 'admin', :password => 'admin', :autologin => 1
end
assert_response 302
assert cookies['custom_autologin'].present?
token = cookies['custom_autologin']
# Session is cleared
reset!
cookies['custom_autologin'] = token
get '/my/page'
assert_response :success
assert_difference 'Token.count', -1 do
post '/logout'
end
assert cookies['custom_autologin'].blank?
end
end
def test_lost_password
Token.delete_all

View File

@@ -108,6 +108,18 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
assert_tag 'user', :child => {:tag => 'login', :content => 'jsmith'}
end
test "GET /users/:id should not return api_key for other user" do
get '/users/3.xml', {}, credentials('jsmith')
assert_response :success
assert_no_tag 'user', :child => {:tag => 'api_key'}
end
test "GET /users/:id should return api_key for current user" do
get '/users/2.xml', {}, credentials('jsmith')
assert_response :success
assert_tag 'user', :child => {:tag => 'api_key', :content => User.find(2).api_key}
end
context "POST /users" do
context "with valid parameters" do
setup do

View File

@@ -84,7 +84,11 @@ class ApplicationHelperTest < ActionView::TestCase
# escaping
'http://foo"bar' => '<a class="external" href="http://foo&quot;bar">http://foo&quot;bar</a>',
# wrap in angle brackets
'<http://foo.bar>' => '&lt;<a class="external" href="http://foo.bar">http://foo.bar</a>&gt;'
'<http://foo.bar>' => '&lt;<a class="external" href="http://foo.bar">http://foo.bar</a>&gt;',
# invalid urls
'http://' => 'http://',
'www.' => 'www.',
'test-www.bar.com' => 'test-www.bar.com',
}
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
end
@@ -101,8 +105,11 @@ class ApplicationHelperTest < ActionView::TestCase
end
def test_auto_mailto
assert_equal '<p><a class="email" href="mailto:test@foo.bar">test@foo.bar</a></p>',
textilizable('test@foo.bar')
to_test = {
'test@foo.bar' => '<a class="email" href="mailto:test@foo.bar">test@foo.bar</a>',
'test@www.foo.bar' => '<a class="email" href="mailto:test@www.foo.bar">test@www.foo.bar</a>',
}
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
end
def test_inline_images
@@ -253,9 +260,9 @@ RAW
def test_redmine_links
issue_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3},
:class => 'issue status-1 priority-4 priority-lowest overdue', :title => 'Error 281 when updating a recipe (New)')
:class => Issue.find(3).css_classes, :title => 'Error 281 when updating a recipe (New)')
note_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3, :anchor => 'note-14'},
:class => 'issue status-1 priority-4 priority-lowest overdue', :title => 'Error 281 when updating a recipe (New)')
:class => Issue.find(3).css_classes, :title => 'Error 281 when updating a recipe (New)')
changeset_link = link_to('r1', {:controller => 'repositories', :action => 'revision', :id => 'ecookbook', :rev => 1},
:class => 'changeset', :title => 'My very first commit')
@@ -745,7 +752,7 @@ RAW
expected = <<-EXPECTED
<p><a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a></p>
<p><a href="/issues/1" class="issue status-1 priority-4 priority-lowest" title="Can&#x27;t print recipes (New)">#1</a></p>
<p><a href="/issues/1" class="#{Issue.find(1).css_classes}" title="Can&#x27;t print recipes (New)">#1</a></p>
<pre>
[[CookBook documentation]]

View File

@@ -166,22 +166,6 @@ class IssueNestedSetTest < ActiveSupport::TestCase
assert_not_nil child.errors[:parent_issue_id]
end
def test_moving_an_issue_should_keep_valid_relations_only
issue1 = Issue.generate!
issue2 = Issue.generate!
issue3 = Issue.generate!(:parent_issue_id => issue2.id)
issue4 = Issue.generate!
r1 = IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
r2 = IssueRelation.create!(:issue_from => issue1, :issue_to => issue3, :relation_type => IssueRelation::TYPE_PRECEDES)
r3 = IssueRelation.create!(:issue_from => issue2, :issue_to => issue4, :relation_type => IssueRelation::TYPE_PRECEDES)
issue2.reload
issue2.parent_issue_id = issue1.id
issue2.save!
assert !IssueRelation.exists?(r1.id)
assert !IssueRelation.exists?(r2.id)
assert IssueRelation.exists?(r3.id)
end
def test_destroy_should_destroy_children
issue1 = Issue.generate!
issue2 = Issue.generate!

View File

@@ -30,6 +30,8 @@ class IssueRelationTest < ActiveSupport::TestCase
:enumerations,
:trackers
include Redmine::I18n
def test_create
from = Issue.find(1)
to = Issue.find(2)
@@ -115,6 +117,26 @@ class IssueRelationTest < ActiveSupport::TestCase
assert_not_nil r.errors[:base]
end
def test_validates_circular_dependency_of_subtask
set_language_if_valid 'en'
issue1 = Issue.generate!
issue2 = Issue.generate!
IssueRelation.create!(
:issue_from => issue1, :issue_to => issue2,
:relation_type => IssueRelation::TYPE_PRECEDES
)
child = Issue.generate!(:parent_issue_id => issue2.id)
issue1.reload
child.reload
r = IssueRelation.new(
:issue_from => child, :issue_to => issue1,
:relation_type => IssueRelation::TYPE_PRECEDES
)
assert !r.save
assert_include 'This relation would create a circular dependency', r.errors.full_messages
end
def test_validates_circular_dependency_on_reverse_relations
IssueRelation.delete_all
assert IssueRelation.create!(

View File

@@ -849,6 +849,49 @@ class IssueTest < ActiveSupport::TestCase
assert_equal copy.author, child_copy.author
end
def test_copy_as_a_child_of_copied_issue_should_not_copy_itself
parent = Issue.generate!
child1 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 1')
child2 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 2')
copy = parent.reload.copy
copy.parent_issue_id = parent.id
copy.author = User.find(7)
assert_difference 'Issue.count', 3 do
assert copy.save
end
parent.reload
copy.reload
assert_equal parent, copy.parent
assert_equal 3, parent.children.count
assert_equal 5, parent.descendants.count
assert_equal 2, copy.children.count
assert_equal 2, copy.descendants.count
end
def test_copy_as_a_descendant_of_copied_issue_should_not_copy_itself
parent = Issue.generate!
child1 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 1')
child2 = Issue.generate!(:parent_issue_id => parent.id, :subject => 'Child 2')
copy = parent.reload.copy
copy.parent_issue_id = child1.id
copy.author = User.find(7)
assert_difference 'Issue.count', 3 do
assert copy.save
end
parent.reload
child1.reload
copy.reload
assert_equal child1, copy.parent
assert_equal 2, parent.children.count
assert_equal 5, parent.descendants.count
assert_equal 1, child1.children.count
assert_equal 3, child1.descendants.count
assert_equal 2, copy.children.count
assert_equal 2, copy.descendants.count
end
def test_copy_should_copy_subtasks_to_target_project
issue = Issue.generate_with_descendants!
@@ -1466,6 +1509,55 @@ class IssueTest < ActiveSupport::TestCase
end
end
def test_child_issue_should_consider_parent_soonest_start_on_create
set_language_if_valid 'en'
issue1 = Issue.generate!(:start_date => '2012-10-15', :due_date => '2012-10-17')
issue2 = Issue.generate!(:start_date => '2012-10-18', :due_date => '2012-10-20')
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2,
:relation_type => IssueRelation::TYPE_PRECEDES)
issue1.reload
issue2.reload
assert_equal Date.parse('2012-10-18'), issue2.start_date
child = Issue.new(:parent_issue_id => issue2.id, :start_date => '2012-10-16',
:project_id => 1, :tracker_id => 1, :status_id => 1, :subject => 'Child', :author_id => 1)
assert !child.valid?
assert_include 'Start date is invalid', child.errors.full_messages
assert_equal Date.parse('2012-10-18'), child.soonest_start
child.start_date = '2012-10-18'
assert child.save
end
def test_setting_parent_to_a_dependent_issue_should_not_validate
set_language_if_valid 'en'
issue1 = Issue.generate!
issue2 = Issue.generate!
issue3 = Issue.generate!
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
IssueRelation.create!(:issue_from => issue3, :issue_to => issue1, :relation_type => IssueRelation::TYPE_PRECEDES)
issue3.reload
issue3.parent_issue_id = issue2.id
assert !issue3.valid?
assert_include 'Parent task is invalid', issue3.errors.full_messages
end
def test_setting_parent_should_not_allow_circular_dependency
set_language_if_valid 'en'
issue1 = Issue.generate!
issue2 = Issue.generate!
IssueRelation.create!(:issue_from => issue1, :issue_to => issue2, :relation_type => IssueRelation::TYPE_PRECEDES)
issue3 = Issue.generate!
issue2.reload
issue2.parent_issue_id = issue3.id
issue2.save!
issue4 = Issue.generate!
IssueRelation.create!(:issue_from => issue3, :issue_to => issue4, :relation_type => IssueRelation::TYPE_PRECEDES)
issue4.reload
issue4.parent_issue_id = issue1.id
assert !issue4.valid?
assert_include 'Parent task is invalid', issue4.errors.full_messages
end
def test_overdue
assert Issue.new(:due_date => 1.day.ago.to_date).overdue?
assert !Issue.new(:due_date => Date.today).overdue?
@@ -1910,6 +2002,12 @@ class IssueTest < ActiveSupport::TestCase
assert_equal [Journal.find(1), Journal.find(2)], Issue.find(1).journals_after('')
end
def test_css_classes_should_include_tracker
issue = Issue.new(:tracker => Tracker.find(2))
classes = issue.css_classes.split(' ')
assert_include 'tracker-2', classes
end
def test_css_classes_should_include_priority
issue = Issue.new(:priority => IssuePriority.find(8))
classes = issue.css_classes.split(' ')

View File

@@ -35,9 +35,9 @@ class PdfTest < ActiveSupport::TestCase
txt_1 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_1, encoding)
txt_2 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_2, encoding)
txt_3 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_3, encoding)
assert_equal "?\x91\xd4", txt_1
assert_equal "?\x91\xd4?", txt_2
assert_equal "??\x91\xd4?", txt_3
assert_equal "?\x91\xd4".force_encoding("ASCII-8BIT"), txt_1
assert_equal "?\x91\xd4?".force_encoding("ASCII-8BIT"), txt_2
assert_equal "??\x91\xd4?".force_encoding("ASCII-8BIT"), txt_3
assert_equal "ASCII-8BIT", txt_1.encoding.to_s
assert_equal "ASCII-8BIT", txt_2.encoding.to_s
assert_equal "ASCII-8BIT", txt_3.encoding.to_s

View File

@@ -221,6 +221,29 @@ DIFF
assert_equal "test02.txt", diff[0].file_name
end
def test_utf8_ja
ja = " text_tip_issue_end_day: "
ja += "\xe3\x81\x93\xe3\x81\xae\xe6\x97\xa5\xe3\x81\xab\xe7\xb5\x82\xe4\xba\x86\xe3\x81\x99\xe3\x82\x8b<span>\xe3\x82\xbf\xe3\x82\xb9\xe3\x82\xaf</span>"
ja.force_encoding('UTF-8') if ja.respond_to?(:force_encoding)
with_settings :repositories_encodings => '' do
diff = Redmine::UnifiedDiff.new(read_diff_fixture('issue-12641-ja.diff'), :type => 'inline')
assert_equal 1, diff.size
assert_equal 12, diff.first.size
assert_equal ja, diff.first[4].html_line_left
end
end
def test_utf8_ru
ru = " other: &quot;\xd0\xbe\xd0\xba\xd0\xbe\xd0\xbb\xd0\xbe %{count} \xd1\x87\xd0\xb0\xd1\x81<span>\xd0\xb0</span>&quot;"
ru.force_encoding('UTF-8') if ru.respond_to?(:force_encoding)
with_settings :repositories_encodings => '' do
diff = Redmine::UnifiedDiff.new(read_diff_fixture('issue-12641-ru.diff'), :type => 'inline')
assert_equal 1, diff.size
assert_equal 8, diff.first.size
assert_equal ru, diff.first[3].html_line_left
end
end
private
def read_diff_fixture(filename)

View File

@@ -304,6 +304,51 @@ class MailHandlerTest < ActiveSupport::TestCase
end
end
def test_created_user_should_be_added_to_groups
group1 = Group.generate!
group2 = Group.generate!
assert_difference 'User.count' do
submit_email(
'ticket_by_unknown_user.eml',
:issue => {:project => 'ecookbook'},
:unknown_user => 'create',
:default_group => "#{group1.name},#{group2.name}"
)
end
user = User.order('id DESC').first
assert_same_elements [group1, group2], user.groups
end
def test_created_user_should_not_receive_account_information_with_no_account_info_option
assert_difference 'User.count' do
submit_email(
'ticket_by_unknown_user.eml',
:issue => {:project => 'ecookbook'},
:unknown_user => 'create',
:no_account_notice => '1'
)
end
# only 1 email for the new issue notification
assert_equal 1, ActionMailer::Base.deliveries.size
email = ActionMailer::Base.deliveries.first
assert_include 'Ticket by unknown user', email.subject
end
def test_created_user_should_have_mail_notification_to_none_with_no_notification_option
assert_difference 'User.count' do
submit_email(
'ticket_by_unknown_user.eml',
:issue => {:project => 'ecookbook'},
:unknown_user => 'create',
:no_notification => '1'
)
end
user = User.order('id DESC').first
assert_equal 'none', user.mail_notification
end
def test_add_issue_without_from_header
Role.anonymous.add_permission!(:add_issues)
assert_equal false, submit_email('ticket_without_from_header.eml')
@@ -723,6 +768,7 @@ class MailHandlerTest < ActiveSupport::TestCase
assert_equal expected[0], user.login
assert_equal expected[1], user.firstname
assert_equal expected[2], user.lastname
assert_equal 'only_my_events', user.mail_notification
end
end

View File

@@ -110,6 +110,13 @@ class TimeEntryTest < ActiveSupport::TestCase
assert_equal 1, te.errors.count
end
def test_spent_on_with_2_digits_year_should_not_be_valid
entry = TimeEntry.new(:project => Project.find(1), :user => User.find(1), :activity => TimeEntryActivity.first, :hours => 1)
entry.spent_on = "09-02-04"
assert !entry.valid?
assert_include I18n.translate('activerecord.errors.messages.not_a_date'), entry.errors[:spent_on]
end
def test_set_project_if_nil
anon = User.anonymous
project = Project.find(1)

View File

@@ -727,6 +727,32 @@ class UserTest < ActiveSupport::TestCase
assert_equal true, User.default_admin_account_changed?
end
def test_membership_with_project_should_return_membership
project = Project.find(1)
membership = @jsmith.membership(project)
assert_kind_of Member, membership
assert_equal @jsmith, membership.user
assert_equal project, membership.project
end
def test_membership_with_project_id_should_return_membership
project = Project.find(1)
membership = @jsmith.membership(1)
assert_kind_of Member, membership
assert_equal @jsmith, membership.user
assert_equal project, membership.project
end
def test_membership_for_non_member_should_return_nil
project = Project.find(1)
user = User.generate!
membership = user.membership(1)
assert_nil membership
end
def test_roles_for_project
# user with a role
roles = @jsmith.roles_for_project(Project.find(1))