Merge remote-tracking branch 'origin/dev' into angular-cli

pull/6365/head
Oliver Günther 7 years ago
commit c8e6328404
No known key found for this signature in database
GPG Key ID: 88872239EB414F99
  1. 9
      app/assets/javascripts/specific/main_menu.js.erb
  2. 2
      app/assets/javascripts/vendor/ckeditor/ckeditor.js
  3. 6
      app/views/wiki/edit.html.erb
  4. 8
      app/views/wiki/new.html.erb
  5. 10
      config/initializers/menus.rb
  6. 8
      config/locales/crowdin/af.yml
  7. 8
      config/locales/crowdin/ar.yml
  8. 8
      config/locales/crowdin/bg.yml
  9. 8
      config/locales/crowdin/ca.yml
  10. 8
      config/locales/crowdin/cs.yml
  11. 8
      config/locales/crowdin/da.yml
  12. 14
      config/locales/crowdin/de.yml
  13. 8
      config/locales/crowdin/es.yml
  14. 8
      config/locales/crowdin/et.yml
  15. 8
      config/locales/crowdin/fa.yml
  16. 8
      config/locales/crowdin/fi.yml
  17. 8
      config/locales/crowdin/fil.yml
  18. 12
      config/locales/crowdin/fr.yml
  19. 8
      config/locales/crowdin/he.yml
  20. 8
      config/locales/crowdin/hr.yml
  21. 8
      config/locales/crowdin/hu.yml
  22. 8
      config/locales/crowdin/id.yml
  23. 8
      config/locales/crowdin/it.yml
  24. 8
      config/locales/crowdin/ja.yml
  25. 41
      config/locales/crowdin/js-ru.yml
  26. 8
      config/locales/crowdin/ko.yml
  27. 8
      config/locales/crowdin/lol.yml
  28. 8
      config/locales/crowdin/lt.yml
  29. 8
      config/locales/crowdin/lv.yml
  30. 18
      config/locales/crowdin/nl.yml
  31. 8
      config/locales/crowdin/no.yml
  32. 8
      config/locales/crowdin/pl.yml
  33. 10
      config/locales/crowdin/pt-BR.yml
  34. 8
      config/locales/crowdin/pt.yml
  35. 8
      config/locales/crowdin/ro.yml
  36. 95
      config/locales/crowdin/ru.yml
  37. 8
      config/locales/crowdin/sk.yml
  38. 8
      config/locales/crowdin/sv-SE.yml
  39. 8
      config/locales/crowdin/th.yml
  40. 8
      config/locales/crowdin/tr.yml
  41. 8
      config/locales/crowdin/uk.yml
  42. 8
      config/locales/crowdin/vi.yml
  43. 8
      config/locales/crowdin/zh-TW.yml
  44. 8
      config/locales/crowdin/zh.yml
  45. 4
      config/locales/en.yml
  46. 39
      frontend/src/app/layout/controllers/main-menu-controller.js
  47. 5
      lib/open_project/text_formatting/formatters/markdown/helper.rb
  48. 21
      spec/features/work_packages/custom_actions_spec.rb
  49. 146
      spec/features/wysiwyg/tables_spec.rb
  50. 40
      spec/support/components/wysiwyg/wysiwyg_editor.rb

