update locales from crowdin [ci skip]

pull/10738/head
OpenProject Actions CI 2 years ago
parent e52f324df1
commit 89b4d85f6c
  1. 3018
      config/locales/crowdin/ckb-IR.yml
  2. 1190
      config/locales/crowdin/js-ckb-IR.yml
  3. 42
      config/locales/crowdin/js-es.yml
  4. 4
      config/locales/crowdin/js-vi.yml
  5. 40
      modules/avatars/config/locales/crowdin/ckb-IR.yml
  6. 15
      modules/avatars/config/locales/crowdin/js-ckb-IR.yml
  7. 161
      modules/backlogs/config/locales/crowdin/ckb-IR.yml
  8. 27
      modules/backlogs/config/locales/crowdin/js-ckb-IR.yml
  9. 134
      modules/bim/config/locales/crowdin/ckb-IR.yml
  10. 29
      modules/bim/config/locales/crowdin/js-ckb-IR.yml
  11. 8
      modules/boards/config/locales/crowdin/ckb-IR.yml
  12. 86
      modules/boards/config/locales/crowdin/js-ckb-IR.yml
  13. 73
      modules/budgets/config/locales/crowdin/ckb-IR.yml
  14. 26
      modules/budgets/config/locales/crowdin/js-ckb-IR.yml
  15. 6
      modules/calendar/config/locales/crowdin/ckb-IR.yml
  16. 8
      modules/calendar/config/locales/crowdin/js-ckb-IR.yml
  17. 142
      modules/costs/config/locales/crowdin/ckb-IR.yml
  18. 32
      modules/costs/config/locales/crowdin/js-ckb-IR.yml
  19. 4
      modules/dashboards/config/locales/crowdin/ckb-IR.yml
  20. 4
      modules/dashboards/config/locales/crowdin/js-ckb-IR.yml
  21. 42
      modules/documents/config/locales/crowdin/ckb-IR.yml
  22. 35
      modules/github_integration/config/locales/crowdin/ckb-IR.yml
  23. 41
      modules/github_integration/config/locales/crowdin/js-ckb-IR.yml
  24. 16
      modules/grids/config/locales/crowdin/ckb-IR.yml
  25. 66
      modules/grids/config/locales/crowdin/js-ckb-IR.yml
  26. 17
      modules/job_status/config/locales/crowdin/js-ckb-IR.yml
  27. 70
      modules/ldap_groups/config/locales/crowdin/ckb-IR.yml
  28. 90
      modules/meeting/config/locales/crowdin/ckb-IR.yml
  29. 4
      modules/my_page/config/locales/crowdin/js-ckb-IR.yml
  30. 19
      modules/openid_connect/config/locales/crowdin/ckb-IR.yml
  31. 4
      modules/overviews/config/locales/crowdin/ckb-IR.yml
  32. 4
      modules/overviews/config/locales/crowdin/js-ckb-IR.yml
  33. 51
      modules/pdf_export/config/locales/crowdin/ckb-IR.yml
  34. 18
      modules/recaptcha/config/locales/crowdin/ckb-IR.yml
  35. 87
      modules/reporting/config/locales/crowdin/ckb-IR.yml
  36. 26
      modules/reporting/config/locales/crowdin/js-ckb-IR.yml
  37. 65
      modules/storages/config/locales/crowdin/ckb-IR.yml
  38. 4
      modules/storages/config/locales/crowdin/js-ckb-IR.yml
  39. 13
      modules/team_planner/config/locales/crowdin/ckb-IR.yml
  40. 22
      modules/team_planner/config/locales/crowdin/js-ckb-IR.yml
  41. 176
      modules/two_factor_authentication/config/locales/crowdin/ckb-IR.yml
  42. 63
      modules/webhooks/config/locales/crowdin/ckb-IR.yml
  43. 13
      modules/xls_export/config/locales/crowdin/ckb-IR.yml

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -27,7 +27,7 @@ es:
updating: "Actualizando…"
attachments:
draggable_hint: |
Arrastre el campo del editor a una imagen alineada o un adjunto de referencia. Los campos del editor cerrados se abrirán mientras siga arrastrando elementos.
Arrastre el campo del editor a una imagen alineada o un archivo adjunto de referencia. Los campos del editor cerrados se abrirán mientras siga arrastrando elementos.
autocomplete_select:
placeholder:
multi: "Añadir \"%{name}\""
@ -37,7 +37,7 @@ es:
backup:
attachments_disabled: No se pueden adjuntar los archivos, ya que el tamaño total supera el máximo permitido. Puede cambiar este valor en la configuración (es necesario reiniciar el servidor).
info: >
Aquí puede activar una copia de seguridad. Este proceso puede tardar algún tiempo en completarse, según la cantidad de datos que tenga (sobre todo, archivos adjuntos). Recibirá un correo electrónico cuando se complete.
Aquí puede activar una copia de seguridad. Este proceso puede tardar algún tiempo en completarse según la cantidad de datos que tenga (sobre todo, archivos adjuntos). Recibirá un correo electrónico cuando se complete.
note: >
Las nuevas copias de seguridad reemplazarán a las anteriores. Solo puede solicitarse un número limitado de copias de seguridad al día.
last_backup: Última copia de seguridad
@ -57,15 +57,15 @@ es:
button_cancel: "Cancelar"
button_close: "Cerrar"
button_change_project: "Cambiar proyecto"
button_check_all: "Seleccionar Todos"
button_check_all: "Seleccionar todos"
button_configure-form: "Configurar formulario"
button_confirm: "Confirmar"
button_continue: "Continuar"
button_copy: "Copiar"
button_copy_to_other_project: "Copiar en otro proyecto"
button_custom-fields: "Campos Personalizados"
button_delete: "Borrar"
button_delete_watcher: "Eliminar los observadores"
button_custom-fields: "Campos personalizados"
button_delete: "Eliminar"
button_delete_watcher: "Eliminar observador"
button_details_view: "Vista detallada"
button_duplicate: "Duplicar"
button_edit: "Editar"
@ -79,7 +79,7 @@ es:
button_more: "Más"
button_open_details: "Abrir vista detallada"
button_close_details: "Cerrar vista detallada"
button_open_fullscreen: "Abrir vista de pantalla completa"
button_open_fullscreen: "Abrir en pantalla completa"
button_show_cards: "Mostrar vista de tarjeta"
button_show_list: "Mostrar vista de lista"
button_quote: "presupuesto"
@ -93,13 +93,13 @@ es:
card:
add_new: 'Añadir nueva tarjeta'
highlighting:
inline: 'Resaltar en línea:'
inline: 'Resaltar línea:'
entire_card_by: 'Tarjeta entera por'
remove_from_list: 'Eliminar tarjeta de la lista'
caption_rate_history: "Historial de tasa"
caption_rate_history: "Historial de tasas"
clipboard:
browser_error: "Su navegador no soporta copiar al portapapeles. Por favor, copie el texto seleccionado manualmente."
copied_successful: "Copiado correctamente en el Portapapeles"
browser_error: "Su navegador no es compatible con copiar al portapapeles. Por favor, copie el texto seleccionado manualmente."
copied_successful: "Copiado correctamente en el portapapeles"
chart:
type: 'Tipo de gráfico'
axis_criteria: 'Criterios del eje'
@ -108,8 +108,8 @@ es:
line: 'Línea'
horizontal_bar: 'Barra horizontal'
bar: 'Barra'
pie: 'Gráfico Circular'
doughnut: 'Rosquilla'
pie: 'Gráfico circular'
doughnut: 'Gráfico de anillos'
radar: 'Radar'
polar_area: 'Área polar'
tabs:
@ -117,14 +117,14 @@ es:
dataset: 'Conjunto de datos %{number}'
errors:
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_available_columns: "Columnas Disponibles"
description_current_position: "Está aquí:"
description_select_work_package: "Seleccione el paquete de trabajo #%{id}"
description_selected_columns: "Columnas seleccionadas"
description_subwork_package: "Seleccione el paquete de trabajo #%{id}"
editor:
preview: 'Cambiar modo de vista previa'
source_code: 'Alternar modo de visualización de Markdown'
preview: 'Activar modo de vista previa'
source_code: 'Activar modo de visualización Markdown'
error_saving_failed: 'No se pudo guardar el documento debido al siguiente error: %{error}'
ckeditor_error: 'Se ha producido un error dentro de CKEditor'
mode:
@ -137,9 +137,9 @@ es:
not_found: 'No se encuentra el recurso solicitado'
invalid_attribute: "El atributo seleccionado («%{name}») no existe."
child_pages:
button: 'Vínculos a páginas secundarias'
button: 'Enlaces a páginas secundarias'
include_parent: 'Incluir principal'
text: '[Placeholder] Vínculos a páginas secundarias de'
text: '[Placeholder] Enlaces a páginas secundarias de'
page: 'Página wiki'
this_page: 'esta página'
hint: |
@ -210,7 +210,7 @@ es:
try_another_email: "O bien pruebe con otra dirección."
next_steps: "Pasos siguientes"
resend_link: "Reenviar"
resend_success: "Hemos vuelto a enviarle el mensaje. Consulte su correo electrónico y haga clic en el enlace de confirmación proporcionado."
resend_success: "El correo electrónico ha sido reenviado. Consulte su correo electrónico y haga clic en el enlace de confirmación proporcionado."
resend_warning: "No pudimos volver a enviar el correo electrónico."
session_timeout: "Se agotó el tiempo de espera de la sesión. Pruebe a recargar la página o vuelva a enviar el correo electrónico."
status_label: "Estado:"
@ -1149,7 +1149,7 @@ es:
role:
label: 'Rol en %{project}'
no_roles_found: 'No se encontraron roles'
description: 'This is the role that %{principal} will receive when they join your project. The role defines which actions they are allowed to take and which information they are allowed to see. <a href="https://www.openproject.org/docs/system-admin-guide/users-permissions/roles-permissions/#roles-and-permissions" target="_blank"> Learn more about roles and permissions. </a>'
description: 'Este es el role que %{principal} recibirá al unirse al proyecto. El role define las acciones que són permitidas y que información pueden ver. <a href="https://www.openproject.org/docs/system-admin-guide/users-permissions/roles-permissions/#roles-and-permissions" target="_blank"> Obtén más información sobre roles y permisos. </a>'
required: 'Seleccione un rol'
next_button: 'Siguiente'
message:

