From c1aef263842f153293807c18c330ce62a0b9d2b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Jan 2023 13:52:47 +0100 Subject: [PATCH 1/5] Update README.md --- .../authentication/two-factor-authentication/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/system-admin-guide/authentication/two-factor-authentication/README.md b/docs/system-admin-guide/authentication/two-factor-authentication/README.md index a4d9295b7d..d0e2ddc257 100644 --- a/docs/system-admin-guide/authentication/two-factor-authentication/README.md +++ b/docs/system-admin-guide/authentication/two-factor-authentication/README.md @@ -28,6 +28,14 @@ Usually with another device device like a mobile phone or a tablet, you are able - Google Authenticator - Microsoft Authenticator +### Clock skew + +TOTP operates on the principal that the second factor and the server handling the authentication process are roughly in sync. +By default, the allowed clock skew (difference in seconds between client and server) is 30 seconds, which means that the server will accept time shifts of 30 seconds in the past and future, respectively. + +If you are trying to register a new device and keep getting failures even though the code appears correct, +time drift between the device and the server is most likely the reason for it. + ## Advanced 2FA using MessageBird, Amazon SNS At the moment the advanced settings for improved security are only reachable on the by defining [configuration variables](https://www.openproject.org/docs/installation-and-operations/configuration/). From 1ba5938249dca13203d022c546a02d48577ce83e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 12 Jan 2023 13:58:26 +0100 Subject: [PATCH 2/5] Add OIDC logout end_session_endpoint documentation --- .../misc/custom-openid-connect-providers/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md b/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md index 8ca6d53ca0..0b4f72efbb 100644 --- a/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md +++ b/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md @@ -29,7 +29,8 @@ options = { "secret"=>"", "authorization_endpoint" => "/oauth2/v1/authorize", "token_endpoint" => "/oauth2/v1/token", - "userinfo_endpoint" => "/oauth2/v1/userinfo" + "userinfo_endpoint" => "/oauth2/v1/userinfo", + "end_session_endpoint" => "https://mypersonal.okta.com/oauth2/{authorizationServerId}/v1/logout" } ``` @@ -261,6 +262,7 @@ OPENPROJECT_OPENID__CONNECT_KEYCLOAK_SECRET=" Date: Thu, 12 Jan 2023 16:52:16 +0100 Subject: [PATCH 3/5] Adding the Nextcloud integration setup video to documentation (#11912) --- docs/system-admin-guide/integrations/nextcloud/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/system-admin-guide/integrations/nextcloud/README.md b/docs/system-admin-guide/integrations/nextcloud/README.md index 3f8782e632..bc0c61b226 100644 --- a/docs/system-admin-guide/integrations/nextcloud/README.md +++ b/docs/system-admin-guide/integrations/nextcloud/README.md @@ -25,8 +25,6 @@ OpenProject offers close integration with Nextcloud to allow users to: - View all work packages linked to a file - View OpenProject notifications via the Nextcloud dashboard - - ## Minimum requirements Please note these minimum version requirements for the integration to work: @@ -35,12 +33,14 @@ Please note these minimum version requirements for the integration to work: - Nextcloud version 22 (or above) - The [OpenProject Integration](https://apps.nextcloud.com/apps/integration_openproject) app, version 2.0.0 (or above) - - ## Setting up the integration > **Important**: You need to have administrator privileges in both your Nextcloud and OpenProject instances to set up this integration. +Watch this video to find out how to set up the Nextcloud integration as an Administrator and as a user. + + + #### 1. Add the "OpenProject Integration" app in Nextcloud and point it to your OpenProject instance Start by opening your Nextcloud instance as an administrator. From 8d3232241570451d3e0d4c7c2bfa5e0addb5b154 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Fri, 13 Jan 2023 03:11:06 +0000 Subject: [PATCH 4/5] update locales from crowdin [ci skip] --- config/locales/crowdin/be.yml | 3194 +++++++++++++++++ config/locales/crowdin/eu.yml | 3150 ++++++++++++++++ config/locales/crowdin/js-be.yml | 1260 +++++++ config/locales/crowdin/js-eu.yml | 1254 +++++++ modules/avatars/config/locales/crowdin/be.yml | 40 + modules/avatars/config/locales/crowdin/eu.yml | 40 + .../avatars/config/locales/crowdin/js-be.yml | 15 + .../avatars/config/locales/crowdin/js-eu.yml | 15 + .../backlogs/config/locales/crowdin/be.yml | 161 + .../backlogs/config/locales/crowdin/eu.yml | 161 + .../backlogs/config/locales/crowdin/js-be.yml | 27 + .../backlogs/config/locales/crowdin/js-eu.yml | 27 + modules/bim/config/locales/crowdin/be.yml | 134 + modules/bim/config/locales/crowdin/eu.yml | 134 + modules/bim/config/locales/crowdin/js-be.yml | 29 + modules/bim/config/locales/crowdin/js-eu.yml | 29 + modules/boards/config/locales/crowdin/be.yml | 8 + modules/boards/config/locales/crowdin/eu.yml | 8 + .../boards/config/locales/crowdin/js-be.yml | 86 + .../boards/config/locales/crowdin/js-eu.yml | 86 + modules/budgets/config/locales/crowdin/be.yml | 73 + modules/budgets/config/locales/crowdin/eu.yml | 73 + .../budgets/config/locales/crowdin/js-be.yml | 26 + .../budgets/config/locales/crowdin/js-eu.yml | 26 + .../calendar/config/locales/crowdin/be.yml | 6 + .../calendar/config/locales/crowdin/eu.yml | 6 + .../calendar/config/locales/crowdin/js-be.yml | 8 + .../calendar/config/locales/crowdin/js-eu.yml | 8 + modules/costs/config/locales/crowdin/be.yml | 144 + modules/costs/config/locales/crowdin/eu.yml | 142 + .../costs/config/locales/crowdin/js-be.yml | 32 + .../costs/config/locales/crowdin/js-eu.yml | 32 + .../dashboards/config/locales/crowdin/be.yml | 4 + .../dashboards/config/locales/crowdin/eu.yml | 4 + .../config/locales/crowdin/js-be.yml | 4 + .../config/locales/crowdin/js-eu.yml | 4 + .../documents/config/locales/crowdin/be.yml | 42 + .../documents/config/locales/crowdin/eu.yml | 42 + .../config/locales/crowdin/be.yml | 35 + .../config/locales/crowdin/eu.yml | 35 + .../config/locales/crowdin/js-be.yml | 41 + .../config/locales/crowdin/js-eu.yml | 41 + modules/grids/config/locales/crowdin/be.yml | 16 + modules/grids/config/locales/crowdin/eu.yml | 16 + .../grids/config/locales/crowdin/js-be.yml | 66 + .../grids/config/locales/crowdin/js-eu.yml | 66 + .../config/locales/crowdin/js-be.yml | 17 + .../config/locales/crowdin/js-eu.yml | 17 + .../ldap_groups/config/locales/crowdin/be.yml | 71 + .../ldap_groups/config/locales/crowdin/eu.yml | 71 + modules/meeting/config/locales/crowdin/be.yml | 90 + modules/meeting/config/locales/crowdin/eu.yml | 90 + .../my_page/config/locales/crowdin/js-be.yml | 4 + .../my_page/config/locales/crowdin/js-eu.yml | 4 + .../config/locales/crowdin/be.yml | 19 + .../config/locales/crowdin/eu.yml | 19 + .../overviews/config/locales/crowdin/be.yml | 4 + .../overviews/config/locales/crowdin/eu.yml | 4 + .../config/locales/crowdin/js-be.yml | 4 + .../config/locales/crowdin/js-eu.yml | 4 + .../pdf_export/config/locales/crowdin/be.yml | 51 + .../pdf_export/config/locales/crowdin/eu.yml | 51 + .../recaptcha/config/locales/crowdin/be.yml | 18 + .../recaptcha/config/locales/crowdin/eu.yml | 18 + .../reporting/config/locales/crowdin/be.yml | 87 + .../reporting/config/locales/crowdin/eu.yml | 87 + .../config/locales/crowdin/js-be.yml | 26 + .../config/locales/crowdin/js-eu.yml | 26 + .../storages/config/locales/crowdin/be.yml | 92 + .../storages/config/locales/crowdin/eu.yml | 92 + .../storages/config/locales/crowdin/js-be.yml | 37 + .../storages/config/locales/crowdin/js-eu.yml | 37 + .../config/locales/crowdin/be.yml | 13 + .../config/locales/crowdin/eu.yml | 13 + .../config/locales/crowdin/js-be.yml | 26 + .../config/locales/crowdin/js-eu.yml | 26 + .../config/locales/crowdin/be.yml | 174 + .../config/locales/crowdin/eu.yml | 174 + .../webhooks/config/locales/crowdin/be.yml | 63 + .../webhooks/config/locales/crowdin/eu.yml | 63 + .../xls_export/config/locales/crowdin/be.yml | 13 + .../xls_export/config/locales/crowdin/eu.yml | 13 + 82 files changed, 12468 insertions(+) create mode 100644 config/locales/crowdin/be.yml create mode 100644 config/locales/crowdin/eu.yml create mode 100644 config/locales/crowdin/js-be.yml create mode 100644 config/locales/crowdin/js-eu.yml create mode 100644 modules/avatars/config/locales/crowdin/be.yml create mode 100644 modules/avatars/config/locales/crowdin/eu.yml create mode 100644 modules/avatars/config/locales/crowdin/js-be.yml create mode 100644 modules/avatars/config/locales/crowdin/js-eu.yml create mode 100644 modules/backlogs/config/locales/crowdin/be.yml create mode 100644 modules/backlogs/config/locales/crowdin/eu.yml create mode 100644 modules/backlogs/config/locales/crowdin/js-be.yml create mode 100644 modules/backlogs/config/locales/crowdin/js-eu.yml create mode 100644 modules/bim/config/locales/crowdin/be.yml create mode 100644 modules/bim/config/locales/crowdin/eu.yml create mode 100644 modules/bim/config/locales/crowdin/js-be.yml create mode 100644 modules/bim/config/locales/crowdin/js-eu.yml create mode 100644 modules/boards/config/locales/crowdin/be.yml create mode 100644 modules/boards/config/locales/crowdin/eu.yml create mode 100644 modules/boards/config/locales/crowdin/js-be.yml create mode 100644 modules/boards/config/locales/crowdin/js-eu.yml create mode 100644 modules/budgets/config/locales/crowdin/be.yml create mode 100644 modules/budgets/config/locales/crowdin/eu.yml create mode 100644 modules/budgets/config/locales/crowdin/js-be.yml create mode 100644 modules/budgets/config/locales/crowdin/js-eu.yml create mode 100644 modules/calendar/config/locales/crowdin/be.yml create mode 100644 modules/calendar/config/locales/crowdin/eu.yml create mode 100644 modules/calendar/config/locales/crowdin/js-be.yml create mode 100644 modules/calendar/config/locales/crowdin/js-eu.yml create mode 100644 modules/costs/config/locales/crowdin/be.yml create mode 100644 modules/costs/config/locales/crowdin/eu.yml create mode 100644 modules/costs/config/locales/crowdin/js-be.yml create mode 100644 modules/costs/config/locales/crowdin/js-eu.yml create mode 100644 modules/dashboards/config/locales/crowdin/be.yml create mode 100644 modules/dashboards/config/locales/crowdin/eu.yml create mode 100644 modules/dashboards/config/locales/crowdin/js-be.yml create mode 100644 modules/dashboards/config/locales/crowdin/js-eu.yml create mode 100644 modules/documents/config/locales/crowdin/be.yml create mode 100644 modules/documents/config/locales/crowdin/eu.yml create mode 100644 modules/github_integration/config/locales/crowdin/be.yml create mode 100644 modules/github_integration/config/locales/crowdin/eu.yml create mode 100644 modules/github_integration/config/locales/crowdin/js-be.yml create mode 100644 modules/github_integration/config/locales/crowdin/js-eu.yml create mode 100644 modules/grids/config/locales/crowdin/be.yml create mode 100644 modules/grids/config/locales/crowdin/eu.yml create mode 100644 modules/grids/config/locales/crowdin/js-be.yml create mode 100644 modules/grids/config/locales/crowdin/js-eu.yml create mode 100644 modules/job_status/config/locales/crowdin/js-be.yml create mode 100644 modules/job_status/config/locales/crowdin/js-eu.yml create mode 100644 modules/ldap_groups/config/locales/crowdin/be.yml create mode 100644 modules/ldap_groups/config/locales/crowdin/eu.yml create mode 100644 modules/meeting/config/locales/crowdin/be.yml create mode 100644 modules/meeting/config/locales/crowdin/eu.yml create mode 100644 modules/my_page/config/locales/crowdin/js-be.yml create mode 100644 modules/my_page/config/locales/crowdin/js-eu.yml create mode 100644 modules/openid_connect/config/locales/crowdin/be.yml create mode 100644 modules/openid_connect/config/locales/crowdin/eu.yml create mode 100644 modules/overviews/config/locales/crowdin/be.yml create mode 100644 modules/overviews/config/locales/crowdin/eu.yml create mode 100644 modules/overviews/config/locales/crowdin/js-be.yml create mode 100644 modules/overviews/config/locales/crowdin/js-eu.yml create mode 100644 modules/pdf_export/config/locales/crowdin/be.yml create mode 100644 modules/pdf_export/config/locales/crowdin/eu.yml create mode 100644 modules/recaptcha/config/locales/crowdin/be.yml create mode 100644 modules/recaptcha/config/locales/crowdin/eu.yml create mode 100644 modules/reporting/config/locales/crowdin/be.yml create mode 100644 modules/reporting/config/locales/crowdin/eu.yml create mode 100644 modules/reporting/config/locales/crowdin/js-be.yml create mode 100644 modules/reporting/config/locales/crowdin/js-eu.yml create mode 100644 modules/storages/config/locales/crowdin/be.yml create mode 100644 modules/storages/config/locales/crowdin/eu.yml create mode 100644 modules/storages/config/locales/crowdin/js-be.yml create mode 100644 modules/storages/config/locales/crowdin/js-eu.yml create mode 100644 modules/team_planner/config/locales/crowdin/be.yml create mode 100644 modules/team_planner/config/locales/crowdin/eu.yml create mode 100644 modules/team_planner/config/locales/crowdin/js-be.yml create mode 100644 modules/team_planner/config/locales/crowdin/js-eu.yml create mode 100644 modules/two_factor_authentication/config/locales/crowdin/be.yml create mode 100644 modules/two_factor_authentication/config/locales/crowdin/eu.yml create mode 100644 modules/webhooks/config/locales/crowdin/be.yml create mode 100644 modules/webhooks/config/locales/crowdin/eu.yml create mode 100644 modules/xls_export/config/locales/crowdin/be.yml create mode 100644 modules/xls_export/config/locales/crowdin/eu.yml diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..60325a165e --- /dev/null +++ b/config/locales/crowdin/be.yml @@ -0,0 +1,3194 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + 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. + admin: + plugins: + no_results_title_text: There are currently no plugins available. + custom_styles: + color_theme: "Color theme" + color_theme_custom: "(Custom)" + colors: + alternative-color: "Alternative" + content-link-color: "Link font" + primary-color: "Primary" + primary-color-dark: "Primary (dark)" + header-bg-color: "Header background" + header-item-bg-hover-color: "Header background on hover" + header-item-font-color: "Header font" + header-item-font-hover-color: "Header font on hover" + header-border-bottom-color: "Header border" + main-menu-bg-color: "Main menu background" + main-menu-bg-selected-background: "Main menu when selected" + main-menu-bg-hover-background: "Main menu on hover" + main-menu-font-color: "Main menu font" + main-menu-selected-font-color: "Main menu font when selected" + main-menu-hover-font-color: "Main menu font on hover" + main-menu-border-color: "Main menu border" + custom_colors: "Custom colors" + customize: "Customize your OpenProject installation with your own logo and colors." + enterprise_notice: "As a special 'Thank you!' for their financial contribution to develop OpenProject, this tiny add-on is only available for Enterprise edition support subscribers." + enterprise_more_info: "Note: the used logo will be publicly accessible." + manage_colors: "Edit color select options" + instructions: + alternative-color: "Strong accent color, typically used for the most important button on a screen." + content-link-color: "Font color of most of the links." + primary-color: "Main color." + primary-color-dark: "Typically a darker version of the main color used for hover effects." + header-item-bg-hover-color: "Background color of clickable header items when hovered with the mouse." + header-item-font-color: "Font color of clickable header items." + header-item-font-hover-color: "Font color of clickable header items when hovered with the mouse." + header-border-bottom-color: "Thin line under the header. Leave this field empty if you don't want any line." + 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: + upgrade_to_ee: "Upgrade to the Enterprise edition" + add_token: "Upload an Enterprise edition support token" + delete_token_modal: + text: "Are you sure you want to remove the current Enterprise edition token used?" + title: "Delete 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" + enterprise_info_html: "is an Enterprise add-on." + upgrade_info: "Please upgrade to a paid plan to activate and start using it in your team." + journal_aggregation: + explanation: + text: "Individual actions of a user (e.g. updating a work package twice) are aggregated into a single action if their age difference is less than the specified timespan. They will be displayed as a single action within the application. This will also delay notifications by the same amount of time reducing the number of emails being sent and will also affect %{webhook_link} delay." + link: "webhook" + announcements: + show_until: Show until + is_active: currently displayed + is_inactive: currently not displayed + attribute_help_texts: + note_public: 'Any text and images you add to this field is 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.' + label_plural: 'Attribute help texts' + show_preview: 'Preview text' + add_new: 'Add help text' + edit: "Edit help text for %{attribute_caption}" + enterprise: + description: 'Provide additional information for attributes (incl. custom fields) of work packages and projects. Help texts are displayed when users click on the question mark symbol next to input fields in projects and work packages.' + auth_sources: + index: + no_results_content_title: There are currently no authentication modes. + no_results_content_text: Create a new authentication mode + 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: + technical_warning_html: | + This LDAP form requires technical knowledge of your LDAP / Active Directory setup. +
+ Please visit our documentation for detailed instructions. + 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 if present 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. +
+ 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 the Net::LDAP documentation. + tls_options: + verify_peer: "Verify SSL certificate" + verify_peer_description_html: > + Enables strict SSL verification of the certificate trusted chain.
Warning: 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_no_color: 'No color' + 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}' + upsale: + title: 'Custom actions' + description: 'Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project.' + custom_fields: + 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 will be lost. Continue?" + tab: + no_results_title_text: There are currently no custom fields. + no_results_content_text: Create a new custom field + concatenation: + single: 'or' + documentation: + see_more_link: For more information, please see our documentation on this topic. + global_search: + overwritten_tabs: + wiki_pages: "Wiki" + messages: "Forum" + groups: + index: + no_results_title_text: There are currently no groups. + no_results_content_text: Create a new group + 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. + 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. + 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' + 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." + index: + open_as_gantt: 'Open as Gantt view' + open_as_gantt_title: "Use this button to generate a Gantt view that filters work packages for the projects visible on this page." + open_as_gantt_title_admin: "You can modify the view settings (such as selected work package types) in the administration under project settings." + no_results_title_text: There are currently no projects + no_results_content_text: Create a new project + settings: + change_identifier: Change identifier + activities: + no_results_title_text: There are currently no activities available. + forums: + no_results_title_text: There are currently no forums for the project. + no_results_content_text: Create a new forum + categories: + no_results_title_text: There are currently no work package categories. + no_results_content_text: Create a new work package category + custom_fields: + no_results_title_text: There are currently no custom fields available. + types: + no_results_title_text: There are currently no types available. + versions: + no_results_title_text: There are currently no versions for the project. + no_results_content_text: Create a new version + storage: + no_results_title_text: There is no additional recorded disk space consumed by this project. + members: + index: + no_results_title_text: There are currently no members part of this project. + no_results_content_text: Add a member to the project + invite_by_mail: "Send invite to %{mail}" + my: + access_token: + failed_to_reset_token: "Failed to reset access token: %{error}" + notice_reset_token: "A new %{type} token has been generated. Your access token is:" + token_value_warning: "Note: This is the only time you will see this token, make sure to copy it now." + no_results_title_text: There are currently no access tokens available. + news: + index: + no_results_title_text: There is currently no news to report. + no_results_content_text: Add a news item + users: + groups: + member_in_these_groups: 'This user is currently a member of the following groups:' + no_results_title_text: This user is currently not a member in any group. + memberships: + no_results_title_text: This user is currently not a member of a project. + placeholder_users: + right_to_manage_members_missing: > + You are not allowed to delete the placeholder user. You do not have the right to manage members for all projects that the placeholder user is a member of. + delete_tooltip: "Delete placeholder user" + deletion_info: + heading: "Delete placeholder user %{name}" + data_consequences: > + All occurrences of the placeholder user (e.g., as assignee, responsible or other user values) will be reassigned to an account called "Deleted user". As the data of every deleted account is reassigned to this account it will not be possible to distinguish the data the user created from the data of another deleted account. + irreversible: "This action is irreversible" + confirmation: "Enter the placeholder user name %{name} to confirm the deletion." + upsale: + title: Placeholder users + description: > + Placeholder users are a way to assign work packages to users who are not part of your project. They can be useful in a range of scenarios; for example, if you need to track tasks for a resource that is not yet named or available, or if you don’t want to give that person access to OpenProject but still want to track tasks assigned to them. + prioritiies: + edit: + priority_color_text: | + Click to assign or change the color of this priority. + It can be used for highlighting work packages in the table. + reportings: + index: + no_results_title_text: There are currently no status reportings. + no_results_content_text: Add a status reporting + statuses: + edit: + status_readonly_html: | + Check this option to mark work packages with this status as read-only. + No attributes can be changed with the exception of the status. +
+ Note: Inherited values (e.g., from children or relations) will still apply. + status_color_text: | + Click to assign or change the color of this status. + It is shown in the status button and can be used for highlighting work packages in the table. + index: + no_results_title_text: There are currently no work package statuses. + no_results_content_text: Add a new status + types: + index: + no_results_title_text: There are currently no types. + no_results_content_text: Create a new type + edit: + settings: "Settings" + form_configuration: "Form configuration" + more_info_text_html: > + Enterprise edition allows you to customize form configuration with these additional add-ons:
  • Add new attribute groups
  • Rename attribute groups
  • Add a table of related work packages
+ projects: "Projects" + enabled_projects: "Enabled projects" + edit_query: "Edit table" + query_group_placeholder: "Give the table a name" + reset: "Reset to defaults" + type_color_text: | + The selected color distinguishes different types + in Gantt charts or work packages tables. It is therefore recommended to use a strong color. + versions: + overview: + no_results_title_text: There are currently no work packages assigned to this version. + wiki: + page_not_editable_index: The requested page does not (yet) exist. You have been redirected to the index of all wiki pages. + no_results_title_text: There are currently no wiki pages. + index: + no_results_content_text: Add a new wiki page + work_flows: + index: + no_results_title_text: There are currently no workflows. + work_packages: + x_descendants: + one: 'One descendant work package' + few: '%{count} work package descendants' + many: '%{count} work package descendants' + other: '%{count} work package descendants' + bulk: + could_not_be_saved: "The following work packages could not be saved:" + none_could_be_saved: "None of the %{total} work packages could be updated." + x_out_of_y_could_be_saved: "%{failing} out of the %{total} work packages could not be updated while %{success} could." + selected_because_descendants: "While %{selected} work packages where selected, in total %{total} work packages are affected which includes descendants." + descendant: "descendant of selected" + move: + no_common_statuses_exists: "There is no status available for all selected work packages. Their status cannot be changed." + unsupported_for_multiple_projects: 'Bulk move/copy is not supported for work packages from multiple projects' + summary: + reports: + category: + no_results_title_text: There are currently no categories available. + assigned_to: + no_results_title_text: There are currently no members part of this project. + responsible: + no_results_title_text: There are currently no members part of this project. + author: + no_results_title_text: There are currently no members part of this project. + priority: + no_results_title_text: There are currently no priorities available. + type: + no_results_title_text: There are currently no types available. + version: + no_results_title_text: There are currently no versions available. + label_invitation: Invitation + account: + delete: "Delete account" + delete_confirmation: "Are you sure you want to delete the account?" + deleted: "Account successfully deleted" + deletion_info: + data_consequences: + other: "Of the data the user created (e.g. email, preferences, work packages, wiki entries) as much as possible will be deleted. Note however, that data like work packages and wiki entries can not be deleted without impeding the work of the other users. Such data is hence reassigned to an account called \"Deleted user\". As the data of every deleted account is reassigned to this account it will not be possible to distinguish the data the user created from the data of another deleted account." + self: "Of the data you created (e.g. email, preferences, work packages, wiki entries) as much as possible will be deleted. Note however, that data like work packages and wiki entries can not be deleted without impeding the work of the other users. Such data is hence reassigned to an account called \"Deleted user\". As the data of every deleted account is reassigned to this account it will not be possible to distinguish the data you created from the data of another deleted account." + heading: "Delete account %{name}" + info: + other: "Deleting the user account is an irreversible action." + self: "Deleting your user account is an irreversible action." + login_consequences: + other: "The account will be deleted from the system. Therefore, the user will no longer be able to log in with his current credentials. He/she can choose to become a user of this application again by the means this application grants." + self: "Your account will be deleted from the system. Therefore, you will no longer be able to log in with your current credentials. If you choose to become a user of this application again, you can do so by using the means this application grants." + login_verification: + other: "Enter the login %{name} to verify the deletion. Once submitted, you will be asked to confirm your password." + self: "Enter your login %{name} to verify the deletion. Once submitted, you will be asked to confirm your password." + error_inactive_activation_by_mail: > + Your account has not yet been activated. To activate your account, click on the link that was emailed to you. + error_inactive_manual_activation: > + Your account has not yet been activated. Please wait for an administrator to activate your account. + error_self_registration_disabled: > + User registration is disabled on this system. Please ask an administrator to create an account for you. + login_with_auth_provider: "or sign in with your existing account" + signup_with_auth_provider: "or sign up using" + auth_source_login: Please login as %{login} to activate your account. + omniauth_login: Please login to activate your account. + actionview_instancetag_blank_option: "Please select" + activerecord: + attributes: + announcements: + show_until: "Display until" + attachment: + attachment_content: "Attachment content" + attachment_file_name: "Attachment file name" + downloads: "Downloads" + file: "File" + filename: "File" + filesize: "Size" + attribute_help_text: + attribute_name: 'Attribute' + help_text: 'Help text' + auth_source: + account: "Account" + attr_firstname: "Firstname attribute" + attr_lastname: "Lastname attribute" + attr_login: "Username attribute" + attr_mail: "Email attribute" + base_dn: "Base DN" + host: "Host" + onthefly: "Automatic user creation" + port: "Port" + tls_certificate_string: "LDAP server SSL certificate" + changeset: + repository: "Repository" + comment: + commented: "Commented" #an object that this comment belongs to + custom_action: + actions: "Actions" + custom_field: + default_value: "Default value" + editable: "Editable" + field_format: "Format" + is_filter: "Used as a filter" + is_required: "Required" + max_length: "Maximum length" + min_length: "Minimum length" + multi_value: "Allow multi-select" + possible_values: "Possible values" + regexp: "Regular expression" + searchable: "Searchable" + visible: "Visible" + custom_value: + value: "Value" + enterprise_token: + starts_at: "Valid since" + expires_at: "Expires at" + subscriber: "Subscriber" + encoded_token: "Enterprise support token" + active_user_count_restriction: "Maximum active users" + grids/grid: + page: "Page" + row_count: "Number of rows" + column_count: "Number of columns" + widgets: "Widgets" + relation: + delay: "Delay" + from: "Work package" + to: "Related work package" + status: + is_closed: "Work package closed" + is_readonly: "Work package read-only" + journal: + notes: "Notes" + member: + roles: "Roles" + project: + identifier: "Identifier" + latest_activity_at: "Latest activity at" + parent: "Subproject of" + queries: "Queries" + types: "Types" + versions: "Versions" + work_packages: "Work Packages" + templated: 'Template project' + projects/status: + code: 'Status' + explanation: 'Status description' + codes: + not_started: 'Not started' + on_track: 'On track' + at_risk: 'At risk' + off_track: 'Off track' + finished: 'Finished' + discontinued: 'Discontinued' + query: + column_names: "Columns" + relations_to_type_column: "Relations to %{type}" + relations_of_type_column: "%{type} relations" + group_by: "Group results by" + filters: "Filters" + timeline_labels: "Timeline labels" + repository: + url: "URL" + role: + permissions: "Permissions" + time_entry: + activity: "Activity" + hours: "Hours" + spent_on: "Date" + type: "Type" + type: + description: "Default text for description" + attribute_groups: '' + is_in_roadmap: "Displayed in roadmap by default" + is_default: "Activated for new projects by default" + is_milestone: "Is milestone" + color: "Color" + user: + admin: "Administrator" + auth_source: "Authentication mode" + current_password: "Current password" + force_password_change: "Enforce password change on next login" + language: "Language" + last_login_on: "Last login" + new_password: "New password" + password_confirmation: "Confirmation" + consented_at: "Consented at" + user_preference: + comments_sorting: "Display comments" + hide_mail: "Hide my email address" + impaired: "Accessibility mode" + time_zone: "Time zone" + auto_hide_popups: "Auto-hide success notifications" + warn_on_leaving_unsaved: "Warn me when leaving a work package with unsaved changes" + version: + effective_date: "Finish date" + sharing: "Sharing" + wiki_content: + text: "Text" + wiki_page: + parent_title: "Parent page" + redirect_existing_links: "Redirect existing links" + planning_element_type_color: + hexcode: Hex code + work_package: + begin_insertion: "Begin of the insertion" + begin_deletion: "Begin of the deletion" + children: "Subelements" + done_ratio: "Progress (%)" + duration: "Duration" + end_insertion: "End of the insertion" + end_deletion: "End of the deletion" + ignore_non_working_days: "Ignore non working days" + include_non_working_days: + title: 'Working days' + false: 'working days only' + true: 'include non-working days' + parent: "Parent" + parent_issue: "Parent" + parent_work_package: "Parent" + priority: "Priority" + progress: "Progress (%)" + readonly: "Read only" + schedule_manually: "Manual scheduling" + spent_hours: "Spent time" + spent_time: "Spent time" + subproject: "Subproject" + time_entries: "Log time" + type: "Type" + version: "Version" + watcher: "Watcher" + 'doorkeeper/application': + uid: "Client ID" + secret: "Client secret" + owner: "Owner" + redirect_uri: "Redirect URI" + client_credentials_user_id: "Client Credentials User ID" + scopes: "Scopes" + confidential: "Confidential" + errors: + messages: + accepted: "must be accepted." + after: "must be after %{date}." + after_or_equal_to: "must be after or equal to %{date}." + before: "must be before %{date}." + before_or_equal_to: "must be before or equal to %{date}." + blank: "can't be blank." + blank_nested: "needs to have the property '%{property}' set." + cant_link_a_work_package_with_a_descendant: "A work package cannot be linked to one of its subtasks." + circular_dependency: "This relation would create a circular dependency." + confirmation: "doesn't match %{attribute}." + could_not_be_copied: "%{dependency} could not be (fully) copied." + does_not_exist: "does not exist." + error_enterprise_only: "%{action} is only available in the OpenProject Enterprise edition" + error_unauthorized: "may not be accessed." + error_readonly: "was attempted to be written but is not writable." + email: "is not a valid email address." + empty: "can't be empty." + even: "must be even." + exclusion: "is reserved." + file_too_large: "is too large (maximum size is %{count} Bytes)." + filter_does_not_exist: "filter does not exist." + format: "does not match the expected format '%{expected}'." + format_nested: "does not match the expected format '%{expected}' at path '%{path}'." + greater_than: "must be greater than %{count}." + greater_than_or_equal_to: "must be greater than or equal to %{count}." + greater_than_or_equal_to_start_date: "must be greater than or equal to the start date." + greater_than_start_date: "must be greater than the start date." + inclusion: "is not set to one of the allowed values." + inclusion_nested: "is not set to one of the allowed values at path '%{path}'." + invalid: "is invalid." + invalid_url: 'is not a valid URL.' + invalid_url_scheme: 'is not a supported protocol (allowed: %{allowed_schemes}).' + less_than_or_equal_to: "must be less than or equal to %{count}." + not_available: "is not available due to a system configuration." + not_deletable: "cannot be deleted." + not_current_user: "is not the current user." + not_a_date: "is not a valid date." + not_a_datetime: "is not a valid date time." + not_a_number: "is not a number." + not_allowed: "is invalid because of missing permissions." + not_an_integer: "is not an integer." + not_an_iso_date: "is not a valid date. Required format: YYYY-MM-DD." + not_same_project: "doesn't belong to the same project." + odd: "must be odd." + regex_invalid: "could not be validated with the associated regular expression." + smaller_than_or_equal_to_max_length: "must be smaller than or equal to maximum length." + taken: "has already been taken." + too_long: "is too long (maximum is %{count} characters)." + too_short: "is too short (minimum is %{count} characters)." + type_mismatch: "is not of type '%{type}'" + type_mismatch_nested: "is not of type '%{type}' at path '%{path}'" + unchangeable: "cannot be changed." + unknown_property: "is not a known property." + unknown_property_nested: "has the unknown path '%{path}'." + unremovable: "cannot be removed." + url_not_secure_context: > + is not providing a "Secure Context". Either use HTTPS or a loopback address, such as localhost. + wrong_length: "is the wrong length (should be %{count} characters)." + models: + auth_source: + attributes: + tls_certificate_string: + invalid_certificate: "The provided SSL certificate is invalid: %{additional_message}" + format: "%{message}" + attachment: + attributes: + content_type: + blank: "The content type of the file cannot be blank." + not_whitelisted: "The file was rejected by an automatic filter. '%{value}' is not whitelisted for upload." + format: "%{message}" + capability: + context: + global: 'Global' + query: + filters: + minimum: "need to include at least one filter for principal, context or id with the '=' operator." + custom_field: + at_least_one_custom_option: "At least one option needs to be available." + custom_actions: + only_one_allowed: "(%{name}) only one value is allowed." + empty: "(%{name}) value can't be empty." + inclusion: "(%{name}) value is not set to one of the allowed values." + not_logged_in: "(%{name}) value cannot be set because you are not logged in." + not_an_integer: "(%{name}) is not an integer." + smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}." + greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}." + format: "%{message}" + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: 'cannot contain a fragment.' + invalid_uri: 'must be a valid URI.' + relative_uri: 'must be an absolute URI.' + secured_uri: 'is not providing a "Secure Context". Either use HTTPS or a loopback address, such as localhost.' + forbidden_uri: 'is forbidden by the server.' + scopes: + not_match_configured: "doesn't match available scopes." + enterprise_token: + unreadable: "can't be read. Are you sure it is a support token?" + grids/grid: + overlaps: 'overlap.' + outside: 'is outside of the grid.' + end_before_start: 'end value needs to be larger than the start value.' + notifications: + at_least_one_channel: 'At least one channel for sending notifications needs to be specified.' + attributes: + read_ian: + read_on_creation: 'cannot be set to true on notification creation.' + mail_reminder_sent: + set_on_creation: 'cannot be set to true on notification creation.' + reason: + no_notification_reason: 'cannot be blank as IAN is chosen as a channel.' + reason_mail_digest: + no_notification_reason: 'cannot be blank as mail digest is chosen as a channel.' + parse_schema_filter_params_service: + attributes: + base: + unsupported_operator: "The operator is not supported." + invalid_values: "A value is invalid." + id_filter_required: "An 'id' filter is required." + project: + archived_ancestor: 'The project has an archived ancestor.' + foreign_wps_reference_version: 'Work packages in non descendant projects reference versions of the project or its descendants.' + attributes: + types: + in_use_by_work_packages: "still in use by work packages: %{types}" + enabled_modules: + dependency_missing: "The module '%{dependency}' needs to be enabled as well since the module '%{module}' depends on it." + format: "%{message}" + query: + attributes: + project: + error_not_found: "not found" + public: + error_unauthorized: "- The user has no permission to create public views." + group_by: + invalid: "Can't group by: %{value}" + format: "%{message}" + column_names: + invalid: "Invalid query column: %{value}" + format: "%{message}" + sort_criteria: + invalid: "Can't sort by column: %{value}" + format: "%{message}" + group_by_hierarchies_exclusive: "is mutually exclusive with group by '%{group_by}'. You cannot activate both." + filters: + custom_fields: + inexistent: "There is no custom field for the filter." + queries/filters/base: + attributes: + values: + inclusion: "filter has invalid values." + format: "%{message}" + relation: + typed_dag: + circular_dependency: "The relationship creates a circle of relationships." + attributes: + to: + error_not_found: "work package in `to` position not found or not visible" + error_readonly: "an existing relation's `to` link is immutable" + from: + error_not_found: "work package in `from` position not found or not visible" + error_readonly: "an existing relation's `from` link is immutable" + repository: + not_available: "SCM vendor is not available" + not_whitelisted: "is not allowed by the configuration." + invalid_url: "is not a valid repository URL or path." + must_not_be_ssh: "must not be an SSH url." + no_directory: "is not a directory." + role: + attributes: + permissions: + dependency_missing: "need to also include '%{dependency}' as '%{permission}' is selected." + setting: + attributes: + base: + working_days_are_missing: 'At least one day of the week must be defined as a working day.' + previous_working_day_changes_unprocessed: 'The previous changes to the working days configuration have not been applied yet.' + time_entry: + attributes: + hours: + day_limit: "is too high as a maximum of 24 hours can be logged per date." + user_preference: + attributes: + pause_reminders: + invalid_range: "can only be a valid date range." + daily_reminders: + full_hour: "can only be configured to be delivered at a full hour." + notification_settings: + only_one_global_setting: 'There must only be one global notification setting.' + email_alerts_global: 'The email notification settings can only be set globally.' + format: "%{message}" + wrong_date: 'Wrong value for Start date, Due date, or Overdue.' + watcher: + attributes: + user_id: + not_allowed_to_view: "is not allowed to view this resource." + locked: "is locked." + wiki_page: + attributes: + slug: + undeducible: "cannot be deduced from the title '%{title}'." + work_package: + is_not_a_valid_target_for_time_entries: "Work package #%{id} is not a valid target for reassigning the time entries." + attributes: + assigned_to: + format: "%{message}" + due_date: + not_start_date: "is not on start date, although this is required for milestones." + cannot_be_null: "can not be set to null as start date and duration are known." + duration: + larger_than_dates: "is larger than the interval between the start and the finish date." + smaller_than_dates: "is smaller than the interval between the start and the finish date." + not_available_for_milestones: "is not available for milestone typed work packages." + cannot_be_null: "can not be set to null as start date and finish date are known." + parent: + cannot_be_milestone: "cannot be a milestone." + cannot_be_self_assigned: "cannot be assigned to itself." + cannot_be_in_another_project: "cannot be in another project." + not_a_valid_parent: "is invalid." + start_date: + violates_relationships: "can only be set to %{soonest_start} or later so as not to violate the work package's relationships." + cannot_be_null: "can not be set to null as finish date and duration are known." + status_id: + status_transition_invalid: "is invalid because no valid transition exists from old to new status for the current user's roles." + status_invalid_in_type: "is invalid because the current status does not exist in this type." + type: + cannot_be_milestone_due_to_children: "cannot be a milestone because this work package has children." + priority_id: + only_active_priorities_allowed: "needs to be active." + category: + only_same_project_categories_allowed: "The category of a work package must be within the same project as the work package." + does_not_exist: "The specified category does not exist." + estimated_hours: + only_values_greater_or_equal_zeroes_allowed: "must be >= 0." + readonly_status: 'The work package is in a readonly status so its attributes cannot be changed.' + type: + attributes: + attribute_groups: + attribute_unknown: "Invalid work package attribute used." + attribute_unknown_name: "Invalid work package attribute used: %{attribute}" + duplicate_group: "The group name '%{group}' is used more than once. Group names must be unique." + query_invalid: "The embedded query '%{group}' is invalid: %{details}" + group_without_name: "Unnamed groups are not allowed." + user: + attributes: + base: + user_limit_reached: "User limit reached. No more accounts can be created on the current plan." + password_confirmation: + confirmation: "Password confirmation does not match password." + format: "%{message}" + password: + weak: "Must contain characters of the following classes (at least %{min_count} of %{all_count}): %{rules}." + lowercase: "lowercase (e.g. 'a')" + uppercase: "uppercase (e.g. 'A')" + numeric: "numeric (e.g. '1')" + special: "special (e.g. '%')" + reused: + one: "has been used before. Please choose one that is different from your last one." + few: "has been used before. Please choose one that is different from your last %{count}." + many: "has been used before. Please choose one that is different from your last %{count}." + other: "has been used before. Please choose one that is different from your last %{count}." + match: + confirm: "Confirm new password." + description: "'Password confirmation' should match the input in the 'New password' field." + status: + invalid_on_create: "is not a valid status for new users." + auth_source: + error_not_found: "not found" + member: + principal_blank: "Please choose at least one user or group." + role_blank: "need to be assigned." + attributes: + roles: + ungrantable: "has an unassignable role." + principal: + unassignable: "cannot be assigned to a project." + version: + undeletable_work_packages_attached: "The version cannot be deleted as it has work packages attached to it." + status: + readonly_default_exlusive: "can not be activated for statuses that are marked default." + template: + body: "Please check the following fields:" + header: + one: "1 error prohibited this %{model} from being saved" + few: "%{count} errors prohibited this %{model} from being saved" + many: "%{count} errors prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + models: + attachment: "File" + attribute_help_text: "Attribute help text" + forum: "Forum" + comment: "Comment" + custom_action: "Custom action" + custom_field: "Custom field" + group: "Group" + category: "Category" + status: "Work package status" + member: "Member" + news: "News" + notification: + one: "Notification" + few: "Notifications" + many: "Notifications" + other: "Notifications" + placeholder_user: "Placeholder user" + project: "Project" + query: "Custom query" + role: + one: "Role" + few: "Roles" + many: "Roles" + other: "Roles" + type: "Type" + user: "User" + version: "Version" + wiki: "Wiki" + wiki_page: "Wiki page" + workflow: "Workflow" + work_package: "Work package" + 'doorkeeper/application': "OAuth application" + errors: + header_invalid_fields: "There were problems with the following fields:" + field_erroneous_label: "This field is invalid: %{full_errors}\nPlease enter a valid value." + activity: + created: "Created: %{title}" + updated: "Updated: %{title}" + #common attributes of all models + attributes: + active: "Active" + assigned_to: "Assignee" + assignee: "Assignee" + attachments: "Attachments" + author: "Author" + base: "General Error:" + blocks_ids: "IDs of blocked work packages" + category: "Category" + comment: "Comment" + comments: "Comment" + content: "Content" + color: "Color" + created_at: "Created on" + custom_options: "Possible values" + custom_values: "Custom fields" + date: "Date" + default_columns: "Default columns" + description: "Description" + derived_due_date: "Derived finish date" + derived_estimated_hours: "Derived estimated time" + derived_start_date: "Derived start date" + display_sums: "Display Sums" + due_date: "Finish date" + estimated_hours: "Estimated time" + estimated_time: "Estimated time" + firstname: "First name" + group: "Group" + groups: "Groups" + id: "ID" + is_default: "Default value" + is_for_all: "For all projects" + public: "Public" + #kept for backwards compatibility + issue: "Work package" + lastname: "Last name" + login: "Username" + mail: "Email" + name: "Name" + password: "Password" + priority: "Priority" + project: "Project" + responsible: "Accountable" + role: "Role" + roles: "Roles" + start_date: "Start date" + status: "Status" + subject: "Subject" + summary: "Summary" + title: "Title" + type: "Type" + updated_at: "Updated on" + updated_on: "Updated on" + uploader: "Uploader" + user: "User" + value: "Value" + version: "Version" + work_package: "Work package" + backup: + failed: "Backup failed" + label_backup_token: "Backup token" + label_create_token: "Create backup token" + label_delete_token: "Delete backup token" + label_reset_token: "Reset backup token" + label_token_users: "The following users have active backup tokens" + reset_token: + action_create: Create + action_reset: Reset + heading_reset: "Reset backup token" + heading_create: "Create backup token" + implications: > + Enabling backups will allow any user with the required permissions and this backup token to download a backup containing all data of this OpenProject installation. This includes the data of all other users. + info: > + You will need to generate a backup token to be able to create a backup. Each time you want to request a backup you will have to provide this token. You can delete the backup token to disable backups for this user. + verification: > + Enter %{word} to confirm you want to %{action} the backup token. + verification_word_reset: reset + verification_word_create: create + warning: > + When you create a new token you will only be allowed to request a backup after 24 hours. This is a safety measure. After that you can request a backup any time using that token. + text_token_deleted: Backup token deleted. Backups are now disabled. + error: + invalid_token: Invalid or missing backup token + token_cooldown: The backup token will be valid in %{hours} hours. + backup_pending: There is already a backup pending. + limit_reached: You can only do %{limit} backups per day. + button_add: "Add" + button_add_comment: "Add comment" + button_add_member: Add member + button_add_watcher: "Add watcher" + button_annotate: "Annotate" + button_apply: "Apply" + button_archive: "Archive" + button_back: "Back" + button_cancel: "Cancel" + button_change: "Change" + button_change_parent_page: "Change parent page" + button_change_password: "Change password" + button_check_all: "Check all" + button_clear: "Clear" + button_click_to_reveal: "Click to reveal" + button_close: 'Close' + button_collapse_all: "Collapse all" + button_configure: "Configure" + button_continue: "Continue" + button_copy: "Copy" + button_copy_and_follow: "Copy and follow" + button_create: "Create" + button_create_and_continue: "Create and continue" + button_delete: "Delete" + button_decline: "Decline" + button_delete_watcher: "Delete watcher %{name}" + button_download: "Download" + button_duplicate: "Duplicate" + button_edit: "Edit" + button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}" + button_expand_all: "Expand all" + button_filter: "Filter" + button_generate: "Generate" + button_list: "List" + button_lock: "Lock" + button_login: "Sign in" + button_move: "Move" + button_move_and_follow: "Move and follow" + button_print: "Print" + button_quote: "Quote" + button_remove: Remove + button_rename: "Rename" + button_replace: "Replace" + button_revoke: "Revoke" + button_reply: "Reply" + button_reset: "Reset" + button_rollback: "Rollback to this version" + button_save: "Save" + button_save_back: "Save and back" + button_show: "Show" + button_sort: "Sort" + button_submit: "Submit" + button_test: "Test" + button_unarchive: "Unarchive" + button_uncheck_all: "Uncheck all" + button_unlock: "Unlock" + button_unwatch: "Unwatch" + button_update: "Update" + button_upgrade: "Upgrade" + button_upload: "Upload" + button_view: "View" + button_watch: "Watch" + button_manage_menu_entry: "Configure menu item" + button_add_menu_entry: "Add menu item" + button_configure_menu_entry: "Configure menu item" + button_delete_menu_entry: "Delete menu item" + consent: + checkbox_label: I have noted and do consent to the above. + failure_message: Consent failed, cannot proceed. + title: User Consent + decline_warning_message: You have declined to consent and have been logged out. + user_has_consented: User has consented to your configured statement at the given time. + not_yet_consented: User has not consented yet, will be requested upon next login. + contact_mail_instructions: Define the mail address that users can reach a data controller to perform data change or removal requests. + contact_your_administrator: Please contact your administrator if you want to have your account deleted. + contact_this_mail_address: Please contact %{mail_address} if you want to have your account deleted. + text_update_consent_time: Check this box to force users to consent again. Enable when you have changed the legal aspect of the consent information above. + update_consent_last_time: "Last update of consent: %{update_time}" + copy_project: + title: 'Copy project "%{source_project_name}"' + started: "Started to copy project \"%{source_project_name}\" to \"%{target_project_name}\". You will be informed by mail as soon as \"%{target_project_name}\" is available." + failed: "Cannot copy project %{source_project_name}" + failed_internal: "Copying failed due to an internal error." + succeeded: "Created project %{target_project_name}" + errors: "Error" + project_custom_fields: 'Custom fields on project' + x_objects_of_this_type: + zero: 'No objects of this type' + one: 'One object of this type' + other: '%{count} objects of this type' + text: + failed: "Could not copy project \"%{source_project_name}\" to project \"%{target_project_name}\"." + succeeded: "Copied project \"%{source_project_name}\" to \"%{target_project_name}\"." + create_new_page: "Wiki page" + date: + abbr_day_names: + - "Sun" + - "Mon" + - "Tue" + - "Wed" + - "Thu" + - "Fri" + - "Sat" + abbr_month_names: + - null + - "Jan" + - "Feb" + - "Mar" + - "Apr" + - "May" + - "Jun" + - "Jul" + - "Aug" + - "Sep" + - "Oct" + - "Nov" + - "Dec" + abbr_week: 'Wk' + day_names: + - "Sunday" + - "Monday" + - "Tuesday" + - "Wednesday" + - "Thursday" + - "Friday" + - "Saturday" + formats: + #Use the strftime parameters for formats. + #When no format has been given, it uses default. + #You can provide other formats here if you like! + default: "%m/%d/%Y" + long: "%B %d, %Y" + short: "%b %d" + #Don't forget the nil at the beginning; there's no such thing as a 0th month + month_names: + - null + - "January" + - "February" + - "March" + - "April" + - "May" + - "June" + - "July" + - "August" + - "September" + - "October" + - "November" + - "December" + #Used in date_select and datime_select. + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: "about 1 hour" + few: "about %{count} hours" + many: "about %{count} hours" + other: "about %{count} hours" + about_x_months: + one: "about 1 month" + few: "about %{count} months" + many: "about %{count} months" + other: "about %{count} months" + about_x_years: + one: "about 1 year" + few: "about %{count} years" + many: "about %{count} years" + other: "about %{count} years" + almost_x_years: + one: "almost 1 year" + few: "almost %{count} years" + many: "almost %{count} years" + other: "almost %{count} years" + half_a_minute: "half a minute" + less_than_x_minutes: + one: "less than a minute" + few: "less than %{count} minutes" + many: "less than %{count} minutes" + other: "less than %{count} minutes" + less_than_x_seconds: + one: "less than 1 second" + few: "less than %{count} seconds" + many: "less than %{count} seconds" + other: "less than %{count} seconds" + over_x_years: + one: "over 1 year" + few: "over %{count} years" + many: "over %{count} years" + other: "over %{count} years" + x_days: + one: "1 day" + few: "%{count} days" + many: "%{count} days" + other: "%{count} days" + x_minutes: + one: "1 minute" + few: "%{count} minutes" + many: "%{count} minutes" + other: "%{count} minutes" + x_months: + one: "1 month" + few: "%{count} months" + many: "%{count} months" + other: "%{count} months" + x_seconds: + one: "1 second" + few: "%{count} seconds" + many: "%{count} seconds" + other: "%{count} seconds" + units: + hour: + one: "hour" + few: "hours" + many: "hours" + other: "hours" + default_activity_development: "Development" + default_activity_management: "Management" + default_activity_other: "Other" + default_activity_specification: "Specification" + default_activity_support: "Support" + default_activity_testing: "Testing" + default_color_black: "Black" + default_color_blue: "Blue" + default_color_blue_dark: "Blue (dark)" + default_color_blue_light: "Blue (light)" + default_color_green_dark: "Green (dark)" + default_color_green_light: "Green (light)" + default_color_grey_dark: "Grey (dark)" + default_color_grey_light: "Grey (light)" + default_color_grey: "Grey" + default_color_magenta: "Magenta" + default_color_orange: "Orange" + default_color_red: "Red" + default_color_white: "White" + default_color_yellow: "Yellow" + default_status_closed: "Closed" + default_status_confirmed: "Confirmed" + default_status_developed: "Developed" + default_status_in_development: "In development" + default_status_in_progress: "In progress" + default_status_in_specification: "In specification" + default_status_in_testing: "In testing" + default_status_new: "New" + default_status_on_hold: "On hold" + default_status_rejected: "Rejected" + default_status_scheduled: "Scheduled" + default_status_specified: "Specified" + default_status_tested: "Tested" + default_status_test_failed: "Test failed" + default_status_to_be_scheduled: "To be scheduled" + default_priority_low: "Low" + default_priority_normal: "Normal" + default_priority_high: "High" + default_priority_immediate: "Immediate" + default_role_anonymous: "Anonymous" + default_role_developer: "Developer" + default_role_project_admin: "Project admin" + default_role_project_creator_and_staff_manager: "Staff and projects manager" + default_role_non_member: "Non member" + default_role_reader: "Reader" + default_role_member: "Member" + default_type: "Work Package" + default_type_bug: "Bug" + default_type_deliverable: "Deliverable" + default_type_epic: "Epic" + default_type_feature: "Feature" + default_type_milestone: "Milestone" + default_type_phase: "Phase" + default_type_task: "Task" + default_type_user_story: "User story" + description_active: "Active?" + description_attachment_toggle: "Show/Hide attachments" + description_autocomplete: > + This field uses autocomplete. While typing the title of a work package you will receive a list of possible candidates. Choose one using the arrow up and arrow down key and select it with tab or enter. Alternatively you can enter the work package number directly. + description_available_columns: "Available Columns" + description_choose_project: "Projects" + description_compare_from: "Compare from" + description_compare_to: "Compare to" + description_current_position: "You are here: " + description_date_from: "Enter start date" + description_date_to: "Enter end date" + description_enter_number: "Enter number" + description_enter_text: "Enter text" + description_filter: "Filter" + description_filter_toggle: "Show/Hide filter" + description_category_reassign: "Choose category" + description_message_content: "Message content" + description_my_project: "You are member" + description_notes: "Notes" + description_parent_work_package: "Parent work package of current" + description_project_scope: "Search scope" + description_query_sort_criteria_attribute: "Sort attribute" + description_query_sort_criteria_direction: "Sort direction" + description_search: "Searchfield" + description_select_work_package: "Select work package" + description_selected_columns: "Selected Columns" + description_sub_work_package: "Sub work package of current" + description_toc_toggle: "Show/Hide table of contents" + description_wiki_subpages_reassign: "Choose new parent page" + #Text direction: Left-to-Right (ltr) or Right-to-Left (rtl) + direction: ltr + ee: + upsale: + form_configuration: + description: "Customize the form configuration with these additional add-ons:" + add_groups: "Add new attribute groups" + rename_groups: "Rename attributes groups" + project_filters: + description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." + enumeration_activities: "Time tracking activities" + enumeration_work_package_priorities: "Work package priorities" + enumeration_reported_project_statuses: "Reported project status" + error_auth_source_sso_failed: "Single Sign-On (SSO) for user '%{value}' failed" + error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_delete_entry: "Unable to delete entry" + error_can_not_delete_custom_field: "Unable to delete custom field" + error_can_not_delete_type: + explanation: 'This type contains work packages and cannot be deleted. You can see all affected work packages in this view.' + archived_projects: 'There are also work packages in archived projects. You need to reactivate the following projects first, before you can change the type of the respective work packages: %{archived_projects}' + error_can_not_delete_standard_type: "Standard types cannot be deleted." + error_can_not_invite_user: "Failed to send invitation to user." + error_can_not_remove_role: "This role is in use and cannot be deleted." + error_can_not_reopen_work_package_on_closed_version: "A work package assigned to a closed version cannot be reopened" + error_can_not_find_all_resources: "Could not find all related resources to this request." + error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_check_user_and_role: "Please choose a user and a role." + error_code: "Error %{code}" + error_cookie_missing: 'The OpenProject cookie is missing. Please ensure that cookies are enabled, as this application will not properly function without.' + error_custom_option_not_found: "Option does not exist." + error_enterprise_activation_user_limit: "Your account could not be activated (user limit reached). Please contact your administrator to gain access." + error_enterprise_token_invalid_domain: "The Enterprise edition is not active. Your Enterprise token's domain (%{actual}) does not match the system's host name (%{expected})." + error_failed_to_delete_entry: 'Failed to delete this entry.' + error_in_dependent: "Error attempting to alter dependent object: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" #%{related_id} - %{related_subject}: %{error}" + error_in_new_dependent: "Error attempting to create dependent object: %{dependent_class} - %{related_subject}: %{error}" + error_invalid_selected_value: "Invalid selected value." + error_journal_attribute_not_present: "Journal does not contain attribute %{attribute}." + error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." + error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" + error_token_authenticity: 'Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again.' + error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" + error_must_be_project_member: "must be project member" + error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." + error_migrations_visit_upgrade_guides: "Please visit our upgrade guide documentation" + error_no_default_work_package_status: "No default work package status is defined. Please check your configuration (Go to \"Administration -> Work package statuses\")." + error_no_type_in_project: "No type is associated to this project. Please check the Project settings." + error_omniauth_registration_timed_out: "The registration via an external authentication provider timed out. Please try again." + error_omniauth_invalid_auth: "The authentication information returned from the identity provider was invalid. Please contact your administrator for further help." + error_password_change_failed: 'An error occurred when trying to change the password.' + error_scm_command_failed: "An error occurred when trying to access the repository: %{value}" + error_scm_not_found: "The entry or revision was not found in the repository." + error_unable_delete_status: "The work package status cannot be deleted since it is used by at least one work package." + error_unable_delete_default_status: "Unable to delete the default work package status. Please select another default work package status before deleting the current one." + error_unable_to_connect: "Unable to connect (%{value})" + error_unable_delete_wiki: "Unable to delete the wiki page." + error_unable_update_wiki: "Unable to update the wiki page." + error_workflow_copy_source: "Please select a source type or role" + error_workflow_copy_target: "Please select target type(s) and role(s)" + error_menu_item_not_created: Menu item could not be added + error_menu_item_not_saved: Menu item could not be saved + error_wiki_root_menu_item_conflict: > + Can't rename "%{old_name}" to "%{new_name}" due to a conflict in the resulting menu item with the existing menu item "%{existing_caption}" (%{existing_identifier}). + error_external_authentication_failed: "An error occurred during external authentication. Please try again." + error_attribute_not_highlightable: "Attribute(s) not highlightable: %{attributes}" + events: + project: 'Project edited' + changeset: 'Changeset edited' + message: Message edited + news: News + reply: Replied + time_entry: 'Timelog edited' + wiki_page: 'Wiki page edited' + work_package_closed: 'Work Package closed' + work_package_edit: 'Work Package edited' + work_package_note: 'Work Package note added' + export: + your_work_packages_export: "Your work packages export" + succeeded: "The export has completed successfully." + failed: "The export has failed: %{message}" + format: + atom: "Atom" + csv: "CSV" + pdf: "PDF" + pdf_with_descriptions: "PDF with descriptions" + pdf_with_descriptions_and_attachments: "PDF with descriptions and attachments" + pdf_with_attachments: "PDF with attachments" + image: + omitted: "Image not exported." + extraction: + available: + pdftotext: "Pdftotext available (optional)" + unrtf: "Unrtf available (optional)" + catdoc: "Catdoc available (optional)" + xls2csv: "Xls2csv available (optional)" + catppt: "Catppt available (optional)" + tesseract: "Tesseract available (optional)" + general_csv_decimal_separator: "." + general_csv_encoding: "UTF-8" + general_csv_separator: "," + general_first_day_of_week: "7" + general_lang_name: "English" + general_pdf_encoding: "ISO-8859-1" + general_text_no: "no" + general_text_yes: "yes" + general_text_No: "No" + general_text_Yes: "Yes" + general_text_true: "true" + general_text_false: "false" + gui_validation_error: "1 error" + gui_validation_error_plural: "%{count} errors" + homescreen: + additional: + projects: "Newest visible projects in this instance." + no_visible_projects: "There are no visible projects in this instance." + users: "Newest registered users in this instance." + blocks: + community: "OpenProject community" + upsale: + title: "Upgrade to Enterprise edition" + more_info: "More information" + links: + upgrade_enterprise_edition: "Upgrade to Enterprise edition" + postgres_migration: "Migrating your installation to PostgreSQL" + user_guides: "User guides" + faq: "FAQ" + glossary: "Glossary" + shortcuts: "Shortcuts" + blog: "OpenProject blog" + forums: "Community forum" + newsletter: "Security alerts / Newsletter" + image_conversion: + imagemagick: 'Imagemagick' + journals: + changes_retracted: "The changes were retracted." + links: + configuration_guide: 'Configuration guide' + get_in_touch: "You have questions? Get in touch with us." + instructions_after_registration: "You can sign in as soon as your account has been activated by clicking %{signin}." + instructions_after_logout: "You can sign in again by clicking %{signin}." + instructions_after_error: "You can try to sign in again by clicking %{signin}. If the error persists, ask your admin for help." + menus: + admin: + mail_notification: "Email notifications" + mails_and_notifications: "Emails and notification" + aggregation: 'Aggregation' + api_and_webhooks: "API and webhooks" + quick_add: + label: "Open quick add menu" + my_account: + access_tokens: + no_results: + title: "No access tokens to display" + description: "All of them have been disabled. They can be re-enabled in the administration menu." + access_tokens: "Access tokens" + headers: + action: "Action" + expiration: "Expires" + indefinite_expiration: "Never" + notifications: + send_notifications: "Send notifications for this action" + work_packages: + subject: + created: "The work package was created." + assigned: "You have been assigned to %{work_package}" + subscribed: "You subscribed to %{work_package}" + mentioned: "You have been mentioned in %{work_package}" + responsible: "You have become accountable for %{work_package}" + watched: "You are watching %{work_package}" + update_info_mail: + body: > + We are excited to announce the release of OpenProject 12.0. It's a major release that will hopefully significantly improve the way you use OpenProject. + Starting with this release, we are introducing in-app notifications. From now on, you will receive notifications for updates to work packages directly in OpenProject. You can mark these notifications as read, reply to a comment or even directly modify work package attributes without leaving the notification center. + This also means that we will no longer be using emails for notifications. We think the new notification center is a better place to view and act upon these updates. Nevertheless, if you would like continue receiving updates via email, you can choose to receive daily email reminders at particular times of your choosing. + Please make sure to verify your new default notification settings, and set your preferences for notifications and email reminders via your account settings. You can do this through the “Change email settings” button bellow. + We hope you find in-app notifications useful and that they makes you even more productive. + Sincerely, The OpenProject team + body_header: 'Version 12.0 with Notification Center' + body_subheader: 'News' + subject: 'Important changes to notifications with the release of 12.0' + label_accessibility: "Accessibility" + label_account: "Account" + label_active: "Active" + label_activate_user: 'Activate user' + label_active_in_new_projects: "Active in new projects" + label_activity: "Activity" + label_add_edit_translations: "Add and edit translations" + label_add_another_file: "Add another file" + label_add_columns: "Add selected columns" + label_add_note: "Add a note" + label_add_related_work_packages: "Add related work packages" + label_add_subtask: "Add subtask" + label_added: "added" + label_added_time_by: "Added by %{author} %{age} ago" + label_additional_workflow_transitions_for_assignee: "Additional transitions allowed when the user is the assignee" + label_additional_workflow_transitions_for_author: "Additional transitions allowed when the user is the author" + label_administration: "Administration" + label_advanced_settings: "Advanced settings" + label_age: "Age" + label_ago: "days ago" + label_all: "all" + label_all_time: "all time" + label_all_words: "All words" + label_all_open_wps: "All open" + label_always_visible: "Always displayed" + label_announcement: "Announcement" + label_api_access_key: "API access key" + label_api_access_key_created_on: "API access key created %{value} ago" + label_api_access_key_type: "API" + label_applied_status: "Applied status" + label_archive_project: "Archive project" + label_ascending: "Ascending" + label_assigned_to_me_work_packages: "Work packages assigned to me" + label_associated_revisions: "Associated revisions" + label_attachment_delete: "Delete file" + label_attachment_new: "New file" + label_attachment_plural: "Files" + label_attribute: "Attribute" + label_attribute_plural: "Attributes" + label_auth_source: "Authentication mode" + label_auth_source_new: "New authentication mode" + label_auth_source_plural: "Authentication modes" + label_authentication: "Authentication" + label_available_project_work_package_categories: 'Available work package categories' + label_available_project_work_package_types: 'Available work package types' + label_available_project_forums: 'Available forums' + label_available_project_versions: 'Available versions' + label_available_project_repositories: 'Available repositories' + label_api_documentation: "API documentation" + label_backup: "Backup" + label_between: "between" + label_blocked_by: "blocked by" + label_blocks: "blocks" + label_blog: "Blog" + label_forums_locked: "Locked" + label_forum_new: "New forum" + label_forum_plural: "Forums" + label_forum_sticky: "Sticky" + label_boolean: "Boolean" + label_branch: "Branch" + label_browse: "Browse" + label_bulk_edit_selected_work_packages: "Bulk edit selected work packages" + label_bundled: '(Bundled)' + label_calendar: "Calendar" + label_calendar_show: "Show Calendar" + label_category: "Category" + label_consent_settings: "User Consent" + label_wiki_menu_item: Wiki menu item + label_select_main_menu_item: Select new main menu item + label_required_disk_storage: "Required disk storage" + label_send_invitation: Send invitation + label_change_plural: "Changes" + label_change_properties: "Change properties" + label_change_status: "Change status" + label_change_status_of_user: "Change status of #{username}" + label_change_view_all: "View all changes" + label_changes_details: "Details of all changes" + label_changeset: "Changeset" + label_changeset_id: "Changeset ID" + label_changeset_plural: "Changesets" + label_checked: "checked" + label_check_uncheck_all_in_column: "Check/Uncheck all in column" + label_check_uncheck_all_in_row: "Check/Uncheck all in row" + label_child_element: "Child element" + label_chronological_order: "Oldest first" + label_close_versions: "Close completed versions" + label_closed_work_packages: "closed" + label_collapse: "Collapse" + label_collapsed_click_to_show: "Collapsed. Click to show" + label_configuration: configuration + label_comment_add: "Add a comment" + label_comment_added: "Comment added" + label_comment_delete: "Delete comments" + label_comment_plural: "Comments" + label_commits_per_author: "Commits per author" + label_commits_per_month: "Commits per month" + label_confirmation: "Confirmation" + label_contains: "contains" + label_content: "Content" + label_copied: "copied" + label_copy_to_clipboard: "Copy to clipboard" + label_copy_same_as_target: "Same as target" + label_copy_source: "Source" + label_copy_target: "Target" + label_copy_workflow_from: "Copy workflow from" + label_copy_project: "Copy project" + label_core_version: "Core version" + label_current_status: "Current status" + label_current_version: "Current version" + label_custom_field_add_no_type: "Add this field to a work package type" + label_custom_field_new: "New custom field" + label_custom_field_plural: "Custom fields" + label_custom_field_default_type: "Empty type" + label_custom_style: "Design" + label_database_version: "PostgreSQL version" + label_date: "Date" + label_date_and_time: "Date and time" + label_date_from: "From" + label_date_from_to: "From %{start} to %{end}" + label_date_to: "To" + label_day_plural: "days" + label_default: "Default" + label_delete_user: "Delete user" + label_delete_project: "Delete project" + label_deleted: "deleted" + label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_option: "(deleted option)" + label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" + label_descending: "Descending" + label_details: "Details" + label_development_roadmap: "Development roadmap" + label_diff: "diff" + label_diff_inline: "inline" + label_diff_side_by_side: "side by side" + label_digital_accessibility: 'Digital accessibility (DE)' + label_disabled: "disabled" + label_display: "Display" + label_display_per_page: "Per page: %{value}" + label_display_used_statuses_only: "Only display statuses that are used by this type" + label_download: "%{count} Download" + label_download_plural: "%{count} Downloads" + label_downloads_abbr: "D/L" + label_duplicated_by: "duplicated by" + label_duplicate: "duplicate" + label_duplicates: "duplicates" + label_edit: "Edit" + label_edit_x: "Edit: %{x}" + label_enable_multi_select: "Toggle multiselect" + label_enabled_project_custom_fields: 'Enabled custom fields' + label_enabled_project_modules: 'Enabled modules' + label_enabled_project_activities: 'Enabled time tracking activities' + label_end_to_end: "end to end" + label_end_to_start: "end to start" + label_enumeration_new: "New enumeration value" + label_enumeration_value: "Enumeration value" + label_enumerations: "Enumerations" + label_enterprise: "Enterprise" + label_enterprise_active_users: "%{current}/%{limit} booked active users" + label_enterprise_edition: "Enterprise edition" + label_environment: "Environment" + label_estimates_and_time: "Estimates and time" + label_equals: "is" + label_everywhere: "everywhere" + label_example: "Example" + label_import: "Import" + label_export_to: "Also available in:" + label_expanded_click_to_collapse: "Expanded. Click to collapse" + label_f_hour: "%{value} hour" + label_f_hour_plural: "%{value} hours" + label_feed_plural: "Feeds" + label_feeds_access_key: "RSS access key" + label_feeds_access_key_created_on: "RSS access key created %{value} ago" + label_feeds_access_key_type: "RSS" + label_file_plural: "Files" + label_filter_add: "Add filter" + label_filter_plural: "Filters" + label_filters_toggle: "Show/hide filters" + label_float: "Float" + label_folder: "Folder" + label_follows: "follows" + label_force_user_language_to_default: "Set language of users having a non allowed language to default" + label_form_configuration: "Form configuration" + label_gantt: "Gantt" + label_gantt_chart: "Gantt chart" + label_general: "General" + label_generate_key: "Generate a key" + label_git_path: "Path to .git directory" + label_greater_or_equal: ">=" + label_group_by: "Group by" + label_group_new: "New group" + label_group: "Group" + label_group_named: "Group %{name}" + label_group_plural: "Groups" + label_help: "Help" + label_here: here + label_hide: "Hide" + label_history: "History" + label_hierarchy_leaf: "Hierarchy leaf" + label_home: "Home" + label_subject_or_id: "Subject or ID" + label_impressum: "Legal notice" + label_in: "in" + label_in_less_than: "in less than" + label_in_more_than: "in more than" + label_inactive: "Inactive" + label_incoming_emails: "Incoming emails" + label_includes: 'includes' + label_index_by_date: "Index by date" + label_index_by_title: "Index by title" + label_information: "Information" + label_information_plural: "Information" + label_installation_guides: 'Installation guides' + label_integer: "Integer" + label_internal: "Internal" + label_introduction_video: "Introduction video" + label_invite_user: "Invite user" + label_show_hide: "Show/hide" + label_show_all_registered_users: "Show all registered users" + label_journal: "Journal" + label_journal_diff: "Description Comparison" + label_language: "Language" + label_jump_to_a_project: "Jump to a project..." + label_keyword_plural: 'Keywords' + label_language_based: "Based on user's language" + label_last_activity: "Last activity" + label_last_change_on: "Last change on" + label_last_changes: "last %{count} changes" + label_last_login: "Last login" + label_last_month: "last month" + label_last_n_days: "last %{count} days" + label_last_week: "last week" + label_latest_revision: "Latest revision" + label_latest_revision_plural: "Latest revisions" + label_ldap_authentication: "LDAP authentication" + label_less_or_equal: "<=" + label_less_than_ago: "less than days ago" + label_list: "List" + label_loading: "Loading..." + label_lock_user: 'Lock user' + label_logged_as: "Logged in as" + label_login: "Sign in" + label_custom_logo: "Custom logo" + label_custom_favicon: "Custom favicon" + label_custom_touch_icon: "Custom touch icon" + label_logout: "Sign out" + label_main_menu: "Side Menu" + label_manage_groups: "Manage groups" + label_managed_repositories_vendor: "Managed %{vendor} repositories" + label_max_size: "Maximum size" + label_me: "me" + label_member_new: "New member" + label_member_all_admin: "(All roles due to admin status)" + label_member_plural: "Members" + lable_membership_added: 'Member added' + lable_membership_updated: 'Member updated' + label_menu_badge: + pre_alpha: 'pre-alpha' + alpha: 'alpha' + beta: 'beta' + label_menu_item_name: "Name of menu item" + label_message: "Message" + label_message_last: "Last message" + label_message_new: "New message" + label_message_plural: "Messages" + label_message_posted: "Message added" + label_min_max_length: "Min - Max length" + label_minute_plural: "minutes" + label_missing_api_access_key: "Missing API access key" + label_missing_feeds_access_key: "Missing RSS access key" + label_modification: "%{count} change" + label_modified: "modified" + label_module_plural: "Modules" + label_modules: "Modules" + label_months_from: "months from" + label_more: "More" + label_more_than_ago: "more than days ago" + label_move_work_package: "Move work package" + label_my_account: "My account" + label_my_account_data: "My account data" + label_my_projects: "My projects" + label_my_queries: "My custom queries" + label_name: "Name" + label_never: "Never" + label_new: "New" + label_new_features: "New features" + label_new_statuses_allowed: "New statuses allowed" + label_news_singular: "News" + label_news_added: "News added" + label_news_comment_added: "Comment added to a news" + label_news_latest: "Latest news" + label_news_new: "Add news" + label_news_edit: "Edit news" + label_news_plural: "News" + label_news_view_all: "View all news" + label_next: "Next" + label_next_week: "Next week" + label_no_change_option: "(No change)" + label_no_data: "No data to display" + label_no_parent_page: "No parent page" + label_nothing_display: "Nothing to display" + label_nobody: "nobody" + label_not_found: 'not found' + label_none: "none" + label_none_parentheses: "(none)" + label_not_contains: "doesn't contain" + label_not_equals: "is not" + label_on: "on" + label_open_menu: "Open menu" + label_open_work_packages: "open" + label_open_work_packages_plural: "open" + label_openproject_website: "OpenProject website" + label_optional_description: "Description" + label_options: "Options" + label_other: "Other" + label_overall_activity: "Overall activity" + label_overview: "Overview" + label_page_title: "Page title" + label_part_of: "part of" + label_password_lost: "Forgot your password?" + label_password_rule_lowercase: "Lowercase" + label_password_rule_numeric: "Numeric Characters" + label_password_rule_special: "Special Characters" + label_password_rule_uppercase: "Uppercase" + label_path_encoding: "Path encoding" + label_pdf_with_descriptions: "PDF with Descriptions" + label_per_page: "Per page" + label_people: "People" + label_permissions: "Permissions" + label_permissions_report: "Permissions report" + label_personalize_page: "Personalize this page" + label_placeholder_user: "Placeholder user" + label_placeholder_user_new: "New placeholder user" + label_placeholder_user_plural: "Placeholder users" + label_planning: "Planning" + label_please_login: "Please log in" + label_plugins: "Plugins" + label_modules_and_plugins: "Modules and Plugins" + label_precedes: "precedes" + label_preferences: "Preferences" + label_preview: "Preview" + label_previous: "Previous" + label_previous_week: "Previous week" + label_principal_invite_via_email: " or invite new users via email" + label_principal_search: "Add existing users or groups" + label_privacy_policy: "Data privacy and security policy" + label_product_version: "Product version" + label_professional_support: "Professional support" + label_profile: "Profile" + label_project_count: "Total number of projects" + label_project_copy_notifications: "Send email notifications during the project copy" + label_project_latest: "Latest projects" + label_project_default_type: "Allow empty type" + label_project_hierarchy: "Project hierarchy" + label_project_new: "New project" + label_project_plural: "Projects" + label_project_settings: "Project settings" + label_project_storage_plural: "Storages" + label_projects_storage_information: "%{count} projects using %{storage} disk storage" + label_project_view_all: "View all projects" + label_project_show_details: "Show project details" + label_project_hide_details: "Hide project details" + label_public_projects: "Public projects" + label_query_new: "New query" + label_query_plural: "Custom queries" + label_read: "Read..." + label_register: "Create a new account" + label_register_with_developer: "Register as developer" + label_registered_on: "Registered on" + label_registration_activation_by_email: "account activation by email" + label_registration_automatic_activation: "automatic account activation" + label_registration_manual_activation: "manual account activation" + label_related_work_packages: "Related work packages" + label_relates: "related to" + label_relates_to: "related to" + label_relation_delete: "Delete relation" + label_relation_new: "New relation" + label_release_notes: "Release notes" + label_remove_columns: "Remove selected columns" + label_renamed: "renamed" + label_reply_plural: "Replies" + label_report: "Report" + label_report_bug: "Report a bug" + label_report_plural: "Reports" + label_reported_work_packages: "Reported work packages" + label_reporting: "Reporting" + label_reporting_plural: "Reportings" + label_repository: "Repository" + label_repository_root: "Repository root" + label_repository_plural: "Repositories" + label_required: 'required' + label_requires: 'requires' + label_result_plural: "Results" + label_reverse_chronological_order: "Newest first" + label_revision: "Revision" + label_revision_id: "Revision %{value}" + label_revision_plural: "Revisions" + label_roadmap: "Roadmap" + label_roadmap_edit: "Edit roadmap %{name}" + label_roadmap_due_in: "Due in %{value}" + label_roadmap_no_work_packages: "No work packages for this version" + label_roadmap_overdue: "%{value} late" + label_role_and_permissions: "Roles and permissions" + label_role_new: "New role" + label_role_plural: "Roles" + label_role_search: "Assign role to new members" + label_scm: "SCM" + label_search: "Search" + label_send_information: "Send account information to the user" + label_send_test_email: "Send a test email" + label_setting_plural: "Settings" + label_system_settings: "System settings" + label_show_completed_versions: "Show completed versions" + label_sort: "Sort" + label_sort_by: "Sort by %{value}" + label_sorted_by: "sorted by %{value}" + label_sort_higher: "Move up" + label_sort_highest: "Move to top" + label_sort_lower: "Move down" + label_sort_lowest: "Move to bottom" + label_spent_time: "Spent time" + label_start_to_end: "start to end" + label_start_to_start: "start to start" + label_statistics: "Statistics" + label_status: "Status" + label_stay_logged_in: "Stay logged in" + label_storage_free_space: "Remaining disk space" + label_storage_used_space: "Used disk space" + label_storage_group: "Storage filesystem %{identifier}" + label_storage_for: "Encompasses storage for" + label_string: "Text" + label_subproject: "Subproject" + label_subproject_new: "New subproject" + label_subproject_plural: "Subprojects" + label_subtask_plural: "Subtasks" + label_summary: "Summary" + label_system: "System" + label_system_storage: "Storage information" + label_table_of_contents: "Table of contents" + label_tag: "Tag" + label_text: "Long text" + label_this_month: "this month" + label_this_week: "this week" + label_this_year: "this year" + label_time_entry_plural: "Spent time" + label_projects_menu: "Projects" + label_today: "today" + label_top_menu: "Top Menu" + label_topic_plural: "Topics" + label_total: "Total" + label_type_new: "New type" + label_type_plural: "Types" + label_ui: "User Interface" + label_update_work_package_done_ratios: "Update work package done ratios" + label_updated_time: "Updated %{value} ago" + label_updated_time_at: "%{author} %{age}" + label_updated_time_by: "Updated by %{author} %{age} ago" + label_upgrade_guides: 'Upgrade guides' + label_used_by: "Used by" + label_used_by_types: "Used by types" + label_used_in_projects: "Used in projects" + label_user: "User" + label_user_and_permission: "Users and permissions" + label_user_named: "User %{name}" + label_user_activity: "%{value}'s activity" + label_user_anonymous: "Anonymous" + label_user_mail_option_all: "For any event on all my projects" + label_user_mail_option_none: "No events" + label_user_mail_option_only_assigned: "Only for things I am assigned to" + label_user_mail_option_only_my_events: "Only for things I watch or I'm involved in" + label_user_mail_option_only_owner: "Only for things I am the owner of" + label_user_mail_option_selected: "For any event on the selected projects only" + label_user_new: "New user" + label_user_plural: "Users" + label_user_search: "Search for user" + label_user_settings: "User settings" + label_version_new: "New version" + label_version_plural: "Versions" + label_version_sharing_descendants: "With subprojects" + label_version_sharing_hierarchy: "With project hierarchy" + label_version_sharing_none: "Not shared" + label_version_sharing_system: "With all projects" + label_version_sharing_tree: "With project tree" + label_videos: "Videos" + label_view_all_revisions: "View all revisions" + label_view_diff: "View differences" + label_view_revisions: "View revisions" + label_watched_work_packages: "Watched work packages" + label_what_is_this: "What is this?" + label_week: "Week" + label_wiki_content_added: "Wiki page added" + label_wiki_content_updated: "Wiki page updated" + label_wiki_toc: "Table of Contents" + label_wiki_toc_empty: "Table of Contents is empty as no headings are present." + label_wiki_dont_show_menu_item: "Do not show this wikipage in project navigation" + label_wiki_edit: "Wiki edit" + label_wiki_edit_plural: "Wiki edits" + label_wiki_page_attachments: "Wiki page attachments" + label_wiki_page_id: "Wiki page ID" + label_wiki_navigation: "Wiki navigation" + label_wiki_page: "Wiki page" + label_wiki_page_plural: "Wiki pages" + label_wiki_show_index_page_link: "Show submenu item 'Table of Contents'" + label_wiki_show_menu_item: "Show as menu item in project navigation" + label_wiki_show_new_page_link: "Show submenu item 'Create new child page'" + label_wiki_show_submenu_item: "Show as submenu item of " + label_wiki_start: "Start page" + label_work_package: "Work package" + label_work_package_attachments: "Work package attachments" + label_work_package_category_new: "New category" + label_work_package_category_plural: "Work package categories" + label_work_package_hierarchy: "Work package hierarchy" + label_work_package_new: "New work package" + label_work_package_edit: "Edit work package %{name}" + label_work_package_plural: "Work packages" + label_work_package_status: "Work package status" + label_work_package_status_new: "New status" + label_work_package_status_plural: "Work package statuses" + label_work_package_types: "Work package types" + label_work_package_tracking: "Work package tracking" + label_work_package_view_all: "View all work packages" + label_workflow: "Workflow" + label_workflow_plural: "Workflows" + label_workflow_summary: "Summary" + label_working_days: "Working days" + label_x_closed_work_packages_abbr: + one: "1 closed" + other: "%{count} closed" + zero: "0 closed" + label_x_comments: + one: "1 comment" + other: "%{count} comments" + zero: "no comments" + label_x_open_work_packages_abbr: + one: "1 open" + other: "%{count} open" + zero: "0 open" + label_x_projects: + one: "1 project" + other: "%{count} projects" + zero: "no projects" + label_yesterday: "yesterday" + label_role_type: "Type" + label_member_role: "Project Role" + label_global_role: "Global Role" + label_not_changeable: "(not changeable)" + label_global: "Global" + auth_source: + using_abstract_auth_source: "Can't use an abstract authentication source." + ldap_error: "LDAP-Error: %{error_message}" + ldap_auth_failed: "Could not authenticate at the LDAP-Server." + macro_execution_error: "Error executing the macro %{macro_name}" + macro_unavailable: "Macro %{macro_name} cannot be displayed." + macros: + placeholder: '[Placeholder] Macro %{macro_name}' + errors: + missing_or_invalid_parameter: 'Missing or invalid macro parameter.' + legacy_warning: + timeline: 'This legacy timeline macro has been removed and is no longer available. You can replace the functionality with an embedded table macro.' + include_wiki_page: + removed: 'The macro does no longer exist.' + wiki_child_pages: + errors: + page_not_found: "Cannot find the wiki page '%{name}'." + create_work_package_link: + errors: + no_project_context: 'Calling create_work_package_link macro from outside project context.' + invalid_type: "No type found with name '%{type}' in project '%{project}'." + link_name: 'New work package' + link_name_type: 'New %{type_name}' + mail: + actions: 'Actions' + digests: + including_mention_singular: 'including a mention' + including_mention_plural: 'including %{number_mentioned} mentions' + unread_notification_singular: '1 unread notification' + unread_notification_plural: '%{number_unread} unread notifications' + you_have: 'You have' + logo_alt_text: 'Logo' + mention: + subject: "%{user_name} mentioned you in #%{id} - %{subject}" + notification: + center: 'To notification center' + see_in_center: 'See comment in notification center' + settings: 'Change email settings' + salutation: 'Hello %{user}' + work_packages: + created_at: 'Created at %{timestamp} by %{user} ' + login_to_see_all: 'Log in to see all notifications.' + mentioned: 'You have been mentioned in a comment' + mentioned_by: '%{user} mentioned you in a comment' + more_to_see: + one: 'There is 1 more work package with notifications.' + few: 'There are %{count} more work packages with notifications.' + many: 'There are %{count} more work packages with notifications.' + other: 'There are %{count} more work packages with notifications.' + reason: + watched: 'Watched' + assigned: 'Assigned' + responsible: 'Accountable' + mentioned: 'Mentioned' + subscribed: 'all' + prefix: 'Received because of the notification setting: %{reason}' + date_alert_start_date: 'Date alert' + date_alert_due_date: 'Date alert' + see_all: 'See all' + updated_at: 'Updated at %{timestamp} by %{user}' + mail_body_account_activation_request: "A new user (%{value}) has registered. The account is pending your approval:" + mail_body_account_information: "Your account information" + mail_body_account_information_external: "You can use your %{value} account to log in." + mail_body_backup_ready: "Your requested backup is ready. You can download it here:" + mail_body_backup_token_reset_admin_info: The backup token for user '%{user}' has been reset. + mail_body_backup_token_reset_user_info: Your backup token has been reset. + mail_body_backup_token_info: The previous token is no longer valid. + mail_body_backup_waiting_period: The new token will be enabled in %{hours} hours. + mail_body_backup_token_warning: If this wasn't you, login to OpenProject immediately and reset it again. + mail_body_incoming_email_error: The email you sent to OpenProject could not be processed. + mail_body_incoming_email_error_in_reply_to: "At %{received_at} %{from_email} wrote" + mail_body_incoming_email_error_logs: "Logs" + mail_body_lost_password: "To change your password, click on the following link:" + mail_body_register: "Welcome to %{app_title}. Please activate your account by clicking on this link:" + mail_body_register_header_title: "Project member invitation email" + mail_body_register_user: "Dear %{name}, " + mail_body_register_links_html: | + Please feel free to browse our youtube channel (%{youtube_link}) where we provide a webinar (%{webinar_link}) + and “Get started” videos (%{get_started_link}) to make your first steps in OpenProject as easy as possible. +
+ If you have any further questions, consult our documentation (%{documentation_link}) or contact your administrator. + mail_body_register_closing: "Your OpenProject team" + mail_body_register_ending: "Stay connected! Kind regards," + mail_body_reminder: "%{count} work package(s) that are assigned to you are due in the next %{days} days:" + mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_wiki_content_added: "The '%{id}' wiki page has been added by %{author}." + mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}." + mail_subject_account_activation_request: "%{value} account activation request" + mail_subject_backup_ready: "Your backup is ready" + mail_subject_backup_token_reset: "Backup token reset" + mail_subject_incoming_email_error: "An email you sent to OpenProject could not be processed" + mail_subject_lost_password: "Your %{value} password" + mail_subject_register: "Your %{value} account activation" + mail_subject_reminder: "%{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_wiki_content_added: "'%{id}' wiki page has been added" + mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated" + mail_member_added_project: + subject: "%{project} - You have been added as a member" + body: + added_by: + without_message: "%{user} added you as a member to the project '%{project}'." + with_message: "%{user} added you as a member to the project '%{project}' writing:" + roles: "You have the following roles:" + mail_member_updated_project: + subject: "%{project} - Your roles have been updated" + body: + updated_by: + without_message: "%{user} updated the roles you have in the project '%{project}'." + with_message: "%{user} updated the roles you have in the project '%{project}' writing:" + roles: "You now have the following roles:" + mail_member_updated_global: + subject: "Your global permissions have been updated" + body: + updated_by: + without_message: "%{user} updated the roles you have globally." + with_message: "%{user} updated the roles you have globally writing:" + roles: "You now have the following roles:" + mail_user_activation_limit_reached: + subject: User activation limit reached + message: | + A new user (%{email}) tried to create an account on an OpenProject environment that you manage (%{host}). + The user cannot activate their account since the user limit has been reached. + steps: + label: "To allow the user to sign in you can either: " + a: "Upgrade your payment plan ([here](upgrade_url))" #here turned into a link + b: "Lock or delete an existing user ([here](users_url))" #here turned into a link + more_actions: "More functions" + noscript_description: "You need to activate JavaScript in order to use OpenProject!" + noscript_heading: "JavaScript disabled" + noscript_learn_more: "Learn more" + notice_accessibility_mode: The accessibility mode can be enabled in your [account settings](url). + notice_account_activated: "Your account has been activated. You can now log in." + notice_account_already_activated: The account has already been activated. + notice_account_invalid_token: Invalid activation token + notice_account_invalid_credentials: "Invalid user or password" + notice_account_invalid_credentials_or_blocked: "Invalid user or password or the account is blocked due to multiple failed login attempts. If so, it will be unblocked automatically in a short time." + notice_account_lost_email_sent: "An email with instructions to choose a new password has been sent to you." + notice_account_new_password_forced: "A new password is required." + notice_account_password_expired: "Your password expired after %{days} days. Please set a new one." + notice_account_password_updated: "Password was successfully updated." + notice_account_pending: "Your account was created and is now pending administrator approval." + notice_account_register_done: "Account was successfully created. To activate your account, click on the link that was emailed to you." + notice_account_unknown_email: "Unknown user." + notice_account_update_failed: "Account setting could not be saved. Please have a look at your account page." + notice_account_updated: "Account was successfully updated." + notice_account_other_session_expired: "All other sessions tied to your account have been invalidated." + notice_account_wrong_password: "Wrong password" + notice_account_registered_and_logged_in: "Welcome, your account has been activated. You are logged in now." + notice_activation_failed: The account could not be activated. + notice_auth_stage_verification_error: "Could not verify stage '%{stage}'." + notice_auth_stage_wrong_stage: "Expected to finish authentication stage '%{expected}', but '%{actual}' returned." + notice_auth_stage_error: "Authentication stage '%{stage}' failed." + notice_can_t_change_password: "This account uses an external authentication source. Impossible to change the password." + notice_custom_options_deleted: "Option '%{option_value}' and its %{num_deleted} occurrences were deleted." + notice_email_error: "An error occurred while sending mail (%{value})" + notice_email_sent: "An email was sent to %{value}" + notice_failed_to_save_work_packages: "Failed to save %{count} work package(s) on %{total} selected: %{ids}." + notice_failed_to_save_members: "Failed to save member(s): %{errors}." + notice_deletion_scheduled: "The deletion has been scheduled and is performed asynchronously." + notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." + notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." + notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." + notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_locking_conflict: "Information has been updated by at least one other user in the meantime." + notice_locking_conflict_additional_information: "The update(s) came from %{users}." + notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." + notice_member_added: Added %{name} to the project. + notice_members_added: Added %{number} users to the project. + notice_member_removed: "Removed %{user} from project." + notice_member_deleted: "%{user} has been removed from the project and deleted." + notice_no_principals_found: "No results found." + notice_bad_request: "Bad Request." + notice_not_authorized: "You are not authorized to access this page." + notice_not_authorized_archived_project: "The project you're trying to access has been archived." + notice_password_confirmation_failed: "Your password is not correct. Cannot continue." + notice_principals_found_multiple: "There are %{number} results found. \n Tab to focus the first result." + notice_principals_found_single: "There is one result. \n Tab to focus it." + notice_project_not_deleted: "The project wasn't deleted." + notice_successful_connection: "Successful connection." + notice_successful_create: "Successful creation." + notice_successful_delete: "Successful deletion." + notice_successful_update: "Successful update." + notice_successful_update_custom_fields_added_to_project: | + Successful update. The custom fields of the activated types are automatically activated + on the work package form. See more. + notice_successful_update_custom_fields_added_to_type: | + Successful update. The active custom fields are automatically activated for + the associated projects of this type. + notice_to_many_principals_to_display: "There are too many results.\nNarrow down the search by typing in the name of the new member (or group)." + notice_user_missing_authentication_method: User has yet to choose a password or another way to sign in. + notice_user_invitation_resent: An invitation has been sent to %{email}. + present_access_key_value: "Your %{key_name} is: %{value}" + notice_automatic_set_of_standard_type: "Set standard type automatically." + notice_logged_out: "You have been logged out." + notice_wont_delete_auth_source: The authentication mode cannot be deleted as long as there are still users using it. + notice_project_cannot_update_custom_fields: "You cannot update the project's available custom fields. The project is invalid: %{errors}" + notice_attachment_migration_wiki_page: > + This page was generated automatically during the update of OpenProject. It contains all attachments previously associated with the %{container_type} "%{container_name}". + #Default format for numbers + number: + format: + delimiter: "" + precision: 3 + separator: "." + human: + format: + delimiter: "" + precision: 1 + storage_units: + format: "%n %u" + units: + byte: + one: "Byte" + few: "Bytes" + many: "Bytes" + other: "Bytes" + gb: "GB" + kb: "kB" + mb: "MB" + tb: "TB" + onboarding: + heading_getting_started: "Get an overview" + text_getting_started_description: "Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu." + welcome: "Welcome to %{app_title}" + select_language: "Please select your language" + permission_add_work_package_notes: "Add notes" + permission_add_work_packages: "Add work packages" + permission_add_messages: "Post messages" + permission_add_project: "Create project" + permission_manage_user: "Create and edit users" + permission_manage_placeholder_user: "Create, edit, and delete placeholder users" + permission_add_subprojects: "Create subprojects" + permission_add_work_package_watchers: "Add watchers" + permission_assign_versions: "Assign versions" + permission_browse_repository: "Read-only access to repository (browse and checkout)" + permission_change_wiki_parent_page: "Change parent wiki page" + permission_comment_news: "Comment news" + permission_commit_access: "Read/write access to repository (commit)" + permission_copy_projects: "Copy projects" + permission_create_backup: "Create backup" + permission_delete_work_package_watchers: "Delete watchers" + permission_delete_work_packages: "Delete work packages" + permission_delete_messages: "Delete messages" + permission_delete_own_messages: "Delete own messages" + permission_delete_reportings: "Delete reportings" + permission_delete_timelines: "Delete timelines" + permission_delete_wiki_pages: "Delete wiki pages" + permission_delete_wiki_pages_attachments: "Delete attachments" + permission_edit_work_package_notes: "Edit notes" + permission_edit_work_packages: "Edit work packages" + permission_edit_messages: "Edit messages" + permission_edit_own_work_package_notes: "Edit own notes" + permission_edit_own_messages: "Edit own messages" + permission_edit_own_time_entries: "Edit own time logs" + permission_edit_project: "Edit project" + permission_edit_reportings: "Edit reportings" + permission_edit_time_entries: "Edit time logs for other users" + permission_edit_timelines: "Edit timelines" + permission_edit_wiki_pages: "Edit wiki pages" + permission_export_work_packages: "Export work packages" + permission_export_wiki_pages: "Export wiki pages" + permission_list_attachments: "List attachments" + permission_log_own_time: "Log own time" + permission_log_time: "Log time for other users" + permission_manage_forums: "Manage forums" + permission_manage_categories: "Manage work package categories" + permission_manage_work_package_relations: "Manage work package relations" + permission_manage_members: "Manage members" + permission_manage_news: "Manage news" + permission_manage_project_activities: "Manage project activities" + permission_manage_public_queries: "Manage public views" + permission_manage_repository: "Manage repository" + permission_manage_subtasks: "Manage work package hierarchies" + permission_manage_versions: "Manage versions" + permission_manage_wiki: "Manage wiki" + permission_manage_wiki_menu: "Manage wiki menu" + permission_move_work_packages: "Move work packages" + permission_protect_wiki_pages: "Protect wiki pages" + permission_rename_wiki_pages: "Rename wiki pages" + permission_save_queries: "Save views" + permission_select_custom_fields: "Select custom fields" + permission_select_project_modules: "Select project modules" + permission_manage_types: "Select types" + permission_view_changesets: "View repository revisions in OpenProject" + permission_view_commit_author_statistics: "View commit author statistics" + permission_view_work_package_watchers: "View watchers list" + permission_view_work_packages: "View work packages" + permission_view_messages: "View messages" + permission_view_members: "View members" + permission_view_reportings: "View reportings" + permission_view_time_entries: "View spent time" + permission_view_timelines: "View timelines" + permission_view_wiki_edits: "View wiki history" + permission_view_wiki_pages: "View wiki" + permission_work_package_assigned: "Become assignee/responsible" + permission_work_package_assigned_explanation: "Work packages can be assigned to users and groups in possession of this role in the respective project" + placeholders: + default: "-" + project: + destroy: + confirmation: "If you continue, the project %{identifier} and all related data will be permanently destroyed." + info: "Deleting the project is an irreversible action." + project_verification: "Enter the project's name %{name} to verify the deletion." + subprojects_confirmation: "Its subproject(s): %{value} will also be deleted." + title: "Delete the project %{name}" + identifier: + warning_one: Members of the project will have to relocate the project's repositories. + warning_two: Existing links to the project will no longer work. + title: Change the project's identifier + template: + copying: > + Your project is being created from the selected template project. You will be notified by mail as soon as the project is available. + use_template: 'Use template' + make_template: 'Set as template' + remove_from_templates: 'Remove from templates' + archive: + are_you_sure: "Are you sure you want to archive the project '%{name}'?" + archived: "Archived" + project_module_activity: "Activity" + project_module_forums: "Forums" + project_module_work_package_tracking: "Work package tracking" + project_module_news: "News" + project_module_repository: "Repository" + project_module_wiki: "Wiki" + query: + attribute_and_direction: "%{attribute} (%{direction})" + #possible query parameters (e.g. issue queries), + #which are not attributes of an AR-Model. + query_fields: + active_or_archived: "Active or archived" + assigned_to_role: "Assignee's role" + member_of_group: "Assignee's group" + assignee_or_group: "Assignee or belonging group" + subproject_id: "Including subproject" + only_subproject_id: "Only subproject" + name_or_identifier: "Name or identifier" + repositories: + at_identifier: 'at %{identifier}' + atom_revision_feed: 'Atom revision feed' + autofetch_information: "Check this if you want repositories to be updated automatically when accessing the repository module page.\nThis encompasses the retrieval of commits from the repository and refreshing the required disk storage." + checkout: + access: + readwrite: 'Read + Write' + read: 'Read-only' + none: 'No checkout access, you may only view the repository through this application.' + access_permission: 'Your permissions on this repository' + url: "Checkout URL" + base_url_text: "The base URL to use for generating checkout URLs (e.g., https://myserver.example.org/repos/).\nNote: The base URL is only used for rewriting checkout URLs in managed repositories. Other repositories are not altered." + default_instructions: + git: |- + The data contained in this repository can be downloaded to your computer with Git. + Please consult the documentation of Git if you need more information on the checkout procedure and available clients. + subversion: |- + The data contained in this repository can be downloaded to your computer with Subversion. + Please consult the documentation of Subversion if you need more information on the checkout procedure and available clients. + enable_instructions_text: "Displays checkout instructions defined below on all repository-related pages." + instructions: "Checkout instructions" + show_instructions: "Display checkout instructions" + text_instructions: "This text is displayed alongside the checkout URL for guidance on how to check out the repository." + not_available: "Checkout instructions are not defined for this repository. Ask your administrator to enable them for this repository in the system settings." + create_managed_delay: "Please note: The repository is managed, it is created asynchronously on the disk and will be available shortly." + create_successful: "The repository has been registered." + delete_sucessful: "The repository has been deleted." + destroy: + confirmation: "If you continue, this will permanently delete the managed repository." + info: "Deleting the repository is an irreversible action." + info_not_managed: "Note: This will NOT delete the contents of this repository, as it is not managed by OpenProject." + managed_path_note: "The following directory will be erased: %{path}" + repository_verification: "Enter the project's identifier %{identifier} to verify the deletion of its repository." + subtitle: "Do you really want to delete the %{repository_type} of the project %{project_name}?" + subtitle_not_managed: "Do you really want to remove the linked %{repository_type} %{url} from the project %{project_name}?" + title: "Delete the %{repository_type}" + title_not_managed: "Remove the linked %{repository_type}?" + errors: + build_failed: "Unable to create the repository with the selected configuration. %{reason}" + managed_delete: "Unable to delete the managed repository." + managed_delete_local: "Unable to delete the local repository on filesystem at '%{path}': %{error_message}" + empty_repository: "The repository exists, but is empty. It does not contain any revisions yet." + exists_on_filesystem: "The repository directory already exists in the filesystem." + filesystem_access_failed: "An error occurred while accessing the repository in the filesystem: %{message}" + not_manageable: "This repository vendor cannot be managed by OpenProject." + path_permission_failed: "An error occurred trying to create the following path: %{path}. Please ensure that OpenProject may write to that folder." + unauthorized: "You're not authorized to access the repository or the credentials are invalid." + unavailable: "The repository is unavailable." + exception_title: "Cannot access the repository: %{message}" + disabled_or_unknown_type: "The selected type %{type} is disabled or no longer available for the SCM vendor %{vendor}." + disabled_or_unknown_vendor: "The SCM vendor %{vendor} is disabled or no longer available." + remote_call_failed: "Calling the managed remote failed with message '%{message}' (Code: %{code})" + remote_invalid_response: "Received an invalid response from the managed remote." + remote_save_failed: "Could not save the repository with the parameters retrieved from the remote." + git: + instructions: + managed_url: "This is the URL of the managed (local) Git repository." + path: >- + Specify the path to your local Git repository ( e.g., %{example_path} ). You can also use remote repositories which are cloned to a local copy by using a value starting with http(s):// or file://. + path_encoding: "Override Git path encoding (Default: UTF-8)" + local_title: "Link existing local Git repository" + local_url: "Local URL" + local_introduction: "If you have an existing local Git repository, you can link it with OpenProject to access it from within the application." + managed_introduction: "Let OpenProject create and integrate a local Git repository automatically." + managed_title: "Git repository integrated into OpenProject" + managed_url: "Managed URL" + path: "Path to Git repository" + path_encoding: "Path encoding" + go_to_revision: "Go to revision" + managed_remote: "Managed repositories for this vendor are handled remotely." + managed_remote_note: "Information on the URL and path of this repository is not available prior to its creation." + managed_url: "Managed URL" + settings: + automatic_managed_repos_disabled: "Disable automatic creation" + automatic_managed_repos: "Automatic creation of managed repositories" + automatic_managed_repos_text: "By setting a vendor here, newly created projects will automatically receive a managed repository of this vendor." + scm_vendor: "Source control management system" + scm_type: "Repository type" + scm_types: + local: "Link existing local repository" + existing: "Link existing repository" + managed: "Create new repository in OpenProject" + storage: + not_available: "Disk storage consumption is not available for this repository." + update_timeout: "Keep the last required disk space information for a repository for N minutes.\nAs counting the required disk space of a repository may be costly, increase this value to reduce performance impact." + oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the Nextcloud OpenProject Integration settings:" + oauth_application_details_link_text: "Go to settings page" + setup_documentation_details: "If you need help configuring a new file storage please check the documentation: " + setup_documentation_details_link_text: "File Storages setup" + show_warning_details: "To use this file storage remember to activate the module and the specific storage in the project settings of each desired project." + subversion: + existing_title: "Existing Subversion repository" + existing_introduction: "If you have an existing Subversion repository, you can link it with OpenProject to access it from within the application." + existing_url: "Existing URL" + instructions: + managed_url: "This is the URL of the managed (local) Subversion repository." + url: "Enter the repository URL. This may either target a local repository (starting with %{local_proto} ), or a remote repository.\nThe following URL schemes are supported:" + managed_title: "Subversion repository integrated into OpenProject" + managed_introduction: "Let OpenProject create and integrate a local Subversion repository automatically." + managed_url: "Managed URL" + password: "Repository Password" + username: "Repository username" + truncated: "Sorry, we had to truncate this directory to %{limit} files. %{truncated} entries were omitted from the list." + named_repository: "%{vendor_name} repository" + update_settings_successful: "The settings have been successfully saved." + url: "URL to repository" + warnings: + cannot_annotate: "This file cannot be annotated." + scheduling: + activated: 'activated' + deactivated: 'deactivated' + search_input_placeholder: "Search ..." + setting_apiv3_cors_enabled: "Enable CORS" + setting_apiv3_cors_origins: "API V3 Cross-Origin Resource Sharing (CORS) allowed origins" + setting_apiv3_cors_origins_text_html: > + If CORS is enabled, these are the origins that are allowed to access OpenProject API.
Please check the Documentation on the Origin header on how to specify the expected values. + setting_apiv3_max_page_size: "Maximum API page size" + setting_apiv3_max_page_instructions_html: > + Set the maximum page size the API will respond with. It will not be possible to perform API requests that return more values on a single page.
Warning: Please only change this value if you are sure why you need it. Setting to a high value will result in significant performance impacts, while a value lower than the per page options will cause errors in paginated views. + setting_apiv3_docs: "Documentation" + setting_apiv3_docs_enabled: "Enable docs page" + setting_apiv3_docs_enabled_instructions_html: > + If the docs page is enabled you can get an interactive view of the APIv3 documentation under %{link}. + setting_attachment_whitelist: "Attachment upload whitelist" + setting_email_delivery_method: "Email delivery method" + setting_sendmail_location: "Location of the sendmail executable" + setting_smtp_enable_starttls_auto: "Automatically use STARTTLS if available" + setting_smtp_ssl: "Use SSL connection" + setting_smtp_address: "SMTP server" + setting_smtp_port: "SMTP port" + setting_smtp_authentication: "SMTP authentication" + setting_smtp_user_name: "SMTP username" + setting_smtp_password: "SMTP password" + setting_smtp_domain: "SMTP HELO domain" + setting_activity_days_default: "Days displayed on project activity" + setting_app_subtitle: "Application subtitle" + setting_app_title: "Application title" + setting_attachment_max_size: "Attachment max. size" + setting_autofetch_changesets: "Autofetch repository changes" + setting_autologin: "Autologin" + setting_available_languages: "Available languages" + setting_bcc_recipients: "Blind carbon copy recipients (bcc)" + setting_brute_force_block_after_failed_logins: "Block user after this number of failed login attempts" + setting_brute_force_block_minutes: "Time the user is blocked for" + setting_cache_formatted_text: "Cache formatted text" + setting_use_wysiwyg_description: "Select to enable CKEditor5 WYSIWYG editor for all users by default. CKEditor has limited functionality for GFM Markdown." + setting_column_options: "Customize the appearance of the work package lists" + setting_commit_fix_keywords: "Fixing keywords" + setting_commit_logs_encoding: "Commit messages encoding" + setting_commit_logtime_activity_id: "Activity for logged time" + setting_commit_logtime_enabled: "Enable time logging" + setting_commit_ref_keywords: "Referencing keywords" + setting_consent_time: "Consent time" + setting_consent_info: "Consent information text" + setting_consent_required: "Consent required" + setting_consent_decline_mail: "Consent contact mail address" + setting_cross_project_work_package_relations: "Allow cross-project work package relations" + setting_first_week_of_year: "First week in year contains" + setting_date_format: "Date format" + setting_default_language: "Default language" + setting_default_projects_modules: "Default enabled modules for new projects" + setting_default_projects_public: "New projects are public by default" + setting_diff_max_lines_displayed: "Max number of diff lines displayed" + setting_display_subprojects_work_packages: "Display subprojects work packages on main projects by default" + setting_emails_footer: "Emails footer" + setting_emails_header: "Emails header" + setting_email_login: "Use email as login" + setting_enabled_scm: "Enabled SCM" + setting_enabled_projects_columns: "Visible in project list" + setting_feeds_enabled: "Enable Feeds" + setting_feeds_limit: "Feed content limit" + setting_file_max_size_displayed: "Max size of text files displayed inline" + setting_host_name: "Host name" + setting_invitation_expiration_days: "Activation email expires after" + setting_work_package_done_ratio: "Calculate the work package done ratio with" + setting_work_package_done_ratio_field: "Use the work package field" + setting_work_package_done_ratio_status: "Use the work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_list_default_columns: "Display by default" + setting_work_package_properties: "Work package properties" + setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" + setting_work_packages_projects_export_limit: "Work packages / Projects export limit" + setting_journal_aggregation_time_minutes: "User actions aggregated within" + setting_log_requesting_user: "Log user login, name, and mail address for all requests" + setting_login_required: "Authentication required" + setting_mail_from: "Emission email address" + setting_mail_handler_api_key: "API key" + setting_mail_handler_body_delimiters: "Truncate emails after one of these lines" + setting_mail_handler_body_delimiter_regex: "Truncate emails matching this regex" + setting_mail_handler_ignore_filenames: "Ignored mail attachments" + setting_new_project_user_role_id: "Role given to a non-admin user who creates a project" + setting_password_active_rules: "Active character classes" + setting_password_count_former_banned: "Number of most recently used passwords banned for reuse" + setting_password_days_valid: "Number of days, after which to enforce a password change" + setting_password_min_length: "Minimum length" + setting_password_min_adhered_rules: "Minimum number of required classes" + setting_per_page_options: "Objects per page options" + setting_plain_text_mail: "Plain text mail (no HTML)" + setting_protocol: "Protocol" + setting_project_gantt_query: "Project portfolio Gantt view" + setting_project_gantt_query_text: "You can modify the query that is used to display Gantt chart from the project overview page." + setting_security_badge_displayed: "Display security badge" + setting_registration_footer: "Registration footer" + setting_repositories_automatic_managed_vendor: "Automatic repository vendor type" + setting_repositories_encodings: "Repositories encodings" + setting_repository_authentication_caching_enabled: "Enable caching for authentication request of version control software" + setting_repository_storage_cache_minutes: "Repository disk size cache" + setting_repository_checkout_display: "Show checkout instructions" + setting_repository_checkout_base_url: "Checkout base URL" + setting_repository_checkout_text: "Checkout instruction text" + setting_repository_log_display_limit: "Maximum number of revisions displayed on file log" + setting_repository_truncate_at: "Maximum number of files displayed in the repository browser" + setting_rest_api_enabled: "Enable REST web service" + setting_self_registration: "Self-registration" + setting_session_ttl: "Session expiry time after inactivity" + setting_session_ttl_hint: "Value below 5 works like disabled" + setting_session_ttl_enabled: "Session expires" + setting_start_of_week: "Week starts on" + setting_sys_api_enabled: "Enable repository management web service" + setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." + setting_time_format: "Time format" + setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" + setting_user_format: "Users display format" + setting_user_default_timezone: "Users default time zone" + setting_users_deletable_by_admins: "User accounts deletable by admins" + setting_users_deletable_by_self: "Users allowed to delete their accounts" + setting_welcome_text: "Welcome block text" + setting_welcome_title: "Welcome block title" + setting_welcome_on_homescreen: "Display welcome block on homescreen" + setting_work_package_list_default_highlighting_mode: "Default highlighting mode" + setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" + settings: + general: "General" + other: "Other" + passwords: "Passwords" + session: "Session" + brute_force_prevention: "Automated user blocking" + attachments: + whitelist_text_html: > + Define a list of valid file extensions and/or mime types for uploaded files.
Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + display: + first_date_of_week_and_year_set: > + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + user: + default_preferences: "Default preferences" + deletion: "Deletion" + highlighting: + mode_long: + inline: "Highlight attribute(s) inline" + none: "No highlighting" + status: "Entire row by Status" + type: "Entire row by Type" + priority: "Entire row by Priority" + text_formatting: + markdown: 'Markdown' + plain: 'Plain text' + status_active: "active" + status_archived: "archived" + status_invited: invited + status_locked: locked + status_registered: registered + #Used in array.to_sentence. + support: + array: + sentence_connector: "and" + skip_last_comma: "false" + text_accessibility_hint: "The accessibility mode is designed for users who are blind, motorically handicaped or have a bad eyesight. For the latter focused elements are specially highlighted. Please notice, that the Backlogs module is not available in this mode." + text_access_token_hint: "Access tokens allow you to grant external applications access to resources in OpenProject." + text_analyze: "Further analyze: %{subject}" + text_are_you_sure: "Are you sure?" + text_are_you_sure_continue: "Are you sure you want to continue?" + text_are_you_sure_with_children: "Delete work package and all child work packages?" + text_assign_to_project: "Assign to the project" + text_form_configuration: > + You can customize which fields will be displayed in work package forms. You can freely group the fields to reflect the needs for your domain. + text_form_configuration_required_attribute: "Attribute is marked required and thus always shown" + text_caracters_maximum: "%{count} characters maximum." + text_caracters_minimum: "Must be at least %{count} characters long." + text_comma_separated: "Multiple values allowed (comma separated)." + text_comment_wiki_page: "Comment to wiki page: %{page}" + text_custom_field_possible_values_info: "One line for each value" + text_custom_field_hint_activate_per_project: > + When using custom fields: Keep in mind that custom fields need to be activated per project, too. + text_custom_field_hint_activate_per_project_and_type: > + Custom fields need to be activated per work package type and per project. + text_wp_custom_field_html: > + The Enterprise edition will add these additional add-ons for work packages' custom fields:
  • Allow multi-select for custom fields of type List or User
+ text_wp_status_read_only_html: > + The Enterprise edition will add these additional add-ons for work packages' statuses fields:
  • Allow to mark work packages to read-only for specific statuses
+ text_project_custom_field_html: > + The Enterprise edition will add these additional add-ons for projects' custom fields:
  • Add custom fields for projects to your Project list to create a project portfolio view
+ text_custom_logo_instructions: > + A white logo on transparent background is recommended. For best results on both, conventional and retina displays, make sure your image's dimensions are 460px by 60px. + text_custom_favicon_instructions: > + This is the tiny icon that appears in your browser window/tab next to the page's title. It's needs to be a squared 32 by 32 pixels sized PNG image file with a transparent background. + text_custom_touch_icon_instructions: > + This is the icon that appears in your mobile or tablet when you place a bookmark on your homescreen. It's needs to be a squared 180 by 180 pixels sized PNG image file. Please make sure the image's background is not transparent otherwise it will look bad on iOS. + text_database_allows_tsv: "Database allows TSVector (optional)" + text_default_administrator_account_changed: "Default administrator account changed" + text_default_encoding: "Default: UTF-8" + text_destroy: "Delete" + text_destroy_with_associated: "There are additional objects assossociated with the work package(s) that are to be deleted. Those objects are of the following types:" + text_destroy_what_to_do: "What do you want to do?" + text_diff_truncated: "... This diff was truncated because it exceeds the maximum size that can be displayed." + text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server to enable them." + text_enumeration_category_reassign_to: "Reassign them to this value:" + text_enumeration_destroy_question: "%{count} objects are assigned to this value." + text_file_repository_writable: "Attachments directory writable" + text_git_repo_example: "a bare and local repository (e.g. /gitrepo, c:\\gitrepo)" + text_hint_date_format: "Enter a date in the form of YYYY-MM-DD. Other formats may be changed to an unwanted date." + text_hint_disable_with_0: "Note: Disable with 0" + text_hours_between: "Between %{min} and %{max} hours." + text_work_package_added: "Work package %{id} has been reported by %{author}." + text_work_package_category_destroy_assignments: "Remove category assignments" + text_work_package_category_destroy_question: "Some work packages (%{count}) are assigned to this category. What do you want to do?" + text_work_package_category_reassign_to: "Reassign work packages to this category" + text_work_package_updated: "Work package %{id} has been updated by %{author}." + text_work_package_watcher_added: "You have been added as a watcher to Work package %{id} by %{watcher_changer}." + text_work_package_watcher_removed: "You have been removed from watchers of Work package %{id} by %{watcher_changer}." + text_work_packages_destroy_confirmation: "Are you sure you want to delete the selected work package(s)?" + text_work_packages_ref_in_commit_messages: "Referencing and fixing work packages in commit messages" + text_journal_added: "%{label} %{value} added" + text_journal_changed_html: "%{label} changed from %{old} %{linebreak}to %{new}" + text_journal_changed_plain: "%{label} changed from %{old} %{linebreak}to %{new}" + text_journal_changed_no_detail: "%{label} updated" + text_journal_changed_with_diff: "%{label} changed (%{link})" + text_journal_deleted: "%{label} deleted (%{old})" + text_journal_deleted_with_diff: "%{label} deleted (%{link})" + text_journal_set_to: "%{label} set to %{value}" + text_journal_set_with_diff: "%{label} set (%{link})" + text_journal_label_value: "%{label} %{value}" + text_latest_note: "The latest comment is: %{note}" + text_length_between: "Length between %{min} and %{max} characters." + text_line_separated: "Multiple values allowed (one line for each value)." + text_load_default_configuration: "Load the default configuration" + text_min_max_length_info: "0 means no restriction" + text_no_roles_defined: There are no roles defined. + text_no_access_tokens_configurable: "There are no access tokens which can be configured." + text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded." + text_no_notes: "There are no comments available for this work package." + text_notice_too_many_values_are_inperformant: "Note: Displaying more than 100 items per page can increase the page load time." + text_notice_security_badge_displayed_html: > + Note: if enabled, this will display a badge with your installation status in the %{information_panel_label} administration panel, and on the home page. It is displayed to administrators only.
The badge will check your current OpenProject version against the official OpenProject release database to alert you of any updates or known vulnerabilities. For more information on what the check provides, what data is needed to provide available updates, and how to disable this check, please visit the configuration documentation. + text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?" + text_plugin_assets_writable: "Plugin assets directory writable" + text_powered_by: "Powered by %{link}" + text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter." + text_reassign: "Reassign to work package:" + text_regexp_info: "eg. ^[A-Z0-9]+$" + text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+' + text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped." + text_status_changed_by_changeset: "Applied in changeset %{value}." + text_table_difference_description: "In this table the single %{entries} are shown. You can view the difference between any two entries by first selecting the according checkboxes in the table. When clicking on the button below the table the differences are shown." + text_time_logged_by_changeset: "Applied in changeset %{value}." + text_tip_work_package_begin_day: "work package beginning this day" + text_tip_work_package_begin_end_day: "work package beginning and ending this day" + text_tip_work_package_end_day: "work package ending this day" + text_type_no_workflow: "No workflow defined for this type" + text_unallowed_characters: "Unallowed characters" + text_user_invited: The user has been invited and is pending registration. + text_user_wrote: "%{value} wrote:" + text_warn_on_leaving_unsaved: "The work package contains unsaved text that will be lost if you leave this page." + text_what_did_you_change_click_to_add_comment: "What did you change? Click to add comment" + text_wiki_destroy_confirmation: "Are you sure you want to delete this wiki and all its content?" + text_wiki_page_destroy_children: "Delete child pages and all their descendants" + text_wiki_page_destroy_question: "This page has %{descendants} child page(s) and descendant(s). What do you want to do?" + text_wiki_page_nullify_children: "Keep child pages as root pages" + text_wiki_page_reassign_children: "Reassign child pages to this parent page" + text_workflow_edit: "Select a role and a type to edit the workflow" + text_zoom_in: "Zoom in" + text_zoom_out: "Zoom out" + text_setup_mail_configuration: "Configure your email provider" + time: + am: "am" + formats: + default: "%m/%d/%Y %I:%M %p" + long: "%B %d, %Y %H:%M" + short: "%d %b %H:%M" + time: "%I:%M %p" + pm: "pm" + timeframe: + show: "Show timeframe" + end: "to" + start: "from" + timelines: + admin_menu: + color: "Color" + colors: "Colors" + associations: "Dependencies" + button_delete_all: "Delete all" + change: "Change in planning" + children: "Child elements" + color_could_not_be_saved: "Color could not be saved" + current_planning: "Current planning" + dates: "Dates" + dates_are_calculated_based_on_sub_elements: "Dates are calculated based on sub elements." + delete_all: "Delete all" + delete_thing: "Delete" + duration: "Duration" + duration_days: + one: "1 day" + few: "%{count} days" + many: "%{count} days" + other: "%{count} days" + edit_color: "Edit color" + edit_thing: "Edit" + edit_timeline: "Edit timeline report %{timeline}" + delete_timeline: "Delete timeline report %{timeline}" + empty: "(empty)" + enable_type_in_project: 'Enable type "%{type}"' + end: "End" + errors: + not_implemented: "The timeline could not be rendered because it uses a feature that is not yet implemented." + report_comparison: "The timeline could not render the configured comparisons. Please check the appropriate section in the configuration, resetting it can help solve this problem." + report_epicfail: "The timeline could not be loaded due to an unexpected error." + report_timeout: "The timeline could not be loaded in a reasonable amount of time." + filter: + errors: + timeframe_start: "The timeframe start " + timeframe_end: "The timeframe end " + compare_to_relative: "The value of the relative comparison " + compare_to_absolute: "The value of the absolute comparison " + planning_element_time_relative_one: "The start for work packages in a certain timeframe " + planning_element_time_relative_two: "The end for work packages in a certain timeframe " + planning_element_time_absolute_one: "The start for work packages in a certain timeframe " + planning_element_time_absolute_two: "The end for work packages in a certain timeframe " + sort: + sortation: "Sort by" + alphabet: "alphabet" + explicit_order: "explicit order" + project_sortation: "Sort projects by" + date: "date" + default: "default" + column: + assigned_to: "Assignee" + type: "Type" + due_date: "End date" + name: "Name" + status: "Status" + start_date: "Start date" + columns: "Columns" + comparisons: "Comparisons" + comparison: + absolute: "Absolute" + none: "None" + relative: "Relative" + compare_relative_prefix: "Compare current planning to" + compare_relative_suffix: "ago" + compare_absolute: "Compare current planning to %{date}" + time_relative: + days: "days" + weeks: "weeks" + months: "months" + exclude_own_work_packages: "Hide work packages from this project" + exclude_reporters: "Hide other projects" + exclude_empty: "Hide empty projects" + grouping: "Grouping" + grouping_hide_group: "Hide group \"%{group}\"" + grouping_one: "First grouping criterion" + grouping_one_phrase: "Is a subproject of" + grouping_other: "Other" + hide_chart: "Hide chart" + noneElement: "(none)" + noneSelection: "(none)" + outline: "Initial outline expansion" + parent: "Show subprojects of" + work_package_responsible: "Show work packages with accountable" + work_package_assignee: "Show work packages with assignee" + types: "Show types" + status: "Show status" + project_time_filter: "Projects with a work package of a certain type in a certain timeframe" + project_time_filter_timeframe: "Timeframe" + project_time_filter_historical_from: "from" + project_time_filter_historical_to: "to" + project_time_filter_historical: "%{start_label} %{startdate} %{end_label} %{enddate}" + project_time_filter_relative: "%{start_label} %{startspan}%{startspanunit} ago, %{end_label} %{endspan}%{endspanunit} from now" + project_filters: "Filter projects" + project_responsible: "Show projects with accountable" + project_status: "Show project status" + timeframe: "Show timeframe" + timeframe_end: "to" + timeframe_start: "from" + timeline: "General Settings" + zoom: "Zoom factor" + history: "History" + new_color: "New color" + new_association: "New dependency" + new_work_package: "New work package" + new_reporting: "New reporting" + new_timeline: "New timeline report" + no_projects_for_reporting_available: "There are no projects to which a reporting association can be created." + no_right_to_view_timeline: "You do not have the necessary permission to view the linked timeline." + no_timeline_for_id: "There is no timeline with ID %{id}." + notice_successful_deleted_all_elements: "Successfully deleted all elements" + outline: "Reset Outline" + outlines: + aggregation: "Show aggregations only" + level1: "Expand level 1" + level2: "Expand level 2" + level3: "Expand level 3" + level4: "Expand level 4" + level5: "Expand level 5" + all: "Show all" + reporting_for_project: + show: "Status reported to project: %{title}" + edit_delete: "status report for project: %{title}" + history: "History for status for project: %{title}" + reporting: + delete: "Delete status: %{comment}" + edit: "Edit status: %{comment}" + show: "Status: %{comment}" + planning_element_update: "Update: %{title}" + type_could_not_be_saved: "Type could not be saved" + reporting_could_not_be_saved: "Reporting could not be saved" + properties: "Properties" + really_delete_color: > + Are you sure, you want to delete the following color? Types using this color will not be deleted. + really_delete_reporting: > + Are you sure, you want to delete the following reporting? Previous reporting statuses will be deleted, too. + start: "Start" + timeline: "Timeline report" + timelines: "Timeline reports" + settings: "Timelines" + vertical_work_package: "Vertical work packages" + you_are_viewing_the_selected_timeline: "You are viewing the selected timeline report" + zoom: + in: "Zoom in" + out: "Zoom out" + days: "Days" + weeks: "Weeks" + months: "Months" + quarters: "Quarters" + years: "Years" + title_remove_and_delete_user: Remove the invited user from the project and delete him/her. + title_enterprise_upgrade: "Upgrade to unlock more users." + tooltip_user_default_timezone: > + The default time zone for new users. Can be changed in a user's settings. + tooltip_resend_invitation: > + Sends another invitation email with a fresh token in case the old one expired or the user did not get the original email. Can also be used for active users to choose a new authentication method. When used with active users their status will be changed to 'invited'. + tooltip: + setting_email_login: > + If enabled a user will be unable to chose a login during registration. Instead their given email address will serve as the login. An administrator may still change the login separately. + queries: + apply_filter: Apply preconfigured filter + top_menu: + additional_resources: "Additional resources" + getting_started: "Getting started" + help_and_support: "Help and support" + total_progress: "Total progress" + user: + all: "all" + active: "active" + activate: "Activate" + activate_and_reset_failed_logins: "Activate and reset failed logins" + authentication_provider: "Authentication Provider" + authentication_settings_disabled_due_to_external_authentication: > + This user authenticates via an external authentication provider, so there is no password in OpenProject to be changed. + authorization_rejected: "You are not allowed to sign in." + assign_random_password: "Assign random password (sent to user via email)" + blocked: "locked temporarily" + blocked_num_failed_logins: + one: "locked temporarily (one failed login attempt)" + few: "locked temporarily (%{count} failed login attempts)" + many: "locked temporarily (%{count} failed login attempts)" + other: "locked temporarily (%{count} failed login attempts)" + confirm_status_change: "You are about to change the status of '%{name}'. Are you sure you want to continue?" + deleted: "Deleted user" + error_status_change_failed: "Changing the user status failed due to the following errors: %{errors}" + invite: Invite user via email + invited: invited + lock: "Lock permanently" + locked: "locked permanently" + no_login: "This user authenticates through login by password. Since it is disabled, they cannot log in." + password_change_unsupported: Change of password is not supported. + registered: "registered" + reset_failed_logins: "Reset failed logins" + status_user_and_brute_force: "%{user} and %{brute_force}" + status_change: "Status change" + text_change_disabled_for_provider_login: "The name is set by your login provider and can thus not be changed." + unlock: "Unlock" + unlock_and_reset_failed_logins: "Unlock and reset failed logins" + version_status_closed: "closed" + version_status_locked: "locked" + version_status_open: "open" + note: Note + note_password_login_disabled: "Password login has been disabled by %{configuration}." + warning: Warning + warning_attachments_not_saved: "%{count} file(s) could not be saved." + warning_imminent_user_limit: > + You invited more users than are supported by your current plan. Invited users may not be able to join your OpenProject environment. Please upgrade your plan or block existing users in order to allow invited and registered users to join. + warning_registration_token_expired: | + The activation email has expired. We sent you a new one to %{email}. + Please click the link inside of it to activate your account. + warning_user_limit_reached: > + User limit reached. You cannot activate any more users. Please upgrade your plan or block members to allow for additional users. + warning_user_limit_reached_instructions: > + You reached your user limit (%{current}/%{max} active users). Please contact sales@openproject.com to upgrade your Enterprise edition plan and add additional users. + warning_protocol_mismatch_html: > + + warning_bar: + https_mismatch: + title: 'HTTPS mode setup mismatch' + text_html: > + Your application is running with HTTPS mode set to %{set_protocol}, but the request is an %{actual_protocol} request. This will result in errors! You will need to set the following configuration value: %{setting_value}. Please see the installation documentation on how to set this configuration. + hostname_mismatch: + title: 'Hostname setting mismatch' + text_html: > + Your application is running with its host name setting set to %{set_hostname}, but the request is a %{actual_hostname} hostname. This will result in errors! Go to System settings and change the "Host name" setting to correct this. + menu_item: "Menu item" + menu_item_setting: "Visibility" + wiki_menu_item_for: "Menu item for wikipage \"%{title}\"" + wiki_menu_item_setting: "Visibility" + wiki_menu_item_new_main_item_explanation: > + You are deleting the only main wiki menu item. You now have to choose a wiki page for which a new main item will be generated. To delete the wiki the wiki module can be deactivated by project administrators. + wiki_menu_item_delete_not_permitted: The wiki menu item of the only wiki page cannot be deleted. + #TODO: merge with work_packages top level key + work_package: + updated_automatically_by_child_changes: | + _Updated automatically by changing values within child work package %{child}_ + destroy: + info: "Deleting the work package is an irreversible action." + title: "Delete the work package" + working_days: + info: > + Define the working days of the week
Non-working days are skipped when scheduling work packages and are excluded when calculating duration. This can be overridden at a work-package level. + change_button: "Change working days" + warning: > + Changing which days of the week are considered working days can affect the start and finish days of all work packages in all projects in this instance. + journal_note: + changed: _**Working days** changed (%{changes})._ + days: + working: "%{day} is now working" + non_working: "%{day} is now non-working" + nothing_to_preview: "Nothing to preview" + api_v3: + attributes: + lock_version: "Lock Version" + property: 'Property' + errors: + code_400: "Bad request: %{message}" + code_401: "You need to be authenticated to access this resource." + code_401_wrong_credentials: "You did not provide the correct credentials." + code_403: "You are not authorized to access this resource." + code_404: "The requested resource could not be found." + code_409: "Could not update the resource because of conflicting modifications." + code_429: "Too many requests. Please try again later." + code_500: "An internal error has occurred." + not_found: + work_package: "The work package you are looking for cannot be found or has been deleted." + expected: + date: "YYYY-MM-DD (ISO 8601 date only)" + datetime: "YYYY-MM-DDThh:mm:ss[.lll][+hh:mm] (any compatible ISO 8601 datetime)" + duration: "ISO 8601 duration" + invalid_content_type: "Expected CONTENT-TYPE to be '%{content_type}' but got '%{actual}'." + invalid_format: "Invalid format for property '%{property}': Expected format like '%{expected_format}', but got '%{actual}'." + invalid_json: "The request could not be parsed as JSON." + invalid_relation: "The relation is invalid." + invalid_resource: "For property '%{property}' a link like '%{expected}' is expected, but got '%{actual}'." + invalid_signal: + embed: "The requested embedding of %{invalid} is not supported. Supported embeddings are %{supported}." + select: "The requested select of %{invalid} is not supported. Supported selects are %{supported}." + invalid_user_status_transition: "The current user account status does not allow this operation." + missing_content_type: "not specified" + missing_property: "Missing property '%{property}'." + missing_request_body: "There was no request body." + missing_or_malformed_parameter: "The query parameter '%{parameter}' is missing or malformed." + multipart_body_error: "The request body did not contain the expected multipart parts." + multiple_errors: "Multiple field constraints have been violated." + unable_to_create_attachment: "The attachment could not be created" + unable_to_create_attachment_permissions: "The attachment could not be saved due to lacking file system permissions" + render: + context_not_parsable: "The context provided is not a link to a resource." + unsupported_context: "The resource given is not supported as context." + context_object_not_found: "Cannot find the resource given as the context." + validation: + done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + due_date: "Finish date cannot be set on parent work packages." + estimated_hours: "Estimated hours cannot be set on parent work packages." + invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." + start_date: "Start date cannot be set on parent work packages." + eprops: + invalid_gzip: "is invalid gzip: %{message}" + invalid_json: "is invalid json: %{message}" + resources: + schema: 'Schema' + undisclosed: + parent: Undisclosed - The selected parent is invisible because of lacking permissions. + ancestor: Undisclosed - The ancestor is invisible because of lacking permissions. + doorkeeper: + pre_authorization: + status: 'Pre-authorization' + auth_url: 'Auth URL' + access_token_url: 'Access token URL' + errors: + messages: + #Common error messages + invalid_request: + unknown: 'The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.' + missing_param: 'Missing required parameter: %{value}.' + request_not_authorized: 'Request need to be authorized. Required parameter for authorizing request is missing or invalid.' + invalid_redirect_uri: "The requested redirect uri is malformed or doesn't match client redirect URI." + unauthorized_client: 'The client is not authorized to perform this request using this method.' + access_denied: 'The resource owner or authorization server denied the request.' + invalid_scope: 'The requested scope is invalid, unknown, or malformed.' + invalid_code_challenge_method: 'The code challenge method must be plain or S256.' + server_error: 'The authorization server encountered an unexpected condition which prevented it from fulfilling the request.' + temporarily_unavailable: 'The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.' + #Configuration error messages + credential_flow_not_configured: 'Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.' + resource_owner_authenticator_not_configured: 'Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfigured.' + admin_authenticator_not_configured: 'Access to admin panel is forbidden due to Doorkeeper.configure.admin_authenticator being unconfigured.' + #Access grant errors + unsupported_response_type: 'The authorization server does not support this response type.' + unsupported_response_mode: 'The authorization server does not support this response mode.' + #Access token errors + invalid_client: 'Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.' + invalid_grant: 'The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.' + unsupported_grant_type: 'The authorization grant type is not supported by the authorization server.' + invalid_token: + revoked: "The access token was revoked" + expired: "The access token expired" + unknown: "The access token is invalid" + revoke: + unauthorized: "You are not authorized to revoke this token." + forbidden_token: + missing_scope: 'Access to this resource requires scope "%{oauth_scopes}".' + unsupported_browser: + title: "Your browser is outdated and unsupported." + message: "You may run into errors and degraded experience on this page." + update_message: 'Please update your browser.' + close_warning: "Ignore this warning." + oauth: + application: + singular: "OAuth application" + plural: "OAuth applications" + named: "OAuth application '%{name}'" + new: "New OAuth application" + default_scopes: "(Default scopes)" + instructions: + name: "The name of your application. This will be displayed to other users upon authorization." + redirect_uri_html: > + The allowed URLs authorized users can be redirected to. One entry per line.
If you're registering a desktop application, use the following URL. + confidential: "Check if the application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are assumed non-confidential." + scopes: "Check the scopes you want the application to grant access to. If no scope is checked, api_v3 is assumed." + client_credential_user_id: "Optional user ID to impersonate when clients use this application. Leave empty to allow public access only" + register_intro: "If you are developing an OAuth API client application for OpenProject, you can register it using this form for all users to use." + default_scopes: "" + client_id: "Client ID" + client_secret_notice: > + This is the only time we can print the client secret, please note it down and keep it secure. It should be treated as a password and cannot be retrieved by OpenProject at a later time. + authorization_dialog: + authorize: "Authorize" + cancel: "Cancel and deny authorization." + prompt_html: "Authorize %{application_name} to use your account %{login}?" + title: "Authorize %{application_name}" + wants_to_access_html: > + This application requests access to your OpenProject account.
It has requested the following permissions: + scopes: + api_v3: "Full API v3 access" + api_v3_text: "Application will receive full read & write access to the OpenProject API v3 to perform actions on your behalf." + grants: + created_date: "Approved on" + scopes: "Permissions" + successful_application_revocation: "Revocation of application %{application_name} successful." + none_given: "No OAuth applications have been granted access to your user account." + x_active_tokens: + one: 'one active token' + few: '%{count} active token' + many: '%{count} active token' + other: '%{count} active token' + flows: + authorization_code: "Authorization code flow" + client_credentials: "Client credentials flow" + client_credentials: "User used for Client credentials" + client_credentials_impersonation_set_to: "Client credentials user set to" + client_credentials_impersonation_warning: "Note: Clients using the 'Client credentials' flow in this application will have the rights of this user" + client_credentials_impersonation_html: > + By default, OpenProject provides OAuth 2.0 authorization via %{authorization_code_flow_link}. You can optionally enable %{client_credentials_flow_link}, but you must provide a user on whose behalf requests will be performed. + authorization_error: "An authorization error has occurred." + revoke_my_application_confirmation: "Do you really want to remove this application? This will revoke %{token_count} active for it." + my_registered_applications: "Registered OAuth applications" + oauth_client: + urn_connection_status: + connected: "Connected" + error: "Error" + failed_authorization: "Authorization failed" + labels: + label_oauth_integration: "OAuth2 integration" + label_redirect_uri: "Redirect URI" + label_request_token: "Request token" + label_refresh_token: "Refresh token" + errors: + oauth_authorization_code_grant_had_errors: "OAuth2 returned an error" + oauth_reported: "OAuth2 provider reported" + oauth_returned_error: "OAuth2 returned an error" + oauth_returned_json_error: "OAuth2 returned a JSON error" + oauth_returned_http_error: "OAuth2 returned a network error" + oauth_returned_standard_error: "OAuth2 returned an internal error" + wrong_token_type_returned: "OAuth2 returned a wrong type of token, expecting AccessToken::Bearer" + oauth_issue_contact_admin: "OAuth2 reported an error. Please contact your system administrator." + oauth_client_not_found: "OAuth2 client not found in 'callback' endpoint (redirect_uri)." + refresh_token_called_without_existing_token: > + Internal error: Called refresh_token without a previously existing token. + refresh_token_updated_failed: "Error during update of OAuthClientToken" + oauth_client_not_found_explanation: > + This error appears after you have updated the client_id and client_secret in OpenProject, but haven't updated the 'Return URI' field in the OAuth2 provider. + oauth_code_not_present: "OAuth2 'code' not found in 'callback' endpoint (redirect_uri)." + oauth_code_not_present_explanation: > + This error appears if you have selected the wrong response_type in the OAuth2 provider. Response_type should be 'code' or similar. + oauth_state_not_present: "OAuth2 'state' not found in 'callback' endpoint (redirect_uri)." + oauth_state_not_present_explanation: > + The 'state' is used to indicate to OpenProject where to continue after a successful OAuth2 authorization. A missing 'state' is an internal error that may appear during setup. Please contact your system administrator. + rack_oauth2: + client_secret_invalid: "Client secret is invalid (client_secret_invalid)" + invalid_request: > + OAuth2 Authorization Server responded with 'invalid_request'. This error appears if you try to authorize multiple times or in case of technical issues. + invalid_response: "OAuth2 Authorization Server provided an invalid response (invalid_response)" + invalid_grant: "The OAuth2 Authorization Server asks you to reauthorize (invalid_grant)." + invalid_client: "The OAuth2 Authorization Server doesn't recognize OpenProject (invalid_client)." + unauthorized_client: "The OAuth2 Authorization Server rejects the grant type (unauthorized_client)" + unsupported_grant_type: "The OAuth2 Authorization Server asks you to reauthorize (unsupported_grant_type)." + invalid_scope: "You are not allowed to access the requested resource (invalid_scope)." + http: + request: + failed_authorization: "The server side request failed authorizing itself." + missing_authorization: "The server side request failed due to missing authorization information." + response: + unexpected: "Unexpected response received." + you: you diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..3eb094e9dc --- /dev/null +++ b/config/locales/crowdin/eu.yml @@ -0,0 +1,3150 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + 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. + admin: + plugins: + no_results_title_text: There are currently no plugins available. + custom_styles: + color_theme: "Color theme" + color_theme_custom: "(Custom)" + colors: + alternative-color: "Alternative" + content-link-color: "Link font" + primary-color: "Primary" + primary-color-dark: "Primary (dark)" + header-bg-color: "Header background" + header-item-bg-hover-color: "Header background on hover" + header-item-font-color: "Header font" + header-item-font-hover-color: "Header font on hover" + header-border-bottom-color: "Header border" + main-menu-bg-color: "Main menu background" + main-menu-bg-selected-background: "Main menu when selected" + main-menu-bg-hover-background: "Main menu on hover" + main-menu-font-color: "Main menu font" + main-menu-selected-font-color: "Main menu font when selected" + main-menu-hover-font-color: "Main menu font on hover" + main-menu-border-color: "Main menu border" + custom_colors: "Custom colors" + customize: "Customize your OpenProject installation with your own logo and colors." + enterprise_notice: "As a special 'Thank you!' for their financial contribution to develop OpenProject, this tiny add-on is only available for Enterprise edition support subscribers." + enterprise_more_info: "Note: the used logo will be publicly accessible." + manage_colors: "Edit color select options" + instructions: + alternative-color: "Strong accent color, typically used for the most important button on a screen." + content-link-color: "Font color of most of the links." + primary-color: "Main color." + primary-color-dark: "Typically a darker version of the main color used for hover effects." + header-item-bg-hover-color: "Background color of clickable header items when hovered with the mouse." + header-item-font-color: "Font color of clickable header items." + header-item-font-hover-color: "Font color of clickable header items when hovered with the mouse." + header-border-bottom-color: "Thin line under the header. Leave this field empty if you don't want any line." + 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: + upgrade_to_ee: "Upgrade to the Enterprise edition" + add_token: "Upload an Enterprise edition support token" + delete_token_modal: + text: "Are you sure you want to remove the current Enterprise edition token used?" + title: "Delete 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" + enterprise_info_html: "is an Enterprise add-on." + upgrade_info: "Please upgrade to a paid plan to activate and start using it in your team." + journal_aggregation: + explanation: + text: "Individual actions of a user (e.g. updating a work package twice) are aggregated into a single action if their age difference is less than the specified timespan. They will be displayed as a single action within the application. This will also delay notifications by the same amount of time reducing the number of emails being sent and will also affect %{webhook_link} delay." + link: "webhook" + announcements: + show_until: Show until + is_active: currently displayed + is_inactive: currently not displayed + attribute_help_texts: + note_public: 'Any text and images you add to this field is 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.' + label_plural: 'Attribute help texts' + show_preview: 'Preview text' + add_new: 'Add help text' + edit: "Edit help text for %{attribute_caption}" + enterprise: + description: 'Provide additional information for attributes (incl. custom fields) of work packages and projects. Help texts are displayed when users click on the question mark symbol next to input fields in projects and work packages.' + auth_sources: + index: + no_results_content_title: There are currently no authentication modes. + no_results_content_text: Create a new authentication mode + 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: + technical_warning_html: | + This LDAP form requires technical knowledge of your LDAP / Active Directory setup. +
+ Please visit our documentation for detailed instructions. + 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 if present 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. +
+ 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 the Net::LDAP documentation. + tls_options: + verify_peer: "Verify SSL certificate" + verify_peer_description_html: > + Enables strict SSL verification of the certificate trusted chain.
Warning: 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_no_color: 'No color' + 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}' + upsale: + title: 'Custom actions' + description: 'Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project.' + custom_fields: + 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 will be lost. Continue?" + tab: + no_results_title_text: There are currently no custom fields. + no_results_content_text: Create a new custom field + concatenation: + single: 'or' + documentation: + see_more_link: For more information, please see our documentation on this topic. + global_search: + overwritten_tabs: + wiki_pages: "Wiki" + messages: "Forum" + groups: + index: + no_results_title_text: There are currently no groups. + no_results_content_text: Create a new group + 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. + 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. + 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' + 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." + index: + open_as_gantt: 'Open as Gantt view' + open_as_gantt_title: "Use this button to generate a Gantt view that filters work packages for the projects visible on this page." + open_as_gantt_title_admin: "You can modify the view settings (such as selected work package types) in the administration under project settings." + no_results_title_text: There are currently no projects + no_results_content_text: Create a new project + settings: + change_identifier: Change identifier + activities: + no_results_title_text: There are currently no activities available. + forums: + no_results_title_text: There are currently no forums for the project. + no_results_content_text: Create a new forum + categories: + no_results_title_text: There are currently no work package categories. + no_results_content_text: Create a new work package category + custom_fields: + no_results_title_text: There are currently no custom fields available. + types: + no_results_title_text: There are currently no types available. + versions: + no_results_title_text: There are currently no versions for the project. + no_results_content_text: Create a new version + storage: + no_results_title_text: There is no additional recorded disk space consumed by this project. + members: + index: + no_results_title_text: There are currently no members part of this project. + no_results_content_text: Add a member to the project + invite_by_mail: "Send invite to %{mail}" + my: + access_token: + failed_to_reset_token: "Failed to reset access token: %{error}" + notice_reset_token: "A new %{type} token has been generated. Your access token is:" + token_value_warning: "Note: This is the only time you will see this token, make sure to copy it now." + no_results_title_text: There are currently no access tokens available. + news: + index: + no_results_title_text: There is currently no news to report. + no_results_content_text: Add a news item + users: + groups: + member_in_these_groups: 'This user is currently a member of the following groups:' + no_results_title_text: This user is currently not a member in any group. + memberships: + no_results_title_text: This user is currently not a member of a project. + placeholder_users: + right_to_manage_members_missing: > + You are not allowed to delete the placeholder user. You do not have the right to manage members for all projects that the placeholder user is a member of. + delete_tooltip: "Delete placeholder user" + deletion_info: + heading: "Delete placeholder user %{name}" + data_consequences: > + All occurrences of the placeholder user (e.g., as assignee, responsible or other user values) will be reassigned to an account called "Deleted user". As the data of every deleted account is reassigned to this account it will not be possible to distinguish the data the user created from the data of another deleted account. + irreversible: "This action is irreversible" + confirmation: "Enter the placeholder user name %{name} to confirm the deletion." + upsale: + title: Placeholder users + description: > + Placeholder users are a way to assign work packages to users who are not part of your project. They can be useful in a range of scenarios; for example, if you need to track tasks for a resource that is not yet named or available, or if you don’t want to give that person access to OpenProject but still want to track tasks assigned to them. + prioritiies: + edit: + priority_color_text: | + Click to assign or change the color of this priority. + It can be used for highlighting work packages in the table. + reportings: + index: + no_results_title_text: There are currently no status reportings. + no_results_content_text: Add a status reporting + statuses: + edit: + status_readonly_html: | + Check this option to mark work packages with this status as read-only. + No attributes can be changed with the exception of the status. +
+ Note: Inherited values (e.g., from children or relations) will still apply. + status_color_text: | + Click to assign or change the color of this status. + It is shown in the status button and can be used for highlighting work packages in the table. + index: + no_results_title_text: There are currently no work package statuses. + no_results_content_text: Add a new status + types: + index: + no_results_title_text: There are currently no types. + no_results_content_text: Create a new type + edit: + settings: "Settings" + form_configuration: "Form configuration" + more_info_text_html: > + Enterprise edition allows you to customize form configuration with these additional add-ons:
  • Add new attribute groups
  • Rename attribute groups
  • Add a table of related work packages
+ projects: "Projects" + enabled_projects: "Enabled projects" + edit_query: "Edit table" + query_group_placeholder: "Give the table a name" + reset: "Reset to defaults" + type_color_text: | + The selected color distinguishes different types + in Gantt charts or work packages tables. It is therefore recommended to use a strong color. + versions: + overview: + no_results_title_text: There are currently no work packages assigned to this version. + wiki: + page_not_editable_index: The requested page does not (yet) exist. You have been redirected to the index of all wiki pages. + no_results_title_text: There are currently no wiki pages. + index: + no_results_content_text: Add a new wiki page + work_flows: + index: + no_results_title_text: There are currently no workflows. + work_packages: + x_descendants: + one: 'One descendant work package' + other: '%{count} work package descendants' + bulk: + could_not_be_saved: "The following work packages could not be saved:" + none_could_be_saved: "None of the %{total} work packages could be updated." + x_out_of_y_could_be_saved: "%{failing} out of the %{total} work packages could not be updated while %{success} could." + selected_because_descendants: "While %{selected} work packages where selected, in total %{total} work packages are affected which includes descendants." + descendant: "descendant of selected" + move: + no_common_statuses_exists: "There is no status available for all selected work packages. Their status cannot be changed." + unsupported_for_multiple_projects: 'Bulk move/copy is not supported for work packages from multiple projects' + summary: + reports: + category: + no_results_title_text: There are currently no categories available. + assigned_to: + no_results_title_text: There are currently no members part of this project. + responsible: + no_results_title_text: There are currently no members part of this project. + author: + no_results_title_text: There are currently no members part of this project. + priority: + no_results_title_text: There are currently no priorities available. + type: + no_results_title_text: There are currently no types available. + version: + no_results_title_text: There are currently no versions available. + label_invitation: Invitation + account: + delete: "Delete account" + delete_confirmation: "Are you sure you want to delete the account?" + deleted: "Account successfully deleted" + deletion_info: + data_consequences: + other: "Of the data the user created (e.g. email, preferences, work packages, wiki entries) as much as possible will be deleted. Note however, that data like work packages and wiki entries can not be deleted without impeding the work of the other users. Such data is hence reassigned to an account called \"Deleted user\". As the data of every deleted account is reassigned to this account it will not be possible to distinguish the data the user created from the data of another deleted account." + self: "Of the data you created (e.g. email, preferences, work packages, wiki entries) as much as possible will be deleted. Note however, that data like work packages and wiki entries can not be deleted without impeding the work of the other users. Such data is hence reassigned to an account called \"Deleted user\". As the data of every deleted account is reassigned to this account it will not be possible to distinguish the data you created from the data of another deleted account." + heading: "Delete account %{name}" + info: + other: "Deleting the user account is an irreversible action." + self: "Deleting your user account is an irreversible action." + login_consequences: + other: "The account will be deleted from the system. Therefore, the user will no longer be able to log in with his current credentials. He/she can choose to become a user of this application again by the means this application grants." + self: "Your account will be deleted from the system. Therefore, you will no longer be able to log in with your current credentials. If you choose to become a user of this application again, you can do so by using the means this application grants." + login_verification: + other: "Enter the login %{name} to verify the deletion. Once submitted, you will be asked to confirm your password." + self: "Enter your login %{name} to verify the deletion. Once submitted, you will be asked to confirm your password." + error_inactive_activation_by_mail: > + Your account has not yet been activated. To activate your account, click on the link that was emailed to you. + error_inactive_manual_activation: > + Your account has not yet been activated. Please wait for an administrator to activate your account. + error_self_registration_disabled: > + User registration is disabled on this system. Please ask an administrator to create an account for you. + login_with_auth_provider: "or sign in with your existing account" + signup_with_auth_provider: "or sign up using" + auth_source_login: Please login as %{login} to activate your account. + omniauth_login: Please login to activate your account. + actionview_instancetag_blank_option: "Please select" + activerecord: + attributes: + announcements: + show_until: "Display until" + attachment: + attachment_content: "Attachment content" + attachment_file_name: "Attachment file name" + downloads: "Downloads" + file: "File" + filename: "File" + filesize: "Size" + attribute_help_text: + attribute_name: 'Attribute' + help_text: 'Help text' + auth_source: + account: "Account" + attr_firstname: "Firstname attribute" + attr_lastname: "Lastname attribute" + attr_login: "Username attribute" + attr_mail: "Email attribute" + base_dn: "Base DN" + host: "Host" + onthefly: "Automatic user creation" + port: "Port" + tls_certificate_string: "LDAP server SSL certificate" + changeset: + repository: "Repository" + comment: + commented: "Commented" #an object that this comment belongs to + custom_action: + actions: "Actions" + custom_field: + default_value: "Default value" + editable: "Editable" + field_format: "Format" + is_filter: "Used as a filter" + is_required: "Required" + max_length: "Maximum length" + min_length: "Minimum length" + multi_value: "Allow multi-select" + possible_values: "Possible values" + regexp: "Regular expression" + searchable: "Searchable" + visible: "Visible" + custom_value: + value: "Value" + enterprise_token: + starts_at: "Valid since" + expires_at: "Expires at" + subscriber: "Subscriber" + encoded_token: "Enterprise support token" + active_user_count_restriction: "Maximum active users" + grids/grid: + page: "Page" + row_count: "Number of rows" + column_count: "Number of columns" + widgets: "Widgets" + relation: + delay: "Delay" + from: "Work package" + to: "Related work package" + status: + is_closed: "Work package closed" + is_readonly: "Work package read-only" + journal: + notes: "Notes" + member: + roles: "Roles" + project: + identifier: "Identifier" + latest_activity_at: "Latest activity at" + parent: "Subproject of" + queries: "Queries" + types: "Types" + versions: "Versions" + work_packages: "Work Packages" + templated: 'Template project' + projects/status: + code: 'Status' + explanation: 'Status description' + codes: + not_started: 'Not started' + on_track: 'On track' + at_risk: 'At risk' + off_track: 'Off track' + finished: 'Finished' + discontinued: 'Discontinued' + query: + column_names: "Columns" + relations_to_type_column: "Relations to %{type}" + relations_of_type_column: "%{type} relations" + group_by: "Group results by" + filters: "Filters" + timeline_labels: "Timeline labels" + repository: + url: "URL" + role: + permissions: "Permissions" + time_entry: + activity: "Activity" + hours: "Hours" + spent_on: "Date" + type: "Type" + type: + description: "Default text for description" + attribute_groups: '' + is_in_roadmap: "Displayed in roadmap by default" + is_default: "Activated for new projects by default" + is_milestone: "Is milestone" + color: "Color" + user: + admin: "Administrator" + auth_source: "Authentication mode" + current_password: "Current password" + force_password_change: "Enforce password change on next login" + language: "Language" + last_login_on: "Last login" + new_password: "New password" + password_confirmation: "Confirmation" + consented_at: "Consented at" + user_preference: + comments_sorting: "Display comments" + hide_mail: "Hide my email address" + impaired: "Accessibility mode" + time_zone: "Time zone" + auto_hide_popups: "Auto-hide success notifications" + warn_on_leaving_unsaved: "Warn me when leaving a work package with unsaved changes" + version: + effective_date: "Finish date" + sharing: "Sharing" + wiki_content: + text: "Text" + wiki_page: + parent_title: "Parent page" + redirect_existing_links: "Redirect existing links" + planning_element_type_color: + hexcode: Hex code + work_package: + begin_insertion: "Begin of the insertion" + begin_deletion: "Begin of the deletion" + children: "Subelements" + done_ratio: "Progress (%)" + duration: "Duration" + end_insertion: "End of the insertion" + end_deletion: "End of the deletion" + ignore_non_working_days: "Ignore non working days" + include_non_working_days: + title: 'Working days' + false: 'working days only' + true: 'include non-working days' + parent: "Parent" + parent_issue: "Parent" + parent_work_package: "Parent" + priority: "Priority" + progress: "Progress (%)" + readonly: "Read only" + schedule_manually: "Manual scheduling" + spent_hours: "Spent time" + spent_time: "Spent time" + subproject: "Subproject" + time_entries: "Log time" + type: "Type" + version: "Version" + watcher: "Watcher" + 'doorkeeper/application': + uid: "Client ID" + secret: "Client secret" + owner: "Owner" + redirect_uri: "Redirect URI" + client_credentials_user_id: "Client Credentials User ID" + scopes: "Scopes" + confidential: "Confidential" + errors: + messages: + accepted: "must be accepted." + after: "must be after %{date}." + after_or_equal_to: "must be after or equal to %{date}." + before: "must be before %{date}." + before_or_equal_to: "must be before or equal to %{date}." + blank: "can't be blank." + blank_nested: "needs to have the property '%{property}' set." + cant_link_a_work_package_with_a_descendant: "A work package cannot be linked to one of its subtasks." + circular_dependency: "This relation would create a circular dependency." + confirmation: "doesn't match %{attribute}." + could_not_be_copied: "%{dependency} could not be (fully) copied." + does_not_exist: "does not exist." + error_enterprise_only: "%{action} is only available in the OpenProject Enterprise edition" + error_unauthorized: "may not be accessed." + error_readonly: "was attempted to be written but is not writable." + email: "is not a valid email address." + empty: "can't be empty." + even: "must be even." + exclusion: "is reserved." + file_too_large: "is too large (maximum size is %{count} Bytes)." + filter_does_not_exist: "filter does not exist." + format: "does not match the expected format '%{expected}'." + format_nested: "does not match the expected format '%{expected}' at path '%{path}'." + greater_than: "must be greater than %{count}." + greater_than_or_equal_to: "must be greater than or equal to %{count}." + greater_than_or_equal_to_start_date: "must be greater than or equal to the start date." + greater_than_start_date: "must be greater than the start date." + inclusion: "is not set to one of the allowed values." + inclusion_nested: "is not set to one of the allowed values at path '%{path}'." + invalid: "is invalid." + invalid_url: 'is not a valid URL.' + invalid_url_scheme: 'is not a supported protocol (allowed: %{allowed_schemes}).' + less_than_or_equal_to: "must be less than or equal to %{count}." + not_available: "is not available due to a system configuration." + not_deletable: "cannot be deleted." + not_current_user: "is not the current user." + not_a_date: "is not a valid date." + not_a_datetime: "is not a valid date time." + not_a_number: "is not a number." + not_allowed: "is invalid because of missing permissions." + not_an_integer: "is not an integer." + not_an_iso_date: "is not a valid date. Required format: YYYY-MM-DD." + not_same_project: "doesn't belong to the same project." + odd: "must be odd." + regex_invalid: "could not be validated with the associated regular expression." + smaller_than_or_equal_to_max_length: "must be smaller than or equal to maximum length." + taken: "has already been taken." + too_long: "is too long (maximum is %{count} characters)." + too_short: "is too short (minimum is %{count} characters)." + type_mismatch: "is not of type '%{type}'" + type_mismatch_nested: "is not of type '%{type}' at path '%{path}'" + unchangeable: "cannot be changed." + unknown_property: "is not a known property." + unknown_property_nested: "has the unknown path '%{path}'." + unremovable: "cannot be removed." + url_not_secure_context: > + is not providing a "Secure Context". Either use HTTPS or a loopback address, such as localhost. + wrong_length: "is the wrong length (should be %{count} characters)." + models: + auth_source: + attributes: + tls_certificate_string: + invalid_certificate: "The provided SSL certificate is invalid: %{additional_message}" + format: "%{message}" + attachment: + attributes: + content_type: + blank: "The content type of the file cannot be blank." + not_whitelisted: "The file was rejected by an automatic filter. '%{value}' is not whitelisted for upload." + format: "%{message}" + capability: + context: + global: 'Global' + query: + filters: + minimum: "need to include at least one filter for principal, context or id with the '=' operator." + custom_field: + at_least_one_custom_option: "At least one option needs to be available." + custom_actions: + only_one_allowed: "(%{name}) only one value is allowed." + empty: "(%{name}) value can't be empty." + inclusion: "(%{name}) value is not set to one of the allowed values." + not_logged_in: "(%{name}) value cannot be set because you are not logged in." + not_an_integer: "(%{name}) is not an integer." + smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}." + greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}." + format: "%{message}" + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: 'cannot contain a fragment.' + invalid_uri: 'must be a valid URI.' + relative_uri: 'must be an absolute URI.' + secured_uri: 'is not providing a "Secure Context". Either use HTTPS or a loopback address, such as localhost.' + forbidden_uri: 'is forbidden by the server.' + scopes: + not_match_configured: "doesn't match available scopes." + enterprise_token: + unreadable: "can't be read. Are you sure it is a support token?" + grids/grid: + overlaps: 'overlap.' + outside: 'is outside of the grid.' + end_before_start: 'end value needs to be larger than the start value.' + notifications: + at_least_one_channel: 'At least one channel for sending notifications needs to be specified.' + attributes: + read_ian: + read_on_creation: 'cannot be set to true on notification creation.' + mail_reminder_sent: + set_on_creation: 'cannot be set to true on notification creation.' + reason: + no_notification_reason: 'cannot be blank as IAN is chosen as a channel.' + reason_mail_digest: + no_notification_reason: 'cannot be blank as mail digest is chosen as a channel.' + parse_schema_filter_params_service: + attributes: + base: + unsupported_operator: "The operator is not supported." + invalid_values: "A value is invalid." + id_filter_required: "An 'id' filter is required." + project: + archived_ancestor: 'The project has an archived ancestor.' + foreign_wps_reference_version: 'Work packages in non descendant projects reference versions of the project or its descendants.' + attributes: + types: + in_use_by_work_packages: "still in use by work packages: %{types}" + enabled_modules: + dependency_missing: "The module '%{dependency}' needs to be enabled as well since the module '%{module}' depends on it." + format: "%{message}" + query: + attributes: + project: + error_not_found: "not found" + public: + error_unauthorized: "- The user has no permission to create public views." + group_by: + invalid: "Can't group by: %{value}" + format: "%{message}" + column_names: + invalid: "Invalid query column: %{value}" + format: "%{message}" + sort_criteria: + invalid: "Can't sort by column: %{value}" + format: "%{message}" + group_by_hierarchies_exclusive: "is mutually exclusive with group by '%{group_by}'. You cannot activate both." + filters: + custom_fields: + inexistent: "There is no custom field for the filter." + queries/filters/base: + attributes: + values: + inclusion: "filter has invalid values." + format: "%{message}" + relation: + typed_dag: + circular_dependency: "The relationship creates a circle of relationships." + attributes: + to: + error_not_found: "work package in `to` position not found or not visible" + error_readonly: "an existing relation's `to` link is immutable" + from: + error_not_found: "work package in `from` position not found or not visible" + error_readonly: "an existing relation's `from` link is immutable" + repository: + not_available: "SCM vendor is not available" + not_whitelisted: "is not allowed by the configuration." + invalid_url: "is not a valid repository URL or path." + must_not_be_ssh: "must not be an SSH url." + no_directory: "is not a directory." + role: + attributes: + permissions: + dependency_missing: "need to also include '%{dependency}' as '%{permission}' is selected." + setting: + attributes: + base: + working_days_are_missing: 'At least one day of the week must be defined as a working day.' + previous_working_day_changes_unprocessed: 'The previous changes to the working days configuration have not been applied yet.' + time_entry: + attributes: + hours: + day_limit: "is too high as a maximum of 24 hours can be logged per date." + user_preference: + attributes: + pause_reminders: + invalid_range: "can only be a valid date range." + daily_reminders: + full_hour: "can only be configured to be delivered at a full hour." + notification_settings: + only_one_global_setting: 'There must only be one global notification setting.' + email_alerts_global: 'The email notification settings can only be set globally.' + format: "%{message}" + wrong_date: 'Wrong value for Start date, Due date, or Overdue.' + watcher: + attributes: + user_id: + not_allowed_to_view: "is not allowed to view this resource." + locked: "is locked." + wiki_page: + attributes: + slug: + undeducible: "cannot be deduced from the title '%{title}'." + work_package: + is_not_a_valid_target_for_time_entries: "Work package #%{id} is not a valid target for reassigning the time entries." + attributes: + assigned_to: + format: "%{message}" + due_date: + not_start_date: "is not on start date, although this is required for milestones." + cannot_be_null: "can not be set to null as start date and duration are known." + duration: + larger_than_dates: "is larger than the interval between the start and the finish date." + smaller_than_dates: "is smaller than the interval between the start and the finish date." + not_available_for_milestones: "is not available for milestone typed work packages." + cannot_be_null: "can not be set to null as start date and finish date are known." + parent: + cannot_be_milestone: "cannot be a milestone." + cannot_be_self_assigned: "cannot be assigned to itself." + cannot_be_in_another_project: "cannot be in another project." + not_a_valid_parent: "is invalid." + start_date: + violates_relationships: "can only be set to %{soonest_start} or later so as not to violate the work package's relationships." + cannot_be_null: "can not be set to null as finish date and duration are known." + status_id: + status_transition_invalid: "is invalid because no valid transition exists from old to new status for the current user's roles." + status_invalid_in_type: "is invalid because the current status does not exist in this type." + type: + cannot_be_milestone_due_to_children: "cannot be a milestone because this work package has children." + priority_id: + only_active_priorities_allowed: "needs to be active." + category: + only_same_project_categories_allowed: "The category of a work package must be within the same project as the work package." + does_not_exist: "The specified category does not exist." + estimated_hours: + only_values_greater_or_equal_zeroes_allowed: "must be >= 0." + readonly_status: 'The work package is in a readonly status so its attributes cannot be changed.' + type: + attributes: + attribute_groups: + attribute_unknown: "Invalid work package attribute used." + attribute_unknown_name: "Invalid work package attribute used: %{attribute}" + duplicate_group: "The group name '%{group}' is used more than once. Group names must be unique." + query_invalid: "The embedded query '%{group}' is invalid: %{details}" + group_without_name: "Unnamed groups are not allowed." + user: + attributes: + base: + user_limit_reached: "User limit reached. No more accounts can be created on the current plan." + password_confirmation: + confirmation: "Password confirmation does not match password." + format: "%{message}" + password: + weak: "Must contain characters of the following classes (at least %{min_count} of %{all_count}): %{rules}." + lowercase: "lowercase (e.g. 'a')" + uppercase: "uppercase (e.g. 'A')" + numeric: "numeric (e.g. '1')" + special: "special (e.g. '%')" + reused: + one: "has been used before. Please choose one that is different from your last one." + other: "has been used before. Please choose one that is different from your last %{count}." + match: + confirm: "Confirm new password." + description: "'Password confirmation' should match the input in the 'New password' field." + status: + invalid_on_create: "is not a valid status for new users." + auth_source: + error_not_found: "not found" + member: + principal_blank: "Please choose at least one user or group." + role_blank: "need to be assigned." + attributes: + roles: + ungrantable: "has an unassignable role." + principal: + unassignable: "cannot be assigned to a project." + version: + undeletable_work_packages_attached: "The version cannot be deleted as it has work packages attached to it." + status: + readonly_default_exlusive: "can not be activated for statuses that are marked default." + template: + body: "Please check the following fields:" + header: + one: "1 error prohibited this %{model} from being saved" + other: "%{count} errors prohibited this %{model} from being saved" + models: + attachment: "File" + attribute_help_text: "Attribute help text" + forum: "Forum" + comment: "Comment" + custom_action: "Custom action" + custom_field: "Custom field" + group: "Group" + category: "Category" + status: "Work package status" + member: "Member" + news: "News" + notification: + one: "Notification" + other: "Notifications" + placeholder_user: "Placeholder user" + project: "Project" + query: "Custom query" + role: + one: "Role" + other: "Roles" + type: "Type" + user: "User" + version: "Version" + wiki: "Wiki" + wiki_page: "Wiki page" + workflow: "Workflow" + work_package: "Work package" + 'doorkeeper/application': "OAuth application" + errors: + header_invalid_fields: "There were problems with the following fields:" + field_erroneous_label: "This field is invalid: %{full_errors}\nPlease enter a valid value." + activity: + created: "Created: %{title}" + updated: "Updated: %{title}" + #common attributes of all models + attributes: + active: "Active" + assigned_to: "Assignee" + assignee: "Assignee" + attachments: "Attachments" + author: "Author" + base: "General Error:" + blocks_ids: "IDs of blocked work packages" + category: "Category" + comment: "Comment" + comments: "Comment" + content: "Content" + color: "Color" + created_at: "Created on" + custom_options: "Possible values" + custom_values: "Custom fields" + date: "Date" + default_columns: "Default columns" + description: "Description" + derived_due_date: "Derived finish date" + derived_estimated_hours: "Derived estimated time" + derived_start_date: "Derived start date" + display_sums: "Display Sums" + due_date: "Finish date" + estimated_hours: "Estimated time" + estimated_time: "Estimated time" + firstname: "First name" + group: "Group" + groups: "Groups" + id: "ID" + is_default: "Default value" + is_for_all: "For all projects" + public: "Public" + #kept for backwards compatibility + issue: "Work package" + lastname: "Last name" + login: "Username" + mail: "Email" + name: "Name" + password: "Password" + priority: "Priority" + project: "Project" + responsible: "Accountable" + role: "Role" + roles: "Roles" + start_date: "Start date" + status: "Status" + subject: "Subject" + summary: "Summary" + title: "Title" + type: "Type" + updated_at: "Updated on" + updated_on: "Updated on" + uploader: "Uploader" + user: "User" + value: "Value" + version: "Version" + work_package: "Work package" + backup: + failed: "Backup failed" + label_backup_token: "Backup token" + label_create_token: "Create backup token" + label_delete_token: "Delete backup token" + label_reset_token: "Reset backup token" + label_token_users: "The following users have active backup tokens" + reset_token: + action_create: Create + action_reset: Reset + heading_reset: "Reset backup token" + heading_create: "Create backup token" + implications: > + Enabling backups will allow any user with the required permissions and this backup token to download a backup containing all data of this OpenProject installation. This includes the data of all other users. + info: > + You will need to generate a backup token to be able to create a backup. Each time you want to request a backup you will have to provide this token. You can delete the backup token to disable backups for this user. + verification: > + Enter %{word} to confirm you want to %{action} the backup token. + verification_word_reset: reset + verification_word_create: create + warning: > + When you create a new token you will only be allowed to request a backup after 24 hours. This is a safety measure. After that you can request a backup any time using that token. + text_token_deleted: Backup token deleted. Backups are now disabled. + error: + invalid_token: Invalid or missing backup token + token_cooldown: The backup token will be valid in %{hours} hours. + backup_pending: There is already a backup pending. + limit_reached: You can only do %{limit} backups per day. + button_add: "Add" + button_add_comment: "Add comment" + button_add_member: Add member + button_add_watcher: "Add watcher" + button_annotate: "Annotate" + button_apply: "Apply" + button_archive: "Archive" + button_back: "Back" + button_cancel: "Cancel" + button_change: "Change" + button_change_parent_page: "Change parent page" + button_change_password: "Change password" + button_check_all: "Check all" + button_clear: "Clear" + button_click_to_reveal: "Click to reveal" + button_close: 'Close' + button_collapse_all: "Collapse all" + button_configure: "Configure" + button_continue: "Continue" + button_copy: "Copy" + button_copy_and_follow: "Copy and follow" + button_create: "Create" + button_create_and_continue: "Create and continue" + button_delete: "Delete" + button_decline: "Decline" + button_delete_watcher: "Delete watcher %{name}" + button_download: "Download" + button_duplicate: "Duplicate" + button_edit: "Edit" + button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}" + button_expand_all: "Expand all" + button_filter: "Filter" + button_generate: "Generate" + button_list: "List" + button_lock: "Lock" + button_login: "Sign in" + button_move: "Move" + button_move_and_follow: "Move and follow" + button_print: "Print" + button_quote: "Quote" + button_remove: Remove + button_rename: "Rename" + button_replace: "Replace" + button_revoke: "Revoke" + button_reply: "Reply" + button_reset: "Reset" + button_rollback: "Rollback to this version" + button_save: "Save" + button_save_back: "Save and back" + button_show: "Show" + button_sort: "Sort" + button_submit: "Submit" + button_test: "Test" + button_unarchive: "Unarchive" + button_uncheck_all: "Uncheck all" + button_unlock: "Unlock" + button_unwatch: "Unwatch" + button_update: "Update" + button_upgrade: "Upgrade" + button_upload: "Upload" + button_view: "View" + button_watch: "Watch" + button_manage_menu_entry: "Configure menu item" + button_add_menu_entry: "Add menu item" + button_configure_menu_entry: "Configure menu item" + button_delete_menu_entry: "Delete menu item" + consent: + checkbox_label: I have noted and do consent to the above. + failure_message: Consent failed, cannot proceed. + title: User Consent + decline_warning_message: You have declined to consent and have been logged out. + user_has_consented: User has consented to your configured statement at the given time. + not_yet_consented: User has not consented yet, will be requested upon next login. + contact_mail_instructions: Define the mail address that users can reach a data controller to perform data change or removal requests. + contact_your_administrator: Please contact your administrator if you want to have your account deleted. + contact_this_mail_address: Please contact %{mail_address} if you want to have your account deleted. + text_update_consent_time: Check this box to force users to consent again. Enable when you have changed the legal aspect of the consent information above. + update_consent_last_time: "Last update of consent: %{update_time}" + copy_project: + title: 'Copy project "%{source_project_name}"' + started: "Started to copy project \"%{source_project_name}\" to \"%{target_project_name}\". You will be informed by mail as soon as \"%{target_project_name}\" is available." + failed: "Cannot copy project %{source_project_name}" + failed_internal: "Copying failed due to an internal error." + succeeded: "Created project %{target_project_name}" + errors: "Error" + project_custom_fields: 'Custom fields on project' + x_objects_of_this_type: + zero: 'No objects of this type' + one: 'One object of this type' + other: '%{count} objects of this type' + text: + failed: "Could not copy project \"%{source_project_name}\" to project \"%{target_project_name}\"." + succeeded: "Copied project \"%{source_project_name}\" to \"%{target_project_name}\"." + create_new_page: "Wiki page" + date: + abbr_day_names: + - "Sun" + - "Mon" + - "Tue" + - "Wed" + - "Thu" + - "Fri" + - "Sat" + abbr_month_names: + - null + - "Jan" + - "Feb" + - "Mar" + - "Apr" + - "May" + - "Jun" + - "Jul" + - "Aug" + - "Sep" + - "Oct" + - "Nov" + - "Dec" + abbr_week: 'Wk' + day_names: + - "Sunday" + - "Monday" + - "Tuesday" + - "Wednesday" + - "Thursday" + - "Friday" + - "Saturday" + formats: + #Use the strftime parameters for formats. + #When no format has been given, it uses default. + #You can provide other formats here if you like! + default: "%m/%d/%Y" + long: "%B %d, %Y" + short: "%b %d" + #Don't forget the nil at the beginning; there's no such thing as a 0th month + month_names: + - null + - "January" + - "February" + - "March" + - "April" + - "May" + - "June" + - "July" + - "August" + - "September" + - "October" + - "November" + - "December" + #Used in date_select and datime_select. + order: + - :year + - :month + - :day + datetime: + distance_in_words: + about_x_hours: + one: "about 1 hour" + other: "about %{count} hours" + about_x_months: + one: "about 1 month" + other: "about %{count} months" + about_x_years: + one: "about 1 year" + other: "about %{count} years" + almost_x_years: + one: "almost 1 year" + other: "almost %{count} years" + half_a_minute: "half a minute" + less_than_x_minutes: + one: "less than a minute" + other: "less than %{count} minutes" + less_than_x_seconds: + one: "less than 1 second" + other: "less than %{count} seconds" + over_x_years: + one: "over 1 year" + other: "over %{count} years" + x_days: + one: "1 day" + other: "%{count} days" + x_minutes: + one: "1 minute" + other: "%{count} minutes" + x_months: + one: "1 month" + other: "%{count} months" + x_seconds: + one: "1 second" + other: "%{count} seconds" + units: + hour: + one: "hour" + other: "hours" + default_activity_development: "Development" + default_activity_management: "Management" + default_activity_other: "Other" + default_activity_specification: "Specification" + default_activity_support: "Support" + default_activity_testing: "Testing" + default_color_black: "Black" + default_color_blue: "Blue" + default_color_blue_dark: "Blue (dark)" + default_color_blue_light: "Blue (light)" + default_color_green_dark: "Green (dark)" + default_color_green_light: "Green (light)" + default_color_grey_dark: "Grey (dark)" + default_color_grey_light: "Grey (light)" + default_color_grey: "Grey" + default_color_magenta: "Magenta" + default_color_orange: "Orange" + default_color_red: "Red" + default_color_white: "White" + default_color_yellow: "Yellow" + default_status_closed: "Closed" + default_status_confirmed: "Confirmed" + default_status_developed: "Developed" + default_status_in_development: "In development" + default_status_in_progress: "In progress" + default_status_in_specification: "In specification" + default_status_in_testing: "In testing" + default_status_new: "New" + default_status_on_hold: "On hold" + default_status_rejected: "Rejected" + default_status_scheduled: "Scheduled" + default_status_specified: "Specified" + default_status_tested: "Tested" + default_status_test_failed: "Test failed" + default_status_to_be_scheduled: "To be scheduled" + default_priority_low: "Low" + default_priority_normal: "Normal" + default_priority_high: "High" + default_priority_immediate: "Immediate" + default_role_anonymous: "Anonymous" + default_role_developer: "Developer" + default_role_project_admin: "Project admin" + default_role_project_creator_and_staff_manager: "Staff and projects manager" + default_role_non_member: "Non member" + default_role_reader: "Reader" + default_role_member: "Member" + default_type: "Work Package" + default_type_bug: "Bug" + default_type_deliverable: "Deliverable" + default_type_epic: "Epic" + default_type_feature: "Feature" + default_type_milestone: "Milestone" + default_type_phase: "Phase" + default_type_task: "Task" + default_type_user_story: "User story" + description_active: "Active?" + description_attachment_toggle: "Show/Hide attachments" + description_autocomplete: > + This field uses autocomplete. While typing the title of a work package you will receive a list of possible candidates. Choose one using the arrow up and arrow down key and select it with tab or enter. Alternatively you can enter the work package number directly. + description_available_columns: "Available Columns" + description_choose_project: "Projects" + description_compare_from: "Compare from" + description_compare_to: "Compare to" + description_current_position: "You are here: " + description_date_from: "Enter start date" + description_date_to: "Enter end date" + description_enter_number: "Enter number" + description_enter_text: "Enter text" + description_filter: "Filter" + description_filter_toggle: "Show/Hide filter" + description_category_reassign: "Choose category" + description_message_content: "Message content" + description_my_project: "You are member" + description_notes: "Notes" + description_parent_work_package: "Parent work package of current" + description_project_scope: "Search scope" + description_query_sort_criteria_attribute: "Sort attribute" + description_query_sort_criteria_direction: "Sort direction" + description_search: "Searchfield" + description_select_work_package: "Select work package" + description_selected_columns: "Selected Columns" + description_sub_work_package: "Sub work package of current" + description_toc_toggle: "Show/Hide table of contents" + description_wiki_subpages_reassign: "Choose new parent page" + #Text direction: Left-to-Right (ltr) or Right-to-Left (rtl) + direction: ltr + ee: + upsale: + form_configuration: + description: "Customize the form configuration with these additional add-ons:" + add_groups: "Add new attribute groups" + rename_groups: "Rename attributes groups" + project_filters: + description_html: "Filtering and sorting on custom fields is an Enterprise edition add-on." + enumeration_activities: "Time tracking activities" + enumeration_work_package_priorities: "Work package priorities" + enumeration_reported_project_statuses: "Reported project status" + error_auth_source_sso_failed: "Single Sign-On (SSO) for user '%{value}' failed" + error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_delete_entry: "Unable to delete entry" + error_can_not_delete_custom_field: "Unable to delete custom field" + error_can_not_delete_type: + explanation: 'This type contains work packages and cannot be deleted. You can see all affected work packages in this view.' + archived_projects: 'There are also work packages in archived projects. You need to reactivate the following projects first, before you can change the type of the respective work packages: %{archived_projects}' + error_can_not_delete_standard_type: "Standard types cannot be deleted." + error_can_not_invite_user: "Failed to send invitation to user." + error_can_not_remove_role: "This role is in use and cannot be deleted." + error_can_not_reopen_work_package_on_closed_version: "A work package assigned to a closed version cannot be reopened" + error_can_not_find_all_resources: "Could not find all related resources to this request." + error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_check_user_and_role: "Please choose a user and a role." + error_code: "Error %{code}" + error_cookie_missing: 'The OpenProject cookie is missing. Please ensure that cookies are enabled, as this application will not properly function without.' + error_custom_option_not_found: "Option does not exist." + error_enterprise_activation_user_limit: "Your account could not be activated (user limit reached). Please contact your administrator to gain access." + error_enterprise_token_invalid_domain: "The Enterprise edition is not active. Your Enterprise token's domain (%{actual}) does not match the system's host name (%{expected})." + error_failed_to_delete_entry: 'Failed to delete this entry.' + error_in_dependent: "Error attempting to alter dependent object: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" #%{related_id} - %{related_subject}: %{error}" + error_in_new_dependent: "Error attempting to create dependent object: %{dependent_class} - %{related_subject}: %{error}" + error_invalid_selected_value: "Invalid selected value." + error_journal_attribute_not_present: "Journal does not contain attribute %{attribute}." + error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." + error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" + error_token_authenticity: 'Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again.' + error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" + error_must_be_project_member: "must be project member" + error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." + error_migrations_visit_upgrade_guides: "Please visit our upgrade guide documentation" + error_no_default_work_package_status: "No default work package status is defined. Please check your configuration (Go to \"Administration -> Work package statuses\")." + error_no_type_in_project: "No type is associated to this project. Please check the Project settings." + error_omniauth_registration_timed_out: "The registration via an external authentication provider timed out. Please try again." + error_omniauth_invalid_auth: "The authentication information returned from the identity provider was invalid. Please contact your administrator for further help." + error_password_change_failed: 'An error occurred when trying to change the password.' + error_scm_command_failed: "An error occurred when trying to access the repository: %{value}" + error_scm_not_found: "The entry or revision was not found in the repository." + error_unable_delete_status: "The work package status cannot be deleted since it is used by at least one work package." + error_unable_delete_default_status: "Unable to delete the default work package status. Please select another default work package status before deleting the current one." + error_unable_to_connect: "Unable to connect (%{value})" + error_unable_delete_wiki: "Unable to delete the wiki page." + error_unable_update_wiki: "Unable to update the wiki page." + error_workflow_copy_source: "Please select a source type or role" + error_workflow_copy_target: "Please select target type(s) and role(s)" + error_menu_item_not_created: Menu item could not be added + error_menu_item_not_saved: Menu item could not be saved + error_wiki_root_menu_item_conflict: > + Can't rename "%{old_name}" to "%{new_name}" due to a conflict in the resulting menu item with the existing menu item "%{existing_caption}" (%{existing_identifier}). + error_external_authentication_failed: "An error occurred during external authentication. Please try again." + error_attribute_not_highlightable: "Attribute(s) not highlightable: %{attributes}" + events: + project: 'Project edited' + changeset: 'Changeset edited' + message: Message edited + news: News + reply: Replied + time_entry: 'Timelog edited' + wiki_page: 'Wiki page edited' + work_package_closed: 'Work Package closed' + work_package_edit: 'Work Package edited' + work_package_note: 'Work Package note added' + export: + your_work_packages_export: "Your work packages export" + succeeded: "The export has completed successfully." + failed: "The export has failed: %{message}" + format: + atom: "Atom" + csv: "CSV" + pdf: "PDF" + pdf_with_descriptions: "PDF with descriptions" + pdf_with_descriptions_and_attachments: "PDF with descriptions and attachments" + pdf_with_attachments: "PDF with attachments" + image: + omitted: "Image not exported." + extraction: + available: + pdftotext: "Pdftotext available (optional)" + unrtf: "Unrtf available (optional)" + catdoc: "Catdoc available (optional)" + xls2csv: "Xls2csv available (optional)" + catppt: "Catppt available (optional)" + tesseract: "Tesseract available (optional)" + general_csv_decimal_separator: "." + general_csv_encoding: "UTF-8" + general_csv_separator: "," + general_first_day_of_week: "7" + general_lang_name: "English" + general_pdf_encoding: "ISO-8859-1" + general_text_no: "no" + general_text_yes: "yes" + general_text_No: "No" + general_text_Yes: "Yes" + general_text_true: "true" + general_text_false: "false" + gui_validation_error: "1 error" + gui_validation_error_plural: "%{count} errors" + homescreen: + additional: + projects: "Newest visible projects in this instance." + no_visible_projects: "There are no visible projects in this instance." + users: "Newest registered users in this instance." + blocks: + community: "OpenProject community" + upsale: + title: "Upgrade to Enterprise edition" + more_info: "More information" + links: + upgrade_enterprise_edition: "Upgrade to Enterprise edition" + postgres_migration: "Migrating your installation to PostgreSQL" + user_guides: "User guides" + faq: "FAQ" + glossary: "Glossary" + shortcuts: "Shortcuts" + blog: "OpenProject blog" + forums: "Community forum" + newsletter: "Security alerts / Newsletter" + image_conversion: + imagemagick: 'Imagemagick' + journals: + changes_retracted: "The changes were retracted." + links: + configuration_guide: 'Configuration guide' + get_in_touch: "You have questions? Get in touch with us." + instructions_after_registration: "You can sign in as soon as your account has been activated by clicking %{signin}." + instructions_after_logout: "You can sign in again by clicking %{signin}." + instructions_after_error: "You can try to sign in again by clicking %{signin}. If the error persists, ask your admin for help." + menus: + admin: + mail_notification: "Email notifications" + mails_and_notifications: "Emails and notification" + aggregation: 'Aggregation' + api_and_webhooks: "API and webhooks" + quick_add: + label: "Open quick add menu" + my_account: + access_tokens: + no_results: + title: "No access tokens to display" + description: "All of them have been disabled. They can be re-enabled in the administration menu." + access_tokens: "Access tokens" + headers: + action: "Action" + expiration: "Expires" + indefinite_expiration: "Never" + notifications: + send_notifications: "Send notifications for this action" + work_packages: + subject: + created: "The work package was created." + assigned: "You have been assigned to %{work_package}" + subscribed: "You subscribed to %{work_package}" + mentioned: "You have been mentioned in %{work_package}" + responsible: "You have become accountable for %{work_package}" + watched: "You are watching %{work_package}" + update_info_mail: + body: > + We are excited to announce the release of OpenProject 12.0. It's a major release that will hopefully significantly improve the way you use OpenProject. + Starting with this release, we are introducing in-app notifications. From now on, you will receive notifications for updates to work packages directly in OpenProject. You can mark these notifications as read, reply to a comment or even directly modify work package attributes without leaving the notification center. + This also means that we will no longer be using emails for notifications. We think the new notification center is a better place to view and act upon these updates. Nevertheless, if you would like continue receiving updates via email, you can choose to receive daily email reminders at particular times of your choosing. + Please make sure to verify your new default notification settings, and set your preferences for notifications and email reminders via your account settings. You can do this through the “Change email settings” button bellow. + We hope you find in-app notifications useful and that they makes you even more productive. + Sincerely, The OpenProject team + body_header: 'Version 12.0 with Notification Center' + body_subheader: 'News' + subject: 'Important changes to notifications with the release of 12.0' + label_accessibility: "Accessibility" + label_account: "Account" + label_active: "Active" + label_activate_user: 'Activate user' + label_active_in_new_projects: "Active in new projects" + label_activity: "Activity" + label_add_edit_translations: "Add and edit translations" + label_add_another_file: "Add another file" + label_add_columns: "Add selected columns" + label_add_note: "Add a note" + label_add_related_work_packages: "Add related work packages" + label_add_subtask: "Add subtask" + label_added: "added" + label_added_time_by: "Added by %{author} %{age} ago" + label_additional_workflow_transitions_for_assignee: "Additional transitions allowed when the user is the assignee" + label_additional_workflow_transitions_for_author: "Additional transitions allowed when the user is the author" + label_administration: "Administration" + label_advanced_settings: "Advanced settings" + label_age: "Age" + label_ago: "days ago" + label_all: "all" + label_all_time: "all time" + label_all_words: "All words" + label_all_open_wps: "All open" + label_always_visible: "Always displayed" + label_announcement: "Announcement" + label_api_access_key: "API access key" + label_api_access_key_created_on: "API access key created %{value} ago" + label_api_access_key_type: "API" + label_applied_status: "Applied status" + label_archive_project: "Archive project" + label_ascending: "Ascending" + label_assigned_to_me_work_packages: "Work packages assigned to me" + label_associated_revisions: "Associated revisions" + label_attachment_delete: "Delete file" + label_attachment_new: "New file" + label_attachment_plural: "Files" + label_attribute: "Attribute" + label_attribute_plural: "Attributes" + label_auth_source: "Authentication mode" + label_auth_source_new: "New authentication mode" + label_auth_source_plural: "Authentication modes" + label_authentication: "Authentication" + label_available_project_work_package_categories: 'Available work package categories' + label_available_project_work_package_types: 'Available work package types' + label_available_project_forums: 'Available forums' + label_available_project_versions: 'Available versions' + label_available_project_repositories: 'Available repositories' + label_api_documentation: "API documentation" + label_backup: "Backup" + label_between: "between" + label_blocked_by: "blocked by" + label_blocks: "blocks" + label_blog: "Blog" + label_forums_locked: "Locked" + label_forum_new: "New forum" + label_forum_plural: "Forums" + label_forum_sticky: "Sticky" + label_boolean: "Boolean" + label_branch: "Branch" + label_browse: "Browse" + label_bulk_edit_selected_work_packages: "Bulk edit selected work packages" + label_bundled: '(Bundled)' + label_calendar: "Calendar" + label_calendar_show: "Show Calendar" + label_category: "Category" + label_consent_settings: "User Consent" + label_wiki_menu_item: Wiki menu item + label_select_main_menu_item: Select new main menu item + label_required_disk_storage: "Required disk storage" + label_send_invitation: Send invitation + label_change_plural: "Changes" + label_change_properties: "Change properties" + label_change_status: "Change status" + label_change_status_of_user: "Change status of #{username}" + label_change_view_all: "View all changes" + label_changes_details: "Details of all changes" + label_changeset: "Changeset" + label_changeset_id: "Changeset ID" + label_changeset_plural: "Changesets" + label_checked: "checked" + label_check_uncheck_all_in_column: "Check/Uncheck all in column" + label_check_uncheck_all_in_row: "Check/Uncheck all in row" + label_child_element: "Child element" + label_chronological_order: "Oldest first" + label_close_versions: "Close completed versions" + label_closed_work_packages: "closed" + label_collapse: "Collapse" + label_collapsed_click_to_show: "Collapsed. Click to show" + label_configuration: configuration + label_comment_add: "Add a comment" + label_comment_added: "Comment added" + label_comment_delete: "Delete comments" + label_comment_plural: "Comments" + label_commits_per_author: "Commits per author" + label_commits_per_month: "Commits per month" + label_confirmation: "Confirmation" + label_contains: "contains" + label_content: "Content" + label_copied: "copied" + label_copy_to_clipboard: "Copy to clipboard" + label_copy_same_as_target: "Same as target" + label_copy_source: "Source" + label_copy_target: "Target" + label_copy_workflow_from: "Copy workflow from" + label_copy_project: "Copy project" + label_core_version: "Core version" + label_current_status: "Current status" + label_current_version: "Current version" + label_custom_field_add_no_type: "Add this field to a work package type" + label_custom_field_new: "New custom field" + label_custom_field_plural: "Custom fields" + label_custom_field_default_type: "Empty type" + label_custom_style: "Design" + label_database_version: "PostgreSQL version" + label_date: "Date" + label_date_and_time: "Date and time" + label_date_from: "From" + label_date_from_to: "From %{start} to %{end}" + label_date_to: "To" + label_day_plural: "days" + label_default: "Default" + label_delete_user: "Delete user" + label_delete_project: "Delete project" + label_deleted: "deleted" + label_deleted_custom_field: "(deleted custom field)" + label_deleted_custom_option: "(deleted option)" + label_missing_or_hidden_custom_option: "(missing value or lacking permissions to access)" + label_descending: "Descending" + label_details: "Details" + label_development_roadmap: "Development roadmap" + label_diff: "diff" + label_diff_inline: "inline" + label_diff_side_by_side: "side by side" + label_digital_accessibility: 'Digital accessibility (DE)' + label_disabled: "disabled" + label_display: "Display" + label_display_per_page: "Per page: %{value}" + label_display_used_statuses_only: "Only display statuses that are used by this type" + label_download: "%{count} Download" + label_download_plural: "%{count} Downloads" + label_downloads_abbr: "D/L" + label_duplicated_by: "duplicated by" + label_duplicate: "duplicate" + label_duplicates: "duplicates" + label_edit: "Edit" + label_edit_x: "Edit: %{x}" + label_enable_multi_select: "Toggle multiselect" + label_enabled_project_custom_fields: 'Enabled custom fields' + label_enabled_project_modules: 'Enabled modules' + label_enabled_project_activities: 'Enabled time tracking activities' + label_end_to_end: "end to end" + label_end_to_start: "end to start" + label_enumeration_new: "New enumeration value" + label_enumeration_value: "Enumeration value" + label_enumerations: "Enumerations" + label_enterprise: "Enterprise" + label_enterprise_active_users: "%{current}/%{limit} booked active users" + label_enterprise_edition: "Enterprise edition" + label_environment: "Environment" + label_estimates_and_time: "Estimates and time" + label_equals: "is" + label_everywhere: "everywhere" + label_example: "Example" + label_import: "Import" + label_export_to: "Also available in:" + label_expanded_click_to_collapse: "Expanded. Click to collapse" + label_f_hour: "%{value} hour" + label_f_hour_plural: "%{value} hours" + label_feed_plural: "Feeds" + label_feeds_access_key: "RSS access key" + label_feeds_access_key_created_on: "RSS access key created %{value} ago" + label_feeds_access_key_type: "RSS" + label_file_plural: "Files" + label_filter_add: "Add filter" + label_filter_plural: "Filters" + label_filters_toggle: "Show/hide filters" + label_float: "Float" + label_folder: "Folder" + label_follows: "follows" + label_force_user_language_to_default: "Set language of users having a non allowed language to default" + label_form_configuration: "Form configuration" + label_gantt: "Gantt" + label_gantt_chart: "Gantt chart" + label_general: "General" + label_generate_key: "Generate a key" + label_git_path: "Path to .git directory" + label_greater_or_equal: ">=" + label_group_by: "Group by" + label_group_new: "New group" + label_group: "Group" + label_group_named: "Group %{name}" + label_group_plural: "Groups" + label_help: "Help" + label_here: here + label_hide: "Hide" + label_history: "History" + label_hierarchy_leaf: "Hierarchy leaf" + label_home: "Home" + label_subject_or_id: "Subject or ID" + label_impressum: "Legal notice" + label_in: "in" + label_in_less_than: "in less than" + label_in_more_than: "in more than" + label_inactive: "Inactive" + label_incoming_emails: "Incoming emails" + label_includes: 'includes' + label_index_by_date: "Index by date" + label_index_by_title: "Index by title" + label_information: "Information" + label_information_plural: "Information" + label_installation_guides: 'Installation guides' + label_integer: "Integer" + label_internal: "Internal" + label_introduction_video: "Introduction video" + label_invite_user: "Invite user" + label_show_hide: "Show/hide" + label_show_all_registered_users: "Show all registered users" + label_journal: "Journal" + label_journal_diff: "Description Comparison" + label_language: "Language" + label_jump_to_a_project: "Jump to a project..." + label_keyword_plural: 'Keywords' + label_language_based: "Based on user's language" + label_last_activity: "Last activity" + label_last_change_on: "Last change on" + label_last_changes: "last %{count} changes" + label_last_login: "Last login" + label_last_month: "last month" + label_last_n_days: "last %{count} days" + label_last_week: "last week" + label_latest_revision: "Latest revision" + label_latest_revision_plural: "Latest revisions" + label_ldap_authentication: "LDAP authentication" + label_less_or_equal: "<=" + label_less_than_ago: "less than days ago" + label_list: "List" + label_loading: "Loading..." + label_lock_user: 'Lock user' + label_logged_as: "Logged in as" + label_login: "Sign in" + label_custom_logo: "Custom logo" + label_custom_favicon: "Custom favicon" + label_custom_touch_icon: "Custom touch icon" + label_logout: "Sign out" + label_main_menu: "Side Menu" + label_manage_groups: "Manage groups" + label_managed_repositories_vendor: "Managed %{vendor} repositories" + label_max_size: "Maximum size" + label_me: "me" + label_member_new: "New member" + label_member_all_admin: "(All roles due to admin status)" + label_member_plural: "Members" + lable_membership_added: 'Member added' + lable_membership_updated: 'Member updated' + label_menu_badge: + pre_alpha: 'pre-alpha' + alpha: 'alpha' + beta: 'beta' + label_menu_item_name: "Name of menu item" + label_message: "Message" + label_message_last: "Last message" + label_message_new: "New message" + label_message_plural: "Messages" + label_message_posted: "Message added" + label_min_max_length: "Min - Max length" + label_minute_plural: "minutes" + label_missing_api_access_key: "Missing API access key" + label_missing_feeds_access_key: "Missing RSS access key" + label_modification: "%{count} change" + label_modified: "modified" + label_module_plural: "Modules" + label_modules: "Modules" + label_months_from: "months from" + label_more: "More" + label_more_than_ago: "more than days ago" + label_move_work_package: "Move work package" + label_my_account: "My account" + label_my_account_data: "My account data" + label_my_projects: "My projects" + label_my_queries: "My custom queries" + label_name: "Name" + label_never: "Never" + label_new: "New" + label_new_features: "New features" + label_new_statuses_allowed: "New statuses allowed" + label_news_singular: "News" + label_news_added: "News added" + label_news_comment_added: "Comment added to a news" + label_news_latest: "Latest news" + label_news_new: "Add news" + label_news_edit: "Edit news" + label_news_plural: "News" + label_news_view_all: "View all news" + label_next: "Next" + label_next_week: "Next week" + label_no_change_option: "(No change)" + label_no_data: "No data to display" + label_no_parent_page: "No parent page" + label_nothing_display: "Nothing to display" + label_nobody: "nobody" + label_not_found: 'not found' + label_none: "none" + label_none_parentheses: "(none)" + label_not_contains: "doesn't contain" + label_not_equals: "is not" + label_on: "on" + label_open_menu: "Open menu" + label_open_work_packages: "open" + label_open_work_packages_plural: "open" + label_openproject_website: "OpenProject website" + label_optional_description: "Description" + label_options: "Options" + label_other: "Other" + label_overall_activity: "Overall activity" + label_overview: "Overview" + label_page_title: "Page title" + label_part_of: "part of" + label_password_lost: "Forgot your password?" + label_password_rule_lowercase: "Lowercase" + label_password_rule_numeric: "Numeric Characters" + label_password_rule_special: "Special Characters" + label_password_rule_uppercase: "Uppercase" + label_path_encoding: "Path encoding" + label_pdf_with_descriptions: "PDF with Descriptions" + label_per_page: "Per page" + label_people: "People" + label_permissions: "Permissions" + label_permissions_report: "Permissions report" + label_personalize_page: "Personalize this page" + label_placeholder_user: "Placeholder user" + label_placeholder_user_new: "New placeholder user" + label_placeholder_user_plural: "Placeholder users" + label_planning: "Planning" + label_please_login: "Please log in" + label_plugins: "Plugins" + label_modules_and_plugins: "Modules and Plugins" + label_precedes: "precedes" + label_preferences: "Preferences" + label_preview: "Preview" + label_previous: "Previous" + label_previous_week: "Previous week" + label_principal_invite_via_email: " or invite new users via email" + label_principal_search: "Add existing users or groups" + label_privacy_policy: "Data privacy and security policy" + label_product_version: "Product version" + label_professional_support: "Professional support" + label_profile: "Profile" + label_project_count: "Total number of projects" + label_project_copy_notifications: "Send email notifications during the project copy" + label_project_latest: "Latest projects" + label_project_default_type: "Allow empty type" + label_project_hierarchy: "Project hierarchy" + label_project_new: "New project" + label_project_plural: "Projects" + label_project_settings: "Project settings" + label_project_storage_plural: "Storages" + label_projects_storage_information: "%{count} projects using %{storage} disk storage" + label_project_view_all: "View all projects" + label_project_show_details: "Show project details" + label_project_hide_details: "Hide project details" + label_public_projects: "Public projects" + label_query_new: "New query" + label_query_plural: "Custom queries" + label_read: "Read..." + label_register: "Create a new account" + label_register_with_developer: "Register as developer" + label_registered_on: "Registered on" + label_registration_activation_by_email: "account activation by email" + label_registration_automatic_activation: "automatic account activation" + label_registration_manual_activation: "manual account activation" + label_related_work_packages: "Related work packages" + label_relates: "related to" + label_relates_to: "related to" + label_relation_delete: "Delete relation" + label_relation_new: "New relation" + label_release_notes: "Release notes" + label_remove_columns: "Remove selected columns" + label_renamed: "renamed" + label_reply_plural: "Replies" + label_report: "Report" + label_report_bug: "Report a bug" + label_report_plural: "Reports" + label_reported_work_packages: "Reported work packages" + label_reporting: "Reporting" + label_reporting_plural: "Reportings" + label_repository: "Repository" + label_repository_root: "Repository root" + label_repository_plural: "Repositories" + label_required: 'required' + label_requires: 'requires' + label_result_plural: "Results" + label_reverse_chronological_order: "Newest first" + label_revision: "Revision" + label_revision_id: "Revision %{value}" + label_revision_plural: "Revisions" + label_roadmap: "Roadmap" + label_roadmap_edit: "Edit roadmap %{name}" + label_roadmap_due_in: "Due in %{value}" + label_roadmap_no_work_packages: "No work packages for this version" + label_roadmap_overdue: "%{value} late" + label_role_and_permissions: "Roles and permissions" + label_role_new: "New role" + label_role_plural: "Roles" + label_role_search: "Assign role to new members" + label_scm: "SCM" + label_search: "Search" + label_send_information: "Send account information to the user" + label_send_test_email: "Send a test email" + label_setting_plural: "Settings" + label_system_settings: "System settings" + label_show_completed_versions: "Show completed versions" + label_sort: "Sort" + label_sort_by: "Sort by %{value}" + label_sorted_by: "sorted by %{value}" + label_sort_higher: "Move up" + label_sort_highest: "Move to top" + label_sort_lower: "Move down" + label_sort_lowest: "Move to bottom" + label_spent_time: "Spent time" + label_start_to_end: "start to end" + label_start_to_start: "start to start" + label_statistics: "Statistics" + label_status: "Status" + label_stay_logged_in: "Stay logged in" + label_storage_free_space: "Remaining disk space" + label_storage_used_space: "Used disk space" + label_storage_group: "Storage filesystem %{identifier}" + label_storage_for: "Encompasses storage for" + label_string: "Text" + label_subproject: "Subproject" + label_subproject_new: "New subproject" + label_subproject_plural: "Subprojects" + label_subtask_plural: "Subtasks" + label_summary: "Summary" + label_system: "System" + label_system_storage: "Storage information" + label_table_of_contents: "Table of contents" + label_tag: "Tag" + label_text: "Long text" + label_this_month: "this month" + label_this_week: "this week" + label_this_year: "this year" + label_time_entry_plural: "Spent time" + label_projects_menu: "Projects" + label_today: "today" + label_top_menu: "Top Menu" + label_topic_plural: "Topics" + label_total: "Total" + label_type_new: "New type" + label_type_plural: "Types" + label_ui: "User Interface" + label_update_work_package_done_ratios: "Update work package done ratios" + label_updated_time: "Updated %{value} ago" + label_updated_time_at: "%{author} %{age}" + label_updated_time_by: "Updated by %{author} %{age} ago" + label_upgrade_guides: 'Upgrade guides' + label_used_by: "Used by" + label_used_by_types: "Used by types" + label_used_in_projects: "Used in projects" + label_user: "User" + label_user_and_permission: "Users and permissions" + label_user_named: "User %{name}" + label_user_activity: "%{value}'s activity" + label_user_anonymous: "Anonymous" + label_user_mail_option_all: "For any event on all my projects" + label_user_mail_option_none: "No events" + label_user_mail_option_only_assigned: "Only for things I am assigned to" + label_user_mail_option_only_my_events: "Only for things I watch or I'm involved in" + label_user_mail_option_only_owner: "Only for things I am the owner of" + label_user_mail_option_selected: "For any event on the selected projects only" + label_user_new: "New user" + label_user_plural: "Users" + label_user_search: "Search for user" + label_user_settings: "User settings" + label_version_new: "New version" + label_version_plural: "Versions" + label_version_sharing_descendants: "With subprojects" + label_version_sharing_hierarchy: "With project hierarchy" + label_version_sharing_none: "Not shared" + label_version_sharing_system: "With all projects" + label_version_sharing_tree: "With project tree" + label_videos: "Videos" + label_view_all_revisions: "View all revisions" + label_view_diff: "View differences" + label_view_revisions: "View revisions" + label_watched_work_packages: "Watched work packages" + label_what_is_this: "What is this?" + label_week: "Week" + label_wiki_content_added: "Wiki page added" + label_wiki_content_updated: "Wiki page updated" + label_wiki_toc: "Table of Contents" + label_wiki_toc_empty: "Table of Contents is empty as no headings are present." + label_wiki_dont_show_menu_item: "Do not show this wikipage in project navigation" + label_wiki_edit: "Wiki edit" + label_wiki_edit_plural: "Wiki edits" + label_wiki_page_attachments: "Wiki page attachments" + label_wiki_page_id: "Wiki page ID" + label_wiki_navigation: "Wiki navigation" + label_wiki_page: "Wiki page" + label_wiki_page_plural: "Wiki pages" + label_wiki_show_index_page_link: "Show submenu item 'Table of Contents'" + label_wiki_show_menu_item: "Show as menu item in project navigation" + label_wiki_show_new_page_link: "Show submenu item 'Create new child page'" + label_wiki_show_submenu_item: "Show as submenu item of " + label_wiki_start: "Start page" + label_work_package: "Work package" + label_work_package_attachments: "Work package attachments" + label_work_package_category_new: "New category" + label_work_package_category_plural: "Work package categories" + label_work_package_hierarchy: "Work package hierarchy" + label_work_package_new: "New work package" + label_work_package_edit: "Edit work package %{name}" + label_work_package_plural: "Work packages" + label_work_package_status: "Work package status" + label_work_package_status_new: "New status" + label_work_package_status_plural: "Work package statuses" + label_work_package_types: "Work package types" + label_work_package_tracking: "Work package tracking" + label_work_package_view_all: "View all work packages" + label_workflow: "Workflow" + label_workflow_plural: "Workflows" + label_workflow_summary: "Summary" + label_working_days: "Working days" + label_x_closed_work_packages_abbr: + one: "1 closed" + other: "%{count} closed" + zero: "0 closed" + label_x_comments: + one: "1 comment" + other: "%{count} comments" + zero: "no comments" + label_x_open_work_packages_abbr: + one: "1 open" + other: "%{count} open" + zero: "0 open" + label_x_projects: + one: "1 project" + other: "%{count} projects" + zero: "no projects" + label_yesterday: "yesterday" + label_role_type: "Type" + label_member_role: "Project Role" + label_global_role: "Global Role" + label_not_changeable: "(not changeable)" + label_global: "Global" + auth_source: + using_abstract_auth_source: "Can't use an abstract authentication source." + ldap_error: "LDAP-Error: %{error_message}" + ldap_auth_failed: "Could not authenticate at the LDAP-Server." + macro_execution_error: "Error executing the macro %{macro_name}" + macro_unavailable: "Macro %{macro_name} cannot be displayed." + macros: + placeholder: '[Placeholder] Macro %{macro_name}' + errors: + missing_or_invalid_parameter: 'Missing or invalid macro parameter.' + legacy_warning: + timeline: 'This legacy timeline macro has been removed and is no longer available. You can replace the functionality with an embedded table macro.' + include_wiki_page: + removed: 'The macro does no longer exist.' + wiki_child_pages: + errors: + page_not_found: "Cannot find the wiki page '%{name}'." + create_work_package_link: + errors: + no_project_context: 'Calling create_work_package_link macro from outside project context.' + invalid_type: "No type found with name '%{type}' in project '%{project}'." + link_name: 'New work package' + link_name_type: 'New %{type_name}' + mail: + actions: 'Actions' + digests: + including_mention_singular: 'including a mention' + including_mention_plural: 'including %{number_mentioned} mentions' + unread_notification_singular: '1 unread notification' + unread_notification_plural: '%{number_unread} unread notifications' + you_have: 'You have' + logo_alt_text: 'Logo' + mention: + subject: "%{user_name} mentioned you in #%{id} - %{subject}" + notification: + center: 'To notification center' + see_in_center: 'See comment in notification center' + settings: 'Change email settings' + salutation: 'Hello %{user}' + work_packages: + created_at: 'Created at %{timestamp} by %{user} ' + login_to_see_all: 'Log in to see all notifications.' + mentioned: 'You have been mentioned in a comment' + mentioned_by: '%{user} mentioned you in a comment' + more_to_see: + one: 'There is 1 more work package with notifications.' + other: 'There are %{count} more work packages with notifications.' + reason: + watched: 'Watched' + assigned: 'Assigned' + responsible: 'Accountable' + mentioned: 'Mentioned' + subscribed: 'all' + prefix: 'Received because of the notification setting: %{reason}' + date_alert_start_date: 'Date alert' + date_alert_due_date: 'Date alert' + see_all: 'See all' + updated_at: 'Updated at %{timestamp} by %{user}' + mail_body_account_activation_request: "A new user (%{value}) has registered. The account is pending your approval:" + mail_body_account_information: "Your account information" + mail_body_account_information_external: "You can use your %{value} account to log in." + mail_body_backup_ready: "Your requested backup is ready. You can download it here:" + mail_body_backup_token_reset_admin_info: The backup token for user '%{user}' has been reset. + mail_body_backup_token_reset_user_info: Your backup token has been reset. + mail_body_backup_token_info: The previous token is no longer valid. + mail_body_backup_waiting_period: The new token will be enabled in %{hours} hours. + mail_body_backup_token_warning: If this wasn't you, login to OpenProject immediately and reset it again. + mail_body_incoming_email_error: The email you sent to OpenProject could not be processed. + mail_body_incoming_email_error_in_reply_to: "At %{received_at} %{from_email} wrote" + mail_body_incoming_email_error_logs: "Logs" + mail_body_lost_password: "To change your password, click on the following link:" + mail_body_register: "Welcome to %{app_title}. Please activate your account by clicking on this link:" + mail_body_register_header_title: "Project member invitation email" + mail_body_register_user: "Dear %{name}, " + mail_body_register_links_html: | + Please feel free to browse our youtube channel (%{youtube_link}) where we provide a webinar (%{webinar_link}) + and “Get started” videos (%{get_started_link}) to make your first steps in OpenProject as easy as possible. +
+ If you have any further questions, consult our documentation (%{documentation_link}) or contact your administrator. + mail_body_register_closing: "Your OpenProject team" + mail_body_register_ending: "Stay connected! Kind regards," + mail_body_reminder: "%{count} work package(s) that are assigned to you are due in the next %{days} days:" + mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_wiki_content_added: "The '%{id}' wiki page has been added by %{author}." + mail_body_wiki_content_updated: "The '%{id}' wiki page has been updated by %{author}." + mail_subject_account_activation_request: "%{value} account activation request" + mail_subject_backup_ready: "Your backup is ready" + mail_subject_backup_token_reset: "Backup token reset" + mail_subject_incoming_email_error: "An email you sent to OpenProject could not be processed" + mail_subject_lost_password: "Your %{value} password" + mail_subject_register: "Your %{value} account activation" + mail_subject_reminder: "%{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_wiki_content_added: "'%{id}' wiki page has been added" + mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated" + mail_member_added_project: + subject: "%{project} - You have been added as a member" + body: + added_by: + without_message: "%{user} added you as a member to the project '%{project}'." + with_message: "%{user} added you as a member to the project '%{project}' writing:" + roles: "You have the following roles:" + mail_member_updated_project: + subject: "%{project} - Your roles have been updated" + body: + updated_by: + without_message: "%{user} updated the roles you have in the project '%{project}'." + with_message: "%{user} updated the roles you have in the project '%{project}' writing:" + roles: "You now have the following roles:" + mail_member_updated_global: + subject: "Your global permissions have been updated" + body: + updated_by: + without_message: "%{user} updated the roles you have globally." + with_message: "%{user} updated the roles you have globally writing:" + roles: "You now have the following roles:" + mail_user_activation_limit_reached: + subject: User activation limit reached + message: | + A new user (%{email}) tried to create an account on an OpenProject environment that you manage (%{host}). + The user cannot activate their account since the user limit has been reached. + steps: + label: "To allow the user to sign in you can either: " + a: "Upgrade your payment plan ([here](upgrade_url))" #here turned into a link + b: "Lock or delete an existing user ([here](users_url))" #here turned into a link + more_actions: "More functions" + noscript_description: "You need to activate JavaScript in order to use OpenProject!" + noscript_heading: "JavaScript disabled" + noscript_learn_more: "Learn more" + notice_accessibility_mode: The accessibility mode can be enabled in your [account settings](url). + notice_account_activated: "Your account has been activated. You can now log in." + notice_account_already_activated: The account has already been activated. + notice_account_invalid_token: Invalid activation token + notice_account_invalid_credentials: "Invalid user or password" + notice_account_invalid_credentials_or_blocked: "Invalid user or password or the account is blocked due to multiple failed login attempts. If so, it will be unblocked automatically in a short time." + notice_account_lost_email_sent: "An email with instructions to choose a new password has been sent to you." + notice_account_new_password_forced: "A new password is required." + notice_account_password_expired: "Your password expired after %{days} days. Please set a new one." + notice_account_password_updated: "Password was successfully updated." + notice_account_pending: "Your account was created and is now pending administrator approval." + notice_account_register_done: "Account was successfully created. To activate your account, click on the link that was emailed to you." + notice_account_unknown_email: "Unknown user." + notice_account_update_failed: "Account setting could not be saved. Please have a look at your account page." + notice_account_updated: "Account was successfully updated." + notice_account_other_session_expired: "All other sessions tied to your account have been invalidated." + notice_account_wrong_password: "Wrong password" + notice_account_registered_and_logged_in: "Welcome, your account has been activated. You are logged in now." + notice_activation_failed: The account could not be activated. + notice_auth_stage_verification_error: "Could not verify stage '%{stage}'." + notice_auth_stage_wrong_stage: "Expected to finish authentication stage '%{expected}', but '%{actual}' returned." + notice_auth_stage_error: "Authentication stage '%{stage}' failed." + notice_can_t_change_password: "This account uses an external authentication source. Impossible to change the password." + notice_custom_options_deleted: "Option '%{option_value}' and its %{num_deleted} occurrences were deleted." + notice_email_error: "An error occurred while sending mail (%{value})" + notice_email_sent: "An email was sent to %{value}" + notice_failed_to_save_work_packages: "Failed to save %{count} work package(s) on %{total} selected: %{ids}." + notice_failed_to_save_members: "Failed to save member(s): %{errors}." + notice_deletion_scheduled: "The deletion has been scheduled and is performed asynchronously." + notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." + notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." + notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." + notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_locking_conflict: "Information has been updated by at least one other user in the meantime." + notice_locking_conflict_additional_information: "The update(s) came from %{users}." + notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." + notice_member_added: Added %{name} to the project. + notice_members_added: Added %{number} users to the project. + notice_member_removed: "Removed %{user} from project." + notice_member_deleted: "%{user} has been removed from the project and deleted." + notice_no_principals_found: "No results found." + notice_bad_request: "Bad Request." + notice_not_authorized: "You are not authorized to access this page." + notice_not_authorized_archived_project: "The project you're trying to access has been archived." + notice_password_confirmation_failed: "Your password is not correct. Cannot continue." + notice_principals_found_multiple: "There are %{number} results found. \n Tab to focus the first result." + notice_principals_found_single: "There is one result. \n Tab to focus it." + notice_project_not_deleted: "The project wasn't deleted." + notice_successful_connection: "Successful connection." + notice_successful_create: "Successful creation." + notice_successful_delete: "Successful deletion." + notice_successful_update: "Successful update." + notice_successful_update_custom_fields_added_to_project: | + Successful update. The custom fields of the activated types are automatically activated + on the work package form. See more. + notice_successful_update_custom_fields_added_to_type: | + Successful update. The active custom fields are automatically activated for + the associated projects of this type. + notice_to_many_principals_to_display: "There are too many results.\nNarrow down the search by typing in the name of the new member (or group)." + notice_user_missing_authentication_method: User has yet to choose a password or another way to sign in. + notice_user_invitation_resent: An invitation has been sent to %{email}. + present_access_key_value: "Your %{key_name} is: %{value}" + notice_automatic_set_of_standard_type: "Set standard type automatically." + notice_logged_out: "You have been logged out." + notice_wont_delete_auth_source: The authentication mode cannot be deleted as long as there are still users using it. + notice_project_cannot_update_custom_fields: "You cannot update the project's available custom fields. The project is invalid: %{errors}" + notice_attachment_migration_wiki_page: > + This page was generated automatically during the update of OpenProject. It contains all attachments previously associated with the %{container_type} "%{container_name}". + #Default format for numbers + number: + format: + delimiter: "" + precision: 3 + separator: "." + human: + format: + delimiter: "" + precision: 1 + storage_units: + format: "%n %u" + units: + byte: + one: "Byte" + other: "Bytes" + gb: "GB" + kb: "kB" + mb: "MB" + tb: "TB" + onboarding: + heading_getting_started: "Get an overview" + text_getting_started_description: "Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu." + welcome: "Welcome to %{app_title}" + select_language: "Please select your language" + permission_add_work_package_notes: "Add notes" + permission_add_work_packages: "Add work packages" + permission_add_messages: "Post messages" + permission_add_project: "Create project" + permission_manage_user: "Create and edit users" + permission_manage_placeholder_user: "Create, edit, and delete placeholder users" + permission_add_subprojects: "Create subprojects" + permission_add_work_package_watchers: "Add watchers" + permission_assign_versions: "Assign versions" + permission_browse_repository: "Read-only access to repository (browse and checkout)" + permission_change_wiki_parent_page: "Change parent wiki page" + permission_comment_news: "Comment news" + permission_commit_access: "Read/write access to repository (commit)" + permission_copy_projects: "Copy projects" + permission_create_backup: "Create backup" + permission_delete_work_package_watchers: "Delete watchers" + permission_delete_work_packages: "Delete work packages" + permission_delete_messages: "Delete messages" + permission_delete_own_messages: "Delete own messages" + permission_delete_reportings: "Delete reportings" + permission_delete_timelines: "Delete timelines" + permission_delete_wiki_pages: "Delete wiki pages" + permission_delete_wiki_pages_attachments: "Delete attachments" + permission_edit_work_package_notes: "Edit notes" + permission_edit_work_packages: "Edit work packages" + permission_edit_messages: "Edit messages" + permission_edit_own_work_package_notes: "Edit own notes" + permission_edit_own_messages: "Edit own messages" + permission_edit_own_time_entries: "Edit own time logs" + permission_edit_project: "Edit project" + permission_edit_reportings: "Edit reportings" + permission_edit_time_entries: "Edit time logs for other users" + permission_edit_timelines: "Edit timelines" + permission_edit_wiki_pages: "Edit wiki pages" + permission_export_work_packages: "Export work packages" + permission_export_wiki_pages: "Export wiki pages" + permission_list_attachments: "List attachments" + permission_log_own_time: "Log own time" + permission_log_time: "Log time for other users" + permission_manage_forums: "Manage forums" + permission_manage_categories: "Manage work package categories" + permission_manage_work_package_relations: "Manage work package relations" + permission_manage_members: "Manage members" + permission_manage_news: "Manage news" + permission_manage_project_activities: "Manage project activities" + permission_manage_public_queries: "Manage public views" + permission_manage_repository: "Manage repository" + permission_manage_subtasks: "Manage work package hierarchies" + permission_manage_versions: "Manage versions" + permission_manage_wiki: "Manage wiki" + permission_manage_wiki_menu: "Manage wiki menu" + permission_move_work_packages: "Move work packages" + permission_protect_wiki_pages: "Protect wiki pages" + permission_rename_wiki_pages: "Rename wiki pages" + permission_save_queries: "Save views" + permission_select_custom_fields: "Select custom fields" + permission_select_project_modules: "Select project modules" + permission_manage_types: "Select types" + permission_view_changesets: "View repository revisions in OpenProject" + permission_view_commit_author_statistics: "View commit author statistics" + permission_view_work_package_watchers: "View watchers list" + permission_view_work_packages: "View work packages" + permission_view_messages: "View messages" + permission_view_members: "View members" + permission_view_reportings: "View reportings" + permission_view_time_entries: "View spent time" + permission_view_timelines: "View timelines" + permission_view_wiki_edits: "View wiki history" + permission_view_wiki_pages: "View wiki" + permission_work_package_assigned: "Become assignee/responsible" + permission_work_package_assigned_explanation: "Work packages can be assigned to users and groups in possession of this role in the respective project" + placeholders: + default: "-" + project: + destroy: + confirmation: "If you continue, the project %{identifier} and all related data will be permanently destroyed." + info: "Deleting the project is an irreversible action." + project_verification: "Enter the project's name %{name} to verify the deletion." + subprojects_confirmation: "Its subproject(s): %{value} will also be deleted." + title: "Delete the project %{name}" + identifier: + warning_one: Members of the project will have to relocate the project's repositories. + warning_two: Existing links to the project will no longer work. + title: Change the project's identifier + template: + copying: > + Your project is being created from the selected template project. You will be notified by mail as soon as the project is available. + use_template: 'Use template' + make_template: 'Set as template' + remove_from_templates: 'Remove from templates' + archive: + are_you_sure: "Are you sure you want to archive the project '%{name}'?" + archived: "Archived" + project_module_activity: "Activity" + project_module_forums: "Forums" + project_module_work_package_tracking: "Work package tracking" + project_module_news: "News" + project_module_repository: "Repository" + project_module_wiki: "Wiki" + query: + attribute_and_direction: "%{attribute} (%{direction})" + #possible query parameters (e.g. issue queries), + #which are not attributes of an AR-Model. + query_fields: + active_or_archived: "Active or archived" + assigned_to_role: "Assignee's role" + member_of_group: "Assignee's group" + assignee_or_group: "Assignee or belonging group" + subproject_id: "Including subproject" + only_subproject_id: "Only subproject" + name_or_identifier: "Name or identifier" + repositories: + at_identifier: 'at %{identifier}' + atom_revision_feed: 'Atom revision feed' + autofetch_information: "Check this if you want repositories to be updated automatically when accessing the repository module page.\nThis encompasses the retrieval of commits from the repository and refreshing the required disk storage." + checkout: + access: + readwrite: 'Read + Write' + read: 'Read-only' + none: 'No checkout access, you may only view the repository through this application.' + access_permission: 'Your permissions on this repository' + url: "Checkout URL" + base_url_text: "The base URL to use for generating checkout URLs (e.g., https://myserver.example.org/repos/).\nNote: The base URL is only used for rewriting checkout URLs in managed repositories. Other repositories are not altered." + default_instructions: + git: |- + The data contained in this repository can be downloaded to your computer with Git. + Please consult the documentation of Git if you need more information on the checkout procedure and available clients. + subversion: |- + The data contained in this repository can be downloaded to your computer with Subversion. + Please consult the documentation of Subversion if you need more information on the checkout procedure and available clients. + enable_instructions_text: "Displays checkout instructions defined below on all repository-related pages." + instructions: "Checkout instructions" + show_instructions: "Display checkout instructions" + text_instructions: "This text is displayed alongside the checkout URL for guidance on how to check out the repository." + not_available: "Checkout instructions are not defined for this repository. Ask your administrator to enable them for this repository in the system settings." + create_managed_delay: "Please note: The repository is managed, it is created asynchronously on the disk and will be available shortly." + create_successful: "The repository has been registered." + delete_sucessful: "The repository has been deleted." + destroy: + confirmation: "If you continue, this will permanently delete the managed repository." + info: "Deleting the repository is an irreversible action." + info_not_managed: "Note: This will NOT delete the contents of this repository, as it is not managed by OpenProject." + managed_path_note: "The following directory will be erased: %{path}" + repository_verification: "Enter the project's identifier %{identifier} to verify the deletion of its repository." + subtitle: "Do you really want to delete the %{repository_type} of the project %{project_name}?" + subtitle_not_managed: "Do you really want to remove the linked %{repository_type} %{url} from the project %{project_name}?" + title: "Delete the %{repository_type}" + title_not_managed: "Remove the linked %{repository_type}?" + errors: + build_failed: "Unable to create the repository with the selected configuration. %{reason}" + managed_delete: "Unable to delete the managed repository." + managed_delete_local: "Unable to delete the local repository on filesystem at '%{path}': %{error_message}" + empty_repository: "The repository exists, but is empty. It does not contain any revisions yet." + exists_on_filesystem: "The repository directory already exists in the filesystem." + filesystem_access_failed: "An error occurred while accessing the repository in the filesystem: %{message}" + not_manageable: "This repository vendor cannot be managed by OpenProject." + path_permission_failed: "An error occurred trying to create the following path: %{path}. Please ensure that OpenProject may write to that folder." + unauthorized: "You're not authorized to access the repository or the credentials are invalid." + unavailable: "The repository is unavailable." + exception_title: "Cannot access the repository: %{message}" + disabled_or_unknown_type: "The selected type %{type} is disabled or no longer available for the SCM vendor %{vendor}." + disabled_or_unknown_vendor: "The SCM vendor %{vendor} is disabled or no longer available." + remote_call_failed: "Calling the managed remote failed with message '%{message}' (Code: %{code})" + remote_invalid_response: "Received an invalid response from the managed remote." + remote_save_failed: "Could not save the repository with the parameters retrieved from the remote." + git: + instructions: + managed_url: "This is the URL of the managed (local) Git repository." + path: >- + Specify the path to your local Git repository ( e.g., %{example_path} ). You can also use remote repositories which are cloned to a local copy by using a value starting with http(s):// or file://. + path_encoding: "Override Git path encoding (Default: UTF-8)" + local_title: "Link existing local Git repository" + local_url: "Local URL" + local_introduction: "If you have an existing local Git repository, you can link it with OpenProject to access it from within the application." + managed_introduction: "Let OpenProject create and integrate a local Git repository automatically." + managed_title: "Git repository integrated into OpenProject" + managed_url: "Managed URL" + path: "Path to Git repository" + path_encoding: "Path encoding" + go_to_revision: "Go to revision" + managed_remote: "Managed repositories for this vendor are handled remotely." + managed_remote_note: "Information on the URL and path of this repository is not available prior to its creation." + managed_url: "Managed URL" + settings: + automatic_managed_repos_disabled: "Disable automatic creation" + automatic_managed_repos: "Automatic creation of managed repositories" + automatic_managed_repos_text: "By setting a vendor here, newly created projects will automatically receive a managed repository of this vendor." + scm_vendor: "Source control management system" + scm_type: "Repository type" + scm_types: + local: "Link existing local repository" + existing: "Link existing repository" + managed: "Create new repository in OpenProject" + storage: + not_available: "Disk storage consumption is not available for this repository." + update_timeout: "Keep the last required disk space information for a repository for N minutes.\nAs counting the required disk space of a repository may be costly, increase this value to reduce performance impact." + oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the Nextcloud OpenProject Integration settings:" + oauth_application_details_link_text: "Go to settings page" + setup_documentation_details: "If you need help configuring a new file storage please check the documentation: " + setup_documentation_details_link_text: "File Storages setup" + show_warning_details: "To use this file storage remember to activate the module and the specific storage in the project settings of each desired project." + subversion: + existing_title: "Existing Subversion repository" + existing_introduction: "If you have an existing Subversion repository, you can link it with OpenProject to access it from within the application." + existing_url: "Existing URL" + instructions: + managed_url: "This is the URL of the managed (local) Subversion repository." + url: "Enter the repository URL. This may either target a local repository (starting with %{local_proto} ), or a remote repository.\nThe following URL schemes are supported:" + managed_title: "Subversion repository integrated into OpenProject" + managed_introduction: "Let OpenProject create and integrate a local Subversion repository automatically." + managed_url: "Managed URL" + password: "Repository Password" + username: "Repository username" + truncated: "Sorry, we had to truncate this directory to %{limit} files. %{truncated} entries were omitted from the list." + named_repository: "%{vendor_name} repository" + update_settings_successful: "The settings have been successfully saved." + url: "URL to repository" + warnings: + cannot_annotate: "This file cannot be annotated." + scheduling: + activated: 'activated' + deactivated: 'deactivated' + search_input_placeholder: "Search ..." + setting_apiv3_cors_enabled: "Enable CORS" + setting_apiv3_cors_origins: "API V3 Cross-Origin Resource Sharing (CORS) allowed origins" + setting_apiv3_cors_origins_text_html: > + If CORS is enabled, these are the origins that are allowed to access OpenProject API.
Please check the Documentation on the Origin header on how to specify the expected values. + setting_apiv3_max_page_size: "Maximum API page size" + setting_apiv3_max_page_instructions_html: > + Set the maximum page size the API will respond with. It will not be possible to perform API requests that return more values on a single page.
Warning: Please only change this value if you are sure why you need it. Setting to a high value will result in significant performance impacts, while a value lower than the per page options will cause errors in paginated views. + setting_apiv3_docs: "Documentation" + setting_apiv3_docs_enabled: "Enable docs page" + setting_apiv3_docs_enabled_instructions_html: > + If the docs page is enabled you can get an interactive view of the APIv3 documentation under %{link}. + setting_attachment_whitelist: "Attachment upload whitelist" + setting_email_delivery_method: "Email delivery method" + setting_sendmail_location: "Location of the sendmail executable" + setting_smtp_enable_starttls_auto: "Automatically use STARTTLS if available" + setting_smtp_ssl: "Use SSL connection" + setting_smtp_address: "SMTP server" + setting_smtp_port: "SMTP port" + setting_smtp_authentication: "SMTP authentication" + setting_smtp_user_name: "SMTP username" + setting_smtp_password: "SMTP password" + setting_smtp_domain: "SMTP HELO domain" + setting_activity_days_default: "Days displayed on project activity" + setting_app_subtitle: "Application subtitle" + setting_app_title: "Application title" + setting_attachment_max_size: "Attachment max. size" + setting_autofetch_changesets: "Autofetch repository changes" + setting_autologin: "Autologin" + setting_available_languages: "Available languages" + setting_bcc_recipients: "Blind carbon copy recipients (bcc)" + setting_brute_force_block_after_failed_logins: "Block user after this number of failed login attempts" + setting_brute_force_block_minutes: "Time the user is blocked for" + setting_cache_formatted_text: "Cache formatted text" + setting_use_wysiwyg_description: "Select to enable CKEditor5 WYSIWYG editor for all users by default. CKEditor has limited functionality for GFM Markdown." + setting_column_options: "Customize the appearance of the work package lists" + setting_commit_fix_keywords: "Fixing keywords" + setting_commit_logs_encoding: "Commit messages encoding" + setting_commit_logtime_activity_id: "Activity for logged time" + setting_commit_logtime_enabled: "Enable time logging" + setting_commit_ref_keywords: "Referencing keywords" + setting_consent_time: "Consent time" + setting_consent_info: "Consent information text" + setting_consent_required: "Consent required" + setting_consent_decline_mail: "Consent contact mail address" + setting_cross_project_work_package_relations: "Allow cross-project work package relations" + setting_first_week_of_year: "First week in year contains" + setting_date_format: "Date format" + setting_default_language: "Default language" + setting_default_projects_modules: "Default enabled modules for new projects" + setting_default_projects_public: "New projects are public by default" + setting_diff_max_lines_displayed: "Max number of diff lines displayed" + setting_display_subprojects_work_packages: "Display subprojects work packages on main projects by default" + setting_emails_footer: "Emails footer" + setting_emails_header: "Emails header" + setting_email_login: "Use email as login" + setting_enabled_scm: "Enabled SCM" + setting_enabled_projects_columns: "Visible in project list" + setting_feeds_enabled: "Enable Feeds" + setting_feeds_limit: "Feed content limit" + setting_file_max_size_displayed: "Max size of text files displayed inline" + setting_host_name: "Host name" + setting_invitation_expiration_days: "Activation email expires after" + setting_work_package_done_ratio: "Calculate the work package done ratio with" + setting_work_package_done_ratio_field: "Use the work package field" + setting_work_package_done_ratio_status: "Use the work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_list_default_columns: "Display by default" + setting_work_package_properties: "Work package properties" + setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" + setting_work_packages_projects_export_limit: "Work packages / Projects export limit" + setting_journal_aggregation_time_minutes: "User actions aggregated within" + setting_log_requesting_user: "Log user login, name, and mail address for all requests" + setting_login_required: "Authentication required" + setting_mail_from: "Emission email address" + setting_mail_handler_api_key: "API key" + setting_mail_handler_body_delimiters: "Truncate emails after one of these lines" + setting_mail_handler_body_delimiter_regex: "Truncate emails matching this regex" + setting_mail_handler_ignore_filenames: "Ignored mail attachments" + setting_new_project_user_role_id: "Role given to a non-admin user who creates a project" + setting_password_active_rules: "Active character classes" + setting_password_count_former_banned: "Number of most recently used passwords banned for reuse" + setting_password_days_valid: "Number of days, after which to enforce a password change" + setting_password_min_length: "Minimum length" + setting_password_min_adhered_rules: "Minimum number of required classes" + setting_per_page_options: "Objects per page options" + setting_plain_text_mail: "Plain text mail (no HTML)" + setting_protocol: "Protocol" + setting_project_gantt_query: "Project portfolio Gantt view" + setting_project_gantt_query_text: "You can modify the query that is used to display Gantt chart from the project overview page." + setting_security_badge_displayed: "Display security badge" + setting_registration_footer: "Registration footer" + setting_repositories_automatic_managed_vendor: "Automatic repository vendor type" + setting_repositories_encodings: "Repositories encodings" + setting_repository_authentication_caching_enabled: "Enable caching for authentication request of version control software" + setting_repository_storage_cache_minutes: "Repository disk size cache" + setting_repository_checkout_display: "Show checkout instructions" + setting_repository_checkout_base_url: "Checkout base URL" + setting_repository_checkout_text: "Checkout instruction text" + setting_repository_log_display_limit: "Maximum number of revisions displayed on file log" + setting_repository_truncate_at: "Maximum number of files displayed in the repository browser" + setting_rest_api_enabled: "Enable REST web service" + setting_self_registration: "Self-registration" + setting_session_ttl: "Session expiry time after inactivity" + setting_session_ttl_hint: "Value below 5 works like disabled" + setting_session_ttl_enabled: "Session expires" + setting_start_of_week: "Week starts on" + setting_sys_api_enabled: "Enable repository management web service" + setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." + setting_time_format: "Time format" + setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" + setting_user_format: "Users display format" + setting_user_default_timezone: "Users default time zone" + setting_users_deletable_by_admins: "User accounts deletable by admins" + setting_users_deletable_by_self: "Users allowed to delete their accounts" + setting_welcome_text: "Welcome block text" + setting_welcome_title: "Welcome block title" + setting_welcome_on_homescreen: "Display welcome block on homescreen" + setting_work_package_list_default_highlighting_mode: "Default highlighting mode" + setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" + settings: + general: "General" + other: "Other" + passwords: "Passwords" + session: "Session" + brute_force_prevention: "Automated user blocking" + attachments: + whitelist_text_html: > + Define a list of valid file extensions and/or mime types for uploaded files.
Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + display: + first_date_of_week_and_year_set: > + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + user: + default_preferences: "Default preferences" + deletion: "Deletion" + highlighting: + mode_long: + inline: "Highlight attribute(s) inline" + none: "No highlighting" + status: "Entire row by Status" + type: "Entire row by Type" + priority: "Entire row by Priority" + text_formatting: + markdown: 'Markdown' + plain: 'Plain text' + status_active: "active" + status_archived: "archived" + status_invited: invited + status_locked: locked + status_registered: registered + #Used in array.to_sentence. + support: + array: + sentence_connector: "and" + skip_last_comma: "false" + text_accessibility_hint: "The accessibility mode is designed for users who are blind, motorically handicaped or have a bad eyesight. For the latter focused elements are specially highlighted. Please notice, that the Backlogs module is not available in this mode." + text_access_token_hint: "Access tokens allow you to grant external applications access to resources in OpenProject." + text_analyze: "Further analyze: %{subject}" + text_are_you_sure: "Are you sure?" + text_are_you_sure_continue: "Are you sure you want to continue?" + text_are_you_sure_with_children: "Delete work package and all child work packages?" + text_assign_to_project: "Assign to the project" + text_form_configuration: > + You can customize which fields will be displayed in work package forms. You can freely group the fields to reflect the needs for your domain. + text_form_configuration_required_attribute: "Attribute is marked required and thus always shown" + text_caracters_maximum: "%{count} characters maximum." + text_caracters_minimum: "Must be at least %{count} characters long." + text_comma_separated: "Multiple values allowed (comma separated)." + text_comment_wiki_page: "Comment to wiki page: %{page}" + text_custom_field_possible_values_info: "One line for each value" + text_custom_field_hint_activate_per_project: > + When using custom fields: Keep in mind that custom fields need to be activated per project, too. + text_custom_field_hint_activate_per_project_and_type: > + Custom fields need to be activated per work package type and per project. + text_wp_custom_field_html: > + The Enterprise edition will add these additional add-ons for work packages' custom fields:
  • Allow multi-select for custom fields of type List or User
+ text_wp_status_read_only_html: > + The Enterprise edition will add these additional add-ons for work packages' statuses fields:
  • Allow to mark work packages to read-only for specific statuses
+ text_project_custom_field_html: > + The Enterprise edition will add these additional add-ons for projects' custom fields:
  • Add custom fields for projects to your Project list to create a project portfolio view
+ text_custom_logo_instructions: > + A white logo on transparent background is recommended. For best results on both, conventional and retina displays, make sure your image's dimensions are 460px by 60px. + text_custom_favicon_instructions: > + This is the tiny icon that appears in your browser window/tab next to the page's title. It's needs to be a squared 32 by 32 pixels sized PNG image file with a transparent background. + text_custom_touch_icon_instructions: > + This is the icon that appears in your mobile or tablet when you place a bookmark on your homescreen. It's needs to be a squared 180 by 180 pixels sized PNG image file. Please make sure the image's background is not transparent otherwise it will look bad on iOS. + text_database_allows_tsv: "Database allows TSVector (optional)" + text_default_administrator_account_changed: "Default administrator account changed" + text_default_encoding: "Default: UTF-8" + text_destroy: "Delete" + text_destroy_with_associated: "There are additional objects assossociated with the work package(s) that are to be deleted. Those objects are of the following types:" + text_destroy_what_to_do: "What do you want to do?" + text_diff_truncated: "... This diff was truncated because it exceeds the maximum size that can be displayed." + text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server to enable them." + text_enumeration_category_reassign_to: "Reassign them to this value:" + text_enumeration_destroy_question: "%{count} objects are assigned to this value." + text_file_repository_writable: "Attachments directory writable" + text_git_repo_example: "a bare and local repository (e.g. /gitrepo, c:\\gitrepo)" + text_hint_date_format: "Enter a date in the form of YYYY-MM-DD. Other formats may be changed to an unwanted date." + text_hint_disable_with_0: "Note: Disable with 0" + text_hours_between: "Between %{min} and %{max} hours." + text_work_package_added: "Work package %{id} has been reported by %{author}." + text_work_package_category_destroy_assignments: "Remove category assignments" + text_work_package_category_destroy_question: "Some work packages (%{count}) are assigned to this category. What do you want to do?" + text_work_package_category_reassign_to: "Reassign work packages to this category" + text_work_package_updated: "Work package %{id} has been updated by %{author}." + text_work_package_watcher_added: "You have been added as a watcher to Work package %{id} by %{watcher_changer}." + text_work_package_watcher_removed: "You have been removed from watchers of Work package %{id} by %{watcher_changer}." + text_work_packages_destroy_confirmation: "Are you sure you want to delete the selected work package(s)?" + text_work_packages_ref_in_commit_messages: "Referencing and fixing work packages in commit messages" + text_journal_added: "%{label} %{value} added" + text_journal_changed_html: "%{label} changed from %{old} %{linebreak}to %{new}" + text_journal_changed_plain: "%{label} changed from %{old} %{linebreak}to %{new}" + text_journal_changed_no_detail: "%{label} updated" + text_journal_changed_with_diff: "%{label} changed (%{link})" + text_journal_deleted: "%{label} deleted (%{old})" + text_journal_deleted_with_diff: "%{label} deleted (%{link})" + text_journal_set_to: "%{label} set to %{value}" + text_journal_set_with_diff: "%{label} set (%{link})" + text_journal_label_value: "%{label} %{value}" + text_latest_note: "The latest comment is: %{note}" + text_length_between: "Length between %{min} and %{max} characters." + text_line_separated: "Multiple values allowed (one line for each value)." + text_load_default_configuration: "Load the default configuration" + text_min_max_length_info: "0 means no restriction" + text_no_roles_defined: There are no roles defined. + text_no_access_tokens_configurable: "There are no access tokens which can be configured." + text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded." + text_no_notes: "There are no comments available for this work package." + text_notice_too_many_values_are_inperformant: "Note: Displaying more than 100 items per page can increase the page load time." + text_notice_security_badge_displayed_html: > + Note: if enabled, this will display a badge with your installation status in the %{information_panel_label} administration panel, and on the home page. It is displayed to administrators only.
The badge will check your current OpenProject version against the official OpenProject release database to alert you of any updates or known vulnerabilities. For more information on what the check provides, what data is needed to provide available updates, and how to disable this check, please visit the configuration documentation. + text_own_membership_delete_confirmation: "You are about to remove some or all of your permissions and may no longer be able to edit this project after that.\nAre you sure you want to continue?" + text_plugin_assets_writable: "Plugin assets directory writable" + text_powered_by: "Powered by %{link}" + text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter." + text_reassign: "Reassign to work package:" + text_regexp_info: "eg. ^[A-Z0-9]+$" + text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+' + text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped." + text_status_changed_by_changeset: "Applied in changeset %{value}." + text_table_difference_description: "In this table the single %{entries} are shown. You can view the difference between any two entries by first selecting the according checkboxes in the table. When clicking on the button below the table the differences are shown." + text_time_logged_by_changeset: "Applied in changeset %{value}." + text_tip_work_package_begin_day: "work package beginning this day" + text_tip_work_package_begin_end_day: "work package beginning and ending this day" + text_tip_work_package_end_day: "work package ending this day" + text_type_no_workflow: "No workflow defined for this type" + text_unallowed_characters: "Unallowed characters" + text_user_invited: The user has been invited and is pending registration. + text_user_wrote: "%{value} wrote:" + text_warn_on_leaving_unsaved: "The work package contains unsaved text that will be lost if you leave this page." + text_what_did_you_change_click_to_add_comment: "What did you change? Click to add comment" + text_wiki_destroy_confirmation: "Are you sure you want to delete this wiki and all its content?" + text_wiki_page_destroy_children: "Delete child pages and all their descendants" + text_wiki_page_destroy_question: "This page has %{descendants} child page(s) and descendant(s). What do you want to do?" + text_wiki_page_nullify_children: "Keep child pages as root pages" + text_wiki_page_reassign_children: "Reassign child pages to this parent page" + text_workflow_edit: "Select a role and a type to edit the workflow" + text_zoom_in: "Zoom in" + text_zoom_out: "Zoom out" + text_setup_mail_configuration: "Configure your email provider" + time: + am: "am" + formats: + default: "%m/%d/%Y %I:%M %p" + long: "%B %d, %Y %H:%M" + short: "%d %b %H:%M" + time: "%I:%M %p" + pm: "pm" + timeframe: + show: "Show timeframe" + end: "to" + start: "from" + timelines: + admin_menu: + color: "Color" + colors: "Colors" + associations: "Dependencies" + button_delete_all: "Delete all" + change: "Change in planning" + children: "Child elements" + color_could_not_be_saved: "Color could not be saved" + current_planning: "Current planning" + dates: "Dates" + dates_are_calculated_based_on_sub_elements: "Dates are calculated based on sub elements." + delete_all: "Delete all" + delete_thing: "Delete" + duration: "Duration" + duration_days: + one: "1 day" + other: "%{count} days" + edit_color: "Edit color" + edit_thing: "Edit" + edit_timeline: "Edit timeline report %{timeline}" + delete_timeline: "Delete timeline report %{timeline}" + empty: "(empty)" + enable_type_in_project: 'Enable type "%{type}"' + end: "End" + errors: + not_implemented: "The timeline could not be rendered because it uses a feature that is not yet implemented." + report_comparison: "The timeline could not render the configured comparisons. Please check the appropriate section in the configuration, resetting it can help solve this problem." + report_epicfail: "The timeline could not be loaded due to an unexpected error." + report_timeout: "The timeline could not be loaded in a reasonable amount of time." + filter: + errors: + timeframe_start: "The timeframe start " + timeframe_end: "The timeframe end " + compare_to_relative: "The value of the relative comparison " + compare_to_absolute: "The value of the absolute comparison " + planning_element_time_relative_one: "The start for work packages in a certain timeframe " + planning_element_time_relative_two: "The end for work packages in a certain timeframe " + planning_element_time_absolute_one: "The start for work packages in a certain timeframe " + planning_element_time_absolute_two: "The end for work packages in a certain timeframe " + sort: + sortation: "Sort by" + alphabet: "alphabet" + explicit_order: "explicit order" + project_sortation: "Sort projects by" + date: "date" + default: "default" + column: + assigned_to: "Assignee" + type: "Type" + due_date: "End date" + name: "Name" + status: "Status" + start_date: "Start date" + columns: "Columns" + comparisons: "Comparisons" + comparison: + absolute: "Absolute" + none: "None" + relative: "Relative" + compare_relative_prefix: "Compare current planning to" + compare_relative_suffix: "ago" + compare_absolute: "Compare current planning to %{date}" + time_relative: + days: "days" + weeks: "weeks" + months: "months" + exclude_own_work_packages: "Hide work packages from this project" + exclude_reporters: "Hide other projects" + exclude_empty: "Hide empty projects" + grouping: "Grouping" + grouping_hide_group: "Hide group \"%{group}\"" + grouping_one: "First grouping criterion" + grouping_one_phrase: "Is a subproject of" + grouping_other: "Other" + hide_chart: "Hide chart" + noneElement: "(none)" + noneSelection: "(none)" + outline: "Initial outline expansion" + parent: "Show subprojects of" + work_package_responsible: "Show work packages with accountable" + work_package_assignee: "Show work packages with assignee" + types: "Show types" + status: "Show status" + project_time_filter: "Projects with a work package of a certain type in a certain timeframe" + project_time_filter_timeframe: "Timeframe" + project_time_filter_historical_from: "from" + project_time_filter_historical_to: "to" + project_time_filter_historical: "%{start_label} %{startdate} %{end_label} %{enddate}" + project_time_filter_relative: "%{start_label} %{startspan}%{startspanunit} ago, %{end_label} %{endspan}%{endspanunit} from now" + project_filters: "Filter projects" + project_responsible: "Show projects with accountable" + project_status: "Show project status" + timeframe: "Show timeframe" + timeframe_end: "to" + timeframe_start: "from" + timeline: "General Settings" + zoom: "Zoom factor" + history: "History" + new_color: "New color" + new_association: "New dependency" + new_work_package: "New work package" + new_reporting: "New reporting" + new_timeline: "New timeline report" + no_projects_for_reporting_available: "There are no projects to which a reporting association can be created." + no_right_to_view_timeline: "You do not have the necessary permission to view the linked timeline." + no_timeline_for_id: "There is no timeline with ID %{id}." + notice_successful_deleted_all_elements: "Successfully deleted all elements" + outline: "Reset Outline" + outlines: + aggregation: "Show aggregations only" + level1: "Expand level 1" + level2: "Expand level 2" + level3: "Expand level 3" + level4: "Expand level 4" + level5: "Expand level 5" + all: "Show all" + reporting_for_project: + show: "Status reported to project: %{title}" + edit_delete: "status report for project: %{title}" + history: "History for status for project: %{title}" + reporting: + delete: "Delete status: %{comment}" + edit: "Edit status: %{comment}" + show: "Status: %{comment}" + planning_element_update: "Update: %{title}" + type_could_not_be_saved: "Type could not be saved" + reporting_could_not_be_saved: "Reporting could not be saved" + properties: "Properties" + really_delete_color: > + Are you sure, you want to delete the following color? Types using this color will not be deleted. + really_delete_reporting: > + Are you sure, you want to delete the following reporting? Previous reporting statuses will be deleted, too. + start: "Start" + timeline: "Timeline report" + timelines: "Timeline reports" + settings: "Timelines" + vertical_work_package: "Vertical work packages" + you_are_viewing_the_selected_timeline: "You are viewing the selected timeline report" + zoom: + in: "Zoom in" + out: "Zoom out" + days: "Days" + weeks: "Weeks" + months: "Months" + quarters: "Quarters" + years: "Years" + title_remove_and_delete_user: Remove the invited user from the project and delete him/her. + title_enterprise_upgrade: "Upgrade to unlock more users." + tooltip_user_default_timezone: > + The default time zone for new users. Can be changed in a user's settings. + tooltip_resend_invitation: > + Sends another invitation email with a fresh token in case the old one expired or the user did not get the original email. Can also be used for active users to choose a new authentication method. When used with active users their status will be changed to 'invited'. + tooltip: + setting_email_login: > + If enabled a user will be unable to chose a login during registration. Instead their given email address will serve as the login. An administrator may still change the login separately. + queries: + apply_filter: Apply preconfigured filter + top_menu: + additional_resources: "Additional resources" + getting_started: "Getting started" + help_and_support: "Help and support" + total_progress: "Total progress" + user: + all: "all" + active: "active" + activate: "Activate" + activate_and_reset_failed_logins: "Activate and reset failed logins" + authentication_provider: "Authentication Provider" + authentication_settings_disabled_due_to_external_authentication: > + This user authenticates via an external authentication provider, so there is no password in OpenProject to be changed. + authorization_rejected: "You are not allowed to sign in." + assign_random_password: "Assign random password (sent to user via email)" + blocked: "locked temporarily" + blocked_num_failed_logins: + one: "locked temporarily (one failed login attempt)" + other: "locked temporarily (%{count} failed login attempts)" + confirm_status_change: "You are about to change the status of '%{name}'. Are you sure you want to continue?" + deleted: "Deleted user" + error_status_change_failed: "Changing the user status failed due to the following errors: %{errors}" + invite: Invite user via email + invited: invited + lock: "Lock permanently" + locked: "locked permanently" + no_login: "This user authenticates through login by password. Since it is disabled, they cannot log in." + password_change_unsupported: Change of password is not supported. + registered: "registered" + reset_failed_logins: "Reset failed logins" + status_user_and_brute_force: "%{user} and %{brute_force}" + status_change: "Status change" + text_change_disabled_for_provider_login: "The name is set by your login provider and can thus not be changed." + unlock: "Unlock" + unlock_and_reset_failed_logins: "Unlock and reset failed logins" + version_status_closed: "closed" + version_status_locked: "locked" + version_status_open: "open" + note: Note + note_password_login_disabled: "Password login has been disabled by %{configuration}." + warning: Warning + warning_attachments_not_saved: "%{count} file(s) could not be saved." + warning_imminent_user_limit: > + You invited more users than are supported by your current plan. Invited users may not be able to join your OpenProject environment. Please upgrade your plan or block existing users in order to allow invited and registered users to join. + warning_registration_token_expired: | + The activation email has expired. We sent you a new one to %{email}. + Please click the link inside of it to activate your account. + warning_user_limit_reached: > + User limit reached. You cannot activate any more users. Please upgrade your plan or block members to allow for additional users. + warning_user_limit_reached_instructions: > + You reached your user limit (%{current}/%{max} active users). Please contact sales@openproject.com to upgrade your Enterprise edition plan and add additional users. + warning_protocol_mismatch_html: > + + warning_bar: + https_mismatch: + title: 'HTTPS mode setup mismatch' + text_html: > + Your application is running with HTTPS mode set to %{set_protocol}, but the request is an %{actual_protocol} request. This will result in errors! You will need to set the following configuration value: %{setting_value}. Please see the installation documentation on how to set this configuration. + hostname_mismatch: + title: 'Hostname setting mismatch' + text_html: > + Your application is running with its host name setting set to %{set_hostname}, but the request is a %{actual_hostname} hostname. This will result in errors! Go to System settings and change the "Host name" setting to correct this. + menu_item: "Menu item" + menu_item_setting: "Visibility" + wiki_menu_item_for: "Menu item for wikipage \"%{title}\"" + wiki_menu_item_setting: "Visibility" + wiki_menu_item_new_main_item_explanation: > + You are deleting the only main wiki menu item. You now have to choose a wiki page for which a new main item will be generated. To delete the wiki the wiki module can be deactivated by project administrators. + wiki_menu_item_delete_not_permitted: The wiki menu item of the only wiki page cannot be deleted. + #TODO: merge with work_packages top level key + work_package: + updated_automatically_by_child_changes: | + _Updated automatically by changing values within child work package %{child}_ + destroy: + info: "Deleting the work package is an irreversible action." + title: "Delete the work package" + working_days: + info: > + Define the working days of the week
Non-working days are skipped when scheduling work packages and are excluded when calculating duration. This can be overridden at a work-package level. + change_button: "Change working days" + warning: > + Changing which days of the week are considered working days can affect the start and finish days of all work packages in all projects in this instance. + journal_note: + changed: _**Working days** changed (%{changes})._ + days: + working: "%{day} is now working" + non_working: "%{day} is now non-working" + nothing_to_preview: "Nothing to preview" + api_v3: + attributes: + lock_version: "Lock Version" + property: 'Property' + errors: + code_400: "Bad request: %{message}" + code_401: "You need to be authenticated to access this resource." + code_401_wrong_credentials: "You did not provide the correct credentials." + code_403: "You are not authorized to access this resource." + code_404: "The requested resource could not be found." + code_409: "Could not update the resource because of conflicting modifications." + code_429: "Too many requests. Please try again later." + code_500: "An internal error has occurred." + not_found: + work_package: "The work package you are looking for cannot be found or has been deleted." + expected: + date: "YYYY-MM-DD (ISO 8601 date only)" + datetime: "YYYY-MM-DDThh:mm:ss[.lll][+hh:mm] (any compatible ISO 8601 datetime)" + duration: "ISO 8601 duration" + invalid_content_type: "Expected CONTENT-TYPE to be '%{content_type}' but got '%{actual}'." + invalid_format: "Invalid format for property '%{property}': Expected format like '%{expected_format}', but got '%{actual}'." + invalid_json: "The request could not be parsed as JSON." + invalid_relation: "The relation is invalid." + invalid_resource: "For property '%{property}' a link like '%{expected}' is expected, but got '%{actual}'." + invalid_signal: + embed: "The requested embedding of %{invalid} is not supported. Supported embeddings are %{supported}." + select: "The requested select of %{invalid} is not supported. Supported selects are %{supported}." + invalid_user_status_transition: "The current user account status does not allow this operation." + missing_content_type: "not specified" + missing_property: "Missing property '%{property}'." + missing_request_body: "There was no request body." + missing_or_malformed_parameter: "The query parameter '%{parameter}' is missing or malformed." + multipart_body_error: "The request body did not contain the expected multipart parts." + multiple_errors: "Multiple field constraints have been violated." + unable_to_create_attachment: "The attachment could not be created" + unable_to_create_attachment_permissions: "The attachment could not be saved due to lacking file system permissions" + render: + context_not_parsable: "The context provided is not a link to a resource." + unsupported_context: "The resource given is not supported as context." + context_object_not_found: "Cannot find the resource given as the context." + validation: + done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + due_date: "Finish date cannot be set on parent work packages." + estimated_hours: "Estimated hours cannot be set on parent work packages." + invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." + start_date: "Start date cannot be set on parent work packages." + eprops: + invalid_gzip: "is invalid gzip: %{message}" + invalid_json: "is invalid json: %{message}" + resources: + schema: 'Schema' + undisclosed: + parent: Undisclosed - The selected parent is invisible because of lacking permissions. + ancestor: Undisclosed - The ancestor is invisible because of lacking permissions. + doorkeeper: + pre_authorization: + status: 'Pre-authorization' + auth_url: 'Auth URL' + access_token_url: 'Access token URL' + errors: + messages: + #Common error messages + invalid_request: + unknown: 'The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.' + missing_param: 'Missing required parameter: %{value}.' + request_not_authorized: 'Request need to be authorized. Required parameter for authorizing request is missing or invalid.' + invalid_redirect_uri: "The requested redirect uri is malformed or doesn't match client redirect URI." + unauthorized_client: 'The client is not authorized to perform this request using this method.' + access_denied: 'The resource owner or authorization server denied the request.' + invalid_scope: 'The requested scope is invalid, unknown, or malformed.' + invalid_code_challenge_method: 'The code challenge method must be plain or S256.' + server_error: 'The authorization server encountered an unexpected condition which prevented it from fulfilling the request.' + temporarily_unavailable: 'The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.' + #Configuration error messages + credential_flow_not_configured: 'Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.' + resource_owner_authenticator_not_configured: 'Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfigured.' + admin_authenticator_not_configured: 'Access to admin panel is forbidden due to Doorkeeper.configure.admin_authenticator being unconfigured.' + #Access grant errors + unsupported_response_type: 'The authorization server does not support this response type.' + unsupported_response_mode: 'The authorization server does not support this response mode.' + #Access token errors + invalid_client: 'Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.' + invalid_grant: 'The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.' + unsupported_grant_type: 'The authorization grant type is not supported by the authorization server.' + invalid_token: + revoked: "The access token was revoked" + expired: "The access token expired" + unknown: "The access token is invalid" + revoke: + unauthorized: "You are not authorized to revoke this token." + forbidden_token: + missing_scope: 'Access to this resource requires scope "%{oauth_scopes}".' + unsupported_browser: + title: "Your browser is outdated and unsupported." + message: "You may run into errors and degraded experience on this page." + update_message: 'Please update your browser.' + close_warning: "Ignore this warning." + oauth: + application: + singular: "OAuth application" + plural: "OAuth applications" + named: "OAuth application '%{name}'" + new: "New OAuth application" + default_scopes: "(Default scopes)" + instructions: + name: "The name of your application. This will be displayed to other users upon authorization." + redirect_uri_html: > + The allowed URLs authorized users can be redirected to. One entry per line.
If you're registering a desktop application, use the following URL. + confidential: "Check if the application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are assumed non-confidential." + scopes: "Check the scopes you want the application to grant access to. If no scope is checked, api_v3 is assumed." + client_credential_user_id: "Optional user ID to impersonate when clients use this application. Leave empty to allow public access only" + register_intro: "If you are developing an OAuth API client application for OpenProject, you can register it using this form for all users to use." + default_scopes: "" + client_id: "Client ID" + client_secret_notice: > + This is the only time we can print the client secret, please note it down and keep it secure. It should be treated as a password and cannot be retrieved by OpenProject at a later time. + authorization_dialog: + authorize: "Authorize" + cancel: "Cancel and deny authorization." + prompt_html: "Authorize %{application_name} to use your account %{login}?" + title: "Authorize %{application_name}" + wants_to_access_html: > + This application requests access to your OpenProject account.
It has requested the following permissions: + scopes: + api_v3: "Full API v3 access" + api_v3_text: "Application will receive full read & write access to the OpenProject API v3 to perform actions on your behalf." + grants: + created_date: "Approved on" + scopes: "Permissions" + successful_application_revocation: "Revocation of application %{application_name} successful." + none_given: "No OAuth applications have been granted access to your user account." + x_active_tokens: + one: 'one active token' + other: '%{count} active token' + flows: + authorization_code: "Authorization code flow" + client_credentials: "Client credentials flow" + client_credentials: "User used for Client credentials" + client_credentials_impersonation_set_to: "Client credentials user set to" + client_credentials_impersonation_warning: "Note: Clients using the 'Client credentials' flow in this application will have the rights of this user" + client_credentials_impersonation_html: > + By default, OpenProject provides OAuth 2.0 authorization via %{authorization_code_flow_link}. You can optionally enable %{client_credentials_flow_link}, but you must provide a user on whose behalf requests will be performed. + authorization_error: "An authorization error has occurred." + revoke_my_application_confirmation: "Do you really want to remove this application? This will revoke %{token_count} active for it." + my_registered_applications: "Registered OAuth applications" + oauth_client: + urn_connection_status: + connected: "Connected" + error: "Error" + failed_authorization: "Authorization failed" + labels: + label_oauth_integration: "OAuth2 integration" + label_redirect_uri: "Redirect URI" + label_request_token: "Request token" + label_refresh_token: "Refresh token" + errors: + oauth_authorization_code_grant_had_errors: "OAuth2 returned an error" + oauth_reported: "OAuth2 provider reported" + oauth_returned_error: "OAuth2 returned an error" + oauth_returned_json_error: "OAuth2 returned a JSON error" + oauth_returned_http_error: "OAuth2 returned a network error" + oauth_returned_standard_error: "OAuth2 returned an internal error" + wrong_token_type_returned: "OAuth2 returned a wrong type of token, expecting AccessToken::Bearer" + oauth_issue_contact_admin: "OAuth2 reported an error. Please contact your system administrator." + oauth_client_not_found: "OAuth2 client not found in 'callback' endpoint (redirect_uri)." + refresh_token_called_without_existing_token: > + Internal error: Called refresh_token without a previously existing token. + refresh_token_updated_failed: "Error during update of OAuthClientToken" + oauth_client_not_found_explanation: > + This error appears after you have updated the client_id and client_secret in OpenProject, but haven't updated the 'Return URI' field in the OAuth2 provider. + oauth_code_not_present: "OAuth2 'code' not found in 'callback' endpoint (redirect_uri)." + oauth_code_not_present_explanation: > + This error appears if you have selected the wrong response_type in the OAuth2 provider. Response_type should be 'code' or similar. + oauth_state_not_present: "OAuth2 'state' not found in 'callback' endpoint (redirect_uri)." + oauth_state_not_present_explanation: > + The 'state' is used to indicate to OpenProject where to continue after a successful OAuth2 authorization. A missing 'state' is an internal error that may appear during setup. Please contact your system administrator. + rack_oauth2: + client_secret_invalid: "Client secret is invalid (client_secret_invalid)" + invalid_request: > + OAuth2 Authorization Server responded with 'invalid_request'. This error appears if you try to authorize multiple times or in case of technical issues. + invalid_response: "OAuth2 Authorization Server provided an invalid response (invalid_response)" + invalid_grant: "The OAuth2 Authorization Server asks you to reauthorize (invalid_grant)." + invalid_client: "The OAuth2 Authorization Server doesn't recognize OpenProject (invalid_client)." + unauthorized_client: "The OAuth2 Authorization Server rejects the grant type (unauthorized_client)" + unsupported_grant_type: "The OAuth2 Authorization Server asks you to reauthorize (unsupported_grant_type)." + invalid_scope: "You are not allowed to access the requested resource (invalid_scope)." + http: + request: + failed_authorization: "The server side request failed authorizing itself." + missing_authorization: "The server side request failed due to missing authorization information." + response: + unexpected: "Unexpected response received." + you: you diff --git a/config/locales/crowdin/js-be.yml b/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..a41adc9888 --- /dev/null +++ b/config/locales/crowdin/js-be.yml @@ -0,0 +1,1260 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + js: + ajax: + hide: "Hide" + loading: "Loading…" + updating: "Updating…" + attachments: + delete: "Delete attachment" + delete_confirmation: | + Are you sure you want to delete this file? This action is not reversible. + draggable_hint: | + Drag on editor field to inline image or reference attachment. Closed editor fields will be opened while you keep dragging. + autocomplete_select: + placeholder: + multi: "Add \"%{name}\"" + single: "Select \"%{name}\"" + remove: "Remove %{name}" + active: "Active %{label} %{name}" + backup: + attachments_disabled: Attachments may not be included since they exceed the maximum overall size allowed. You can change this via the configuration (requires a server restart). + info: > + You can trigger a backup here. The process can take some time depending on the amount of data (especially attachments) you have. You will receive an email once it's ready. + note: > + A new backup will override any previous one. Only a limited number of backups per day can be requested. + last_backup: Last backup + last_backup_from: Last backup from + title: Backup OpenProject + options: Options + include_attachments: Include attachments + download_backup: Download backup + request_backup: Request backup + close_popup_title: "Close popup" + close_filter_title: "Close filter" + close_form_title: "Close form" + button_add_watcher: "Add watcher" + button_add: "Add" + button_back: "Back" + button_back_to_list_view: "Back to list view" + button_cancel: "Cancel" + button_close: "Close" + button_change_project: "Change project" + button_check_all: "Check all" + button_configure-form: "Configure form" + button_confirm: "Confirm" + button_continue: "Continue" + button_copy: "Copy" + button_copy_to_other_project: "Copy to other project" + button_custom-fields: "Custom fields" + button_delete: "Delete" + button_delete_watcher: "Delete watcher" + button_details_view: "Details view" + button_duplicate: "Duplicate" + button_edit: "Edit" + button_filter: "Filter" + button_collapse_all: "Collapse all" + button_expand_all: "Expand all" + button_advanced_filter: "Advanced filter" + button_list_view: "List view" + button_show_view: "Fullscreen view" + button_log_time: "Log time" + button_more: "More" + button_open_details: "Open details view" + button_close_details: "Close details view" + button_open_fullscreen: "Open fullscreen view" + button_show_cards: "Show card view" + button_show_list: "Show list view" + button_show_table: "Show table view" + button_show_gantt: "Show Gantt view" + button_show_fullscreen: "Show fullscreen view" + button_more_actions: "More actions" + button_quote: "Quote" + button_save: "Save" + button_settings: "Settings" + button_uncheck_all: "Uncheck all" + button_update: "Update" + button_export-pdf: "Download PDF" + button_export-atom: "Download Atom" + button_create: "Create" + card: + add_new: 'Add new card' + highlighting: + inline: 'Highlight inline:' + entire_card_by: 'Entire card by' + remove_from_list: 'Remove card from list' + caption_rate_history: "Rate history" + clipboard: + browser_error: "Your browser doesn't support copying to clipboard. Please copy the selected text manually." + copied_successful: "Successfully copied to clipboard!" + chart: + type: 'Chart type' + axis_criteria: 'Axis criteria' + modal_title: 'Work package graph configuration' + types: + line: 'Line' + horizontal_bar: 'Horizontal bar' + bar: 'Bar' + pie: 'Pie' + doughnut: 'Doughnut' + radar: 'Radar' + polar_area: 'Polar area' + tabs: + graph_settings: 'General' + dataset: 'Dataset %{number}' + errors: + could_not_load: 'The data to display the graph could not be loaded. The necessary permissions may be lacking.' + description_available_columns: "Available Columns" + description_current_position: "You are here: " + description_select_work_package: "Select work package #%{id}" + description_selected_columns: "Selected Columns" + description_subwork_package: "Child of work package #%{id}" + editor: + preview: 'Toggle preview mode' + source_code: 'Toggle Markdown source mode' + error_saving_failed: 'Saving the document failed with the following error: %{error}' + ckeditor_error: 'An error occurred within CKEditor' + mode: + manual: 'Switch to Markdown source' + wysiwyg: 'Switch to WYSIWYG editor' + macro: + error: 'Cannot expand macro: %{message}' + attribute_reference: + macro_help_tooltip: 'This text segment is being dynamically rendered by a macro.' + not_found: 'Requested resource could not be found' + invalid_attribute: "The selected attribute '%{name}' does not exist." + child_pages: + button: 'Links to child pages' + include_parent: 'Include parent' + text: '[Placeholder] Links to child pages of' + page: 'Wiki page' + this_page: 'this page' + hint: | + Leave this field empty to list all child pages of the current page. If you want to reference a different page, provide its title or slug. + code_block: + button: 'Insert code snippet' + title: 'Insert / edit Code snippet' + language: 'Formatting language' + language_hint: 'Enter the formatting language that will be used for highlighting (if supported).' + dropdown: + macros: 'Macros' + chose_macro: 'Choose macro' + toc: 'Table of contents' + toolbar_help: 'Click to select widget and show the toolbar. Double-click to edit widget' + wiki_page_include: + button: 'Include content of another wiki page' + text: '[Placeholder] Included wiki page of' + page: 'Wiki page' + not_set: '(Page not yet set)' + hint: | + Include the content of another wiki page by specifying its title or slug. + You can include the wiki page of another project by separating them with a colon like the following example. + work_package_button: + button: 'Insert create work package button' + type: 'Work package type' + button_style: 'Use button style' + button_style_hint: 'Optional: Check to make macro appear as a button, not as a link.' + without_type: 'Create work package' + with_type: 'Create work package (Type: %{typename})' + embedded_table: + button: 'Embed work package table' + text: '[Placeholder] Embedded work package table' + embedded_calendar: + text: '[Placeholder] Embedded calendar' + admin: + type_form: + custom_field: 'Custom field' + inactive: 'Inactive' + drag_to_activate: "Drag fields from here to activate them" + add_group: "Add attribute group" + add_table: "Add table of related work packages" + edit_query: 'Edit query' + new_group: 'New group' + reset_to_defaults: 'Reset to defaults' + enterprise: + text_reprieve_days_left: "%{days} days until end of grace period" + text_expired: "expired" + trial: + confirmation: "Confirmation of email address" + confirmation_info: > + We sent you an email on %{date} to %{email}. Please check your inbox and click the confirmation link provided to start your 14 days trial. + form: + general_consent: > + I agree with the terms of service and the privacy policy. + invalid_email: "Invalid email address" + label_company: "Company" + label_first_name: "First name" + label_last_name: "Last name" + label_domain: "Domain" + label_subscriber: "Subscriber" + label_maximum_users: "Maximum active users" + label_starts_at: "Starts at" + label_expires_at: "Expires at" + receive_newsletter: I want to receive the OpenProject newsletter. + taken_domain: There can only be one active trial per domain. + domain_mismatch: The current request host name does not match the configured host name. Please double check your system settings. + taken_email: Each user can only create one trial. + email_not_received: "You did not receive an email? You can resend the email with the link on the right." + try_another_email: "Or try it with another email address." + next_steps: "Next steps" + resend_link: "Resend" + resend_success: "Email has been resent. Please check your emails and click the confirmation link provided." + resend_warning: "Could not resend email." + session_timeout: "Your session timed out. Please try to reload the page or resend email." + status_label: "Status:" + status_confirmed: "confirmed" + status_waiting: "email sent - waiting for confirmation" + test_ee: "Test the Enterprise edition 14 days for free" + quick_overview: "Get a quick overview of project management and team collaboration with OpenProject Enterprise edition." + upsale: + become_hero: "Become a hero!" + enterprise_info_html: "%{feature_title} is an Enterprise add-on." + upgrade_info: "Please upgrade to a paid plan to activate and start using it in your team." + benefits: + description: "What are the benefits of the Enterprise on-premises edition?" + high_security: "Security features" + high_security_text: "Single sign on (SAML, OpenID Connect, CAS), LDAP groups." + installation: "Installation support" + installation_text: "Experienced software engineers guide you through the complete installation and setup process in your own infrastructure." + premium_features: "Enterprise add-ons" + premium_features_text: "Agile boards, custom theme and logo, graphs, intelligent workflows with custom actions, full text search for work package attachments and multi-select custom fields." + professional_support: "Professional support" + professional_support_text: "Get reliable, high-touch support from senior support engineers with expert knowledge about running OpenProject in business-critical environments." + button_start_trial: "Start free trial" + button_upgrade: "Upgrade now" + button_contact_us: "Contact us for a demo" + button_book_now: "Book now" + confidence: > + We deliver the confidence of a tested and supported enterprise-class project management software - with Open Source and an open mind. + link_quote: "Get a quote" + more_info: "More information" + text: > + The OpenProject Enterprise edition builds on top of the Community edition. It includes Enterprise add-ons and professional support mainly aimed at organizations with more than 10 users that manage business critical projects with OpenProject. + unlimited: "Unlimited" + you_contribute: "Developers need to pay their bills, too. By upgrading to the Enterprise edition, you will be supporting this open source community effort and contributing to its development, maintenance and continuous improvement." + custom_actions: + date: + specific: 'on' + current_date: 'Current date' + error: + internal: "An internal error has occurred." + cannot_save_changes_with_message: "Cannot save your changes due to the following error: %{error}" + query_saving: "The view could not be saved." + embedded_table_loading: "The embedded view could not be loaded: %{message}" + enumeration_activities: "Activities (time tracking)" + enumeration_doc_categories: "Document categories" + enumeration_work_package_priorities: "Work package priorities" + filter: + more_values_not_shown: "There are %{total} more results, search to filter results." + description: + text_open_filter: "Open this filter with 'ALT' and arrow keys." + text_close_filter: "To select an entry leave the focus for example by pressing enter. To leave without filter select the first (empty) entry." + noneElement: "(none)" + time_zone_converted: + two_values: "%{from} - %{to} in your local time." + only_start: "From %{from} in your local time." + only_end: "Till %{to} in your local time." + value_spacer: "-" + sorting: + criteria: + one: "First sorting criteria" + two: "Second sorting criteria" + three: "Third sorting criteria" + upsale_for_more: "Advanced filters allow you to also filter for file names and content of work package attachments. Please upgrade to a paid plan to use this add-on." + upsale_link: 'Enterprise edition.' + general_text_no: "no" + general_text_yes: "yes" + general_text_No: "No" + general_text_Yes: "Yes" + hal: + error: + update_conflict_refresh: "Click here to refresh the resource and update to the newest version." + edit_prohibited: "Editing %{attribute} is blocked for this resource. Either this attribute is derived from relations (e.g, children) or otherwise not configurable." + format: + date: "%{attribute} is no valid date - YYYY-MM-DD expected." + general: "An error has occurred." + homescreen: + blocks: + new_features: + text_new_features: "Read about new features and product updates." + learn_about: "Learn more about the new features" + #Include the version to invalidate outdated translations in other locales. + #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. + '12_4': + standard: + learn_about_link: https://www.openproject.org/blog/openproject-12-4-release + new_features_html: > + The release contains various new features and improvements:
  • Activate notification date alerts for upcoming dates and overdue tasks.
  • We release two-factor authentication (2FA) for the Community edition.
  • The work week display option is now also added to the team planner.
  • List up to 3 people in a notification card when multiple people were involved in the changes.
+ bim: + learn_about_link: https://www.openproject.org/blog/openproject-12-4-release + new_features_html: > + The release contains various new features and improvements:
  • Activate notification date alerts for upcoming dates and overdue tasks.
  • We release two-factor authentication (2FA) for the Community edition.
  • The work week display option is now also added to the team planner.
  • List up to 3 people in a notification card when multiple people were involved in the changes.
+ label_activate: "Activate" + label_assignee: 'Assignee' + label_add_column_after: "Add column after" + label_add_column_before: "Add column before" + label_add_columns: "Add columns" + label_add_comment: "Add comment" + label_add_comment_title: "Comment and type @ to notify other people" + label_add_row_after: "Add row after" + label_add_row_before: "Add row before" + label_add_selected_columns: "Add selected columns" + label_added_by: "added by" + label_added_time_by: "Added by %{author} at %{age}" + label_ago: "days ago" + label_all: "all" + label_all_work_packages: "all work packages" + label_and: "and" + label_ascending: "Ascending" + label_author: "Author: %{user}" + label_avatar: "Avatar" + label_between: "between" + label_board: "Board" + label_board_locked: "Locked" + label_board_plural: "Boards" + label_board_sticky: "Sticky" + label_change: "Change" + label_create: "Create" + label_create_work_package: "Create new work package" + label_created_by: "Created by" + label_date: "Date" + label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" + label_deactivate: "Deactivate" + label_descending: "Descending" + label_description: "Description" + label_details: "Details" + label_display: "Display" + label_cancel_comment: "Cancel comment" + label_closed_work_packages: "closed" + label_collapse: "Collapse" + label_collapsed: "collapsed" + label_collapse_all: "Collapse all" + label_comment: "Comment" + label_committed_at: "%{committed_revision_link} at %{date}" + label_committed_link: "committed revision %{revision_identifier}" + label_contains: "contains" + label_created_on: "created on" + label_edit_comment: "Edit this comment" + label_edit_status: "Edit the status of the work package" + label_email: "Email" + label_equals: "is" + label_expand: "Expand" + label_expanded: "expanded" + label_expand_all: "Expand all" + label_expand_project_menu: "Expand project menu" + label_export: "Export" + label_export_preparing: "The export is being prepared and will be downloaded shortly." + label_filename: "File" + label_filesize: "Size" + label_general: "General" + label_global_roles: "Global Roles" + label_greater_or_equal: ">=" + label_group: 'Group' + label_group_by: "Group by" + label_group_plural: "Groups" + label_hide_attributes: "Show less" + label_hide_column: "Hide column" + label_hide_project_menu: "Collapse project menu" + label_in: "in" + label_in_less_than: "in less than" + label_in_more_than: "in more than" + label_incoming_emails: "Incoming emails" + label_information_plural: "Information" + label_invalid: "Invalid" + label_import: "Import" + label_latest_activity: "Latest activity" + label_last_updated_on: "Last updated on" + label_learn_more_link: "Learn more" + label_less_or_equal: "<=" + label_less_than_ago: "less than days ago" + label_loading: "Loading..." + label_mail_notification: "Email notifications" + label_me: "me" + label_meeting_agenda: "Agenda" + label_meeting_minutes: "Minutes" + label_menu_collapse: "collapse" + label_menu_expand: "expand" + label_more_than_ago: "more than days ago" + label_next: "Next" + label_no_color: "No color" + label_no_data: "No data to display" + label_no_due_date: "no finish date" + label_no_start_date: "no start date" + label_no_date: "no date" + label_no_value: "No value" + label_none: "none" + label_not_contains: "doesn't contain" + label_not_equals: "is not" + label_on: "on" + label_open_menu: "Open menu" + label_open_context_menu: "Open context menu" + label_open_work_packages: "open" + label_password: "Password" + label_previous: "Previous" + label_per_page: "Per page:" + label_please_wait: "Please wait" + label_project: "Project" + label_project_list: "Projects list" + label_project_plural: "Projects" + label_visibility_settings: "Visibility settings" + label_quote_comment: "Quote this comment" + label_recent: "Recent" + label_reset: "Reset" + label_remove: "Remove" + label_remove_column: "Remove column" + label_remove_columns: "Remove selected columns" + label_remove_row: "Remove row" + label_report: "Report" + label_repository_plural: "Repositories" + label_save_as: "Save as" + label_select_project: "Select a project" + label_select_watcher: "Select a watcher..." + label_selected_filter_list: "Selected filters" + label_show_attributes: "Show all attributes" + label_show_in_menu: "Show view in menu" + label_sort_by: "Sort by" + label_sorted_by: "sorted by" + label_sort_higher: "Move up" + label_sort_lower: "Move down" + label_sorting: "Sorting" + label_spent_time: "Spent time" + label_star_query: "Favored" + label_press_enter_to_save: "Press enter to save." + label_public_query: "Public" + label_sum: "Sum" + label_sum_for: "Sum for" + label_total_sum: "Total sum" + label_subject: "Subject" + label_this_week: "this week" + label_today: "Today" + label_time_entry_plural: "Spent time" + label_up: "Up" + label_user_plural: "Users" + label_activity_show_only_comments: "Show activities with comments only" + label_activity_show_all: "Show all activities" + label_total_progress: "%{percent}% Total progress" + label_total_amount: "Total: %{amount}" + label_updated_on: "updated on" + label_value_derived_from_children: "(value derived from children)" + label_children_derived_duration: "Work package's children derived duration" + label_warning: "Warning" + label_work_package: "Work package" + label_work_package_parent: "Parent work package" + label_work_package_plural: "Work packages" + label_watch: "Watch" + label_watch_work_package: "Watch work package" + label_watcher_added_successfully: "Watcher successfully added!" + label_watcher_deleted_successfully: "Watcher successfully deleted!" + label_work_package_details_you_are_here: "You're on the %{tab} tab for %{type} %{subject}." + label_unwatch: "Unwatch" + label_unwatch_work_package: "Unwatch work package" + label_uploaded_by: "Uploaded by" + label_default_queries: "Default" + label_starred_queries: "Favorite" + label_global_queries: "Public" + label_custom_queries: "Private" + label_columns: "Columns" + label_attachments: Attachments + label_drop_files: Drop files here + label_drop_files_hint: or click to add files + label_drop_folders_hint: You cannot upload folders as an attachment. Please select single files. + label_add_attachments: "Add attachments" + label_formattable_attachment_hint: "Attach and link files by dropping on this field, or pasting from the clipboard." + label_remove_file: "Delete %{fileName}" + label_remove_watcher: "Remove watcher %{name}" + label_remove_all_files: Delete all files + label_add_description: "Add a description for %{file}" + label_upload_notification: "Uploading files..." + label_work_package_upload_notification: "Uploading files for Work package #%{id}: %{subject}" #%{id}: %{subject}" + label_wp_id_added_by: "#%{id} added by %{author}" + label_files_to_upload: "These files will be uploaded:" + label_rejected_files: "These files cannot be uploaded:" + label_rejected_files_reason: "These files cannot be uploaded as their size is greater than %{maximumFilesize}" + label_wait: "Please wait for configuration..." + label_upload_counter: "%{done} of %{count} files finished" + label_validation_error: "The work package could not be saved due to the following errors:" + label_version_plural: "Versions" + label_view_has_changed: "This view has unsaved changes. Click to save them." + help_texts: + show_modal: 'Show attribute help text entry' + onboarding: + buttons: + skip: 'Skip' + next: 'Next' + got_it: 'Got it' + steps: + help_menu: 'The Help (?) menu provides additional help resources. Here you can find a user guide, helpful how-to videos and more.
Enjoy your work with OpenProject!' + members: 'Invite new members to join your project.' + project_selection: 'Please click on one of the demo projects that we have prepared. Demo data is currently only available in English.
The general demo project suits best for classical project management, while the Scrum project is better for agile project management.' + quick_add_button: 'Click on the plus (+) icon in the header navigation to create a new project or to invite coworkers.' + sidebar_arrow: "Use the return arrow in the top left corner to return to the project’s main menu." + welcome: 'Take a three minutes introduction tour to learn the most important features.
We recommend completing the steps until the end. You can restart the tour any time.' + wiki: 'Within the wiki you can document and share knowledge together with your team.' + backlogs: + overview: "Manage your work in the backlogs view." + sprints: "On the right you have the product backlog and the bug backlog, on the left you have the respective sprints. Here you can create epics, user stories, and bugs, prioritize via drag & drop and add them to a sprint." + task_board_arrow: 'To see your task board, open the sprint drop-down...' + task_board_select: '...and select the task board entry.' + task_board: "The task board visualizes the progress for this sprint. Click on the plus (+) icon next to a user story to add new tasks or impediments.
The status can be updated by drag and drop." + boards: + overview: 'Select boards to shift the view and manage your project using the agile boards view.' + lists_kanban: 'Here you can create multiple lists (columns) within your board. This feature allows you to create a Kanban board, for example.' + lists_basic: 'Here you can create multiple lists (columns) within your agile board.' + add: 'Click on the plus (+) icon to create a new card or add an existing card to the list on the board.' + drag: 'Drag and drop your cards within a given list to reorder them, or to move them to another list.
You can click the info (i) icon in the upper right-hand corner or double-click a card to open its details.' + wp: + toggler: "Now let's have a look at the work package section, which gives you a more detailed view of your work." + list: 'This work package overview provides a list of all the work in your project, such as tasks, milestones, phases, and more.
Work packages can be created and edited directly from this view. To access the details of a particular work package, simply double-click its row.' + full_view: 'The work package details view provides all the relevant information pertaining to a given work package, such as its description, status, priority, activities, dependencies, and comments.' + back_button: 'Use the return arrow in the top left corner to exit and return to the work package list.' + create_button: 'The + Create button will add a new work package to your project.' + timeline_button: 'You can activate the Gantt chart view to create a timeline for your project.' + timeline: 'Here you can edit your project plan, create new work packages, such as tasks, milestones, phases, and more, as well as add dependencies. All team members can see and update the latest plan at any time.' + team_planner: + overview: 'The team planner lets you visually assign tasks to team members and get an overview of who is working on what.' + calendar: 'The weekly or biweekly planning board displays all work packages assigned to your team members.' + add_assignee: 'To get started, add assignees to the team planner.' + add_existing: 'Search for existing work packages and drag them to the team planner to instantly assign them to a team member and define start and end dates.' + card: 'Drag work packages horizontally to move them backwards or forwards in time, drag the edges to change start and end dates and even drag them vertically to a different row to assign them to another member.' + notifications: + title: "Notifications" + no_unread: "No unread notifications" + reasons: + mentioned: 'mentioned' + watched: 'watcher' + assigned: 'assignee' + responsible: 'accountable' + created: 'created' + scheduled: 'scheduled' + commented: 'commented' + processed: 'processed' + prioritized: 'prioritized' + dateAlert: 'Date alert' + date_alerts: + milestone_date: 'Milestone date' + overdue: 'Overdue' + overdue_since: 'since %{difference_in_days}' + property_today: 'is today' + property_is: 'is in %{difference_in_days}' + property_was: 'was %{difference_in_days} ago' + property_is_deleted: 'is deleted' + upsale: + title: 'Date alerts' + description: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' + facets: + unread: 'Unread' + unread_title: 'Show unread' + all: 'All' + all_title: 'Show all' + center: + label_actor_and: 'and' + and_more_users: + one: 'and 1 other' + few: 'and %{count} others' + many: 'and %{count} others' + other: 'and %{count} others' + no_results: + at_all: 'New notifications will appear here when there is activity that concerns you, in the mean time you can also view and modify your notification settings to configure when to be notified.' + with_current_filter: 'There are no notifications in this view at the moment' + mark_all_read: 'Mark all as read' + mark_as_read: 'Mark as read' + text_update_date: "%{date} by" + total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed." + empty_state: + no_notification: "Looks like you're all caught up." + no_notification_with_current_project_filter: "Looks like you're all caught up with the selected project." + no_notification_with_current_filter: "Looks like you're all caught up for %{filter} filter." + no_selection: "Click on a notification to view all activity details." + new_notifications: + message: 'There are new notifications.' + link_text: 'Click here to load them' + menu: + accountable: 'Accountable' + by_project: 'Unread by project' + by_reason: 'Reason' + inbox: 'Inbox' + mentioned: 'Mentioned' + watched: 'Watcher' + date_alert: 'Date alert' + settings: + change_notification_settings: 'To view and change your notification settings, click here' + title: "Notification settings" + notify_me: "Notify me" + reminders: + no_notification: No notification + timeframes: + normal: + PT0S: same day + P1D: 1 day before + P3D: 3 days before + P7D: a week before + overdue: + P1D: every day + P3D: every 3 days + P7D: every week + reasons: + mentioned: + title: 'Mentioned' + description: 'Receive a notification every time someone mentions me anywhere' + assignee: 'Assignee' + responsible: 'Accountable' + watched: 'Watcher' + work_package_commented: 'All new comments' + work_package_created: 'New work packages' + work_package_processed: 'All status changes' + work_package_prioritized: 'All priority changes' + work_package_scheduled: 'All date changes' + global: + immediately: + title: 'Participating' + description: 'Notifications for all activities in work packages you are involved in (assignee, accountable or watcher).' + delayed: + title: 'Non-participating' + description: 'Additional notifications for activities in all projects.' + date_alerts: + title: 'Date alerts' + description: 'Automatic notifications when important dates are approaching for open work packages you are involved in (assignee, accountable or watcher).' + teaser_text: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' + overdue: When overdue + project_specific: + title: 'Project-specific notification settings' + description: 'These project-specific settings override default settings above.' + add: 'Add setting for project' + already_selected: 'This project is already selected' + remove: 'Remove project settings' + password_confirmation: + field_description: 'You need to enter your account password to confirm this change.' + title: 'Confirm your password to continue' + pagination: + no_other_page: "You are on the only page." + pages: + next: "Forward to the next page" + previous: "Back to the previous page" + placeholders: + default: '-' + subject: 'Enter subject here' + selection: 'Please select' + description: 'Description: Click to edit...' + relation_description: 'Click to add description for this relation' + project: + required_outside_context: > + Please choose a project to create the work package in to see all attributes. You can only select projects which have the type above activated. + context: 'Project context' + work_package_belongs_to: 'This work package belongs to project %{projectname}.' + click_to_switch_context: 'Open this work package in that project.' + confirm_template_load: 'Switching the template will reload the page and you will lose all input to this form. Continue?' + use_template: "Use template" + no_template_selected: "(None)" + copy: + copy_options: "Copy options" + autocompleter: + label: 'Project autocompletion' + reminders: + settings: + daily: + add_time: 'Add time' + enable: 'Enable daily email reminders' + explanation: 'You will receive these reminders only for unread notifications and only at hours you specify. %{no_time_zone}' + no_time_zone: 'Until you configure a time zone for your account, the times will be interpreted to be in UTC.' + time_label: 'Time %{counter}:' + title: 'Send me daily email reminders for unread notifications' + workdays: + title: 'Receive email reminders on these days' + immediate: + title: 'Send me an email reminder' + mentioned: 'Immediately when someone @mentions me' + alerts: + title: 'Email alerts for other items (that are not work packages)' + explanation: > + Notifications today are limited to work packages. You can choose to continue receiving email alerts for these events until they are included in notifications: + news_added: 'News added' + news_commented: 'Comment on a news item' + document_added: 'Documents added' + forum_messages: 'New forum messages' + wiki_page_added: 'Wiki page added' + wiki_page_updated: 'Wiki page updated' + membership_added: 'Membership added' + membership_updated: 'Membership updated' + title: 'Email reminders' + pause: + label: 'Temporarily pause daily email reminders' + first_day: 'First day' + last_day: 'Last day' + text_are_you_sure: "Are you sure?" + text_data_lost: "All entered data will be lost." + types: + attribute_groups: + error_duplicate_group_name: "The name %{group} is used more than once. Group names must be unique." + error_no_table_configured: "Please configure a table for %{group}." + reset_title: "Reset form configuration" + confirm_reset: > + Warning: Are you sure you want to reset the form configuration? This will reset the attributes to their default group and disable ALL custom fields. + upgrade_to_ee: "Upgrade to Enterprise on-premises edition" + upgrade_to_ee_text: "Wow! If you need this add-on you are a super pro! Would you mind supporting us OpenSource developers by becoming an Enterprise edition client?" + more_information: "More information" + nevermind: "Nevermind" + edit: + form_configuration: "Form Configuration" + projects: "Projects" + settings: "Settings" + time_entry: + work_package_required: 'Requires selecting a work package first.' + title: 'Log time' + two_factor_authentication: + label_two_factor_authentication: 'Two-factor authentication' + watchers: + label_loading: loading watchers... + label_error_loading: An error occurred while loading the watchers + label_search_watchers: Search watchers + label_add: Add watchers + label_discard: Discard selection + typeahead_placeholder: Search for possible watchers + relation_labels: + parent: "Parent" + children: "Children" + relates: "Related To" + duplicates: "Duplicates" + duplicated: "Duplicated by" + blocks: "Blocks" + blocked: "Blocked by" + precedes: "Precedes" + follows: "Follows" + includes: "Includes" + partof: "Part of" + requires: "Requires" + required: "Required by" + relation_type: "relation type" + relations_hierarchy: + parent_headline: "Parent" + hierarchy_headline: "Hierarchy" + children_headline: "Children" + relation_buttons: + set_parent: "Set parent" + change_parent: "Change parent" + remove_parent: "Remove parent" + hierarchy_indent: "Indent hierarchy" + hierarchy_outdent: "Outdent hierarchy" + group_by_wp_type: "Group by work package type" + group_by_relation_type: "Group by relation type" + add_parent: "Add existing parent" + add_new_child: "Create new child" + create_new: "Create new" + add_existing: "Add existing" + add_existing_child: "Add existing child" + remove_child: "Remove child" + add_new_relation: "Create new relation" + add_existing_relation: "Add existing relation" + update_description: "Set or update description of this relation" + toggle_description: "Toggle relation description" + update_relation: "Click to change the relation type" + add_follower: "Add follower" + add_predecessor: "Add predecessor" + remove: "Remove relation" + save: "Save relation" + abort: "Abort" + relations_autocomplete: + placeholder: "Type to search" + parent_placeholder: "Choose new parent or press escape to cancel." + autocompleter: + placeholder: "Type to search" + notFoundText: "No items found" + typeToSearchText: "Type to search" + repositories: + select_tag: 'Select tag' + select_branch: 'Select branch' + field_value_enter_prompt: "Enter a value for '%{field}'" + project_menu_details: "Details" + scheduling: + manual: 'Manual scheduling' + sort: + sorted_asc: 'Ascending sort applied, ' + sorted_dsc: 'Descending sort applied, ' + sorted_no: 'No sort applied, ' + sorting_disabled: 'sorting is disabled' + activate_asc: 'activate to apply an ascending sort' + activate_dsc: 'activate to apply a descending sort' + activate_no: 'activate to remove the sort' + text_work_packages_destroy_confirmation: "Are you sure you want to delete the selected work package(s)?" + text_query_destroy_confirmation: "Are you sure you want to delete the selected view?" + timelines: + quarter_label: 'Q%{quarter_number}' + gantt_chart: 'Gantt chart' + labels: + title: 'Label configuration' + bar: 'Bar labels' + left: 'Left' + right: 'Right' + farRight: 'Far right' + showNone: '-- No label --' + description: > + Select the attributes you want to be shown in the respective positions of the Gantt chart at all times. Note that when hovering over an element, its date labels will be shown instead of these attributes. + button_activate: 'Show Gantt chart' + button_deactivate: 'Hide Gantt chart' + cancel: Cancel + change: "Change in planning" + due_date: "Finish date" + empty: "(empty)" + error: "An error has occurred." + errors: + not_implemented: "The timeline could not be rendered because it uses a feature that is not yet implemented." + report_comparison: "The timeline could not render the configured comparisons. Please check the appropriate section in the configuration, resetting it can help solve this problem." + report_epicfail: "The timeline could not be loaded due to an unexpected error." + report_timeout: "The timeline could not be loaded in a reasonable amount of time." + filter: + grouping_other: "Other" + noneSelection: "(none)" + name: "Name" + outline: "Reset Outline" + outlines: + aggregation: "Show aggregations only" + level1: "Expand level 1" + level2: "Expand level 2" + level3: "Expand level 3" + level4: "Expand level 4" + level5: "Expand level 5" + all: "Show all" + project_status: "Project status" + really_close_dialog: "Do you really want to close the dialog and lose the entered data?" + responsible: "Responsible" + save: Save + start_date: "Start date" + tooManyProjects: "More than %{count} Projects. Please use a better filter!" + selection_mode: + notification: 'Click on any highlighted work package to create the relation. Press escape to cancel.' + zoom: + in: "Zoom in" + out: "Zoom out" + auto: "Auto zoom" + days: "Days" + weeks: "Weeks" + months: "Months" + quarters: "Quarters" + years: "Years" + slider: "Zoom slider" + description: > + Select the initial zoom level that should be shown when autozoom is not available. + tl_toolbar: + zooms: "Zoom level" + outlines: "Hierarchy level" + upsale: + ee_only: 'Enterprise edition add-on' + wiki_formatting: + strong: "Strong" + italic: "Italic" + underline: "Underline" + deleted: "Deleted" + code: "Inline Code" + heading1: "Heading 1" + heading2: "Heading 2" + heading3: "Heading 3" + unordered_list: "Unordered List" + ordered_list: "Ordered List" + quote: "Quote" + unquote: "Unquote" + preformatted_text: "Preformatted Text" + wiki_link: "Link to a Wiki page" + image: "Image" + work_packages: + bulk_actions: + move: 'Bulk change of project' + edit: 'Bulk edit' + copy: 'Bulk copy' + delete: 'Bulk delete' + button_clear: "Clear" + comment_added: "The comment was successfully added." + comment_send_failed: "An error has occurred. Could not submit the comment." + comment_updated: "The comment was successfully updated." + confirm_edit_cancel: "Are you sure you want to cancel editing the work package?" + datepicker_modal: + automatically_scheduled_parent: "Automatically scheduled. Dates are derived from relations." + manually_scheduled: "Manual scheduling enabled, all relations ignored." + start_date_limited_by_relations: "Available start and finish dates are limited by relations." + changing_dates_affects_follow_relations: "Changing these dates will affect dates of related work packages." + click_on_show_relations_to_open_gantt: 'Click on "%{button_name}" for GANTT overview.' + show_relations: 'Show relations' + ignore_non_working_days: + title: 'Working days only' + description_filter: "Filter" + description_enter_text: "Enter text" + description_options_hide: "Hide options" + description_options_show: "Show options" + edit_attribute: "%{attribute} - Edit" + key_value: "%{key}: %{value}" + label_enable_multi_select: "Enable multiselect" + label_disable_multi_select: "Disable multiselect" + label_filter_add: "Add filter" + label_filter_by_text: "Filter by text" + label_options: "Options" + label_column_multiselect: "Combined dropdown field: Select with arrow keys, confirm selection with enter, delete with backspace" + message_error_during_bulk_delete: An error occurred while trying to delete work packages. + message_successful_bulk_delete: Successfully deleted work packages. + message_successful_show_in_fullscreen: "Click here to open this work package in fullscreen view." + message_view_spent_time: "Show spent time for this work package" + message_work_package_read_only: "Work package is locked in this status. No attribute other than status can be altered." + message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + placeholder_filter_by_text: "Subject, description, comments, ..." + filters: + title: 'Filter work packages' + inline_create: + title: 'Click here to add a new work package to this list' + create: + title: 'New work package' + header: 'New %{type}' + header_no_type: 'New work package (Type not yet set)' + header_with_parent: 'New %{type} (Child of %{parent_type} #%{id})' + button: 'Create' + copy: + title: 'Copy work package' + hierarchy: + show: "Show hierarchy mode" + hide: "Hide hierarchy mode" + toggle_button: 'Click to toggle hierarchy mode.' + leaf: 'Work package leaf at level %{level}.' + children_collapsed: 'Hierarchy level %{level}, collapsed. Click to show the filtered children' + children_expanded: 'Hierarchy level %{level}, expanded. Click to collapse the filtered children' + faulty_query: + title: Work packages could not be loaded. + description: Your view is erroneous and could not be processed. + no_results: + title: No work packages to display. + description: Either none have been created or all work packages are filtered out. + limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering, or switch to automatic sorting. + property_groups: + details: "Details" + people: "People" + estimatesAndTime: "Estimates & Time" + other: "Other" + properties: + assignee: "Assignee" + author: "Author" + createdAt: "Created on" + description: "Description" + date: "Date" + dueDate: "Finish date" + duration: "Duration" + estimatedTime: "Estimated time" + spentTime: "Spent time" + category: "Category" + percentageDone: "Percentage done" + priority: "Priority" + projectName: "Project" + responsible: "Responsible" + startDate: "Start date" + status: "Status" + subject: "Subject" + subproject: "Subproject" + title: "Title" + type: "Type" + updatedAt: "Updated on" + versionName: "Version" + version: "Version" + default_queries: + latest_activity: "Latest activity" + created_by_me: "Created by me" + assigned_to_me: "Assigned to me" + recently_created: "Recently created" + all_open: "All open" + summary: "Summary" + jump_marks: + pagination: "Jump to table pagination" + label_pagination: "Click here to skip over the work packages table and go to pagination" + content: "Jump to content" + label_content: "Click here to skip over the menu and go to the content" + placeholders: + default: "-" + date: "Select date" + query: + column_names: "Columns" + group_by: "Group results by" + group: "Group by" + group_by_disabled_by_hierarchy: "Group by is disabled due to the hierarchy mode being active." + hierarchy_disabled_by_group_by: "Hierarchy mode is disabled due to results being grouped by %{column}." + sort_ascending: "Sort ascending" + sort_descending: "Sort descending" + move_column_left: "Move column left" + move_column_right: "Move column right" + hide_column: "Hide column" + insert_columns: "Insert columns ..." + filters: "Filters" + display_sums: "Display Sums" + confirm_edit_cancel: "Are you sure you want to cancel editing the name of this view? Title will be set back to previous value." + click_to_edit_query_name: "Click to edit title of this view." + rename_query_placeholder: "Name of this view" + star_text: "Mark this view as favorite and add to the saved views sidebar on the left." + public_text: > + Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + errors: + unretrievable_query: "Unable to retrieve view from URL" + not_found: "There is no such view" + duplicate_query_title: "Name of this view already exists. Change anyway?" + text_no_results: "No matching views were found." + scheduling: + is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." + is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." + table: + configure_button: 'Configure work package table' + summary: "Table with rows of work package and columns of work package attributes." + text_inline_edit: "Most cells of this table are buttons that activate inline-editing functionality of that attribute." + text_sort_hint: "With the links in the table headers you can sort, group, reorder, remove and add table columns." + text_select_hint: "Select boxes should be opened with 'ALT' and arrow keys." + table_configuration: + button: 'Configure this work package table' + choose_display_mode: 'Display work packages as' + modal_title: 'Work package table configuration' + embedded_tab_disabled: "This configuration tab is not available for the embedded view you're editing." + default: "default" + display_settings: 'Display settings' + default_mode: "Flat list" + hierarchy_mode: "Hierarchy" + hierarchy_hint: "All filtered table results will be augmented with their ancestors. Hierarchies can be expanded and collapsed." + display_sums_hint: "Display sums of all summable attributes in a row below the table results." + show_timeline_hint: "Show an interactive gantt chart on the right side of the table. You can change its width by dragging the divider between table and gantt chart." + highlighting: 'Highlighting' + highlighting_mode: + description: "Highlight with color" + none: "No highlighting" + inline: 'Highlighted attribute(s)' + inline_all: 'All attributes' + entire_row_by: 'Entire row by' + status: 'Status' + priority: 'Priority' + type: 'Type' + sorting_mode: + description: 'Chose the mode to sort your Work packages:' + automatic: 'Automatic' + manually: 'Manually' + warning: 'You will lose your previous sorting when activating the automatic sorting mode.' + columns_help_text: "Use the input field above to add columns to your table view. You can drag and drop the columns to reorder them." + upsale: + attribute_highlighting: 'Need certain work packages to stand out from the mass?' + relation_columns: 'Need to see relations in the work package list?' + check_out_link: 'Check out the Enterprise edition.' + relation_filters: + filter_work_packages_by_relation_type: 'Filter work packages by relation type' + tabs: + overview: Overview + activity: Activity + relations: Relations + watchers: Watchers + files: Files + files_tab_migration_help: 'You can now attach files to work packages via the new tab:' + time_relative: + days: "days" + weeks: "weeks" + months: "months" + toolbar: + settings: + configure_view: "Configure view ..." + columns: "Columns ..." + sort_by: "Sort by ..." + group_by: "Group by ..." + display_sums: "Display sums" + display_hierarchy: "Display hierarchy" + hide_hierarchy: "Hide hierarchy" + hide_sums: "Hide sums" + save: "Save" + save_as: "Save as ..." + export: "Export ..." + visibility_settings: "Visibility settings ..." + page_settings: "Rename view ..." + delete: "Delete" + filter: "Filter" + unselected_title: "Work package" + search_query_label: "Search saved views" + modals: + label_name: "Name" + label_delete_page: "Delete current page" + button_apply: "Apply" + button_save: "Save" + button_submit: "Submit" + button_cancel: "Cancel" + button_delete: "Delete" + form_submit: + title: 'Confirm to continue' + text: 'Are you sure you want to perform this action?' + destroy_work_package: + title: "Confirm deletion of %{label}" + single_text: "Are you sure you want to delete the work package" + bulk_text: "Are you sure you want to delete the following %{label}?" + has_children: "The work package has %{childUnits}:" + confirm_deletion_children: "I acknowledge that ALL descendants of the listed work packages will be recursively removed." + deletes_children: "All child work packages and their descendants will also be recursively deleted." + destroy_time_entry: + title: "Confirm deletion of time entry" + text: "Are you sure you want to delete the following time entry?" + notice_no_results_to_display: "No visible results to display." + notice_successful_create: "Successful creation." + notice_successful_delete: "Successful deletion." + notice_successful_update: "Successful update." + notice_job_started: "job started." + notice_bad_request: "Bad Request." + relations: + empty: No relation exists + remove: Remove relation + inplace: + button_edit: "%{attribute}: Edit" + button_save: "%{attribute}: Save" + button_cancel: "%{attribute}: Cancel" + button_save_all: "Save" + button_cancel_all: "Cancel" + link_formatting_help: "Text formatting help" + btn_preview_enable: "Preview" + btn_preview_disable: "Disable preview" + null_value_label: "No value" + clear_value_label: "-" + errors: + required: '%{field} cannot be empty' + number: '%{field} is not a valid number' + maxlength: '%{field} cannot contain more than %{maxLength} digit(s)' + minlength: '%{field} cannot contain less than %{minLength} digit(s)' + messages_on_field: 'This field is invalid: %{messages}' + error_could_not_resolve_version_name: "Couldn't resolve version name" + error_could_not_resolve_user_name: "Couldn't resolve user name" + error_attachment_upload: "File failed to upload: %{error}" + error_attachment_upload_permission: "You don't have the permission to upload files on this resource." + units: + workPackage: + one: "work package" + few: "work packages" + many: "work packages" + other: "work packages" + child_work_packages: + one: "one child work package" + few: "%{count} work package children" + many: "%{count} work package children" + other: "%{count} work package children" + hour: + one: "1 h" + other: "%{count} h" + zero: "0 h" + day: + one: "1 day" + other: "%{count} days" + zero: "0 days" + zen_mode: + button_activate: 'Activate zen mode' + button_deactivate: 'Deactivate zen mode' + global_search: + all_projects: "In all projects" + search: "Search" + close_search: "Close search" + current_project: "In this project" + current_project_and_all_descendants: "In this project + subprojects" + title: + all_projects: "all projects" + project_and_subprojects: "and all subprojects" + search_for: "Search for" + views: + card: 'Cards' + list: 'Table' + timeline: 'Gantt' + invite_user_modal: + back: 'Back' + invite: 'Invite' + title: + invite: 'Invite user' + invite_to_project: 'Invite %{type} to %{project}' + User: 'user' + Group: 'group' + PlaceholderUser: 'placeholder user' + invite_principal_to_project: 'Invite %{principal} to %{project}' + project: + label: 'Project' + required: 'Please select a project' + lacking_permission: 'Please select a different project since you lack permissions to assign users to the currently selected.' + lacking_permission_info: 'You lack the permission to assign users to the project you are currently in. You need to select a different one.' + next_button: 'Next' + no_results: 'No projects were found' + no_invite_rights: 'You are not allowed to invite members to this project' + type: + required: 'Please select the type to be invited' + user: + title: 'User' + description: 'Permissions based on the assigned role in the selected project' + group: + title: 'Group' + description: 'Permissions based on the assigned role in the selected project' + placeholder: + title: 'Placeholder user' + title_no_ee: 'Placeholder user (Enterprise edition only add-on)' + description: 'Has no access to the project and no emails are sent out.' + description_no_ee: 'Has no access to the project and no emails are sent out.
Check out the Enterprise edition' + principal: + label: + name_or_email: 'Name or email address' + name: 'Name' + already_member_message: 'Already a member of %{project}' + no_results_user: 'No users were found' + invite_user: 'Invite:' + no_results_placeholder: 'No placeholders were found' + create_new_placeholder: 'Create new placeholder:' + no_results_group: 'No groups were found' + next_button: 'Next' + required: + user: 'Please select a user' + placeholder: 'Please select a placeholder' + group: 'Please select a group' + role: + label: 'Role in %{project}' + no_roles_found: 'No roles were found' + description: 'This is the role that the user will receive when they join your project. The role defines which actions they are allowed to take and which information they are allowed to see. Learn more about roles and permissions. ' + required: 'Please select a role' + next_button: 'Next' + message: + label: 'Invitation message' + description: 'We will send an email to the user, to which you can add a personal message here. An explanation for the invitation could be useful, or prehaps a bit of information regarding the project to help them get started.' + next_button: 'Next' + summary: + next_button: 'Send invitation' + success: + title: '%{principal} was invited!' + description: + user: 'The user can now log in to access %{project}. Meanwhile you can already plan with that user and assign work packages for instance.' + placeholder: 'The placeholder can now be used in %{project}. Meanwhile you can already plan with that user and assign work packages for instance.' + group: 'The group is now a part of %{project}. Meanwhile you can already plan with that group and assign work packages for instance.' + next_button: 'Continue' + include_projects: + toggle_title: 'Include projects' + title: 'Projects' + clear_selection: 'Clear selection' + apply: 'Apply' + selected_filter: + all: 'All projects' + selected: 'Only selected' + search_placeholder: 'Search project...' + include_subprojects: 'Include all sub-projects' + tooltip: + include_all_selected: 'Project already included since Include all sub-projects is enabled.' + current_project: 'This is the current project you are in.' + does_not_match_search: 'Project does not match the search criteria.' + no_results: 'No project matches your search criteria.' + forms: + submit_success_message: 'The form was successfully submitted' + load_error_message: 'There was an error loading the form' + validation_error_message: 'Please fix the errors present in the form' + advanced_settings: 'Advanced settings' + spot: + filter_chip: + remove: 'Remove' + drop_modal: + Close: 'Close' diff --git a/config/locales/crowdin/js-eu.yml b/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..1f016cc6ef --- /dev/null +++ b/config/locales/crowdin/js-eu.yml @@ -0,0 +1,1254 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + js: + ajax: + hide: "Hide" + loading: "Loading…" + updating: "Updating…" + attachments: + delete: "Delete attachment" + delete_confirmation: | + Are you sure you want to delete this file? This action is not reversible. + draggable_hint: | + Drag on editor field to inline image or reference attachment. Closed editor fields will be opened while you keep dragging. + autocomplete_select: + placeholder: + multi: "Add \"%{name}\"" + single: "Select \"%{name}\"" + remove: "Remove %{name}" + active: "Active %{label} %{name}" + backup: + attachments_disabled: Attachments may not be included since they exceed the maximum overall size allowed. You can change this via the configuration (requires a server restart). + info: > + You can trigger a backup here. The process can take some time depending on the amount of data (especially attachments) you have. You will receive an email once it's ready. + note: > + A new backup will override any previous one. Only a limited number of backups per day can be requested. + last_backup: Last backup + last_backup_from: Last backup from + title: Backup OpenProject + options: Options + include_attachments: Include attachments + download_backup: Download backup + request_backup: Request backup + close_popup_title: "Close popup" + close_filter_title: "Close filter" + close_form_title: "Close form" + button_add_watcher: "Add watcher" + button_add: "Add" + button_back: "Back" + button_back_to_list_view: "Back to list view" + button_cancel: "Cancel" + button_close: "Close" + button_change_project: "Change project" + button_check_all: "Check all" + button_configure-form: "Configure form" + button_confirm: "Confirm" + button_continue: "Continue" + button_copy: "Copy" + button_copy_to_other_project: "Copy to other project" + button_custom-fields: "Custom fields" + button_delete: "Delete" + button_delete_watcher: "Delete watcher" + button_details_view: "Details view" + button_duplicate: "Duplicate" + button_edit: "Edit" + button_filter: "Filter" + button_collapse_all: "Collapse all" + button_expand_all: "Expand all" + button_advanced_filter: "Advanced filter" + button_list_view: "List view" + button_show_view: "Fullscreen view" + button_log_time: "Log time" + button_more: "More" + button_open_details: "Open details view" + button_close_details: "Close details view" + button_open_fullscreen: "Open fullscreen view" + button_show_cards: "Show card view" + button_show_list: "Show list view" + button_show_table: "Show table view" + button_show_gantt: "Show Gantt view" + button_show_fullscreen: "Show fullscreen view" + button_more_actions: "More actions" + button_quote: "Quote" + button_save: "Save" + button_settings: "Settings" + button_uncheck_all: "Uncheck all" + button_update: "Update" + button_export-pdf: "Download PDF" + button_export-atom: "Download Atom" + button_create: "Create" + card: + add_new: 'Add new card' + highlighting: + inline: 'Highlight inline:' + entire_card_by: 'Entire card by' + remove_from_list: 'Remove card from list' + caption_rate_history: "Rate history" + clipboard: + browser_error: "Your browser doesn't support copying to clipboard. Please copy the selected text manually." + copied_successful: "Successfully copied to clipboard!" + chart: + type: 'Chart type' + axis_criteria: 'Axis criteria' + modal_title: 'Work package graph configuration' + types: + line: 'Line' + horizontal_bar: 'Horizontal bar' + bar: 'Bar' + pie: 'Pie' + doughnut: 'Doughnut' + radar: 'Radar' + polar_area: 'Polar area' + tabs: + graph_settings: 'General' + dataset: 'Dataset %{number}' + errors: + could_not_load: 'The data to display the graph could not be loaded. The necessary permissions may be lacking.' + description_available_columns: "Available Columns" + description_current_position: "You are here: " + description_select_work_package: "Select work package #%{id}" + description_selected_columns: "Selected Columns" + description_subwork_package: "Child of work package #%{id}" + editor: + preview: 'Toggle preview mode' + source_code: 'Toggle Markdown source mode' + error_saving_failed: 'Saving the document failed with the following error: %{error}' + ckeditor_error: 'An error occurred within CKEditor' + mode: + manual: 'Switch to Markdown source' + wysiwyg: 'Switch to WYSIWYG editor' + macro: + error: 'Cannot expand macro: %{message}' + attribute_reference: + macro_help_tooltip: 'This text segment is being dynamically rendered by a macro.' + not_found: 'Requested resource could not be found' + invalid_attribute: "The selected attribute '%{name}' does not exist." + child_pages: + button: 'Links to child pages' + include_parent: 'Include parent' + text: '[Placeholder] Links to child pages of' + page: 'Wiki page' + this_page: 'this page' + hint: | + Leave this field empty to list all child pages of the current page. If you want to reference a different page, provide its title or slug. + code_block: + button: 'Insert code snippet' + title: 'Insert / edit Code snippet' + language: 'Formatting language' + language_hint: 'Enter the formatting language that will be used for highlighting (if supported).' + dropdown: + macros: 'Macros' + chose_macro: 'Choose macro' + toc: 'Table of contents' + toolbar_help: 'Click to select widget and show the toolbar. Double-click to edit widget' + wiki_page_include: + button: 'Include content of another wiki page' + text: '[Placeholder] Included wiki page of' + page: 'Wiki page' + not_set: '(Page not yet set)' + hint: | + Include the content of another wiki page by specifying its title or slug. + You can include the wiki page of another project by separating them with a colon like the following example. + work_package_button: + button: 'Insert create work package button' + type: 'Work package type' + button_style: 'Use button style' + button_style_hint: 'Optional: Check to make macro appear as a button, not as a link.' + without_type: 'Create work package' + with_type: 'Create work package (Type: %{typename})' + embedded_table: + button: 'Embed work package table' + text: '[Placeholder] Embedded work package table' + embedded_calendar: + text: '[Placeholder] Embedded calendar' + admin: + type_form: + custom_field: 'Custom field' + inactive: 'Inactive' + drag_to_activate: "Drag fields from here to activate them" + add_group: "Add attribute group" + add_table: "Add table of related work packages" + edit_query: 'Edit query' + new_group: 'New group' + reset_to_defaults: 'Reset to defaults' + enterprise: + text_reprieve_days_left: "%{days} days until end of grace period" + text_expired: "expired" + trial: + confirmation: "Confirmation of email address" + confirmation_info: > + We sent you an email on %{date} to %{email}. Please check your inbox and click the confirmation link provided to start your 14 days trial. + form: + general_consent: > + I agree with the terms of service and the privacy policy. + invalid_email: "Invalid email address" + label_company: "Company" + label_first_name: "First name" + label_last_name: "Last name" + label_domain: "Domain" + label_subscriber: "Subscriber" + label_maximum_users: "Maximum active users" + label_starts_at: "Starts at" + label_expires_at: "Expires at" + receive_newsletter: I want to receive the OpenProject newsletter. + taken_domain: There can only be one active trial per domain. + domain_mismatch: The current request host name does not match the configured host name. Please double check your system settings. + taken_email: Each user can only create one trial. + email_not_received: "You did not receive an email? You can resend the email with the link on the right." + try_another_email: "Or try it with another email address." + next_steps: "Next steps" + resend_link: "Resend" + resend_success: "Email has been resent. Please check your emails and click the confirmation link provided." + resend_warning: "Could not resend email." + session_timeout: "Your session timed out. Please try to reload the page or resend email." + status_label: "Status:" + status_confirmed: "confirmed" + status_waiting: "email sent - waiting for confirmation" + test_ee: "Test the Enterprise edition 14 days for free" + quick_overview: "Get a quick overview of project management and team collaboration with OpenProject Enterprise edition." + upsale: + become_hero: "Become a hero!" + enterprise_info_html: "%{feature_title} is an Enterprise add-on." + upgrade_info: "Please upgrade to a paid plan to activate and start using it in your team." + benefits: + description: "What are the benefits of the Enterprise on-premises edition?" + high_security: "Security features" + high_security_text: "Single sign on (SAML, OpenID Connect, CAS), LDAP groups." + installation: "Installation support" + installation_text: "Experienced software engineers guide you through the complete installation and setup process in your own infrastructure." + premium_features: "Enterprise add-ons" + premium_features_text: "Agile boards, custom theme and logo, graphs, intelligent workflows with custom actions, full text search for work package attachments and multi-select custom fields." + professional_support: "Professional support" + professional_support_text: "Get reliable, high-touch support from senior support engineers with expert knowledge about running OpenProject in business-critical environments." + button_start_trial: "Start free trial" + button_upgrade: "Upgrade now" + button_contact_us: "Contact us for a demo" + button_book_now: "Book now" + confidence: > + We deliver the confidence of a tested and supported enterprise-class project management software - with Open Source and an open mind. + link_quote: "Get a quote" + more_info: "More information" + text: > + The OpenProject Enterprise edition builds on top of the Community edition. It includes Enterprise add-ons and professional support mainly aimed at organizations with more than 10 users that manage business critical projects with OpenProject. + unlimited: "Unlimited" + you_contribute: "Developers need to pay their bills, too. By upgrading to the Enterprise edition, you will be supporting this open source community effort and contributing to its development, maintenance and continuous improvement." + custom_actions: + date: + specific: 'on' + current_date: 'Current date' + error: + internal: "An internal error has occurred." + cannot_save_changes_with_message: "Cannot save your changes due to the following error: %{error}" + query_saving: "The view could not be saved." + embedded_table_loading: "The embedded view could not be loaded: %{message}" + enumeration_activities: "Activities (time tracking)" + enumeration_doc_categories: "Document categories" + enumeration_work_package_priorities: "Work package priorities" + filter: + more_values_not_shown: "There are %{total} more results, search to filter results." + description: + text_open_filter: "Open this filter with 'ALT' and arrow keys." + text_close_filter: "To select an entry leave the focus for example by pressing enter. To leave without filter select the first (empty) entry." + noneElement: "(none)" + time_zone_converted: + two_values: "%{from} - %{to} in your local time." + only_start: "From %{from} in your local time." + only_end: "Till %{to} in your local time." + value_spacer: "-" + sorting: + criteria: + one: "First sorting criteria" + two: "Second sorting criteria" + three: "Third sorting criteria" + upsale_for_more: "Advanced filters allow you to also filter for file names and content of work package attachments. Please upgrade to a paid plan to use this add-on." + upsale_link: 'Enterprise edition.' + general_text_no: "no" + general_text_yes: "yes" + general_text_No: "No" + general_text_Yes: "Yes" + hal: + error: + update_conflict_refresh: "Click here to refresh the resource and update to the newest version." + edit_prohibited: "Editing %{attribute} is blocked for this resource. Either this attribute is derived from relations (e.g, children) or otherwise not configurable." + format: + date: "%{attribute} is no valid date - YYYY-MM-DD expected." + general: "An error has occurred." + homescreen: + blocks: + new_features: + text_new_features: "Read about new features and product updates." + learn_about: "Learn more about the new features" + #Include the version to invalidate outdated translations in other locales. + #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. + '12_4': + standard: + learn_about_link: https://www.openproject.org/blog/openproject-12-4-release + new_features_html: > + The release contains various new features and improvements:
  • Activate notification date alerts for upcoming dates and overdue tasks.
  • We release two-factor authentication (2FA) for the Community edition.
  • The work week display option is now also added to the team planner.
  • List up to 3 people in a notification card when multiple people were involved in the changes.
+ bim: + learn_about_link: https://www.openproject.org/blog/openproject-12-4-release + new_features_html: > + The release contains various new features and improvements:
  • Activate notification date alerts for upcoming dates and overdue tasks.
  • We release two-factor authentication (2FA) for the Community edition.
  • The work week display option is now also added to the team planner.
  • List up to 3 people in a notification card when multiple people were involved in the changes.
+ label_activate: "Activate" + label_assignee: 'Assignee' + label_add_column_after: "Add column after" + label_add_column_before: "Add column before" + label_add_columns: "Add columns" + label_add_comment: "Add comment" + label_add_comment_title: "Comment and type @ to notify other people" + label_add_row_after: "Add row after" + label_add_row_before: "Add row before" + label_add_selected_columns: "Add selected columns" + label_added_by: "added by" + label_added_time_by: "Added by %{author} at %{age}" + label_ago: "days ago" + label_all: "all" + label_all_work_packages: "all work packages" + label_and: "and" + label_ascending: "Ascending" + label_author: "Author: %{user}" + label_avatar: "Avatar" + label_between: "between" + label_board: "Board" + label_board_locked: "Locked" + label_board_plural: "Boards" + label_board_sticky: "Sticky" + label_change: "Change" + label_create: "Create" + label_create_work_package: "Create new work package" + label_created_by: "Created by" + label_date: "Date" + label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" + label_deactivate: "Deactivate" + label_descending: "Descending" + label_description: "Description" + label_details: "Details" + label_display: "Display" + label_cancel_comment: "Cancel comment" + label_closed_work_packages: "closed" + label_collapse: "Collapse" + label_collapsed: "collapsed" + label_collapse_all: "Collapse all" + label_comment: "Comment" + label_committed_at: "%{committed_revision_link} at %{date}" + label_committed_link: "committed revision %{revision_identifier}" + label_contains: "contains" + label_created_on: "created on" + label_edit_comment: "Edit this comment" + label_edit_status: "Edit the status of the work package" + label_email: "Email" + label_equals: "is" + label_expand: "Expand" + label_expanded: "expanded" + label_expand_all: "Expand all" + label_expand_project_menu: "Expand project menu" + label_export: "Export" + label_export_preparing: "The export is being prepared and will be downloaded shortly." + label_filename: "File" + label_filesize: "Size" + label_general: "General" + label_global_roles: "Global Roles" + label_greater_or_equal: ">=" + label_group: 'Group' + label_group_by: "Group by" + label_group_plural: "Groups" + label_hide_attributes: "Show less" + label_hide_column: "Hide column" + label_hide_project_menu: "Collapse project menu" + label_in: "in" + label_in_less_than: "in less than" + label_in_more_than: "in more than" + label_incoming_emails: "Incoming emails" + label_information_plural: "Information" + label_invalid: "Invalid" + label_import: "Import" + label_latest_activity: "Latest activity" + label_last_updated_on: "Last updated on" + label_learn_more_link: "Learn more" + label_less_or_equal: "<=" + label_less_than_ago: "less than days ago" + label_loading: "Loading..." + label_mail_notification: "Email notifications" + label_me: "me" + label_meeting_agenda: "Agenda" + label_meeting_minutes: "Minutes" + label_menu_collapse: "collapse" + label_menu_expand: "expand" + label_more_than_ago: "more than days ago" + label_next: "Next" + label_no_color: "No color" + label_no_data: "No data to display" + label_no_due_date: "no finish date" + label_no_start_date: "no start date" + label_no_date: "no date" + label_no_value: "No value" + label_none: "none" + label_not_contains: "doesn't contain" + label_not_equals: "is not" + label_on: "on" + label_open_menu: "Open menu" + label_open_context_menu: "Open context menu" + label_open_work_packages: "open" + label_password: "Password" + label_previous: "Previous" + label_per_page: "Per page:" + label_please_wait: "Please wait" + label_project: "Project" + label_project_list: "Projects list" + label_project_plural: "Projects" + label_visibility_settings: "Visibility settings" + label_quote_comment: "Quote this comment" + label_recent: "Recent" + label_reset: "Reset" + label_remove: "Remove" + label_remove_column: "Remove column" + label_remove_columns: "Remove selected columns" + label_remove_row: "Remove row" + label_report: "Report" + label_repository_plural: "Repositories" + label_save_as: "Save as" + label_select_project: "Select a project" + label_select_watcher: "Select a watcher..." + label_selected_filter_list: "Selected filters" + label_show_attributes: "Show all attributes" + label_show_in_menu: "Show view in menu" + label_sort_by: "Sort by" + label_sorted_by: "sorted by" + label_sort_higher: "Move up" + label_sort_lower: "Move down" + label_sorting: "Sorting" + label_spent_time: "Spent time" + label_star_query: "Favored" + label_press_enter_to_save: "Press enter to save." + label_public_query: "Public" + label_sum: "Sum" + label_sum_for: "Sum for" + label_total_sum: "Total sum" + label_subject: "Subject" + label_this_week: "this week" + label_today: "Today" + label_time_entry_plural: "Spent time" + label_up: "Up" + label_user_plural: "Users" + label_activity_show_only_comments: "Show activities with comments only" + label_activity_show_all: "Show all activities" + label_total_progress: "%{percent}% Total progress" + label_total_amount: "Total: %{amount}" + label_updated_on: "updated on" + label_value_derived_from_children: "(value derived from children)" + label_children_derived_duration: "Work package's children derived duration" + label_warning: "Warning" + label_work_package: "Work package" + label_work_package_parent: "Parent work package" + label_work_package_plural: "Work packages" + label_watch: "Watch" + label_watch_work_package: "Watch work package" + label_watcher_added_successfully: "Watcher successfully added!" + label_watcher_deleted_successfully: "Watcher successfully deleted!" + label_work_package_details_you_are_here: "You're on the %{tab} tab for %{type} %{subject}." + label_unwatch: "Unwatch" + label_unwatch_work_package: "Unwatch work package" + label_uploaded_by: "Uploaded by" + label_default_queries: "Default" + label_starred_queries: "Favorite" + label_global_queries: "Public" + label_custom_queries: "Private" + label_columns: "Columns" + label_attachments: Attachments + label_drop_files: Drop files here + label_drop_files_hint: or click to add files + label_drop_folders_hint: You cannot upload folders as an attachment. Please select single files. + label_add_attachments: "Add attachments" + label_formattable_attachment_hint: "Attach and link files by dropping on this field, or pasting from the clipboard." + label_remove_file: "Delete %{fileName}" + label_remove_watcher: "Remove watcher %{name}" + label_remove_all_files: Delete all files + label_add_description: "Add a description for %{file}" + label_upload_notification: "Uploading files..." + label_work_package_upload_notification: "Uploading files for Work package #%{id}: %{subject}" #%{id}: %{subject}" + label_wp_id_added_by: "#%{id} added by %{author}" + label_files_to_upload: "These files will be uploaded:" + label_rejected_files: "These files cannot be uploaded:" + label_rejected_files_reason: "These files cannot be uploaded as their size is greater than %{maximumFilesize}" + label_wait: "Please wait for configuration..." + label_upload_counter: "%{done} of %{count} files finished" + label_validation_error: "The work package could not be saved due to the following errors:" + label_version_plural: "Versions" + label_view_has_changed: "This view has unsaved changes. Click to save them." + help_texts: + show_modal: 'Show attribute help text entry' + onboarding: + buttons: + skip: 'Skip' + next: 'Next' + got_it: 'Got it' + steps: + help_menu: 'The Help (?) menu provides additional help resources. Here you can find a user guide, helpful how-to videos and more.
Enjoy your work with OpenProject!' + members: 'Invite new members to join your project.' + project_selection: 'Please click on one of the demo projects that we have prepared. Demo data is currently only available in English.
The general demo project suits best for classical project management, while the Scrum project is better for agile project management.' + quick_add_button: 'Click on the plus (+) icon in the header navigation to create a new project or to invite coworkers.' + sidebar_arrow: "Use the return arrow in the top left corner to return to the project’s main menu." + welcome: 'Take a three minutes introduction tour to learn the most important features.
We recommend completing the steps until the end. You can restart the tour any time.' + wiki: 'Within the wiki you can document and share knowledge together with your team.' + backlogs: + overview: "Manage your work in the backlogs view." + sprints: "On the right you have the product backlog and the bug backlog, on the left you have the respective sprints. Here you can create epics, user stories, and bugs, prioritize via drag & drop and add them to a sprint." + task_board_arrow: 'To see your task board, open the sprint drop-down...' + task_board_select: '...and select the task board entry.' + task_board: "The task board visualizes the progress for this sprint. Click on the plus (+) icon next to a user story to add new tasks or impediments.
The status can be updated by drag and drop." + boards: + overview: 'Select boards to shift the view and manage your project using the agile boards view.' + lists_kanban: 'Here you can create multiple lists (columns) within your board. This feature allows you to create a Kanban board, for example.' + lists_basic: 'Here you can create multiple lists (columns) within your agile board.' + add: 'Click on the plus (+) icon to create a new card or add an existing card to the list on the board.' + drag: 'Drag and drop your cards within a given list to reorder them, or to move them to another list.
You can click the info (i) icon in the upper right-hand corner or double-click a card to open its details.' + wp: + toggler: "Now let's have a look at the work package section, which gives you a more detailed view of your work." + list: 'This work package overview provides a list of all the work in your project, such as tasks, milestones, phases, and more.
Work packages can be created and edited directly from this view. To access the details of a particular work package, simply double-click its row.' + full_view: 'The work package details view provides all the relevant information pertaining to a given work package, such as its description, status, priority, activities, dependencies, and comments.' + back_button: 'Use the return arrow in the top left corner to exit and return to the work package list.' + create_button: 'The + Create button will add a new work package to your project.' + timeline_button: 'You can activate the Gantt chart view to create a timeline for your project.' + timeline: 'Here you can edit your project plan, create new work packages, such as tasks, milestones, phases, and more, as well as add dependencies. All team members can see and update the latest plan at any time.' + team_planner: + overview: 'The team planner lets you visually assign tasks to team members and get an overview of who is working on what.' + calendar: 'The weekly or biweekly planning board displays all work packages assigned to your team members.' + add_assignee: 'To get started, add assignees to the team planner.' + add_existing: 'Search for existing work packages and drag them to the team planner to instantly assign them to a team member and define start and end dates.' + card: 'Drag work packages horizontally to move them backwards or forwards in time, drag the edges to change start and end dates and even drag them vertically to a different row to assign them to another member.' + notifications: + title: "Notifications" + no_unread: "No unread notifications" + reasons: + mentioned: 'mentioned' + watched: 'watcher' + assigned: 'assignee' + responsible: 'accountable' + created: 'created' + scheduled: 'scheduled' + commented: 'commented' + processed: 'processed' + prioritized: 'prioritized' + dateAlert: 'Date alert' + date_alerts: + milestone_date: 'Milestone date' + overdue: 'Overdue' + overdue_since: 'since %{difference_in_days}' + property_today: 'is today' + property_is: 'is in %{difference_in_days}' + property_was: 'was %{difference_in_days} ago' + property_is_deleted: 'is deleted' + upsale: + title: 'Date alerts' + description: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' + facets: + unread: 'Unread' + unread_title: 'Show unread' + all: 'All' + all_title: 'Show all' + center: + label_actor_and: 'and' + and_more_users: + one: 'and 1 other' + other: 'and %{count} others' + no_results: + at_all: 'New notifications will appear here when there is activity that concerns you, in the mean time you can also view and modify your notification settings to configure when to be notified.' + with_current_filter: 'There are no notifications in this view at the moment' + mark_all_read: 'Mark all as read' + mark_as_read: 'Mark as read' + text_update_date: "%{date} by" + total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed." + empty_state: + no_notification: "Looks like you're all caught up." + no_notification_with_current_project_filter: "Looks like you're all caught up with the selected project." + no_notification_with_current_filter: "Looks like you're all caught up for %{filter} filter." + no_selection: "Click on a notification to view all activity details." + new_notifications: + message: 'There are new notifications.' + link_text: 'Click here to load them' + menu: + accountable: 'Accountable' + by_project: 'Unread by project' + by_reason: 'Reason' + inbox: 'Inbox' + mentioned: 'Mentioned' + watched: 'Watcher' + date_alert: 'Date alert' + settings: + change_notification_settings: 'To view and change your notification settings, click here' + title: "Notification settings" + notify_me: "Notify me" + reminders: + no_notification: No notification + timeframes: + normal: + PT0S: same day + P1D: 1 day before + P3D: 3 days before + P7D: a week before + overdue: + P1D: every day + P3D: every 3 days + P7D: every week + reasons: + mentioned: + title: 'Mentioned' + description: 'Receive a notification every time someone mentions me anywhere' + assignee: 'Assignee' + responsible: 'Accountable' + watched: 'Watcher' + work_package_commented: 'All new comments' + work_package_created: 'New work packages' + work_package_processed: 'All status changes' + work_package_prioritized: 'All priority changes' + work_package_scheduled: 'All date changes' + global: + immediately: + title: 'Participating' + description: 'Notifications for all activities in work packages you are involved in (assignee, accountable or watcher).' + delayed: + title: 'Non-participating' + description: 'Additional notifications for activities in all projects.' + date_alerts: + title: 'Date alerts' + description: 'Automatic notifications when important dates are approaching for open work packages you are involved in (assignee, accountable or watcher).' + teaser_text: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' + overdue: When overdue + project_specific: + title: 'Project-specific notification settings' + description: 'These project-specific settings override default settings above.' + add: 'Add setting for project' + already_selected: 'This project is already selected' + remove: 'Remove project settings' + password_confirmation: + field_description: 'You need to enter your account password to confirm this change.' + title: 'Confirm your password to continue' + pagination: + no_other_page: "You are on the only page." + pages: + next: "Forward to the next page" + previous: "Back to the previous page" + placeholders: + default: '-' + subject: 'Enter subject here' + selection: 'Please select' + description: 'Description: Click to edit...' + relation_description: 'Click to add description for this relation' + project: + required_outside_context: > + Please choose a project to create the work package in to see all attributes. You can only select projects which have the type above activated. + context: 'Project context' + work_package_belongs_to: 'This work package belongs to project %{projectname}.' + click_to_switch_context: 'Open this work package in that project.' + confirm_template_load: 'Switching the template will reload the page and you will lose all input to this form. Continue?' + use_template: "Use template" + no_template_selected: "(None)" + copy: + copy_options: "Copy options" + autocompleter: + label: 'Project autocompletion' + reminders: + settings: + daily: + add_time: 'Add time' + enable: 'Enable daily email reminders' + explanation: 'You will receive these reminders only for unread notifications and only at hours you specify. %{no_time_zone}' + no_time_zone: 'Until you configure a time zone for your account, the times will be interpreted to be in UTC.' + time_label: 'Time %{counter}:' + title: 'Send me daily email reminders for unread notifications' + workdays: + title: 'Receive email reminders on these days' + immediate: + title: 'Send me an email reminder' + mentioned: 'Immediately when someone @mentions me' + alerts: + title: 'Email alerts for other items (that are not work packages)' + explanation: > + Notifications today are limited to work packages. You can choose to continue receiving email alerts for these events until they are included in notifications: + news_added: 'News added' + news_commented: 'Comment on a news item' + document_added: 'Documents added' + forum_messages: 'New forum messages' + wiki_page_added: 'Wiki page added' + wiki_page_updated: 'Wiki page updated' + membership_added: 'Membership added' + membership_updated: 'Membership updated' + title: 'Email reminders' + pause: + label: 'Temporarily pause daily email reminders' + first_day: 'First day' + last_day: 'Last day' + text_are_you_sure: "Are you sure?" + text_data_lost: "All entered data will be lost." + types: + attribute_groups: + error_duplicate_group_name: "The name %{group} is used more than once. Group names must be unique." + error_no_table_configured: "Please configure a table for %{group}." + reset_title: "Reset form configuration" + confirm_reset: > + Warning: Are you sure you want to reset the form configuration? This will reset the attributes to their default group and disable ALL custom fields. + upgrade_to_ee: "Upgrade to Enterprise on-premises edition" + upgrade_to_ee_text: "Wow! If you need this add-on you are a super pro! Would you mind supporting us OpenSource developers by becoming an Enterprise edition client?" + more_information: "More information" + nevermind: "Nevermind" + edit: + form_configuration: "Form Configuration" + projects: "Projects" + settings: "Settings" + time_entry: + work_package_required: 'Requires selecting a work package first.' + title: 'Log time' + two_factor_authentication: + label_two_factor_authentication: 'Two-factor authentication' + watchers: + label_loading: loading watchers... + label_error_loading: An error occurred while loading the watchers + label_search_watchers: Search watchers + label_add: Add watchers + label_discard: Discard selection + typeahead_placeholder: Search for possible watchers + relation_labels: + parent: "Parent" + children: "Children" + relates: "Related To" + duplicates: "Duplicates" + duplicated: "Duplicated by" + blocks: "Blocks" + blocked: "Blocked by" + precedes: "Precedes" + follows: "Follows" + includes: "Includes" + partof: "Part of" + requires: "Requires" + required: "Required by" + relation_type: "relation type" + relations_hierarchy: + parent_headline: "Parent" + hierarchy_headline: "Hierarchy" + children_headline: "Children" + relation_buttons: + set_parent: "Set parent" + change_parent: "Change parent" + remove_parent: "Remove parent" + hierarchy_indent: "Indent hierarchy" + hierarchy_outdent: "Outdent hierarchy" + group_by_wp_type: "Group by work package type" + group_by_relation_type: "Group by relation type" + add_parent: "Add existing parent" + add_new_child: "Create new child" + create_new: "Create new" + add_existing: "Add existing" + add_existing_child: "Add existing child" + remove_child: "Remove child" + add_new_relation: "Create new relation" + add_existing_relation: "Add existing relation" + update_description: "Set or update description of this relation" + toggle_description: "Toggle relation description" + update_relation: "Click to change the relation type" + add_follower: "Add follower" + add_predecessor: "Add predecessor" + remove: "Remove relation" + save: "Save relation" + abort: "Abort" + relations_autocomplete: + placeholder: "Type to search" + parent_placeholder: "Choose new parent or press escape to cancel." + autocompleter: + placeholder: "Type to search" + notFoundText: "No items found" + typeToSearchText: "Type to search" + repositories: + select_tag: 'Select tag' + select_branch: 'Select branch' + field_value_enter_prompt: "Enter a value for '%{field}'" + project_menu_details: "Details" + scheduling: + manual: 'Manual scheduling' + sort: + sorted_asc: 'Ascending sort applied, ' + sorted_dsc: 'Descending sort applied, ' + sorted_no: 'No sort applied, ' + sorting_disabled: 'sorting is disabled' + activate_asc: 'activate to apply an ascending sort' + activate_dsc: 'activate to apply a descending sort' + activate_no: 'activate to remove the sort' + text_work_packages_destroy_confirmation: "Are you sure you want to delete the selected work package(s)?" + text_query_destroy_confirmation: "Are you sure you want to delete the selected view?" + timelines: + quarter_label: 'Q%{quarter_number}' + gantt_chart: 'Gantt chart' + labels: + title: 'Label configuration' + bar: 'Bar labels' + left: 'Left' + right: 'Right' + farRight: 'Far right' + showNone: '-- No label --' + description: > + Select the attributes you want to be shown in the respective positions of the Gantt chart at all times. Note that when hovering over an element, its date labels will be shown instead of these attributes. + button_activate: 'Show Gantt chart' + button_deactivate: 'Hide Gantt chart' + cancel: Cancel + change: "Change in planning" + due_date: "Finish date" + empty: "(empty)" + error: "An error has occurred." + errors: + not_implemented: "The timeline could not be rendered because it uses a feature that is not yet implemented." + report_comparison: "The timeline could not render the configured comparisons. Please check the appropriate section in the configuration, resetting it can help solve this problem." + report_epicfail: "The timeline could not be loaded due to an unexpected error." + report_timeout: "The timeline could not be loaded in a reasonable amount of time." + filter: + grouping_other: "Other" + noneSelection: "(none)" + name: "Name" + outline: "Reset Outline" + outlines: + aggregation: "Show aggregations only" + level1: "Expand level 1" + level2: "Expand level 2" + level3: "Expand level 3" + level4: "Expand level 4" + level5: "Expand level 5" + all: "Show all" + project_status: "Project status" + really_close_dialog: "Do you really want to close the dialog and lose the entered data?" + responsible: "Responsible" + save: Save + start_date: "Start date" + tooManyProjects: "More than %{count} Projects. Please use a better filter!" + selection_mode: + notification: 'Click on any highlighted work package to create the relation. Press escape to cancel.' + zoom: + in: "Zoom in" + out: "Zoom out" + auto: "Auto zoom" + days: "Days" + weeks: "Weeks" + months: "Months" + quarters: "Quarters" + years: "Years" + slider: "Zoom slider" + description: > + Select the initial zoom level that should be shown when autozoom is not available. + tl_toolbar: + zooms: "Zoom level" + outlines: "Hierarchy level" + upsale: + ee_only: 'Enterprise edition add-on' + wiki_formatting: + strong: "Strong" + italic: "Italic" + underline: "Underline" + deleted: "Deleted" + code: "Inline Code" + heading1: "Heading 1" + heading2: "Heading 2" + heading3: "Heading 3" + unordered_list: "Unordered List" + ordered_list: "Ordered List" + quote: "Quote" + unquote: "Unquote" + preformatted_text: "Preformatted Text" + wiki_link: "Link to a Wiki page" + image: "Image" + work_packages: + bulk_actions: + move: 'Bulk change of project' + edit: 'Bulk edit' + copy: 'Bulk copy' + delete: 'Bulk delete' + button_clear: "Clear" + comment_added: "The comment was successfully added." + comment_send_failed: "An error has occurred. Could not submit the comment." + comment_updated: "The comment was successfully updated." + confirm_edit_cancel: "Are you sure you want to cancel editing the work package?" + datepicker_modal: + automatically_scheduled_parent: "Automatically scheduled. Dates are derived from relations." + manually_scheduled: "Manual scheduling enabled, all relations ignored." + start_date_limited_by_relations: "Available start and finish dates are limited by relations." + changing_dates_affects_follow_relations: "Changing these dates will affect dates of related work packages." + click_on_show_relations_to_open_gantt: 'Click on "%{button_name}" for GANTT overview.' + show_relations: 'Show relations' + ignore_non_working_days: + title: 'Working days only' + description_filter: "Filter" + description_enter_text: "Enter text" + description_options_hide: "Hide options" + description_options_show: "Show options" + edit_attribute: "%{attribute} - Edit" + key_value: "%{key}: %{value}" + label_enable_multi_select: "Enable multiselect" + label_disable_multi_select: "Disable multiselect" + label_filter_add: "Add filter" + label_filter_by_text: "Filter by text" + label_options: "Options" + label_column_multiselect: "Combined dropdown field: Select with arrow keys, confirm selection with enter, delete with backspace" + message_error_during_bulk_delete: An error occurred while trying to delete work packages. + message_successful_bulk_delete: Successfully deleted work packages. + message_successful_show_in_fullscreen: "Click here to open this work package in fullscreen view." + message_view_spent_time: "Show spent time for this work package" + message_work_package_read_only: "Work package is locked in this status. No attribute other than status can be altered." + message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + placeholder_filter_by_text: "Subject, description, comments, ..." + filters: + title: 'Filter work packages' + inline_create: + title: 'Click here to add a new work package to this list' + create: + title: 'New work package' + header: 'New %{type}' + header_no_type: 'New work package (Type not yet set)' + header_with_parent: 'New %{type} (Child of %{parent_type} #%{id})' + button: 'Create' + copy: + title: 'Copy work package' + hierarchy: + show: "Show hierarchy mode" + hide: "Hide hierarchy mode" + toggle_button: 'Click to toggle hierarchy mode.' + leaf: 'Work package leaf at level %{level}.' + children_collapsed: 'Hierarchy level %{level}, collapsed. Click to show the filtered children' + children_expanded: 'Hierarchy level %{level}, expanded. Click to collapse the filtered children' + faulty_query: + title: Work packages could not be loaded. + description: Your view is erroneous and could not be processed. + no_results: + title: No work packages to display. + description: Either none have been created or all work packages are filtered out. + limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering, or switch to automatic sorting. + property_groups: + details: "Details" + people: "People" + estimatesAndTime: "Estimates & Time" + other: "Other" + properties: + assignee: "Assignee" + author: "Author" + createdAt: "Created on" + description: "Description" + date: "Date" + dueDate: "Finish date" + duration: "Duration" + estimatedTime: "Estimated time" + spentTime: "Spent time" + category: "Category" + percentageDone: "Percentage done" + priority: "Priority" + projectName: "Project" + responsible: "Responsible" + startDate: "Start date" + status: "Status" + subject: "Subject" + subproject: "Subproject" + title: "Title" + type: "Type" + updatedAt: "Updated on" + versionName: "Version" + version: "Version" + default_queries: + latest_activity: "Latest activity" + created_by_me: "Created by me" + assigned_to_me: "Assigned to me" + recently_created: "Recently created" + all_open: "All open" + summary: "Summary" + jump_marks: + pagination: "Jump to table pagination" + label_pagination: "Click here to skip over the work packages table and go to pagination" + content: "Jump to content" + label_content: "Click here to skip over the menu and go to the content" + placeholders: + default: "-" + date: "Select date" + query: + column_names: "Columns" + group_by: "Group results by" + group: "Group by" + group_by_disabled_by_hierarchy: "Group by is disabled due to the hierarchy mode being active." + hierarchy_disabled_by_group_by: "Hierarchy mode is disabled due to results being grouped by %{column}." + sort_ascending: "Sort ascending" + sort_descending: "Sort descending" + move_column_left: "Move column left" + move_column_right: "Move column right" + hide_column: "Hide column" + insert_columns: "Insert columns ..." + filters: "Filters" + display_sums: "Display Sums" + confirm_edit_cancel: "Are you sure you want to cancel editing the name of this view? Title will be set back to previous value." + click_to_edit_query_name: "Click to edit title of this view." + rename_query_placeholder: "Name of this view" + star_text: "Mark this view as favorite and add to the saved views sidebar on the left." + public_text: > + Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + errors: + unretrievable_query: "Unable to retrieve view from URL" + not_found: "There is no such view" + duplicate_query_title: "Name of this view already exists. Change anyway?" + text_no_results: "No matching views were found." + scheduling: + is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." + is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." + table: + configure_button: 'Configure work package table' + summary: "Table with rows of work package and columns of work package attributes." + text_inline_edit: "Most cells of this table are buttons that activate inline-editing functionality of that attribute." + text_sort_hint: "With the links in the table headers you can sort, group, reorder, remove and add table columns." + text_select_hint: "Select boxes should be opened with 'ALT' and arrow keys." + table_configuration: + button: 'Configure this work package table' + choose_display_mode: 'Display work packages as' + modal_title: 'Work package table configuration' + embedded_tab_disabled: "This configuration tab is not available for the embedded view you're editing." + default: "default" + display_settings: 'Display settings' + default_mode: "Flat list" + hierarchy_mode: "Hierarchy" + hierarchy_hint: "All filtered table results will be augmented with their ancestors. Hierarchies can be expanded and collapsed." + display_sums_hint: "Display sums of all summable attributes in a row below the table results." + show_timeline_hint: "Show an interactive gantt chart on the right side of the table. You can change its width by dragging the divider between table and gantt chart." + highlighting: 'Highlighting' + highlighting_mode: + description: "Highlight with color" + none: "No highlighting" + inline: 'Highlighted attribute(s)' + inline_all: 'All attributes' + entire_row_by: 'Entire row by' + status: 'Status' + priority: 'Priority' + type: 'Type' + sorting_mode: + description: 'Chose the mode to sort your Work packages:' + automatic: 'Automatic' + manually: 'Manually' + warning: 'You will lose your previous sorting when activating the automatic sorting mode.' + columns_help_text: "Use the input field above to add columns to your table view. You can drag and drop the columns to reorder them." + upsale: + attribute_highlighting: 'Need certain work packages to stand out from the mass?' + relation_columns: 'Need to see relations in the work package list?' + check_out_link: 'Check out the Enterprise edition.' + relation_filters: + filter_work_packages_by_relation_type: 'Filter work packages by relation type' + tabs: + overview: Overview + activity: Activity + relations: Relations + watchers: Watchers + files: Files + files_tab_migration_help: 'You can now attach files to work packages via the new tab:' + time_relative: + days: "days" + weeks: "weeks" + months: "months" + toolbar: + settings: + configure_view: "Configure view ..." + columns: "Columns ..." + sort_by: "Sort by ..." + group_by: "Group by ..." + display_sums: "Display sums" + display_hierarchy: "Display hierarchy" + hide_hierarchy: "Hide hierarchy" + hide_sums: "Hide sums" + save: "Save" + save_as: "Save as ..." + export: "Export ..." + visibility_settings: "Visibility settings ..." + page_settings: "Rename view ..." + delete: "Delete" + filter: "Filter" + unselected_title: "Work package" + search_query_label: "Search saved views" + modals: + label_name: "Name" + label_delete_page: "Delete current page" + button_apply: "Apply" + button_save: "Save" + button_submit: "Submit" + button_cancel: "Cancel" + button_delete: "Delete" + form_submit: + title: 'Confirm to continue' + text: 'Are you sure you want to perform this action?' + destroy_work_package: + title: "Confirm deletion of %{label}" + single_text: "Are you sure you want to delete the work package" + bulk_text: "Are you sure you want to delete the following %{label}?" + has_children: "The work package has %{childUnits}:" + confirm_deletion_children: "I acknowledge that ALL descendants of the listed work packages will be recursively removed." + deletes_children: "All child work packages and their descendants will also be recursively deleted." + destroy_time_entry: + title: "Confirm deletion of time entry" + text: "Are you sure you want to delete the following time entry?" + notice_no_results_to_display: "No visible results to display." + notice_successful_create: "Successful creation." + notice_successful_delete: "Successful deletion." + notice_successful_update: "Successful update." + notice_job_started: "job started." + notice_bad_request: "Bad Request." + relations: + empty: No relation exists + remove: Remove relation + inplace: + button_edit: "%{attribute}: Edit" + button_save: "%{attribute}: Save" + button_cancel: "%{attribute}: Cancel" + button_save_all: "Save" + button_cancel_all: "Cancel" + link_formatting_help: "Text formatting help" + btn_preview_enable: "Preview" + btn_preview_disable: "Disable preview" + null_value_label: "No value" + clear_value_label: "-" + errors: + required: '%{field} cannot be empty' + number: '%{field} is not a valid number' + maxlength: '%{field} cannot contain more than %{maxLength} digit(s)' + minlength: '%{field} cannot contain less than %{minLength} digit(s)' + messages_on_field: 'This field is invalid: %{messages}' + error_could_not_resolve_version_name: "Couldn't resolve version name" + error_could_not_resolve_user_name: "Couldn't resolve user name" + error_attachment_upload: "File failed to upload: %{error}" + error_attachment_upload_permission: "You don't have the permission to upload files on this resource." + units: + workPackage: + one: "work package" + other: "work packages" + child_work_packages: + one: "one child work package" + other: "%{count} work package children" + hour: + one: "1 h" + other: "%{count} h" + zero: "0 h" + day: + one: "1 day" + other: "%{count} days" + zero: "0 days" + zen_mode: + button_activate: 'Activate zen mode' + button_deactivate: 'Deactivate zen mode' + global_search: + all_projects: "In all projects" + search: "Search" + close_search: "Close search" + current_project: "In this project" + current_project_and_all_descendants: "In this project + subprojects" + title: + all_projects: "all projects" + project_and_subprojects: "and all subprojects" + search_for: "Search for" + views: + card: 'Cards' + list: 'Table' + timeline: 'Gantt' + invite_user_modal: + back: 'Back' + invite: 'Invite' + title: + invite: 'Invite user' + invite_to_project: 'Invite %{type} to %{project}' + User: 'user' + Group: 'group' + PlaceholderUser: 'placeholder user' + invite_principal_to_project: 'Invite %{principal} to %{project}' + project: + label: 'Project' + required: 'Please select a project' + lacking_permission: 'Please select a different project since you lack permissions to assign users to the currently selected.' + lacking_permission_info: 'You lack the permission to assign users to the project you are currently in. You need to select a different one.' + next_button: 'Next' + no_results: 'No projects were found' + no_invite_rights: 'You are not allowed to invite members to this project' + type: + required: 'Please select the type to be invited' + user: + title: 'User' + description: 'Permissions based on the assigned role in the selected project' + group: + title: 'Group' + description: 'Permissions based on the assigned role in the selected project' + placeholder: + title: 'Placeholder user' + title_no_ee: 'Placeholder user (Enterprise edition only add-on)' + description: 'Has no access to the project and no emails are sent out.' + description_no_ee: 'Has no access to the project and no emails are sent out.
Check out the Enterprise edition' + principal: + label: + name_or_email: 'Name or email address' + name: 'Name' + already_member_message: 'Already a member of %{project}' + no_results_user: 'No users were found' + invite_user: 'Invite:' + no_results_placeholder: 'No placeholders were found' + create_new_placeholder: 'Create new placeholder:' + no_results_group: 'No groups were found' + next_button: 'Next' + required: + user: 'Please select a user' + placeholder: 'Please select a placeholder' + group: 'Please select a group' + role: + label: 'Role in %{project}' + no_roles_found: 'No roles were found' + description: 'This is the role that the user will receive when they join your project. The role defines which actions they are allowed to take and which information they are allowed to see. Learn more about roles and permissions. ' + required: 'Please select a role' + next_button: 'Next' + message: + label: 'Invitation message' + description: 'We will send an email to the user, to which you can add a personal message here. An explanation for the invitation could be useful, or prehaps a bit of information regarding the project to help them get started.' + next_button: 'Next' + summary: + next_button: 'Send invitation' + success: + title: '%{principal} was invited!' + description: + user: 'The user can now log in to access %{project}. Meanwhile you can already plan with that user and assign work packages for instance.' + placeholder: 'The placeholder can now be used in %{project}. Meanwhile you can already plan with that user and assign work packages for instance.' + group: 'The group is now a part of %{project}. Meanwhile you can already plan with that group and assign work packages for instance.' + next_button: 'Continue' + include_projects: + toggle_title: 'Include projects' + title: 'Projects' + clear_selection: 'Clear selection' + apply: 'Apply' + selected_filter: + all: 'All projects' + selected: 'Only selected' + search_placeholder: 'Search project...' + include_subprojects: 'Include all sub-projects' + tooltip: + include_all_selected: 'Project already included since Include all sub-projects is enabled.' + current_project: 'This is the current project you are in.' + does_not_match_search: 'Project does not match the search criteria.' + no_results: 'No project matches your search criteria.' + forms: + submit_success_message: 'The form was successfully submitted' + load_error_message: 'There was an error loading the form' + validation_error_message: 'Please fix the errors present in the form' + advanced_settings: 'Advanced settings' + spot: + filter_chip: + remove: 'Remove' + drop_modal: + Close: 'Close' diff --git a/modules/avatars/config/locales/crowdin/be.yml b/modules/avatars/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..dc6172be31 --- /dev/null +++ b/modules/avatars/config/locales/crowdin/be.yml @@ -0,0 +1,40 @@ +#English strings go here +be: + label_avatar: "Avatar" + label_avatar_plural: "Avatars" + label_current_avatar: "Current Avatar" + label_choose_avatar: "Choose Avatar from file" + message_avatar_uploaded: "Avatar changed successfully." + error_image_upload: "Error saving the image." + error_image_size: "The image is too large." + button_change_avatar: "Change avatar" + are_you_sure_delete_avatar: "Are you sure you want to delete your avatar?" + avatar_deleted: "Avatar deleted successfully." + unable_to_delete_avatar: "Avatar could not be deleted." + wrong_file_format: "Allowed formats are jpg, png, gif" + empty_file_error: "Please upload a valid image (jpg, png, gif)" + avatars: + label_avatar: "Avatar" + label_gravatar: 'Gravatar' + label_current_avatar: 'Current avatar' + label_local_avatar: 'Custom avatar' + text_current_avatar: | + The following image shows the current avatar. + text_upload_instructions: | + Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match. + A preview of your avatar will be shown before uploading, once you selected an image. + text_change_gravatar_html: 'To change or add the Gravatar for your mail address, go to %{gravatar_url}.' + text_your_local_avatar: | + OpenProject allows you to upload your own custom avatar. + text_local_avatar_over_gravatar: | + If you set one, this custom avatar is used in precedence over the gravatar above. + text_your_current_gravatar: | + OpenProject uses your gravatar if you registered one, or a default image or icon if one exists. + The current gravatar is as follows: + settings: + enable_gravatars: 'Enable user gravatars' + gravatar_default: "Default Gravatar image" + enable_local_avatars: 'Enable user custom avatars' + + + diff --git a/modules/avatars/config/locales/crowdin/eu.yml b/modules/avatars/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..db2009c756 --- /dev/null +++ b/modules/avatars/config/locales/crowdin/eu.yml @@ -0,0 +1,40 @@ +#English strings go here +eu: + label_avatar: "Avatar" + label_avatar_plural: "Avatars" + label_current_avatar: "Current Avatar" + label_choose_avatar: "Choose Avatar from file" + message_avatar_uploaded: "Avatar changed successfully." + error_image_upload: "Error saving the image." + error_image_size: "The image is too large." + button_change_avatar: "Change avatar" + are_you_sure_delete_avatar: "Are you sure you want to delete your avatar?" + avatar_deleted: "Avatar deleted successfully." + unable_to_delete_avatar: "Avatar could not be deleted." + wrong_file_format: "Allowed formats are jpg, png, gif" + empty_file_error: "Please upload a valid image (jpg, png, gif)" + avatars: + label_avatar: "Avatar" + label_gravatar: 'Gravatar' + label_current_avatar: 'Current avatar' + label_local_avatar: 'Custom avatar' + text_current_avatar: | + The following image shows the current avatar. + text_upload_instructions: | + Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match. + A preview of your avatar will be shown before uploading, once you selected an image. + text_change_gravatar_html: 'To change or add the Gravatar for your mail address, go to %{gravatar_url}.' + text_your_local_avatar: | + OpenProject allows you to upload your own custom avatar. + text_local_avatar_over_gravatar: | + If you set one, this custom avatar is used in precedence over the gravatar above. + text_your_current_gravatar: | + OpenProject uses your gravatar if you registered one, or a default image or icon if one exists. + The current gravatar is as follows: + settings: + enable_gravatars: 'Enable user gravatars' + gravatar_default: "Default Gravatar image" + enable_local_avatars: 'Enable user custom avatars' + + + diff --git a/modules/avatars/config/locales/crowdin/js-be.yml b/modules/avatars/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..d9a8b78ec9 --- /dev/null +++ b/modules/avatars/config/locales/crowdin/js-be.yml @@ -0,0 +1,15 @@ +#English strings go here +be: + js: + label_preview: 'Preview' + button_update: 'Update' + avatars: + label_choose_avatar: "Choose Avatar from file" + uploading_avatar: "Uploading your avatar." + text_upload_instructions: | + Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match. + A preview of your avatar will be shown before uploading, once you selected an image. + error_image_too_large: "Image is too large." + wrong_file_format: "Allowed formats are jpg, png, gif" + empty_file_error: "Please upload a valid image (jpg, png, gif)" + diff --git a/modules/avatars/config/locales/crowdin/js-eu.yml b/modules/avatars/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..90f3405264 --- /dev/null +++ b/modules/avatars/config/locales/crowdin/js-eu.yml @@ -0,0 +1,15 @@ +#English strings go here +eu: + js: + label_preview: 'Preview' + button_update: 'Update' + avatars: + label_choose_avatar: "Choose Avatar from file" + uploading_avatar: "Uploading your avatar." + text_upload_instructions: | + Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match. + A preview of your avatar will be shown before uploading, once you selected an image. + error_image_too_large: "Image is too large." + wrong_file_format: "Allowed formats are jpg, png, gif" + empty_file_error: "Please upload a valid image (jpg, png, gif)" + diff --git a/modules/backlogs/config/locales/crowdin/be.yml b/modules/backlogs/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..ba38f4b8a4 --- /dev/null +++ b/modules/backlogs/config/locales/crowdin/be.yml @@ -0,0 +1,161 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + activerecord: + attributes: + work_package: + position: "Position" + remaining_hours: "Remaining hours" + remaining_time: "Remaining hours" + story_points: "Story Points" + backlogs_work_package_type: "Backlog type" + errors: + models: + work_package: + attributes: + blocks_ids: + can_only_contain_work_packages_of_current_sprint: "can only contain IDs of work packages in the current sprint." + must_block_at_least_one_work_package: "must contain the ID of at least one ticket." + parent_id: + parent_child_relationship_across_projects: "is invalid because the work package '%{work_package_name}' is a backlog task and therefore cannot have a parent outside of the current project." + type_must_be_one_of_the_following: "Type must be one of the following: %{type_names}." + version_id: + task_version_must_be_the_same_as_story_version: "must be the same as the parent story's version." + sprint: + cannot_end_before_it_starts: "Sprint cannot end before it starts." + backlogs: + add_new_story: "New Story" + any: "any" + backlog_settings: "Backlogs settings" + burndown_graph: "Burndown Graph" + card_paper_size: "Paper size for card printing" + chart_options: "Chart options" + close: "Close" + column_width: "Column width:" + date: "Day" + definition_of_done: "Definition of Done" + generating_chart: "Generating Graph..." + hours: "Hours" + impediment: "Impediment" + label_versions_default_fold_state: "Show versions folded" + work_package_is_closed: "Work package is done, when" + label_is_done_status: "Status %{status_name} means done" + no_burndown_data: "No burndown data available. It is necessary to have the sprint start- and end dates set." + points: "Points" + positions_could_not_be_rebuilt: "Positions could not be rebuilt." + positions_rebuilt_successfully: "Positions rebuilt successfully." + properties: "Properties" + rebuild: "Rebuild" + rebuild_positions: "Rebuild positions" + remaining_hours: "Remaining hours" + remaining_hours_ideal: "Remaining hours (ideal)" + show_burndown_chart: "Burndown Chart" + story: "Story" + story_points: "Story Points" + story_points_ideal: "Story Points (ideal)" + task: "Task" + task_color: "Task color" + unassigned: "Unassigned" + x_more: "%{count} more..." + backlogs_active: "active" + backlogs_any: "any" + backlogs_card_specification: "Label types for card printing" + backlogs_inactive: "Project shows no activity" + backlogs_points_burn_direction: "Points burn up/down" + backlogs_product_backlog: "Product backlog" + backlogs_product_backlog_is_empty: "Product backlog is empty" + backlogs_product_backlog_unsized: "The top of the product backlog has unsized stories" + backlogs_sizing_inconsistent: "Story sizes vary against their estimates" + backlogs_sprint_notes_missing: "Closed sprints without retrospective/review notes" + backlogs_sprint_unestimated: "Closed or active sprints with unestimated stories" + backlogs_sprint_unsized: "Project has stories on active or recently closed sprints that were not sized" + backlogs_sprints: "Sprints" + backlogs_story: "Story" + backlogs_story_type: "Story types" + backlogs_task: "Task" + backlogs_task_type: "Task type" + backlogs_velocity_missing: "No velocity could be calculated for this project" + backlogs_velocity_varies: "Velocity varies significantly over sprints" + backlogs_wiki_template: "Template for sprint wiki page" + backlogs_empty_title: "No versions are defined to be used in backlogs" + backlogs_empty_action_text: "To get started with backlogs, create a new version and assign it to a backlogs column." + button_edit_wiki: "Edit wiki page" + error_backlogs_task_cannot_be_story: "The settings are invalid. The selected task type can not also be a story type." + error_intro_plural: "The following errors were encountered:" + error_intro_singular: "The following error was encountered:" + error_outro: "Please correct the above errors before submitting again." + event_sprint_description: "%{summary}: %{url}\n%{description}" + event_sprint_summary: "%{project}: %{summary}" + ideal: "ideal" + inclusion: "is not included in the list" + label_back_to_project: "Back to project page" + label_backlog: "Backlog" + label_backlogs: "Backlogs" + label_backlogs_unconfigured: "You have not configured Backlogs yet. Please go to %{administration} > %{plugins}, then click on the %{configure} link for this plugin. Once you have set the fields, come back to this page to start using the tool." + label_blocks_ids: "IDs of blocked work packages" + label_burndown: "Burndown" + label_column_in_backlog: "Column in backlog" + label_hours: "hours" + label_work_package_hierarchy: "Work package Hierarchy" + label_master_backlog: "Master Backlog" + label_not_prioritized: "not prioritized" + label_points: "points" + label_points_burn_down: "Down" + label_points_burn_up: "Up" + label_product_backlog: "product backlog" + label_select_all: "Select all" + label_sprint_backlog: "sprint backlog" + label_sprint_cards: "Export cards" + label_sprint_impediments: "Sprint Impediments" + label_sprint_name: "Sprint \"%{name}\"" + label_sprint_velocity: "Velocity %{velocity}, based on %{sprints} sprints with an average %{days} days" + label_stories: "Stories" + label_stories_tasks: "Stories/Tasks" + label_task_board: "Task board" + label_version_setting: "Versions" + label_version: 'Version' + label_webcal: "Webcal Feed" + label_wiki: "Wiki" + permission_view_master_backlog: "View master backlog" + permission_view_taskboards: "View taskboards" + permission_select_done_statuses: "Select done statuses" + permission_update_sprints: "Update sprints" + points_accepted: "points accepted" + points_committed: "points committed" + points_resolved: "points resolved" + points_to_accept: "points not accepted" + points_to_resolve: "points not resolved" + project_module_backlogs: "Backlogs" + rb_label_copy_tasks: "Copy work packages" + rb_label_copy_tasks_all: "All" + rb_label_copy_tasks_none: "None" + rb_label_copy_tasks_open: "Open" + rb_label_link_to_original: "Include link to original story" + remaining_hours: "remaining hours" + required_burn_rate_hours: "required burn rate (hours)" + required_burn_rate_points: "required burn rate (points)" + todo_work_package_description: "%{summary}: %{url}\n%{description}" + todo_work_package_summary: "%{type}: %{summary}" + version_settings_display_label: "Column in backlog" + version_settings_display_option_left: "left" + version_settings_display_option_none: "none" + version_settings_display_option_right: "right" diff --git a/modules/backlogs/config/locales/crowdin/eu.yml b/modules/backlogs/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..6d2ad024d9 --- /dev/null +++ b/modules/backlogs/config/locales/crowdin/eu.yml @@ -0,0 +1,161 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + activerecord: + attributes: + work_package: + position: "Position" + remaining_hours: "Remaining hours" + remaining_time: "Remaining hours" + story_points: "Story Points" + backlogs_work_package_type: "Backlog type" + errors: + models: + work_package: + attributes: + blocks_ids: + can_only_contain_work_packages_of_current_sprint: "can only contain IDs of work packages in the current sprint." + must_block_at_least_one_work_package: "must contain the ID of at least one ticket." + parent_id: + parent_child_relationship_across_projects: "is invalid because the work package '%{work_package_name}' is a backlog task and therefore cannot have a parent outside of the current project." + type_must_be_one_of_the_following: "Type must be one of the following: %{type_names}." + version_id: + task_version_must_be_the_same_as_story_version: "must be the same as the parent story's version." + sprint: + cannot_end_before_it_starts: "Sprint cannot end before it starts." + backlogs: + add_new_story: "New Story" + any: "any" + backlog_settings: "Backlogs settings" + burndown_graph: "Burndown Graph" + card_paper_size: "Paper size for card printing" + chart_options: "Chart options" + close: "Close" + column_width: "Column width:" + date: "Day" + definition_of_done: "Definition of Done" + generating_chart: "Generating Graph..." + hours: "Hours" + impediment: "Impediment" + label_versions_default_fold_state: "Show versions folded" + work_package_is_closed: "Work package is done, when" + label_is_done_status: "Status %{status_name} means done" + no_burndown_data: "No burndown data available. It is necessary to have the sprint start- and end dates set." + points: "Points" + positions_could_not_be_rebuilt: "Positions could not be rebuilt." + positions_rebuilt_successfully: "Positions rebuilt successfully." + properties: "Properties" + rebuild: "Rebuild" + rebuild_positions: "Rebuild positions" + remaining_hours: "Remaining hours" + remaining_hours_ideal: "Remaining hours (ideal)" + show_burndown_chart: "Burndown Chart" + story: "Story" + story_points: "Story Points" + story_points_ideal: "Story Points (ideal)" + task: "Task" + task_color: "Task color" + unassigned: "Unassigned" + x_more: "%{count} more..." + backlogs_active: "active" + backlogs_any: "any" + backlogs_card_specification: "Label types for card printing" + backlogs_inactive: "Project shows no activity" + backlogs_points_burn_direction: "Points burn up/down" + backlogs_product_backlog: "Product backlog" + backlogs_product_backlog_is_empty: "Product backlog is empty" + backlogs_product_backlog_unsized: "The top of the product backlog has unsized stories" + backlogs_sizing_inconsistent: "Story sizes vary against their estimates" + backlogs_sprint_notes_missing: "Closed sprints without retrospective/review notes" + backlogs_sprint_unestimated: "Closed or active sprints with unestimated stories" + backlogs_sprint_unsized: "Project has stories on active or recently closed sprints that were not sized" + backlogs_sprints: "Sprints" + backlogs_story: "Story" + backlogs_story_type: "Story types" + backlogs_task: "Task" + backlogs_task_type: "Task type" + backlogs_velocity_missing: "No velocity could be calculated for this project" + backlogs_velocity_varies: "Velocity varies significantly over sprints" + backlogs_wiki_template: "Template for sprint wiki page" + backlogs_empty_title: "No versions are defined to be used in backlogs" + backlogs_empty_action_text: "To get started with backlogs, create a new version and assign it to a backlogs column." + button_edit_wiki: "Edit wiki page" + error_backlogs_task_cannot_be_story: "The settings are invalid. The selected task type can not also be a story type." + error_intro_plural: "The following errors were encountered:" + error_intro_singular: "The following error was encountered:" + error_outro: "Please correct the above errors before submitting again." + event_sprint_description: "%{summary}: %{url}\n%{description}" + event_sprint_summary: "%{project}: %{summary}" + ideal: "ideal" + inclusion: "is not included in the list" + label_back_to_project: "Back to project page" + label_backlog: "Backlog" + label_backlogs: "Backlogs" + label_backlogs_unconfigured: "You have not configured Backlogs yet. Please go to %{administration} > %{plugins}, then click on the %{configure} link for this plugin. Once you have set the fields, come back to this page to start using the tool." + label_blocks_ids: "IDs of blocked work packages" + label_burndown: "Burndown" + label_column_in_backlog: "Column in backlog" + label_hours: "hours" + label_work_package_hierarchy: "Work package Hierarchy" + label_master_backlog: "Master Backlog" + label_not_prioritized: "not prioritized" + label_points: "points" + label_points_burn_down: "Down" + label_points_burn_up: "Up" + label_product_backlog: "product backlog" + label_select_all: "Select all" + label_sprint_backlog: "sprint backlog" + label_sprint_cards: "Export cards" + label_sprint_impediments: "Sprint Impediments" + label_sprint_name: "Sprint \"%{name}\"" + label_sprint_velocity: "Velocity %{velocity}, based on %{sprints} sprints with an average %{days} days" + label_stories: "Stories" + label_stories_tasks: "Stories/Tasks" + label_task_board: "Task board" + label_version_setting: "Versions" + label_version: 'Version' + label_webcal: "Webcal Feed" + label_wiki: "Wiki" + permission_view_master_backlog: "View master backlog" + permission_view_taskboards: "View taskboards" + permission_select_done_statuses: "Select done statuses" + permission_update_sprints: "Update sprints" + points_accepted: "points accepted" + points_committed: "points committed" + points_resolved: "points resolved" + points_to_accept: "points not accepted" + points_to_resolve: "points not resolved" + project_module_backlogs: "Backlogs" + rb_label_copy_tasks: "Copy work packages" + rb_label_copy_tasks_all: "All" + rb_label_copy_tasks_none: "None" + rb_label_copy_tasks_open: "Open" + rb_label_link_to_original: "Include link to original story" + remaining_hours: "remaining hours" + required_burn_rate_hours: "required burn rate (hours)" + required_burn_rate_points: "required burn rate (points)" + todo_work_package_description: "%{summary}: %{url}\n%{description}" + todo_work_package_summary: "%{type}: %{summary}" + version_settings_display_label: "Column in backlog" + version_settings_display_option_left: "left" + version_settings_display_option_none: "none" + version_settings_display_option_right: "right" diff --git a/modules/backlogs/config/locales/crowdin/js-be.yml b/modules/backlogs/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..f452dd137f --- /dev/null +++ b/modules/backlogs/config/locales/crowdin/js-be.yml @@ -0,0 +1,27 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + js: + work_packages: + properties: + storyPoints: "Story Points" + remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-eu.yml b/modules/backlogs/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..781698136b --- /dev/null +++ b/modules/backlogs/config/locales/crowdin/js-eu.yml @@ -0,0 +1,27 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + js: + work_packages: + properties: + storyPoints: "Story Points" + remainingTime: "Remaining hours" diff --git a/modules/bim/config/locales/crowdin/be.yml b/modules/bim/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..c35d053052 --- /dev/null +++ b/modules/bim/config/locales/crowdin/be.yml @@ -0,0 +1,134 @@ +#English strings go here for Rails i18n +be: + bim: + label_bim: 'BIM' + bcf: + label_bcf: 'BCF' + label_imported_failed: 'Failed imports of BCF topics' + label_imported_successfully: 'Successfully imported BCF topics' + issues: "Issues" + recommended: 'recommended' + not_recommended: 'not recommended' + no_viewpoints: 'No viewpoints' + new_badge: "New" + exceptions: + file_invalid: "BCF file invalid" + x_bcf_issues: + zero: 'No BCF issues' + one: 'One BCF issue' + other: '%{count} BCF issues' + bcf_xml: + xml_file: 'BCF XML File' + import_title: 'Import' + export: 'Export' + import_update_comment: '(Updated in BCF import)' + import_failed: 'Cannot import BCF file: %{error}' + import_failed_unsupported_bcf_version: 'Failed to read the BCF file: The BCF version is not supported. Please ensure the version is at least %{minimal_version} or higher.' + import_successful: 'Imported %{count} BCF issues' + import_canceled: 'BCF-XML import canceled.' + type_not_active: "The issue type is not activated for this project." + import: + num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.' + button_prepare: 'Prepare import' + button_perform_import: 'Confirm import' + button_proceed: 'Proceed with import' + button_back_to_list: 'Back to list' + no_permission_to_add_members: 'You do not have sufficient permissions to add them as members to the project.' + contact_project_admin: 'Contact your project admin to add them as members and start this import again.' + continue_anyways: 'Do you want to proceed and finish the import anyways?' + description: "Provide a BCF-XML v2.1 file to import into this project. You can examine its contents before performing the import." + invalid_types_found: 'Invalid topic type names found' + invalid_statuses_found: 'Invalid status names found' + invalid_priorities_found: 'Invalid priority names found' + invalid_emails_found: 'Invalid email addresses found' + unknown_emails_found: 'Unknown email addresses found' + unknown_property: 'Unknown property' + non_members_found: 'Non project members found' + import_types_as: 'Set all these types to' + import_statuses_as: 'Set all these statuses to' + import_priorities_as: 'Set all these priorities to' + invite_as_members_with_role: 'Invite them as members to the project "%{project}" with role' + add_as_members_with_role: 'Add them as members to the project "%{project}" with role' + no_type_provided: 'No type provided' + no_status_provided: 'No status provided' + no_priority_provided: 'No priority provided' + perform_description: "Do you want to import or update the issues listed above?" + replace_with_system_user: 'Replace them with "System" user' + import_as_system_user: 'Import them as "System" user.' + what_to_do: "What do you want to do?" + work_package_has_newer_changes: "Outdated! This topic was not updated as the latest changes on the server were newer than the \"ModifiedDate\" of the imported topic. However, comments to the topic were imported." + bcf_file_not_found: "Failed to locate BCF file. Please start the upload process again." + export: + format: + bcf: "BCF-XML" + attributes: + bcf_thumbnail: "BCF snapshot" + project_module_bcf: "BCF" + project_module_bim: "BCF" + permission_view_linked_issues: "View BCF issues" + permission_manage_bcf: "Import and manage BCF issues" + permission_delete_bcf: "Delete BCF issues" + oauth: + scopes: + bcf_v2_1: "Full access to the BCF v2.1 API" + bcf_v2_1_text: "Application will receive full read & write access to the OpenProject BCF API v2.1 to perform actions on your behalf." + activerecord: + models: + bim/ifc_models/ifc_model: "IFC model" + attributes: + bim/ifc_models/ifc_model: + ifc_attachment: "IFC file" + is_default: "Default model" + attachments: "IFC file" + errors: + models: + bim/ifc_models/ifc_model: + attributes: + base: + ifc_attachment_missing: "No ifc file attached." + invalid_ifc_file: "The provided file is not a valid IFC file." + bim/bcf/viewpoint: + bitmaps_not_writable: "bitmaps is not writable as it is not yet implemented." + index_not_integer: "index is not an integer." + invalid_clipping_planes: "clipping_planes is invalid." + invalid_components: "components is invalid." + invalid_lines: "lines is invalid." + invalid_orthogonal_camera: "orthogonal_camera is invalid." + invalid_perspective_camera: "perspective_camera is invalid." + mismatching_guid: "The guid in the json_viewpoint does not match the model's guid." + no_json: "Is not a well structured json." + snapshot_type_unsupported: "snapshot_type needs to be either 'png' or 'jpg'." + snapshot_data_blank: "snapshot_data needs to be provided." + unsupported_key: "An unsupported json property is included." + bim/bcf/issue: + uuid_already_taken: "Can't import this BCF issue as there already is another with the same GUID. Could it be that this BCF issue had already been imported into a different project?" + ifc_models: + label_ifc_models: 'IFC models' + label_new_ifc_model: 'New IFC model' + label_show_defaults: 'Show defaults' + label_default_ifc_models: 'Default IFC models' + label_edit_defaults: 'Edit defaults' + no_defaults_warning: + title: 'No IFC model was set as default for this project.' + check_1: 'Check that you have uploaded at least one IFC model.' + check_2: 'Check that at least one IFC model is set to "Default".' + no_results: "No IFC models have been uploaded in this project." + conversion_status: + label: 'Processing?' + pending: 'Pending' + processing: 'Processing' + completed: 'Completed' + error: 'Error' + processing_notice: + processing_default: 'The following default IFC models are still being processed and are thus not available, yet:' + flash_messages: + upload_successful: 'Upload succeeded. It will now get processed and will be ready to use in a couple of minutes.' + conversion: + missing_commands: "The following IFC converter commands are missing on this system: %{names}" + project_module_ifc_models: "IFC models" + permission_view_ifc_models: "View IFC models" + permission_manage_ifc_models: "Import and manage IFC models" + extraction: + available: + ifc_convert: "IFC conversion pipeline available" + diff --git a/modules/bim/config/locales/crowdin/eu.yml b/modules/bim/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..b8974ac183 --- /dev/null +++ b/modules/bim/config/locales/crowdin/eu.yml @@ -0,0 +1,134 @@ +#English strings go here for Rails i18n +eu: + bim: + label_bim: 'BIM' + bcf: + label_bcf: 'BCF' + label_imported_failed: 'Failed imports of BCF topics' + label_imported_successfully: 'Successfully imported BCF topics' + issues: "Issues" + recommended: 'recommended' + not_recommended: 'not recommended' + no_viewpoints: 'No viewpoints' + new_badge: "New" + exceptions: + file_invalid: "BCF file invalid" + x_bcf_issues: + zero: 'No BCF issues' + one: 'One BCF issue' + other: '%{count} BCF issues' + bcf_xml: + xml_file: 'BCF XML File' + import_title: 'Import' + export: 'Export' + import_update_comment: '(Updated in BCF import)' + import_failed: 'Cannot import BCF file: %{error}' + import_failed_unsupported_bcf_version: 'Failed to read the BCF file: The BCF version is not supported. Please ensure the version is at least %{minimal_version} or higher.' + import_successful: 'Imported %{count} BCF issues' + import_canceled: 'BCF-XML import canceled.' + type_not_active: "The issue type is not activated for this project." + import: + num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.' + button_prepare: 'Prepare import' + button_perform_import: 'Confirm import' + button_proceed: 'Proceed with import' + button_back_to_list: 'Back to list' + no_permission_to_add_members: 'You do not have sufficient permissions to add them as members to the project.' + contact_project_admin: 'Contact your project admin to add them as members and start this import again.' + continue_anyways: 'Do you want to proceed and finish the import anyways?' + description: "Provide a BCF-XML v2.1 file to import into this project. You can examine its contents before performing the import." + invalid_types_found: 'Invalid topic type names found' + invalid_statuses_found: 'Invalid status names found' + invalid_priorities_found: 'Invalid priority names found' + invalid_emails_found: 'Invalid email addresses found' + unknown_emails_found: 'Unknown email addresses found' + unknown_property: 'Unknown property' + non_members_found: 'Non project members found' + import_types_as: 'Set all these types to' + import_statuses_as: 'Set all these statuses to' + import_priorities_as: 'Set all these priorities to' + invite_as_members_with_role: 'Invite them as members to the project "%{project}" with role' + add_as_members_with_role: 'Add them as members to the project "%{project}" with role' + no_type_provided: 'No type provided' + no_status_provided: 'No status provided' + no_priority_provided: 'No priority provided' + perform_description: "Do you want to import or update the issues listed above?" + replace_with_system_user: 'Replace them with "System" user' + import_as_system_user: 'Import them as "System" user.' + what_to_do: "What do you want to do?" + work_package_has_newer_changes: "Outdated! This topic was not updated as the latest changes on the server were newer than the \"ModifiedDate\" of the imported topic. However, comments to the topic were imported." + bcf_file_not_found: "Failed to locate BCF file. Please start the upload process again." + export: + format: + bcf: "BCF-XML" + attributes: + bcf_thumbnail: "BCF snapshot" + project_module_bcf: "BCF" + project_module_bim: "BCF" + permission_view_linked_issues: "View BCF issues" + permission_manage_bcf: "Import and manage BCF issues" + permission_delete_bcf: "Delete BCF issues" + oauth: + scopes: + bcf_v2_1: "Full access to the BCF v2.1 API" + bcf_v2_1_text: "Application will receive full read & write access to the OpenProject BCF API v2.1 to perform actions on your behalf." + activerecord: + models: + bim/ifc_models/ifc_model: "IFC model" + attributes: + bim/ifc_models/ifc_model: + ifc_attachment: "IFC file" + is_default: "Default model" + attachments: "IFC file" + errors: + models: + bim/ifc_models/ifc_model: + attributes: + base: + ifc_attachment_missing: "No ifc file attached." + invalid_ifc_file: "The provided file is not a valid IFC file." + bim/bcf/viewpoint: + bitmaps_not_writable: "bitmaps is not writable as it is not yet implemented." + index_not_integer: "index is not an integer." + invalid_clipping_planes: "clipping_planes is invalid." + invalid_components: "components is invalid." + invalid_lines: "lines is invalid." + invalid_orthogonal_camera: "orthogonal_camera is invalid." + invalid_perspective_camera: "perspective_camera is invalid." + mismatching_guid: "The guid in the json_viewpoint does not match the model's guid." + no_json: "Is not a well structured json." + snapshot_type_unsupported: "snapshot_type needs to be either 'png' or 'jpg'." + snapshot_data_blank: "snapshot_data needs to be provided." + unsupported_key: "An unsupported json property is included." + bim/bcf/issue: + uuid_already_taken: "Can't import this BCF issue as there already is another with the same GUID. Could it be that this BCF issue had already been imported into a different project?" + ifc_models: + label_ifc_models: 'IFC models' + label_new_ifc_model: 'New IFC model' + label_show_defaults: 'Show defaults' + label_default_ifc_models: 'Default IFC models' + label_edit_defaults: 'Edit defaults' + no_defaults_warning: + title: 'No IFC model was set as default for this project.' + check_1: 'Check that you have uploaded at least one IFC model.' + check_2: 'Check that at least one IFC model is set to "Default".' + no_results: "No IFC models have been uploaded in this project." + conversion_status: + label: 'Processing?' + pending: 'Pending' + processing: 'Processing' + completed: 'Completed' + error: 'Error' + processing_notice: + processing_default: 'The following default IFC models are still being processed and are thus not available, yet:' + flash_messages: + upload_successful: 'Upload succeeded. It will now get processed and will be ready to use in a couple of minutes.' + conversion: + missing_commands: "The following IFC converter commands are missing on this system: %{names}" + project_module_ifc_models: "IFC models" + permission_view_ifc_models: "View IFC models" + permission_manage_ifc_models: "Import and manage IFC models" + extraction: + available: + ifc_convert: "IFC conversion pipeline available" + diff --git a/modules/bim/config/locales/crowdin/js-be.yml b/modules/bim/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..0dad519044 --- /dev/null +++ b/modules/bim/config/locales/crowdin/js-be.yml @@ -0,0 +1,29 @@ +#English strings go here +be: + js: + bcf: + label_bcf: 'BCF' + import: 'Import' + import_bcf_xml_file: 'Import BCF XML file (BCF version 2.1)' + export: 'Export' + export_bcf_xml_file: 'Export BCF XML file (BCF version 2.1)' + viewpoint: 'Viewpoint' + add_viewpoint: 'Add viewpoint' + show_viewpoint: 'Show viewpoint' + delete_viewpoint: 'Delete viewpoint' + management: 'BCF management' + refresh: 'Refresh' + refresh_work_package: 'Refresh work package' + ifc_models: + empty_warning: "This project does not yet have any IFC models." + use_this_link_to_manage: "Use this link to upload and manage your IFC models" + keyboard_input_disabled: "Viewer does not have keyboard controls. Click on the viewer to give keyboard control to the viewer." + models: + ifc_models: 'IFC models' + views: + viewer: 'Viewer' + split: 'Viewer and table' + split_cards: 'Viewer and cards' + revit: + revit_add_in: "Revit Add-In" + revit_add_in_settings: "Revit Add-In settings" diff --git a/modules/bim/config/locales/crowdin/js-eu.yml b/modules/bim/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..8280e2fb29 --- /dev/null +++ b/modules/bim/config/locales/crowdin/js-eu.yml @@ -0,0 +1,29 @@ +#English strings go here +eu: + js: + bcf: + label_bcf: 'BCF' + import: 'Import' + import_bcf_xml_file: 'Import BCF XML file (BCF version 2.1)' + export: 'Export' + export_bcf_xml_file: 'Export BCF XML file (BCF version 2.1)' + viewpoint: 'Viewpoint' + add_viewpoint: 'Add viewpoint' + show_viewpoint: 'Show viewpoint' + delete_viewpoint: 'Delete viewpoint' + management: 'BCF management' + refresh: 'Refresh' + refresh_work_package: 'Refresh work package' + ifc_models: + empty_warning: "This project does not yet have any IFC models." + use_this_link_to_manage: "Use this link to upload and manage your IFC models" + keyboard_input_disabled: "Viewer does not have keyboard controls. Click on the viewer to give keyboard control to the viewer." + models: + ifc_models: 'IFC models' + views: + viewer: 'Viewer' + split: 'Viewer and table' + split_cards: 'Viewer and cards' + revit: + revit_add_in: "Revit Add-In" + revit_add_in_settings: "Revit Add-In settings" diff --git a/modules/boards/config/locales/crowdin/be.yml b/modules/boards/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..d5790152d7 --- /dev/null +++ b/modules/boards/config/locales/crowdin/be.yml @@ -0,0 +1,8 @@ +#English strings go here +be: + permission_show_board_views: "View boards" + permission_manage_board_views: "Manage boards" + project_module_board_view: "Boards" + boards: + label_board: "Board" + label_boards: "Boards" diff --git a/modules/boards/config/locales/crowdin/eu.yml b/modules/boards/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..7d40b427cb --- /dev/null +++ b/modules/boards/config/locales/crowdin/eu.yml @@ -0,0 +1,8 @@ +#English strings go here +eu: + permission_show_board_views: "View boards" + permission_manage_board_views: "Manage boards" + project_module_board_view: "Boards" + boards: + label_board: "Board" + label_boards: "Boards" diff --git a/modules/boards/config/locales/crowdin/js-be.yml b/modules/boards/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..b9777319ea --- /dev/null +++ b/modules/boards/config/locales/crowdin/js-be.yml @@ -0,0 +1,86 @@ +#English strings go here +be: + js: + boards: + create_new: 'Create new board' + label_unnamed_board: 'Unnamed board' + label_unnamed_list: 'Unnamed list' + label_board_type: 'Board type' + upsale: + teaser_text: 'Would you like to automate your workflows with Boards? Advanced boards are an Enterprise add-on. Please upgrade to a paid plan.' + upgrade: 'Upgrade now' + lists: + delete: 'Delete list' + version: + is_locked: 'Version is locked. No items can be added to this version.' + is_closed: 'Version is closed. No items can be added to this version.' + close_version: 'Close version' + open_version: 'Open version' + lock_version: 'Lock version' + unlock_version: 'Unlock version' + edit_version: 'Edit version' + show_version: 'Show version' + locked: 'Locked' + closed: 'Closed' + new_board: 'New board' + add_list: 'Add list to board' + add_card: 'Add card' + error_attribute_not_writable: "Cannot move the work package, %{attribute} is not writable." + error_loading_the_list: "Error loading the list: %{error_message}" + error_permission_missing: "The permission to create public queries is missing" + error_cannot_move_into_self: "You can not move a work package into its own column." + text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information." + click_to_remove_list: "Click to remove this list" + board_type: + text: 'Board type' + free: 'basic' + select_board_type: 'Please choose the type of board you need.' + free_text: > + Start from scratch with a blank board. Manually add cards and columns to this board. + action: 'Action board' + action_by_attribute: 'Action board (%{attribute})' + action_text: > + A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute. + action_text_subprojects: > + Board with automated columns for subprojects. Dragging work packages to other lists updates the (sub-)project accordingly. + action_text_subtasks: > + Board with automated columns for sub-elements. Dragging work packages to other lists updates the parent accordingly. + action_text_status: > + Basic kanban style board with columns for status such as To Do, In Progress, Done. + action_text_assignee: > + Board with automated columns based on assigned users. Ideal for dispatching work packages. + action_text_version: > + Board with automated columns based on the version attribute. Ideal for planning product development. + action_type: + assignee: assignee + status: status + version: version + subproject: subproject + subtasks: parent-child + board_type_title: + assignee: Assignee + status: Status + version: Version + subproject: Subproject + subtasks: Parent-child + basic: Basic + select_attribute: "Action attribute" + add_list_modal: + labels: + assignee: Select user to add as a new assignee list + status: Select status to add as a new list + version: Select version to add as a new list + subproject: Select subproject to add as a new list + subtasks: Select work package to add as a new list + warning: + status: | + There is currently no status available.
+ Either there are none or they have all already been added to the board. + assignee: There isn't any member matched with your filter value.
+ no_member: This project currently does not have any members that can be added.
+ add_members: Add a new member to this project to select users again. + configuration_modal: + title: 'Configure this board' + display_settings: + card_mode: "Display as cards" + table_mode: "Display as table" diff --git a/modules/boards/config/locales/crowdin/js-eu.yml b/modules/boards/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..454f64873c --- /dev/null +++ b/modules/boards/config/locales/crowdin/js-eu.yml @@ -0,0 +1,86 @@ +#English strings go here +eu: + js: + boards: + create_new: 'Create new board' + label_unnamed_board: 'Unnamed board' + label_unnamed_list: 'Unnamed list' + label_board_type: 'Board type' + upsale: + teaser_text: 'Would you like to automate your workflows with Boards? Advanced boards are an Enterprise add-on. Please upgrade to a paid plan.' + upgrade: 'Upgrade now' + lists: + delete: 'Delete list' + version: + is_locked: 'Version is locked. No items can be added to this version.' + is_closed: 'Version is closed. No items can be added to this version.' + close_version: 'Close version' + open_version: 'Open version' + lock_version: 'Lock version' + unlock_version: 'Unlock version' + edit_version: 'Edit version' + show_version: 'Show version' + locked: 'Locked' + closed: 'Closed' + new_board: 'New board' + add_list: 'Add list to board' + add_card: 'Add card' + error_attribute_not_writable: "Cannot move the work package, %{attribute} is not writable." + error_loading_the_list: "Error loading the list: %{error_message}" + error_permission_missing: "The permission to create public queries is missing" + error_cannot_move_into_self: "You can not move a work package into its own column." + text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information." + click_to_remove_list: "Click to remove this list" + board_type: + text: 'Board type' + free: 'basic' + select_board_type: 'Please choose the type of board you need.' + free_text: > + Start from scratch with a blank board. Manually add cards and columns to this board. + action: 'Action board' + action_by_attribute: 'Action board (%{attribute})' + action_text: > + A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute. + action_text_subprojects: > + Board with automated columns for subprojects. Dragging work packages to other lists updates the (sub-)project accordingly. + action_text_subtasks: > + Board with automated columns for sub-elements. Dragging work packages to other lists updates the parent accordingly. + action_text_status: > + Basic kanban style board with columns for status such as To Do, In Progress, Done. + action_text_assignee: > + Board with automated columns based on assigned users. Ideal for dispatching work packages. + action_text_version: > + Board with automated columns based on the version attribute. Ideal for planning product development. + action_type: + assignee: assignee + status: status + version: version + subproject: subproject + subtasks: parent-child + board_type_title: + assignee: Assignee + status: Status + version: Version + subproject: Subproject + subtasks: Parent-child + basic: Basic + select_attribute: "Action attribute" + add_list_modal: + labels: + assignee: Select user to add as a new assignee list + status: Select status to add as a new list + version: Select version to add as a new list + subproject: Select subproject to add as a new list + subtasks: Select work package to add as a new list + warning: + status: | + There is currently no status available.
+ Either there are none or they have all already been added to the board. + assignee: There isn't any member matched with your filter value.
+ no_member: This project currently does not have any members that can be added.
+ add_members: Add a new member to this project to select users again. + configuration_modal: + title: 'Configure this board' + display_settings: + card_mode: "Display as cards" + table_mode: "Display as table" diff --git a/modules/budgets/config/locales/crowdin/be.yml b/modules/budgets/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..87690db9d0 --- /dev/null +++ b/modules/budgets/config/locales/crowdin/be.yml @@ -0,0 +1,73 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + activerecord: + attributes: + budget: + author: "Author" + available: "Available" + budget: "Planned" + budget_ratio: "Spent (ratio)" + description: "Description" + spent: "Spent" + status: "Status" + subject: "Subject" + type: "Cost type" + labor_budget: "Planned labor costs" + material_budget: "Planned unit costs" + work_package: + budget_subject: "Budget title" + models: + budget: "Budget" + material_budget_item: "Unit" + attributes: + budget: "Budget" + button_add_budget_item: "Add planned costs" + button_add_budget: "Add budget" + button_add_cost_type: "Add cost type" + button_cancel_edit_budget: "Cancel editing budget" + button_cancel_edit_costs: "Cancel editing costs" + caption_labor: "Labor" + caption_labor_costs: "Actual labor costs" + caption_material_costs: "Actual unit costs" + budgets_title: "Budgets" + events: + budget: "Budget edited" + help_click_to_edit: "Click here to edit." + help_currency_format: "Format of displayed currency values. %n is replaced with the currency value, %u ist replaced with the currency unit." + help_override_rate: "Enter a value here to override the default rate." + label_budget: "Budget" + label_budget_new: "New budget" + label_budget_plural: "Budgets" + label_budget_id: "Budget #%{id}" + label_deliverable: "Budget" + label_example_placeholder: 'e.g., %{decimal}' + label_view_all_budgets: "View all budgets" + label_yes: "Yes" + notice_budget_conflict: "Work packages must be of the same project." + notice_no_budgets_available: "No budgets available." + permission_edit_budgets: "Edit budgets" + permission_view_budgets: "View budgets" + project_module_budgets: "Budgets" + text_budget_reassign_to: "Reassign them to this budget:" + text_budget_delete: "Delete the budget from all work packages" + text_budget_destroy_assigned_wp: "There are %{count} work packages assigned to this budget. What do you want to do?" diff --git a/modules/budgets/config/locales/crowdin/eu.yml b/modules/budgets/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..2078424022 --- /dev/null +++ b/modules/budgets/config/locales/crowdin/eu.yml @@ -0,0 +1,73 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + activerecord: + attributes: + budget: + author: "Author" + available: "Available" + budget: "Planned" + budget_ratio: "Spent (ratio)" + description: "Description" + spent: "Spent" + status: "Status" + subject: "Subject" + type: "Cost type" + labor_budget: "Planned labor costs" + material_budget: "Planned unit costs" + work_package: + budget_subject: "Budget title" + models: + budget: "Budget" + material_budget_item: "Unit" + attributes: + budget: "Budget" + button_add_budget_item: "Add planned costs" + button_add_budget: "Add budget" + button_add_cost_type: "Add cost type" + button_cancel_edit_budget: "Cancel editing budget" + button_cancel_edit_costs: "Cancel editing costs" + caption_labor: "Labor" + caption_labor_costs: "Actual labor costs" + caption_material_costs: "Actual unit costs" + budgets_title: "Budgets" + events: + budget: "Budget edited" + help_click_to_edit: "Click here to edit." + help_currency_format: "Format of displayed currency values. %n is replaced with the currency value, %u ist replaced with the currency unit." + help_override_rate: "Enter a value here to override the default rate." + label_budget: "Budget" + label_budget_new: "New budget" + label_budget_plural: "Budgets" + label_budget_id: "Budget #%{id}" + label_deliverable: "Budget" + label_example_placeholder: 'e.g., %{decimal}' + label_view_all_budgets: "View all budgets" + label_yes: "Yes" + notice_budget_conflict: "Work packages must be of the same project." + notice_no_budgets_available: "No budgets available." + permission_edit_budgets: "Edit budgets" + permission_view_budgets: "View budgets" + project_module_budgets: "Budgets" + text_budget_reassign_to: "Reassign them to this budget:" + text_budget_delete: "Delete the budget from all work packages" + text_budget_destroy_assigned_wp: "There are %{count} work packages assigned to this budget. What do you want to do?" diff --git a/modules/budgets/config/locales/crowdin/js-be.yml b/modules/budgets/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..8a7488f646 --- /dev/null +++ b/modules/budgets/config/locales/crowdin/js-be.yml @@ -0,0 +1,26 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + js: + work_packages: + properties: + costObject: "Budget" diff --git a/modules/budgets/config/locales/crowdin/js-eu.yml b/modules/budgets/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..e7ac7fa6ba --- /dev/null +++ b/modules/budgets/config/locales/crowdin/js-eu.yml @@ -0,0 +1,26 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + js: + work_packages: + properties: + costObject: "Budget" diff --git a/modules/calendar/config/locales/crowdin/be.yml b/modules/calendar/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..46f407764e --- /dev/null +++ b/modules/calendar/config/locales/crowdin/be.yml @@ -0,0 +1,6 @@ +#English strings go here +be: + label_calendar_plural: "Calendars" + permission_view_calendar: "View calendars" + permission_manage_calendars: "Manage calendars" + project_module_calendar_view: "Calendar" diff --git a/modules/calendar/config/locales/crowdin/eu.yml b/modules/calendar/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..15d285a40d --- /dev/null +++ b/modules/calendar/config/locales/crowdin/eu.yml @@ -0,0 +1,6 @@ +#English strings go here +eu: + label_calendar_plural: "Calendars" + permission_view_calendar: "View calendars" + permission_manage_calendars: "Manage calendars" + project_module_calendar_view: "Calendar" diff --git a/modules/calendar/config/locales/crowdin/js-be.yml b/modules/calendar/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..37f89dca38 --- /dev/null +++ b/modules/calendar/config/locales/crowdin/js-be.yml @@ -0,0 +1,8 @@ +#English strings go here +be: + js: + calendar: + create_new: 'Create new calendar' + title: 'Calendar' + too_many: 'There are %{count} work packages in total, but only %{max} can be shown.' + unsaved_title: 'Unnamed calendar' diff --git a/modules/calendar/config/locales/crowdin/js-eu.yml b/modules/calendar/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..92dfa454d6 --- /dev/null +++ b/modules/calendar/config/locales/crowdin/js-eu.yml @@ -0,0 +1,8 @@ +#English strings go here +eu: + js: + calendar: + create_new: 'Create new calendar' + title: 'Calendar' + too_many: 'There are %{count} work packages in total, but only %{max} can be shown.' + unsaved_title: 'Unnamed calendar' diff --git a/modules/costs/config/locales/crowdin/be.yml b/modules/costs/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..e7413d9659 --- /dev/null +++ b/modules/costs/config/locales/crowdin/be.yml @@ -0,0 +1,144 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + activerecord: + attributes: + cost_entry: + work_package: "Work package" + overridden_costs: "Overridden costs" + spent: "Spent" + spent_on: "Date" + cost_type: + unit: "Unit name" + unit_plural: "Pluralized unit name" + work_package: + costs_by_type: "Spent units" + labor_costs: "Labor costs" + material_costs: "Unit costs" + overall_costs: "Overall costs" + spent_costs: "Spent costs" + spent_units: "Spent units" + rate: + rate: "Rate" + user: + default_rates: "Default rates" + models: + cost_type: + one: "Cost type" + few: "Cost types" + many: "Cost types" + other: "Cost types" + rate: "Rate" + errors: + models: + work_package: + is_not_a_valid_target_for_cost_entries: "Work package #%{id} is not a valid target for reassigning the cost entries." + nullify_is_not_valid_for_cost_entries: "Cost entries can not be assigned to a project." + attributes: + comment: "Comment" + cost_type: "Cost type" + costs: "Costs" + current_rate: "Current rate" + hours: "Hours" + units: "Units" + valid_from: "Valid from" + fixed_date: "Fixed date" + button_add_rate: "Add rate" + button_log_costs: "Log unit costs" + caption_booked_on_project: "Booked on project" + caption_default: "Default" + caption_default_rate_history_for: "Default rate history for %{user}" + caption_locked_on: "Locked on" + caption_materials: "Units" + caption_rate_history: "Rate history" + caption_rate_history_for: "Rate history for %{user}" + caption_rate_history_for_project: "Rate history for %{user} in project %{project}" + caption_save_rate: "Save rate" + caption_set_rate: "Set current rate" + caption_show_locked: "Show locked types" + description_date_for_new_rate: "Date for new rate" + group_by_others: "not in any group" + label_between: "between" + label_cost_filter_add: "Add cost entry filter" + label_costlog: "Logged unit costs" + label_cost_plural: "Costs" + label_cost_type_plural: "Cost types" + label_cost_type_specific: "Cost type #%{id}: %{name}" #%{id}: %{name}" + label_costs_per_page: "Costs per page" + label_currency: "Currency" + label_currency_format: "Format of currency" + label_current_default_rate: "Current default rate" + label_date_on: "on" + label_deleted_cost_types: "Deleted cost types" + label_locked_cost_types: "Locked cost types" + label_display_cost_entries: "Display unit costs" + label_display_time_entries: "Display reported hours" + label_display_types: "Display types" + label_edit: "Edit" + label_generic_user: "Generic user" + label_greater_or_equal: ">=" + label_group_by: "Group by" + label_group_by_add: "Add grouping field" + label_hourly_rate: "Hourly rate" + label_include_deleted: "Include deleted" + label_work_package_filter_add: "Add work package filter" + label_kind: "Type" + label_less_or_equal: "<=" + label_log_costs: "Log unit costs" + label_no: "No" + label_option_plural: "Options" + label_overall_costs: "Overall costs" + label_rate: "Rate" + label_rate_plural: "Rates" + label_status_finished: "Finished" + label_units: "Cost units" + label_user: "User" + label_until: "until" + label_valid_from: "Valid from" + label_yes: "Yes" + notice_something_wrong: "Something went wrong. Please try again." + notice_successful_restore: "Successful restore." + notice_successful_lock: "Locked successfully." + notice_cost_logged_successfully: 'Unit cost logged successfully.' + permission_edit_cost_entries: "Edit booked unit costs" + permission_edit_own_cost_entries: "Edit own booked unit costs" + permission_edit_hourly_rates: "Edit hourly rates" + permission_edit_own_hourly_rate: "Edit own hourly rates" + permission_edit_rates: "Edit rates" + permission_log_costs: "Book unit costs" + permission_log_own_costs: "Book unit costs for oneself" + permission_view_cost_entries: "View booked costs" + permission_view_cost_rates: "View cost rates" + permission_view_hourly_rates: "View all hourly rates" + permission_view_own_cost_entries: "View own booked costs" + permission_view_own_hourly_rate: "View own hourly rate" + permission_view_own_time_entries: "View own spent time" + project_module_costs: "Time and costs" + text_assign_time_and_cost_entries_to_project: "Assign reported hours and costs to the project" + text_destroy_cost_entries_question: "%{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" + text_destroy_time_and_cost_entries: "Delete reported hours and costs" + text_destroy_time_and_cost_entries_question: "%{hours} hours, %{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" + text_reassign_time_and_cost_entries: "Reassign reported hours and costs to this work package:" + text_warning_hidden_elements: "Some entries may have been excluded from the aggregation." + week: "week" + js: + text_are_you_sure: "Are you sure?" diff --git a/modules/costs/config/locales/crowdin/eu.yml b/modules/costs/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..c93235d2fb --- /dev/null +++ b/modules/costs/config/locales/crowdin/eu.yml @@ -0,0 +1,142 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + activerecord: + attributes: + cost_entry: + work_package: "Work package" + overridden_costs: "Overridden costs" + spent: "Spent" + spent_on: "Date" + cost_type: + unit: "Unit name" + unit_plural: "Pluralized unit name" + work_package: + costs_by_type: "Spent units" + labor_costs: "Labor costs" + material_costs: "Unit costs" + overall_costs: "Overall costs" + spent_costs: "Spent costs" + spent_units: "Spent units" + rate: + rate: "Rate" + user: + default_rates: "Default rates" + models: + cost_type: + one: "Cost type" + other: "Cost types" + rate: "Rate" + errors: + models: + work_package: + is_not_a_valid_target_for_cost_entries: "Work package #%{id} is not a valid target for reassigning the cost entries." + nullify_is_not_valid_for_cost_entries: "Cost entries can not be assigned to a project." + attributes: + comment: "Comment" + cost_type: "Cost type" + costs: "Costs" + current_rate: "Current rate" + hours: "Hours" + units: "Units" + valid_from: "Valid from" + fixed_date: "Fixed date" + button_add_rate: "Add rate" + button_log_costs: "Log unit costs" + caption_booked_on_project: "Booked on project" + caption_default: "Default" + caption_default_rate_history_for: "Default rate history for %{user}" + caption_locked_on: "Locked on" + caption_materials: "Units" + caption_rate_history: "Rate history" + caption_rate_history_for: "Rate history for %{user}" + caption_rate_history_for_project: "Rate history for %{user} in project %{project}" + caption_save_rate: "Save rate" + caption_set_rate: "Set current rate" + caption_show_locked: "Show locked types" + description_date_for_new_rate: "Date for new rate" + group_by_others: "not in any group" + label_between: "between" + label_cost_filter_add: "Add cost entry filter" + label_costlog: "Logged unit costs" + label_cost_plural: "Costs" + label_cost_type_plural: "Cost types" + label_cost_type_specific: "Cost type #%{id}: %{name}" #%{id}: %{name}" + label_costs_per_page: "Costs per page" + label_currency: "Currency" + label_currency_format: "Format of currency" + label_current_default_rate: "Current default rate" + label_date_on: "on" + label_deleted_cost_types: "Deleted cost types" + label_locked_cost_types: "Locked cost types" + label_display_cost_entries: "Display unit costs" + label_display_time_entries: "Display reported hours" + label_display_types: "Display types" + label_edit: "Edit" + label_generic_user: "Generic user" + label_greater_or_equal: ">=" + label_group_by: "Group by" + label_group_by_add: "Add grouping field" + label_hourly_rate: "Hourly rate" + label_include_deleted: "Include deleted" + label_work_package_filter_add: "Add work package filter" + label_kind: "Type" + label_less_or_equal: "<=" + label_log_costs: "Log unit costs" + label_no: "No" + label_option_plural: "Options" + label_overall_costs: "Overall costs" + label_rate: "Rate" + label_rate_plural: "Rates" + label_status_finished: "Finished" + label_units: "Cost units" + label_user: "User" + label_until: "until" + label_valid_from: "Valid from" + label_yes: "Yes" + notice_something_wrong: "Something went wrong. Please try again." + notice_successful_restore: "Successful restore." + notice_successful_lock: "Locked successfully." + notice_cost_logged_successfully: 'Unit cost logged successfully.' + permission_edit_cost_entries: "Edit booked unit costs" + permission_edit_own_cost_entries: "Edit own booked unit costs" + permission_edit_hourly_rates: "Edit hourly rates" + permission_edit_own_hourly_rate: "Edit own hourly rates" + permission_edit_rates: "Edit rates" + permission_log_costs: "Book unit costs" + permission_log_own_costs: "Book unit costs for oneself" + permission_view_cost_entries: "View booked costs" + permission_view_cost_rates: "View cost rates" + permission_view_hourly_rates: "View all hourly rates" + permission_view_own_cost_entries: "View own booked costs" + permission_view_own_hourly_rate: "View own hourly rate" + permission_view_own_time_entries: "View own spent time" + project_module_costs: "Time and costs" + text_assign_time_and_cost_entries_to_project: "Assign reported hours and costs to the project" + text_destroy_cost_entries_question: "%{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" + text_destroy_time_and_cost_entries: "Delete reported hours and costs" + text_destroy_time_and_cost_entries_question: "%{hours} hours, %{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" + text_reassign_time_and_cost_entries: "Reassign reported hours and costs to this work package:" + text_warning_hidden_elements: "Some entries may have been excluded from the aggregation." + week: "week" + js: + text_are_you_sure: "Are you sure?" diff --git a/modules/costs/config/locales/crowdin/js-be.yml b/modules/costs/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..a87831dd52 --- /dev/null +++ b/modules/costs/config/locales/crowdin/js-be.yml @@ -0,0 +1,32 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + js: + work_packages: + property_groups: + costs: "Costs" + properties: + overallCosts: "Overall costs" + spentUnits: "Spent units" + button_log_costs: "Log unit costs" + label_hour: "hour" + label_hours: "hours" diff --git a/modules/costs/config/locales/crowdin/js-eu.yml b/modules/costs/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..c938346454 --- /dev/null +++ b/modules/costs/config/locales/crowdin/js-eu.yml @@ -0,0 +1,32 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + js: + work_packages: + property_groups: + costs: "Costs" + properties: + overallCosts: "Overall costs" + spentUnits: "Spent units" + button_log_costs: "Log unit costs" + label_hour: "hour" + label_hours: "hours" diff --git a/modules/dashboards/config/locales/crowdin/be.yml b/modules/dashboards/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..2155f89c01 --- /dev/null +++ b/modules/dashboards/config/locales/crowdin/be.yml @@ -0,0 +1,4 @@ +be: + dashboards: + label: 'Dashboards' + project_module_dashboards: 'Dashboards' diff --git a/modules/dashboards/config/locales/crowdin/eu.yml b/modules/dashboards/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..c945bd5842 --- /dev/null +++ b/modules/dashboards/config/locales/crowdin/eu.yml @@ -0,0 +1,4 @@ +eu: + dashboards: + label: 'Dashboards' + project_module_dashboards: 'Dashboards' diff --git a/modules/dashboards/config/locales/crowdin/js-be.yml b/modules/dashboards/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..bfed1117a9 --- /dev/null +++ b/modules/dashboards/config/locales/crowdin/js-be.yml @@ -0,0 +1,4 @@ +be: + js: + dashboards: + label: 'Dashboard' diff --git a/modules/dashboards/config/locales/crowdin/js-eu.yml b/modules/dashboards/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..b33bec8af6 --- /dev/null +++ b/modules/dashboards/config/locales/crowdin/js-eu.yml @@ -0,0 +1,4 @@ +eu: + js: + dashboards: + label: 'Dashboard' diff --git a/modules/documents/config/locales/crowdin/be.yml b/modules/documents/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..6897bbe2d1 --- /dev/null +++ b/modules/documents/config/locales/crowdin/be.yml @@ -0,0 +1,42 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + activerecord: + models: + document: "Document" + default_doc_category_tech: "Technical documentation" + default_doc_category_user: "User documentation" + enumeration_doc_categories: "Document categories" + enumeration: + document_category: + documentation: Documentation + specification: Specification + other: Other + documents: + label_attachment_author: "Attachment author" + label_document_added: "Document added" + label_document_new: "New document" + label_document_plural: "Documents" + label_documents: "Documents" + permission_manage_documents: "Manage documents" + permission_view_documents: "View documents" + project_module_documents: "Documents" diff --git a/modules/documents/config/locales/crowdin/eu.yml b/modules/documents/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..71fda01b70 --- /dev/null +++ b/modules/documents/config/locales/crowdin/eu.yml @@ -0,0 +1,42 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + activerecord: + models: + document: "Document" + default_doc_category_tech: "Technical documentation" + default_doc_category_user: "User documentation" + enumeration_doc_categories: "Document categories" + enumeration: + document_category: + documentation: Documentation + specification: Specification + other: Other + documents: + label_attachment_author: "Attachment author" + label_document_added: "Document added" + label_document_new: "New document" + label_document_plural: "Documents" + label_documents: "Documents" + permission_manage_documents: "Manage documents" + permission_view_documents: "View documents" + project_module_documents: "Documents" diff --git a/modules/github_integration/config/locales/crowdin/be.yml b/modules/github_integration/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..5a6f56cc0e --- /dev/null +++ b/modules/github_integration/config/locales/crowdin/be.yml @@ -0,0 +1,35 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + project_module_github: "GitHub" + permission_show_github_content: "Show GitHub content" + github_integration: + pull_request_opened_comment: > + **PR Opened:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been opened by [%{github_user}](%{github_user_url}). + pull_request_closed_comment: > + **PR Closed:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been closed by [%{github_user}](%{github_user_url}). + pull_request_merged_comment: > + **PR Merged:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been merged by [%{github_user}](%{github_user_url}). + pull_request_referenced_comment: > + **Referenced in PR:** [%{github_user}](%{github_user_url}) referenced this work package in Pull request %{pr_number} [%{pr_title}](%{pr_url}) on [%{repository}](%{repository_url}). + pull_request_ready_for_review_comment: > + **PR Ready for Review:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) was marked as ready for review by [%{github_user}](%{github_user_url}). diff --git a/modules/github_integration/config/locales/crowdin/eu.yml b/modules/github_integration/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..624f5ad62a --- /dev/null +++ b/modules/github_integration/config/locales/crowdin/eu.yml @@ -0,0 +1,35 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + project_module_github: "GitHub" + permission_show_github_content: "Show GitHub content" + github_integration: + pull_request_opened_comment: > + **PR Opened:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been opened by [%{github_user}](%{github_user_url}). + pull_request_closed_comment: > + **PR Closed:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been closed by [%{github_user}](%{github_user_url}). + pull_request_merged_comment: > + **PR Merged:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been merged by [%{github_user}](%{github_user_url}). + pull_request_referenced_comment: > + **Referenced in PR:** [%{github_user}](%{github_user_url}) referenced this work package in Pull request %{pr_number} [%{pr_title}](%{pr_url}) on [%{repository}](%{repository_url}). + pull_request_ready_for_review_comment: > + **PR Ready for Review:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) was marked as ready for review by [%{github_user}](%{github_user_url}). diff --git a/modules/github_integration/config/locales/crowdin/js-be.yml b/modules/github_integration/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..7ebbc74b8a --- /dev/null +++ b/modules/github_integration/config/locales/crowdin/js-be.yml @@ -0,0 +1,41 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + js: + github_integration: + work_packages: + tab_name: "GitHub" + tab_header: + title: "Pull requests" + copy_menu: + label: Git snippets + description: Copy git snippets to clipboard + git_actions: + branch_name: Branch name + commit_message: Commit message + cmd: Create branch with empty commit + title: Quick snippets for Git + copy_success: '✅ Copied!' + copy_error: '❌ Copy failed!' + tab_prs: + empty: 'There are no pull requests linked yet. Link an existing PR by using the code OP#%{wp_id} in the PR description or create a new PR.' + github_actions: Actions diff --git a/modules/github_integration/config/locales/crowdin/js-eu.yml b/modules/github_integration/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..7c500a72f5 --- /dev/null +++ b/modules/github_integration/config/locales/crowdin/js-eu.yml @@ -0,0 +1,41 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + js: + github_integration: + work_packages: + tab_name: "GitHub" + tab_header: + title: "Pull requests" + copy_menu: + label: Git snippets + description: Copy git snippets to clipboard + git_actions: + branch_name: Branch name + commit_message: Commit message + cmd: Create branch with empty commit + title: Quick snippets for Git + copy_success: '✅ Copied!' + copy_error: '❌ Copy failed!' + tab_prs: + empty: 'There are no pull requests linked yet. Link an existing PR by using the code OP#%{wp_id} in the PR description or create a new PR.' + github_actions: Actions diff --git a/modules/grids/config/locales/crowdin/be.yml b/modules/grids/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..05564f5f28 --- /dev/null +++ b/modules/grids/config/locales/crowdin/be.yml @@ -0,0 +1,16 @@ +be: + grids: + label_widget_in_grid: "Widget contained in Grid %{grid_name}" + activerecord: + attributes: + grids/grid: + page: "Page" + row_count: "Number of rows" + column_count: "Number of columns" + widgets: "Widgets" + errors: + models: + grids/grid: + overlaps: 'overlap.' + outside: 'is outside of the grid.' + end_before_start: 'end value needs to be larger than the start value.' diff --git a/modules/grids/config/locales/crowdin/eu.yml b/modules/grids/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..2c7264306c --- /dev/null +++ b/modules/grids/config/locales/crowdin/eu.yml @@ -0,0 +1,16 @@ +eu: + grids: + label_widget_in_grid: "Widget contained in Grid %{grid_name}" + activerecord: + attributes: + grids/grid: + page: "Page" + row_count: "Number of rows" + column_count: "Number of columns" + widgets: "Widgets" + errors: + models: + grids/grid: + overlaps: 'overlap.' + outside: 'is outside of the grid.' + end_before_start: 'end value needs to be larger than the start value.' diff --git a/modules/grids/config/locales/crowdin/js-be.yml b/modules/grids/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..e8667ddc70 --- /dev/null +++ b/modules/grids/config/locales/crowdin/js-be.yml @@ -0,0 +1,66 @@ +be: + js: + grid: + add_widget: 'Add widget' + remove: 'Remove widget' + configure: 'Configure widget' + upsale: + text: "Some widgets, like the work package graph widget, are only available in the Enterprise edition." + link: 'Enterprise edition.' + widgets: + custom_text: + title: 'Custom text' + documents: + title: 'Documents' + no_results: 'No documents yet.' + members: + title: 'Members' + no_results: 'No visible members.' + view_all_members: 'View all members' + add: 'Member' + too_many: 'Displaying %{count} of %{total} members.' + news: + title: 'News' + at: 'at' + no_results: 'Nothing new to report.' + project_description: + title: 'Project description' + no_results: "No description has been written yet. One can be provided in the 'Project settings'." + project_details: + title: 'Project details' + no_results: 'No custom fields have been defined for projects.' + project_status: + title: 'Project status' + not_started: 'Not started' + on_track: 'On track' + off_track: 'Off track' + at_risk: 'At risk' + not_set: 'Not set' + finished: 'Finished' + discontinued: 'Discontinued' + subprojects: + title: 'Subprojects' + no_results: 'No subprojects.' + time_entries_current_user: + title: 'My spent time' + displayed_days: 'Days displayed in the widget:' + time_entries_list: + title: 'Spent time (last 7 days)' + no_results: 'No time entries for the last 7 days.' + work_packages_accountable: + title: "Work packages I am accountable for" + work_packages_assigned: + title: 'Work packages assigned to me' + work_packages_created: + title: 'Work packages created by me' + work_packages_watched: + title: 'Work packages watched by me' + work_packages_table: + title: 'Work packages table' + work_packages_graph: + title: 'Work packages graph' + work_packages_calendar: + title: 'Calendar' + work_packages_overview: + title: 'Work packages overview' + placeholder: 'Click to edit ...' diff --git a/modules/grids/config/locales/crowdin/js-eu.yml b/modules/grids/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..1d7fe9f212 --- /dev/null +++ b/modules/grids/config/locales/crowdin/js-eu.yml @@ -0,0 +1,66 @@ +eu: + js: + grid: + add_widget: 'Add widget' + remove: 'Remove widget' + configure: 'Configure widget' + upsale: + text: "Some widgets, like the work package graph widget, are only available in the Enterprise edition." + link: 'Enterprise edition.' + widgets: + custom_text: + title: 'Custom text' + documents: + title: 'Documents' + no_results: 'No documents yet.' + members: + title: 'Members' + no_results: 'No visible members.' + view_all_members: 'View all members' + add: 'Member' + too_many: 'Displaying %{count} of %{total} members.' + news: + title: 'News' + at: 'at' + no_results: 'Nothing new to report.' + project_description: + title: 'Project description' + no_results: "No description has been written yet. One can be provided in the 'Project settings'." + project_details: + title: 'Project details' + no_results: 'No custom fields have been defined for projects.' + project_status: + title: 'Project status' + not_started: 'Not started' + on_track: 'On track' + off_track: 'Off track' + at_risk: 'At risk' + not_set: 'Not set' + finished: 'Finished' + discontinued: 'Discontinued' + subprojects: + title: 'Subprojects' + no_results: 'No subprojects.' + time_entries_current_user: + title: 'My spent time' + displayed_days: 'Days displayed in the widget:' + time_entries_list: + title: 'Spent time (last 7 days)' + no_results: 'No time entries for the last 7 days.' + work_packages_accountable: + title: "Work packages I am accountable for" + work_packages_assigned: + title: 'Work packages assigned to me' + work_packages_created: + title: 'Work packages created by me' + work_packages_watched: + title: 'Work packages watched by me' + work_packages_table: + title: 'Work packages table' + work_packages_graph: + title: 'Work packages graph' + work_packages_calendar: + title: 'Calendar' + work_packages_overview: + title: 'Work packages overview' + placeholder: 'Click to edit ...' diff --git a/modules/job_status/config/locales/crowdin/js-be.yml b/modules/job_status/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..2cfbe0d7dc --- /dev/null +++ b/modules/job_status/config/locales/crowdin/js-be.yml @@ -0,0 +1,17 @@ +be: + js: + job_status: + download_starts: 'The download should start automatically.' + click_to_download: 'Or click here to download.' + title: 'Background job status' + redirect: 'You are being redirected.' + redirect_link: 'Please click here to continue.' + redirect_errors: 'Due to these errors, you will not be redirected automatically.' + errors: 'Some errors have occurred' + generic_messages: + not_found: 'This job could not be found.' + in_queue: 'The job has been queued and will be processed shortly.' + in_process: 'The job is currently being processed.' + error: 'The job has failed to complete.' + cancelled: 'The job has been cancelled due to an error.' + success: 'The job completed successfully.' diff --git a/modules/job_status/config/locales/crowdin/js-eu.yml b/modules/job_status/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..ce651391eb --- /dev/null +++ b/modules/job_status/config/locales/crowdin/js-eu.yml @@ -0,0 +1,17 @@ +eu: + js: + job_status: + download_starts: 'The download should start automatically.' + click_to_download: 'Or click here to download.' + title: 'Background job status' + redirect: 'You are being redirected.' + redirect_link: 'Please click here to continue.' + redirect_errors: 'Due to these errors, you will not be redirected automatically.' + errors: 'Some errors have occurred' + generic_messages: + not_found: 'This job could not be found.' + in_queue: 'The job has been queued and will be processed shortly.' + in_process: 'The job is currently being processed.' + error: 'The job has failed to complete.' + cancelled: 'The job has been cancelled due to an error.' + success: 'The job completed successfully.' diff --git a/modules/ldap_groups/config/locales/crowdin/be.yml b/modules/ldap_groups/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..0f769cc30b --- /dev/null +++ b/modules/ldap_groups/config/locales/crowdin/be.yml @@ -0,0 +1,71 @@ +be: + activerecord: + attributes: + ldap_groups/synchronized_group: + dn: 'DN' + auth_source: 'LDAP connection' + sync_users: 'Sync users' + ldap_groups/synchronized_filter: + filter_string: 'LDAP filter' + auth_source: 'LDAP connection' + group_name_attribute: "Group name attribute" + sync_users: 'Sync users' + base_dn: "Search base DN" + models: + ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_filter: 'LDAP Group synchronization filter' + errors: + models: + ldap_groups/synchronized_filter: + must_contain_base_dn: "Filter base DN must be contained within the LDAP connection's base DN" + ldap_groups: + label_menu_item: 'LDAP group synchronization' + label_group_key: 'LDAP group filter key' + label_synchronize: 'Synchronize' + settings: + name_attribute: 'LDAP groups name attribute' + name_attribute_text: 'The LDAP attribute used for naming the OpenProject group when created by a filter' + synchronized_filters: + add_new: 'Add synchronized LDAP filter' + singular: 'LDAP Group synchronization filter' + plural: 'LDAP Group synchronization filters' + label_n_groups_found: + one: "1 group found by the filter" + other: "%{count} groups found by the filter" + zero: "No groups were found by the filter" + destroy: + title: 'Remove synchronized filter %{name}' + confirmation: "If you continue, the synchronized filter %{name} and all groups %{groups_count} created through it will be removed." + removed_groups: "Warning: This will remove the following groups from OpenProject and remove it from all projects!" + verification: "Enter the filter name %{name} to verify the deletion." + form: + group_name_attribute_text: 'Enter the attribute of the LDAP group used for setting the OpenProject group name.' + filter_string_text: 'Enter the RFC4515 LDAP filter that returns groups in your LDAP to synchronize with OpenProject.' + base_dn_text: > + Enter the search base DN to use for this filter. It needs to be below the base DN of the selected LDAP connection. Leave this option empty to reuse the base DN of the connection + synchronized_groups: + add_new: 'Add synchronized LDAP group' + destroy: + title: 'Remove synchronized group %{name}' + confirmation: "If you continue, the synchronized group %{name} and all %{users_count} users synchronized through it will be removed." + info: "Note: The OpenProject group itself and members added outside this LDAP synchronization will not be removed." + verification: "Enter the group's name %{name} to verify the deletion." + help_text_html: | + This module allows you to set up a synchronization between LDAP and OpenProject groups. + It depends on LDAP groups need to use the groupOfNames / memberOf attribute set to be working with OpenProject. +
+ Groups are synchronized hourly through a cron job. + Please see our documentation on this topic. + no_results: 'No synchronized groups found.' + no_members: 'This group has no synchronized members yet.' + plural: 'Synchronized LDAP groups' + singular: 'Synchronized LDAP group' + form: + auth_source_text: 'Select which LDAP connection should be used.' + sync_users_text: > + If you enable this option, found users will also be automatically created in OpenProject. Without it, only existing accounts in OpenProject will be added to groups. + dn_text: 'Enter the full DN of the group in LDAP' + group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + upsale: + description: 'Take advantage of synchronised LDAP groups to manage users, change their permissions and facilitate user management across groups.' + diff --git a/modules/ldap_groups/config/locales/crowdin/eu.yml b/modules/ldap_groups/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..bcf7eb4150 --- /dev/null +++ b/modules/ldap_groups/config/locales/crowdin/eu.yml @@ -0,0 +1,71 @@ +eu: + activerecord: + attributes: + ldap_groups/synchronized_group: + dn: 'DN' + auth_source: 'LDAP connection' + sync_users: 'Sync users' + ldap_groups/synchronized_filter: + filter_string: 'LDAP filter' + auth_source: 'LDAP connection' + group_name_attribute: "Group name attribute" + sync_users: 'Sync users' + base_dn: "Search base DN" + models: + ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_filter: 'LDAP Group synchronization filter' + errors: + models: + ldap_groups/synchronized_filter: + must_contain_base_dn: "Filter base DN must be contained within the LDAP connection's base DN" + ldap_groups: + label_menu_item: 'LDAP group synchronization' + label_group_key: 'LDAP group filter key' + label_synchronize: 'Synchronize' + settings: + name_attribute: 'LDAP groups name attribute' + name_attribute_text: 'The LDAP attribute used for naming the OpenProject group when created by a filter' + synchronized_filters: + add_new: 'Add synchronized LDAP filter' + singular: 'LDAP Group synchronization filter' + plural: 'LDAP Group synchronization filters' + label_n_groups_found: + one: "1 group found by the filter" + other: "%{count} groups found by the filter" + zero: "No groups were found by the filter" + destroy: + title: 'Remove synchronized filter %{name}' + confirmation: "If you continue, the synchronized filter %{name} and all groups %{groups_count} created through it will be removed." + removed_groups: "Warning: This will remove the following groups from OpenProject and remove it from all projects!" + verification: "Enter the filter name %{name} to verify the deletion." + form: + group_name_attribute_text: 'Enter the attribute of the LDAP group used for setting the OpenProject group name.' + filter_string_text: 'Enter the RFC4515 LDAP filter that returns groups in your LDAP to synchronize with OpenProject.' + base_dn_text: > + Enter the search base DN to use for this filter. It needs to be below the base DN of the selected LDAP connection. Leave this option empty to reuse the base DN of the connection + synchronized_groups: + add_new: 'Add synchronized LDAP group' + destroy: + title: 'Remove synchronized group %{name}' + confirmation: "If you continue, the synchronized group %{name} and all %{users_count} users synchronized through it will be removed." + info: "Note: The OpenProject group itself and members added outside this LDAP synchronization will not be removed." + verification: "Enter the group's name %{name} to verify the deletion." + help_text_html: | + This module allows you to set up a synchronization between LDAP and OpenProject groups. + It depends on LDAP groups need to use the groupOfNames / memberOf attribute set to be working with OpenProject. +
+ Groups are synchronized hourly through a cron job. + Please see our documentation on this topic. + no_results: 'No synchronized groups found.' + no_members: 'This group has no synchronized members yet.' + plural: 'Synchronized LDAP groups' + singular: 'Synchronized LDAP group' + form: + auth_source_text: 'Select which LDAP connection should be used.' + sync_users_text: > + If you enable this option, found users will also be automatically created in OpenProject. Without it, only existing accounts in OpenProject will be added to groups. + dn_text: 'Enter the full DN of the group in LDAP' + group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + upsale: + description: 'Take advantage of synchronised LDAP groups to manage users, change their permissions and facilitate user management across groups.' + diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..263e1351ab --- /dev/null +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -0,0 +1,90 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +#English strings go here for Rails i18n +be: + activerecord: + attributes: + meeting: + location: "Location" + duration: "Duration" + participants: "Participants" + participants_attended: "Attendees" + participants_invited: "Invitees" + start_time: "Time" + start_time_hour: "Starting time" + errors: + messages: + invalid_time_format: "is not a valid time. Required format: HH:MM" + models: + meeting_agenda: "Agenda" + meeting_minutes: "Minutes" + description_attended: "attended" + description_invite: "invited" + events: + meeting: Meeting edited + meeting_agenda: Meeting agenda edited + meeting_agenda_closed: Meeting agenda closed + meeting_agenda_opened: Meeting agenda opened + meeting_minutes: Meeting minutes edited + meeting_minutes_created: Meeting minutes created + error_notification_with_errors: "Failed to send notification. The following recipients could not be notified: %{recipients}" + label_meeting: "Meeting" + label_meeting_plural: "Meetings" + label_meeting_new: "New Meeting" + label_meeting_edit: "Edit Meeting" + label_meeting_agenda: "Agenda" + label_meeting_minutes: "Minutes" + label_meeting_close: "Close" + label_meeting_open: "Open" + label_meeting_agenda_close: "Close the agenda to begin the Minutes" + label_meeting_date_time: "Date/Time" + label_meeting_diff: "Diff" + label_notify: "Send for review" + label_icalendar: "Send iCalendar" + label_version: "Version" + label_time_zone: "Time zone" + label_start_date: "Start date" + meeting: + copied: "Copied from Meeting #%{id}" + notice_successful_notification: "Notification sent successfully" + notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. + permission_create_meetings: "Create meetings" + permission_edit_meetings: "Edit meetings" + permission_delete_meetings: "Delete meetings" + permission_view_meetings: "View meetings" + permission_create_meeting_agendas: "Manage agendas" + permission_close_meeting_agendas: "Close agendas" + permission_send_meeting_agendas_notification: "Send review notification for agendas" + permission_create_meeting_minutes: "Manage minutes" + permission_send_meeting_minutes_notification: "Send review notification for minutes" + permission_meetings_send_invite: "Invite users to meetings" + permission_send_meeting_agendas_icalendar: "Send meeting agenda as calendar entry" + project_module_meetings: "Meetings" + text_duration_in_hours: "Duration in hours" + text_in_hours: "in hours" + text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting?" + text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" + text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' + text_review_meeting_agenda: "%{author} has put the %{link} up for review." + text_review_meeting_minutes: "%{author} has put the %{link} up for review." + text_notificiation_invited: "This mail contains an ics entry for the meeting below:" diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..52c5e67adc --- /dev/null +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -0,0 +1,90 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +#English strings go here for Rails i18n +eu: + activerecord: + attributes: + meeting: + location: "Location" + duration: "Duration" + participants: "Participants" + participants_attended: "Attendees" + participants_invited: "Invitees" + start_time: "Time" + start_time_hour: "Starting time" + errors: + messages: + invalid_time_format: "is not a valid time. Required format: HH:MM" + models: + meeting_agenda: "Agenda" + meeting_minutes: "Minutes" + description_attended: "attended" + description_invite: "invited" + events: + meeting: Meeting edited + meeting_agenda: Meeting agenda edited + meeting_agenda_closed: Meeting agenda closed + meeting_agenda_opened: Meeting agenda opened + meeting_minutes: Meeting minutes edited + meeting_minutes_created: Meeting minutes created + error_notification_with_errors: "Failed to send notification. The following recipients could not be notified: %{recipients}" + label_meeting: "Meeting" + label_meeting_plural: "Meetings" + label_meeting_new: "New Meeting" + label_meeting_edit: "Edit Meeting" + label_meeting_agenda: "Agenda" + label_meeting_minutes: "Minutes" + label_meeting_close: "Close" + label_meeting_open: "Open" + label_meeting_agenda_close: "Close the agenda to begin the Minutes" + label_meeting_date_time: "Date/Time" + label_meeting_diff: "Diff" + label_notify: "Send for review" + label_icalendar: "Send iCalendar" + label_version: "Version" + label_time_zone: "Time zone" + label_start_date: "Start date" + meeting: + copied: "Copied from Meeting #%{id}" + notice_successful_notification: "Notification sent successfully" + notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. + permission_create_meetings: "Create meetings" + permission_edit_meetings: "Edit meetings" + permission_delete_meetings: "Delete meetings" + permission_view_meetings: "View meetings" + permission_create_meeting_agendas: "Manage agendas" + permission_close_meeting_agendas: "Close agendas" + permission_send_meeting_agendas_notification: "Send review notification for agendas" + permission_create_meeting_minutes: "Manage minutes" + permission_send_meeting_minutes_notification: "Send review notification for minutes" + permission_meetings_send_invite: "Invite users to meetings" + permission_send_meeting_agendas_icalendar: "Send meeting agenda as calendar entry" + project_module_meetings: "Meetings" + text_duration_in_hours: "Duration in hours" + text_in_hours: "in hours" + text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting?" + text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" + text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' + text_review_meeting_agenda: "%{author} has put the %{link} up for review." + text_review_meeting_minutes: "%{author} has put the %{link} up for review." + text_notificiation_invited: "This mail contains an ics entry for the meeting below:" diff --git a/modules/my_page/config/locales/crowdin/js-be.yml b/modules/my_page/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..b2941acb25 --- /dev/null +++ b/modules/my_page/config/locales/crowdin/js-be.yml @@ -0,0 +1,4 @@ +be: + js: + my_page: + label: "My page" diff --git a/modules/my_page/config/locales/crowdin/js-eu.yml b/modules/my_page/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..0de2904f3f --- /dev/null +++ b/modules/my_page/config/locales/crowdin/js-eu.yml @@ -0,0 +1,4 @@ +eu: + js: + my_page: + label: "My page" diff --git a/modules/openid_connect/config/locales/crowdin/be.yml b/modules/openid_connect/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..0db96faa74 --- /dev/null +++ b/modules/openid_connect/config/locales/crowdin/be.yml @@ -0,0 +1,19 @@ +be: + logout_warning: > + You have been logged out. The contents of any form you submit may be lost. Please [log in]. + activemodel: + attributes: + openid_connect/provider: + name: Name + display_name: Display name + identifier: Identifier + secret: Secret + scope: Scope + openid_connect: + menu_title: OpenID providers + providers: + label_add_new: Add a new OpenID provider + label_edit: Edit OpenID provider %{name} + no_results_table: No providers have been defined yet. + plural: OpenID providers + singular: OpenID provider diff --git a/modules/openid_connect/config/locales/crowdin/eu.yml b/modules/openid_connect/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..37a5f1edaa --- /dev/null +++ b/modules/openid_connect/config/locales/crowdin/eu.yml @@ -0,0 +1,19 @@ +eu: + logout_warning: > + You have been logged out. The contents of any form you submit may be lost. Please [log in]. + activemodel: + attributes: + openid_connect/provider: + name: Name + display_name: Display name + identifier: Identifier + secret: Secret + scope: Scope + openid_connect: + menu_title: OpenID providers + providers: + label_add_new: Add a new OpenID provider + label_edit: Edit OpenID provider %{name} + no_results_table: No providers have been defined yet. + plural: OpenID providers + singular: OpenID provider diff --git a/modules/overviews/config/locales/crowdin/be.yml b/modules/overviews/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..943cb5877b --- /dev/null +++ b/modules/overviews/config/locales/crowdin/be.yml @@ -0,0 +1,4 @@ +be: + overviews: + label: 'Overview' + permission_manage_overview: 'Manage overview page' diff --git a/modules/overviews/config/locales/crowdin/eu.yml b/modules/overviews/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..1102c96522 --- /dev/null +++ b/modules/overviews/config/locales/crowdin/eu.yml @@ -0,0 +1,4 @@ +eu: + overviews: + label: 'Overview' + permission_manage_overview: 'Manage overview page' diff --git a/modules/overviews/config/locales/crowdin/js-be.yml b/modules/overviews/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..54b8a81432 --- /dev/null +++ b/modules/overviews/config/locales/crowdin/js-be.yml @@ -0,0 +1,4 @@ +be: + js: + overviews: + label: 'Overview' diff --git a/modules/overviews/config/locales/crowdin/js-eu.yml b/modules/overviews/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..4ca291df88 --- /dev/null +++ b/modules/overviews/config/locales/crowdin/js-eu.yml @@ -0,0 +1,4 @@ +eu: + js: + overviews: + label: 'Overview' diff --git a/modules/pdf_export/config/locales/crowdin/be.yml b/modules/pdf_export/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..668a5bc31f --- /dev/null +++ b/modules/pdf_export/config/locales/crowdin/be.yml @@ -0,0 +1,51 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + error_can_not_delete_export_card_configuration: "This config cannot be deleted." + error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." + label_backlogs_export_card_config_select: "Select export card configuration" + label_backlogs_export_card_export: "Export" + label_export_card_configuration_new: "New Export Card Config" + label_export_card_configuration: "Export Card Config" + label_export_card_configuration_plural: "Export Card Configs" + label_export_card_activate: "Activate" + label_export_card_deactivate: "De-activate" + notice_export_card_configuration_activated: "Config successfully activated" + notice_export_card_configuration_deactivated: "Config successfully de-activated" + error_can_not_activate_export_card_configuration: "This config cannot be activated" + error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" + validation_error_required_keys_not_present: "Required key(s) not present:" + validation_error_yaml_is_badly_formed: "has no valid YAML format." + validation_error_uknown_key: "Unknown key:" + yaml_error: "YAML error:" + help_link_rows_format: "Rows Formatting" + export_config_per_page: "Per page" + export_config_page_size: "Page size" + export_config_orientation: "Orientation" + export_config_rows: "Rows" + activerecord: + attributes: + export_card_configuration: + rows: "Rows" + per_page: "Per page" + page_size: "Page size" + orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/eu.yml b/modules/pdf_export/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..173a8b0df7 --- /dev/null +++ b/modules/pdf_export/config/locales/crowdin/eu.yml @@ -0,0 +1,51 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + error_can_not_delete_export_card_configuration: "This config cannot be deleted." + error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." + label_backlogs_export_card_config_select: "Select export card configuration" + label_backlogs_export_card_export: "Export" + label_export_card_configuration_new: "New Export Card Config" + label_export_card_configuration: "Export Card Config" + label_export_card_configuration_plural: "Export Card Configs" + label_export_card_activate: "Activate" + label_export_card_deactivate: "De-activate" + notice_export_card_configuration_activated: "Config successfully activated" + notice_export_card_configuration_deactivated: "Config successfully de-activated" + error_can_not_activate_export_card_configuration: "This config cannot be activated" + error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" + validation_error_required_keys_not_present: "Required key(s) not present:" + validation_error_yaml_is_badly_formed: "has no valid YAML format." + validation_error_uknown_key: "Unknown key:" + yaml_error: "YAML error:" + help_link_rows_format: "Rows Formatting" + export_config_per_page: "Per page" + export_config_page_size: "Page size" + export_config_orientation: "Orientation" + export_config_rows: "Rows" + activerecord: + attributes: + export_card_configuration: + rows: "Rows" + per_page: "Per page" + page_size: "Page size" + orientation: "Orientation" diff --git a/modules/recaptcha/config/locales/crowdin/be.yml b/modules/recaptcha/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..703a9f069b --- /dev/null +++ b/modules/recaptcha/config/locales/crowdin/be.yml @@ -0,0 +1,18 @@ +#English strings go here for Rails i18n +be: + recaptcha: + label_recaptcha: "reCAPTCHA" + button_please_wait: 'Please wait ...' + verify_account: "Verify your account" + error_captcha: "Your account could not be verified. Please contact an administrator." + settings: + website_key: 'Website key' + website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + secret_key: 'Secret key' + secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' + type: 'Use reCAPTCHA' + type_disabled: 'Disable reCAPTCHA' + type_v2: 'reCAPTCHA v2' + type_v3: 'reCAPTCHA v3' + recaptcha_description_html: > + reCAPTCHA is a free service by Google that can be enabled for your OpenProject instance. If enabled, a captcha form will be rendered upon login for all users that have not verified a captcha yet.
Please see the following link for more details on reCAPTCHA and their versions, and how to create the website and secret keys: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/eu.yml b/modules/recaptcha/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..3d3bec037d --- /dev/null +++ b/modules/recaptcha/config/locales/crowdin/eu.yml @@ -0,0 +1,18 @@ +#English strings go here for Rails i18n +eu: + recaptcha: + label_recaptcha: "reCAPTCHA" + button_please_wait: 'Please wait ...' + verify_account: "Verify your account" + error_captcha: "Your account could not be verified. Please contact an administrator." + settings: + website_key: 'Website key' + website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + secret_key: 'Secret key' + secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' + type: 'Use reCAPTCHA' + type_disabled: 'Disable reCAPTCHA' + type_v2: 'reCAPTCHA v2' + type_v3: 'reCAPTCHA v3' + recaptcha_description_html: > + reCAPTCHA is a free service by Google that can be enabled for your OpenProject instance. If enabled, a captcha form will be rendered upon login for all users that have not verified a captcha yet.
Please see the following link for more details on reCAPTCHA and their versions, and how to create the website and secret keys: %{recaptcha_link} diff --git a/modules/reporting/config/locales/crowdin/be.yml b/modules/reporting/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..1d93995255 --- /dev/null +++ b/modules/reporting/config/locales/crowdin/be.yml @@ -0,0 +1,87 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + button_save_as: "Save report as..." + comments: "Comment" + cost_reports_title: "Time and costs" + label_cost_report: "Cost report" + label_cost_report_plural: "Cost reports" + description_drill_down: "Show details" + description_filter_selection: "Selection" + description_multi_select: "Show multiselect" + description_remove_filter: "Remove filter" + information_restricted_depending_on_permission: "Depending on your permissions this page might contain restricted information." + label_click_to_edit: "Click to edit." + label_closed: "closed" + label_columns: "Columns" + label_cost_entry_attributes: "Cost entry attributes" + label_days_ago: "during the last days" + label_entry: "Cost entry" + label_filter_text: "Filter text" + label_filter_value: "Value" + label_filters: "Filter" + label_greater: ">" + label_is_not_project_with_subprojects: "is not (includes subprojects)" + label_is_project_with_subprojects: "is (includes subprojects)" + label_work_package_attributes: "Work package attributes" + label_less: "<" + label_money: "Cash value" + label_month_reporting: "Month (Spent)" + label_new_report: "New cost report" + label_open: "open" + label_operator: "Operator" + label_private_report_plural: "Private cost reports" + label_progress_bar_explanation: "Generating report..." + label_public_report_plural: "Public cost reports" + label_really_delete_question: "Are you sure you want to delete this report?" + label_rows: "Rows" + label_saving: "Saving ..." + label_spent_on_reporting: "Date (Spent)" + label_sum: "Sum" + label_units: "Units" + label_week_reporting: "Week (Spent)" + label_year_reporting: "Year (Spent)" + label_count: "Count" + label_filter: "Filter" + label_filter_add: "Add Filter" + label_filter_plural: "Filters" + label_group_by: "Group by" + label_group_by_add: "Add Group-by Attribute" + label_inactive: "«inactive»" + label_no: "No" + label_none: "(no data)" + label_no_reports: "There are no cost reports yet." + label_report: "Report" + label_yes: "Yes" + load_query_question: "Report will have %{size} table cells and may take some time to render. Do you still want to try rendering it?" + permission_save_cost_reports: "Save public cost reports" + permission_save_private_cost_reports: "Save private cost reports" + project_module_reporting_module: "Cost reports" + text_costs_are_rounded_note: "Displayed values are rounded. All calculations are based on the non-rounded values." + toggle_multiselect: "activate/deactivate multiselect" + units: "Units" + validation_failure_date: "is not a valid date" + validation_failure_integer: "is not a valid integer" + reporting: + group_by: + selected_columns: "Selected columns" + selected_rows: "Selected rows" diff --git a/modules/reporting/config/locales/crowdin/eu.yml b/modules/reporting/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..9e3667cd82 --- /dev/null +++ b/modules/reporting/config/locales/crowdin/eu.yml @@ -0,0 +1,87 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + button_save_as: "Save report as..." + comments: "Comment" + cost_reports_title: "Time and costs" + label_cost_report: "Cost report" + label_cost_report_plural: "Cost reports" + description_drill_down: "Show details" + description_filter_selection: "Selection" + description_multi_select: "Show multiselect" + description_remove_filter: "Remove filter" + information_restricted_depending_on_permission: "Depending on your permissions this page might contain restricted information." + label_click_to_edit: "Click to edit." + label_closed: "closed" + label_columns: "Columns" + label_cost_entry_attributes: "Cost entry attributes" + label_days_ago: "during the last days" + label_entry: "Cost entry" + label_filter_text: "Filter text" + label_filter_value: "Value" + label_filters: "Filter" + label_greater: ">" + label_is_not_project_with_subprojects: "is not (includes subprojects)" + label_is_project_with_subprojects: "is (includes subprojects)" + label_work_package_attributes: "Work package attributes" + label_less: "<" + label_money: "Cash value" + label_month_reporting: "Month (Spent)" + label_new_report: "New cost report" + label_open: "open" + label_operator: "Operator" + label_private_report_plural: "Private cost reports" + label_progress_bar_explanation: "Generating report..." + label_public_report_plural: "Public cost reports" + label_really_delete_question: "Are you sure you want to delete this report?" + label_rows: "Rows" + label_saving: "Saving ..." + label_spent_on_reporting: "Date (Spent)" + label_sum: "Sum" + label_units: "Units" + label_week_reporting: "Week (Spent)" + label_year_reporting: "Year (Spent)" + label_count: "Count" + label_filter: "Filter" + label_filter_add: "Add Filter" + label_filter_plural: "Filters" + label_group_by: "Group by" + label_group_by_add: "Add Group-by Attribute" + label_inactive: "«inactive»" + label_no: "No" + label_none: "(no data)" + label_no_reports: "There are no cost reports yet." + label_report: "Report" + label_yes: "Yes" + load_query_question: "Report will have %{size} table cells and may take some time to render. Do you still want to try rendering it?" + permission_save_cost_reports: "Save public cost reports" + permission_save_private_cost_reports: "Save private cost reports" + project_module_reporting_module: "Cost reports" + text_costs_are_rounded_note: "Displayed values are rounded. All calculations are based on the non-rounded values." + toggle_multiselect: "activate/deactivate multiselect" + units: "Units" + validation_failure_date: "is not a valid date" + validation_failure_integer: "is not a valid integer" + reporting: + group_by: + selected_columns: "Selected columns" + selected_rows: "Selected rows" diff --git a/modules/reporting/config/locales/crowdin/js-be.yml b/modules/reporting/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..c9f75083aa --- /dev/null +++ b/modules/reporting/config/locales/crowdin/js-be.yml @@ -0,0 +1,26 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +be: + js: + reporting_engine: + label_remove: "Delete" + label_response_error: "There was an error handling the query." diff --git a/modules/reporting/config/locales/crowdin/js-eu.yml b/modules/reporting/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..6f732ca7b1 --- /dev/null +++ b/modules/reporting/config/locales/crowdin/js-eu.yml @@ -0,0 +1,26 @@ +#-- copyright +#OpenProject is an open source project management software. +#Copyright (C) 2012-2022 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. +#++ +eu: + js: + reporting_engine: + label_remove: "Delete" + label_response_error: "There was an error handling the query." diff --git a/modules/storages/config/locales/crowdin/be.yml b/modules/storages/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..91a8e91c9b --- /dev/null +++ b/modules/storages/config/locales/crowdin/be.yml @@ -0,0 +1,92 @@ +#English strings go here +be: + permission_view_file_links: "View file links" + permission_manage_file_links: "Manage file links" + permission_manage_storages_in_project: "Manage file storages in project" + project_module_storages: "File storages" + activerecord: + models: + storages/storage: "Storage" + attributes: + storages/storage: + name: "Name" + creator: "Creator" + provider_type: "Provider type" + storages/file_link: + origin_id: "Origin Id" + errors: + messages: + not_linked_to_project: "is not linked to project." + models: + storages/storage: + attributes: + host: + cannot_be_connected_to: "can not be connected to." + minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" + not_nextcloud_server: "is not a Nextcloud server" + op_application_not_installed: > + appears to not have the app "OpenProject integration" installed. Please install it first and then try again. + authorization_header_missing: > + is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: "can only be numeric or uuid." + api_v3: + errors: + too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + storages: + buttons: + done_continue_setup: "Done. Continue setup" + replace_openproject_oauth: "Replace OpenProject OAuth" + replace_provider_type_oauth: "Replace %{provider_type} OAuth" + save_and_continue_setup: "Save and continue setup" + save_and_complete_setup: "Save and complete setup" + page_titles: + project_settings: + index: "File storages available in this project" + new: "Add a file storage to this project" + instructions: + type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" + type_link_text: "“Integration OpenProject”" + name: "Give your storage a name so that users can differentiate between multiple storages." + host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + no_storage_set_up: "There are no file storages set up, yet." + setting_up_additional_storages: "For setting up additional file storages, please visit" + setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." + setting_up_storages: "For setting up file storages, please visit" + setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." + all_available_storages_already_added: "All available storages are already added to the project." + copy_from: "Copy this value from" + nextcloud: + integration: "Nextcloud Administration / OpenProject" + delete_warning: + storage: > + Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. + project_storage: > + Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_creator: "Creator" + label_file_link: "File link" + label_file_links: "File links" + label_name: "Name" + label_host: "Host URL" + label_oauth_breadcrumb: + openproject: "OpenProject OAuth" + nextcloud: "Nextcloud OAuth" + label_oauth_application_details: "OAuth application details" + label_oauth_client_details: "OAuth client details" + label_provider_type: "Provider type" + label_new_storage: "New storage" + label_storage: "Storage" + label_storages: "Storages" + no_results: "No storages set up, yet." + provider_types: + label: "Provider type" + nextcloud: + name: "Nextcloud" + name_placeholder: "e.g. Nextcloud" + default_name: "My Nextcloud" + confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." + confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." + oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/eu.yml b/modules/storages/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..36da32501e --- /dev/null +++ b/modules/storages/config/locales/crowdin/eu.yml @@ -0,0 +1,92 @@ +#English strings go here +eu: + permission_view_file_links: "View file links" + permission_manage_file_links: "Manage file links" + permission_manage_storages_in_project: "Manage file storages in project" + project_module_storages: "File storages" + activerecord: + models: + storages/storage: "Storage" + attributes: + storages/storage: + name: "Name" + creator: "Creator" + provider_type: "Provider type" + storages/file_link: + origin_id: "Origin Id" + errors: + messages: + not_linked_to_project: "is not linked to project." + models: + storages/storage: + attributes: + host: + cannot_be_connected_to: "can not be connected to." + minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" + not_nextcloud_server: "is not a Nextcloud server" + op_application_not_installed: > + appears to not have the app "OpenProject integration" installed. Please install it first and then try again. + authorization_header_missing: > + is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: "can only be numeric or uuid." + api_v3: + errors: + too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + storages: + buttons: + done_continue_setup: "Done. Continue setup" + replace_openproject_oauth: "Replace OpenProject OAuth" + replace_provider_type_oauth: "Replace %{provider_type} OAuth" + save_and_continue_setup: "Save and continue setup" + save_and_complete_setup: "Save and complete setup" + page_titles: + project_settings: + index: "File storages available in this project" + new: "Add a file storage to this project" + instructions: + type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" + type_link_text: "“Integration OpenProject”" + name: "Give your storage a name so that users can differentiate between multiple storages." + host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + no_storage_set_up: "There are no file storages set up, yet." + setting_up_additional_storages: "For setting up additional file storages, please visit" + setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." + setting_up_storages: "For setting up file storages, please visit" + setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." + all_available_storages_already_added: "All available storages are already added to the project." + copy_from: "Copy this value from" + nextcloud: + integration: "Nextcloud Administration / OpenProject" + delete_warning: + storage: > + Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. + project_storage: > + Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_creator: "Creator" + label_file_link: "File link" + label_file_links: "File links" + label_name: "Name" + label_host: "Host URL" + label_oauth_breadcrumb: + openproject: "OpenProject OAuth" + nextcloud: "Nextcloud OAuth" + label_oauth_application_details: "OAuth application details" + label_oauth_client_details: "OAuth client details" + label_provider_type: "Provider type" + label_new_storage: "New storage" + label_storage: "Storage" + label_storages: "Storages" + no_results: "No storages set up, yet." + provider_types: + label: "Provider type" + nextcloud: + name: "Nextcloud" + name_placeholder: "e.g. Nextcloud" + default_name: "My Nextcloud" + confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." + confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." + oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/js-be.yml b/modules/storages/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..a3574b9953 --- /dev/null +++ b/modules/storages/config/locales/crowdin/js-be.yml @@ -0,0 +1,37 @@ +#English strings go here +be: + js: + storages: + link_files_in_storage: "Link files in %{storageType}" + link_existing_files: "Link existing files" + login: "%{storageType} login" + login_to: "Login to %{storageType}" + no_connection: "No %{storageType} connection" + open_storage: "Open %{storageType}" + types: + nextcloud: "Nextcloud" + information: + connection_error: > + Some %{storageType} settings are not working. Please contact your %{storageType} administrator. + live_data_error: "Error fetching file details" + live_data_error_description: > + Some %{storageType} data could not be fetched. Please try to reload this page or contact your %{storageType} administrator. + no_file_links: "In order to link files to this work package please do it via %{storageType}." + not_logged_in: > + To add a link, see or upload files related to this work package, please login to %{storageType}. + file_links: + download: "Download %{fileName}" + no_permission: "You have no permission to see this file." + open: 'Open file on storage' + open_location: 'Open file in location' + remove: "Remove file link" + remove_confirmation: > + Are you sure you want to unlink the file from this work package? Unlinking does not affect the original file and only removes the connection to this work package. + remove_short: "Remove link" + select: "Select files" + select_all: "Select all" + selection_none: "Select files to link" + selection_any: "Link %{number} files" + not_allowed_tooltip: "Please log in to Nextcloud to access this file" + already_linked_file: "This file is already linked to this work package." + already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-eu.yml b/modules/storages/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..9e325c5ed8 --- /dev/null +++ b/modules/storages/config/locales/crowdin/js-eu.yml @@ -0,0 +1,37 @@ +#English strings go here +eu: + js: + storages: + link_files_in_storage: "Link files in %{storageType}" + link_existing_files: "Link existing files" + login: "%{storageType} login" + login_to: "Login to %{storageType}" + no_connection: "No %{storageType} connection" + open_storage: "Open %{storageType}" + types: + nextcloud: "Nextcloud" + information: + connection_error: > + Some %{storageType} settings are not working. Please contact your %{storageType} administrator. + live_data_error: "Error fetching file details" + live_data_error_description: > + Some %{storageType} data could not be fetched. Please try to reload this page or contact your %{storageType} administrator. + no_file_links: "In order to link files to this work package please do it via %{storageType}." + not_logged_in: > + To add a link, see or upload files related to this work package, please login to %{storageType}. + file_links: + download: "Download %{fileName}" + no_permission: "You have no permission to see this file." + open: 'Open file on storage' + open_location: 'Open file in location' + remove: "Remove file link" + remove_confirmation: > + Are you sure you want to unlink the file from this work package? Unlinking does not affect the original file and only removes the connection to this work package. + remove_short: "Remove link" + select: "Select files" + select_all: "Select all" + selection_none: "Select files to link" + selection_any: "Link %{number} files" + not_allowed_tooltip: "Please log in to Nextcloud to access this file" + already_linked_file: "This file is already linked to this work package." + already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/team_planner/config/locales/crowdin/be.yml b/modules/team_planner/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..c485dd952f --- /dev/null +++ b/modules/team_planner/config/locales/crowdin/be.yml @@ -0,0 +1,13 @@ +#English strings go here +be: + permission_view_team_planner: "View team planner" + permission_manage_team_planner: "Manage team planner" + project_module_team_planner_view: "Team planner" + team_planner: + label_team_planner: "Team planner" + label_create_new_team_planner: "Create new team planner" + label_team_planner_plural: "Team planners" + label_assignees: "Assignees" + upsale: + title: "Team planner" + description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/eu.yml b/modules/team_planner/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..03758ec8fc --- /dev/null +++ b/modules/team_planner/config/locales/crowdin/eu.yml @@ -0,0 +1,13 @@ +#English strings go here +eu: + permission_view_team_planner: "View team planner" + permission_manage_team_planner: "Manage team planner" + project_module_team_planner_view: "Team planner" + team_planner: + label_team_planner: "Team planner" + label_create_new_team_planner: "Create new team planner" + label_team_planner_plural: "Team planners" + label_assignees: "Assignees" + upsale: + title: "Team planner" + description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/js-be.yml b/modules/team_planner/config/locales/crowdin/js-be.yml new file mode 100644 index 0000000000..a40cfab1fa --- /dev/null +++ b/modules/team_planner/config/locales/crowdin/js-be.yml @@ -0,0 +1,26 @@ +#English strings go here +be: + js: + team_planner: + add_existing: 'Add existing' + add_existing_title: 'Add existing work packages' + create_label: 'Team planner' + create_title: 'Create new team planner' + unsaved_title: 'Unnamed team planner' + no_data: 'Add assignees to set up your team planner.' + add_assignee: 'Add assignee' + remove_assignee: 'Remove assignee' + two_weeks: '2-week' + one_week: '1-week' + work_week: 'Work week' + today: 'Today' + drag_here_to_remove: 'Drag here to remove assignee and start and end dates.' + cannot_drag_here: 'Cannot remove the work package due to permissions or editing restrictions.' + cannot_drag_to_non_working_day: 'This work package cannot start/finish on a non-working day.' + quick_add: + empty_state: 'Use the search field to find work packages and drag them to the planner to assign it to someone and define start and end dates.' + search_placeholder: 'Search...' + modify: + errors: + permission_denied: 'You do not have the necessary permissions to modify this.' + fallback: 'This work package cannot be edited.' diff --git a/modules/team_planner/config/locales/crowdin/js-eu.yml b/modules/team_planner/config/locales/crowdin/js-eu.yml new file mode 100644 index 0000000000..1f5c16258c --- /dev/null +++ b/modules/team_planner/config/locales/crowdin/js-eu.yml @@ -0,0 +1,26 @@ +#English strings go here +eu: + js: + team_planner: + add_existing: 'Add existing' + add_existing_title: 'Add existing work packages' + create_label: 'Team planner' + create_title: 'Create new team planner' + unsaved_title: 'Unnamed team planner' + no_data: 'Add assignees to set up your team planner.' + add_assignee: 'Add assignee' + remove_assignee: 'Remove assignee' + two_weeks: '2-week' + one_week: '1-week' + work_week: 'Work week' + today: 'Today' + drag_here_to_remove: 'Drag here to remove assignee and start and end dates.' + cannot_drag_here: 'Cannot remove the work package due to permissions or editing restrictions.' + cannot_drag_to_non_working_day: 'This work package cannot start/finish on a non-working day.' + quick_add: + empty_state: 'Use the search field to find work packages and drag them to the planner to assign it to someone and define start and end dates.' + search_placeholder: 'Search...' + modify: + errors: + permission_denied: 'You do not have the necessary permissions to modify this.' + fallback: 'This work package cannot be edited.' diff --git a/modules/two_factor_authentication/config/locales/crowdin/be.yml b/modules/two_factor_authentication/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..6b46d4de36 --- /dev/null +++ b/modules/two_factor_authentication/config/locales/crowdin/be.yml @@ -0,0 +1,174 @@ +#English strings go here for Rails i18n +be: + activerecord: + attributes: + two_factor_authentication/device: + identifier: 'Identifier' + default: 'Use as default' + two_factor_authentication/device/sms: + phone_number: "Phone number" + errors: + models: + two_factor_authentication/device: + default_already_exists: 'is already set for another OTP device.' + two_factor_authentication/device/sms: + attributes: + phone_number: + error_phone_number_format: "must be of format +XX XXXXXXXXX" + models: + two_factor_authentication/device: "2FA device" + two_factor_authentication/device/sms: "Mobile phone" + two_factor_authentication/device/totp: "Authenticator application" + two_factor_authentication: + error_2fa_disabled: "2FA delivery has been disabled." + error_no_device: "No registered 2FA device found for this user, despite being required for this instance." + error_no_matching_strategy: "No matching 2FA strategy available for this user. Please contact your administratior." + error_is_enforced_not_active: 'Configuration error: Two-factor authentication has been enforced, but no active strategies exist.' + error_invalid_backup_code: 'Invalid 2FA backup code' + channel_unavailable: "The delivery channel %{channel} is unavailable." + no_valid_phone_number: "No valid phone number exists." + label_pwd_confirmation: "Password" + notice_pwd_confirmation: "You need to confirm your password upon making changes to these settings." + label_device_type: "Device type" + label_default_device: "Default 2FA device" + label_device: "2FA device" + label_devices: "2FA devices" + label_one_time_password: 'One-time password' + label_2fa_enabled: 'Two-factor authentication is active' + label_2fa_disabled: 'Two-factor authentication not active' + text_otp_delivery_message_sms: "Your %{app_title} one-time password is %{token}" + text_otp_delivery_message_voice: "Your %{app_title} one-time password is: %{pause} %{token}. %{pause} I repeat: %{pause} %{token}" + text_enter_2fa: 'Please enter the one-time password from your device.' + text_2fa_enabled: 'Upon every login, you will be requested to enter a OTP token from your default 2FA device.' + text_2fa_disabled: 'To enable two-factor authentication, use the button above to register a new 2FA device. If you already have a device, you need to make it a default.' + login: + enter_backup_code_title: Enter backup code + enter_backup_code_text: Please enter a valid backup code from your list of codes in case you can no longer access your registered 2FA devices. + other_device: 'Use another device or backup code' + settings: + title: '2FA settings' + current_configuration: 'Current configuration' + label_active_strategies: 'Active 2FA strategies' + label_enforced: 'Enforce 2FA' + label_remember: 'Remember 2FA login' + text_configuration: | + Note: These values represent the current application-wide configuration. You cannot disable settings enforced by the configuration or change the current active strategies, since they require a server restart. + text_configuration_guide: For more information, check the configuration guide. + text_enforced: 'Enable this setting to force all users to register a 2FA device on their next login. Can only be disabled when not enforced by configuration.' + text_remember: | + Set this to greater than zero to allow users to remember their 2FA authentication for the given number of days. + They will not be requested to re-enter it during that period. Can only be set when not enforced by configuration. + error_invalid_settings: 'The 2FA strategies you selected are invalid' + failed_to_save_settings: 'Failed to update 2FA settings: %{message}' + admin: + self_edit_path: 'To add or modify your own 2FA devices, please go to %{self_edit_link}' + self_edit_link_name: 'Two-factor authentication on your account page' + self_edit_forbidden: 'You may not edit your own 2FA devices on this path. Go to My Account > Two factor authentication instead.' + no_devices_for_user: 'No 2FA device has been registered for this user.' + all_devices_deleted: 'All 2FA devices of this user have been deleted' + delete_all_are_you_sure: 'Are you sure you want to delete all 2FA devices for this user?' + button_delete_all_devices: 'Delete registered 2FA devices' + button_register_mobile_phone_for_user: 'Register mobile phone' + text_2fa_enabled: 'Upon every login, this user will be requested to enter a OTP token from his default 2FA device.' + text_2fa_disabled: "The user did not set up a 2FA device through his 'My account page'" + upsale: + title: 'Two-factor authentication' + description: 'Strenghten the security of your OpenProject instance by offering (or enforcing) two-factor authentification to all project members.' + backup_codes: + none_found: No backup codes exist for this account. + singular: Backup code + plural: Backup codes + your_codes: for your %{app_name} account %{login} + overview_description: | + If you are unable to access your two factor devices, you can use a backup code to regain access to your account. + Use the following button to generate a new set of backup codes. + generate: + title: Generate backup codes + keep_safe_as_password: 'Important! Treat these codes as passwords.' + keep_safe_warning: 'Either save them in your password manager, or print this page and put in a safe place.' + regenerate_warning: 'Warning: If you have created backup codes before, they will be invalidated and will no longer work.' + devices: + add_new: 'Add new 2FA device' + register: 'Register device' + confirm_default: 'Confirm changing default device' + confirm_device: 'Confirm device' + confirm_now: 'Not confirmed, click here to activate' + cannot_delete_default: 'Cannot delete default device' + make_default_are_you_sure: 'Are you sure you want to make this 2FA device your default?' + make_default_failed: 'Failed to update the default 2FA device.' + deletion_are_you_sure: 'Are you sure you want to delete this 2FA device?' + registration_complete: '2FA device registration complete!' + registration_failed_token_invalid: '2FA device registration failed, the token was invalid.' + registration_failed_update: '2FA device registration failed, the token was valid but the device could not be updated.' + confirm_send_failed: 'Confirmation of your 2FA device failed.' + button_complete_registration: 'Complete 2FA registration' + text_confirm_to_complete_html: "Please complete the registration of your device %{identifier} by entering a one-time password from your default device." + text_confirm_to_change_default_html: "Please confirm changing your default device to %{new_identifier} by entering a one-time password from your current default device." + text_identifier: 'You can give the device a custom identifier using this field.' + failed_to_delete: 'Failed to delete 2FA device.' + is_default_cannot_delete: 'The device is marked as default and cannot be deleted due to an active security policy. Mark another device as default before deleting.' + not_existing: 'No 2FA device has been registered for your account.' + request_2fa: Please enter the code from your %{device_name} to verify your identity. + totp: + title: 'Use your app-based authenticator' + provisioning_uri: 'Provisioning URI' + secret_key: 'Secret key' + time_based: 'Time based' + account: 'Account name / Issuer' + setup: | + For setting up two-factor authentication with Google Authenticator, download the application from the Apple App store or Google Play Store. + After opening the app, you can scan the following QR code to register the device. + question_cannot_scan: | + Unable to scan the code using your application? + text_cannot_scan: | + If you can't scan the code, you can enter the entry manually using the following details: + description: | + Register an application authenticator for use with OpenProject using the time-based one-time password authentication standard. + Common examples are Google Authenticator or Authy. + sms: + title: 'Use your mobile phone' + redacted_identifier: 'Mobile device (%{redacted_number})' + request_2fa_identifier: '%{redacted_identifier}, we sent you an authentication code via %{delivery_channel}' + description: | + Register your mobile phone number for delivery of OpenProject one-time passwords. + sns: + delivery_failed: 'SNS delivery failed:' + message_bird: + sms_delivery_failed: 'MessageBird SMS delivery failed.' + voice_delivery_failed: 'MessageBird voice call failed.' + strategies: + totp: 'Authenticator application' + sns: 'Amazon SNS' + resdt: 'SMS Rest API' + mobile_transmit_notification: "A one-time password has been sent to your cell phone." + label_two_factor_authentication: 'Two-factor authentication' + forced_registration: + required_to_add_device: 'An active security policy requires you to enable two-factor authentication. Please use the following form to register a device.' + remember: + active_session_notice: > + Your account has an active remember cookie valid until %{expires_on}. This cookie allows you to log in without a second factor to your account until that time. + other_active_session_notice: Your account has an active remember cookie on another session. + label: 'Remember' + clear_cookie: 'Click here to remove all remembered 2FA sessions.' + cookie_removed: 'All remembered 2FA sessions have been removed.' + dont_ask_again: "Create cookie to remember 2FA authentication on this client for %{days} days." + field_phone: "Cell phone" + field_otp: "One-time password" + notice_account_otp_invalid: "Invalid one-time password." + notice_account_otp_expired: "The one-time password you entered expired." + notice_developer_strategy_otp: "Developer strategy generated the following one-time password: %{token} (Channel: %{channel})" + notice_account_otp_send_failed: "Your one-time password could not be sent." + notice_account_has_no_phone: "No cell phone number is associated with your account." + label_expiration_hint: "%{date} or on logout" + label_actions: 'Actions' + label_confirmed: 'Confirmed' + button_continue: 'Continue' + button_make_default: 'Mark as default' + label_unverified_phone: "Cell phone not yet verified" + notice_phone_number_format: "Please enter the number in the following format: +XX XXXXXXXX." + text_otp_not_receive: "Other verification methods" + text_send_otp_again: "Resend one-time password by:" + button_resend_otp_form: "Resend" + button_otp_by_voice: "Voice call" + button_otp_by_sms: "SMS" + label_otp_channel: "Delivery channel" diff --git a/modules/two_factor_authentication/config/locales/crowdin/eu.yml b/modules/two_factor_authentication/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..7a0462d1a1 --- /dev/null +++ b/modules/two_factor_authentication/config/locales/crowdin/eu.yml @@ -0,0 +1,174 @@ +#English strings go here for Rails i18n +eu: + activerecord: + attributes: + two_factor_authentication/device: + identifier: 'Identifier' + default: 'Use as default' + two_factor_authentication/device/sms: + phone_number: "Phone number" + errors: + models: + two_factor_authentication/device: + default_already_exists: 'is already set for another OTP device.' + two_factor_authentication/device/sms: + attributes: + phone_number: + error_phone_number_format: "must be of format +XX XXXXXXXXX" + models: + two_factor_authentication/device: "2FA device" + two_factor_authentication/device/sms: "Mobile phone" + two_factor_authentication/device/totp: "Authenticator application" + two_factor_authentication: + error_2fa_disabled: "2FA delivery has been disabled." + error_no_device: "No registered 2FA device found for this user, despite being required for this instance." + error_no_matching_strategy: "No matching 2FA strategy available for this user. Please contact your administratior." + error_is_enforced_not_active: 'Configuration error: Two-factor authentication has been enforced, but no active strategies exist.' + error_invalid_backup_code: 'Invalid 2FA backup code' + channel_unavailable: "The delivery channel %{channel} is unavailable." + no_valid_phone_number: "No valid phone number exists." + label_pwd_confirmation: "Password" + notice_pwd_confirmation: "You need to confirm your password upon making changes to these settings." + label_device_type: "Device type" + label_default_device: "Default 2FA device" + label_device: "2FA device" + label_devices: "2FA devices" + label_one_time_password: 'One-time password' + label_2fa_enabled: 'Two-factor authentication is active' + label_2fa_disabled: 'Two-factor authentication not active' + text_otp_delivery_message_sms: "Your %{app_title} one-time password is %{token}" + text_otp_delivery_message_voice: "Your %{app_title} one-time password is: %{pause} %{token}. %{pause} I repeat: %{pause} %{token}" + text_enter_2fa: 'Please enter the one-time password from your device.' + text_2fa_enabled: 'Upon every login, you will be requested to enter a OTP token from your default 2FA device.' + text_2fa_disabled: 'To enable two-factor authentication, use the button above to register a new 2FA device. If you already have a device, you need to make it a default.' + login: + enter_backup_code_title: Enter backup code + enter_backup_code_text: Please enter a valid backup code from your list of codes in case you can no longer access your registered 2FA devices. + other_device: 'Use another device or backup code' + settings: + title: '2FA settings' + current_configuration: 'Current configuration' + label_active_strategies: 'Active 2FA strategies' + label_enforced: 'Enforce 2FA' + label_remember: 'Remember 2FA login' + text_configuration: | + Note: These values represent the current application-wide configuration. You cannot disable settings enforced by the configuration or change the current active strategies, since they require a server restart. + text_configuration_guide: For more information, check the configuration guide. + text_enforced: 'Enable this setting to force all users to register a 2FA device on their next login. Can only be disabled when not enforced by configuration.' + text_remember: | + Set this to greater than zero to allow users to remember their 2FA authentication for the given number of days. + They will not be requested to re-enter it during that period. Can only be set when not enforced by configuration. + error_invalid_settings: 'The 2FA strategies you selected are invalid' + failed_to_save_settings: 'Failed to update 2FA settings: %{message}' + admin: + self_edit_path: 'To add or modify your own 2FA devices, please go to %{self_edit_link}' + self_edit_link_name: 'Two-factor authentication on your account page' + self_edit_forbidden: 'You may not edit your own 2FA devices on this path. Go to My Account > Two factor authentication instead.' + no_devices_for_user: 'No 2FA device has been registered for this user.' + all_devices_deleted: 'All 2FA devices of this user have been deleted' + delete_all_are_you_sure: 'Are you sure you want to delete all 2FA devices for this user?' + button_delete_all_devices: 'Delete registered 2FA devices' + button_register_mobile_phone_for_user: 'Register mobile phone' + text_2fa_enabled: 'Upon every login, this user will be requested to enter a OTP token from his default 2FA device.' + text_2fa_disabled: "The user did not set up a 2FA device through his 'My account page'" + upsale: + title: 'Two-factor authentication' + description: 'Strenghten the security of your OpenProject instance by offering (or enforcing) two-factor authentification to all project members.' + backup_codes: + none_found: No backup codes exist for this account. + singular: Backup code + plural: Backup codes + your_codes: for your %{app_name} account %{login} + overview_description: | + If you are unable to access your two factor devices, you can use a backup code to regain access to your account. + Use the following button to generate a new set of backup codes. + generate: + title: Generate backup codes + keep_safe_as_password: 'Important! Treat these codes as passwords.' + keep_safe_warning: 'Either save them in your password manager, or print this page and put in a safe place.' + regenerate_warning: 'Warning: If you have created backup codes before, they will be invalidated and will no longer work.' + devices: + add_new: 'Add new 2FA device' + register: 'Register device' + confirm_default: 'Confirm changing default device' + confirm_device: 'Confirm device' + confirm_now: 'Not confirmed, click here to activate' + cannot_delete_default: 'Cannot delete default device' + make_default_are_you_sure: 'Are you sure you want to make this 2FA device your default?' + make_default_failed: 'Failed to update the default 2FA device.' + deletion_are_you_sure: 'Are you sure you want to delete this 2FA device?' + registration_complete: '2FA device registration complete!' + registration_failed_token_invalid: '2FA device registration failed, the token was invalid.' + registration_failed_update: '2FA device registration failed, the token was valid but the device could not be updated.' + confirm_send_failed: 'Confirmation of your 2FA device failed.' + button_complete_registration: 'Complete 2FA registration' + text_confirm_to_complete_html: "Please complete the registration of your device %{identifier} by entering a one-time password from your default device." + text_confirm_to_change_default_html: "Please confirm changing your default device to %{new_identifier} by entering a one-time password from your current default device." + text_identifier: 'You can give the device a custom identifier using this field.' + failed_to_delete: 'Failed to delete 2FA device.' + is_default_cannot_delete: 'The device is marked as default and cannot be deleted due to an active security policy. Mark another device as default before deleting.' + not_existing: 'No 2FA device has been registered for your account.' + request_2fa: Please enter the code from your %{device_name} to verify your identity. + totp: + title: 'Use your app-based authenticator' + provisioning_uri: 'Provisioning URI' + secret_key: 'Secret key' + time_based: 'Time based' + account: 'Account name / Issuer' + setup: | + For setting up two-factor authentication with Google Authenticator, download the application from the Apple App store or Google Play Store. + After opening the app, you can scan the following QR code to register the device. + question_cannot_scan: | + Unable to scan the code using your application? + text_cannot_scan: | + If you can't scan the code, you can enter the entry manually using the following details: + description: | + Register an application authenticator for use with OpenProject using the time-based one-time password authentication standard. + Common examples are Google Authenticator or Authy. + sms: + title: 'Use your mobile phone' + redacted_identifier: 'Mobile device (%{redacted_number})' + request_2fa_identifier: '%{redacted_identifier}, we sent you an authentication code via %{delivery_channel}' + description: | + Register your mobile phone number for delivery of OpenProject one-time passwords. + sns: + delivery_failed: 'SNS delivery failed:' + message_bird: + sms_delivery_failed: 'MessageBird SMS delivery failed.' + voice_delivery_failed: 'MessageBird voice call failed.' + strategies: + totp: 'Authenticator application' + sns: 'Amazon SNS' + resdt: 'SMS Rest API' + mobile_transmit_notification: "A one-time password has been sent to your cell phone." + label_two_factor_authentication: 'Two-factor authentication' + forced_registration: + required_to_add_device: 'An active security policy requires you to enable two-factor authentication. Please use the following form to register a device.' + remember: + active_session_notice: > + Your account has an active remember cookie valid until %{expires_on}. This cookie allows you to log in without a second factor to your account until that time. + other_active_session_notice: Your account has an active remember cookie on another session. + label: 'Remember' + clear_cookie: 'Click here to remove all remembered 2FA sessions.' + cookie_removed: 'All remembered 2FA sessions have been removed.' + dont_ask_again: "Create cookie to remember 2FA authentication on this client for %{days} days." + field_phone: "Cell phone" + field_otp: "One-time password" + notice_account_otp_invalid: "Invalid one-time password." + notice_account_otp_expired: "The one-time password you entered expired." + notice_developer_strategy_otp: "Developer strategy generated the following one-time password: %{token} (Channel: %{channel})" + notice_account_otp_send_failed: "Your one-time password could not be sent." + notice_account_has_no_phone: "No cell phone number is associated with your account." + label_expiration_hint: "%{date} or on logout" + label_actions: 'Actions' + label_confirmed: 'Confirmed' + button_continue: 'Continue' + button_make_default: 'Mark as default' + label_unverified_phone: "Cell phone not yet verified" + notice_phone_number_format: "Please enter the number in the following format: +XX XXXXXXXX." + text_otp_not_receive: "Other verification methods" + text_send_otp_again: "Resend one-time password by:" + button_resend_otp_form: "Resend" + button_otp_by_voice: "Voice call" + button_otp_by_sms: "SMS" + label_otp_channel: "Delivery channel" diff --git a/modules/webhooks/config/locales/crowdin/be.yml b/modules/webhooks/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..59ddc395a6 --- /dev/null +++ b/modules/webhooks/config/locales/crowdin/be.yml @@ -0,0 +1,63 @@ +be: + activerecord: + attributes: + webhooks/webhook: + url: 'Payload URL' + secret: 'Signature secret' + events: 'Events' + projects: 'Enabled projects' + webhooks/log: + event_name: 'Event name' + url: 'Payload URL' + response_code: 'Response code' + response_body: 'Response' + models: + webhooks/outgoing_webhook: "Outgoing webhook" + webhooks: + singular: Webhook + plural: Webhooks + resources: + time_entry: + name: "Time entry" + outgoing: + no_results_table: No webhooks have been defined yet. + label_add_new: Add new webhook + label_edit: Edit webhook + label_event_resources: Event resources + events: + created: "Created" + updated: "Updated" + explanation: + text: > + Upon the occurrence of an event like the creation of a work package or an update on a project, OpenProject will send a POST request to the configured web endpoints. Oftentimes, the event is sent after the %{link} has passed. + link: configured aggregation period + status: + enabled: 'Webhook is enabled' + disabled: 'Webhook is disabled' + enabled_text: 'The webhook will emit payloads for the defined events below.' + disabled_text: 'Click the edit button to activate the webhook.' + deliveries: + no_results_table: No deliveries have been made for this webhook in the past days. + title: 'Recent deliveries' + time: 'Delivery time' + form: + introduction: > + Send a POST request to the payload URL below for any event in the project you're subscribed to. Payload will correspond to the APIv3 representation of the object being modified. + apiv3_doc_url: For more information, visit the API documentation + description: + placeholder: 'Optional description for the webhook.' + enabled: + description: > + When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + events: + title: 'Enabled events' + project_ids: + title: 'Enabled projects' + description: 'Select for which projects this webhook should be executed for.' + all: 'All projects' + selected: 'Selected projects only' + selected_project_ids: + title: 'Selected projects' + secret: + description: > + If set, this secret value is used by OpenProject to sign the webhook payload. diff --git a/modules/webhooks/config/locales/crowdin/eu.yml b/modules/webhooks/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..0812cab3ba --- /dev/null +++ b/modules/webhooks/config/locales/crowdin/eu.yml @@ -0,0 +1,63 @@ +eu: + activerecord: + attributes: + webhooks/webhook: + url: 'Payload URL' + secret: 'Signature secret' + events: 'Events' + projects: 'Enabled projects' + webhooks/log: + event_name: 'Event name' + url: 'Payload URL' + response_code: 'Response code' + response_body: 'Response' + models: + webhooks/outgoing_webhook: "Outgoing webhook" + webhooks: + singular: Webhook + plural: Webhooks + resources: + time_entry: + name: "Time entry" + outgoing: + no_results_table: No webhooks have been defined yet. + label_add_new: Add new webhook + label_edit: Edit webhook + label_event_resources: Event resources + events: + created: "Created" + updated: "Updated" + explanation: + text: > + Upon the occurrence of an event like the creation of a work package or an update on a project, OpenProject will send a POST request to the configured web endpoints. Oftentimes, the event is sent after the %{link} has passed. + link: configured aggregation period + status: + enabled: 'Webhook is enabled' + disabled: 'Webhook is disabled' + enabled_text: 'The webhook will emit payloads for the defined events below.' + disabled_text: 'Click the edit button to activate the webhook.' + deliveries: + no_results_table: No deliveries have been made for this webhook in the past days. + title: 'Recent deliveries' + time: 'Delivery time' + form: + introduction: > + Send a POST request to the payload URL below for any event in the project you're subscribed to. Payload will correspond to the APIv3 representation of the object being modified. + apiv3_doc_url: For more information, visit the API documentation + description: + placeholder: 'Optional description for the webhook.' + enabled: + description: > + When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + events: + title: 'Enabled events' + project_ids: + title: 'Enabled projects' + description: 'Select for which projects this webhook should be executed for.' + all: 'All projects' + selected: 'Selected projects only' + selected_project_ids: + title: 'Selected projects' + secret: + description: > + If set, this secret value is used by OpenProject to sign the webhook payload. diff --git a/modules/xls_export/config/locales/crowdin/be.yml b/modules/xls_export/config/locales/crowdin/be.yml new file mode 100644 index 0000000000..d8837eae7b --- /dev/null +++ b/modules/xls_export/config/locales/crowdin/be.yml @@ -0,0 +1,13 @@ +be: + export_to_excel: "Export XLS" + print_with_description: "Print preview with description" + sentence_separator_or: "or" + different_formats: Different formats + export: + format: + xls: "XLS" + xls_with_descriptions: "XLS with descriptions" + xls_with_relations: "XLS with relations" + xls_export: + child_of: child of + parent_of: parent of diff --git a/modules/xls_export/config/locales/crowdin/eu.yml b/modules/xls_export/config/locales/crowdin/eu.yml new file mode 100644 index 0000000000..e990920d55 --- /dev/null +++ b/modules/xls_export/config/locales/crowdin/eu.yml @@ -0,0 +1,13 @@ +eu: + export_to_excel: "Export XLS" + print_with_description: "Print preview with description" + sentence_separator_or: "or" + different_formats: Different formats + export: + format: + xls: "XLS" + xls_with_descriptions: "XLS with descriptions" + xls_with_relations: "XLS with relations" + xls_export: + child_of: child of + parent_of: parent of From 6d0de8857c9520505e4f1df7f373cc657679d790 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Mon, 16 Jan 2023 03:08:39 +0000 Subject: [PATCH 5/5] update locales from crowdin [ci skip] --- modules/calendar/config/locales/crowdin/hi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/calendar/config/locales/crowdin/hi.yml b/modules/calendar/config/locales/crowdin/hi.yml index 7181ae29f9..9d0b31922f 100644 --- a/modules/calendar/config/locales/crowdin/hi.yml +++ b/modules/calendar/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #English strings go here hi: - label_calendar_plural: "Calendars" + label_calendar_plural: "पंचांग" permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" project_module_calendar_view: "Calendar"