@ -47,7 +47,7 @@ jQuery(document).ready(function($) {
};
var toggler = $('<a class="toggler" href="#"><i class="icon6 icon-toggler icon-arrow-right3" aria-hidden="true"></i><span class="hidden-for-sighted"></span></a>')
.click(function(event) {
.click(function() {
var target = $(this);
if (target.hasClass('toggler')) {
@ -94,10 +94,13 @@ jQuery(document).ready(function($) {
var header = $('<div class="main-menu--children-menu-header"></div>');
var upLink = $('<a class="main-menu--arrow-left-to-project" href="#"><i class="icon-arrow-left1" aria-hidden="true"></i></a>');
upLink.attr('title', I18n.t('js.label_up'));
upLink.click(function(target){
$(target).parent('li').first().removeClass('open');
upLink.click(function() {
var target = $(this);
$(target).parents('li').first().removeClass('open');
$(".menu_root").removeClass('closed').addClass('open');
target.parents('li').first().find('.toggler').first().focus();
// TODO: Instead of hiding the sidebar move sidebar's contents to submenus and cache it.
$('#sidebar').toggleClass('-hidden', false);
});

File diff suppressed because one or more lines are too long

@ -33,7 +33,11 @@ See docs/COPYRIGHT.rdoc for more details.
<%= error_messages_for 'content' %>
<div class="attributes-group">
<%= f.text_area :text, cols: 100, rows: 25, class: 'wiki-edit op-auto-complete', accesskey: accesskey(:edit) %>
<%= f.text_area :text,
cols: 100,
rows: 25,
class: 'wiki-edit op-auto-complete',
accesskey: accesskey(:edit) %>
<%= wikitoolbar_for 'content_text' %>
</div>

@ -61,7 +61,12 @@ See docs/COPYRIGHT.rdoc for more details.
<h3 class="attributes-group--header-text"><%= WikiPage.human_attribute_name(:text) %></h3>
</div>
</div>
<%= f.text_area :text, :cols => 100, :rows => 25, :class => 'wiki-edit op-auto-complete', :accesskey => accesskey(:edit) %>
<%= f.text_area :text,
cols: 100,
rows: 25,
class: 'wiki-edit op-auto-complete',
accesskey: accesskey(:edit) %>
<%= wikitoolbar_for 'content_text' %>
</div>
<div class="form--field">
@ -74,7 +79,6 @@ See docs/COPYRIGHT.rdoc for more details.
<%= f.button t(:button_save), class: 'button -highlight -with-icon icon-checkmark' %>
<%= preview_link preview_project_wiki_index_path(@project), 'wiki_form-preview' %>
<%= wikitoolbar_for 'content_text' %>
<% end %>
<div id="preview"></div>

@ -30,7 +30,6 @@
require 'redmine/menu_manager'
Redmine::MenuManager.map :top_menu do |menu|
# projects menu will be added by
# Redmine::MenuManager::TopMenuHelper#render_projects_top_menu_node
@ -70,15 +69,12 @@ end
Redmine::MenuManager.map :account_menu do |menu|
menu.push :my_page,
{ controller: '/my', action: 'page' },
html: { class: 'hidden-for-mobile' },
if: Proc.new { User.current.logged? }
menu.push :my_account,
{ controller: '/my', action: 'account' },
html: { class: 'hidden-for-mobile' },
if: Proc.new { User.current.logged? }
menu.push :administration,
{ controller: '/users', action: 'index' },
html: { class: 'hidden-for-mobile' },
if: Proc.new { User.current.admin? }
menu.push :logout, :signout_path,
if: Proc.new { User.current.logged? }
@ -262,12 +258,6 @@ Redmine::MenuManager.map :project_menu do |menu|
caption: :label_workflow_summary,
parent: :work_packages
menu.push :timelines,
{ controller: '/timelines', action: 'index' },
param: :project_id,
caption: :'timelines.project_menu.timelines',
icon: 'icon2 icon-view-timeline'
menu.push :calendar,
{ controller: '/work_packages/calendars', action: 'index' },
param: :project_id,

@ -2346,10 +2346,6 @@ af:
colors: Colors
project_type: Projek soort
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Delete all
@ -2526,6 +2522,10 @@ af:
months: Months
quarters: Quarters
years: Years
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'Die verstektydsone vir nuwe gebruikers. Kan in ’n

@ -2403,10 +2403,6 @@ ar:
colors: الألوان
project_type: نوع المشروع
project_types: أنواع المشاريع
project_menu:
reportings: تقارير الحالة
reports: تقارير الجدول الزمني
timelines: الخطوط الزمنية
associations: الاعتماديات
board_could_not_be_saved: لا يمكن حفظ عنصر
button_delete_all: حذف الكل
@ -2580,6 +2576,10 @@ ar:
months: أشهر
quarters: أرباع
years: السنوات
project_menu:
reportings: تقارير الحالة
reports: تقارير الجدول الزمني
timelines: الخطوط الزمنية
title_remove_and_delete_user: قم بإزالة المستخدم المدعوين من المشروع وحذفه/حذفها.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.

@ -2342,10 +2342,6 @@ bg:
colors: Цветове
project_type: Тип проект
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Изтриване на всичко
@ -2522,6 +2518,10 @@ bg:
months: Месеци
quarters: Tримесечие
years: Години
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2397,10 +2397,6 @@ ca:
colors: Colors
project_type: Tipus de projecte
project_types: Tipus de projecte
project_menu:
reportings: Informes d'estat
reports: Cronologia d'informes
timelines: Terminis
associations: Dependències
board_could_not_be_saved: No es pot desar el tauler
button_delete_all: Esborrar tot
@ -2581,6 +2577,10 @@ ca:
months: Mesos
quarters: Quatrimestres
years: Anys
project_menu:
reportings: Informes d'estat
reports: Cronologia d'informes
timelines: Terminis
title_remove_and_delete_user: Eliminar l'usuari convidat del projecte i suprimir
l'usuari.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2381,10 +2381,6 @@ cs:
colors: Barvy
project_type: Typ projektu
project_types: Typy projektů
project_menu:
reportings: Přehledy stavu
reports: Přehledy časové osy
timelines: Časové osy
associations: Závislosti
board_could_not_be_saved: Board could not be saved
button_delete_all: Odstranit vše
@ -2563,6 +2559,10 @@ cs:
months: Měsíce
quarters: Čtvrtletí
years: Roky
project_menu:
reportings: Přehledy stavu
reports: Přehledy časové osy
timelines: Časové osy
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'Výchozí časové pásmo pro nové uživatele. Lze změnit

@ -2336,10 +2336,6 @@ da:
colors: Farver
project_type: Projekttype
project_types: Projekttyper
project_menu:
reportings: Statusrapporteringer
reports: Tidslinjerapporter
timelines: Tidslinjer
associations: Aflæggere
board_could_not_be_saved: Tavle kan ikke gemmes
button_delete_all: Slet alt
@ -2515,6 +2511,10 @@ da:
months: Måneder
quarters: Kvartaler
years: År
project_menu:
reportings: Statusrapporteringer
reports: Tidslinjerapporter
timelines: Tidslinjer
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -756,7 +756,7 @@ de:
text_update_consent_time: Aktivieren Sie dieses Häkchen, um Benutzer erneut zur
Einwilligung einer Datenschutz- oder Nutzungserklärung aufzufordern. Aktivieren
Sie es immer dann, wenn Sie rechtliche Aspekte der Zustimmung verändert haben.
update_consent_last_time: 'Last update of consent: %{update_time}'
update_consent_last_time: 'Letzte Änderung der Einwilligungsinformationen: %{update_time}'
copy_project:
started: Das Kopieren des Projekts "%{source_project_name}" nach "%{target_project_name}"
wurde gestartet. Sie werden per Mail benachrichtigt, sobald "%{target_project_name}"
@ -989,8 +989,8 @@ de:
Cookies aktiviert sind, da diese Applikation ohne aktivierte Cookies nicht korrekt
funktioniert.
error_custom_option_not_found: Option ist nicht vorhanden.
error_dependent_work_package: 'Error in dependent work package #%{related_id} %{related_subject}:
%{error}'
error_dependent_work_package: 'Fehler in abhängigem Arbeitspaket #%{related_id}
%{related_subject}: %{error}'
error_failed_to_delete_entry: Fehler beim Löschen dieses Eintrags.
error_invalid_group_by: 'Kann nicht gruppieren nach: %{value}'
error_invalid_query_column: 'Ungültige Filter-Spalte: %{value}'
@ -2408,10 +2408,6 @@ de:
colors: Farben
project_type: Projekttyp
project_types: Projekt-Typen
project_menu:
reportings: Statusberichte
reports: Zeitplan-Reporte
timelines: Zeitpläne
associations: Abhängigkeiten
board_could_not_be_saved: Forum konnte nicht gespeichert werden
button_delete_all: Alle löschen
@ -2591,6 +2587,10 @@ de:
months: Monate
quarters: Quartale
years: Jahre
project_menu:
reportings: Statusberichte
reports: Zeitplan-Reporte
timelines: Zeitpläne
title_remove_and_delete_user: Den eingeladenen Benutzer aus dem Projekt entfernen
und löschen.
tooltip_user_default_timezone: 'Die Standardzeitzone für neue Benutzer. Kann in

@ -2422,10 +2422,6 @@ es:
colors: Colores
project_type: Tipo de proyecto
project_types: Tipos de proyecto
project_menu:
reportings: Informes de estado
reports: Informes de cronograma
timelines: Líneas de tiempo
associations: Dependencias
board_could_not_be_saved: La tarjeta no a sido grabada
button_delete_all: Borrar todo
@ -2598,6 +2594,10 @@ es:
months: Meses
quarters: Cuatrimestres
years: Años
project_menu:
reportings: Informes de estado
reports: Informes de cronograma
timelines: Líneas de tiempo
title_remove_and_delete_user: Eliminar al usurio invitado del proyecto y eliminarlo.
tooltip_user_default_timezone: 'La zona horaria por defecto para los nuevos usuarios.
Puede ser modificada en la configuración del usuario.

@ -2332,10 +2332,6 @@ et:
colors: Värvid
project_type: Projekti tüüp
project_types: Projekti tüübid
project_menu:
reportings: Olekute aruandlused
reports: Ajakavade aruandlused
timelines: Ajakavad
associations: Projekti sõltuvused
board_could_not_be_saved: "(?) ei saa salvestada"
button_delete_all: Kustuta kõik
@ -2506,6 +2502,10 @@ et:
months: Kuud
quarters: Kvartalid
years: Aastad
project_menu:
reportings: Olekute aruandlused
reports: Ajakavade aruandlused
timelines: Ajakavad
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2333,10 +2333,6 @@ fa:
colors: Colors
project_type: نوع پروژه
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Delete all
@ -2513,6 +2509,10 @@ fa:
months: Months
quarters: Quarters
years: Years
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2329,10 +2329,6 @@ fi:
colors: Colors
project_type: Projektityyppi
project_types: Projektityypit
project_menu:
reportings: Tilanneraportit
reports: Aikajanaraportit
timelines: Aikataulut
associations: Riippuvuudet
board_could_not_be_saved: Taulua ei voitu tallentaa
button_delete_all: Poista kaikki
@ -2507,6 +2503,10 @@ fi:
months: Months
quarters: Quarters
years: Years
project_menu:
reportings: Tilanneraportit
reports: Aikajanaraportit
timelines: Aikataulut
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2436,10 +2436,6 @@ fil:
colors: Mga kulay
project_type: Uri ng proyekto
project_types: Ang mga uri ng proyekto
project_menu:
reportings: Ang mga estado ng ulat
reports: Ang mga ulat ng timeline
timelines: Ang mga timeline
associations: Dependencia
board_could_not_be_saved: Ang board ay hindi ma i-save
button_delete_all: Burahin ang lahat
@ -2622,6 +2618,10 @@ fil:
months: Mga buwan
quarters: Mga quarter
years: Mga taon
project_menu:
reportings: Ang mga estado ng ulat
reports: Ang mga ulat ng timeline
timelines: Ang mga timeline
title_remove_and_delete_user: Alisin ang inimbitahan na user mula proyekto at tanggalin
siya.
tooltip_user_default_timezone: 'Ang default time zone para sa mga bagong gumagamit.

@ -1710,7 +1710,7 @@ fr:
à échéance dans les %{days} prochains 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: Réquete pour l'activation du compte %{value}
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
@ -2009,7 +2009,7 @@ fr:
écrire dans ce dossier.'
unauthorized: Vous n'êtes pas autorisé à accéder au dépôt ou les informations
d'identification ne sont pas valides.
unavailable: Le dépôt n'est èas disponible.
unavailable: Le dépôt n'est pas disponible.
exception_title: 'Ne peut pas accéder au dépôt: %{message}'
disabled_or_unknown_type: Le type %{type} sélectionné est désactivé ou n'est
plus disponible pour le fournisseur de gestion de contrôle de sources %{vendor}.
@ -2403,10 +2403,6 @@ fr:
colors: Couleurs
project_type: Type de projet
project_types: Types de projet
project_menu:
reportings: Rapports d'état
reports: Lignes du temps
timelines: Chronologie
associations: Dépendances
board_could_not_be_saved: Le tableau n'a pas pu être enregistré
button_delete_all: Tout supprimer
@ -2587,6 +2583,10 @@ fr:
months: Mois
quarters: Trimestres
years: Années
project_menu:
reportings: Rapports d'état
reports: Lignes du temps
timelines: Chronologie
title_remove_and_delete_user: Retirer du projet l'utilisateur invité et le supprimer.
tooltip_user_default_timezone: 'Fuseau horaire par défaut des nouveaux utilisateurs.
Il peut-être modifié dans les paramètres utilisateur.

@ -2365,10 +2365,6 @@ he:
colors: צבעים
project_type: סוג פרוייקט
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: צירי זמן
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Delete all
@ -2547,6 +2543,10 @@ he:
months: Months
quarters: Quarters
years: Years
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: צירי זמן
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2376,10 +2376,6 @@ hr:
colors: Boje
project_type: Tip projekta
project_types: Tipovi projekta
project_menu:
reportings: Izvješća statusa
reports: Izvješća vremenskog tijeka
timelines: Kronologija
associations: Ovisnosti
board_could_not_be_saved: Forum nije moguće spremiti
button_delete_all: Obriši sve
@ -2556,6 +2552,10 @@ hr:
months: Mjeseci
quarters: Kvartali
years: Godine
project_menu:
reportings: Izvješća statusa
reports: Izvješća vremenskog tijeka
timelines: Kronologija
title_remove_and_delete_user: Uklonite pozvanog korinsika iz projekta i izbrište
njega/nju.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2351,10 +2351,6 @@ hu:
colors: Színek
project_type: Projekt típus
project_types: Projekt típusok
project_menu:
reportings: Állapot jelentés
reports: Jelentések az idővonalakról
timelines: Idővonalak
associations: Szükséges összetevők
board_could_not_be_saved: A tábla nem menthető
button_delete_all: Összes törlése
@ -2532,6 +2528,10 @@ hu:
months: Hónap
quarters: Negyedek
years: Évek
project_menu:
reportings: Állapot jelentés
reports: Jelentések az idővonalakról
timelines: Idővonalak
title_remove_and_delete_user: Távolítsa el a meghívott felhasználót a projektből,
és törölje őt.
tooltip_user_default_timezone: 'Az új felhasználók alapértelmezett időzónája. A

@ -2332,10 +2332,6 @@ id:
colors: Warna
project_type: Tipe Project
project_types: Tipe Project
project_menu:
reportings: Status reporting
reports: Laporan Timeline
timelines: Timeline
associations: Dependensi
board_could_not_be_saved: Board tidak dapat disimpan
button_delete_all: Hapus semua
@ -2511,6 +2507,10 @@ id:
months: Bulan
quarters: Kuartal
years: Tahun
project_menu:
reportings: Status reporting
reports: Laporan Timeline
timelines: Timeline
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2419,10 +2419,6 @@ it:
colors: Colori
project_type: Tipo di progetto
project_types: Tipi di progetto
project_menu:
reportings: Prospetti sullo stato
reports: Rapporti tempistiche
timelines: Tempistiche
associations: Dipendenze
board_could_not_be_saved: Il quadro non può essere salvato
button_delete_all: Cancella tutti
@ -2607,6 +2603,10 @@ it:
months: Mesi
quarters: Trimestri
years: Anni
project_menu:
reportings: Prospetti sullo stato
reports: Rapporti tempistiche
timelines: Tempistiche
title_remove_and_delete_user: Rimuovi l'utente invitato dal progetto ed eliminalo/a.
tooltip_user_default_timezone: 'L''orario predefinito per i nuovi utenti. Può essere
cambiato in un impostazione utenti.

@ -2154,10 +2154,6 @@ ja:
colors:
project_type: プロジェクトの種類
project_types: プロジェクトの種類
project_menu:
reportings: 進捗レポート
reports: タイムラインレポート
timelines: タイムライン
associations: 依存関係
board_could_not_be_saved: ボードを保存できませんでした。
button_delete_all: 全ての削除
@ -2319,6 +2315,10 @@ ja:
months:
quarters: 四半期ごと
years: " 年"
project_menu:
reportings: 進捗レポート
reports: タイムラインレポート
timelines: タイムライン
title_remove_and_delete_user: プロジェクトから招待済のユーザを削除し、彼/彼女を削除します。
tooltip_user_default_timezone: '新しいユーザーのデフォルトのタイム ゾーン。ユーザーの設定で変更できます。

@ -55,7 +55,7 @@ ru:
description_subwork_package: 'Потомок пакета работ #%{id}'
error:
internal: Произошла внутренняя ошибка.
query_saving: The query could not be saved.
query_saving: Запрос не может быть сохранен.
filter:
description:
text_open_filter: Откройте этот фильтр с «ALT» и клавишей со стрелкой.
@ -149,7 +149,7 @@ ru:
label_not_equals: не
label_on: на
label_open_menu: Открыть меню
label_open_context_menu: Open context menu
label_open_context_menu: Открыть контекстное меню
label_open_work_packages: открыто
label_password: Пароль
label_previous: Предыдущие
@ -173,7 +173,7 @@ ru:
label_subject: Тема
label_this_week: на этой неделе
label_today: Сегодня
label_up: Up
label_up: Вверх
label_activity_show_only_comments: Показать только деятельности с комментариями
label_activity_show_all: Показать все активности
label_total_progress: "%{percent}% общего прогресса"
@ -332,7 +332,7 @@ ru:
timelines:
gantt_chart: Диаграмма Гантта
labels:
title: Label configuration
title: Настройка меток
bar: Полоса меток
left: Влево
right: Вправо
@ -478,7 +478,7 @@ ru:
header_with_parent: Новый %{type} (дочерний элемент %{parent_type} № %{id})
button: Создать
copy:
title: Copy work package
title: Копировать пакет работ
hierarchy:
show: Скрыть режим иерархии
hide: Скрыть режим иерархии
@ -550,7 +550,7 @@ ru:
not_found: Нет такого запроса
text_no_results: Подходящие запросы не найдены.
table:
configure_button: Configure work package table
configure_button: Настроить таблицу пакетов работ
summary: Таблица с названиями пакетов работ в строках и атрибутами пакетов
работ в столбцах.
text_inline_edit: Большинство клеток этой таблицы – кнопки для активирования
@ -560,22 +560,21 @@ ru:
text_select_hint: Чек-боксы могут быть открыты с использованием «ALT» и клавиш
со стрелками.
table_configuration:
button: Configure this work package table
modal_title: Work package table configuration
embedded_tab_disabled: This configuration tab is not available for the embedded
query you're editing.
display_settings: Display settings
grouped_mode: Grouped mode
grouped_hint: Table results will be grouped by the given attribute.
default_mode: Default mode
button: Настроить эту таблицу пакетов работ
modal_title: Настройка таблицы пакетов работ
embedded_tab_disabled: Эта вкладка конфигурации не доступна для редактируемого
вами встроенного запроса.
display_settings: Настройки экрана
grouped_mode: Режим группировки
grouped_hint: Результаты таблицы будет сгруппированы по заданным атрибутом.
default_mode: Режим по умолчанию
hierarchy_mode: Режим иерархии
hierarchy_hint: All filtered table results will be augmented with their ancestors.
Hierarchies can be expanded and collapsed.
display_sums_hint: Display sums of all summable attributes in a row below
the table results.
show_timeline_hint: Show an interactive gantt chart on the right side of the
table. You can change its width by dragging the divider between table and
gantt chart.
hierarchy_hint: Все отфильтрованные результаты таблицы будут дополнены их
предками. Иерархии можно разворачивать и сворачивать.
display_sums_hint: Отображать сумму всех суммируемых атрибутов в строке под
таблицей результатов.
show_timeline_hint: Показать интерактивную диаграмму Гантта справа от таблицы.
Ширина диаграммы изменяется с помощью разделяющей ее и таблицу линии.
tabs:
overview: Обзор
activity: Деятельность

@ -2232,10 +2232,6 @@ ko:
colors: 색상
project_type: 프로젝트 형식
project_types: 프로젝트 유형
project_menu:
reportings: 상태 보고
reports: 타임라인 보고서
timelines: 타임라인
associations: 종속성
board_could_not_be_saved: 보드를 저장할 수 없습니다.
button_delete_all: 모두 삭제
@ -2400,6 +2396,10 @@ ko:
months: 개월
quarters: 분기
years:
project_menu:
reportings: 상태 보고
reports: 타임라인 보고서
timelines: 타임라인
title_remove_and_delete_user: 초대받은 사용자를 프로젝트에서 제거하고 해당 사용자를 삭제하세요.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.

@ -2109,10 +2109,6 @@ lol:
colors: crwdns98103:0crwdne98103:0
project_type: crwdns98104:0crwdne98104:0
project_types: crwdns98105:0crwdne98105:0
project_menu:
reportings: crwdns98106:0crwdne98106:0
reports: crwdns98107:0crwdne98107:0
timelines: crwdns98108:0crwdne98108:0
associations: crwdns98109:0crwdne98109:0
board_could_not_be_saved: crwdns98110:0crwdne98110:0
button_delete_all: crwdns98111:0crwdne98111:0
@ -2273,6 +2269,10 @@ lol:
months: crwdns98245:0crwdne98245:0
quarters: crwdns98246:0crwdne98246:0
years: crwdns98247:0crwdne98247:0
project_menu:
reportings: crwdns98106:0crwdne98106:0
reports: crwdns98107:0crwdne98107:0
timelines: crwdns98108:0crwdne98108:0
title_remove_and_delete_user: crwdns98248:0crwdne98248:0
tooltip_user_default_timezone: 'crwdns98867:0crwdne98867:0

@ -2408,10 +2408,6 @@ lt:
colors: Spalvos
project_type: Projekto tipas
project_types: Projekto tipai
project_menu:
reportings: Būsenos ataskaitos
reports: Laiko juostos ataskaitos
timelines: Laiko juostos
associations: Priklausomybės
board_could_not_be_saved: Skelbimų lenta negalėjo būti išsaugota
button_delete_all: Ištrinti viską
@ -2586,6 +2582,10 @@ lt:
months: Mėnesiai(-ių)
quarters: Ketvirčiai
years: Metai(-ų)
project_menu:
reportings: Būsenos ataskaitos
reports: Laiko juostos ataskaitos
timelines: Laiko juostos
title_remove_and_delete_user: Pašalinti pakviestą vartotoją iš projekto ir ištrinti
jį/ją.
tooltip_user_default_timezone: 'Numatytoji laiko juosta naujiems vartotojams. Gali

@ -2348,10 +2348,6 @@ lv:
colors: Colors
project_type: Projekta tips
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Ganta skats
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Delete all
@ -2529,6 +2525,10 @@ lv:
months: Months
quarters: Quarters
years: Years
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Ganta skats
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -687,7 +687,7 @@ nl:
button_create: Maken
button_create_and_continue: Aanmaken en doorgaan
button_delete: Verwijderen
button_decline: Decline
button_decline: Weigeren
button_delete_watcher: Verwijderen van watcher %{name}
button_download: Downloaden
button_duplicate: Dupliceren
@ -731,9 +731,9 @@ nl:
button_delete_menu_entry: Menu-item verwijderen
consent:
checkbox_label: I have noted and do consent to the above.
failure_message: Consent failed, cannot proceed.
title: User Consent
decline_warning_message: You have declined to consent and have been logged out.
failure_message: Toestemming mislukt, kan niet doorgaan.
title: Gebruikers toestemming
decline_warning_message: U heeft de toestemming geweigerd en bent uitgelogd.
user_has_consented: User has consented to your configured statement at the given
time.
not_yet_consented: User has not consented yet, will be requested upon next login.
@ -1164,7 +1164,7 @@ nl:
label_calendar: Agenda
label_calendar_show: Agenda weergeven
label_category: Categorie
label_consent_settings: User Consent
label_consent_settings: Gebruikers toestemming
label_wiki_menu_item: Wiki menu-item
label_select_main_menu_item: Selecteer nieuwe hoofdmenu-item
label_select_project: Selecteer een project
@ -2381,10 +2381,6 @@ nl:
colors: Kleuren
project_type: Projecttype
project_types: Projecttypes
project_menu:
reportings: Status rapporteringen
reports: Tijdlijn rapporten
timelines: Tijdlijnen
associations: Afhankelijkheden
board_could_not_be_saved: Bord kon niet opgeslagen worden
button_delete_all: Alles verwijderen
@ -2565,6 +2561,10 @@ nl:
months: Maanden
quarters: Kwartalen
years: Jaren
project_menu:
reportings: Status rapporteringen
reports: Tijdlijn rapporten
timelines: Tijdlijnen
title_remove_and_delete_user: De uitgenodigde gebruiker uit het project verwijderen
en verwijder hem/haar.
tooltip_user_default_timezone: 'De standaardtijdzone voor nieuwe gebruikers. Deze

@ -2335,10 +2335,6 @@
colors: Farger
project_type: Prosjekttype
project_types: Prosjekttyper
project_menu:
reportings: Statusrapporteringer
reports: Tidslinjerapporter
timelines: Tidslinjer
associations: Avhengigheter
board_could_not_be_saved: Forum kunne ikke lagres
button_delete_all: Slett alle
@ -2514,6 +2510,10 @@
months: Måneder
quarters: Kvartaler
years: År
project_menu:
reportings: Statusrapporteringer
reports: Tidslinjerapporter
timelines: Tidslinjer
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2397,10 +2397,6 @@ pl:
colors: Kolory
project_type: Typ projektu
project_types: Typy projektów
project_menu:
reportings: Raporty statusów
reports: Sprawozdania terminów
timelines: Terminarz
associations: Zależności
board_could_not_be_saved: Pulpit nie może być zapisany
button_delete_all: Usuń wszystkie
@ -2580,6 +2576,10 @@ pl:
months: Miesiące
quarters: Kwartały
years: Lata
project_menu:
reportings: Raporty statusów
reports: Sprawozdania terminów
timelines: Terminarz
title_remove_and_delete_user: Usuń dotychczasowego użytkownika z projektu i usuń
go.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -675,7 +675,7 @@ pt-BR:
button_create: Criar
button_create_and_continue: Criar e continuar
button_delete: Excluir
button_decline: Decline
button_decline: Rejeitar
button_delete_watcher: Excluir observador %{name}
button_download: Baixar
button_duplicate: Duplicar
@ -2369,10 +2369,6 @@ pt-BR:
colors: Cores
project_type: Tipo de projeto
project_types: Tipo de projeto
project_menu:
reportings: Relatórios de situação
reports: Relatórios de cronograma
timelines: Cronogramas
associations: Dependências
board_could_not_be_saved: Painel não pôde ser salvo
button_delete_all: Apagar tudo
@ -2553,6 +2549,10 @@ pt-BR:
months: Meses
quarters: Trimestres
years: Anos
project_menu:
reportings: Relatórios de situação
reports: Relatórios de cronograma
timelines: Cronogramas
title_remove_and_delete_user: Remover o usuário convidado do projeto e excluí-lo.
tooltip_user_default_timezone: 'Fuso horário padrão para novos usuários. Pode ser
alterado nas configurações do usuário.

@ -2390,10 +2390,6 @@ pt:
colors: Cores
project_type: Tipo do projeto
project_types: Tipos de projeto
project_menu:
reportings: Relatórios de estado
reports: Relatório de linha temporal
timelines: Cronogramas
associations: Dependências
board_could_not_be_saved: Não foi possível guardar o quadro
button_delete_all: Eliminar tudo
@ -2572,6 +2568,10 @@ pt:
months: Meses
quarters: Trimestres
years: Anos
project_menu:
reportings: Relatórios de estado
reports: Relatório de linha temporal
timelines: Cronogramas
title_remove_and_delete_user: Remova o utilizador convidado do projeto e apague-o/a.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.

@ -2393,10 +2393,6 @@ ro:
colors: Culori
project_type: Tip proiect
project_types: Tipuri de proiect
project_menu:
reportings: Raportări de stare
reports: Raportări de interval
timelines: Planificări
associations: Dependenţe
board_could_not_be_saved: Forumul nu a putut fi salvat
button_delete_all: Șterge tot
@ -2575,6 +2571,10 @@ ro:
months: Luni
quarters: Trimestre
years: Ani
project_menu:
reportings: Raportări de stare
reports: Raportări de interval
timelines: Planificări
title_remove_and_delete_user: Eliminaţi utilizatorul invitat din proiect şi ştergeţi-l.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.

@ -168,9 +168,9 @@ ru:
form_configuration: Настройка форм
projects: Проекты
enabled_projects: Доступные проекты
add_group: Add attribute group
add_subelements: Add subelements group
edit_query: Edit embedded query
add_group: Добавить группу атрибутов
add_subelements: Добавить группа вложенных элементов
edit_query: Редактировать вложенный запрос
reset: Восстановить значения по умолчанию
versions:
overview:
@ -369,7 +369,7 @@ ru:
mail_notification: Уведомления по электронной почте
new_password: Новый пароль
password_confirmation: Подтверждение
consented_at: Consented at
consented_at: Согласен с
user_preference:
comments_sorting: Показывать комментарии
hide_mail: Скрывать мой адрес электронной почты
@ -393,7 +393,7 @@ ru:
work_package:
begin_insertion: Начало вставки
begin_deletion: Начало удаления
children: Subelements
children: Вложенные элементы
done_ratio: Прогресс (%)
end_insertion: Завершение вставки
end_deletion: Завершение удаления
@ -520,8 +520,8 @@ ru:
status_id:
status_transition_invalid: недопустимо, так как для текущих ролей пользователя
нет правильного перехода от старого этапа к новому.
status_invalid_in_type: is invalid because the current status does not
exist in this type.
status_invalid_in_type: недопустимо, так как текущего статуса в этом
типе нет.
priority_id:
only_active_priorities_allowed: требуется быть активным.
category:
@ -686,7 +686,7 @@ ru:
button_create: Создать
button_create_and_continue: Создать и продолжить
button_delete: Удалить
button_decline: Decline
button_decline: Отклонить
button_delete_watcher: Удаление наблюдателя %{name}
button_download: Скачать
button_duplicate: Дублировать
@ -729,22 +729,22 @@ ru:
button_configure_menu_entry: Настройка пункта меню
button_delete_menu_entry: Удаление пункта меню
consent:
checkbox_label: I have noted and do consent to the above.
failure_message: Consent failed, cannot proceed.
title: User Consent
decline_warning_message: You have declined to consent and have been logged out.
user_has_consented: User has consented to your configured statement at the given
time.
not_yet_consented: User has not consented yet, will be requested upon next login.
contact_mail_instructions: Define the mail address that users can reach a data
controller to perform data change or removal requests.
contact_your_administrator: Please contact your administrator if you want to have
your account deleted.
contact_this_mail_address: Please contact %{mail_address} if you want to have
your account deleted.
text_update_consent_time: Check this box to force users to consent again. Enable
when you have changed the legal aspect of the consent information above.
update_consent_last_time: 'Last update of consent: %{update_time}'
checkbox_label: Принимаю к сведению и соглашаюсь с вышеизложенным.
failure_message: Согласие не получено, продолжение невозможно.
title: Согласие пользователя
decline_warning_message: Вы отказались согласиться и были занесены в журнал.
user_has_consented: На данный момент пользователь согласен с вашей формулировкой.
not_yet_consented: Согласие от пользователя пока не получено и будет у него запрошено
при следующем его входе в систему.
contact_mail_instructions: Укажите адрес электронной почты для контроля пользователями
выполнения запросов на изменение или удаление данных.
contact_your_administrator: Пожалуйста, обратитесь к администратору, если хотите,
чтобы ваша учетная запись была удалена.
contact_this_mail_address: Пожалуйста, свяжитесь по %{mail_address}, если хотите,
чтобы ваша учетная запись была удалена.
text_update_consent_time: Установите этот флажок для повторного запроса согласия
у пользователей. Включите, если вы изменили юридический аспект согласия с вышеизложенным.
update_consent_last_time: 'Последнее обновление согласования: %{update_time}'
copy_project:
started: Копирование проекта «%{source_project_name}» в «%{target_project_name}»
началось. Вы будете проинформированы по электронной почте, как только «%{target_project_name}»
@ -996,8 +996,8 @@ ru:
error_cookie_missing: Отсутствуют cookie OpenProject. Пожалуйста, убедитесь, что
Cookie разрешены. Без них приложение не будет функционировать должным образом.
error_custom_option_not_found: Параметр не существует.
error_dependent_work_package: 'Error in dependent work package #%{related_id} %{related_subject}:
%{error}'
error_dependent_work_package: 'Ошибка в зависимостях пакетов работ #%{related_id}
%{related_subject}: %{error}'
error_failed_to_delete_entry: Не удалось удалить эту запись.
error_invalid_group_by: 'Невозможно группировать по: %{value}'
error_invalid_query_column: 'Недопустимый столбец в запросе: %{value}'
@ -1143,7 +1143,7 @@ ru:
label_all: все
label_all_time: все время
label_all_words: Все слова
label_all_open_wps: All open
label_all_open_wps: Все открытые
label_always_visible: Всегда отображается
label_announcement: Объявление
label_and_its_subprojects: "%{value} и его подпроекты"
@ -1184,7 +1184,7 @@ ru:
label_calendar: Календарь
label_calendar_show: Показать календарь
label_category: Категория
label_consent_settings: User Consent
label_consent_settings: Согласие пользователя
label_wiki_menu_item: Пункт меню wiki
label_select_main_menu_item: Выберите новый пункт главного меню
label_select_project: Выберите проект
@ -1207,7 +1207,7 @@ ru:
label_close_versions: Закрыть завершённые этапы
label_closed_work_packages: закрыто
label_collapse: Свернуть
label_collapsed_click_to_show: Collapsed. Click to show
label_collapsed_click_to_show: Свернуто. Кликните для показа
label_configuration: Настройки
label_comment_add: Добавить комментарий
label_comment_added: Комментарий добавлен
@ -1274,13 +1274,13 @@ ru:
label_enumerations: Перечисления
label_enterprise: Предприятие
label_enterprise_edition: Корпоративная версия
label_entry_page: Entry page
label_entry_page: Страница входа
label_environment: Переменные среды
label_estimates_and_time: Оценки и время
label_equals: "—"
label_example: Пример
label_export_to: 'Также доступна на:'
label_expanded_click_to_collapse: Expanded. Click to collapse
label_expanded_click_to_collapse: Развернуто. Кликните для сворачивания
label_f_hour: "%{value} часов"
label_f_hour_plural: "%{value} часов"
label_feed_plural: Ленты
@ -1310,7 +1310,7 @@ ru:
label_here: здесь
label_hide: Скрыть
label_history: История
label_hierarchy_leaf: Hierarchy leaf
label_hierarchy_leaf: Уровень иерархии
label_home: Главная
label_in: в
label_in_less_than: менее чем
@ -1324,7 +1324,7 @@ ru:
label_information_plural: Информация
label_integer: Целое число
label_internal: Внутренние
label_introduction_video: Introduction video
label_introduction_video: Вводное видео
label_invite_user: Пригласить пользователя
label_show_hide: Показать/скрыть
label_show_all_registered_users: Показать всех зарегистрированных пользователей
@ -1412,7 +1412,7 @@ ru:
label_open_menu: Открыть меню
label_open_work_packages: открыто
label_open_work_packages_plural: открыто
label_openproject_website: OpenProject website
label_openproject_website: OpenProject веб-сайт
label_optional_description: Описание
label_options: Опции
label_other: Другие
@ -1586,7 +1586,7 @@ ru:
label_version_sharing_none: Не используется другими
label_version_sharing_system: Со всеми проектами
label_version_sharing_tree: С деревом проектов
label_videos: Videos
label_videos: Видео
label_view_all_revisions: Посмотреть все версии
label_view_diff: Посмотреть различия
label_view_revisions: Просмотр версий
@ -2114,19 +2114,20 @@ ru:
количества неудачных попыток входа
setting_brute_force_block_minutes: Время блокирования пользователя за
setting_cache_formatted_text: Кэшировать форматированный текст
setting_use_wysiwyg: WYSIWYG editor
setting_use_wysiwyg_description: Select to enable CKEditor5 WYSIWYG editor for all
users by default. CKEditor has limited functionality for GFM Markdown.
setting_use_wysiwyg: WYSIWYG редактор
setting_use_wysiwyg_description: Выберите включение CKEditor5 WYSIWYG редактора
для всех пользователей по умолчанию. CKEditor обладает ограниченной функциональностью
для GFM Markdown.
setting_column_options: Настройка внешнего вида списка пакетов работ
setting_commit_fix_keywords: Корректирующие ключевые слова
setting_commit_logs_encoding: Зафиксировать кодировку сообщений
setting_commit_logtime_activity_id: Деятельности с учетом времени
setting_commit_logtime_enabled: Включить учет времени
setting_commit_ref_keywords: Ссылки на ключевые слова
setting_consent_time: Consent time
setting_consent_info: Consent information text
setting_consent_required: Consent required
setting_consent_decline_mail: Consent contact mail address
setting_consent_time: Время соглашения
setting_consent_info: Текст соглашения
setting_consent_required: Требуется согласие
setting_consent_decline_mail: Контактный почтовый адрес для согласия
setting_cross_project_work_package_relations: Разрешить перектестные связи пакетов
работ проекта
setting_date_format: Формат даты
@ -2229,7 +2230,7 @@ ru:
text_formatting:
textile: Textile
markdown: Markdown
plain: Plain text
plain: Обычный текст
status_active: Активно
status_archived: в архиве
status_invited: приглашено
@ -2407,10 +2408,6 @@ ru:
colors: Цвета
project_type: Тип проекта
project_types: Типы проекта
project_menu:
reportings: Отчетность
reports: Отчеты по графикам
timelines: Графики
associations: Связи
board_could_not_be_saved: Форум сохранён быть не может
button_delete_all: Удалить всё
@ -2587,6 +2584,10 @@ ru:
months: Месяцы
quarters: Кварталы
years: Годы
project_menu:
reportings: Отчетность
reports: Отчеты по графикам
timelines: Графики
title_remove_and_delete_user: Исключить из проекта приглашенного пользователя и
удалить его.
tooltip_user_default_timezone: 'Часовой пояс по умолчанию для новых пользователей.

@ -2397,10 +2397,6 @@ sk:
colors: Farby
project_type: Typ projektu
project_types: Typy projektov
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
associations: Závislosti
board_could_not_be_saved: Panel sa nepodarilo uložiť
button_delete_all: Odstrániť všetky
@ -2579,6 +2575,10 @@ sk:
months: Mesiace
quarters: Kvartály
years: Roky
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2331,10 +2331,6 @@ sv-SE:
colors: Färger
project_type: Projekttyp
project_types: Typer av projekt
project_menu:
reportings: Statusrapporter
reports: Tidslinjerapporter
timelines: Tidslinjer
associations: Beroenden
board_could_not_be_saved: Anslagstavlan kunde inte sparas
button_delete_all: Ta bort alla
@ -2510,6 +2506,10 @@ sv-SE:
months: Månader
quarters: Kvartal
years: År
project_menu:
reportings: Statusrapporter
reports: Tidslinjerapporter
timelines: Tidslinjer
title_remove_and_delete_user: Ta bort den inbjudna medlemmen från projektet och
radera honom/henne.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2295,10 +2295,6 @@ th:
colors:
project_type: ประเภทของโครงการ
project_types: ประเภทของโครงการ
project_menu:
reportings: รายงานสถานะ
reports: แผนภเวลา
timelines: เสนเวลา
associations: วนทางอ
board_could_not_be_saved: ไมสามารถบนทกคณะกรรมการ
button_delete_all: ลบทงหมด
@ -2461,6 +2457,10 @@ th:
months: เดอน
quarters: ไตรมาส
years:
project_menu:
reportings: รายงานสถานะ
reports: แผนภเวลา
timelines: เสนเวลา
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2340,10 +2340,6 @@ tr:
colors: Renkler
project_type: Proje türü
project_types: Proje türü
project_menu:
reportings: Durum raporları
reports: Zaman çizelgesi raporu
timelines: Zaman çizelgeleri
associations: Bağımlılıklar
board_could_not_be_saved: Kurul kaydedilemedi
button_delete_all: Tümünü sil
@ -2520,6 +2516,10 @@ tr:
months: Ay
quarters: Üç aylık
years: Yıl
project_menu:
reportings: Durum raporları
reports: Zaman çizelgesi raporu
timelines: Zaman çizelgeleri
title_remove_and_delete_user: Davet edilen kullanıcıyı projeden çıkarın ve onu silin.
tooltip_user_default_timezone: 'Yeni kullanıcılar için varsayılan saat dilimi. Bir
kullanıcının ayarlarında değiştirilebilir.

@ -2385,10 +2385,6 @@ uk:
colors: Colors
project_type: Тип проекту
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Delete all
@ -2565,6 +2561,10 @@ uk:
months: Місяців
quarters: Приміщенням
years: Років
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2340,10 +2340,6 @@ vi:
colors: Colors
project_type: Loại dự án
project_types: Project types
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
associations: Dependencies
board_could_not_be_saved: Board could not be saved
button_delete_all: Delete all
@ -2520,6 +2516,10 @@ vi:
months: Months
quarters: Quarters
years: Years
project_menu:
reportings: Status reportings
reports: Timeline reports
timelines: Timelines
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed

@ -2149,10 +2149,6 @@ zh-TW:
colors: 顏色
project_type: 專案類型
project_types: 專案類型
project_menu:
reportings: 狀態報表
reports: 時間軸報表
timelines: 時間軸
associations: 依賴相依
board_could_not_be_saved: 無法儲存看板
button_delete_all: 全部删除
@ -2324,6 +2320,10 @@ zh-TW:
months:
quarters:
years:
project_menu:
reportings: 狀態報表
reports: 時間軸報表
timelines: 時間軸
title_remove_and_delete_user: 從專案移除已被邀請的使用者別且刪除他/她
tooltip_user_default_timezone: '新使用者預設時區,可以在使用者設定中修改。

@ -2130,10 +2130,6 @@ zh:
colors: 颜色
project_type: 项目类型
project_types: 项目类型
project_menu:
reportings: 状态报告
reports: 时间线报表
timelines: 时间线
associations: 依赖项
board_could_not_be_saved: 面板不能被保存
button_delete_all: 删除所有
@ -2295,6 +2291,10 @@ zh:
months:
quarters: 季度
years:
project_menu:
reportings: 状态报告
reports: 时间线报表
timelines: 时间线
title_remove_and_delete_user: 从项目中移除所邀请的用户并删除他/她。
tooltip_user_default_timezone: '新用户的默认时区。可以在用户设置中更改。

@ -2208,10 +2208,6 @@ en:
colors: "Colors"
project_type: "Project type"
project_types: "Project types"
project_menu:
reportings: "Status reportings"
reports: "Timeline reports"
timelines: "Timelines"
associations: "Dependencies"
board_could_not_be_saved: "Board could not be saved"
button_delete_all: "Delete all"

@ -27,11 +27,28 @@
//++
module.exports = function($rootScope, $window) {
var self = this;
this.toggleNavigation = function(event) {
event.preventDefault();
event.stopPropagation();
if (!$rootScope.showNavigation) {
// main menu shall expand.
// Set focus on first visible main menu item.
//
// This needs to be called after AngularJS has rendered the menu, which happens some when after(!) we leave this
// method here. So we need to set the focus after a timeout.
setTimeout(function() {
jQuery('#main-menu [class*="-menu-item"]:visible').first().focus();
}, 100);
// On mobile the main menu shall close whenever you click outside the menu.
if ($window.innerWidth < 680) {
self.setupAutocloseMainMenu();
}
// Regain default width: Expand to default menu width if collapsed slimmer than default width.
var savedMainMenuWidth = parseInt(window.OpenProject.guardedLocalStorage("openProject-mainMenuWidth"));
if (savedMainMenuWidth < 230) {
@ -40,8 +57,30 @@ module.exports = function($rootScope, $window) {
}
}
$rootScope.showNavigation = !$rootScope.showNavigation;
$rootScope.$broadcast('openproject.layout.navigationToggled', $rootScope.showNavigation);
$window.sessionStorage.setItem('openproject:navigation-toggle',
!$rootScope.showNavigation ? 'collapsed' : 'expanded');
};
this.setupAutocloseMainMenu = function() {
jQuery('#main-menu').on('focusout.main_menu', function (event) {
jQuery('#main-menu').off('focusout.main_menu');
// Check that main menu is not closed and that the `focusout` event is not a click on an element that tries to close
// the menu anyways.
if (!$rootScope.showNavigation ||
jQuery.contains(document.getElementById('main-menu-toggle'), event.relatedTarget)) {
return;
}
// There might be a time gap between `focusout` and the focussing of the activeElement, thus we need a timeout.
setTimeout(function() {
if (!jQuery.contains(document.getElementById('main-menu'), document.activeElement)) {
// activeElement is outside of main menu.
self.toggleNavigation(new Event('onclick'));
}
}, 0);
});
}
};

@ -64,6 +64,11 @@ module OpenProject::TextFormatting::Formatters
private
def wysiwyg_for(field_id)
# Hide the original textarea
view_context.content_for(:additional_js_dom_ready) do
"document.getElementById('#{field_id}').style.display = 'none';".html_safe
end
view_context.content_tag 'op-ckeditor-form', '', 'textarea-selector': "##{field_id}"
end

@ -245,17 +245,6 @@ describe 'Custom actions', type: :feature, js: true do
wp_page.expect_notification message: 'Successful update'
wp_page.dismiss_notification!
## Bump the lockVersion and by that force a conflict.
work_package.reload.touch
wp_page.click_custom_action('Escalate')
wp_page.expect_notification type: :error, message: I18n.t('api_v3.errors.code_409')
sleep(4)
# reload the page
page.driver.browser.navigate.refresh
wp_page.click_custom_action('Escalate')
wp_page.expect_attributes priority: immediate_priority.name,
@ -354,10 +343,18 @@ describe 'Custom actions', type: :feature, js: true do
# Move project
wp_page.click_custom_action('Move project')
# TODO: check project
wp_page.expect_attributes assignee: '-',
status: rejected_status.name,
type: other_type.name,
"customField#{date_custom_field.id}" => (Date.today + 5.days).strftime('%m/%d/%Y')
expect(page)
.to have_content(I18n.t('js.project.work_package_belongs_to', projectname: other_project.name))
## Bump the lockVersion and by that force a conflict.
work_package.reload.touch
wp_page.click_custom_action('Escalate')
wp_page.expect_notification type: :error, message: I18n.t('api_v3.errors.code_409')
end
end

@ -0,0 +1,146 @@
#-- copyright
# OpenProject is a project management system.
# Copyright (C) 2012-2018 the OpenProject Foundation (OPF)
#
# 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-2017 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 docs/COPYRIGHT.rdoc for more details.
#++
require 'spec_helper'
describe 'Wysiwyg tables',
with_settings: { text_formatting: 'markdown', use_wysiwyg?: true },
type: :feature, js: true do
let(:user) { FactoryBot.create :admin }
let(:project) { FactoryBot.create(:project, enabled_module_names: %w[wiki]) }
let(:editor) { ::Components::WysiwygEditor.new }
before do
login_as(user)
end
describe 'in wikis' do
describe 'creating a wiki page' do
before do
visit project_wiki_path(project, :wiki)
end
it 'can add tables without headers' do
editor.in_editor do |container, editable|
# strangely, we need visible: :all here
container.find('.ck-button', visible: :all, text: 'Insert table').click
# Edit table
tds = editable.all('table.ck-widget td')
values = %w(h1 h2 c1 c2)
expect(tds.length).to eq(4)
tds.each_with_index do |td, i|
td.click
td.send_keys values[i]
sleep 0.5
end
end
# Save wiki page
click_on 'Save'
expect(page).to have_selector('.flash.notice')
within('#content') do
expect(page).to have_selector('table td', text: 'h1')
expect(page).to have_selector('table td', text: 'h2')
expect(page).to have_selector('table td', text: 'c1')
expect(page).to have_selector('table td', text: 'c2')
end
end
end
describe 'editing a wiki page with tables' do
let(:wiki_page) {
page = FactoryBot.build :wiki_page_with_content,
title: 'Wiki page with titles'
page.content.text = <<~EOS
## This is markdown!
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
</tr>
</thead>
<tbody>
<tr>
<td> c1 </td>
<td> c2 </td>
</tr>
<tr>
<td> c3 </td>
<td> c4 </td>
</tr>
</tbody>
</table>
EOS
page
}
before do
project.wiki.pages << wiki_page
project.wiki.save!
visit project_wiki_path(project, wiki_page.slug)
end
it 'can show the table with header' do
within('#content') do
expect(page).to have_selector('h2', text: 'This is markdown')
expect(page).to have_selector('table thead th', text: 'A')
expect(page).to have_selector('table thead th', text: 'B')
expect(page).to have_selector('table td', text: 'c1')
expect(page).to have_selector('table td', text: 'c2')
expect(page).to have_selector('table td', text: 'c3')
expect(page).to have_selector('table td', text: 'c4')
end
# Edit the table
click_on 'Edit'
# Expect wysiwyg to render table
editor.in_editor do |_, editable|
expect(editable).to have_selector('h2', text: 'This is markdown')
expect(editable).to have_selector('table thead th', text: 'A')
expect(editable).to have_selector('table thead th', text: 'B')
expect(editable).to have_selector('table td', text: 'c1')
expect(editable).to have_selector('table td', text: 'c2')
expect(editable).to have_selector('table td', text: 'c3')
expect(editable).to have_selector('table td', text: 'c4')
end
end
end
end
end

@ -0,0 +1,40 @@
module Components
class WysiwygEditor
include Capybara::DSL
attr_reader :context_selector
def initialize(context = '#content')
@context_selector = context
end
def container
page.find("#{context_selector} .op-ckeditor--wrapper")
end
def editor_element
page.find "#{context_selector} #{input_selector}"
end
def in_editor
yield container, editor_element
end
def input_selector
'div.ck-content'
end
def expect_value(value)
expect(input_element.text).to eq(value)
end
def click_and_type_slowly(text)
sleep 0.5
input_element.click
sleep 0.5
input_element.send_keys text
sleep 0.5
end
end
end
Loading…
Cancel
Save