@ -62,7 +62,7 @@ vi:
button_confirm: "Xác nhận"
button_continue: "Tiếp tục"
button_copy: "Sao chép"
button_copy_to_other_project: "Copy to other project"
button_copy_to_other_project: "Sao chép sang dự án khác"
button_custom-fields: "Tùy chỉnh mục"
button_delete: "Xoá"
button_delete_watcher: "Xóa người xem"
@ -383,7 +383,7 @@ vi:
label_next: "Tiếp"
label_no_color: "Không màu"
label_no_data: "Không có dữ liệu để hiển thị"
label_no_due_date: "no finish date"
label_no_due_date: "không có ngày hoàn thành"
label_no_start_date: "không có ngày bắt đầu"
label_no_value: "Không có giá trị"
label_none: "không"

@ -0,0 +1,40 @@
#English strings go here
ckb-IR:
label_avatar: "Avatar"
label_avatar_plural: "Avatars"
label_current_avatar: "Current Avatar"
label_choose_avatar: "Choose Avatar from file"
message_avatar_uploaded: "Avatar changed successfully."
error_image_upload: "Error saving the image."
error_image_size: "The image is too large."
button_change_avatar: "Change avatar"
are_you_sure_delete_avatar: "Are you sure you want to delete your avatar?"
avatar_deleted: "Avatar deleted successfully."
unable_to_delete_avatar: "Avatar could not be deleted."
wrong_file_format: "Allowed formats are jpg, png, gif"
empty_file_error: "Please upload a valid image (jpg, png, gif)"
avatars:
label_avatar: "Avatar"
label_gravatar: 'Gravatar'
label_current_avatar: 'Current avatar'
label_local_avatar: 'Custom avatar'
text_current_avatar: |
The following image shows the current avatar.
text_upload_instructions: |
Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match.
A preview of your avatar will be shown before uploading, once you selected an image.
text_change_gravatar_html: 'To change or add the Gravatar for your mail address, go to %{gravatar_url}.'
text_your_local_avatar: |
OpenProject allows you to upload your own custom avatar.
text_local_avatar_over_gravatar: |
If you set one, this custom avatar is used in precedence over the gravatar above.
text_your_current_gravatar: |
OpenProject uses your gravatar if you registered one, or a default image or icon if one exists.
The current gravatar is as follows:
settings:
enable_gravatars: 'Enable user gravatars'
gravatar_default: "Default Gravatar image"
enable_local_avatars: 'Enable user custom avatars'

@ -0,0 +1,15 @@
#English strings go here
ckb-IR:
js:
label_preview: 'Preview'
button_update: 'Update'
avatars:
label_choose_avatar: "Choose Avatar from file"
uploading_avatar: "Uploading your avatar."
text_upload_instructions: |
Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match.
A preview of your avatar will be shown before uploading, once you selected an image.
error_image_too_large: "Image is too large."
wrong_file_format: "Allowed formats are jpg, png, gif"
empty_file_error: "Please upload a valid image (jpg, png, gif)"

@ -0,0 +1,161 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
activerecord:
attributes:
work_package:
position: "پێگە"
remaining_hours: "کاتژمێری ماوە"
remaining_time: "کاتژمێری ماوە"
story_points: "Story Points"
backlogs_work_package_type: "جۆری Backlog"
errors:
models:
work_package:
attributes:
blocks_ids:
can_only_contain_work_packages_of_current_sprint: "can only contain IDs of work packages in the current sprint."
must_block_at_least_one_work_package: "must contain the ID of at least one ticket."
parent_id:
parent_child_relationship_across_projects: "is invalid because the work package '%{work_package_name}' is a backlog task and therefore cannot have a parent outside of the current project."
type_must_be_one_of_the_following: "Type must be one of the following: %{type_names}."
version_id:
task_version_must_be_the_same_as_story_version: "must be the same as the parent story's version."
sprint:
cannot_end_before_it_starts: "Sprint cannot end before it starts."
backlogs:
add_new_story: "New Story"
any: "any"
backlog_settings: "Backlogs settings"
burndown_graph: "Burndown Graph"
card_paper_size: "Paper size for card printing"
chart_options: "Chart options"
close: "Close"
column_width: "Column width:"
date: "Day"
definition_of_done: "Definition of Done"
generating_chart: "Generating Graph..."
hours: "Hours"
impediment: "Impediment"
label_versions_default_fold_state: "Show versions folded"
work_package_is_closed: "Work package is done, when"
label_is_done_status: "Status %{status_name} means done"
no_burndown_data: "No burndown data available. It is necessary to have the sprint start- and end dates set."
points: "Points"
positions_could_not_be_rebuilt: "Positions could not be rebuilt."
positions_rebuilt_successfully: "Positions rebuilt successfully."
properties: "Properties"
rebuild: "Rebuild"
rebuild_positions: "Rebuild positions"
remaining_hours: "Remaining hours"
remaining_hours_ideal: "Remaining hours (ideal)"
show_burndown_chart: "Burndown Chart"
story: "Story"
story_points: "Story Points"
story_points_ideal: "Story Points (ideal)"
task: "Task"
task_color: "Task color"
unassigned: "Unassigned"
x_more: "%{count} more..."
backlogs_active: "active"
backlogs_any: "any"
backlogs_card_specification: "Label types for card printing"
backlogs_inactive: "Project shows no activity"
backlogs_points_burn_direction: "Points burn up/down"
backlogs_product_backlog: "Product backlog"
backlogs_product_backlog_is_empty: "Product backlog is empty"
backlogs_product_backlog_unsized: "The top of the product backlog has unsized stories"
backlogs_sizing_inconsistent: "Story sizes vary against their estimates"
backlogs_sprint_notes_missing: "Closed sprints without retrospective/review notes"
backlogs_sprint_unestimated: "Closed or active sprints with unestimated stories"
backlogs_sprint_unsized: "Project has stories on active or recently closed sprints that were not sized"
backlogs_sprints: "Sprints"
backlogs_story: "Story"
backlogs_story_type: "Story types"
backlogs_task: "Task"
backlogs_task_type: "Task type"
backlogs_velocity_missing: "No velocity could be calculated for this project"
backlogs_velocity_varies: "Velocity varies significantly over sprints"
backlogs_wiki_template: "Template for sprint wiki page"
backlogs_empty_title: "No versions are defined to be used in backlogs"
backlogs_empty_action_text: "To get started with backlogs, create a new version and assign it to a backlogs column."
button_edit_wiki: "Edit wiki page"
error_backlogs_task_cannot_be_story: "The settings are invalid. The selected task type can not also be a story type."
error_intro_plural: "The following errors were encountered:"
error_intro_singular: "The following error was encountered:"
error_outro: "Please correct the above errors before submitting again."
event_sprint_description: "%{summary}: %{url}\n%{description}"
event_sprint_summary: "%{project}: %{summary}"
ideal: "ideal"
inclusion: "is not included in the list"
label_back_to_project: "Back to project page"
label_backlog: "Backlog"
label_backlogs: "Backlogs"
label_backlogs_unconfigured: "You have not configured Backlogs yet. Please go to %{administration} > %{plugins}, then click on the %{configure} link for this plugin. Once you have set the fields, come back to this page to start using the tool."
label_blocks_ids: "IDs of blocked work packages"
label_burndown: "Burndown"
label_column_in_backlog: "Column in backlog"
label_hours: "hours"
label_work_package_hierarchy: "Work package Hierarchy"
label_master_backlog: "Master Backlog"
label_not_prioritized: "not prioritized"
label_points: "points"
label_points_burn_down: "Down"
label_points_burn_up: "Up"
label_product_backlog: "product backlog"
label_select_all: "Select all"
label_sprint_backlog: "sprint backlog"
label_sprint_cards: "Export cards"
label_sprint_impediments: "Sprint Impediments"
label_sprint_name: "Sprint \"%{name}\""
label_sprint_velocity: "Velocity %{velocity}, based on %{sprints} sprints with an average %{days} days"
label_stories: "Stories"
label_stories_tasks: "Stories/Tasks"
label_task_board: "Task board"
label_version_setting: "Versions"
label_version: 'Version'
label_webcal: "Webcal Feed"
label_wiki: "Wiki"
permission_view_master_backlog: "View master backlog"
permission_view_taskboards: "View taskboards"
permission_select_done_statuses: "Select done statuses"
permission_update_sprints: "Update sprints"
points_accepted: "points accepted"
points_committed: "points committed"
points_resolved: "points resolved"
points_to_accept: "points not accepted"
points_to_resolve: "points not resolved"
project_module_backlogs: "Backlogs"
rb_label_copy_tasks: "Copy work packages"
rb_label_copy_tasks_all: "All"
rb_label_copy_tasks_none: "None"
rb_label_copy_tasks_open: "Open"
rb_label_link_to_original: "Include link to original story"
remaining_hours: "remaining hours"
required_burn_rate_hours: "required burn rate (hours)"
required_burn_rate_points: "required burn rate (points)"
todo_work_package_description: "%{summary}: %{url}\n%{description}"
todo_work_package_summary: "%{type}: %{summary}"
version_settings_display_label: "Column in backlog"
version_settings_display_option_left: "left"
version_settings_display_option_none: "none"
version_settings_display_option_right: "right"

