Merge branch 'dev' into fix/40033-Tab-info-does-not-update-when-closing-the-split-screen

pull/10045/head
Behrokh Satarnejad 3 years ago committed by GitHub
commit 6785f32af7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      .pkgr.yml
  2. 3
      .rubocop.yml
  3. 10
      Gemfile
  4. 88
      Gemfile.lock
  5. 3
      app/controllers/account_controller.rb
  6. 5
      app/controllers/admin/settings/general_settings_controller.rb
  7. 61
      app/controllers/concerns/auth_source_sso.rb
  8. 2
      app/controllers/wiki_controller.rb
  9. 2
      app/models/queries/notifications/notification_query.rb
  10. 2
      app/models/repository.rb
  11. 6
      app/models/users/scopes/having_reminder_mail_to_send.rb
  12. 4
      app/seeders/development_data/custom_fields_seeder.rb
  13. 2
      app/views/groups/edit.html.erb
  14. 4
      app/views/repositories/diff.html.erb
  15. 2
      app/workers/announcements/scheduler_job.rb
  16. 14
      app/workers/backup_job.rb
  17. 2
      config/application.rb
  18. 2
      config/boot.rb
  19. 5
      config/locales/crowdin/af.yml
  20. 5
      config/locales/crowdin/ar.yml
  21. 5
      config/locales/crowdin/az.yml
  22. 5
      config/locales/crowdin/bg.yml
  23. 5
      config/locales/crowdin/ca.yml
  24. 5
      config/locales/crowdin/cs.yml
  25. 5
      config/locales/crowdin/da.yml
  26. 5
      config/locales/crowdin/de.yml
  27. 5
      config/locales/crowdin/el.yml
  28. 5
      config/locales/crowdin/eo.yml
  29. 5
      config/locales/crowdin/es.yml
  30. 5
      config/locales/crowdin/et.yml
  31. 5
      config/locales/crowdin/fa.yml
  32. 5
      config/locales/crowdin/fi.yml
  33. 5
      config/locales/crowdin/fil.yml
  34. 5
      config/locales/crowdin/fr.yml
  35. 5
      config/locales/crowdin/he.yml
  36. 5
      config/locales/crowdin/hi.yml
  37. 5
      config/locales/crowdin/hr.yml
  38. 5
      config/locales/crowdin/hu.yml
  39. 5
      config/locales/crowdin/id.yml
  40. 5
      config/locales/crowdin/it.yml
  41. 5
      config/locales/crowdin/ja.yml
  42. 3
      config/locales/crowdin/js-af.yml
  43. 3
      config/locales/crowdin/js-ar.yml
  44. 3
      config/locales/crowdin/js-az.yml
  45. 3
      config/locales/crowdin/js-bg.yml
  46. 3
      config/locales/crowdin/js-ca.yml
  47. 3
      config/locales/crowdin/js-cs.yml
  48. 3
      config/locales/crowdin/js-da.yml
  49. 3
      config/locales/crowdin/js-de.yml
  50. 3
      config/locales/crowdin/js-el.yml
  51. 3
      config/locales/crowdin/js-eo.yml
  52. 3
      config/locales/crowdin/js-es.yml
  53. 3
      config/locales/crowdin/js-et.yml
  54. 3
      config/locales/crowdin/js-fa.yml
  55. 3
      config/locales/crowdin/js-fi.yml
  56. 3
      config/locales/crowdin/js-fil.yml
  57. 17
      config/locales/crowdin/js-fr.yml
  58. 3
      config/locales/crowdin/js-he.yml
  59. 3
      config/locales/crowdin/js-hi.yml
  60. 3
      config/locales/crowdin/js-hr.yml
  61. 3
      config/locales/crowdin/js-hu.yml
  62. 3
      config/locales/crowdin/js-id.yml
  63. 3
      config/locales/crowdin/js-it.yml
  64. 3
      config/locales/crowdin/js-ja.yml
  65. 3
      config/locales/crowdin/js-ko.yml
  66. 1909
      config/locales/crowdin/js-lol.yml
  67. 3
      config/locales/crowdin/js-lt.yml
  68. 3
      config/locales/crowdin/js-lv.yml
  69. 3
      config/locales/crowdin/js-ne.yml
  70. 3
      config/locales/crowdin/js-nl.yml
  71. 3
      config/locales/crowdin/js-no.yml
  72. 3
      config/locales/crowdin/js-pl.yml
  73. 3
      config/locales/crowdin/js-pt.yml
  74. 3
      config/locales/crowdin/js-ro.yml
  75. 5
      config/locales/crowdin/js-ru.yml
  76. 3
      config/locales/crowdin/js-rw.yml
  77. 3
      config/locales/crowdin/js-si.yml
  78. 3
      config/locales/crowdin/js-sk.yml
  79. 3
      config/locales/crowdin/js-sl.yml
  80. 3
      config/locales/crowdin/js-sv.yml
  81. 3
      config/locales/crowdin/js-th.yml
  82. 3
      config/locales/crowdin/js-tr.yml
  83. 3
      config/locales/crowdin/js-uk.yml
  84. 3
      config/locales/crowdin/js-vi.yml
  85. 5
      config/locales/crowdin/js-zh-TW.yml
  86. 5
      config/locales/crowdin/ko.yml
  87. 5
      config/locales/crowdin/lol.yml
  88. 5
      config/locales/crowdin/lt.yml
  89. 5
      config/locales/crowdin/lv.yml
  90. 5
      config/locales/crowdin/ne.yml
  91. 5
      config/locales/crowdin/nl.yml
  92. 5
      config/locales/crowdin/no.yml
  93. 5
      config/locales/crowdin/pl.yml
  94. 5
      config/locales/crowdin/pt.yml
  95. 5
      config/locales/crowdin/ro.yml
  96. 5
      config/locales/crowdin/ru.yml
  97. 5
      config/locales/crowdin/rw.yml
  98. 5
      config/locales/crowdin/si.yml
  99. 5
      config/locales/crowdin/sk.yml
  100. 5
      config/locales/crowdin/sl.yml
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,5 +1,9 @@
user: openproject
group: openproject
description: OpenProject
homepage: "https://www.openproject.org"
maintainer: "operations+packaging@openproject.com"
license: "GPL"
targets:
debian-9: &debian9
build_dependencies:

@ -201,6 +201,9 @@ RSpec/ContextWording:
- unless
- for
RSpec/FactoryBot/SyntaxMethods:
Enabled: true
Style/Alias:
Enabled: false

@ -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', '~> 12.0.0', require: false
gem 'airbrake', '~> 13.0.0', require: false
gem 'prawn', '~> 2.2'
gem 'prawn-markup', '~> 0.3.0'
@ -188,9 +188,9 @@ gem 'mini_magick', '~> 4.11.0', require: false
# Sentry error reporting, loaded on demand
group :sentry do
gem "sentry-delayed_job", '~> 4.8.0', require: false
gem "sentry-rails", '~> 4.8.0', require: false
gem "sentry-ruby", '~> 4.8.0', require: false
gem "sentry-delayed_job", '~> 4.9.0', require: false
gem "sentry-rails", '~> 4.9.0', require: false
gem "sentry-ruby", '~> 4.9.0', require: false
end
group :test do
@ -284,7 +284,7 @@ group :development, :test do
gem 'danger-brakeman'
end
gem 'bootsnap', '~> 1.9.1', require: false
gem 'bootsnap', '~> 1.10.0', require: false
# API gems
gem 'grape', '~> 1.6.0'

