Merge remote-tracking branch 'origin/dev' into implementation/38707-reminder-emails-scheduling

pull/9611/head
ulferts 3 years ago
commit b405acf252
No known key found for this signature in database
GPG Key ID: A205708DE1284017
  1. 8
      Gemfile
  2. 49
      Gemfile.lock
  3. 2
      app/controllers/concerns/accounts/user_consent.rb
  4. 21
      app/helpers/mail_notification_helper.rb
  5. 5
      app/models/notification.rb
  6. 2
      app/models/queries/filters/base.rb
  7. 2
      app/models/queries/notifications.rb
  8. 33
      app/models/queries/notifications/filters/project_filter.rb
  9. 44
      app/models/queries/notifications/filters/reason_filter.rb
  10. 12
      app/services/notifications/create_from_model_service.rb
  11. 2
      app/services/notifications/create_from_model_service/work_package_strategy.rb
  12. 4
      app/views/account/_user_consent_check.html.erb
  13. 146
      app/views/digest_mailer/work_packages.html.erb
  14. 7
      app/views/digest_mailer/work_packages.text.erb
  15. 28
      app/views/layouts/mailer.html.erb
  16. 69
      app/views/mailer/_notification_mailer_header.html.erb
  17. 143
      app/views/mailer/_notification_row.html.erb
  18. 5
      config/locales/crowdin/ar.yml
  19. 5
      config/locales/crowdin/bg.yml
  20. 5
      config/locales/crowdin/ca.yml
  21. 5
      config/locales/crowdin/cs.yml
  22. 5
      config/locales/crowdin/da.yml
  23. 5
      config/locales/crowdin/de.yml
  24. 5
      config/locales/crowdin/el.yml
  25. 5
      config/locales/crowdin/es.yml
  26. 5
      config/locales/crowdin/fi.yml
  27. 5
      config/locales/crowdin/fil.yml
  28. 5
      config/locales/crowdin/fr.yml
  29. 5
      config/locales/crowdin/hr.yml
  30. 5
      config/locales/crowdin/hu.yml
  31. 5
      config/locales/crowdin/id.yml
  32. 5
      config/locales/crowdin/it.yml
  33. 5
      config/locales/crowdin/ja.yml
  34. 46
      config/locales/crowdin/js-ar.yml
  35. 46
      config/locales/crowdin/js-bg.yml
  36. 46
      config/locales/crowdin/js-ca.yml
  37. 46
      config/locales/crowdin/js-cs.yml
  38. 46
      config/locales/crowdin/js-da.yml
  39. 46
      config/locales/crowdin/js-de.yml
  40. 46
      config/locales/crowdin/js-el.yml
  41. 46
      config/locales/crowdin/js-es.yml
  42. 46
      config/locales/crowdin/js-fi.yml
  43. 46
      config/locales/crowdin/js-fil.yml
  44. 46
      config/locales/crowdin/js-fr.yml
  45. 46
      config/locales/crowdin/js-hr.yml
  46. 46
      config/locales/crowdin/js-hu.yml
  47. 46
      config/locales/crowdin/js-id.yml
  48. 46
      config/locales/crowdin/js-it.yml
  49. 46
      config/locales/crowdin/js-ja.yml
  50. 46
      config/locales/crowdin/js-ko.yml
  51. 56
      config/locales/crowdin/js-lt.yml
  52. 46
      config/locales/crowdin/js-nl.yml
  53. 46
      config/locales/crowdin/js-no.yml
  54. 46
      config/locales/crowdin/js-pl.yml
  55. 46
      config/locales/crowdin/js-pt.yml
  56. 46
      config/locales/crowdin/js-ro.yml
  57. 46
      config/locales/crowdin/js-ru.yml
  58. 46
      config/locales/crowdin/js-sk.yml
  59. 46
      config/locales/crowdin/js-sl.yml
  60. 46
      config/locales/crowdin/js-sv.yml
  61. 46
      config/locales/crowdin/js-tr.yml
  62. 46
      config/locales/crowdin/js-uk.yml
  63. 46
      config/locales/crowdin/js-vi.yml
  64. 46
      config/locales/crowdin/js-zh-CN.yml
  65. 46
      config/locales/crowdin/js-zh-TW.yml
  66. 5
      config/locales/crowdin/ko.yml
  67. 5
      config/locales/crowdin/lt.yml
  68. 5
      config/locales/crowdin/nl.yml
  69. 5
      config/locales/crowdin/no.yml
  70. 5
      config/locales/crowdin/pl.yml
  71. 5
      config/locales/crowdin/pt.yml
  72. 5
      config/locales/crowdin/ro.yml
  73. 5
      config/locales/crowdin/ru.yml
  74. 5
      config/locales/crowdin/sk.yml
  75. 5
      config/locales/crowdin/sl.yml
  76. 5
      config/locales/crowdin/sv.yml
  77. 5
      config/locales/crowdin/tr.yml
  78. 5
      config/locales/crowdin/uk.yml
  79. 5
      config/locales/crowdin/vi.yml
  80. 5
      config/locales/crowdin/zh-CN.yml
  81. 5
      config/locales/crowdin/zh-TW.yml
  82. 11
      config/locales/en.yml
  83. 3
      config/locales/js-en.yml
  84. 11
      docs/api/apiv3/paths/notifications.yml
  85. 4
      docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-faq/README.md
  86. 13
      docs/installation-and-operations/misc/migration-to-postgresql13/README.md
  87. 8
      docs/installation-and-operations/operation/restoring/README.md
  88. 47
      lib/open_project/text_formatting/filters/link_attribute_filter.rb
  89. 1
      lib/open_project/text_formatting/formats/markdown/formatter.rb
  90. 2
      spec/contracts/notifications/create_contract_spec.rb
  91. 4
      spec/factories/notification_factory.rb
  92. 91
      spec/requests/api/v3/notifications/index_resource_spec.rb
  93. 28
      spec/services/notifications/create_from_model_service_work_package_spec.rb
  94. 8
      spec/services/notifications/set_attributes_service_spec.rb

@ -142,7 +142,7 @@ gem 'structured_warnings', '~> 0.4.0'
# catch exceptions and send them to any airbrake compatible backend
# don't require by default, instead load on-demand when actually configured
gem 'airbrake', '~> 11.0.0', require: false
gem 'airbrake', '~> 12.0.0', require: false
gem 'prawn', '~> 2.2'
gem 'prawn-markup', '~> 0.3.0'
@ -169,7 +169,7 @@ gem 'sprockets', '~> 3.7.0'
# also, better than thin since we can control worker concurrency.
gem 'unicorn'
gem 'puma', '~> 5.4.0' # used for development and optionally for production
gem 'puma', '~> 5.5.0' # used for development and optionally for production
gem 'nokogiri', '~> 1.12.0'
@ -181,7 +181,7 @@ gem 'aws-sdk-core', '~> 3.107'
# File upload via fog + screenshots on travis
gem 'aws-sdk-s3', '~> 1.91'
gem 'openproject-token', '~> 2.1.1'
gem 'openproject-token', '~> 2.2.0'
gem 'plaintext', '~> 0.3.2'
@ -289,7 +289,7 @@ group :development, :test do
gem 'danger-brakeman'
end
gem 'bootsnap', '~> 1.8.0', require: false
gem 'bootsnap', '~> 1.9.1', require: false
# API gems
gem 'grape', '~> 1.5.0'