@ -0,0 +1,27 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
js:
work_packages:
properties:
storyPoints: "Story Points"
remainingTime: "Remaining hours"

@ -0,0 +1,134 @@
#English strings go here for Rails i18n
ckb-IR:
bim:
label_bim: 'BIM'
bcf:
label_bcf: 'BCF'
label_imported_failed: 'Failed imports of BCF topics'
label_imported_successfully: 'Successfully imported BCF topics'
issues: "Issues"
recommended: 'recommended'
not_recommended: 'not recommended'
no_viewpoints: 'No viewpoints'
new_badge: "New"
exceptions:
file_invalid: "BCF file invalid"
x_bcf_issues:
zero: 'No BCF issues'
one: 'One BCF issue'
other: '%{count} BCF issues'
bcf_xml:
xml_file: 'BCF XML File'
import_title: 'Import'
export: 'Export'
import_update_comment: '(Updated in BCF import)'
import_failed: 'Cannot import BCF file: %{error}'
import_failed_unsupported_bcf_version: 'Failed to read the BCF file: The BCF version is not supported. Please ensure the version is at least %{minimal_version} or higher.'
import_successful: 'Imported %{count} BCF issues'
import_canceled: 'BCF-XML import canceled.'
type_not_active: "The issue type is not activated for this project."
import:
num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.'
button_prepare: 'Prepare import'
button_perform_import: 'Confirm import'
button_proceed: 'Proceed with import'
button_back_to_list: 'Back to list'
no_permission_to_add_members: 'You do not have sufficient permissions to add them as members to the project.'
contact_project_admin: 'Contact your project admin to add them as members and start this import again.'
continue_anyways: 'Do you want to proceed and finish the import anyways?'
description: "Provide a BCF-XML v2.1 file to import into this project. You can examine its contents before performing the import."
invalid_types_found: 'Invalid topic type names found'
invalid_statuses_found: 'Invalid status names found'
invalid_priorities_found: 'Invalid priority names found'
invalid_emails_found: 'Invalid email addresses found'
unknown_emails_found: 'Unknown email addresses found'
unknown_property: 'Unknown property'
non_members_found: 'Non project members found'
import_types_as: 'Set all these types to'
import_statuses_as: 'Set all these statuses to'
import_priorities_as: 'Set all these priorities to'
invite_as_members_with_role: 'Invite them as members to the project "%{project}" with role'
add_as_members_with_role: 'Add them as members to the project "%{project}" with role'
no_type_provided: 'No type provided'
no_status_provided: 'No status provided'
no_priority_provided: 'No priority provided'
perform_description: "Do you want to import or update the issues listed above?"
replace_with_system_user: 'Replace them with "System" user'
import_as_system_user: 'Import them as "System" user.'
what_to_do: "What do you want to do?"
work_package_has_newer_changes: "Outdated! This topic was not updated as the latest changes on the server were newer than the \"ModifiedDate\" of the imported topic. However, comments to the topic were imported."
bcf_file_not_found: "Failed to locate BCF file. Please start the upload process again."
export:
format:
bcf: "BCF-XML"
attributes:
bcf_thumbnail: "BCF snapshot"
project_module_bcf: "BCF"
project_module_bim: "BCF"
permission_view_linked_issues: "View BCF issues"
permission_manage_bcf: "Import and manage BCF issues"
permission_delete_bcf: "Delete BCF issues"
oauth:
scopes:
bcf_v2_1: "Full access to the BCF v2.1 API"
bcf_v2_1_text: "Application will receive full read & write access to the OpenProject BCF API v2.1 to perform actions on your behalf."
activerecord:
models:
bim/ifc_models/ifc_model: "IFC model"
attributes:
bim/ifc_models/ifc_model:
ifc_attachment: "IFC file"
is_default: "Default model"
attachments: "IFC file"
errors:
models:
bim/ifc_models/ifc_model:
attributes:
base:
ifc_attachment_missing: "No ifc file attached."
invalid_ifc_file: "The provided file is not a valid IFC file."
bim/bcf/viewpoint:
bitmaps_not_writable: "bitmaps is not writable as it is not yet implemented."
index_not_integer: "index is not an integer."
invalid_clipping_planes: "clipping_planes is invalid."
invalid_components: "components is invalid."
invalid_lines: "lines is invalid."
invalid_orthogonal_camera: "orthogonal_camera is invalid."
invalid_perspective_camera: "perspective_camera is invalid."
mismatching_guid: "The guid in the json_viewpoint does not match the model's guid."
no_json: "Is not a well structured json."
snapshot_type_unsupported: "snapshot_type needs to be either 'png' or 'jpg'."
snapshot_data_blank: "snapshot_data needs to be provided."
unsupported_key: "An unsupported json property is included."
bim/bcf/issue:
uuid_already_taken: "Can't import this BCF issue as there already is another with the same GUID. Could it be that this BCF issue had already been imported into a different project?"
ifc_models:
label_ifc_models: 'IFC models'
label_new_ifc_model: 'New IFC model'
label_show_defaults: 'Show defaults'
label_default_ifc_models: 'Default IFC models'
label_edit_defaults: 'Edit defaults'
no_defaults_warning:
title: 'No IFC model was set as default for this project.'
check_1: 'Check that you have uploaded at least one IFC model.'
check_2: 'Check that at least one IFC model is set to "Default".'
no_results: "No IFC models have been uploaded in this project."
conversion_status:
label: 'Processing?'
pending: 'Pending'
processing: 'Processing'
completed: 'Completed'
error: 'Error'
processing_notice:
processing_default: 'The following default IFC models are still being processed and are thus not available, yet:'
flash_messages:
upload_successful: 'Upload succeeded. It will now get processed and will be ready to use in a couple of minutes.'
conversion:
missing_commands: "The following IFC converter commands are missing on this system: %{names}"
project_module_ifc_models: "IFC models"
permission_view_ifc_models: "View IFC models"
permission_manage_ifc_models: "Import and manage IFC models"
extraction:
available:
ifc_convert: "IFC conversion pipeline available"