@ -267,9 +267,9 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
aes_key_wrap (1.1.0)
afm (0.2.2)
airbrake (12.0.0)
airbrake (13.0.0)
airbrake-ruby (~> 6.0)
airbrake-ruby (6.0.1)
airbrake-ruby (6.0.2)
rbtree3 (~> 0.5)
ast (2.4.2)
attr_required (1.0.1)
@ -278,8 +278,8 @@ GEM
awesome_nested_set (3.4.0)
activerecord (>= 4.0.0, < 7.0)
aws-eventstream (1.2.0)
aws-partitions (1.547.0)
aws-sdk-core (3.125.2)
aws-partitions (1.549.0)
aws-sdk-core (3.125.5)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
@ -287,7 +287,7 @@ GEM
aws-sdk-kms (1.53.0)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.111.1)
aws-sdk-s3 (1.111.2)
aws-sdk-core (~> 3, >= 3.125.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@ -300,8 +300,8 @@ GEM
bindata (2.4.10)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
bootsnap (1.9.4)
msgpack (~> 1.0)
bootsnap (1.10.2)
msgpack (~> 1.2)
brakeman (5.2.0)
browser (5.3.1)
builder (3.2.4)
@ -315,7 +315,7 @@ GEM
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
capybara-screenshot (1.0.25)
capybara-screenshot (1.0.26)
capybara (>= 1.0, < 4)
launchy
carrierwave (1.3.2)
@ -338,7 +338,7 @@ GEM
actionpack (>= 5.0)
cells (>= 4.1.6, < 5.0.0)
childprocess (4.1.0)
claide (1.0.3)
claide (1.1.0)
claide-plugins (0.9.2)
cork
nap
@ -393,10 +393,10 @@ GEM
declarative-option (0.1.0)
delayed_cron_job (0.9.0)
fugit (>= 1.5)
delayed_job (4.1.9)
activesupport (>= 3.0, < 6.2)
delayed_job_active_record (4.1.6)
activerecord (>= 3.0, < 6.2)
delayed_job (4.1.10)
activesupport (>= 3.0, < 8.0)
delayed_job_active_record (4.1.7)
activerecord (>= 3.0, < 8.0)
delayed_job (>= 3.0, < 5)
diff-lcs (1.5.0)
disposable (0.6.2)
@ -406,7 +406,7 @@ GEM
unf (>= 0.0.5, < 1.0.0)
doorkeeper (5.5.4)
railties (>= 5)
dry-configurable (0.13.0)
dry-configurable (0.14.0)
concurrent-ruby (~> 1.0)
dry-core (~> 0.6)
dry-container (0.9.0)
@ -424,8 +424,8 @@ GEM
dry-core (~> 0.5, >= 0.5)
dry-inflector (~> 0.1, >= 0.1.2)
dry-logic (~> 1.0, >= 1.0.2)
ecma-re-validator (0.3.0)
regexp_parser (~> 2.0)
ecma-re-validator (0.4.0)
regexp_parser (~> 2.2)
em-http-request (1.1.7)
addressable (>= 2.3.4)
cookiejar (!= 0.3.1)
@ -448,7 +448,7 @@ GEM
tzinfo
eventmachine (1.2.7)
eventmachine_httpserver (0.2.1)
excon (0.89.0)
excon (0.90.0)
factory_bot (6.2.0)
activesupport (>= 5.0.0)
factory_bot_rails (6.2.0)
@ -474,7 +474,7 @@ GEM
faraday-http-cache (2.2.0)
faraday (>= 0.8)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.2)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
@ -482,7 +482,7 @@ GEM
faraday-rack (1.0.0)
faraday-retry (1.0.3)
fastimage (2.2.6)
ffi (1.15.4)
ffi (1.15.5)
flamegraph (0.9.5)
fog-aws (3.12.0)
fog-core (~> 2.1)
@ -576,7 +576,7 @@ GEM
addressable (~> 2.7)
letter_opener (1.7.0)
launchy (~> 2.2)
listen (3.7.0)
listen (3.7.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
livingstyleguide (2.1.0)
@ -613,7 +613,7 @@ GEM
mini_portile2 (2.7.1)
minisyntax (0.2.5)
minitest (5.15.0)
msgpack (1.4.2)
msgpack (1.4.4)
multi_json (1.15.0)
multipart-post (2.1.1)
mustermann (1.1.1)
@ -625,10 +625,10 @@ GEM
netrc (0.11.0)
nio4r (2.5.8)
no_proxy_fix (0.1.2)
nokogiri (1.13.0)
nokogiri (1.13.1)
mini_portile2 (~> 2.7.0)
racc (~> 1.4)
octokit (4.21.0)
octokit (4.22.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
oj (3.13.11)
@ -672,7 +672,7 @@ GEM
prawn (2.4.0)
pdf-core (~> 0.9.0)
ttfunk (~> 1.7)
prawn-markup (0.3.3)
prawn-markup (0.3.4)
nokogiri
prawn
prawn-table
@ -765,12 +765,12 @@ GEM
method_source
rake (>= 0.13)
thor (~> 1.0)
rainbow (3.0.0)
rainbow (3.1.1)
rake (13.0.6)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
rbtree3 (0.6.0)
rbtree3 (0.7.0)
rchardet (1.8.0)
rdoc (6.4.0)
psych (>= 4.0.0)
@ -782,7 +782,7 @@ GEM
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
request_store (1.5.0)
request_store (1.5.1)
rack (>= 1.4)
responders (3.0.1)
actionpack (>= 5.0)
@ -805,7 +805,7 @@ GEM
rspec-mocks (~> 3.10.0)
rspec-core (3.10.1)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.1)
rspec-expectations (3.10.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-mocks (3.10.2)
@ -822,9 +822,9 @@ GEM
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-support (3.10.3)
rubocop (1.24.1)
rubocop (1.25.0)
parallel (~> 1.10)
parser (>= 3.0.0.0)
parser (>= 3.1.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml
@ -833,11 +833,11 @@ GEM
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.15.1)
parser (>= 3.0.1.1)
rubocop-rails (2.13.1)
rubocop-rails (2.13.2)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-rspec (2.7.0)
rubocop-rspec (2.8.0)
rubocop (~> 1.19)
ruby-duration (3.2.3)
activesupport (>= 3.0.0)
@ -875,17 +875,17 @@ GEM
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2)
semantic (1.6.1)
sentry-delayed_job (4.8.3)
sentry-delayed_job (4.9.2)
delayed_job (>= 4.0)
sentry-ruby-core (~> 4.8.3)
sentry-rails (4.8.3)
sentry-ruby-core (~> 4.9.2)
sentry-rails (4.9.2)
railties (>= 5.0)
sentry-ruby-core (~> 4.8.3)
sentry-ruby (4.8.3)
sentry-ruby-core (~> 4.9.2)
sentry-ruby (4.9.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
faraday (~> 1.0)
sentry-ruby-core (= 4.8.3)
sentry-ruby-core (4.8.3)
sentry-ruby-core (= 4.9.2)
sentry-ruby-core (4.9.2)
concurrent-ruby
faraday
shoulda-context (2.0.0)
@ -980,13 +980,13 @@ DEPENDENCIES
acts_as_list (~> 1.0.1)
acts_as_tree (~> 2.9.0)
addressable (~> 2.8.0)
airbrake (~> 12.0.0)
airbrake (~> 13.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.9.1)
bootsnap (~> 1.10.0)
brakeman (~> 5.2.0)
browser (~> 5.3.0)
budgets!
@ -1115,9 +1115,9 @@ DEPENDENCIES
secure_headers (~> 6.3.0)
selenium-webdriver (~> 4.0)
semantic (~> 1.6.1)
sentry-delayed_job (~> 4.8.0)
sentry-rails (~> 4.8.0)
sentry-ruby (~> 4.8.0)
sentry-delayed_job (~> 4.9.0)
sentry-rails (~> 4.9.0)
sentry-ruby (~> 4.9.0)
shoulda-context (~> 2.0)
shoulda-matchers (~> 5.0)
spring

@ -269,7 +269,8 @@ class AccountController < ApplicationController
def auth_source_sso_failed
failure = session.delete :auth_source_sso_failure
user = failure[:user]
login = failure[:login]
user = find_or_create_sso_user(login, save: false)
if user.try(:new_record?)
return onthefly_creation_failed user, login: user.login, auth_source_id: user.auth_source_id

@ -32,6 +32,11 @@ module Admin::Settings
class GeneralSettingsController < ::Admin::SettingsController
menu_item :settings_general
def show
super
@guessed_host = request.host_with_port.dup
end
def default_breadcrumb
t(:label_general)
end

@ -33,7 +33,7 @@ module AuthSourceSSO
Rails.logger.debug { "Starting header-based auth source SSO for #{header_name}='#{op_auth_header_value}'" }
user = find_user_from_auth_source(login) || create_user_from_auth_source(login)
user = find_or_create_sso_user(login, save: true)
handle_sso_for! user, login
end
@ -106,6 +106,10 @@ module AuthSourceSSO
end
end
def find_or_create_sso_user(login, save: false)
find_user_from_auth_source(login) || create_user_from_auth_source(login, save: save)
end
def find_user_from_auth_source(login)
User
.by_login(login)
@ -113,31 +117,37 @@ module AuthSourceSSO
.first
end
def create_user_from_auth_source(login)
if attrs = AuthSource.find_user(login)
# login is both safe and protected in chilis core code
# in case it's intentional we keep it that way
user = User.new attrs.except(:login)
user.login = login
user.language = Setting.default_language
def create_user_from_auth_source(login, save:)
attrs = AuthSource.find_user(login)
return unless attrs
save_user! user
attrs[:login] = login
user
end
end
call =
if save
Users::CreateService
.new(user: User.system)
.call(attrs)
else
Users::SetAttributesService
.new(model: User.new, user: User.system, contract_class: Users::CreateContract)
.call(attrs)
end
def save_user!(user)
if user.save
user.reload
user = call.result
if logger && user.auth_source
logger.info(
"User '#{user.login}' created from external auth source: " +
"#{user.auth_source.type} - #{user.auth_source.name}"
)
end
call.on_success do
logger.info(
"User '#{user.login}' created from external auth source: " +
"#{user.auth_source.type} - #{user.auth_source.name}"
)
end
call.on_failure do
logger.error "Tried to create user '#{login}' from external auth source but failed: #{call.message}"
end
user
end
def sso_in_progress!
@ -164,7 +174,7 @@ module AuthSourceSSO
def handle_sso_for!(user, login)
if sso_login_failed?(user)
handle_sso_failure!({ user: user, login: login })
handle_sso_failure!(login: login)
else
# valid user
# If a user is invited, ensure it gets activated
@ -196,11 +206,12 @@ module AuthSourceSSO
end
end
def handle_sso_failure!(session_args = {})
session[:auth_source_sso_failure] = session_args.merge(
def handle_sso_failure!(login: nil)
session[:auth_source_sso_failure] = {
login: login,
back_url: request.base_url + request.original_fullpath,
ttl: 1
)
}
redirect_to sso_failure_path
end

@ -346,7 +346,7 @@ class WikiController < ApplicationController
menu_item.menu_identifier
elsif page.present?
menu_item = default_menu_item(page)
"no-menu-item-#{menu_item.menu_identifier}".to_sym
"no-menu-item-#{menu_item&.menu_identifier || 'unknown'}".to_sym
end
end

@ -34,6 +34,6 @@ class Queries::Notifications::NotificationQuery < Queries::BaseQuery
end
def default_scope
Notification.recipient(user)
Notification.visible(User.current).recipient(user)
end
end

@ -285,7 +285,7 @@ class Repository < ApplicationRecord
elsif committer.strip =~ /\A([^<]+)(<(.*)>)?\z/
username = $1.strip
email = $3
u = User.find_by_login(username)
u = User.by_login(username).first
u ||= User.find_by_mail(email) unless email.blank?
user = u
end

@ -69,9 +69,9 @@ module Users::Scopes
# * reminders are enabled
# * any of the configured reminder time is the local time
# * the local workday is enabled to receive a reminder on
# If no time zone is present, utc is assumed.
# If no time zone is present or if it is blank, the configured default time zone or UTC is assumed.
# If no reminder settings are present, sending a reminder at 08:00 local time is assumed.
# If no workdays are specified, 1 - 5 is assumed which is represents Monday to Friday.
# If no workdays are specified, 1 - 5 is assumed which represents Monday to Friday.
times_sql = arel_table
.grouping(Arel::Nodes::ValuesList.new(local_times))
.as('t(today_local, hours, zone, workday)')
@ -80,7 +80,7 @@ module Users::Scopes
<<~SQL.squish
JOIN (SELECT * FROM #{times_sql.to_sql}) AS local_times
ON COALESCE(user_preferences.settings->>'time_zone', #{default_timezone}, 'Etc/UTC') = local_times.zone
ON COALESCE(NULLIF(user_preferences.settings->>'time_zone',''), #{default_timezone}, 'Etc/UTC') = local_times.zone
AND (
user_preferences.settings->'workdays' @> to_jsonb(local_times.workday)
OR (

@ -47,14 +47,14 @@ module DevelopmentData
def create_types!(cfs)
# Create ALL CFs types
non_req_cfs = cfs.reject(&:is_required).map { |cf| "custom_field_#{cf.id}" }
type = FactoryBot.build :type, name: 'All CFS'
type = build :type, name: 'All CFS'
extend_group(type, ['Custom fields', non_req_cfs])
type.save!
print_status '.'
# Create type
req_cfs = cfs.select(&:is_required).map { |cf| "custom_field_#{cf.id}" }
type_req = FactoryBot.build :type, name: 'Required CF'
type_req = build :type, name: 'Required CF'
extend_group(type_req, ['Custom fields', req_cfs])
type_req.save!
print_status '.'

@ -40,7 +40,7 @@ See COPYRIGHT and LICENSE files for more details.
</li>
<% if current_user.admin? %>
<li class="toolbar-item">
<%= link_to @group,
<%= link_to group_path(@group),
data: { confirm: t(:text_are_you_sure) },
class: 'button -danger',
method: :delete do %>

@ -52,8 +52,8 @@ See COPYRIGHT and LICENSE files for more details.
<% if !@path.blank? %>
<% unidiff_link.gsub!('?', '&amp;') %>
<% end %>
<% wrong_url = CGI::escapeHTML(URI.encode(with_leading_slash(@path))).concat('.diff') %>
<% good_url = '.diff'.concat('?repo_path=', URI.encode(without_leading_slash(@path)).gsub('&', '%26')) %>
<% wrong_url = CGI::escapeHTML(CGI.escape(with_leading_slash(@path))).concat('.diff') %>
<% good_url = '.diff'.concat('?repo_path=', CGI.escape(without_leading_slash(@path)).gsub('&', '%26')) %>
<% unidiff_link.gsub!(wrong_url, good_url) %>
<%= unidiff_link.html_safe %>
<% end %>

@ -31,7 +31,7 @@ module Announcements
queue_with_priority :low
def perform(**announcement)
User.active.find_each do |user|
User.admin.active.find_each do |user|
AnnouncementMailer
.announce(user, **announcement)
.deliver_later

@ -114,7 +114,7 @@ class BackupJob < ::ApplicationJob
def remove_files!(*files)
Array(files).each do |file|
FileUtils.rm file if File.exists? file
FileUtils.rm file if File.exist? file
end
end
@ -161,16 +161,19 @@ class BackupJob < ::ApplicationJob
zipfile.get_output_stream("openproject.sql") { |f| f.write File.read(db_dump_file_name) }
end
# delete locally cached files that were downloaded just for the backup
paths_to_clean.each do |path|
FileUtils.rm_rf path
end
remove_paths! paths_to_clean # delete locally cached files that were downloaded just for the backup
@archived = true
file_name
end
def remove_paths!(paths)
paths.each do |path|
FileUtils.rm_rf path
end
end
def get_cache_folder_path(attachment)
# expecting paths like /tmp/op_uploaded_files/1639754082-3468-0002-0911/file.ext
# just making extra sure so we don't delete anything wrong later on
@ -178,6 +181,7 @@ class BackupJob < ::ApplicationJob
raise "Unexpected cache path for attachment ##{attachment.id}: #{attachment.diskfile}"
end
# returning parent as each cached file is in a separate folder which shall be removed too
Pathname(attachment.diskfile.path).parent.to_s
end

@ -176,7 +176,7 @@ module OpenProject
# Load any local configuration that is kept out of source control
# (e.g. patches).
if File.exists?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
if File.exist?(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_environment.rb'))
end

@ -32,7 +32,7 @@ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
# Load any local boot extras that is kept out of source control
# (e.g., silencing of deprecations)
if File.exists?(File.join(File.dirname(__FILE__), 'additional_boot.rb'))
if File.exist?(File.join(File.dirname(__FILE__), 'additional_boot.rb'))
instance_eval File.read(File.join(File.dirname(__FILE__), 'additional_boot.rb'))
end

@ -752,6 +752,8 @@ af:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ af:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "Bekyk dophouerslys"
@ -2215,7 +2216,6 @@ af:
archived: "Archived"
project_module_activity: "Aktiwiteit"
project_module_forums: "Forums"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Werkspakket rekord"
project_module_news: "Nuus"
project_module_repository: "Repository"
@ -2899,6 +2899,7 @@ af:
schema: 'Skema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -756,6 +756,8 @@ ar:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2255,7 +2257,6 @@ ar:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "حدد وحدات المشروع"
permission_manage_types: "حدد أنواع"
permission_view_calendar: "عرض التقويم"
permission_view_changesets: "عرض مستودع التنقيحات في أوبينبروجيكت"
permission_view_commit_author_statistics: "عرض إحصائيات المؤلِّف المنفّذة"
permission_view_work_package_watchers: "عرض قائمة المراقبين"
@ -2291,7 +2292,6 @@ ar:
archived: "Archived"
project_module_activity: "النشاط"
project_module_forums: "منتديات"
project_module_calendar: "التقويم"
project_module_work_package_tracking: "تتبع مجموعة العمل"
project_module_news: "الأخبار"
project_module_repository: "مستودع البيانات"
@ -2981,6 +2981,7 @@ ar:
schema: 'مخطّط'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ az:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ az:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2215,7 +2216,6 @@ az:
archived: "Archived"
project_module_activity: "Activity"
project_module_forums: "Forums"
project_module_calendar: "Calendar"
project_module_work_package_tracking: "Work package tracking"
project_module_news: "News"
project_module_repository: "Repository"
@ -2899,6 +2899,7 @@ az:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ bg:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ bg:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "Преглед на календара"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2215,7 +2216,6 @@ bg:
archived: "Archived"
project_module_activity: "Активност"
project_module_forums: "Форуми"
project_module_calendar: "Календар"
project_module_work_package_tracking: "Проследяване на работен пакет"
project_module_news: "Новини"
project_module_repository: "Хранилище"
@ -2899,6 +2899,7 @@ bg:
schema: 'Схема'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -749,6 +749,8 @@ ca:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "La confirmació de la contrasenya no coincideix."
format: "%{message}"
@ -2176,7 +2178,6 @@ ca:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Selecciona els mòduls del projecte"
permission_manage_types: "Seleccioneu tipus"
permission_view_calendar: "Visualitzar calendari"
permission_view_changesets: "Veure les revisions del repositori a OpenProject"
permission_view_commit_author_statistics: "Veure les estadístiques de commits de l'autor"
permission_view_work_package_watchers: "Veure la llista d'observadors"
@ -2212,7 +2213,6 @@ ca:
archived: "Archived"
project_module_activity: "Activitat"
project_module_forums: "Fòrums"
project_module_calendar: "Calendari"
project_module_work_package_tracking: "Paquet de treball de seguiment"
project_module_news: "Notícies"
project_module_repository: "Repositori"
@ -2894,6 +2894,7 @@ ca:
schema: 'Esquema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -754,6 +754,8 @@ cs:
group_without_name: "Nepojmenované skupiny nejsou povoleny."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2216,7 +2218,6 @@ cs:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Vyberte moduly projektu"
permission_manage_types: "Vyberte typy"
permission_view_calendar: "Zobrazit kalendář"
permission_view_changesets: "Zobrazit revize repozitáře v OpenProject"
permission_view_commit_author_statistics: "Zobrazit statistiky autora commitu"
permission_view_work_package_watchers: "Zobrazit seznam sledujících"
@ -2252,7 +2253,6 @@ cs:
archived: "Archived"
project_module_activity: "Aktivita"
project_module_forums: "Diskuse"
project_module_calendar: "Kalendář"
project_module_work_package_tracking: "Sledování pracovních balíčků"
project_module_news: "Novinky"
project_module_repository: "Repozitář"
@ -2939,6 +2939,7 @@ cs:
schema: 'Schéma'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Předběžná autorizace'

@ -750,6 +750,8 @@ da:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2177,7 +2179,6 @@ da:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Vælg projektmoduler"
permission_manage_types: "Vælg typer"
permission_view_calendar: "Vis kalender"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "Vis statistik for tilknyttet forfatter"
permission_view_work_package_watchers: "Se liste over tilsynsførende"
@ -2213,7 +2214,6 @@ da:
archived: "Archived"
project_module_activity: "Aktivivtet"
project_module_forums: "Fora"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Sporing af arbejdspakke"
project_module_news: "Nyheder"
project_module_repository: "Projektarkiv"
@ -2895,6 +2895,7 @@ da:
schema: 'Skema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -747,6 +747,8 @@ de:
group_without_name: "Unbenannte Gruppen sind nicht erlaubt."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Passwort und Bestätigung stimmt nicht überein."
format: "%{message}"
@ -2174,7 +2176,6 @@ de:
permission_select_custom_fields: "Benutzerdefinierte Felder verwalten"
permission_select_project_modules: "Projektmodule auswählen"
permission_manage_types: "Typen auswählen"
permission_view_calendar: "Kalender ansehen"
permission_view_changesets: "Revisionen des Projektarchivs in OpenProject ansehen"
permission_view_commit_author_statistics: "Commit Autor Statistiken ansehen"
permission_view_work_package_watchers: "Liste der Beobachter ansehen"
@ -2210,7 +2211,6 @@ de:
archived: "Archiviert"
project_module_activity: "Aktivität"
project_module_forums: "Foren"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Arbeitspakete-Verfolgung"
project_module_news: "Nachrichten"
project_module_repository: "Projektarchiv"
@ -2894,6 +2894,7 @@ de:
schema: 'Schema'
undisclosed:
parent: Unbekannt - Das ausgewählte Elternelement ist wegen fehlender Berechtigungen nicht sichtbar.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Vorab-Autorisierung'

@ -748,6 +748,8 @@ el:
group_without_name: "Δεν επιτρέπονται ομάδες χωρίς όνομα."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2174,7 +2176,6 @@ el:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Επιλογή ενοτήτων έργου"
permission_manage_types: "Επιλέξτε τύπους"
permission_view_calendar: "Προβολή ημερολογίου"
permission_view_changesets: "Προβολή αποθετηρίου των αναθεωρήσεων στο OpenProject"
permission_view_commit_author_statistics: "Εμφάνιση στατιστικών συγγραφέων δέσμευσης"
permission_view_work_package_watchers: "Προβολή λίστας παρατηρητών"
@ -2210,7 +2211,6 @@ el:
archived: "Αρχειοθετημένο"
project_module_activity: "Δραστηριότητα"
project_module_forums: "Φόρουμ"
project_module_calendar: "Ημερολόγιο"
project_module_work_package_tracking: "Παρακολούθηση πακέτου εργασίας"
project_module_news: "Νέα"
project_module_repository: "Αποθετήριο"
@ -2894,6 +2894,7 @@ el:
schema: 'Σχήμα'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Πριν την εξουσιοδότηση'

@ -752,6 +752,8 @@ eo:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ eo:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2215,7 +2216,6 @@ eo:
archived: "Archived"
project_module_activity: "Aktiveco"
project_module_forums: "Forumoj"
project_module_calendar: "Kalendaro"
project_module_work_package_tracking: "Laborpakaĵa spurado"
project_module_news: "Novaĵoj"
project_module_repository: "Deponejo"
@ -2899,6 +2899,7 @@ eo:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -749,6 +749,8 @@ es:
group_without_name: "No se permiten grupos sin nombre."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "La confirmación de contraseña no coincide con la contraseña."
format: "%{message}"
@ -2176,7 +2178,6 @@ es:
permission_select_custom_fields: "Seleccionar campos personalizados"
permission_select_project_modules: "Seleccionar módulos de proyecto"
permission_manage_types: "Seleccionar Tipos"
permission_view_calendar: "Ver calendario"
permission_view_changesets: "Ver las revisiones del repositorio en OpenProject"
permission_view_commit_author_statistics: "Ver estadísticas del commit del autor"
permission_view_work_package_watchers: "Ver lista de observadores"
@ -2212,7 +2213,6 @@ es:
archived: "Archivado"
project_module_activity: "Actividad"
project_module_forums: "Foros"
project_module_calendar: "Calendario"
project_module_work_package_tracking: "Seguimiento de paquetes de trabajo"
project_module_news: "Noticias"
project_module_repository: "Repositorio"
@ -2895,6 +2895,7 @@ es:
schema: 'Esquema'
undisclosed:
parent: 'Oculto: el elemento primario seleccionado no se muestra porque no tiene los permisos necesarios.'
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-autorización'

@ -752,6 +752,8 @@ et:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ et:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Vali projekti mooduleid"
permission_manage_types: "Muuta tüüpe"
permission_view_calendar: "Kuva kalendrit"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "Kuvada sissekandestatistikat autorite kohta"
permission_view_work_package_watchers: "Jälgijate nimekirja kuvada"
@ -2215,7 +2216,6 @@ et:
archived: "Archived"
project_module_activity: "Tegevus"
project_module_forums: "Foorumid"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Teemasid jälgida"
project_module_news: "Uudised"
project_module_repository: "Hoidla"
@ -2899,6 +2899,7 @@ et:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ fa:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ fa:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2215,7 +2216,6 @@ fa:
archived: "بایگانی"
project_module_activity: "فعالیت"
project_module_forums: "Forums"
project_module_calendar: "Calendar"
project_module_work_package_tracking: "Work package tracking"
project_module_news: "News"
project_module_repository: "Repository"
@ -2899,6 +2899,7 @@ fa:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ fi:
group_without_name: "Nimeämätön ryhmät eivät ole sallittuja."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ fi:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Valitse projektin modulit"
permission_manage_types: "Valitse tyypit"
permission_view_calendar: "Näytä kalenteri"
permission_view_changesets: "Näytä muutosryhmät"
permission_view_commit_author_statistics: "Tarkastele tilastoja tekijöistä"
permission_view_work_package_watchers: "Tarkastele seuraajien luetteloa"
@ -2215,7 +2216,6 @@ fi:
archived: "Archived"
project_module_activity: "Tapahtumat"
project_module_forums: "Keskustelupalstat"
project_module_calendar: "Kalenteri"
project_module_work_package_tracking: "Tehtävien seuranta"
project_module_news: "Uutiset"
project_module_repository: "Tietovarasto"
@ -2899,6 +2899,7 @@ fi:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ fil:
group_without_name: "Wala pangalan ng grupo ay hindi pinapayagan."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ fil:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Piliin ang mga proyektong modyul"
permission_manage_types: "Pumili ng mga uri"
permission_view_calendar: "Tanawin ang kalendaryo"
permission_view_changesets: "Tingnan ang mga repository revision ng OpenProject"
permission_view_commit_author_statistics: "Tanawin ang commit"
permission_view_work_package_watchers: "Tanawin ang mga manunuod ng listahan"
@ -2215,7 +2216,6 @@ fil:
archived: "Archived"
project_module_activity: "Aktibidad"
project_module_forums: "Mga forum"
project_module_calendar: "Kalendaryo"
project_module_work_package_tracking: "Ang pagtra-track ng work package"
project_module_news: "Mga balita"
project_module_repository: "Repositoryo"
@ -2897,6 +2897,7 @@ fil:
schema: 'Iskema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ fr:
group_without_name: "Les groupes sans nom ne sont pas autorisés."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "La confirmation du mot de passe ne correspond pas au mot de passe."
format: "%{message}"
@ -2179,7 +2181,6 @@ fr:
permission_select_custom_fields: "Sélectionner les champs personnalisés"
permission_select_project_modules: "Sélectionner modules de projet"
permission_manage_types: "Sélectionner types"
permission_view_calendar: "Voir le calendrier"
permission_view_changesets: "Voir révisions du dépôt dans OpenProject"
permission_view_commit_author_statistics: "Voir les statistiques des auteurs de «commit»"
permission_view_work_package_watchers: "Voir la liste des observateurs"
@ -2215,7 +2216,6 @@ fr:
archived: "Archivé"
project_module_activity: "Activité"
project_module_forums: "Forums"
project_module_calendar: "Calendrier"
project_module_work_package_tracking: "Suivi des lots de travaux"
project_module_news: "Actualités"
project_module_repository: "Référentiel"
@ -2898,6 +2898,7 @@ fr:
schema: 'Schéma'
undisclosed:
parent: Non divulgué - Le parent sélectionné est invisible en raison d'un manque de permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Préautorisation'

@ -754,6 +754,8 @@ he:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2217,7 +2219,6 @@ he:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2253,7 +2254,6 @@ he:
archived: "Archived"
project_module_activity: "פעילות"
project_module_forums: "פורומים"
project_module_calendar: "לוח שנה"
project_module_work_package_tracking: "Work package tracking"
project_module_news: "חדשות"
project_module_repository: "Repository"
@ -2941,6 +2941,7 @@ he:
schema: 'סכימה'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -750,6 +750,8 @@ hi:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2177,7 +2179,6 @@ hi:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2213,7 +2214,6 @@ hi:
archived: "Archived"
project_module_activity: "गतिि"
project_module_forums: "मच"
project_module_calendar: "कडर"
project_module_work_package_tracking: "कय पज टिग"
project_module_news: "नय"
project_module_repository: "Repository"
@ -2897,6 +2897,7 @@ hi:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -753,6 +753,8 @@ hr:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2198,7 +2200,6 @@ hr:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Odaberi module projekta"
permission_manage_types: "Odaberi tipove"
permission_view_calendar: "Prikaži kalendar"
permission_view_changesets: "Pogledaj revizije za repozitorij unutar OpenProjecta"
permission_view_commit_author_statistics: "Pogledaj statistiku commitanja autora"
permission_view_work_package_watchers: "Prikaži listu nadglednika"
@ -2234,7 +2235,6 @@ hr:
archived: "Archived"
project_module_activity: "Aktivnost"
project_module_forums: "Forumi"
project_module_calendar: "Kalendar"
project_module_work_package_tracking: "Praćenje radnog paketa"
project_module_news: "Vijesti"
project_module_repository: "Repozitorij"
@ -2920,6 +2920,7 @@ hr:
schema: 'Shema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -753,6 +753,8 @@ hu:
group_without_name: "Névtelen csoport nem engedélyezett."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}\n"
@ -2183,7 +2185,6 @@ hu:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Projekt modulok kiválasztása"
permission_manage_types: "Jelölje ki a típust"
permission_view_calendar: "A naptár megtekintése"
permission_view_changesets: "Tároló verziók megtekintése az OpenProject-ben"
permission_view_commit_author_statistics: "Szerző,statisztika megtekintése"
permission_view_work_package_watchers: "A megfigyelők listájának megtekintése"
@ -2219,7 +2220,6 @@ hu:
archived: "Archiválva"
project_module_activity: "Tevékenység"
project_module_forums: "Fórumok"
project_module_calendar: "Naptár"
project_module_work_package_tracking: "A munkacsomag nyomon követése"
project_module_news: "Hírek"
project_module_repository: "Csomagtároló"
@ -2909,6 +2909,7 @@ hu:
schema: 'Séma'
undisclosed:
parent: A kiválasztott szülő a jogosultságok hiánya miatt láthatatlan.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: "Előzetes engedélyezés\n"

@ -748,6 +748,8 @@ id:
group_without_name: "Kelompok tak bernama tidak dibolehkan."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2157,7 +2159,6 @@ id:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Pilih modul Project"
permission_manage_types: "Pilih Tipe"
permission_view_calendar: "Lihat kalender"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "Lihat commit statistik penulis"
permission_view_work_package_watchers: "Lihat daftar pemantau"
@ -2193,7 +2194,6 @@ id:
archived: "Archived"
project_module_activity: "Activity"
project_module_forums: "Forum"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Tracking Paket-Penugasan"
project_module_news: "News"
project_module_repository: "Repositori"
@ -2873,6 +2873,7 @@ id:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -749,6 +749,8 @@ it:
group_without_name: "Non sono ammessi gruppi senza nome."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Le password non corrispondono."
format: "%{message}"
@ -2176,7 +2178,6 @@ it:
permission_select_custom_fields: "Seleziona campi personalizzati"
permission_select_project_modules: "Seleziona moduli del progetto"
permission_manage_types: "Seleziona i tipi"
permission_view_calendar: "Vedi calendario"
permission_view_changesets: "Visualizza l'archivio revisioni in OpenProject"
permission_view_commit_author_statistics: "Visualizza le statistiche dell'autore delle modifiche confermate"
permission_view_work_package_watchers: "Vedi la lista degli osservatori"
@ -2212,7 +2213,6 @@ it:
archived: "Archiviato"
project_module_activity: "Attività"
project_module_forums: "Forum"
project_module_calendar: "Calendario"
project_module_work_package_tracking: "Monitoraggio macro-attività"
project_module_news: "Notizie"
project_module_repository: "Archivio"
@ -2896,6 +2896,7 @@ it:
schema: 'Schema'
undisclosed:
parent: Non divulgato - Il genitore selezionato è invisibile a causa della mancanza dei permessi.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-autorizzazione'

@ -747,6 +747,8 @@ ja:
group_without_name: "名前のないグループは指定できません。"
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2156,7 +2158,6 @@ ja:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "プロジェクトでモジュールの選択"
permission_manage_types: "ワークパッケージのタイプを選択"
permission_view_calendar: "カレンダーの閲覧"
permission_view_changesets: "OpenProject にリポジトリのリビジョンを表示"
permission_view_commit_author_statistics: "コミット作成者の統計情報の閲覧"
permission_view_work_package_watchers: "ウォッチャー一覧の閲覧"
@ -2192,7 +2193,6 @@ ja:
archived: "アーカイブ済み"
project_module_activity: "活動"
project_module_forums: "フォーラム"
project_module_calendar: "カレンダー"
project_module_work_package_tracking: "ワークパッケージの追跡"
project_module_news: "ニュース"
project_module_repository: "リポジトリ"
@ -2874,6 +2874,7 @@ ja:
schema: 'スキーマ'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: '事前承認'

@ -88,9 +88,6 @@ af:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Skep"
calendar:
title: 'Kalender'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ ar:
button_export-pdf: "تنزيل PDF"
button_export-atom: "تحميل Atom"
button_create: "إنشاء"
calendar:
title: 'التقويم'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ az:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Create"
calendar:
title: 'Calendar'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ bg:
button_export-pdf: "Свали PDF"
button_export-atom: "Свали Atom"
button_create: "Създаване"
calendar:
title: 'Календар'
too_many: 'Общо има %{count} работни пакети, но могат да бъдат показани само %{max}.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ ca:
button_export-pdf: "Descarregar PDF"
button_export-atom: "Descarregar Atom"
button_create: "Crear"
calendar:
title: 'Calendari'
too_many: 'Hi ha %{count} paquets de treball en total, però només %{max} es poden mostrar'
card:
add_new: 'Afegir nova targeta'
highlighting:

@ -88,9 +88,6 @@ cs:
button_export-pdf: "Stáhnout PDF"
button_export-atom: "Stáhnout Atom"
button_create: "Vytvořit"
calendar:
title: 'Kalendář'
too_many: 'Celkem je zde %{count} pracovních balíčků, ale pouze %{max} lze zobrazit.'
card:
add_new: 'Přidat novou kartu'
highlighting:

@ -88,9 +88,6 @@ da:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Opret"
calendar:
title: 'Kalender'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ de:
button_export-pdf: "PDF-Download"
button_export-atom: "Atom-Download"
button_create: "Anlegen"
calendar:
title: 'Kalender'
too_many: 'Es gibt insgesamt %{count} Arbeitspakete, aber nur %{max} können angezeigt werden.'
card:
add_new: 'Neue Karte hinzufügen'
highlighting:

@ -88,9 +88,6 @@ el:
button_export-pdf: "Λήψη PDF"
button_export-atom: "Κατεβάστε το Atom"
button_create: "Δημιουργία"
calendar:
title: 'Ημερολόγιο'
too_many: 'Συνολικά υπάρχουν %{count} πακέτα εργασίας, αλλά μπορούν να εμφανιστούν μόνο %{max}.'
card:
add_new: 'Προσθέστε νέα κάρτα'
highlighting:

@ -88,9 +88,6 @@ eo:
button_export-pdf: "Elŝuti PDF"
button_export-atom: "Elŝuti Atom"
button_create: "Krei"
calendar:
title: 'Kalendaro'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Aldoni novan karton'
highlighting:

@ -88,9 +88,6 @@ es:
button_export-pdf: "Descargar PDF"
button_export-atom: "Descargar Atom"
button_create: "Crear"
calendar:
title: 'Calendario'
too_many: 'Hay %{count} paquetes de trabajo en total, pero solo pueden mostrarse %{max}.'
card:
add_new: 'Añadir nueva tarjeta'
highlighting:

@ -88,9 +88,6 @@ et:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Loo uus"
calendar:
title: 'Kalender'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ fa:
button_export-pdf: "دانلود PDF"
button_export-atom: "دریافت Atom"
button_create: "ایجاد"
calendar:
title: 'Calendar'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ fi:
button_export-pdf: "Lataa PDF"
button_export-atom: "Lataa Atom"
button_create: "Uusi"
calendar:
title: 'Kalenteri'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Uusi kortti'
highlighting:

@ -88,9 +88,6 @@ fil:
button_export-pdf: "I-download ang PDF"
button_export-atom: "I-download ang atom"
button_create: "Lumikha"
calendar:
title: 'Kalendaryo'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -73,7 +73,7 @@ fr:
button_advanced_filter: "Filtre avancé"
button_list_view: "Vue en liste"
button_show_view: "Affichage plein écran"
button_log_time: "Consigner temps"
button_log_time: "Afficher l'horodatage"
button_more: "Plus"
button_open_details: "Ouvrir la vue détaillée"
button_close_details: "Fermer la vue détaillée"
@ -88,9 +88,6 @@ fr:
button_export-pdf: "Télécharger le PDF"
button_export-atom: "Télécharger Atom"
button_create: "Créer"
calendar:
title: 'Calendrier'
too_many: 'Il y a %{count} de paquets de travail au total, mais seulement %{max} peut être affiché.'
card:
add_new: 'Ajouter une nouvelle carte'
highlighting:
@ -141,7 +138,7 @@ fr:
button: 'Liens vers les pages enfants'
include_parent: 'Inclure un parent'
text: '[Placeholder] Liens vers les pages enfants de'
page: 'Page wiki'
page: 'Page du wiki'
this_page: 'cette page'
hint: |
Laissez ce champ vide pour répertorier toutes les pages enfants de la page actuelle. Si vous souhaitez référencer une page différente, indiquez son titre ou slug.
@ -158,7 +155,7 @@ fr:
wiki_page_include:
button: 'Inclure le contenu d’une autre page wiki'
text: '[Placeholder] Page wiki inclue de'
page: 'Page wiki'
page: 'Page du wiki'
not_set: '(page pas encore définie)'
hint: |
Incluez le contenu d’une autre page du wiki en indiquant son titre ou slug.
@ -178,7 +175,7 @@ fr:
admin:
type_form:
custom_field: 'Champ personnalisé'
inactive: 'Désactivé'
inactive: 'Inactif'
drag_to_activate: "Faites glisser les champs ici pour les activer"
add_group: "Ajouter un groupe d’attributs"
add_table: "Ajouter un tableau des lots de travaux associés"
@ -291,7 +288,7 @@ fr:
standard:
learn_about_link: https://www.openproject.org/blog/openproject-12-0-release
new_features_html: >
The release contains various new features and improvements: <br> <ul class="%{list_styling_class}"> <li>With the new <b>in-app notifications</b> you receive all important updates directly in the application and don't get a flood of emails anymore.</li> <li>The new <b>notification center</b> shows all the changes, including intuitive filter options, e.g. by reason for notification or projects. It even allows editing directly in a split view.</li> <li>Improved <b>notification settings</b> allow to fine-tune for which actions and in which projects you want to receive a notification.</li> <li><b>Email reminders</b> can be configured to receive important updates via a daily email summary.</li> <li>The work package auto-completer for relations now also shows additional information (project name, status, ...) to easily identify the respective work package.</li> </ul>
Cette version contient une variété de nouvelle fonctionnalités et d'améliorations : <br> <ul class="%{list_styling_class}"> <li>Avec les nouvelles<b>Notifications intégrées</b> vous recevez toutes les mises à jour importantes directement dans l'application et vous ne recevez plus une multitude d'emails.</li><li>Le nouveau <b>centre de notifications</b> affiche tous les changements, incluant les options de filtres intuitifs, par exemple par raison pour les notifications ou les projets. Il autorise même l'édition directement dans une vue séparée.</li> <li>Amélioration des <b>paramètres de notifications</b> autorisant un réglage précis de pour quels actions et dans quels projets vous voulez recevoir des notifications.</li><li>Des <b>rappels emails</b> peuvent être configurés pour recevoir les mises à jour importantes avec un résumé journalier.</li> <li>L'autocomplétion des lots de travaux pour les relations affiche maintenant les information supplémentaires (nom du projet, status, ...) pour facilement identifier les lots de travaux correspondants</li> </ul>
bim:
learn_about_link: https://www.openproject.org/blog/openproject-12-0-release
new_features_html: >
@ -558,7 +555,7 @@ fr:
description: 'Recevoir une notification chaque fois que quelqu''un me mentionne n''importe où'
involved:
title: 'Assigné à moi ou responsable'
description: 'Receive notifications for all activities on work packages for which I am assignee or accountable'
description: 'Recevez des notifications pour toutes les activités sur les lots de travaux qui vous ont été assignés'
watched: 'Mises à jour sur les éléments surveillés'
work_package_commented: 'Tous les nouveaux commentaires'
work_package_created: 'Nouveaux lots de travaux'
@ -577,7 +574,7 @@ fr:
description: 'Ces paramètres spécifiques au projet remplacent les paramètres par défaut ci-dessus'
add: 'Ajouter un paramètre pour le projet'
already_selected: 'Ce projet est déjà sélectionné'
remove: 'Remove project settings'
remove: 'Suppression des paramètres de projet'
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'

@ -88,9 +88,6 @@ he:
button_export-pdf: "הורד קובץ PDF"
button_export-atom: "Download Atom"
button_create: "צור"
calendar:
title: 'לוח שנה'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ hi:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "रचन कर"
calendar:
title: 'कडर'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ hr:
button_export-pdf: "Preuzmi PDF"
button_export-atom: "Preuzmite Atom"
button_create: "Stvori"
calendar:
title: 'Kalendar'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -90,9 +90,6 @@ hu:
button_export-pdf: "PDF-fájl letöltése"
button_export-atom: "Atom letöltés"
button_create: "Létrehoz"
calendar:
title: 'Naptár'
too_many: 'Összesen %{count} munkacsomag van, de csak %{max} jeleníthető meg.'
card:
add_new: 'Új kártya hozzáadása'
highlighting:

@ -88,9 +88,6 @@ id:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Buat baru"
calendar:
title: 'Kalender'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ it:
button_export-pdf: "Scarica PDF"
button_export-atom: "Scarica Atom"
button_create: "Crea"
calendar:
title: 'Calendario'
too_many: 'Ci sono %{count} macro-attività in totale, ma solo %{max} può essere mostrata.'
card:
add_new: 'Aggiungi una nuova carta'
highlighting:

@ -89,9 +89,6 @@ ja:
button_export-pdf: "PDFファイルをダウンロード"
button_export-atom: "Atomをダウンロード"
button_create: "作成"
calendar:
title: 'カレンダー'
too_many: '合計 %{count} のワークパッケージがありますが %{max} のみ表示されます。'
card:
add_new: '新規カード追加'
highlighting:

@ -88,9 +88,6 @@ ko:
button_export-pdf: "PDF 다운로드"
button_export-atom: "Atom 다운로드"
button_create: "만들기"
calendar:
title: '달력'
too_many: '총 %{count}개 작업 패키지가 있지만, %{max}개만 표시할 수 있습니다.'
card:
add_new: '새로운 카드를 추가하다'
highlighting:

File diff suppressed because it is too large Load Diff

@ -88,9 +88,6 @@ lt:
button_export-pdf: "Atsisiųsti PDF"
button_export-atom: "Atsisiųsti Atom"
button_create: "Kurti"
calendar:
title: 'Kalendorius'
too_many: 'Iš viso yra %{count} darbo paketų, bet tik %{max} gali būti rodomi.'
card:
add_new: 'Pridėti naują kortelę'
highlighting:

@ -88,9 +88,6 @@ lv:
button_export-pdf: "Lejupielādēt PDF"
button_export-atom: "Download Atom"
button_create: "Izveidot"
calendar:
title: 'Kalendārs'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ ne:
button_export-pdf: "PDF डउनलड गर"
button_export-atom: "एटम डउनलड गर"
button_create: "Create"
calendar:
title: 'Calendar'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'नयड थप'
highlighting:

@ -88,9 +88,6 @@ nl:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Maken"
calendar:
title: 'Kalender'
too_many: 'Er zijn in totaal %{count} werkpakketten, maar alleen %{max} kan worden getoond.'
card:
add_new: 'Nieuwe kaart toevoegen'
highlighting:

@ -88,9 +88,6 @@
button_export-pdf: "Last ned PDF"
button_export-atom: "Download Atom"
button_create: "Opprett"
calendar:
title: 'Kalender'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ pl:
button_export-pdf: "Pobierz plik PDF"
button_export-atom: "Pobierz Atom"
button_create: "Utwórz"
calendar:
title: 'Kalendarz'
too_many: 'Łącznie pakietów roboczych jest %{count}, ale pokazać można tylko %{max}.'
card:
add_new: 'Dodaj nową kartę'
highlighting:

@ -88,9 +88,6 @@ pt:
button_export-pdf: "Baixar PDF"
button_export-atom: "Baixar Atom"
button_create: "Criar"
calendar:
title: 'Calendário'
too_many: 'Existem %{count} pacotes de trabalho, mas apenas %{max} podem ser mostrados.'
card:
add_new: 'Adicionar novo cartão'
highlighting:

@ -88,9 +88,6 @@ ro:
button_export-pdf: "Descărcare PDF"
button_export-atom: "Descărcare Atom"
button_create: "Creare"
calendar:
title: 'Calendar'
too_many: 'Există %{count} pachete de lucru în total, dar numai %{max} poate fi afișat.'
card:
add_new: 'Adăugați un nou card'
highlighting:

@ -88,9 +88,6 @@ ru:
button_export-pdf: "Скачать PDF"
button_export-atom: "Скачать Atom"
button_create: "Создать"
calendar:
title: 'Календарь'
too_many: 'Всего %{count} пакетов работ, но может быть отображено только %{max}.'
card:
add_new: 'Добавить новую карту'
highlighting:
@ -312,7 +309,7 @@ ru:
label_and: "и"
label_ascending: "По возрастанию"
label_author: "Автор: %{user}"
label_avatar: "Глистовья какашка\n"
label_avatar: "Аватар\n"
label_between: "между"
label_board: "Доска"
label_board_locked: "Заперто"

@ -88,9 +88,6 @@ rw:
button_export-pdf: "Download PDF"
button_export-atom: "Download Atom"
button_create: "Create"
calendar:
title: 'Calendar'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ si:
button_export-pdf: "PDF බගනන"
button_export-atom: "බගත කරනන පරමව"
button_create: "සදනන"
calendar:
title: 'දන දරශනය'
too_many: 'සමණ වඩ පජ %{count} ක ඇත, නමය හ %{max} පමණ.'
card:
add_new: 'නව ක එකත කරනන'
highlighting:

@ -88,9 +88,6 @@ sk:
button_export-pdf: "Stiahnuť PDF"
button_export-atom: "Stiahnuť Atom"
button_create: "Vytvoriť"
calendar:
title: 'Kalendár'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Pridať novú kartu'
highlighting:

@ -88,9 +88,6 @@ sl:
button_export-pdf: "Prenesi PDF"
button_export-atom: "Prenesi Atom"
button_create: "Ustvari"
calendar:
title: 'Koledar'
too_many: 'Obstaja %{count} delovnih paketov, vendar je lahko prikazanih samo %{max}.'
card:
add_new: 'Dodaj nov card'
highlighting:

@ -88,9 +88,6 @@ sv:
button_export-pdf: "Ladda ner PDF"
button_export-atom: "Ladda ner Atom"
button_create: "Skapa"
calendar:
title: 'Kalender'
too_many: 'Det finns totalt %{count} arbetspaket, men bara %{max} kan visas.'
card:
add_new: 'Lägg till kort'
highlighting:

@ -88,9 +88,6 @@ th:
button_export-pdf: "ดาวนโหลดไฟล PDF"
button_export-atom: "ดาวนโหลดไฟล Atom"
button_create: "สราง"
calendar:
title: 'ปฏน'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Add new card'
highlighting:

@ -88,9 +88,6 @@ tr:
button_export-pdf: "PDF indir"
button_export-atom: "Atom İndir"
button_create: "Oluştur"
calendar:
title: 'Takvim'
too_many: 'Toplamda %{count} iş paketi var, ancak sadece %{max} gösterilebilir.'
card:
add_new: 'Yeni kart ekleyin'
highlighting:

@ -88,9 +88,6 @@ uk:
button_export-pdf: "Завантажити PDF"
button_export-atom: "Завантажити Atom"
button_create: "Створити"
calendar:
title: 'Календар'
too_many: 'There are %{count} work packages in total, but only %{max} can be shown.'
card:
add_new: 'Додати нову картку'
highlighting:

@ -88,9 +88,6 @@ vi:
button_export-pdf: "Tải PDF"
button_export-atom: "Tải về Atom"
button_create: "Tạo mới"
calendar:
title: 'Lịch'
too_many: 'Tổng cộng có %{count} công việc, nhưng chỉ %{max} có thể được hiển thị.'
card:
add_new: 'Thêm thẻ mới'
highlighting:

@ -88,9 +88,6 @@ zh-TW:
button_export-pdf: "下載 PDF"
button_export-atom: "下載 Atom"
button_create: "建立"
calendar:
title: '行事曆'
too_many: '總共有 %{count} 個工作項目,但只有 %{max} 個可以顯示。'
card:
add_new: '新增卡片'
highlighting:
@ -213,7 +210,7 @@ zh-TW:
resend_success: "Email has been resent. Please check your emails and click the confirmation link provided."
resend_warning: "Could not resend email."
session_timeout: "Your session timed out. Please try to reload the page or resend email."
status_label: "Status:"
status_label: "狀態:"
status_confirmed: "已確認"
status_waiting: "email sent - waiting for confirmation"
test_ee: "Test the Enterprise Edition 14 days for free"

@ -750,6 +750,8 @@ ko:
group_without_name: "명명되지 않은 그룹은 허용되지 않습니다."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "비밀번호와 비밀번호 확인이 일치하지 않습니다."
format: "%{message}"
@ -2159,7 +2161,6 @@ ko:
permission_select_custom_fields: "사용자 지정 필드 선택"
permission_select_project_modules: "프로젝트 모듈 선택"
permission_manage_types: "유형 선택"
permission_view_calendar: "달력 보기"
permission_view_changesets: "OpenProject에서 리포지토리 수정 사항 보기"
permission_view_commit_author_statistics: "커밋 작성자 통계 보기"
permission_view_work_package_watchers: "주시자 목록 보기"
@ -2195,7 +2196,6 @@ ko:
archived: "보관됨"
project_module_activity: "활동"
project_module_forums: "포럼"
project_module_calendar: "달력"
project_module_work_package_tracking: "작업 패키지 추적"
project_module_news: "뉴스"
project_module_repository: "리포지토리"
@ -2875,6 +2875,7 @@ ko:
schema: '스키마'
undisclosed:
parent: 숨겨짐 - 권한이 없어 선택한 부모를 볼 수 없습니다.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: '사전 권한 부여'

@ -733,6 +733,8 @@ lol:
group_without_name: "crwdns495659:0crwdne495659:0"
user:
attributes:
base:
user_limit_reached: "crwdns586679:0crwdne586679:0"
password_confirmation:
confirmation: "crwdns495661:0crwdne495661:0"
format: "crwdns495663:0%{message}crwdne495663:0"
@ -2145,7 +2147,6 @@ lol:
permission_select_custom_fields: "crwdns498633:0crwdne498633:0"
permission_select_project_modules: "crwdns498635:0crwdne498635:0"
permission_manage_types: "crwdns498637:0crwdne498637:0"
permission_view_calendar: "crwdns498639:0crwdne498639:0"
permission_view_changesets: "crwdns498641:0crwdne498641:0"
permission_view_commit_author_statistics: "crwdns498643:0crwdne498643:0"
permission_view_work_package_watchers: "crwdns498645:0crwdne498645:0"
@ -2181,7 +2182,6 @@ lol:
archived: "crwdns498691:0crwdne498691:0"
project_module_activity: "crwdns498693:0crwdne498693:0"
project_module_forums: "crwdns498695:0crwdne498695:0"
project_module_calendar: "crwdns498697:0crwdne498697:0"
project_module_work_package_tracking: "crwdns498699:0crwdne498699:0"
project_module_news: "crwdns498701:0crwdne498701:0"
project_module_repository: "crwdns498703:0crwdne498703:0"
@ -2862,6 +2862,7 @@ lol:
schema: 'crwdns499849:0crwdne499849:0'
undisclosed:
parent: crwdns499851:0crwdne499851:0
ancestor: crwdns586681:0crwdne586681:0
doorkeeper:
pre_authorization:
status: 'crwdns499853:0crwdne499853:0'

@ -751,6 +751,8 @@ lt:
group_without_name: "Bevardės grupės nėra leidžiamos."
user:
attributes:
base:
user_limit_reached: "Pasiekta naudotoj riba. Su dabartiniu planu daugiau paskyrų kurti nebegalima."
password_confirmation:
confirmation: "Slaptažodžio patvirtinimas nesutampa su įvestu slaptažodžiu."
format: "%{message}"
@ -2214,7 +2216,6 @@ lt:
permission_select_custom_fields: "Parinkite savo laukus"
permission_select_project_modules: "Parinkti projekto modulius"
permission_manage_types: "Pasirinkti tipus"
permission_view_calendar: "Peržiūrėti kalendorių"
permission_view_changesets: "Rodyti repozitorijos pakeitimus OpenProject"
permission_view_commit_author_statistics: "Peržiūrėti autorių pakeitimų pateikimo statistiką"
permission_view_work_package_watchers: "Peržiūrėti stebėtojų sąrašą"
@ -2250,7 +2251,6 @@ lt:
archived: "Suarchyvuotas"
project_module_activity: "Veikla"
project_module_forums: "Forumai"
project_module_calendar: "Kalendorius"
project_module_work_package_tracking: "Darbų paketo sekimas"
project_module_news: "Naujienos"
project_module_repository: "Repozitorija"
@ -2935,6 +2935,7 @@ lt:
schema: 'Schema'
undisclosed:
parent: Nerodomas -- pasirinktas tėvinis projektas yra nematomas nes trūksta teisių.
ancestor: Nerodoma - tėvas nematomas dėl teisių trūkumo.
doorkeeper:
pre_authorization:
status: 'Išankstinė autorizacija'

@ -753,6 +753,8 @@ lv:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2198,7 +2200,6 @@ lv:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Atlasiet projekta moduļus"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "Skatīt sekotājus"
@ -2234,7 +2235,6 @@ lv:
archived: "Archived"
project_module_activity: "Aktivitāte"
project_module_forums: "Forums"
project_module_calendar: "Kalendārs"
project_module_work_package_tracking: "Pieteikumi"
project_module_news: "Jaunumi"
project_module_repository: "Repository"
@ -2920,6 +2920,7 @@ lv:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ ne:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ ne:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2215,7 +2216,6 @@ ne:
archived: "Archived"
project_module_activity: "Activity"
project_module_forums: "Forums"
project_module_calendar: "Calendar"
project_module_work_package_tracking: "Work package tracking"
project_module_news: "News"
project_module_repository: "Repository"
@ -2899,6 +2899,7 @@ ne:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -749,6 +749,8 @@ nl:
group_without_name: "Groepen zonder namen zijn niet toegestaan."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2175,7 +2177,6 @@ nl:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Selecteer project modules"
permission_manage_types: "Selecteer typen"
permission_view_calendar: "Weergave agenda"
permission_view_changesets: "Bekijk opslagplaats wijzigingen in OpenProject"
permission_view_commit_author_statistics: "Bekijk de commit auteur statistieken"
permission_view_work_package_watchers: "Lijst van de watchers weergave"
@ -2211,7 +2212,6 @@ nl:
archived: "Gearchiveerd"
project_module_activity: "Activiteit"
project_module_forums: "Fora"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Werkpakket bijhouden"
project_module_news: "Nieuws"
project_module_repository: "Repository"
@ -2894,6 +2894,7 @@ nl:
schema: 'Schema'
undisclosed:
parent: Niet openbaar gemaakt - De geselecteerde ouder is onzichtbaar door ontbrekende rechten.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-autorisatie'

@ -752,6 +752,8 @@
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Velg prosjektmoduler"
permission_manage_types: "Velg typer"
permission_view_calendar: "Vis kalender"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "Vis statistikk over forfatterbidrag"
permission_view_work_package_watchers: "Vis liste over overvåkere"
@ -2215,7 +2216,6 @@
archived: "Archived"
project_module_activity: "Aktivitet"
project_module_forums: "Forum"
project_module_calendar: "Kalender"
project_module_work_package_tracking: "Sporing av arbeidspakke"
project_module_news: "Nyheter"
project_module_repository: "Pakkebrønn"
@ -2899,6 +2899,7 @@
schema: 'Skjema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -751,6 +751,8 @@ pl:
group_without_name: "Grupy nienazwane nie są dozwolone."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Powtórzone hasło różni się od wprowadzonego hasła!"
format: "%{message}"
@ -2213,7 +2215,6 @@ pl:
permission_select_custom_fields: "Wybierz pola niestandardowe"
permission_select_project_modules: "Wybieranie modułów projektu"
permission_manage_types: "Select types"
permission_view_calendar: "Widok kalendarza"
permission_view_changesets: "Zobacz repozytorium poprawek OpenProject"
permission_view_commit_author_statistics: "Widok statystyk autorów"
permission_view_work_package_watchers: "Zobacz listę obserwatorów"
@ -2249,7 +2250,6 @@ pl:
archived: "Zarchiwizowano"
project_module_activity: "Działanie"
project_module_forums: "Fora"
project_module_calendar: "Kalendarz"
project_module_work_package_tracking: "Śledzenie pakietów roboczych"
project_module_news: "Aktualności"
project_module_repository: "Repozytorium"
@ -2935,6 +2935,7 @@ pl:
schema: 'Schemat'
undisclosed:
parent: Nie ujawniono — wybrany element nadrzędny jest niewidoczny ze względu na brak uprawnień.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-Autoryzacja'

@ -751,6 +751,8 @@ pt:
group_without_name: "Grupos sem nome não são permitidos."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "A confirmação da senha não corresponde à senha!"
format: "%{message}"
@ -2177,7 +2179,6 @@ pt:
permission_select_custom_fields: "Selecionar campos personalizados"
permission_select_project_modules: "Selecionar módulos do projeto"
permission_manage_types: "Selecionar tipos"
permission_view_calendar: "Exibir calendário"
permission_view_changesets: "Revisões do repositório vistas no OpenProject"
permission_view_commit_author_statistics: "Ver estatísticas de commits do autor"
permission_view_work_package_watchers: "Visualizar lista de observadores"
@ -2213,7 +2214,6 @@ pt:
archived: "Arquivado"
project_module_activity: "Atividade"
project_module_forums: "Fóruns"
project_module_calendar: "Calendário"
project_module_work_package_tracking: "Controle de pacote de trabalho"
project_module_news: "Notícias"
project_module_repository: "Repositório"
@ -2896,6 +2896,7 @@ pt:
schema: 'Esquema'
undisclosed:
parent: Não revelado - O primário selecionado está invisível devido à falta de permissões.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pré-autorização'

@ -753,6 +753,8 @@ ro:
group_without_name: "Grupurile fără nume nu sunt permise."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2197,7 +2199,6 @@ ro:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Selectare module proiect"
permission_manage_types: "Selectare tipuri"
permission_view_calendar: "Vizualizare calendar"
permission_view_changesets: "Vizualizare revizii repo în OpenProject"
permission_view_commit_author_statistics: "Vizualizare statistici autor înregistrări"
permission_view_work_package_watchers: "Vizualizare listă observatori"
@ -2233,7 +2234,6 @@ ro:
archived: "Arhivat"
project_module_activity: "Activitate"
project_module_forums: "Forumuri"
project_module_calendar: "Calendar"
project_module_work_package_tracking: "Urmărire pachete de lucru"
project_module_news: "Noutăţi"
project_module_repository: "Repo"
@ -2919,6 +2919,7 @@ ro:
schema: 'Schemă'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Autorizare prealabilă'

@ -753,6 +753,8 @@ ru:
group_without_name: "Не именованные группы не допускаются."
user:
attributes:
base:
user_limit_reached: "Достигнут лимит пользователей. В текущем плане аккаунтов больше нет."
password_confirmation:
confirmation: "Подтверждение пароля не совпадает с паролем."
format: "%{message}"
@ -2215,7 +2217,6 @@ ru:
permission_select_custom_fields: "Выберите настраиваемые поля"
permission_select_project_modules: "Выбор модулей проекта"
permission_manage_types: "Выберите типы"
permission_view_calendar: "Календарь"
permission_view_changesets: "Просмотр изменений репозитория в OpenProject"
permission_view_commit_author_statistics: "Посмотреть статистику автора, внесшего свою часть работы"
permission_view_work_package_watchers: "Посмотреть список наблюдателей"
@ -2251,7 +2252,6 @@ ru:
archived: "Архивирован"
project_module_activity: "Деятельность"
project_module_forums: "Форумы"
project_module_calendar: "Календарь"
project_module_work_package_tracking: "Отслеживание пакета работ"
project_module_news: "Новости"
project_module_repository: "Репозиторий"
@ -2936,6 +2936,7 @@ ru:
schema: 'Схема'
undisclosed:
parent: Неизвестные - выбранный родитель невидим из-за отсутствия разрешений.
ancestor: Неизвестные - предок невидим ввиду отсутствия разрешений.
doorkeeper:
pre_authorization:
status: 'Предавторизация'

@ -752,6 +752,8 @@ rw:
group_without_name: "Unnamed groups are not allowed."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ rw:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Select project modules"
permission_manage_types: "Select types"
permission_view_calendar: "View calendar"
permission_view_changesets: "View repository revisions in OpenProject"
permission_view_commit_author_statistics: "View commit author statistics"
permission_view_work_package_watchers: "View watchers list"
@ -2215,7 +2216,6 @@ rw:
archived: "Archived"
project_module_activity: "Activity"
project_module_forums: "Forums"
project_module_calendar: "Calendar"
project_module_work_package_tracking: "Work package tracking"
project_module_news: "News"
project_module_repository: "Repository"
@ -2899,6 +2899,7 @@ rw:
schema: 'Schema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-authorization'

@ -752,6 +752,8 @@ si:
group_without_name: "නමකළ කණයම වලට අවසර නත."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2179,7 +2181,6 @@ si:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "වල තරනන"
permission_manage_types: "වරග තරනන"
permission_view_calendar: "දන දරශනය"
permission_view_changesets: "OpenProject හධන බලනන"
permission_view_commit_author_statistics: "කතඛන බලනන"
permission_view_work_package_watchers: "මරකරවනව බලනන"
@ -2215,7 +2216,6 @@ si:
archived: "සරකත"
project_module_activity: "කරකම"
project_module_forums: "සසද"
project_module_calendar: "දන දරශනය"
project_module_work_package_tracking: "වඩ පජය ලම"
project_module_news: "පවත"
project_module_repository: "ගබඩව"
@ -2899,6 +2899,7 @@ si:
schema: 'යජනරමය'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'පව අවසරය'

@ -754,6 +754,8 @@ sk:
group_without_name: "Nepomenované skupiny nie sú povolené."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2216,7 +2218,6 @@ sk:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Vyberte moduly projektu"
permission_manage_types: "Vyberte typy"
permission_view_calendar: "Zobrazenie kalendára"
permission_view_changesets: "Zobraziť revízie úložiska v programe OpenProject"
permission_view_commit_author_statistics: "Zobraziť štatistiky o odovzdávkach do repozitára za autora"
permission_view_work_package_watchers: "Zobrazenie zoznamu pozorovateľov"
@ -2252,7 +2253,6 @@ sk:
archived: "Archivované"
project_module_activity: "Činnosť"
project_module_forums: "Diskusie"
project_module_calendar: "Kalendár"
project_module_work_package_tracking: "Sledovanie Pracovného balíka"
project_module_news: "Novinky"
project_module_repository: "Repozitár"
@ -2941,6 +2941,7 @@ sk:
schema: 'Schéma'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pre-Autorizácia'

@ -751,6 +751,8 @@ sl:
group_without_name: "Ne poimenovane skupine niso dovoljene."
user:
attributes:
base:
user_limit_reached: "User limit reached. No more accounts can be created on the current plan."
password_confirmation:
confirmation: "Password confirmation does not match password."
format: "%{message}"
@ -2214,7 +2216,6 @@ sl:
permission_select_custom_fields: "Select custom fields"
permission_select_project_modules: "Izberi module projekta"
permission_manage_types: "Izberi vrste"
permission_view_calendar: "Poglej koledar"
permission_view_changesets: "Oglejte si revizije repozitorija v OpenProject"
permission_view_commit_author_statistics: "Oglejte si statistiko avtorjev"
permission_view_work_package_watchers: "Oglej si listo spremeljevalcev"
@ -2250,7 +2251,6 @@ sl:
archived: "Arhiviran"
project_module_activity: "Aktivnost"
project_module_forums: "Forumi"
project_module_calendar: "Koledar"
project_module_work_package_tracking: "Sledenje delovnega paketa"
project_module_news: "Novice"
project_module_repository: "Repozitorij"
@ -2937,6 +2937,7 @@ sl:
schema: 'Shema'
undisclosed:
parent: Undisclosed - The selected parent is invisible because of lacking permissions.
ancestor: Undisclosed - The ancestor is invisible because of lacking permissions.
doorkeeper:
pre_authorization:
status: 'Pred odobritvijo'

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save