@ -267,9 +267,9 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
aes_key_wrap (1.1.0)
afm (0.2.2)
airbrake (11.0.3)
airbrake-ruby (~> 5.1)
airbrake-ruby (5.2.1)
airbrake (12.0.0)
airbrake-ruby (~> 6.0)
airbrake-ruby (6.0.0)
rbtree3 (~> 0.5)
ast (2.4.2)
attr_required (1.0.1)
@ -278,7 +278,7 @@ GEM
awesome_nested_set (3.4.0)
activerecord (>= 4.0.0, < 7.0)
aws-eventstream (1.2.0)
aws-partitions (1.500.0)
aws-partitions (1.503.0)
aws-sdk-core (3.121.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
@ -287,7 +287,7 @@ GEM
aws-sdk-kms (1.48.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.102.0)
aws-sdk-s3 (1.103.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@ -300,7 +300,7 @@ GEM
bindata (2.4.10)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
bootsnap (1.8.1)
bootsnap (1.9.1)
msgpack (~> 1.0)
brakeman (5.1.1)
browser (5.3.1)
@ -344,7 +344,7 @@ GEM
open4 (~> 1.3)
coderay (1.1.3)
colored2 (3.1.2)
commonmarker (0.23.1)
commonmarker (0.23.2)
compare-xml (0.66)
nokogiri (~> 1.8)
concurrent-ruby (1.1.9)
@ -458,7 +458,7 @@ GEM
railties (>= 5.0.0)
faker (2.19.0)
i18n (>= 1.6, < 2)
faraday (1.7.1)
faraday (1.8.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@ -597,7 +597,7 @@ GEM
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (1.0.1)
marcel (1.0.2)
messagebird-rest (1.4.2)
meta-tags (2.15.0)
actionpack (>= 3.2.0, < 6.2)
@ -629,7 +629,7 @@ GEM
octokit (4.21.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
oj (3.13.6)
oj (3.13.7)
okcomputer (1.18.4)
omniauth-saml (1.10.3)
omniauth (~> 1.3, >= 1.3.2)
@ -645,10 +645,10 @@ GEM
validate_email
validate_url
webfinger (>= 1.0.1)
openproject-token (2.1.3)
openproject-token (2.2.0)
activemodel
parallel (1.21.0)
parallel_tests (3.7.1)
parallel_tests (3.7.3)
parallel
parser (3.0.2.0)
ast (~> 2.4.1)
@ -699,7 +699,7 @@ GEM
eventmachine_httpserver
http_parser.rb (~> 0.6.0)
multi_json
puma (5.4.0)
puma (5.5.0)
nio4r (~> 2.0)
racc (1.5.2)
rack (2.2.3)
@ -790,7 +790,7 @@ GEM
roar (1.1.0)
representable (~> 3.0.0)
rotp (6.2.0)
rouge (3.26.0)
rouge (3.26.1)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
@ -814,7 +814,7 @@ GEM
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.10.2)
rubocop (1.20.0)
rubocop (1.21.0)
parallel (~> 1.10)
parser (>= 3.0.0.0)
rainbow (>= 2.2.2, < 4.0)
@ -829,9 +829,8 @@ GEM
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-rspec (2.4.0)
rubocop (~> 1.0)
rubocop-ast (>= 1.1.0)
rubocop-rspec (2.5.0)
rubocop (~> 1.19)
ruby-duration (3.2.3)
activesupport (>= 3.0.0)
i18n
@ -908,7 +907,7 @@ GEM
ffi (~> 1.1)
table_print (1.5.7)
temple (0.8.2)
terminal-table (3.0.1)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
test-prof (1.0.7)
thor (1.1.0)
@ -924,8 +923,8 @@ GEM
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7)
unicode-display_width (2.0.0)
unf_ext (0.0.8)
unicode-display_width (2.1.0)
unicorn (6.0.0)
kgio (~> 2.6)
raindrops (~> 0.7)
@ -976,13 +975,13 @@ DEPENDENCIES
acts_as_list (~> 1.0.1)
acts_as_tree (~> 2.9.0)
addressable (~> 2.8.0)
airbrake (~> 11.0.0)
airbrake (~> 12.0.0)
auto_strip_attributes (~> 2.5)
awesome_nested_set (~> 3.4.0)
aws-sdk-core (~> 3.107)
aws-sdk-s3 (~> 1.91)
bcrypt (~> 3.1.6)
bootsnap (~> 1.8.0)
bootsnap (~> 1.9.1)
brakeman (~> 5.1.0)
browser (~> 5.3.0)
budgets!
@ -1058,7 +1057,7 @@ DEPENDENCIES
openproject-pdf_export!
openproject-recaptcha!
openproject-reporting!
openproject-token (~> 2.1.1)
openproject-token (~> 2.2.0)
openproject-translations!
openproject-two_factor_authentication!
openproject-webhooks!
@ -1075,7 +1074,7 @@ DEPENDENCIES
pry-rescue (~> 1.5.2)
pry-stack_explorer (~> 0.6.0)
puffing-billy (~> 2.4.0)
puma (~> 5.4.0)
puma (~> 5.5.0)
rack-attack (~> 6.5.0)
rack-cors (~> 1.1.1)
rack-mini-profiler

@ -61,7 +61,7 @@ module Accounts::UserConsent
def decline_consent
message = I18n.t('consent.decline_warning_message') + "\n"
message <<
if Setting.consent_decline_mail
if Setting.consent_decline_mail.present?
I18n.t('consent.contact_this_mail_address', mail_address: Setting.consent_decline_mail)
else
I18n.t('consent.contact_your_administrator')

@ -72,4 +72,25 @@ module MailNotificationHelper
color_id = selected_color(status)
Color.find(color_id).color_styles.map { |k, v| "#{k}:#{v};" }.join(' ') if color_id
end
def placeholder_table_styles(options = {})
default_options = {
style: 'table-layout:fixed;border-collapse:separate;border-spacing:0;font-family:Helvetica;' <<
(options[:style].present? ? options.delete(:style) : ''),
cellspacing: "0",
cellpadding: "0"
}
default_options.merge(options).map { |k, v| "#{k}=#{v}" }.join(' ')
end
def placeholder_cell(number, vertical:)
style = if vertical
"max-width:#{number}; min-width:#{number}; width:#{number}"
else
"line-height:#{number}; max-width:0; min-width:0; height:#{number}; width:0; font-size:#{number}"
end
content_tag('td', '&nbsp;'.html_safe, style: style)
end
end

@ -1,14 +1,15 @@
class Notification < ApplicationRecord
REASONS = {
mentioned: 0,
involved: 1,
assigned: 1,
watched: 2,
subscribed: 3,
commented: 4,
created: 5,
processed: 6,
prioritized: 7,
scheduled: 8
scheduled: 8,
responsible: 9
}.freeze
enum reason_ian: REASONS, _prefix: :ian

@ -196,7 +196,7 @@ class Queries::Filters::Base
end
def validate_presence_of_values
if operator_strategy && operator_strategy.requires_value? && (values.nil? || values.reject(&:blank?).empty?)
if operator_strategy&.requires_value? && (values.nil? || values.reject(&:blank?).empty?)
errors.add(:values, I18n.t('activerecord.errors.messages.blank'))
end
end

@ -31,6 +31,8 @@
module Queries::Notifications
[Queries::Notifications::Filters::ReadIanFilter,
Queries::Notifications::Filters::IdFilter,
Queries::Notifications::Filters::ProjectFilter,
Queries::Notifications::Filters::ReasonFilter,
Queries::Notifications::Filters::ResourceIdFilter,
Queries::Notifications::Filters::ResourceTypeFilter].each do |filter|
Queries::Register.filter Queries::Notifications::NotificationQuery,

@ -0,0 +1,33 @@
#-- encoding: UTF-8
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2021 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.
#++
class Queries::Notifications::Filters::ProjectFilter < Queries::Notifications::Filters::NotificationFilter
include Queries::Filters::Shared::ProjectFilter
end

@ -0,0 +1,44 @@
#-- encoding: UTF-8
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2021 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.
#++
class Queries::Notifications::Filters::ReasonFilter < Queries::Notifications::Filters::NotificationFilter
def allowed_values
Notification.reason_ians.keys.map { |reason| [reason, reason] }
end
def type
:list
end
def where
id_values = values.map { |value| Notification.reason_ians[value] }
operator_strategy.sql_for_field(id_values, self.class.model.table_name, :reason_ian)
end
end

@ -123,12 +123,14 @@ class Notifications::CreateFromModelService
:mentioned)
end
def settings_of_involved
scope = User
.where(id: group_or_user_ids(journal.data.assigned_to))
.or(User.where(id: group_or_user_ids(journal.data.responsible)))
def settings_of_assigned
applicable_settings(User.where(id: group_or_user_ids(journal.data.assigned_to)),
project,
:involved)
end
applicable_settings(scope,
def settings_of_responsible
applicable_settings(User.where(id: group_or_user_ids(journal.data.responsible)),
project,
:involved)
end

@ -30,7 +30,7 @@
module Notifications::CreateFromModelService::WorkPackageStrategy
def self.reasons
%i(mentioned involved watched subscribed commented created processed prioritized scheduled)
%i(mentioned assigned responsible watched subscribed commented created processed prioritized scheduled)
end
def self.permission

@ -1,6 +1,6 @@
<section class="form--section">
<p>
<%= format_text user_consent_instructions(consenting_user) %>
<%= format_text user_consent_instructions(consenting_user), { target: '_blank' } %>
</p>
<label class="form--label-with-check-box -required -no-ellipsis">
@ -8,6 +8,6 @@
<input type="checkbox" name="consent_check" class="form--check-box" required="required" />
</div>
<%= format_text consent_checkbox_label %>
<p><%= consent_checkbox_label %></p>
</label>
</section>

@ -1,64 +1,96 @@
<%= render partial: 'mailer/notification_mailer_header',
locals: {
summary: "#{I18n.t(:'mail.digests.you_have')} #{digest_summary_text(@notification_ids.length, @mentioned_count)}"
} %>
<table <%= placeholder_table_styles %>>
<tr>
<%= placeholder_cell('20px', vertical: false) %>
</tr>
</table>
<% @aggregated_notifications.first(DigestMailer::MAX_SHOWN_WORK_PACKAGES).each do | work_package, notifications_by_work_package| %>
<%= render layout: 'mailer/notification_row',
locals: {
work_package: work_package,
notifications_by_work_package: notifications_by_work_package
} do %>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 12px;">
<% notifications_by_work_package.each do | notification | %>
<% if notification.journal.notes.present? %>
<tr style="color: #878787; line-height: 20px; font-size: 14px;">
<td>
<%= digest_comment_text(notification) %>
<%= digest_notification_timestamp_text(notification) %>
</td>
</tr>
<% end %>
<% notification.journal.details.each do |detail| %>
<tr style="color: #878787; line-height: 20px; font-size: 14px;">
<td>
<%= notification.journal.render_detail(detail, only_path: false) %>
<%= digest_notification_timestamp_text(notification) %>
</td>
</tr>
<table <%= placeholder_table_styles(width:'100%',style: 'width:100%;max-width:700px;margin-left:auto;margin-right:auto') %>>
<tr>
<td>
<%= render partial: 'mailer/notification_mailer_header',
locals: {
summary: "#{I18n.t(:'mail.digests.you_have')} #{digest_summary_text(@notification_ids.length, @mentioned_count)}"
} %>
<% @aggregated_notifications.first(DigestMailer::MAX_SHOWN_WORK_PACKAGES).each do | work_package, notifications_by_work_package| %>
<%= render layout: 'mailer/notification_row',
locals: {
work_package: work_package,
notifications_by_work_package: notifications_by_work_package
} do %>
<table <%= placeholder_table_styles %>>
<% notifications_by_work_package.each do | notification | %>
<% if notification.journal.notes.present? %>
<tr>
<td style="color: #878787; line-height: 24px; font-size: 14px; white-space: normal;">
<%= digest_comment_text(notification) %>
<%= digest_notification_timestamp_text(notification) %>
</td>
</tr>
<% end %>
<% notification.journal.details.each do |detail| %>
<tr>
<td style="color: #878787; line-height: 24px; font-size: 14px; white-space: normal;">
<%= notification.journal.render_detail(detail, only_path: false) %>
<%= digest_notification_timestamp_text(notification) %>
</td>
</tr>
<% end %>
<% end %>
</table>
<% end %>
<% end %>
</table>
<% end %>
<% end %>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin: 30px 0;">
<tr>
<td width="100%">
<% if @aggregated_notifications.length > DigestMailer::MAX_SHOWN_WORK_PACKAGES %>
<span style="font-size: 14px; line-height: 28px">
<% number_of_overflowing_work_packages = @aggregated_notifications.length - DigestMailer::MAX_SHOWN_WORK_PACKAGES %>
<% if number_of_overflowing_work_packages === 1 %>
<%= I18n.t(:'mail.digests.work_packages.more_to_see_singular') %>
<% else %>
<%= I18n.t(:'mail.digests.work_packages.more_to_see_plural', number: number_of_overflowing_work_packages) %>
<% end %>
</span>
<a
target="_blank"
style="background-color: #D1E5F5;
padding: 8px 12px;
color: #1A67A3;
border: 1px solid #1A67A3;
border-radius: 16px;
text-decoration: none;
white-space: nowrap;">
<%= I18n.t(:'mail.digests.work_packages.see_all') %>
</a>
<% end %>
</td>
<td>
<%= render partial: 'mailer/notification_settings_button' %>
<table <%= placeholder_table_styles(style: 'font-size:14px;') %>>
<tr>
<td>
<table <%= placeholder_table_styles(width:'100%',style: 'width:100%;') %>>
<tr>
<td>
<% if @aggregated_notifications.length > DigestMailer::MAX_SHOWN_WORK_PACKAGES %>
<table>
<tr>
<td>
<span style="font-size:14px;">
<% number_of_overflowing_work_packages = @aggregated_notifications.length - DigestMailer::MAX_SHOWN_WORK_PACKAGES %>
<% count = number_of_overflowing_work_packages === 1 ? 'one' : 'other' %>
<%= I18n.t(:"mail.digests.work_packages.more_to_see.#{count}", count: number_of_overflowing_work_packages) %>
</span>
</td>
<%= placeholder_cell('10px', vertical: true) %>
<td>
<a href="<%= notifications_center_url %>"
target="_blank"
style="background-color: #D1E5F5;
padding: 8px 12px;
color: #1A67A3;
border: 1px solid #1A67A3;
border-radius: 16px;
text-decoration: none;
font-size:14px;
white-space: nowrap;">
<%= I18n.t(:'mail.digests.work_packages.see_all') %>
</a>
</td>
</tr>
</table>
<% end %>
</td>
</tr>
</table>
</td>
<%= placeholder_cell('10px', vertical: true) %>
<td>
<%= render partial: 'mailer/notification_settings_button' %>
</td>
</tr>
</table>
<table>
<tr>
<%= placeholder_cell('20px', vertical: false) %>
</tr>
</table>
</td>
</tr>
</table>

@ -35,9 +35,6 @@
<% if @aggregated_notifications.length > DigestMailer::MAX_SHOWN_WORK_PACKAGES %>
<% number_of_overflowing_work_packages = @aggregated_notifications.length - DigestMailer::MAX_SHOWN_WORK_PACKAGES %>
<% if number_of_overflowing_work_packages === 1 %>
<%= I18n.t(:'mail.digests.work_packages.more_to_see_singular') %> <%= I18n.t(:'mail.digests.work_packages.login_to_see_all') %>
<% else %>
<%= I18n.t(:'mail.digests.work_packages.more_to_see_plural', number: number_of_overflowing_work_packages) %> <%= I18n.t(:'mail.digests.work_packages.login_to_see_all') %>
<% end %>
<% count = number_of_overflowing_work_packages === 1 ? 'one' : 'other' %>
<%= I18n.t(:"mail.digests.work_packages.more_to_see.#{count}", count: number_of_overflowing_work_packages) %>
<% end %>

@ -71,19 +71,39 @@ See COPYRIGHT and LICENSE files for more details.
.footer {
font-size: 0.8em;
font-style: italic;
max-width: 700px;
margin-left: auto;
margin-right: auto;
border-top-width: 1px;
border-top-color: #ccc;
border-top-style: solid;
}
a.user-mention:before {
content: '@';
color: #878787;
}
</style>
<meta name="x-apple-disable-message-reformatting">
<meta name="viewport" content="initial-scale=1.0">
</head>
<body>
<span class="header"><%= OpenProject::TextFormatting::Renderer.format_text(Setting.localized_emails_header) %></span>
<body style="padding: 0">
<table class="header">
<tr>
<td>
<%= OpenProject::TextFormatting::Renderer.format_text(Setting.localized_emails_header) %>
</td>
</tr>
</table>
<%= call_hook(:view_layouts_mailer_html_before_content, self.assigns) %>
<%= yield %>
<%= call_hook(:view_layouts_mailer_html_after_content, self.assigns) %>
<hr />
<span class="footer"><%= OpenProject::TextFormatting::Renderer.format_text(Setting.localized_emails_footer) %></span>
<table class="footer">
<tr>
<td>
<%= OpenProject::TextFormatting::Renderer.format_text(Setting.localized_emails_footer) %>
</td>
</tr>
</table>
</body>
</html>

@ -1,30 +1,57 @@
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="border-bottom: 1px solid #cccccc; margin-bottom: 32px;">
<table <%= placeholder_table_styles(width:'100%',style: "width:100%;min-width:100%") %>>
<tr>
<td width="100%" style="padding-top: 8px; padding-left: 12px;">
<table>
<td>
<table <%= placeholder_table_styles %>>
<tr>
<td style="font-size: 24px; color: #333333; padding-bottom: 5px;">
<%= I18n.t(:'mail.salutation', user: @user.firstname) %>
<%= placeholder_cell('12px', vertical: true) %>
<td>
<table <%= placeholder_table_styles(width:'100%',style: "width:100%") %>>
<tr>
<td>
<span style="font-size: 24px; color: #333333;">
<%= I18n.t(:'mail.salutation', user: @user.firstname) %>
</span>
</td>
</tr>
<tr>
<%= placeholder_cell('8px', vertical: false) %>
</tr>
<tr>
<td>
<span style="font-size:16px; color: #1A67A3; font-weight: bold;">
<%= summary %>
</span>
</td>
</tr>
<tr>
<%= placeholder_cell('24px', vertical: false) %>
</tr>
<tr>
<td>
<a href="<%= notifications_center_url %>"
target="_blank"
style="background: #D1E5F5; padding: 8px 12px; color: #1A67A3; border: 1px solid #1A67A3; border-radius: 16px; text-decoration: none;font-size: 14px;">
<%= I18n.t(:'mail.notification.center') %>
</a>
</td>
</tr>
<tr>
<%= placeholder_cell('40px', vertical: false) %>
</tr>
</table>
</td>
</tr>
<tr>
<td style="font-size:16px; color: #1A67A3; font-weight: bold; padding-bottom: 10px;">
<%= summary %>
</td>
</tr>
<tr>
<td style="padding: 10px 0 32px 0;">
<a href="<%= notifications_center_url %>"
target="_blank"
style="background: #D1E5F5; padding: 8px 12px; color: #1A67A3; border: 1px solid #1A67A3; border-radius: 16px; text-decoration: none;">
<%= I18n.t(:'mail.notification.center') %>
</a>
<%= placeholder_cell('16px', vertical: true) %>
<td style="vertical-align: top;">
<table <%= placeholder_table_styles %>>
<tr>
<td style="width: 96px; height: 96px;">
<%= logo_tag({ alt: "#{Setting.app_title} #{I18n.t(:'mail.logo_alt_text')}", style: "height: 96px;max-width: 240px;"}) %>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td style="width: 96px; height: 96px; vertical-align: top;">
<%= logo_tag({ alt: "#{Setting.app_title} #{I18n.t(:'mail.logo_alt_text')}", style: "height: 96px;"}) %>
</td>
</tr>
</table>

@ -1,57 +1,106 @@
<a style="border: 1px solid #E0E0E0;
margin-bottom: 16px;
padding: 12px 12px 16px 12px;
border-radius: 10px;
text-decoration: none;
display: block;"
<a style="text-decoration: none;display: block;"
href="<%= notifications_path(work_package.id) %>"
target="_blank">
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin-bottom: 9px; font-size: 14px;">
<table <%= placeholder_table_styles(width:'100%',style: "width:100%;border-width:1px;border-color:#E0E0E0;border-style:solid;border-radius:10px") %>>
<tr>
<td >
<div style="color: #333333;
background-color: #FFFFFF;
<%= status_colors(work_package.status) %>
white-space: nowrap;
padding: 2px 12px;
height: 16px;">
<%= work_package.status %>
</div>
</td>
<td width="100%" style="padding-left: 8px;
color: #878787;">
#<%= work_package.id %> - <%= work_package.project %>
<% unique_reasons = unique_reasons_of_notifications(notifications_by_work_package) %>
<%= ' - ' unless unique_reasons.length === 1 && unique_reasons.first.nil? %>
<% unique_reasons.each_with_index do |reason, index| %>
<%= I18n.t(
:"mail.digests.work_packages.reason.#{reason || :unknown}",
default: '') %><%= ', ' unless unique_reasons.size-1 == index %>
<% end %>
</td>
<td style="text-align: right;">
<span style="background-color: #00A3FF;
color: white;
border-radius: 8px;
padding: 0px 8px;
font-size: 14px;">
<%= notifications_by_work_package.length %>
</span>
</td>
<%= placeholder_cell('12px', vertical: false) %>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin-bottom: 9px; font-size: 16px; font-weight: bold;">
<tr>
<td style="color: <%= type_color(work_package.type, '#333333') %>;
white-space: nowrap;">
<%= work_package.type.to_s.upcase %>
</td>
<td width="100%" style="padding-left: 5px; color: #333333;">
<%= work_package.subject %>
<td>
<table <%= placeholder_table_styles(width:'100%',style: 'width:100%;font-size:14px;') %>>
<tr>
<%= placeholder_cell('12px', vertical: true) %>
<td>
<table <%= placeholder_table_styles %>>
<tr>
<td>
<table <%= placeholder_table_styles %>>
<tr>
<td style="color: #333333;
background-color: #FFFFFF;
<%= status_colors(work_package.status) %>
white-space: nowrap;
padding: 2px 12px;
height: 18px;">
<%= work_package.status %>
</td>
</tr>
</table>
</td>
<%= placeholder_cell('8px', vertical: true) %>
<td width="100%" style="color: #878787;">
#<%= work_package.id %> - <%= work_package.project %>
<% unique_reasons = unique_reasons_of_notifications(notifications_by_work_package) %>
<%= ' - ' unless unique_reasons.length === 1 && unique_reasons.first.nil? %>
<% unique_reasons.each_with_index do |reason, index| %>
<%= I18n.t(
:"mail.digests.work_packages.reason.#{reason || :unknown}",
default: '') %><%= ', ' unless unique_reasons.size-1 == index %>
<% end %>
</td>
<td>
<table <%= placeholder_table_styles %>>
<tr>
<td style="background-color: #00A3FF;
color: white;
border-radius: 10px;
padding: 2px 8px;
font-size: 14px;
height: 18px;
line-height: 18px;">
<%= notifications_by_work_package.length %>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<%= placeholder_cell('12px', vertical: true) %>
</tr>
<tr>
<%= placeholder_cell('12px', vertical: true) %>
<%= placeholder_cell('16px', vertical: false) %>
<%= placeholder_cell('12px', vertical: true) %>
</tr>
<tr>
<%= placeholder_cell('12px', vertical: true) %>
<td>
<table <%= placeholder_table_styles(style: 'font-size:16px;font-weight:bold') %>>
<tr>
<td style="color: <%= type_color(work_package.type, '#333333') %>;white-space: nowrap;">
<%= work_package.type.to_s.upcase %>
</td>
<%= placeholder_cell('4px', vertical: true) %>
<td width="100%" style="color: #333333;">
<%= work_package.subject %>
</td>
</tr>
</table>
</td>
<%= placeholder_cell('12px', vertical: true) %>
</tr>
<tr>
<%= placeholder_cell('12px', vertical: true) %>
<%= placeholder_cell('12px', vertical: false) %>
<%= placeholder_cell('12px', vertical: true) %>
</tr>
<tr>
<%= placeholder_cell('12px', vertical: true) %>
<td><%= yield %></td>
<%= placeholder_cell('12px', vertical: true) %>
</tr>
</table>
</td>
</tr>
<tr>
<%= placeholder_cell('12px', vertical: false) %>
</tr>
</table>
<%= yield %>
<table>
<tr>
<%= placeholder_cell('20px', vertical: false) %>
</tr>
</table>
</a>

@ -1403,7 +1403,7 @@ ar:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accessibility"
label_account: "الحساب"
@ -1986,7 +1986,8 @@ ar:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'الكل'
prefix: 'Received because of the notification setting: %{reason}'

@ -1335,7 +1335,7 @@ bg:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Достъпност"
label_account: "Акаунт"
@ -1918,7 +1918,8 @@ bg:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'всички'
prefix: 'Received because of the notification setting: %{reason}'

@ -1335,7 +1335,7 @@ ca:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accessibility"
label_account: "Compte"
@ -1918,7 +1918,8 @@ ca:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'tot'
prefix: 'Received because of the notification setting: %{reason}'

@ -1369,7 +1369,7 @@ cs:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Přístupnost"
label_account: "Účet"
@ -1952,7 +1952,8 @@ cs:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Odpovědný'
mentioned: 'Mentioned'
subscribed: 'vše'
prefix: 'Received because of the notification setting: %{reason}'

@ -1333,7 +1333,7 @@ da:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accessibility"
label_account: "Konto"
@ -1916,7 +1916,8 @@ da:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'alle'
prefix: 'Received because of the notification setting: %{reason}'

@ -1330,7 +1330,7 @@ de:
assigned: "Ihnen wurde %{work_package} zugewiesen"
subscribed: "Sie haben %{work_package} abonniert"
mentioned: "Sie wurden in %{work_package} erwähnt"
involved: "Sie sind entweder zugewiesen oder verantwortlich für %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "Du beobachtest %{work_package}"
label_accessibility: "Barrierefreiheit"
label_account: "Konto"
@ -1913,7 +1913,8 @@ de:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Verantwortlich'
mentioned: 'Mentioned'
subscribed: 'alle'
prefix: 'Erhalten aufgrund der Benachrichtigungseinstellung: %{reason}'

@ -1330,7 +1330,7 @@ el:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Προσβασιμότητα"
label_account: "Λογαριασμός"
@ -1913,7 +1913,8 @@ el:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Υπόλογος'
mentioned: 'Mentioned'
subscribed: 'όλα'
prefix: 'Received because of the notification setting: %{reason}'

@ -1332,7 +1332,7 @@ es:
assigned: "Has sido asignado a %{work_package}"
subscribed: "Te has suscrito a %{work_package}"
mentioned: "Has sido mencionado en %{work_package}"
involved: "Usted está asignado o es responsable de %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "Estás viendo a %{work_package}"
label_accessibility: "Accesibilidad"
label_account: "Cuenta"
@ -1915,7 +1915,8 @@ es:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Responsable'
mentioned: 'Mentioned'
subscribed: 'todos'
prefix: 'Received because of the notification setting: %{reason}'

@ -1335,7 +1335,7 @@ fi:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Helppokäyttötoiminnot"
label_account: "Käyttäjätili"
@ -1918,7 +1918,8 @@ fi:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Vastuuhenkilö'
mentioned: 'Mentioned'
subscribed: 'kaikki'
prefix: 'Received because of the notification setting: %{reason}'

@ -1335,7 +1335,7 @@ fil:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Aksibilidad"
label_account: "Akawnt"
@ -1918,7 +1918,8 @@ fil:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'lahat'
prefix: 'Received because of the notification setting: %{reason}'

@ -1334,7 +1334,7 @@ fr:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accessibilité"
label_account: "Compte"
@ -1917,7 +1917,8 @@ fr:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Responsable'
mentioned: 'Mentioned'
subscribed: 'tous'
prefix: 'Received because of the notification setting: %{reason}'

@ -1352,7 +1352,7 @@ hr:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accessibility"
label_account: "Korisnički račun"
@ -1935,7 +1935,8 @@ hr:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'sve'
prefix: 'Received because of the notification setting: %{reason}'

@ -1339,7 +1339,7 @@ hu:
assigned: "Hozzárendeletek a %{work_package}"
subscribed: "Feliratkoztál a %{work_package} "
mentioned: "Megemlítettek a %{work_package}-ban"
involved: "Ön vagy a %{work_package}-hez van rendelve, vagy Ön a felelős érte.\n"
responsible: "You have become accountable for %{work_package}"
watched: "Megfigyeled a %{work_package}"
label_accessibility: "Kisegítő lehetőségek"
label_account: "Felhasználói fiók"
@ -1922,7 +1922,8 @@ hu:
more_to_see_plural: 'További %{number} munkacsomagok vannak értesítésekkel.'
reason:
watched: 'Megfigyelt'
involved: 'Megbízott vagy felelős'
assigned: 'Assigned'
responsible: 'Felelős'
mentioned: 'Megemlített'
subscribed: 'mind'
prefix: "Az értesítés beállítása miatt érkezett: %{reason}\n"

@ -1314,7 +1314,7 @@ id:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Kemampuan akses"
label_account: "Akun"
@ -1897,7 +1897,8 @@ id:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'semua'
prefix: 'Received because of the notification setting: %{reason}'

@ -1331,7 +1331,7 @@ it:
assigned: "Sei stato assegnato a %{work_package}"
subscribed: "Ti sei abbonato a %{work_package}"
mentioned: "Sei stato menzionato in %{work_package}"
involved: "Sei assegnato a o responsabile per %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "Stai guardando il %{work_package}"
label_accessibility: "Accessibilità"
label_account: "Account"
@ -1914,7 +1914,8 @@ it:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Responsabile'
mentioned: 'Mentioned'
subscribed: 'tutti'
prefix: 'Ricevuto a causa dell''impostazione della notifica: %{reason}'

@ -1314,7 +1314,7 @@ ja:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "アクセシビリティ"
label_account: "アカウント"
@ -1897,7 +1897,8 @@ ja:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: '責任者'
mentioned: 'Mentioned'
subscribed: '全て'
prefix: 'Received because of the notification setting: %{reason}'

@ -509,14 +509,11 @@ ar:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "البريد الإكتروني"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'الجميع'
@ -533,20 +530,33 @@ ar:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'تحتاج إلى إدخال كلمة مرور حسابك لتأكيد هذا التغيير.'
title: 'أكِّد كلمة مرورك للمواصلة'

@ -509,14 +509,11 @@ bg:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'All'
@ -529,20 +526,33 @@ bg:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'You need to enter your account password to confirm this change.'
title: 'Confirm your password to continue'

@ -509,14 +509,11 @@ ca:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Correu electrònic"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Tot'
@ -529,20 +526,33 @@ ca:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Necessita introduir la contrasenya del seu compte per a confirmar aquest canvi.'
title: 'Confirmi la seva contrasenya per continuar'

@ -509,14 +509,11 @@ cs:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Vše'
@ -531,20 +528,33 @@ cs:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Pro potvrzení této změny je třeba zadat heslo k účtu.'
title: 'Pro pokračování potvrďte vaše heslo'

@ -508,14 +508,11 @@ da:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'All'
@ -528,20 +525,33 @@ da:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'You need to enter your account password to confirm this change.'
title: 'Confirm your password to continue'

@ -508,14 +508,11 @@ de:
title: "Benachrichtigungen"
channel: "Kanal"
no_unread: "No unread notifications"
channels:
in_app: "In-App"
mail: "E-Mail"
mail_digest: "Tägliche E-Mail-Übersicht"
reasons:
mentioned: 'erwähnt'
watched: 'beobachtet'
involved: 'beteiligt'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Ungelesen'
all: 'Alle'
@ -528,20 +525,33 @@ de:
text_update_date: "%{date} von"
total_count_warning: "Zeige die %{newest_count} neuesten Benachrichtigungen. %{more_count} weitere werden nicht angezeigt."
settings:
default_all_projects: 'Standard für alle Projekte'
involved: 'Ich bin beteiligt'
mentioned: 'Ich wurde erwähnt'
watched: 'Ich beobachte'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'Alle Ereignisse'
add: 'Einstellung für Projekt hinzufügen'
already_selected: 'Dieses Projekt ist bereits ausgewählt'
remove_projects: 'Lösche Einstellungen für alle Projekte'
title: "Benachrichtigungseinstellungen"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Sie müssen Ihr Kennwort eingeben um diese Änderungen zu speichern.'
title: 'Geben Sie Ihr Kennwort ein um fortzufahren'

@ -508,14 +508,11 @@ el:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Email"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Όλα'
@ -528,20 +525,33 @@ el:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Πρέπει να εισάγετε τον κωδικό πρόσβασης του λογαριασμού σας για να επιβεβαιώσετε αυτή την αλλαγή.'
title: 'Επιβεβαιώστε τον κωδικό πρόσβασης σας για να συνεχίσετε'

@ -509,14 +509,11 @@ es:
title: "Notificaciones"
channel: "Canal"
no_unread: "No unread notifications"
channels:
in_app: "En app"
mail: "Correo electrónico"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mencionado'
watched: 'visto'
involved: 'involucrado'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Marcar como no leído'
all: 'Todo'
@ -529,20 +526,33 @@ es:
text_update_date: "%{date} by"
total_count_warning: "Mostrando las %{newest_count} notificaciones más recientes. %{more_count} más no se muestran."
settings:
default_all_projects: 'Por defecto para todos los proyectos'
involved: 'Estoy involucrado'
mentioned: 'He sido mencionado'
watched: 'Estoy viendo'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'Todos los eventos'
add: 'Añadir configuración para el proyecto'
already_selected: 'This project is already selected'
remove_projects: 'Eliminar notificaciones de proyectos'
title: "Ajustes de notificación"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Necesitas introducir la contraseña de tu cuenta para confirmar este cambio.'
title: 'Confirma tu contraseña para continuar'

@ -509,14 +509,11 @@ fi:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Sähköposti"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Kaikki'
@ -529,20 +526,33 @@ fi:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Sinun täytyy syöttää tilisi salasana vahvistaaksesi tämän muutoksen.'
title: 'Vahvista salasanasi jatkaaksesi'

@ -509,14 +509,11 @@ fil:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Email"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'All'
@ -529,20 +526,33 @@ fil:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Kailangan mong ipasok ang iyong akwant password upang kumpirmahin ang pagbabago niito.'
title: 'Kumpirmahin ang iyong password upanh magpatuloy'

@ -509,14 +509,11 @@ fr:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Courriel"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Toutes'
@ -529,20 +526,33 @@ fr:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Vous devez saisir le mot de passe de votre compte pour confirmer ce changement.'
title: 'Confirmez votre mot de passe pour continuer'

@ -509,14 +509,11 @@ hr:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Email"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Svi'
@ -530,20 +527,33 @@ hr:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'You need to enter your account password to confirm this change.'
title: 'Potvrdite lozinku za nastavak'

@ -514,14 +514,11 @@ hu:
title: "Értesítések"
channel: "Csatorna"
no_unread: "Nincs olvasatlan értesítés"
channels:
in_app: "Alkalmazásban"
mail: "Email"
mail_digest: "Napi e-mail összefoglaló\n"
reasons:
mentioned: 'megemlített'
watched: 'Megfigyelt'
involved: 'érintett'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Olvasatlan'
all: 'Mind'
@ -534,20 +531,33 @@ hu:
text_update_date: "%{date} szerint"
total_count_warning: "A %{newest_count} legfrissebb értesítések megjelenítése. %{more_count} több nem jelenik meg.\n"
settings:
default_all_projects: 'Alapértelmezett az összes projektnél'
involved: 'Részt veszek'
mentioned: 'Megemlítettek'
watched: 'Figyelem'
work_package_commented: 'Hozzászóltak a munkacsomaghoz'
work_package_created: 'Munkacsomag létrehozva'
work_package_processed: 'Frissült a munkacsomag állapota'
work_package_prioritized: 'Frissült a munkacsomag prioritása'
work_package_scheduled: "Tervezett munkacsomag\n"
all: 'Minden esemény'
add: 'Beállítás hozzáadása a projekthez'
already_selected: 'A projekt már ki lett választva'
remove_projects: 'Értesítések kikapcsolása a projektekhez'
title: "Értesítési beállítások"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'A változás megerősítéséhez adja meg jelszavát.'
title: 'Adja meg a jelszavát a folytatáshoz'

@ -509,14 +509,11 @@ id:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Email"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Semua'
@ -528,20 +525,33 @@ id:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Anda harus mengisi kata sandi akun untuk mengkonfirmasi perubahan.'
title: 'Konfirmasi kata sandi anda untuk melanjutkan'

@ -509,14 +509,11 @@ it:
title: "Notifiche"
channel: "Canale"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Email"
mail_digest: "Daily email summary"
reasons:
mentioned: 'menzionato'
watched: 'guardato'
involved: 'coinvolto'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Non Letta'
all: 'Tutti'
@ -529,20 +526,33 @@ it:
text_update_date: "%{date} by"
total_count_warning: "Mostrando le %{newest_count} notifiche più recenti. %{more_count} altre non vengono visualizzate."
settings:
default_all_projects: 'Predefinito per tutti i progetti'
involved: 'Sono coinvolto'
mentioned: 'Sono stato menzionato'
watched: 'Sto guardando'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'Tutti gli eventi'
add: 'Aggiungi impostazione per il progetto'
already_selected: 'This project is already selected'
remove_projects: 'Rimuovi notifiche per i progetti'
title: "Impostazioni notifiche"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'È necessario inserire la password dell''account per confermare la modifica.'
title: 'Confermare la password per continuare'

@ -510,14 +510,11 @@ ja:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "電子メールアドレス"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: '全て'
@ -529,20 +526,33 @@ ja:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'この変更を確認するには、アカウントのパスワードを入力する必要があります。'
title: '続行するにはパスワードを確認してください'

@ -509,14 +509,11 @@ ko:
title: "알림"
channel: "채널"
no_unread: "No unread notifications"
channels:
in_app: "앱내"
mail: "이메일"
mail_digest: "Daily email summary"
reasons:
mentioned: '멘션 된'
watched: '지켜본'
involved: '참여된'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: '읽지 않음'
all: '모두'
@ -528,20 +525,33 @@ ko:
text_update_date: "%{date} by"
total_count_warning: "%{newest_count} 개의 가장 최근 알림을 표시합니다. %{more_count} 개의 알림은 표시되지 않습니다."
settings:
default_all_projects: '모든 프로젝트 기본값'
involved: '내가 참여된'
mentioned: '내가 멘션 된'
watched: '내가 지켜보는 중'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: '모든 이벤트'
add: '프로젝트에 셋팅 추가'
already_selected: 'This project is already selected'
remove_projects: '프로젝트에 알림 제거'
title: "알림 설정"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: '이 변경 내용을 확인하려면 계정 암호를 입력해야 합니다.'
title: '계속하려면 암호 확인'

@ -509,14 +509,11 @@ lt:
title: "Pranešimai"
channel: "Kanalas"
no_unread: "Nėra neperskaitytų pranešimų"
channels:
in_app: "Programoje"
mail: "El. paštas"
mail_digest: "Kasdienė el.pašto santrauka"
reasons:
mentioned: 'paminėtas'
watched: 'stebimas'
involved: 'įtrauktas'
assigned: 'paskirta'
responsible: 'atsakingas'
facets:
unread: 'Neskaitytas'
all: 'Visi'
@ -531,20 +528,33 @@ lt:
text_update_date: "%{date} "
total_count_warning: "Rodomi %{newest_count} paskutiniai pranešimai. Dar %{more_count} yra nerodomi."
settings:
default_all_projects: 'Numatytasis visiems projektams'
involved: 'Aš įtrauktas'
mentioned: 'Aš buvau paminėtas'
watched: 'Aš stebiu'
work_package_commented: 'Darbų paketas pakomentuotas'
work_package_created: 'Darbų paketas sukurtas'
work_package_processed: 'Darbų paketo būsena pakeista'
work_package_prioritized: 'Darbų paketo prioritetai pakeisti'
work_package_scheduled: 'Darbų paketo tvarkaraštis pakeistas'
all: 'Visi įvykiai'
add: 'Pridėkite projekto nustatymus'
already_selected: 'Šis projektas jau pasirinktas'
remove_projects: 'Pašalinti pranešimus projektams'
title: "Pranešimų nustatymai"
notify_me: "Pranešti man"
reasons:
mentioned:
title: 'Aš @paminėtas'
description: 'Gauti pranešimą kiekvieną kartą, kai kas nors mane bet kur pamini'
involved:
title: 'Priskirta man arba atsakingas'
description: 'Gauti pranešimus apie visus veiksmus su darbų paketais, kuriuose aš arba paskirtasis, arba atsakingas.'
watched: 'Stebimų elementų pakeitimai'
work_package_commented: 'Visi nauji komentarai'
work_package_created: 'Nauji darbų paketai'
work_package_processed: 'Visi būsenų pakeitimai'
work_package_prioritized: 'visi prioritetų pakeitimai'
work_package_scheduled: 'Visi datų pakeitimai'
global:
immediately:
title: 'Pranešti man nedelsiant'
description: 'Šie nustatymai taikomi visiems projektams. Žemiau jūs galite sukurti konkrečiam projektui taikomas išimtis.'
delayed:
title: 'Tai pat pranešti man apie'
description: 'Gauti pranešimus apie šiuos veiksmus su darbo paketais visuose projektuose:'
project_specific:
title: 'Konkrečių projektų pranešimų nustatymai'
description: 'Šie konkrečių projektų nustatymai permuša aukščiau esančius numatytuosius nustatymus'
add: 'Pridėti nustatymą projektui'
already_selected: 'Šis projektas jau pažymėtas'
password_confirmation:
field_description: 'Norėdami patvirtinti šį pakeitimą turite įvesti savo paskyros slaptažodį.'
title: 'Norėdami tęsti, patvirtinkite savo slaptažodį'
@ -627,8 +637,8 @@ lt:
duplicated: "Dubliuotas"
blocks: "Blokai"
blocked: "Blokuojamas"
precedes: "Ankstesnė"
follows: "Seka"
precedes: "Prieš"
follows: "Po"
includes: "Turi savyje"
partof: "Dalis"
requires: "Reikalingas"
@ -982,7 +992,7 @@ lt:
destroy_time_entry:
title: "Patvirtinkite laiko įrašo trynimą."
text: "Ar Jūs tikrai norite ištrinti šį laiko įrašą?"
notice_no_results_to_display: "Nėra rezultatų."
notice_no_results_to_display: "Nėra matomų rezultatų."
notice_successful_create: "Sėkmingas sukūrimas."
notice_successful_delete: "Sėkmingas panaikinimas."
notice_successful_update: "Sėkmingai atnaujinta."
@ -1010,7 +1020,7 @@ lt:
messages_on_field: 'Šio laukelio reikšmė netinkama: %{messages}'
error_could_not_resolve_version_name: "Nepavyko nustatyti versijos pavadinimo"
error_could_not_resolve_user_name: "Nepavyko nustatyti vartotojo vardo"
error_attachment_upload: "Nepavyko įkelti: %{error}"
error_attachment_upload: "Nepavyko įkelti failo: %{error}"
error_attachment_upload_permission: "Jūs neturite teisės įkelti failus į šį resursą."
units:
workPackage:
@ -1026,7 +1036,7 @@ lt:
hour:
one: "1 val."
other: "%{count} val"
zero: "0 h"
zero: "0 val"
zen_mode:
button_activate: 'Įjungti Zen režimą'
button_deactivate: 'Išjungti Zen režimą'

@ -509,14 +509,11 @@ nl:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Alle'
@ -529,20 +526,33 @@ nl:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'U moet uw wachtwoord invoeren om deze wijziging te bevestigen.'
title: 'Voer uw wachtwoord in om door te gaan'

@ -509,14 +509,11 @@
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-post"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'All'
@ -529,20 +526,33 @@
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'You need to enter your account password to confirm this change.'
title: 'Confirm your password to continue'

@ -509,14 +509,11 @@ pl:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Adres e-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Wszystko'
@ -531,20 +528,33 @@ pl:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Musisz wprowadzić hasło do twojego konta aby potwierdzić te zmiany.'
title: 'Potwierdź hasło aby kontynuować'

@ -508,14 +508,11 @@ pt:
title: "Notificações"
channel: "Canal"
no_unread: "Nenhuma notificação não lida"
channels:
in_app: "No aplicativo"
mail: "E-mail"
mail_digest: "E-mail do resumo diário"
reasons:
mentioned: 'mencionado'
watched: 'observado'
involved: 'envolvido'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Não lido'
all: 'Todos'
@ -528,20 +525,33 @@ pt:
text_update_date: "%{date} by"
total_count_warning: "Mostrando as %{newest_count} notificações mais recentes. Mas %{more_count} não são exibidas."
settings:
default_all_projects: 'Padrão para todos os projetos'
involved: 'Estou envolvido'
mentioned: 'Eu fui mencionado'
watched: 'Estou assistindo'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'Todos os eventos'
add: 'Adicionar configuração para o projeto'
already_selected: 'Este projeto já está selecionado'
remove_projects: 'Remover notificações para projetos'
title: "Configurações de Notificação"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Você precisa digitar sua senha para confirmar essa alteração.'
title: 'Confirme sua senha para continuar'

@ -508,14 +508,11 @@ ro:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Toate'
@ -529,20 +526,33 @@ ro:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Trebuie să introduceţi parola contului dumneavoastră pentru a confirma această schimbare.'
title: 'Vă rugăm să confirmați parola dumneavoastră pentru a continua'

@ -508,14 +508,11 @@ ru:
title: "Уведомления"
channel: "Канал"
no_unread: "Нет непрочитанных уведомлений"
channels:
in_app: "Встроенное"
mail: "Электронная почта"
mail_digest: "Ежедневная сводка по электронной почте"
reasons:
mentioned: 'упомянутый'
watched: 'просмотрено'
involved: 'вовлечено'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Непрочтено'
all: 'Bсе'
@ -530,20 +527,33 @@ ru:
text_update_date: "%{date} от"
total_count_warning: "Показаны %{newest_count} самые последние уведомления. Ещё %{more_count} не отображаются."
settings:
default_all_projects: 'По умолчанию для всех проектов'
involved: 'Я участвую'
mentioned: 'Я был упомянут'
watched: 'Я смотрю'
work_package_commented: 'Пакет работ прокомментирован'
work_package_created: 'Пакет работ создан'
work_package_processed: 'Статус пакета работ изменен'
work_package_prioritized: 'Приоритет пакета работ изменен'
work_package_scheduled: 'Пакет работ запланирован'
all: 'Все события'
add: 'Добавить настройку для проекта'
already_selected: 'Этот проект уже выбран'
remove_projects: 'Удалить уведомления для проектов'
title: "Настройки уведомлений"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Необходимо ввести свой пароль для подтверждения изменений.'
title: 'Для продолжения введите свой пароль'

@ -509,14 +509,11 @@ sk:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-mail"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Všetky'
@ -531,20 +528,33 @@ sk:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Ak chcete potvrdiť túto zmenu, musíte zadať heslo svojho účtu.'
title: 'Ak chcete pokračovať, potvrďte svoje heslo'

@ -508,14 +508,11 @@ sl:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-pošta"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Vse'
@ -530,20 +527,33 @@ sl:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Prosimo vnesite svoje uporabniško geslo za potrditev te spremembe. '
title: 'Potrdite svoje geslo za nadaljevanje'

@ -508,14 +508,11 @@ sv:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "E-post"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Alla'
@ -528,20 +525,33 @@ sv:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Du behöver ange ditt lösenord för att bekräfta ändringen.'
title: 'Bekräfta ditt lösenord för att fortsätta'

@ -509,14 +509,11 @@ tr:
title: "Bildirimler"
channel: "Kanal"
no_unread: "Okunmamış bildirim yok"
channels:
in_app: "Uygulama içi"
mail: "Eposta"
mail_digest: "Günlük e-posta özeti"
reasons:
mentioned: 'adı geçen, bahsedilen'
watched: 'izlendi'
involved: 'dahil olmuş'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'okunmamış'
all: 'Hepsi'
@ -529,20 +526,33 @@ tr:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Tüm projeler için varsayılan'
involved: 'ben dahilim'
mentioned: 'benden bahsedildi'
watched: 'İzliyorum'
work_package_commented: 'İş paketi yorumlandı'
work_package_created: 'İş paketi oluşturuldu'
work_package_processed: 'İş paketi durumu değişti'
work_package_prioritized: 'İş paketi önceliği değişti'
work_package_scheduled: 'İş paketi planlandı'
all: 'Tüm etkinlikler'
add: 'Proje için ayar ekle'
already_selected: 'Bu proje zaten seçildi'
remove_projects: 'Projeler için bildirimleri kaldırın'
title: "Bildirim ayarları"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Bu değişikliği onaylamak için hesap parolanızı girmeniz gerekir.'
title: 'Devam etmek için parolanızı doğrulayın'

@ -509,14 +509,11 @@ uk:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Електронна пошта"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Всі'
@ -531,20 +528,33 @@ uk:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'Вам необхідно ввести пароль облікового запису, щоб підтвердити цю зміну.'
title: 'Підтвердіть ваш пароль щоб продовжити'

@ -508,14 +508,11 @@ vi:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "Thư điện tử"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'Toàn bộ'
@ -527,20 +524,33 @@ vi:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: 'You need to enter your account password to confirm this change.'
title: 'Confirm your password to continue'

@ -509,14 +509,11 @@ zh-CN:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "电子邮件"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: '全部'
@ -528,20 +525,33 @@ zh-CN:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: '输入密码以确认更改'
title: '输入密码以继续'

@ -508,14 +508,11 @@ zh-TW:
title: "Notifications"
channel: "Channel"
no_unread: "No unread notifications"
channels:
in_app: "In-app"
mail: "電子郵件"
mail_digest: "Daily email summary"
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: '全部'
@ -527,20 +524,33 @@ zh-TW:
text_update_date: "%{date} by"
total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed."
settings:
default_all_projects: 'Default for all projects'
involved: 'I am involved'
mentioned: 'I was mentioned'
watched: 'I am watching'
work_package_commented: 'Work package commented'
work_package_created: 'Work package created'
work_package_processed: 'Work package status changed'
work_package_prioritized: 'Work package priority changed'
work_package_scheduled: 'Work package scheduled'
all: 'All events'
add: 'Add setting for project'
already_selected: 'This project is already selected'
remove_projects: 'Remove notifications for projects'
title: "Notification settings"
notify_me: "Notify me"
reasons:
mentioned:
title: 'I am @mentioned'
description: 'Receive a notification every time someone mentions me anywhere'
involved:
title: 'Assigned to me or accountable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable.'
watched: 'Updates on watched items'
work_package_commented: 'All new comments'
work_package_created: 'New work packages'
work_package_processed: 'All status changes'
work_package_prioritized: 'all priority changes'
work_package_scheduled: 'All date changes'
global:
immediately:
title: 'Notify me immediately'
description: 'These settings apply to all projects. You can create project-specific exceptions below.'
delayed:
title: 'Also notify me for'
description: 'Receive notifications for these activities on work packages in all projects:'
project_specific:
title: 'Project-specific notification settings'
description: 'These project-specific settings override default settings above'
add: 'Add setting for project'
already_selected: 'This project is already selected'
password_confirmation:
field_description: '您需要輸入您的帳戶密碼,以確認此更改。'
title: '確認您的密碼以便繼續'

@ -1317,7 +1317,7 @@ ko:
assigned: "%{work_package} 을(를) 할당되었습니다."
subscribed: "%{work_package} 을(를) 구독하였습니다."
mentioned: "%{work_package} 을(를) 멘션하였습니다."
involved: "%{work_package} 에 할당되었거나 책임이 있습니다."
responsible: "You have become accountable for %{work_package}"
watched: "%{work_package}을(를) 지켜 보는 중입니다."
label_accessibility: "접근성"
label_account: "계정"
@ -1900,7 +1900,8 @@ ko:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: '담당'
mentioned: 'Mentioned'
subscribed: '모두'
prefix: 'Received because of the notification setting: %{reason}'

@ -1365,7 +1365,7 @@ lt:
assigned: "Jūs buvote priskirtas prie %{work_package}"
subscribed: "Jūs užsiprenumeravote %{work_package}"
mentioned: "Jūs buvote paminėtas %{work_package}"
involved: "Jūs esate priskirtas arba atsakingas už %{work_package}"
responsible: "Jūs tapote atsakingas už %{work_package}"
watched: "Jūs stebite %{work_package}"
label_accessibility: "Prieinamumas"
label_account: "Paskyra"
@ -1948,7 +1948,8 @@ lt:
more_to_see_plural: 'Yra dar %{number} darbo paketai su pranešimais.'
reason:
watched: 'Stebimas'
involved: 'Priskirtas ar atsakingas'
assigned: 'Paskirta'
responsible: 'Atsakingas'
mentioned: 'Paminėtas'
subscribed: 'visi'
prefix: 'Gavote dėl pranešimų nustatymo: %{reason}'

@ -1335,7 +1335,7 @@ nl:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Toegankelijkheid"
label_account: "Account"
@ -1918,7 +1918,8 @@ nl:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Verantwoording afleggen'
mentioned: 'Mentioned'
subscribed: 'alle'
prefix: 'Received because of the notification setting: %{reason}'

@ -1335,7 +1335,7 @@
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Tilgjengelighet"
label_account: "Konto"
@ -1918,7 +1918,8 @@
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Ansvarlig'
mentioned: 'Mentioned'
subscribed: 'alle'
prefix: 'Received because of the notification setting: %{reason}'

@ -1366,7 +1366,7 @@ pl:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Dostępność"
label_account: "Konto"
@ -1949,7 +1949,8 @@ pl:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Osoba odpowiedzialna'
mentioned: 'Mentioned'
subscribed: 'wszystkie'
prefix: 'Received because of the notification setting: %{reason}'

@ -1333,7 +1333,7 @@ pt:
assigned: "Você foi designado para %{work_package}"
subscribed: "Você se inscreveu em %{work_package}"
mentioned: "Você foi mencionado em %{work_package}"
involved: "Você está atribuído a ou é responsável por %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "Você está assistindo %{work_package}"
label_accessibility: "Acessibilidade"
label_account: "Conta"
@ -1916,7 +1916,8 @@ pt:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Responsável'
mentioned: 'Mentioned'
subscribed: 'todos'
prefix: 'Recebido devido à configuração de notificação: %{reason}'

@ -1352,7 +1352,7 @@ ro:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accesibilitate"
label_account: "Cont"
@ -1935,7 +1935,8 @@ ro:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Responsabil'
mentioned: 'Mentioned'
subscribed: 'toate'
prefix: 'Received because of the notification setting: %{reason}'

@ -1368,7 +1368,7 @@ ru:
assigned: "Вы были назначены %{work_package}"
subscribed: "Вы подписались на %{work_package}"
mentioned: "Вы были назначены %{work_package}"
involved: "Вы либо назначены, либо ответственны за %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "Вы просматриваете %{work_package}"
label_accessibility: "Спец. возможности"
label_account: "Учетная запись"
@ -1951,7 +1951,8 @@ ru:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Подотчетный'
mentioned: 'Mentioned'
subscribed: 'все'
prefix: 'Получено из-за настройки уведомления: %{reason}'

@ -1369,7 +1369,7 @@ sk:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Prístupnosť"
label_account: "Účet"
@ -1952,7 +1952,8 @@ sk:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Zodpovedný'
mentioned: 'Mentioned'
subscribed: 'Všetky'
prefix: 'Received because of the notification setting: %{reason}'

@ -1367,7 +1367,7 @@ sl:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Dostopnost"
label_account: "Račun"
@ -1950,7 +1950,8 @@ sl:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Odgovorni'
mentioned: 'Mentioned'
subscribed: 'vsi'
prefix: 'Received because of the notification setting: %{reason}'

@ -1334,7 +1334,7 @@ sv:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Tillgänglighet"
label_account: "Konto"
@ -1917,7 +1917,8 @@ sv:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Huvudansvarig'
mentioned: 'Mentioned'
subscribed: 'alla'
prefix: 'Received because of the notification setting: %{reason}'

@ -1335,7 +1335,7 @@ tr:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Erişilebilirlik"
label_account: "Hesap"
@ -1918,7 +1918,8 @@ tr:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Sorumlu'
mentioned: 'Mentioned'
subscribed: 'tüm'
prefix: 'Received because of the notification setting: %{reason}'

@ -1369,7 +1369,7 @@ uk:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Розробникам також потрібно оплачувати свої рахунки. З доступністю"
label_account: "Обліковий запис"
@ -1952,7 +1952,8 @@ uk:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Відповідальний'
mentioned: 'Mentioned'
subscribed: 'всі'
prefix: 'Received because of the notification setting: %{reason}'

@ -1320,7 +1320,7 @@ vi:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Trợ năng"
label_account: "Tài khoản"
@ -1903,7 +1903,8 @@ vi:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Trách nhiệm'
mentioned: 'Mentioned'
subscribed: 'tất cả'
prefix: 'Received because of the notification setting: %{reason}'

@ -1314,7 +1314,7 @@ zh-CN:
assigned: "You have been assigned to %{work_package}"
subscribed: "您订阅了 %{work_package}"
mentioned: "您在 %{work_package} 中被提及"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "辅助功能"
label_account: "帐户"
@ -1897,7 +1897,8 @@ zh-CN:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: '负责'
mentioned: 'Mentioned'
subscribed: '所有'
prefix: 'Received because of the notification setting: %{reason}'

@ -1318,7 +1318,7 @@ zh-TW:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "輔助功能"
label_account: "帳號"
@ -1901,7 +1901,8 @@ zh-TW:
more_to_see_plural: 'There are %{number} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: '可信賴的'
mentioned: 'Mentioned'
subscribed: '所有'
prefix: 'Received because of the notification setting: %{reason}'

@ -1396,10 +1396,9 @@ en:
assigned: "You have been assigned to %{work_package}"
subscribed: "You subscribed to %{work_package}"
mentioned: "You have been mentioned in %{work_package}"
involved: "You either are assigned to or are responsible for %{work_package}"
responsible: "You have become accountable for %{work_package}"
watched: "You are watching %{work_package}"
label_accessibility: "Accessibility"
label_account: "Account"
label_active: "Active"
@ -1980,11 +1979,13 @@ en:
created_at: 'at %{timestamp} by %{user} '
login_to_see_all: 'Log in to see all notifications.'
mentioned: 'You have been <b>mentioned in a comment</b>'
more_to_see_singular: 'There is 1 more work package with notifications.'
more_to_see_plural: 'There are %{number} more work packages with notifications.'
more_to_see:
one: 'There is 1 more work package with notifications.'
other: 'There are %{count} more work packages with notifications.'
reason:
watched: 'Watched'
involved: 'Assigned or responsible'
assigned: 'Assigned'
responsible: 'Accountable'
mentioned: 'Mentioned'
subscribed: 'all'
prefix: 'Received because of the notification setting: %{reason}'

@ -566,7 +566,8 @@ en:
reasons:
mentioned: 'mentioned'
watched: 'watched'
involved: 'involved'
assigned: 'assigned'
responsible: 'accountable'
facets:
unread: 'Unread'
all: 'All'

@ -48,8 +48,17 @@ get:
JSON specifying filter conditions.
Accepts the same format as returned by the [queries](https://www.openproject.org/docs/api/endpoints/queries/) endpoint. Currently supported filters are:
+ readIAN: Filter by read status
+ id: Filter by primary key
+ project: Filter by the project the notification was created in
+ readIAN: Filter by read status
+ reason: Filter by the reason, e.g. 'mentioned' or 'assigned' the notification was created because of
+ resourceId: Filter by the id of the resource the notification was created for. Ideally used together with the `resourceType` filter.
+ resourceType: Filter by the type of the resource the notification was created for. Ideally used together with the `resourceId` filter.
example: '[{ "readIAN": { "operator": "=", "values": ["t"] } }]'
in: query
name: filters

@ -45,10 +45,6 @@ Yes, for Enterprise on-premises and for Community Edition you will have to choos
Please use the link "Manage subscription" in the first email you received from our system. Alternatively, please contact support via email.
## Why is Enterprise cloud cheaper than Enterprise on-premises?
Enterprise on-premises gives you full data sovereignty, the possibility to use self-developed plugins, connection to your LDAP and much more, while being more effort to develop and to handle for OpenProject. That's why the Enterprise cloud is lower-priced than the on-premises version. You can find a full feature comparison here: https://www.openproject.org/pricing/#compare
## How can I downgrade from Enterprise Edition to Community Edition?
You don't have to do anything. Just don't renew your subscription. As soon as your subscription or your trial ends you will automatically be downgraded to the Community Edition. You can keep your data.

@ -10,8 +10,19 @@ Please follow this section only if you have installed OpenProject using [this pr
Before attempting the upgrade, please ensure you have performed a backup of your installation by following the [backup guide](../../operation/backing-up/).
</div>
In the following, we assume that you initially let OpenProject setup your PostgreSQL installation, using a local database. If you are using an external database, please follow the instructions from your provider, or adapt the instructions given below.
Please first check whether this guide applies to you at all. Only PostgreSQL installations that were installed by the OpenProject package are applicable to this guide.
To do that, please run the following command:
```bash
sudo cat /etc/openproject/installer.dat | grep postgres/autoinstall
```
And verify that it outputs: postgres/autoinstall **install**.
If that is not the case, you are likely using a self-provisioned database or a remote database. In this case, please follow the instructions from your provider or use generic PostgreSQL upgrade guides. A guide we can recommend for Debian/Ubuntu based servers is this one: https://gorails.com/guides/upgrading-postgresql-version-on-ubuntu-server Please adapt that guide or the following steps to your distribution.
In the following, we assume that you initially let OpenProject setup your PostgreSQL installation, using a local database.
1. First, connect to your server and make sure your local version is PostgreSQL v10:
```bash

@ -125,12 +125,16 @@ If you are using docker-compose this is what you do after you started everything
1. Stop the OpenProject container using `docker-compose stop web worker`.
2. Drop the existing, seeded database using `docker exec -it db_1 psql -U postgres -c 'drop database openproject;'`
3. Recreate the database using `docker exec -it db_1 psql -U postgres -c 'create database openproject owner openproject;'`
3. Recreate the database using `docker exec -it db_1 psql -U postgres -c 'create database openproject owner openproject;'`<sup>*</sup>
4. Copy the dump onto the container: `docker cp openproject.sql db_1:/`
5. Source the dump with psql on the container: `docker exec -it db_1 psql -U postgres` followed by `\i openproject.sql`. You can leave this console by entering `\q` once it's done.
5. Source the dump with psql on the container: `docker exec -it db_1 psql -U postgres` followed first by `\c openproject` and then by `\i openproject.sql`. You can leave this console by entering `\q` once it's done.
6. Delete the dump on the container: `docker exec -it db_1 rm openproject.sql`
7. Restart the web and worker processes: `docker-compose start web worker`
_\* If your database doesn't have an OpenProject user you either have to create one or use which ever user you used before._
* * *
This assumes that the database container is called `db_1`. Find out the actual name on your host using `docker ps | postgres`.
### Using the all-in-one container

@ -0,0 +1,47 @@
#-- encoding: UTF-8
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2021 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.
#++
module OpenProject::TextFormatting
module Filters
class LinkAttributeFilter < HTML::Pipeline::Filter
def call
links.each do |node|
node['target'] = context[:target] if context[:target].present?
end
doc
end
def links
doc.xpath(".//a[contains(@href,'/')]")
end
end
end
end

@ -55,6 +55,7 @@ module OpenProject::TextFormatting::Formats::Markdown
syntax_highlight
attachment
relative_link
link_attribute
figure_wrapped
bem_css
autolink

@ -42,7 +42,7 @@ describe Notifications::CreateContract do
let(:notification_recipient) { FactoryBot.build_stubbed(:user) }
let(:notification_subject) { 'Some text' }
let(:notification_reason_ian) { :mentioned }
let(:notification_reason_mail) { :involved }
let(:notification_reason_mail) { :assigned }
let(:notification_reason_mail_digest) { :watched }
let(:notification_read_ian) { false }
let(:notification_read_mail) { false }

@ -1,11 +1,11 @@
FactoryBot.define do
factory :notification do
subject { "MyText" }
subject { "MyText" } # rubocop:disable RSpec/EmptyLineAfterSubject
read_ian { false }
read_mail { false }
read_mail_digest { false }
reason_ian { :mentioned }
reason_mail { :involved }
reason_mail { :assigned }
reason_mail_digest { :watched }
recipient factory: :user
project { association :project }

@ -140,10 +140,91 @@ describe ::API::V3::Notifications::NotificationsAPI,
end
end
context 'with a project filter' do
let(:other_work_package) { FactoryBot.create(:work_package) }
let(:notification3) do
FactoryBot.create :notification,
recipient: recipient,
resource: other_work_package,
project: other_work_package.project
end
let(:notifications) { [notification1, notification2, notification3] }
let(:filters) do
[
{
'project' => {
'operator' => '=',
'values' => [work_package.project_id.to_s]
}
}
]
end
it_behaves_like 'API V3 collection response', 2, 2, 'Notification' do
let(:elements) { [notification2, notification1] }
end
end
context 'with a reason filter' do
let(:notification3) do
FactoryBot.create :notification,
reason_ian: :assigned,
recipient: recipient,
resource: work_package,
project: work_package.project
end
let(:notification4) do
FactoryBot.create :notification,
reason_ian: :responsible,
recipient: recipient,
resource: work_package,
project: work_package.project
end
let(:notifications) { [notification1, notification2, notification3, notification4] }
let(:filters) do
[
{
'reason' => {
'operator' => '=',
'values' => [notification1.reason_ian.to_s, notification4.reason_ian.to_s]
}
}
]
end
it_behaves_like 'API V3 collection response', 3, 3, 'Notification' do
let(:elements) { [notification4, notification2, notification1] }
end
context 'with an invalid reason' do
let(:filters) do
[
{
'reason' => {
'operator' => '=',
'values' => ['bogus']
}
}
]
end
it 'returns an error' do
expect(last_response.status)
.to be 400
expect(last_response.body)
.to be_json_eql("Filters Reason filter has invalid values.".to_json)
.at_path('message/0')
end
end
end
context 'with a reason groupBy' do
let(:involved_notification) { FactoryBot.create :notification, recipient: recipient, reason_ian: :involved }
let(:responsible_notification) { FactoryBot.create :notification, recipient: recipient, reason_ian: :responsible }
let(:notifications) { [notification1, notification2, involved_notification] }
let(:notifications) { [notification1, notification2, responsible_notification] }
let(:send_request) do
get api_v3_paths.path_for :notifications, group_by: :reason
@ -158,9 +239,9 @@ describe ::API::V3::Notifications::NotificationsAPI,
expect(groups.count).to eq 2
keyed = groups.index_by { |el| el['value'] }
expect(keyed.keys).to contain_exactly 'mentioned', 'involved'
expect(keyed.keys).to contain_exactly 'mentioned', 'responsible'
expect(keyed['mentioned']['count']).to eq 2
expect(keyed['involved']['count']).to eq 1
expect(keyed['responsible']['count']).to eq 1
end
end
@ -171,7 +252,7 @@ describe ::API::V3::Notifications::NotificationsAPI,
resource: work_package2,
project: work_package2.project,
recipient: recipient,
reason_ian: :involved
reason_ian: :responsible
end
let(:notifications) { [notification1, notification2, other_project_notification] }

@ -115,11 +115,11 @@ describe Notifications::CreateFromModelService,
let(:notification_channel_reasons) do
{
read_ian: false,
reason_ian: :involved,
reason_ian: :assigned,
read_mail: false,
reason_mail: :involved,
reason_mail: :assigned,
read_mail_digest: false,
reason_mail_digest: :involved
reason_mail_digest: :assigned
}
end
end
@ -141,7 +141,7 @@ describe Notifications::CreateFromModelService,
read_mail: false,
reason_mail: :subscribed,
read_mail_digest: false,
reason_mail_digest: :involved
reason_mail_digest: :assigned
}
end
end
@ -160,7 +160,7 @@ describe Notifications::CreateFromModelService,
let(:notification_channel_reasons) do
{
read_ian: false,
reason_ian: :involved,
reason_ian: :assigned,
read_mail: nil,
reason_mail: nil,
read_mail_digest: nil,
@ -197,9 +197,9 @@ describe Notifications::CreateFromModelService,
read_ian: false,
reason_ian: :subscribed,
read_mail: false,
reason_mail: :involved,
reason_mail: :assigned,
read_mail_digest: false,
reason_mail_digest: :involved
reason_mail_digest: :assigned
}
end
end
@ -245,11 +245,11 @@ describe Notifications::CreateFromModelService,
let(:notification_channel_reasons) do
{
read_ian: false,
reason_ian: :involved,
reason_ian: :responsible,
read_mail: false,
reason_mail: :involved,
reason_mail: :responsible,
read_mail_digest: false,
reason_mail_digest: :involved
reason_mail_digest: :responsible
}
end
end
@ -290,7 +290,7 @@ describe Notifications::CreateFromModelService,
let(:notification_channel_reasons) do
{
read_ian: false,
reason_ian: :involved,
reason_ian: :responsible,
read_mail: nil,
reason_mail: nil,
read_mail_digest: nil,
@ -953,11 +953,11 @@ describe Notifications::CreateFromModelService,
let(:notification_channel_reasons) do
{
read_ian: false,
reason_ian: :involved,
reason_ian: :assigned,
read_mail: false,
reason_mail: :involved,
reason_mail: :assigned,
read_mail_digest: false,
reason_mail_digest: :involved
reason_mail_digest: :assigned
}
end
end

@ -30,6 +30,7 @@
require 'spec_helper'
# rubocop:disable RSpec/MultipleMemoizedHelpers
describe Notifications::SetAttributesService, type: :model do
let(:user) { FactoryBot.build_stubbed(:user) }
let(:contract_class) do
@ -58,7 +59,7 @@ describe Notifications::SetAttributesService, type: :model do
let(:call_attributes) { {} }
let(:project) { FactoryBot.build_stubbed(:project) }
let(:reason_ian) { :mentioned }
let(:reason_mail) { :involved }
let(:reason_mail) { :assigned }
let(:reason_mail_digest) { :watched }
let(:journal) { FactoryBot.build_stubbed(:journal, journable: journable, data: journal_data) }
let(:journable) { nil }
@ -99,7 +100,7 @@ describe Notifications::SetAttributesService, type: :model do
.to eql({
project_id: project.id,
reason_ian: 'mentioned',
reason_mail: 'involved',
reason_mail: 'assigned',
reason_mail_digest: 'watched',
journal_id: journal.id,
recipient_id: 1,
@ -139,7 +140,7 @@ describe Notifications::SetAttributesService, type: :model do
.to eql({
project_id: project.id,
reason_ian: 'mentioned',
reason_mail: 'involved',
reason_mail: 'assigned',
reason_mail_digest: 'watched',
resource_id: journable.id,
resource_type: 'WorkPackage',
@ -161,3 +162,4 @@ describe Notifications::SetAttributesService, type: :model do
end
end
end
# rubocop:enable RSpec/MultipleMemoizedHelpers

Loading…
Cancel
Save