@ -0,0 +1,29 @@
#English strings go here
ckb-IR:
js:
bcf:
label_bcf: 'BCF'
import: 'Import'
import_bcf_xml_file: 'Import BCF XML file (BCF version 2.1)'
export: 'Export'
export_bcf_xml_file: 'Export BCF XML file (BCF version 2.1)'
viewpoint: 'Viewpoint'
add_viewpoint: 'Add viewpoint'
show_viewpoint: 'Show viewpoint'
delete_viewpoint: 'Delete viewpoint'
management: 'BCF management'
refresh: 'Refresh'
refresh_work_package: 'Refresh work package'
ifc_models:
empty_warning: "This project does not yet have any IFC models."
use_this_link_to_manage: "Use this link to upload and manage your IFC models"
keyboard_input_disabled: "Viewer does not have keyboard controls. Click on the viewer to give keyboard control to the viewer."
models:
ifc_models: 'IFC models'
views:
viewer: 'Viewer'
split: 'Viewer and table'
split_cards: 'Viewer and cards'
revit:
revit_add_in: "Revit Add-In"
revit_add_in_settings: "Revit Add-In settings"

@ -0,0 +1,8 @@
#English strings go here
ckb-IR:
permission_show_board_views: "View boards"
permission_manage_board_views: "Manage boards"
project_module_board_view: "Boards"
boards:
label_board: "Board"
label_boards: "Boards"

@ -0,0 +1,86 @@
#English strings go here
ckb-IR:
js:
boards:
create_new: 'Create new board'
label_unnamed_board: 'Unnamed board'
label_unnamed_list: 'Unnamed list'
label_board_type: 'Board type'
upsale:
teaser_text: 'Would you like ready-to-use board templates? Advanced boards are an Enterprise feature. Please upgrade to a paid plan.'
upgrade: 'Upgrade now'
lists:
delete: 'Delete list'
version:
is_locked: 'Version is locked. No items can be added to this version.'
is_closed: 'Version is closed. No items can be added to this version.'
close_version: 'Close version'
open_version: 'Open version'
lock_version: 'Lock version'
unlock_version: 'Unlock version'
edit_version: 'Edit version'
show_version: 'Show version'
locked: 'Locked'
closed: 'Closed'
new_board: 'New board'
add_list: 'Add list to board'
add_card: 'Add card'
error_attribute_not_writable: "Cannot move the work package, %{attribute} is not writable."
error_loading_the_list: "Error loading the list: %{error_message}"
error_permission_missing: "The permission to create public queries is missing"
error_cannot_move_into_self: "You can not move a work package into its own column."
text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information."
click_to_remove_list: "Click to remove this list"
board_type:
text: 'Board type'
free: 'basic'
select_board_type: 'Please choose the type of board you need.'
free_text: >
Start from scratch with a blank board. Manually add cards and columns to this board.
action: 'Action board'
action_by_attribute: 'Action board (%{attribute})'
action_text: >
A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute.
action_text_subprojects: >
Board with automated columns for subprojects. Dragging work packages to other lists updates the (sub-)project accordingly.
action_text_subtasks: >
Board with automated columns for sub-elements. Dragging work packages to other lists updates the parent accordingly.
action_text_status: >
Basic kanban style board with columns for status such as To Do, In Progress, Done.
action_text_assignee: >
Board with automated columns based on assigned users. Ideal for dispatching work packages.
action_text_version: >
Board with automated columns based on the version attribute. Ideal for planning product development.
action_type:
assignee: assignee
status: status
version: version
subproject: subproject
subtasks: parent-child
board_type_title:
assignee: Assignee
status: Status
version: Version
subproject: Subproject
subtasks: Parent-Child
basic: Basic
select_attribute: "Action attribute"
add_list_modal:
labels:
assignee: Select user to add as a new assignee list
status: Select status to add as a new list
version: Select version to add as a new list
subproject: Select subproject to add as a new list
subtasks: Select work package to add as a new list
warning:
status: |
There is currently no status available. <br>
Either there are none or they have all already been added to the board.
assignee: There isn't any member matched with your filter value. <br>
no_member: This project currently does not have any members that can be added. <br>
add_members: <a href="%{link}">Add a new member to this project</a> to select users again.
configuration_modal:
title: 'Configure this board'
display_settings:
card_mode: "Display as cards"
table_mode: "Display as table"

@ -0,0 +1,73 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
activerecord:
attributes:
budget:
author: "Author"
available: "Available"
budget: "Planned"
budget_ratio: "Spent (ratio)"
description: "Description"
spent: "Spent"
status: "Status"
subject: "Subject"
type: "Cost type"
labor_budget: "Planned labor costs"
material_budget: "Planned unit costs"
work_package:
budget_subject: "Budget title"
models:
budget: "Budget"
material_budget_item: "Unit"
attributes:
budget: "Budget"
button_add_budget_item: "Add planned costs"
button_add_budget: "Add budget"
button_add_cost_type: "Add cost type"
button_cancel_edit_budget: "Cancel editing budget"
button_cancel_edit_costs: "Cancel editing costs"
caption_labor: "Labor"
caption_labor_costs: "Actual labor costs"
caption_material_costs: "Actual unit costs"
budgets_title: "Budgets"
events:
budget: "Budget edited"
help_click_to_edit: "Click here to edit."
help_currency_format: "Format of displayed currency values. %n is replaced with the currency value, %u ist replaced with the currency unit."
help_override_rate: "Enter a value here to override the default rate."
label_budget: "Budget"
label_budget_new: "New budget"
label_budget_plural: "Budgets"
label_budget_id: "Budget #%{id}"
label_deliverable: "Budget"
label_example_placeholder: 'e.g., %{decimal}'
label_view_all_budgets: "View all budgets"
label_yes: "Yes"
notice_budget_conflict: "WorkPackages must be of the same project."
notice_no_budgets_available: "No budgets available."
permission_edit_budgets: "Edit budgets"
permission_view_budgets: "View budgets"
project_module_budgets: "Budgets"
text_budget_reassign_to: "Reassign them to this budget:"
text_budget_delete: "Delete the budget from all work packages"
text_budget_destroy_assigned_wp: "There are %{count} work packages assigned to this budget. What do you want to do?"

@ -0,0 +1,26 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
js:
work_packages:
properties:
costObject: "Budget"

@ -0,0 +1,6 @@
#English strings go here
ckb-IR:
label_calendar_plural: "Calendars"
permission_view_calendar: "View calendars"
permission_manage_calendars: "Manage calendars"
project_module_calendar_view: "Calendar"

@ -0,0 +1,8 @@
#English strings go here
ckb-IR:
js:
calendar:
create_new: 'Create new calendar'
title: 'Calendar'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
unsaved_title: 'Unnamed calendar'

