Feature #337 » private_issues_including_additional_patch_for_issues_count_and_unit_tests_for_redmine_1.0.5.r4569.patch
| test/unit/issue_test.rb (working copy) | ||
|---|---|---|
| 521 | 521 |
assert !Issue.new(:due_date => nil).overdue? |
| 522 | 522 |
assert !Issue.new(:due_date => 1.day.ago.to_date, :status => IssueStatus.find(:first, :conditions => {:is_closed => true})).overdue?
|
| 523 | 523 |
end |
| 524 |
|
|
| 525 |
def test_default_assign |
|
| 526 |
# Test fixtures contain "add_private_issues" permissions |
|
| 527 |
# Anonimous |
|
| 528 |
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 6, :status_id => 1, :is_private => true, :priority => IssuePriority.all.first, :subject => 'test_private_create', :description => 'IssueTest#test_private_create', :estimated_hours => '5:30') |
|
| 529 |
assert issue.save |
|
| 530 |
issue.reload |
|
| 531 |
assert_equal false, issue.is_private |
|
| 532 |
# Manager |
|
| 533 |
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 2, :status_id => 1, :is_private => true, :priority => IssuePriority.all.first, :subject => 'test_private_create', :description => 'IssueTest#test_private_create', :estimated_hours => '5:30') |
|
| 534 |
assert issue.save |
|
| 535 |
issue.reload |
|
| 536 |
assert_equal true, issue.is_private |
|
| 537 |
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 2, :status_id => 1, :is_private => false, :priority => IssuePriority.all.first, :subject => 'test_private_create', :description => 'IssueTest#test_private_create', :estimated_hours => '5:30') |
|
| 538 |
assert issue.save |
|
| 539 |
issue.reload |
|
| 540 |
assert_equal false, issue.is_private |
|
| 541 |
# Reporter_is_private |
|
| 542 |
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 13, :status_id => 1, :is_private => false, :priority => IssuePriority.all.first, :subject => 'test_private_create', :description => 'IssueTest#test_private_create', :estimated_hours => '5:30') |
|
| 543 |
assert issue.save |
|
| 544 |
issue.reload |
|
| 545 |
assert_equal true, issue.is_private |
|
| 546 |
end |
|
| 547 |
|
|
| 548 |
def test_visible |
|
| 549 |
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 13, :status_id => 1, :is_private => true, :priority => IssuePriority.all.first, :subject => 'test_private_create', :description => 'IssueTest#test_private_create', :estimated_hours => '5:30') |
|
| 550 |
assert issue.save |
|
| 551 |
issue.reload |
|
| 552 |
# Test fixtures contain "view_private_issues" permissions |
|
| 553 |
# User with id #2 has Manager role |
|
| 554 |
assert issue.visible?(User.find(2)) |
|
| 555 |
# User with id #3 has Developer role |
|
| 556 |
assert issue.visible?(User.find(3)) |
|
| 557 |
# User with id #6 has Anonymous role |
|
| 558 |
assert ! issue.visible?(User.find(6)) |
|
| 559 |
# User with id #4 does not have any role in project |
|
| 560 |
assert ! issue.visible?(User.find(4)) |
|
| 561 |
# User with id #12 has Reporter role |
|
| 562 |
assert ! issue.visible?(User.find(12)) |
|
| 563 |
# Test for author |
|
| 564 |
assert issue.visible?(User.find(13)) |
|
| 565 |
# Test for assinged user #4 |
|
| 566 |
issue.assigned_to=User.find(4) |
|
| 567 |
assert issue.visible?(User.find(4)) |
|
| 568 |
# Test for watcher #12 |
|
| 569 |
issue.add_watcher(User.find(12)) |
|
| 570 |
assert issue.visible?(User.find(12)) |
|
| 571 |
end |
|
| 524 | 572 | |
| 525 | 573 |
context "#assignable_users" do |
| 526 | 574 |
should "be Users" do |
| ... | ... | |
| 537 | 585 | |
| 538 | 586 |
should "not show the issue author twice" do |
| 539 | 587 |
assignable_user_ids = Issue.find(1).assignable_users.collect(&:id) |
| 540 |
assert_equal 2, assignable_user_ids.length
|
|
| 588 |
assert_equal 4, assignable_user_ids.length
|
|
| 541 | 589 |
|
| 542 | 590 |
assignable_user_ids.each do |user_id| |
| 543 | 591 |
assert_equal 1, assignable_user_ids.count(user_id), "User #{user_id} appears more or less than once"
|
| ... | ... | |
| 671 | 719 |
test "#by_tracker" do |
| 672 | 720 |
groups = Issue.by_tracker(Project.find(1)) |
| 673 | 721 |
assert_equal 3, groups.size |
| 674 |
assert_equal 7, groups.inject(0) {|sum, group| sum + group['total'].to_i}
|
|
| 722 |
assert_equal 8, groups.inject(0) {|sum, group| sum + group['total'].to_i}
|
|
| 675 | 723 |
end |
| 676 | 724 | |
| 677 | 725 |
test "#by_version" do |
| ... | ... | |
| 683 | 731 |
test "#by_priority" do |
| 684 | 732 |
groups = Issue.by_priority(Project.find(1)) |
| 685 | 733 |
assert_equal 4, groups.size |
| 686 |
assert_equal 7, groups.inject(0) {|sum, group| sum + group['total'].to_i}
|
|
| 734 |
assert_equal 8, groups.inject(0) {|sum, group| sum + group['total'].to_i}
|
|
| 687 | 735 |
end |
| 688 | 736 | |
| 689 | 737 |
test "#by_category" do |
| ... | ... | |
| 700 | 748 | |
| 701 | 749 |
test "#by_author" do |
| 702 | 750 |
groups = Issue.by_author(Project.find(1)) |
| 703 |
assert_equal 4, groups.size
|
|
| 704 |
assert_equal 7, groups.inject(0) {|sum, group| sum + group['total'].to_i}
|
|
| 751 |
assert_equal 5, groups.size
|
|
| 752 |
assert_equal 8, groups.inject(0) {|sum, group| sum + group['total'].to_i}
|
|
| 705 | 753 |
end |
| 706 | 754 | |
| 707 | 755 |
test "#by_subproject" do |
| test/unit/project_test.rb (working copy) | ||
|---|---|---|
| 136 | 136 |
end |
| 137 | 137 |
|
| 138 | 138 |
def test_destroy |
| 139 |
# 2 active members
|
|
| 140 |
assert_equal 2, @ecookbook.members.size
|
|
| 139 |
# 4 active members
|
|
| 140 |
assert_equal 4, @ecookbook.members.size
|
|
| 141 | 141 |
# and 1 is locked |
| 142 |
assert_equal 3, Member.find(:all, :conditions => ['project_id = ?', @ecookbook.id]).size
|
|
| 142 |
assert_equal 5, Member.find(:all, :conditions => ['project_id = ?', @ecookbook.id]).size
|
|
| 143 | 143 |
# some boards |
| 144 | 144 |
assert @ecookbook.boards.any? |
| 145 | 145 |
|
| ... | ... | |
| 842 | 842 |
|
| 843 | 843 |
end |
| 844 | 844 | |
| 845 |
end |
|
| 845 |
end |
|
| test/functional/issues_controller_test.rb (working copy) | ||
|---|---|---|
| 280 | 280 |
|
| 281 | 281 |
def test_show_should_deny_member_access_without_permission |
| 282 | 282 |
Role.find(1).remove_permission!(:view_issues) |
| 283 |
Role.find(1).remove_permission!(:view_private_issues) |
|
| 283 | 284 |
@request.session[:user_id] = 2 |
| 284 | 285 |
get :show, :id => 1 |
| 285 | 286 |
assert_response 403 |
| ... | ... | |
| 316 | 317 |
assert_not_nil assigns(:issue) |
| 317 | 318 |
end |
| 318 | 319 | |
| 320 |
def test_show_private_issue_by_manager |
|
| 321 |
@request.session[:user_id] = 2 |
|
| 322 |
get :show, :id => 14 |
|
| 323 |
assert_response :success |
|
| 324 |
assert_tag :td, :attributes => { :class => 'private-issue'}
|
|
| 325 |
end |
|
| 326 | ||
| 327 |
def test_show_private_issue_by_admin |
|
| 328 |
@request.session[:user_id] = 1 |
|
| 329 |
get :show, :id => 14 |
|
| 330 |
assert_response :success |
|
| 331 |
assert_tag :td, :attributes => { :class => 'private-issue'}
|
|
| 332 |
end |
|
| 333 |
|
|
| 334 |
def test_show_private_issue_by_developer |
|
| 335 |
@request.session[:user_id] = 3 |
|
| 336 |
get :show, :id => 14 |
|
| 337 |
assert_response :success |
|
| 338 |
# Developer can view private issues |
|
| 339 |
assert_tag :td, :attributes => { :class => 'private-issue'}
|
|
| 340 |
end |
|
| 341 | ||
| 342 |
def test_show_private_issue_by_issue_author |
|
| 343 |
# issue author always can browse his issue |
|
| 344 |
@request.session[:user_id] = 12 |
|
| 345 |
get :show, :id => 14 |
|
| 346 |
assert_response :success |
|
| 347 |
assert_tag :input, :attributes => { :name => 'issue[is_private]'}
|
|
| 348 |
assert_tag :td, :attributes => { :class => 'private-issue'}
|
|
| 349 |
end |
|
| 350 | ||
| 351 |
def test_show_private_issue_by_other_member |
|
| 352 |
# Reporter2 not can browse his issue |
|
| 353 |
@request.session[:user_id] = 13 |
|
| 354 |
get :show, :id => 14 |
|
| 355 |
assert_response 403 |
|
| 356 |
end |
|
| 357 | ||
| 358 |
def test_show_private_issue_by_non_member |
|
| 359 |
@request.session[:user_id] = 4 |
|
| 360 |
get :show, :id => 14 |
|
| 361 |
assert_response 403 |
|
| 362 |
end |
|
| 363 | ||
| 364 |
def test_show_private_issue_by_anonymous |
|
| 365 |
get :show, :id => 14 |
|
| 366 |
assert_response 403 |
|
| 367 |
end |
|
| 368 |
|
|
| 319 | 369 |
def test_get_new |
| 320 | 370 |
@request.session[:user_id] = 2 |
| 321 | 371 |
get :new, :project_id => 1, :tracker_id => 1 |
| ... | ... | |
| 326 | 376 |
:value => 'Default string' } |
| 327 | 377 |
end |
| 328 | 378 | |
| 379 |
def test_get_new_manager |
|
| 380 |
# Manager have add_private_issue permission |
|
| 381 |
@request.session[:user_id] = 2 |
|
| 382 |
get :new, :project_id => 1, :tracker_id => 1 |
|
| 383 |
assert_response :success |
|
| 384 |
assert_template 'new' |
|
| 385 |
assert_tag :input, :attributes => { :name => 'issue[is_private]'}
|
|
| 386 |
end |
|
| 387 | ||
| 388 |
def test_get_new_developer |
|
| 389 |
@request.session[:user_id] = 3 |
|
| 390 |
get :new, :project_id => 1, :tracker_id => 1 |
|
| 391 |
assert_response :success |
|
| 392 |
assert_template 'new' |
|
| 393 |
# Developer can't change issue type |
|
| 394 |
assert_no_tag :input, :attributes => { :name => 'issue[is_private]'}
|
|
| 395 |
end |
|
| 396 | ||
| 397 |
def test_get_new_reporter |
|
| 398 |
@request.session[:user_id] = 12 |
|
| 399 |
get :new, :project_id => 1, :tracker_id => 1 |
|
| 400 |
assert_response :success |
|
| 401 |
assert_template 'new' |
|
| 402 |
# Reporter can add private issue |
|
| 403 |
assert_tag :input, :attributes => { :name => 'issue[is_private]'}
|
|
| 404 |
end |
|
| 405 | ||
| 406 |
def test_get_new_admin |
|
| 407 |
@request.session[:user_id] = 1 |
|
| 408 |
get :new, :project_id => 1, :tracker_id => 1 |
|
| 409 |
assert_response :success |
|
| 410 |
assert_template 'new' |
|
| 411 |
assert_tag :input, :attributes => { :name => 'issue[is_private]'}
|
|
| 412 |
end |
|
| 413 | ||
| 414 |
def test_get_new_reporter2 |
|
| 415 |
@request.session[:user_id] = 13 |
|
| 416 |
get :new, :project_id => 1, :tracker_id => 1 |
|
| 417 |
assert_response :success |
|
| 418 |
assert_template 'new' |
|
| 419 |
assert_no_tag :input, :attributes => { :name => 'issue[is_private]'}
|
|
| 420 |
end |
|
| 421 | ||
| 329 | 422 |
def test_get_new_without_tracker_id |
| 330 | 423 |
@request.session[:user_id] = 2 |
| 331 | 424 |
get :new, :project_id => 1 |
| ... | ... | |
| 1106 | 1199 |
:child => {:tag => 'form',
|
| 1107 | 1200 |
:child => {:tag => 'input', :attributes => {:name => 'issues', :type => 'hidden', :value => '1'}}}
|
| 1108 | 1201 |
end |
| 1109 |
end |
|
| 1202 |
end |
|
| test/functional/activities_controller_test.rb (working copy) | ||
|---|---|---|
| 84 | 84 |
:attributes => {:href => 'http://test.host/issues/11'}}
|
| 85 | 85 |
end |
| 86 | 86 |
|
| 87 |
end |
|
| 87 |
|
|
| 88 |
#private issue are not visible for Anonymous user in global Activity |
|
| 89 |
def test_private_issue_global_activity_for_anonymous |
|
| 90 |
get :index |
|
| 91 |
assert_response :success |
|
| 92 |
assert_template 'index' |
|
| 93 |
assert_not_nil assigns(:events_by_day) |
|
| 94 | ||
| 95 |
assert_no_tag :tag => "h3", |
|
| 96 |
:content => /#{5.day.ago.to_date.day}/,
|
|
| 97 |
:sibling => { :tag => "dl",
|
|
| 98 |
:child => { :tag => "dt",
|
|
| 99 |
:attributes => { :class => /issue/ },
|
|
| 100 |
:child => { :tag => "a",
|
|
| 101 |
:content => /#{Issue.find(14).subject}/,
|
|
| 102 |
} |
|
| 103 |
} |
|
| 104 |
} |
|
| 105 |
end |
|
| 106 | ||
| 107 |
def test_private_issue_global_activity_for_manager |
|
| 108 |
@request.session[:user_id] = 2 # manager |
|
| 109 |
get :index |
|
| 110 |
assert_response :success |
|
| 111 |
assert_template 'index' |
|
| 112 |
assert_not_nil assigns(:events_by_day) |
|
| 113 | ||
| 114 |
assert_tag :tag => "h3", |
|
| 115 |
:content => /#{5.day.ago.to_date.day}/,
|
|
| 116 |
:sibling => { :tag => "dl",
|
|
| 117 |
:child => { :tag => "dt",
|
|
| 118 |
:attributes => { :class => /issue/ },
|
|
| 119 |
:child => { :tag => "a",
|
|
| 120 |
:content => /#{Issue.find(14).subject}/,
|
|
| 121 |
} |
|
| 122 |
} |
|
| 123 |
} |
|
| 124 |
end |
|
| 125 | ||
| 126 |
def test_private_issue_global_activity_for_developer |
|
| 127 |
@request.session[:user_id] = 3 # developer |
|
| 128 |
get :index |
|
| 129 |
assert_response :success |
|
| 130 |
assert_template 'index' |
|
| 131 |
assert_not_nil assigns(:events_by_day) |
|
| 132 | ||
| 133 |
assert_tag :tag => "h3", |
|
| 134 |
:content => /#{5.day.ago.to_date.day}/,
|
|
| 135 |
:sibling => { :tag => "dl",
|
|
| 136 |
:child => { :tag => "dt",
|
|
| 137 |
:attributes => { :class => /issue/ },
|
|
| 138 |
:child => { :tag => "a",
|
|
| 139 |
:content => /#{Issue.find(14).subject}/,
|
|
| 140 |
} |
|
| 141 |
} |
|
| 142 |
} |
|
| 143 |
end |
|
| 144 | ||
| 145 |
def test_private_issue_global_activity_for_non_member |
|
| 146 |
@request.session[:user_id] = 4 # does not have any role in project #1 |
|
| 147 |
get :index |
|
| 148 |
assert_response :success |
|
| 149 |
assert_template 'index' |
|
| 150 |
assert_not_nil assigns(:events_by_day) |
|
| 151 | ||
| 152 |
assert_no_tag :tag => "h3", |
|
| 153 |
:content => /#{5.day.ago.to_date.day}/,
|
|
| 154 |
:sibling => { :tag => "dl",
|
|
| 155 |
:child => { :tag => "dt",
|
|
| 156 |
:attributes => { :class => /issue/ },
|
|
| 157 |
:child => { :tag => "a",
|
|
| 158 |
:content => /#{Issue.find(14).subject}/,
|
|
| 159 |
} |
|
| 160 |
} |
|
| 161 |
} |
|
| 162 |
end |
|
| 163 |
|
|
| 164 |
end |
|
| test/fixtures/roles.yml (working copy) | ||
|---|---|---|
| 12 | 12 |
- :manage_categories |
| 13 | 13 |
- :view_issues |
| 14 | 14 |
- :add_issues |
| 15 |
- :add_private_issues |
|
| 16 |
- :view_private_issues |
|
| 15 | 17 |
- :edit_issues |
| 16 | 18 |
- :manage_issue_relations |
| 17 | 19 |
- :manage_subtasks |
| ... | ... | |
| 65 | 67 |
- :manage_categories |
| 66 | 68 |
- :view_issues |
| 67 | 69 |
- :add_issues |
| 70 |
- :view_private_issues |
|
| 68 | 71 |
- :edit_issues |
| 69 | 72 |
- :manage_issue_relations |
| 70 | 73 |
- :manage_subtasks |
| ... | ... | |
| 109 | 112 |
- :manage_categories |
| 110 | 113 |
- :view_issues |
| 111 | 114 |
- :add_issues |
| 115 |
- :add_private_issues |
|
| 112 | 116 |
- :edit_issues |
| 113 | 117 |
- :manage_issue_relations |
| 114 | 118 |
- :add_issue_notes |
| ... | ... | |
| 184 | 188 |
- :view_changesets |
| 185 | 189 | |
| 186 | 190 |
position: 5 |
| 191 |
roles_006: |
|
| 192 |
name: Reporter2 |
|
| 193 |
id: 6 |
|
| 194 |
builtin: 0 |
|
| 195 |
permissions: | |
|
| 196 |
--- |
|
| 197 |
- :edit_project |
|
| 198 |
- :manage_members |
|
| 199 |
- :manage_versions |
|
| 200 |
- :manage_categories |
|
| 201 |
- :view_issues |
|
| 202 |
- :add_private_issues |
|
| 203 |
- :edit_issues |
|
| 204 |
- :manage_issue_relations |
|
| 205 |
- :add_issue_notes |
|
| 206 |
- :move_issues |
|
| 207 |
- :view_issue_watchers |
|
| 208 |
- :save_queries |
|
| 209 |
- :view_gantt |
|
| 210 |
- :view_calendar |
|
| 211 |
- :log_time |
|
| 212 |
- :view_time_entries |
|
| 213 |
- :manage_news |
|
| 214 |
- :comment_news |
|
| 215 |
- :view_documents |
|
| 216 |
- :manage_documents |
|
| 217 |
- :view_wiki_pages |
|
| 218 |
- :view_wiki_edits |
|
| 219 |
- :edit_wiki_pages |
|
| 220 |
- :delete_wiki_pages |
|
| 221 |
- :add_messages |
|
| 222 |
- :manage_boards |
|
| 223 |
- :view_files |
|
| 224 |
- :manage_files |
|
| 225 |
- :browse_repository |
|
| 226 |
- :view_changesets |
|
| 187 | 227 | |
| 228 |
position: 6 |
|
| test/fixtures/issues.yml (working copy) | ||
|---|---|---|
| 244 | 244 |
root_id: 13 |
| 245 | 245 |
lft: 1 |
| 246 | 246 |
rgt: 2 |
| 247 |
issues_014: |
|
| 248 |
created_on: <%= 5.days.ago.to_date.to_s(:db) %> |
|
| 249 |
project_id: 1 |
|
| 250 |
updated_on: <%= 2.days.ago.to_date.to_s(:db) %> |
|
| 251 |
priority_id: 5 |
|
| 252 |
subject: Private Issue |
|
| 253 |
id: 14 |
|
| 254 |
fixed_version_id: |
|
| 255 |
category_id: |
|
| 256 |
description: Private Issue |
|
| 257 |
tracker_id: 1 |
|
| 258 |
assigned_to_id: |
|
| 259 |
author_id: 12 |
|
| 260 |
status_id: 1 |
|
| 261 |
is_private: 1 |
|
| 262 |
root_id: 14 |
|
| 263 |
lft: 1 |
|
| 264 |
rgt: 2 |
|
| test/fixtures/member_roles.yml (working copy) | ||
|---|---|---|
| 47 | 47 |
role_id: 2 |
| 48 | 48 |
member_id: 10 |
| 49 | 49 |
inherited_from: 10 |
| 50 |
member_roles_012: |
|
| 51 |
id: 12 |
|
| 52 |
role_id: 3 |
|
| 53 |
member_id: 11 |
|
| 54 |
inherited_from: 11 |
|
| 55 |
member_roles_013: |
|
| 56 |
id: 13 |
|
| 57 |
role_id: 6 |
|
| 58 |
member_id: 12 |
|
| 59 |
inherited_from: 12 |
|
| test/fixtures/members.yml (working copy) | ||
|---|---|---|
| 60 | 60 |
project_id: 2 |
| 61 | 61 |
user_id: 8 |
| 62 | 62 |
mail_notification: false |
| 63 |
members_011: |
|
| 64 |
id: 11 |
|
| 65 |
created_on: 2006-07-19 19:35:37 +02:00 |
|
| 66 |
project_id: 1 |
|
| 67 |
user_id: 12 |
|
| 68 |
members_012: |
|
| 69 |
id: 12 |
|
| 70 |
created_on: 2006-07-19 19:35:47 +02:00 |
|
| 71 |
project_id: 1 |
|
| 72 |
user_id: 13 |
|
| test/fixtures/users.yml (working copy) | ||
|---|---|---|
| 152 | 152 |
id: 11 |
| 153 | 153 |
lastname: B Team |
| 154 | 154 |
type: Group |
| 155 | ||
| 156 |
|
|
| 155 |
users_012: |
|
| 156 |
id: 12 |
|
| 157 |
created_on: 2009-01-27 01:20:19 +03:00 |
|
| 158 |
status: 1 |
|
| 159 |
last_login_on: |
|
| 160 |
language: 'ru' |
|
| 161 |
hashed_password: 7feb7657aa7a7bf5aef3414a5084875f27192415 |
|
| 162 |
updated_on: 2009-01-27 19:33:19 +03:00 |
|
| 163 |
admin: false |
|
| 164 |
mail: vasja@somenet.foo |
|
| 165 |
lastname: Pupkin |
|
| 166 |
firstname: Vasja |
|
| 167 |
auth_source_id: |
|
| 168 |
mail_notification: true |
|
| 169 |
login: vasiliy |
|
| 170 |
type: User |
|
| 171 |
users_013: |
|
| 172 |
id: 13 |
|
| 173 |
created_on: 2009-01-27 01:20:29 +03:00 |
|
| 174 |
status: 1 |
|
| 175 |
last_login_on: |
|
| 176 |
language: 'ru' |
|
| 177 |
hashed_password: 7feb7657aa7a7bf5aef3414a5084875f27192416 |
|
| 178 |
updated_on: 2009-01-27 19:33:29 +03:00 |
|
| 179 |
admin: false |
|
| 180 |
mail: petia@somenet.foo |
|
| 181 |
lastname: Pupkin |
|
| 182 |
firstname: Petia |
|
| 183 |
auth_source_id: |
|
| 184 |
mail_notification: true |
|
| 185 |
login: petr |
|
| 186 |
type: User |
|
| app/helpers/issues_helper.rb (working copy) | ||
|---|---|---|
| 133 | 133 |
label = l(:field_parent_issue) |
| 134 | 134 |
value = "##{detail.value}" unless detail.value.blank?
|
| 135 | 135 |
old_value = "##{detail.old_value}" unless detail.old_value.blank?
|
| 136 | ||
| 137 |
when detail.prop_key == 'is_private' |
|
| 138 |
value = l(detail.value == "1" ? :general_text_Yes : :general_text_No) |
|
| 139 |
old_value = l(detail.old_value == "1" ? :general_text_Yes : :general_text_No) |
|
| 136 | 140 |
end |
| 137 | 141 |
when 'cf' |
| 138 | 142 |
custom_field = CustomField.find_by_id(detail.prop_key) |
| ... | ... | |
| 199 | 203 |
l(:field_priority), |
| 200 | 204 |
l(:field_subject), |
| 201 | 205 |
l(:field_assigned_to), |
| 206 |
l(:field_is_private), |
|
| 202 | 207 |
l(:field_category), |
| 203 | 208 |
l(:field_fixed_version), |
| 204 | 209 |
l(:field_author), |
| ... | ... | |
| 226 | 231 |
issue.priority.name, |
| 227 | 232 |
issue.subject, |
| 228 | 233 |
issue.assigned_to, |
| 234 |
issue.is_private, |
|
| 229 | 235 |
issue.category, |
| 230 | 236 |
issue.fixed_version, |
| 231 | 237 |
issue.author.name, |
| app/models/issue.rb (working copy) | ||
|---|---|---|
| 73 | 73 |
after_destroy :destroy_children |
| 74 | 74 |
after_destroy :update_parent_attributes |
| 75 | 75 |
|
| 76 |
# Returns true if usr or current user is allowed to view the issue
|
|
| 77 |
def visible?(usr=nil)
|
|
| 78 |
(usr || User.current).allowed_to?(:view_issues, self.project)
|
|
| 76 |
# Returns true if user is allowed to view the issue |
|
| 77 |
def visible?(user=User.current)
|
|
| 78 |
user.allowed_to?(:view_issues, self.project) && (is_private==false || user.allowed_to?(:view_private_issues, self.project) || author == user || assigned_to == user || watched_by?(user))
|
|
| 79 | 79 |
end |
| 80 | 80 |
|
| 81 | 81 |
def after_initialize |
| ... | ... | |
| 213 | 213 |
estimated_hours |
| 214 | 214 |
custom_field_values |
| 215 | 215 |
lock_version |
| 216 |
is_private |
|
| 216 | 217 |
) unless const_defined?(:SAFE_ATTRIBUTES) |
| 217 | 218 |
|
| 218 | 219 |
# Safely sets attributes |
| ... | ... | |
| 241 | 242 |
end |
| 242 | 243 |
end |
| 243 | 244 |
|
| 245 |
if attrs['is_private'] and !user.allowed_to?(:add_private_issues, project) |
|
| 246 |
attrs.delete('is_private')
|
|
| 247 |
end |
|
| 248 |
|
|
| 244 | 249 |
self.attributes = attrs |
| 245 | 250 |
end |
| 246 | 251 |
|
| ... | ... | |
| 501 | 506 |
@time_entry.attributes = params[:time_entry] |
| 502 | 507 |
self.time_entries << @time_entry |
| 503 | 508 |
end |
| 504 |
|
|
| 509 | ||
| 505 | 510 |
if valid? |
| 506 | 511 |
attachments = Attachment.attach_files(self, params[:attachments]) |
| 507 | 512 |
|
| app/models/query.rb (working copy) | ||
|---|---|---|
| 129 | 129 |
QueryColumn.new(:assigned_to, :sortable => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"], :groupable => true),
|
| 130 | 130 |
QueryColumn.new(:updated_on, :sortable => "#{Issue.table_name}.updated_on", :default_order => 'desc'),
|
| 131 | 131 |
QueryColumn.new(:category, :sortable => "#{IssueCategory.table_name}.name", :groupable => true),
|
| 132 |
QueryColumn.new(:is_private, :sortable => "#{Issue.table_name}.is_private", :groupable => true),
|
|
| 132 | 133 |
QueryColumn.new(:fixed_version, :sortable => ["#{Version.table_name}.effective_date", "#{Version.table_name}.name"], :default_order => 'desc', :groupable => true),
|
| 133 | 134 |
QueryColumn.new(:start_date, :sortable => "#{Issue.table_name}.start_date"),
|
| 134 | 135 |
QueryColumn.new(:due_date, :sortable => "#{Issue.table_name}.due_date"),
|
| ... | ... | |
| 198 | 199 |
|
| 199 | 200 |
if User.current.logged? |
| 200 | 201 |
@available_filters["watcher_id"] = { :type => :list, :order => 15, :values => [["<< #{l(:label_me)} >>", "me"]] }
|
| 202 |
@available_filters["is_private"] = { :type => :list, :values => [[l(:general_text_yes), "1"], [l(:general_text_no), "0"]], :order => 16 }
|
|
| 201 | 203 |
end |
| 202 | 204 |
|
| 203 | 205 |
if project |
| ... | ... | |
| 442 | 444 |
|
| 443 | 445 |
end if filters and valid? |
| 444 | 446 |
|
| 447 |
db_table = Watcher.table_name |
|
| 448 |
cu_id = User.current.id.to_s |
|
| 449 |
filters_clauses << '(' + Project.allowed_to_condition(User.current, :view_private_issues) + " OR #{Issue.table_name}.is_private=0 OR #{Issue.table_name}.author_id=#{cu_id} OR #{Issue.table_name}.assigned_to_id=#{cu_id} OR #{Issue.table_name}.id IN (SELECT #{db_table}.watchable_id FROM #{db_table} WHERE #{db_table}.watchable_type='Issue' AND user_id=#{cu_id}))"
|
|
| 445 | 450 |
(filters_clauses << project_statement).join(' AND ')
|
| 446 | 451 |
end |
| 447 | 452 |
|
| app/models/user.rb (working copy) | ||
|---|---|---|
| 339 | 339 |
|
| 340 | 340 |
roles = roles_for_project(project) |
| 341 | 341 |
return false unless roles |
| 342 |
roles.detect {|role| (project.is_public? || role.member?) && role.allowed_to?(action)}
|
|
| 342 |
roles.any? {|role| (project.is_public? || role.member?) && role.allowed_to?(action)}
|
|
| 343 | 343 |
|
| 344 | 344 |
elsif options[:global] |
| 345 | 345 |
# Admin users are always authorized |
| ... | ... | |
| 347 | 347 |
|
| 348 | 348 |
# authorize if user has at least one role that has this permission |
| 349 | 349 |
roles = memberships.collect {|m| m.roles}.flatten.uniq
|
| 350 |
roles.detect {|r| r.allowed_to?(action)} || (self.logged? ? Role.non_member.allowed_to?(action) : Role.anonymous.allowed_to?(action))
|
|
| 350 |
roles.any? {|r| r.allowed_to?(action)} || (self.logged? ? Role.non_member.allowed_to?(action) : Role.anonymous.allowed_to?(action))
|
|
| 351 | 351 |
else |
| 352 | 352 |
false |
| 353 | 353 |
end |
| app/controllers/issues_controller.rb (working copy) | ||
|---|---|---|
| 97 | 97 |
end |
| 98 | 98 |
|
| 99 | 99 |
def show |
| 100 |
return render_403 if !@issue.visible? |
|
| 100 | 101 |
@journals = @issue.journals.find(:all, :include => [:user, :details], :order => "#{Journal.table_name}.created_on ASC")
|
| 101 | 102 |
@journals.each_with_index {|j,i| j.indice = i+1}
|
| 102 | 103 |
@journals.reverse! if User.current.wants_comments_in_reverse_order? |
| app/controllers/projects_controller.rb (working copy) | ||
|---|---|---|
| 156 | 156 |
@open_issues_by_tracker = Issue.visible.count(:group => :tracker, |
| 157 | 157 |
:include => [:project, :status, :tracker], |
| 158 | 158 |
:conditions => ["(#{cond}) AND #{IssueStatus.table_name}.is_closed=?", false])
|
| 159 |
@total_private_issues_by_tracker = Issue.count(:group => :tracker, |
|
| 160 |
:include => [:project, :status, :tracker], |
|
| 161 |
:conditions => ["(#{cond}) AND #{Issue.table_name}.is_private=?", true])
|
|
| 162 |
@open_private_issues_by_tracker = Issue.count(:group => :tracker, |
|
| 163 |
:include => [:project, :status, :tracker], |
|
| 164 |
:conditions => ["(#{cond}) AND #{IssueStatus.table_name}.is_closed=? AND #{Issue.table_name}.is_private=?", false, true])
|
|
| 159 | 165 |
@total_issues_by_tracker = Issue.visible.count(:group => :tracker, |
| 160 | 166 |
:include => [:project, :status, :tracker], |
| 161 | 167 |
:conditions => cond) |
| app/controllers/activities_controller.rb (working copy) | ||
|---|---|---|
| 22 | 22 |
@activity.scope = (@author.nil? ? :default : :all) if @activity.scope.empty? |
| 23 | 23 | |
| 24 | 24 |
events = @activity.events(@date_from, @date_to) |
| 25 |
|
|
| 26 |
# The private issues should be removed from events |
|
| 27 |
events.delete_if { |e| e.is_a?(Issue) && !e.visible? || e.is_a?(Journal) && !e.issue.visible? }
|
|
| 25 | 28 |
|
| 26 | 29 |
if events.empty? || stale?(:etag => [events.first, User.current]) |
| 27 | 30 |
respond_to do |format| |
| app/views/projects/show.rhtml (working copy) | ||
|---|---|---|
| 31 | 31 |
<li><%= link_to tracker.name, :controller => 'issues', :action => 'index', :project_id => @project, |
| 32 | 32 |
:set_filter => 1, |
| 33 | 33 |
"tracker_id" => tracker.id %>: |
| 34 |
<% if User.current.allowed_to?(:view_private_issues, @project) %> |
|
| 34 | 35 |
<%= l(:label_x_open_issues_abbr_on_total, :count => @open_issues_by_tracker[tracker].to_i, |
| 35 |
:total => @total_issues_by_tracker[tracker].to_i) %> |
|
| 36 |
:total => (@total_issues_by_tracker[tracker].to_i)) %> |
|
| 37 |
(<%= @total_private_issues_by_tracker[tracker] || 0 %> <%= l(:label_private_issues, @total_private_issues_by_tracker[tracker] || 0) %>) |
|
| 38 |
<% else %> |
|
| 39 |
<%= l(:label_x_open_issues_abbr_on_total, :count => (@open_issues_by_tracker[tracker].to_i)-(@open_private_issues_by_tracker[tracker] || 0), |
|
| 40 |
:total => (@total_issues_by_tracker[tracker].to_i)-(@total_private_issues_by_tracker[tracker] || 0)) %> |
|
| 41 |
<% end %> |
|
| 36 | 42 |
</li> |
| 37 | 43 |
<% end %> |
| 38 | 44 |
</ul> |
| app/views/issues/_form.rhtml (working copy) | ||
|---|---|---|
| 24 | 24 |
<div id="attributes" class="attributes"> |
| 25 | 25 |
<%= render :partial => 'issues/attributes' %> |
| 26 | 26 |
</div> |
| 27 |
<% if User.current.allowed_to?(:add_issues, @project) && User.current.allowed_to?(:add_private_issues, @project) %> |
|
| 28 |
<p><%=f.check_box :is_private %></p> |
|
| 29 |
<% end %> |
|
| 27 | 30 | |
| 28 | 31 |
<% if @issue.new_record? %> |
| 29 | 32 |
<p id="attachments_form"><%= label_tag('attachments[1][file]', l(:label_attachment_plural))%><%= render :partial => 'attachments/form' %></p>
|
| app/views/issues/show.rhtml (working copy) | ||
|---|---|---|
| 40 | 40 |
<% if @issue.estimated_hours %> |
| 41 | 41 |
<th class="estimated-hours"><%=l(:field_estimated_hours)%>:</th><td class="estimated-hours"><%= l_hours(@issue.estimated_hours) %></td> |
| 42 | 42 |
<% end %> |
| 43 |
<% if @issue.is_private %> |
|
| 44 |
<th class="private-issue"><%=l(:field_is_private)%>:</th><td class="private-issue"><%=l(:general_text_Yes)%></td> |
|
| 45 |
<% end %> |
|
| 43 | 46 |
</tr> |
| 44 | 47 |
<%= render_custom_fields_rows(@issue) %> |
| 45 | 48 |
<%= call_hook(:view_issues_show_details_bottom, :issue => @issue) %> |
| config/locales/lt.yml (working copy) | ||
|---|---|---|
| 334 | 334 |
field_default_value: Numatytoji vertė |
| 335 | 335 |
field_comments_sorting: rodyti komentarus |
| 336 | 336 |
field_parent_title: Aukštesnio lygio puslapis |
| 337 |
field_is_private: Private issue |
|
| 337 | 338 |
field_editable: Redaguojamas |
| 338 | 339 |
field_watcher: Stebėtojas |
| 339 | 340 |
field_identity_url: OpenID URL |
| ... | ... | |
| 396 | 397 |
permission_manage_versions: Valdyti versijas |
| 397 | 398 |
permission_manage_categories: Valdyti darbų kategorijas |
| 398 | 399 |
permission_add_issues: Sukurti darbus |
| 400 |
permission_add_private_issues: Add private issues |
|
| 401 |
permission_view_private_issues: View private issues |
|
| 399 | 402 |
permission_edit_issues: Redaguoti darbus |
| 400 | 403 |
permission_manage_issue_relations: Valdyti darbų ryšius |
| 401 | 404 |
permission_add_issue_notes: Sukurti pastabas |
| ... | ... | |
| 564 | 567 |
label_public_projects: Vieši projektai |
| 565 | 568 |
label_open_issues: atidaryta |
| 566 | 569 |
label_open_issues_plural: atidaryti |
| 570 |
label_private_issues: private |
|
| 571 |
label_private_issues_plural: private |
|
| 567 | 572 |
label_closed_issues: uždaryta |
| 568 | 573 |
label_closed_issues_plural: uždaryti |
| 569 | 574 |
label_x_open_issues_abbr_on_total: |
| config/locales/ro.yml (working copy) | ||
|---|---|---|
| 256 | 256 |
field_default_value: Valoare implicita |
| 257 | 257 |
field_comments_sorting: Afișează comentarii |
| 258 | 258 |
field_parent_title: Pagina superioara |
| 259 |
field_is_private: Private issue |
|
| 259 | 260 |
field_editable: Modificabil |
| 260 | 261 |
field_watcher: Urmărește |
| 261 | 262 |
field_identity_url: URL OpenID |
| ... | ... | |
| 310 | 311 |
permission_manage_versions: Editează versiuni |
| 311 | 312 |
permission_manage_categories: Editează categorii |
| 312 | 313 |
permission_add_issues: Adaugă tichete |
| 314 |
permission_add_private_issues: Add private issues |
|
| 315 |
permission_view_private_issues: View private issues |
|
| 313 | 316 |
permission_edit_issues: Editează tichete |
| 314 | 317 |
permission_manage_issue_relations: Editează relații tichete |
| 315 | 318 |
permission_add_issue_notes: Adaugă note |
| ... | ... | |
| 476 | 479 |
label_public_projects: Proiecte publice |
| 477 | 480 |
label_open_issues: deschis |
| 478 | 481 |
label_open_issues_plural: deschise |
| 482 |
label_private_issues: private |
|
| 483 |
label_private_issues_plural: private |
|
| 479 | 484 |
label_closed_issues: închis |
| 480 | 485 |
label_closed_issues_plural: închise |
| 481 | 486 |
label_x_open_issues_abbr_on_total: |
| config/locales/zh.yml (working copy) | ||
|---|---|---|
| 296 | 296 |
field_default_value: 默认值 |
| 297 | 297 |
field_comments_sorting: 显示注释 |
| 298 | 298 |
field_parent_title: 上级页面 |
| 299 |
field_is_private: Private issue |
|
| 299 | 300 |
field_editable: 可编辑 |
| 300 | 301 |
field_watcher: 跟踪者 |
| 301 | 302 |
field_identity_url: OpenID URL |
| ... | ... | |
| 365 | 366 |
permission_manage_categories: 管理问题类别 |
| 366 | 367 |
permission_view_issues: 查看问题 |
| 367 | 368 |
permission_add_issues: 新建问题 |
| 369 |
permission_add_private_issues: Add private issues |
|
| 370 |
permission_view_private_issues: View private issues |
|
| 368 | 371 |
permission_edit_issues: 更新问题 |
| 369 | 372 |
permission_manage_issue_relations: 管理问题关联 |
| 370 | 373 |
permission_add_issue_notes: 添加说明 |
| ... | ... | |
| 535 | 538 |
label_public_projects: 公开的项目 |
| 536 | 539 |
label_open_issues: 打开 |
| 537 | 540 |
label_open_issues_plural: 打开 |
| 541 |
label_private_issues: private |
|
| 542 |
label_private_issues_plural: private |
|
| 538 | 543 |
label_closed_issues: 已关闭 |
| 539 | 544 |
label_closed_issues_plural: 已关闭 |
| 540 | 545 |
label_x_open_issues_abbr_on_total: |
| config/locales/pt.yml (working copy) | ||
|---|---|---|
| 273 | 273 |
field_default_value: Valor por omissão |
| 274 | 274 |
field_comments_sorting: Mostrar comentários |
| 275 | 275 |
field_parent_title: Página pai |
| 276 |
field_is_private: Private issue |
|
| 276 | 277 |
|
| 277 | 278 |
setting_app_title: Título da aplicação |
| 278 | 279 |
setting_app_subtitle: Sub-título da aplicação |
| ... | ... | |
| 432 | 433 |
label_public_projects: Projectos públicos |
| 433 | 434 |
label_open_issues: aberto |
| 434 | 435 |
label_open_issues_plural: abertos |
| 436 |
label_private_issues: private |
|
| 437 |
label_private_issues_plural: private |
|
| 435 | 438 |
label_closed_issues: fechado |
| 436 | 439 |
label_closed_issues_plural: fechados |
| 437 | 440 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 749 | 752 |
permission_edit_own_time_entries: Editar horas pessoais |
| 750 | 753 |
permission_manage_public_queries: Gerir queries públicas |
| 751 | 754 |
permission_add_issues: Adicionar tarefas |
| 755 |
permission_add_private_issues: Add private issues |
|
| 756 |
permission_view_private_issues: View private issues |
|
| 752 | 757 |
permission_log_time: Registar tempo gasto |
| 753 | 758 |
permission_view_changesets: Ver changesets |
| 754 | 759 |
permission_view_time_entries: Ver tempo gasto |
| config/locales/ca.yml (working copy) | ||
|---|---|---|
| 289 | 289 |
field_default_value: Valor predeterminat |
| 290 | 290 |
field_comments_sorting: Mostra els comentaris |
| 291 | 291 |
field_parent_title: Pàgina pare |
| 292 |
field_is_private: Private issue |
|
| 292 | 293 |
field_editable: Es pot editar |
| 293 | 294 |
field_watcher: Vigilància |
| 294 | 295 |
field_identity_url: URL OpenID |
| ... | ... | |
| 361 | 362 |
permission_manage_categories: Gestiona les categories dels assumptes |
| 362 | 363 |
permission_view_issues: "Visualitza els assumptes" |
| 363 | 364 |
permission_add_issues: Afegeix assumptes |
| 365 |
permission_add_private_issues: Add private issues |
|
| 366 |
permission_view_private_issues: View private issues |
|
| 364 | 367 |
permission_edit_issues: Edita els assumptes |
| 365 | 368 |
permission_manage_issue_relations: Gestiona les relacions dels assumptes |
| 366 | 369 |
permission_add_issue_notes: Afegeix notes |
| ... | ... | |
| 536 | 539 |
label_public_projects: Projectes públics |
| 537 | 540 |
label_open_issues: obert |
| 538 | 541 |
label_open_issues_plural: oberts |
| 542 |
label_private_issues: private |
|
| 543 |
label_private_issues_plural: private |
|
| 539 | 544 |
label_closed_issues: tancat |
| 540 | 545 |
label_closed_issues_plural: tancats |
| 541 | 546 |
label_x_open_issues_abbr_on_total: |
| config/locales/pt-BR.yml (working copy) | ||
|---|---|---|
| 288 | 288 |
field_default_value: Padrão |
| 289 | 289 |
field_comments_sorting: Visualizar comentários |
| 290 | 290 |
field_parent_title: Página pai |
| 291 |
field_is_private: Private issue |
|
| 291 | 292 | |
| 292 | 293 |
setting_app_title: Título da aplicação |
| 293 | 294 |
setting_app_subtitle: Sub-título da aplicação |
| ... | ... | |
| 447 | 448 |
label_public_projects: Projetos públicos |
| 448 | 449 |
label_open_issues: Aberta |
| 449 | 450 |
label_open_issues_plural: Abertas |
| 451 |
label_private_issues: private |
|
| 452 |
label_private_issues_plural: private |
|
| 450 | 453 |
label_closed_issues: Fechada |
| 451 | 454 |
label_closed_issues_plural: Fechadas |
| 452 | 455 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 765 | 768 |
permission_edit_own_time_entries: Editar o próprio tempo de trabalho |
| 766 | 769 |
permission_manage_public_queries: Gerenciar consultas publicas |
| 767 | 770 |
permission_add_issues: Adicionar tarefas |
| 771 |
permission_add_private_issues: Add private issues |
|
| 772 |
permission_view_private_issues: View private issues |
|
| 768 | 773 |
permission_log_time: Adicionar tempo gasto |
| 769 | 774 |
permission_view_changesets: Ver changesets |
| 770 | 775 |
permission_view_time_entries: Ver tempo gasto |
| config/locales/tr.yml (working copy) | ||
|---|---|---|
| 436 | 436 |
label_public_projects: Genel Projeler |
| 437 | 437 |
label_open_issues: açık |
| 438 | 438 |
label_open_issues_plural: açık |
| 439 |
label_private_issues: private |
|
| 440 |
label_private_issues_plural: private |
|
| 439 | 441 |
label_closed_issues: kapalı |
| 440 | 442 |
label_closed_issues_plural: kapalı |
| 441 | 443 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 742 | 744 |
label_generate_key: Generate a key |
| 743 | 745 |
setting_sequential_project_identifiers: Generate sequential project identifiers |
| 744 | 746 |
field_parent_title: Parent page |
| 747 |
field_is_private: Private issue |
|
| 745 | 748 |
text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them." |
| 746 | 749 |
text_enumeration_category_reassign_to: 'Reassign them to this value:' |
| 747 | 750 |
label_issue_watchers: Watchers |
| ... | ... | |
| 764 | 767 |
permission_edit_own_time_entries: Edit own time logs |
| 765 | 768 |
permission_manage_public_queries: Manage public queries |
| 766 | 769 |
permission_add_issues: Add issues |
| 770 |
permission_add_private_issues: Add private issues |
|
| 771 |
permission_view_private_issues: View private issues |
|
| 767 | 772 |
permission_log_time: Log spent time |
| 768 | 773 |
permission_view_changesets: View changesets |
| 769 | 774 |
permission_view_time_entries: View spent time |
| config/locales/ru.yml (working copy) | ||
|---|---|---|
| 357 | 357 |
field_port: Порт |
| 358 | 358 |
field_possible_values: Возможные значения |
| 359 | 359 |
field_priority: Приоритет |
| 360 |
field_is_private: Частная задача |
|
| 360 | 361 |
field_project: Проект |
| 361 | 362 |
field_redirect_existing_links: Перенаправить существующие ссылки |
| 362 | 363 |
field_regexp: Регулярное выражение |
| ... | ... | |
| 599 | 600 |
label_not_contains: не содержит |
| 600 | 601 |
label_not_equals: не соответствует |
| 601 | 602 |
label_open_issues: открыт |
| 603 |
label_private_issues_plural2: частных |
|
| 604 |
label_private_issues_plural5: частных |
|
| 605 |
label_private_issues_plural: частных |
|
| 606 |
label_private_issues: частная |
|
| 602 | 607 |
label_open_issues_plural: открыто |
| 603 | 608 |
label_open_issues_plural2: открыто |
| 604 | 609 |
label_open_issues_plural5: открыто |
| ... | ... | |
| 790 | 795 | |
| 791 | 796 |
permission_add_issues: Добавление задач |
| 792 | 797 |
permission_add_issue_notes: Добавление примечаний |
| 798 |
permission_add_private_issues: Добавление частных задач |
|
| 799 |
permission_view_private_issues: Просмотр частных задач |
|
| 793 | 800 |
permission_add_issue_watchers: Добавление наблюдателей |
| 794 | 801 |
permission_add_messages: Отправка сообщений |
| 795 | 802 |
permission_browse_repository: Просмотр хранилища |
| config/locales/id.yml (working copy) | ||
|---|---|---|
| 275 | 275 |
field_default_value: Nilai default |
| 276 | 276 |
field_comments_sorting: Tampilkan komentar |
| 277 | 277 |
field_parent_title: Halaman induk |
| 278 |
field_is_private: Private issue |
|
| 278 | 279 |
field_editable: Dapat disunting |
| 279 | 280 |
field_watcher: Pemantau |
| 280 | 281 |
field_identity_url: OpenID URL |
| ... | ... | |
| 336 | 337 |
permission_manage_versions: Atur versi |
| 337 | 338 |
permission_manage_categories: Atur kategori masalah |
| 338 | 339 |
permission_add_issues: Tambahkan masalah |
| 340 |
permission_add_private_issues: Add private issues |
|
| 341 |
permission_view_private_issues: View private issues |
|
| 339 | 342 |
permission_edit_issues: Sunting masalah |
| 340 | 343 |
permission_manage_issue_relations: Atur kaitan masalah |
| 341 | 344 |
permission_add_issue_notes: Tambahkan catatan |
| ... | ... | |
| 505 | 508 |
label_public_projects: Proyek publik |
| 506 | 509 |
label_open_issues: belum selesai |
| 507 | 510 |
label_open_issues_plural: belum selesai |
| 511 |
label_private_issues: private |
|
| 512 |
label_private_issues_plural: private |
|
| 508 | 513 |
label_closed_issues: selesai |
| 509 | 514 |
label_closed_issues_plural: selesai |
| 510 | 515 |
label_x_open_issues_abbr_on_total: |
| config/locales/el.yml (working copy) | ||
|---|---|---|
| 271 | 271 |
field_default_value: Προκαθορισμένη τιμή |
| 272 | 272 |
field_comments_sorting: Προβολή σχολίων |
| 273 | 273 |
field_parent_title: Γονική σελίδα |
| 274 |
field_is_private: Private issue |
|
| 274 | 275 |
field_editable: Επεξεργάσιμο |
| 275 | 276 |
field_watcher: Παρατηρητής |
| 276 | 277 |
field_identity_url: OpenID URL |
| ... | ... | |
| 329 | 330 |
permission_manage_versions: Διαχείριση εκδόσεων |
| 330 | 331 |
permission_manage_categories: Διαχείριση κατηγοριών θεμάτων |
| 331 | 332 |
permission_add_issues: Προσθήκη θεμάτων |
| 333 |
permission_add_private_issues: Add private issues |
|
| 334 |
permission_view_private_issues: View private issues |
|
| 332 | 335 |
permission_edit_issues: Επεξεργασία θεμάτων |
| 333 | 336 |
permission_manage_issue_relations: Διαχείριση συσχετισμών θεμάτων |
| 334 | 337 |
permission_add_issue_notes: Προσθήκη σημειώσεων |
| ... | ... | |
| 495 | 498 |
label_public_projects: Δημόσια έργα |
| 496 | 499 |
label_open_issues: Ανοικτό |
| 497 | 500 |
label_open_issues_plural: Ανοικτά |
| 501 |
label_private_issues: private |
|
| 502 |
label_private_issues_plural: private |
|
| 498 | 503 |
label_closed_issues: Κλειστό |
| 499 | 504 |
label_closed_issues_plural: Κλειστά |
| 500 | 505 |
label_x_open_issues_abbr_on_total: |
| config/locales/en.yml (working copy) | ||
|---|---|---|
| 286 | 286 |
field_default_value: Default value |
| 287 | 287 |
field_comments_sorting: Display comments |
| 288 | 288 |
field_parent_title: Parent page |
| 289 |
field_is_private: Private issue |
|
| 289 | 290 |
field_editable: Editable |
| 290 | 291 |
field_watcher: Watcher |
| 291 | 292 |
field_identity_url: OpenID URL |
| ... | ... | |
| 361 | 362 |
permission_manage_categories: Manage issue categories |
| 362 | 363 |
permission_view_issues: View Issues |
| 363 | 364 |
permission_add_issues: Add issues |
| 365 |
permission_add_private_issues: Add private issues |
|
| 366 |
permission_view_private_issues: View private issues |
|
| 364 | 367 |
permission_edit_issues: Edit issues |
| 365 | 368 |
permission_manage_issue_relations: Manage issue relations |
| 366 | 369 |
permission_add_issue_notes: Add notes |
| ... | ... | |
| 536 | 539 |
label_public_projects: Public projects |
| 537 | 540 |
label_open_issues: open |
| 538 | 541 |
label_open_issues_plural: open |
| 542 |
label_private_issues: private |
|
| 543 |
label_private_issues_plural: private |
|
| 539 | 544 |
label_closed_issues: closed |
| 540 | 545 |
label_closed_issues_plural: closed |
| 541 | 546 |
label_x_open_issues_abbr_on_total: |
| config/locales/gl.yml (working copy) | ||
|---|---|---|
| 279 | 279 |
field_onthefly: Creación do usuario "ao voo" |
| 280 | 280 |
field_parent: Proxecto pai |
| 281 | 281 |
field_parent_title: Páxina pai |
| 282 |
field_is_private: Private issue |
|
| 282 | 283 |
field_password: Contrasinal |
| 283 | 284 |
field_password_confirmation: Confirmación |
| 284 | 285 |
field_port: Porto |
| ... | ... | |
| 517 | 518 |
label_not_equals: non igual |
| 518 | 519 |
label_open_issues: aberta |
| 519 | 520 |
label_open_issues_plural: abertas |
| 521 |
label_private_issues: private |
|
| 522 |
label_private_issues_plural: private |
|
| 520 | 523 |
label_optional_description: Descrición opcional |
| 521 | 524 |
label_options: Opcións |
| 522 | 525 |
label_overall_activity: Actividade global |
| ... | ... | |
| 669 | 672 |
permission_add_issue_notes: Engadir notas |
| 670 | 673 |
permission_add_issue_watchers: Engadir seguidores |
| 671 | 674 |
permission_add_issues: Engadir peticións |
| 675 |
permission_add_private_issues: Add private issues |
|
| 676 |
permission_view_private_issues: View private issues |
|
| 672 | 677 |
permission_add_messages: Enviar mensaxes |
| 673 | 678 |
permission_browse_repository: Ollar repositorio |
| 674 | 679 |
permission_comment_news: Comentar noticias |
| config/locales/cs.yml (working copy) | ||
|---|---|---|
| 413 | 413 |
label_public_projects: Veřejné projekty |
| 414 | 414 |
label_open_issues: otevřený |
| 415 | 415 |
label_open_issues_plural: otevřené |
| 416 |
label_private_issues: private |
|
| 417 |
label_private_issues_plural: private |
|
| 416 | 418 |
label_closed_issues: uzavřený |
| 417 | 419 |
label_closed_issues_plural: uzavřené |
| 418 | 420 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 728 | 730 |
setting_mail_handler_api_key: API klíč |
| 729 | 731 |
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/email.yml a restartujte aplikaci." |
| 730 | 732 |
field_parent_title: Rodičovská stránka |
| 733 |
field_is_private: Private issue |
|
| 731 | 734 |
label_issue_watchers: Sledování |
| 732 | 735 |
setting_commit_logs_encoding: Kódování zpráv při commitu |
| 733 | 736 |
button_quote: Citovat |
| ... | ... | |
| 741 | 744 |
permission_edit_own_time_entries: Upravování vlastních zázamů o stráveném čase |
| 742 | 745 |
permission_manage_public_queries: Správa veřejných dotazů |
| 743 | 746 |
permission_add_issues: Přidávání úkolů |
| 747 |
permission_add_private_issues: Add private issues |
|
| 748 |
permission_view_private_issues: View private issues |
|
| 744 | 749 |
permission_log_time: Zaznamenávání stráveného času |
| 745 | 750 |
permission_view_changesets: Zobrazování sady změn |
| 746 | 751 |
permission_view_time_entries: Zobrazení stráveného času |
| config/locales/es.yml (working copy) | ||
|---|---|---|
| 302 | 302 |
field_onthefly: Creación del usuario "al vuelo" |
| 303 | 303 |
field_parent: Proyecto padre |
| 304 | 304 |
field_parent_title: Página padre |
| 305 |
field_is_private: Private issue |
|
| 305 | 306 |
field_password: Contraseña |
| 306 | 307 |
field_password_confirmation: Confirmación |
| 307 | 308 |
field_port: Puerto |
| ... | ... | |
| 540 | 541 |
label_not_equals: no igual |
| 541 | 542 |
label_open_issues: abierta |
| 542 | 543 |
label_open_issues_plural: abiertas |
| 544 |
label_private_issues: private |
|
| 545 |
label_private_issues_plural: private |
|
| 543 | 546 |
label_optional_description: Descripción opcional |
| 544 | 547 |
label_options: Opciones |
| 545 | 548 |
label_overall_activity: Actividad global |
| ... | ... | |
| 692 | 695 |
permission_add_issue_notes: Añadir notas |
| 693 | 696 |
permission_add_issue_watchers: Añadir seguidores |
| 694 | 697 |
permission_add_issues: Añadir peticiones |
| 698 |
permission_add_private_issues: Add private issues |
|
| 699 |
permission_view_private_issues: View private issues |
|
| 695 | 700 |
permission_add_messages: Enviar mensajes |
| 696 | 701 |
permission_browse_repository: Hojear repositiorio |
| 697 | 702 |
permission_comment_news: Comentar noticias |
| config/locales/zh-TW.yml (working copy) | ||
|---|---|---|
| 373 | 373 |
field_default_value: 預設值 |
| 374 | 374 |
field_comments_sorting: 註解排序 |
| 375 | 375 |
field_parent_title: 父頁面 |
| 376 |
field_is_private: Private issue |
|
| 376 | 377 |
field_editable: 可編輯 |
| 377 | 378 |
field_watcher: 觀察者 |
| 378 | 379 |
field_identity_url: OpenID 網址 |
| ... | ... | |
| 451 | 452 |
permission_manage_categories: 管理項目分類 |
| 452 | 453 |
permission_view_issues: 檢視項目 |
| 453 | 454 |
permission_add_issues: 新增項目 |
| 455 |
permission_add_private_issues: Add private issues |
|
| 456 |
permission_view_private_issues: View private issues |
|
| 454 | 457 |
permission_edit_issues: 編輯項目 |
| 455 | 458 |
permission_manage_issue_relations: 管理項目關聯 |
| 456 | 459 |
permission_add_issue_notes: 新增筆記 |
| ... | ... | |
| 626 | 629 |
label_public_projects: 公開專案 |
| 627 | 630 |
label_open_issues: 進行中 |
| 628 | 631 |
label_open_issues_plural: 進行中 |
| 632 |
label_private_issues: private |
|
| 633 |
label_private_issues_plural: private |
|
| 629 | 634 |
label_closed_issues: 已結束 |
| 630 | 635 |
label_closed_issues_plural: 已結束 |
| 631 | 636 |
label_x_open_issues_abbr_on_total: |
| config/locales/ko.yml (working copy) | ||
|---|---|---|
| 323 | 323 |
field_searchable: 검색가능 |
| 324 | 324 |
field_comments_sorting: 댓글 정렬 |
| 325 | 325 |
field_parent_title: 상위 제목 |
| 326 |
field_is_private: Private issue |
|
| 326 | 327 |
field_editable: 편집가능 |
| 327 | 328 |
field_watcher: 일감지킴이 |
| 328 | 329 |
field_identity_url: OpenID URL |
| ... | ... | |
| 381 | 382 |
permission_manage_versions: 버전 관리 |
| 382 | 383 |
permission_manage_categories: 일감 범주 관리 |
| 383 | 384 |
permission_add_issues: 일감 추가 |
| 385 |
permission_add_private_issues: Add private issues |
|
| 386 |
permission_view_private_issues: View private issues |
|
| 384 | 387 |
permission_edit_issues: 일감 편집 |
| 385 | 388 |
permission_manage_issue_relations: 일감 관계 관리 |
| 386 | 389 |
permission_add_issue_notes: 덧글 추가 |
| ... | ... | |
| 547 | 550 |
label_public_projects: 공개 프로젝트 |
| 548 | 551 |
label_open_issues: 진행중 |
| 549 | 552 |
label_open_issues_plural: 진행중 |
| 553 |
label_private_issues: private |
|
| 554 |
label_private_issues_plural: private |
|
| 550 | 555 |
label_closed_issues: 완료됨 |
| 551 | 556 |
label_closed_issues_plural: 완료됨 |
| 552 | 557 |
label_x_open_issues_abbr_on_total: |
| config/locales/it.yml (working copy) | ||
|---|---|---|
| 376 | 376 |
label_public_projects: Progetti pubblici |
| 377 | 377 |
label_open_issues: aperta |
| 378 | 378 |
label_open_issues_plural: aperte |
| 379 |
label_private_issues: private |
|
| 380 |
label_private_issues_plural: private |
|
| 379 | 381 |
label_closed_issues: chiusa |
| 380 | 382 |
label_closed_issues_plural: chiuse |
| 381 | 383 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 732 | 734 |
setting_mail_handler_api_key: Chiave API |
| 733 | 735 |
text_email_delivery_not_configured: "La consegna via email non è configurata e le notifiche sono disabilitate.\nConfigura il tuo server SMTP in config/email.yml e riavvia l'applicazione per abilitarle." |
| 734 | 736 |
field_parent_title: Pagina principale |
| 737 |
field_is_private: Private issue |
|
| 735 | 738 |
label_issue_watchers: Osservatori |
| 736 | 739 |
setting_commit_logs_encoding: Codifica dei messaggi di commit |
| 737 | 740 |
button_quote: Quota |
| ... | ... | |
| 745 | 748 |
permission_edit_own_time_entries: Modifica propri time logs |
| 746 | 749 |
permission_manage_public_queries: Gestisci query pubbliche |
| 747 | 750 |
permission_add_issues: Aggiungi segnalazioni |
| 751 |
permission_add_private_issues: Add private issues |
|
| 752 |
permission_view_private_issues: View private issues |
|
| 748 | 753 |
permission_log_time: Segna tempo impiegato |
| 749 | 754 |
permission_view_changesets: Vedi changesets |
| 750 | 755 |
permission_view_time_entries: Vedi tempi impiegati |
| config/locales/sk.yml (working copy) | ||
|---|---|---|
| 407 | 407 |
label_public_projects: Verejné projekty |
| 408 | 408 |
label_open_issues: Otvorený |
| 409 | 409 |
label_open_issues_plural: Otvorené |
| 410 |
label_private_issues: private |
|
| 411 |
label_private_issues_plural: private |
|
| 410 | 412 |
label_closed_issues: Uzavrený |
| 411 | 413 |
label_closed_issues_plural: Uzavrené |
| 412 | 414 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 722 | 724 |
setting_mail_handler_api_key: API kľúč |
| 723 | 725 |
text_email_delivery_not_configured: "Doručenie emailov nieje nastavené, notifikácie sú vypnuté.\nNastavte váš SMTP server v config/email.yml a reštartnite aplikáciu pre aktiváciu funkcie." |
| 724 | 726 |
field_parent_title: Nadradená stránka |
| 727 |
field_is_private: Private issue |
|
| 725 | 728 |
label_issue_watchers: Pozorovatelia |
| 726 | 729 |
setting_commit_logs_encoding: Kódovanie prenášaných správ |
| 727 | 730 |
button_quote: Citácia |
| ... | ... | |
| 735 | 738 |
permission_edit_own_time_entries: Úprava vlastných zaznamov o strávenom čase |
| 736 | 739 |
permission_manage_public_queries: Správa verejných otáziek |
| 737 | 740 |
permission_add_issues: Pridanie úlohy |
| 741 |
permission_add_private_issues: Add private issues |
|
| 742 |
permission_view_private_issues: View private issues |
|
| 738 | 743 |
permission_log_time: Zaznamenávanie stráveného času |
| 739 | 744 |
permission_view_changesets: Zobrazenie sád zmien |
| 740 | 745 |
permission_view_time_entries: Zobrazenie stráveného času |
| config/locales/sl.yml (working copy) | ||
|---|---|---|
| 260 | 260 |
field_default_value: Privzeta vrednost |
| 261 | 261 |
field_comments_sorting: Prikaži komentarje |
| 262 | 262 |
field_parent_title: Matična stran |
| 263 |
field_is_private: Private issue |
|
| 263 | 264 |
|
| 264 | 265 |
setting_app_title: Naslov aplikacije |
| 265 | 266 |
setting_app_subtitle: Podnaslov aplikacije |
| ... | ... | |
| 307 | 308 |
permission_manage_versions: Uredi verzije |
| 308 | 309 |
permission_manage_categories: Urejanje kategorij zahtevkov |
| 309 | 310 |
permission_add_issues: Dodaj zahtevke |
| 311 |
permission_add_private_issues: Add private issues |
|
| 312 |
permission_view_private_issues: View private issues |
|
| 310 | 313 |
permission_edit_issues: Uredi zahtevke |
| 311 | 314 |
permission_manage_issue_relations: Uredi odnose med zahtevki |
| 312 | 315 |
permission_add_issue_notes: Dodaj zabeležke |
| ... | ... | |
| 472 | 475 |
label_public_projects: Javni projekti |
| 473 | 476 |
label_open_issues: odpri zahtevek |
| 474 | 477 |
label_open_issues_plural: odpri zahtevke |
| 478 |
label_private_issues: private |
|
| 479 |
label_private_issues_plural: private |
|
| 475 | 480 |
label_closed_issues: zapri zahtevek |
| 476 | 481 |
label_closed_issues_plural: zapri zahtevke |
| 477 | 482 |
label_x_open_issues_abbr_on_total: |
| config/locales/uk.yml (working copy) | ||
|---|---|---|
| 381 | 381 |
label_public_projects: Публічні проекти |
| 382 | 382 |
label_open_issues: відкрите |
| 383 | 383 |
label_open_issues_plural: відкриті |
| 384 |
label_private_issues: private |
|
| 385 |
label_private_issues_plural: private |
|
| 384 | 386 |
label_closed_issues: закрите |
| 385 | 387 |
label_closed_issues_plural: закриті |
| 386 | 388 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 724 | 726 |
setting_mail_handler_api_key: API key |
| 725 | 727 |
text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them." |
| 726 | 728 |
field_parent_title: Parent page |
| 729 |
field_is_private: Private issue |
|
| 727 | 730 |
label_issue_watchers: Watchers |
| 728 | 731 |
setting_commit_logs_encoding: Commit messages encoding |
| 729 | 732 |
button_quote: Quote |
| ... | ... | |
| 737 | 740 |
permission_edit_own_time_entries: Edit own time logs |
| 738 | 741 |
permission_manage_public_queries: Manage public queries |
| 739 | 742 |
permission_add_issues: Add issues |
| 743 |
permission_add_private_issues: Add private issues |
|
| 744 |
permission_view_private_issues: View private issues |
|
| 740 | 745 |
permission_log_time: Log spent time |
| 741 | 746 |
permission_view_changesets: View changesets |
| 742 | 747 |
permission_view_time_entries: View spent time |
| config/locales/sr.yml (working copy) | ||
|---|---|---|
| 285 | 285 |
field_default_value: Подразумевана вредност |
| 286 | 286 |
field_comments_sorting: Прикажи коментаре |
| 287 | 287 |
field_parent_title: Матична страница |
| 288 |
field_is_private: Private issue |
|
| 288 | 289 |
field_editable: Изменљиво |
| 289 | 290 |
field_watcher: Посматрач |
| 290 | 291 |
field_identity_url: OpenID URL |
| ... | ... | |
| 357 | 358 |
permission_manage_categories: Управљање категоријама проблема |
| 358 | 359 |
permission_view_issues: Преглед проблема |
| 359 | 360 |
permission_add_issues: Додавање проблема |
| 361 |
permission_add_private_issues: Add private issues |
|
| 362 |
permission_view_private_issues: View private issues |
|
| 360 | 363 |
permission_edit_issues: Измена проблема |
| 361 | 364 |
permission_manage_issue_relations: Управљање везама између проблема |
| 362 | 365 |
permission_add_issue_notes: Додавање белешки |
| ... | ... | |
| 532 | 535 |
label_open_issues_plural: отворених |
| 533 | 536 |
label_closed_issues: затворен |
| 534 | 537 |
label_closed_issues_plural: затворених |
| 538 |
label_private_issues: private |
|
| 539 |
label_private_issues_plural: private |
|
| 535 | 540 |
label_x_open_issues_abbr_on_total: |
| 536 | 541 |
zero: 0 отворених / {{total}}
|
| 537 | 542 |
one: 1 отворен / {{total}}
|
| config/locales/da.yml (working copy) | ||
|---|---|---|
| 420 | 420 |
label_public_projects: Offentlige projekter |
| 421 | 421 |
label_open_issues: åben |
| 422 | 422 |
label_open_issues_plural: åbne |
| 423 |
label_private_issues: private |
|
| 424 |
label_private_issues_plural: private |
|
| 423 | 425 |
label_closed_issues: lukket |
| 424 | 426 |
label_closed_issues_plural: lukkede |
| 425 | 427 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 735 | 737 |
button_quote: Citér |
| 736 | 738 |
permission_view_files: Se filer |
| 737 | 739 |
permission_add_issues: Tilføj sager |
| 740 |
permission_add_private_issues: Add private issues |
|
| 741 |
permission_view_private_issues: View private issues |
|
| 738 | 742 |
permission_edit_own_messages: Redigér egne beskeder |
| 739 | 743 |
permission_delete_own_messages: Slet egne beskeder |
| 740 | 744 |
permission_manage_public_queries: Administrér offentlig forespørgsler |
| ... | ... | |
| 750 | 754 |
setting_sequential_project_identifiers: Generér sekventielle projekt-identifikatorer |
| 751 | 755 |
setting_plain_text_mail: Emails som almindelig tekst (ingen HTML) |
| 752 | 756 |
field_parent_title: Siden over |
| 757 |
field_is_private: Private issue |
|
| 753 | 758 |
text_email_delivery_not_configured: "Email-afsendelse er ikke indstillet og notifikationer er defor slået fra.\nKonfigurér din SMTP server i config/email.yml og genstart applikationen for at aktivere email-afsendelse." |
| 754 | 759 |
permission_protect_wiki_pages: Beskyt wiki sider |
| 755 | 760 |
permission_manage_documents: Administrér dokumenter |
| config/locales/sv.yml (working copy) | ||
|---|---|---|
| 333 | 333 |
field_default_value: Standardvärde |
| 334 | 334 |
field_comments_sorting: Visa kommentarer |
| 335 | 335 |
field_parent_title: Föräldersida |
| 336 |
field_is_private: Private issue |
|
| 336 | 337 |
field_editable: Redigerbar |
| 337 | 338 |
field_watcher: Bevakare |
| 338 | 339 |
field_identity_url: OpenID URL |
| ... | ... | |
| 408 | 409 |
permission_manage_versions: Hantera versioner |
| 409 | 410 |
permission_manage_categories: Hantera ärendekategorier |
| 410 | 411 |
permission_add_issues: Lägga till ärenden |
| 412 |
permission_add_private_issues: Add private issues |
|
| 413 |
permission_view_private_issues: View private issues |
|
| 411 | 414 |
permission_edit_issues: Ändra ärenden |
| 412 | 415 |
permission_view_issues: Visa ärenden |
| 413 | 416 |
permission_manage_issue_relations: Hantera ärenderelationer |
| ... | ... | |
| 584 | 587 |
label_public_projects: Publika projekt |
| 585 | 588 |
label_open_issues: öppen |
| 586 | 589 |
label_open_issues_plural: öppna |
| 590 |
label_private_issues: private |
|
| 591 |
label_private_issues_plural: private |
|
| 587 | 592 |
label_closed_issues: stängd |
| 588 | 593 |
label_closed_issues_plural: stängda |
| 589 | 594 |
label_x_open_issues_abbr_on_total: |
| config/locales/de.yml (working copy) | ||
|---|---|---|
| 312 | 312 |
field_group_by: Gruppiere Ergebnisse nach |
| 313 | 313 |
field_sharing: Gemeinsame Verwendung |
| 314 | 314 |
field_parent_issue: Übergeordnete Aufgabe |
| 315 | ||
| 315 |
field_is_private: Private issue |
|
| 316 |
|
|
| 316 | 317 |
setting_app_title: Applikations-Titel |
| 317 | 318 |
setting_app_subtitle: Applikations-Untertitel |
| 318 | 319 |
setting_welcome_text: Willkommenstext |
| ... | ... | |
| 377 | 378 |
permission_manage_categories: Ticket-Kategorien verwalten |
| 378 | 379 |
permission_view_issues: Tickets anzeigen |
| 379 | 380 |
permission_add_issues: Tickets hinzufügen |
| 381 |
permission_add_private_issues: Add private issues |
|
| 382 |
permission_view_private_issues: View private issues |
|
| 380 | 383 |
permission_edit_issues: Tickets bearbeiten |
| 381 | 384 |
permission_manage_issue_relations: Ticket-Beziehungen verwalten |
| 382 | 385 |
permission_add_issue_notes: Kommentare hinzufügen |
| ... | ... | |
| 552 | 555 |
label_public_projects: Öffentliche Projekte |
| 553 | 556 |
label_open_issues: offen |
| 554 | 557 |
label_open_issues_plural: offen |
| 558 |
label_private_issues: private |
|
| 559 |
label_private_issues_plural: private |
|
| 555 | 560 |
label_closed_issues: geschlossen |
| 556 | 561 |
label_closed_issues_plural: geschlossen |
| 557 | 562 |
label_x_open_issues_abbr_on_total: |
| config/locales/bg.yml (working copy) | ||
|---|---|---|
| 365 | 365 |
label_public_projects: Публични проекти |
| 366 | 366 |
label_open_issues: отворена |
| 367 | 367 |
label_open_issues_plural: отворени |
| 368 |
label_private_issues: private |
|
| 369 |
label_private_issues_plural: private |
|
| 368 | 370 |
label_closed_issues: затворена |
| 369 | 371 |
label_closed_issues_plural: затворени |
| 370 | 372 |
label_x_open_issues_abbr_on_total: |
| ... | ... | |
| 721 | 723 |
setting_mail_handler_api_key: API ключ |
| 722 | 724 |
text_email_delivery_not_configured: "Изпращането на e-mail-и не е конфигурирано и известията не са разрешени.\nКонфигурирайте вашия SMTP сървър в config/email.yml и рестартирайте Redmine, за да ги разрешите." |
| 723 | 725 |
field_parent_title: Родителска страница |
| 726 |
field_is_private: Private issue |
|
| 724 | 727 |
label_issue_watchers: Наблюдатели |
| 725 | 728 |
setting_commit_logs_encoding: Кодова таблица на съобщенията при поверяване |
| 726 | 729 |
button_quote: Цитат |
| ... | ... | |
| 734 | 737 |
permission_edit_own_time_entries: Редактиране на собствените time logs |
| 735 | 738 |
permission_manage_public_queries: Управление на публичните заявки |
| 736 | 739 |
permission_add_issues: Добавяне на задачи |
| 740 |
permission_add_private_issues: Add private issues |
|
| 741 |
permission_view_private_issues: View private issues |
|
| 737 | 742 |
permission_log_time: Log spent time |
| 738 | 743 |
permission_view_changesets: Разглеждане на changesets |
| 739 | 744 |
permission_view_time_entries: Разглеждане на изразходваното време |
| ... | ... | |
| 919 | 924 |
label_principal_search: "Търсене на потребител или група:" |
| 920 | 925 |
label_user_search: "Търсене на потребител:" |
| 921 | 926 |
field_visible: Видим |
| 922 |
setting_emails_header: Emails header |
|
| 927 |
setting_emails_header: Emails header |
|
| config/locales/ja.yml (working copy) | ||
|---|---|---|
| 313 | 313 |
field_default_value: デフォルト値 |
| 314 | 314 |
field_comments_sorting: コメントを表示 |
| 315 | 315 |
field_parent_title: 親ページ |
| 316 |
field_is_private: Private issue |
|
- « Previous
- 1
- …
- 15
- 16
- 17
- Next »