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
+9 -6
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 "jquery-rails", "~> 2.0.2"
gem "i18n", "~> 0.6.0" gem "i18n", "~> 0.6.0"
gem "coderay", "~> 1.0.6" gem "coderay", "~> 1.0.6"
@@ -37,6 +37,7 @@ end
# Include database gems for the adapters found in the database # Include database gems for the adapters found in the database
# configuration file # configuration file
require 'erb' require 'erb'
require 'yaml'
database_file = File.join(File.dirname(__FILE__), "config/database.yml") database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file) if File.exist?(database_file)
database_config = YAML::load(ERB.new(IO.read(database_file)).result) database_config = YAML::load(ERB.new(IO.read(database_file)).result)
@@ -44,9 +45,11 @@ if File.exist?(database_file)
if adapters.any? if adapters.any?
adapters.each do |adapter| adapters.each do |adapter|
case adapter case adapter
when /mysql/ when 'mysql2'
gem "mysql", "~> 2.8.1", :platforms => [:mri_18, :mingw_18] gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw]
gem "mysql2", "~> 0.3.11", :platforms => [:mri_19, :mingw_19] gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when 'mysql'
gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when /postgresql/ when /postgresql/
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw] gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
@@ -75,7 +78,7 @@ end
group :test do group :test do
gem "shoulda", "~> 3.3.2" gem "shoulda", "~> 3.3.2"
gem "mocha" gem "mocha", "~> 0.13.3"
gem 'capybara', '~> 2.0.0' gem 'capybara', '~> 2.0.0'
end end
+4 -3
View File
@@ -176,7 +176,9 @@ class AccountController < ApplicationController
end end
def open_id_authenticate(openid_url) 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? if result.successful?
user = User.find_or_initialize_by_identity_url(identity_url) user = User.find_or_initialize_by_identity_url(identity_url)
if user.new_record? if user.new_record?
@@ -230,7 +232,6 @@ class AccountController < ApplicationController
def set_autologin_cookie(user) def set_autologin_cookie(user)
token = Token.create(:user => user, :action => 'autologin') token = Token.create(:user => user, :action => 'autologin')
cookie_name = Redmine::Configuration['autologin_cookie_name'] || 'autologin'
cookie_options = { cookie_options = {
:value => token.value, :value => token.value,
:expires => 1.year.from_now, :expires => 1.year.from_now,
@@ -238,7 +239,7 @@ class AccountController < ApplicationController
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false), :secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false),
:httponly => true :httponly => true
} }
cookies[cookie_name] = cookie_options cookies[autologin_cookie_name] = cookie_options
end end
# Onthefly creation failed, display the registration form to fill/fix attributes # Onthefly creation failed, display the registration form to fill/fix attributes
+8 -4
View File
@@ -35,7 +35,7 @@ class ApplicationController < ActionController::Base
protect_from_forgery protect_from_forgery
def handle_unverified_request def handle_unverified_request
super super
cookies.delete(:autologin) cookies.delete(autologin_cookie_name)
end end
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization
@@ -127,10 +127,14 @@ class ApplicationController < ActionController::Base
user user
end end
def autologin_cookie_name
Redmine::Configuration['autologin_cookie_name'].presence || 'autologin'
end
def try_to_autologin def try_to_autologin
if cookies[:autologin] && Setting.autologin? if cookies[autologin_cookie_name] && Setting.autologin?
# auto-login feature starts a new session # 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 if user
reset_session reset_session
start_user_session(user) start_user_session(user)
@@ -153,7 +157,7 @@ class ApplicationController < ActionController::Base
# Logs out current user # Logs out current user
def logout_user def logout_user
if User.current.logged? if User.current.logged?
cookies.delete :autologin cookies.delete(autologin_cookie_name)
Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin']) Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin'])
self.logged_user = nil self.logged_user = nil
end end
@@ -50,7 +50,7 @@ class IssueRelationsController < ApplicationController
respond_to do |format| respond_to do |format|
format.html { redirect_to issue_path(@issue) } format.html { redirect_to issue_path(@issue) }
format.js { 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 { format.api {
if saved if saved
+2 -2
View File
@@ -343,7 +343,7 @@ module ApplicationHelper
def options_for_membership_project_select(principal, projects) def options_for_membership_project_select(principal, projects)
options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---") options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
options << project_tree_options_for_select(projects) do |p| options << project_tree_options_for_select(projects) do |p|
{:disabled => principal.projects.include?(p)} {:disabled => principal.projects.to_a.include?(p)}
end end
options options
end end
@@ -1180,7 +1180,7 @@ module ApplicationHelper
def sanitize_anchor_name(anchor) def sanitize_anchor_name(anchor)
if ''.respond_to?(:encoding) || RUBY_PLATFORM == 'java' 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 else
# TODO: remove when ruby1.8 is no longer supported # TODO: remove when ruby1.8 is no longer supported
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-') anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
+4 -1
View File
@@ -353,7 +353,10 @@ module IssuesHelper
association = Issue.reflect_on_association(field.to_sym) association = Issue.reflect_on_association(field.to_sym)
if association if association
record = association.class_name.constantize.find_by_id(id) 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
end end
+2 -2
View File
@@ -107,14 +107,14 @@ module TimelogHelper
# Column headers # Column headers
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) } headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
headers += report.periods headers += report.periods
headers << l(:label_total) headers << l(:label_total_time)
csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8( csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8(
c.to_s, c.to_s,
l(:general_csv_encoding) ) } l(:general_csv_encoding) ) }
# Content # Content
report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours) report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours)
# Total row # 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) row = [ str_total ] + [''] * (report.criteria.size - 1)
total = 0 total = 0
report.periods.each do |period| report.periods.each do |period|
+1
View File
@@ -30,6 +30,7 @@ class Group < Principal
before_destroy :remove_references_before_destroy before_destroy :remove_references_before_destroy
scope :sorted, lambda { order("#{table_name}.lastname ASC") } 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', safe_attributes 'name',
'user_ids', 'user_ids',
+26 -15
View File
@@ -184,10 +184,12 @@ class Issue < ActiveRecord::Base
super super
end end
alias :base_reload :reload
def reload(*args) def reload(*args)
@workflow_rule_by_attribute = nil @workflow_rule_by_attribute = nil
@assignable_versions = nil @assignable_versions = nil
super @relations = nil
base_reload(*args)
end end
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields # Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
@@ -574,6 +576,8 @@ class Issue < ActiveRecord::Base
elsif @parent_issue elsif @parent_issue
if !valid_parent_project?(@parent_issue) if !valid_parent_project?(@parent_issue)
errors.add :parent_issue_id, :invalid 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? elsif !new_record?
# moving an existing issue # moving an existing issue
if @parent_issue.root_id != root_id 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]) IssueRelation.find(relation_id, :conditions => ["issue_to_id = ? OR issue_from_id = ?", id, id])
end end
# Returns all the other issues that depend on the issue
def all_dependent_issues(except=[]) def all_dependent_issues(except=[])
except << self except << self
dependencies = [] dependencies = []
relations_from.each do |relation| dependencies += relations_from.map(&:issue_to)
if relation.issue_to && !except.include?(relation.issue_to) dependencies += children unless leaf?
dependencies << relation.issue_to dependencies << parent
dependencies += relation.issue_to.all_dependent_issues(except) dependencies.compact!
end dependencies -= except
end dependencies + dependencies.map {|issue| issue.all_dependent_issues(except)}.flatten
dependencies
end end
# Returns an array of issues that duplicate this one # Returns an array of issues that duplicate this one
@@ -890,7 +894,7 @@ class Issue < ActiveRecord::Base
@soonest_start = nil if reload @soonest_start = nil if reload
@soonest_start ||= ( @soonest_start ||= (
relations_to(reload).collect{|relation| relation.successor_soonest_start} + relations_to(reload).collect{|relation| relation.successor_soonest_start} +
ancestors.collect(&:soonest_start) [(@parent_issue || parent).try(:soonest_start)]
).compact.max ).compact.max
end end
@@ -953,7 +957,7 @@ class Issue < ActiveRecord::Base
# Returns a string of css classes that apply to the issue # Returns a string of css classes that apply to the issue
def css_classes 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 << ' closed' if closed?
s << ' overdue' if overdue? s << ' overdue' if overdue?
s << ' child' if child? s << ' child' if child?
@@ -1145,20 +1149,27 @@ class Issue < ActiveRecord::Base
end end
unless @copied_from.leaf? || @copy_options[:subtasks] == false 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? 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 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 next
end end
copy = Issue.new.copy_from(child, @copy_options) copy = Issue.new.copy_from(child, copy_options)
copy.author = author copy.author = author
copy.project = project copy.project = project
copy.parent_issue_id = id copy.parent_issue_id = copied_issue_ids[child.parent_id]
# Children subtasks are copied recursively
unless copy.save 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 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 end
copied_issue_ids[child.id] = copy.id
end end
end end
@after_create_from_copy_handled = true @after_create_from_copy_handled = true
+25 -33
View File
@@ -38,7 +38,9 @@ class MailHandler < ActionMailer::Base
# Status overridable by default # Status overridable by default
@@handler_options[:allow_override] << 'status' unless @@handler_options[:issue].has_key?(:status) @@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) email.force_encoding('ASCII-8BIT') if email.respond_to?(:force_encoding)
super(email) super(email)
@@ -97,7 +99,10 @@ class MailHandler < ActionMailer::Base
if logger && logger.info if logger && logger.info
logger.info "MailHandler: [#{@user.login}] account created" logger.info "MailHandler: [#{@user.login}] account created"
end 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 else
if logger && logger.error if logger && logger.error
logger.error "MailHandler: could not create account for [#{sender_email}]" logger.error "MailHandler: could not create account for [#{sender_email}]"
@@ -249,26 +254,9 @@ class MailHandler < ActionMailer::Base
def add_attachments(obj) def add_attachments(obj)
if email.attachments && email.attachments.any? if email.attachments && email.attachments.any?
email.attachments.each do |attachment| 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, obj.attachments << Attachment.create(:container => obj,
:file => attachment.decoded, :file => attachment.decoded,
:filename => filename, :filename => attachment.filename,
:author => user, :author => user,
:content_type => attachment.mime_type) :content_type => attachment.mime_type)
end end
@@ -391,19 +379,6 @@ class MailHandler < ActionMailer::Base
def cleaned_up_subject def cleaned_up_subject
subject = email.subject.to_s 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] subject.strip[0,255]
end end
@@ -433,6 +408,7 @@ class MailHandler < ActionMailer::Base
password_length = [Setting.password_min_length.to_i, 10].max password_length = [Setting.password_min_length.to_i, 10].max
user.password = Redmine::Utils.random_hex(password_length / 2 + 1) user.password = Redmine::Utils.random_hex(password_length / 2 + 1)
user.language = Setting.default_language user.language = Setting.default_language
user.mail_notification = 'only_my_events'
unless user.valid? unless user.valid?
user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank? user.login = "user#{Redmine::Utils.random_hex(6)}" unless user.errors[:login].blank?
@@ -453,6 +429,9 @@ class MailHandler < ActionMailer::Base
end end
if addr.present? if addr.present?
user = self.class.new_user_from_attributes(addr, name) user = self.class.new_user_from_attributes(addr, name)
if @@handler_options[:no_notification]
user.mail_notification = 'none'
end
if user.save if user.save
user user
else else
@@ -465,6 +444,19 @@ class MailHandler < ActionMailer::Base
end end
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. # Removes the email body of text after the truncation configurations.
def cleanup_body(body) def cleanup_body(body)
delimiters = Setting.mail_handler_body_delimiters.to_s.split(/[\r\n]+/).reject(&:blank?).map {|s| Regexp.escape(s)} delimiters = Setting.mail_handler_body_delimiters.to_s.split(/[\r\n]+/).reject(&:blank?).map {|s| Regexp.escape(s)}
+2 -1
View File
@@ -285,6 +285,7 @@ class Project < ActiveRecord::Base
self.find(*args) self.find(*args)
end end
alias :base_reload :reload
def reload(*args) def reload(*args)
@shared_versions = nil @shared_versions = nil
@rolled_up_versions = nil @rolled_up_versions = nil
@@ -297,7 +298,7 @@ class Project < ActiveRecord::Base
@actions_allowed = nil @actions_allowed = nil
@start_date = nil @start_date = nil
@due_date = nil @due_date = nil
super base_reload(*args)
end end
def to_param def to_param
+1
View File
@@ -40,6 +40,7 @@ class TimeEntry < ActiveRecord::Base
validates_presence_of :user_id, :activity_id, :project_id, :hours, :spent_on validates_presence_of :user_id, :activity_id, :project_id, :hours, :spent_on
validates_numericality_of :hours, :allow_nil => true, :message => :invalid validates_numericality_of :hours, :allow_nil => true, :message => :invalid
validates_length_of :comments, :maximum => 255, :allow_nil => true validates_length_of :comments, :maximum => 255, :allow_nil => true
validates :spent_on, :date => true
before_validation :set_project_if_nil before_validation :set_project_if_nil
validate :validate_time_entry validate :validate_time_entry
+20 -3
View File
@@ -128,10 +128,12 @@ class User < Principal
end end
end end
alias :base_reload :reload
def reload(*args) def reload(*args)
@name = nil @name = nil
@projects_by_role = nil @projects_by_role = nil
super @membership_by_project_id = nil
base_reload(*args)
end end
def mail=(arg) def mail=(arg)
@@ -415,6 +417,17 @@ class User < Principal
!logged? !logged?
end 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 # Return user's roles for project
def roles_for_project(project) def roles_for_project(project)
roles = [] roles = []
@@ -422,7 +435,7 @@ class User < Principal
return roles if project.nil? || project.archived? return roles if project.nil? || project.archived?
if logged? if logged?
# Find project membership # Find project membership
membership = memberships.detect {|m| m.project_id == project.id} membership = membership(project)
if membership if membership
roles = membership.roles roles = membership.roles
else else
@@ -438,7 +451,7 @@ class User < Principal
# Return true if the user is a member of project # Return true if the user is a member of project
def member_of?(project) def member_of?(project)
roles_for_project(project).any? {|role| role.member?} projects.to_a.include?(project)
end end
# Returns a hash of user's projects grouped by roles # Returns a hash of user's projects grouped by roles
@@ -679,6 +692,10 @@ class AnonymousUser < User
UserPreference.new(:user => self) UserPreference.new(:user => self)
end end
def member_of?(project)
false
end
# Anonymous user can not be destroyed # Anonymous user can not be destroyed
def destroy def destroy
false false
+5 -5
View File
@@ -10,7 +10,7 @@
<thead> <thead>
<tr> <tr>
<th colspan="4" class="filename"> <th colspan="4" class="filename">
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %> <%= table_file.file_name %>
</th> </th>
</tr> </tr>
</thead> </thead>
@@ -24,11 +24,11 @@
<tr> <tr>
<th class="line-num"><%= line.nb_line_left %></th> <th class="line-num"><%= line.nb_line_left %></th>
<td class="line-code <%= line.type_diff_left %>"> <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> </td>
<th class="line-num"><%= line.nb_line_right %></th> <th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff_right %>"> <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> </td>
</tr> </tr>
<% end -%> <% end -%>
@@ -40,7 +40,7 @@
<thead> <thead>
<tr> <tr>
<th colspan="3" class="filename"> <th colspan="3" class="filename">
<%= h(Redmine::CodesetUtil.to_utf8_by_setting(table_file.file_name)) %> <%= table_file.file_name %>
</th> </th>
</tr> </tr>
</thead> </thead>
@@ -55,7 +55,7 @@
<th class="line-num"><%= line.nb_line_left %></th> <th class="line-num"><%= line.nb_line_left %></th>
<th class="line-num"><%= line.nb_line_right %></th> <th class="line-num"><%= line.nb_line_right %></th>
<td class="line-code <%= line.type_diff %>"> <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> </td>
</tr> </tr>
<% end -%> <% end -%>
+2 -2
View File
@@ -21,7 +21,7 @@
<fieldset> <fieldset>
<legend><%= l(:label_related_issues) %></legend> <legend><%= l(:label_related_issues) %></legend>
<label> <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 = [IssueRelation::TYPE_BLOCKS, IssueRelation::TYPE_PRECEDES] %>
<% rels.each do |rel| %> <% rels.each do |rel| %>
<% color = Redmine::Helpers::Gantt::DRAW_TYPES[rel][:color] %> <% color = Redmine::Helpers::Gantt::DRAW_TYPES[rel][:color] %>
@@ -36,7 +36,7 @@
<fieldset> <fieldset>
<legend><%= l(:label_gantt_progress_line) %></legend> <legend><%= l(:label_gantt_progress_line) %></legend>
<label> <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) %> <%= l(:label_display) %>
</label> </label>
</fieldset> </fieldset>
+1
View File
@@ -19,6 +19,7 @@
<td class="buttons"><%= delete_link group %></td> <td class="buttons"><%= delete_link group %></td>
</tr> </tr>
<% end %> <% end %>
</tbody>
</table> </table>
<% else %> <% else %>
<p class="nodata"><%= l(:label_no_data) %></p> <p class="nodata"><%= l(:label_no_data) %></p>
+1 -1
View File
@@ -5,7 +5,7 @@ entries_by_day = entries.group_by(&:spent_on)
%> %>
<div class="total-hours"> <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> </div>
<% if entries.any? %> <% if entries.any? %>
+1 -1
View File
@@ -13,7 +13,7 @@
<% end %> <% end %>
<div class="total-hours"> <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> </div>
<% unless @entries.empty? %> <% unless @entries.empty? %>
+3 -3
View File
@@ -30,7 +30,7 @@
<% unless @report.criteria.empty? %> <% unless @report.criteria.empty? %>
<div class="total-hours"> <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> </div>
<% unless @report.hours.empty? %> <% unless @report.hours.empty? %>
@@ -45,13 +45,13 @@
<% @report.periods.each do |period| %> <% @report.periods.each do |period| %>
<th class="period" width="<%= columns_width %>%"><%= period %></th> <th class="period" width="<%= columns_width %>%"><%= period %></th>
<% end %> <% end %>
<th class="total" width="<%= columns_width %>%"><%= l(:label_total) %></th> <th class="total" width="<%= columns_width %>%"><%= l(:label_total_time) %></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %> <%= render :partial => 'report_criteria', :locals => {:criterias => @report.criteria, :hours => @report.hours, :level => 0} %>
<tr class="total"> <tr class="total">
<td><%= l(:label_total) %></td> <td><%= l(:label_total_time) %></td>
<%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %> <%= ('<td></td>' * (@report.criteria.size - 1)).html_safe %>
<% total = 0 -%> <% total = 0 -%>
<% @report.periods.each do |period| -%> <% @report.periods.each do |period| -%>
+1
View File
@@ -6,6 +6,7 @@ api.user do
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
api.created_on @user.created_on api.created_on @user.created_on
api.last_login_on @user.last_login_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 render_api_custom_values @user.visible_custom_field_values, api
+1 -1
View File
@@ -133,7 +133,7 @@ default:
scm_bazaar_command: scm_bazaar_command:
scm_darcs_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. # The default is to log in the 'log' directory of your Redmine instance.
# Example: # Example:
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log # scm_stderr_log_file: /var/log/redmine_scm_stderr.log
+2
View File
@@ -1085,3 +1085,5 @@ ar:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: الإجمالي
+2
View File
@@ -1182,3 +1182,5 @@ az:
label_any_issues_not_in_project: any issues not in project label_any_issues_not_in_project: any issues not in project
label_cross_project_tree: With project tree label_cross_project_tree: With project tree
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Cəmi
+4 -2
View File
@@ -180,7 +180,7 @@ bg:
notice_account_deleted: Вашият профил беше премахнат без възможност за възстановяване. notice_account_deleted: Вашият профил беше премахнат без възможност за възстановяване.
notice_user_successful_create: Потребител %{id} е създаден. 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_not_found: Несъществуващ обект в хранилището.
error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}" error_scm_command_failed: "Грешка при опит за комуникация с хранилище: %{value}"
error_scm_annotate: "Обектът не съществува или не може да бъде анотиран." error_scm_annotate: "Обектът не съществува или не може да бъде анотиран."
@@ -360,7 +360,7 @@ bg:
setting_cross_project_subtasks: Подзадачи от други проекти setting_cross_project_subtasks: Подзадачи от други проекти
setting_issue_list_default_columns: Показвани колони по подразбиране setting_issue_list_default_columns: Показвани колони по подразбиране
setting_repositories_encodings: Кодова таблица на прикачените файлове и хранилищата setting_repositories_encodings: Кодова таблица на прикачените файлове и хранилищата
setting_emails_header: Emails header setting_emails_header: Email header
setting_emails_footer: Подтекст за e-mail setting_emails_footer: Подтекст за e-mail
setting_protocol: Протокол setting_protocol: Протокол
setting_per_page_options: Опции за страниране setting_per_page_options: Опции за страниране
@@ -401,6 +401,7 @@ bg:
setting_thumbnails_size: Размер на миниатюрите (в пиксели) setting_thumbnails_size: Размер на миниатюрите (в пиксели)
setting_non_working_week_days: Не работни дни setting_non_working_week_days: Не работни дни
setting_jsonp_enabled: Разрешаване на поддръжка на JSONP setting_jsonp_enabled: Разрешаване на поддръжка на JSONP
setting_default_projects_tracker_ids: Тракери по подразбиране за нови проекти
permission_add_project: Създаване на проект permission_add_project: Създаване на проект
permission_add_subprojects: Създаване на подпроекти permission_add_subprojects: Създаване на подпроекти
@@ -618,6 +619,7 @@ bg:
one: 1 задача one: 1 задача
other: "%{count} задачи" other: "%{count} задачи"
label_total: Общо label_total: Общо
label_total_time: Общо
label_permissions: Права label_permissions: Права
label_current_status: Текущо състояние label_current_status: Текущо състояние
label_new_statuses_allowed: Позволени състояния label_new_statuses_allowed: Позволени състояния
+5 -3
View File
@@ -938,7 +938,6 @@ bs:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -979,8 +978,6 @@ bs:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1098,3 +1095,8 @@ bs:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+5 -3
View File
@@ -927,7 +927,6 @@ ca:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -968,8 +967,6 @@ ca:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1087,3 +1084,8 @@ ca:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+187 -184
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> # Update to 1.1 by Michal Gebauer <mishak@mishak.net>
# Updated by Josef Liška <jl@chl.cz> # Updated by Josef Liška <jl@chl.cz>
# CZ translation by Maxim Krušina | Massimo Filippi, s.r.o. | maxim@mxm.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_update: Úspěšně aktualizováno.
notice_successful_delete: Úspěšně odstraněno. notice_successful_delete: Úspěšně odstraněno.
notice_successful_connection: Úspěšné připojení. 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_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: 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_sent: "Na adresu %{value} byl odeslán email"
notice_email_error: "Při odesílání emailu nastala chyba (%{value})" 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. 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_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_default_data_loaded: Výchozí konfigurace úspěšně nahrána.
notice_unable_delete_version: Nemohu odstanit verzi 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_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}) 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_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_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_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_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_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_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_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_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_source: Prosím vyberte zdrojovou frontu nebo roli
error_workflow_copy_target: Prosím vyberte cílovou frontu(y) a roly(e) 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_delete_issue_status: Nelze smazat stavy úkolů
error_unable_to_connect: Nelze se připojit (%{value}) error_unable_to_connect: Nelze se připojit (%{value})
warning_attachments_not_saved: "%{count} soubor(ů) nebylo možné uložit." 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_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_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_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_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_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" mail_subject_wiki_content_updated: "'%{id}' Wiki stránka byla aktualizována"
@@ -290,7 +291,7 @@ cs:
field_issue_to: Související úkol field_issue_to: Související úkol
field_delay: Zpoždění field_delay: Zpoždění
field_assignable: Úkoly mohou být přiřazeny této roli 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_estimated_hours: Odhadovaná doba
field_column_names: Sloupce field_column_names: Sloupce
field_time_entries: Zaznamenaný čas field_time_entries: Zaznamenaný čas
@@ -320,7 +321,7 @@ cs:
setting_attachment_max_size: Maximální velikost přílohy setting_attachment_max_size: Maximální velikost přílohy
setting_issues_export_limit: Limit pro export úkolů setting_issues_export_limit: Limit pro export úkolů
setting_mail_from: Odesílat emaily z adresy 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_plain_text_mail: pouze prostý text (ne HTML)
setting_host_name: Jméno serveru setting_host_name: Jméno serveru
setting_text_formatting: Formátování textu setting_text_formatting: Formátování textu
@@ -336,8 +337,8 @@ cs:
setting_time_format: Formát času setting_time_format: Formát času
setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty setting_cross_project_issue_relations: Povolit vazby úkolů napříč projekty
setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů setting_issue_list_default_columns: Výchozí sloupce zobrazené v seznamu úkolů
setting_emails_header: Hlavička emailů setting_emails_header: Záhlaví emailů
setting_emails_footer: Patička emailů setting_emails_footer: Zápatí emailů
setting_protocol: Protokol setting_protocol: Protokol
setting_per_page_options: Povolené počty řádků na stránce setting_per_page_options: Povolené počty řádků na stránce
setting_user_format: Formát zobrazení uživatele setting_user_format: Formát zobrazení uživatele
@@ -350,7 +351,7 @@ cs:
setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů setting_sequential_project_identifiers: Generovat sekvenční identifikátory projektů
setting_gravatar_enabled: Použít uživatelské ikony Gravatar setting_gravatar_enabled: Použít uživatelské ikony Gravatar
setting_gravatar_default: Výchozí 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_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_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 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_default_notification_option: Výchozí nastavení oznámení
setting_commit_logtime_enabled: Povolit zapisování času setting_commit_logtime_enabled: Povolit zapisování času
setting_commit_logtime_activity_id: Aktivita pro zapsaný čas 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_project: Vytvořit projekt
permission_add_subprojects: Vytvořit podprojekty permission_add_subprojects: Vytvořit podprojekty
@@ -387,11 +388,11 @@ cs:
permission_delete_issues: Mazání úkolů permission_delete_issues: Mazání úkolů
permission_manage_public_queries: Správa veřejných dotazů permission_manage_public_queries: Správa veřejných dotazů
permission_save_queries: Ukládání 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_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_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_log_time: Zaznamenávání stráveného času
permission_view_time_entries: Zobrazení 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 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_messages: Mazání zpráv
permission_delete_own_messages: Smazat vlastní zprávy permission_delete_own_messages: Smazat vlastní zprávy
permission_export_wiki_pages: Exportovat Wiki stránky 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_issue_tracking: Sledování úkolů
project_module_time_tracking: Sledování času project_module_time_tracking: Sledování času
@@ -482,7 +483,7 @@ cs:
label_enumeration_new: Nová hodnota label_enumeration_new: Nová hodnota
label_information: Informace label_information: Informace
label_information_plural: 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_register: Registrovat
label_login_with_open_id_option: nebo se přihlašte s OpenID label_login_with_open_id_option: nebo se přihlašte s OpenID
label_password_lost: Zapomenuté heslo label_password_lost: Zapomenuté heslo
@@ -579,7 +580,7 @@ cs:
label_per_page: Na stránku label_per_page: Na stránku
label_calendar: Kalendář label_calendar: Kalendář
label_months_from: měsíců od label_months_from: měsíců od
label_gantt: Ganttův graf label_gantt: Ganttův diagram
label_internal: Interní label_internal: Interní
label_last_changes: "posledních %{count} změn" label_last_changes: "posledních %{count} změn"
label_change_view_all: Zobrazit všechny změny label_change_view_all: Zobrazit všechny změny
@@ -686,9 +687,9 @@ cs:
label_relation_delete: Odstranit souvislost label_relation_delete: Odstranit souvislost
label_relates_to: související s label_relates_to: související s
label_duplicates: duplikuje label_duplicates: duplikuje
label_duplicated_by: zduplikován label_duplicated_by: duplikován
label_blocks: blokuje label_blocks: blokuje
label_blocked_by: zablokován label_blocked_by: blokován
label_precedes: předchází label_precedes: předchází
label_follows: následuje label_follows: následuje
label_end_to_start: od konce do začátku label_end_to_start: od konce do začátku
@@ -697,12 +698,12 @@ cs:
label_start_to_end: od začátku do konce label_start_to_end: od začátku do konce
label_stay_logged_in: Zůstat přihlášený label_stay_logged_in: Zůstat přihlášený
label_disabled: zakázán 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_me:
label_board: Fórum label_board: Fórum
label_board_new: Nové fórum label_board_new: Nové fórum
label_board_plural: Fóra label_board_plural: Fóra
label_board_locked: Uzamčeno label_board_locked: Zamčeno
label_board_sticky: Nálepka label_board_sticky: Nálepka
label_topic_plural: Témata label_topic_plural: Témata
label_message_plural: Zprávy label_message_plural: Zprávy
@@ -716,7 +717,7 @@ cs:
label_week: Týden label_week: Týden
label_date_from: Od label_date_from: Od
label_date_to: Do 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_sort_by: "Seřadit podle %{value}"
label_send_test_email: Poslat testovací email label_send_test_email: Poslat testovací email
label_feeds_access_key: Přístupový klíč pro RSS label_feeds_access_key: Přístupový klíč pro RSS
@@ -728,7 +729,7 @@ cs:
label_updated_time: "Aktualizováno před %{value}" label_updated_time: "Aktualizováno před %{value}"
label_jump_to_a_project: Vyberte projekt... label_jump_to_a_project: Vyberte projekt...
label_file_plural: Soubory label_file_plural: Soubory
label_changeset_plural: Changesety label_changeset_plural: Sady změn
label_default_columns: Výchozí sloupce label_default_columns: Výchozí sloupce
label_no_change_option: (beze změny) label_no_change_option: (beze změny)
label_bulk_edit_selected_issues: Hromadná úprava vybraných úkolů 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_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_selected: "Pro všechny události vybraných projektů..."
label_user_mail_option_none: "Žádné události" 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_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_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_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_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_activation_by_email: aktivace účtu emailem
label_registration_manual_activation: manuální aktivace účtu 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_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_api_access_key_created_on: API přístupový klíč vytvořen %{value}
label_profile: Profil 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_project_copy_notifications: Odeslat email oznámení v průběhu kopie projektu
label_principal_search: "Hledat uživatele nebo skupinu:" label_principal_search: "Hledat uživatele nebo skupinu:"
label_user_search: "Hledat uživatele:" label_user_search: "Hledat uživatele:"
@@ -826,7 +827,7 @@ cs:
button_unwatch: Nesledovat button_unwatch: Nesledovat
button_reply: Odpovědět button_reply: Odpovědět
button_archive: Archivovat button_archive: Archivovat
button_unarchive: Odarchivovat button_unarchive: Dearchivovat
button_reset: Resetovat button_reset: Resetovat
button_rename: Přejmenovat button_rename: Přejmenovat
button_change_password: Změnit heslo button_change_password: Změnit heslo
@@ -841,18 +842,18 @@ cs:
status_active: aktivní status_active: aktivní
status_registered: registrovaný status_registered: registrovaný
status_locked: uzamčený status_locked: zamčený
version_status_open: otevřený version_status_open: otevřený
version_status_locked: uzamčený version_status_locked: zamčený
version_status_closed: zavřený version_status_closed: zavřený
field_active: Aktivní 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_regexp_info: např. ^[A-Z0-9]+$
text_min_max_length_info: 0 znamená bez limitu 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_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_workflow_edit: Vyberte roli a frontu k editaci průběhu práce
text_are_you_sure: Jste si jisti? text_are_you_sure: Jste si jisti?
@@ -870,7 +871,7 @@ cs:
text_unallowed_characters: Nepovolené znaky text_unallowed_characters: Nepovolené znaky
text_comma_separated: Povoleno více hodnot (oddělěné čárkou). 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_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_added: "Úkol %{id} byl vytvořen uživatelem %{author}."
text_issue_updated: "Úkol %{id} byl aktualizován 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? 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_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_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_load_default_configuration: Nahrát výchozí konfiguraci
text_status_changed_by_changeset: "Použito v changesetu %{value}." text_status_changed_by_changeset: "Použito v sadě změn %{value}."
text_time_logged_by_changeset: Aplikováno v changesetu %{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_issues_destroy_confirmation: 'Opravdu si přejete odstranit všechny zvolené úkoly?'
text_select_project_modules: 'Aktivní moduly v tomto projektu:' 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_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_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_plugin_assets_writable: Možnost zápisu do adresáře plugin assets
text_rmagick_available: RMagick k dispozici (volitelné) 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_question: "U úkolů, které chcete odstranit, je evidováno %{hours} práce. Co chete udělat?"
text_destroy_time_entries: Odstranit evidované hodiny. text_destroy_time_entries: Odstranit zaznamenané hodiny.
text_assign_time_entries_to_project: Přiřadit evidované hodiny projektu text_assign_time_entries_to_project: Přiřadit zaznamenané hodiny projektu
text_reassign_time_entries: 'Přeřadit evidované hodiny k tomuto úkolu:' text_reassign_time_entries: 'Přeřadit zaznamenané hodiny k tomuto úkolu:'
text_user_wrote: "%{value} napsal:" text_user_wrote: "%{value} napsal:"
text_enumeration_destroy_question: "Několik (%{count}) objektů je přiřazeno k této hodnotě." 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_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_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_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_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_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_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_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_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_in: Přiblížit
text_zoom_out: Oddálit text_zoom_out: Oddálit
@@ -934,157 +935,159 @@ cs:
enumeration_activities: Aktivity (sledování času) enumeration_activities: Aktivity (sledování času)
enumeration_system_activity: Systémová aktivita enumeration_system_activity: Systémová aktivita
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text 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: The current page contains unsaved text that will be lost if you leave this page. text_warn_on_leaving_unsaved: Aktuální stránka obsahuje neuložený text, který bude ztracen, když opustíte stránku.
label_my_queries: My custom queries label_my_queries: Moje vlastní dotazy
text_journal_changed_no_detail: "%{label} updated" text_journal_changed_no_detail: "%{label} aktualizován"
label_news_comment_added: Comment added to a news label_news_comment_added: K novince byl přidán komentář
button_expand_all: Expand all button_expand_all: Rozbal vše
button_collapse_all: Collapse all button_collapse_all: Sbal vše
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee 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: Additional transitions allowed when the user is the author label_additional_workflow_transitions_for_author: Další změna stavu povolena, jestliže je uživatel autorem
label_bulk_edit_selected_time_entries: Bulk edit selected time entries label_bulk_edit_selected_time_entries: Hromadná změna záznamů času
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)? text_time_entries_destroy_confirmation: Jste si jistí, že chcete smazat vybraný záznam(y) času?
label_role_anonymous: Anonymous label_role_anonymous: Anonymní
label_role_non_member: Non member label_role_non_member: Není členem
label_issue_note_added: Note added label_issue_note_added: Přidána poznámka
label_issue_status_updated: Status updated label_issue_status_updated: Aktualizován stav
label_issue_priority_updated: Priority updated label_issue_priority_updated: Aktualizována priorita
label_issues_visibility_own: Issues created by or assigned to the user label_issues_visibility_own: Úkol vytvořen nebo přiřazen uživatel(i/em)
field_issues_visibility: Issues visibility field_issues_visibility: Viditelnost úkolů
label_issues_visibility_all: All issues label_issues_visibility_all: Všechny úkoly
permission_set_own_issues_private: Set own issues public or private permission_set_own_issues_private: Nastavit vlastní úkoly jako veřejné nebo soukromé
field_is_private: Private field_is_private: Soukromý
permission_set_issues_private: Set issues public or private permission_set_issues_private: Nastavit úkoly jako veřejné nebo soukromé
label_issues_visibility_public: All non private issues label_issues_visibility_public: Všechny úkoly, které nejsou soukromé
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s). 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_commit_logs_encoding: Kódování zpráv při commitu
field_scm_path_encoding: Path encoding field_scm_path_encoding: Kódování cesty SCM
text_scm_path_encoding_note: "Default: UTF-8" text_scm_path_encoding_note: "Výchozí: UTF-8"
field_path_to_repository: Path to repository field_path_to_repository: Cesta k repositáři
field_root_directory: Root directory field_root_directory: Kořenový adresář
field_cvs_module: Module field_cvs_module: Modul
field_cvsroot: CVSROOT field_cvsroot: CVSROOT
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo) text_mercurial_repository_note: Lokální repositář (např. /hgrepo, c:\hgrepo)
text_scm_command: Command text_scm_command: Příkaz
text_scm_command_version: Version text_scm_command_version: Verze
label_git_report_last_commit: Report last commit for files and directories label_git_report_last_commit: Reportovat poslední commit pro soubory a adresáře
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it. 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 command is not available. Please check settings on the administration panel. text_scm_command_not_available: SCM příkaz není k dispozici. Zkontrolujte, prosím, nastavení v panelu Administrace.
notice_issue_successful_create: Issue %{id} created. notice_issue_successful_create: Úkol %{id} vytvořen.
label_between: between label_between: mezi
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Povolit přiřazení úkolu skupině
label_diff: diff label_diff: rozdíl
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo) text_git_repository_note: Repositář je "bare and local" (např. /gitrepo, c:\gitrepo)
description_query_sort_criteria_direction: Sort direction description_query_sort_criteria_direction: Směr třídění
description_project_scope: Search scope description_project_scope: Rozsah vyhledávání
description_filter: Filter description_filter: Filtr
description_user_mail_notification: Mail notification settings description_user_mail_notification: Nastavení emailových notifikací
description_date_from: Enter start date description_date_from: Zadejte počáteční datum
description_message_content: Message content description_message_content: Obsah zprávy
description_available_columns: Available Columns description_available_columns: Dostupné sloupce
description_date_range_interval: Choose range by selecting start and end date description_date_range_interval: Zvolte rozsah výběrem počátečního a koncového data
description_issue_category_reassign: Choose issue category description_issue_category_reassign: Zvolte kategorii úkolu
description_search: Searchfield description_search: Vyhledávací pole
description_notes: Notes description_notes: Poznámky
description_date_range_list: Choose range from list description_date_range_list: Zvolte rozsah ze seznamu
description_choose_project: Projects description_choose_project: Projekty
description_date_to: Enter end date description_date_to: Zadejte datum
description_query_sort_criteria_attribute: Sort attribute description_query_sort_criteria_attribute: Třídící atribut
description_wiki_subpages_reassign: Choose new parent page description_wiki_subpages_reassign: Zvolte novou rodičovskou stránku
description_selected_columns: Selected Columns description_selected_columns: Vybraný sloupec
label_parent_revision: Parent label_parent_revision: Rodič
label_child_revision: Child label_child_revision: Potomek
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size. 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: Use current date as start date for new issues setting_default_issue_start_date_to_creation_date: Použij aktuální datum jako počáteční datum pro nové úkoly
button_edit_section: Edit this section button_edit_section: Uprav tuto část
setting_repositories_encodings: Attachments and repositories encodings setting_repositories_encodings: Kódování příloh a repositářů
description_all_columns: All Columns description_all_columns: Všechny sloupce
button_export: Export button_export: Export
label_export_options: "%{export_format} export options" label_export_options: "nastavení exportu %{export_format}"
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size}) 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: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}." 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: label_x_issues:
zero: 0 Úkol zero: 0 Úkol
one: 1 Úkol one: 1 Úkol
other: "%{count} Úkoly" other: "%{count} Úkoly"
label_repository_new: New repository label_repository_new: Nový repositář
field_repository_is_default: Main repository field_repository_is_default: Hlavní repositář
label_copy_attachments: Copy attachments label_copy_attachments: Kopírovat přílohy
label_item_position: "%{position}/%{count}" label_item_position: "%{position}/%{count}"
label_completed_versions: Completed versions label_completed_versions: Dokončené verze
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed. 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: Multiple values field_multiple: Více hodnot
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed setting_commit_cross_project_ref: Povolit reference a opravy úkolů ze všech ostatních projektů
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes text_issue_conflict_resolution_add_notes: Přidat moje poznámky a zahodit ostatní změny
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten) 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: The issue has been updated by an other user while you were editing it. notice_issue_update_conflict: Během vašich úprav byl úkol aktualizován jiným uživatelem.
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link} text_issue_conflict_resolution_cancel: Zahoď všechny moje změny a znovu zobraz %{link}
permission_manage_related_issues: Manage related issues permission_manage_related_issues: Spravuj související úkoly
field_auth_source_ldap_filter: LDAP filter field_auth_source_ldap_filter: LDAP filtr
label_search_for_watchers: Search for watchers to add label_search_for_watchers: Hledej sledující pro přidání
notice_account_deleted: Your account has been permanently deleted. notice_account_deleted: Váš účet byl trvale smazán.
setting_unsubscribe: Allow users to delete their own account setting_unsubscribe: Povolit uživatelům smazání jejich vlastního účtu
button_delete_my_account: Delete my account button_delete_my_account: Smazat můj účet
text_account_destroy_confirmation: |- text_account_destroy_confirmation: |-
Are you sure you want to proceed? Skutečně chcete pokračovat?
Your account will be permanently deleted, with no way to reactivate it. Váš účet bude nenávratně smazán.
error_session_expired: Your session has expired. Please login again. error_session_expired: Vaše sezení vypršelo. Znovu se přihlaste, prosím.
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours." text_session_expiration_settings: "Varování: změnou tohoto nastavení mohou vypršet aktuální sezení včetně toho vašeho."
setting_session_lifetime: Session maximum lifetime setting_session_lifetime: Maximální čas sezení
setting_session_timeout: Session inactivity timeout setting_session_timeout: Vypršení sezení bez aktivity
label_session_expiration: Session expiration label_session_expiration: Vypršení sezení
permission_close_project: Close / reopen the project permission_close_project: Zavřít / Otevřít projekt
label_show_closed_projects: View closed projects label_show_closed_projects: Zobrazit zavřené projekty
button_close: Close button_close: Zavřít
button_reopen: Reopen button_reopen: Znovu otevřít
project_status_active: active project_status_active: aktivní
project_status_closed: closed project_status_closed: zavřený
project_status_archived: archived project_status_archived: archivovaný
text_project_closed: This project is closed and read-only. text_project_closed: Tento projekt je uzevřený a je pouze pro čtení.
notice_user_successful_create: User %{id} created. notice_user_successful_create: Uživatel %{id} vytvořen.
field_core_fields: Standard fields field_core_fields: Standardní pole
field_timeout: Timeout (in seconds) field_timeout: Vypršení (v sekundách)
setting_thumbnails_enabled: Display attachment thumbnails setting_thumbnails_enabled: Zobrazit náhled přílohy
setting_thumbnails_size: Thumbnails size (in pixels) setting_thumbnails_size: Velikost náhledu (v pixelech)
label_status_transitions: Status transitions label_status_transitions: Změna stavu
label_fields_permissions: Fields permissions label_fields_permissions: Práva k polím
label_readonly: Read-only label_readonly: Pouze pro čtení
label_required: Required label_required: Vyžadováno
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed. 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: Parent forum field_board_parent: Rodičovské fórum
label_attribute_of_project: Project's %{name} label_attribute_of_project: Projektové %{name}
label_attribute_of_author: Author's %{name} label_attribute_of_author: Autorovo %{name}
label_attribute_of_assigned_to: Assignee's %{name} label_attribute_of_assigned_to: "%{name} přiřazené(ho)"
label_attribute_of_fixed_version: Target version's %{name} label_attribute_of_fixed_version: Cílová verze %{name}
label_copy_subtasks: Copy subtasks label_copy_subtasks: Kopírovat dílčí úkoly
label_copied_to: copied to label_copied_to: zkopírováno do
label_copied_from: copied from label_copied_from: zkopírováno z
label_any_issues_in_project: any issues in project label_any_issues_in_project: jakékoli úkoly v projektu
label_any_issues_not_in_project: any issues not in project label_any_issues_not_in_project: jakékoli úkoly mimo projekt
field_private_notes: Private notes field_private_notes: Soukromé poznámky
permission_view_private_notes: View private notes permission_view_private_notes: Zobrazit soukromé poznámky
permission_set_notes_private: Set notes as private permission_set_notes_private: Nastavit poznámky jako soukromé
label_no_issues_in_project: no issues in project label_no_issues_in_project: žádné úkoly v projektu
label_any: vše label_any: vše
label_last_n_weeks: last %{count} weeks label_last_n_weeks: poslední %{count} týdny
setting_cross_project_subtasks: Allow cross-project subtasks setting_cross_project_subtasks: Povolit dílčí úkoly napříč projekty
label_cross_project_descendants: S podprojekty label_cross_project_descendants: S podprojekty
label_cross_project_tree: Se stromem projektu label_cross_project_tree: Se stromem projektu
label_cross_project_hierarchy: S hierarchií projektu label_cross_project_hierarchy: S hierarchií projektu
label_cross_project_system: Se všemi projekty label_cross_project_system: Se všemi projekty
button_hide: Hide button_hide: Skrýt
setting_non_working_week_days: Non-working days setting_non_working_week_days: Dny pracovního volna/klidu
label_in_the_next_days: in the next label_in_the_next_days: v přístích
label_in_the_past_days: in the past label_in_the_past_days: v minulých
label_attribute_of_user: User's %{name} label_attribute_of_user: "%{name} uživatel(e/ky)"
text_turning_multiple_off: If you disable multiple values, multiple values will be text_turning_multiple_off: Jestliže zakážete více hodnot,
removed in order to preserve only one value per item. hodnoty budou smazány za účelem rezervace pouze jediné hodnoty na položku.
label_attribute_of_issue: Issue's %{name} label_attribute_of_issue: "%{name} úkolu"
permission_add_documents: Add documents permission_add_documents: Přidat dokument
permission_edit_documents: Edit documents permission_edit_documents: Upravit dokumenty
permission_delete_documents: Delete documents permission_delete_documents: Smazet dokumenty
label_gantt_progress_line: Progress line label_gantt_progress_line: Vývojová čára
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Povolit podporu JSONP
field_inherit_members: Inherit members field_inherit_members: Zdědit členy
field_closed_on: Closed field_closed_on: Uzavřeno
setting_default_projects_tracker_ids: Výchozí fronta pro nové projekty
label_total_time: Celkem
+5 -3
View File
@@ -941,7 +941,6 @@ da:
label_principal_search: "Søg efter bruger eller gruppe:" label_principal_search: "Søg efter bruger eller gruppe:"
label_user_search: "Søg efter bruger:" label_user_search: "Søg efter bruger:"
field_visible: Synlig field_visible: Synlig
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Aktivitet for registreret tid setting_commit_logtime_activity_id: Aktivitet for registreret tid
text_time_logged_by_changeset: Anvendt i changeset %{value}. text_time_logged_by_changeset: Anvendt i changeset %{value}.
setting_commit_logtime_enabled: Aktiver tidsregistrering setting_commit_logtime_enabled: Aktiver tidsregistrering
@@ -983,8 +982,6 @@ da:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1102,3 +1099,8 @@ da:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+23 -21
View File
@@ -144,7 +144,7 @@ de:
greater_than_start_date: "muss größer als Anfangsdatum sein" greater_than_start_date: "muss größer als Anfangsdatum sein"
not_same_project: "gehört nicht zum selben Projekt" not_same_project: "gehört nicht zum selben Projekt"
circular_dependency: "Diese Beziehung würde eine zyklische Abhängigkeit erzeugen" 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 actionview_instancetag_blank_option: Bitte auswählen
@@ -280,7 +280,7 @@ de:
field_attr_login: Mitgliedsname-Attribut field_attr_login: Mitgliedsname-Attribut
field_attr_mail: E-Mail-Attribut field_attr_mail: E-Mail-Attribut
field_auth_source: Authentifizierungs-Modus field_auth_source: Authentifizierungs-Modus
field_auth_source_ldap_filter: LDAP Filter field_auth_source_ldap_filter: LDAP-Filter
field_author: Autor field_author: Autor
field_base_dn: Base DN field_base_dn: Base DN
field_board_parent: Übergeordnetes Forum field_board_parent: Übergeordnetes Forum
@@ -347,7 +347,7 @@ de:
field_parent_title: Übergeordnete Seite field_parent_title: Übergeordnete Seite
field_password: Kennwort field_password: Kennwort
field_password_confirmation: Bestätigung field_password_confirmation: Bestätigung
field_path_to_repository: Pfad zum repository field_path_to_repository: Pfad zum Repository
field_port: Port field_port: Port
field_possible_values: Mögliche Werte field_possible_values: Mögliche Werte
field_principal: Auftraggeber field_principal: Auftraggeber
@@ -359,7 +359,7 @@ de:
field_repository_is_default: Haupt-Repository field_repository_is_default: Haupt-Repository
field_role: Rolle field_role: Rolle
field_root_directory: Wurzelverzeichnis field_root_directory: Wurzelverzeichnis
field_scm_path_encoding: Pfad Kodierung field_scm_path_encoding: Pfad-Kodierung
field_searchable: Durchsuchbar field_searchable: Durchsuchbar
field_sharing: Gemeinsame Verwendung field_sharing: Gemeinsame Verwendung
field_spent_on: Datum field_spent_on: Datum
@@ -382,7 +382,7 @@ de:
field_value: Wert field_value: Wert
field_version: Version field_version: Version
field_visible: Sichtbar 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 field_watcher: Beobachter
general_csv_decimal_separator: ',' general_csv_decimal_separator: ','
@@ -473,7 +473,7 @@ de:
label_copied: kopiert label_copied: kopiert
label_copied_from: Kopiert von label_copied_from: Kopiert von
label_copied_to: Kopiert nach 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_same_as_target: So wie das Ziel
label_copy_source: Quelle label_copy_source: Quelle
label_copy_subtasks: Unteraufgaben kopieren label_copy_subtasks: Unteraufgaben kopieren
@@ -525,7 +525,7 @@ de:
label_f_hour: "%{value} Stunde" label_f_hour: "%{value} Stunde"
label_f_hour_plural: "%{value} Stunden" label_f_hour_plural: "%{value} Stunden"
label_feed_plural: Feeds 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_feeds_access_key_created_on: "Atom-Zugriffsschlüssel vor %{value} erstellt"
label_fields_permissions: Feldberechtigungen label_fields_permissions: Feldberechtigungen
label_file_added: Datei hinzugefügt label_file_added: Datei hinzugefügt
@@ -577,7 +577,7 @@ de:
label_issue_watchers: Beobachter label_issue_watchers: Beobachter
label_issues_by: "Tickets pro %{value}" label_issues_by: "Tickets pro %{value}"
label_issues_visibility_all: Alle Tickets 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_issues_visibility_public: Alle öffentlichen Tickets
label_item_position: "%{position}/%{count}" label_item_position: "%{position}/%{count}"
label_jump_to_a_project: Zu einem Projekt springen... label_jump_to_a_project: Zu einem Projekt springen...
@@ -610,7 +610,7 @@ de:
label_message_posted: Forenbeitrag hinzugefügt label_message_posted: Forenbeitrag hinzugefügt
label_min_max_length: Länge (Min. - Max.) label_min_max_length: Länge (Min. - Max.)
label_missing_api_access_key: Der API-Zugriffsschlüssel fehlt. 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_modified: geändert
label_module_plural: Module label_module_plural: Module
label_month: Monat label_month: Monat
@@ -755,8 +755,8 @@ de:
label_user_anonymous: Anonym 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_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_all: "Für alle Ereignisse in all meinen Projekten"
label_user_mail_option_none: keine Ereignisse 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_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_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_only_owner: Nur für Aufgaben die ich angelegt habe
label_user_mail_option_selected: "Für alle Ereignisse in den ausgewählten Projekten..." 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_watched_issues: Beobachtete Tickets
label_week: Woche label_week: Woche
label_wiki: Wiki label_wiki: Wiki
label_wiki_content_added: Die Wiki-Seite wurde erfolgreich hinzugefügt. label_wiki_content_added: Wiki-Seite hinzugefügt
label_wiki_content_updated: Die Wiki-Seite wurde erfolgreich aktualisiert. label_wiki_content_updated: Wiki-Seite aktualisiert
label_wiki_edit: Wiki-Bearbeitung label_wiki_edit: Wiki-Bearbeitung
label_wiki_edit_plural: Wiki-Bearbeitungen label_wiki_edit_plural: Wiki-Bearbeitungen
label_wiki_page: Wiki-Seite label_wiki_page: Wiki-Seite
@@ -872,7 +872,7 @@ de:
permission_browse_repository: Projektarchiv ansehen permission_browse_repository: Projektarchiv ansehen
permission_close_project: Schließen / erneutes Öffnen eines Projekts permission_close_project: Schließen / erneutes Öffnen eines Projekts
permission_comment_news: News kommentieren 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_issue_watchers: Beobachter löschen
permission_delete_issues: Tickets löschen permission_delete_issues: Tickets löschen
permission_delete_messages: Forenbeiträge 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_diff_max_lines_displayed: Maximale Anzahl anzuzeigender Diff-Zeilen
setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen setting_display_subprojects_issues: Tickets von Unterprojekten im Hauptprojekt anzeigen
setting_emails_footer: E-Mail-Fußzeile 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_enabled_scm: Aktivierte Versionskontrollsysteme
setting_feeds_limit: Max. Anzahl Einträge pro Atom-Feed setting_feeds_limit: Max. Anzahl Einträge pro Atom-Feed
setting_file_max_size_displayed: Maximale Größe inline angezeigter Textdateien 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_default: Standard-Gravatar-Bild
setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen setting_gravatar_enabled: Gravatar-Benutzerbilder benutzen
setting_host_name: Hostname setting_host_name: Hostname
@@ -991,7 +991,7 @@ de:
setting_per_page_options: Objekte pro Seite setting_per_page_options: Objekte pro Seite
setting_plain_text_mail: Nur reinen Text (kein HTML) senden setting_plain_text_mail: Nur reinen Text (kein HTML) senden
setting_protocol: Protokoll 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_repository_log_display_limit: Maximale Anzahl anzuzeigender Revisionen in der Historie einer Datei
setting_rest_api_enabled: REST-Schnittstelle aktivieren setting_rest_api_enabled: REST-Schnittstelle aktivieren
setting_self_registration: Anmeldung ermöglicht setting_self_registration: Anmeldung ermöglicht
@@ -1008,6 +1008,7 @@ de:
setting_user_format: Benutzer-Anzeigeformat setting_user_format: Benutzer-Anzeigeformat
setting_welcome_text: Willkommenstext setting_welcome_text: Willkommenstext
setting_wiki_compression: Wiki-Historie komprimieren setting_wiki_compression: Wiki-Historie komprimieren
setting_default_projects_tracker_ids: Standardmäßig aktivierte Tracker für neue Projekte
status_active: aktiv status_active: aktiv
status_locked: gesperrt 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_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_plugin_assets_writable: Verzeichnis für Plugin-Assets beschreibbar
text_project_closed: Dieses Projekt ist geschlossen und kann nicht bearbeitet werden. 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_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_reassign_time_entries: 'Gebuchte Aufwände diesem Ticket zuweisen:'
text_regexp_info: z. B. ^[A-Z0-9]+$ 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_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_rmagick_available: RMagick verfügbar (optional)
text_scm_command: Kommando 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_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_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" 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_nullify_children: Verschiebe die Unterseiten auf die oberste Ebene
text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu text_wiki_page_reassign_children: Ordne die Unterseiten dieser Seite zu
text_workflow_edit: Workflow zum Bearbeiten auswählen text_workflow_edit: Workflow zum Bearbeiten auswählen
text_zoom_in: Zoom in text_zoom_in: Ansicht vergrößern
text_zoom_out: Zoom out text_zoom_out: Ansicht verkleinern
version_status_closed: abgeschlossen version_status_closed: abgeschlossen
version_status_locked: gesperrt version_status_locked: gesperrt
version_status_open: offen version_status_open: offen
warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden." warning_attachments_not_saved: "%{count} Datei(en) konnten nicht gespeichert werden."
label_total_time: Gesamtzeit
+5 -3
View File
@@ -925,7 +925,6 @@ el:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -966,8 +965,6 @@ el:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1085,3 +1082,8 @@ el:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+6 -4
View File
@@ -338,8 +338,8 @@ en-GB:
setting_time_format: Time format setting_time_format: Time format
setting_cross_project_issue_relations: Allow cross-project issue relations setting_cross_project_issue_relations: Allow cross-project issue relations
setting_issue_list_default_columns: Default columns displayed on the issue list setting_issue_list_default_columns: Default columns displayed on the issue list
setting_emails_header: Emails header setting_emails_header: Email header
setting_emails_footer: Emails footer setting_emails_footer: Email footer
setting_protocol: Protocol setting_protocol: Protocol
setting_per_page_options: Objects per page options setting_per_page_options: Objects per page options
setting_user_format: Users display format setting_user_format: Users display format
@@ -972,8 +972,8 @@ en-GB:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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_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_command_not_available: SCM command is not available. Please check settings on the administration panel.
notice_issue_successful_create: Issue %{id} created. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
label_diff: diff label_diff: diff
@@ -1087,3 +1087,5 @@ en-GB:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
+6 -4
View File
@@ -359,8 +359,8 @@ en:
setting_cross_project_subtasks: Allow cross-project subtasks setting_cross_project_subtasks: Allow cross-project subtasks
setting_issue_list_default_columns: Default columns displayed on the issue list setting_issue_list_default_columns: Default columns displayed on the issue list
setting_repositories_encodings: Attachments and repositories encodings setting_repositories_encodings: Attachments and repositories encodings
setting_emails_header: Emails header setting_emails_header: Email header
setting_emails_footer: Emails footer setting_emails_footer: Email footer
setting_protocol: Protocol setting_protocol: Protocol
setting_per_page_options: Objects per page options setting_per_page_options: Objects per page options
setting_user_format: Users display format setting_user_format: Users display format
@@ -400,6 +400,7 @@ en:
setting_thumbnails_size: Thumbnails size (in pixels) setting_thumbnails_size: Thumbnails size (in pixels)
setting_non_working_week_days: Non-working days setting_non_working_week_days: Non-working days
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
setting_default_projects_tracker_ids: Default trackers for new projects
permission_add_project: Create project permission_add_project: Create project
permission_add_subprojects: Create subprojects permission_add_subprojects: Create subprojects
@@ -617,6 +618,7 @@ en:
one: 1 issue one: 1 issue
other: "%{count} issues" other: "%{count} issues"
label_total: Total label_total: Total
label_total_time: Total time
label_permissions: Permissions label_permissions: Permissions
label_current_status: Current status label_current_status: Current status
label_new_statuses_allowed: New statuses allowed label_new_statuses_allowed: New statuses allowed
@@ -1025,8 +1027,8 @@ en:
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo) text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version 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_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_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_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_add_notes: "Add my notes and discard my other changes"
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}" text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
+2
View File
@@ -1121,3 +1121,5 @@ es:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
+2
View File
@@ -1098,3 +1098,5 @@ et:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: "Kokku"
+4 -2
View File
@@ -967,8 +967,6 @@ eu:
text_scm_command: Komandoa text_scm_command: Komandoa
text_scm_command_version: Bertsioa text_scm_command_version: Bertsioa
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1084,7 @@ eu:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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.
+4 -2
View File
@@ -968,8 +968,6 @@ fa:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1087,3 +1085,7 @@ fa:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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.
+5 -3
View File
@@ -946,7 +946,6 @@ fi:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -987,8 +986,6 @@ fi:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1106,3 +1103,8 @@ fi:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+2
View File
@@ -397,6 +397,7 @@ fr:
setting_thumbnails_size: Taille des vignettes (en pixels) setting_thumbnails_size: Taille des vignettes (en pixels)
setting_non_working_week_days: Jours non travaillés setting_non_working_week_days: Jours non travaillés
setting_jsonp_enabled: Activer le support JSONP 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_project: Créer un projet
permission_add_subprojects: Créer des sous-projets permission_add_subprojects: Créer des sous-projets
@@ -611,6 +612,7 @@ fr:
one: 1 demande one: 1 demande
other: "%{count} demandes" other: "%{count} demandes"
label_total: Total label_total: Total
label_total_time: Temps total
label_permissions: Permissions label_permissions: Permissions
label_current_status: Statut actuel label_current_status: Statut actuel
label_new_statuses_allowed: Nouveaux statuts autorisés label_new_statuses_allowed: Nouveaux statuts autorisés
+5 -3
View File
@@ -936,7 +936,6 @@ gl:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -977,8 +976,6 @@ gl:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1096,3 +1093,8 @@ gl:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+5 -3
View File
@@ -930,7 +930,6 @@ he:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -971,8 +970,6 @@ he:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1090,3 +1087,8 @@ he:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+5 -3
View File
@@ -926,7 +926,6 @@ hr:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -967,8 +966,6 @@ hr:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1083,8 @@ hr:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+4 -2
View File
@@ -985,8 +985,6 @@
text_scm_command: Parancs text_scm_command: Parancs
text_scm_command_version: Verzió text_scm_command_version: Verzió
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1104,3 +1102,7 @@
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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.
+5 -3
View File
@@ -929,7 +929,6 @@ id:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -970,8 +969,6 @@ id:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1089,3 +1086,8 @@ id:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+2
View File
@@ -1086,3 +1086,5 @@ it:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Totale
+7 -5
View File
@@ -401,6 +401,7 @@ ja:
setting_commit_logtime_enabled: コミット時に作業時間を記録する setting_commit_logtime_enabled: コミット時に作業時間を記録する
setting_commit_logtime_activity_id: 作業時間の作業分類 setting_commit_logtime_activity_id: 作業時間の作業分類
setting_gantt_items_limit: ガントチャート最大表示項目数 setting_gantt_items_limit: ガントチャート最大表示項目数
setting_default_projects_tracker_ids: 新規プロジェクトにおいてデフォルトで有効になるトラッカー
permission_add_project: プロジェクトの追加 permission_add_project: プロジェクトの追加
permission_add_subprojects: サブプロジェクトの追加 permission_add_subprojects: サブプロジェクトの追加
@@ -904,9 +905,9 @@ ja:
text_journal_set_to: "%{label} を %{value} にセット" text_journal_set_to: "%{label} を %{value} にセット"
text_journal_deleted: "%{label} を削除 (%{old})" text_journal_deleted: "%{label} を削除 (%{old})"
text_journal_added: "%{label} %{value} を追加" text_journal_added: "%{label} %{value} を追加"
text_tip_issue_begin_day: この日に開始するタスク text_tip_issue_begin_day: この日に開始するチケット
text_tip_issue_end_day: この日に終了するタスク text_tip_issue_end_day: この日に終了するチケット
text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク text_tip_issue_begin_end_day: この日に開始終了するチケット
text_caracters_maximum: "最大%{count}文字です。" text_caracters_maximum: "最大%{count}文字です。"
text_caracters_minimum: "最低%{count}文字の長さが必要です" text_caracters_minimum: "最低%{count}文字の長さが必要です"
text_length_between: "長さは%{min}から%{max}文字までです。" text_length_between: "長さは%{min}から%{max}文字までです。"
@@ -1112,5 +1113,6 @@ ja:
permission_edit_documents: 文書の編集 permission_edit_documents: 文書の編集
permission_delete_documents: 文書の削除 permission_delete_documents: 文書の削除
setting_jsonp_enabled: JSONPを有効にする setting_jsonp_enabled: JSONPを有効にする
field_inherit_members: Inherit members field_inherit_members: メンバーを継承
field_closed_on: Closed field_closed_on: 終了日
label_total_time: 合計
+27 -26
View File
@@ -231,7 +231,7 @@ ko:
mail_body_account_information: 계정 정보 mail_body_account_information: 계정 정보
mail_subject_account_activation_request: "%{value} 계정 활성화 요청" mail_subject_account_activation_request: "%{value} 계정 활성화 요청"
mail_body_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_reminder: "내일이 만기인 일감 %{count}개 (%{days})"
mail_subject_wiki_content_added: "위키페이지 '%{id}'이(가) 추가되었습니다." mail_subject_wiki_content_added: "위키페이지 '%{id}'이(가) 추가되었습니다."
mail_subject_wiki_content_updated: "'위키페이지 %{id}'이(가) 수정되었습니다." mail_subject_wiki_content_updated: "'위키페이지 %{id}'이(가) 수정되었습니다."
@@ -269,7 +269,7 @@ ko:
field_is_default: 기본값 field_is_default: 기본값
field_tracker: 유형 field_tracker: 유형
field_subject: 제목 field_subject: 제목
field_due_date: 완료 기한 field_due_date: 완료기한
field_assigned_to: 담당자 field_assigned_to: 담당자
field_priority: 우선순위 field_priority: 우선순위
field_fixed_version: 목표버전 field_fixed_version: 목표버전
@@ -324,7 +324,7 @@ ko:
field_comments_sorting: 댓글 정렬 field_comments_sorting: 댓글 정렬
field_parent_title: 상위 제목 field_parent_title: 상위 제목
field_editable: 편집가능 field_editable: 편집가능
field_watcher: 일감지킴이 field_watcher: 일감관람자
field_identity_url: OpenID URL field_identity_url: OpenID URL
field_content: 내용 field_content: 내용
field_group_by: 결과를 묶어 보여줄 기준 field_group_by: 결과를 묶어 보여줄 기준
@@ -390,8 +390,8 @@ ko:
permission_save_queries: 검색양식 저장 permission_save_queries: 검색양식 저장
permission_view_gantt: Gantt차트 보기 permission_view_gantt: Gantt차트 보기
permission_view_calendar: 달력 보기 permission_view_calendar: 달력 보기
permission_view_issue_watchers: 일감지킴이 보기 permission_view_issue_watchers: 일감관람자 보기
permission_add_issue_watchers: 일감지킴이 추가 permission_add_issue_watchers: 일감관람자 추가
permission_log_time: 작업시간 기록 permission_log_time: 작업시간 기록
permission_view_time_entries: 시간입력 보기 permission_view_time_entries: 시간입력 보기
permission_edit_time_entries: 시간입력 편집 permission_edit_time_entries: 시간입력 편집
@@ -457,9 +457,9 @@ ko:
label_role_plural: 역할 label_role_plural: 역할
label_role_new: 새 역할 label_role_new: 새 역할
label_role_and_permissions: 역할 및 권한 label_role_and_permissions: 역할 및 권한
label_member: 담당자 label_member: 구성원
label_member_new: 담당자 label_member_new: 구성원
label_member_plural: 담당자 label_member_plural: 구성원
label_tracker: 일감 유형 label_tracker: 일감 유형
label_tracker_plural: 일감 유형 label_tracker_plural: 일감 유형
label_tracker_new: 새 일감 유형 label_tracker_new: 새 일감 유형
@@ -660,8 +660,8 @@ ko:
label_commits_per_month: 월별 커밋 내역 label_commits_per_month: 월별 커밋 내역
label_commits_per_author: 저자별 커밋 내역 label_commits_per_author: 저자별 커밋 내역
label_view_diff: 차이점 보기 label_view_diff: 차이점 보기
label_diff_inline: 줄로 label_diff_inline: 줄로
label_diff_side_by_side: 줄로 label_diff_side_by_side: 줄로
label_options: 옵션 label_options: 옵션
label_copy_workflow_from: 업무흐름 복사하기 label_copy_workflow_from: 업무흐름 복사하기
label_permissions_report: 권한 보고서 label_permissions_report: 권한 보고서
@@ -741,7 +741,7 @@ ko:
label_planning: 프로젝트계획 label_planning: 프로젝트계획
label_incoming_emails: 수신 메일 label_incoming_emails: 수신 메일
label_generate_key: 키 생성 label_generate_key: 키 생성
label_issue_watchers: 일감지킴이 label_issue_watchers: 일감관람자
label_example: label_example:
label_display: 표시방식 label_display: 표시방식
label_sort: 정렬 label_sort: 정렬
@@ -787,7 +787,7 @@ ko:
button_change_password: 비밀번호 바꾸기 button_change_password: 비밀번호 바꾸기
button_copy: 복사 button_copy: 복사
button_annotate: 이력해설 button_annotate: 이력해설
button_update: 수정 button_update: 업데이트
button_configure: 설정 button_configure: 설정
button_quote: 댓글달기 button_quote: 댓글달기
@@ -886,7 +886,7 @@ ko:
text_journal_added: "%{label}에 %{value}이(가) 추가되었습니다." text_journal_added: "%{label}에 %{value}이(가) 추가되었습니다."
field_active: 사용중 field_active: 사용중
enumeration_system_activity: 시스템 작업 enumeration_system_activity: 시스템 작업
permission_delete_issue_watchers: 일감지킴이 지우기 permission_delete_issue_watchers: 일감관람자 지우기
version_status_closed: 닫힘 version_status_closed: 닫힘
version_status_locked: 잠김 version_status_locked: 잠김
version_status_open: 진행 version_status_open: 진행
@@ -1002,7 +1002,7 @@ ko:
permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정" permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정"
field_is_private: "비공개" field_is_private: "비공개"
permission_set_issues_private: "일감을 공개나 비공개로 설정" permission_set_issues_private: "일감을 공개나 비공개로 설정"
label_issues_visibility_public: "모든 비공개 일감" label_issues_visibility_public: "비공개 일감 제외"
text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다." text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다."
field_commit_logs_encoding: "커밋(commit) 기록 인코딩" field_commit_logs_encoding: "커밋(commit) 기록 인코딩"
field_scm_path_encoding: "경로 인코딩" field_scm_path_encoding: "경로 인코딩"
@@ -1069,7 +1069,7 @@ ko:
text_issue_conflict_resolution_cancel: "변경내용을 되돌리고 다시 표시 %{link}" text_issue_conflict_resolution_cancel: "변경내용을 되돌리고 다시 표시 %{link}"
permission_manage_related_issues: 연결된 일감 관리 permission_manage_related_issues: 연결된 일감 관리
field_auth_source_ldap_filter: LDAP 필터 field_auth_source_ldap_filter: LDAP 필터
label_search_for_watchers: 추가할 일감지킴이 검색 label_search_for_watchers: 추가할 일감관람자 검색
notice_account_deleted: 당신의 계정이 완전히 삭제되었습니다. notice_account_deleted: 당신의 계정이 완전히 삭제되었습니다.
setting_unsubscribe: 사용자들이 자신의 계정을 삭제토록 허용 setting_unsubscribe: 사용자들이 자신의 계정을 삭제토록 허용
button_delete_my_account: 나의 계정 삭제 button_delete_my_account: 나의 계정 삭제
@@ -1112,7 +1112,7 @@ ko:
field_private_notes: 비공개 덧글 field_private_notes: 비공개 덧글
permission_view_private_notes: 비공개 덧글 보기 permission_view_private_notes: 비공개 덧글 보기
permission_set_notes_private: 덧글을 비공개로 설정 permission_set_notes_private: 덧글을 비공개로 설정
label_no_issues_in_project: 다음 프로젝트 내에서 해당 일감 없음 label_no_issues_in_project: 다음 프로젝트 일감 제외
label_any: 모두 label_any: 모두
label_last_n_weeks: 최근 %{count} 주 label_last_n_weeks: 최근 %{count} 주
setting_cross_project_subtasks: 다른 프로젝트의 일감을 상위 일감으로 지정하는 것을 허용 setting_cross_project_subtasks: 다른 프로젝트의 일감을 상위 일감으로 지정하는 것을 허용
@@ -1124,14 +1124,15 @@ ko:
setting_non_working_week_days: 비근무일 (non-working days) setting_non_working_week_days: 비근무일 (non-working days)
label_in_the_next_days: 다음 label_in_the_next_days: 다음
label_in_the_past_days: 지난 label_in_the_past_days: 지난
label_attribute_of_user: User's %{name} label_attribute_of_user: "사용자의 %{name}"
text_turning_multiple_off: If you disable multiple values, multiple values will be text_turning_multiple_off: 복수선택을 비활성화하면, 하나의 값을 제외한 나머지 값들이 지워집니다.
removed in order to preserve only one value per item. label_attribute_of_issue: "일감의 %{name}"
label_attribute_of_issue: Issue's %{name} permission_add_documents: 문서 추가
permission_add_documents: Add documents permission_edit_documents: 문서 편집
permission_edit_documents: Edit documents permission_delete_documents: 문서 삭제
permission_delete_documents: Delete documents
label_gantt_progress_line: Progress line label_gantt_progress_line: Progress line
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: JSONP 허용
field_inherit_members: Inherit members field_inherit_members: 상위 프로젝트로부터 구성원을 상속
field_closed_on: Closed field_closed_on: 완료일
setting_default_projects_tracker_ids: 새 프로젝트에 기본적으로 추가할 일감 유형
label_total_time: 합계
+4 -2
View File
@@ -1008,8 +1008,6 @@ lt:
text_mercurial_repository_note: Vietinė saugykla (e.g. /hgrepo, c:\hgrepo) text_mercurial_repository_note: Vietinė saugykla (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Komanda text_scm_command: Komanda
text_scm_command_version: Versija 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_manager: Vadovas
default_role_developer: Projektuotojas default_role_developer: Projektuotojas
@@ -1144,3 +1142,7 @@ lt:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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.
+5 -3
View File
@@ -919,7 +919,6 @@ lv:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -960,8 +959,6 @@ lv:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1079,3 +1076,8 @@ lv:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+6 -4
View File
@@ -327,7 +327,6 @@ mk:
setting_time_format: Формат на време setting_time_format: Формат на време
setting_cross_project_issue_relations: Дозволи релации на задачи меѓу проекти setting_cross_project_issue_relations: Дозволи релации на задачи меѓу проекти
setting_issue_list_default_columns: Default columns displayed on the issue list setting_issue_list_default_columns: Default columns displayed on the issue list
setting_emails_footer: Emails footer
setting_protocol: Протокол setting_protocol: Протокол
setting_per_page_options: Objects per page options setting_per_page_options: Objects per page options
setting_user_format: Приказ на корисниците setting_user_format: Приказ на корисниците
@@ -925,7 +924,6 @@ mk:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -966,8 +964,6 @@ mk:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1085,3 +1081,9 @@ mk:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+5 -3
View File
@@ -926,7 +926,6 @@ mn:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -967,8 +966,6 @@ mn:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1083,8 @@ mn:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+3 -1
View File
@@ -908,7 +908,6 @@ nl:
label_principal_search: "Zoek naar gebruiker of groep:" label_principal_search: "Zoek naar gebruiker of groep:"
label_user_search: "Zoek naar gebruiker:" label_user_search: "Zoek naar gebruiker:"
field_visible: Zichtbaar field_visible: Zichtbaar
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie setting_commit_logtime_activity_id: Standaard activiteit voor tijdregistratie
text_time_logged_by_changeset: Toegepast in changeset %{value}. text_time_logged_by_changeset: Toegepast in changeset %{value}.
setting_commit_logtime_enabled: Activeer tijdregistratie setting_commit_logtime_enabled: Activeer tijdregistratie
@@ -1067,3 +1066,6 @@ nl:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Totaal
setting_emails_header: Email header
+2
View File
@@ -1075,3 +1075,5 @@
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Totalt
+5 -3
View File
@@ -946,7 +946,6 @@ pl:
label_principal_search: "Szukaj użytkownika lub grupy:" label_principal_search: "Szukaj użytkownika lub grupy:"
label_user_search: "Szukaj użytkownika:" label_user_search: "Szukaj użytkownika:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -987,8 +986,6 @@ pl:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1106,3 +1103,8 @@ pl:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+106 -105
View File
@@ -53,8 +53,8 @@ pt-BR:
one: 'aproximadamente 1 hora' one: 'aproximadamente 1 hora'
other: 'aproximadamente %{count} horas' other: 'aproximadamente %{count} horas'
x_hours: x_hours:
one: "1 hour" one: "1 hora"
other: "%{count} hours" other: "%{count} horas"
x_days: x_days:
one: '1 dia' one: '1 dia'
@@ -76,8 +76,8 @@ pt-BR:
one: 'mais de 1 ano' one: 'mais de 1 ano'
other: 'mais de %{count} anos' other: 'mais de %{count} anos'
almost_x_years: almost_x_years:
one: "almost 1 year" one: "quase 1 ano"
other: "almost %{count} years" other: "quase %{count} anos"
# numeros # numeros
number: number:
@@ -122,8 +122,8 @@ pt-BR:
errors: errors:
template: template:
header: header:
one: "model não pode ser salvo: 1 erro" one: "modelo não pode ser salvo: 1 erro"
other: "model não pode ser salvo: %{count} erros." other: "modelo não pode ser salvo: %{count} erros."
body: "Por favor, verifique os seguintes campos:" body: "Por favor, verifique os seguintes campos:"
messages: messages:
inclusion: "não está incluso na lista" inclusion: "não está incluso na lista"
@@ -134,7 +134,7 @@ pt-BR:
empty: "não pode ficar vazio" empty: "não pode ficar vazio"
blank: "não pode ficar vazio" blank: "não pode ficar vazio"
too_long: "é muito longo (máximo: %{count} caracteres)" 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" wrong_length: "deve ter %{count} caracteres"
taken: "não está disponível" taken: "não está disponível"
not_a_number: "não é um número" not_a_number: "não é um número"
@@ -879,12 +879,12 @@ pt-BR:
label_copy_source: Origem label_copy_source: Origem
setting_issue_done_ratio: Calcular o percentual de conclusão da tarefa setting_issue_done_ratio: Calcular o percentual de conclusão da tarefa
setting_issue_done_ratio_issue_status: Usar a situaçã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 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_same_as_target: Mesmo alvo
label_copy_target: 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 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 label_update_issue_done_ratios: Atualizar percentual de conclusão das tarefas
setting_start_of_week: Início da semana 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_api_access_key_created_on: Chave de acesso a API criado a %{value} atrás
label_feeds_access_key: Chave de acesso ao RSS label_feeds_access_key: Chave de acesso ao RSS
notice_api_access_key_reseted: Sua chave de acesso a API foi redefinida. 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_api_access_key: Chave de acesso a API faltando
label_missing_feeds_access_key: Chave de acesso ao RSS faltando label_missing_feeds_access_key: Chave de acesso ao RSS faltando
text_line_separated: Múltiplos valores permitidos (uma linha para cada valor). 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 permission_manage_project_activities: Gerenciar atividades do projeto
error_unable_delete_issue_status: Não foi possível excluir situação da tarefa error_unable_delete_issue_status: Não foi possível excluir situação da tarefa
label_profile: Perfil label_profile: Perfil
permission_manage_subtasks: Gerenciar subtarefas permission_manage_subtasks: Gerenciar sub-tarefas
field_parent_issue: Tarefa pai field_parent_issue: Tarefa pai
label_subtask_plural: Subtarefas label_subtask_plural: Subtarefas
label_project_copy_notifications: Enviar notificações por e-mail ao copiar projeto 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 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_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. 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. notice_issue_successful_create: Tarefa %{id} criada.
label_between: between label_between: entre
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Permitir atribuições de tarefas a grupos
label_diff: diff 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_project_scope: Escopo da pesquisa
description_filter: Filtro description_filter: Filtro
description_user_mail_notification: Configuração de notificações por e-mail 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_date_range_list: Escolha um período a partira da lista
description_choose_project: Projetos description_choose_project: Projetos
description_date_to: Digite a data final 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_wiki_subpages_reassign: Escolha uma nova página pai
description_selected_columns: Colunas selecionadas description_selected_columns: Colunas selecionadas
label_parent_revision: Parent label_parent_revision: Pais
label_child_revision: Child label_child_revision: Filhos
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size. 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 setting_default_issue_start_date_to_creation_date: Usar data corrente como data inicial para novas tarefas
button_edit_section: Edit this section button_edit_section: Editar esta seção
setting_repositories_encodings: Attachments and repositories encodings setting_repositories_encodings: Encoding dos repositórios e anexos
description_all_columns: All Columns description_all_columns: Todas as colunas
button_export: Export button_export: Exportar
label_export_options: "%{export_format} export options" label_export_options: "Opções de exportação %{export_format}"
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size}) 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: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}." notice_failed_to_save_time_entries: "Falha ao salvar %{count} de %{total} horas trabalhadas: %{ids}."
label_x_issues: label_x_issues:
zero: 0 tarefa zero: 0 tarefa
one: 1 tarefa one: 1 tarefa
other: "%{count} tarefas" other: "%{count} tarefas"
label_repository_new: New repository label_repository_new: Novo repositório
field_repository_is_default: Main repository field_repository_is_default: Repositório principal
label_copy_attachments: Copy attachments label_copy_attachments: Copiar anexos
label_item_position: "%{position}/%{count}" label_item_position: "%{position}/%{count}"
label_completed_versions: Completed versions label_completed_versions: Versões completadas
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed. 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: Multiple values field_multiple: Multiplos valores
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed setting_commit_cross_project_ref: Permitir que tarefas de todos os outros projetos sejam refenciadas e resolvidas
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes text_issue_conflict_resolution_add_notes: Adicione minhas anotações e descartar minhas outras mudanças
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten) 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: The issue has been updated by an other user while you were editing it. notice_issue_update_conflict: A tarefa foi atualizada por um outro usuário, enquanto você estava editando.
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link} text_issue_conflict_resolution_cancel: Descartar todas as minhas mudanças e re-exibir %{link}
permission_manage_related_issues: Manage related issues permission_manage_related_issues: Gerenciar tarefas relacionadas
field_auth_source_ldap_filter: LDAP filter field_auth_source_ldap_filter: Filtro LDAP
label_search_for_watchers: Search for watchers to add label_search_for_watchers: Procurar por outros observadores para adiconar
notice_account_deleted: Your account has been permanently deleted. notice_account_deleted: Sua conta foi excluída permanentemente.
setting_unsubscribe: Allow users to delete their own account setting_unsubscribe: Permitir aos usuários excluir sua conta própria
button_delete_my_account: Delete my account button_delete_my_account: Excluir minha conta
text_account_destroy_confirmation: |- text_account_destroy_confirmation: |-
Are you sure you want to proceed? Tem certeza de que quer continuar?
Your account will be permanently deleted, with no way to reactivate it. Sua conta será excluída permanentemente, sem qualquer forma de reativá-lo.
error_session_expired: Your session has expired. Please login again. error_session_expired: A sua sessão expirou. Por favor, faça login novamente.
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours." text_session_expiration_settings: "Aviso: a alteração dessas configurações pode expirar as sessões atuais, incluindo a sua."
setting_session_lifetime: Session maximum lifetime setting_session_lifetime: duração máxima da sessão
setting_session_timeout: Session inactivity timeout setting_session_timeout: tempo limite de inatividade da sessão
label_session_expiration: Session expiration label_session_expiration: "Expiração da sessão"
permission_close_project: Close / reopen the project permission_close_project: Fechar / reabrir o projeto
label_show_closed_projects: View closed projects label_show_closed_projects: Visualização de projetos fechados
button_close: Close button_close: Fechar
button_reopen: Reopen button_reopen: Reabrir
project_status_active: active project_status_active: ativo
project_status_closed: closed project_status_closed: fechado
project_status_archived: archived project_status_archived: arquivado
text_project_closed: This project is closed and read-only. text_project_closed: Este projeto é fechado e somente leitura.
notice_user_successful_create: User %{id} created. notice_user_successful_create: Usuário %{id} criado.
field_core_fields: Standard fields field_core_fields: campos padrão
field_timeout: Timeout (in seconds) field_timeout: Tempo de espera (em segundos)
setting_thumbnails_enabled: Display attachment thumbnails setting_thumbnails_enabled: Exibir miniaturas de anexos
setting_thumbnails_size: Thumbnails size (in pixels) setting_thumbnails_size: Tamanho das miniaturas (em pixels)
label_status_transitions: Status transitions label_status_transitions: Estados das transições
label_fields_permissions: Fields permissions label_fields_permissions: Permissões de campos
label_readonly: Read-only label_readonly: somente leitura
label_required: Required label_required: Obrigatório
text_repository_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed. 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: Parent forum field_board_parent: Fórum Pai
label_attribute_of_project: Project's %{name} label_attribute_of_project: "Projeto %{name}"
label_attribute_of_author: Author's %{name} label_attribute_of_author: "autor %{name}"
label_attribute_of_assigned_to: Assignee's %{name} label_attribute_of_assigned_to: "atribuído %{name}"
label_attribute_of_fixed_version: Target version's %{name} label_attribute_of_fixed_version: "versão alvo %{name}"
label_copy_subtasks: Copy subtasks label_copy_subtasks: Copiar sub-tarefas
label_copied_to: copied to label_copied_to: copiada
label_copied_from: copied from label_copied_from: copiado
label_any_issues_in_project: any issues in project label_any_issues_in_project: quaisquer problemas em projeto
label_any_issues_not_in_project: any issues not in project label_any_issues_not_in_project: todas as questões que não estão em projeto
field_private_notes: Private notes field_private_notes: notas privadas
permission_view_private_notes: View private notes permission_view_private_notes: Ver notas privadas
permission_set_notes_private: Set notes as private permission_set_notes_private: Permitir alterar notas para privada
label_no_issues_in_project: no issues in project label_no_issues_in_project: sem problemas em projeto
label_any: todos label_any: todos
label_last_n_weeks: last %{count} weeks label_last_n_weeks: "últimas %{count} semanas"
setting_cross_project_subtasks: Allow cross-project subtasks setting_cross_project_subtasks: Permitir cruzamento de sub-tarefas entre projetos
label_cross_project_descendants: Com sub-projetos label_cross_project_descendants: com sub-Projetos
label_cross_project_tree: Com a árvore do projeto label_cross_project_tree: Com uma Árvore fazer o Projeto
label_cross_project_hierarchy: Com a hierarquia do projeto label_cross_project_hierarchy: Com uma hierarquia fazer o Projeto
label_cross_project_system: Com todos os projetos label_cross_project_system: Com de Todos os Projetos
button_hide: Hide button_hide: Esconder
setting_non_working_week_days: Non-working days setting_non_working_week_days: dias não úteis
label_in_the_next_days: in the next label_in_the_next_days: na próxima
label_in_the_past_days: in the past label_in_the_past_days: no passado
label_attribute_of_user: User's %{name} label_attribute_of_user: Usuário %{name}
text_turning_multiple_off: If you disable multiple values, multiple values will be 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.
removed in order to preserve only one value per item. label_attribute_of_issue: Emissão de %{name}
label_attribute_of_issue: Issue's %{name} permission_add_documents: Adicionar documentos
permission_add_documents: Add documents permission_edit_documents: Editar documentos
permission_edit_documents: Edit documents permission_delete_documents: excluir documentos
permission_delete_documents: Delete documents label_gantt_progress_line: Linha de progresso
label_gantt_progress_line: Progress line setting_jsonp_enabled: Ativar suporte JSONP
setting_jsonp_enabled: Enable JSONP support field_inherit_members: Herdar membros
field_inherit_members: Inherit members field_closed_on: Fechado
field_closed_on: Closed setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
+2
View File
@@ -1091,3 +1091,5 @@ pt:
setting_jsonp_enabled: Activar suporte JSONP setting_jsonp_enabled: Activar suporte JSONP
field_inherit_members: Herdar membros field_inherit_members: Herdar membros
field_closed_on: Fechado field_closed_on: Fechado
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
+5 -3
View File
@@ -920,7 +920,6 @@ ro:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -961,8 +960,6 @@ ro:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1080,3 +1077,8 @@ ro:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+5 -3
View File
@@ -1192,6 +1192,8 @@ ru:
permission_edit_documents: Редактировать документы permission_edit_documents: Редактировать документы
permission_delete_documents: Удалить документы permission_delete_documents: Удалить документы
label_gantt_progress_line: Линия прогресса label_gantt_progress_line: Линия прогресса
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Поддержка JSONP
field_inherit_members: Inherit members field_inherit_members: Наследовать участников
field_closed_on: Closed field_closed_on: Закрыта
setting_default_projects_tracker_ids: Трекеры по умолчанию для новых проектов
label_total_time: Общее время
+5 -3
View File
@@ -922,7 +922,6 @@ sk:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -963,8 +962,6 @@ sk:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1082,3 +1079,8 @@ sk:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+2
View File
@@ -1085,3 +1085,5 @@ sl:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Skupaj
+6 -4
View File
@@ -351,8 +351,6 @@ sq:
setting_cross_project_issue_relations: Allow cross-project issue relations setting_cross_project_issue_relations: Allow cross-project issue relations
setting_issue_list_default_columns: Default columns displayed on the issue list setting_issue_list_default_columns: Default columns displayed on the issue list
setting_repositories_encodings: Attachments and repositories encodings setting_repositories_encodings: Attachments and repositories encodings
setting_emails_header: Emails header
setting_emails_footer: Emails footer
setting_protocol: Protocol setting_protocol: Protocol
setting_per_page_options: Objects per page options setting_per_page_options: Objects per page options
setting_user_format: Users display format setting_user_format: Users display format
@@ -971,8 +969,6 @@ sq:
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo) text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version 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_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_add_notes: "Add my notes and discard my other changes"
text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}" text_issue_conflict_resolution_cancel: "Discard all my changes and redisplay %{link}"
@@ -1081,3 +1077,9 @@ sq:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+4 -2
View File
@@ -968,8 +968,6 @@ sr-YU:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1087,3 +1085,7 @@ sr-YU:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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.
+5 -3
View File
@@ -926,7 +926,6 @@ sr:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -967,8 +966,6 @@ sr:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1086,3 +1083,8 @@ sr:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+2
View File
@@ -1123,3 +1123,5 @@ sv:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: Total
+5 -3
View File
@@ -922,7 +922,6 @@ th:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -963,8 +962,6 @@ th:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1082,3 +1079,8 @@ th:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+4 -2
View File
@@ -985,8 +985,6 @@ tr:
text_scm_command: Komut text_scm_command: Komut
text_scm_command_version: Sürüm text_scm_command_version: Sürüm
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1104,3 +1102,7 @@ tr:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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.
+5 -3
View File
@@ -922,7 +922,6 @@ uk:
label_principal_search: "Search for user or group:" label_principal_search: "Search for user or group:"
label_user_search: "Search for user:" label_user_search: "Search for user:"
field_visible: Visible field_visible: Visible
setting_emails_header: Emails header
setting_commit_logtime_activity_id: Activity for logged time setting_commit_logtime_activity_id: Activity for logged time
text_time_logged_by_changeset: Applied in changeset %{value}. text_time_logged_by_changeset: Applied in changeset %{value}.
setting_commit_logtime_enabled: Enable time logging setting_commit_logtime_enabled: Enable time logging
@@ -963,8 +962,6 @@ uk:
text_scm_command: Command text_scm_command: Command
text_scm_command_version: Version text_scm_command_version: Version
label_git_report_last_commit: Report last commit for files and directories 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. notice_issue_successful_create: Issue %{id} created.
label_between: between label_between: between
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
@@ -1080,3 +1077,8 @@ uk:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed 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
+445 -441
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -1165,3 +1165,5 @@
description_date_from: 輸入起始日期 description_date_from: 輸入起始日期
description_date_to: 輸入結束日期 description_date_to: 輸入結束日期
text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。' text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: 總計
+2
View File
@@ -1089,3 +1089,5 @@ zh:
setting_jsonp_enabled: Enable JSONP support setting_jsonp_enabled: Enable JSONP support
field_inherit_members: Inherit members field_inherit_members: Inherit members
field_closed_on: Closed field_closed_on: Closed
setting_default_projects_tracker_ids: Default trackers for new projects
label_total_time: 合计
+130
View File
@@ -4,6 +4,136 @@ Redmine - project management software
Copyright (C) 2006-2013 Jean-Philippe Lang Copyright (C) 2006-2013 Jean-Philippe Lang
http://www.redmine.org/ 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 == 2013-02-12 v2.2.3
* Upgrade to Rails 3.2.12 * Upgrade to Rails 3.2.12
+1 -1
View File
@@ -14,7 +14,7 @@ http://www.redmine.org/
* A database: * A database:
* MySQL (tested with MySQL 5.1) * MySQL (tested with MySQL 5.1)
* PostgreSQL (tested with PostgreSQL 9.1) * PostgreSQL (tested with PostgreSQL 9.1)
* SQLite3 (tested with SQLite 3.6) * SQLite3 (tested with SQLite 3.7)
Optional: Optional:
* SCM binaries (e.g. svn, git...), for repository browsing (must be available in PATH) * SCM binaries (e.g. svn, git...), for repository browsing (must be available in PATH)
+10
View File
@@ -32,6 +32,16 @@ http://www.redmine.org/
of the rmagick gem using: of the rmagick gem using:
bundle install --without development test rmagick 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 6. Generate a session store secret
Redmine stores session data in cookies by default, which requires Redmine stores session data in cookies by default, which requires
+19 -7
View File
@@ -23,9 +23,10 @@ module Net
end end
class RedmineMailHandler 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 def initialize
self.issue_attributes = {} self.issue_attributes = {}
@@ -40,11 +41,6 @@ class RedmineMailHandler
opts.on("-k", "--key KEY", "Redmine API key") {|v| self.key = v} opts.on("-k", "--key KEY", "Redmine API key") {|v| self.key = v}
opts.separator("") opts.separator("")
opts.separator("General options:") 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", opts.on("--no-permission-check", "disable permission checking when receiving",
"the email") {self.no_permission_check = '1'} "the email") {self.no_permission_check = '1'}
opts.on("--key-file FILE", "path to a file that contains the Redmine", 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", "--verbose", "show extra information") {self.verbose = true}
opts.on("-V", "--version", "show version information and exit") {puts VERSION; exit} opts.on("-V", "--version", "show version information and exit") {puts VERSION; exit}
opts.separator("") 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.separator("Issue attributes control options:")
opts.on("-p", "--project PROJECT", "identifier of the target project") {|v| self.issue_attributes['project'] = v} 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} 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, data = { 'key' => key, 'email' => email,
'allow_override' => allow_override, 'allow_override' => allow_override,
'unknown_user' => unknown_user, 'unknown_user' => unknown_user,
'default_group' => default_group,
'no_account_notice' => no_account_notice,
'no_notification' => no_notification,
'no_permission_check' => no_permission_check} 'no_permission_check' => no_permission_check}
issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value } issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
@@ -33,7 +33,6 @@ module Redmine
:dependent => :delete_all, :dependent => :delete_all,
:validate => false :validate => false
send :alias_method, :reload_without_custom_fields, :reload
send :include, Redmine::Acts::Customizable::InstanceMethods send :include, Redmine::Acts::Customizable::InstanceMethods
validate :validate_custom_field_values validate :validate_custom_field_values
after_save :save_custom_field_values after_save :save_custom_field_values
@@ -43,6 +42,7 @@ module Redmine
module InstanceMethods module InstanceMethods
def self.included(base) def self.included(base)
base.extend ClassMethods base.extend ClassMethods
base.send :alias_method_chain, :reload, :custom_fields
end end
def available_custom_fields def available_custom_fields
@@ -154,7 +154,7 @@ module Redmine
@custom_field_values_changed = true @custom_field_values_changed = true
end end
def reload(*args) def reload_with_custom_fields(*args)
@custom_field_values = nil @custom_field_values = nil
@custom_field_values_changed = false @custom_field_values_changed = false
reload_without_custom_fields(*args) reload_without_custom_fields(*args)
+3 -3
View File
@@ -39,9 +39,6 @@ require 'core/rmagick'
# @package com.tecnick.tcpdf # @package com.tecnick.tcpdf
# #
@@version = "1.53.0.TC031"
@@fpdf_charwidths = {}
PDF_PRODUCER = 'TCPDF via RFPDF 1.53.0.TC031 (http://tcpdf.sourceforge.net)' PDF_PRODUCER = 'TCPDF via RFPDF 1.53.0.TC031 (http://tcpdf.sourceforge.net)'
module TCPDFFontDescriptor module TCPDFFontDescriptor
@@ -79,6 +76,9 @@ class TCPDF
Rails.logger Rails.logger
end end
@@version = "1.53.0.TC031"
@@fpdf_charwidths = {}
cattr_accessor :k_cell_height_ratio cattr_accessor :k_cell_height_ratio
@@k_cell_height_ratio = 1.25 @@k_cell_height_ratio = 1.25
+10 -7
View File
@@ -63,7 +63,7 @@ module Redmine
when 'month' when 'month'
row['month'] = "#{row['tyear']}-#{row['tmonth']}" row['month'] = "#{row['tyear']}-#{row['tmonth']}"
when 'week' when 'week'
row['week'] = "#{row['tyear']}-#{row['tweek']}" row['week'] = "#{row['spent_on'].cwyear}-#{row['tweek']}"
when 'day' when 'day'
row['day'] = "#{row['spent_on']}" row['day'] = "#{row['spent_on']}"
end end
@@ -90,7 +90,7 @@ module Redmine
@periods << "#{date_from.year}-#{date_from.month}" @periods << "#{date_from.year}-#{date_from.month}"
date_from = (date_from + 1.month).at_beginning_of_month date_from = (date_from + 1.month).at_beginning_of_month
when 'week' 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 date_from = (date_from + 7.day).at_beginning_of_week
when 'day' when 'day'
@periods << "#{date_from.to_date}" @periods << "#{date_from.to_date}"
@@ -127,13 +127,16 @@ module Redmine
:label => :label_issue} :label => :label_issue}
} }
# Add list and boolean custom fields as available criteria # Add time entry custom fields
custom_fields = (@project.nil? ? IssueCustomField.for_all : @project.all_issue_custom_fields) custom_fields = TimeEntryCustomField.all
# Add list and boolean time entry custom fields # Add project custom fields
custom_fields += TimeEntryCustomField.all custom_fields += ProjectCustomField.all
# Add list and boolean time entry activity custom fields # 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 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| custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf|
@available_criteria["cf_#{cf.id}"] = {:sql => "#{cf.join_alias}.value", @available_criteria["cf_#{cf.id}"] = {:sql => "#{cf.join_alias}.value",
:joins => cf.join_for_order_statement, :joins => cf.join_for_order_statement,
+16 -12
View File
@@ -28,17 +28,9 @@ module Redmine
lines = 0 lines = 0
@truncated = false @truncated = false
diff_table = DiffTable.new(diff_type, diff_style) diff_table = DiffTable.new(diff_type, diff_style)
diff.each do |line| diff.each do |line_raw|
line_encoding = nil line = Redmine::CodesetUtil.to_utf8_by_setting(line_raw)
if line.respond_to?(:force_encoding) unless diff_table.add_line(line)
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
self << diff_table if diff_table.length > 0 self << diff_table if diff_table.length > 0
diff_table = DiffTable.new(diff_type, diff_style) diff_table = DiffTable.new(diff_type, diff_style)
end end
@@ -83,7 +75,7 @@ module Redmine
@parsing = true @parsing = true
end end
else else
if line =~ /^[^\+\-\s@\\]/ if line =~ %r{^[^\+\-\s@\\]}
@parsing = false @parsing = false
return false return false
elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/ elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/
@@ -207,10 +199,16 @@ module Redmine
while starting < max && line_left[starting] == line_right[starting] while starting < max && line_left[starting] == line_right[starting]
starting += 1 starting += 1
end end
while line_left[starting].ord.between?(128, 191) && starting > 0
starting -= 1
end
ending = -1 ending = -1
while ending >= -(max - starting) && line_left[ending] == line_right[ending] while ending >= -(max - starting) && line_left[ending] == line_right[ending]
ending -= 1 ending -= 1
end end
while line_left[ending].ord.between?(128, 191) && ending > -1
ending -= 1
end
unless starting == 0 && ending == -1 unless starting == 0 && ending == -1
[starting, ending] [starting, ending]
end end
@@ -268,6 +266,12 @@ module Redmine
private private
def line_to_html(line, offsets) 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 if offsets
s = '' s = ''
unless offsets.first == 0 unless offsets.first == 0
+1 -1
View File
@@ -10,7 +10,7 @@ module Redmine
# * official release: nil # * official release: nil
# * stable branch: stable # * stable branch: stable
# * trunk: devel # * trunk: devel
BRANCH = 'devel' BRANCH = 'stable'
# Retrieves the revision from the working copy # Retrieves the revision from the working copy
def self.revision def self.revision
+2 -2
View File
@@ -86,7 +86,7 @@ module Redmine
AUTO_LINK_RE = %r{ AUTO_LINK_RE = %r{
( # leading text ( # leading text
<\w+.*?>| # leading HTML tag, or <\w+.*?>| # leading HTML tag, or
[^=<>!:'"/]| # leading punctuation, or [\s\(\[,;]| # leading punctuation, or
^ # beginning of line ^ # beginning of line
) )
( (
@@ -95,7 +95,7 @@ module Redmine
(?:www\.) # www.* (?:www\.) # www.*
) )
( (
(\S+?) # url ([^<]\S*?) # url
(\/)? # slash (\/)? # slash
) )
((?:&gt;)?|[^[:alnum:]_\=\/;\(\)]*?) # post ((?:&gt;)?|[^[:alnum:]_\=\/;\(\)]*?) # post
+25
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
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} часов"
@@ -28,7 +28,8 @@ class IssueRelationsControllerTest < ActionController::TestCase
:issue_relations, :issue_relations,
:enabled_modules, :enabled_modules,
:enumerations, :enumerations,
:trackers :trackers,
:projects_trackers
def setup def setup
User.current = nil User.current = nil
@@ -87,6 +88,17 @@ class IssueRelationsControllerTest < ActionController::TestCase
end end
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 def test_should_create_relations_with_visible_issues_only
Setting.cross_project_issue_relations = '1' Setting.cross_project_issue_relations = '1'
assert_nil Issue.visible(User.find(3)).find_by_id(4) assert_nil Issue.visible(User.find(3)).find_by_id(4)
@@ -3474,6 +3474,8 @@ class IssuesControllerTest < ActionController::TestCase
end end
def test_bulk_update_parent_id def test_bulk_update_parent_id
IssueRelation.delete_all
@request.session[:user_id] = 2 @request.session[:user_id] = 2
post :bulk_update, :ids => [1, 3], post :bulk_update, :ids => [1, 3],
:notes => 'Bulk editing parent', :notes => 'Bulk editing parent',
@@ -125,22 +125,62 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
:attributes => {:action => "/projects/ecookbook/issues/1/time_entries/report", :id => 'query_form'} :attributes => {:action => "/projects/ecookbook/issues/1/time_entries/report", :id => 'query_form'}
end end
def test_report_custom_field_criteria def test_report_by_week_should_use_commercial_year
get :report, :project_id => 1, :criteria => ['project', 'cf_1', 'cf_7'] 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_response :success
assert_template 'report' assert_template 'report'
assert_not_nil assigns(:report) assert_not_nil assigns(:report)
assert_equal 3, assigns(:report).criteria.size assert_equal 3, assigns(:report).criteria.size
assert_equal "162.90", "%.2f" % assigns(:report).total_hours 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 # Custom field row
assert_tag :tag => 'td', :content => 'MySQL', assert_select 'tr' do
:sibling => { :tag => 'td', :attributes => { :class => 'hours' }, assert_select 'td', :text => 'MySQL'
:child => { :tag => 'span', :attributes => { :class => 'hours hours-int' }, assert_select 'td.hours', :text => '1.00'
:content => '1' }} end
# Second custom field column
assert_tag :tag => 'th', :content => 'Billable'
end end
def test_report_one_criteria_no_result def test_report_one_criteria_no_result
@@ -166,9 +206,9 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
assert_equal 'text/csv; header=present', @response.content_type assert_equal 'text/csv; header=present', @response.content_type
lines = @response.body.chomp.split("\n") lines = @response.body.chomp.split("\n")
# Headers # 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 # 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 end
def test_report_csv_export def test_report_csv_export
@@ -179,9 +219,9 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
assert_equal 'text/csv; header=present', @response.content_type assert_equal 'text/csv; header=present', @response.content_type
lines = @response.body.chomp.split("\n") lines = @response.body.chomp.split("\n")
# Headers # 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 # 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 end
def test_csv_big_5 def test_csv_big_5
@@ -308,8 +348,8 @@ class TimeEntryReportsControllerTest < ActionController::TestCase
assert_equal 'text/csv; header=present', @response.content_type assert_equal 'text/csv; header=present', @response.content_type
lines = @response.body.chomp.split("\n") lines = @response.body.chomp.split("\n")
# Headers # Headers
s1 = "Utilisateur;2011-11-11;Total" s1 = "Utilisateur;2011-11-11;Temps total"
s2 = "Total" s2 = "Temps total"
if s1.respond_to?(:force_encoding) if s1.respond_to?(:force_encoding)
s1.force_encoding('ISO-8859-1') s1.force_encoding('ISO-8859-1')
s2.force_encoding('ISO-8859-1') s2.force_encoding('ISO-8859-1')
+27
View File
@@ -68,6 +68,33 @@ class AccountTest < ActionController::IntegrationTest
assert_not_nil user.reload.last_login_on assert_not_nil user.reload.last_login_on
end 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 def test_lost_password
Token.delete_all Token.delete_all
+12
View File
@@ -108,6 +108,18 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
assert_tag 'user', :child => {:tag => 'login', :content => 'jsmith'} assert_tag 'user', :child => {:tag => 'login', :content => 'jsmith'}
end 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 "POST /users" do
context "with valid parameters" do context "with valid parameters" do
setup do setup do
+13 -6
View File
@@ -84,7 +84,11 @@ class ApplicationHelperTest < ActionView::TestCase
# escaping # escaping
'http://foo"bar' => '<a class="external" href="http://foo&quot;bar">http://foo&quot;bar</a>', 'http://foo"bar' => '<a class="external" href="http://foo&quot;bar">http://foo&quot;bar</a>',
# wrap in angle brackets # 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) } to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
end end
@@ -101,8 +105,11 @@ class ApplicationHelperTest < ActionView::TestCase
end end
def test_auto_mailto def test_auto_mailto
assert_equal '<p><a class="email" href="mailto:test@foo.bar">test@foo.bar</a></p>', to_test = {
textilizable('test@foo.bar') '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 end
def test_inline_images def test_inline_images
@@ -253,9 +260,9 @@ RAW
def test_redmine_links def test_redmine_links
issue_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3}, 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'}, 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}, changeset_link = link_to('r1', {:controller => 'repositories', :action => 'revision', :id => 'ecookbook', :rev => 1},
:class => 'changeset', :title => 'My very first commit') :class => 'changeset', :title => 'My very first commit')
@@ -745,7 +752,7 @@ RAW
expected = <<-EXPECTED expected = <<-EXPECTED
<p><a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a></p> <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> <pre>
[[CookBook documentation]] [[CookBook documentation]]
-16
View File
@@ -166,22 +166,6 @@ class IssueNestedSetTest < ActiveSupport::TestCase
assert_not_nil child.errors[:parent_issue_id] assert_not_nil child.errors[:parent_issue_id]
end 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 def test_destroy_should_destroy_children
issue1 = Issue.generate! issue1 = Issue.generate!
issue2 = Issue.generate! issue2 = Issue.generate!
+22
View File
@@ -30,6 +30,8 @@ class IssueRelationTest < ActiveSupport::TestCase
:enumerations, :enumerations,
:trackers :trackers
include Redmine::I18n
def test_create def test_create
from = Issue.find(1) from = Issue.find(1)
to = Issue.find(2) to = Issue.find(2)
@@ -115,6 +117,26 @@ class IssueRelationTest < ActiveSupport::TestCase
assert_not_nil r.errors[:base] assert_not_nil r.errors[:base]
end 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 def test_validates_circular_dependency_on_reverse_relations
IssueRelation.delete_all IssueRelation.delete_all
assert IssueRelation.create!( assert IssueRelation.create!(
+98
View File
@@ -849,6 +849,49 @@ class IssueTest < ActiveSupport::TestCase
assert_equal copy.author, child_copy.author assert_equal copy.author, child_copy.author
end 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 def test_copy_should_copy_subtasks_to_target_project
issue = Issue.generate_with_descendants! issue = Issue.generate_with_descendants!
@@ -1466,6 +1509,55 @@ class IssueTest < ActiveSupport::TestCase
end end
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 def test_overdue
assert Issue.new(:due_date => 1.day.ago.to_date).overdue? assert Issue.new(:due_date => 1.day.ago.to_date).overdue?
assert !Issue.new(:due_date => Date.today).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('') assert_equal [Journal.find(1), Journal.find(2)], Issue.find(1).journals_after('')
end 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 def test_css_classes_should_include_priority
issue = Issue.new(:priority => IssuePriority.find(8)) issue = Issue.new(:priority => IssuePriority.find(8))
classes = issue.css_classes.split(' ') classes = issue.css_classes.split(' ')
+3 -3
View File
@@ -35,9 +35,9 @@ class PdfTest < ActiveSupport::TestCase
txt_1 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_1, encoding) 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_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) txt_3 = Redmine::Export::PDF::RDMPdfEncoding::rdm_from_utf8(utf8_txt_3, encoding)
assert_equal "?\x91\xd4", txt_1 assert_equal "?\x91\xd4".force_encoding("ASCII-8BIT"), txt_1
assert_equal "?\x91\xd4?", txt_2 assert_equal "?\x91\xd4?".force_encoding("ASCII-8BIT"), txt_2
assert_equal "??\x91\xd4?", txt_3 assert_equal "??\x91\xd4?".force_encoding("ASCII-8BIT"), txt_3
assert_equal "ASCII-8BIT", txt_1.encoding.to_s assert_equal "ASCII-8BIT", txt_1.encoding.to_s
assert_equal "ASCII-8BIT", txt_2.encoding.to_s assert_equal "ASCII-8BIT", txt_2.encoding.to_s
assert_equal "ASCII-8BIT", txt_3.encoding.to_s assert_equal "ASCII-8BIT", txt_3.encoding.to_s
@@ -221,6 +221,29 @@ DIFF
assert_equal "test02.txt", diff[0].file_name assert_equal "test02.txt", diff[0].file_name
end 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 private
def read_diff_fixture(filename) def read_diff_fixture(filename)
+46
View File
@@ -304,6 +304,51 @@ class MailHandlerTest < ActiveSupport::TestCase
end end
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 def test_add_issue_without_from_header
Role.anonymous.add_permission!(:add_issues) Role.anonymous.add_permission!(:add_issues)
assert_equal false, submit_email('ticket_without_from_header.eml') 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[0], user.login
assert_equal expected[1], user.firstname assert_equal expected[1], user.firstname
assert_equal expected[2], user.lastname assert_equal expected[2], user.lastname
assert_equal 'only_my_events', user.mail_notification
end end
end end
+7
View File
@@ -110,6 +110,13 @@ class TimeEntryTest < ActiveSupport::TestCase
assert_equal 1, te.errors.count assert_equal 1, te.errors.count
end 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 def test_set_project_if_nil
anon = User.anonymous anon = User.anonymous
project = Project.find(1) project = Project.find(1)
+26
View File
@@ -727,6 +727,32 @@ class UserTest < ActiveSupport::TestCase
assert_equal true, User.default_admin_account_changed? assert_equal true, User.default_admin_account_changed?
end 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 def test_roles_for_project
# user with a role # user with a role
roles = @jsmith.roles_for_project(Project.find(1)) roles = @jsmith.roles_for_project(Project.find(1))