@ -0,0 +1,142 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
activerecord:
attributes:
cost_entry:
work_package: "Work package"
overridden_costs: "Overridden costs"
spent: "Spent"
spent_on: "Date"
cost_type:
unit: "Unit name"
unit_plural: "Pluralized unit name"
work_package:
costs_by_type: "Spent units"
labor_costs: "Labor costs"
material_costs: "Unit costs"
overall_costs: "Overall costs"
spent_costs: "Spent costs"
spent_units: "Spent units"
rate:
rate: "Rate"
user:
default_rates: "Default rates"
models:
cost_type:
one: "Cost type"
other: "Cost types"
rate: "Rate"
errors:
models:
work_package:
is_not_a_valid_target_for_cost_entries: "Work package #%{id} is not a valid target for reassigning the cost entries."
nullify_is_not_valid_for_cost_entries: "Cost entries can not be assigned to a project."
attributes:
comment: "Comment"
cost_type: "Cost type"
costs: "Costs"
current_rate: "Current rate"
hours: "Hours"
units: "Units"
valid_from: "Valid from"
fixed_date: "Fixed date"
button_add_rate: "Add rate"
button_log_costs: "Log unit costs"
caption_booked_on_project: "Booked on project"
caption_default: "Default"
caption_default_rate_history_for: "Default rate history for %{user}"
caption_locked_on: "Locked on"
caption_materials: "Units"
caption_rate_history: "Rate history"
caption_rate_history_for: "Rate history for %{user}"
caption_rate_history_for_project: "Rate history for %{user} in project %{project}"
caption_save_rate: "Save rate"
caption_set_rate: "Set current rate"
caption_show_locked: "Show locked types"
description_date_for_new_rate: "Date for new rate"
group_by_others: "not in any group"
label_between: "between"
label_cost_filter_add: "Add cost entry filter"
label_costlog: "Logged unit costs"
label_cost_plural: "Costs"
label_cost_type_plural: "Cost types"
label_cost_type_specific: "Cost type #%{id}: %{name}"
label_costs_per_page: "Costs per page"
label_currency: "Currency"
label_currency_format: "Format of currency"
label_current_default_rate: "Current default rate"
label_date_on: "on"
label_deleted_cost_types: "Deleted cost types"
label_locked_cost_types: "Locked cost types"
label_display_cost_entries: "Display unit costs"
label_display_time_entries: "Display reported hours"
label_display_types: "Display types"
label_edit: "Edit"
label_generic_user: "Generic user"
label_greater_or_equal: ">="
label_group_by: "Group by"
label_group_by_add: "Add grouping field"
label_hourly_rate: "Hourly rate"
label_include_deleted: "Include deleted"
label_work_package_filter_add: "Add work package filter"
label_kind: "Type"
label_less_or_equal: "<="
label_log_costs: "Log unit costs"
label_no: "No"
label_option_plural: "Options"
label_overall_costs: "Overall costs"
label_rate: "Rate"
label_rate_plural: "Rates"
label_status_finished: "Finished"
label_units: "Cost units"
label_user: "User"
label_until: "until"
label_valid_from: "Valid from"
label_yes: "Yes"
notice_something_wrong: "Something went wrong. Please try again."
notice_successful_restore: "Successful restore."
notice_successful_lock: "Locked successfully."
notice_cost_logged_successfully: 'Unit cost logged successfully.'
permission_edit_cost_entries: "Edit booked unit costs"
permission_edit_own_cost_entries: "Edit own booked unit costs"
permission_edit_hourly_rates: "Edit hourly rates"
permission_edit_own_hourly_rate: "Edit own hourly rates"
permission_edit_rates: "Edit rates"
permission_log_costs: "Book unit costs"
permission_log_own_costs: "Book unit costs for oneself"
permission_view_cost_entries: "View booked costs"
permission_view_cost_rates: "View cost rates"
permission_view_hourly_rates: "View all hourly rates"
permission_view_own_cost_entries: "View own booked costs"
permission_view_own_hourly_rate: "View own hourly rate"
permission_view_own_time_entries: "View own spent time"
project_module_costs: "Time and costs"
text_assign_time_and_cost_entries_to_project: "Assign reported hours and costs to the project"
text_destroy_cost_entries_question: "%{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?"
text_destroy_time_and_cost_entries: "Delete reported hours and costs"
text_destroy_time_and_cost_entries_question: "%{hours} hours, %{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?"
text_reassign_time_and_cost_entries: "Reassign reported hours and costs to this work package:"
text_warning_hidden_elements: "Some entries may have been excluded from the aggregation."
week: "week"
js:
text_are_you_sure: "Are you sure?"

@ -0,0 +1,32 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
js:
work_packages:
property_groups:
costs: "Costs"
properties:
overallCosts: "Overall costs"
spentUnits: "Spent units"
button_log_costs: "Log unit costs"
label_hour: "hour"
label_hours: "hours"

@ -0,0 +1,4 @@
ckb-IR:
dashboards:
label: 'Dashboards'
project_module_dashboards: 'Dashboards'

@ -0,0 +1,4 @@
ckb-IR:
js:
dashboards:
label: 'Dashboard'

@ -0,0 +1,42 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
activerecord:
models:
document: "Document"
default_doc_category_tech: "Technical documentation"
default_doc_category_user: "User documentation"
enumeration_doc_categories: "Document categories"
enumeration:
document_category:
documentation: Documentation
specification: Specification
other: Other
documents:
label_attachment_author: "Attachment author"
label_document_added: "Document added"
label_document_new: "New document"
label_document_plural: "Documents"
label_documents: "Documents"
permission_manage_documents: "Manage documents"
permission_view_documents: "View documents"
project_module_documents: "Documents"

@ -0,0 +1,35 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
project_module_github: "GitHub"
permission_show_github_content: "Show GitHub content"
github_integration:
pull_request_opened_comment: >
**PR Opened:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been opened by [%{github_user}](%{github_user_url}).
pull_request_closed_comment: >
**PR Closed:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been closed by [%{github_user}](%{github_user_url}).
pull_request_merged_comment: >
**PR Merged:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been merged by [%{github_user}](%{github_user_url}).
pull_request_referenced_comment: >
**Referenced in PR:** [%{github_user}](%{github_user_url}) referenced this work package in Pull request %{pr_number} [%{pr_title}](%{pr_url}) on [%{repository}](%{repository_url}).
pull_request_ready_for_review_comment: >
**PR Ready for Review:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) was marked as ready for review by [%{github_user}](%{github_user_url}).

@ -0,0 +1,41 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
js:
github_integration:
work_packages:
tab_name: "GitHub"
tab_header:
title: "Pull requests"
copy_menu:
label: Git snippets
description: Copy git snippets to clipboard
git_actions:
branch_name: Branch name
commit_message: Commit message
cmd: Create branch with empty commit
title: Quick snippets for Git
copy_success: '✅ Copied!'
copy_error: '❌ Copy failed!'
tab_prs:
empty: 'There are no pull requests linked yet. Link an existing PR by using the code <code>OP#%{wp_id}</code> in the PR description or create a new PR.'
github_actions: Actions

@ -0,0 +1,16 @@
ckb-IR:
grids:
label_widget_in_grid: "Widget contained in Grid %{grid_name}"
activerecord:
attributes:
grids/grid:
page: "Page"
row_count: "Number of rows"
column_count: "Number of columns"
widgets: "Widgets"
errors:
models:
grids/grid:
overlaps: 'overlap.'
outside: 'is outside of the grid.'
end_before_start: 'end value needs to be larger than the start value.'

@ -0,0 +1,66 @@
ckb-IR:
js:
grid:
add_widget: 'Add widget'
remove: 'Remove widget'
configure: 'Configure widget'
upsale:
text: "Some widgets, like the work package graph widget, are only available in the "
link: 'Enterprise Edition.'
widgets:
custom_text:
title: 'Custom text'
documents:
title: 'Documents'
no_results: 'No documents yet.'
members:
title: 'Members'
no_results: 'No visible members.'
view_all_members: 'View all members'
add: 'Member'
too_many: 'Displaying %{count} of %{total} members.'
news:
title: 'News'
at: 'at'
no_results: 'Nothing new to report.'
project_description:
title: 'Project description'
no_results: "No description has been written yet. One can be provided in the 'Project settings'."
project_details:
title: 'Project details'
no_results: 'No custom fields have been defined for projects.'
project_status:
title: 'Project status'
not_started: 'Not started'
on_track: 'On track'
off_track: 'Off track'
at_risk: 'At risk'
not_set: 'Not set'
finished: 'Finished'
discontinued: 'Discontinued'
subprojects:
title: 'Subprojects'
no_results: 'No subprojects.'
time_entries_current_user:
title: 'My spent time'
displayed_days: 'Days displayed in the widget:'
time_entries_list:
title: 'Spent time (last 7 days)'
no_results: 'No time entries for the last 7 days.'
work_packages_accountable:
title: "Work packages I am accountable for"
work_packages_assigned:
title: 'Work packages assigned to me'
work_packages_created:
title: 'Work packages created by me'
work_packages_watched:
title: 'Work packages watched by me'
work_packages_table:
title: 'Work packages table'
work_packages_graph:
title: 'Work packages graph'
work_packages_calendar:
title: 'Calendar'
work_packages_overview:
title: 'Work packages overview'
placeholder: 'Click to edit ...'

@ -0,0 +1,17 @@
ckb-IR:
js:
job_status:
download_starts: 'The download should start automatically.'
click_to_download: 'Or click here to download.'
title: 'Background job status'
redirect: 'You are being redirected.'
redirect_link: 'Please click here to continue.'
redirect_errors: 'Due to these errors, you will not be redirected automatically.'
errors: 'Some errors have occurred'
generic_messages:
not_found: 'This job could not be found.'
in_queue: 'The job has been queued and will be processed shortly.'
in_process: 'The job is currently being processed.'
error: 'The job has failed to complete.'
cancelled: 'The job has been cancelled due to an error.'
success: 'The job completed successfully.'

