From 82c0c993f87d04d841c06677fb208db4c524a5c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 25 Sep 2019 07:44:15 +0200 Subject: [PATCH 01/19] [31161] Reorder widgets after saving in service This was added some time ago for board saving requests, which however is not used for adding lists. This change catches all board save actions now and reorders the widgets appropriately. https://community.openproject.com/wp/31161 --- frontend/src/app/modules/boards/board/board.component.ts | 1 - frontend/src/app/modules/boards/board/board.service.ts | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/modules/boards/board/board.component.ts b/frontend/src/app/modules/boards/board/board.component.ts index 3f22bd2109..5fcd45a083 100644 --- a/frontend/src/app/modules/boards/board/board.component.ts +++ b/frontend/src/app/modules/boards/board/board.component.ts @@ -106,7 +106,6 @@ export class BoardComponent implements OnInit, OnDestroy { .save(board) .then(board => { this.inFlight = false; - board.sortWidgets(); return board; }) .catch((error) => { diff --git a/frontend/src/app/modules/boards/board/board.service.ts b/frontend/src/app/modules/boards/board/board.service.ts index a6b8ea6b6f..2742043ba4 100644 --- a/frontend/src/app/modules/boards/board/board.service.ts +++ b/frontend/src/app/modules/boards/board/board.service.ts @@ -74,6 +74,7 @@ export class BoardService { this.reorderWidgets(board); return this.boardDm.save(board) .then(board => { + board.sortWidgets(); this.boardCache.update(board); return board; }); From 4efd6040ffc5f7591b4b406ca93b97b7d18e0936 Mon Sep 17 00:00:00 2001 From: Henriette Dinger Date: Thu, 26 Sep 2019 08:13:33 +0200 Subject: [PATCH 02/19] Announcement: Add localisation for menu entry and use ck-editor --- app/views/announcements/edit.html.erb | 7 ++++++- config/initializers/menus.rb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/views/announcements/edit.html.erb b/app/views/announcements/edit.html.erb index d9026f1832..82384f0c9b 100644 --- a/app/views/announcements/edit.html.erb +++ b/app/views/announcements/edit.html.erb @@ -8,7 +8,12 @@ :url => {:action => :update}, :html => {:method => :put} do |f|%>
- <%= f.text_area :text, :cols => 80, :rows => 5, label: t(:label_text), container_class: '-wide' %> + <%= f.text_area :text, + :cols => 80, + :rows => 5, + label: t(:label_text), + container_class: '-xxwide', + with_text_formatting: true %>
<%= f.text_field :show_until, label: t('announcements.show_until'), container_class: '-xslim', class: '-augmented-datepicker' %> diff --git a/config/initializers/menus.rb b/config/initializers/menus.rb index b917a30bfe..7681b9cbc1 100644 --- a/config/initializers/menus.rb +++ b/config/initializers/menus.rb @@ -239,7 +239,7 @@ Redmine::MenuManager.map :admin_menu do |menu| menu.push :announcements, { controller: '/announcements', action: 'edit' }, - caption: 'Announcement', + caption: :label_announcement, icon: 'icon2 icon-news' menu.push :plugins, From 674086bd8148f13ad9c0bfc85956cff81f06bd30 Mon Sep 17 00:00:00 2001 From: Henriette Dinger Date: Thu, 26 Sep 2019 08:36:10 +0200 Subject: [PATCH 03/19] Add missing classes for CF in enumerations --- app/helpers/custom_fields_helper.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/helpers/custom_fields_helper.rb b/app/helpers/custom_fields_helper.rb index 2b65f3783b..db150b7242 100644 --- a/app/helpers/custom_fields_helper.rb +++ b/app/helpers/custom_fields_helper.rb @@ -52,9 +52,9 @@ module CustomFieldsHelper tag = case field_format.try(:edit_as) when 'date' - styled_text_field_tag(field_name, custom_value.value, id: field_id, class: '-augmented-datepicker', size: 10) + styled_text_field_tag(field_name, custom_value.value, id: field_id, class: '-augmented-datepicker', size: 10, container_class: '-slim') when 'text' - styled_text_area_tag(field_name, custom_value.value, id: field_id, rows: 3) + styled_text_area_tag(field_name, custom_value.value, id: field_id, rows: 3, container_class: '-middle') when 'bool' hidden_tag = hidden_field_tag(field_name, '0') checkbox_tag = styled_check_box_tag(field_name, '1', custom_value.typed_value, id: field_id) @@ -70,12 +70,12 @@ module CustomFieldsHelper options = blank_option.html_safe + options_for_select(custom_field.possible_values_options(custom_value.customized), custom_value.value) - styled_select_tag(field_name, options, id: field_id) + styled_select_tag(field_name, options, id: field_id, container_class: '-middle') else - styled_text_field_tag(field_name, custom_value.value, id: field_id) + styled_text_field_tag(field_name, custom_value.value, id: field_id, container_class: '-middle') end - tag = content_tag :span, tag, lang: custom_field.name_locale + tag = content_tag :span, tag, lang: custom_field.name_locale, class: 'form--field-container' custom_value.errors.empty? ? tag : From b0968a6d1baa6058947dfe4509055189effaf1aa Mon Sep 17 00:00:00 2001 From: Travis CI User Date: Thu, 26 Sep 2019 08:53:57 +0000 Subject: [PATCH 04/19] update locales from crowdin [ci skip] --- config/locales/crowdin/de.yml | 2 +- config/locales/crowdin/es.yml | 34 +++---- config/locales/crowdin/fr.yml | 12 +-- config/locales/crowdin/js-de.yml | 2 +- config/locales/crowdin/js-es.yml | 64 ++++++------- config/locales/crowdin/js-fr.yml | 8 +- config/locales/crowdin/js-ko.yml | 28 +++--- config/locales/crowdin/js-pl.yml | 10 +- config/locales/crowdin/js-pt.yml | 6 +- config/locales/crowdin/js-ru.yml | 6 +- config/locales/crowdin/js-zh-CN.yml | 16 ++-- config/locales/crowdin/ko.yml | 20 ++-- config/locales/crowdin/pl.yml | 6 +- config/locales/crowdin/pt.yml | 12 +-- config/locales/crowdin/ru.yml | 14 +-- config/locales/crowdin/zh-CN.yml | 22 ++--- modules/avatars/config/locales/crowdin/es.yml | 48 +++++----- modules/avatars/config/locales/crowdin/fr.yml | 8 +- .../avatars/config/locales/crowdin/js-es.yml | 14 +-- .../avatars/config/locales/crowdin/js-fr.yml | 4 +- .../avatars/config/locales/crowdin/js-ko.yml | 8 +- .../avatars/config/locales/crowdin/js-pl.yml | 14 +-- .../avatars/config/locales/crowdin/js-pt.yml | 2 +- modules/avatars/config/locales/crowdin/ko.yml | 20 ++-- modules/avatars/config/locales/crowdin/pl.yml | 52 +++++----- modules/avatars/config/locales/crowdin/pt.yml | 6 +- .../avatars/config/locales/crowdin/zh-CN.yml | 6 +- modules/bcf/config/locales/crowdin/es.yml | 92 +++++++++--------- modules/bcf/config/locales/crowdin/fr.yml | 88 ++++++++--------- modules/bcf/config/locales/crowdin/ko.yml | 70 +++++++------- modules/bcf/config/locales/crowdin/pl.yml | 96 +++++++++---------- modules/bcf/config/locales/crowdin/zh-CN.yml | 18 ++-- modules/boards/config/locales/crowdin/es.yml | 4 +- modules/boards/config/locales/crowdin/fr.yml | 4 +- .../boards/config/locales/crowdin/js-es.yml | 62 ++++++------ .../boards/config/locales/crowdin/js-fr.yml | 60 ++++++------ .../boards/config/locales/crowdin/js-ko.yml | 62 ++++++------ .../boards/config/locales/crowdin/js-pl.yml | 62 ++++++------ .../boards/config/locales/crowdin/js-pt.yml | 2 +- .../config/locales/crowdin/js-zh-CN.yml | 54 +++++------ modules/boards/config/locales/crowdin/ko.yml | 4 +- modules/boards/config/locales/crowdin/pl.yml | 4 +- .../dashboards/config/locales/crowdin/es.yml | 6 +- .../dashboards/config/locales/crowdin/fr.yml | 4 +- .../config/locales/crowdin/js-es.yml | 2 +- .../config/locales/crowdin/js-fr.yml | 2 +- .../config/locales/crowdin/js-ko.yml | 2 +- .../config/locales/crowdin/js-pl.yml | 2 +- .../config/locales/crowdin/js-zh-CN.yml | 2 +- .../dashboards/config/locales/crowdin/ko.yml | 6 +- .../dashboards/config/locales/crowdin/pl.yml | 6 +- .../config/locales/crowdin/zh-CN.yml | 6 +- .../config/locales/crowdin/es.yml | 8 +- .../config/locales/crowdin/fr.yml | 8 +- .../config/locales/crowdin/ko.yml | 8 +- .../config/locales/crowdin/pl.yml | 8 +- .../config/locales/crowdin/zh-CN.yml | 8 +- .../grids/config/locales/crowdin/js-es.yml | 26 ++--- .../grids/config/locales/crowdin/js-fr.yml | 26 ++--- .../grids/config/locales/crowdin/js-ko.yml | 26 ++--- .../grids/config/locales/crowdin/js-pl.yml | 22 ++--- .../grids/config/locales/crowdin/js-ru.yml | 10 +- .../grids/config/locales/crowdin/js-zh-CN.yml | 26 ++--- .../ldap_groups/config/locales/crowdin/es.yml | 42 ++++---- .../ldap_groups/config/locales/crowdin/fr.yml | 42 ++++---- .../ldap_groups/config/locales/crowdin/ko.yml | 42 ++++---- .../ldap_groups/config/locales/crowdin/pl.yml | 42 ++++---- .../config/locales/crowdin/zh-CN.yml | 14 +-- .../config/locales/crowdin/es.yml | 20 ++-- .../config/locales/crowdin/fr.yml | 2 +- .../config/locales/crowdin/ko.yml | 20 ++-- .../config/locales/crowdin/pl.yml | 20 ++-- .../config/locales/crowdin/zh-CN.yml | 14 +-- .../recaptcha/config/locales/crowdin/es.yml | 18 ++-- .../recaptcha/config/locales/crowdin/fr.yml | 18 ++-- .../recaptcha/config/locales/crowdin/ko.yml | 18 ++-- .../recaptcha/config/locales/crowdin/ru.yml | 18 ++-- .../config/locales/crowdin/zh-CN.yml | 18 ++-- .../webhooks/config/locales/crowdin/es.yml | 60 ++++++------ .../webhooks/config/locales/crowdin/fr.yml | 60 ++++++------ .../webhooks/config/locales/crowdin/ko.yml | 62 ++++++------ .../webhooks/config/locales/crowdin/pl.yml | 62 ++++++------ .../webhooks/config/locales/crowdin/zh-CN.yml | 62 ++++++------ .../xls_export/config/locales/crowdin/es.yml | 12 +-- .../xls_export/config/locales/crowdin/ko.yml | 14 +-- .../xls_export/config/locales/crowdin/pl.yml | 12 +-- 86 files changed, 1016 insertions(+), 1016 deletions(-) diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 1f80ab3590..f8dfd84d34 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -479,7 +479,7 @@ de: invalid_values: "Ein Wert ist ungültig." id_filter_required: "Ein \"Id\" Filter ist erforderlich." project: - archived_ancestor: 'The project has an archived ancestor.' + archived_ancestor: 'Das Projekt hat einen archivierten Vorgänger.' foreign_wps_reference_version: 'Work packages in non descendant projects reference versions of the project or its descendants.' attributes: types: diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index fda7db626e..32bf997a7f 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -90,7 +90,7 @@ es: concatenation: single: 'o bien' deprecations: - time_entries: "This time entries view is superseded by the 'Cost reports' module. This view now only supports exporting time entry information to csv. For interactive filtering, please activate the 'Cost reports' module in the project settings." + time_entries: "Esta vista de entradas de tiempo se ha reemplazado por el módulo “Informes de costes”. En este momento, esta vista solo permite exportar a CSV información de entradas de tiempo. Para el filtrado interactivo, active el módulo “Informes de costes“ en la configuración del proyecto." global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -481,8 +481,8 @@ es: invalid_values: "El valor no es válido." id_filter_required: "Se requiere el filtro 'id'." 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.' + archived_ancestor: 'El proyecto tiene un antecesor archivado.' + foreign_wps_reference_version: 'Los paquetes de trabajo en los proyectos no descendientes hacen referencia a versiones del proyecto o a sus descendientes.' attributes: types: in_use_by_work_packages: "todavia en uso por los paquetes de trabajo: %{types}" @@ -946,7 +946,7 @@ es: enumeration_system_activity: "Actividad del sistema" enumeration_reported_project_statuses: "Estatus del proyecto reportado" error_auth_source_sso_failed: "El intento de inicio de sesión único (SSO) para el usuario “%{value}” falló" - error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_archive_project: "Este proyecto no se puede archivar: %{errors}" error_can_not_delete_entry: "No se puede eliminar la entrada" error_can_not_delete_custom_field: "Imposible eliminar el campo seleccionado" error_can_not_delete_type: "Este tipo contiene paquetes de trabajo y no se puede eliminar." @@ -955,7 +955,7 @@ es: error_can_not_remove_role: "Este rol esta en uso y no puede ser eliminado" error_can_not_reopen_work_package_on_closed_version: "No se puede volver a abrir un paquete de trabajo asignado a una versión cerrada" error_can_not_find_all_resources: "No se encontraron todos los recursos relacionados con esta solicitud." - error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_can_not_unarchive_project: "Este proyecto no se puede recuperar: %{errors}" error_check_user_and_role: "Por favor elige un usuario y un rol." error_code: "Error %{code}" error_cookie_missing: 'No se encuentra la cookie de OpenProject. Por favor asegúrese de que las cookies están habilitadas, ya que sin ellas esta aplicación no funcionará correctamente.' @@ -1031,7 +1031,7 @@ es: general_text_yes: "sí" general_text_No: "No" general_text_Yes: "Sí" - general_text_true: "true" + general_text_true: "verdadero" general_text_false: "falso" gui_validation_error: "1 error" gui_validation_error_plural: "errores %{count}" @@ -1526,7 +1526,7 @@ es: label_used_by_types: "Utilizado por tipos" label_used_in_projects: "Utilizado en proyectos" label_user: "Usuario" - label_user_and_permission: "Users & Permissions" + label_user_and_permission: "Usuarios y permisos" label_user_named: "Usuario %{name}" label_user_activity: "Actividad de %{value} " label_user_anonymous: "Anónimo" @@ -1539,7 +1539,7 @@ es: label_user_new: "Nuevo usuario" label_user_plural: "Usuarios" label_user_search: "Búsqueda de usuario" - label_user_settings: "User settings" + label_user_settings: "Configuración de usuario" label_version_new: "Nueva versión" label_version_plural: "Versiones" label_version_sharing_descendants: "Con subproyectos" @@ -1557,7 +1557,7 @@ es: label_wiki_content_added: "Página wiki añadida" label_wiki_content_updated: "Página wiki actualizada" label_wiki_toc: "Tabla de contenidos" - label_wiki_toc_empty: "Table of Contents is empty as no headings are present." + label_wiki_toc_empty: "El índice está vacío porque no hay ningún encabezado." label_wiki_dont_show_menu_item: "No mostrar esta página wiki en la navegación del proyecto" label_wiki_edit: "Editar Wiki" label_wiki_edit_plural: "Ediciones Wiki" @@ -1644,7 +1644,7 @@ es: legacy_warning: timeline: 'Esta macro de línea de tiempo heredada se ha quitado y ya no está disponible. Puede sustituir la función por una macro de tabla insertada.' include_wiki_page: - removed: 'The macro does no longer exist.' + removed: 'La macro ya no existe.' wiki_child_pages: errors: page_not_found: "No se encuentra la página wiki “%{name}”." @@ -1662,14 +1662,14 @@ es: mail_body_lost_password: "Para cambiar su contraseña, haga clic en el siguiente enlace:" mail_body_register: "Para activar su cuenta, haga clic en el siguiente enlace:" mail_body_reminder: "%{count} paquete(s) de trabajo que le fueron asignados vencen en los próximos %{days}:" - mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_group_reminder: "%{count} paquete(s) de trabajo asignado(s) al grupo “%{group}” vencerán en los próximos %{days} días:" mail_body_wiki_content_added: "La página wiki de '%{id}' ha sido añadida por %{author}." mail_body_wiki_content_updated: "La página wiki de '%{id}' ha sido actualizada por %{author}." mail_subject_account_activation_request: "solicitud de activación de cuenta de %{value}" mail_subject_lost_password: "Su contraseña %{value}" mail_subject_register: "La activación de la cuenta %{value}" mail_subject_reminder: "%{count} paquete(s) de trabajo pendientes en los siguientes %{days} dias" - mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "Para el grupo “%{group}”, hay %{count} paquete(s) de trabajo que vencerá(n) en los próximos %{days} días" mail_subject_wiki_content_added: "'%{id}' wiki página ha sido agregada" mail_subject_wiki_content_updated: "'%{id}' wiki página ha sido actualizada" mail_user_activation_limit_reached: @@ -2022,7 +2022,7 @@ es: setting_feeds_limit: "Limite de contenido de feed" setting_file_max_size_displayed: "Tamaño máximo de archivos de texto mostrado en linea" setting_host_name: "Nombre de host" - setting_invitation_expiration_days: "Activation email expires after" + setting_invitation_expiration_days: "El correo electrónico de activación caduca después de" setting_work_package_done_ratio: "Calcular la relacion de paquete de trabajo hecho con" setting_work_package_done_ratio_field: "Usar el campo de paquete de trabajo" setting_work_package_done_ratio_status: "Usar el estado del paquete de trabajo" @@ -2141,7 +2141,7 @@ es: text_destroy_with_associated: "Hay objetos adicionales asociados a los paquetes de trabajo que van a ser eliminados. Esos objetos son de los siguientes tipos:" text_destroy_what_to_do: "¿Qué quieres hacer?" text_diff_truncated: "... Esta diferencia se truncó porque excede el tamaño máximo que puede visualizarse." - text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/configuration.yml and restart the application to enable them." + text_email_delivery_not_configured: "No se ha configurado la entrega de correo electrónico y las notificaciones están deshabilitadas.\nConfigure el servidor SMTP en config/configuration.yml y reinicie la aplicación para habilitarlas." text_enumeration_category_reassign_to: "Reasignarlos a este valor:" text_enumeration_destroy_question: "%{count} objetos asignados a este valor." text_file_repository_writable: "Directorio de adjuntos escribible" @@ -2242,7 +2242,7 @@ es: edit_color: "Editar colores" edit_thing: "Editar" edit_timeline: "Edición del informe de tiempos %{timeline}" - delete_timeline: "Delete timeline report %{timeline}" + delete_timeline: "Eliminar el informe de línea de tiempo %{timeline}" empty: "(vacío)" enable_type_in_project: 'Habilitar tipo "%{type}"' end: "Final" @@ -2259,8 +2259,8 @@ es: compare_to_absolute: "El valor de la comparación absoluta " planning_element_time_relative_one: "El comienzo para los paquetes de trabajo en un cierto plazo " planning_element_time_relative_two: "Al final de los paquetes de trabajo en un cierto plazo " - 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 " + planning_element_time_absolute_one: "El inicio de los paquetes de trabajo en un determinado período de tiempo " + planning_element_time_absolute_two: "La finalización de los paquetes de trabajo en un determinado período de tiempo " sort: sortation: "Ordenar por" alphabet: "alfabeto" diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index ccfb65adc7..5b554cd19b 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -480,8 +480,8 @@ fr: invalid_values: "Une valeur est invalide." id_filter_required: "Un filtre sur l'id est requis." 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.' + archived_ancestor: 'Le projet possède un ancêtre archivé.' + foreign_wps_reference_version: 'Les lots de travaux dans les projets non-descendants font référence aux versions du projet ou de ses descendants.' attributes: types: in_use_by_work_packages: "toujours en cours d'utilisation par les lots de travaux : %{types}" @@ -945,7 +945,7 @@ fr: enumeration_system_activity: "Activité du système" enumeration_reported_project_statuses: "Statuts de projet signalés" error_auth_source_sso_failed: "Single Sign-On (SSO) pour l’utilisateur '%{value}' a échoué" - error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_archive_project: "Ce projet ne peut être archivé : %{errors}" error_can_not_delete_entry: "Impossible de supprimer l’élément" error_can_not_delete_custom_field: "Impossible de supprimer le champ personnalisé" error_can_not_delete_type: "Ce type contient des Lots de Travaux et ne peut être supprimé." @@ -954,7 +954,7 @@ fr: error_can_not_remove_role: "Ce rôle est utilisé et ne peut être supprimé." error_can_not_reopen_work_package_on_closed_version: "Un lot de travaux assigné à une version fermée ne peut être ré-ouvert" error_can_not_find_all_resources: "Impossible de trouver toutes les ressources liées à cette demande." - error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_can_not_unarchive_project: "Ce projet ne peut être désarchivé : %{errors}" error_check_user_and_role: "Veuillez choisir un utilisateur et un rôle." error_code: "Erreur %{code}" error_cookie_missing: 'Le cookie OpenProject est manquant. Assurez-vous que les cookies sont activés, sans quoi cette application ne fonctionnera pas correctement.' @@ -1661,14 +1661,14 @@ fr: mail_body_lost_password: "Pour changer votre mot de passe, cliquez sur le lien suivant:" mail_body_register: "Pour activer votre compte, cliquez sur le lien suivant:" mail_body_reminder: "%{count} lot(s) de travaux qui vous sont assignés arrivent à échéance dans les %{days} prochains jours:" - mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_group_reminder: "%{count} lot(s) de travaux assigné(s) au groupe \"%{group}\" arrive(nt) à échéance dans %{days} jours :" mail_body_wiki_content_added: "La page wiki '%{id}' a été ajouté par %{author}." mail_body_wiki_content_updated: "La page wiki '%{id}' a été mise à jour par %{author}." mail_subject_account_activation_request: "Requête pour l'activation du compte %{value}" mail_subject_lost_password: "Votre mot de passe %{value}" mail_subject_register: "Votre activation du compte %{value}" mail_subject_reminder: "%{count} lot(s) de travaux à échéance dans les %{days} prochains jours" - mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "Pour le groupe \"%{group}\", %{count} lot(s) de travaux arrive(nt) à échéance dans %{days} jours" mail_subject_wiki_content_added: "Page wiki '%{id}' a été ajouté" mail_subject_wiki_content_updated: "Page wiki '%{id}' a été mise à jour" mail_user_activation_limit_reached: diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index 83a77bed14..6164774f5a 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -630,7 +630,7 @@ de: no_results: title: Keine Arbeitspakete anzuzeigen. description: Es wurden entweder keine Arbeitspakete erzeugt oder alle Arbeitspakete wurden ausgefiltert. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: Nur %{count} Arbeitspakete können im manuellen Sortiermodus angezeigt werden. Bitte reduzieren Sie die Ergebnisse durch Filtern. property_groups: details: "Details" people: "Personen" diff --git a/config/locales/crowdin/js-es.yml b/config/locales/crowdin/js-es.yml index e1248869fd..9b140b0c8e 100644 --- a/config/locales/crowdin/js-es.yml +++ b/config/locales/crowdin/js-es.yml @@ -20,7 +20,7 @@ es: button_back_to_list_view: "Volver a la lista" button_cancel: "Cancelar" button_close: "Cerrar" - button_change_project: "Change project" + button_change_project: "Cambiar proyecto" button_check_all: "Seleccionar Todos" button_configure-form: "Configurar formulario" button_confirm: "Confirmar" @@ -41,8 +41,8 @@ es: button_open_details: "Abrir vista detallada" button_close_details: "Cerrar vista detallada" button_open_fullscreen: "Ver pantalla completa" - button_show_cards: "Show card view" - button_show_list: "Show list view" + button_show_cards: "Mostrar vista de tarjeta" + button_show_list: "Mostrar vista de lista" button_quote: "Comentario" button_save: "Guardar" button_settings: "Configuración" @@ -52,7 +52,7 @@ es: button_export-atom: "Descargar Atom" calendar: title: 'Calendario' - too_many: 'There are %{count} work packages in total, but only %{max} can be shown.' + too_many: 'Hay %{count} paquetes de trabajo en total, pero solo pueden mostrarse %{max}.' card: add_new: 'Añadir nueva tarjeta' highlighting: @@ -63,22 +63,22 @@ es: browser_error: "Su navegador no soporta copiar al portapapeles. Por favor, copie el texto seleccionado manualmente." copied_successful: "¡Copiado correctamente en el portapapeles!" chart: - type: 'Chart type' - axis_criteria: 'Axis criteria' - modal_title: 'Work package graph configuration' + type: 'Tipo de gráfico' + axis_criteria: 'Criterios de eje' + modal_title: 'Configuración del gráfico del paquete de trabajo' types: - line: 'Line' - horizontal_bar: 'Horizontal bar' - bar: 'Bar' - pie: 'Pie' - doughnut: 'Doughnut' - radar: 'Radar' - polar_area: 'Polar area' + line: 'Línea' + horizontal_bar: 'Barra horizontal' + bar: 'Barra' + pie: 'Circular' + doughnut: 'Anillos' + radar: 'Radial' + polar_area: 'Área polar' tabs: graph_settings: 'General' - dataset: 'Dataset %{number}' + dataset: 'Conjunto de datos %{number}' errors: - could_not_load: 'The data to display the graph could not be loaded. The necessary permissions may be lacking.' + could_not_load: 'No se pueden cargar los datos necesarios para mostrar el gráfico. Puede que falten los permisos necesarios.' description_available_columns: "Columnas disponibles" description_current_position: "Usted está aquí: " description_select_work_package: "Seleccione el paquete de trabajo #%{id}" @@ -138,7 +138,7 @@ es: drag_to_activate: "Arrastre campos desde aquí para activarlos" add_group: "Agregar grupo de atributos" add_table: "Agregar tabla de paquetes de trabajo relacionados" - edit_query: 'Edit query' + edit_query: 'Editar consulta' new_group: 'Nuevo grupo' reset_to_defaults: 'Restablecer valores predeterminados' custom_actions: @@ -295,7 +295,7 @@ es: label_total_progress: "Progreso total: %{percent}%" label_total_amount: "Total: %{amount}" label_updated_on: "actualizado el" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(valor derivado del elemento secundario)" label_warning: "Alerta" label_work_package: "Paquete de trabajo" label_work_package_plural: "Paquetes de trabajo" @@ -331,7 +331,7 @@ es: label_wait: "Por favor espere para la configuración..." label_upload_counter: "%{done} de %{count} archivos terminados" label_validation_error: "El paquete de trabajo no puede ser guardado debido a los errores siguientes:" - label_view_has_changed: "This view has unsaved changes. Click to save them." + label_view_has_changed: "Esta vista tiene cambios sin guardar. Haga clic para guardarlos." help_texts: show_modal: 'Mostrar entrada de texto de ayuda para atributo' onboarding: @@ -444,8 +444,8 @@ es: set_parent: "Establecer elemento primario" change_parent: "Cambiar padre" remove_parent: "Eliminar padre" - hierarchy_indent: "Indent hierarchy" - hierarchy_outdent: "Outdent hierarchy" + hierarchy_indent: "Aumentar sangría de jerarquía" + hierarchy_outdent: "Anular sangría de jerarquía" group_by_wp_type: "Agrupar por tipo de paquete de trabajo" group_by_relation_type: "Grupo por tipo de relación" add_parent: "Añadir padre existente" @@ -573,7 +573,7 @@ es: image: "Imagen" work_packages: bulk_actions: - move: 'Bulk change of project' + move: 'Cambio masivo del proyecto' edit: 'Edición en masa' copy: 'Copia en masa' delete: 'Eliminación en masa' @@ -605,7 +605,7 @@ es: message_successful_show_in_fullscreen: "Haga clic aquí para abrir este paquete de trabajo en la vista de pantalla completa." message_view_spent_time: "Mostrar el tiempo invertido en este paquete de trabajo" message_work_package_read_only: "El paquete de trabajo está bloqueado en este estado. Excepto el estado, ningún otro atributo se puede modificar." - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "El estado del paquete de trabajo no permite la escritura porque se asignarán el estado cerrado y la versión cerrada." no_value: "Sin valor" placeholder_filter_by_text: "Asunto, descripción, comentarios, ..." inline_create: @@ -631,7 +631,7 @@ es: no_results: title: No hay paquetes de trabajo para mostrar. description: O bien no se han creado o se filtran todos los paquetes de trabajo. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: En el modo de ordenación manual, solo puede mostrarse un máximo de %{count} paquetes de trabajo. Filtre para reducir el número de resultados. property_groups: details: "Detalles" people: "Participantes" @@ -691,9 +691,9 @@ es: confirm_edit_cancel: "¿Está seguro de que quiere cancelar la edición del nombre de esta vista? El título volverá a establecerse en el valor anterior." click_to_edit_query_name: "Haga clic para editar el título de esta vista." rename_query_placeholder: "Nombre de la vista" - star_text: "Mark this view as favorite and add to the saved views sidebar on the left." + star_text: "Marque esta vista como favorita y agréguela a la barra lateral de vistas guardadas de la izquierda." 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. + Publique esta vista para que otros usuarios puedan acceder a esta. Los usuarios con el permiso “Administrar vistas públicas” puede modificar o quitar consultas públicas. Esto no afecta a la visibilidad de los resultados de paquetes de trabajo en esa vista y, según sus permisos, los usuarios pueden ver resultados distintos. errors: unretrievable_query: "No se puede recuperar la vista de la URL" not_found: "No existe la vista" @@ -728,10 +728,10 @@ es: priority: 'Prioridad' type: 'Tipo' 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.' + description: 'Seleccione el modo de ordenación de los paquetes de trabajo:' + automatic: 'Automático' + manually: 'Manual' + warning: 'Al activar el modo de ordenación automática, se perderá la ordenación actual.' columns_help_text: "Use los datos anteriores para agregar o quitar columnas de la vista de tabla. Puede arrastrar y colocar las columnas para cambiar el orden." upsale: attribute_highlighting: '¿Necesita que algunos paquetes de trabajo destaquen del resto?' @@ -841,6 +841,6 @@ es: project_and_subprojects: "y todos los subproyectos" search_for: "Búsqueda por" views: - card: 'Cards' - list: 'Table' + card: 'Tarjetas' + list: 'Tabla' timeline: 'Gantt' diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 6b8086df78..3431822e6b 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -73,7 +73,7 @@ fr: pie: 'Camembert' doughnut: 'Anneau' radar: 'Radar' - polar_area: 'Polar area' + polar_area: 'Aire polaire' tabs: graph_settings: 'Général' dataset: 'Ensemble de données %{number}%' @@ -444,8 +444,8 @@ fr: set_parent: "Définir parent" change_parent: "Changer le parent" remove_parent: "Supprimer le parent" - hierarchy_indent: "Indent hierarchy" - hierarchy_outdent: "Outdent hierarchy" + hierarchy_indent: "Indentation de la hiérarchie" + hierarchy_outdent: "Supprimer l'indentation de la hiérarchie" group_by_wp_type: "Grouper par type de lot de travaux" group_by_relation_type: "Grouper par type de relation" add_parent: "Ajouter un parent existant" @@ -631,7 +631,7 @@ fr: no_results: title: Aucun lot de travaux à afficher. description: Soit aucun n'a été créé, soit tous les lots de travaux sont filtrés. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: Seuls %{count} lots de travaux peuvent être affichés en mode de tri manuel. Veuillez réduire les résultats en filtrant. property_groups: details: "Détails" people: "Participants" diff --git a/config/locales/crowdin/js-ko.yml b/config/locales/crowdin/js-ko.yml index b4b6f6a3d0..2eb69002db 100644 --- a/config/locales/crowdin/js-ko.yml +++ b/config/locales/crowdin/js-ko.yml @@ -63,7 +63,7 @@ ko: browser_error: "브라우저를 클립보드에 복사를 지원 하지 않습니다. 텍스트를 타이핑하여 복사하십시오." copied_successful: "클립보드에 성공적으로 복사됨" chart: - type: '차트 종류' + type: '차트 유형' axis_criteria: '축 기준' modal_title: '작업 패키지 그래프 구성' types: @@ -295,7 +295,7 @@ ko: label_total_progress: "%{percent}% 진행" label_total_amount: "합계: %{amount}" label_updated_on: "업데이트 :" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(자식에서 파생된 값)" label_warning: "경고" label_work_package: "작업 패키지" label_work_package_plural: "작업 패키지" @@ -571,7 +571,7 @@ ko: image: "이미지" work_packages: bulk_actions: - move: 'Bulk change of project' + move: '프로젝트의 일괄 변경' edit: '대량 편집' copy: '대량 복사' delete: '대량 삭제' @@ -603,7 +603,7 @@ ko: message_successful_show_in_fullscreen: "전체 화면 보기에서 이 작업 패키지를 열려면 여기를 클릭하세요." message_view_spent_time: "이 작업 패키지에 대해 소비한 시간 표시" message_work_package_read_only: "작업 패키지가 이 상태로 잠겨 있습니다. 상태 이외의 특성은 변경할 수 없습니다." - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "닫힌 상태이고 닫힌 버전이 할당되었기 때문에 작업 패키지 상태를 쓸 수 없습니다." no_value: "값 없음" placeholder_filter_by_text: "제목, 설명, 코멘트, ..." inline_create: @@ -629,7 +629,7 @@ ko: no_results: title: 표시할 작업 패키지가 없습니다. description: 만든 작업 패키지가 없거나 모든 작업 패키지가 필터링에서 제외되었습니다. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: 수동 정렬 모드에서는 %{count}개 작업 패키지만 표시할 수 있습니다. 필터링으로 결과를 줄이십시오. property_groups: details: "세부 정보" people: "사용자" @@ -689,9 +689,9 @@ ko: confirm_edit_cancel: "이 보기 이름 편집을 취소하시겠습니까? 제목이 이전 값으로 다시 설정됩니다." click_to_edit_query_name: "이 보기의 제목을 편집하려면 클릭하세요." rename_query_placeholder: "이 보기의 이름" - star_text: "Mark this view as favorite and add to the saved views sidebar on the left." + star_text: "이 보기를 즐겨찾기로 표시하고 왼쪽의 저장된 보기 사이드바에 추가하십시오." 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: "URL에서 보기를 검색할 수 없음" not_found: "해당 보기가 없습니다." @@ -726,10 +726,10 @@ ko: priority: '우선 순위' 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.' + description: '작업 패키지를 정렬하기 위한 모드 선택:' + automatic: '자동' + manually: '수동' + warning: '자동 정렬 모드를 활성화하면 이전 정렬이 손실됩니다.' columns_help_text: "위 입력을 사용하여 테이블 보기에 열을 추가하거나 제거하세요. 열을 끌어다 놓아 순서를 바꿀 수 있습니다." upsale: attribute_highlighting: '나머지 작업 중에 확연히 두드러지는 특정 작업 패키지가 필요합니까?' @@ -821,7 +821,7 @@ ko: child_work_packages: other: "%{count}개의 작업 패키지 자식" hour: - other: "%{count} h" + other: "%{count}시간" zen_mode: button_activate: 'Zen 모드 활성화' button_deactivate: 'Zen 모드 비활성화' @@ -836,6 +836,6 @@ ko: project_and_subprojects: "그리고 모든 하위 프로젝트" search_for: "검색:" views: - card: 'Cards' - list: 'Table' + card: '카드' + list: '테이블' timeline: 'Gantt' diff --git a/config/locales/crowdin/js-pl.yml b/config/locales/crowdin/js-pl.yml index 15ab3dc691..27ec9cb294 100644 --- a/config/locales/crowdin/js-pl.yml +++ b/config/locales/crowdin/js-pl.yml @@ -295,7 +295,7 @@ pl: label_total_progress: "%{percent}% Całkowitego postępu" label_total_amount: "Łącznie: %{amount}" label_updated_on: "zaktualizowany" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(wartość wyprowadzana z elementów podrzędnych)" label_warning: "Ostrzeżenie" label_work_package: "Zadanie" label_work_package_plural: "Pakiety robocze" @@ -609,7 +609,7 @@ pl: message_successful_show_in_fullscreen: "Kliknij tutaj, aby otworzyć ten pakiet prac w trybie pełnoekranowym." message_view_spent_time: "Pokaż spędzony czas dla tych zadań" message_work_package_read_only: "Pakiet roboczy jest zablokowany w tym stanie. Nie można zmienić żadnego atrybutu innego niż stan." - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "Nie można zapisać stanu pakietu roboczego ze względu na jego zamknięty stan i przypisaną mu zamkniętą wersję." no_value: "Brak wartości" placeholder_filter_by_text: "Przedmiot, opis, komentarze, ..." inline_create: @@ -735,7 +735,7 @@ pl: description: 'Wybierz tryb sortowania pakietów roboczych:' automatic: 'Automatycznie' manually: 'Ręcznie' - warning: 'You will lose your previous sorting when activating the automatic sorting mode.' + warning: 'Wskutek aktywacji trybu automatycznego sortowania utracisz poprzednie sortowanie.' columns_help_text: "Użyj powyższych danych wejściowych, aby dodać lub usunąć kolumny w widoku tabeli. Możesz przeciągać i upuszczać kolumny, aby zmienić ich kolejność." upsale: attribute_highlighting: 'Czy określone pakiety robocze trzeba wyróżnić?' @@ -851,6 +851,6 @@ pl: project_and_subprojects: "i wszystkie podprojekty" search_for: "Szukaj" views: - card: 'Cards' - list: 'Table' + card: 'Karty' + list: 'Tabela' timeline: 'Wykres Gantta' diff --git a/config/locales/crowdin/js-pt.yml b/config/locales/crowdin/js-pt.yml index c8e3e3c7c2..f40abc3e2b 100644 --- a/config/locales/crowdin/js-pt.yml +++ b/config/locales/crowdin/js-pt.yml @@ -41,8 +41,8 @@ pt: button_open_details: "Abrir visão detalhada" button_close_details: "Fechar visão detalhada" button_open_fullscreen: "Abrir visão ecrã completo" - button_show_cards: "Mostrar vista de cartão" - button_show_list: "Mostrar a vista de lista" + button_show_cards: "Mostrar vista em cartão" + button_show_list: "Mostrar vista em lista" button_quote: "Citar" button_save: "Guardar" button_settings: "Definições" @@ -78,7 +78,7 @@ pt: graph_settings: 'Geral' dataset: 'Dataset %{number}' errors: - could_not_load: 'Os dados para exibir o gráfico não puderam ser carregados. As permissões necessárias podem estar em falta.' + could_not_load: 'Não foi possível carregar os dados para exibir o gráfico. Podem estar em falta as permissões necessárias.' description_available_columns: "Colunas disponíveis" description_current_position: "Você está aqui: " description_select_work_package: "Selecionar pacote de trabalho #%{id}" diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index ac6b8f30ab..351abc131f 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -443,8 +443,8 @@ ru: set_parent: "Установить родителя" change_parent: "Сменить родителя" remove_parent: "Удалить родителя" - hierarchy_indent: "Indent hierarchy" - hierarchy_outdent: "Outdent hierarchy" + hierarchy_indent: "Иерархия с отступом" + hierarchy_outdent: "Иерархия с выступом" group_by_wp_type: "Группировать по типу комплекса работ" group_by_relation_type: "Группировать по типу связи" add_parent: "Добавить существующего родителя" @@ -634,7 +634,7 @@ ru: no_results: title: Нет пакетов работ для показа. description: Ничего не найдено. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: В ручной сортировке можно отобразить только %{count} рабочих пакетов. Пожалуйста, уменьшите результаты фильтрацией. property_groups: details: "Детали" people: "Люди" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 55156527d7..ab2bf0b9d4 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -69,7 +69,7 @@ zh-CN: types: line: '线图' horizontal_bar: '水平条形图' - bar: '条形' + bar: '条形图' pie: '饼图' doughnut: '圆环图' radar: '雷达图' @@ -78,7 +78,7 @@ zh-CN: graph_settings: '通用' dataset: '数据集 %{number}' errors: - could_not_load: '无法加载用于显示图形的数据。可能缺少必要的权限。' + could_not_load: '无法加载用于显示图表的数据。可能缺少必要的权限。' description_available_columns: "可用的列" description_current_position: "您现在的位置:" description_select_work_package: "选择工作包 #%{id}" @@ -295,7 +295,7 @@ zh-CN: label_total_progress: "%{percent} %总进度" label_total_amount: "总计: %{amount}" label_updated_on: "更新于" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(来自子项的值)" label_warning: "警告" label_work_package: "工作包" label_work_package_plural: "工作包" @@ -331,7 +331,7 @@ zh-CN: label_wait: "请等待配置..." label_upload_counter: "%{count} 个中的 %{done} 个文件已完成" label_validation_error: "由于下列错误,无法保存工作包:" - label_view_has_changed: "此视图有未保存的更改。单击以保存这些更改。" + label_view_has_changed: "此视图有未保存的变更。单击以保存。" help_texts: show_modal: '显示属性帮助文本项' onboarding: @@ -603,7 +603,7 @@ zh-CN: message_successful_show_in_fullscreen: "单击此处以全屏视图打开此工作包。" message_view_spent_time: "显示这个工作包所花费的时间" message_work_package_read_only: "工作包被锁定在此状态。除状态外,其他属性均不可更改。" - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "由于处于关闭状态并且分配了关闭版本,因此工作包状态不可写。" no_value: "无值" placeholder_filter_by_text: "主题, 描述, 评论,..。" inline_create: @@ -689,9 +689,9 @@ zh-CN: confirm_edit_cancel: "确定要取消编辑此视图的名称吗?标题将重置为上一个值。" click_to_edit_query_name: "单击可以编辑此视图的标题。" rename_query_placeholder: "此视图的名称" - star_text: "将该视图标记为收藏夹,并添加到左侧的已保存视图侧边栏中。" + star_text: "将该视图标记为收藏项,并添加到左侧的已保存视图边栏中。" public_text: > - 发布此视图,以允许其他用户访问您的视图。具有“管理公共视图”权限的用户可以修改或删除公共查询。这不会影响工作包结果在该视图中的可见性,并且用户可能会看到不同的结果,具体取决于他们的权限。 + 发布此视图,以允许其他用户访问您的视图。具有“管理公共视图”权限的用户可以修改或移除公共查询。这不会影响工作包结果在该视图中的可见性,并且用户可能会看到不同的结果,具体取决于他们的权限。 errors: unretrievable_query: "无法从 URL 检索视图" not_found: "无此视图" @@ -821,7 +821,7 @@ zh-CN: child_work_packages: other: "%{count} 子工作包" hour: - other: "%{count} h" + other: "%{count} 小时" zen_mode: button_activate: '激活 zen 模式' button_deactivate: '取消激活 zen 模式' diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 76c4193e20..a88a998e54 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -268,7 +268,7 @@ ko: account: "계정" attr_firstname: "성 속성" attr_lastname: "이름 속성" - attr_login: "Username attribute" + attr_login: "사용자 이름 특성" attr_mail: "이메일 속성" base_dn: "기본 DN" host: "호스트" @@ -322,7 +322,7 @@ ko: latest_activity_at: "다음의 최근 활동" parent: "하위 프로젝트" queries: "쿼리" - types: "종류" + types: "유형" versions: "버전" work_packages: "작업 패키지" query: @@ -479,8 +479,8 @@ ko: invalid_values: "유효하지 않은 값입니다." id_filter_required: "'id' 필터가 필요합니다." 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.' + archived_ancestor: '이 프로젝트에는 보관된 상위 항목이 있습니다.' + foreign_wps_reference_version: '하위가 아닌 프로젝트의 작업 패키지는 해당 프로젝트 또는 하위 프로젝트의 버전을 참조합니다.' attributes: types: in_use_by_work_packages: "아직 작업 패키지에 사용됨: %{types}" @@ -640,7 +640,7 @@ ko: is_public: "공용" issue: "작업 패키지" lastname: "성" - login: "Username" + login: "사용자 이름" mail: "이메일" name: "이름" password: "암호" @@ -929,7 +929,7 @@ ko: enumeration_system_activity: "시스템 작업" enumeration_reported_project_statuses: "보고된 프로젝트 상태" error_auth_source_sso_failed: "사용자 '%{value}'에 대한 Single Sign-On(SSO) 실패" - error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_archive_project: "이 프로젝트는 보관할 수 없습니다: %{errors}" error_can_not_delete_entry: "항목을 삭제할 수 없습니다." error_can_not_delete_custom_field: "사용자 지정 필드를 삭제할 수 없습니다." error_can_not_delete_type: "이 유형에는 작업 패키지가 포함되어 있으며 삭제할 수 없습니다." @@ -938,7 +938,7 @@ ko: error_can_not_remove_role: "이 역할은 현재 사용 중이며 삭제할 수 없습니다." error_can_not_reopen_work_package_on_closed_version: "닫힌 버전에 할당된 작업 패키지는 다시 열 수 없습니다." error_can_not_find_all_resources: "이 요청 관련 리소스 일부를 찾을 수 없습니다." - error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_can_not_unarchive_project: "이 프로젝트를 보관 취소할 수 없습니다: %{errors}" error_check_user_and_role: "사용자 및 역할을 선택하세요." error_code: "오류 %{code}" error_cookie_missing: 'OpenProject 쿠키가 없습니다. 이 응용 프로그램은 쿠키 없이 제대로 작동하지 않으므로, 쿠키를 활성화해야 합니다.' @@ -1498,7 +1498,7 @@ ko: label_topic_plural: "항목" label_total: "합계" label_type_new: "새 유형" - label_type_plural: "종류" + label_type_plural: "유형" label_ui: "사용자 인터페이스" label_update_work_package_done_ratios: "작업 패키지 완료 비율 업데이트" label_updated_time: "%{value} 전에 업데이트됨" @@ -1641,14 +1641,14 @@ ko: mail_body_lost_password: "암호를 변경하려면 다음 링크를 클릭하세요." mail_body_register: "계정을 활성화하려면 링크를 클릭하세요." mail_body_reminder: "사용자에게 할당된 %{count} 작업 패키지가 다음 %{days}일 후 만료됩니다." - mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_group_reminder: "\"%{group}\" 그룹에 할당된 %{count}개 작업 패키지가 향후 %{days}일 후 만료됩니다." mail_body_wiki_content_added: "%{author}이(가) '%{id}' 위키 페이지를 추가했습니다." mail_body_wiki_content_updated: "%{author}이(가) '%{id}' 위키 페이지를 업데이트했습니다." mail_subject_account_activation_request: "%{value} 계정 활성화 요청" mail_subject_lost_password: "%{value} 암호" mail_subject_register: "%{value} 계정 활성화" mail_subject_reminder: "다음 %{days}일 후 만료되는 %{count} 작업 패키지" - mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "\"%{group}\" 그룹에 대한 향후 %{days}일 후 만료되는 %{count}개 작업 패키지" mail_subject_wiki_content_added: "'%{id}' 위키 페이지가 추가되었습니다." mail_subject_wiki_content_updated: "'%{id}' 위키 페이지가 업데이트되었습니다." mail_user_activation_limit_reached: diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index fceecfcf6b..b875140737 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -272,7 +272,7 @@ pl: account: "Konto" attr_firstname: "Atrybut imię" attr_lastname: "Atrybut nazwiska" - attr_login: "Username attribute" + attr_login: "Atrybut nazwy użytkownika" attr_mail: "Atrybut adresu e-mail" base_dn: "Bazowa nazwa wyróżniająca" host: "Host" @@ -653,7 +653,7 @@ pl: is_public: "Publiczny" issue: "Zadanie" lastname: "Nazwisko" - login: "Username" + login: "Nazwa użytkownika" mail: "Adres e-mail" name: "Nazwa" password: "Hasło" @@ -1057,7 +1057,7 @@ pl: general_csv_encoding: "UTF-8" general_csv_separator: "." general_first_day_of_week: "7" - general_lang_name: "Angielski" + general_lang_name: "Polski" general_pdf_encoding: "ISO-8859-2" general_text_no: "nie" general_text_yes: "tak" diff --git a/config/locales/crowdin/pt.yml b/config/locales/crowdin/pt.yml index 573da4c201..edfa924c45 100644 --- a/config/locales/crowdin/pt.yml +++ b/config/locales/crowdin/pt.yml @@ -122,7 +122,7 @@ pt: no_results_title_text: Atualmente, não existem atividades disponíveis. forums: no_results_title_text: Atualmente, não existem fóruns para o projeto. - no_results_content_text: Criar novo fórum + no_results_content_text: Criar um novo fórum categories: no_results_title_text: Atualmente, não existem categorias de pacote de trabalho. no_results_content_text: Criar uma nova categoria de pacote de trabalho @@ -974,8 +974,8 @@ pt: error_work_package_done_ratios_not_updated: "Percentagens de progresso do pacote de trabalho não foram atualizadas." error_work_package_not_found_in_project: "A tarefa não foi encontrada ou não pertence a este projecto" error_must_be_project_member: "deve ser membro do projeto" - error_migrations_are_pending: "Sua instalação do OpenProject tem migrações de banco de dados pendentes. Você provavelmente esqueceu de executar as migrações depois da sua última atualização. Por favor, verifique o guia de atualização para atualizar sua instalação corretamente." - error_migrations_visit_upgrade_guides: "Por favor, visite a nossa documentação do guia de atualização" + error_migrations_are_pending: "A sua instalação do OpenProject tem migrações pendentes da base de dados pendentes. Provavelmente esqueceu-se de fazer as migrações após a última atualização. Por favor, verifique o guia de atualização, de forma a atualizar a sua instalação corretamente." + error_migrations_visit_upgrade_guides: "Visite a nossa documentação do guia de atualização" error_no_default_work_package_status: "Não está definido um estado padrão para os pacotes de trabalho. Verifique a sua configuração (dirija-se a \"Administração -> Estados de pacotes de trabalho\")." error_no_type_in_project: "Nenhum tipo está associado a este projecto. Por favor, verifique as configurações do projeto." error_omniauth_registration_timed_out: "Esgotou-se o registo através de um provedor de autenticação externa. Por favor, tente novamente." @@ -1398,7 +1398,7 @@ pt: label_planning: "Planeamento" label_please_login: "Por favor inicie sessão" label_plugins: "Plugins" - label_modules_and_plugins: "Módulos e Complementos" + label_modules_and_plugins: "Módulos e Plugins" label_precedes: "precede" label_preferences: "Preferências" label_preview: "Pré visualizar" @@ -1557,7 +1557,7 @@ pt: label_wiki_content_added: "Página wiki adicionada" label_wiki_content_updated: "Página wiki atualizada" label_wiki_toc: "Tabela de conteúdos" - label_wiki_toc_empty: "A Tabela de Conteúdo está vazia, pois nenhum cabeçalho está presente." + label_wiki_toc_empty: "A Tabela de Conteúdo está vazia, pois não está presente nenhum cabeçalho." label_wiki_dont_show_menu_item: "Não mostrar esta página wiki na navegação do projecto" label_wiki_edit: "Editar wiki" label_wiki_edit_plural: "Edições de wiki" @@ -2375,7 +2375,7 @@ pt: Envia outra mensagem de correio eletrónico de convite com um novo token, caso o antigo tenha expirado ou o utilizador não tenha recebido a mensagem original. Também pode ser utilizado para utilizadores ativos que escolham um novo método de autenticação. Quando usado com utilizadores ativos, o seu estado passará para "convidado". tooltip: setting_email_login: > - Se for ativado, o utilizador será incapaz de selecionar o nome de utilizador durante o registo. Em vez disso, deverá utilizar o seuemail como início de sessão. No entanto, um administrador poderá ainda alterar o início de sessão separadamente. + Se estiver ativado, o utilizador não poderá selecionar o nome de utilizador durante o registo. Em vez disso, deverá utilizar o seu email como início de sessão. No entanto, um administrador ainda poderá alterar o início de sessão separadamente. queries: apply_filter: Aplicar filtro pré-configurado top_menu: diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 84d2674679..1af065ebed 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -483,8 +483,8 @@ ru: invalid_values: "Недопустимое значение." id_filter_required: "Требуется фильтр по 'Id'." 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.' + archived_ancestor: 'В проекте есть архивированный предок.' + foreign_wps_reference_version: 'Комплексы работ в проектах, не расположенных по убыванию, ссылаются на версии проекта или его производных.' attributes: types: in_use_by_work_packages: "всё ещё используются в пакетах работ: %{types}" @@ -978,7 +978,7 @@ ru: enumeration_system_activity: "Активность системы" enumeration_reported_project_statuses: "Перечень отчетов о статусах проекта" error_auth_source_sso_failed: "Сбой единого входа (SSO) для пользователя «%{value}»" - error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_archive_project: "Этот проект невозможно заархивировать: %{errors}" error_can_not_delete_entry: "Не удается удалить содержимое" error_can_not_delete_custom_field: "Не удается удалить настраиваемое поле" error_can_not_delete_type: "Этот тип содержит пакет работ и не может быть удален." @@ -987,7 +987,7 @@ ru: error_can_not_remove_role: "Эта роль используется и не может быть удалена." error_can_not_reopen_work_package_on_closed_version: "Пакет работ закрытого этапа проекта не может быть открыт заново" error_can_not_find_all_resources: "Не удалось найти все связанные с этим запросом ресурсы." - error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_can_not_unarchive_project: "Этот проект невозможно разархивировать: %{errors}" error_check_user_and_role: "Пожалуйста, выберите пользователя и роль." error_code: "Ошибка %{code}" error_cookie_missing: 'Отсутствуют cookie OpenProject. Пожалуйста, убедитесь, что Cookie разрешены. Без них приложение не будет функционировать должным образом.' @@ -1589,7 +1589,7 @@ ru: label_wiki_content_added: "Wiki-страница добавлена" label_wiki_content_updated: "Wiki-страница обновлена" label_wiki_toc: "Содержание" - label_wiki_toc_empty: "Table of Contents is empty as no headings are present." + label_wiki_toc_empty: "Содержание пусто, так как нет заголовков." label_wiki_dont_show_menu_item: "Не показывать эту Wiki-страницу в навигации по проектам" label_wiki_edit: "Редактировать Wiki" label_wiki_edit_plural: "Wiki редактируется" @@ -1702,14 +1702,14 @@ ru: mail_body_lost_password: "Чтобы изменить пароль, щёлкните по следующей ссылке:" mail_body_register: "Для активации учетной записи щёлкните по следующей ссылке:" mail_body_reminder: "%{count} пакета(ов) работ, закрепленных за Вами, должны быть представлены в следующие %{days}:" - mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_group_reminder: "Срок выполнения комплексов работ (%{count}), назначенных группе \"%{group}\", истекает в следующие %{days} дн.:" mail_body_wiki_content_added: "%{author} добавил wiki-страницу '«%{id}»'." mail_body_wiki_content_updated: "%{author} обновил wiki-страницу '%{id}'." mail_subject_account_activation_request: "Запрос на активацию учетной записи %{value}" mail_subject_lost_password: "Ваш пароль %{value}" mail_subject_register: "Активация вашей учетной записи %{value}" mail_subject_reminder: "%{count} пакет(-ов) работ на следующие %{days}" - mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "В группе \"%{group}\" есть комплексы работ (%{count}), срок выполнения которых истекает в следующие %{days} дн." mail_subject_wiki_content_added: "'%{id}' wiki-страница добавлена" mail_subject_wiki_content_updated: "'%{id}' wiki страница была обновлена" mail_user_activation_limit_reached: diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index f40817341e..f2d7853915 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -268,7 +268,7 @@ zh-CN: account: "帐户" attr_firstname: "名字属性" attr_lastname: "姓氏属性" - attr_login: "Username attribute" + attr_login: "用户名属性" attr_mail: "电子邮件属性" base_dn: "基本 DN" host: "主机" @@ -479,8 +479,8 @@ zh-CN: invalid_values: "值无效。" id_filter_required: "“id”筛选器为必填字段。" 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.' + archived_ancestor: '该项目有一个已存档的上级。' + foreign_wps_reference_version: '非子级项目中的工作包会引用此项目或其子级的版本。' attributes: types: in_use_by_work_packages: "仍在使用的工作包: %{types}" @@ -640,7 +640,7 @@ zh-CN: is_public: "公开" issue: "工作包" lastname: "姓氏" - login: "Username" + login: "用户名" mail: "电子邮件" name: "名称" password: "密码" @@ -929,7 +929,7 @@ zh-CN: enumeration_system_activity: "系统活动" enumeration_reported_project_statuses: "报告的项目状态" error_auth_source_sso_failed: "用户 \"%{value}\" 的单次登录 (SSO) 失败" - error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_archive_project: "此项目无法存档:%{errors}" error_can_not_delete_entry: "无法删除条目" error_can_not_delete_custom_field: "无法删除自定义字段" error_can_not_delete_type: "这种类型包含工作包,不能被删除。" @@ -938,7 +938,7 @@ zh-CN: error_can_not_remove_role: "该角色正在使用,无法删除。" error_can_not_reopen_work_package_on_closed_version: "不能重新打开一个已经分配给已关闭版本的工作包" error_can_not_find_all_resources: "无法找到与请求相关的所有资源。" - error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_can_not_unarchive_project: "此项目无法取消存档:%{errors}" error_check_user_and_role: "请选择用户和角色。" error_code: "错误 %{code}" error_cookie_missing: 'OpenProject cookie 丢失。请确保已启用 cookie,因为如果不启用,此应用程序将无法正常运行。' @@ -1641,14 +1641,14 @@ zh-CN: mail_body_lost_password: "若要更改你的密码,请单击下面的链接:" mail_body_register: "若要激活您的帐户,请单击下面的链接:" mail_body_reminder: "%{count} 个分配给您的工作包将在 %{days} 天后到期:" - mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_group_reminder: "%{count} 个分配给组“%{group}”的工作包将在 %{days} 天后到期:" mail_body_wiki_content_added: "'%{id}' wiki页面已经由%{author} 添加。" mail_body_wiki_content_updated: "'%{id}' wiki页面已经由%{author} 更新。" mail_subject_account_activation_request: "%{value} 帐户激活请求" mail_subject_lost_password: "你的 %{value} 密码" mail_subject_register: "您的%{value}帐户激活" mail_subject_reminder: "%{count} 个工作包在 %{days} 天内到期" - mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "对于组“%{group}”,%{count} 个工作包将在 %{days} 天后到期" mail_subject_wiki_content_added: "'%{id}' wiki页面已添加" mail_subject_wiki_content_updated: "'%{id}' wiki页面已更新" mail_user_activation_limit_reached: @@ -1991,7 +1991,7 @@ zh-CN: setting_display_subprojects_work_packages: "默认在主项目上显示子项目工作包" setting_emails_footer: "电子邮件页脚" setting_emails_header: "电子邮件标头" - setting_email_login: "使用电子邮件登录" + setting_email_login: "使用电子邮件作为登录名" setting_enabled_scm: "启用 SCM" setting_feeds_enabled: "启用Feeds" setting_feeds_limit: "Feed内容限制" @@ -2161,7 +2161,7 @@ zh-CN: text_reassign: "重新分配工作包:" text_regexp_info: "例如 ^ [A-Z0-9]+$" text_regexp_multiline: '以多行模式应用正则表达式,如 ^---\s+' - text_repository_usernames_mapping: "选择或更新每个在代码库日志中发现的用户名所映射的 OpenProject 用户。\n与 OpenProject 和代码库用户名或电子邮件相同的用户已被自动更新。" + text_repository_usernames_mapping: "选择或更新每个在代码库日志中发现的用户名所映射到的 OpenProject 用户。\n使用相同 OpenProject 和代码库用户名或电子邮件的用户已被自动映射。" text_select_mail_notifications: "选择邮件通知应该被发送的动作。" text_status_changed_by_changeset: "被实施在变更集 %{value} 中。" text_table_difference_description: "此表单展现了单个%{entries}。您可以先选择多选框,再点击表单下方的按钮来比较两项之间的差异。" @@ -2351,7 +2351,7 @@ zh-CN: 旧邀请电子邮件过期或用户未收到之前的电子邮件时,再发送一封邀请电子邮件。也可由活跃用户用于选择新的身份验证方法。活跃用户使用时,状态会更改为“已邀请”。 tooltip: setting_email_login: > - 如果启用,用户将无法在注册时选择登录方式。将使用用户指定的电子邮件地址登录。管理员仍然可以单独更改登录方式。 + 如果启用,用户将无法在注册时选择登录名。将使用用户指定的电子邮件地址作为登录名。管理员仍然可以单独更改登录名。 queries: apply_filter: 应用预配置筛选器 top_menu: diff --git a/modules/avatars/config/locales/crowdin/es.yml b/modules/avatars/config/locales/crowdin/es.yml index 515becc7ae..3e09c45b5c 100644 --- a/modules/avatars/config/locales/crowdin/es.yml +++ b/modules/avatars/config/locales/crowdin/es.yml @@ -1,39 +1,39 @@ es: 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)" + label_avatar_plural: "Avatares" + label_current_avatar: "Avatar actual" + label_choose_avatar: "Seleccionar avatar de un archivo" + message_avatar_uploaded: "El avatar se ha cambiado correctamente." + error_image_upload: "Error al guardar la imagen." + error_image_size: "El tamaño de la imagen es demasiado grande." + button_change_avatar: "Cambiar avatar" + are_you_sure_delete_avatar: "¿Está seguro de que quiere eliminar su avatar?" + avatar_deleted: "El avatar se ha eliminado correctamente." + unable_to_delete_avatar: "No se pudo eliminar el avatar." + wrong_file_format: "Los formatos permitidos son JPG, PNG y GIF" + empty_file_error: "Cargue un archivo de imagen válido (JPG, PNG o GIF)" avatars: label_avatar: "Avatar" label_gravatar: 'Gravatar' - label_current_avatar: 'Current avatar' - label_local_avatar: 'Custom avatar' + label_current_avatar: 'Avatar actual' + label_local_avatar: 'Avatar personalizado' text_current_avatar: | - The following image shows the current avatar. + En la imagen siguiente, se muestra el avatar actual. 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}.' + Cargue su propio avatar personalizado de 128 × 128 píxeles. Si se agregan archivos más grandes, se cambiará el tamaño y se recortará para que coincida. + Después de seleccionar una imagen, se mostrará una vista previa del avatar antes de cargarlo. + text_change_gravatar_html: 'Para cambiar o agregar el Gravatar a su dirección de correo electrónico, vaya a %{gravatar_url}.' text_your_local_avatar: | - OpenProject allows you to upload your own custom avatar. + OpenProject le permite cargar su propio avatar personalizado. text_local_avatar_over_gravatar: | - If you set one, this custom avatar is used in precedence over the gravatar above. + Si establece uno, este avatar personalizado se usará antes que el Gravatar anterior. 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: + OpenProject usará su Gravatar (si registró uno) o usará una imagen o icono predeterminado (si existe). + El Gravatar actual es el siguiente: settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: 'Habilitar Gravatar de usuario' gravatar_default: "Imagen de gravatar por defecto" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: 'Habilitar avatares personalizados de usuario' diff --git a/modules/avatars/config/locales/crowdin/fr.yml b/modules/avatars/config/locales/crowdin/fr.yml index ae85237894..063c37b6f3 100644 --- a/modules/avatars/config/locales/crowdin/fr.yml +++ b/modules/avatars/config/locales/crowdin/fr.yml @@ -28,12 +28,12 @@ fr: text_local_avatar_over_gravatar: | Si vous en avez défini un, cet avatar personnalisé sera utilisé à la place du gravatar ci-dessus. 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: + OpenProject utilise votre gravatar si vous en possédez un, ou bien une image ou icône par défaut si celle-ci existe. + Le gravatar actuel est le suivant : settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: 'Activer les gravatars de l''utilisateur' gravatar_default: "Image Gravatar par défaut" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: 'Activer les avatars personnalisés de l''utilisateur' diff --git a/modules/avatars/config/locales/crowdin/js-es.yml b/modules/avatars/config/locales/crowdin/js-es.yml index 8e117db159..ca75ef69ac 100644 --- a/modules/avatars/config/locales/crowdin/js-es.yml +++ b/modules/avatars/config/locales/crowdin/js-es.yml @@ -3,12 +3,12 @@ es: label_preview: 'Vista preliminar' button_update: 'Actualizar' avatars: - label_choose_avatar: "Choose Avatar from file" - uploading_avatar: "Uploading your avatar." + label_choose_avatar: "Seleccionar avatar de un archivo" + uploading_avatar: "Cargando su 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)" + Cargue su propio avatar personalizado de 128 × 128 píxeles. Si se agregan archivos más grandes, se cambiará el tamaño y se recortará para que coincida. + Después de seleccionar una imagen, se mostrará una vista previa del avatar antes de cargarlo. + error_image_too_large: "La imagen es demasiado grande." + wrong_file_format: "Los formatos permitidos son JPG, PNG y GIF" + empty_file_error: "Cargue un archivo de imagen válido (JPG, PNG o GIF)" diff --git a/modules/avatars/config/locales/crowdin/js-fr.yml b/modules/avatars/config/locales/crowdin/js-fr.yml index 4cb69511c1..c423ff8155 100644 --- a/modules/avatars/config/locales/crowdin/js-fr.yml +++ b/modules/avatars/config/locales/crowdin/js-fr.yml @@ -4,11 +4,11 @@ fr: button_update: 'Mettre à jour' avatars: label_choose_avatar: "Choisir un avatar depuis un fichier" - uploading_avatar: "Uploading your avatar." + uploading_avatar: "Chargement de votre avatar." text_upload_instructions: | Téléchargez votre propre avatar personnalisé de 128 par 128 pixels. Les fichiers plus gros seront redimensionnés et recadrés pour correspondre. Un aperçu de votre avatar sera affiché avant le téléchargement, une fois que vous aurez sélectionné une image. - error_image_too_large: "Image is too large." + error_image_too_large: "L'image est trop grande." wrong_file_format: "Les formats autorisés sont Jpg, Png et Gif" empty_file_error: "Veuillez téléverser une image valide (Jpg, Png, Gif)" diff --git a/modules/avatars/config/locales/crowdin/js-ko.yml b/modules/avatars/config/locales/crowdin/js-ko.yml index a890653c0c..8fc8f504ea 100644 --- a/modules/avatars/config/locales/crowdin/js-ko.yml +++ b/modules/avatars/config/locales/crowdin/js-ko.yml @@ -4,11 +4,11 @@ ko: button_update: '업데이트' avatars: label_choose_avatar: "파일에서 아바타 선택" - uploading_avatar: "Uploading your avatar." + uploading_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." + 128 × 128픽셀 크기의 사용자 지정 아바타를 업로드하십시오. 더 큰 파일은 이 크기에 맞게 조정되고 잘립니다. + 이미지를 선택하면, 업로드하기 전에 아바타의 미리 보기가 표시됩니다. + error_image_too_large: "이미지가 너무 큽니다." wrong_file_format: "허용된 형식은 jpg, png, gif입니다." empty_file_error: "유효한 이미지(jpg, png, gif)를 업로드하십시오." diff --git a/modules/avatars/config/locales/crowdin/js-pl.yml b/modules/avatars/config/locales/crowdin/js-pl.yml index bedc0dccbb..a8ece58a4d 100644 --- a/modules/avatars/config/locales/crowdin/js-pl.yml +++ b/modules/avatars/config/locales/crowdin/js-pl.yml @@ -3,12 +3,12 @@ pl: label_preview: 'Podgląd' button_update: 'Aktualizacja' avatars: - label_choose_avatar: "Choose Avatar from file" - uploading_avatar: "Uploading your avatar." + label_choose_avatar: "Wybierz awatar z pliku" + uploading_avatar: "Przesyłanie tego awatara." 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)" + Prześlij swój własny awatar 128 na 128 pikseli. Rozmiar większych plików zostanie zmieniony i zostaną one odpowiednio przycięte. + Podgląd awatara zostanie wyświetlony przed przesłaniem, po wybraniu obrazu. + error_image_too_large: "Obraz jest zbyt duży." + wrong_file_format: "Dozwolone są formaty jpg, png, gif" + empty_file_error: "Prześlij prawidłowy obraz (jpg, png, gif)" diff --git a/modules/avatars/config/locales/crowdin/js-pt.yml b/modules/avatars/config/locales/crowdin/js-pt.yml index 73382872d5..62461fc758 100644 --- a/modules/avatars/config/locales/crowdin/js-pt.yml +++ b/modules/avatars/config/locales/crowdin/js-pt.yml @@ -6,7 +6,7 @@ pt: label_choose_avatar: "Escolher Avatar a partir de ficheiro" uploading_avatar: "A carregar o seu avatar." text_upload_instructions: | - Carregue o seu próprio avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. + Carregue o seu avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. Será mostrada uma visualização do seu avatar antes do carregamento, uma vez que selecionou uma imagem. error_image_too_large: "A imagem é grande demais." wrong_file_format: "Os formatos permitidos são jpg, png, gif" diff --git a/modules/avatars/config/locales/crowdin/ko.yml b/modules/avatars/config/locales/crowdin/ko.yml index 89bf9ba671..3d8d881e5d 100644 --- a/modules/avatars/config/locales/crowdin/ko.yml +++ b/modules/avatars/config/locales/crowdin/ko.yml @@ -14,26 +14,26 @@ ko: empty_file_error: "유효한 이미지(jpg, png, gif)를 업로드하십시오." avatars: label_avatar: "아바타" - label_gravatar: '그라바타' + label_gravatar: 'Gravatar' label_current_avatar: '현재 아바타' label_local_avatar: '사용자 지정 아바타' text_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}.' + 128 × 128픽셀 크기의 사용자 지정 아바타를 업로드하십시오. 더 큰 파일은 이 크기에 맞게 조정되고 잘립니다. + 이미지를 선택하면, 업로드하기 전에 아바타의 미리 보기가 표시됩니다. + text_change_gravatar_html: '메일 주소에 대한 Gravatar를 변경하거나 추가하려면 %{gravatar_url}(으)로 이동하십시오.' text_your_local_avatar: | - OpenProject allows you to upload your own custom avatar. + OpenProject에서 사용자 지정 아바타를 업로드할 수 있습니다. text_local_avatar_over_gravatar: | - If you set one, this custom avatar is used in precedence over the gravatar above. + 사용자 지정 아바타를 설정하는 경우, 이 아바타가 위의 Gravatar보다 우선하여 사용됩니다. 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: + 사용자가 Gravatar를 등록한 경우 OpenProject는 해당 Gravatar를 사용합니다. 또는 기본 이미지나 아이콘이 존재하는 경우 이를 사용합니다. + 현재 Gravatar는 다음과 같습니다. settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: '사용자 Gravatar 사용' gravatar_default: "기본 Gravatar 이미지" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: '사용자 커스텀 Gravatar 사용' diff --git a/modules/avatars/config/locales/crowdin/pl.yml b/modules/avatars/config/locales/crowdin/pl.yml index 677dc2671e..d9771a0f6b 100644 --- a/modules/avatars/config/locales/crowdin/pl.yml +++ b/modules/avatars/config/locales/crowdin/pl.yml @@ -1,39 +1,39 @@ pl: - 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)" + label_avatar: "Awatar" + label_avatar_plural: "Awatary" + label_current_avatar: "Bieżący awatar" + label_choose_avatar: "Wybierz awatar z pliku" + message_avatar_uploaded: "Awatar został zmieniony." + error_image_upload: "Błąd podczas zapisywania obrazu." + error_image_size: "Obraz jest za duży." + button_change_avatar: "Zmień awatar" + are_you_sure_delete_avatar: "Czy na pewno chcesz usunąć ten awatar?" + avatar_deleted: "Awatar został usunięty." + unable_to_delete_avatar: "Nie można usunąć awatara." + wrong_file_format: "Dozwolone są formaty jpg, png, gif" + empty_file_error: "Prześlij prawidłowy obraz (jpg, png, gif)" avatars: - label_avatar: "Avatar" + label_avatar: "Awatar" label_gravatar: 'Gravatar' - label_current_avatar: 'Current avatar' - label_local_avatar: 'Custom avatar' + label_current_avatar: 'Bieżący awatar' + label_local_avatar: 'Awatar niestandardowy' text_current_avatar: | - The following image shows the current avatar. + Poniższy obraz przedstawia aktualny awatar. 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}.' + Prześlij swój własny awatar 128 na 128 pikseli. Rozmiar większych plików zostanie zmieniony i zostaną one odpowiednio przycięte. + Podgląd awatara zostanie wyświetlony przed przesłaniem, po wybraniu obrazu. + text_change_gravatar_html: 'Aby zmienić lub dodać Gravatar dla tego adresu e-mail, przejdź na stronę %{gravatar_url}.' text_your_local_avatar: | - OpenProject allows you to upload your own custom avatar. + OpenProject umożliwia przesłanie własnego, niestandardowego awatara. text_local_avatar_over_gravatar: | - If you set one, this custom avatar is used in precedence over the gravatar above. + Jeśli go ustawisz, ten niestandardowy awatar będzie używany w pierwszej kolejności przed powyższym Gravatarem. 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: + OpenProject używa Gravatara, jeśli użytkownik go zarejestrował albo domyślnego obrazu lub ikony, jeśli taka istnieje. + Bieżący Gravatar jest następujący: settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: 'Włącz Gravatary użytkownika' gravatar_default: "Domyślny obraz Gravatar" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: 'Włącz niestandardowe awatary użytkownika' diff --git a/modules/avatars/config/locales/crowdin/pt.yml b/modules/avatars/config/locales/crowdin/pt.yml index 8d25d7d8e1..86a90a1832 100644 --- a/modules/avatars/config/locales/crowdin/pt.yml +++ b/modules/avatars/config/locales/crowdin/pt.yml @@ -20,15 +20,15 @@ pt: text_current_avatar: | A seguinte imagem mostra o avatar atual. text_upload_instructions: | - Carregue o seu próprio avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. + Carregue o seu avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. Será mostrada uma visualização do seu avatar antes do carregamento, uma vez que selecionou uma imagem. text_change_gravatar_html: 'Para alterar ou adicionar o Gravatar ao seu endereço de email, vá a %{gravatar_url}.' text_your_local_avatar: | - O OpenProject permite que carregue o seu próprio avatar personalizado. + O OpenProject permite que carregue o seu avatar personalizado. text_local_avatar_over_gravatar: | Se definir um, este avatar personalizado será usado em precedência sobre o gravatar acima. text_your_current_gravatar: | - O OpenProject usa o seu gravatar caso tenha registado um, ou uma imagem ou ícone padrão caso exista. + O OpenProject usa o seu gravatar caso tenha registado algum, ou uma imagem ou ícone padrão caso exista. O gravatar atual é o seguinte: settings: enable_gravatars: 'Ativar Gravatars de utilizadores' diff --git a/modules/avatars/config/locales/crowdin/zh-CN.yml b/modules/avatars/config/locales/crowdin/zh-CN.yml index 18312fef91..c60551654b 100644 --- a/modules/avatars/config/locales/crowdin/zh-CN.yml +++ b/modules/avatars/config/locales/crowdin/zh-CN.yml @@ -8,8 +8,8 @@ zh-CN: error_image_size: "图像太大。" button_change_avatar: "更改头像" are_you_sure_delete_avatar: "确定要删除头像吗?" - avatar_deleted: "头像删除成功。" - unable_to_delete_avatar: "头像无法删除。" + avatar_deleted: "成功删除头像。" + unable_to_delete_avatar: "无法删除头像。" wrong_file_format: "允许的格式是 jpg、png、gif" empty_file_error: "请上传一张有效的图像(jpg、png、gif)" avatars: @@ -28,7 +28,7 @@ zh-CN: text_local_avatar_over_gravatar: | 如果您设置了一个自定义头像,则此头像将优先于上面的 Gravatar。 text_your_current_gravatar: | - OpenProject 将使用您的 Gravatar(如果已注册)或默认图像或图标(如果存在)。 + OpenProject 将使用您的 Gravatar(如果已注册)或者默认图像或图标(如果存在)。 当前头像如下: settings: enable_gravatars: '启用用户 Gravatar' diff --git a/modules/bcf/config/locales/crowdin/es.yml b/modules/bcf/config/locales/crowdin/es.yml index 80d8c4ecb6..4696444351 100644 --- a/modules/bcf/config/locales/crowdin/es.yml +++ b/modules/bcf/config/locales/crowdin/es.yml @@ -1,62 +1,62 @@ es: 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' + label_imported_failed: 'No se pudieron importar los temas de BCF' + label_imported_successfully: 'Los temas de BCF se importaron correctamente' + issues: "Problemas" + recommended: 'recomendado' + not_recommended: 'no recomendado' + no_viewpoints: 'Sin áreas de visualización' new_badge: "Nuevo" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "Archivo BCF no válido" x_bcf_issues: - one: 'One BCF issue' - other: '%{count} BCF issues' + one: 'Un problema de BCF' + other: '%{count} problemas de BCF' bcf_xml: - xml_file: 'BCF XML File' + xml_file: 'Archivo XML de BCF' import_title: 'Importar' export: 'Exportar' - import_update_comment: '(Updated in BCF import)' - import_failed: 'Cannot import BCF file: %{error}' - 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_update_comment: '(Actualizado en la importación de BCF)' + import_failed: 'No se puede importar el archivo BCF: %{error}' + import_successful: 'Se importaron %{count} problemas de BCF' + import_canceled: 'La importación de BCF-XML se ha cancelado.' + type_not_active: "El tipo de problema no está activo para este proyecto." 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' - 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.' + num_issues_found: '%{x_bcf_issues} están presentes en el archivo BCF-XML y a continuación se muestran los detalles.' + button_prepare: 'Preparar importación' + button_perform_import: 'Confirmar importación' + button_proceed: 'Continuar' + button_back_to_list: 'Volver a la lista' + no_permission_to_add_members: 'No tiene permisos suficientes para agregarlos como miembros al proyecto.' + contact_project_admin: 'Póngase en contacto con el administrador del proyecto para agregarlos como miembros y vuelva a iniciar esta importación.' + continue_anyways: '¿Quiere continuar y finalizar la importación de todas formas?' + description: "Proporcione un archivo BCF-XML v2.1 para importarlo en este proyecto. Puede examinar el contenido antes de realizar la importación." + invalid_types_found: 'Se encontraron nombres de tipo de tema no válidos' + invalid_statuses_found: 'Se encontraron nombres de estado no válidos' + invalid_priorities_found: 'Se encontraron nombres de prioridad no válidos' + invalid_emails_found: 'Se encontraron direcciones de correo electrónico no válidas' + unknown_emails_found: 'Se encontraron direcciones de correo electrónico desconocidas' + unknown_property: 'Propiedad desconocida' + non_members_found: 'No se encontraron miembros del proyecto' + import_types_as: 'Establecer todos estos tipos en' + import_statuses_as: 'Establecer todos estos estados en' + import_priorities_as: 'Establecer todas estas prioridades en' + invite_as_members_with_role: 'Invitarlos como miembros de proyecto “%{project}” con el rol' + add_as_members_with_role: 'Agregarlos como miembros de proyecto “%{project}” con el rol' + no_type_provided: 'No se ha especificado ningún tipo' + no_status_provided: 'No se ha especificado ningún estado' + no_priority_provided: 'No se ha especificado ninguna prioridad' + perform_description: "¿Quiere importar o actualizar los problemas de la lista anterior?" + replace_with_system_user: 'Reemplazarlos con el usuario “System”' + import_as_system_user: 'Se importan como el usuario “System”.' what_to_do: "¿Qué quieres hacer?" - 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." + work_package_has_newer_changes: "No actualizado. Este tema no está actualizado, ya que los últimos cambios en el servidor eran más recientes que la fecha de modificación del tema importado. Sin embargo, se importaron los comentarios en el tema." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "Instantánea de BCF" project_module_bcf: "BCF" - permission_view_linked_issues: "View BCF issues" - permission_manage_bcf: "Import and manage BCF issues" + permission_view_linked_issues: "Ver problemas de BCF" + permission_manage_bcf: "Importar y administrar problemas de BCF" diff --git a/modules/bcf/config/locales/crowdin/fr.yml b/modules/bcf/config/locales/crowdin/fr.yml index 7b12368700..18979e64ce 100644 --- a/modules/bcf/config/locales/crowdin/fr.yml +++ b/modules/bcf/config/locales/crowdin/fr.yml @@ -1,62 +1,62 @@ fr: 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' + label_imported_failed: 'Impossible d''importer les sujets BCF' + label_imported_successfully: 'Sujets BCF importés avec succès' + issues: "Problèmes" + recommended: 'recommandé' + not_recommended: 'déconseillé' + no_viewpoints: 'Aucun point de vue' new_badge: "nouveau" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "Fichier BCF invalide" x_bcf_issues: - one: 'One BCF issue' - other: '%{count} BCF issues' + one: 'Un problème BCF' + other: '%{count} problèmes BCF' bcf_xml: - xml_file: 'BCF XML File' + xml_file: 'Fichier XML BCF' import_title: 'Importer' export: 'Exporter' - import_update_comment: '(Updated in BCF import)' - import_failed: 'Cannot import BCF file: %{error}' - 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_update_comment: '(Mis à jour dans l''importation BCF)' + import_failed: 'Impossible d''importer le fichier BCF : %{error}' + import_successful: '%{count} problèmes BCF importés' + import_canceled: 'Importation BCF-XML annulée.' + type_not_active: "Le type de problème n'est pas activé pour ce projet." 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' - 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.' + num_issues_found: '%{x_bcf_issues} sont contenus dans le fichier BCF-XML, leurs détails sont repris ci-dessous.' + button_prepare: 'Préparer l''importation' + button_perform_import: 'Confirmer l''importation' + button_proceed: 'Continuer' + button_back_to_list: 'Retour à la liste' + no_permission_to_add_members: 'Vous n''avez pas les autorisations suffisantes pour les ajouter en tant que membres du projet.' + contact_project_admin: 'Contactez votre administrateur du projet pour les ajouter en tant que membres et recommencer cette importation.' + continue_anyways: 'Voulez-vous quand même continuer et terminer l''importation ?' + description: "Fournissez un fichier BCF-XML v2.1 à importer dans ce projet. Vous pouvez examiner son contenu avant d'effectuer l'importation." + invalid_types_found: 'Un nom de type de sujet invalide a été trouvé' + invalid_statuses_found: 'Un nom de statut invalide a été trouvé' + invalid_priorities_found: 'Des noms de priorité invalides ont été trouvés' + invalid_emails_found: 'Des adresses e-mail invalides ont été trouvées' + unknown_emails_found: 'Des adresses e-mail inconnues ont été trouvées' + unknown_property: 'Propriété inconnue' + non_members_found: 'Aucun membre du projet n''a été trouvé' + import_types_as: 'Définir tous ces types comme' + import_statuses_as: 'Définir tous ces statuts comme' + import_priorities_as: 'Définir toutes ces priorités comme' + invite_as_members_with_role: 'Les inviter en tant que membres du projet "%{project}" avec un rôle' + add_as_members_with_role: 'Les ajouter en tant que membres du projet "%{project}" avec un rôle' + no_type_provided: 'Aucun type fourni' + no_status_provided: 'Aucun statut fourni' + no_priority_provided: 'Aucune priorité fournie' + perform_description: "Voulez-vous importer ou mettre à jour les problèmes repris ci-dessus ?" + replace_with_system_user: 'Les remplacer par l''utilisateur "Système"' + import_as_system_user: 'Les importer comme utilisateur "Système".' what_to_do: "Que voulez-vous faire?" - 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." + work_package_has_newer_changes: "Obsolète ! Ce sujet n'a pas été mis à jour, car les derniers changements sur le serveur étaient plus récents que la \"ModifiedDate\" du sujet importé. Toutefois, les commentaires sur le sujet ont été importés." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "Capture d'écran BCF" project_module_bcf: "BCF" permission_view_linked_issues: "Voir les problèmes BCF" permission_manage_bcf: "Importer et gérer les problèmes BCF" diff --git a/modules/bcf/config/locales/crowdin/ko.yml b/modules/bcf/config/locales/crowdin/ko.yml index 58aac2ac49..b33ed2b499 100644 --- a/modules/bcf/config/locales/crowdin/ko.yml +++ b/modules/bcf/config/locales/crowdin/ko.yml @@ -1,28 +1,28 @@ ko: 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' + label_imported_failed: 'BCF 항목 가져오기 실패' + label_imported_successfully: 'BCF 항목 가져오기 성공' + issues: "이슈" + recommended: '추천' + not_recommended: '추천하지 않음' + no_viewpoints: '뷰포인트 없음' new_badge: "새로 만들기" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "잘못된 BCF 파일" x_bcf_issues: - other: '%{count} BCF issues' + other: '%{count}개 BCF 이슈' bcf_xml: xml_file: 'BCF XML 파일' import_title: '가져오기' export: '내보내기' import_update_comment: '(BCF 가져오기에서 업데이트됨)' import_failed: 'BCF 파일을 가져올 수 없음: %{error}' - 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_successful: '%{count}개 BCF 이슈 가져옴' + import_canceled: 'BCF-XML 가져오기가 취소되었습니다.' + type_not_active: "이 프로젝트에 대해 해당 이슈 유형이 활성화되지 않았습니다." import: - num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.' + num_issues_found: '%{x_bcf_issues}은(는) BCF-XML 파일에 포함되어 있지 않습니다. 세부 정보는 아래에 나와 있습니다.' button_prepare: '가져오기 준비' button_perform_import: '가져오기 확인' button_proceed: '계속하기' @@ -30,32 +30,32 @@ ko: no_permission_to_add_members: '프로젝트에 멤버로 추가할 권한이 부족합니다.' contact_project_admin: '프로젝트 관리자에게 문의하여 멤버로 추가한 후 이 가져오기를 다시 시작하십시오.' continue_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.' + description: "이 프로젝트에 가져올 BCF-XML v2.1 파일을 제공하십시오. 가져오기를 수행하기 전에 해당 내용을 검사할 수 있습니다." + invalid_types_found: '잘못된 항목 유형 이름이 발견됨' + invalid_statuses_found: '잘못된 상태 이름이 발견됨' + invalid_priorities_found: '잘못된 우선 순위 이름이 발견됨' + invalid_emails_found: '잘못된 이메일 주소가 발견됨' + unknown_emails_found: '알 수 없는 이메일 주소가 발견됨' + unknown_property: '알 수 없는 속성' + non_members_found: '프로젝트 멤버를 찾지 못함' + import_types_as: '모든 해당 유형을 다음으로 설정:' + import_statuses_as: '모든 해당 상태를 다음으로 설정:' + import_priorities_as: '모든 해당 우선 순위를 다음으로 설정:' + invite_as_members_with_role: '다음 역할의 사용자를 멤버로 "%{project}" 프로젝트에 초대:' + add_as_members_with_role: '다음 역할의 사용자를 멤버로 "%{project}" 프로젝트에 추가:' + no_type_provided: '제공된 유형 없음' + no_status_provided: '제공된 상태 없음' + no_priority_provided: '제공된 우선 순위 없음' + perform_description: "위에 나열된 이슈를 가져오거나 업데이트하시겠습니까?" + replace_with_system_user: '이들을 "시스템" 사용자로 바꾸기' + import_as_system_user: '이들을 "시스템" 사용자로 가져오기' what_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." + work_package_has_newer_changes: "오래된 내용입니다! 서버의 최신 변경 사항은 가져온 항목의 \"수정된 날짜\"보다 최신이므로 이 항목이 업데이트되지 않았습니다. 그러나 이 항목에 대한 코멘트는 가져왔습니다." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "BCF 스냅샷" project_module_bcf: "BCF" - permission_view_linked_issues: "View BCF issues" - permission_manage_bcf: "Import and manage BCF issues" + permission_view_linked_issues: "BCF 이슈 보기" + permission_manage_bcf: "BCF 이슈 가져오기 및 관리" diff --git a/modules/bcf/config/locales/crowdin/pl.yml b/modules/bcf/config/locales/crowdin/pl.yml index 4b8afd826d..a0b74874f6 100644 --- a/modules/bcf/config/locales/crowdin/pl.yml +++ b/modules/bcf/config/locales/crowdin/pl.yml @@ -1,64 +1,64 @@ pl: 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' + label_imported_failed: 'Nieudane importy tematów BCF' + label_imported_successfully: 'Zaimportowane z powodzeniem tematy BCF' + issues: "Problemy" + recommended: 'zalecane' + not_recommended: 'niezalecane' + no_viewpoints: 'Brak punktów widzenia' new_badge: "Nowy" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "Nieprawidłowy plik BCF" x_bcf_issues: - one: 'One BCF issue' - few: '%{count} BCF issues' - many: '%{count} BCF issues' - other: '%{count} BCF issues' + one: 'Jeden problem BCF' + few: '%{count} problemy BCF' + many: '%{count} problemów BCF' + other: '%{count} problemów BCF' bcf_xml: - xml_file: 'BCF XML File' + xml_file: 'Plik BCF-XML' import_title: 'Importuj' export: 'Eksportuj' - import_update_comment: '(Updated in BCF import)' - import_failed: 'Cannot import BCF file: %{error}' - 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_update_comment: '(Zaktualizowano w imporcie BCF)' + import_failed: 'Nie można zaimportować pliku BCF: %{error}' + import_successful: 'Zaimportowano problemy BCF (%{count})' + import_canceled: 'Anulowano import BCF-XML.' + type_not_active: "Typ problemu nie jest aktywowany dla tego projektu." 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' - 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.' + num_issues_found: 'Plik BCF-XML zawiera %{x_bcf_issues}, ich szczegóły są wyświetlane poniżej.' + button_prepare: 'Przygotuj import' + button_perform_import: 'Potwierdź import' + button_proceed: 'Kontynuuj' + button_back_to_list: 'Powrót do listy' + no_permission_to_add_members: 'Nie masz wystarczających uprawnień, aby dodać ich jako członków do projektu.' + contact_project_admin: 'Skontaktuj się z administratorem projektu, aby dodać ich jako członków i ponownie uruchomić ten import.' + continue_anyways: 'Czy chcesz kontynuować i dokończyć import?' + description: "Podaj plik BCF-XML v2.1 w celu zaimportowania go do tego projektu. Przed wykonaniem importu możesz sprawdzić jego zawartość." + invalid_types_found: 'Znalezione nieprawidłowe nazwy typów tematów' + invalid_statuses_found: 'Znalezione nieprawidłowe nazwy stanów' + invalid_priorities_found: 'Znalezione nieprawidłowe nazwy priorytetów' + invalid_emails_found: 'Znaleziono nieprawidłowe adresy email' + unknown_emails_found: 'Znaleziono nieznane adresy email' + unknown_property: 'Nieznana właściwość' + non_members_found: 'Nie znaleziono członków projektu' + import_types_as: 'Ustaw wszystkie te typy na' + import_statuses_as: 'Ustaw wszystkie te stany na' + import_priorities_as: 'Ustaw wszystkie te priorytety na' + invite_as_members_with_role: 'Zaproś ich jako członków do projektu "%{project}" z rolą' + add_as_members_with_role: 'Dodaj ich jako członków do projektu "%{project}" z rolą' + no_type_provided: 'Nie podano typu' + no_status_provided: 'Nie podano stanu' + no_priority_provided: 'Nie podano priorytetu' + perform_description: "Czy chcesz zaimportować lub zaktualizować wyżej wymienione problemy?" + replace_with_system_user: 'Zastąp ich użytkownikiem "System"' + import_as_system_user: 'Zaimportuj ich jako użytkownika "System".' what_to_do: "Co chcesz zrobić?" - 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." + work_package_has_newer_changes: "Przestarzały! Ten temat nie został zaktualizowany, ponieważ najnowsze zmiany na serwerze były nowsze niż data modyfikacji (\"ModifiedDate\") importowanego tematu. Komentarze do tematu zostały natomiast zaimportowane." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "Migawka BCF" project_module_bcf: "BCF" - permission_view_linked_issues: "View BCF issues" - permission_manage_bcf: "Import and manage BCF issues" + permission_view_linked_issues: "Wyświetlanie problemów BCF" + permission_manage_bcf: "Importowanie problemów BCF i zarządzanie nimi" diff --git a/modules/bcf/config/locales/crowdin/zh-CN.yml b/modules/bcf/config/locales/crowdin/zh-CN.yml index 9a97a84a5c..758b7627d8 100644 --- a/modules/bcf/config/locales/crowdin/zh-CN.yml +++ b/modules/bcf/config/locales/crowdin/zh-CN.yml @@ -2,7 +2,7 @@ zh-CN: bcf: label_bcf: 'BCF' label_imported_failed: '导入 BCF 主题失败' - label_imported_successfully: '成功导入 BCF 主题' + label_imported_successfully: '已成功导入 BCF 主题' issues: "问题" recommended: '推荐' not_recommended: '不推荐' @@ -18,9 +18,9 @@ zh-CN: export: '导出' import_update_comment: '(在 BCF 导入中更新)' import_failed: '无法导入 BCF 文件:%{error}' - import_successful: '导入了 %{count} 个 BCF 问题' + import_successful: '已导入 %{count} 个 BCF 问题' import_canceled: 'BCF-XML 导入已取消。' - type_not_active: "此项目未激活问题类型。" + type_not_active: "此项目未激活该问题类型。" import: num_issues_found: '%{x_bcf_issues} 包含在 BCF-XML 文件中,其详细信息在下面列出。' button_prepare: '准备导入' @@ -29,7 +29,7 @@ zh-CN: button_back_to_list: '返回列表' no_permission_to_add_members: '您没有足够的权限将它们添加为项目的成员。' contact_project_admin: '请联系您的项目管理员将它们添加为成员,然后重新开始导入。' - continue_anyways: '您是否仍要继续完成导入?' + continue_anyways: '仍要继续完成导入?' description: "提供一个 BCF-XML v2.1 文件以导入到此项目中。您可以在执行导入之前检查其内容。" invalid_types_found: '找到无效的主题类型名称' invalid_statuses_found: '找到无效的状态名称' @@ -41,14 +41,14 @@ zh-CN: import_types_as: '将所有这些类型设置为' import_statuses_as: '将所有这些状态设置为' import_priorities_as: '将所有这些优先级设置为' - invite_as_members_with_role: '使用以下角色邀请它们作为项目“%{project}”的成员' - add_as_members_with_role: '使用以下角色将它们添加为项目“%{project}”的成员' + invite_as_members_with_role: '使用以下角色邀请他们作为项目“%{project}”的成员' + add_as_members_with_role: '使用以下角色将他们添加为项目“%{project}”的成员' no_type_provided: '未提供类型' no_status_provided: '未提供状态' no_priority_provided: '未提供优先级' - perform_description: "您想要导入或更新上面列出的问题吗?" - replace_with_system_user: '用“系统”用户替换它们' - import_as_system_user: '将它们导入为“系统”用户。' + perform_description: "要导入或更新上面列出的问题吗?" + replace_with_system_user: '用“系统”用户替换他们' + import_as_system_user: '将他们导入为“系统”用户。' what_to_do: "你想做什么?" work_package_has_newer_changes: "已过时!此主题未更新,因为服务器上的最新更改比导入主题的“ModifiedDate”更新。但是,已导入该主题的注释。" export: diff --git a/modules/boards/config/locales/crowdin/es.yml b/modules/boards/config/locales/crowdin/es.yml index fe680ceafd..94584f95b3 100644 --- a/modules/boards/config/locales/crowdin/es.yml +++ b/modules/boards/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ es: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "Ver paneles" + permission_manage_board_views: "Administrar paneles" project_module_board_view: "Tableros" boards: label_boards: "Tableros" diff --git a/modules/boards/config/locales/crowdin/fr.yml b/modules/boards/config/locales/crowdin/fr.yml index c13cbc54f0..47a931c882 100644 --- a/modules/boards/config/locales/crowdin/fr.yml +++ b/modules/boards/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ fr: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "Afficher les tableaux" + permission_manage_board_views: "Gérer les tableaux" project_module_board_view: "Tableaux" boards: label_boards: "Tableaux" diff --git a/modules/boards/config/locales/crowdin/js-es.yml b/modules/boards/config/locales/crowdin/js-es.yml index 7450fbcf83..a7923618d6 100644 --- a/modules/boards/config/locales/crowdin/js-es.yml +++ b/modules/boards/config/locales/crowdin/js-es.yml @@ -1,45 +1,45 @@ es: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: 'Panel sin nombre' + label_unnamed_list: 'Lista sin nombre' + label_board_type: 'Tipo de panel' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: 'Mejore su administración de proyectos ágiles con esta vista flexible de paneles. Cree tantos paneles como prefiera para cualquier elemento del que quiera realizar un seguimiento.' + upgrade_to_ee_text: 'Los paneles son una característica de la versión Enterprise. Actualice a un plan de pago.' + upgrade: 'Actualizar ahora' + personal_demo: 'Obtener una demostración personal' lists: delete: 'Eliminar lista' 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' + is_locked: 'La versión está bloqueada. No se pueden agregar elementos a esta versión.' + is_closed: 'La versión está cerrada. No se pueden agregar elementos a esta versión.' + close_version: 'Cerrar versión' + open_version: 'Abrir versión' + lock_version: 'Bloquear versión' + unlock_version: 'Desbloquear versión' + edit_version: 'Editar versión' + show_version: 'Mostrar versión' locked: 'Bloqueado' closed: 'Cerrado' - new_board: 'New board' - add_list: 'Add list' - 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" - click_to_remove_list: "Click to remove this list" + new_board: 'Nuevo panel' + add_list: 'Agregar lista' + add_card: 'Agregar tarjeta' + error_attribute_not_writable: "No se puede mover el paquete de trabajo porque %{attribute} no permite la escritura." + error_loading_the_list: "Error al cargar la lista: %{error_message}" + error_permission_missing: "Falta el permiso para crear consultas públicas" + click_to_remove_list: "Haga clic para quitar esta lista" board_type: - free: 'Basic board' + free: 'Panel básico' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + Cree un panel donde pueda crear libremente listas y ordenar los paquetes de trabajo que contenga. Al mover los paquetes de trabajo entre las listas, no se cambia del paquete de trabajo en sí. + action: 'Panel de acciones' + action_by_attribute: 'Panel de acciones (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + Cree un panel con listas filtradas en un único atributo. Al mover los paquetes de trabajo a otras listas, se actualizará su atributo. + select_attribute: "Atributo de acción" configuration_modal: - title: 'Configure this board' + title: 'Configurar este panel' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "Mostrar como tarjetas" + table_mode: "Mostrar como tabla" diff --git a/modules/boards/config/locales/crowdin/js-fr.yml b/modules/boards/config/locales/crowdin/js-fr.yml index 08e60ee633..86fb543a9a 100644 --- a/modules/boards/config/locales/crowdin/js-fr.yml +++ b/modules/boards/config/locales/crowdin/js-fr.yml @@ -1,45 +1,45 @@ fr: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: 'Tableau sans nom' + label_unnamed_list: 'Liste sans nom' + label_board_type: 'Type de tableau' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: 'Améliorez votre gestion de projet agile avec cette vue des tableaux flexible. Créez autant de tableaux que vous voulez pour tout ce que vous souhaitez conserver.' + upgrade_to_ee_text: 'Les tableaux sont une fonctionnalité du plan Enterprise. Veuillez passer à un forfait payant.' + upgrade: 'Passer au plan supérieur' + personal_demo: 'Obtenir une démo personnelle' lists: delete: 'Supprimer la liste' 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' + is_locked: 'La version est verrouillée. Aucun élément ne peut être ajouté à cette version.' + is_closed: 'La version est fermée. Aucun élément ne peut être ajouté à cette version.' + close_version: 'Fermer la version' + open_version: 'Ouvrir la version' + lock_version: 'Verrouiller la version' + unlock_version: 'Déverrouiller la version' + edit_version: 'Éditer la version' + show_version: 'Afficher la version' locked: 'Verrouillé' closed: 'Clôturé' - new_board: 'New board' - add_list: 'Add list' - 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}" + new_board: 'Nouveau tableau' + add_list: 'Ajouter une liste' + add_card: 'Ajouter une carte' + error_attribute_not_writable: "Impossible de déplacer le lot de travaux, %{attribute} n'est pas modifiable." + error_loading_the_list: "Erreur lors du chargement de la liste : %{error_message}" error_permission_missing: "La permission pour créer des requêtes publiques est manquante" - click_to_remove_list: "Click to remove this list" + click_to_remove_list: "Cliquez pour supprimer cette liste" board_type: - free: 'Basic board' + free: 'Tableau de base' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + Créez un tableau dans lequel vous pouvez créer librement des listes et ordonner vos lots de travaux dans celles-ci. Déplacer des lots de travaux entre les listes ne modifie pas le lot de travaux en lui-même. + action: 'Tableau d''action' + action_by_attribute: 'Tableau d''action (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + Créez un tableau avec des listes filtrées sur un seul attribut. Déplacer des lots de travaux vers d'autres listes mettra à jour leur attribut. + select_attribute: "Attribut d'action" configuration_modal: - title: 'Configure this board' + title: 'Configurer ce tableau' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "Affichage en cartes" + table_mode: "Affichage en tableau" diff --git a/modules/boards/config/locales/crowdin/js-ko.yml b/modules/boards/config/locales/crowdin/js-ko.yml index 1494a6afb7..b0eeb73669 100644 --- a/modules/boards/config/locales/crowdin/js-ko.yml +++ b/modules/boards/config/locales/crowdin/js-ko.yml @@ -1,45 +1,45 @@ ko: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: '명명되지 않은 보드' + label_unnamed_list: '명명되지 않은 목록' + label_board_type: '보드 유형' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: '이 유연한 보드 보기에서 애자일 프로젝트 관리를 개선하십시오. 계속 추적하고 싶은 사항에 따라 원하는 만큼 보드를 생성하십시오.' + upgrade_to_ee_text: '보드는 Enterprise 기능입니다. 유료 플랜으로 업그레이드하십시오.' + upgrade: '지금 업그레이드' + personal_demo: '개인 데모 이용' lists: delete: '목록 삭제' 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' + is_locked: '버전이 잠겨 있습니다. 이 버전에 항목을 추가할 수 없습니다.' + is_closed: '버전이 닫혔습니다. 이 버전에 항목을 추가할 수 없습니다.' + close_version: '버전 닫기' + open_version: '버전 열기' + lock_version: '버전 잠금' + unlock_version: '버전 잠금 해제' + edit_version: '버전 편집' + show_version: '버전 표시' locked: '잠김' closed: '닫음' - new_board: 'New board' - add_list: 'Add list' - 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" - click_to_remove_list: "Click to remove this list" + new_board: '새로운 보드' + add_list: '목록 추가' + add_card: '카드 추가' + error_attribute_not_writable: "작업 패키지를 이동할 수 없습니다. %{attribute}은(는) 쓰기 가능하지 않습니다." + error_loading_the_list: "목록 로드 중 오류 발생: %{error_message}" + error_permission_missing: "공용 쿼리를 만들 수 있는 권한이 없습니다" + click_to_remove_list: "이 목록을 제거하려면 클릭" board_type: - free: 'Basic board' + free: '기본 보드' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + 자유롭게 목록을 만들고 작업 패키지를 주문할 수 있는 보드를 생성하십시오. 목록 간에 작업 패키지를 이동해도 작업 패키지 자체는 변경되지 않습니다. + action: '작업 보드' + action_by_attribute: '작업 보드(%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + 단일 특성에서 필터가 적용한 목록을 사용하여 보드를 생성하십시오. 작업 패키지를 다른 목록으로 이동하면 해당 특성이 업데이트됩니다. + select_attribute: "작업 특성" configuration_modal: - title: 'Configure this board' + title: '이 보드 구성' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "카드로 표시" + table_mode: "테이블로 표시" diff --git a/modules/boards/config/locales/crowdin/js-pl.yml b/modules/boards/config/locales/crowdin/js-pl.yml index 106ec5e923..ad944630ee 100644 --- a/modules/boards/config/locales/crowdin/js-pl.yml +++ b/modules/boards/config/locales/crowdin/js-pl.yml @@ -1,45 +1,45 @@ pl: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: 'Tablica bez nazwy' + label_unnamed_list: 'Lista bez nazwy' + label_board_type: 'Typ tablicy' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: 'Usprawnij swoje zwinne zarządzanie projektami dzięki temu elastycznemu widokowi Tablice. Twórz tyle tablic, ile chcesz, dla czegokolwiek, co zechcesz śledzić.' + upgrade_to_ee_text: 'Tablice to funkcja wersji Enterprise. Przejdź na plan płatny.' + upgrade: 'Zmień plan teraz' + personal_demo: 'Pobierz osobistą wersję demonstracyjną' lists: delete: 'Usuń 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' + is_locked: 'Wersja jest zablokowana. Do tej wersji nie można dodać żadnych elementów.' + is_closed: 'Wersja jest zamknięta. Do tej wersji nie można dodać żadnych elementów.' + close_version: 'Zamknij wersję' + open_version: 'Otwórz wersję' + lock_version: 'Zablokuj wersję' + unlock_version: 'Odblokuj wersję' + edit_version: 'Edytuj wersję' + show_version: 'Pokaż wersję' locked: 'Zablokowany' closed: 'Zamknięte' - new_board: 'New board' - add_list: 'Add list' - 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" - click_to_remove_list: "Click to remove this list" + new_board: 'Nowa tablica' + add_list: 'Dodaj listę' + add_card: 'Dodaj kartę' + error_attribute_not_writable: "Nie można przenieść pakietu roboczego, nie można zapisać %{attribute}." + error_loading_the_list: "Błąd podczas ładowania listy: %{error_message}" + error_permission_missing: "Brakuje uprawnienia do tworzenia zapytań publicznych" + click_to_remove_list: "Kliknij, aby usunąć tę listę" board_type: - free: 'Basic board' + free: 'Tablica podstawowa' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + Utwórz tablicę, na której możesz dowolnie tworzyć listy i zlecać pakiety robocze. Przenoszenie pakietów roboczych pomiędzy listami nie zmienia samego pakietu roboczego. + action: 'Tablica działania' + action_by_attribute: 'Tablica działania (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + Utwórz tablicę z listami filtrowanymi według jednego atrybutu. Przeniesienie pakietów roboczych na inne listy spowoduje aktualizację ich atrybutu. + select_attribute: "Atrybut działania" configuration_modal: - title: 'Configure this board' + title: 'Skonfiguruj tę tablicę' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "Wyświetlaj jako karty" + table_mode: "Wyświetlaj jako tabelę" diff --git a/modules/boards/config/locales/crowdin/js-pt.yml b/modules/boards/config/locales/crowdin/js-pt.yml index e3b7297244..37d50469bc 100644 --- a/modules/boards/config/locales/crowdin/js-pt.yml +++ b/modules/boards/config/locales/crowdin/js-pt.yml @@ -5,7 +5,7 @@ pt: label_unnamed_list: 'Lista sem nome' label_board_type: 'Tipo de quadro' upsale: - teaser_text: 'Melhore a sua gestão ágil de projetos com esta visualização flexível de Quadros. Crie os quadros que quiser para qualquer coisa que queira acompanhar.' + teaser_text: 'Melhore e agilize a sua gestão de projetos com esta visualização flexível de Quadros. Crie os quadros que quiser para qualquer coisa que queira acompanhar.' upgrade_to_ee_text: 'Os Quadros são um recurso Empresarial. Por favor atualize para um plano pago.' upgrade: 'Atualizar agora' personal_demo: 'Obter uma demonstração pessoal' diff --git a/modules/boards/config/locales/crowdin/js-zh-CN.yml b/modules/boards/config/locales/crowdin/js-zh-CN.yml index c8ec86489f..ee37aefe8b 100644 --- a/modules/boards/config/locales/crowdin/js-zh-CN.yml +++ b/modules/boards/config/locales/crowdin/js-zh-CN.yml @@ -5,41 +5,41 @@ zh-CN: label_unnamed_list: '未命名列表' label_board_type: '面板类型' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: '通过此灵活的面板视图改进您的敏捷项目管理。为您想要跟踪的一切创建任意数量的面板。' + upgrade_to_ee_text: '面板是企业版功能。请升级到付费计划。' + upgrade: '立即升级' + personal_demo: '获取个人演示' lists: delete: '删除列表' 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' + is_locked: '版本已锁定。无法向此版本添加项目。' + is_closed: '版本已关闭。无法向此版本添加项目。' + close_version: '关闭版本' + open_version: '打开版本' + lock_version: '锁定版本' + unlock_version: '解锁版本' + edit_version: '编辑版本' + show_version: '显示版本' locked: '锁定' closed: '已关闭' - new_board: 'New board' - add_list: 'Add list' - 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}" + new_board: '新建面板' + add_list: '添加列表' + add_card: '添加卡片' + error_attribute_not_writable: "无法移动工作包,%{attribute} 不可写。" + error_loading_the_list: "加载列表时出错:%{error_message}" error_permission_missing: "缺少创建公共查询的权限" - click_to_remove_list: "Click to remove this list" + click_to_remove_list: "点击以移除此列表" board_type: - free: 'Basic board' + free: '基本面板' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + 创建一个可在其中自由创建列表和订购工作包的面板。在列表之间移动工作包不会更改工作包本身。 + action: '操作面板' + action_by_attribute: '操作面板 (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + 创建一个在单个属性上具有筛选列表的面板。将工作包移动到其他列表将更新其属性。 + select_attribute: "操作属性" configuration_modal: - title: 'Configure this board' + title: '配置此面板' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "显示为卡片" + table_mode: "显示为表" diff --git a/modules/boards/config/locales/crowdin/ko.yml b/modules/boards/config/locales/crowdin/ko.yml index 6844a2d555..e6e8c74832 100644 --- a/modules/boards/config/locales/crowdin/ko.yml +++ b/modules/boards/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ ko: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "보드 보기" + permission_manage_board_views: "보드 관리" project_module_board_view: "보드" boards: label_boards: "보드" diff --git a/modules/boards/config/locales/crowdin/pl.yml b/modules/boards/config/locales/crowdin/pl.yml index a3a2a8fbb4..eb73368297 100644 --- a/modules/boards/config/locales/crowdin/pl.yml +++ b/modules/boards/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ pl: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "Wyświetl tablice" + permission_manage_board_views: "Zarządzaj tablicami" project_module_board_view: "Tablice" boards: label_boards: "Tablice" diff --git a/modules/dashboards/config/locales/crowdin/es.yml b/modules/dashboards/config/locales/crowdin/es.yml index 8871788f6e..251f40f980 100644 --- a/modules/dashboards/config/locales/crowdin/es.yml +++ b/modules/dashboards/config/locales/crowdin/es.yml @@ -1,5 +1,5 @@ es: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: 'Paneles' + menu_badge: 'Alfa' + project_module_dashboards: 'Paneles' diff --git a/modules/dashboards/config/locales/crowdin/fr.yml b/modules/dashboards/config/locales/crowdin/fr.yml index 4b21451b79..e8234cd757 100644 --- a/modules/dashboards/config/locales/crowdin/fr.yml +++ b/modules/dashboards/config/locales/crowdin/fr.yml @@ -1,5 +1,5 @@ fr: dashboards: - label: 'Dashboards' + label: 'Tableaux de bord' menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + project_module_dashboards: 'Tableaux de bord' diff --git a/modules/dashboards/config/locales/crowdin/js-es.yml b/modules/dashboards/config/locales/crowdin/js-es.yml index 37207722f7..56bec7f95c 100644 --- a/modules/dashboards/config/locales/crowdin/js-es.yml +++ b/modules/dashboards/config/locales/crowdin/js-es.yml @@ -1,4 +1,4 @@ es: js: dashboards: - label: 'Dashboard' + label: 'Paneles' diff --git a/modules/dashboards/config/locales/crowdin/js-fr.yml b/modules/dashboards/config/locales/crowdin/js-fr.yml index 69309dffdf..ee0ce85efd 100644 --- a/modules/dashboards/config/locales/crowdin/js-fr.yml +++ b/modules/dashboards/config/locales/crowdin/js-fr.yml @@ -1,4 +1,4 @@ fr: js: dashboards: - label: 'Dashboard' + label: 'Tableau de bord' diff --git a/modules/dashboards/config/locales/crowdin/js-ko.yml b/modules/dashboards/config/locales/crowdin/js-ko.yml index 74df70a72c..94acd88b21 100644 --- a/modules/dashboards/config/locales/crowdin/js-ko.yml +++ b/modules/dashboards/config/locales/crowdin/js-ko.yml @@ -1,4 +1,4 @@ ko: js: dashboards: - label: 'Dashboard' + label: '대시보드' diff --git a/modules/dashboards/config/locales/crowdin/js-pl.yml b/modules/dashboards/config/locales/crowdin/js-pl.yml index 771d50b1b5..79f9e05f25 100644 --- a/modules/dashboards/config/locales/crowdin/js-pl.yml +++ b/modules/dashboards/config/locales/crowdin/js-pl.yml @@ -1,4 +1,4 @@ pl: js: dashboards: - label: 'Dashboard' + label: 'Pulpit nawigacyjny' diff --git a/modules/dashboards/config/locales/crowdin/js-zh-CN.yml b/modules/dashboards/config/locales/crowdin/js-zh-CN.yml index e2dd42e7f6..ea3bd4b6ff 100644 --- a/modules/dashboards/config/locales/crowdin/js-zh-CN.yml +++ b/modules/dashboards/config/locales/crowdin/js-zh-CN.yml @@ -1,4 +1,4 @@ zh-CN: js: dashboards: - label: 'Dashboard' + label: '仪表板' diff --git a/modules/dashboards/config/locales/crowdin/ko.yml b/modules/dashboards/config/locales/crowdin/ko.yml index ea60f39036..9f0e1feaab 100644 --- a/modules/dashboards/config/locales/crowdin/ko.yml +++ b/modules/dashboards/config/locales/crowdin/ko.yml @@ -1,5 +1,5 @@ ko: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: '대시보드' + menu_badge: '알파' + project_module_dashboards: '대시보드' diff --git a/modules/dashboards/config/locales/crowdin/pl.yml b/modules/dashboards/config/locales/crowdin/pl.yml index d4f95a58ff..1e6ea79f0f 100644 --- a/modules/dashboards/config/locales/crowdin/pl.yml +++ b/modules/dashboards/config/locales/crowdin/pl.yml @@ -1,5 +1,5 @@ pl: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: 'Pulpity nawigacyjne' + menu_badge: 'Alfa' + project_module_dashboards: 'Pulpity nawigacyjne' diff --git a/modules/dashboards/config/locales/crowdin/zh-CN.yml b/modules/dashboards/config/locales/crowdin/zh-CN.yml index 008e6deb85..a5f3a18744 100644 --- a/modules/dashboards/config/locales/crowdin/zh-CN.yml +++ b/modules/dashboards/config/locales/crowdin/zh-CN.yml @@ -1,5 +1,5 @@ zh-CN: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: '仪表板' + menu_badge: 'Alpha 版' + project_module_dashboards: '仪表板' diff --git a/modules/github_integration/config/locales/crowdin/es.yml b/modules/github_integration/config/locales/crowdin/es.yml index 547dac84c4..1002214076 100644 --- a/modules/github_integration/config/locales/crowdin/es.yml +++ b/modules/github_integration/config/locales/crowdin/es.yml @@ -1,10 +1,10 @@ es: 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}). + **PR abierta:** la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) para [%{repository}](%{repository_url}) ha sido abierta por [%{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}). + **PR cerrada:** la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) para [%{repository}](%{repository_url}) ha sido cerrada por [%{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}). + **PR combinada:** la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) para [%{repository}](%{repository_url}) ha sido combinada por [%{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}). + **Con referencia en PR:** [%{github_user}](%{github_user_url}) hizo referencia a este paquete de trabajo en la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) en [%{repository}](%{repository_url}). diff --git a/modules/github_integration/config/locales/crowdin/fr.yml b/modules/github_integration/config/locales/crowdin/fr.yml index e331a85fd4..cf8ffb7d56 100644 --- a/modules/github_integration/config/locales/crowdin/fr.yml +++ b/modules/github_integration/config/locales/crowdin/fr.yml @@ -1,10 +1,10 @@ fr: 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}). + **PR Ouvert :** Demande pull %{pr_number} [%{pr_title}](%{pr_url}) pour [%{repository}](%{repository_url}) ouverte par [%{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}). + **PR Fermé :** Demande pull %{pr_number} [%{pr_title}](%{pr_url}) pour [%{repository}](%{repository_url}) fermée par [%{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}). + **PR Fusionné :** Demande pull %{pr_number} [%{pr_title}](%{pr_url}) pour [%{repository}](%{repository_url}) fusionnée par [%{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}). + **Référencé dans PR:** [%{github_user}](%{github_user_url}) a référencé ce lots de travaux dans la demande Pull %{pr_number} [%{pr_title}](%{pr_url}) dans [%{repository}](%{repository_url}). diff --git a/modules/github_integration/config/locales/crowdin/ko.yml b/modules/github_integration/config/locales/crowdin/ko.yml index 8612f2e93e..fa6732e89a 100644 --- a/modules/github_integration/config/locales/crowdin/ko.yml +++ b/modules/github_integration/config/locales/crowdin/ko.yml @@ -1,10 +1,10 @@ ko: 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}). + **PR 열림:** [%{repository}](%{repository_url})에 대한 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})이(가) [%{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}). + **PR 닫힘:** [%{repository}](%{repository_url})에 대한 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})이(가) [%{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}). + **PR 병합됨:** [%{repository}](%{repository_url})에 대한 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})이(가) [%{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}). + **PR에서 참조됨:** [%{github_user}](%{github_user_url})님이 [%{repository}](%{repository_url})의 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})에서 이 작업 패키지를 참조했습니다. diff --git a/modules/github_integration/config/locales/crowdin/pl.yml b/modules/github_integration/config/locales/crowdin/pl.yml index 8e84b3206c..1c48dde353 100644 --- a/modules/github_integration/config/locales/crowdin/pl.yml +++ b/modules/github_integration/config/locales/crowdin/pl.yml @@ -1,10 +1,10 @@ pl: 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}). + **Otwarte PR:** Żądanie Pull Request %{pr_number} [%{pr_title}](%{pr_url}) dla [%{repository}](%{repository_url}) zostało otwarte przez [%{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}). + **Zamknięte PR:** Żądanie Pull Request %{pr_number} [%{pr_title}](%{pr_url}) dla [%{repository}](%{repository_url}) zostało zamknięte przez [%{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}). + **Scalone PR:** Żądanie Pull Request %{pr_number} [%{pr_title}](%{pr_url}) dla [%{repository}](%{repository_url}) zostało scalone przez [%{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}). + **Wskazano w PR:** [%{github_user}](%{github_user_url}) wskazał ten pakiet roboczy w żądaniu Pull Request %{pr_number} [%{pr_title}](%{pr_url}), w [%{repository}](%{repository_url}). diff --git a/modules/github_integration/config/locales/crowdin/zh-CN.yml b/modules/github_integration/config/locales/crowdin/zh-CN.yml index 312f1c16a4..2a0dac10e6 100644 --- a/modules/github_integration/config/locales/crowdin/zh-CN.yml +++ b/modules/github_integration/config/locales/crowdin/zh-CN.yml @@ -1,10 +1,10 @@ zh-CN: 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}). + **拉取请求已打开:** [%{repository}](%{repository_url}) 的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 已由 [%{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}). + **拉取请求已关闭:** [%{repository}](%{repository_url}) 的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 已由 [%{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}). + **拉取请求已合并:** [%{repository}](%{repository_url}) 的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 已由 [%{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}). + **已在拉取请求中引用:** [%{github_user}](%{github_user_url}) 在 [%{repository}](%{repository_url}) 上的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 中引用了此工作包。 diff --git a/modules/grids/config/locales/crowdin/js-es.yml b/modules/grids/config/locales/crowdin/js-es.yml index 610cc7448b..f365420936 100644 --- a/modules/grids/config/locales/crowdin/js-es.yml +++ b/modules/grids/config/locales/crowdin/js-es.yml @@ -1,11 +1,11 @@ es: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'Agregar widget' + remove: 'Quitar widget' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Algunos widgets, como el widget del gráfico de paquetes de trabajo, solo están disponibles en la " + link: 'edición Enterprise.' widgets: custom_text: title: 'Texto personalizado' @@ -14,23 +14,23 @@ es: no_results: 'No hay documentos.' members: title: 'Miembros' - no_results: 'No visible members.' + no_results: 'No hay miembros visibles.' view_all_members: 'Ver todos los miembros' add: 'Miembro' - too_many: 'Displaying %{count} of %{total} members.' + too_many: 'Mostrando %{count} de %{total} miembros.' news: title: 'Noticias' at: 'en' no_results: 'Nada nuevo sobre lo que informar.' project_description: title: 'Descripción del proyecto' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Aún no se ha escrito ninguna descripción. Puede proporcionar una descripción en la configuración del proyecto." project_details: title: 'Detalles del proyecto' - no_results: 'No custom fields have been defined for projects.' + no_results: 'No se han definido campos personalizados para los proyectos.' subprojects: title: 'Subproyectos' - no_results: 'No subprojects.' + no_results: 'No hay subproyectos.' time_entries_list: title: 'Tiempo de gastos (últimos 7 días)' no_results: 'Sin entradas temporales en los últimos 7 días.' @@ -43,11 +43,11 @@ es: work_packages_watched: title: 'Paquetes de trabajo vigilados por mí' work_packages_table: - title: 'Work packages table' + title: 'Tabla de paquetes de trabajo' work_packages_graph: - title: 'Work packages graph' + title: 'Gráfico de paquetes de trabajo' work_packages_calendar: title: 'Calendario' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: 'Información general sobre paquete de trabajo' + placeholder: 'Haga clic para editar…' diff --git a/modules/grids/config/locales/crowdin/js-fr.yml b/modules/grids/config/locales/crowdin/js-fr.yml index 01dcda60be..91cb76149d 100644 --- a/modules/grids/config/locales/crowdin/js-fr.yml +++ b/modules/grids/config/locales/crowdin/js-fr.yml @@ -1,11 +1,11 @@ fr: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'Ajouter un widget' + remove: 'Supprimer le widget' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Certains widgets, comme le widget graphique des lots de travaux, ne sont disponibles que dans" + link: 'la version Entreprise.' widgets: custom_text: title: 'Texte personnalisé' @@ -14,23 +14,23 @@ fr: no_results: 'Encore aucun document.' members: title: 'Membres' - no_results: 'No visible members.' + no_results: 'Aucun membre visible.' view_all_members: 'Afficher tous les membres' add: 'Membre' - too_many: 'Displaying %{count} of %{total} members.' + too_many: '%{count} membres sur %{total} affichés.' news: title: 'Actualités' at: 'à' no_results: 'Rien de nouveau à signaler.' project_description: title: 'Description du projet' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Aucune description n'a encore été écrite. Vous pouvez en trouver une dans les \"Paramètres du projet\"." project_details: title: 'Détails du projet' - no_results: 'No custom fields have been defined for projects.' + no_results: 'Aucun champ personnalisé n''a été défini pour les projets.' subprojects: title: 'Sous-projets' - no_results: 'No subprojects.' + no_results: 'Aucun sous-projet.' time_entries_list: title: 'Temps passé (7 derniers jours)' no_results: 'Aucune entrée de temps pour les 7 derniers jours.' @@ -43,11 +43,11 @@ fr: work_packages_watched: title: 'Lots de travaux que j''ai observés' work_packages_table: - title: 'Work packages table' + title: 'Tableau des lots de travaux' work_packages_graph: - title: 'Work packages graph' + title: 'Graphique des lots de travaux' work_packages_calendar: title: 'Calendrier' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: 'Aperçu des lots de travaux' + placeholder: 'Cliquez pour éditer...' diff --git a/modules/grids/config/locales/crowdin/js-ko.yml b/modules/grids/config/locales/crowdin/js-ko.yml index 8f0a1d499a..d03d4de7fe 100644 --- a/modules/grids/config/locales/crowdin/js-ko.yml +++ b/modules/grids/config/locales/crowdin/js-ko.yml @@ -1,11 +1,11 @@ ko: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: '위젯 추가' + remove: '위젯 제거' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "작업 패키지 그래프 위젯 같은 일부 위젯은 다음에서만 사용 가능합니다: " + link: 'Enterprise Edition.' widgets: custom_text: title: '사용자 지정 텍스트' @@ -14,23 +14,23 @@ ko: no_results: '아직 문서가 없습니다.' members: title: '멤버' - no_results: 'No visible members.' + no_results: '표시할 멤버가 없습니다.' view_all_members: '모든 회원 보기' add: '멤버' - too_many: 'Displaying %{count} of %{total} members.' + too_many: '%{count}/%{total}명의 멤버를 표시 중입니다.' news: title: '뉴스' at: '-' no_results: '새로 보고할 것이 없음' project_description: title: '프로젝트 설명' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "설명이 아직 작성되지 않았습니다. '프로젝트 설정'에서 입력할 수 있습니다." project_details: title: '프로젝트 세부 정보' - no_results: 'No custom fields have been defined for projects.' + no_results: '프로젝트에 대한 사용자 지정 필드가 정의되지 않았습니다.' subprojects: title: '하위 프로젝트' - no_results: 'No subprojects.' + no_results: '하위 프로젝트가 없습니다.' time_entries_list: title: '경과 시간(지난 7 일)' no_results: '지난 7일간 시간 항목이 없습니다.' @@ -43,11 +43,11 @@ ko: work_packages_watched: title: '내가 본 작업 패키지' work_packages_table: - title: 'Work packages table' + title: '작업 패키지 테이블' work_packages_graph: - title: 'Work packages graph' + title: '작업 패키지 그래프' work_packages_calendar: title: '달력' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: '작업 패키지 개요' + placeholder: '편집하려면 클릭...' diff --git a/modules/grids/config/locales/crowdin/js-pl.yml b/modules/grids/config/locales/crowdin/js-pl.yml index 77a4e9cf37..a8ef042fbe 100644 --- a/modules/grids/config/locales/crowdin/js-pl.yml +++ b/modules/grids/config/locales/crowdin/js-pl.yml @@ -1,8 +1,8 @@ pl: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'Dodaj widżet' + remove: 'Usuń widżet' upsale: text: "Some widgets, like the work package graph widget, are only available in the " link: 'enterprise edition.' @@ -14,23 +14,23 @@ pl: no_results: 'Nie ma jeszcze dokumentów.' members: title: 'Członkowie' - no_results: 'No visible members.' + no_results: 'Brak widocznych członków.' view_all_members: 'Zobacz wszystkich członków' add: 'Członek' - too_many: 'Displaying %{count} of %{total} members.' + too_many: 'Wyświetlanie %{count} z %{total} członków.' news: title: 'Aktualności' at: 'w' no_results: 'Utwórz nowy raport.' project_description: title: 'Opis projektu' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Nie napisano jeszcze opisu. Można go podać w sekcji Ustawienia projektu." project_details: title: 'Szczegóły Projektu' - no_results: 'No custom fields have been defined for projects.' + no_results: 'Nie zdefiniowano żadnych pól niestandardowych dla projektów.' subprojects: title: 'Podprojekty' - no_results: 'No subprojects.' + no_results: 'Brak podprojektów.' time_entries_list: title: 'Poświęcony czas (ostatnie 7 dni)' no_results: 'Brak zarejestrowanego czasu pracy w ostatnich 7 dniach.' @@ -43,11 +43,11 @@ pl: work_packages_watched: title: 'Pakiety robocze obserwowane przeze mnie' work_packages_table: - title: 'Work packages table' + title: 'Tabela pakietów roboczych' work_packages_graph: - title: 'Work packages graph' + title: 'Wykres pakietów roboczych' work_packages_calendar: title: 'Kalendarz' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: 'Przegląd pakietów roboczych' + placeholder: 'Kliknij, aby edytować...' diff --git a/modules/grids/config/locales/crowdin/js-ru.yml b/modules/grids/config/locales/crowdin/js-ru.yml index 4838da9472..e1a6237ced 100644 --- a/modules/grids/config/locales/crowdin/js-ru.yml +++ b/modules/grids/config/locales/crowdin/js-ru.yml @@ -1,11 +1,11 @@ ru: js: grid: - add_widget: 'Add widget' + add_widget: 'Добавить виджет' remove: 'Удалить виджет' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Некоторые виджеты, такие как виджет графика комплекса работ, доступны только в " + link: 'корпоративной версии.' widgets: custom_text: title: 'Пользовательский текст' @@ -24,10 +24,10 @@ ru: no_results: 'Ничего нового для отчета.' project_description: title: 'Описание проекта' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Описания еще нет. Его можно добавить в настройках проекта." project_details: title: 'Детали проекта' - no_results: 'No custom fields have been defined for projects.' + no_results: 'Для проектов не определены настраиваемые поля.' subprojects: title: 'Подпроекты' no_results: 'Подпроектов нет.' diff --git a/modules/grids/config/locales/crowdin/js-zh-CN.yml b/modules/grids/config/locales/crowdin/js-zh-CN.yml index 44ef4d7d37..45954a55df 100644 --- a/modules/grids/config/locales/crowdin/js-zh-CN.yml +++ b/modules/grids/config/locales/crowdin/js-zh-CN.yml @@ -1,11 +1,11 @@ zh-CN: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: '添加微件' + remove: '移除微件' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "某些微件(例如工作包图微件)仅适用于" + link: '企业版。' widgets: custom_text: title: '自定义文本' @@ -14,23 +14,23 @@ zh-CN: no_results: '没有文档。' members: title: '成员' - no_results: 'No visible members.' + no_results: '无可见成员。' view_all_members: '查看所有成员' add: '成员' - too_many: 'Displaying %{count} of %{total} members.' + too_many: '正在显示 %{count} 个成员,总共 %{total} 个。' news: title: '新闻' at: '位置:' no_results: '没有新消息报告。' project_description: title: '项目描述' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "尚未写入任何描述。可以在“项目设置”中提供一个描述。" project_details: title: '项目详细信息' - no_results: 'No custom fields have been defined for projects.' + no_results: '没有为项目定义自定义字段。' subprojects: title: '子项目' - no_results: 'No subprojects.' + no_results: '无子项目。' time_entries_list: title: '花费时间 (最近 7天)' no_results: '过去7天没有时间记录。' @@ -43,11 +43,11 @@ zh-CN: work_packages_watched: title: '由我汇报的工作包' work_packages_table: - title: 'Work packages table' + title: '工作包表' work_packages_graph: - title: 'Work packages graph' + title: '工作包图' work_packages_calendar: title: '日历' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: '工作包概览' + placeholder: '点击以编辑…' diff --git a/modules/ldap_groups/config/locales/crowdin/es.yml b/modules/ldap_groups/config/locales/crowdin/es.yml index c4c48831c6..bbbca2bcc9 100644 --- a/modules/ldap_groups/config/locales/crowdin/es.yml +++ b/modules/ldap_groups/config/locales/crowdin/es.yml @@ -2,31 +2,31 @@ es: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: 'Identificador de entrada' + auth_source: 'Conexión LDAP' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: 'Grupo de LDAP sincronizado' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'Sincronización de grupos de LDAP' + label_group_key: 'Clave de filtro de grupo de LDAP' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'Atributo del grupo de LDAP' + group_key_text: 'El nombre de atributo LDAP usado para identificar los grupos.' + group_base: 'Base del grupo de LDAP' + group_base_text: 'Base del grupo de LDAP usado para buscar entradas del grupo.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: 'Agregar grupo de LDAP sincronizado' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: 'Quitar grupo sincronizado %{name}' + confirmation: "Si continúa, se eliminarán el grupo sincronizado %{name} y %{users_count} usuarios sincronizados mediante este." + info: "Nota: El grupo de OpenProject en sí y los miembros agregados fuera de esta sincronización de LDAP no se eliminarán." + verification: "Escriba el nombre del grupo %{name} para verificar la eliminación." + no_results: 'No se encontraron grupos sincronizados.' + no_members: 'Este grupo aún no tiene miembros sincronizados.' + plural: 'Grupos de LDAP sincronizados' + singular: 'Grupo de LDAP sincronizado' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: 'Seleccione el modo de autenticación LDAP usado.' + entry_text: 'Defina el identificador de grupo de LDAP.' + group_text: 'Seleccione un grupo de OpenProject existente con el que se sincronizarán los miembros del grupo de LDAP' diff --git a/modules/ldap_groups/config/locales/crowdin/fr.yml b/modules/ldap_groups/config/locales/crowdin/fr.yml index 6908e75998..1ea6785ae3 100644 --- a/modules/ldap_groups/config/locales/crowdin/fr.yml +++ b/modules/ldap_groups/config/locales/crowdin/fr.yml @@ -2,31 +2,31 @@ fr: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: 'Identificateur d''entrée' + auth_source: 'Connexion LDAP' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: 'Groupe LDAP synchronisé' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'Synchronisation de groupe LDAP' + label_group_key: 'Clé de filtre de groupe LDAP' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'Attribut de groupe LDAP' + group_key_text: 'Le nom d''attribut LDAP utilisé pour identifier les groupes.' + group_base: 'Base du groupe LDAP' + group_base_text: 'Base du groupe LDAP utilisée pour rechercher des entrées du groupe.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: 'Ajouter un groupe LDAP synchronisé' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: 'Supprimer le groupe synchronisé %{name}' + confirmation: "Si vous continuez, le groupe synchronisé %{name} et tous les utilisateurs %{users_count} synchronisés par le biais de celui-ci seront supprimés." + info: "Remarque : Le groupe OpenProject lui-même et les membres ajoutés en dehors de cette synchronisation LDAP ne seront pas supprimés." + verification: "Saisissez le nom du groupe %{name} pour valider la suppression." + no_results: 'Aucun groupe synchronisé trouvé.' + no_members: 'Ce groupe n''a pas encore de membres synchronisés.' + plural: 'Groupes LDAP synchronisés' + singular: 'Groupe LDAP synchronisé' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: 'Sélectionnez le mode d''authentification LDAP utilisé.' + entry_text: 'Définissez l''identifiant du groupe LDAP.' + group_text: 'Sélectionnez un groupe OpenProject existant avec lequel les membres du groupe LDAP seront synchronisés' diff --git a/modules/ldap_groups/config/locales/crowdin/ko.yml b/modules/ldap_groups/config/locales/crowdin/ko.yml index 220fc4612a..97f0dc714c 100644 --- a/modules/ldap_groups/config/locales/crowdin/ko.yml +++ b/modules/ldap_groups/config/locales/crowdin/ko.yml @@ -2,31 +2,31 @@ ko: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: '항목 식별자' + auth_source: 'LDAP 연결' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: '동기화된 LDAP 그룹' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'LDAP 그룹 동기화' + label_group_key: 'LDAP 그룹 필터 키' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'LDAP 그룹 특성' + group_key_text: '그룹을 식별하는 데 사용되는 LDAP 특성 이름입니다.' + group_base: 'LDAP 그룹 기반' + group_base_text: '그룹 항목 검색에 사용되는 LDAP 그룹 기반입니다.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: '동기화된 LDAP 그룹 추가' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: '동기화된 그룹 %{name} 제거' + confirmation: "계속하는 경우, 동기화된 그룹 %{name} 및 이를 통해 동기화된 %{users_count}명의 사용자 모두가 제거됩니다." + info: "참고: OpenProject 그룹 자체 그리고 이 LDAP 동기화 이외에서 추가된 멤버는 제거되지 않습니다." + verification: "삭제를 확인하려면 프로젝트 이름 %{name}(을)를 입력하십시오." + no_results: '동기화된 그룹이 없습니다.' + no_members: '이 그룹에는 아직 동기화된 멤버가 없습니다.' + plural: '동기화된 LDAP 그룹' + singular: '동기화된 LDAP 그룹' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: '사용되는 LDAP 인증 모드를 사용하십시오.' + entry_text: 'LDAP 그룹 식별자를 정의하십시오.' + group_text: 'LDAP 그룹의 멤버가 동기화되는 기존 OpenProject 그룹 선택' diff --git a/modules/ldap_groups/config/locales/crowdin/pl.yml b/modules/ldap_groups/config/locales/crowdin/pl.yml index 0e8c97f602..92083d0031 100644 --- a/modules/ldap_groups/config/locales/crowdin/pl.yml +++ b/modules/ldap_groups/config/locales/crowdin/pl.yml @@ -2,31 +2,31 @@ pl: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: 'Identyfikator wpisu' + auth_source: 'Połączenie LDAP' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: 'Synchronizowana grupa LDAP' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'Synchronizacja grupy LDAP' + label_group_key: 'Klucz filtru grupy LDAP' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'Atrybut grupy LDAP' + group_key_text: 'Nazwa atrybutu LDAP używana do identyfikacji grup.' + group_base: 'Baza grupy LDAP' + group_base_text: 'Baza grupy LDAP używana do wyszukiwania wpisów grupy.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: 'Dodaj synchronizowaną grupę LDAP' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: 'Usuń synchronizowaną grupę %{name}' + confirmation: "W przypadku kontynuacji usunięta zostanie synchronizowana grupa %{name} i wszyscy użytkownicy (%{users_count}) synchronizowani za jej pośrednictwem." + info: "Uwaga: nie zostanie usunięta sama grupa OpenProject ani członkowie dodani poza tą synchronizacją LDAP." + verification: "Wprowadź nazwę grupy %{name}, aby potwierdzić usunięcie." + no_results: 'Nie znaleziono żadnych synchronizowanych grup.' + no_members: 'Ta grupa nie ma jeszcze synchronizowanych członków.' + plural: 'Synchronizowane grupy LDAP' + singular: 'Synchronizowana grupa LDAP' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: 'Wybierz tryb uwierzytelniania LDAP, który ma być używany.' + entry_text: 'Określ identyfikator grupy LDAP.' + group_text: 'Wybierz istniejącą grupę OpenProject, z którą będą synchronizowani członkowie grupy LDAP' diff --git a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml index f60e0d2a2e..e2019293f1 100644 --- a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml +++ b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml @@ -12,15 +12,15 @@ zh-CN: settings: group_key: 'LDAP 组属性' group_key_text: '用于识别组的 LDAP 属性名称。' - group_base: 'LDAP 组基数' - group_base_text: '用于搜索组条目的 LDAP 组基数。' + group_base: 'LDAP 组库' + group_base_text: '用于搜索组条目的 LDAP 组库。' synchronized_groups: add_new: '添加同步的 LDAP 组' destroy: - title: '删除同步组 %{name}' - confirmation: "如果您继续,将删除同步组 %{name} 和通过该组同步的全部 %{users_count} 个用户。" - info: "注意:OpenProject 组本身以及在 LDAP 同步之外添加的成员将不会被删除。" - verification: "输入组名称 %{name} 来验证删除。" + title: '移除同步组 %{name}' + confirmation: "如果您继续,将移除同步组 %{name} 和通过该组同步的全部 %{users_count} 个用户。" + info: "注意:OpenProject 组本身以及在 LDAP 同步之外添加的成员将不会被移除。" + verification: "输入组名称 %{name} 以验证删除。" no_results: '未找到同步的组。' no_members: '此组尚无同步成员。' plural: '同步的 LDAP 组' @@ -28,5 +28,5 @@ zh-CN: form: auth_source_text: '选择使用哪种 LDAP 身份验证模式。' entry_text: '定义 LDAP 组标识符。' - group_text: '选择一个 LDAP 组的成员应与其同步的现有 OpenProject 组' + group_text: '选择 LDAP 组的成员应与其同步的现有 OpenProject 组' diff --git a/modules/openid_connect/config/locales/crowdin/es.yml b/modules/openid_connect/config/locales/crowdin/es.yml index 6eccf4ece3..41c23e3e8e 100644 --- a/modules/openid_connect/config/locales/crowdin/es.yml +++ b/modules/openid_connect/config/locales/crowdin/es.yml @@ -1,19 +1,19 @@ es: logout_warning: > - You have been logged out. The contents of any form you submit may be lost. Please [log in]. + Se ha cerrado la sesión. Puede que se haya perdido el contenido de cualquier formulario que haya enviado. [Inicie la sesión]. activemodel: attributes: openid_connect/provider: name: Nombre - display_name: Display name + display_name: Nombre para mostrar identifier: Identificador - secret: Secret - scope: Scope + secret: Secreto + scope: Ámbito openid_connect: - menu_title: OpenID providers + menu_title: Proveedores de OpenID 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 + label_add_new: Agregar nuevo proveedor de OpenID + label_edit: Editar el proveedor de OpenID %{name} + no_results_table: Aún no se han definido proveedores. + plural: Proveedores de OpenID + singular: Proveedor de OpenID diff --git a/modules/openid_connect/config/locales/crowdin/fr.yml b/modules/openid_connect/config/locales/crowdin/fr.yml index b781ac449f..54295db294 100644 --- a/modules/openid_connect/config/locales/crowdin/fr.yml +++ b/modules/openid_connect/config/locales/crowdin/fr.yml @@ -5,7 +5,7 @@ fr: attributes: openid_connect/provider: name: Nom - display_name: Display name + display_name: Nom d'affichage identifier: Identifiant secret: Secret scope: Portée diff --git a/modules/openid_connect/config/locales/crowdin/ko.yml b/modules/openid_connect/config/locales/crowdin/ko.yml index 5f72747193..00754dac52 100644 --- a/modules/openid_connect/config/locales/crowdin/ko.yml +++ b/modules/openid_connect/config/locales/crowdin/ko.yml @@ -1,19 +1,19 @@ ko: 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: 이름 - display_name: Display name + display_name: 표시 이름 identifier: 식별자 - secret: Secret - scope: Scope + secret: 비밀번호 + scope: 범위 openid_connect: - menu_title: OpenID providers + menu_title: OpenID 공급자 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 + label_add_new: 새로운 OpenID 공급자 추가 + label_edit: OpenID 공급자 %{name} 편집 + no_results_table: 아직 정의된 공급자가 없습니다. + plural: OpenID 공급자 + singular: OpenID 공급자 diff --git a/modules/openid_connect/config/locales/crowdin/pl.yml b/modules/openid_connect/config/locales/crowdin/pl.yml index b1bd1ed79b..09d2aad9de 100644 --- a/modules/openid_connect/config/locales/crowdin/pl.yml +++ b/modules/openid_connect/config/locales/crowdin/pl.yml @@ -1,19 +1,19 @@ pl: logout_warning: > - You have been logged out. The contents of any form you submit may be lost. Please [log in]. + Wylogowano cię. Zawartość każdego przesłanego formularza może zostać utracona. [Zaloguj się]. activemodel: attributes: openid_connect/provider: name: Nazwa - display_name: Display name + display_name: Nazwa wyświetlana identifier: Identyfikator - secret: Secret - scope: Scope + secret: Tajny klucz + scope: Zakres openid_connect: - menu_title: OpenID providers + menu_title: Dostawcy OpenID 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 + label_add_new: Dodaj nowego dostawcę OpenID + label_edit: Edytuj dostawcę OpenID %{name} + no_results_table: Jeszcze nie określono żadnych dostawców. + plural: Dostawcy OpenID + singular: Dostawca OpenID diff --git a/modules/openid_connect/config/locales/crowdin/zh-CN.yml b/modules/openid_connect/config/locales/crowdin/zh-CN.yml index 67469d2092..e4dfe0ac8a 100644 --- a/modules/openid_connect/config/locales/crowdin/zh-CN.yml +++ b/modules/openid_connect/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ zh-CN: logout_warning: > - 您已注销。您提交的任何表单的内容可能丢失。请[登录]。 + 您已退出。您提交的任何表单的内容可能丢失。请[登录]。 activemodel: attributes: openid_connect/provider: @@ -10,10 +10,10 @@ zh-CN: secret: 密钥 scope: 范围 openid_connect: - menu_title: OpenID 提供者 + menu_title: OpenID 提供商 providers: - label_add_new: 添加一个新的 OpenID 提供者 - label_edit: 编辑 OpenID 提供者 %{name} - no_results_table: 尚未定义提供者。 - plural: OpenID 提供者 - singular: OpenID 提供者 + label_add_new: 添加一个新的 OpenID 提供商 + label_edit: 编辑 OpenID 提供商 %{name} + no_results_table: 尚未定义提供商。 + plural: OpenID 提供商 + singular: OpenID 提供商 diff --git a/modules/recaptcha/config/locales/crowdin/es.yml b/modules/recaptcha/config/locales/crowdin/es.yml index 04982b1f76..298ec29f7f 100644 --- a/modules/recaptcha/config/locales/crowdin/es.yml +++ b/modules/recaptcha/config/locales/crowdin/es.yml @@ -1,17 +1,17 @@ es: 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." + button_please_wait: 'Espere…' + verify_account: "Verifique su cuenta" + error_captcha: "No se pudo verificar su cuenta. Póngase en contacto con un administrador." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Clave del sitio web' + website_key_text: 'Especifique la clave del sitio web que ha creado en la consola de administración de reCAPTCHA para este dominio.' secret_key: 'Llave secreta' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Especifique la clave secreta que ha creado en la consola de administración de reCAPTCHA.' + type: 'Usar reCAPTCHA' + type_disabled: 'Deshabilitar 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} + reCAPTCHA es un servicio gratuito ofrecido por Google que se puede habilitar para su instancia de OpenProject. Si se habilita, se mostrará un formulario de CAPTCHA cuando inicien sesión los usuarios que aún no se hayan verificado mediante un CAPTCHA.
Consulte el vínculo siguiente para obtener más información sobre reCAPTCHA y sus versiones, y cómo crear el sitio web y las claves secretas: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/fr.yml b/modules/recaptcha/config/locales/crowdin/fr.yml index b437d4832f..8448bc7599 100644 --- a/modules/recaptcha/config/locales/crowdin/fr.yml +++ b/modules/recaptcha/config/locales/crowdin/fr.yml @@ -1,17 +1,17 @@ fr: 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." + button_please_wait: 'Veuillez patienter ...' + verify_account: "Vérifiez votre compte" + error_captcha: "Votre compte n'a pas pu être vérifié. Veuillez contacter un administrateur." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Clé du site Web' + website_key_text: 'Entrez la clé du site Web que vous avez créée dans la console d''administration reCAPTCHA pour ce domaine.' secret_key: 'Clé secrète' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Entrez la clé secrète que vous avez créée dans la console d''administration reCAPTCHA.' + type: 'Utiliser reCAPTCHA' + type_disabled: 'Désactiver 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} + reCAPTCHA est un service gratuit de Google qui peut être activé pour votre instance OpenProject. Si cette option est activée, un formulaire captcha sera affiché lors de la connexion pour tous les utilisateurs qui n'ont pas encore été vérifiés par un captcha.
Veuillez consulter le lien suivant pour plus de détails sur reCAPTCHA et ses versions, et sur la façon de créer le site et les clés secrètes : %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/ko.yml b/modules/recaptcha/config/locales/crowdin/ko.yml index 5c8c7636f1..9c8e4b7db0 100644 --- a/modules/recaptcha/config/locales/crowdin/ko.yml +++ b/modules/recaptcha/config/locales/crowdin/ko.yml @@ -1,17 +1,17 @@ ko: 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." + button_please_wait: '기다려주십시오...' + verify_account: "계정 인증" + error_captcha: "계정을 인증할 수 없습니다. 관리자에게 문의하십시오." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: '웹사이트 키' + website_key_text: '이 도메인의 reCAPTCHA 관리 콘솔에서 만든 웹사이트 키를 입력하십시오.' secret_key: '비밀 키' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'reCAPTCHA 관리 콘솔에서 만든 비밀 키를 입력하십시오.' + type: 'reCAPTCHA 사용' + type_disabled: '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} + reCAPTCHA는 해당 OpenProject 인스턴스에 대해 활성화할 수 있는 Google의 무료 서비스입니다. 활성화하면, 캡차를 아직 확인하지 않은 모든 사용자가 로그인할 때 캡차 양식이 렌더링됩니다.
reCAPTCHA와 해당 버전 관련 세부 정보 및 웹사이트 키와 비밀 키를 생성하는 방법은 다음 링크를 참조하십시오: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/ru.yml b/modules/recaptcha/config/locales/crowdin/ru.yml index 703aeebd54..ea3dcb4cba 100644 --- a/modules/recaptcha/config/locales/crowdin/ru.yml +++ b/modules/recaptcha/config/locales/crowdin/ru.yml @@ -1,17 +1,17 @@ ru: 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." + button_please_wait: 'Пожалуйста, подождите...' + verify_account: "Подтвердить учетную запись" + error_captcha: "Невозможно подтвердить учетную запись. Пожалуйста, свяжитесь с администратором." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Ключ веб-сайта' + website_key_text: 'Введите ключ веб-сайта, который вы создали на консоли администратора reCAPTCHA для этого домена.' secret_key: 'Секретный ключ' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Введите секретный ключ, который вы создали на консоли администратора reCAPTCHA.' + type: 'Использовать reCAPTCHA' + type_disabled: 'Отключить 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} + reCAPTCHA — это бесплатный сервис Google, который можно включить для OpenProject. Если он включен, форма ввода капчи будет отображаться при входе для всех пользователей, которые еще не подтвердили капчу.
Пожалуйста, перейдите по следующей ссылке, чтобы узнать больше о reCAPTCHA и его версиях, а также о том, как создать веб-сайт и секретные ключи: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/zh-CN.yml b/modules/recaptcha/config/locales/crowdin/zh-CN.yml index 9c29fabf64..dfd62f4d9c 100644 --- a/modules/recaptcha/config/locales/crowdin/zh-CN.yml +++ b/modules/recaptcha/config/locales/crowdin/zh-CN.yml @@ -1,17 +1,17 @@ zh-CN: 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." + button_please_wait: '请稍候…' + verify_account: "验证您的帐户" + error_captcha: "您的帐户无法验证。请联系管理员。" settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: '网站密钥' + website_key_text: '输入您在 reCAPTCHA 管理控制台上为此域创建的网站密钥。' secret_key: '密钥' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: '输入您在 reCAPTCHA 管理控制台上创建的密钥。' + type: '使用 reCAPTCHA' + type_disabled: '禁用 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} + reCAPTCHA 是一项可为您的 OpenProject 实例启用的 Google 免费服务。如果启用,则在登录时将为尚未验证验证码的所有用户提供一个验证码表单。
请参见以下链接,获取有关 reCAPTCHA 及其版本以及如何创建网站和密钥的更多详细信息:%{recaptcha_link} diff --git a/modules/webhooks/config/locales/crowdin/es.yml b/modules/webhooks/config/locales/crowdin/es.yml index d8e72cd570..f9d8a353ed 100644 --- a/modules/webhooks/config/locales/crowdin/es.yml +++ b/modules/webhooks/config/locales/crowdin/es.yml @@ -2,55 +2,55 @@ es: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: 'URL de carga' + secret: 'Secreto de firma' + events: 'Eventos' projects: 'Proyectos habilitados' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: 'Nombre del evento' + url: 'URL de carga' + response_code: 'Código de respuesta' + response_body: 'Respuesta' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "Webhook de salida" webhooks: singular: Webhook plural: Webhooks 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 + no_results_table: Aún no se han definido webhooks. + label_add_new: Agregar nuevo webhook + label_edit: Editar webhook + label_event_resources: Recursos del evento events: created: "Creado" - updated: "Updated" + updated: "Actualizado" 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.' + enabled: 'El webhook está habilitado' + disabled: 'El webhook está deshabilitado' + enabled_text: 'El webhook emitirá cargas para los eventos definidos a continuación.' + disabled_text: 'Haga clic en el botón Editar para activar el webhook.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: No se han realizado entregas para este webhook. + title: 'Entregas recientes' + time: 'Hora de entrega' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + Envíe una solicitud POST a la URL de carga siguiente para cualquier evento en el proyecto al que se haya suscrito. La carga se corresponderá con la representación de APIv3 del objeto que se vaya a modificar. + apiv3_doc_url: Para obtener más información, visite la documentación de la API description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Descripción opcional del webhook.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + Al activar esta opción, el webhook se activará cuando se produzcan los eventos seleccionados. Desactive esta opción para deshabilitar el webhook. events: - title: 'Enabled events' + title: 'Eventos habilitados' project_ids: title: 'Proyectos habilitados' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: 'Seleccione para qué proyectos se ejecutará este webhook.' + all: 'Todos los proyectos' + selected: 'Solo los proyectos seleccionados' selected_project_ids: - title: 'Selected projects' + title: 'Proyectos seleccionados' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + Si se establece el valor secreto, OpenProject se usará para firmar la carga del webhook. diff --git a/modules/webhooks/config/locales/crowdin/fr.yml b/modules/webhooks/config/locales/crowdin/fr.yml index 54c5617336..0d78ca38c3 100644 --- a/modules/webhooks/config/locales/crowdin/fr.yml +++ b/modules/webhooks/config/locales/crowdin/fr.yml @@ -2,55 +2,55 @@ fr: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: 'URL de payload' + secret: 'Secret de la signature' + events: 'Événements' projects: 'Projets activés' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: 'Nom de l''événement' + url: 'URL de payload' + response_code: 'Code de réponse' + response_body: 'Réponse' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "Webhook sortant" webhooks: singular: Webhook plural: Webhooks 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 + no_results_table: Aucun webhook n'a encore été défini. + label_add_new: Ajouter un nouveau webhook + label_edit: Modifier le webhook + label_event_resources: Ressources de l'événement events: created: "Créé" - updated: "Updated" + updated: "Mis à jour" 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.' + enabled: 'Webhook activé' + disabled: 'Webhook désactivé' + enabled_text: 'Le webhook émettra des payloads pour les événements définis ci-dessous.' + disabled_text: 'Cliquez sur le bouton Modifier pour activer le webhook.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: Aucune livraison n'a été effectuée pour ce webhook. + title: 'Livraisons récentes' + time: 'Délai de livraison' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + Envoyez une demande POST à l'URL de payload ci-dessous pour tout événement dans le projet auquel vous êtes abonné. Payload correspond à la représentation APIv3 de l'objet en cours de modification. + apiv3_doc_url: Pour plus d'informations, consultez la documentation API description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Description facultative pour le webhook.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + En cochant cette option, le webhook déclenchera les événements sélectionnés. Décochez pour désactiver le webhook. events: - title: 'Enabled events' + title: 'Événements activés' project_ids: title: 'Projets activés' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: 'Sélectionnez les projets pour lesquels ce webhook doit être exécuté.' + all: 'Tous les projets' + selected: 'Projets sélectionnés uniquement' selected_project_ids: - title: 'Selected projects' + title: 'Projets sélectionnés' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + Si définie, cette valeur secrète est utilisée par OpenProject pour signer le payload du webhook. diff --git a/modules/webhooks/config/locales/crowdin/ko.yml b/modules/webhooks/config/locales/crowdin/ko.yml index ec484c2f8a..254f718775 100644 --- a/modules/webhooks/config/locales/crowdin/ko.yml +++ b/modules/webhooks/config/locales/crowdin/ko.yml @@ -2,55 +2,55 @@ ko: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: '페이로드 URL' + secret: '서명 비밀번호' + events: '이벤트' projects: '활성화 된 프로젝트' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: '이벤트 이름' + url: '페이로드 URL' + response_code: '응답 코드' + response_body: '응답' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "발신 Webhook" webhooks: singular: Webhook - plural: Webhooks + plural: Webhook 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 + no_results_table: 아직 정의된 Webhook이 없습니다. + label_add_new: 새로운 Webhook 추가 + label_edit: Webhook 편집 + label_event_resources: 이벤트 리소스 events: created: "생성됨" - updated: "Updated" + updated: "업데이트됨" 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.' + enabled: 'Webhook이 활성화되었습니다' + disabled: 'Webhook이 비활성화되었습니다' + enabled_text: 'Webhook은 아래에 정의된 이벤트의 페이로드를 내보냅니다.' + disabled_text: '편집 버튼을 클릭하여 Webhook을 활성화하십시오.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: 이 Webhook에 대한 배달이 진행되지 않았습니다. + title: '최근 배달' + time: '배달 시간' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + 구독하는 프로젝트의 모든 이벤트에 대해 아래의 페이로드 URL에 POST 요청을 보내십시오. 페이로드는 수정될 개체의 APIv3 표현에 해당합니다. + apiv3_doc_url: 자세한 내용은 API 설명서를 참조하십시오. description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Webhook에 대한 선택적 설명입니다.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + 선택한 경우, 선택된 이벤트에서 Webhook이 트리거됩니다. Webhook을 비활성화하려면 선택 취소하십시오. events: - title: 'Enabled events' + title: '활성화된 이벤트' project_ids: title: '활성화 된 프로젝트' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: '이 Webhook이 실행되는 프로젝트를 선택하십시오.' + all: '모든 프로젝트' + selected: '선택한 프로젝트만' selected_project_ids: - title: 'Selected projects' + title: '선택한 프로젝트' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + 설정한 경우 이 비밀번호 값은 OpenProject에 의해 Webhook 페이로드에 서명하는 데 사용됩니다. diff --git a/modules/webhooks/config/locales/crowdin/pl.yml b/modules/webhooks/config/locales/crowdin/pl.yml index 576864a090..2a936435e9 100644 --- a/modules/webhooks/config/locales/crowdin/pl.yml +++ b/modules/webhooks/config/locales/crowdin/pl.yml @@ -2,55 +2,55 @@ pl: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: 'URL do wywołania' + secret: 'Tajny klucz podpisu' + events: 'Zdarzenia' projects: 'Aktywne projekty' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: 'Nazwa zdarzenia' + url: 'URL do wywołania' + response_code: 'Kod odpowiedzi' + response_body: 'Odpowiedź' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "Webhook wychodzący" webhooks: singular: Webhook - plural: Webhooks + plural: Webhooki 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 + no_results_table: Jeszcze nie określono żadnych webhooków. + label_add_new: Dodaj nowy webhook + label_edit: Edytuj webhook + label_event_resources: Zasoby zdarzeń events: created: "Utworzono" - updated: "Updated" + updated: "Zaktualizowano" 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.' + enabled: 'Webhook jest włączony' + disabled: 'Webhook jest wyłączony' + enabled_text: 'Webhook będzie emitować zawartość zdarzeń określonych poniżej.' + disabled_text: 'Kliknij przycisk edycji, aby aktywować webhook.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: Nie wykonano żadnych dostaw dla tego webhooka. + title: 'Ostatnie dostawy' + time: 'Czas dostawy' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + Wyślij żądanie POST na adres URL zawartości każdego zdarzenia w subskrybowanym projekcie. Zawartość będzie odpowiadała reprezentacji modyfikowanego obiektu w APIv3. + apiv3_doc_url: Więcej informacji zawiera dokumentacja interfejsu API description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Opcjonalny opis webhooka.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + W razie zaznaczenia webhook będzie uruchamiany przez wybrane zdarzenia. Usuń zaznaczenie, aby wyłączyć webhook. events: - title: 'Enabled events' + title: 'Włączone zdarzenia' project_ids: title: 'Aktywne projekty' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: 'Wybierz projekty, dla których ma być wykonywany ten webhook.' + all: 'Wszystkie projekty' + selected: 'Tylko wybrane projekty' selected_project_ids: - title: 'Selected projects' + title: 'Wybrane projekty' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + W razie ustawienia ta wartość tajnego klucza jest używana przez OpenProject do podpisywania zawartości webhooka. diff --git a/modules/webhooks/config/locales/crowdin/zh-CN.yml b/modules/webhooks/config/locales/crowdin/zh-CN.yml index ec4ddab4f7..2b56bf2b2e 100644 --- a/modules/webhooks/config/locales/crowdin/zh-CN.yml +++ b/modules/webhooks/config/locales/crowdin/zh-CN.yml @@ -2,55 +2,55 @@ zh-CN: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: '有效载荷 URL' + secret: '签名密钥' + events: '事件' projects: '已启用的项目' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: '事件名称' + url: '有效载荷 URL' + response_code: '响应代码' + response_body: '响应' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "传出 Webhook" webhooks: singular: Webhook - plural: Webhooks + plural: Webhook 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 + no_results_table: 尚未定义任何 Webhook。 + label_add_new: 添加新的 Webhook + label_edit: 编辑 Webhook + label_event_resources: 事件资源 events: created: "已创建" - updated: "Updated" + updated: "已更新" 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.' + enabled: 'Webhook 已启用' + disabled: 'Webhook 已禁用' + enabled_text: 'Webhook 将为下面的定义事件释放有效载荷。' + disabled_text: '点击“编辑”按钮以激活 Webhook。' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: 此 Webhook 尚未进行任何传送。 + title: '最近传送' + time: '传送时间' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + 对于您所订阅项目中的任何事件,将 POST 请求发送到下面的有效载荷 URL。有效载荷将对应于要修改的对象的 APIv3 表示。 + apiv3_doc_url: 有关更多信息,请访问 API 文档 description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Webhook 的可选描述。' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + 选中时,Webhook 将触发选定事件。取消选中可以禁用 Webhook。 events: - title: 'Enabled events' + title: '已启用事件' project_ids: title: '已启用的项目' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: '选择此 Webhook 应当针对哪些项目执行。' + all: '所有项目' + selected: '仅限选定项目' selected_project_ids: - title: 'Selected projects' + title: '选定项目' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + 如果设置,OpenProject 将使用此密钥值对 Webhook 有效载荷进行签名。 diff --git a/modules/xls_export/config/locales/crowdin/es.yml b/modules/xls_export/config/locales/crowdin/es.yml index c1f7ef8a44..89e524de4d 100644 --- a/modules/xls_export/config/locales/crowdin/es.yml +++ b/modules/xls_export/config/locales/crowdin/es.yml @@ -1,13 +1,13 @@ es: - export_to_excel: "Export as Excel spreadsheet" - print_with_description: "Print preview with description" + export_to_excel: "Exportar como hoja de cálculo de Excel" + print_with_description: "Vista previa de impresión con descripción" sentence_separator_or: "o bien" - different_formats: Different formats + different_formats: Diferentes formatos export: format: xls: "XLS" xls_with_descriptions: "XLS con descripciones" - xls_with_relations: "XLS with relations" + xls_with_relations: "XLS con relaciones" xls_export: - child_of: child of - parent_of: parent of + child_of: elemento secundario de + parent_of: elemento principal de diff --git a/modules/xls_export/config/locales/crowdin/ko.yml b/modules/xls_export/config/locales/crowdin/ko.yml index 88c672a752..1698ae4c8f 100644 --- a/modules/xls_export/config/locales/crowdin/ko.yml +++ b/modules/xls_export/config/locales/crowdin/ko.yml @@ -1,13 +1,13 @@ ko: - export_to_excel: "Export as Excel spreadsheet" - print_with_description: "Print preview with description" + export_to_excel: "Excel 스프레드시트 내보내기" + print_with_description: "설명이 포함된 미리 보기 인쇄" sentence_separator_or: "또는" - different_formats: Different formats + different_formats: 다른 형식 export: format: xls: "XLS" - xls_with_descriptions: "XLS with descriptions" - xls_with_relations: "XLS with relations" + xls_with_descriptions: "설명이 포함된 XLS" + xls_with_relations: "관계가 포함된 XLS" xls_export: - child_of: child of - parent_of: parent of + child_of: '다음의 자식:' + parent_of: '다음의 부모:' diff --git a/modules/xls_export/config/locales/crowdin/pl.yml b/modules/xls_export/config/locales/crowdin/pl.yml index b36f91998c..b3782a6e62 100644 --- a/modules/xls_export/config/locales/crowdin/pl.yml +++ b/modules/xls_export/config/locales/crowdin/pl.yml @@ -1,13 +1,13 @@ pl: - export_to_excel: "Export as Excel spreadsheet" - print_with_description: "Print preview with description" + export_to_excel: "Wyeksportuj jako arkusz kalkulacyjny programu Excel" + print_with_description: "Podgląd wydruku z opisem" sentence_separator_or: "lub" - different_formats: Different formats + different_formats: Odmienne formaty export: format: xls: "XLS" xls_with_descriptions: "XLS z opisami" - xls_with_relations: "XLS with relations" + xls_with_relations: "XLS z relacjami" xls_export: - child_of: child of - parent_of: parent of + child_of: element podrzędny + parent_of: element nadrzędny From c13ad4a446e606bf7b30583e64a22735e119a950 Mon Sep 17 00:00:00 2001 From: Travis CI User Date: Thu, 26 Sep 2019 09:00:56 +0000 Subject: [PATCH 05/19] update locales from crowdin [ci skip] --- config/locales/crowdin/es.yml | 22 ++--- config/locales/crowdin/js-de.yml | 2 +- config/locales/crowdin/js-es.yml | 64 ++++++------- config/locales/crowdin/js-fr.yml | 8 +- config/locales/crowdin/js-ko.yml | 26 +++--- config/locales/crowdin/js-pl.yml | 4 +- config/locales/crowdin/js-pt.yml | 6 +- config/locales/crowdin/js-ru.yml | 6 +- config/locales/crowdin/js-zh-CN.yml | 16 ++-- config/locales/crowdin/ko.yml | 4 +- config/locales/crowdin/pl.yml | 4 +- config/locales/crowdin/pt.yml | 4 +- config/locales/crowdin/ru.yml | 2 +- config/locales/crowdin/zh-CN.yml | 10 +- modules/avatars/config/locales/crowdin/es.yml | 48 +++++----- modules/avatars/config/locales/crowdin/fr.yml | 8 +- .../avatars/config/locales/crowdin/js-es.yml | 14 +-- .../avatars/config/locales/crowdin/js-fr.yml | 4 +- .../avatars/config/locales/crowdin/js-ko.yml | 8 +- .../avatars/config/locales/crowdin/js-pl.yml | 14 +-- .../avatars/config/locales/crowdin/js-pt.yml | 2 +- modules/avatars/config/locales/crowdin/ko.yml | 20 ++-- modules/avatars/config/locales/crowdin/pl.yml | 52 +++++------ modules/avatars/config/locales/crowdin/pt.yml | 6 +- .../avatars/config/locales/crowdin/zh-CN.yml | 6 +- modules/bcf/config/locales/crowdin/es.yml | 92 +++++++++---------- modules/bcf/config/locales/crowdin/fr.yml | 88 +++++++++--------- modules/bcf/config/locales/crowdin/ko.yml | 70 +++++++------- modules/bcf/config/locales/crowdin/pl.yml | 16 ++-- modules/bcf/config/locales/crowdin/zh-CN.yml | 18 ++-- modules/boards/config/locales/crowdin/es.yml | 4 +- modules/boards/config/locales/crowdin/fr.yml | 4 +- .../boards/config/locales/crowdin/js-es.yml | 62 ++++++------- .../boards/config/locales/crowdin/js-fr.yml | 60 ++++++------ .../boards/config/locales/crowdin/js-ko.yml | 62 ++++++------- .../boards/config/locales/crowdin/js-pl.yml | 12 +-- .../boards/config/locales/crowdin/js-pt.yml | 2 +- .../config/locales/crowdin/js-zh-CN.yml | 54 +++++------ modules/boards/config/locales/crowdin/ko.yml | 4 +- .../dashboards/config/locales/crowdin/es.yml | 6 +- .../dashboards/config/locales/crowdin/fr.yml | 4 +- .../config/locales/crowdin/js-es.yml | 2 +- .../config/locales/crowdin/js-fr.yml | 2 +- .../config/locales/crowdin/js-ko.yml | 2 +- .../config/locales/crowdin/js-pl.yml | 2 +- .../config/locales/crowdin/js-zh-CN.yml | 2 +- .../dashboards/config/locales/crowdin/ko.yml | 6 +- .../dashboards/config/locales/crowdin/pl.yml | 6 +- .../config/locales/crowdin/zh-CN.yml | 6 +- .../config/locales/crowdin/es.yml | 8 +- .../config/locales/crowdin/fr.yml | 8 +- .../config/locales/crowdin/ko.yml | 8 +- .../config/locales/crowdin/pl.yml | 8 +- .../config/locales/crowdin/zh-CN.yml | 8 +- .../grids/config/locales/crowdin/js-es.yml | 26 +++--- .../grids/config/locales/crowdin/js-fr.yml | 26 +++--- .../grids/config/locales/crowdin/js-ko.yml | 26 +++--- .../grids/config/locales/crowdin/js-pl.yml | 22 ++--- .../grids/config/locales/crowdin/js-ru.yml | 10 +- .../grids/config/locales/crowdin/js-zh-CN.yml | 26 +++--- .../ldap_groups/config/locales/crowdin/es.yml | 42 ++++----- .../ldap_groups/config/locales/crowdin/fr.yml | 42 ++++----- .../ldap_groups/config/locales/crowdin/ko.yml | 42 ++++----- .../ldap_groups/config/locales/crowdin/pl.yml | 32 +++---- .../config/locales/crowdin/zh-CN.yml | 14 +-- .../config/locales/crowdin/es.yml | 20 ++-- .../config/locales/crowdin/fr.yml | 2 +- .../config/locales/crowdin/ko.yml | 20 ++-- .../config/locales/crowdin/pl.yml | 2 +- .../config/locales/crowdin/zh-CN.yml | 14 +-- .../recaptcha/config/locales/crowdin/es.yml | 18 ++-- .../recaptcha/config/locales/crowdin/fr.yml | 18 ++-- .../recaptcha/config/locales/crowdin/ko.yml | 18 ++-- .../recaptcha/config/locales/crowdin/ru.yml | 18 ++-- .../config/locales/crowdin/zh-CN.yml | 18 ++-- .../webhooks/config/locales/crowdin/es.yml | 60 ++++++------ .../webhooks/config/locales/crowdin/fr.yml | 60 ++++++------ .../webhooks/config/locales/crowdin/ko.yml | 62 ++++++------- .../webhooks/config/locales/crowdin/pl.yml | 62 ++++++------- .../webhooks/config/locales/crowdin/zh-CN.yml | 62 ++++++------- .../xls_export/config/locales/crowdin/es.yml | 12 +-- .../xls_export/config/locales/crowdin/ko.yml | 14 +-- 82 files changed, 887 insertions(+), 887 deletions(-) diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 132917a6c7..2529579e13 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -90,7 +90,7 @@ es: concatenation: single: 'o bien' deprecations: - time_entries: "This time entries view is superseded by the 'Cost reports' module. This view now only supports exporting time entry information to csv. For interactive filtering, please activate the 'Cost reports' module in the project settings." + time_entries: "Esta vista de entradas de tiempo se ha reemplazado por el módulo “Informes de costes”. En este momento, esta vista solo permite exportar a CSV información de entradas de tiempo. Para el filtrado interactivo, active el módulo “Informes de costes“ en la configuración del proyecto." global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -1028,7 +1028,7 @@ es: general_text_yes: "sí" general_text_No: "No" general_text_Yes: "Sí" - general_text_true: "true" + general_text_true: "verdadero" general_text_false: "falso" gui_validation_error: "1 error" gui_validation_error_plural: "errores %{count}" @@ -1523,7 +1523,7 @@ es: label_used_by_types: "Utilizado por tipos" label_used_in_projects: "Utilizado en proyectos" label_user: "Usuario" - label_user_and_permission: "Users & Permissions" + label_user_and_permission: "Usuarios y permisos" label_user_named: "Usuario %{name}" label_user_activity: "Actividad de %{value} " label_user_anonymous: "Anónimo" @@ -1536,7 +1536,7 @@ es: label_user_new: "Nuevo usuario" label_user_plural: "Usuarios" label_user_search: "Búsqueda de usuario" - label_user_settings: "User settings" + label_user_settings: "Configuración de usuario" label_version_new: "Nueva versión" label_version_plural: "Versiones" label_version_sharing_descendants: "Con subproyectos" @@ -1554,7 +1554,7 @@ es: label_wiki_content_added: "Página wiki añadida" label_wiki_content_updated: "Página wiki actualizada" label_wiki_toc: "Tabla de contenidos" - label_wiki_toc_empty: "Table of Contents is empty as no headings are present." + label_wiki_toc_empty: "El índice está vacío porque no hay ningún encabezado." label_wiki_dont_show_menu_item: "No mostrar esta página wiki en la navegación del proyecto" label_wiki_edit: "Editar Wiki" label_wiki_edit_plural: "Ediciones Wiki" @@ -1641,7 +1641,7 @@ es: legacy_warning: timeline: 'Esta macro de línea de tiempo heredada se ha quitado y ya no está disponible. Puede sustituir la función por una macro de tabla insertada.' include_wiki_page: - removed: 'The macro does no longer exist.' + removed: 'La macro ya no existe.' wiki_child_pages: errors: page_not_found: "No se encuentra la página wiki “%{name}”." @@ -2017,7 +2017,7 @@ es: setting_feeds_limit: "Limite de contenido de feed" setting_file_max_size_displayed: "Tamaño máximo de archivos de texto mostrado en linea" setting_host_name: "Nombre de host" - setting_invitation_expiration_days: "Activation email expires after" + setting_invitation_expiration_days: "El correo electrónico de activación caduca después de" setting_work_package_done_ratio: "Calcular la relacion de paquete de trabajo hecho con" setting_work_package_done_ratio_field: "Usar el campo de paquete de trabajo" setting_work_package_done_ratio_status: "Usar el estado del paquete de trabajo" @@ -2136,7 +2136,7 @@ es: text_destroy_with_associated: "Hay objetos adicionales asociados a los paquetes de trabajo que van a ser eliminados. Esos objetos son de los siguientes tipos:" text_destroy_what_to_do: "¿Qué quieres hacer?" text_diff_truncated: "... Esta diferencia se truncó porque excede el tamaño máximo que puede visualizarse." - text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/configuration.yml and restart the application to enable them." + text_email_delivery_not_configured: "No se ha configurado la entrega de correo electrónico y las notificaciones están deshabilitadas.\nConfigure el servidor SMTP en config/configuration.yml y reinicie la aplicación para habilitarlas." text_enumeration_category_reassign_to: "Reasignarlos a este valor:" text_enumeration_destroy_question: "%{count} objetos asignados a este valor." text_file_repository_writable: "Directorio de adjuntos escribible" @@ -2237,7 +2237,7 @@ es: edit_color: "Editar colores" edit_thing: "Editar" edit_timeline: "Edición del informe de tiempos %{timeline}" - delete_timeline: "Delete timeline report %{timeline}" + delete_timeline: "Eliminar el informe de línea de tiempo %{timeline}" empty: "(vacío)" enable_type_in_project: 'Habilitar tipo "%{type}"' end: "Final" @@ -2254,8 +2254,8 @@ es: compare_to_absolute: "El valor de la comparación absoluta " planning_element_time_relative_one: "El comienzo para los paquetes de trabajo en un cierto plazo " planning_element_time_relative_two: "Al final de los paquetes de trabajo en un cierto plazo " - 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 " + planning_element_time_absolute_one: "El inicio de los paquetes de trabajo en un determinado período de tiempo " + planning_element_time_absolute_two: "La finalización de los paquetes de trabajo en un determinado período de tiempo " sort: sortation: "Ordenar por" alphabet: "alfabeto" diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index b2859e288f..b0afb42c60 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -630,7 +630,7 @@ de: no_results: title: Keine Arbeitspakete anzuzeigen. description: Es wurden entweder keine Arbeitspakete erzeugt oder alle Arbeitspakete wurden ausgefiltert. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: Nur %{count} Arbeitspakete können im manuellen Sortiermodus angezeigt werden. Bitte reduzieren Sie die Ergebnisse durch Filtern. property_groups: details: "Details" people: "Personen" diff --git a/config/locales/crowdin/js-es.yml b/config/locales/crowdin/js-es.yml index e1248869fd..9b140b0c8e 100644 --- a/config/locales/crowdin/js-es.yml +++ b/config/locales/crowdin/js-es.yml @@ -20,7 +20,7 @@ es: button_back_to_list_view: "Volver a la lista" button_cancel: "Cancelar" button_close: "Cerrar" - button_change_project: "Change project" + button_change_project: "Cambiar proyecto" button_check_all: "Seleccionar Todos" button_configure-form: "Configurar formulario" button_confirm: "Confirmar" @@ -41,8 +41,8 @@ es: button_open_details: "Abrir vista detallada" button_close_details: "Cerrar vista detallada" button_open_fullscreen: "Ver pantalla completa" - button_show_cards: "Show card view" - button_show_list: "Show list view" + button_show_cards: "Mostrar vista de tarjeta" + button_show_list: "Mostrar vista de lista" button_quote: "Comentario" button_save: "Guardar" button_settings: "Configuración" @@ -52,7 +52,7 @@ es: button_export-atom: "Descargar Atom" calendar: title: 'Calendario' - too_many: 'There are %{count} work packages in total, but only %{max} can be shown.' + too_many: 'Hay %{count} paquetes de trabajo en total, pero solo pueden mostrarse %{max}.' card: add_new: 'Añadir nueva tarjeta' highlighting: @@ -63,22 +63,22 @@ es: browser_error: "Su navegador no soporta copiar al portapapeles. Por favor, copie el texto seleccionado manualmente." copied_successful: "¡Copiado correctamente en el portapapeles!" chart: - type: 'Chart type' - axis_criteria: 'Axis criteria' - modal_title: 'Work package graph configuration' + type: 'Tipo de gráfico' + axis_criteria: 'Criterios de eje' + modal_title: 'Configuración del gráfico del paquete de trabajo' types: - line: 'Line' - horizontal_bar: 'Horizontal bar' - bar: 'Bar' - pie: 'Pie' - doughnut: 'Doughnut' - radar: 'Radar' - polar_area: 'Polar area' + line: 'Línea' + horizontal_bar: 'Barra horizontal' + bar: 'Barra' + pie: 'Circular' + doughnut: 'Anillos' + radar: 'Radial' + polar_area: 'Área polar' tabs: graph_settings: 'General' - dataset: 'Dataset %{number}' + dataset: 'Conjunto de datos %{number}' errors: - could_not_load: 'The data to display the graph could not be loaded. The necessary permissions may be lacking.' + could_not_load: 'No se pueden cargar los datos necesarios para mostrar el gráfico. Puede que falten los permisos necesarios.' description_available_columns: "Columnas disponibles" description_current_position: "Usted está aquí: " description_select_work_package: "Seleccione el paquete de trabajo #%{id}" @@ -138,7 +138,7 @@ es: drag_to_activate: "Arrastre campos desde aquí para activarlos" add_group: "Agregar grupo de atributos" add_table: "Agregar tabla de paquetes de trabajo relacionados" - edit_query: 'Edit query' + edit_query: 'Editar consulta' new_group: 'Nuevo grupo' reset_to_defaults: 'Restablecer valores predeterminados' custom_actions: @@ -295,7 +295,7 @@ es: label_total_progress: "Progreso total: %{percent}%" label_total_amount: "Total: %{amount}" label_updated_on: "actualizado el" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(valor derivado del elemento secundario)" label_warning: "Alerta" label_work_package: "Paquete de trabajo" label_work_package_plural: "Paquetes de trabajo" @@ -331,7 +331,7 @@ es: label_wait: "Por favor espere para la configuración..." label_upload_counter: "%{done} de %{count} archivos terminados" label_validation_error: "El paquete de trabajo no puede ser guardado debido a los errores siguientes:" - label_view_has_changed: "This view has unsaved changes. Click to save them." + label_view_has_changed: "Esta vista tiene cambios sin guardar. Haga clic para guardarlos." help_texts: show_modal: 'Mostrar entrada de texto de ayuda para atributo' onboarding: @@ -444,8 +444,8 @@ es: set_parent: "Establecer elemento primario" change_parent: "Cambiar padre" remove_parent: "Eliminar padre" - hierarchy_indent: "Indent hierarchy" - hierarchy_outdent: "Outdent hierarchy" + hierarchy_indent: "Aumentar sangría de jerarquía" + hierarchy_outdent: "Anular sangría de jerarquía" group_by_wp_type: "Agrupar por tipo de paquete de trabajo" group_by_relation_type: "Grupo por tipo de relación" add_parent: "Añadir padre existente" @@ -573,7 +573,7 @@ es: image: "Imagen" work_packages: bulk_actions: - move: 'Bulk change of project' + move: 'Cambio masivo del proyecto' edit: 'Edición en masa' copy: 'Copia en masa' delete: 'Eliminación en masa' @@ -605,7 +605,7 @@ es: message_successful_show_in_fullscreen: "Haga clic aquí para abrir este paquete de trabajo en la vista de pantalla completa." message_view_spent_time: "Mostrar el tiempo invertido en este paquete de trabajo" message_work_package_read_only: "El paquete de trabajo está bloqueado en este estado. Excepto el estado, ningún otro atributo se puede modificar." - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "El estado del paquete de trabajo no permite la escritura porque se asignarán el estado cerrado y la versión cerrada." no_value: "Sin valor" placeholder_filter_by_text: "Asunto, descripción, comentarios, ..." inline_create: @@ -631,7 +631,7 @@ es: no_results: title: No hay paquetes de trabajo para mostrar. description: O bien no se han creado o se filtran todos los paquetes de trabajo. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: En el modo de ordenación manual, solo puede mostrarse un máximo de %{count} paquetes de trabajo. Filtre para reducir el número de resultados. property_groups: details: "Detalles" people: "Participantes" @@ -691,9 +691,9 @@ es: confirm_edit_cancel: "¿Está seguro de que quiere cancelar la edición del nombre de esta vista? El título volverá a establecerse en el valor anterior." click_to_edit_query_name: "Haga clic para editar el título de esta vista." rename_query_placeholder: "Nombre de la vista" - star_text: "Mark this view as favorite and add to the saved views sidebar on the left." + star_text: "Marque esta vista como favorita y agréguela a la barra lateral de vistas guardadas de la izquierda." 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. + Publique esta vista para que otros usuarios puedan acceder a esta. Los usuarios con el permiso “Administrar vistas públicas” puede modificar o quitar consultas públicas. Esto no afecta a la visibilidad de los resultados de paquetes de trabajo en esa vista y, según sus permisos, los usuarios pueden ver resultados distintos. errors: unretrievable_query: "No se puede recuperar la vista de la URL" not_found: "No existe la vista" @@ -728,10 +728,10 @@ es: priority: 'Prioridad' type: 'Tipo' 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.' + description: 'Seleccione el modo de ordenación de los paquetes de trabajo:' + automatic: 'Automático' + manually: 'Manual' + warning: 'Al activar el modo de ordenación automática, se perderá la ordenación actual.' columns_help_text: "Use los datos anteriores para agregar o quitar columnas de la vista de tabla. Puede arrastrar y colocar las columnas para cambiar el orden." upsale: attribute_highlighting: '¿Necesita que algunos paquetes de trabajo destaquen del resto?' @@ -841,6 +841,6 @@ es: project_and_subprojects: "y todos los subproyectos" search_for: "Búsqueda por" views: - card: 'Cards' - list: 'Table' + card: 'Tarjetas' + list: 'Tabla' timeline: 'Gantt' diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 6b8086df78..3431822e6b 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -73,7 +73,7 @@ fr: pie: 'Camembert' doughnut: 'Anneau' radar: 'Radar' - polar_area: 'Polar area' + polar_area: 'Aire polaire' tabs: graph_settings: 'Général' dataset: 'Ensemble de données %{number}%' @@ -444,8 +444,8 @@ fr: set_parent: "Définir parent" change_parent: "Changer le parent" remove_parent: "Supprimer le parent" - hierarchy_indent: "Indent hierarchy" - hierarchy_outdent: "Outdent hierarchy" + hierarchy_indent: "Indentation de la hiérarchie" + hierarchy_outdent: "Supprimer l'indentation de la hiérarchie" group_by_wp_type: "Grouper par type de lot de travaux" group_by_relation_type: "Grouper par type de relation" add_parent: "Ajouter un parent existant" @@ -631,7 +631,7 @@ fr: no_results: title: Aucun lot de travaux à afficher. description: Soit aucun n'a été créé, soit tous les lots de travaux sont filtrés. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: Seuls %{count} lots de travaux peuvent être affichés en mode de tri manuel. Veuillez réduire les résultats en filtrant. property_groups: details: "Détails" people: "Participants" diff --git a/config/locales/crowdin/js-ko.yml b/config/locales/crowdin/js-ko.yml index 6eee75d033..2eb69002db 100644 --- a/config/locales/crowdin/js-ko.yml +++ b/config/locales/crowdin/js-ko.yml @@ -63,7 +63,7 @@ ko: browser_error: "브라우저를 클립보드에 복사를 지원 하지 않습니다. 텍스트를 타이핑하여 복사하십시오." copied_successful: "클립보드에 성공적으로 복사됨" chart: - type: '차트 종류' + type: '차트 유형' axis_criteria: '축 기준' modal_title: '작업 패키지 그래프 구성' types: @@ -295,7 +295,7 @@ ko: label_total_progress: "%{percent}% 진행" label_total_amount: "합계: %{amount}" label_updated_on: "업데이트 :" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(자식에서 파생된 값)" label_warning: "경고" label_work_package: "작업 패키지" label_work_package_plural: "작업 패키지" @@ -603,7 +603,7 @@ ko: message_successful_show_in_fullscreen: "전체 화면 보기에서 이 작업 패키지를 열려면 여기를 클릭하세요." message_view_spent_time: "이 작업 패키지에 대해 소비한 시간 표시" message_work_package_read_only: "작업 패키지가 이 상태로 잠겨 있습니다. 상태 이외의 특성은 변경할 수 없습니다." - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "닫힌 상태이고 닫힌 버전이 할당되었기 때문에 작업 패키지 상태를 쓸 수 없습니다." no_value: "값 없음" placeholder_filter_by_text: "제목, 설명, 코멘트, ..." inline_create: @@ -629,7 +629,7 @@ ko: no_results: title: 표시할 작업 패키지가 없습니다. description: 만든 작업 패키지가 없거나 모든 작업 패키지가 필터링에서 제외되었습니다. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: 수동 정렬 모드에서는 %{count}개 작업 패키지만 표시할 수 있습니다. 필터링으로 결과를 줄이십시오. property_groups: details: "세부 정보" people: "사용자" @@ -689,9 +689,9 @@ ko: confirm_edit_cancel: "이 보기 이름 편집을 취소하시겠습니까? 제목이 이전 값으로 다시 설정됩니다." click_to_edit_query_name: "이 보기의 제목을 편집하려면 클릭하세요." rename_query_placeholder: "이 보기의 이름" - star_text: "Mark this view as favorite and add to the saved views sidebar on the left." + star_text: "이 보기를 즐겨찾기로 표시하고 왼쪽의 저장된 보기 사이드바에 추가하십시오." 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: "URL에서 보기를 검색할 수 없음" not_found: "해당 보기가 없습니다." @@ -726,10 +726,10 @@ ko: priority: '우선 순위' 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.' + description: '작업 패키지를 정렬하기 위한 모드 선택:' + automatic: '자동' + manually: '수동' + warning: '자동 정렬 모드를 활성화하면 이전 정렬이 손실됩니다.' columns_help_text: "위 입력을 사용하여 테이블 보기에 열을 추가하거나 제거하세요. 열을 끌어다 놓아 순서를 바꿀 수 있습니다." upsale: attribute_highlighting: '나머지 작업 중에 확연히 두드러지는 특정 작업 패키지가 필요합니까?' @@ -821,7 +821,7 @@ ko: child_work_packages: other: "%{count}개의 작업 패키지 자식" hour: - other: "%{count} h" + other: "%{count}시간" zen_mode: button_activate: 'Zen 모드 활성화' button_deactivate: 'Zen 모드 비활성화' @@ -836,6 +836,6 @@ ko: project_and_subprojects: "그리고 모든 하위 프로젝트" search_for: "검색:" views: - card: 'Cards' - list: 'Table' + card: '카드' + list: '테이블' timeline: 'Gantt' diff --git a/config/locales/crowdin/js-pl.yml b/config/locales/crowdin/js-pl.yml index 521fcb58b8..e2f4ce6eb4 100644 --- a/config/locales/crowdin/js-pl.yml +++ b/config/locales/crowdin/js-pl.yml @@ -295,7 +295,7 @@ pl: label_total_progress: "%{percent}% Całkowitego postępu" label_total_amount: "Łącznie: %{amount}" label_updated_on: "zaktualizowany" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(wartość wyprowadzana z elementów podrzędnych)" label_warning: "Ostrzeżenie" label_work_package: "Zadanie" label_work_package_plural: "Pakiety robocze" @@ -609,7 +609,7 @@ pl: message_successful_show_in_fullscreen: "Kliknij tutaj, aby otworzyć ten pakiet prac w trybie pełnoekranowym." message_view_spent_time: "Pokaż spędzony czas dla tych zadań" message_work_package_read_only: "Pakiet roboczy jest zablokowany w tym stanie. Nie można zmienić żadnego atrybutu innego niż stan." - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "Nie można zapisać stanu pakietu roboczego ze względu na jego zamknięty stan i przypisaną mu zamkniętą wersję." no_value: "Brak wartości" placeholder_filter_by_text: "Przedmiot, opis, komentarze, ..." inline_create: diff --git a/config/locales/crowdin/js-pt.yml b/config/locales/crowdin/js-pt.yml index 832c5c7111..dd109a4021 100644 --- a/config/locales/crowdin/js-pt.yml +++ b/config/locales/crowdin/js-pt.yml @@ -41,8 +41,8 @@ pt: button_open_details: "Abrir visão detalhada" button_close_details: "Fechar visão detalhada" button_open_fullscreen: "Abrir visão ecrã completo" - button_show_cards: "Mostrar vista de cartão" - button_show_list: "Mostrar a vista de lista" + button_show_cards: "Mostrar vista em cartão" + button_show_list: "Mostrar vista em lista" button_quote: "Citar" button_save: "Guardar" button_settings: "Definições" @@ -78,7 +78,7 @@ pt: graph_settings: 'Geral' dataset: 'Dataset %{number}' errors: - could_not_load: 'Os dados para exibir o gráfico não puderam ser carregados. As permissões necessárias podem estar em falta.' + could_not_load: 'Não foi possível carregar os dados para exibir o gráfico. Podem estar em falta as permissões necessárias.' description_available_columns: "Colunas disponíveis" description_current_position: "Você está aqui: " description_select_work_package: "Selecionar pacote de trabalho #%{id}" diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 0843563ddd..ce630f489a 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -443,8 +443,8 @@ ru: set_parent: "Установить родителя" change_parent: "Сменить родителя" remove_parent: "Удалить родителя" - hierarchy_indent: "Indent hierarchy" - hierarchy_outdent: "Outdent hierarchy" + hierarchy_indent: "Иерархия с отступом" + hierarchy_outdent: "Иерархия с выступом" group_by_wp_type: "Группировать по типу комплекса работ" group_by_relation_type: "Группировать по типу связи" add_parent: "Добавить существующего родителя" @@ -634,7 +634,7 @@ ru: no_results: title: Нет пакетов работ для показа. description: Ничего не найдено. - limited_results: Only %{count} work packages can be shown in manual sorting mode. Please reduce the results by filtering. + limited_results: В ручной сортировке можно отобразить только %{count} рабочих пакетов. Пожалуйста, уменьшите результаты фильтрацией. property_groups: details: "Детали" people: "Люди" diff --git a/config/locales/crowdin/js-zh-CN.yml b/config/locales/crowdin/js-zh-CN.yml index 614495adf8..be92413d90 100644 --- a/config/locales/crowdin/js-zh-CN.yml +++ b/config/locales/crowdin/js-zh-CN.yml @@ -69,7 +69,7 @@ zh-CN: types: line: '线图' horizontal_bar: '水平条形图' - bar: '条形' + bar: '条形图' pie: '饼图' doughnut: '圆环图' radar: '雷达图' @@ -78,7 +78,7 @@ zh-CN: graph_settings: '通用' dataset: '数据集 %{number}' errors: - could_not_load: '无法加载用于显示图形的数据。可能缺少必要的权限。' + could_not_load: '无法加载用于显示图表的数据。可能缺少必要的权限。' description_available_columns: "可用的列" description_current_position: "您现在的位置:" description_select_work_package: "选择工作包 #%{id}" @@ -295,7 +295,7 @@ zh-CN: label_total_progress: "%{percent} %总进度" label_total_amount: "总计: %{amount}" label_updated_on: "更新于" - label_value_derived_from_children: "(value derived from children)" + label_value_derived_from_children: "(来自子项的值)" label_warning: "警告" label_work_package: "工作包" label_work_package_plural: "工作包" @@ -331,7 +331,7 @@ zh-CN: label_wait: "请等待配置..." label_upload_counter: "%{count} 个中的 %{done} 个文件已完成" label_validation_error: "由于下列错误,无法保存工作包:" - label_view_has_changed: "此视图有未保存的更改。单击以保存这些更改。" + label_view_has_changed: "此视图有未保存的变更。单击以保存。" help_texts: show_modal: '显示属性帮助文本项' onboarding: @@ -603,7 +603,7 @@ zh-CN: message_successful_show_in_fullscreen: "单击此处以全屏视图打开此工作包。" message_view_spent_time: "显示这个工作包所花费的时间" message_work_package_read_only: "工作包被锁定在此状态。除状态外,其他属性均不可更改。" - message_work_package_status_blocked: "Work package status is not writable due to closed status and closed version being assigned." + message_work_package_status_blocked: "由于处于关闭状态并且分配了关闭版本,因此工作包状态不可写。" no_value: "无值" placeholder_filter_by_text: "主题, 描述, 评论,..。" inline_create: @@ -689,9 +689,9 @@ zh-CN: confirm_edit_cancel: "确定要取消编辑此视图的名称吗?标题将重置为上一个值。" click_to_edit_query_name: "单击可以编辑此视图的标题。" rename_query_placeholder: "此视图的名称" - star_text: "将该视图标记为收藏夹,并添加到左侧的已保存视图侧边栏中。" + star_text: "将该视图标记为收藏项,并添加到左侧的已保存视图边栏中。" public_text: > - 发布此视图,以允许其他用户访问您的视图。具有“管理公共视图”权限的用户可以修改或删除公共查询。这不会影响工作包结果在该视图中的可见性,并且用户可能会看到不同的结果,具体取决于他们的权限。 + 发布此视图,以允许其他用户访问您的视图。具有“管理公共视图”权限的用户可以修改或移除公共查询。这不会影响工作包结果在该视图中的可见性,并且用户可能会看到不同的结果,具体取决于他们的权限。 errors: unretrievable_query: "无法从 URL 检索视图" not_found: "无此视图" @@ -821,7 +821,7 @@ zh-CN: child_work_packages: other: "%{count} 子工作包" hour: - other: "%{count} h" + other: "%{count} 小时" zen_mode: button_activate: '激活 zen 模式' button_deactivate: '取消激活 zen 模式' diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 0c77aa8632..bda3fe7a42 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -268,7 +268,7 @@ ko: account: "계정" attr_firstname: "성 속성" attr_lastname: "이름 속성" - attr_login: "Username attribute" + attr_login: "사용자 이름 특성" attr_mail: "이메일 속성" base_dn: "기본 DN" host: "호스트" @@ -638,7 +638,7 @@ ko: is_public: "공용" issue: "작업 패키지" lastname: "성" - login: "Username" + login: "사용자 이름" mail: "이메일" name: "이름" password: "암호" diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 676ca26ae5..896bd94fc4 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -272,7 +272,7 @@ pl: account: "Konto" attr_firstname: "Atrybut imię" attr_lastname: "Atrybut nazwiska" - attr_login: "Username attribute" + attr_login: "Atrybut nazwy użytkownika" attr_mail: "Atrybut adresu e-mail" base_dn: "Bazowa nazwa wyróżniająca" host: "Host" @@ -651,7 +651,7 @@ pl: is_public: "Publiczny" issue: "Zadanie" lastname: "Nazwisko" - login: "Username" + login: "Nazwa użytkownika" mail: "Adres e-mail" name: "Nazwa" password: "Hasło" diff --git a/config/locales/crowdin/pt.yml b/config/locales/crowdin/pt.yml index f02d5e6b75..031edf12a9 100644 --- a/config/locales/crowdin/pt.yml +++ b/config/locales/crowdin/pt.yml @@ -1554,7 +1554,7 @@ pt: label_wiki_content_added: "Página wiki adicionada" label_wiki_content_updated: "Página wiki atualizada" label_wiki_toc: "Tabela de conteúdos" - label_wiki_toc_empty: "A Tabela de Conteúdo está vazia, pois nenhum cabeçalho está presente." + label_wiki_toc_empty: "A Tabela de Conteúdo está vazia, pois não está presente nenhum cabeçalho." label_wiki_dont_show_menu_item: "Não mostrar esta página wiki na navegação do projecto" label_wiki_edit: "Editar wiki" label_wiki_edit_plural: "Edições de wiki" @@ -2370,7 +2370,7 @@ pt: Envia outra mensagem de correio eletrónico de convite com um novo token, caso o antigo tenha expirado ou o utilizador não tenha recebido a mensagem original. Também pode ser utilizado para utilizadores ativos que escolham um novo método de autenticação. Quando usado com utilizadores ativos, o seu estado passará para "convidado". tooltip: setting_email_login: > - Se for ativado, o utilizador será incapaz de selecionar o nome de utilizador durante o registo. Em vez disso, deverá utilizar o seuemail como início de sessão. No entanto, um administrador poderá ainda alterar o início de sessão separadamente. + Se estiver ativado, o utilizador não poderá selecionar o nome de utilizador durante o registo. Em vez disso, deverá utilizar o seu email como início de sessão. No entanto, um administrador ainda poderá alterar o início de sessão separadamente. queries: apply_filter: Aplicar filtro pré-configurado top_menu: diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index d8bdf9ce19..ddbe6c0592 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -1586,7 +1586,7 @@ ru: label_wiki_content_added: "Wiki-страница добавлена" label_wiki_content_updated: "Wiki-страница обновлена" label_wiki_toc: "Содержание" - label_wiki_toc_empty: "Table of Contents is empty as no headings are present." + label_wiki_toc_empty: "Содержание пусто, так как нет заголовков." label_wiki_dont_show_menu_item: "Не показывать эту Wiki-страницу в навигации по проектам" label_wiki_edit: "Редактировать Wiki" label_wiki_edit_plural: "Wiki редактируется" diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 3bf3ba296f..04c23cca68 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -268,7 +268,7 @@ zh-CN: account: "帐户" attr_firstname: "名字属性" attr_lastname: "姓氏属性" - attr_login: "Username attribute" + attr_login: "用户名属性" attr_mail: "电子邮件属性" base_dn: "基本 DN" host: "主机" @@ -638,7 +638,7 @@ zh-CN: is_public: "公开" issue: "工作包" lastname: "姓氏" - login: "Username" + login: "用户名" mail: "电子邮件" name: "名称" password: "密码" @@ -1986,7 +1986,7 @@ zh-CN: setting_display_subprojects_work_packages: "默认在主项目上显示子项目工作包" setting_emails_footer: "电子邮件页脚" setting_emails_header: "电子邮件标头" - setting_email_login: "使用电子邮件登录" + setting_email_login: "使用电子邮件作为登录名" setting_enabled_scm: "启用 SCM" setting_feeds_enabled: "启用Feeds" setting_feeds_limit: "Feed内容限制" @@ -2156,7 +2156,7 @@ zh-CN: text_reassign: "重新分配工作包:" text_regexp_info: "例如 ^ [A-Z0-9]+$" text_regexp_multiline: '以多行模式应用正则表达式,如 ^---\s+' - text_repository_usernames_mapping: "选择或更新每个在代码库日志中发现的用户名所映射的 OpenProject 用户。\n与 OpenProject 和代码库用户名或电子邮件相同的用户已被自动更新。" + text_repository_usernames_mapping: "选择或更新每个在代码库日志中发现的用户名所映射到的 OpenProject 用户。\n使用相同 OpenProject 和代码库用户名或电子邮件的用户已被自动映射。" text_select_mail_notifications: "选择邮件通知应该被发送的动作。" text_status_changed_by_changeset: "被实施在变更集 %{value} 中。" text_table_difference_description: "此表单展现了单个%{entries}。您可以先选择多选框,再点击表单下方的按钮来比较两项之间的差异。" @@ -2346,7 +2346,7 @@ zh-CN: 旧邀请电子邮件过期或用户未收到之前的电子邮件时,再发送一封邀请电子邮件。也可由活跃用户用于选择新的身份验证方法。活跃用户使用时,状态会更改为“已邀请”。 tooltip: setting_email_login: > - 如果启用,用户将无法在注册时选择登录方式。将使用用户指定的电子邮件地址登录。管理员仍然可以单独更改登录方式。 + 如果启用,用户将无法在注册时选择登录名。将使用用户指定的电子邮件地址作为登录名。管理员仍然可以单独更改登录名。 queries: apply_filter: 应用预配置筛选器 top_menu: diff --git a/modules/avatars/config/locales/crowdin/es.yml b/modules/avatars/config/locales/crowdin/es.yml index 515becc7ae..3e09c45b5c 100644 --- a/modules/avatars/config/locales/crowdin/es.yml +++ b/modules/avatars/config/locales/crowdin/es.yml @@ -1,39 +1,39 @@ es: 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)" + label_avatar_plural: "Avatares" + label_current_avatar: "Avatar actual" + label_choose_avatar: "Seleccionar avatar de un archivo" + message_avatar_uploaded: "El avatar se ha cambiado correctamente." + error_image_upload: "Error al guardar la imagen." + error_image_size: "El tamaño de la imagen es demasiado grande." + button_change_avatar: "Cambiar avatar" + are_you_sure_delete_avatar: "¿Está seguro de que quiere eliminar su avatar?" + avatar_deleted: "El avatar se ha eliminado correctamente." + unable_to_delete_avatar: "No se pudo eliminar el avatar." + wrong_file_format: "Los formatos permitidos son JPG, PNG y GIF" + empty_file_error: "Cargue un archivo de imagen válido (JPG, PNG o GIF)" avatars: label_avatar: "Avatar" label_gravatar: 'Gravatar' - label_current_avatar: 'Current avatar' - label_local_avatar: 'Custom avatar' + label_current_avatar: 'Avatar actual' + label_local_avatar: 'Avatar personalizado' text_current_avatar: | - The following image shows the current avatar. + En la imagen siguiente, se muestra el avatar actual. 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}.' + Cargue su propio avatar personalizado de 128 × 128 píxeles. Si se agregan archivos más grandes, se cambiará el tamaño y se recortará para que coincida. + Después de seleccionar una imagen, se mostrará una vista previa del avatar antes de cargarlo. + text_change_gravatar_html: 'Para cambiar o agregar el Gravatar a su dirección de correo electrónico, vaya a %{gravatar_url}.' text_your_local_avatar: | - OpenProject allows you to upload your own custom avatar. + OpenProject le permite cargar su propio avatar personalizado. text_local_avatar_over_gravatar: | - If you set one, this custom avatar is used in precedence over the gravatar above. + Si establece uno, este avatar personalizado se usará antes que el Gravatar anterior. 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: + OpenProject usará su Gravatar (si registró uno) o usará una imagen o icono predeterminado (si existe). + El Gravatar actual es el siguiente: settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: 'Habilitar Gravatar de usuario' gravatar_default: "Imagen de gravatar por defecto" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: 'Habilitar avatares personalizados de usuario' diff --git a/modules/avatars/config/locales/crowdin/fr.yml b/modules/avatars/config/locales/crowdin/fr.yml index ae85237894..063c37b6f3 100644 --- a/modules/avatars/config/locales/crowdin/fr.yml +++ b/modules/avatars/config/locales/crowdin/fr.yml @@ -28,12 +28,12 @@ fr: text_local_avatar_over_gravatar: | Si vous en avez défini un, cet avatar personnalisé sera utilisé à la place du gravatar ci-dessus. 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: + OpenProject utilise votre gravatar si vous en possédez un, ou bien une image ou icône par défaut si celle-ci existe. + Le gravatar actuel est le suivant : settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: 'Activer les gravatars de l''utilisateur' gravatar_default: "Image Gravatar par défaut" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: 'Activer les avatars personnalisés de l''utilisateur' diff --git a/modules/avatars/config/locales/crowdin/js-es.yml b/modules/avatars/config/locales/crowdin/js-es.yml index 8e117db159..ca75ef69ac 100644 --- a/modules/avatars/config/locales/crowdin/js-es.yml +++ b/modules/avatars/config/locales/crowdin/js-es.yml @@ -3,12 +3,12 @@ es: label_preview: 'Vista preliminar' button_update: 'Actualizar' avatars: - label_choose_avatar: "Choose Avatar from file" - uploading_avatar: "Uploading your avatar." + label_choose_avatar: "Seleccionar avatar de un archivo" + uploading_avatar: "Cargando su 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)" + Cargue su propio avatar personalizado de 128 × 128 píxeles. Si se agregan archivos más grandes, se cambiará el tamaño y se recortará para que coincida. + Después de seleccionar una imagen, se mostrará una vista previa del avatar antes de cargarlo. + error_image_too_large: "La imagen es demasiado grande." + wrong_file_format: "Los formatos permitidos son JPG, PNG y GIF" + empty_file_error: "Cargue un archivo de imagen válido (JPG, PNG o GIF)" diff --git a/modules/avatars/config/locales/crowdin/js-fr.yml b/modules/avatars/config/locales/crowdin/js-fr.yml index 4cb69511c1..c423ff8155 100644 --- a/modules/avatars/config/locales/crowdin/js-fr.yml +++ b/modules/avatars/config/locales/crowdin/js-fr.yml @@ -4,11 +4,11 @@ fr: button_update: 'Mettre à jour' avatars: label_choose_avatar: "Choisir un avatar depuis un fichier" - uploading_avatar: "Uploading your avatar." + uploading_avatar: "Chargement de votre avatar." text_upload_instructions: | Téléchargez votre propre avatar personnalisé de 128 par 128 pixels. Les fichiers plus gros seront redimensionnés et recadrés pour correspondre. Un aperçu de votre avatar sera affiché avant le téléchargement, une fois que vous aurez sélectionné une image. - error_image_too_large: "Image is too large." + error_image_too_large: "L'image est trop grande." wrong_file_format: "Les formats autorisés sont Jpg, Png et Gif" empty_file_error: "Veuillez téléverser une image valide (Jpg, Png, Gif)" diff --git a/modules/avatars/config/locales/crowdin/js-ko.yml b/modules/avatars/config/locales/crowdin/js-ko.yml index a890653c0c..8fc8f504ea 100644 --- a/modules/avatars/config/locales/crowdin/js-ko.yml +++ b/modules/avatars/config/locales/crowdin/js-ko.yml @@ -4,11 +4,11 @@ ko: button_update: '업데이트' avatars: label_choose_avatar: "파일에서 아바타 선택" - uploading_avatar: "Uploading your avatar." + uploading_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." + 128 × 128픽셀 크기의 사용자 지정 아바타를 업로드하십시오. 더 큰 파일은 이 크기에 맞게 조정되고 잘립니다. + 이미지를 선택하면, 업로드하기 전에 아바타의 미리 보기가 표시됩니다. + error_image_too_large: "이미지가 너무 큽니다." wrong_file_format: "허용된 형식은 jpg, png, gif입니다." empty_file_error: "유효한 이미지(jpg, png, gif)를 업로드하십시오." diff --git a/modules/avatars/config/locales/crowdin/js-pl.yml b/modules/avatars/config/locales/crowdin/js-pl.yml index bedc0dccbb..a8ece58a4d 100644 --- a/modules/avatars/config/locales/crowdin/js-pl.yml +++ b/modules/avatars/config/locales/crowdin/js-pl.yml @@ -3,12 +3,12 @@ pl: label_preview: 'Podgląd' button_update: 'Aktualizacja' avatars: - label_choose_avatar: "Choose Avatar from file" - uploading_avatar: "Uploading your avatar." + label_choose_avatar: "Wybierz awatar z pliku" + uploading_avatar: "Przesyłanie tego awatara." 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)" + Prześlij swój własny awatar 128 na 128 pikseli. Rozmiar większych plików zostanie zmieniony i zostaną one odpowiednio przycięte. + Podgląd awatara zostanie wyświetlony przed przesłaniem, po wybraniu obrazu. + error_image_too_large: "Obraz jest zbyt duży." + wrong_file_format: "Dozwolone są formaty jpg, png, gif" + empty_file_error: "Prześlij prawidłowy obraz (jpg, png, gif)" diff --git a/modules/avatars/config/locales/crowdin/js-pt.yml b/modules/avatars/config/locales/crowdin/js-pt.yml index 73382872d5..62461fc758 100644 --- a/modules/avatars/config/locales/crowdin/js-pt.yml +++ b/modules/avatars/config/locales/crowdin/js-pt.yml @@ -6,7 +6,7 @@ pt: label_choose_avatar: "Escolher Avatar a partir de ficheiro" uploading_avatar: "A carregar o seu avatar." text_upload_instructions: | - Carregue o seu próprio avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. + Carregue o seu avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. Será mostrada uma visualização do seu avatar antes do carregamento, uma vez que selecionou uma imagem. error_image_too_large: "A imagem é grande demais." wrong_file_format: "Os formatos permitidos são jpg, png, gif" diff --git a/modules/avatars/config/locales/crowdin/ko.yml b/modules/avatars/config/locales/crowdin/ko.yml index 89bf9ba671..3d8d881e5d 100644 --- a/modules/avatars/config/locales/crowdin/ko.yml +++ b/modules/avatars/config/locales/crowdin/ko.yml @@ -14,26 +14,26 @@ ko: empty_file_error: "유효한 이미지(jpg, png, gif)를 업로드하십시오." avatars: label_avatar: "아바타" - label_gravatar: '그라바타' + label_gravatar: 'Gravatar' label_current_avatar: '현재 아바타' label_local_avatar: '사용자 지정 아바타' text_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}.' + 128 × 128픽셀 크기의 사용자 지정 아바타를 업로드하십시오. 더 큰 파일은 이 크기에 맞게 조정되고 잘립니다. + 이미지를 선택하면, 업로드하기 전에 아바타의 미리 보기가 표시됩니다. + text_change_gravatar_html: '메일 주소에 대한 Gravatar를 변경하거나 추가하려면 %{gravatar_url}(으)로 이동하십시오.' text_your_local_avatar: | - OpenProject allows you to upload your own custom avatar. + OpenProject에서 사용자 지정 아바타를 업로드할 수 있습니다. text_local_avatar_over_gravatar: | - If you set one, this custom avatar is used in precedence over the gravatar above. + 사용자 지정 아바타를 설정하는 경우, 이 아바타가 위의 Gravatar보다 우선하여 사용됩니다. 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: + 사용자가 Gravatar를 등록한 경우 OpenProject는 해당 Gravatar를 사용합니다. 또는 기본 이미지나 아이콘이 존재하는 경우 이를 사용합니다. + 현재 Gravatar는 다음과 같습니다. settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: '사용자 Gravatar 사용' gravatar_default: "기본 Gravatar 이미지" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: '사용자 커스텀 Gravatar 사용' diff --git a/modules/avatars/config/locales/crowdin/pl.yml b/modules/avatars/config/locales/crowdin/pl.yml index 677dc2671e..d9771a0f6b 100644 --- a/modules/avatars/config/locales/crowdin/pl.yml +++ b/modules/avatars/config/locales/crowdin/pl.yml @@ -1,39 +1,39 @@ pl: - 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)" + label_avatar: "Awatar" + label_avatar_plural: "Awatary" + label_current_avatar: "Bieżący awatar" + label_choose_avatar: "Wybierz awatar z pliku" + message_avatar_uploaded: "Awatar został zmieniony." + error_image_upload: "Błąd podczas zapisywania obrazu." + error_image_size: "Obraz jest za duży." + button_change_avatar: "Zmień awatar" + are_you_sure_delete_avatar: "Czy na pewno chcesz usunąć ten awatar?" + avatar_deleted: "Awatar został usunięty." + unable_to_delete_avatar: "Nie można usunąć awatara." + wrong_file_format: "Dozwolone są formaty jpg, png, gif" + empty_file_error: "Prześlij prawidłowy obraz (jpg, png, gif)" avatars: - label_avatar: "Avatar" + label_avatar: "Awatar" label_gravatar: 'Gravatar' - label_current_avatar: 'Current avatar' - label_local_avatar: 'Custom avatar' + label_current_avatar: 'Bieżący awatar' + label_local_avatar: 'Awatar niestandardowy' text_current_avatar: | - The following image shows the current avatar. + Poniższy obraz przedstawia aktualny awatar. 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}.' + Prześlij swój własny awatar 128 na 128 pikseli. Rozmiar większych plików zostanie zmieniony i zostaną one odpowiednio przycięte. + Podgląd awatara zostanie wyświetlony przed przesłaniem, po wybraniu obrazu. + text_change_gravatar_html: 'Aby zmienić lub dodać Gravatar dla tego adresu e-mail, przejdź na stronę %{gravatar_url}.' text_your_local_avatar: | - OpenProject allows you to upload your own custom avatar. + OpenProject umożliwia przesłanie własnego, niestandardowego awatara. text_local_avatar_over_gravatar: | - If you set one, this custom avatar is used in precedence over the gravatar above. + Jeśli go ustawisz, ten niestandardowy awatar będzie używany w pierwszej kolejności przed powyższym Gravatarem. 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: + OpenProject używa Gravatara, jeśli użytkownik go zarejestrował albo domyślnego obrazu lub ikony, jeśli taka istnieje. + Bieżący Gravatar jest następujący: settings: - enable_gravatars: 'Enable user gravatars' + enable_gravatars: 'Włącz Gravatary użytkownika' gravatar_default: "Domyślny obraz Gravatar" - enable_local_avatars: 'Enable user custom avatars' + enable_local_avatars: 'Włącz niestandardowe awatary użytkownika' diff --git a/modules/avatars/config/locales/crowdin/pt.yml b/modules/avatars/config/locales/crowdin/pt.yml index 8d25d7d8e1..86a90a1832 100644 --- a/modules/avatars/config/locales/crowdin/pt.yml +++ b/modules/avatars/config/locales/crowdin/pt.yml @@ -20,15 +20,15 @@ pt: text_current_avatar: | A seguinte imagem mostra o avatar atual. text_upload_instructions: | - Carregue o seu próprio avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. + Carregue o seu avatar personalizado de 128 por 128 pixels. Os ficheiros maiores serão redimensionados e cortados para coincidir. Será mostrada uma visualização do seu avatar antes do carregamento, uma vez que selecionou uma imagem. text_change_gravatar_html: 'Para alterar ou adicionar o Gravatar ao seu endereço de email, vá a %{gravatar_url}.' text_your_local_avatar: | - O OpenProject permite que carregue o seu próprio avatar personalizado. + O OpenProject permite que carregue o seu avatar personalizado. text_local_avatar_over_gravatar: | Se definir um, este avatar personalizado será usado em precedência sobre o gravatar acima. text_your_current_gravatar: | - O OpenProject usa o seu gravatar caso tenha registado um, ou uma imagem ou ícone padrão caso exista. + O OpenProject usa o seu gravatar caso tenha registado algum, ou uma imagem ou ícone padrão caso exista. O gravatar atual é o seguinte: settings: enable_gravatars: 'Ativar Gravatars de utilizadores' diff --git a/modules/avatars/config/locales/crowdin/zh-CN.yml b/modules/avatars/config/locales/crowdin/zh-CN.yml index 18312fef91..c60551654b 100644 --- a/modules/avatars/config/locales/crowdin/zh-CN.yml +++ b/modules/avatars/config/locales/crowdin/zh-CN.yml @@ -8,8 +8,8 @@ zh-CN: error_image_size: "图像太大。" button_change_avatar: "更改头像" are_you_sure_delete_avatar: "确定要删除头像吗?" - avatar_deleted: "头像删除成功。" - unable_to_delete_avatar: "头像无法删除。" + avatar_deleted: "成功删除头像。" + unable_to_delete_avatar: "无法删除头像。" wrong_file_format: "允许的格式是 jpg、png、gif" empty_file_error: "请上传一张有效的图像(jpg、png、gif)" avatars: @@ -28,7 +28,7 @@ zh-CN: text_local_avatar_over_gravatar: | 如果您设置了一个自定义头像,则此头像将优先于上面的 Gravatar。 text_your_current_gravatar: | - OpenProject 将使用您的 Gravatar(如果已注册)或默认图像或图标(如果存在)。 + OpenProject 将使用您的 Gravatar(如果已注册)或者默认图像或图标(如果存在)。 当前头像如下: settings: enable_gravatars: '启用用户 Gravatar' diff --git a/modules/bcf/config/locales/crowdin/es.yml b/modules/bcf/config/locales/crowdin/es.yml index 80d8c4ecb6..4696444351 100644 --- a/modules/bcf/config/locales/crowdin/es.yml +++ b/modules/bcf/config/locales/crowdin/es.yml @@ -1,62 +1,62 @@ es: 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' + label_imported_failed: 'No se pudieron importar los temas de BCF' + label_imported_successfully: 'Los temas de BCF se importaron correctamente' + issues: "Problemas" + recommended: 'recomendado' + not_recommended: 'no recomendado' + no_viewpoints: 'Sin áreas de visualización' new_badge: "Nuevo" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "Archivo BCF no válido" x_bcf_issues: - one: 'One BCF issue' - other: '%{count} BCF issues' + one: 'Un problema de BCF' + other: '%{count} problemas de BCF' bcf_xml: - xml_file: 'BCF XML File' + xml_file: 'Archivo XML de BCF' import_title: 'Importar' export: 'Exportar' - import_update_comment: '(Updated in BCF import)' - import_failed: 'Cannot import BCF file: %{error}' - 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_update_comment: '(Actualizado en la importación de BCF)' + import_failed: 'No se puede importar el archivo BCF: %{error}' + import_successful: 'Se importaron %{count} problemas de BCF' + import_canceled: 'La importación de BCF-XML se ha cancelado.' + type_not_active: "El tipo de problema no está activo para este proyecto." 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' - 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.' + num_issues_found: '%{x_bcf_issues} están presentes en el archivo BCF-XML y a continuación se muestran los detalles.' + button_prepare: 'Preparar importación' + button_perform_import: 'Confirmar importación' + button_proceed: 'Continuar' + button_back_to_list: 'Volver a la lista' + no_permission_to_add_members: 'No tiene permisos suficientes para agregarlos como miembros al proyecto.' + contact_project_admin: 'Póngase en contacto con el administrador del proyecto para agregarlos como miembros y vuelva a iniciar esta importación.' + continue_anyways: '¿Quiere continuar y finalizar la importación de todas formas?' + description: "Proporcione un archivo BCF-XML v2.1 para importarlo en este proyecto. Puede examinar el contenido antes de realizar la importación." + invalid_types_found: 'Se encontraron nombres de tipo de tema no válidos' + invalid_statuses_found: 'Se encontraron nombres de estado no válidos' + invalid_priorities_found: 'Se encontraron nombres de prioridad no válidos' + invalid_emails_found: 'Se encontraron direcciones de correo electrónico no válidas' + unknown_emails_found: 'Se encontraron direcciones de correo electrónico desconocidas' + unknown_property: 'Propiedad desconocida' + non_members_found: 'No se encontraron miembros del proyecto' + import_types_as: 'Establecer todos estos tipos en' + import_statuses_as: 'Establecer todos estos estados en' + import_priorities_as: 'Establecer todas estas prioridades en' + invite_as_members_with_role: 'Invitarlos como miembros de proyecto “%{project}” con el rol' + add_as_members_with_role: 'Agregarlos como miembros de proyecto “%{project}” con el rol' + no_type_provided: 'No se ha especificado ningún tipo' + no_status_provided: 'No se ha especificado ningún estado' + no_priority_provided: 'No se ha especificado ninguna prioridad' + perform_description: "¿Quiere importar o actualizar los problemas de la lista anterior?" + replace_with_system_user: 'Reemplazarlos con el usuario “System”' + import_as_system_user: 'Se importan como el usuario “System”.' what_to_do: "¿Qué quieres hacer?" - 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." + work_package_has_newer_changes: "No actualizado. Este tema no está actualizado, ya que los últimos cambios en el servidor eran más recientes que la fecha de modificación del tema importado. Sin embargo, se importaron los comentarios en el tema." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "Instantánea de BCF" project_module_bcf: "BCF" - permission_view_linked_issues: "View BCF issues" - permission_manage_bcf: "Import and manage BCF issues" + permission_view_linked_issues: "Ver problemas de BCF" + permission_manage_bcf: "Importar y administrar problemas de BCF" diff --git a/modules/bcf/config/locales/crowdin/fr.yml b/modules/bcf/config/locales/crowdin/fr.yml index 7b12368700..18979e64ce 100644 --- a/modules/bcf/config/locales/crowdin/fr.yml +++ b/modules/bcf/config/locales/crowdin/fr.yml @@ -1,62 +1,62 @@ fr: 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' + label_imported_failed: 'Impossible d''importer les sujets BCF' + label_imported_successfully: 'Sujets BCF importés avec succès' + issues: "Problèmes" + recommended: 'recommandé' + not_recommended: 'déconseillé' + no_viewpoints: 'Aucun point de vue' new_badge: "nouveau" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "Fichier BCF invalide" x_bcf_issues: - one: 'One BCF issue' - other: '%{count} BCF issues' + one: 'Un problème BCF' + other: '%{count} problèmes BCF' bcf_xml: - xml_file: 'BCF XML File' + xml_file: 'Fichier XML BCF' import_title: 'Importer' export: 'Exporter' - import_update_comment: '(Updated in BCF import)' - import_failed: 'Cannot import BCF file: %{error}' - 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_update_comment: '(Mis à jour dans l''importation BCF)' + import_failed: 'Impossible d''importer le fichier BCF : %{error}' + import_successful: '%{count} problèmes BCF importés' + import_canceled: 'Importation BCF-XML annulée.' + type_not_active: "Le type de problème n'est pas activé pour ce projet." 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' - 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.' + num_issues_found: '%{x_bcf_issues} sont contenus dans le fichier BCF-XML, leurs détails sont repris ci-dessous.' + button_prepare: 'Préparer l''importation' + button_perform_import: 'Confirmer l''importation' + button_proceed: 'Continuer' + button_back_to_list: 'Retour à la liste' + no_permission_to_add_members: 'Vous n''avez pas les autorisations suffisantes pour les ajouter en tant que membres du projet.' + contact_project_admin: 'Contactez votre administrateur du projet pour les ajouter en tant que membres et recommencer cette importation.' + continue_anyways: 'Voulez-vous quand même continuer et terminer l''importation ?' + description: "Fournissez un fichier BCF-XML v2.1 à importer dans ce projet. Vous pouvez examiner son contenu avant d'effectuer l'importation." + invalid_types_found: 'Un nom de type de sujet invalide a été trouvé' + invalid_statuses_found: 'Un nom de statut invalide a été trouvé' + invalid_priorities_found: 'Des noms de priorité invalides ont été trouvés' + invalid_emails_found: 'Des adresses e-mail invalides ont été trouvées' + unknown_emails_found: 'Des adresses e-mail inconnues ont été trouvées' + unknown_property: 'Propriété inconnue' + non_members_found: 'Aucun membre du projet n''a été trouvé' + import_types_as: 'Définir tous ces types comme' + import_statuses_as: 'Définir tous ces statuts comme' + import_priorities_as: 'Définir toutes ces priorités comme' + invite_as_members_with_role: 'Les inviter en tant que membres du projet "%{project}" avec un rôle' + add_as_members_with_role: 'Les ajouter en tant que membres du projet "%{project}" avec un rôle' + no_type_provided: 'Aucun type fourni' + no_status_provided: 'Aucun statut fourni' + no_priority_provided: 'Aucune priorité fournie' + perform_description: "Voulez-vous importer ou mettre à jour les problèmes repris ci-dessus ?" + replace_with_system_user: 'Les remplacer par l''utilisateur "Système"' + import_as_system_user: 'Les importer comme utilisateur "Système".' what_to_do: "Que voulez-vous faire?" - 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." + work_package_has_newer_changes: "Obsolète ! Ce sujet n'a pas été mis à jour, car les derniers changements sur le serveur étaient plus récents que la \"ModifiedDate\" du sujet importé. Toutefois, les commentaires sur le sujet ont été importés." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "Capture d'écran BCF" project_module_bcf: "BCF" permission_view_linked_issues: "Voir les problèmes BCF" permission_manage_bcf: "Importer et gérer les problèmes BCF" diff --git a/modules/bcf/config/locales/crowdin/ko.yml b/modules/bcf/config/locales/crowdin/ko.yml index 58aac2ac49..b33ed2b499 100644 --- a/modules/bcf/config/locales/crowdin/ko.yml +++ b/modules/bcf/config/locales/crowdin/ko.yml @@ -1,28 +1,28 @@ ko: 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' + label_imported_failed: 'BCF 항목 가져오기 실패' + label_imported_successfully: 'BCF 항목 가져오기 성공' + issues: "이슈" + recommended: '추천' + not_recommended: '추천하지 않음' + no_viewpoints: '뷰포인트 없음' new_badge: "새로 만들기" exceptions: - file_invalid: "BCF file invalid" + file_invalid: "잘못된 BCF 파일" x_bcf_issues: - other: '%{count} BCF issues' + other: '%{count}개 BCF 이슈' bcf_xml: xml_file: 'BCF XML 파일' import_title: '가져오기' export: '내보내기' import_update_comment: '(BCF 가져오기에서 업데이트됨)' import_failed: 'BCF 파일을 가져올 수 없음: %{error}' - 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_successful: '%{count}개 BCF 이슈 가져옴' + import_canceled: 'BCF-XML 가져오기가 취소되었습니다.' + type_not_active: "이 프로젝트에 대해 해당 이슈 유형이 활성화되지 않았습니다." import: - num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.' + num_issues_found: '%{x_bcf_issues}은(는) BCF-XML 파일에 포함되어 있지 않습니다. 세부 정보는 아래에 나와 있습니다.' button_prepare: '가져오기 준비' button_perform_import: '가져오기 확인' button_proceed: '계속하기' @@ -30,32 +30,32 @@ ko: no_permission_to_add_members: '프로젝트에 멤버로 추가할 권한이 부족합니다.' contact_project_admin: '프로젝트 관리자에게 문의하여 멤버로 추가한 후 이 가져오기를 다시 시작하십시오.' continue_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.' + description: "이 프로젝트에 가져올 BCF-XML v2.1 파일을 제공하십시오. 가져오기를 수행하기 전에 해당 내용을 검사할 수 있습니다." + invalid_types_found: '잘못된 항목 유형 이름이 발견됨' + invalid_statuses_found: '잘못된 상태 이름이 발견됨' + invalid_priorities_found: '잘못된 우선 순위 이름이 발견됨' + invalid_emails_found: '잘못된 이메일 주소가 발견됨' + unknown_emails_found: '알 수 없는 이메일 주소가 발견됨' + unknown_property: '알 수 없는 속성' + non_members_found: '프로젝트 멤버를 찾지 못함' + import_types_as: '모든 해당 유형을 다음으로 설정:' + import_statuses_as: '모든 해당 상태를 다음으로 설정:' + import_priorities_as: '모든 해당 우선 순위를 다음으로 설정:' + invite_as_members_with_role: '다음 역할의 사용자를 멤버로 "%{project}" 프로젝트에 초대:' + add_as_members_with_role: '다음 역할의 사용자를 멤버로 "%{project}" 프로젝트에 추가:' + no_type_provided: '제공된 유형 없음' + no_status_provided: '제공된 상태 없음' + no_priority_provided: '제공된 우선 순위 없음' + perform_description: "위에 나열된 이슈를 가져오거나 업데이트하시겠습니까?" + replace_with_system_user: '이들을 "시스템" 사용자로 바꾸기' + import_as_system_user: '이들을 "시스템" 사용자로 가져오기' what_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." + work_package_has_newer_changes: "오래된 내용입니다! 서버의 최신 변경 사항은 가져온 항목의 \"수정된 날짜\"보다 최신이므로 이 항목이 업데이트되지 않았습니다. 그러나 이 항목에 대한 코멘트는 가져왔습니다." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "BCF 스냅샷" project_module_bcf: "BCF" - permission_view_linked_issues: "View BCF issues" - permission_manage_bcf: "Import and manage BCF issues" + permission_view_linked_issues: "BCF 이슈 보기" + permission_manage_bcf: "BCF 이슈 가져오기 및 관리" diff --git a/modules/bcf/config/locales/crowdin/pl.yml b/modules/bcf/config/locales/crowdin/pl.yml index f9d9a0b908..a0b74874f6 100644 --- a/modules/bcf/config/locales/crowdin/pl.yml +++ b/modules/bcf/config/locales/crowdin/pl.yml @@ -48,17 +48,17 @@ pl: add_as_members_with_role: 'Dodaj ich jako członków do projektu "%{project}" z rolą' no_type_provided: 'Nie podano typu' no_status_provided: 'Nie podano stanu' - 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.' + no_priority_provided: 'Nie podano priorytetu' + perform_description: "Czy chcesz zaimportować lub zaktualizować wyżej wymienione problemy?" + replace_with_system_user: 'Zastąp ich użytkownikiem "System"' + import_as_system_user: 'Zaimportuj ich jako użytkownika "System".' what_to_do: "Co chcesz zrobić?" - 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." + work_package_has_newer_changes: "Przestarzały! Ten temat nie został zaktualizowany, ponieważ najnowsze zmiany na serwerze były nowsze niż data modyfikacji (\"ModifiedDate\") importowanego tematu. Komentarze do tematu zostały natomiast zaimportowane." export: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "Migawka BCF" project_module_bcf: "BCF" - permission_view_linked_issues: "View BCF issues" - permission_manage_bcf: "Import and manage BCF issues" + permission_view_linked_issues: "Wyświetlanie problemów BCF" + permission_manage_bcf: "Importowanie problemów BCF i zarządzanie nimi" diff --git a/modules/bcf/config/locales/crowdin/zh-CN.yml b/modules/bcf/config/locales/crowdin/zh-CN.yml index 9a97a84a5c..758b7627d8 100644 --- a/modules/bcf/config/locales/crowdin/zh-CN.yml +++ b/modules/bcf/config/locales/crowdin/zh-CN.yml @@ -2,7 +2,7 @@ zh-CN: bcf: label_bcf: 'BCF' label_imported_failed: '导入 BCF 主题失败' - label_imported_successfully: '成功导入 BCF 主题' + label_imported_successfully: '已成功导入 BCF 主题' issues: "问题" recommended: '推荐' not_recommended: '不推荐' @@ -18,9 +18,9 @@ zh-CN: export: '导出' import_update_comment: '(在 BCF 导入中更新)' import_failed: '无法导入 BCF 文件:%{error}' - import_successful: '导入了 %{count} 个 BCF 问题' + import_successful: '已导入 %{count} 个 BCF 问题' import_canceled: 'BCF-XML 导入已取消。' - type_not_active: "此项目未激活问题类型。" + type_not_active: "此项目未激活该问题类型。" import: num_issues_found: '%{x_bcf_issues} 包含在 BCF-XML 文件中,其详细信息在下面列出。' button_prepare: '准备导入' @@ -29,7 +29,7 @@ zh-CN: button_back_to_list: '返回列表' no_permission_to_add_members: '您没有足够的权限将它们添加为项目的成员。' contact_project_admin: '请联系您的项目管理员将它们添加为成员,然后重新开始导入。' - continue_anyways: '您是否仍要继续完成导入?' + continue_anyways: '仍要继续完成导入?' description: "提供一个 BCF-XML v2.1 文件以导入到此项目中。您可以在执行导入之前检查其内容。" invalid_types_found: '找到无效的主题类型名称' invalid_statuses_found: '找到无效的状态名称' @@ -41,14 +41,14 @@ zh-CN: import_types_as: '将所有这些类型设置为' import_statuses_as: '将所有这些状态设置为' import_priorities_as: '将所有这些优先级设置为' - invite_as_members_with_role: '使用以下角色邀请它们作为项目“%{project}”的成员' - add_as_members_with_role: '使用以下角色将它们添加为项目“%{project}”的成员' + invite_as_members_with_role: '使用以下角色邀请他们作为项目“%{project}”的成员' + add_as_members_with_role: '使用以下角色将他们添加为项目“%{project}”的成员' no_type_provided: '未提供类型' no_status_provided: '未提供状态' no_priority_provided: '未提供优先级' - perform_description: "您想要导入或更新上面列出的问题吗?" - replace_with_system_user: '用“系统”用户替换它们' - import_as_system_user: '将它们导入为“系统”用户。' + perform_description: "要导入或更新上面列出的问题吗?" + replace_with_system_user: '用“系统”用户替换他们' + import_as_system_user: '将他们导入为“系统”用户。' what_to_do: "你想做什么?" work_package_has_newer_changes: "已过时!此主题未更新,因为服务器上的最新更改比导入主题的“ModifiedDate”更新。但是,已导入该主题的注释。" export: diff --git a/modules/boards/config/locales/crowdin/es.yml b/modules/boards/config/locales/crowdin/es.yml index fe680ceafd..94584f95b3 100644 --- a/modules/boards/config/locales/crowdin/es.yml +++ b/modules/boards/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ es: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "Ver paneles" + permission_manage_board_views: "Administrar paneles" project_module_board_view: "Tableros" boards: label_boards: "Tableros" diff --git a/modules/boards/config/locales/crowdin/fr.yml b/modules/boards/config/locales/crowdin/fr.yml index c13cbc54f0..47a931c882 100644 --- a/modules/boards/config/locales/crowdin/fr.yml +++ b/modules/boards/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ fr: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "Afficher les tableaux" + permission_manage_board_views: "Gérer les tableaux" project_module_board_view: "Tableaux" boards: label_boards: "Tableaux" diff --git a/modules/boards/config/locales/crowdin/js-es.yml b/modules/boards/config/locales/crowdin/js-es.yml index 7450fbcf83..a7923618d6 100644 --- a/modules/boards/config/locales/crowdin/js-es.yml +++ b/modules/boards/config/locales/crowdin/js-es.yml @@ -1,45 +1,45 @@ es: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: 'Panel sin nombre' + label_unnamed_list: 'Lista sin nombre' + label_board_type: 'Tipo de panel' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: 'Mejore su administración de proyectos ágiles con esta vista flexible de paneles. Cree tantos paneles como prefiera para cualquier elemento del que quiera realizar un seguimiento.' + upgrade_to_ee_text: 'Los paneles son una característica de la versión Enterprise. Actualice a un plan de pago.' + upgrade: 'Actualizar ahora' + personal_demo: 'Obtener una demostración personal' lists: delete: 'Eliminar lista' 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' + is_locked: 'La versión está bloqueada. No se pueden agregar elementos a esta versión.' + is_closed: 'La versión está cerrada. No se pueden agregar elementos a esta versión.' + close_version: 'Cerrar versión' + open_version: 'Abrir versión' + lock_version: 'Bloquear versión' + unlock_version: 'Desbloquear versión' + edit_version: 'Editar versión' + show_version: 'Mostrar versión' locked: 'Bloqueado' closed: 'Cerrado' - new_board: 'New board' - add_list: 'Add list' - 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" - click_to_remove_list: "Click to remove this list" + new_board: 'Nuevo panel' + add_list: 'Agregar lista' + add_card: 'Agregar tarjeta' + error_attribute_not_writable: "No se puede mover el paquete de trabajo porque %{attribute} no permite la escritura." + error_loading_the_list: "Error al cargar la lista: %{error_message}" + error_permission_missing: "Falta el permiso para crear consultas públicas" + click_to_remove_list: "Haga clic para quitar esta lista" board_type: - free: 'Basic board' + free: 'Panel básico' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + Cree un panel donde pueda crear libremente listas y ordenar los paquetes de trabajo que contenga. Al mover los paquetes de trabajo entre las listas, no se cambia del paquete de trabajo en sí. + action: 'Panel de acciones' + action_by_attribute: 'Panel de acciones (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + Cree un panel con listas filtradas en un único atributo. Al mover los paquetes de trabajo a otras listas, se actualizará su atributo. + select_attribute: "Atributo de acción" configuration_modal: - title: 'Configure this board' + title: 'Configurar este panel' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "Mostrar como tarjetas" + table_mode: "Mostrar como tabla" diff --git a/modules/boards/config/locales/crowdin/js-fr.yml b/modules/boards/config/locales/crowdin/js-fr.yml index 08e60ee633..86fb543a9a 100644 --- a/modules/boards/config/locales/crowdin/js-fr.yml +++ b/modules/boards/config/locales/crowdin/js-fr.yml @@ -1,45 +1,45 @@ fr: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: 'Tableau sans nom' + label_unnamed_list: 'Liste sans nom' + label_board_type: 'Type de tableau' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: 'Améliorez votre gestion de projet agile avec cette vue des tableaux flexible. Créez autant de tableaux que vous voulez pour tout ce que vous souhaitez conserver.' + upgrade_to_ee_text: 'Les tableaux sont une fonctionnalité du plan Enterprise. Veuillez passer à un forfait payant.' + upgrade: 'Passer au plan supérieur' + personal_demo: 'Obtenir une démo personnelle' lists: delete: 'Supprimer la liste' 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' + is_locked: 'La version est verrouillée. Aucun élément ne peut être ajouté à cette version.' + is_closed: 'La version est fermée. Aucun élément ne peut être ajouté à cette version.' + close_version: 'Fermer la version' + open_version: 'Ouvrir la version' + lock_version: 'Verrouiller la version' + unlock_version: 'Déverrouiller la version' + edit_version: 'Éditer la version' + show_version: 'Afficher la version' locked: 'Verrouillé' closed: 'Clôturé' - new_board: 'New board' - add_list: 'Add list' - 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}" + new_board: 'Nouveau tableau' + add_list: 'Ajouter une liste' + add_card: 'Ajouter une carte' + error_attribute_not_writable: "Impossible de déplacer le lot de travaux, %{attribute} n'est pas modifiable." + error_loading_the_list: "Erreur lors du chargement de la liste : %{error_message}" error_permission_missing: "La permission pour créer des requêtes publiques est manquante" - click_to_remove_list: "Click to remove this list" + click_to_remove_list: "Cliquez pour supprimer cette liste" board_type: - free: 'Basic board' + free: 'Tableau de base' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + Créez un tableau dans lequel vous pouvez créer librement des listes et ordonner vos lots de travaux dans celles-ci. Déplacer des lots de travaux entre les listes ne modifie pas le lot de travaux en lui-même. + action: 'Tableau d''action' + action_by_attribute: 'Tableau d''action (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + Créez un tableau avec des listes filtrées sur un seul attribut. Déplacer des lots de travaux vers d'autres listes mettra à jour leur attribut. + select_attribute: "Attribut d'action" configuration_modal: - title: 'Configure this board' + title: 'Configurer ce tableau' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "Affichage en cartes" + table_mode: "Affichage en tableau" diff --git a/modules/boards/config/locales/crowdin/js-ko.yml b/modules/boards/config/locales/crowdin/js-ko.yml index 1494a6afb7..b0eeb73669 100644 --- a/modules/boards/config/locales/crowdin/js-ko.yml +++ b/modules/boards/config/locales/crowdin/js-ko.yml @@ -1,45 +1,45 @@ ko: js: boards: - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: '명명되지 않은 보드' + label_unnamed_list: '명명되지 않은 목록' + label_board_type: '보드 유형' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: '이 유연한 보드 보기에서 애자일 프로젝트 관리를 개선하십시오. 계속 추적하고 싶은 사항에 따라 원하는 만큼 보드를 생성하십시오.' + upgrade_to_ee_text: '보드는 Enterprise 기능입니다. 유료 플랜으로 업그레이드하십시오.' + upgrade: '지금 업그레이드' + personal_demo: '개인 데모 이용' lists: delete: '목록 삭제' 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' + is_locked: '버전이 잠겨 있습니다. 이 버전에 항목을 추가할 수 없습니다.' + is_closed: '버전이 닫혔습니다. 이 버전에 항목을 추가할 수 없습니다.' + close_version: '버전 닫기' + open_version: '버전 열기' + lock_version: '버전 잠금' + unlock_version: '버전 잠금 해제' + edit_version: '버전 편집' + show_version: '버전 표시' locked: '잠김' closed: '닫음' - new_board: 'New board' - add_list: 'Add list' - 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" - click_to_remove_list: "Click to remove this list" + new_board: '새로운 보드' + add_list: '목록 추가' + add_card: '카드 추가' + error_attribute_not_writable: "작업 패키지를 이동할 수 없습니다. %{attribute}은(는) 쓰기 가능하지 않습니다." + error_loading_the_list: "목록 로드 중 오류 발생: %{error_message}" + error_permission_missing: "공용 쿼리를 만들 수 있는 권한이 없습니다" + click_to_remove_list: "이 목록을 제거하려면 클릭" board_type: - free: 'Basic board' + free: '기본 보드' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + 자유롭게 목록을 만들고 작업 패키지를 주문할 수 있는 보드를 생성하십시오. 목록 간에 작업 패키지를 이동해도 작업 패키지 자체는 변경되지 않습니다. + action: '작업 보드' + action_by_attribute: '작업 보드(%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + 단일 특성에서 필터가 적용한 목록을 사용하여 보드를 생성하십시오. 작업 패키지를 다른 목록으로 이동하면 해당 특성이 업데이트됩니다. + select_attribute: "작업 특성" configuration_modal: - title: 'Configure this board' + title: '이 보드 구성' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "카드로 표시" + table_mode: "테이블로 표시" diff --git a/modules/boards/config/locales/crowdin/js-pl.yml b/modules/boards/config/locales/crowdin/js-pl.yml index 1b54d1c145..ad944630ee 100644 --- a/modules/boards/config/locales/crowdin/js-pl.yml +++ b/modules/boards/config/locales/crowdin/js-pl.yml @@ -27,7 +27,7 @@ pl: add_card: 'Dodaj kartę' error_attribute_not_writable: "Nie można przenieść pakietu roboczego, nie można zapisać %{attribute}." error_loading_the_list: "Błąd podczas ładowania listy: %{error_message}" - error_permission_missing: "The permission to create public queries is missing" + error_permission_missing: "Brakuje uprawnienia do tworzenia zapytań publicznych" click_to_remove_list: "Kliknij, aby usunąć tę listę" board_type: free: 'Tablica podstawowa' @@ -36,10 +36,10 @@ pl: action: 'Tablica działania' action_by_attribute: 'Tablica działania (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + Utwórz tablicę z listami filtrowanymi według jednego atrybutu. Przeniesienie pakietów roboczych na inne listy spowoduje aktualizację ich atrybutu. + select_attribute: "Atrybut działania" configuration_modal: - title: 'Configure this board' + title: 'Skonfiguruj tę tablicę' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "Wyświetlaj jako karty" + table_mode: "Wyświetlaj jako tabelę" diff --git a/modules/boards/config/locales/crowdin/js-pt.yml b/modules/boards/config/locales/crowdin/js-pt.yml index e3b7297244..37d50469bc 100644 --- a/modules/boards/config/locales/crowdin/js-pt.yml +++ b/modules/boards/config/locales/crowdin/js-pt.yml @@ -5,7 +5,7 @@ pt: label_unnamed_list: 'Lista sem nome' label_board_type: 'Tipo de quadro' upsale: - teaser_text: 'Melhore a sua gestão ágil de projetos com esta visualização flexível de Quadros. Crie os quadros que quiser para qualquer coisa que queira acompanhar.' + teaser_text: 'Melhore e agilize a sua gestão de projetos com esta visualização flexível de Quadros. Crie os quadros que quiser para qualquer coisa que queira acompanhar.' upgrade_to_ee_text: 'Os Quadros são um recurso Empresarial. Por favor atualize para um plano pago.' upgrade: 'Atualizar agora' personal_demo: 'Obter uma demonstração pessoal' diff --git a/modules/boards/config/locales/crowdin/js-zh-CN.yml b/modules/boards/config/locales/crowdin/js-zh-CN.yml index c8ec86489f..ee37aefe8b 100644 --- a/modules/boards/config/locales/crowdin/js-zh-CN.yml +++ b/modules/boards/config/locales/crowdin/js-zh-CN.yml @@ -5,41 +5,41 @@ zh-CN: label_unnamed_list: '未命名列表' label_board_type: '面板类型' upsale: - teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' - upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' - upgrade: 'Upgrade now' - personal_demo: 'Get a personal demo' + teaser_text: '通过此灵活的面板视图改进您的敏捷项目管理。为您想要跟踪的一切创建任意数量的面板。' + upgrade_to_ee_text: '面板是企业版功能。请升级到付费计划。' + upgrade: '立即升级' + personal_demo: '获取个人演示' lists: delete: '删除列表' 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' + is_locked: '版本已锁定。无法向此版本添加项目。' + is_closed: '版本已关闭。无法向此版本添加项目。' + close_version: '关闭版本' + open_version: '打开版本' + lock_version: '锁定版本' + unlock_version: '解锁版本' + edit_version: '编辑版本' + show_version: '显示版本' locked: '锁定' closed: '已关闭' - new_board: 'New board' - add_list: 'Add list' - 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}" + new_board: '新建面板' + add_list: '添加列表' + add_card: '添加卡片' + error_attribute_not_writable: "无法移动工作包,%{attribute} 不可写。" + error_loading_the_list: "加载列表时出错:%{error_message}" error_permission_missing: "缺少创建公共查询的权限" - click_to_remove_list: "Click to remove this list" + click_to_remove_list: "点击以移除此列表" board_type: - free: 'Basic board' + free: '基本面板' free_text: > - Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + 创建一个可在其中自由创建列表和订购工作包的面板。在列表之间移动工作包不会更改工作包本身。 + action: '操作面板' + action_by_attribute: '操作面板 (%{attribute})' action_text: > - Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. - select_attribute: "Action attribute" + 创建一个在单个属性上具有筛选列表的面板。将工作包移动到其他列表将更新其属性。 + select_attribute: "操作属性" configuration_modal: - title: 'Configure this board' + title: '配置此面板' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "显示为卡片" + table_mode: "显示为表" diff --git a/modules/boards/config/locales/crowdin/ko.yml b/modules/boards/config/locales/crowdin/ko.yml index 6844a2d555..e6e8c74832 100644 --- a/modules/boards/config/locales/crowdin/ko.yml +++ b/modules/boards/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ ko: - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "보드 보기" + permission_manage_board_views: "보드 관리" project_module_board_view: "보드" boards: label_boards: "보드" diff --git a/modules/dashboards/config/locales/crowdin/es.yml b/modules/dashboards/config/locales/crowdin/es.yml index 8871788f6e..251f40f980 100644 --- a/modules/dashboards/config/locales/crowdin/es.yml +++ b/modules/dashboards/config/locales/crowdin/es.yml @@ -1,5 +1,5 @@ es: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: 'Paneles' + menu_badge: 'Alfa' + project_module_dashboards: 'Paneles' diff --git a/modules/dashboards/config/locales/crowdin/fr.yml b/modules/dashboards/config/locales/crowdin/fr.yml index 4b21451b79..e8234cd757 100644 --- a/modules/dashboards/config/locales/crowdin/fr.yml +++ b/modules/dashboards/config/locales/crowdin/fr.yml @@ -1,5 +1,5 @@ fr: dashboards: - label: 'Dashboards' + label: 'Tableaux de bord' menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + project_module_dashboards: 'Tableaux de bord' diff --git a/modules/dashboards/config/locales/crowdin/js-es.yml b/modules/dashboards/config/locales/crowdin/js-es.yml index 37207722f7..56bec7f95c 100644 --- a/modules/dashboards/config/locales/crowdin/js-es.yml +++ b/modules/dashboards/config/locales/crowdin/js-es.yml @@ -1,4 +1,4 @@ es: js: dashboards: - label: 'Dashboard' + label: 'Paneles' diff --git a/modules/dashboards/config/locales/crowdin/js-fr.yml b/modules/dashboards/config/locales/crowdin/js-fr.yml index 69309dffdf..ee0ce85efd 100644 --- a/modules/dashboards/config/locales/crowdin/js-fr.yml +++ b/modules/dashboards/config/locales/crowdin/js-fr.yml @@ -1,4 +1,4 @@ fr: js: dashboards: - label: 'Dashboard' + label: 'Tableau de bord' diff --git a/modules/dashboards/config/locales/crowdin/js-ko.yml b/modules/dashboards/config/locales/crowdin/js-ko.yml index 74df70a72c..94acd88b21 100644 --- a/modules/dashboards/config/locales/crowdin/js-ko.yml +++ b/modules/dashboards/config/locales/crowdin/js-ko.yml @@ -1,4 +1,4 @@ ko: js: dashboards: - label: 'Dashboard' + label: '대시보드' diff --git a/modules/dashboards/config/locales/crowdin/js-pl.yml b/modules/dashboards/config/locales/crowdin/js-pl.yml index 771d50b1b5..79f9e05f25 100644 --- a/modules/dashboards/config/locales/crowdin/js-pl.yml +++ b/modules/dashboards/config/locales/crowdin/js-pl.yml @@ -1,4 +1,4 @@ pl: js: dashboards: - label: 'Dashboard' + label: 'Pulpit nawigacyjny' diff --git a/modules/dashboards/config/locales/crowdin/js-zh-CN.yml b/modules/dashboards/config/locales/crowdin/js-zh-CN.yml index e2dd42e7f6..ea3bd4b6ff 100644 --- a/modules/dashboards/config/locales/crowdin/js-zh-CN.yml +++ b/modules/dashboards/config/locales/crowdin/js-zh-CN.yml @@ -1,4 +1,4 @@ zh-CN: js: dashboards: - label: 'Dashboard' + label: '仪表板' diff --git a/modules/dashboards/config/locales/crowdin/ko.yml b/modules/dashboards/config/locales/crowdin/ko.yml index ea60f39036..9f0e1feaab 100644 --- a/modules/dashboards/config/locales/crowdin/ko.yml +++ b/modules/dashboards/config/locales/crowdin/ko.yml @@ -1,5 +1,5 @@ ko: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: '대시보드' + menu_badge: '알파' + project_module_dashboards: '대시보드' diff --git a/modules/dashboards/config/locales/crowdin/pl.yml b/modules/dashboards/config/locales/crowdin/pl.yml index d4f95a58ff..1e6ea79f0f 100644 --- a/modules/dashboards/config/locales/crowdin/pl.yml +++ b/modules/dashboards/config/locales/crowdin/pl.yml @@ -1,5 +1,5 @@ pl: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: 'Pulpity nawigacyjne' + menu_badge: 'Alfa' + project_module_dashboards: 'Pulpity nawigacyjne' diff --git a/modules/dashboards/config/locales/crowdin/zh-CN.yml b/modules/dashboards/config/locales/crowdin/zh-CN.yml index 008e6deb85..a5f3a18744 100644 --- a/modules/dashboards/config/locales/crowdin/zh-CN.yml +++ b/modules/dashboards/config/locales/crowdin/zh-CN.yml @@ -1,5 +1,5 @@ zh-CN: dashboards: - label: 'Dashboards' - menu_badge: 'Alpha' - project_module_dashboards: 'Dashboards' + label: '仪表板' + menu_badge: 'Alpha 版' + project_module_dashboards: '仪表板' diff --git a/modules/github_integration/config/locales/crowdin/es.yml b/modules/github_integration/config/locales/crowdin/es.yml index 547dac84c4..1002214076 100644 --- a/modules/github_integration/config/locales/crowdin/es.yml +++ b/modules/github_integration/config/locales/crowdin/es.yml @@ -1,10 +1,10 @@ es: 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}). + **PR abierta:** la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) para [%{repository}](%{repository_url}) ha sido abierta por [%{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}). + **PR cerrada:** la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) para [%{repository}](%{repository_url}) ha sido cerrada por [%{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}). + **PR combinada:** la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) para [%{repository}](%{repository_url}) ha sido combinada por [%{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}). + **Con referencia en PR:** [%{github_user}](%{github_user_url}) hizo referencia a este paquete de trabajo en la solicitud de incorporación de cambios %{pr_number} [%{pr_title}](%{pr_url}) en [%{repository}](%{repository_url}). diff --git a/modules/github_integration/config/locales/crowdin/fr.yml b/modules/github_integration/config/locales/crowdin/fr.yml index e331a85fd4..cf8ffb7d56 100644 --- a/modules/github_integration/config/locales/crowdin/fr.yml +++ b/modules/github_integration/config/locales/crowdin/fr.yml @@ -1,10 +1,10 @@ fr: 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}). + **PR Ouvert :** Demande pull %{pr_number} [%{pr_title}](%{pr_url}) pour [%{repository}](%{repository_url}) ouverte par [%{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}). + **PR Fermé :** Demande pull %{pr_number} [%{pr_title}](%{pr_url}) pour [%{repository}](%{repository_url}) fermée par [%{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}). + **PR Fusionné :** Demande pull %{pr_number} [%{pr_title}](%{pr_url}) pour [%{repository}](%{repository_url}) fusionnée par [%{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}). + **Référencé dans PR:** [%{github_user}](%{github_user_url}) a référencé ce lots de travaux dans la demande Pull %{pr_number} [%{pr_title}](%{pr_url}) dans [%{repository}](%{repository_url}). diff --git a/modules/github_integration/config/locales/crowdin/ko.yml b/modules/github_integration/config/locales/crowdin/ko.yml index 8612f2e93e..fa6732e89a 100644 --- a/modules/github_integration/config/locales/crowdin/ko.yml +++ b/modules/github_integration/config/locales/crowdin/ko.yml @@ -1,10 +1,10 @@ ko: 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}). + **PR 열림:** [%{repository}](%{repository_url})에 대한 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})이(가) [%{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}). + **PR 닫힘:** [%{repository}](%{repository_url})에 대한 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})이(가) [%{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}). + **PR 병합됨:** [%{repository}](%{repository_url})에 대한 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})이(가) [%{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}). + **PR에서 참조됨:** [%{github_user}](%{github_user_url})님이 [%{repository}](%{repository_url})의 끌어오기 요청 %{pr_number} [%{pr_title}](%{pr_url})에서 이 작업 패키지를 참조했습니다. diff --git a/modules/github_integration/config/locales/crowdin/pl.yml b/modules/github_integration/config/locales/crowdin/pl.yml index 8e84b3206c..1c48dde353 100644 --- a/modules/github_integration/config/locales/crowdin/pl.yml +++ b/modules/github_integration/config/locales/crowdin/pl.yml @@ -1,10 +1,10 @@ pl: 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}). + **Otwarte PR:** Żądanie Pull Request %{pr_number} [%{pr_title}](%{pr_url}) dla [%{repository}](%{repository_url}) zostało otwarte przez [%{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}). + **Zamknięte PR:** Żądanie Pull Request %{pr_number} [%{pr_title}](%{pr_url}) dla [%{repository}](%{repository_url}) zostało zamknięte przez [%{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}). + **Scalone PR:** Żądanie Pull Request %{pr_number} [%{pr_title}](%{pr_url}) dla [%{repository}](%{repository_url}) zostało scalone przez [%{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}). + **Wskazano w PR:** [%{github_user}](%{github_user_url}) wskazał ten pakiet roboczy w żądaniu Pull Request %{pr_number} [%{pr_title}](%{pr_url}), w [%{repository}](%{repository_url}). diff --git a/modules/github_integration/config/locales/crowdin/zh-CN.yml b/modules/github_integration/config/locales/crowdin/zh-CN.yml index 312f1c16a4..2a0dac10e6 100644 --- a/modules/github_integration/config/locales/crowdin/zh-CN.yml +++ b/modules/github_integration/config/locales/crowdin/zh-CN.yml @@ -1,10 +1,10 @@ zh-CN: 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}). + **拉取请求已打开:** [%{repository}](%{repository_url}) 的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 已由 [%{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}). + **拉取请求已关闭:** [%{repository}](%{repository_url}) 的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 已由 [%{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}). + **拉取请求已合并:** [%{repository}](%{repository_url}) 的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 已由 [%{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}). + **已在拉取请求中引用:** [%{github_user}](%{github_user_url}) 在 [%{repository}](%{repository_url}) 上的拉取请求 %{pr_number} [%{pr_title}](%{pr_url}) 中引用了此工作包。 diff --git a/modules/grids/config/locales/crowdin/js-es.yml b/modules/grids/config/locales/crowdin/js-es.yml index 610cc7448b..f365420936 100644 --- a/modules/grids/config/locales/crowdin/js-es.yml +++ b/modules/grids/config/locales/crowdin/js-es.yml @@ -1,11 +1,11 @@ es: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'Agregar widget' + remove: 'Quitar widget' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Algunos widgets, como el widget del gráfico de paquetes de trabajo, solo están disponibles en la " + link: 'edición Enterprise.' widgets: custom_text: title: 'Texto personalizado' @@ -14,23 +14,23 @@ es: no_results: 'No hay documentos.' members: title: 'Miembros' - no_results: 'No visible members.' + no_results: 'No hay miembros visibles.' view_all_members: 'Ver todos los miembros' add: 'Miembro' - too_many: 'Displaying %{count} of %{total} members.' + too_many: 'Mostrando %{count} de %{total} miembros.' news: title: 'Noticias' at: 'en' no_results: 'Nada nuevo sobre lo que informar.' project_description: title: 'Descripción del proyecto' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Aún no se ha escrito ninguna descripción. Puede proporcionar una descripción en la configuración del proyecto." project_details: title: 'Detalles del proyecto' - no_results: 'No custom fields have been defined for projects.' + no_results: 'No se han definido campos personalizados para los proyectos.' subprojects: title: 'Subproyectos' - no_results: 'No subprojects.' + no_results: 'No hay subproyectos.' time_entries_list: title: 'Tiempo de gastos (últimos 7 días)' no_results: 'Sin entradas temporales en los últimos 7 días.' @@ -43,11 +43,11 @@ es: work_packages_watched: title: 'Paquetes de trabajo vigilados por mí' work_packages_table: - title: 'Work packages table' + title: 'Tabla de paquetes de trabajo' work_packages_graph: - title: 'Work packages graph' + title: 'Gráfico de paquetes de trabajo' work_packages_calendar: title: 'Calendario' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: 'Información general sobre paquete de trabajo' + placeholder: 'Haga clic para editar…' diff --git a/modules/grids/config/locales/crowdin/js-fr.yml b/modules/grids/config/locales/crowdin/js-fr.yml index 01dcda60be..91cb76149d 100644 --- a/modules/grids/config/locales/crowdin/js-fr.yml +++ b/modules/grids/config/locales/crowdin/js-fr.yml @@ -1,11 +1,11 @@ fr: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'Ajouter un widget' + remove: 'Supprimer le widget' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Certains widgets, comme le widget graphique des lots de travaux, ne sont disponibles que dans" + link: 'la version Entreprise.' widgets: custom_text: title: 'Texte personnalisé' @@ -14,23 +14,23 @@ fr: no_results: 'Encore aucun document.' members: title: 'Membres' - no_results: 'No visible members.' + no_results: 'Aucun membre visible.' view_all_members: 'Afficher tous les membres' add: 'Membre' - too_many: 'Displaying %{count} of %{total} members.' + too_many: '%{count} membres sur %{total} affichés.' news: title: 'Actualités' at: 'à' no_results: 'Rien de nouveau à signaler.' project_description: title: 'Description du projet' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Aucune description n'a encore été écrite. Vous pouvez en trouver une dans les \"Paramètres du projet\"." project_details: title: 'Détails du projet' - no_results: 'No custom fields have been defined for projects.' + no_results: 'Aucun champ personnalisé n''a été défini pour les projets.' subprojects: title: 'Sous-projets' - no_results: 'No subprojects.' + no_results: 'Aucun sous-projet.' time_entries_list: title: 'Temps passé (7 derniers jours)' no_results: 'Aucune entrée de temps pour les 7 derniers jours.' @@ -43,11 +43,11 @@ fr: work_packages_watched: title: 'Lots de travaux que j''ai observés' work_packages_table: - title: 'Work packages table' + title: 'Tableau des lots de travaux' work_packages_graph: - title: 'Work packages graph' + title: 'Graphique des lots de travaux' work_packages_calendar: title: 'Calendrier' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: 'Aperçu des lots de travaux' + placeholder: 'Cliquez pour éditer...' diff --git a/modules/grids/config/locales/crowdin/js-ko.yml b/modules/grids/config/locales/crowdin/js-ko.yml index 8f0a1d499a..d03d4de7fe 100644 --- a/modules/grids/config/locales/crowdin/js-ko.yml +++ b/modules/grids/config/locales/crowdin/js-ko.yml @@ -1,11 +1,11 @@ ko: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: '위젯 추가' + remove: '위젯 제거' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "작업 패키지 그래프 위젯 같은 일부 위젯은 다음에서만 사용 가능합니다: " + link: 'Enterprise Edition.' widgets: custom_text: title: '사용자 지정 텍스트' @@ -14,23 +14,23 @@ ko: no_results: '아직 문서가 없습니다.' members: title: '멤버' - no_results: 'No visible members.' + no_results: '표시할 멤버가 없습니다.' view_all_members: '모든 회원 보기' add: '멤버' - too_many: 'Displaying %{count} of %{total} members.' + too_many: '%{count}/%{total}명의 멤버를 표시 중입니다.' news: title: '뉴스' at: '-' no_results: '새로 보고할 것이 없음' project_description: title: '프로젝트 설명' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "설명이 아직 작성되지 않았습니다. '프로젝트 설정'에서 입력할 수 있습니다." project_details: title: '프로젝트 세부 정보' - no_results: 'No custom fields have been defined for projects.' + no_results: '프로젝트에 대한 사용자 지정 필드가 정의되지 않았습니다.' subprojects: title: '하위 프로젝트' - no_results: 'No subprojects.' + no_results: '하위 프로젝트가 없습니다.' time_entries_list: title: '경과 시간(지난 7 일)' no_results: '지난 7일간 시간 항목이 없습니다.' @@ -43,11 +43,11 @@ ko: work_packages_watched: title: '내가 본 작업 패키지' work_packages_table: - title: 'Work packages table' + title: '작업 패키지 테이블' work_packages_graph: - title: 'Work packages graph' + title: '작업 패키지 그래프' work_packages_calendar: title: '달력' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: '작업 패키지 개요' + placeholder: '편집하려면 클릭...' diff --git a/modules/grids/config/locales/crowdin/js-pl.yml b/modules/grids/config/locales/crowdin/js-pl.yml index 77a4e9cf37..a8ef042fbe 100644 --- a/modules/grids/config/locales/crowdin/js-pl.yml +++ b/modules/grids/config/locales/crowdin/js-pl.yml @@ -1,8 +1,8 @@ pl: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'Dodaj widżet' + remove: 'Usuń widżet' upsale: text: "Some widgets, like the work package graph widget, are only available in the " link: 'enterprise edition.' @@ -14,23 +14,23 @@ pl: no_results: 'Nie ma jeszcze dokumentów.' members: title: 'Członkowie' - no_results: 'No visible members.' + no_results: 'Brak widocznych członków.' view_all_members: 'Zobacz wszystkich członków' add: 'Członek' - too_many: 'Displaying %{count} of %{total} members.' + too_many: 'Wyświetlanie %{count} z %{total} członków.' news: title: 'Aktualności' at: 'w' no_results: 'Utwórz nowy raport.' project_description: title: 'Opis projektu' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Nie napisano jeszcze opisu. Można go podać w sekcji Ustawienia projektu." project_details: title: 'Szczegóły Projektu' - no_results: 'No custom fields have been defined for projects.' + no_results: 'Nie zdefiniowano żadnych pól niestandardowych dla projektów.' subprojects: title: 'Podprojekty' - no_results: 'No subprojects.' + no_results: 'Brak podprojektów.' time_entries_list: title: 'Poświęcony czas (ostatnie 7 dni)' no_results: 'Brak zarejestrowanego czasu pracy w ostatnich 7 dniach.' @@ -43,11 +43,11 @@ pl: work_packages_watched: title: 'Pakiety robocze obserwowane przeze mnie' work_packages_table: - title: 'Work packages table' + title: 'Tabela pakietów roboczych' work_packages_graph: - title: 'Work packages graph' + title: 'Wykres pakietów roboczych' work_packages_calendar: title: 'Kalendarz' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: 'Przegląd pakietów roboczych' + placeholder: 'Kliknij, aby edytować...' diff --git a/modules/grids/config/locales/crowdin/js-ru.yml b/modules/grids/config/locales/crowdin/js-ru.yml index 4838da9472..e1a6237ced 100644 --- a/modules/grids/config/locales/crowdin/js-ru.yml +++ b/modules/grids/config/locales/crowdin/js-ru.yml @@ -1,11 +1,11 @@ ru: js: grid: - add_widget: 'Add widget' + add_widget: 'Добавить виджет' remove: 'Удалить виджет' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Некоторые виджеты, такие как виджет графика комплекса работ, доступны только в " + link: 'корпоративной версии.' widgets: custom_text: title: 'Пользовательский текст' @@ -24,10 +24,10 @@ ru: no_results: 'Ничего нового для отчета.' project_description: title: 'Описание проекта' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "Описания еще нет. Его можно добавить в настройках проекта." project_details: title: 'Детали проекта' - no_results: 'No custom fields have been defined for projects.' + no_results: 'Для проектов не определены настраиваемые поля.' subprojects: title: 'Подпроекты' no_results: 'Подпроектов нет.' diff --git a/modules/grids/config/locales/crowdin/js-zh-CN.yml b/modules/grids/config/locales/crowdin/js-zh-CN.yml index 44ef4d7d37..45954a55df 100644 --- a/modules/grids/config/locales/crowdin/js-zh-CN.yml +++ b/modules/grids/config/locales/crowdin/js-zh-CN.yml @@ -1,11 +1,11 @@ zh-CN: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: '添加微件' + remove: '移除微件' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "某些微件(例如工作包图微件)仅适用于" + link: '企业版。' widgets: custom_text: title: '自定义文本' @@ -14,23 +14,23 @@ zh-CN: no_results: '没有文档。' members: title: '成员' - no_results: 'No visible members.' + no_results: '无可见成员。' view_all_members: '查看所有成员' add: '成员' - too_many: 'Displaying %{count} of %{total} members.' + too_many: '正在显示 %{count} 个成员,总共 %{total} 个。' news: title: '新闻' at: '位置:' no_results: '没有新消息报告。' project_description: title: '项目描述' - no_results: "No description has been written yet. One can be provided in the 'Project settings'." + no_results: "尚未写入任何描述。可以在“项目设置”中提供一个描述。" project_details: title: '项目详细信息' - no_results: 'No custom fields have been defined for projects.' + no_results: '没有为项目定义自定义字段。' subprojects: title: '子项目' - no_results: 'No subprojects.' + no_results: '无子项目。' time_entries_list: title: '花费时间 (最近 7天)' no_results: '过去7天没有时间记录。' @@ -43,11 +43,11 @@ zh-CN: work_packages_watched: title: '由我汇报的工作包' work_packages_table: - title: 'Work packages table' + title: '工作包表' work_packages_graph: - title: 'Work packages graph' + title: '工作包图' work_packages_calendar: title: '日历' work_packages_overview: - title: 'Work packages overview' - placeholder: 'Click to edit ...' + title: '工作包概览' + placeholder: '点击以编辑…' diff --git a/modules/ldap_groups/config/locales/crowdin/es.yml b/modules/ldap_groups/config/locales/crowdin/es.yml index c4c48831c6..bbbca2bcc9 100644 --- a/modules/ldap_groups/config/locales/crowdin/es.yml +++ b/modules/ldap_groups/config/locales/crowdin/es.yml @@ -2,31 +2,31 @@ es: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: 'Identificador de entrada' + auth_source: 'Conexión LDAP' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: 'Grupo de LDAP sincronizado' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'Sincronización de grupos de LDAP' + label_group_key: 'Clave de filtro de grupo de LDAP' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'Atributo del grupo de LDAP' + group_key_text: 'El nombre de atributo LDAP usado para identificar los grupos.' + group_base: 'Base del grupo de LDAP' + group_base_text: 'Base del grupo de LDAP usado para buscar entradas del grupo.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: 'Agregar grupo de LDAP sincronizado' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: 'Quitar grupo sincronizado %{name}' + confirmation: "Si continúa, se eliminarán el grupo sincronizado %{name} y %{users_count} usuarios sincronizados mediante este." + info: "Nota: El grupo de OpenProject en sí y los miembros agregados fuera de esta sincronización de LDAP no se eliminarán." + verification: "Escriba el nombre del grupo %{name} para verificar la eliminación." + no_results: 'No se encontraron grupos sincronizados.' + no_members: 'Este grupo aún no tiene miembros sincronizados.' + plural: 'Grupos de LDAP sincronizados' + singular: 'Grupo de LDAP sincronizado' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: 'Seleccione el modo de autenticación LDAP usado.' + entry_text: 'Defina el identificador de grupo de LDAP.' + group_text: 'Seleccione un grupo de OpenProject existente con el que se sincronizarán los miembros del grupo de LDAP' diff --git a/modules/ldap_groups/config/locales/crowdin/fr.yml b/modules/ldap_groups/config/locales/crowdin/fr.yml index 6908e75998..1ea6785ae3 100644 --- a/modules/ldap_groups/config/locales/crowdin/fr.yml +++ b/modules/ldap_groups/config/locales/crowdin/fr.yml @@ -2,31 +2,31 @@ fr: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: 'Identificateur d''entrée' + auth_source: 'Connexion LDAP' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: 'Groupe LDAP synchronisé' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'Synchronisation de groupe LDAP' + label_group_key: 'Clé de filtre de groupe LDAP' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'Attribut de groupe LDAP' + group_key_text: 'Le nom d''attribut LDAP utilisé pour identifier les groupes.' + group_base: 'Base du groupe LDAP' + group_base_text: 'Base du groupe LDAP utilisée pour rechercher des entrées du groupe.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: 'Ajouter un groupe LDAP synchronisé' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: 'Supprimer le groupe synchronisé %{name}' + confirmation: "Si vous continuez, le groupe synchronisé %{name} et tous les utilisateurs %{users_count} synchronisés par le biais de celui-ci seront supprimés." + info: "Remarque : Le groupe OpenProject lui-même et les membres ajoutés en dehors de cette synchronisation LDAP ne seront pas supprimés." + verification: "Saisissez le nom du groupe %{name} pour valider la suppression." + no_results: 'Aucun groupe synchronisé trouvé.' + no_members: 'Ce groupe n''a pas encore de membres synchronisés.' + plural: 'Groupes LDAP synchronisés' + singular: 'Groupe LDAP synchronisé' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: 'Sélectionnez le mode d''authentification LDAP utilisé.' + entry_text: 'Définissez l''identifiant du groupe LDAP.' + group_text: 'Sélectionnez un groupe OpenProject existant avec lequel les membres du groupe LDAP seront synchronisés' diff --git a/modules/ldap_groups/config/locales/crowdin/ko.yml b/modules/ldap_groups/config/locales/crowdin/ko.yml index 220fc4612a..97f0dc714c 100644 --- a/modules/ldap_groups/config/locales/crowdin/ko.yml +++ b/modules/ldap_groups/config/locales/crowdin/ko.yml @@ -2,31 +2,31 @@ ko: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: '항목 식별자' + auth_source: 'LDAP 연결' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: '동기화된 LDAP 그룹' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'LDAP 그룹 동기화' + label_group_key: 'LDAP 그룹 필터 키' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'LDAP 그룹 특성' + group_key_text: '그룹을 식별하는 데 사용되는 LDAP 특성 이름입니다.' + group_base: 'LDAP 그룹 기반' + group_base_text: '그룹 항목 검색에 사용되는 LDAP 그룹 기반입니다.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: '동기화된 LDAP 그룹 추가' 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." - no_results: 'No synchronized groups found.' - no_members: 'This group has no synchronized members yet.' - plural: 'Synchronized LDAP groups' - singular: 'Synchronized LDAP group' + title: '동기화된 그룹 %{name} 제거' + confirmation: "계속하는 경우, 동기화된 그룹 %{name} 및 이를 통해 동기화된 %{users_count}명의 사용자 모두가 제거됩니다." + info: "참고: OpenProject 그룹 자체 그리고 이 LDAP 동기화 이외에서 추가된 멤버는 제거되지 않습니다." + verification: "삭제를 확인하려면 프로젝트 이름 %{name}(을)를 입력하십시오." + no_results: '동기화된 그룹이 없습니다.' + no_members: '이 그룹에는 아직 동기화된 멤버가 없습니다.' + plural: '동기화된 LDAP 그룹' + singular: '동기화된 LDAP 그룹' form: - auth_source_text: 'Select which LDAP authentication mode is used.' - entry_text: 'Define the LDAP group identifier.' - group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' + auth_source_text: '사용되는 LDAP 인증 모드를 사용하십시오.' + entry_text: 'LDAP 그룹 식별자를 정의하십시오.' + group_text: 'LDAP 그룹의 멤버가 동기화되는 기존 OpenProject 그룹 선택' diff --git a/modules/ldap_groups/config/locales/crowdin/pl.yml b/modules/ldap_groups/config/locales/crowdin/pl.yml index 8d339d003d..92083d0031 100644 --- a/modules/ldap_groups/config/locales/crowdin/pl.yml +++ b/modules/ldap_groups/config/locales/crowdin/pl.yml @@ -2,29 +2,29 @@ pl: activerecord: attributes: ldap_groups/synchronized_group: - entry: 'Entry identifier' - auth_source: 'LDAP connection' + entry: 'Identyfikator wpisu' + auth_source: 'Połączenie LDAP' models: - ldap_groups/synchronized_group: 'Synchronized LDAP group' + ldap_groups/synchronized_group: 'Synchronizowana grupa LDAP' ldap_groups: - label_menu_item: 'LDAP group synchronization' - label_group_key: 'LDAP group filter key' + label_menu_item: 'Synchronizacja grupy LDAP' + label_group_key: 'Klucz filtru grupy LDAP' settings: - group_key: 'LDAP group attribute' - group_key_text: 'The LDAP attribute name used to identify the groups.' - group_base: 'LDAP group base' - group_base_text: 'LDAP group base used to search for group entries.' + group_key: 'Atrybut grupy LDAP' + group_key_text: 'Nazwa atrybutu LDAP używana do identyfikacji grup.' + group_base: 'Baza grupy LDAP' + group_base_text: 'Baza grupy LDAP używana do wyszukiwania wpisów grupy.' synchronized_groups: - add_new: 'Add synchronized LDAP group' + add_new: 'Dodaj synchronizowaną grupę LDAP' 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." - no_results: 'No synchronized groups found.' + title: 'Usuń synchronizowaną grupę %{name}' + confirmation: "W przypadku kontynuacji usunięta zostanie synchronizowana grupa %{name} i wszyscy użytkownicy (%{users_count}) synchronizowani za jej pośrednictwem." + info: "Uwaga: nie zostanie usunięta sama grupa OpenProject ani członkowie dodani poza tą synchronizacją LDAP." + verification: "Wprowadź nazwę grupy %{name}, aby potwierdzić usunięcie." + no_results: 'Nie znaleziono żadnych synchronizowanych grup.' no_members: 'Ta grupa nie ma jeszcze synchronizowanych członków.' plural: 'Synchronizowane grupy LDAP' - singular: 'Synchronized LDAP group' + singular: 'Synchronizowana grupa LDAP' form: auth_source_text: 'Wybierz tryb uwierzytelniania LDAP, który ma być używany.' entry_text: 'Określ identyfikator grupy LDAP.' diff --git a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml index f60e0d2a2e..e2019293f1 100644 --- a/modules/ldap_groups/config/locales/crowdin/zh-CN.yml +++ b/modules/ldap_groups/config/locales/crowdin/zh-CN.yml @@ -12,15 +12,15 @@ zh-CN: settings: group_key: 'LDAP 组属性' group_key_text: '用于识别组的 LDAP 属性名称。' - group_base: 'LDAP 组基数' - group_base_text: '用于搜索组条目的 LDAP 组基数。' + group_base: 'LDAP 组库' + group_base_text: '用于搜索组条目的 LDAP 组库。' synchronized_groups: add_new: '添加同步的 LDAP 组' destroy: - title: '删除同步组 %{name}' - confirmation: "如果您继续,将删除同步组 %{name} 和通过该组同步的全部 %{users_count} 个用户。" - info: "注意:OpenProject 组本身以及在 LDAP 同步之外添加的成员将不会被删除。" - verification: "输入组名称 %{name} 来验证删除。" + title: '移除同步组 %{name}' + confirmation: "如果您继续,将移除同步组 %{name} 和通过该组同步的全部 %{users_count} 个用户。" + info: "注意:OpenProject 组本身以及在 LDAP 同步之外添加的成员将不会被移除。" + verification: "输入组名称 %{name} 以验证删除。" no_results: '未找到同步的组。' no_members: '此组尚无同步成员。' plural: '同步的 LDAP 组' @@ -28,5 +28,5 @@ zh-CN: form: auth_source_text: '选择使用哪种 LDAP 身份验证模式。' entry_text: '定义 LDAP 组标识符。' - group_text: '选择一个 LDAP 组的成员应与其同步的现有 OpenProject 组' + group_text: '选择 LDAP 组的成员应与其同步的现有 OpenProject 组' diff --git a/modules/openid_connect/config/locales/crowdin/es.yml b/modules/openid_connect/config/locales/crowdin/es.yml index 6eccf4ece3..41c23e3e8e 100644 --- a/modules/openid_connect/config/locales/crowdin/es.yml +++ b/modules/openid_connect/config/locales/crowdin/es.yml @@ -1,19 +1,19 @@ es: logout_warning: > - You have been logged out. The contents of any form you submit may be lost. Please [log in]. + Se ha cerrado la sesión. Puede que se haya perdido el contenido de cualquier formulario que haya enviado. [Inicie la sesión]. activemodel: attributes: openid_connect/provider: name: Nombre - display_name: Display name + display_name: Nombre para mostrar identifier: Identificador - secret: Secret - scope: Scope + secret: Secreto + scope: Ámbito openid_connect: - menu_title: OpenID providers + menu_title: Proveedores de OpenID 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 + label_add_new: Agregar nuevo proveedor de OpenID + label_edit: Editar el proveedor de OpenID %{name} + no_results_table: Aún no se han definido proveedores. + plural: Proveedores de OpenID + singular: Proveedor de OpenID diff --git a/modules/openid_connect/config/locales/crowdin/fr.yml b/modules/openid_connect/config/locales/crowdin/fr.yml index b781ac449f..54295db294 100644 --- a/modules/openid_connect/config/locales/crowdin/fr.yml +++ b/modules/openid_connect/config/locales/crowdin/fr.yml @@ -5,7 +5,7 @@ fr: attributes: openid_connect/provider: name: Nom - display_name: Display name + display_name: Nom d'affichage identifier: Identifiant secret: Secret scope: Portée diff --git a/modules/openid_connect/config/locales/crowdin/ko.yml b/modules/openid_connect/config/locales/crowdin/ko.yml index 5f72747193..00754dac52 100644 --- a/modules/openid_connect/config/locales/crowdin/ko.yml +++ b/modules/openid_connect/config/locales/crowdin/ko.yml @@ -1,19 +1,19 @@ ko: 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: 이름 - display_name: Display name + display_name: 표시 이름 identifier: 식별자 - secret: Secret - scope: Scope + secret: 비밀번호 + scope: 범위 openid_connect: - menu_title: OpenID providers + menu_title: OpenID 공급자 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 + label_add_new: 새로운 OpenID 공급자 추가 + label_edit: OpenID 공급자 %{name} 편집 + no_results_table: 아직 정의된 공급자가 없습니다. + plural: OpenID 공급자 + singular: OpenID 공급자 diff --git a/modules/openid_connect/config/locales/crowdin/pl.yml b/modules/openid_connect/config/locales/crowdin/pl.yml index 48483bbf97..09d2aad9de 100644 --- a/modules/openid_connect/config/locales/crowdin/pl.yml +++ b/modules/openid_connect/config/locales/crowdin/pl.yml @@ -7,7 +7,7 @@ pl: name: Nazwa display_name: Nazwa wyświetlana identifier: Identyfikator - secret: Sekret + secret: Tajny klucz scope: Zakres openid_connect: menu_title: Dostawcy OpenID diff --git a/modules/openid_connect/config/locales/crowdin/zh-CN.yml b/modules/openid_connect/config/locales/crowdin/zh-CN.yml index 67469d2092..e4dfe0ac8a 100644 --- a/modules/openid_connect/config/locales/crowdin/zh-CN.yml +++ b/modules/openid_connect/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ zh-CN: logout_warning: > - 您已注销。您提交的任何表单的内容可能丢失。请[登录]。 + 您已退出。您提交的任何表单的内容可能丢失。请[登录]。 activemodel: attributes: openid_connect/provider: @@ -10,10 +10,10 @@ zh-CN: secret: 密钥 scope: 范围 openid_connect: - menu_title: OpenID 提供者 + menu_title: OpenID 提供商 providers: - label_add_new: 添加一个新的 OpenID 提供者 - label_edit: 编辑 OpenID 提供者 %{name} - no_results_table: 尚未定义提供者。 - plural: OpenID 提供者 - singular: OpenID 提供者 + label_add_new: 添加一个新的 OpenID 提供商 + label_edit: 编辑 OpenID 提供商 %{name} + no_results_table: 尚未定义提供商。 + plural: OpenID 提供商 + singular: OpenID 提供商 diff --git a/modules/recaptcha/config/locales/crowdin/es.yml b/modules/recaptcha/config/locales/crowdin/es.yml index 04982b1f76..298ec29f7f 100644 --- a/modules/recaptcha/config/locales/crowdin/es.yml +++ b/modules/recaptcha/config/locales/crowdin/es.yml @@ -1,17 +1,17 @@ es: 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." + button_please_wait: 'Espere…' + verify_account: "Verifique su cuenta" + error_captcha: "No se pudo verificar su cuenta. Póngase en contacto con un administrador." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Clave del sitio web' + website_key_text: 'Especifique la clave del sitio web que ha creado en la consola de administración de reCAPTCHA para este dominio.' secret_key: 'Llave secreta' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Especifique la clave secreta que ha creado en la consola de administración de reCAPTCHA.' + type: 'Usar reCAPTCHA' + type_disabled: 'Deshabilitar 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} + reCAPTCHA es un servicio gratuito ofrecido por Google que se puede habilitar para su instancia de OpenProject. Si se habilita, se mostrará un formulario de CAPTCHA cuando inicien sesión los usuarios que aún no se hayan verificado mediante un CAPTCHA.
Consulte el vínculo siguiente para obtener más información sobre reCAPTCHA y sus versiones, y cómo crear el sitio web y las claves secretas: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/fr.yml b/modules/recaptcha/config/locales/crowdin/fr.yml index b437d4832f..8448bc7599 100644 --- a/modules/recaptcha/config/locales/crowdin/fr.yml +++ b/modules/recaptcha/config/locales/crowdin/fr.yml @@ -1,17 +1,17 @@ fr: 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." + button_please_wait: 'Veuillez patienter ...' + verify_account: "Vérifiez votre compte" + error_captcha: "Votre compte n'a pas pu être vérifié. Veuillez contacter un administrateur." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Clé du site Web' + website_key_text: 'Entrez la clé du site Web que vous avez créée dans la console d''administration reCAPTCHA pour ce domaine.' secret_key: 'Clé secrète' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Entrez la clé secrète que vous avez créée dans la console d''administration reCAPTCHA.' + type: 'Utiliser reCAPTCHA' + type_disabled: 'Désactiver 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} + reCAPTCHA est un service gratuit de Google qui peut être activé pour votre instance OpenProject. Si cette option est activée, un formulaire captcha sera affiché lors de la connexion pour tous les utilisateurs qui n'ont pas encore été vérifiés par un captcha.
Veuillez consulter le lien suivant pour plus de détails sur reCAPTCHA et ses versions, et sur la façon de créer le site et les clés secrètes : %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/ko.yml b/modules/recaptcha/config/locales/crowdin/ko.yml index 5c8c7636f1..9c8e4b7db0 100644 --- a/modules/recaptcha/config/locales/crowdin/ko.yml +++ b/modules/recaptcha/config/locales/crowdin/ko.yml @@ -1,17 +1,17 @@ ko: 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." + button_please_wait: '기다려주십시오...' + verify_account: "계정 인증" + error_captcha: "계정을 인증할 수 없습니다. 관리자에게 문의하십시오." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: '웹사이트 키' + website_key_text: '이 도메인의 reCAPTCHA 관리 콘솔에서 만든 웹사이트 키를 입력하십시오.' secret_key: '비밀 키' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'reCAPTCHA 관리 콘솔에서 만든 비밀 키를 입력하십시오.' + type: 'reCAPTCHA 사용' + type_disabled: '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} + reCAPTCHA는 해당 OpenProject 인스턴스에 대해 활성화할 수 있는 Google의 무료 서비스입니다. 활성화하면, 캡차를 아직 확인하지 않은 모든 사용자가 로그인할 때 캡차 양식이 렌더링됩니다.
reCAPTCHA와 해당 버전 관련 세부 정보 및 웹사이트 키와 비밀 키를 생성하는 방법은 다음 링크를 참조하십시오: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/ru.yml b/modules/recaptcha/config/locales/crowdin/ru.yml index 703aeebd54..ea3dcb4cba 100644 --- a/modules/recaptcha/config/locales/crowdin/ru.yml +++ b/modules/recaptcha/config/locales/crowdin/ru.yml @@ -1,17 +1,17 @@ ru: 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." + button_please_wait: 'Пожалуйста, подождите...' + verify_account: "Подтвердить учетную запись" + error_captcha: "Невозможно подтвердить учетную запись. Пожалуйста, свяжитесь с администратором." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Ключ веб-сайта' + website_key_text: 'Введите ключ веб-сайта, который вы создали на консоли администратора reCAPTCHA для этого домена.' secret_key: 'Секретный ключ' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Введите секретный ключ, который вы создали на консоли администратора reCAPTCHA.' + type: 'Использовать reCAPTCHA' + type_disabled: 'Отключить 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} + reCAPTCHA — это бесплатный сервис Google, который можно включить для OpenProject. Если он включен, форма ввода капчи будет отображаться при входе для всех пользователей, которые еще не подтвердили капчу.
Пожалуйста, перейдите по следующей ссылке, чтобы узнать больше о reCAPTCHA и его версиях, а также о том, как создать веб-сайт и секретные ключи: %{recaptcha_link} diff --git a/modules/recaptcha/config/locales/crowdin/zh-CN.yml b/modules/recaptcha/config/locales/crowdin/zh-CN.yml index 9c29fabf64..dfd62f4d9c 100644 --- a/modules/recaptcha/config/locales/crowdin/zh-CN.yml +++ b/modules/recaptcha/config/locales/crowdin/zh-CN.yml @@ -1,17 +1,17 @@ zh-CN: 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." + button_please_wait: '请稍候…' + verify_account: "验证您的帐户" + error_captcha: "您的帐户无法验证。请联系管理员。" settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: '网站密钥' + website_key_text: '输入您在 reCAPTCHA 管理控制台上为此域创建的网站密钥。' secret_key: '密钥' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: '输入您在 reCAPTCHA 管理控制台上创建的密钥。' + type: '使用 reCAPTCHA' + type_disabled: '禁用 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} + reCAPTCHA 是一项可为您的 OpenProject 实例启用的 Google 免费服务。如果启用,则在登录时将为尚未验证验证码的所有用户提供一个验证码表单。
请参见以下链接,获取有关 reCAPTCHA 及其版本以及如何创建网站和密钥的更多详细信息:%{recaptcha_link} diff --git a/modules/webhooks/config/locales/crowdin/es.yml b/modules/webhooks/config/locales/crowdin/es.yml index d8e72cd570..f9d8a353ed 100644 --- a/modules/webhooks/config/locales/crowdin/es.yml +++ b/modules/webhooks/config/locales/crowdin/es.yml @@ -2,55 +2,55 @@ es: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: 'URL de carga' + secret: 'Secreto de firma' + events: 'Eventos' projects: 'Proyectos habilitados' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: 'Nombre del evento' + url: 'URL de carga' + response_code: 'Código de respuesta' + response_body: 'Respuesta' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "Webhook de salida" webhooks: singular: Webhook plural: Webhooks 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 + no_results_table: Aún no se han definido webhooks. + label_add_new: Agregar nuevo webhook + label_edit: Editar webhook + label_event_resources: Recursos del evento events: created: "Creado" - updated: "Updated" + updated: "Actualizado" 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.' + enabled: 'El webhook está habilitado' + disabled: 'El webhook está deshabilitado' + enabled_text: 'El webhook emitirá cargas para los eventos definidos a continuación.' + disabled_text: 'Haga clic en el botón Editar para activar el webhook.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: No se han realizado entregas para este webhook. + title: 'Entregas recientes' + time: 'Hora de entrega' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + Envíe una solicitud POST a la URL de carga siguiente para cualquier evento en el proyecto al que se haya suscrito. La carga se corresponderá con la representación de APIv3 del objeto que se vaya a modificar. + apiv3_doc_url: Para obtener más información, visite la documentación de la API description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Descripción opcional del webhook.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + Al activar esta opción, el webhook se activará cuando se produzcan los eventos seleccionados. Desactive esta opción para deshabilitar el webhook. events: - title: 'Enabled events' + title: 'Eventos habilitados' project_ids: title: 'Proyectos habilitados' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: 'Seleccione para qué proyectos se ejecutará este webhook.' + all: 'Todos los proyectos' + selected: 'Solo los proyectos seleccionados' selected_project_ids: - title: 'Selected projects' + title: 'Proyectos seleccionados' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + Si se establece el valor secreto, OpenProject se usará para firmar la carga del webhook. diff --git a/modules/webhooks/config/locales/crowdin/fr.yml b/modules/webhooks/config/locales/crowdin/fr.yml index 54c5617336..0d78ca38c3 100644 --- a/modules/webhooks/config/locales/crowdin/fr.yml +++ b/modules/webhooks/config/locales/crowdin/fr.yml @@ -2,55 +2,55 @@ fr: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: 'URL de payload' + secret: 'Secret de la signature' + events: 'Événements' projects: 'Projets activés' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: 'Nom de l''événement' + url: 'URL de payload' + response_code: 'Code de réponse' + response_body: 'Réponse' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "Webhook sortant" webhooks: singular: Webhook plural: Webhooks 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 + no_results_table: Aucun webhook n'a encore été défini. + label_add_new: Ajouter un nouveau webhook + label_edit: Modifier le webhook + label_event_resources: Ressources de l'événement events: created: "Créé" - updated: "Updated" + updated: "Mis à jour" 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.' + enabled: 'Webhook activé' + disabled: 'Webhook désactivé' + enabled_text: 'Le webhook émettra des payloads pour les événements définis ci-dessous.' + disabled_text: 'Cliquez sur le bouton Modifier pour activer le webhook.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: Aucune livraison n'a été effectuée pour ce webhook. + title: 'Livraisons récentes' + time: 'Délai de livraison' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + Envoyez une demande POST à l'URL de payload ci-dessous pour tout événement dans le projet auquel vous êtes abonné. Payload correspond à la représentation APIv3 de l'objet en cours de modification. + apiv3_doc_url: Pour plus d'informations, consultez la documentation API description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Description facultative pour le webhook.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + En cochant cette option, le webhook déclenchera les événements sélectionnés. Décochez pour désactiver le webhook. events: - title: 'Enabled events' + title: 'Événements activés' project_ids: title: 'Projets activés' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: 'Sélectionnez les projets pour lesquels ce webhook doit être exécuté.' + all: 'Tous les projets' + selected: 'Projets sélectionnés uniquement' selected_project_ids: - title: 'Selected projects' + title: 'Projets sélectionnés' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + Si définie, cette valeur secrète est utilisée par OpenProject pour signer le payload du webhook. diff --git a/modules/webhooks/config/locales/crowdin/ko.yml b/modules/webhooks/config/locales/crowdin/ko.yml index ec484c2f8a..254f718775 100644 --- a/modules/webhooks/config/locales/crowdin/ko.yml +++ b/modules/webhooks/config/locales/crowdin/ko.yml @@ -2,55 +2,55 @@ ko: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: '페이로드 URL' + secret: '서명 비밀번호' + events: '이벤트' projects: '활성화 된 프로젝트' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: '이벤트 이름' + url: '페이로드 URL' + response_code: '응답 코드' + response_body: '응답' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "발신 Webhook" webhooks: singular: Webhook - plural: Webhooks + plural: Webhook 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 + no_results_table: 아직 정의된 Webhook이 없습니다. + label_add_new: 새로운 Webhook 추가 + label_edit: Webhook 편집 + label_event_resources: 이벤트 리소스 events: created: "생성됨" - updated: "Updated" + updated: "업데이트됨" 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.' + enabled: 'Webhook이 활성화되었습니다' + disabled: 'Webhook이 비활성화되었습니다' + enabled_text: 'Webhook은 아래에 정의된 이벤트의 페이로드를 내보냅니다.' + disabled_text: '편집 버튼을 클릭하여 Webhook을 활성화하십시오.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: 이 Webhook에 대한 배달이 진행되지 않았습니다. + title: '최근 배달' + time: '배달 시간' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + 구독하는 프로젝트의 모든 이벤트에 대해 아래의 페이로드 URL에 POST 요청을 보내십시오. 페이로드는 수정될 개체의 APIv3 표현에 해당합니다. + apiv3_doc_url: 자세한 내용은 API 설명서를 참조하십시오. description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Webhook에 대한 선택적 설명입니다.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + 선택한 경우, 선택된 이벤트에서 Webhook이 트리거됩니다. Webhook을 비활성화하려면 선택 취소하십시오. events: - title: 'Enabled events' + title: '활성화된 이벤트' project_ids: title: '활성화 된 프로젝트' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: '이 Webhook이 실행되는 프로젝트를 선택하십시오.' + all: '모든 프로젝트' + selected: '선택한 프로젝트만' selected_project_ids: - title: 'Selected projects' + title: '선택한 프로젝트' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + 설정한 경우 이 비밀번호 값은 OpenProject에 의해 Webhook 페이로드에 서명하는 데 사용됩니다. diff --git a/modules/webhooks/config/locales/crowdin/pl.yml b/modules/webhooks/config/locales/crowdin/pl.yml index 576864a090..2a936435e9 100644 --- a/modules/webhooks/config/locales/crowdin/pl.yml +++ b/modules/webhooks/config/locales/crowdin/pl.yml @@ -2,55 +2,55 @@ pl: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: 'URL do wywołania' + secret: 'Tajny klucz podpisu' + events: 'Zdarzenia' projects: 'Aktywne projekty' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: 'Nazwa zdarzenia' + url: 'URL do wywołania' + response_code: 'Kod odpowiedzi' + response_body: 'Odpowiedź' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "Webhook wychodzący" webhooks: singular: Webhook - plural: Webhooks + plural: Webhooki 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 + no_results_table: Jeszcze nie określono żadnych webhooków. + label_add_new: Dodaj nowy webhook + label_edit: Edytuj webhook + label_event_resources: Zasoby zdarzeń events: created: "Utworzono" - updated: "Updated" + updated: "Zaktualizowano" 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.' + enabled: 'Webhook jest włączony' + disabled: 'Webhook jest wyłączony' + enabled_text: 'Webhook będzie emitować zawartość zdarzeń określonych poniżej.' + disabled_text: 'Kliknij przycisk edycji, aby aktywować webhook.' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: Nie wykonano żadnych dostaw dla tego webhooka. + title: 'Ostatnie dostawy' + time: 'Czas dostawy' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + Wyślij żądanie POST na adres URL zawartości każdego zdarzenia w subskrybowanym projekcie. Zawartość będzie odpowiadała reprezentacji modyfikowanego obiektu w APIv3. + apiv3_doc_url: Więcej informacji zawiera dokumentacja interfejsu API description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Opcjonalny opis webhooka.' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + W razie zaznaczenia webhook będzie uruchamiany przez wybrane zdarzenia. Usuń zaznaczenie, aby wyłączyć webhook. events: - title: 'Enabled events' + title: 'Włączone zdarzenia' project_ids: title: 'Aktywne projekty' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: 'Wybierz projekty, dla których ma być wykonywany ten webhook.' + all: 'Wszystkie projekty' + selected: 'Tylko wybrane projekty' selected_project_ids: - title: 'Selected projects' + title: 'Wybrane projekty' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + W razie ustawienia ta wartość tajnego klucza jest używana przez OpenProject do podpisywania zawartości webhooka. diff --git a/modules/webhooks/config/locales/crowdin/zh-CN.yml b/modules/webhooks/config/locales/crowdin/zh-CN.yml index ec4ddab4f7..2b56bf2b2e 100644 --- a/modules/webhooks/config/locales/crowdin/zh-CN.yml +++ b/modules/webhooks/config/locales/crowdin/zh-CN.yml @@ -2,55 +2,55 @@ zh-CN: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' - secret: 'Signature secret' - events: 'Events' + url: '有效载荷 URL' + secret: '签名密钥' + events: '事件' projects: '已启用的项目' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' - response_body: 'Response' + event_name: '事件名称' + url: '有效载荷 URL' + response_code: '响应代码' + response_body: '响应' models: - webhooks/outgoing_webhook: "Outgoing webhook" + webhooks/outgoing_webhook: "传出 Webhook" webhooks: singular: Webhook - plural: Webhooks + plural: Webhook 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 + no_results_table: 尚未定义任何 Webhook。 + label_add_new: 添加新的 Webhook + label_edit: 编辑 Webhook + label_event_resources: 事件资源 events: created: "已创建" - updated: "Updated" + updated: "已更新" 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.' + enabled: 'Webhook 已启用' + disabled: 'Webhook 已禁用' + enabled_text: 'Webhook 将为下面的定义事件释放有效载荷。' + disabled_text: '点击“编辑”按钮以激活 Webhook。' deliveries: - no_results_table: No deliveries have been made for this webhook. - title: 'Recent deliveries' - time: 'Delivery time' + no_results_table: 此 Webhook 尚未进行任何传送。 + title: '最近传送' + time: '传送时间' form: introduction: > - Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. - apiv3_doc_url: For more information, visit the API documentation + 对于您所订阅项目中的任何事件,将 POST 请求发送到下面的有效载荷 URL。有效载荷将对应于要修改的对象的 APIv3 表示。 + apiv3_doc_url: 有关更多信息,请访问 API 文档 description: - placeholder: 'Optional description for the webhook.' + placeholder: 'Webhook 的可选描述。' enabled: description: > - When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. + 选中时,Webhook 将触发选定事件。取消选中可以禁用 Webhook。 events: - title: 'Enabled events' + title: '已启用事件' project_ids: title: '已启用的项目' - description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' - selected: 'Selected projects only' + description: '选择此 Webhook 应当针对哪些项目执行。' + all: '所有项目' + selected: '仅限选定项目' selected_project_ids: - title: 'Selected projects' + title: '选定项目' secret: description: > - If set, this secret value is used by OpenProject to sign the webhook payload. + 如果设置,OpenProject 将使用此密钥值对 Webhook 有效载荷进行签名。 diff --git a/modules/xls_export/config/locales/crowdin/es.yml b/modules/xls_export/config/locales/crowdin/es.yml index c1f7ef8a44..89e524de4d 100644 --- a/modules/xls_export/config/locales/crowdin/es.yml +++ b/modules/xls_export/config/locales/crowdin/es.yml @@ -1,13 +1,13 @@ es: - export_to_excel: "Export as Excel spreadsheet" - print_with_description: "Print preview with description" + export_to_excel: "Exportar como hoja de cálculo de Excel" + print_with_description: "Vista previa de impresión con descripción" sentence_separator_or: "o bien" - different_formats: Different formats + different_formats: Diferentes formatos export: format: xls: "XLS" xls_with_descriptions: "XLS con descripciones" - xls_with_relations: "XLS with relations" + xls_with_relations: "XLS con relaciones" xls_export: - child_of: child of - parent_of: parent of + child_of: elemento secundario de + parent_of: elemento principal de diff --git a/modules/xls_export/config/locales/crowdin/ko.yml b/modules/xls_export/config/locales/crowdin/ko.yml index 88c672a752..1698ae4c8f 100644 --- a/modules/xls_export/config/locales/crowdin/ko.yml +++ b/modules/xls_export/config/locales/crowdin/ko.yml @@ -1,13 +1,13 @@ ko: - export_to_excel: "Export as Excel spreadsheet" - print_with_description: "Print preview with description" + export_to_excel: "Excel 스프레드시트 내보내기" + print_with_description: "설명이 포함된 미리 보기 인쇄" sentence_separator_or: "또는" - different_formats: Different formats + different_formats: 다른 형식 export: format: xls: "XLS" - xls_with_descriptions: "XLS with descriptions" - xls_with_relations: "XLS with relations" + xls_with_descriptions: "설명이 포함된 XLS" + xls_with_relations: "관계가 포함된 XLS" xls_export: - child_of: child of - parent_of: parent of + child_of: '다음의 자식:' + parent_of: '다음의 부모:' From 616828c0e2b8d2563bf901fd2a450e1642c79ea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 27 Sep 2019 07:16:01 +0200 Subject: [PATCH 06/19] Fix styling of budget buttons https://community.openproject.com/wp/31194 --- modules/costs/app/views/cost_types/_list.html.erb | 4 ++-- modules/costs/app/views/cost_types/_list_deleted.html.erb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/costs/app/views/cost_types/_list.html.erb b/modules/costs/app/views/cost_types/_list.html.erb index ef8a8a65aa..0b9db32341 100644 --- a/modules/costs/app/views/cost_types/_list.html.erb +++ b/modules/costs/app/views/cost_types/_list.html.erb @@ -96,9 +96,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. method: :delete, html: { id: "delete_cost_type_#{cost_type.id}", class: 'delete_cost_type', - title: t(:button_delete) } do |f| %> + title: t(:button_lock) } do |f| %> <% end %> diff --git a/modules/costs/app/views/cost_types/_list_deleted.html.erb b/modules/costs/app/views/cost_types/_list_deleted.html.erb index 8da2821a6d..b54b7109c3 100644 --- a/modules/costs/app/views/cost_types/_list_deleted.html.erb +++ b/modules/costs/app/views/cost_types/_list_deleted.html.erb @@ -74,7 +74,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. html: { id: "restore_cost_type_#{cost_type.id}", class: 'restore_cost_type' } do |f| %> <% end %> From 2ae00dc169953e4b507726927cbb005423b09254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 27 Sep 2019 08:32:15 +0200 Subject: [PATCH 07/19] [31200] Allow deletion of colors https://community.openproject.com/wp/31200 --- app/views/colors/_form.html.erb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/views/colors/_form.html.erb b/app/views/colors/_form.html.erb index 18190d1e98..9cd3caae24 100644 --- a/app/views/colors/_form.html.erb +++ b/app/views/colors/_form.html.erb @@ -29,7 +29,19 @@ See docs/COPYRIGHT.rdoc for more details. <%= error_messages_for 'color' %> -<%= toolbar title: (color.new_record? ? t('timelines.new_color') : t('timelines.edit_color')) %> +<%= toolbar title: (color.new_record? ? t('timelines.new_color') : t('timelines.edit_color')) do %> + <% if color.persisted? %> +
  • + <%= link_to color_path(color), + method: :delete, + data: { confirm: t('text_are_you_sure') }, + class: "button -danger" do %> + <%= op_icon 'button--icon icon-delete' %> + <%= t :button_delete %> + <% end %> +
  • + <% end %> +<% end %>
    <%= t('timelines.properties') %> From aa15b6c5897f50bc94a4234325c6c688d71d5e19 Mon Sep 17 00:00:00 2001 From: Markus Kahl Date: Fri, 27 Sep 2019 09:26:28 +0200 Subject: [PATCH 08/19] added hooks for user registration and first login --- app/controllers/account_controller.rb | 2 + .../concerns/redirect_after_login.rb | 3 + spec/controllers/account_controller_spec.rb | 104 +++++++++++++++++- 3 files changed, 108 insertions(+), 1 deletion(-) diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index c469bff24e..27492b82ee 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -134,6 +134,8 @@ class AccountController < ApplicationController end self_registration! + + call_hook :user_registered, { user: @user } if @user.persisted? end end diff --git a/app/controllers/concerns/redirect_after_login.rb b/app/controllers/concerns/redirect_after_login.rb index 57cc8c5209..3664464db8 100644 --- a/app/controllers/concerns/redirect_after_login.rb +++ b/app/controllers/concerns/redirect_after_login.rb @@ -33,6 +33,9 @@ module Concerns::RedirectAfterLogin def redirect_after_login(user) if user.first_login user.update_attribute(:first_login, false) + + call_hook :user_first_login, { user: user } + first_login_redirect else default_redirect diff --git a/spec/controllers/account_controller_spec.rb b/spec/controllers/account_controller_spec.rb index 97b28da8d0..13b40212ed 100644 --- a/spec/controllers/account_controller_spec.rb +++ b/spec/controllers/account_controller_spec.rb @@ -29,6 +29,32 @@ require 'spec_helper' describe AccountController, type: :controller do + # class AccountHook < Redmine::Hook::ViewListener; end + + class UserHook < Redmine::Hook::ViewListener + attr_reader :registered_user + attr_reader :first_login_user + + def user_registered(context) + @registered_user = context[:user] + end + + def user_first_login(context) + @first_login_user = context[:user] + end + + def reset! + @registered_user = nil + @first_login_user = nil + end + end + + let(:hook) { UserHook.instance } + + before do + hook.reset! + end + after do User.delete_all User.current = nil @@ -91,6 +117,36 @@ describe AccountController, type: :controller do end end + context 'with first login' do + before do + admin.update first_login: true + + post :login, params: { username: admin.login, password: 'adminADMIN!' } + end + + it 'redirect to default path with ?first_time_user=true' do + expect(response).to redirect_to "/?first_time_user=true" + end + + it 'calls the user_first_login hook' do + expect(hook.first_login_user).to eq admin + end + end + + context 'without first login' do + before do + post :login, params: { username: admin.login, password: 'adminADMIN!' } + end + + it 'redirect to the my page' do + expect(response).to redirect_to "/my/page" + end + + it 'does not call the user_first_login hook' do + expect(hook.first_login_user).to be_nil + end + end + describe 'User logging in with back_url' do it 'should redirect to a relative path' do post :login, @@ -413,6 +469,10 @@ describe AccountController, type: :controller do it 'informs the user that registration is disabled' do expect(flash[:error]).to eq(I18n.t('account.error_self_registration_disabled')) end + + it 'does not call the user_registered callback' do + expect(hook.registered_user).to be_nil + end end context 'GET #register' do @@ -498,7 +558,7 @@ describe AccountController, type: :controller do } end - it 'redirects to my page' do + it 'redirects to the expected path' do is_expected.to respond_with :redirect expect(assigns[:user]).not_to be_nil is_expected.to redirect_to(redirect_to_path) @@ -510,6 +570,23 @@ describe AccountController, type: :controller do expect(user).not_to be_nil expect(user.status).to eq(User::STATUSES[:active]) end + + it 'calls the user_registered callback' do + user = hook.registered_user + + expect(user.mail).to eq "register@example.com" + expect(user).to be_active + end + end + + it_behaves_like 'automatic self registration succeeds' do + let(:redirect_to_path) { "/?first_time_user=true" } + + it "calls the user_first_login callback" do + user = hook.first_login_user + + expect(user.mail).to eq "register@example.com" + end end context "with user limit reached" do @@ -547,6 +624,10 @@ describe AccountController, type: :controller do expect(mail.to.first).to eq admin.mail expect(mail.body.parts.first.to_s).to match /new user \(#{params[:user][:mail]}\)/ end + + it 'does not call the user_registered callback' do + expect(hook.registered_user).to be_nil + end end end @@ -592,6 +673,13 @@ describe AccountController, type: :controller do expect(token.user.mail).to eq('register@example.com') expect(token).not_to be_expired end + + it 'calls the user_registered callback' do + user = hook.registered_user + + expect(user.mail).to eq "register@example.com" + expect(user).to be_registered + end end context 'with password login disabled' do @@ -631,6 +719,13 @@ describe AccountController, type: :controller do it "doesn't activate the user" do expect(User.find_by_login('register')).not_to be_active end + + it 'calls the user_registered callback' do + user = hook.registered_user + + expect(user.mail).to eq "register@example.com" + expect(user).to be_registered + end end context 'with back_url' do @@ -642,6 +737,13 @@ describe AccountController, type: :controller do expect(response).to redirect_to( '/login?back_url=https%3A%2F%2Fexample.net%2Fsome_back_url') end + + it 'calls the user_registered callback' do + user = hook.registered_user + + expect(user.mail).to eq "register@example.com" + expect(user).to be_registered + end end context 'with password login disabled' do From 99ae193e19d41cc519fab4a6e306ed8bb6a23bdf Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 27 Sep 2019 09:50:53 +0200 Subject: [PATCH 09/19] extend blacklist of filters unwanted on the project index page --- app/helpers/projects_helper.rb | 5 ++++- spec/features/projects/projects_index_spec.rb | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index b5557a966b..01abddb53d 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -127,7 +127,10 @@ module ProjectsHelper end def blacklisted_project_filter?(filter) - blacklist = [Queries::Projects::Filters::AncestorFilter] + blacklist = [Queries::Projects::Filters::AncestorFilter, + Queries::Projects::Filters::PrincipalFilter, + Queries::Projects::Filters::IdFilter, + Queries::Projects::Filters::ParentFilter] blacklist << Queries::Filters::Shared::CustomFields::Base unless EnterpriseToken.allows_to?(:custom_fields_in_projects_list) blacklist.detect { |clazz| filter.is_a? clazz } diff --git a/spec/features/projects/projects_index_spec.rb b/spec/features/projects/projects_index_spec.rb index 9534a1295b..15dd7ad9b9 100644 --- a/spec/features/projects/projects_index_spec.rb +++ b/spec/features/projects/projects_index_spec.rb @@ -790,5 +790,15 @@ describe 'Projects index page', child_project_z, public_project) end + + feature 'blacklisted filters' do + scenario 'are not visible' do + load_and_open_filters admin + + expect(page).to_not have_select('add_filter_select', with_options: ["Principal"]) + expect(page).to_not have_select('add_filter_select', with_options: ["ID"]) + expect(page).to_not have_select('add_filter_select', with_options: ["Subproject of"]) + end + end end end From 7f5520cc3e21ad824d3cd2243f9abcdf7616364e Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 27 Sep 2019 09:56:23 +0200 Subject: [PATCH 10/19] turn blacklist into whitelist --- app/helpers/projects_helper.rb | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 01abddb53d..06c150cfc8 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -122,18 +122,21 @@ module ProjectsHelper def allowed_filters(query) query .available_filters - .reject { |f| blacklisted_project_filter?(f) } + .select { |f| whitelisted_project_filter?(f) } .sort_by(&:human_name) end - def blacklisted_project_filter?(filter) - blacklist = [Queries::Projects::Filters::AncestorFilter, - Queries::Projects::Filters::PrincipalFilter, - Queries::Projects::Filters::IdFilter, - Queries::Projects::Filters::ParentFilter] - blacklist << Queries::Filters::Shared::CustomFields::Base unless EnterpriseToken.allows_to?(:custom_fields_in_projects_list) + def whitelisted_project_filter?(filter) + whitelist = [ + Queries::Projects::Filters::ActiveOrArchivedFilter, + Queries::Projects::Filters::CreatedOnFilter, + Queries::Projects::Filters::LatestActivityAtFilter, + Queries::Projects::Filters::NameAndIdentifierFilter, + Queries::Projects::Filters::TypeFilter + ] + whitelist << Queries::Filters::Shared::CustomFields::Base if EnterpriseToken.allows_to?(:custom_fields_in_projects_list) - blacklist.detect { |clazz| filter.is_a? clazz } + whitelist.detect { |clazz| filter.is_a? clazz } end def no_projects_result_box_params From c6aeb822c9599166f5d1a5f528aaaa91e077435c Mon Sep 17 00:00:00 2001 From: Travis CI User Date: Fri, 27 Sep 2019 08:36:58 +0000 Subject: [PATCH 11/19] update locales from crowdin [ci skip] --- config/locales/crowdin/pl.yml | 12 ++++++------ modules/grids/config/locales/crowdin/js-pl.yml | 4 ++-- .../recaptcha/config/locales/crowdin/pl.yml | 18 +++++++++--------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index b875140737..f4fff93954 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -483,8 +483,8 @@ pl: invalid_values: "Wartość jest nieprawidłowa." id_filter_required: "Filtr 'id' jest wymagany." 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.' + archived_ancestor: 'Projekt ma zarchiwizowanego przodka.' + foreign_wps_reference_version: 'Pakiety robocze w projektach innych niż wersje referencyjne projektów potomnych projektu lub jego projekty potomne.' attributes: types: in_use_by_work_packages: "nadal w użyciu przez Zestawy zadań: %{types}" @@ -978,7 +978,7 @@ pl: enumeration_system_activity: "Aktywność systemu" enumeration_reported_project_statuses: "Status zgłoszonego projektu" error_auth_source_sso_failed: "Pojedyncze logowanie (SSO) dla użytkownika '%{value}' nie powiodło się" - error_can_not_archive_project: "This project cannot be archived: %{errors}" + error_can_not_archive_project: "Tego projektu nie można zarchiwizować: %{errors}" error_can_not_delete_entry: "Nie można usunąć wpisu" error_can_not_delete_custom_field: "Nie można usunąć pola niestandardowego" error_can_not_delete_type: "Ten typ zawiera pakiety robocze i nie może zostać usunięty." @@ -987,7 +987,7 @@ pl: error_can_not_remove_role: "Ta Rola jest używana i nie można jej usunąć." error_can_not_reopen_work_package_on_closed_version: "Nie można otworzyć pakietu roboczego przypisanego do zamkniętej wersji" error_can_not_find_all_resources: "Nie można znaleźć wszystkich zasobów związanych z tym żądaniem." - error_can_not_unarchive_project: "This project cannot be unarchived: %{errors}" + error_can_not_unarchive_project: "Nie można cofnąć archiwizacji tego projektu: %{errors}" error_check_user_and_role: "Wybierz użytkownika i rolę." error_code: "Błąd %{code}" error_cookie_missing: 'Brakuje pliku cookie OpenProject. Upewnij się, że obsługa plików cookie jest włączona, ponieważ bez tego aplikacja nie będzie funkcjonować prawidłowo.' @@ -1702,14 +1702,14 @@ pl: mail_body_lost_password: "Aby zmienić hasło, kliknij na poniższy link:" mail_body_register: "Aby aktywować swoje konto, kliknij na poniższy link:" mail_body_reminder: "Termin wykonania %{count} pakietów roboczych przypisanych do Ciebie kończy się w ciągu %{days} dni:" - mail_body_group_reminder: "%{count} work package(s) that are assigned to group \"%{group}\" are due in the next %{days} days:" + mail_body_group_reminder: "Pakiety robocze (%{count}) przypisane do grupy \"%{group}\" mają termin w ciągu następnych %{days} dni:" 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_lost_password: "Twoje hasło do %{value}" mail_subject_register: "Your %{value} account activation" mail_subject_reminder: "Termin wykonania %{count} pakietów roboczych kończy się w ciągu %{days} dni" - mail_subject_group_reminder: "For group \"%{group}\" %{count} work package(s) due in the next %{days} days" + mail_subject_group_reminder: "W grupie \"%{group}\" są pakiety robocze (%{count}) z terminami w ciągu następnych %{days} dni" mail_subject_wiki_content_added: "'%{id}' wiki page has been added" mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated" mail_user_activation_limit_reached: diff --git a/modules/grids/config/locales/crowdin/js-pl.yml b/modules/grids/config/locales/crowdin/js-pl.yml index a8ef042fbe..bcf4e17faf 100644 --- a/modules/grids/config/locales/crowdin/js-pl.yml +++ b/modules/grids/config/locales/crowdin/js-pl.yml @@ -4,8 +4,8 @@ pl: add_widget: 'Dodaj widżet' remove: 'Usuń widżet' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Niektóre widżety, takie jak widżet wykresu pakietu roboczego, są dostępne jedynie w wersji" + link: 'Enterprise Edition.' widgets: custom_text: title: 'Tekst niestandardowy/użytkownika' diff --git a/modules/recaptcha/config/locales/crowdin/pl.yml b/modules/recaptcha/config/locales/crowdin/pl.yml index dd4a68d41f..52b4f5f98b 100644 --- a/modules/recaptcha/config/locales/crowdin/pl.yml +++ b/modules/recaptcha/config/locales/crowdin/pl.yml @@ -1,17 +1,17 @@ pl: 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." + button_please_wait: 'Czekaj...' + verify_account: "Zweryfikuj swoje konto" + error_captcha: "Nie można zweryfikować tego konta. Skontaktuj się z administratorem." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Klucz witryny internetowej' + website_key_text: 'Wprowadź klucz witryny utworzony w konsoli administracyjnej reCAPTCHA tej domeny.' secret_key: 'Tajny klucz' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Wprowadź tajny klucz utworzony w konsoli administracyjnej reCAPTCHA.' + type: 'Użyj reCAPTCHA' + type_disabled: 'Wyłącz 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} + reCAPTCHA jest bezpłatną usługą Google, którą można włączyć dla wystąpienia OpenProject. Jeśli jest włączona, formularz captcha będzie wyświetlany po zalogowaniu wszystkim użytkownikom, którzy nie zweryfikowali jeszcze captcha.
    Aby uzyskać więcej informacji na temat reCAPTCHA i jej wersji oraz sposobu tworzenia witryny internetowej i tajnych kluczy, sprawdź następujące łącze: %{recaptcha_link} From 13d3c488c789994f82a48913a8dc1fa2bc3a1c56 Mon Sep 17 00:00:00 2001 From: Travis CI User Date: Fri, 27 Sep 2019 08:44:26 +0000 Subject: [PATCH 12/19] update locales from crowdin [ci skip] --- modules/grids/config/locales/crowdin/js-pl.yml | 4 ++-- .../recaptcha/config/locales/crowdin/pl.yml | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/grids/config/locales/crowdin/js-pl.yml b/modules/grids/config/locales/crowdin/js-pl.yml index a8ef042fbe..bcf4e17faf 100644 --- a/modules/grids/config/locales/crowdin/js-pl.yml +++ b/modules/grids/config/locales/crowdin/js-pl.yml @@ -4,8 +4,8 @@ pl: add_widget: 'Dodaj widżet' remove: 'Usuń widżet' upsale: - text: "Some widgets, like the work package graph widget, are only available in the " - link: 'enterprise edition.' + text: "Niektóre widżety, takie jak widżet wykresu pakietu roboczego, są dostępne jedynie w wersji" + link: 'Enterprise Edition.' widgets: custom_text: title: 'Tekst niestandardowy/użytkownika' diff --git a/modules/recaptcha/config/locales/crowdin/pl.yml b/modules/recaptcha/config/locales/crowdin/pl.yml index dd4a68d41f..52b4f5f98b 100644 --- a/modules/recaptcha/config/locales/crowdin/pl.yml +++ b/modules/recaptcha/config/locales/crowdin/pl.yml @@ -1,17 +1,17 @@ pl: 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." + button_please_wait: 'Czekaj...' + verify_account: "Zweryfikuj swoje konto" + error_captcha: "Nie można zweryfikować tego konta. Skontaktuj się z administratorem." settings: - website_key: 'Website key' - website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' + website_key: 'Klucz witryny internetowej' + website_key_text: 'Wprowadź klucz witryny utworzony w konsoli administracyjnej reCAPTCHA tej domeny.' secret_key: 'Tajny klucz' - secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' - type_disabled: 'Disable reCAPTCHA' + secret_key_text: 'Wprowadź tajny klucz utworzony w konsoli administracyjnej reCAPTCHA.' + type: 'Użyj reCAPTCHA' + type_disabled: 'Wyłącz 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} + reCAPTCHA jest bezpłatną usługą Google, którą można włączyć dla wystąpienia OpenProject. Jeśli jest włączona, formularz captcha będzie wyświetlany po zalogowaniu wszystkim użytkownikom, którzy nie zweryfikowali jeszcze captcha.
    Aby uzyskać więcej informacji na temat reCAPTCHA i jej wersji oraz sposobu tworzenia witryny internetowej i tajnych kluczy, sprawdź następujące łącze: %{recaptcha_link} From 50828e930a26eb4e8392e8692f029350a0c6e769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 27 Sep 2019 14:24:02 +0200 Subject: [PATCH 13/19] [31205] Fix attachment disposition for local files This got first changed in https://github.com/opf/openproject/pull/7456 And then disposition for local removed in a33016a24676e9ae86c03be6241c811b57116dc7#diff-7b0581da1680146a96496be759fc3240 https://community.openproject.com/wp/31205k --- lib/api/helpers/attachment_renderer.rb | 2 +- .../api/v3/attachments/attachment_resource_shared_examples.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/api/helpers/attachment_renderer.rb b/lib/api/helpers/attachment_renderer.rb index 5ae693317f..49fbe4d4ff 100644 --- a/lib/api/helpers/attachment_renderer.rb +++ b/lib/api/helpers/attachment_renderer.rb @@ -43,7 +43,7 @@ module API redirect attachment.external_url.to_s else content_type attachment.content_type - header['Content-Disposition'] = attachment.content_disposition + header['Content-Disposition'] = "#{attachment.content_disposition}; filename=#{attachment.filename}" env['api.format'] = :binary attachment.diskfile.read end diff --git a/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb b/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb index ccace9fe91..a67429ddf8 100644 --- a/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb +++ b/spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb @@ -287,14 +287,14 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j context 'for a local text file' do it_behaves_like 'for a local file' do let(:mock_file) { FileHelpers.mock_uploaded_file name: 'foobar.txt' } - let(:content_disposition) { "inline" } + let(:content_disposition) { "inline; filename=foobar.txt" } end end context 'for a local binary file' do it_behaves_like 'for a local file' do let(:mock_file) { FileHelpers.mock_uploaded_file name: 'foobar.dat', content_type: "application/octet-stream" } - let(:content_disposition) { "attachment" } + let(:content_disposition) { "attachment; filename=foobar.dat" } end end From ff93ad7a188533bf7b8762e24e7cb58a34fa6ae0 Mon Sep 17 00:00:00 2001 From: Henriette Dinger Date: Fri, 27 Sep 2019 14:47:18 +0200 Subject: [PATCH 14/19] Do not go back to create form on WPBack button --- .../app/modules/common/back-routing/back-routing.service.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/modules/common/back-routing/back-routing.service.ts b/frontend/src/app/modules/common/back-routing/back-routing.service.ts index f4261a308e..b0f545f295 100644 --- a/frontend/src/app/modules/common/back-routing/back-routing.service.ts +++ b/frontend/src/app/modules/common/back-routing/back-routing.service.ts @@ -46,7 +46,9 @@ export class BackRoutingService { } public goBack(preferListOverSplit:boolean = false) { - if (!this.backRoute) { + // Default: back to list + // When coming from a deep link or a create form + if (!this.backRoute || this.backRoute.name.includes('new')) { this.$state.go('work-packages.list', this.$state.params); } else { if (this.keepTab.isDetailsState(this.backRoute.parent)) { From 09fc6ee7363e9c8ae01e810cf36c6730cc22ddb6 Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 27 Sep 2019 15:32:44 +0200 Subject: [PATCH 15/19] fix attachments deletion on rails pages --- .../wp-single-view/wp-single-view.html | 3 +- .../attachment-list-item.component.ts | 4 +- .../attachment-list.component.ts | 34 +++++++++++++- .../attachment-list/attachment-list.html | 2 +- .../attachments/attachments.component.ts | 44 +------------------ .../app/modules/attachments/attachments.html | 2 +- .../custom-text/custom-text.component.html | 1 - .../hal/resources/mixins/attachable-mixin.ts | 2 +- 8 files changed, 40 insertions(+), 52 deletions(-) diff --git a/frontend/src/app/components/work-packages/wp-single-view/wp-single-view.html b/frontend/src/app/components/work-packages/wp-single-view/wp-single-view.html index d2cb8c04e8..cfe96ca04e 100644 --- a/frontend/src/app/components/work-packages/wp-single-view/wp-single-view.html +++ b/frontend/src/app/components/work-packages/wp-single-view/wp-single-view.html @@ -133,8 +133,7 @@
    + [ndcDynamicInputs]="{ resource: workPackage }"> (); @@ -112,7 +112,7 @@ export class AttachmentListItemComponent { this.removeAttachment.emit(); - if (!!this.selfDestroy) { + if (this.destroyImmediately) { this .resource .removeAttachment(this.attachment); diff --git a/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts b/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts index d1fd9de98a..31b3e5bcdb 100644 --- a/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts +++ b/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts @@ -42,13 +42,15 @@ import {AngularTrackingHelpers} from "core-components/angular/tracking-functions }) export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { @Input() public resource:HalResource; - @Input() public selfDestroy:boolean = false; + @Input() public destroyImmediately:boolean = true; trackByHref = AngularTrackingHelpers.trackByHref; attachments:HalResource[] = []; + public initialAttachments:HalResource[]; public $element:JQuery; + public $formElement:JQuery; constructor(protected elementRef:ElementRef, protected states:States, @@ -64,6 +66,7 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { this.attachments = this.resource.attachments.elements; this.setupResourceUpdateListener(); + this.setupAttachmentDeletionCallback(); } public setupResourceUpdateListener() { @@ -81,7 +84,7 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { } ngOnDestroy():void { - // Nothing to do + this.$formElement.off('submit.attachment-component'); } ngOnChanges() { @@ -98,6 +101,33 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { private get attachmentsUpdatable() { return (this.resource.attachments && this.resource.attachmentsBackend); } + + public setupAttachmentDeletionCallback() { + this.memoizeCurrentAttachments(); + + this.$formElement = this.$element.closest('form'); + this.$formElement.on('submit.attachment-component', () => { + this.destroyRemovedAttachments(); + }); + } + + private destroyRemovedAttachments() { + let missingAttachments = _.differenceBy(this.initialAttachments, + this.attachments, + (attachment:HalResource) => attachment.id); + + if (missingAttachments.length) { + missingAttachments.forEach((attachment) => { + this + .resource + .removeAttachment(attachment); + }); + } + } + + private memoizeCurrentAttachments() { + this.initialAttachments = _.clone(this.resource.attachments.elements); + } } DynamicBootstrapper.register({ diff --git a/frontend/src/app/modules/attachments/attachment-list/attachment-list.html b/frontend/src/app/modules/attachments/attachment-list/attachment-list.html index ae07c84b77..bc4881ef74 100644 --- a/frontend/src/app/modules/attachments/attachment-list/attachment-list.html +++ b/frontend/src/app/modules/attachments/attachment-list/attachment-list.html @@ -4,7 +4,7 @@ diff --git a/frontend/src/app/modules/attachments/attachments.component.ts b/frontend/src/app/modules/attachments/attachments.component.ts index e33f41085b..5128bbffe3 100644 --- a/frontend/src/app/modules/attachments/attachments.component.ts +++ b/frontend/src/app/modules/attachments/attachments.component.ts @@ -42,14 +42,11 @@ import {filter, takeUntil} from 'rxjs/operators'; }) export class AttachmentsComponent implements OnInit, OnDestroy { @Input('resource') public resource:HalResource; - @Input() public selfDestroy:boolean = false; public $element:JQuery; public allowUploading:boolean; public destroyImmediately:boolean; public text:any; - public $formElement:JQuery; - public initialAttachments:HalResource[]; constructor(protected elementRef:ElementRef, protected I18n:I18nService, @@ -78,17 +75,11 @@ export class AttachmentsComponent implements OnInit, OnDestroy { this.destroyImmediately = true; } - this.setupAttachmentDeletionCallback(); this.setupResourceUpdateListener(); } - public setupAttachmentDeletionCallback() { - this.memoizeCurrentAttachments(); - - this.$formElement = this.$element.closest('form'); - this.$formElement.on('submit.attachment-component', () => { - this.destroyRemovedAttachments(); - }); + ngOnDestroy():void { + // nothing to do } public setupResourceUpdateListener() { @@ -99,45 +90,14 @@ export class AttachmentsComponent implements OnInit, OnDestroy { ) .subscribe((newResource:HalResource) => { this.resource = newResource || this.resource; - - if (this.destroyImmediately) { - this.destroyRemovedAttachments(); - this.memoizeCurrentAttachments(); - } }); } - ngOnDestroy() { - this.$formElement.off('submit.attachment-component'); - } - // Only show attachment list when allow uploading is set // or when at least one attachment exists public showAttachments() { return this.allowUploading || _.get(this.resource, 'attachments.count', 0) > 0; } - - private destroyRemovedAttachments() { - if (this.selfDestroy) { - return; - } - - let missingAttachments = _.differenceBy(this.initialAttachments, - this.resource.attachments.elements, - (attachment:HalResource) => attachment.id); - - if (missingAttachments.length) { - missingAttachments.forEach((attachment) => { - this - .resource - .removeAttachment(attachment); - }); - } - } - - private memoizeCurrentAttachments() { - this.initialAttachments = _.clone(this.resource.attachments.elements); - } } DynamicBootstrapper.register({ selector: 'attachments', cls: AttachmentsComponent, embeddable: true }); diff --git a/frontend/src/app/modules/attachments/attachments.html b/frontend/src/app/modules/attachments/attachments.html index 648c7d8968..c521d159b3 100644 --- a/frontend/src/app/modules/attachments/attachments.html +++ b/frontend/src/app/modules/attachments/attachments.html @@ -5,7 +5,7 @@
    + [destroyImmediately]="destroyImmediately"> diff --git a/frontend/src/app/modules/hal/resources/mixins/attachable-mixin.ts b/frontend/src/app/modules/hal/resources/mixins/attachable-mixin.ts index b65b13c8fc..7adbeb2c42 100644 --- a/frontend/src/app/modules/hal/resources/mixins/attachable-mixin.ts +++ b/frontend/src/app/modules/hal/resources/mixins/attachable-mixin.ts @@ -110,7 +110,7 @@ export function Attachable>(Base:TBase) { } /** - * Get updated attachments and activities from the server and push the state + * Get updated attachments from the server and push the state * * Return a promise that returns the attachments. Reject, if the work package has * no attachments. From 5a8703244866dc604642185ad330feb871378dcb Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 27 Sep 2019 15:42:04 +0200 Subject: [PATCH 16/19] wait for the attachments to be loaded before displaying the edit component --- .../grids/widgets/custom-text/custom-text.component.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/modules/grids/widgets/custom-text/custom-text.component.ts b/frontend/src/app/modules/grids/widgets/custom-text/custom-text.component.ts index e285a4dfd5..1da78f2461 100644 --- a/frontend/src/app/modules/grids/widgets/custom-text/custom-text.component.ts +++ b/frontend/src/app/modules/grids/widgets/custom-text/custom-text.component.ts @@ -63,10 +63,11 @@ export class WidgetCustomTextComponent extends AbstractWidgetComponent implement return; } - // load the attachments so that they are displayed in the list; - this.resource.grid.updateAttachments(); - - this.handler.activate(); + // Load the attachments so that they are displayed in the list. + // Once that is done, we can show the edit form. + this.resource.grid.updateAttachments().then(() => { + this.handler.activate(); + }); } public get placeholderText() { From 46ad96150b6f2b75b3e0d4ded339f5c0168ed411 Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 27 Sep 2019 15:54:24 +0200 Subject: [PATCH 17/19] simplify deleted attachment detection --- .../attachment-list.component.ts | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts b/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts index 31b3e5bcdb..f8aae367b9 100644 --- a/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts +++ b/frontend/src/app/modules/attachments/attachment-list/attachment-list.component.ts @@ -47,7 +47,7 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { trackByHref = AngularTrackingHelpers.trackByHref; attachments:HalResource[] = []; - public initialAttachments:HalResource[]; + deletedAttachments:HalResource[] = []; public $element:JQuery; public $formElement:JQuery; @@ -66,7 +66,10 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { this.attachments = this.resource.attachments.elements; this.setupResourceUpdateListener(); - this.setupAttachmentDeletionCallback(); + + if (!this.destroyImmediately) { + this.setupAttachmentDeletionCallback(); + } } public setupResourceUpdateListener() { @@ -84,7 +87,9 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { } ngOnDestroy():void { - this.$formElement.off('submit.attachment-component'); + if (!this.destroyImmediately) { + this.$formElement.off('submit.attachment-component'); + } } ngOnChanges() { @@ -94,6 +99,7 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { } public removeAttachment(attachment:HalResource) { + this.deletedAttachments.push(attachment); this.attachments = this.attachments.filter((el) => el !== attachment); this.cdRef.detectChanges(); } @@ -103,8 +109,6 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { } public setupAttachmentDeletionCallback() { - this.memoizeCurrentAttachments(); - this.$formElement = this.$element.closest('form'); this.$formElement.on('submit.attachment-component', () => { this.destroyRemovedAttachments(); @@ -112,21 +116,11 @@ export class AttachmentListComponent implements OnInit, OnChanges, OnDestroy { } private destroyRemovedAttachments() { - let missingAttachments = _.differenceBy(this.initialAttachments, - this.attachments, - (attachment:HalResource) => attachment.id); - - if (missingAttachments.length) { - missingAttachments.forEach((attachment) => { - this - .resource - .removeAttachment(attachment); - }); - } - } - - private memoizeCurrentAttachments() { - this.initialAttachments = _.clone(this.resource.attachments.elements); + this.deletedAttachments.forEach((attachment) => { + this + .resource + .removeAttachment(attachment); + }); } } From 3b2faa494fd26307973bd1880a2d5e18179ed1b1 Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 27 Sep 2019 16:32:11 +0200 Subject: [PATCH 18/19] use appropriate update method for relation --- db/migrate/20190920102446_clean_custom_values.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20190920102446_clean_custom_values.rb b/db/migrate/20190920102446_clean_custom_values.rb index 5636cc0e83..f52251ad54 100644 --- a/db/migrate/20190920102446_clean_custom_values.rb +++ b/db/migrate/20190920102446_clean_custom_values.rb @@ -13,7 +13,7 @@ class CleanCustomValues < ActiveRecord::Migration[5.2] end warn warn_string - invalid_cv.update_column(:value, '') + invalid_cv.update_all(value: '') end end From 6cd9c22ae98a633a6a05a12b44022123f1d6dfee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 30 Sep 2019 07:49:35 +0200 Subject: [PATCH 19/19] Bumped version to 10.0.2 [ci skip] --- lib/open_project/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index 945b5234cc..09d8e362c2 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -34,7 +34,7 @@ module OpenProject module VERSION #:nodoc: MAJOR = 10 MINOR = 0 - PATCH = 1 + PATCH = 2 TINY = PATCH # Redmine compat class << self