-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Expand file tree
/
Copy pathen.yml
More file actions
6514 lines (6351 loc) · 330 KB
/
Copy pathen.yml
File metadata and controls
6514 lines (6351 loc) · 330 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
en:
no_results_title_text: There is currently nothing to display.
activities:
index:
no_results_title_text: There has not been any activity for the project within this time frame.
work_packages:
activity_tab:
no_results_title_text: No activity to display
no_results_description_text: 'Choose "Show everything" to show all activity and comments'
label_activity_show_all: "Show everything"
label_activity_show_only_comments: "Show comments only"
label_activity_show_only_changes: "Show changes only"
label_sort_asc: "Newest at the bottom"
label_sort_desc: "Newest on top"
label_type_to_comment: "Add a comment. Type @ to notify people."
label_submit_comment: "Submit comment"
label_who: Who?
changed_on: "changed on"
created_on: "created this on"
changed: "changed"
created: "created"
commented: "commented"
internal_comment: Internal comment
internal_journal: Internal comments are visible to a limited group of members.
unsaved_changes_confirmation_message: You have unsaved changes. Are you sure you want to close the editor?
internal_comment_confirmation:
title: "Make this comment public?"
heading: "Make this comment public?"
description: "Your comment will be visible to anyone who can access this work package. Are you sure you want to do this?"
confirm_button_text: "Make public"
admin:
reserved_identifiers:
title: "Reserved project identifiers"
lede_html: "When a project's identifier is renamed, the previous identifier is kept reserved so that existing links and integrations keep working.<br>Here you can release reserved identifiers so that they may be used by other projects."
col_identifier: "Identifier"
col_project: "Project"
col_reserved: "Reserved"
not_available_in_semantic_mode: "Reserved project identifiers are only available in numeric identifier mode."
filter_label: "Search identifiers"
btn_release: "Release"
released_notice: 'Identifier "%{identifier}" has been released.'
identifier_not_found: "The reserved identifier could not be found. It may have already been released or the project may have been deleted. Please refresh the page."
dialog:
title: "Release identifier"
heading: 'Release "%{identifier}"?'
description: "Releasing this identifier cannot be undone. External links and integrations using it will stop resolving, and the name becomes available for any new project to claim."
checkbox_label: "I understand that this cannot be undone."
confirm_button: "Release identifier"
empty_heading: "No reserved identifiers"
reserved_ago: "%{time} ago"
empty_body: "When a project's identifier changes, the previous one will appear here so you can release it once it's safe to do so."
plugins:
no_results_title_text: There are currently no plugins installed.
no_results_content_text: See our integrations and plugins page for more information.
custom_styles:
color_theme: "Color theme"
color_theme_custom: "(Custom)"
tab_interface: "Interface"
tab_branding: "Branding"
tab_pdf_export_styles: "PDF export styles"
tab_pdf_export_font: "PDF export font"
fonts:
file_too_large: "is too large (maximum size is %{count} MB)."
file_is_invalid: "is not a valid TTF font file."
colors:
primary-button-color: "Primary button"
accent-color: "Accent"
header-bg-color: "Header background"
main-menu-bg-color: "Main menu background"
main-menu-bg-selected-background: "Main menu when selected"
custom_colors: "Custom colors"
manage_colors: "Edit color select options"
instructions:
primary-button-color: "Strong accent color, used for the most important button on a screen."
accent-color: "Color for links and other decently highlighted elements."
main-menu-bg-color: "Left side menu's background color."
theme_warning: Changing the theme will overwrite you custom style. The design will then be lost. Are you sure you want to continue?
enterprise:
delete_dialog:
title: "Delete enterprise token"
heading: "Delete this enterprise token?"
confirmation: "Are you sure you want to delete this Enterprise edition support token?"
create_dialog:
title: "Add Enterprise token"
type_token_text: "Your Enterprise token text"
token_placeholder: "Paste your Enterprise edition support token here"
token_caption: "To learn more about how to activate Enterprise edition check our [documentation](docs_url)."
add_token: "Upload an Enterprise edition support token"
replace_token: "Replace your current support token"
order: "Order Enterprise on-premises edition"
paste: "Paste your Enterprise edition support token"
required_for_feature: "This add-on is only available with an active Enterprise edition support token."
enterprise_link: "For more information, click here."
start_trial: "Start free trial"
book_now: "Book now"
get_quote: "Get a quote"
buttons:
upgrade: "Upgrade now"
contact: "Contact us for a demo"
status:
expired: "Expired"
expiring_soon: "Expiring soon"
in_grace_period: "In grace period"
invalid_domain: "Invalid domain"
not_active: "Not active"
trial: "Trial"
jemalloc_allocator: Jemalloc memory allocator
journal_aggregation:
caption: >
User actions on a work package (changing description, status, values, or writing comments) are grouped if performed within this period. It also controls notification and [webhook](webhook_link) delays.
import:
title: "Import"
jira:
title: "Jira Migrator"
description: "Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run."
errors:
cannot_delete_with_imports: "Cannot delete Jira host with existing imports"
custom_field_creation_failed: "Failed to create custom field '%{name}': %{message}"
semantic_identifiers_must_be_enabled:
title: "Project-based semantic identifiers must be enabled."
description: "Jira uses issue identifiers consisting of a project key and a sequence number (PRJ-123). OpenProject also supports it, but it needs to be enabled [here](link)."
blank:
title: "No Jira hosts configured yet"
description: "Configure a Jira host to start importing items from Jira to this OpenProject instance."
configuration:
title: "Jira configuration"
new: "New configuration"
banner:
title: "Beta - Try it out!"
description: "This Jira Migrator is currently in beta. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time."
contribution_callout: >
Please, help us improve the Jira Migrator with your feedback and private data donations. You can [join the development community](link) of the Jira Migrator.
supported_versions: ""
form:
fields:
name: "Name"
url: "Jira Server/Data Center URL"
personal_access_token: "Personal Access Token"
button_add: "Add configuration"
button_save: "Save configuration"
button_test: "Test configuration"
button_delete_token: "Delete token"
delete_token_confirm: "Are you sure you want to delete the token? This will disable the Jira connection."
label_testing: "Testing configuration..."
token_deleted: "Token was successfully deleted."
test:
success: "Successfully connected to %{server} (version %{version})"
failed: "Connection failed: Unable to retrieve server information"
error: "An unexpected error occurred while testing the connection"
connection_error: "Connection error: %{message}"
parse_error: "Failed to parse the response from the server. The server may not be a valid Jira instance."
api_error: "Jira API returned error status %{status}. Please check your Jira instance URL and API token."
token_error: "Invalid API token. Please check your credentials in the configuration."
missing_credentials: "Please provide both URL and Personal Access Token to test the connection"
invalid_url: "Please provide a valid URL"
client:
connection_error: "Failed to connect to Jira server: %{message}"
connection_timeout: "Connection to Jira server timed out: %{message}"
ssrf_blocked: >-
Connection blocked: the Jira host resolves to a private IP address. If your Jira instance
runs on an internal network, allow its IP via the OPENPROJECT_SSRF__PROTECTION__IP__ALLOWLIST
environment variable.
ssrf_block_doc_link: "Please see our [documentation](docs_url)."
ssl_error: "SSL error connecting to Jira server: %{message}"
parse_error: "Failed to parse Jira API response: %{message}"
api_error: "Jira API returned error status %{status}"
401_error: "Jira API returned a 401 error. Your authentication token may have expired or lack the required permissions. Please ensure the token belongs to a Jira administrator."
429_error: "Jira API returned a 429 error. It means token owner has been rate limited by the Jira instance. Please disable rate limiting for this user."
columns:
projects: "Projects"
last_change: "Last change"
added: "Added"
label_ago: "%{amount} ago"
run:
title: "Import run"
history: "History"
remove_error: "A Jira import run cannot be removed while it is running"
import_blocked_error: "Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import."
project_identifier_taken: "You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry."
blank:
title: "No import runs set up yet"
description: "Create an import run to start importing information from this Jira instance"
index:
description: "You can import different sets of data with each import run. It is possible to undo an import run immediately after in review mode but not after finalizing."
button_import_run: "Import run"
button_edit_configuration: "Edit configuration"
status:
initial: "Start"
instance_meta_fetching: "Fetching meta data"
instance_meta_error: "Error fetching meta data"
instance_meta_done: "Meta data fetched"
import_scope: "Select scope"
configuring: "Select scope"
projects_meta_fetching: "Fetching project data"
projects_meta_error: "Error fetching project data"
projects_meta_done: "Data gathered"
importing: "In progress"
import_error: "Error during import"
imported: "Review mode"
reverting: "Reverting"
revert_error: "Error during revert"
revert_cancelling: "Cancelling revert"
revert_cancelled: "Revert cancelled"
reverted: "Reverted"
finalizing: "Finalizing"
finalizing_error: "Error during finalizing"
finalizing_done: "Completed"
wizard:
button_retry: "Retry"
parts:
projects:
one: "1 project"
other: "%{count} projects"
issues:
one: "1 issue"
other: "%{count} issues"
work_packages:
one: "1 work package"
other: "%{count} work packages"
types:
one: "1 type"
other: "%{count} types"
statuses:
one: "1 status"
other: "%{count} statuses"
users:
one: "1 user"
other: "%{count} users"
groups:
fetch:
title: "Get base data"
groups_and_users:
title: "Groups and Users"
configuration:
title: "Configure import"
confirming:
title: "Confirm and import"
review:
title: "Review import"
sections:
fetch_data:
title: "Fetch instance meta data"
caption_done: "Completed"
description: "Check what data is available for import in the host Jira instance."
button_fetch: "Check available data"
label_progress: "Fetching data from Jira..."
groups_and_users:
title: "Groups and Users"
import_scope:
title: "Import scope"
caption: "Choose what you want to import into OpenProject"
caption_done: "Completed"
label_info: "Please note that this import tool is in beta and cannot import all types of data. Here is a summary of what the host Jira instance offers for import and what this tool is able to import right now."
description: "Select what data you want to import from the available data fetched from the host Jira instance."
label_supported_data: "Supported data"
label_coming_soon: "Coming soon (Q2 2026)"
label_coming_later: "Coming later"
label_available_server_data: "Available data on %{server_info}"
button_select_projects: "Select projects to import"
button_continue: "Continue"
label_import: "Select which projects you would like to import."
button_select: "Select projects"
label_selected_data: "Selected data for import"
label_progress: "Fetching data from Jira..."
elements:
relations: "Relations between issues"
project_ids: "Project identifiers"
issue_ids: "Issue identifiers"
sprints: "Sprint assignments"
workflows: "Project-level workflows"
schemes: "Schemas"
permissions: "Permissions"
projects: "Projects"
issues: "Issues"
issue_details: "Issue description, history, comments and attachments"
custom_fields: "A subset of custom fields"
users: "Involved users and groups"
confirm_import:
title: "Import data"
caption: "Review your import settings and start the import"
caption_done: "Completed"
label_available_data: "Data to be imported"
label_users_import_explanation: "Users that are involved in selected projects (group memberships included)"
button_start: "Start import"
description: "You are about to start an import run with the following settings."
label_progress: "Import in progress..."
label_import_data: "Currently importing"
import_result:
title: "Import run results"
caption: "Review import run or revert import"
info: "Import run was successful."
label_results: "Imported"
label_revert: "Revert import"
button_revert: "Revert import"
button_done: "Approve import"
preview_description: 'The imported data is currently in review mode. Click "Approve import" to make the import permanent or "Revert import" to undo all changes made in this import run.'
label_finalize_import: "Approve import"
label_finalizing: "Approving import..."
label_finalizing_done: "Import approved."
label_revert_progress: "Reverting import..."
label_reverted: "Import reverted."
select_dialog:
filter_projects: "Filter by text"
import_dialog:
title: "Please make sure you have a backup!"
confirm_button: "Start import"
description: >
Imports change your OpenProject configuration. After the import you will have the opportunity to review the changes.
While in review, you have an option to revert or approve the import. After approving the import reverting will no longer be possible.
Therefore, please, make sure that you have [a backup of your OpenProject instance](link) before proceeding.
confirm: "I understand and have a backup"
revert_dialog:
title: "Permanently revert this import?"
description: "This will delete all imported objects (including whole projects)."
confirm: "I understand that this reversion will delete data permanently"
finalize_dialog:
title: "Approve this import?"
description: "Once approved, this import can no longer be reverted. All imported data will become permanent."
confirm: "I understand that this action cannot be undone"
confirm_button: "Understood"
select_projects:
title: "Select projects"
user:
unknown_name: "Unknown"
mcp_configurations:
index:
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
resources_heading: "Resources"
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
resources_submit: "Update resources"
tools_heading: "Tools"
tools_description: "OpenProject implements the following tools. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP tools](docs_url)."
tools_submit: "Update tools"
multi_update:
success: "MCP configurations were updated successfully."
server_form:
description_caption: "How the MCP server will be described to other applications who connect to it."
title_caption: "A short title shown to applications that connect to the MCP server."
tool_response_format: "Tool response format"
tool_response_format_content_only_label: "Content only"
tool_response_format_content_only_caption: >
Choose this if MCP clients connecting to this instance do not support structured content.
Tool responses will only contain plain text content and leave out the structured version.
tool_response_format_full_label: "Full"
tool_response_format_full_caption: >
The most compatible option. Tool responses will include both regular and structured content, allowing MCP clients to choose which format they want to read.
This may increase the number of tokens that the language model has to process, potentially increasing cost and decreasing performance.
tool_response_format_structured_only_label: "Structured content only"
tool_response_format_structured_only_caption: >
Choose this if you are certain that MCP clients connecting to this instance support structured content.
Tool responses will only include structured content and leave out its text representation.
update:
failure: "MCP configuration could not be updated."
success: "MCP configuration was updated successfully."
scim_clients:
authentication_methods:
sso: "JWT from identity provider"
oauth2_client: "OAuth 2.0 client credentials"
oauth2_token: "Static access token"
created_client_credentials_dialog_component:
title: "Client credentials created"
heading: "Client credentials have been generated"
one_time_hint: "This is the only time you will see the client secret. Make sure to copy it now."
created_token_dialog_component:
title: "Token created"
heading: "A token has been generated"
label_token: "Token"
one_time_hint: "This is the only time you will see this token. Make sure to copy it now."
delete_scim_client_dialog_component:
title: "Delete SCIM client"
heading: "Are you sure you want to delete this SCIM client?"
description: "Users managed by this SCIM client can no longer be updated by it."
edit:
label_delete_scim_client: "Delete SCIM client"
form:
auth_provider_description: "This is the service that users added by the SCIM provider will use to authenticate in OpenProject."
authentication_method_description_html: "This is how the SCIM client authenticates at OpenProject. Please ensure that OAuth tokens include the <code>scim_v2</code> scope."
description: "Please refer to our [documentation on configuring SCIM clients](docs_url) for more information on these configuration options."
jwt_sub_description: "For example, for Keycloak, this is the UUID of the service account associated with the SCIM client. Consult [our documentation](docs_url) to learn how to find the subject claim for your use case."
name_description: "Choose a name that will help other admins better understand why this client was configured."
index:
description: "SCIM clients configured here are able to interact with OpenProject SCIM server API to provision, update, and deprovision user accounts and groups."
label_create_button: "Add SCIM client"
new:
title: "New SCIM client"
revoke_static_token_dialog_component:
confirm_button: "Revoke"
title: "Revoke static token"
heading: "Are you sure you want to revoke this token?"
description: "The SCIM client that uses this token will no longer be able to access OpenProject's SCIM server API."
table_component:
blank_slate:
title: "No SCIM clients configured yet"
description: "Add clients to see them here"
user_count: "Users"
token_list_component:
description: "The tokens you generate here can be passed by a SCIM client to access the OpenProject SCIM API."
heading: "Tokens"
label_add_token: "Token"
label_aria_add_token: "Add token"
token_table_component:
blank_slate:
title: "No tokens have been created yet"
description: "You can create one now"
expired: "Expired on %{date}"
revoked: "Revoked on %{date}"
title: "Access token table"
settings:
new_project:
project_creation: "Project creation"
notification_text_default: >
<p>Hello,</p>
<p>A new project has been created: projectValue:name</p>
<p>Thank you</p>
work_packages_identifier:
page_header:
description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID.
banner:
existing_identifiers_notice: >
Existing identifiers for %{project_count} projects don't meet requirements for project-based semantic identifiers.
OpenProject can automatically update these so that they are valid as in the examples below.
Click on 'Convert identifiers' to update identifiers for all projects in this manner and enable project-based semantic identifiers.
box_header:
table_title: Projects with identifiers to update
label_project: Project
label_previous_identifier: Previous identifier
label_autofixed_suggestion: Future identifier
label_example_work_package_id: Example work package ID
autofix_preview:
error_too_long: Has to be 10 characters or fewer
error_numerical: Cannot be purely numerical
error_does_not_start_with_letter: Must start with an uppercase letter
error_special_characters: Special characters not allowed
error_not_fully_uppercased: Must be uppercase
error_in_use: Already in use as another project's active handle
error_used_in_past: Reserved by another project's handle history
error_reserved_by_system: Reserved as a system keyword
error_unknown: Needs manual review
remaining_projects:
one: "... 1 more project"
other: "... %{count} more projects"
button_autofix: Convert identifiers
button_save: Convert identifiers
dialog:
title: Change work package identifiers
heading: Enable project-based work package IDs?
description: >
This will change IDs for all work packages in all projects in this instance.
Previous identifiers and URLs will continue to work.
This change will take some time to complete.
confirm_button: Change identifiers
checkbox_label: I understand that this will permanently change all work package IDs
success_banner: Successfully updated work package identifier format.
in_progress:
header_semantic: "Converting to project-based identifiers"
header_classic: "Converting to numeric identifiers"
footer_message: "Background conversion is in progress. You can safely leave this page."
workflows:
tabs:
default_transitions: "Default transitions"
user_author: "User is author"
user_assignee: "User is assignee"
status_button: "Status"
statuses_dialog:
title: "Statuses"
label: "Statuses enabled for this type"
caption: "Add or remove statuses you would like to associate with this type. Removing a status will also delete the workflow associated with it."
statuses_removal_dialog:
title: "Remove statuses"
heading:
one: "Remove 1 status?"
other: "Remove %{count} statuses?"
description: "Removing these statuses will make them unavailable to this type and delete existing workflows. Are you sure you want to proceed?"
confirm: "Remove"
leave_confirmation:
title: "Save changes before continuing?"
description: "You are about to leave this page but you have unsaved changes. Would you like to save them before continuing?"
ignore: "Ignore changes"
save: "Save changes and continue"
role_selector:
title: "Select roles"
label: "Role: %{role}"
no_role: "Select role"
roles:
one: "One role selected"
other: "%{count} roles selected"
blankslate:
title: "No status transitions configured"
description: "Add statuses to start configuring workflows for this role"
info:
database_deprecation_html: >
Starting with OpenProject 16.0, PostgreSQL 16 is required to use OpenProject.
Your installation will remain functional with your current database, but anticipate incompatability
in future releases.
<br/>
We have prepared [upgrade guides for all installation methods](upgrade_guide).
You can perform the upgrade ahead of the next release at any time by following the guides.
authentication:
login_and_registration: "Login and registration"
announcements:
show_until: Show until
is_active: currently displayed
is_inactive: currently not displayed
antivirus_scan:
not_processed_yet_message: "Downloading is blocked, as file was not scanned for viruses yet. Please try again later."
quarantined_message: "A virus was detected in file '%{filename}'. It has been quarantined and is not available for download."
deleted_message: "A virus was detected in file '%{filename}'. The file has been deleted."
deleted_by_admin: "The quarantined file '%{filename}' has been deleted by an administrator."
overridden_by_admin: "The quarantine for file '%{filename}' has been removed by %{user}. The file can now be acccessed."
quarantined_attachments:
container: "Container"
delete: "Delete the quarantined file"
title: "Quarantined attachments"
error_cannot_act_self: "Cannot perform actions on your own uploaded files."
attribute_help_texts:
caption: "This short version will be displayed as caption of the attribute."
note_public: "Any text and images you add to this field are publicly visible to all logged in users."
text_overview: "In this view, you can create custom help texts for attributes view. When defined, these texts can be shown by clicking the help icon next to its belonging attribute."
show_preview: "Preview text"
add_new: "Add help text"
edit_field_name: "Edit help text for %{attribute_field_name}"
background_jobs:
status:
error_requeue: "Job experienced an error but is retrying. The error was: %{message}"
cancelled_due_to: "Job was cancelled due to error: %{message}"
ldap_auth_sources:
ldap_error: "LDAP-Error: %{error_message}"
ldap_auth_failed: "Could not authenticate at the LDAP-Server."
sync_failed: "Failed to synchronize from LDAP: %{message}."
back_to_index: "Click here to go back to the list of connection."
technical_warning: |
This LDAP form requires technical knowledge of your LDAP / Active Directory setup.
[Please visit our documentation for detailed instructions](docs_url).
attribute_texts:
name: Arbitrary name of the LDAP connection
host: LDAP host name or IP address
login_map: The attribute key in LDAP that is used to identify the unique user login. Usually, this will be `uid` or `samAccountName`.
generic_map: The attribute key in LDAP that is mapped to the OpenProject `%{attribute}` attribute
admin_map_html: "Optional: The attribute key in LDAP that <strong>if present</strong> marks the OpenProject user an admin. Leave empty when in doubt."
system_user_dn_html: |
Enter the DN of the system user used for read-only access.
<br>
Example: uid=openproject,ou=system,dc=example,dc=com
system_user_password: Enter the bind password of the system user
base_dn: |
Enter the Base DN of the subtree in LDAP you want OpenProject to look for users and groups.
OpenProject will filter for provided usernames in this subtree only.
Example: ou=users,dc=example,dc=com
filter_string: |
Add an optional RFC4515 filter to apply to the results returned for users filtered in the LDAP.
This can be used to restrict the set of users that are found by OpenProject for authentication and group synchronization.
filter_string_concat: |
OpenProject will always filter for the login attribute provided by the user to identify the record. If you provide a filter here,
it will be concatenated with an AND. By default, a catch-all (objectClass=*) will be used as a filter.
onthefly_register: |
If you check this box, OpenProject will automatically create new users from their LDAP entries
when they first authenticate with OpenProject.
Leave this unchecked to only allow existing accounts in OpenProject to authenticate through LDAP!
connection_encryption: "Connection encryption"
encryption_details: "LDAPS / STARTTLS options"
system_account: "System account"
system_account_legend: |
OpenProject requires read-only access through a system account to lookup users and groups in your LDAP tree.
Please specify the bind credentials for that system user in the following section.
ldap_details: "LDAP details"
user_settings: "Attribute mapping"
user_settings_legend: |
The following fields are related to how users are created in OpenProject from LDAP entries and
what LDAP attributes are used to define the attributes of an OpenProject user (attribute mapping).
tls_mode:
plain: "none"
simple_tls: "LDAPS"
start_tls: "STARTTLS"
plain_description: "Opens an unencrypted connection to the LDAP server. Not recommended for production."
simple_tls_description: "Use LDAPS. Requires a separate port on the LDAP server. This mode is often deprecated, we recommend using STARTTLS whenever possible."
start_tls_description: "Sends a STARTTLS command after connecting to the standard LDAP port. Recommended for encrypted connections."
section_more_info_link_html: >
This section concerns the connection security of this LDAP authentication source.
For more information, visit <a href="%{link}">the Net::LDAP documentation</a>.
tls_options:
verify_peer: "Verify SSL certificate"
verify_peer_description_html: >
Enables strict SSL verification of the certificate trusted chain.
<br>
<strong>Warning:</strong> Unchecking this option disables SSL verification of the LDAP server certificate.
This exposes your connection to Man in the Middle attacks.
tls_certificate_description: "If the LDAP server certificate is not in the trust sources of this system, you can add it manually here. Enter a PEM X509 certifiate string."
forums:
show:
no_results_title_text: There are currently no posts for the forum.
colors:
index:
no_results_title_text: There are currently no colors.
no_results_content_text: Create a new color
label_new_color: "New color"
new:
label_new_color: "New Color"
edit:
label_edit_color: "Edit Color"
form:
label_new_color: "New color"
label_edit_color: "Edit color"
label_no_color: "No color"
label_properties: "Properties"
label_really_delete_color: >
Are you sure, you want to delete the following color?
Types using this color will not be deleted.
custom_actions:
actions:
name: "Actions"
add: "Add action"
assigned_to:
executing_user_value: "(Assign to executing user)"
conditions: "Conditions"
plural: "Custom actions"
new: "New custom action"
edit: "Edit custom action %{name}"
execute: "Execute %{name}"
custom_fields:
admin:
custom_field_projects:
is_for_all_blank_slate:
heading: For all projects
description: This custom field is enabled in all projects since the "For all projects" option is checked. It cannot be deactivated for individual projects.
items:
actions: "Item actions"
blankslate:
root:
title: "Your list of items is empty"
description: "Start by adding items to the custom field of type hierarchy. Each item can be used to create a hierarchy bellow it. To navigate and create sub-items inside a hierarchy click on the created item."
item:
title: This item doesn't have any hierarchy level below
description: Add items to this list to create sub-items inside another one
delete_dialog:
title: "Delete custom field item"
heading: "Delete custom field item?"
description: "This action will irreversibly remove the item and all its sub-items. Any assigned values will be permanently deleted. If this field is required, removing items may cause existing work packages to become invalid."
placeholder:
label: "Item label"
short: "Short name"
weight: "Weight"
notice:
remember_items_and_projects: "Remember to set items and projects in the respective tabs for this custom field."
hierarchy:
subitems:
zero: no sub-items
one: 1 sub-item
other: "%{count} sub-items"
role_assignment:
title: Role Assignment
description: You can automatically grant a certain project role to any user assigned to this project attribute, regardless of that user’s original role in that project.
warning: Depending on the role selected below, the user assigned to this project attribute might gain significantly more permissions than they previously had, including the ability to add new members and elevate their role.
role_field_label: "Project Role"
role_field_caption: This project role will automatically be granted to any user assigned to this project attribute
review_hint: >
There are %{user_count} who are already assigned to this project attribute in various projects. They
might get additional permissions and be added to projects they did not previously have access to.
review_button: Review users and permissions
dialog:
title: "Overview of users and permissions"
change: Change
changes:
new_member: Will be added as a member
remove_member: Will be removed as a member
gain_and_lose_role: Will lose role ‘%{old_role}’ and gain role ‘%{new_role}’
gain_role: Will gain role ‘%{new_role}’
lose_role: Will lose role ‘%{old_role}’
no_change: No changes
text_add_new_custom_field: >
To add new custom fields to a project you first need to create them before
you can add them to this project.
is_enabled_globally: "Is enabled globally"
enabled_in_project: "Enabled in project"
contained_in_type: "Contained in type"
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
reorder_alphabetical: "Reorder values alphabetically"
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
placeholder_version_select: "Work package or project selection is required first"
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
no_role_assigment: "No role assignment"
instructions:
is_required:
all: "Mark the custom field as required. This will make it mandatory to fill in the field when creating new resources. Existing resources will not require a value when being updated."
project: "Required attributes need to be filled out by the user on project creation if the field is active ('For all projects' set or copying from a project/template in which the field is active). Existing projects will not require a value when being updated."
is_for_all:
all: "Mark the custom field as available in all existing and new projects."
project: "Mark the attribute as available in all existing and new projects."
multi_select:
all: "Allows the user to assign multiple values to this custom field."
project: "Allows the user to assign multiple values to this attribute."
searchable:
all: "Include the field values when using the global search functionality."
project: "Check to make this attribute available as a filter in project lists."
editable:
all: "Allow the field to be editable by users themselves."
admin_only:
all: "Check to make this custom field only visible to administrators. Users without admin rights will not be able to view or edit it."
project: "Check to make this attribute only visible to administrators. Users without admin rights will not be able to view or edit it."
is_filter:
all: >
Allow the custom field to be used in a filter in work package views.
Note that only with 'For all projects' selected, the custom field will show up in global views.
formula:
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
regexp:
all: "eg. ^[A-Z0-9]+$"
project: "eg. ^[A-Z0-9]+$"
min_max:
all: "0 means no restriction"
project: "0 means no restriction"
has_comment:
project: "Allows the user to add a comment related to the project attribute when selecting the value in the project overview."
tab:
no_results_title_text: There are currently no custom fields.
no_results_content_text: Create a new custom field
calculated_values:
error_dialog:
title: "Error with Calculated value"
errors:
unknown: "An unknown error occurred. Please review the formula for this Calculated value."
mathematical: "The mathematical formula leads to an error. Please review the project calculation attribute and try again."
missing_value: The attribute "%{custom_field_name}" is required by this Calculated value, but is empty.
disabled_value: The attribute "%{custom_field_name}" is required by this Calculated value, but is disabled for the project.
concatenation:
single: "or"
danger_dialog:
confirmation_live_message_checked: "The button to proceed is now active."
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
departments:
edit: "Edit department"
add_user: "Add user"
add_department: "Add department"
blankslate:
heading: "Your organization has no departments"
description: >
Start by adding departments or users to the organization. Each department can be used to create
a hierarchy below it, to navigate and create sub-department inside a hierarchy click on the created item.
add_button: "Add"
detail_blankslate:
heading: "This department doesn’t have any hierarchy level below"
description: "Add departments or users to create sub-items inside another one."
add_button: "Add"
add_department_form:
name_label: "Department name"
name_placeholder: "Enter department name"
move_user_dialog:
title: "User already in a department"
heading: "Move user to this department?"
description: "%{user} is currently a member of %{from_department}. Moving them will remove them from that department."
confirm: "Move user"
context_menu:
add_sub_department: "Add sub-department"
add_user: "Add user"
flash:
user_added: "User was successfully added to the department."
user_removed: "User was successfully removed from the department."
department_created: "Department was successfully created."
errors:
move_user_failed: "Failed to move user between departments."
pagination:
label: "Pagination"
prev: "Previous"
prev_page: "Previous Page"
next: "Next"
next_page: "Next Page"
page: "Page %{number}"
page_with_more: "Page %{number}..."
mcp_configurations:
server_url_component:
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
label: "Server URL"
op_dry_validation:
or: "or"
errors:
unexpected_key: "is not allowed."
array?: "must be an array."
decimal?: "must be a decimal."
defined: "must not be defined."
eql?: "must be equal to %{left}."
filled?: "must be filled."
format?: "is in invalid format."
greater_or_equal_zero: "must be greater or equal to 0."
gteq?: "must be greater than or equal to %{num}."
hash?: "must be a hash."
included_in?:
arg:
default: "must be one of: %{list}."
range: "must be one of: %{list_left} - %{list_right}."
int?: "must be an integer."
key?: "is missing."
not_found: "not found."
respond_to?: "does not implement required method."
rules:
copy_workflow_from:
workflow_missing: "has no own workflow."
custom_field:
format_not_supported: "format '%{field_format}' is unsupported."
item:
root_item: "cannot be a root item."
not_persisted: "must be an already existing item."
label:
not_unique: "must be unique within the same hierarchy level."
short:
not_unique: "must be unique within the same hierarchy level."
parent:
not_descendant: "must be a descendant of the hierarchy root."
str?: "must be a string."
time?: "must be a time."
type?: "must be %{type}."
uri?: "is not a valid URI."
rules:
copy_workflow_from: "Type for workflow copy"
enabled: "Enabled"
depth: "Depth"
item: "Item"
label: "Label"
weight: "Weight"
short: "Short name"
parent: "Parent"
blueprint: "Pattern blueprint"
global_search:
title:
all_projects: 'Search for "%{search_term}" in all projects'
current_project: 'Search for "%{search_term}" in %{project_name}'
project_and_subprojects: 'Search for "%{search_term}" in %{project_name} and all subprojects'
placeholder: "Search in %{app_title}"
overwritten_tabs:
all: "All"
messages: "Forum"
wiki_pages: "Wiki"
groups:
edit:
synchronized_groups: "Synchronized groups"
index:
description: By grouping users together, you can add them as members to the same projects or assign the same global roles to them.
table_component:
blank_slate:
description: You can define named groups of users with specific permissions.
title: No groups set up yet
user_count: User count
users:
no_results_title_text: There are currently no users part of this group.
memberships:
no_results_title_text: There are currently no projects part of this group.
synchronized_groups:
blankslate:
action: Authentication settings
description: When this group is automatically synced with groups in external identity providers like OpenID, they will appear here. You can set this up in your Authentication settings.
title: No synchronized groups yet
incoming_mails:
ignore_filenames: >
Specify a list of names to ignore when processing attachments for incoming mails (e.g., signatures or icons).
Enter one filename per line.
portfolios:
index:
search:
label: Portfolio name filter
placeholder: Search portfolios
sub_items_html:
one: "<strong>1</strong> sub-item"
other: "<strong>%{count}</strong> sub-items"
lists:
active: "Active portfolios"
my: "My portfolios"
favorited: "Favorite portfolios"
archived: "Archived portfolios"
projects:
copy:
# Contains custom strings for options when copying a project that cannot be found elsewhere.
members: "Project members"
overviews: "Project overview"
queries: "Work packages: saved views"
wiki_page_attachments: "Wiki pages: attachments"
work_package_attachments: "Work packages: attachments"
work_package_categories: "Work packages: categories"
work_package_file_links: "Work packages: file links"
work_package_shares: "Work packages: shares"
create:
notification_email_subject: "Your project '%{project_name}' has been created"
complete_wizard_link: "Complete the %{artefact_name}"
delete:
scheduled: "Deletion has been scheduled and is performed in the background. You will be notified of the result."
schedule_failed: "Project cannot be deleted: %{errors}"
failed: "Deletion of project '%{name}' has failed"
failed_text: "The request to delete project '%{name}' has failed. The project was left archived."
completed: "Deletion of project '%{name}' completed"
completed_text: "The request to delete project '%{name}' has been completed."
completed_text_children: "Additionally, the following subprojects have been deleted:"
index:
open_as_gantt: "Open as Gantt view"
no_results_title_text: There are currently no projects
no_results_content_text: Create a new project
search:
label: Project name filter
placeholder: Search by project name
lists:
active: "Active projects"
my: "My projects"
favorited: "Favorite projects"
archived: "Archived projects"
shared: "Shared project lists"
my_lists: "My project lists"
new:
placeholder: "New project list"
delete_modal:
title: "Delete project list"
heading: "Delete this project list?"
text: "This action will not delete any project the list contains. Are you sure you want to delete this project list?"
settings:
header_details: Basic details
header_identifier: Identifier
header_status: Status
header_relations: Project relations
button_update_details: Update details
button_update_status_description: Update status description
button_update_parent_project: Update parent project
public_warning: >
This project is public.
Anyone who has access to this instance will be able to view and interact with this project depending on their role and associated permissions.
Sub-projects are not affected and have their own settings.
public_confirmation:
checkbox: "I understand that this will make the previously private content public"
title: "Make this project public?"
description: >
Anyone who has access to this instance will be able to view and interact with this project depending on their role and authentication settings.
Sub-projects are not affected and have their own settings.
private_confirmation:
checkbox: "I understand that this will make the previously public content private."
title: "Make this project private?"
description: >
The project will only be visible to project members depending on their role and associated permissions.
Sub-projects are not affected and have their own settings.
change_identifier: Change identifier
change_identifier_dialog_title: Change project identifier
change_identifier_format_hint_semantic: "Only uppercase letters (A–Z), numbers or underscores. Max 10 characters. Must start with a letter."
change_identifier_format_hint_legacy: "Only lowercase letters (a–z), numbers, dashes or underscores."
change_identifier_warning: >
This will permanently change identifiers and URLs of all work packages in this project.
The previous identifiers and URLs will nevertheless continue to work.
subitems:
template_section: >
Select templates to be used when creating new subitems.
project_template_label: "Template for projects"
project_template_caption: "Select a template project to be used as the default for new subitems of this type."
program_template_label: "Template for programs"