@ -0,0 +1,70 @@
ckb-IR:
activerecord:
attributes:
ldap_groups/synchronized_group:
dn: 'DN'
auth_source: 'LDAP connection'
sync_users: 'Sync users'
ldap_groups/synchronized_filter:
filter_string: 'LDAP filter'
auth_source: 'LDAP connection'
group_name_attribute: "Group name attribute"
sync_users: 'Sync users'
base_dn: "Search base DN"
models:
ldap_groups/synchronized_group: 'Synchronized LDAP group'
ldap_groups/synchronized_filter: 'LDAP Group synchronization filter'
errors:
models:
ldap_groups/synchronized_filter:
must_contain_base_dn: "Filter base DN must be contained within the LDAP connection's base DN"
ldap_groups:
label_menu_item: 'LDAP group synchronization'
label_group_key: 'LDAP group filter key'
label_synchronize: 'Synchronize'
settings:
name_attribute: 'LDAP groups name attribute'
name_attribute_text: 'The LDAP attribute used for naming the OpenProject group when created by a filter'
synchronized_filters:
add_new: 'Add synchronized LDAP filter'
singular: 'LDAP Group synchronization filter'
plural: 'LDAP Group synchronization filters'
label_n_groups_found:
one: "1 group found by the filter"
other: "%{count} groups found by the filter"
zero: "No groups were found by the filter"
destroy:
title: 'Remove synchronized filter %{name}'
confirmation: "If you continue, the synchronized filter %{name} and all groups %{groups_count} created through it will be removed."
removed_groups: "Warning: This will remove the following groups from OpenProject and remove it from all projects!"
verification: "Enter the filter name %{name} to verify the deletion."
form:
group_name_attribute_text: 'Enter the attribute of the LDAP group used for setting the OpenProject group name.'
filter_string_text: 'Enter the RFC4515 LDAP filter that returns groups in your LDAP to synchronize with OpenProject.'
base_dn_text: >
Enter the search base DN to use for this filter. It needs to be below the base DN of the selected LDAP connection.
Leave this option empty to reuse the base DN of the connection
synchronized_groups:
add_new: 'Add synchronized LDAP group'
destroy:
title: 'Remove synchronized group %{name}'
confirmation: "If you continue, the synchronized group %{name} and all %{users_count} users synchronized through it will be removed."
info: "Note: The OpenProject group itself and members added outside this LDAP synchronization will not be removed."
verification: "Enter the group's name %{name} to verify the deletion."
help_text_html: |
This module allows you to set up a synchronization between LDAP and OpenProject groups.
It depends on LDAP groups need to use the <em>groupOfNames / memberOf</em> attribute set to be working with OpenProject.
<br/>
Groups are synchronized hourly through a cron job.
<a href="https://www.openproject.org/help/administration/manage-ldap-authentication/">Please see our documentation on this topic</a>.
no_results: 'No synchronized groups found.'
no_members: 'This group has no synchronized members yet.'
plural: 'Synchronized LDAP groups'
singular: 'Synchronized LDAP group'
form:
auth_source_text: 'Select which LDAP connection should be used.'
sync_users_text: >
If you enable this option, found users will also be automatically created in OpenProject. Without it, only existing accounts in OpenProject will be added to groups.
dn_text: 'Enter the full DN of the group in LDAP'
group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with'

@ -0,0 +1,90 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
#English strings go here for Rails i18n
ckb-IR:
activerecord:
attributes:
meeting:
location: "Location"
duration: "Duration"
participants: "Participants"
participants_attended: "Attendees"
participants_invited: "Invitees"
start_time: "Time"
start_time_hour: "Starting time"
errors:
messages:
invalid_time_format: "is not a valid time. Required format: HH:MM"
models:
meeting_agenda: "Agenda"
meeting_minutes: "Minutes"
description_attended: "attended"
description_invite: "invited"
events:
meeting: Meeting edited
meeting_agenda: Meeting agenda edited
meeting_agenda_closed: Meeting agenda closed
meeting_agenda_opened: Meeting agenda opened
meeting_minutes: Meeting minutes edited
meeting_minutes_created: Meeting minutes created
error_notification_with_errors: "Failed to send notification. The following recipients could not be notified: %{recipients}"
label_meeting: "Meeting"
label_meeting_plural: "Meetings"
label_meeting_new: "New Meeting"
label_meeting_edit: "Edit Meeting"
label_meeting_agenda: "Agenda"
label_meeting_minutes: "Minutes"
label_meeting_close: "Close"
label_meeting_open: "Open"
label_meeting_agenda_close: "Close the agenda to begin the Minutes"
label_meeting_date_time: "Date/Time"
label_meeting_diff: "Diff"
label_notify: "Send for review"
label_icalendar: "Send iCalendar"
label_version: "Version"
label_time_zone: "Time zone"
label_start_date: "Start date"
meeting:
copied: "Copied from Meeting #%{id}"
notice_successful_notification: "Notification sent successfully"
notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here.
permission_create_meetings: "Create meetings"
permission_edit_meetings: "Edit meetings"
permission_delete_meetings: "Delete meetings"
permission_view_meetings: "View meetings"
permission_create_meeting_agendas: "Manage agendas"
permission_close_meeting_agendas: "Close agendas"
permission_send_meeting_agendas_notification: "Send review notification for agendas"
permission_create_meeting_minutes: "Manage minutes"
permission_send_meeting_minutes_notification: "Send review notification for minutes"
permission_meetings_send_invite: "Invite users to meetings"
permission_send_meeting_agendas_icalendar: "Send meeting agenda as calendar entry"
project_module_meetings: "Meetings"
text_duration_in_hours: "Duration in hours"
text_in_hours: "in hours"
text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"'
text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting?"
text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?"
text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"'
text_review_meeting_agenda: "%{author} has put the %{link} up for review."
text_review_meeting_minutes: "%{author} has put the %{link} up for review."
text_notificiation_invited: "This mail contains an ics entry for the meeting below:"

@ -0,0 +1,4 @@
ckb-IR:
js:
my_page:
label: "My page"

@ -0,0 +1,19 @@
ckb-IR:
logout_warning: >
You have been logged out. The contents of any form you submit may be lost. Please [log in].
activemodel:
attributes:
openid_connect/provider:
name: Name
display_name: Display name
identifier: Identifier
secret: Secret
scope: Scope
openid_connect:
menu_title: OpenID providers
providers:
label_add_new: Add a new OpenID provider
label_edit: Edit OpenID provider %{name}
no_results_table: No providers have been defined yet.
plural: OpenID providers
singular: OpenID provider

@ -0,0 +1,4 @@
ckb-IR:
overviews:
label: 'Overview'
permission_manage_overview: 'Manage overview page'

@ -0,0 +1,4 @@
ckb-IR:
js:
overviews:
label: 'Overview'

@ -0,0 +1,51 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
error_can_not_delete_export_card_configuration: "This config cannot be deleted."
error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed."
label_backlogs_export_card_config_select: "Select export card configuration"
label_backlogs_export_card_export: "Export"
label_export_card_configuration_new: "New Export Card Config"
label_export_card_configuration: "Export Card Config"
label_export_card_configuration_plural: "Export Card Configs"
label_export_card_activate: "Activate"
label_export_card_deactivate: "De-activate"
notice_export_card_configuration_activated: "Config successfully activated"
notice_export_card_configuration_deactivated: "Config successfully de-activated"
error_can_not_activate_export_card_configuration: "This config cannot be activated"
error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated"
validation_error_required_keys_not_present: "Required key(s) not present:"
validation_error_yaml_is_badly_formed: "has no valid YAML format."
validation_error_uknown_key: "Unknown key:"
yaml_error: "YAML error:"
help_link_rows_format: "Rows Formatting"
export_config_per_page: "Per page"
export_config_page_size: "Page size"
export_config_orientation: "Orientation"
export_config_rows: "Rows"
activerecord:
attributes:
export_card_configuration:
rows: "Rows"
per_page: "Per page"
page_size: "Page size"
orientation: "Orientation"

@ -0,0 +1,18 @@
#English strings go here for Rails i18n
ckb-IR:
recaptcha:
label_recaptcha: "reCAPTCHA"
button_please_wait: 'Please wait ...'
verify_account: "Verify your account"
error_captcha: "Your account could not be verified. Please contact an administrator."
settings:
website_key: 'Website key'
website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.'
secret_key: 'Secret key'
secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.'
type: 'Use reCAPTCHA'
type_disabled: 'Disable reCAPTCHA'
type_v2: 'reCAPTCHA v2'
type_v3: 'reCAPTCHA v3'
recaptcha_description_html: >
reCAPTCHA is a free service by Google that can be enabled for your OpenProject instance. If enabled, a captcha form will be rendered upon login for all users that have not verified a captcha yet. <br/> Please see the following link for more details on reCAPTCHA and their versions, and how to create the website and secret keys: %{recaptcha_link}

@ -0,0 +1,87 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
button_save_as: "Save report as..."
comments: "Comment"
cost_reports_title: "Time and costs"
label_cost_report: "Cost report"
label_cost_report_plural: "Cost reports"
description_drill_down: "Show details"
description_filter_selection: "Selection"
description_multi_select: "Show multiselect"
description_remove_filter: "Remove filter"
information_restricted_depending_on_permission: "Depending on your permissions this page might contain restricted information."
label_click_to_edit: "Click to edit."
label_closed: "closed"
label_columns: "Columns"
label_cost_entry_attributes: "Cost entry attributes"
label_days_ago: "during the last days"
label_entry: "Cost entry"
label_filter_text: "Filter text"
label_filter_value: "Value"
label_filters: "Filter"
label_greater: ">"
label_is_not_project_with_subprojects: "is not (includes subprojects)"
label_is_project_with_subprojects: "is (includes subprojects)"
label_work_package_attributes: "Work package attributes"
label_less: "<"
label_money: "Cash value"
label_month_reporting: "Month (Spent)"
label_new_report: "New cost report"
label_open: "open"
label_operator: "Operator"
label_private_report_plural: "Private cost reports"
label_progress_bar_explanation: "Generating report..."
label_public_report_plural: "Public cost reports"
label_really_delete_question: "Are you sure you want to delete this report?"
label_rows: "Rows"
label_saving: "Saving ..."
label_spent_on_reporting: "Date (Spent)"
label_sum: "Sum"
label_units: "Units"
label_week_reporting: "Week (Spent)"
label_year_reporting: "Year (Spent)"
label_count: "Count"
label_filter: "Filter"
label_filter_add: "Add Filter"
label_filter_plural: "Filters"
label_group_by: "Group by"
label_group_by_add: "Add Group-by Attribute"
label_inactive: "«inactive»"
label_no: "No"
label_none: "(no data)"
label_no_reports: "There are no cost reports yet."
label_report: "Report"
label_yes: "Yes"
load_query_question: "Report will have %{size} table cells and may take some time to render. Do you still want to try rendering it?"
permission_save_cost_reports: "Save public cost reports"
permission_save_private_cost_reports: "Save private cost reports"
project_module_reporting_module: "Cost reports"
text_costs_are_rounded_note: "Displayed values are rounded. All calculations are based on the non-rounded values."
toggle_multiselect: "activate/deactivate multiselect"
units: "Units"
validation_failure_date: "is not a valid date"
validation_failure_integer: "is not a valid integer"
reporting:
group_by:
selected_columns: "Selected columns"
selected_rows: "Selected rows"

@ -0,0 +1,26 @@
#-- copyright
#OpenProject is an open source project management software.
#Copyright (C) 2012-2022 the OpenProject GmbH
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License version 3.
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
#Copyright (C) 2006-2013 Jean-Philippe Lang
#Copyright (C) 2010-2013 the ChiliProject Team
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#See COPYRIGHT and LICENSE files for more details.
#++
ckb-IR:
js:
reporting_engine:
label_remove: "Delete"
label_response_error: "There was an error handling the query."

@ -0,0 +1,65 @@
#English strings go here
ckb-IR:
permission_view_file_links: "View file links"
permission_manage_file_links: "Manage file links"
permission_manage_storages_in_project: "Manage file storages in project"
project_module_storages: "File storages"
activerecord:
models:
storages/storage: "Storage"
attributes:
storages/storage:
name: "Name"
creator: "Creator"
provider_type: "Provider type"
storages/file_link:
origin_id: "Origin Id"
errors:
messages:
not_linked_to_project: "is not linked to project."
models:
storages/storage:
attributes:
host:
cannot_be_connected_to: "can not be connected to."
minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)"
not_nextcloud_server: "is not a Nextcloud server"
storages/file_link:
attributes:
origin_id:
only_numeric_or_uuid: "can only be numeric or uuid."
api_v3:
errors:
too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}."
storages:
page_titles:
project_settings:
index: "File storages available in this project"
new: "Enable a file storage for this project"
instructions:
name: "Please use a short name. It will get used as a tab title in the work package view."
host: "The URL of your storage instance. The URL should not be more than 255 characters long."
no_storage_set_up: "There are no file storages set up, yet."
setting_up_additional_storages: "For setting up additional file storages, please visit"
setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages."
setting_up_storages: "For setting up file storages, please visit"
setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages."
all_available_storages_already_added: "All available storages are already added to the project."
delete_warning:
storage: >
Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage.
project_storage: >
Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project.
label_creator: "Creator"
label_file_link: "File link"
label_file_links: "File links"
label_name: "Name"
label_host: "Host"
label_provider_type: "Provider type"
label_new_storage: "New storage"
label_storage: "Storage"
label_storages: "Storages"
no_results: "No storages set up, yet."
provider_types:
label: "Provider type"
nextcloud: "Nextcloud"

@ -0,0 +1,4 @@
#English strings go here
ckb-IR:
js:
storages:

@ -0,0 +1,13 @@
#English strings go here
ckb-IR:
permission_view_team_planner: "View team planner"
permission_manage_team_planner: "Manage team planner"
project_module_team_planner_view: "Team planner"
team_planner:
label_team_planner: "Team planner"
label_create_new_team_planner: "Create new team planner"
label_team_planner_plural: "Team planners"
label_assignees: "Assignees"
upsale:
title: "Team planner"
description: "Team planner gives you a complete overview what each team member is working on, one week at a time. Move, stretch and shrink work packages visually, and even drag them from one assignee to another to organise workload. You can even create new work packages or add existing ones, all from within team planner!"

@ -0,0 +1,22 @@
#English strings go here
ckb-IR:
js:
team_planner:
add_existing: 'Add existing'
title: 'Team planner'
unsaved_title: 'Unnamed team planner'
no_data: 'Add assignees to set up your team planner.'
add_assignee: 'Add assignee'
remove_assignee: 'Remove assignee'
two_weeks: '2-week'
one_week: '1-week'
today: 'Today'
drag_here_to_remove: 'Drag here to remove assignee and start and end dates.'
cannot_drag_here: 'Cannot remove the work package due to permissions or editing restrictions.'
quick_add:
empty_state: 'Use the search field to find work packages and drag them to the planner to assign it to someone and define start and end dates.'
search_placeholder: 'Search...'
modify:
errors:
permission_denied: 'You do not have the necessary permissions to modify this.'
fallback: 'This work package cannot be edited.'

@ -0,0 +1,176 @@
#English strings go here for Rails i18n
ckb-IR:
activerecord:
attributes:
two_factor_authentication/device:
identifier: 'Identifier'
default: 'Use as default'
two_factor_authentication/device/sms:
phone_number: "Phone number"
errors:
models:
two_factor_authentication/device:
default_already_exists: 'is already set for another OTP device.'
two_factor_authentication/device/sms:
attributes:
phone_number:
error_phone_number_format: "must be of format +XX XXXXXXXXX"
models:
two_factor_authentication/device: "2FA device"
two_factor_authentication/device/sms: "Mobile phone"
two_factor_authentication/device/totp: "Authenticator application"
two_factor_authentication:
error_2fa_disabled: "2FA delivery has been disabled."
error_no_device: "No registered 2FA device found for this user, despite being required for this instance."
error_no_matching_strategy: "No matching 2FA strategy available for this user. Please contact your administratior."
error_is_enforced_not_active: 'Configuration error: Two-factor authentication has been enforced, but no active strategies exist.'
error_invalid_backup_code: 'Invalid 2FA backup code'
channel_unavailable: "The delivery channel %{channel} is unavailable."
no_valid_phone_number: "No valid phone number exists."
label_pwd_confirmation: "Password"
notice_pwd_confirmation: "You need to confirm your password upon making changes to these settings."
label_device_type: "Device type"
label_default_device: "Default 2FA device"
label_device: "2FA device"
label_devices: "2FA devices"
label_one_time_password: 'One-time password'
label_2fa_enabled: 'Two-factor authentication is active'
label_2fa_disabled: 'Two-factor authentication not active'
text_otp_delivery_message_sms: "Your %{app_title} one-time password is %{token}"
text_otp_delivery_message_voice: "Your %{app_title} one-time password is: %{pause} %{token}. %{pause} I repeat: %{pause} %{token}"
text_enter_2fa: 'Please enter the one-time password from your device.'
text_2fa_enabled: 'Upon every login, you will be requested to enter a OTP token from your default 2FA device.'
text_2fa_disabled: 'To enable two-factor authentication, use the button above to register a new 2FA device. If you already have a device, you need to make it a default.'
login:
enter_backup_code_title: Enter backup code
enter_backup_code_text: Please enter a valid backup code from your list of codes in case you can no longer access your registered 2FA devices.
other_device: 'Use another device or backup code'
settings:
title: '2FA settings'
current_configuration: 'Current configuration'
label_active_strategies: 'Active 2FA strategies'
label_enforced: 'Enforce 2FA'
label_remember: 'Remember 2FA login'
text_configuration: |
Note: These values represent the current application-wide configuration. You cannot disable settings enforced by the configuration or change the current active strategies, since they require a server restart.
text_configuration_guide: For more information, check the configuration guide.
text_enforced: 'Enable this setting to force all users to register a 2FA device on their next login. Can only be disabled when not enforced by configuration.'
text_remember: |
Set this to greater than zero to allow users to remember their 2FA authentication for the given number of days.
They will not be requested to re-enter it during that period. Can only be set when not enforced by configuration.
error_invalid_settings: 'The 2FA strategies you selected are invalid'
failed_to_save_settings: 'Failed to update 2FA settings: %{message}'
admin:
self_edit_path: 'To add or modify your own 2FA devices, please go to %{self_edit_link}'
self_edit_link_name: 'Two-factor authentication on your account page'
self_edit_forbidden: 'You may not edit your own 2FA devices on this path. Go to My Account > Two factor authentication instead.'
no_devices_for_user: 'No 2FA device has been registered for this user.'
all_devices_deleted: 'All 2FA devices of this user have been deleted'
delete_all_are_you_sure: 'Are you sure you want to delete all 2FA devices for this user?'
button_delete_all_devices: 'Delete registered 2FA devices'
button_register_mobile_phone_for_user: 'Register mobile phone'
text_2fa_enabled: 'Upon every login, this user will be requested to enter a OTP token from his default 2FA device.'
text_2fa_disabled: "The user did not set up a 2FA device through his 'My account page'"
upsale:
title: 'Two-factor authentication'
description: 'Strenghten your internal or external authentication mechanisms with a second factor.'
backup_codes:
none_found: No backup codes exist for this account.
singular: Backup code
plural: Backup codes
your_codes: for your %{app_name} account %{login}
overview_description: |
If you are unable to access your two factor devices, you can use a backup code to regain access to your account.
Use the following button to generate a new set of backup codes.
generate:
title: Generate backup codes
keep_safe_as_password: 'Important! Treat these codes as passwords.'
keep_safe_warning: 'Either save them in your password manager, or print this page and put in a safe place.'
regenerate_warning: 'Warning: If you have created backup codes before, they will be invalidated and will no longer work.'
devices:
add_new: 'Add new 2FA device'
register: 'Register device'
confirm_default: 'Confirm changing default device'
confirm_device: 'Confirm device'
confirm_now: 'Not confirmed, click here to activate'
cannot_delete_default: 'Cannot delete default device'
make_default_are_you_sure: 'Are you sure you want to make this 2FA device your default?'
make_default_failed: 'Failed to update the default 2FA device.'
deletion_are_you_sure: 'Are you sure you want to delete this 2FA device?'
registration_complete: '2FA device registration complete!'
registration_failed_token_invalid: '2FA device registration failed, the token was invalid.'
registration_failed_update: '2FA device registration failed, the token was valid but the device could not be updated.'
confirm_send_failed: 'Confirmation of your 2FA device failed.'
button_complete_registration: 'Complete 2FA registration'
text_confirm_to_complete_html: "Please complete the registration of your device <strong>%{identifier}</strong> by entering a one-time password from your default device."
text_confirm_to_change_default_html: "Please confirm changing your default device to <strong>%{new_identifier}</strong> by entering a one-time password from your current default device."
text_identifier: 'You can give the device a custom identifier using this field.'
failed_to_delete: 'Failed to delete 2FA device.'
is_default_cannot_delete: 'The device is marked as default and cannot be deleted due to an active security policy. Mark another device as default before deleting.'
not_existing: 'No 2FA device has been registered for your account.'
request_2fa: Please enter the code from your %{device_name} to verify your identity.
totp:
title: 'Use your app-based authenticator'
provisioning_uri: 'Provisioning URI'
secret_key: 'Secret key'
time_based: 'Time based'
account: 'Account name / Issuer'
setup: |
For setting up two-factor authentication with Google Authenticator, download the application from the Apple App store or Google Play Store.
After opening the app, you can scan the following QR code to register the device.
question_cannot_scan: |
Unable to scan the code using your application?
text_cannot_scan: |
If you can't scan the code, you can enter the entry manually using the following details:
description: |
Register an application authenticator for use with OpenProject using the time-based one-time password authentication standard.
Common examples are Google Authenticator or Authy.
sms:
title: 'Use your mobile phone'
redacted_identifier: 'Mobile device (%{redacted_number})'
request_2fa_identifier: '%{redacted_identifier}, we sent you an authentication code via %{delivery_channel}'
description: |
Register your mobile phone number for delivery of OpenProject one-time passwords.
sns:
delivery_failed: 'SNS delivery failed:'
message_bird:
sms_delivery_failed: 'MessageBird SMS delivery failed.'
voice_delivery_failed: 'MessageBird voice call failed.'
restdt:
delivery_failed_with_code: 'Token delivery failed. (Error code %{code})'
strategies:
totp: 'Authenticator application'
sns: 'Amazon SNS'
resdt: 'SMS Rest API'
mobile_transmit_notification: "A one-time password has been sent to your cell phone."
label_two_factor_authentication: 'Two-factor authentication'
forced_registration:
required_to_add_device: 'An active security policy requires you to enable two-factor authentication. Please use the following form to register a device.'
remember:
active_session_notice: >
Your account has an active remember cookie valid until %{expires_on}. This cookie allows you to log in without a second factor to your account until that time.
other_active_session_notice: Your account has an active remember cookie on another session.
label: 'Remember'
clear_cookie: 'Click here to remove all remembered 2FA sessions.'
cookie_removed: 'All remembered 2FA sessions have been removed.'
dont_ask_again: "Create cookie to remember 2FA authentication on this client for %{days} days."
field_phone: "Cell phone"
field_otp: "One-time password"
notice_account_otp_invalid: "Invalid one-time password."
notice_account_otp_expired: "The one-time password you entered expired."
notice_developer_strategy_otp: "Developer strategy generated the following one-time password: %{token} (Channel: %{channel})"
notice_account_otp_send_failed: "Your one-time password could not be sent."
notice_account_has_no_phone: "No cell phone number is associated with your account."
label_expiration_hint: "%{date} or on logout"
label_actions: 'Actions'
label_confirmed: 'Confirmed'
button_continue: 'Continue'
button_make_default: 'Mark as default'
label_unverified_phone: "Cell phone not yet verified"
notice_phone_number_format: "Please enter the number in the following format: +XX XXXXXXXX."
text_otp_not_receive: "Other verification methods"
text_send_otp_again: "Resend one-time password by:"
button_resend_otp_form: "Resend"
button_otp_by_voice: "Voice call"
button_otp_by_sms: "SMS"
label_otp_channel: "Delivery channel"

@ -0,0 +1,63 @@
ckb-IR:
activerecord:
attributes:
webhooks/webhook:
url: 'Payload URL'
secret: 'Signature secret'
events: 'Events'
projects: 'Enabled projects'
webhooks/log:
event_name: 'Event name'
url: 'Payload URL'
response_code: 'Response code'
response_body: 'Response'
models:
webhooks/outgoing_webhook: "Outgoing webhook"
webhooks:
singular: Webhook
plural: Webhooks
resources:
time_entry:
name: "Time entry"
outgoing:
no_results_table: No webhooks have been defined yet.
label_add_new: Add new webhook
label_edit: Edit webhook
label_event_resources: Event resources
events:
created: "Created"
updated: "Updated"
explanation:
text: >
Upon the occurrence of an event like the creation of a work package or an update on a project, OpenProject will send a POST request to the configured web endpoints. Oftentimes, the event is sent after the %{link} has passed.
link: configured aggregation period
status:
enabled: 'Webhook is enabled'
disabled: 'Webhook is disabled'
enabled_text: 'The webhook will emit payloads for the defined events below.'
disabled_text: 'Click the edit button to activate the webhook.'
deliveries:
no_results_table: No deliveries have been made for this webhook.
title: 'Recent deliveries'
time: 'Delivery time'
form:
introduction: >
Send a POST request to the payload URL below for any event in the project you're subscribed to. Payload will correspond to the APIv3 representation of the object being modified.
apiv3_doc_url: For more information, visit the API documentation
description:
placeholder: 'Optional description for the webhook.'
enabled:
description: >
When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook.
events:
title: 'Enabled events'
project_ids:
title: 'Enabled projects'
description: 'Select for which projects this webhook should be executed for.'
all: 'All projects'
selected: 'Selected projects only'
selected_project_ids:
title: 'Selected projects'
secret:
description: >
If set, this secret value is used by OpenProject to sign the webhook payload.

@ -0,0 +1,13 @@
ckb-IR:
export_to_excel: "Export XLS"
print_with_description: "Print preview with description"
sentence_separator_or: "or"
different_formats: Different formats
export:
format:
xls: "XLS"
xls_with_descriptions: "XLS with descriptions"
xls_with_relations: "XLS with relations"
xls_export:
child_of: child of
parent_of: parent of
Loading…
Cancel
Save