diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index bfb56a7c6d3..761aeeb067b 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -21,7 +21,10 @@ jobs: if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' uses: contributor-assistant/github-action@v2.6.1 env: + # https://github.com/contributor-assistant/github-action?tab=readme-ov-file#environmental-variables + # Built-in GitHub token to make the API calls for interacting with GitHub. Does not need to be specified the secrets store. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Access token for repository where the signatures are stored (see below for remote-repository-name) PERSONAL_ACCESS_TOKEN: ${{ secrets.OPENPROJECTCI_GH_LEGAL_TOKEN }} with: path-to-signatures: "contributor-license-agreement/signatures/version1.json" diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml index 861d79fd3dc..03f3c5ae822 100644 --- a/.github/workflows/crowdin.yml +++ b/.github/workflows/crowdin.yml @@ -76,12 +76,14 @@ jobs: crowdin_branch_name: ${{ steps.vars.outputs.crowdin_branch }} # Dont create a PR for the updated translations push_translations: false + user: auto env: OPENPROJECT_CROWDIN_PROJECT: ${{ secrets.OPENPROJECT_CROWDINV2_PROJECT }} OPENPROJECT_CROWDIN_API_KEY: ${{ secrets.OPENPROJECT_CROWDINV2_API_KEY }} - name: "Fix root key in Portuguese crowdin translation files" - run: | - script/i18n/fix_crowdin_pt_language_root_key + run: script/i18n/fix_crowdin_pt_language_root_key + - name: "Rewrite crowdin translation files using ruby yaml library" + run: script/i18n/rewrite_crowdin_yml_files - name: "Commit translations" env: BRANCH: ${{ matrix.branch }} diff --git a/.rubocop.yml b/.rubocop.yml index 1815a2c11d1..1bd67f59709 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -169,6 +169,10 @@ Rails/ContentTag: # dynamic finders cop clashes with capybara ID cop Rails/DynamicFindBy: Enabled: true + AllowedMethods: + - find_by_id_or_identifier + - find_by_id_or_identifier! + - find_by_semantic_identifier Exclude: - "spec/features/**/*.rb" - "spec/support/**/*.rb" diff --git a/.ruby-version b/.ruby-version index 1454f6ed4b7..4d54daddb61 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -4.0.1 +4.0.2 diff --git a/Gemfile b/Gemfile index 548a87c64e5..afa3fb1128d 100644 --- a/Gemfile +++ b/Gemfile @@ -41,10 +41,10 @@ gem "activemodel-serializers-xml", "~> 1.0.1" gem "activerecord-import", "~> 2.2.0" gem "activerecord-session_store", "~> 2.2.0" gem "ox" -gem "rails", "~> 8.1.2" +gem "rails", "~> 8.1.3" gem "responders", "~> 3.2" -gem "ffi", "~> 1.15" +gem "ffi", "~> 1.17" gem "connection_pool", "~> 3.0.2" @@ -161,7 +161,7 @@ gem "ttfunk", "~> 1.7.0" # remove after https://github.com/prawnpdf/prawn/issues # prawn implicitly depends on matrix gem no longer in ruby core with 3.1 gem "matrix", "~> 0.4.3" -gem "mcp", "~> 0.8.0" +gem "mcp", "~> 0.9.2" gem "meta-tags", "~> 2.23.0" @@ -204,9 +204,9 @@ gem "carrierwave_direct", "~> 3.0.0" gem "ssrf_filter", "~> 1.3" gem "fog-aws" -gem "aws-sdk-core", "~> 3.241" +gem "aws-sdk-core", "~> 3.244" # File upload via fog + screenshots on travis -gem "aws-sdk-s3", "~> 1.213" +gem "aws-sdk-s3", "~> 1.217" gem "openproject-token", "~> 8.8.2" @@ -254,7 +254,7 @@ gem "factory_bot_rails", "~> 6.5.0", require: false gem "turbo_power", "~> 0.7.0" gem "turbo-rails", "~> 2.0.20" -gem "httpx", "~> 1.7.4" +gem "httpx", "~> 1.7.5" # Brings actual deep-freezing to most ruby objects gem "ice_nine" @@ -266,7 +266,7 @@ group :test do # Test prof provides factories from code # and other niceties - gem "test-prof", "~> 1.5.0" + gem "test-prof", "~> 1.6.0" gem "turbo_tests", github: "opf/turbo_tests", ref: "with-patches" gem "rack_session_access" diff --git a/Gemfile.lock b/Gemfile.lock index ec987c85987..c6ef1b70a8f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -203,7 +203,7 @@ PATH remote: modules/two_factor_authentication specs: openproject-two_factor_authentication (1.0.0) - aws-sdk-sns (>= 1.101, < 1.113) + aws-sdk-sns (>= 1.101, < 1.114) messagebird-rest (>= 1.4.2, < 5.1.0) rotp (~> 6.1) webauthn (~> 3.0) @@ -228,31 +228,31 @@ GEM remote: https://rubygems.org/ specs: Ascii85 (2.0.1) - action_text-trix (2.1.17) + action_text-trix (2.1.18) railties - actioncable (8.1.2.1) - actionpack (= 8.1.2.1) - activesupport (= 8.1.2.1) + actioncable (8.1.3) + actionpack (= 8.1.3) + activesupport (= 8.1.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.1.2.1) - actionpack (= 8.1.2.1) - activejob (= 8.1.2.1) - activerecord (= 8.1.2.1) - activestorage (= 8.1.2.1) - activesupport (= 8.1.2.1) + actionmailbox (8.1.3) + actionpack (= 8.1.3) + activejob (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) mail (>= 2.8.0) - actionmailer (8.1.2.1) - actionpack (= 8.1.2.1) - actionview (= 8.1.2.1) - activejob (= 8.1.2.1) - activesupport (= 8.1.2.1) + actionmailer (8.1.3) + actionpack (= 8.1.3) + actionview (= 8.1.3) + activejob (= 8.1.3) + activesupport (= 8.1.3) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.1.2.1) - actionview (= 8.1.2.1) - activesupport (= 8.1.2.1) + actionpack (8.1.3) + actionview (= 8.1.3) + activesupport (= 8.1.3) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -263,34 +263,34 @@ GEM actionpack-xml_parser (2.0.1) actionpack (>= 5.0) railties (>= 5.0) - actiontext (8.1.2.1) + actiontext (8.1.3) action_text-trix (~> 2.1.15) - actionpack (= 8.1.2.1) - activerecord (= 8.1.2.1) - activestorage (= 8.1.2.1) - activesupport (= 8.1.2.1) + actionpack (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.1.2.1) - activesupport (= 8.1.2.1) + actionview (8.1.3) + activesupport (= 8.1.3) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) active_record_doctor (2.0.1) activerecord (>= 7.0.0) - activejob (8.1.2.1) - activesupport (= 8.1.2.1) + activejob (8.1.3) + activesupport (= 8.1.3) globalid (>= 0.3.6) - activemodel (8.1.2.1) - activesupport (= 8.1.2.1) + activemodel (8.1.3) + activesupport (= 8.1.3) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (8.1.2.1) - activemodel (= 8.1.2.1) - activesupport (= 8.1.2.1) + activerecord (8.1.3) + activemodel (= 8.1.3) + activesupport (= 8.1.3) timeout (>= 0.4.0) activerecord-import (2.2.0) activerecord (>= 4.2) @@ -302,13 +302,13 @@ GEM cgi (>= 0.3.6) rack (>= 2.0.8, < 4) railties (>= 7.0) - activestorage (8.1.2.1) - actionpack (= 8.1.2.1) - activejob (= 8.1.2.1) - activerecord (= 8.1.2.1) - activesupport (= 8.1.2.1) + activestorage (8.1.3) + actionpack (= 8.1.3) + activejob (= 8.1.3) + activerecord (= 8.1.3) + activesupport (= 8.1.3) marcel (~> 1.0) - activesupport (8.1.2.1) + activesupport (8.1.3) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) @@ -347,8 +347,8 @@ GEM awesome_nested_set (3.9.0) activerecord (>= 4.0.0, < 8.2) aws-eventstream (1.4.0) - aws-partitions (1.1227.0) - aws-sdk-core (3.243.0) + aws-partitions (1.1234.0) + aws-sdk-core (3.244.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -356,15 +356,15 @@ GEM bigdecimal jmespath (~> 1, >= 1.6.1) logger - aws-sdk-kms (1.122.0) - aws-sdk-core (~> 3, >= 3.241.4) + aws-sdk-kms (1.123.0) + aws-sdk-core (~> 3, >= 3.244.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.216.0) - aws-sdk-core (~> 3, >= 3.243.0) + aws-sdk-s3 (1.217.0) + aws-sdk-core (~> 3, >= 3.244.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sdk-sns (1.112.0) - aws-sdk-core (~> 3, >= 3.241.4) + aws-sdk-sns (1.113.0) + aws-sdk-core (~> 3, >= 3.244.0) aws-sigv4 (~> 1.5) aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) @@ -391,7 +391,7 @@ GEM erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (4.0.1) + bigdecimal (4.1.1) bindata (2.5.1) bootsnap (1.23.0) msgpack (~> 1.2) @@ -586,14 +586,14 @@ GEM concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.3-aarch64-linux-gnu) - ffi (1.17.3-aarch64-linux-musl) - ffi (1.17.3-arm-linux-gnu) - ffi (1.17.3-arm-linux-musl) - ffi (1.17.3-arm64-darwin) - ffi (1.17.3-x86_64-darwin) - ffi (1.17.3-x86_64-linux-gnu) - ffi (1.17.3-x86_64-linux-musl) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-aarch64-linux-musl) + ffi (1.17.4-arm-linux-gnu) + ffi (1.17.4-arm-linux-musl) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-darwin) + ffi (1.17.4-x86_64-linux-gnu) + ffi (1.17.4-x86_64-linux-musl) flamegraph (0.9.5) fog-aws (3.33.1) base64 (>= 0.2, < 0.4) @@ -703,7 +703,7 @@ GEM htmlentities (4.3.4) http-2 (1.1.3) http_parser.rb (0.8.1) - httpx (1.7.4) + httpx (1.7.5) http-2 (>= 1.1.3) i18n (1.14.8) concurrent-ruby (~> 1.0) @@ -744,9 +744,9 @@ GEM reline (>= 0.4.2) iso8601 (0.13.0) jmespath (1.6.2) - job-iteration (1.12.0) - activejob (>= 6.1) - json (2.19.2) + job-iteration (1.13.0) + activejob (>= 7.0) + json (2.19.3) json-jwt (1.17.0) activesupport (>= 4.2) aes_key_wrap @@ -821,7 +821,7 @@ GEM marcel (1.0.4) markly (0.15.2) matrix (0.4.3) - mcp (0.8.0) + mcp (0.9.2) json-schema (>= 4.1) messagebird-rest (5.0.0) jwt (< 4) @@ -835,7 +835,7 @@ GEM mini_magick (5.3.1) logger mini_mime (1.1.5) - minitest (6.0.2) + minitest (6.0.3) drb (~> 2.0) prism (~> 1.5) msgpack (1.8.0) @@ -1091,17 +1091,17 @@ GEM ostruct (0.6.3) ox (2.14.23) bigdecimal (>= 3.0) - pagy (43.4.1) + pagy (43.4.4) json uri yaml paper_trail (17.0.0) activerecord (>= 7.1) request_store (~> 1.4) - parallel (1.27.0) + parallel (1.28.0) parallel_tests (4.10.1) parallel - parser (3.3.10.2) + parser (3.3.11.1) ast (~> 2.4.1) racc pdf-core (0.9.0) @@ -1199,7 +1199,7 @@ GEM puma (>= 5.0, < 8) raabro (1.4.0) racc (1.8.1) - rack (2.2.22) + rack (2.2.23) rack-attack (6.8.0) rack (>= 1.0, < 4) rack-cors (2.0.2) @@ -1227,20 +1227,20 @@ GEM rackup (1.0.1) rack (< 3) webrick - rails (8.1.2.1) - actioncable (= 8.1.2.1) - actionmailbox (= 8.1.2.1) - actionmailer (= 8.1.2.1) - actionpack (= 8.1.2.1) - actiontext (= 8.1.2.1) - actionview (= 8.1.2.1) - activejob (= 8.1.2.1) - activemodel (= 8.1.2.1) - activerecord (= 8.1.2.1) - activestorage (= 8.1.2.1) - activesupport (= 8.1.2.1) + rails (8.1.3) + actioncable (= 8.1.3) + actionmailbox (= 8.1.3) + actionmailer (= 8.1.3) + actionpack (= 8.1.3) + actiontext (= 8.1.3) + actionview (= 8.1.3) + activejob (= 8.1.3) + activemodel (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) bundler (>= 1.15.0) - railties (= 8.1.2.1) + railties (= 8.1.3) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -1255,9 +1255,9 @@ GEM rails-i18n (8.1.0) i18n (>= 0.7, < 2) railties (>= 8.0.0, < 9) - railties (8.1.2.1) - actionpack (= 8.1.2.1) - activesupport (= 8.1.2.1) + railties (8.1.3) + actionpack (= 8.1.3) + activesupport (= 8.1.3) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -1287,7 +1287,7 @@ GEM redis-client (>= 0.22.0) redis-client (0.28.0) connection_pool - regexp_parser (2.11.3) + regexp_parser (2.12.0) reline (0.6.3) io-console (~> 0.5) representable (3.2.0) @@ -1331,11 +1331,10 @@ GEM rspec-support (3.13.7) rspec-wait (1.0.2) rspec (>= 3.4) - rubocop (1.85.1) + rubocop (1.86.0) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) - mcp (~> 0.6) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) @@ -1455,7 +1454,7 @@ GEM table_print (1.5.7) terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - test-prof (1.5.2) + test-prof (1.6.0) text-hyphen (1.5.0) thor (1.5.0) thread_safe (0.3.6) @@ -1581,8 +1580,8 @@ DEPENDENCIES appsignal (~> 4.7) auto_strip_attributes (~> 2.5) awesome_nested_set (~> 3.9.0) - aws-sdk-core (~> 3.241) - aws-sdk-s3 (~> 1.213) + aws-sdk-core (~> 3.244) + aws-sdk-s3 (~> 1.217) axe-core-rspec bcrypt (~> 3.1.22) bootsnap (~> 1.23.0) @@ -1623,7 +1622,7 @@ DEPENDENCIES escape_utils (~> 1.3) factory_bot (~> 6.5.6) factory_bot_rails (~> 6.5.0) - ffi (~> 1.15) + ffi (~> 1.17) flamegraph fog-aws friendly_id (~> 5.6.0) @@ -1637,7 +1636,7 @@ DEPENDENCIES grids! html-pipeline (~> 2.14.0) htmldiff - httpx (~> 1.7.4) + httpx (~> 1.7.5) i18n-js (~> 4.2.4) i18n-tasks (~> 1.1.0) ice_cube (~> 0.17.0) @@ -1656,7 +1655,7 @@ DEPENDENCIES mail (= 2.9.0) markly (~> 0.15) matrix (~> 0.4.3) - mcp (~> 0.8.0) + mcp (~> 0.9.2) md_to_pdf! meta-tags (~> 2.23.0) mini_magick (~> 5.3.0) @@ -1722,7 +1721,7 @@ DEPENDENCIES rack-test (~> 2.2.0) rack-timeout (~> 0.7.0) rack_session_access - rails (~> 8.1.2) + rails (~> 8.1.3) rails-controller-testing (~> 1.0.2) rails-i18n (~> 8.1.0) rbtrace @@ -1771,7 +1770,7 @@ DEPENDENCIES svg-graph (~> 2.2.0) sys-filesystem (~> 1.5.0) table_print (~> 1.5.6) - test-prof (~> 1.5.0) + test-prof (~> 1.6.0) timecop (~> 0.9.0) ttfunk (~> 1.7.0) turbo-rails (~> 2.0.20) @@ -1794,24 +1793,24 @@ DEPENDENCIES CHECKSUMS Ascii85 (2.0.1) sha256=15cb5d941808543cbb9e7e6aea3c8ec3877f154c3461e8b3673e97f7ecedbe5a - action_text-trix (2.1.17) sha256=b44691639d77e67169dc054ceacd1edc04d44dc3e4c6a427aa155a2beb4cc951 - actioncable (8.1.2.1) sha256=a2f88cecce148b3fcb63d2e517d7694e119830a85baa7d6cf59e5453dcf32e8d - actionmailbox (8.1.2.1) sha256=c2e45c0c1e5687e35e050838c94a8aed0d954c56a32ea411d54cd848c338c54e - actionmailer (8.1.2.1) sha256=d7d62fbc2197f1a7006bb5af4c665edf999adf79ab6c10337c088d27e6622071 - actionpack (8.1.2.1) sha256=a6b69cd10ec4c8d978c8eee51206e34152b1c1be017e534236dbc89a3d00ffb8 + action_text-trix (2.1.18) sha256=3fdb83f8bff4145d098be283cdd47ac41caf5110bfa6df4695ed7127d7fb3642 + actioncable (8.1.3) sha256=e5bc7f75e44e6a22de29c4f43176927c3a9ce4824464b74ed18d8226e75a80f0 + actionmailbox (8.1.3) sha256=df7da474eaa0e70df4ed5a6fef66eb3b3b0f2dbf7f14518deee8d77f1b4aae59 + actionmailer (8.1.3) sha256=831f724891bb70d0aaa4d76581a6321124b6a752cb655c9346aae5479318448d + actionpack (8.1.3) sha256=af998cae4d47c5d581a2cc363b5c77eb718b7c4b45748d81b1887b25621c29a3 actionpack-xml_parser (2.0.1) sha256=40cb461ee99445314ab580a783fb7413580deb8b28113c9e70ecd7c1b334d5e6 - actiontext (8.1.2.1) sha256=1e503ce600a6ab2e12a46f999959a7d8e2fdaff910ca01dcf3b968934b55d957 - actionview (8.1.2.1) sha256=38daa7b87bca427e2967f139e5b7f0d1081271bdafd0e015d8ef97a006f570a6 + actiontext (8.1.3) sha256=d291019c00e1ea9e6463011fa214f6081a56d7b9a1d224e7d3f6384c1dafc7d2 + actionview (8.1.3) sha256=1347c88c7f3edb38100c5ce0e9fb5e62d7755f3edc1b61cce2eb0b2c6ea2fd5d active_record_doctor (2.0.1) sha256=7af0ac02195385c8f2f67d0e4ebe72b1fc79d65eaaf329e0db07f4d12a84069a - activejob (8.1.2.1) sha256=c89c311d07fd358b76c581ed8fee87c5b4351fb44994f3389385c014d22182fe - activemodel (8.1.2.1) sha256=8f31a6f9c12fecb8e5a0fce8a8950cfd94f0d75829322935f99e8217a3e5f3c6 + activejob (8.1.3) sha256=a149b1766aa8204c3c3da7309e4becd40fcd5529c348cffbf6c9b16b565fe8d3 + activemodel (8.1.3) sha256=90c05cbe4cef3649b8f79f13016191ea94c4525ce4a5c0fb7ef909c4b91c8219 activemodel-serializers-xml (1.0.3) sha256=fa1b16305e7254cc58a59c68833e3c0a593a59c8ab95d3be5aaea7cd9416c397 - activerecord (8.1.2.1) sha256=3f79140318ff6d23376f5d9b1b5b5e2c7d3cc8979dd71367e9a8394378ca630a + activerecord (8.1.3) sha256=8003be7b2466ba0a2a670e603eeb0a61dd66058fccecfc49901e775260ac70ab activerecord-import (2.2.0) sha256=f8ca99b196e50775723d1f1d192c379f656378dc9f5628240992a0d78807fa4b activerecord-nulldb-adapter (1.2.2) sha256=01e0b2e49af11ad56a92e274a3d8c9fb3c50a12a5460218c4c4b45355d9ef968 activerecord-session_store (2.2.0) sha256=65918054573683bf4f87af89e765e1fece14c9d71cfac1f11abe4687c96e2743 - activestorage (8.1.2.1) sha256=36794c9b8853ac9276b0386cb1f8973374d8e71e8a9666bb02e70f5b7c9c5391 - activesupport (8.1.2.1) sha256=beec20ced12ad569194554399449a6372fdab03061b8f48a9ed6ef9b7dc251b2 + activestorage (8.1.3) sha256=0564ce9309143951a67615e1bb4e090ee54b8befed417133cae614479b46384d + activesupport (8.1.3) sha256=21a5e0dfbd4c3ddd9e1317ec6a4d782fa226e7867dc70b0743acda81a1dca20e acts_as_list (1.2.6) sha256=8345380900b7bee620c07ad00991ccee59af3d8c9e8574f426e321da2865fdc8 acts_as_tree (2.9.1) sha256=b869eb10a8de38616b64ffcf9e882d3d99c8e06909c4057078a76c3b89a9a2f3 addressable (2.8.9) sha256=cc154fcbe689711808a43601dee7b980238ce54368d23e127421753e46895485 @@ -1827,11 +1826,11 @@ CHECKSUMS auto_strip_attributes (2.6.0) sha256=a7e2e0cf744de2bcd947fd68014220702bcc88c81274c1cd9ce6f7316aae39b0 awesome_nested_set (3.9.0) sha256=3ce99e816550f97f4de118e621630070aacf24928b920fe4a68846578a8daaed aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b - aws-partitions (1.1227.0) sha256=122dd20fe108cb38d38cccbc1f2592408bc1b30ca6e0d05797a7af2501567e29 - aws-sdk-core (3.243.0) sha256=a014eef785124b71d28325783fa422a1512f8421ec9b6e3931c8b0ca3fbb0f1c - aws-sdk-kms (1.122.0) sha256=47ce3f51b26bd7d76f1270cfdfca17b40073ecd3219c8c9400788712abfb4eb8 - aws-sdk-s3 (1.216.0) sha256=a3bf6191e6f7a3dfb04b7cc73409f059394be559e4aff92d2a764341e4d90af4 - aws-sdk-sns (1.112.0) sha256=aff1b1b5bbcb4229599221c558a41790c1cd1a1fed47ac3d27d27512ad24b254 + aws-partitions (1.1234.0) sha256=8f74aa6ca2e945fa50d83a23fc10f5406cb0becd32ac9f8940001ba8b04dcf8a + aws-sdk-core (3.244.0) sha256=3e458c078b0c5bdee95bc370c3a483374b3224cf730c1f9f0faf849a5d9a18ea + aws-sdk-kms (1.123.0) sha256=d405f37e82f8fa32045ca8980be266c0b45b37aaf2012afe0254321a1e811f20 + aws-sdk-s3 (1.217.0) sha256=6ea709272c666888b14e9c62345abd9a6a967759ae13667c28f01fde6823c24b + aws-sdk-sns (1.113.0) sha256=15fe37d010e86f4c28b4c2f2133c463ce5c14189ec3673a1f43c30dfee511b0f aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00 axe-core-api (4.11.1) sha256=a6460506449a692030620a0574fee7afa6cd38cfbbf6620d20bf4d53d33a80cc axe-core-rspec (4.11.1) sha256=dc6c0e166405cd3a28c4a0937f6521ee5b511c12c0ca1627144a1ee7d5014aec @@ -1840,7 +1839,7 @@ CHECKSUMS bcrypt (3.1.22) sha256=1f0072e88c2d705d94aff7f2c5cb02eb3f1ec4b8368671e19112527489f29032 benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c better_html (2.2.0) sha256=e68ab66ab09696b708333bbf35e8aa3c107500ba7892f528e2111624bdd8cf76 - bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7 + bigdecimal (4.1.1) sha256=1c09efab961da45203c8316b0cdaec0ff391dfadb952dd459584b63ebf8054ca bindata (2.5.1) sha256=53186a1ec2da943d4cb413583d680644eb810aacbf8902497aac8f191fad9e58 bootsnap (1.23.0) sha256=c1254f458d58558b58be0f8eb8f6eec2821456785b7cdd1e16248e2020d3f214 brakeman (8.0.4) sha256=7bf921fa9638544835df9aa7b3e720a9a72c0267f34f92135955edd80d4dcf6f @@ -1927,14 +1926,14 @@ CHECKSUMS faraday-net_http (3.4.2) sha256=f147758260d3526939bf57ecf911682f94926a3666502e24c69992765875906c fastimage (2.4.1) sha256=c64bebd46b6fd8943ab70c1e6e85ff728f970f2e48f92ecd249b6bc3a540ad20 ferrum (0.17.1) sha256=51d591120fc593e5a13b5d9d6474389f5145bb92a91e36eab147b5d096c8cbe7 - ffi (1.17.3-aarch64-linux-gnu) sha256=28ad573df26560f0aedd8a90c3371279a0b2bd0b4e834b16a2baa10bd7a97068 - ffi (1.17.3-aarch64-linux-musl) sha256=020b33b76775b1abacc3b7d86b287cef3251f66d747092deec592c7f5df764b2 - ffi (1.17.3-arm-linux-gnu) sha256=5bd4cea83b68b5ec0037f99c57d5ce2dd5aa438f35decc5ef68a7d085c785668 - ffi (1.17.3-arm-linux-musl) sha256=0d7626bb96265f9af78afa33e267d71cfef9d9a8eb8f5525344f8da6c7d76053 - ffi (1.17.3-arm64-darwin) sha256=0c690555d4cee17a7f07c04d59df39b2fba74ec440b19da1f685c6579bb0717f - ffi (1.17.3-x86_64-darwin) sha256=1f211811eb5cfaa25998322cdd92ab104bfbd26d1c4c08471599c511f2c00bb5 - ffi (1.17.3-x86_64-linux-gnu) sha256=3746b01f677aae7b16dc1acb7cb3cc17b3e35bdae7676a3f568153fb0e2c887f - ffi (1.17.3-x86_64-linux-musl) sha256=086b221c3a68320b7564066f46fed23449a44f7a1935f1fe5a245bd89d9aea56 + ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df + ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39 + ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564 + ffi (1.17.4-arm-linux-musl) sha256=9d4838ded0465bef6e2426935f6bcc93134b6616785a84ffd2a3d82bc3cf6f95 + ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b + ffi (1.17.4-x86_64-darwin) sha256=aa70390523cf3235096cf64962b709b4cfbd5c082a2cb2ae714eb0fe2ccda496 + ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d + ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e flamegraph (0.9.5) sha256=a683020637ffa0e14a72640fa41babf14d926bfeaed87e31907cfd06ab2de8dc fog-aws (3.33.1) sha256=20c7336ed978be6cbf2765844c53f30676288af98f1cb49945aa7b7b45a799a5 fog-core (2.6.0) sha256=3fe08aa83a23cddce42f4ba412040c08f890d7ff04c175c0ee59119371245be6 @@ -1976,7 +1975,7 @@ CHECKSUMS htmlentities (4.3.4) sha256=125a73c6c9f2d1b62100b7c3c401e3624441b663762afa7fe428476435a673da http-2 (1.1.3) sha256=1b2f379d35a11dbae94f8a1a52c053d8c161eb4a0c98b5d1605ff1b2bf171c9c http_parser.rb (0.8.1) sha256=9ae8df145b39aa5398b2f90090d651c67bd8e2ebfe4507c966579f641e11097a - httpx (1.7.4) sha256=91fb3e0f7325966a5da4d463a1dd7240e8550d8b0de79e346cc5dc1df1eacd2b + httpx (1.7.5) sha256=f002b7728ad108b721ab9c4e02b17b5c780581d490cd13245fc3d5c5b7127b6e i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5 i18n-js (4.2.4) sha256=61390d372f8fa68c495c5907d577657e8cc3a7031f4945db1e91f935e1391355 i18n-tasks (1.1.2) sha256=4dcfba49e52a623f30661cb316cb80d84fbba5cb8c6d88ef5e02545fffa3637a @@ -1990,8 +1989,8 @@ CHECKSUMS irb (1.17.0) sha256=168c4ddb93d8a361a045c41d92b2952c7a118fa73f23fe14e55609eb7a863aae iso8601 (0.13.0) sha256=298c2b15b7be5fa95a1372813d36a2257656cd8e906dfbc1f5cb409851425aa2 jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1 - job-iteration (1.12.0) sha256=0164057417750f6e9c3ed548f029f1136b18eb53975fa438b09304a525d6c6c0 - json (2.19.2) sha256=e7e1bd318b2c37c4ceee2444841c86539bc462e81f40d134cf97826cb14e83cf + job-iteration (1.13.0) sha256=3300844e81309fbd06fd2310d6aa8e1f43bf30fe03a3fc5067580b62f456b7e1 + json (2.19.3) sha256=289b0bb53052a1fa8c34ab33cc750b659ba14a5c45f3fcf4b18762dc67c78646 json-jwt (1.17.0) sha256=6ff99026b4c54281a9431179f76ceb81faa14772d710ef6169785199caadc4cc json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666 json_schemer (2.5.0) sha256=2f01fb4cce721a4e08dd068fc2030cffd0702a7f333f1ea2be6e8991f00ae396 @@ -2014,7 +2013,7 @@ CHECKSUMS marcel (1.0.4) sha256=0d5649feb64b8f19f3d3468b96c680bae9746335d02194270287868a661516a4 markly (0.15.2) sha256=65dae965d4dd4ecd997fba43b93acc0fe7dadfec6f07a748640c7a9299a8551e matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b - mcp (0.8.0) sha256=ae8bd146bb8e168852866fd26f805f52744f6326afb3211e073f78a95e0c34fb + mcp (0.9.2) sha256=d413926f4f9dc1274f462196c2a9fbf9cb261ecd3c66a60c82eb71ee62bd2932 md_to_pdf (0.2.6) messagebird-rest (5.0.0) sha256=da4cc1efba3d5e4aa021fad07426c2cb6b326ce5670da5104bb8f6056a39d59c meta-tags (2.23.0) sha256=ffe78b5bee398de4ff5ac3316f5a786049538a651643b8476def06c3acc762c1 @@ -2023,7 +2022,7 @@ CHECKSUMS mime-types-data (3.2026.0317) sha256=77f078a4d8631d52b842ba77099734b06eddb7ad339d792e746d2272b67e511b mini_magick (5.3.1) sha256=29395dfd76badcabb6403ee5aff6f681e867074f8f28ce08d78661e9e4a351c4 mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef - minitest (6.0.2) sha256=db6e57956f6ecc6134683b4c87467d6dd792323c7f0eea7b93f66bd284adbc3d + minitest (6.0.3) sha256=88ac8a1de36c00692420e7cb3cc11a0773bbcb126aee1c249f320160a7d11411 msgpack (1.8.0) sha256=e64ce0212000d016809f5048b48eb3a65ffb169db22238fb4b72472fecb2d732 multi_json (1.19.1) sha256=7aefeff8f2c854bf739931a238e4aea64592845e0c0395c8a7d2eea7fdd631b7 mustermann (3.0.4) sha256=85fadcb6b3c6493a8b511b42426f904b7f27b282835502233dd154daab13aa22 @@ -2142,11 +2141,11 @@ CHECKSUMS ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912 overviews (1.0.0) ox (2.14.23) sha256=4a9aedb4d6c78c5ebac1d7287dc7cc6808e14a8831d7adb727438f6a1b461b66 - pagy (43.4.1) sha256=a211fc64b2c396f84db08f8de7bf919e73732de9e9e170a33eec7960bbdd3822 + pagy (43.4.4) sha256=b41a57328a0aabfd222266a89e9de3dc3a735c17bd57f8113829c95fece5bef6 paper_trail (17.0.0) sha256=1c2842061d3874ca7015908e821e2aa14f9b982af2acb2a7974713bf79021c85 - parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 + parallel (1.28.0) sha256=33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970 parallel_tests (4.10.1) sha256=df05458c691462b210f7a41fc2651d4e4e8a881e8190e6d1e122c92c07735d70 - parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357 + parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54 pdf-core (0.9.0) sha256=4f368b2f12b57ec979872d4bf4bd1a67e8648e0c81ab89801431d2fc89f4e0bb pdf-inspector (1.3.0) sha256=fc107579d6f29b636e2da3d6743479b2624d9e390bf2d84beef8fd4ebe1a05bd pdf-reader (2.15.1) sha256=18c6a986a84a3117fa49f4279fc2de51f5d2399b71833df5d2bccd595c7068ce @@ -2181,7 +2180,7 @@ CHECKSUMS puma-plugin-statsd (2.7.0) sha256=04f243a7233f4d06ec0e26f1a3522bce18a5910ae711763fabff22681bdad08b raabro (1.4.0) sha256=d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882 racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (2.2.22) sha256=c5cf0b7f872559966d974abe3101a57d51caf12504ee76290b98720004f64542 + rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c rack-attack (6.8.0) sha256=f2499fdebf85bcc05573a22dff57d24305ac14ec2e4156cd3c28d47cafeeecf2 rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b rack-mini-profiler (4.0.1) sha256=485810c23211f908196c896ea10cad72ed68780ee2998bec1f1dfd7558263d78 @@ -2192,12 +2191,12 @@ CHECKSUMS rack-timeout (0.7.0) sha256=757337e9793cca999bb73a61fe2a7d4280aa9eefbaf787ce3b98d860749c87d9 rack_session_access (0.2.0) sha256=03eb98f2027429ccbbeb18556006dfb6d928b0557ad3770783b8e2f368198d6b rackup (1.0.1) sha256=ba86604a28989fe1043bff20d819b360944ca08156406812dca6742b24b3c249 - rails (8.1.2.1) sha256=93ebf1efc792c9bc47e9795259c920312d3920008dad3ae634b7a0457ffe0af8 + rails (8.1.3) sha256=6d017ba5348c98fc909753a8169b21d44de14d2a0b92d140d1a966834c3c9cd3 rails-controller-testing (1.0.5) sha256=741448db59366073e86fc965ba403f881c636b79a2c39a48d0486f2607182e94 rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89 rails-i18n (8.1.0) sha256=52d5fd6c0abef28d84223cc05647f6ae0fd552637a1ede92deee9545755b6cf3 - railties (8.1.2.1) sha256=f4d902869541af4e5b5552d726062fa59ec0fd9078f7ab87720dbd93f22c43ee + railties (8.1.3) sha256=913eb0e0cb520aac687ffd74916bd726d48fa21f47833c6292576ef6a286de22 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c rake-compiler-dock (1.11.0) sha256=eab51f2cd533eb35cea6b624a75281f047123e70a64c58b607471bb49428f8c2 @@ -2211,7 +2210,7 @@ CHECKSUMS redcarpet (3.6.1) sha256=d444910e6aa55480c6bcdc0cdb057626e8a32c054c29e793fa642ba2f155f445 redis (5.4.1) sha256=b5e675b57ad22b15c9bcc765d5ac26f60b675408af916d31527af9bd5a81faae redis-client (0.28.0) sha256=888892f9cd8787a41c0ece00bdf5f556dfff7770326ce40bb2bc11f1bfec824b - regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4 + regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835 representable (3.2.0) sha256=cc29bf7eebc31653586849371a43ffe36c60b54b0a6365b5f7d95ec34d1ebace request_store (1.7.0) sha256=e1b75d5346a315f452242a68c937ef8e48b215b9453a77a6c0acdca2934c88cb @@ -2230,7 +2229,7 @@ CHECKSUMS rspec-retry (0.6.2) sha256=6101ba23a38809811ae3484acde4ab481c54d846ac66d5037ccb40131a60d858 rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c rspec-wait (1.0.2) sha256=865f921239325d3d26fc10ded4bdd485d8b58bcaaad1a28dd85ed15266b5a912 - rubocop (1.85.1) sha256=3dbcf9e961baa4c376eeeb2a03913dca5e3987033b04d38fa538aa1e7406cc77 + rubocop (1.86.0) sha256=4ff1186fe16ebe9baff5e7aad66bb0ad4cabf5cdcd419f773146dbba2565d186 rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035 rubocop-capybara (2.22.1) sha256=ced88caef23efea53f46e098ff352f8fc1068c649606ca75cb74650970f51c0c rubocop-factory_bot (2.28.0) sha256=4b17fc02124444173317e131759d195b0d762844a71a29fe8139c1105d92f0cb @@ -2280,7 +2279,7 @@ CHECKSUMS sys-filesystem (1.5.5) sha256=6f995890a734b9f0aa55df5e09d99adeb9fd1c288f2c4097269a1f8c95e15033 table_print (1.5.7) sha256=436664281f93387b882335795e16cfeeb839ad0c785ff7f9110fc0f17c68b5cb terminal-table (4.0.0) sha256=f504793203f8251b2ea7c7068333053f0beeea26093ec9962e62ea79f94301d2 - test-prof (1.5.2) sha256=185839fb7d3745b3770ec48e3e5718eff9e28c327a50a1e18a3a9ef1060f8576 + test-prof (1.6.0) sha256=b04cee7b9684b9b31e23e258f835ba67ee5b4fd5f6cc7204d076ef695805c335 text-hyphen (1.5.0) sha256=c44a4533b8a554e7ff7c955e131bcccc78a0b4c56ce1d73f2c8c11f43b075a06 thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73 thread_safe (0.3.6) sha256=9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a @@ -2328,7 +2327,7 @@ CHECKSUMS zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd RUBY VERSION - ruby 4.0.1 + ruby 4.0.2 BUNDLED WITH - 4.0.6 + 4.0.9 diff --git a/app/components/admin/import/jira/import_runs/wizard_step_review_component.rb b/app/components/admin/import/jira/import_runs/wizard_step_review_component.rb index 2f337b3ccd5..566318ce4e8 100644 --- a/app/components/admin/import/jira/import_runs/wizard_step_review_component.rb +++ b/app/components/admin/import/jira/import_runs/wizard_step_review_component.rb @@ -50,7 +50,11 @@ module Admin::Import::Jira::ImportRuns return nil if imported_projects.none? ids = imported_projects.pluck(:op_entity_id).map(&:to_s) - helpers.projects_path(filters: [{ id: { operator: "=", values: ids } }].to_json) + if ids.length == 1 + helpers.project_path(id: ids[0]) + else + helpers.projects_path(filters: [{ id: { operator: "=", values: ids } }].to_json) + end end def imported_work_packages @@ -61,8 +65,13 @@ module Admin::Import::Jira::ImportRuns def imported_work_packages_url return nil if imported_work_packages.none? - project_ids = imported_projects.pluck(:op_entity_id).map(&:to_s) - helpers.work_packages_path(query_props: { f: [{ n: "project", o: "=", v: project_ids }] }.to_json) + wp_ids = imported_work_packages.pluck(:op_entity_id).map(&:to_s) + if wp_ids.length == 1 + helpers.work_package_path(id: wp_ids[0]) + else + project_ids = imported_projects.pluck(:op_entity_id).map(&:to_s) + helpers.work_packages_path(query_props: { f: [{ n: "project", o: "=", v: project_ids }] }.to_json) + end end def imported_users diff --git a/app/components/individual_principal_base_filter_component.rb b/app/components/individual_principal_base_filter_component.rb index 7e1291b6cfe..362c30f683e 100644 --- a/app/components/individual_principal_base_filter_component.rb +++ b/app/components/individual_principal_base_filter_component.rb @@ -75,7 +75,7 @@ class IndividualPrincipalBaseFilterComponent < ApplicationComponent end def base_query - raise NotImplementedError + raise SubclassResponsibilityError end protected @@ -93,7 +93,7 @@ class IndividualPrincipalBaseFilterComponent < ApplicationComponent # INSTANCE METHODS: def filter_path - raise NotImplementedError + raise SubclassResponsibilityError end def initially_visible? diff --git a/app/components/my/notifications/project_settings_dialog_component.html.erb b/app/components/my/notifications/project_settings_dialog_component.html.erb new file mode 100644 index 00000000000..d92281d49d4 --- /dev/null +++ b/app/components/my/notifications/project_settings_dialog_component.html.erb @@ -0,0 +1,62 @@ +<%#-- copyright +OpenProject is an open source project management software. +Copyright (C) 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. + +++#%> + +<%= render( + Primer::Alpha::Dialog.new( + id: DIALOG_ID, + title: t("my_account.notifications.project_specific_settings.dialog_title"), + position: :right, + test_selector: "project-specific-settings-form" + ) + ) do |d| + d.with_body do + primer_form_with( + model: notification_setting, + scope: :notification_setting, + url: @form_url, + method: edit_mode? ? :patch : :post, + html: { id: FORM_ID }, + data: { + turbo: false, + controller: "show-when-checked", + show_when_checked_visibility_class: "d-none" + } + ) do |form| + forms = [My::Notifications::ProjectAutocompleterForm.new(form, readonly: edit_mode?, user: @user)] + forms << My::Notifications::ParticipatingForm.new(form, show_submit: false) + forms << My::Notifications::DateAlertsForm.new(form, show_submit: false) if date_alerts_available? + forms << My::Notifications::NonParticipatingForm.new(form, show_submit: false) + render(Primer::Forms::FormList.new(*forms)) + end + end + d.with_footer(show_divider: true) do + concat(render(Primer::Beta::Button.new(data: { "close-dialog-id": DIALOG_ID })) { t("button_cancel") }) + concat(render(Primer::Beta::Button.new(scheme: :primary, type: :submit, form: FORM_ID)) { t("button_save") }) + end + end %> diff --git a/app/components/my/notifications/project_settings_dialog_component.rb b/app/components/my/notifications/project_settings_dialog_component.rb new file mode 100644 index 00000000000..1b2d0daaa87 --- /dev/null +++ b/app/components/my/notifications/project_settings_dialog_component.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 My + module Notifications + class ProjectSettingsDialogComponent < ApplicationComponent + include OpTurbo::Streamable + include OpPrimer::FormHelpers + + DIALOG_ID = "project-notification-settings-dialog" + FORM_ID = "project-notification-settings-form" + + def initialize(user:, form_url:, notification_setting: nil) + super + @user = user + @form_url = form_url + @provided_setting = notification_setting + end + + private + + def notification_setting + @notification_setting ||= @provided_setting || @user.notification_settings.build + end + + def edit_mode? + notification_setting.persisted? + end + + def date_alerts_available? + EnterpriseToken.allows_to?(:date_alerts) + end + end + end +end diff --git a/app/components/my/notifications/show_page_component.html.erb b/app/components/my/notifications/show_page_component.html.erb new file mode 100644 index 00000000000..2bb538428ce --- /dev/null +++ b/app/components/my/notifications/show_page_component.html.erb @@ -0,0 +1,135 @@ +<%#-- copyright +OpenProject is an open source project management software. +Copyright (C) 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. + +++#%> + +<%= + settings_primer_form_with( + model: global_notification_setting, + scope: :notification_setting, + url: update_participating_url, + method: :patch, + data: { turbo: false, test_selector: "participating-form" } + ) do |form| + render(My::Notifications::ParticipatingForm.new(form)) + end +%> + +<% if date_alerts_available? %> + <%= + settings_primer_form_with( + model: global_notification_setting, + scope: :notification_setting, + url: update_date_alerts_url, + method: :patch, + data: { + turbo: false, + controller: "show-when-checked", + show_when_checked_visibility_class: "d-none", + test_selector: "date-alerts-form" + } + ) do |form| + render(My::Notifications::DateAlertsForm.new(form)) + end + %> +<% else %> + <%= render(Primer::Beta::Subhead.new(mt: 3)) do |component| + component.with_heading(size: :medium) { t("my_account.notifications.date_alerts.title") } + end %> + <%= render(EnterpriseEdition::BannerComponent.new(:date_alerts, variant: :inline)) %> +<% end %> + +<%= + settings_primer_form_with( + model: global_notification_setting, + scope: :notification_setting, + url: update_non_participating_url, + method: :patch, + data: { turbo: false, test_selector: "non-participating-form" } + ) do |form| + render(My::Notifications::NonParticipatingForm.new(form)) + end +%> + +<%= render(Primer::BaseComponent.new(tag: :div, classes: "op-admin-settings-form-wrapper")) do %> + <%= render(Primer::Beta::Subhead.new(mt: 3)) do |component| + component.with_heading(size: :medium) { t("my_account.notifications.project_specific_settings.title") } + end %> + + <% if project_notification_settings.any? %> + <%= render(Primer::Beta::BorderBox.new(mb: 3)) do |box| %> + <% box.with_header { t("my_account.notifications.project_specific_settings.list_header") } %> + <% project_notification_settings.each do |setting| %> + <% box.with_row(test_selector: "project-specific-settings-list") do %> + <%= flex_layout(justify_content: :space_between, align_items: :center, width: :full) do |flex| %> + <%= flex.with_column do %> + <%= setting.project.name %> + <% end %> + <%= flex.with_column do %> + <%= render(Primer::Alpha::ActionMenu.new(test_selector: "project-specific-settings-list--action-menu")) do |menu| + menu.with_show_button( + scheme: :invisible, + size: :small, + icon: :"kebab-horizontal", + "aria-label": t(:label_open_menu), + tooltip_direction: :w + ) + menu.with_item( + label: t("button_edit"), + href: edit_project_settings_url(setting.project_id), + content_arguments: { data: { controller: "async-dialog" } } + ) do |item| + item.with_leading_visual_icon(icon: :pencil) + end + menu.with_item( + label: t("button_delete"), + scheme: :danger, + href: project_setting_url(setting.project_id), + content_arguments: { data: { turbo_method: :delete, turbo_confirm: t("text_are_you_sure") } } + ) do |item| + item.with_leading_visual_icon(icon: :trash) + end + end %> + <% end %> + <% end %> + <% end %> + <% end %> + <% end %> + <% end %> + + <%= render( + Primer::Beta::Button.new( + tag: :a, + href: new_project_settings_url, + data: { controller: "async-dialog" }, + mb: 3 + ) + ) do |b| + b.with_leading_visual_icon(icon: :plus) + helpers.t("my_account.notifications.project_specific_settings.add_button") + end %> +<% end %> diff --git a/app/components/my/notifications/show_page_component.rb b/app/components/my/notifications/show_page_component.rb new file mode 100644 index 00000000000..d86e1c2d462 --- /dev/null +++ b/app/components/my/notifications/show_page_component.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 My + module Notifications + class ShowPageComponent < ApplicationComponent + include OpPrimer::FormHelpers + include OpPrimer::ComponentHelpers + + attr_reader :global_notification_setting, + :update_participating_url, + :update_non_participating_url, + :update_date_alerts_url, + :new_project_settings_url, + :project_notification_settings + + def initialize(user:, + global_notification_setting:, + update_participating_url:, + update_non_participating_url:, + update_date_alerts_url:, + new_project_settings_url:, + edit_project_settings_url:, + project_setting_url:) + super + + @user = user + @global_notification_setting = global_notification_setting + @update_participating_url = update_participating_url + @update_non_participating_url = update_non_participating_url + @update_date_alerts_url = update_date_alerts_url + @new_project_settings_url = new_project_settings_url + @edit_project_settings_url_builder = edit_project_settings_url + @project_setting_url_builder = project_setting_url + @project_notification_settings = user.notification_settings.where.not(project: nil).includes(:project) + end + + def edit_project_settings_url(project_id) + @edit_project_settings_url_builder.call(project_id) + end + + def project_setting_url(project_id) + @project_setting_url_builder.call(project_id) + end + + def date_alerts_available? + EnterpriseToken.allows_to?(:date_alerts) + end + end + end +end diff --git a/app/components/my/notifications/show_page_header_component.rb b/app/components/my/notifications/show_page_header_component.rb new file mode 100644 index 00000000000..20db77a9211 --- /dev/null +++ b/app/components/my/notifications/show_page_header_component.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 My + module Notifications + class ShowPageHeaderComponent < ApplicationComponent + def call + render(Primer::OpenProject::PageHeader.new) do |header| + header.with_title { t("my_account.notifications_and_email.title") } + header.with_breadcrumbs( + [{ href: helpers.my_account_path, text: t(:label_my_account) }, + t("my_account.notifications_and_email.title")] + ) + + helpers.render_tab_header_nav(header, tabs) + end + end + + def tabs + [ + { + name: "notifications", + path: helpers.my_notifications_path(tab: "notifications"), + label: t("my_account.notifications_and_email.tabs.notifications"), + data: { turbo: false } + }, + { + name: "reminders", + path: helpers.my_notifications_path(tab: "reminders"), + label: t("my_account.notifications_and_email.tabs.email_reminders"), + data: { turbo: false } + } + ] + end + end + end +end diff --git a/app/components/my/reminders/daily_times_component.html.erb b/app/components/my/reminders/daily_times_component.html.erb new file mode 100644 index 00000000000..bb8c350caae --- /dev/null +++ b/app/components/my/reminders/daily_times_component.html.erb @@ -0,0 +1,111 @@ +<%#-- copyright +OpenProject is an open source project management software. +Copyright (C) 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. + +++#%> + +
Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ af: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ af: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ af: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ af: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Vertoon tot attachment: @@ -3391,6 +3398,11 @@ af: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ af: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Gedelegeerde @@ -3484,6 +3562,7 @@ af: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Rekening + label_actions: Actions label_active: Aktiewe label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ af: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Toegepaste status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ af: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Gebaseer op die gebruiker se taal label_last_activity: Last activity @@ -5030,12 +5110,12 @@ af: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index 10ecf89720c..4316923ac65 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -114,7 +114,7 @@ ar: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ar: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ ar: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -411,9 +411,9 @@ ar: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -422,10 +422,14 @@ ar: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: zero: "... %{count} more projects" one: "... 1 more project" @@ -444,7 +448,7 @@ ar: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1608,6 +1612,9 @@ ar: dependencies: الاعتماديات activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1616,7 +1623,7 @@ ar: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: أظهِر حتّى attachment: @@ -3625,6 +3632,11 @@ ar: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3687,6 +3699,72 @@ ar: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: المُسند إليه @@ -3718,6 +3796,7 @@ ar: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: الحساب + label_actions: Actions label_active: مفعّل label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3758,6 +3837,7 @@ ar: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: الحالة المطبقة label_archive_project: Archive project @@ -4008,7 +4088,7 @@ ar: label_external_links: External links label_locale: Language and region label_jump_to_a_project: الانتقال بسرعة إلى مشروع... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: استناداً إلى لغة المستخدم label_last_activity: آخر نشاط @@ -5276,12 +5356,12 @@ ar: setting_welcome_text: نص كتلة الترجيب setting_welcome_title: عنوان كتلة الترحيب setting_welcome_on_homescreen: كتلة الترحيب عرض على الشاشة الرئيسية - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index c416002675c..efb2b1ad484 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -114,7 +114,7 @@ az: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ az: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ az: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ az: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ az: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ az: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ az: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ az: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ az: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ az: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ az: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ az: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ az: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ az: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index 48774b98d06..8f2424653dd 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -114,7 +114,7 @@ be: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ be: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ be: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -399,9 +399,9 @@ be: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -410,10 +410,14 @@ be: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" few: "... %{count} more projects" @@ -430,7 +434,7 @@ be: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1572,6 +1576,9 @@ be: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1580,7 +1587,7 @@ be: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3509,6 +3516,11 @@ be: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3571,6 +3583,72 @@ be: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Прызначаная асоба @@ -3602,6 +3680,7 @@ be: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3642,6 +3721,7 @@ be: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3892,7 +3972,7 @@ be: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5158,12 +5238,12 @@ be: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 9efe399f0d6..d1fe9ed25e4 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -114,7 +114,7 @@ bg: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ bg: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ bg: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ bg: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ bg: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ bg: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ bg: dependencies: Зависимости activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ bg: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Показване до attachment: @@ -3389,6 +3396,11 @@ bg: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3451,6 +3463,72 @@ bg: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Изпълнител @@ -3482,6 +3560,7 @@ bg: invalid_filter: Invalid notification filter label_accessibility: Достъпност label_account: Акаунт + label_actions: Действия label_active: Активен label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3522,6 +3601,7 @@ bg: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Отмени + label_integrations: Integrations label_add_column: Add column label_applied_status: Приложен статус label_archive_project: Archive project @@ -3772,7 +3852,7 @@ bg: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Отиди на проект... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Ключови думи label_language_based: Въз основа на езика на потребителя label_last_activity: Последна активност @@ -5024,12 +5104,12 @@ bg: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index eda8b90f7d2..8b68d01acae 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -114,7 +114,7 @@ ca: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ca: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ ca: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ ca: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ ca: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ ca: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1535,6 +1539,9 @@ ca: dependencies: Dependències activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1543,7 +1550,7 @@ ca: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Mostrar fins attachment: @@ -3388,6 +3395,11 @@ ca: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3450,6 +3462,72 @@ ca: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignat a @@ -3481,6 +3559,7 @@ ca: invalid_filter: Invalid notification filter label_accessibility: Accessibilitat label_account: Compte + label_actions: Accions label_active: Actiu label_activate_user: Activa usuari label_active_in_new_projects: Activa a nous projectes @@ -3521,6 +3600,7 @@ ca: label_ical_access_key_generation_hint: Generat automàticament en subscriure't a un calendari. label_ical_access_key_latest: úlitma label_ical_access_key_revoke: Revoca + label_integrations: Integrations label_add_column: Add column label_applied_status: Estat aplicat label_archive_project: Arxiva el projecte @@ -3771,7 +3851,7 @@ ca: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Anar al projecte... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Paraules clau label_language_based: Basat en l'idioma de l'usuari label_last_activity: Darrera activitat @@ -5017,12 +5097,12 @@ ca: setting_welcome_text: Bloc de text de benvinguda setting_welcome_title: Títol del bloc de benvinguda setting_welcome_on_homescreen: Mostrar el bloc de benvinguda a la pàgina d'inici - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Mètode de destacament per defecte diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index 953730cf1b2..471cb9c9878 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -114,7 +114,7 @@ ckb-IR: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ckb-IR: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ ckb-IR: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ ckb-IR: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ ckb-IR: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ ckb-IR: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ ckb-IR: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ ckb-IR: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ ckb-IR: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ ckb-IR: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ ckb-IR: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ ckb-IR: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ ckb-IR: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ ckb-IR: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index e58bd2eba08..ad36bbea7aa 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -114,7 +114,7 @@ cs: import: title: Import jira: - title: Jira import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ cs: title: Jira configuration new: Nová konfigurace banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ cs: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -399,9 +399,9 @@ cs: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -410,10 +410,14 @@ cs: label_autofixed_suggestion: Budoucí identifikátor label_example_work_package_id: Příklad ID pracovního balíčku autofix_preview: - error_too_long: Musí mít méně než 5 znaků + error_too_long: Musí obsahovat maximálně 10 znaků + error_numerical: Nemůže být čistě číselný + error_starts_with_number: Nemůže začínat číslem error_special_characters: Speciální znaky nejsou povoleny + error_not_fully_uppercased: Musí být napsán velkými písmeny error_in_use: Již se používá jako identifikátor jiného projektu error_reserved: Již se dříve používal jako identifikátor jiného projektu + error_unknown: Potřebuje ruční revizi remaining_projects: one: "... 1 další projekt" few: "... %{count} more projects" @@ -430,7 +434,7 @@ cs: checkbox_label: Chápu, že se tím trvale změní všechny identifikátory pracovních balíčků success_banner: Úspěšně aktualizován formát identifikátoru pracovního balíčku. in_progress: - banner_message: Identifikátory projektů jsou v současné době aktualizovány na alfanumerické projektové identifikátory. To může chvíli trvat. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1572,6 +1576,9 @@ cs: dependencies: Závislosti activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projekty import/jira: @@ -1580,7 +1587,7 @@ cs: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Zobrazit do attachment: @@ -1697,7 +1704,7 @@ cs: enabled_modules: Povolené moduly identifier: Identifikátor latest_activity_at: Poslední aktivita - parent: Nadřazený projekt + parent: Podprojekt project_creation_wizard_enabled: Project initiation request public_value: title: Viditelnost @@ -2102,7 +2109,7 @@ cs: message: cannot_move_message_to_forum_of_different_project: A message cannot be moved to a forum of a different project. notifications: - at_least_one_channel: Pro odesílání notifikací musí být specifikován alespoň jeden kanál + at_least_one_channel: Alespoň jeden kanál pro odesílání oznámení musí být specifikován. attributes: read_ian: read_on_creation: 'nelze nastavit na pravdivé při vytváření oznámení ' @@ -2409,11 +2416,11 @@ cs: member: Člen news: Novinky notification: - one: Notifikace - few: Notifikací - many: Notifikací - other: Notifikace - placeholder_user: Placeholder uživatel + one: Oznámení + few: Oznámení + many: Oznámení + other: Oznámení + placeholder_user: placeholder uživatel project: one: Projekt few: Projekty @@ -3505,12 +3512,17 @@ cs: ai: Umělá Inteligence (AI) aggregation: Agregace api_and_webhooks: API & Webhooky - mail_notification: E-mailové notifikace + mail_notification: E-mailová upozornění mails_and_notifications: E-maily a oznámení mcp_configurations: Protokol MCP (Model Context Protocol) quick_add: label: Přidat… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Poskytovatelské tokeny vydává OpenProject a umožňuje tím přístup ostatním aplikacím. Klientské tokeny jsou vydávány jinými aplikacemi a umožňují OpenProjectu přistup k nim. no_results: @@ -3573,6 +3585,72 @@ cs: disabled_text: RSS tokeny nejsou administrátorem povoleny. Pro použití této funkce kontaktujte svého správce. storages: unknown_storage: Neznámé úložiště + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Řešitel @@ -3591,7 +3669,7 @@ cs: by_project: Nepřečteno dle projektu by_reason: Důvod inbox: Doručená pošta - send_notifications: Pro tuto akci odeslat notifikaci + send_notifications: Odeslat oznámení pro tuto akci work_packages: subject: created: Pracovní balíček byl vytvořen. @@ -3604,6 +3682,7 @@ cs: invalid_filter: Neplatný filtr oznámení label_accessibility: Přístupnost label_account: Účet + label_actions: Akce label_active: Aktivní label_activate_user: Aktivovat uživatele label_active_in_new_projects: Aktivní v nových projektech @@ -3644,6 +3723,7 @@ cs: label_ical_access_key_generation_hint: Automaticky vygenerováno při odebírání kalendáře. label_ical_access_key_latest: poslední label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Přidat sloupec label_applied_status: Přiřazený stav label_archive_project: Archivovat projekt @@ -3894,7 +3974,7 @@ cs: label_external_links: Externí odkazy label_locale: Jazyk a region label_jump_to_a_project: Přejít na projekt... - label_jira_import: Jira import + label_jira_import: Jira Migrator label_keyword_plural: Klíčová slova label_language_based: Na základě jazyka uživatele label_last_activity: Poslední aktivita @@ -4043,9 +4123,9 @@ cs: label_permissions: Práva label_permissions_report: Přehled oprávnění label_personalize_page: Přizpůsobit tuto stránku - label_placeholder_user: Placeholder uživatel + label_placeholder_user: placeholder uživatel label_placeholder_user_new: '' - label_placeholder_user_plural: Placeholder uživatelé + label_placeholder_user_plural: placeholder uživatelé label_planning: Plánování label_please_login: Přihlaste se prosím label_plugins: Pluginy @@ -4070,7 +4150,7 @@ cs: label_project_attribute_plural: Atributy projektu label_project_attribute_manage_link: Správa atributů produktu label_project_count: Celkový počet projektů - label_project_copy_notifications: Během kopírování projektu odeslat notifikace e-mailem + label_project_copy_notifications: Během kopie projektu odeslat oznámení e-mailem label_project_initiation_export_pdf: Export PDF for %{project_creation_name} label_project_latest: Nejnovější projekty label_project_default_type: Povolit prázdný typ @@ -4231,7 +4311,7 @@ cs: label_version_new: Nová verze label_version_edit: Upravit verzi label_version_plural: Verze - label_version_sharing_descendants: S podprojekty + label_version_sharing_descendants: S Podprojekty label_version_sharing_hierarchy: S hierarchií projektu label_version_sharing_none: Není sdíleno label_version_sharing_system: Se všemi projekty @@ -4369,28 +4449,28 @@ cs: digests: including_mention_singular: včetně zmínky including_mention_plural: včetně %{number_mentioned} zmínění - unread_notification_singular: 1 nepřečtená notifikace - unread_notification_plural: "%{number_unread} nepřečtených notifikací" + unread_notification_singular: 1 nepřečtené oznámení + unread_notification_plural: "%{number_unread} nepřečtených oznámení" you_have: Máte logo_alt_text: Logo mention: subject: "%{user_name} vás zmínil v #%{id} - %{subject}" notification: - center: Centrum notifikací + center: Centrum oznámení see_in_center: Zobrazit komentář v oznamovacím centru settings: Změnit nastavení e-mailu salutation: Dobrý den, %{user}, salutation_full_name: Jméno a příjmení work_packages: created_at: 'Vytvořeno v %{timestamp} uživatelem %{user} ' - login_to_see_all: Přihlaste se pro zobrazení všech notifikací. + login_to_see_all: Přihlaste se pro zobrazení všech oznámení. mentioned: Byli jste zmíněni v komentáři mentioned_by: "%{user} vás zmínil v komentáři OpenProject" more_to_see: - one: Existuje ještě 1 pracovní balíček s notifikací. - few: Existuje ještě %{count} pracovních balíčků s notifikacema. - many: Existuje ještě %{count} pracovních balíčků s notifikacema. - other: Existuje ještě %{count} pracovních balíčků s notifikacema. + one: Máte ještě 1 pracovní balíček s notifikací. + few: Existuje ještě %{count} pracovních balíčků s oznámeními. + many: Máte ještě %{count} pracovních balíčků s notifikacemi. + other: Existuje ještě %{count} pracovních balíčků s oznámeními. open_in_browser: Otevřít v prohlížeči reason: watched: Sledováno @@ -4399,7 +4479,7 @@ cs: mentioned: Zmíněné shared: Sdílené subscribed: vše - prefix: 'Obdrženo z důvodu nastavení notifikací: %{reason}' + prefix: 'Obdrženo z důvodu nastavení oznámení: %{reason}' date_alert_start_date: Upozornění na datum date_alert_due_date: Upozornění na datum reminder: Připomínka @@ -4712,7 +4792,7 @@ cs: permission_move_work_packages: Přesun pracovních balíčků permission_protect_wiki_pages: Ochrana stránky wiki permission_rename_wiki_pages: Přejmenovat stránky wiki - permission_save_queries: Uložit zobrazení + permission_save_queries: Uložit pohled permission_search_project: Hledat projekt permission_select_custom_fields: Vybrat vlastní pole permission_select_project_custom_fields: Vyberte atributy projektu @@ -5160,12 +5240,12 @@ cs: setting_welcome_text: Text uvítacího bloku setting_welcome_title: Název uvítacího bloku setting_welcome_on_homescreen: Zobrazit uvítací blok na domovské obrazovce - setting_work_packages_identifier_numeric: Číselná posloupnost pro celou instanci (výchozí) - setting_work_packages_identifier_numeric_caption: 'Každý pracovní balíček dostane pořadové číslo začínající číslem 1 a zvyšující se s každým novým. Čísla jsou v rámci této instance jedinečná, takže zůstávají stejná, i když se pracovní balíčky přesouvají mezi projekty. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Projektové alfanumerické identifikátory - setting_work_packages_identifier_alphanumeric_caption: 'Každý projekt má jedinečný identifikátor, který je předřazen ID pracovního balíčku. Pokud se pracovní balíček přesune do jiného projektu, vygeneruje se nový identifikátor, ale starý zůstává funkční. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Výchozí režim zvýraznění @@ -5240,7 +5320,7 @@ cs: enable_subscriptions_text_html: Umožňuje uživatelům s nezbytnými oprávněními přihlásit se do OpenProject kalendářů a získat přístup k informacím o pracovním balíčku prostřednictvím externího klienta kalendáře. Poznámka: Před povolením si prosím přečtěte podrobnosti o odběru. language_name_being_default: "%{language_name} (výchozí)" notifications: - events_explanation: Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože notifikace pro ně mohou být nastavena speciálně pro každého uživatele. + events_explanation: Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele. delay_minutes_explanation: Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení. other: Ostatní passwords: Hesla @@ -5445,7 +5525,7 @@ cs: text_destroy_what_to_do: Co chcete udělat? text_diff_truncated: "... Toto rozlišení bylo zkráceno, protože přesahuje maximální velikost, kterou lze zobrazit." text_email_delivery_not_configured: |- - Doručení e-mailu není nakonfigurováno a notifikace jsou zakázány. + Doručení e-mailu není nakonfigurováno a oznámení jsou zakázána. Nakonfigurujte váš SMTP server pro jejich povolení. text_enumeration_category_reassign_to: 'Přiřadit je k této hodnotě:' text_enumeration_destroy_question: "%{count} objektů je přiřazeno k této hodnotě." diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index 6b11707ed26..bf5bb0f51d9 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -114,7 +114,7 @@ da: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ da: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ da: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ da: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ da: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ da: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1535,6 +1539,9 @@ da: dependencies: Aflæggere activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1543,7 +1550,7 @@ da: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3390,6 +3397,11 @@ da: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3452,6 +3464,72 @@ da: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Tildelt @@ -3483,6 +3561,7 @@ da: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Konto + label_actions: Handlinger label_active: Aktiv label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3523,6 +3602,7 @@ da: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Tildelt status label_archive_project: Archive project @@ -3773,7 +3853,7 @@ da: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Gå til et projekt... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Baseret på brugerens sprog label_last_activity: Seneste aktivitet @@ -5023,12 +5103,12 @@ da: setting_welcome_text: Velkomstblok-tekst setting_welcome_title: Velkomstblok-titel setting_welcome_on_homescreen: Vis velkomstblok på hjemmeskærm - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 0d86fa24ae4..525a7c876a1 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -87,11 +87,11 @@ de: type_token_text: Ihr Enterprise-Token-Text token_placeholder: Enterprise-Token Text hier einfügen token_caption: Weitere Informationen über die Aktivierung der Enterprise Edition finden Sie in unserer [Dokumentation](docs_url). - add_token: Enterprise-Edition Support Token hochladen + add_token: Enterprise edition Support Token hochladen replace_token: Aktuellen Enterprise edition Support Token ersetzen order: Enterprise on-premises bestellen - paste: Enterprise-Edition Support Token hier einfügen - required_for_feature: Dieses Add-on ist nur mit einem aktiven Enterprise-Edition Support-Token verfügbar. + paste: Enterprise edition Support Token hier einfügen + required_for_feature: Dieses Add-on ist nur mit einem aktiven Enterprise edition Support-Token verfügbar. enterprise_link: Klicken Sie hier für weitere Informationen. start_trial: Kostenlose Testversion starten book_now: Jetzt buchen @@ -114,7 +114,7 @@ de: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Verwenden Sie dieses Tool, um Daten aus Ihrer Jira-Instanz zu importieren. Sie können mehrere Jira-Hosts konfigurieren und auswählen, was bei jedem Importlauf importiert werden soll. errors: cannot_delete_with_imports: Jira-Hosts mit laufenden Importen können nicht gelöscht werden @@ -125,8 +125,8 @@ de: title: Jira-Konfiguration new: Neue Konfiguration banner: - title: Begrenzter Import - description: 'Dieses Importtool befindet sich derzeit in der Betaphase und kann nur grundlegende Daten importieren: Projekte, Tickets (Name, Titel, Beschreibung, Anhänge), Nutzer (Name, E-Mail, Projektmitgliedschaft), Status und Typen. Es kann keine Workflows, benutzerdefinierten Felder, Ticketbeziehungen oder Berechtigungen importieren. Wir unterstützen derzeit nur die Jira Server/Data Center Versionen 10.x und 11.x. Cloud-Instanzen werden derzeit nicht unterstützt.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ de: run: title: Importlauf history: Historie - remove_error: Ein Jira-Import kann nicht entfernt werden während er läuft + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Ein anderer Jira-Importlauf wird gerade durchgeführt oder wartet auf die Überprüfung. Bitte schließen Sie ihn ab oder machen Sie ihn rückgängig, bevor Sie einen neuen Import starten. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ de: notification_text_default: "Hallo,
Ein neues Projekt wurde erstellt: projectValue:name
Vielen Dank
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ de: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ de: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Standard-Übergänge @@ -1294,10 +1298,10 @@ de: tab: Titel konfigurieren manually_editable_subjects: label: Manuell bearbeitbare Titel - caption: Nutzer:innen können die Titel der Arbeitspakete ohne Einschränkungen manuell eingeben und bearbeiten. + caption: Benutzer können die Titel der Arbeitspakete ohne Einschränkungen manuell eingeben und bearbeiten. automatically_generated_subjects: label: Automatisch generierte Titel - caption: Definieren Sie ein Schema aus referenzierten Attributen und Freitext für die automatische Generierung von Arbeitspakettiteln. Nutzer:innen können diese nicht manuell editieren. + caption: Definieren Sie ein Schema aus referenzierten Attributen und Freitext für die automatische Generierung von Arbeitspakettiteln. Nutzer können diese nicht manuell editieren. token: label_with_context: "%{attribute_context}: %{attribute_label}" context: @@ -1351,7 +1355,7 @@ de: manual_with_children: Hat Unteraufgaben aber ihre Startdaten werden ignoriert. title: automatic_mobile: Automatisch geplant. - automatic_with_children: Unteraufgaben bestimmen Termine. + automatic_with_children: Die Termine sind durch untergeordnete Arbeitspakete bestimmt. automatic_with_predecessor: Der Anfangstermin wird von einem Vorgänger festgelegt. manual_mobile: Manuell geplant. manually_scheduled: Manuell geplant – Daten unabhängig von Beziehungen. @@ -1454,7 +1458,7 @@ de: label_child_plural: Unteraufgaben new_child: Neue Unteraufgabe new_child_description: Erstellt ein zugehöriges Arbeitspaket als Unteraufgabe des aktuellen (übergeordneten) Arbeitspakets - child: Unteraufgabe + child: Kind child_description: Macht das zugehörige Arbeitspaket zu einer Unteraufgabe des aktuellen (übergeordneten) Arbeitspakets parent: Übergeordnetes Arbeitspaket parent_description: Wandelt das verknüpfte in ein übergeordnetes Arbeitspaket dieses Arbeitspakets um @@ -1533,6 +1537,9 @@ de: dependencies: Abhängigkeiten activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projekte import/jira: @@ -1541,7 +1548,7 @@ de: personal_access_token: Persönlicher Zugangs-Token import/jira_open_project_reference: jira: Jira - jira_import: Jira Import + jira_import: Jira Migrator announcements: show_until: Anzeigen bis attachment: @@ -1711,7 +1718,7 @@ de: column_names: Spalten relations_to_type_column: Beziehungen zu %{type} relations_of_type_column: 'Beziehungen der Art: %{type}' - child_work_packages: Unteraufgaben + child_work_packages: Kinder group_by: Gruppiere Ergebnisse nach sort_by: Ergebnisse sortieren nach filters: Filter @@ -2247,7 +2254,7 @@ de: status_transition_invalid: ist ungültig, da kein valider Übergang vom alten zum neuen Status für die aktuelle Rolle des Nutzers existiert. status_invalid_in_type: ist ungültig, da der aktuelle Status nicht in diesem Typ vorhanden ist. type: - cannot_be_milestone_due_to_children: kann kein Meilenstein werden, da dieses Arbeitspaket Unteraufgaben besitzt. + cannot_be_milestone_due_to_children: kann kein Meilenstein werden, da dieses Arbeitspaket Unterelemente besitzt. priority_id: only_active_priorities_allowed: muss aktiv sein. category: @@ -3066,7 +3073,7 @@ de: error_custom_option_not_found: Option ist nicht vorhanden. error_enterprise_plan_needed: Sie benötigen den Enterprise-Plan %{plan}, um diese Aktion durchzuführen. error_enterprise_activation_user_limit: Ihr Konto konnte nicht aktiviert werden (Nutzerlimit erreicht). Bitte kontaktieren Sie Ihren Administrator um Zugriff zu erhalten. - error_enterprise_token_invalid_domain: Die Enterprise-Edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected}). + error_enterprise_token_invalid_domain: Die Enterprise edition ist nicht aktiv. Die aktuelle Domain (%{actual}) entspricht nicht dem erwarteten Hostnamen (%{expected}). error_failed_to_delete_entry: Fehler beim Löschen dieses Eintrags. error_in_dependent: 'Fehler beim Versuch, abhängiges Objekt zu ändern: %{dependent_class} #%{related_id} - %{related_subject}: %{error}' error_in_new_dependent: 'Fehler beim Versuch, abhängiges Objekt zu erstellen: %{dependent_class} - %{related_subject}: %{error}' @@ -3354,7 +3361,7 @@ de: dates: working: "%{date} ist jetzt ein Arbeitstag" non_working: "%{date} ist jetzt ein arbeitsfreier Tag" - progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-bezogen gesetzt + progress_mode_changed_to_status_based: Fortschrittberechnung wurde auf Status-basiert gesetzt status_excluded_from_totals_set_to_false_message: jetzt in den Gesamtwerten der Hierarchie enthalten status_excluded_from_totals_set_to_true_message: jetzt von den Hierarchie-Gesamtwerten ausgeschlossen status_percent_complete_changed: "% abgeschlossen von %{old_value}% auf %{new_value} % geändert" @@ -3386,6 +3393,11 @@ de: quick_add: label: Hinzufügen… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider-Tokens werden von OpenProject ausgestellt und ermöglichen anderen Anwendungen den Zugriff darauf. Client-Tokens werden von anderen Anwendungen ausgestellt und ermöglichen OpenProject den Zugriff auf sie. no_results: @@ -3448,6 +3460,72 @@ de: disabled_text: RSS-Token sind vom Administrator nicht aktiviert. Bitte kontaktieren Sie Ihren Administrator, um diese Funktion zu nutzen. storages: unknown_storage: Unbekannter Speicher + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Zugewiesen an @@ -3479,6 +3557,7 @@ de: invalid_filter: Ungültiger Benachrichtigungsfilter label_accessibility: Barrierefreiheit label_account: Konto + label_actions: Aktionen label_active: Aktiv label_activate_user: Benutzer aktivieren label_active_in_new_projects: Aktiv in neuen Projekten @@ -3519,6 +3598,7 @@ de: label_ical_access_key_generation_hint: Wird automatisch generiert, wenn ein Kalender abonniert wird. label_ical_access_key_latest: neueste label_ical_access_key_revoke: Widerrufen + label_integrations: Integrations label_add_column: Spalte hinzufügen label_applied_status: Zugewiesener Status label_archive_project: Projekt archivieren @@ -3676,7 +3756,7 @@ de: label_enumerations: Aufzählungen label_enterprise: Enterprise label_enterprise_active_users: "%{current}/%{limit} gebuchte aktive Nutzer" - label_enterprise_edition: Enterprise Edition + label_enterprise_edition: Enterprise edition label_enterprise_support: Enterprise Support label_environment: Umgebung label_estimates_and_progress: Schätzungen und Fortschritt @@ -3769,7 +3849,7 @@ de: label_external_links: Externe Links label_locale: Sprache und Region label_jump_to_a_project: Zu einem Projekt springen... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Schlüsselwörter label_language_based: Sprachabhängig label_last_activity: Letzte Aktivität @@ -4786,7 +4866,7 @@ de: Erhöhen Sie diesen Wert zur Verbesserung der Performance, da die Erfassung des genutzten Festplattenspeichers Ressourcen-intensiv ist. oauth_application_details_html: 'The client secret value will not be accessible again after you close this window. Please copy these values into the Nextcloud OpenProject Integration settings:' oauth_application_details_link_text: Zu den Einstellungen gehen - setup_documentation_details: 'Wenn Sie Hilfe bei der Konfiguration eines neuen Dateispeichers benötigen, konsultieren Sie bitte die Dokumentation: ' + setup_documentation_details: 'Wenn Sie Hilfe bei der Konfiguration eines neuen Datei-Speichers benötigen, konsultieren Sie bitte die Dokumentation: ' setup_documentation_details_link_text: Dateispeicher einrichten show_warning_details: Um diesen Dateispeicher nutzen zu können, müssen Sie das Modul und den spezifischen Speicher in den Projekteinstellungen jedes gewünschten Projekts aktivieren. subversion: @@ -5027,12 +5107,12 @@ de: setting_welcome_text: Text für Willkommens-Block setting_welcome_title: Titel des Willkommens-Block setting_welcome_on_homescreen: Willkommens-Block auf Startseite anzeigen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Standard Hervorhebung @@ -5496,7 +5576,7 @@ de: warning_user_limit_reached_admin_html: 'Adding additional users will exceed the current limit. Please [upgrade your plan](upgrade_url) to be able to ensure external users are able to access this instance. ' - warning_user_limit_reached_instructions: 'Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise Edition Plan upzugraden und weitere Nutzer hinzuzufügen. + warning_user_limit_reached_instructions: 'Du hast dein Nutzerlimit erreicht (%{current}/%{max} active users). Bitte kontaktiere sales@openproject.com um deinen Enterprise edition Plan upzugraden und weitere Nutzer hinzuzufügen. ' warning_protocol_mismatch_html: '' diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index 011c6b862ea..16fb6c6537f 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -114,7 +114,7 @@ el: import: title: Import jira: - title: Εισαγωγή από Jira + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ el: title: Jira configuration new: New configuration banner: - title: Περιορισμένη εισαγωγή - description: 'Αυτό το εργαλείο εισαγωγής βρίσκεται επί του παρόντος σε beta έκδοση και μπορεί να εισάγει μόνο βασικά δεδομένα: έργα, ζητήματα (όνομα, τίτλος, περιγραφή, συνημμένα), χρήστες (όνομα, email, συμμετοχή σε έργα), καταστάσεις και τύπους. Δεν μπορεί να εισαγάγει ροές εργασίας, προσαρμοσμένα πεδία, σχέσεις ζητημάτων ή δικαιώματα. Προς το παρόν υποστηρίζουμε μόνο τις εκδόσεις 10.x και 11.x του Jira Server/Data Center. Προς το παρόν δεν υποστηρίζονται περιπτώσεις cloud.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ el: run: title: Import run history: History - remove_error: Μια εισαγωγή Jira δεν μπορεί να αφαιρεθεί ενώ εκτελείται + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ el: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ el: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ el: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1535,6 +1539,9 @@ el: dependencies: Εξαρτήσεις activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1543,7 +1550,7 @@ el: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Εμφάνιση μέχρι attachment: @@ -3390,6 +3397,11 @@ el: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3452,6 +3464,72 @@ el: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Ανάθεση σε @@ -3483,6 +3561,7 @@ el: invalid_filter: Invalid notification filter label_accessibility: Προσβασιμότητα label_account: Λογαριασμός + label_actions: Ενέργειες label_active: Ενεργό label_activate_user: Ενεργοποίηση χρήστη label_active_in_new_projects: Ενεργό σε καινούργια έργα @@ -3523,6 +3602,7 @@ el: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Ανάκληση + label_integrations: Integrations label_add_column: Add column label_applied_status: Εφαρμόστηκε η κατάσταση label_archive_project: Αρχειοθέτηση έργου @@ -3773,7 +3853,7 @@ el: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Μεταβείτε σε ένα έργο... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Λέξεις-κλειδιά label_language_based: Με βάση τη γλώσσα του χρήστη label_last_activity: Τελευταία δραστηριότητα @@ -5025,12 +5105,12 @@ el: setting_welcome_text: Μπλοκ κειμένου καλωσορίσματος setting_welcome_title: Μπλοκ τίτλου καλωσορίσματος setting_welcome_on_homescreen: Εμφάνιση μπλοκ καλωσορίσματος στην αρχική σελίδα - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Προεπιλεγμένη λειτουργία επισήμανσης diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index aa66f2747ff..5143bdccc65 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -114,7 +114,7 @@ eo: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ eo: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ eo: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ eo: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ eo: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ eo: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ eo: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ eo: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Montri ĝis attachment: @@ -3391,6 +3398,11 @@ eo: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ eo: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Asignita al @@ -3484,6 +3562,7 @@ eo: invalid_filter: Invalid notification filter label_accessibility: Alirebleco label_account: Konto + label_actions: Agoj label_active: Aktiva label_activate_user: Aktivigi uzanton label_active_in_new_projects: Aktiva en novaj projektoj @@ -3524,6 +3603,7 @@ eo: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Eksvalidigi + label_integrations: Integrations label_add_column: Add column label_applied_status: Aplikita stato label_archive_project: Aktivi projekton @@ -3774,7 +3854,7 @@ eo: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Iri al la projekto... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Ŝlosilvortoj label_language_based: Bazita sur la lingvo de la uzanto label_last_activity: Lasta aktiveco @@ -5030,12 +5110,12 @@ eo: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 0594e359f16..7076819d871 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -114,7 +114,7 @@ es: import: title: Importar jira: - title: Importación desde Jira + title: Jira Migrator description: Utilice esta herramienta para importar datos desde su instancia de Jira. Puede configurar varios hosts de Jira y elegir qué importar en cada ejecución de importación. errors: cannot_delete_with_imports: No se puede eliminar el host de Jira con importaciones existentes @@ -125,8 +125,8 @@ es: title: Configuración de Jira new: Nueva configuración banner: - title: Importación limitada - description: 'Esta herramienta de importación se encuentra actualmente en fase beta y solo puede importar datos básicos: proyectos, incidencias (nombre, título, descripción, archivos adjuntos), usuarios (nombre, correo electrónico, pertenencia a proyectos), estados y tipos. No puede importar flujos de trabajo, campos personalizados, relaciones entre incidencias ni permisos. Actualmente solo es compatible con las versiones 10.x y 11.x de Jira Server/Data Center. Por el momento, no es compatible con instancias en la nube.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Nombre @@ -162,7 +162,7 @@ es: run: title: Importar ejecución history: Historial - remove_error: No se puede eliminar una importación de Jira mientras se está ejecutando + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Actualmente hay otra importación de Jira en curso o pendiente de revisión. Complétela o revierta antes de iniciar una nueva importación. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ es: notification_text_default: "Hola,
Se ha creado un nuevo proyecto: projectValue:name
Muchas gracias
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ es: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ es: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Transiciones predeterminadas @@ -1352,7 +1356,7 @@ es: automatic_with_children: Fechas determinadas por paquetes de trabajo secundarios. automatic_with_predecessor: La fecha de inicio la fija un predecesor. manual_mobile: Programado manualmente. - manually_scheduled: Programado manualmente. No afectadas por relaciones. + manually_scheduled: Programado manualmente. Fechas no afectadas por relaciones. blankslate: title: Sin predecesores description: Para activar la programación automática, este paquete de trabajo debe tener al menos un predecesor. Entonces se programará automáticamente para que comience después del predecesor más cercano. @@ -1531,6 +1535,9 @@ es: dependencies: Dependencias activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Proyectos import/jira: @@ -1539,7 +1546,7 @@ es: personal_access_token: Token de acceso personal import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Mostrar hasta attachment: @@ -3382,6 +3389,11 @@ es: quick_add: label: Añadir… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Los tokens de proveedor son emitidos por OpenProject y permiten a otras aplicaciones acceder a él. Los tokens de cliente son emitidos por otras aplicaciones y permiten a OpenProject acceder a ellos. no_results: @@ -3444,6 +3456,72 @@ es: disabled_text: Los tokens RSS no están habilitados por el administrador. Póngase en contacto con su administrador para utilizar esta función. storages: unknown_storage: Almacenamiento desconocido + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Asignado a @@ -3475,6 +3553,7 @@ es: invalid_filter: Filtro de notificación no válido label_accessibility: Accesibilidad label_account: Cuenta + label_actions: Comportamiento label_active: Activo label_activate_user: Activar usuario label_active_in_new_projects: Activo en nuevos proyectos @@ -3515,6 +3594,7 @@ es: label_ical_access_key_generation_hint: Se genera automáticamente al suscribirse a un calendario. label_ical_access_key_latest: último label_ical_access_key_revoke: Revocar + label_integrations: Integrations label_add_column: Añadir columna label_applied_status: Estado aplicado label_archive_project: Archivar proyecto @@ -3765,7 +3845,7 @@ es: label_external_links: Enlaces externos label_locale: Idioma y región label_jump_to_a_project: Saltar a un proyecto... - label_jira_import: Importación desde Jira + label_jira_import: Jira Migrator label_keyword_plural: Palabras clave label_language_based: Basado en el idioma del usuario label_last_activity: Última actividad @@ -5015,12 +5095,12 @@ es: setting_welcome_text: Bloque de texto de bienvenida setting_welcome_title: Título del bloque de bienvenida setting_welcome_on_homescreen: Mostrar bloque de bienvenida en la pagina de inicio - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Modo de resaltado predeterminado diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index 6b4c80645d8..b7f8780c0a3 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -114,7 +114,7 @@ et: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ et: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ et: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ et: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ et: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ et: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ et: dependencies: Sõltuvused activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ et: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ et: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ et: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Määratud tegija @@ -3484,6 +3562,7 @@ et: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Konto + label_actions: Tegevused label_active: Aktiivne label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ et: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: viimased label_ical_access_key_revoke: Võta tagasi + label_integrations: Integrations label_add_column: Lisa veerg label_applied_status: Rakendatud olek label_archive_project: Arhiveeri projekt @@ -3774,7 +3854,7 @@ et: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Mine projekti... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Märksõnad label_language_based: Põhineb kasutaja keelel label_last_activity: Viimane tegevus @@ -5028,12 +5108,12 @@ et: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index c720818a989..6610ae3800e 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -114,7 +114,7 @@ eu: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ eu: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ eu: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ eu: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ eu: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ eu: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ eu: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ eu: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ eu: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ eu: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ eu: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ eu: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ eu: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ eu: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index c9e7039680f..27b528869c7 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -114,7 +114,7 @@ fa: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ fa: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ fa: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ fa: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ fa: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ fa: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ fa: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ fa: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ fa: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ fa: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: نماینده @@ -3484,6 +3562,7 @@ fa: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: حساب کاربری + label_actions: اقدامات label_active: Active label_activate_user: کاربر فعال label_active_in_new_projects: فعال در پروژه های جدید @@ -3524,6 +3603,7 @@ fa: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ fa: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ fa: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index f7ad960ff5d..d0d721919bf 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -114,7 +114,7 @@ fi: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ fi: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ fi: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ fi: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ fi: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ fi: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ fi: dependencies: Riippuvuudet activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ fi: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Näytä tähän päivään asti attachment: @@ -3389,6 +3396,11 @@ fi: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3451,6 +3463,72 @@ fi: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Työn suorittaja @@ -3482,6 +3560,7 @@ fi: invalid_filter: Invalid notification filter label_accessibility: Helppokäyttötoiminnot label_account: Käyttäjätili + label_actions: Toiminnot label_active: Aktiivinen label_activate_user: Aktivoi käyttäjä label_active_in_new_projects: Active in new projects @@ -3522,6 +3601,7 @@ fi: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Käytetty tila label_archive_project: Arkisto projekti @@ -3772,7 +3852,7 @@ fi: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Siirry projektiin... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Pohjautuen käyttäjän kieleen label_last_activity: Viimeinen toiminta @@ -5028,12 +5108,12 @@ fi: setting_welcome_text: Tervehdysteksti setting_welcome_title: Tervehdyspalkki setting_welcome_on_homescreen: Näytä tervehdyspalkki kotinäkymässä - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 5c3dede20f2..4b8877c3676 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -114,7 +114,7 @@ fil: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ fil: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ fil: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ fil: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ fil: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ fil: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ fil: dependencies: Dependencia activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ fil: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: I-displey hanggang attachment: @@ -3391,6 +3398,11 @@ fil: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ fil: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Naitalaga @@ -3484,6 +3562,7 @@ fil: invalid_filter: Invalid notification filter label_accessibility: Aksibilidad label_account: Akawnt + label_actions: Mga Aksyon label_active: Aktibo label_activate_user: Aktibong gumagamit label_active_in_new_projects: Aktibo sa bagong proyekto @@ -3524,6 +3603,7 @@ fil: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Estadong nilapat label_archive_project: I-archive ang proyekto @@ -3774,7 +3854,7 @@ fil: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Tumalon sa isang proyekto... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Naka-base sa linggwahe ng gumagamit label_last_activity: Huling aktibidad @@ -5026,12 +5106,12 @@ fil: setting_welcome_text: Teskstong welcome block setting_welcome_title: Titulo ng welcome back setting_welcome_on_homescreen: I-display ang welcome block sa homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index 33f7d6da7d2..0c9fc8d0761 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -114,7 +114,7 @@ fr: import: title: Importation jira: - title: Importation de Jira + title: Migrateur Jira description: Utilisez cet outil pour importer des données à partir de votre instance Jira. Vous pouvez configurer plusieurs hôtes Jira et choisir les données à importer à chaque cycle d'importation. errors: cannot_delete_with_imports: Impossible de supprimer un hôte Jira avec des importations existantes @@ -125,8 +125,8 @@ fr: title: Configuration de Jira new: Nouvelle configuration banner: - title: Importation limitée - description: 'Cet outil d''importation est actuellement en version bêta et ne peut importer que des données de base : projets, tickets (nom, titre, description, pièces jointes), utilisateurs (nom, e-mail, appartenance à un projet), statuts et types. Il ne peut pas importer les flux de travail, les champs personnalisés, les relations entre les tickets ou les autorisations. Nous ne prenons actuellement en charge que les versions 10.x et 11.x de Jira Server/Data Center. Les instances cloud ne sont pas prises en charge pour le moment.' + title: Capacités d'importation limitées + description: 'Cet outil Jora Migrator est actuellement en version bêta et ne peut importer que des données de base : projets, tickets (nom, titre, description, pièces jointes), utilisateurs (nom, e-mail, appartenance à un projet), statuts et types. Il ne peut pas importer les flux de travail, les champs personnalisés, les relations entre les tickets ou les autorisations. Nous ne prenons actuellement en charge que les versions 10.x et 11.x de Jira Server/Data Center. Les instances cloud ne sont pas prises en charge pour le moment.' form: fields: name: Nom @@ -162,7 +162,7 @@ fr: run: title: Cycle d'importation history: Historique - remove_error: Une importation Jira ne peut pas être supprimée lorsqu'elle est en cours d'exécution + remove_error: Une exécution d'importation Jira ne peut pas être supprimée lorsqu'elle est en cours d'exécution import_blocked_error: Un autre cycle d'importation Jira est actuellement en cours ou en attente de révision. Veuillez le terminer ou l'annuler avant de commencer une nouvelle importation. project_identifier_taken: 'Vous essayez d''importer un projet avec un identifiant déjà utilisé : %{taken_identifier}. Veuillez mettre à jour l''identifiant du projet dans Jira, puis cliquez sur Réessayer.' blank: @@ -387,9 +387,9 @@ fr: notification_text_default: "Bonjour,
Un nouveau projet a été créé : projectValue:name
Nous vous remercions de votre attention et vous prions d'agréer nos salutations distinguées.
\n" work_packages_identifier: page_header: - description: Vous avez le choix entre des identifiants numériques de base pour les lots de travail et des identifiants spécifiques aux projets qui ajoutent l'identifiant du projet à l'identifiant du lot de travail. + description: Vous avez le choix entre des identifiants numériques classiques pour les lots de travaux et des identifiants sémantiques spécifiques aux projets, qui ajoutent l'identifiant du projet à l'identifiant du lot de travaux. banner: - existing_identifiers_notice: 'Les identifiants existants de %{project_count} projets ne répondent pas aux exigences des identifiants alphanumériques basés sur les projets. OpenProject peut les mettre à jour automatiquement pour qu''ils soient valides, comme dans les exemples ci-dessous. Cliquez sur "Autofixer et sauvegarder" pour mettre à jour les identifiants de tous les projets de cette manière et activer les identifiants alphanumériques basés sur le projet. + existing_identifiers_notice: 'Les identifiants existants de %{project_count} projets ne répondent pas aux exigences des identifiants sémantiques basés sur les projets. OpenProject peut les mettre à jour automatiquement pour qu''ils soient valides, comme dans les exemples ci-dessous. Cliquez sur « Corriger automatiquement et enregistrer » pour mettre à jour les identifiants de tous les projets de cette manière et activer les identifiants sémantiques basés sur les projets. ' box_header: @@ -398,10 +398,14 @@ fr: label_autofixed_suggestion: Futur identifiant label_example_work_package_id: Exemple d'identifiant de lot de travaux autofix_preview: - error_too_long: Doit avoir moins de 5 caractères + error_too_long: Doit être composé de 10 caractères ou moins + error_numerical: Ne peut être purement numérique + error_starts_with_number: Ne peut pas commencer par un chiffre error_special_characters: Caractères spéciaux non autorisés + error_not_fully_uppercased: Doit être en majuscules error_in_use: Déjà utilisé comme alias actif d'un autre projet error_reserved: Réservé par l'historique des alias d'un autre projet + error_unknown: Nécessite une vérification manuelle remaining_projects: one: "... 1 projet supplémentaire" other: "... %{count} projets supplémentaires" @@ -416,7 +420,7 @@ fr: checkbox_label: Je comprends que cela changera définitivement tous les identifiants du lot de travaux success_banner: Le format de l'identifiant du lot de travaux a été mis à jour. in_progress: - banner_message: Les identifiants de projet sont actuellement mis à jour pour devenir des identifiants alphanumériques basés sur les projets. Cela peut prendre un certain temps. + banner_message: Les identifiants de projet sont actuellement mis à jour pour devenir des identifiants sémantiques basés sur les projets. Cela peut prendre un certain temps. workflows: tabs: default_transitions: Transitions par défaut @@ -1529,6 +1533,9 @@ fr: dependencies: Dépendances activerecord: attributes: + work_package_semantic_alias: + identifier: Identifiant + work_package: Lot de travaux jira_import: projects: Projets import/jira: @@ -1537,7 +1544,7 @@ fr: personal_access_token: Jeton d'accès personnel import/jira_open_project_reference: jira: Jira - jira_import: Importation de Jira + jira_import: Migrateur Jira announcements: show_until: Afficher jusqu'à attachment: @@ -3384,6 +3391,11 @@ fr: quick_add: label: Ajouter… my_account: + notifications_and_email: + title: Notification et e-mail + tabs: + notifications: Paramètres de notifications + email_reminders: Rappels par e-mail access_tokens: description: Les jetons de fournisseur sont émis par OpenProject, ce qui permet à d'autres applications d'y accéder. Les jetons clients sont émis par d'autres applications, permettant à OpenProject d'y accéder. no_results: @@ -3446,6 +3458,72 @@ fr: disabled_text: Les jetons RSS ne sont pas activés par l'administrateur. Veuillez contacter votre administrateur pour utiliser cette fonctionnalité. storages: unknown_storage: Espace de stockage inconnu + email_reminders: + immediate_reminders: + title: M'envoyer un rappel par e-mail + mentioned: M'avertir lorsque je suis mentionné(e) + personal_reminder: M'avertir pour les rappels personnels + daily_reminders: + title: M'envoyer des rappels quotidiens par e-mail pour les notifications non lues + caption: Vous ne recevrez ces rappels que pour les notifications non lues et seulement aux heures que vous aurez spécifiées. Tant que vous n'aurez pas configuré un fuseau horaire pour votre compte, les heures seront interprétées comme étant en UTC. + enabled: Activer les rappels quotidiens par e-mail + add_time: Ajouter une heure + remove_time: Supprimer l'heure + time_slot_label: Heure de rappel (UTC) + workdays: + title: Recevoir des rappels par e-mail aux jours spécifiés + submit_button: Mettre à jour les jours de rappel + pause_reminders: + title: Suspendre les notifications par e-mail + enabled: Suspendre temporairement les rappels quotidiens par e-mail + date_range: Période de pause + email_alerts: + title: Alertes par e-mail pour les autres éléments qui ne sont pas des lots de travaux + news_added: Actualités ajoutées + news_commented: Commenter un article d'actualité + document_added: Document ajouté + forum_messages: Message de forum publié + wiki_page_added: Page wiki ajoutée + wiki_page_updated: Page wiki mise à jour + membership_added: Adhésion ajoutée + membership_updated: Adhésion mise à jour + submit_button: Mettre à jour les alertes + notifications: + participating: + title: Participant + submit_button: Mettre à jour les préférences + mentioned: Mentionné + watched: En cours + assignee: Personne assignée + responsible: Responsable + shared: Partagé avec moi + date_alerts: + title: Alertes de date + submit_button: Mettre à jour les alertes de date + start_date: Date de début + due_date: Date de fin + overdue: En retard + times: + same_day: Le même jour + one_day_before: 1 jour avant + three_days_before: 3 jours avant + seven_days_before: 7 jours avant + one_day_after: 1 jour après + three_days_after: 3 jours après + seven_days_after: 7 jours après + non_participating: + title: Non participant + submit_button: Mettre à jour les préférences + work_package_created: Nouveaux lots de travaux + work_package_commented: Tous les nouveaux commentaires + work_package_processed: Tous les changements de statut + work_package_prioritized: Tous les changements de priorité + work_package_scheduled: Tous les changements de date + project_specific_settings: + title: Paramètres de notification spécifiques au projet + add_button: Ajouter des notifications spécifiques au projet + dialog_title: Ajouter des notifications spécifiques au projet + list_header: Projets avec notifications spécifiques notifications: reasons: assigned: Personne assignée @@ -3477,6 +3555,7 @@ fr: invalid_filter: Filtre de notification invalide label_accessibility: Accessibilité label_account: Compte + label_actions: Actions label_active: Actif label_activate_user: Activer l’utilisateur label_active_in_new_projects: Activer dans de nouveaux projets @@ -3517,6 +3596,7 @@ fr: label_ical_access_key_generation_hint: Généré automatiquement lors de l'abonnement à un calendrier. label_ical_access_key_latest: Dernier label_ical_access_key_revoke: Révoquer + label_integrations: Intégrations label_add_column: Ajouter une colonne label_applied_status: Statut appliqué label_archive_project: Archiver le projet @@ -3767,7 +3847,7 @@ fr: label_external_links: Liens externes label_locale: Langue et région label_jump_to_a_project: Aller à un projet… - label_jira_import: Importation de Jira + label_jira_import: Jira Migrator label_keyword_plural: Mots clés label_language_based: Basé sur la langue de l'utilisateur label_last_activity: Dernière activité @@ -5021,12 +5101,12 @@ fr: setting_welcome_text: Bloc de texte de bienvenue setting_welcome_title: Bloc de titre de bienvenue setting_welcome_on_homescreen: Afficher le bloc de bienvenue sur l'écran d'accueil - setting_work_packages_identifier_numeric: Séquence numérique à l'échelle de l'instance (par défaut) - setting_work_packages_identifier_numeric_caption: 'Chaque lot de travaux obtient un numéro séquentiel commençant par 1 et incrémenté à chaque nouveau. Les nombres sont uniques dans cette instance, donc ils restent les mêmes même si les lots de travaux sont déplacés entre les projets. + setting_work_packages_identifier_classic: Séquence numérique à l'échelle de l'instance (par défaut) + setting_work_packages_identifier_classic_caption: 'Chaque lot de travaux obtient un numéro séquentiel commençant par 1 et incrémenté à chaque nouveau. Les nombres sont uniques dans cette instance, donc ils restent les mêmes même si les lots de travaux sont déplacés entre les projets. ' - setting_work_packages_identifier_alphanumeric: Identifiants alphanumériques basés sur le projet - setting_work_packages_identifier_alphanumeric_caption: 'Chaque projet a un identifiant unique qui est préfixé à l''ID du lot de travaux. Si un lot de travaux a été déplacé vers un autre projet, un nouvel identifiant est généré, mais l''ancien continue de fonctionner. + setting_work_packages_identifier_semantic: Identifiants sémantiques basés sur le projet + setting_work_packages_identifier_semantic_caption: 'Chaque projet a un identifiant unique qui est préfixé à l''ID du lot de travaux. Si un lot de travaux a été déplacé vers un autre projet, un nouvel identifiant est généré, mais l''ancien continue de fonctionner. ' setting_work_package_list_default_highlighting_mode: Mode de surbrillance par défaut diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 78cc43c89f3..b6aecb8c1b5 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -114,7 +114,7 @@ he: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ he: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ he: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -399,9 +399,9 @@ he: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -410,10 +410,14 @@ he: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" two: "... %{count} more projects" @@ -430,7 +434,7 @@ he: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1572,6 +1576,9 @@ he: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1580,7 +1587,7 @@ he: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3509,6 +3516,11 @@ he: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3571,6 +3583,72 @@ he: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: משויך אל @@ -3602,6 +3680,7 @@ he: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: חשבון + label_actions: Actions label_active: פעיל label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3642,6 +3721,7 @@ he: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: מצב יישומית label_archive_project: Archive project @@ -3892,7 +3972,7 @@ he: label_external_links: External links label_locale: Language and region label_jump_to_a_project: קפוץ אל פרוייקט... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5158,12 +5238,12 @@ he: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index b2a678ee29f..1c7917e13ab 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -114,7 +114,7 @@ hi: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ hi: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ hi: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ hi: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ hi: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ hi: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ hi: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ hi: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ hi: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ hi: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: अनुदिष्ट @@ -3484,6 +3562,7 @@ hi: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: खाता + label_actions: क्रियाएँ label_active: सक्रिय label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ hi: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: लागू की गई स्थिति label_archive_project: Archive project @@ -3774,7 +3854,7 @@ hi: label_external_links: External links label_locale: Language and region label_jump_to_a_project: किसी प्रोजेक्ट पर जंप करें... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ hi: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: डिफ़ॉल्ट हाइलाइटिंग तरीका diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index 1524d801db2..f741963e4ca 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -114,7 +114,7 @@ hr: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ hr: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ hr: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -393,9 +393,9 @@ hr: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -404,10 +404,14 @@ hr: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" few: "... %{count} more projects" @@ -423,7 +427,7 @@ hr: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1554,6 +1558,9 @@ hr: dependencies: Ovisnosti activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1562,7 +1569,7 @@ hr: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Prikaži do attachment: @@ -3448,6 +3455,11 @@ hr: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3510,6 +3522,72 @@ hr: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Opunomoćeno @@ -3541,6 +3619,7 @@ hr: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Korisnički račun + label_actions: Actions label_active: Aktivno label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3581,6 +3660,7 @@ hr: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Dodijeljeni status label_archive_project: Archive project @@ -3831,7 +3911,7 @@ hr: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Pređi na projekt... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Na osnovi jezika korisnika label_last_activity: Zadnja aktivnost @@ -5090,12 +5170,12 @@ hr: setting_welcome_text: Tekst dobrodošlice setting_welcome_title: Naslov dobrodošlice setting_welcome_on_homescreen: Prikaži tekst dobrodošlice na početnoj stranici - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 7a8be474511..18297ecae28 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -114,7 +114,7 @@ hu: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ hu: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ hu: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ hu: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ hu: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ hu: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1556,6 +1560,9 @@ hu: dependencies: Szükséges összetevők activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1564,7 +1571,7 @@ hu: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Megjelenít eddig attachment: @@ -3453,6 +3460,11 @@ hu: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3515,6 +3527,72 @@ hu: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Megbízott @@ -3548,6 +3626,7 @@ hu: invalid_filter: Invalid notification filter label_accessibility: Kisegítő lehetőségek label_account: Felhasználói fiók + label_actions: Műveletek label_active: aktív label_activate_user: Felhasználó aktiválása label_active_in_new_projects: Új projektekben aktív @@ -3588,6 +3667,7 @@ hu: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Visszavonás + label_integrations: Integrations label_add_column: Add column label_applied_status: Alkalmazott státusz label_archive_project: Projekt archiválása @@ -3838,7 +3918,7 @@ hu: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Ugrás a projekthez - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Kulcsszavak label_language_based: A felhasználói nyelv alapján label_last_activity: Utolsó aktivitás @@ -5120,12 +5200,12 @@ hu: setting_welcome_text: Üdvözlő blokk szöveg setting_welcome_title: Üdvözlő blokk címe setting_welcome_on_homescreen: Üdvözlő blokk megjelenítése a kezdőképernyőn - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Alapértelmezett kiemelési mód diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index a8339b34b6f..bf6a584c0c3 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -114,7 +114,7 @@ id: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ id: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ id: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -381,9 +381,9 @@ id: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ id: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ id: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1522,6 +1526,9 @@ id: dependencies: Dependensi activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1530,7 +1537,7 @@ id: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3343,6 +3350,11 @@ id: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3405,6 +3417,72 @@ id: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Pelimpahan @@ -3436,6 +3514,7 @@ id: invalid_filter: Invalid notification filter label_accessibility: Kemampuan akses label_account: Akun + label_actions: Tindakan label_active: Aktif label_activate_user: Pengguna diaktifkan label_active_in_new_projects: Aktif dalam proyek-proyek baru @@ -3476,6 +3555,7 @@ id: label_ical_access_key_generation_hint: Dibuat secara otomatis saat berlangganan kalender. label_ical_access_key_latest: terbaru label_ical_access_key_revoke: Menarik kembali + label_integrations: Integrations label_add_column: Add column label_applied_status: Status berjalan label_archive_project: Proyek arsip @@ -3726,7 +3806,7 @@ id: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Lompat ke Project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Kata kunci label_language_based: Berdasarkan bahasa user label_last_activity: Aktivitas terakhir @@ -4967,12 +5047,12 @@ id: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index 84b397b64cf..fff657a1db3 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -114,7 +114,7 @@ it: import: title: Importa jira: - title: Importazione di Jira + title: Jira Migrator description: Utilizza questo strumento per importare dati dalla tua istanza Jira. Puoi configurare più host Jira e scegliere cosa importare a ogni importazione. errors: cannot_delete_with_imports: Impossibile eliminare l'host Jira con importazioni esistenti @@ -125,8 +125,8 @@ it: title: Configurazione Jira new: Nuova configurazione banner: - title: Importazione limitata - description: 'Questo strumento di importazione è attualmente in versione beta e può importare solo dati di base: progetti, issue (nome, titolo, descrizione, allegati), utenti (nome, email, appartenenza al progetto), stati e tipi. Non può importare flussi di lavoro, campi personalizzati, relazioni tra issue o autorizzazioni. Al momento supportiamo solo le versioni 10.x e 11.x di Jira Server/Data Center. Le istanze cloud non sono supportate al momento.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Nome @@ -162,7 +162,7 @@ it: run: title: Importa esecuzione history: Cronologia - remove_error: Un'importazione di Jira non può essere rimossa mentre è in esecuzione + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Un'altra importazione Jira è attualmente in corso o in attesa di revisione. Completala o annullala prima di iniziare una nuova importazione. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ it: notification_text_default: "Ciao,
È stato creato un nuovo progetto: projectValue:name
Grazie
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ it: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ it: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Transizioni predefinite @@ -1535,6 +1539,9 @@ it: dependencies: Dipendenze activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Progetti import/jira: @@ -1543,7 +1550,7 @@ it: personal_access_token: Token di accesso personale import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Visualizza fino a attachment: @@ -3392,6 +3399,11 @@ it: quick_add: label: Aggiungi… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: I token provider vengono emessi da OpenProject, consentendo ad altre applicazioni di accedervi. I token client vengono emessi da altre applicazioni, consentendo a OpenProject di accedervi. no_results: @@ -3454,6 +3466,72 @@ it: disabled_text: I token RSS non sono abilitati dall'amministratore. Contatta il tuo amministratore per utilizzare questa funzione. storages: unknown_storage: Archivio sconosciuto + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assegnatario @@ -3485,6 +3563,7 @@ it: invalid_filter: Filtro notifica non valido label_accessibility: Accessibilità label_account: Account + label_actions: Azioni label_active: Attivo label_activate_user: Attiva utente label_active_in_new_projects: Attivo nei nuovi progetti @@ -3525,6 +3604,7 @@ it: label_ical_access_key_generation_hint: Generato automaticamente all'iscrizione a un calendario. label_ical_access_key_latest: più recente label_ical_access_key_revoke: Revoca + label_integrations: Integrations label_add_column: Aggiungi colonna label_applied_status: Stato applicato label_archive_project: Archivia progetto @@ -3775,7 +3855,7 @@ it: label_external_links: Link esterni label_locale: Lingua e paese label_jump_to_a_project: Salta ad altro progetto... - label_jira_import: Importazione di Jira + label_jira_import: Jira Migrator label_keyword_plural: Parole chiave label_language_based: Basato sulla lingua dell'utente label_last_activity: Ultima attività @@ -5029,12 +5109,12 @@ it: setting_welcome_text: Blocco di testo di benvenuto setting_welcome_title: Blocco di testo del titolo setting_welcome_on_homescreen: Mostra il blocco testo di benvenuto nella pagina home - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Modalità evidenziazione predefinita diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index 08fda701046..d9c868dc517 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -114,7 +114,7 @@ ja: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ja: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: 名前 @@ -162,7 +162,7 @@ ja: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -324,13 +324,13 @@ ja: success: MCP configuration was updated successfully. scim_clients: authentication_methods: - sso: IDプロバイダーからのJWT - oauth2_client: OAuth 2.0クライアント認証情報 + sso: アイデンティティプロバイダからのJWT + oauth2_client: OAuth 2.0 クライアント資格情報 oauth2_token: 静的アクセストークン created_client_credentials_dialog_component: - title: クライアント認証情報の作成 - heading: クライアント認証情報が生成されました - one_time_hint: クライアント・シークレットが表示されるのはこの時だけです。必ずコピーしてください。 + title: クライアントの資格情報が作成されました + heading: クライアントの資格情報が生成されました + one_time_hint: クライアントのシークレットが表示される唯一の時間です。今すぐコピーしてください。 created_token_dialog_component: title: トークンを作成しました heading: トークンが生成されました @@ -343,21 +343,21 @@ ja: edit: label_delete_scim_client: SCIM クライアントを削除 form: - auth_provider_description: これは、SCIM プロバイダによって追加されたユーザが OpenProject で認証するために使用するサービスです。 - authentication_method_description_html: これは SCIM クライアントが OpenProject で認証する方法です。OAuth トークンにscim_v2スコープが含まれていることを確認してください。
- description: これらの設定オプションの詳細については、[SCIMクライアントの設定に関する文書](docs_url)を参照してください。
+ auth_provider_description: これは、SCIMプロバイダが追加したユーザーがOpenProjectでの認証に使用するサービスです。
+ authentication_method_description_html: これは SCIM クライアントが OpenProject で認証する方法です。OAuth トークンに scim_v2 スコープが含まれていることを確認してください。
+ description: 設定オプションの詳細については、[SCIM クライアントの設定に関するドキュメント](docs_url)を参照してください。
jwt_sub_description: 例えば、Keycloakの場合、これはSCIMクライアントに関連付けられたサービスアカウントのUUIDです。あなたのユースケースにあった Subject claim を見つける方法については [ドキュメント](docs_url) を参照してください。
- name_description: このクライアントが設定された理由を他の管理者が理解しやすい名前を選んでください。
+ name_description: 他の管理者がこのクライアントが設定された理由を理解するのに役立つ名前を選択してください。
index:
- description: ここで設定された SCIM クライアントは、OpenProject SCIM サーバ API と対話し、ユーザアカウントやグループのプロビジョニング、更新、デプロビジョニングを行うことができます。
- label_create_button: SCIMクライアントの追加
+ description: ここで設定されたSCIMクライアントは、OpenProjectのSCIMサーバー APIと相互作用して、ユーザーアカウントとグループのプロビジョニング、更新、およびデプロビジョニングを行うことができます。
+ label_create_button: SCIMクライアントを追加
new:
title: 新しいSCIMクライアント
revoke_static_token_dialog_component:
confirm_button: 取り消す
- title: 静的トークンの失効
- heading: このトークンを本当に取り消しますか?
- description: このトークンを使っている SCIM クライアントは、OpenProject の SCIM サーバ API にアクセスできなくなります。
+ title: 静的トークンを取り消す
+ heading: このトークンを取り消してもよろしいですか?
+ description: このトークンを使用する SCIM クライアントは、OpenProject の SCIM サーバ API にアクセスできなくなります。
table_component:
blank_slate:
title: SCIMクライアントがまだ設定されていません
@@ -381,9 +381,9 @@ ja:
notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ ja: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ ja: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -996,26 +1000,26 @@ ja: other: また、 %{shared_work_packages_link} はこのユーザーと共有されています。 remove_project_membership_or_work_package_shares_too: 直接のメンバーとしてのユーザーだけを削除したい(および共有を維持したい)、またはワークパッケージの共有も削除しますか? will_remove_all_user_access_priveleges: このメンバーを削除すると、プロジェクトへのユーザーのすべてのアクセス権が削除されます。ユーザーはまだサイトの一部として存在します。 - will_remove_all_group_access_priveleges: このメンバを削除すると、プロジェクトに対するグループのすべてのアクセス権が削除されます。グループはサイトの一部としてまだ存在します。 - cannot_delete_inherited_membership: このプロジェクトのメンバーであるグループに所属しているため、このメンバーを削除することはできません。 - cannot_delete_inherited_membership_note_admin_html: "%{administration_settings_link}で、プロジェクトのメンバーとしてグループを削除することも、特定のメンバーをグループから削除することもできます。" - cannot_delete_inherited_membership_note_non_admin: プロジェクトのメンバーとしてグループを削除するか、管理者に連絡してこの特定のメンバーをグループから削除することができます。 + will_remove_all_group_access_priveleges: このメンバーを削除すると、グループのすべてのアクセス権がプロジェクトに削除されます。グループはサイトの一部として存在します。 + cannot_delete_inherited_membership: このメンバーはこのプロジェクトのメンバーであるグループに属しているため、削除できません。 + cannot_delete_inherited_membership_note_admin_html: プロジェクトのメンバーとしてグループを削除するか、 %{administration_settings_link} のグループからこの特定のメンバーを削除することができます。 + cannot_delete_inherited_membership_note_non_admin: プロジェクトのメンバーとしてグループを削除するか、管理者に問い合わせてグループから特定のメンバーを削除することができます。 delete_work_package_shares_dialog: - title: ワーク・パッケージ・シェアの破棄 + title: ワークパッケージの共有の取り消し shared_with_this_user_html: other: "%{all_shared_work_packages_link} はこのユーザーと共有されています。" shared_with_this_group_html: other: "%{all_shared_work_packages_link} はこのグループと共有されています。" shared_with_permission_html: other: "%{shared_work_packages_link} のみが %{shared_role_name} 権限と共有されています。" - revoke_all_or_with_role: すべての共有ワークパッケージ、または %{shared_role_name} 権限を持つワークパッケージのみへのアクセス権を剥奪しますか? - will_not_affect_inherited_shares: "(これは、そのグループと共有しているワークパッケージには影響しません)。" - cannot_remove_inherited: グループで共有されたワークパッケージの共有は削除できません。 - cannot_remove_inherited_with_role: ロール %{shared_role_name} で共有されるワークパッケージは、グループを介して共有され、削除することはできません。 - cannot_remove_inherited_note_admin_html: "%{administration_settings_link}、グループへの共有を取り消すか、グループからこの特定のメンバーを削除することができます。" - cannot_remove_inherited_note_non_admin: グループへの共有を取り消すか、管理者に連絡して特定のメンバーをグループから削除することができます。 - will_revoke_directly_granted_access: このアクションは、グループと共有されているワークパッケージ以外の、すべてのワークパッケージへのアクセス権を剥奪する。 - will_revoke_access_to_all: このアクションは、すべてのアクセス権を剥奪する。 + revoke_all_or_with_role: 共有されたワークパッケージ、または %{shared_role_name} 権限を持つワークパッケージのみへのアクセスを取り消しますか? + will_not_affect_inherited_shares: "(これはグループと共有されているワークパッケージには影響しません)。" + cannot_remove_inherited: グループ間で共有されるワークパッケージは削除できません。 + cannot_remove_inherited_with_role: ワークパッケージとロール %{shared_role_name} が共有されているため、削除できません。 + cannot_remove_inherited_note_admin_html: あなたは、グループへの共有を取り消すか、 %{administration_settings_link} のグループからこの特定のメンバーを削除することができます。 + cannot_remove_inherited_note_non_admin: 共有をグループに取り消すか、管理者に問い合わせてグループから特定のメンバーを削除することができます。 + will_revoke_directly_granted_access: このアクションは、すべてのユーザーへのアクセスを取り消しますが、グループと共有されているワークパッケージです。 + will_revoke_access_to_all: このアクションは、すべてのユーザーへのアクセスを取り消します。 my: access_token: dialog: @@ -1039,7 +1043,7 @@ ja: no_results_title_text: 現在、有効なアクセス トークンはありません。 notice_api_token_revoked: APIトークンが削除されました。新しいトークンを作成するには、APIセクションの作成ボタンを使用してください。 notice_rss_token_revoked: RSSトークンが削除されました。新しいトークンを作成するには、RSSセクションのリンクを使用してください。 - notice_ical_token_revoked: プロジェクト "%{project_name}" のカレンダー "%{calendar_name}" の iCalendar トークン "%{token_name}" が失効しました。このトークンを持つiCalendar URLは無効になりました。 + notice_ical_token_revoked: プロジェクト "%{token_name}" のカレンダー "%{calendar_name}" の iCalendar トークン "%{project_name}" が取り消されました。 このトークンのiCalendar URLは無効です。 password_confirmation_dialog: confirmation_required: You need to enter your account password to confirm this change. title: Confirm your password to continue @@ -1060,7 +1064,7 @@ ja: matrix_check_uncheck_all_in_col_label_html: Toggle all %{module} permissions for %{role} role users: autologins: - prompt: ログインしたまま %{num_days} + prompt: "%{num_days} のログインを維持" sessions: session_name: "%{browser_name} %{browser_version} の %{os_name}" browser: ブラウザ @@ -1074,17 +1078,17 @@ ja: current: Current (this device) title: セッション管理 instructions: You are logged in to your account through the following devices. Revoke sessions that you do not recognise or from devices you do not control. - may_not_delete_current: 現在のセッションを削除することはできません。 + may_not_delete_current: 現在のセッションは削除できません。 deletion_warning: Are you sure you want to revoke this session? You will be logged out on this device. groups: member_in_these_groups: このユーザーは現在以下のグループのメンバーです: no_results_title_text: このユーザーは現在どのグループのメンバーでもありません。 summary_with_more_html: Member of %{names} and %{count_link}. - more: "%{count} もっと見る" + more: "%{count} 以上" summary_html: Member of %{names}. memberships: no_results_title_text: このユーザは現在プロジェクトのメンバーではありません。 - open_profile: プロフィール + open_profile: プロファイルを開く invite_user_modal: invite: 招待 title: @@ -1201,7 +1205,7 @@ ja: right_to_manage_members_missing: 'プレースホルダーユーザを削除する権限がありません。 プレースホルダー ユーザーがメンバーであるすべてのプロジェクトのメンバーを管理する権利はありません。 ' - delete_tooltip: プレースホルダー・ユーザーの削除 + delete_tooltip: プレースホルダー ユーザーを削除 deletion_info: heading_html: Delete placeholder user %{name} data_consequences: 'プレースホルダー ユーザのすべての発生(担当者、担当者、その他のユーザ値など)は、「削除されたユーザー」というアカウントに再割り当てられます。 削除されたすべてのアカウントのデータがこのアカウントに再割り当てられるため、ユーザーが作成したデータと別の削除されたアカウントのデータを区別することはできません。 @@ -1220,11 +1224,11 @@ ja: reactions: action_title: リアクト add_reaction: リアクションを追加 - react_with: "%{reaction} と リアクト" - and_user: および %{user} + react_with: "%{reaction} で反応する" + and_user: と %{user} and_others: other: と %{count} その他 - reaction_by: "%{reaction} によって" + reaction_by: "%{reaction} による" reportings: index: no_results_title_text: 現在、ステータス報告はありません。 @@ -1234,19 +1238,20 @@ ja: status_color_text: | このステータスの色を割り当てたり変更する場合にクリックします。 ステータスボタンに表示され、テーブル内のワークパッケージを強調表示するために使用できます。 - status_default_text: 新しいワークパッケージは、デフォルトでこのタイプに設定される。読み取り専用にはできない。 + status_default_text: 新しいワークパッケージはデフォルトでこのタイプに設定されています。読み取り専用にすることはできません。 status_excluded_from_totals_text: |- - このステータスを持つワークパッケージを、階層内の「作業」、「 - 残作業」、「完了率」の合計から除外するには、このオプションをオンにします。 + このオプションをオンにすると、このステータスのワークパッケージを合計作業量、 + 残作業量、および階層構造で完了させることができます。 status_percent_complete_text_html: |- In [status-based progress calculation mode](setting_url), the % Complete of a work package is automatically set to this value when this status is selected. Ignored in work-based mode. status_readonly_html: | - このステータスを持つワークパッケージを読み取り専用としてマークするには、このオプションをチェックする。 - ステータス以外の属性は変更できません。 + ワークパッケージを読み取り専用としてマークするには、このオプションをオンにしてください。 + ステータスを除いて変更することはできません。 +Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ ka: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ ka: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ ka: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ ka: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: ჩვენება სადამდე attachment: @@ -3391,6 +3398,11 @@ ka: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ ka: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: დამსაქმებელი @@ -3484,6 +3562,7 @@ ka: invalid_filter: Invalid notification filter label_accessibility: წვდომადობა label_account: ანგარიში + label_actions: ქმედებები label_active: აქტიური label_activate_user: მომხმარებლის გააქტიურება label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ ka: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: უახლესი label_ical_access_key_revoke: გაუქმება + label_integrations: Integrations label_add_column: Add column label_applied_status: გადატარებულია სტატუსი label_archive_project: Archive project @@ -3774,7 +3854,7 @@ ka: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: საკვანძო სიტყვები label_language_based: Based on user's language label_last_activity: ბოლო აქტივობა @@ -5030,12 +5110,12 @@ ka: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/kk.yml b/config/locales/crowdin/kk.yml index c7aef34428b..9e5320f6d44 100644 --- a/config/locales/crowdin/kk.yml +++ b/config/locales/crowdin/kk.yml @@ -114,7 +114,7 @@ kk: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ kk: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ kk: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ kk: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ kk: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ kk: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ kk: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ kk: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ kk: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ kk: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ kk: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ kk: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ kk: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ kk: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index dc14bb7c0ef..83fe6b2e830 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -114,7 +114,7 @@ ko: import: title: 가져오기 jira: - title: Jira 가져오기 + title: Jira Migrator description: 이 도구를 사용하여 Jira 인스턴스에서 데이터를 가져옵니다. 여러 Jira 호스트를 구성하고 가져오기 실행 각각에서 가져올 항목을 선택할 수 있습니다. errors: cannot_delete_with_imports: 기존 가져오기가 있는 Jira 호스트는 삭제할 수 없습니다 @@ -125,8 +125,8 @@ ko: title: Jira 구성 new: 새 구성 banner: - title: 제한된 가져오기 - description: 이 가져오기 도구는 현재 베타 버전이며 프로젝트, 이슈(이름, 제목, 설명, 첨부 파일), 사용자(이름, 이메일, 프로젝트 멤버십), 상태 및 유형과 같은 기본 데이터만 가져올 수 있습니다. 워크플로, 사용자 지정 필드, 이슈 관계 또는 권한은 가져올 수 없습니다. Jira Server/Data Center 버전 10.x 및 11.x만 현재 지원합니다. 클라우드 인스턴스는 현재 지원되지 않습니다. + title: 제한된 가져오기 기능 + description: 이 Jira Migrator는 현재 베타 버전이며 프로젝트, 이슈(이름, 제목, 설명, 첨부 파일), 사용자(이름, 이메일, 프로젝트 멤버십), 상태 및 유형과 같은 기본 데이터만 가져올 수 있습니다. 워크플로, 사용자 지정 필드, 이슈 관계 또는 권한은 가져올 수 없습니다. Jira Server/Data Center 버전 10.x 및 11.x만 현재 지원됩니다. 클라우드 인스턴스는 현재 지원되지 않습니다. form: fields: name: 이름 @@ -162,7 +162,7 @@ ko: run: title: 가져오기 실행 history: 기록 - remove_error: Jira 가져오기는 실행되는 동안 제거할 수 없습니다 + remove_error: 실행되는 동안에는 Jira 가져오기 실행을 제거할 수 없습니다 import_blocked_error: 다른 Jira 가져오기 실행이 현재 진행 중이거나 검토를 기다리는 중입니다. 새 가져오기를 시작하기 전에 완료하거나 되돌리세요. project_identifier_taken: '이미 사용된 식별자가 있는 프로젝트를 가져오려고 합니다: %{taken_identifier}. Jira에서 프로젝트 식별자를 업데이트한 후에 ''다시 시도''를 클릭하세요.' blank: @@ -381,19 +381,23 @@ ko: notification_text_default: "안녕하세요,
새 프로젝트가 생성되었습니다: projectValue:name
감사합니다.
\n" work_packages_identifier: page_header: - description: 기본 숫자 작업 패키지 ID 또는 작업 패키지 ID 앞에 프로젝트 식별자를 붙이는 프로젝트별 ID 중에서 선택합니다. + description: 클래식 숫자 작업 패키지 ID 또는 작업 패키지 ID 앞에 프로젝트 식별자를 붙이는 프로젝트별 시맨틱 ID 중에서 선택합니다. banner: - existing_identifiers_notice: "%{project_count}개 프로젝트의 기존 식별자가 프로젝트 기반 영숫자 식별자에 대한 요구 사항을 충족하지 않습니다. OpenProject는 아래 예와 같이 해당 식별자가 유효하도록 자동으로 업데이트할 수 있습니다. '자동 수정 및 저장'을 클릭하여 이러한 방식으로 모든 프로젝트의 식별자를 업데이트하고 프로젝트 기반 영숫자 식별자를 활성화하세요.\n" + existing_identifiers_notice: "%{project_count}개 프로젝트의 기존 식별자가 프로젝트 기반 시맨틱 식별자에 대한 요구 사항을 충족하지 않습니다. OpenProject는 아래 예와 같이 해당 식별자가 유효하도록 자동으로 업데이트할 수 있습니다. '자동 수정 및 저장'을 클릭하여 이러한 방식으로 모든 프로젝트의 식별자를 업데이트하고 프로젝트 기반 시맨틱 식별자를 활성화하세요.\n" box_header: label_project: 프로젝트 label_previous_identifier: 이전 식별자 label_autofixed_suggestion: 향후 식별자 label_example_work_package_id: 작업 패키지 ID 예 autofix_preview: - error_too_long: 5자 미만이어야 합니다 + error_too_long: 10자 이하여야 함 + error_numerical: 완전히 숫자로만 지정할 수 없음 + error_starts_with_number: 숫자로 시작할 수 없음 error_special_characters: 특수 문자는 허용되지 않음 + error_not_fully_uppercased: 대문자여야 함 error_in_use: 이미 다른 프로젝트의 활성 핸들로 사용 중입니다 error_reserved: 다른 프로젝트의 핸들 기록에 의해 예약되었습니다 + error_unknown: 수동 검토가 필요합니다 remaining_projects: other: "... %{count}개의 추가 프로젝트" button_autofix: 자동 수정 및 저장 @@ -407,7 +411,7 @@ ko: checkbox_label: 이렇게 하면 모든 작업 패키지 ID가 영구적으로 변경됨을 이해합니다 success_banner: 작업 패키지 식별자 형식을 업데이트했습니다. in_progress: - banner_message: 프로젝트 기반 영숫자 식별자로 프로젝트 식별자를 현재 업데이트하는 중입니다. 시간이 다소 걸릴 수 있습니다. + banner_message: 프로젝트 기반 시맨틱 식별자로 프로젝트 식별자를 현재 업데이트하는 중입니다. 시간이 다소 걸릴 수 있습니다. workflows: tabs: default_transitions: 기본 전환 @@ -1516,6 +1520,9 @@ ko: dependencies: 종속성 activerecord: attributes: + work_package_semantic_alias: + identifier: 식별자 + work_package: 작업 패키지 jira_import: projects: 프로젝트 import/jira: @@ -1524,7 +1531,7 @@ ko: personal_access_token: 개인 액세스 토큰 import/jira_open_project_reference: jira: Jira - jira_import: Jira 가져오기 + jira_import: Jira Migrator announcements: show_until: 표시 기한 attachment: @@ -3348,6 +3355,11 @@ ko: quick_add: label: 추가… my_account: + notifications_and_email: + title: 알림 및 이메일 + tabs: + notifications: 알림 설정 + email_reminders: 이메일 미리 알림 access_tokens: description: 공급자 토큰은 OpenProject에서 발급하며, 다른 애플리케이션이 액세스하도록 허용합니다. 클라이언트 토큰은 다른 애플리케이션에서 발급하며, OpenProject가 액세스하도록 허용합니다. no_results: @@ -3410,6 +3422,72 @@ ko: disabled_text: 관리자가 RSS 토큰을 활성화하지 않았습니다. 이 기능을 사용하려면 관리자에게 문의하세요. storages: unknown_storage: 알 수 없는 저장소 + email_reminders: + immediate_reminders: + title: 이메일 미리 알림 보내기 + mentioned: 내가 멘션되면 알림 보내기 + personal_reminder: 개인 미리 알림 보내기 + daily_reminders: + title: 읽지 않은 알림에 대한 일일 이메일 미리 알림 보내기 + caption: 읽지 않은 알림에 대해서만 그리고 사용자가 지정한 시간에만 이러한 미리 알림이 전송됩니다. 계정의 표준 시간대를 구성할 때까지, 시간은 UTC로 적용됩니다. + enabled: 일일 이메일 미리 알림 활성화 + add_time: 시간 추가 + remove_time: 시간 제거 + time_slot_label: 미리 알림 시간(UTC) + workdays: + title: 해당 요일에 이메일 미리 알림 받기 + submit_button: 미리 알림 요일 업데이트 + pause_reminders: + title: 이메일 알림 일시 중지 + enabled: 임시로 일일 이메일 미리 알림 일시 중지 + date_range: 일시 중지 기간 + email_alerts: + title: 작업 패키지가 아닌 기타 항목에 대한 이메일 알림 + news_added: 뉴스 추가됨 + news_commented: 뉴스 항목의 코멘트 + document_added: 문서 추가됨 + forum_messages: 포럼 메시지 게시됨 + wiki_page_added: 위키 페이지 추가됨 + wiki_page_updated: 위키 페이지 업데이트됨 + membership_added: 멤버십 추가됨 + membership_updated: 멤버십 업데이트됨 + submit_button: 알림 업데이트 + notifications: + participating: + title: 참여 + submit_button: 기본 설정 업데이트 + mentioned: 멘션됨 + watched: 지켜보는 중 + assignee: 담당자 + responsible: 담당 + shared: 나와 공유됨 + date_alerts: + title: 날짜 알림 + submit_button: 날짜 알림 업데이트 + start_date: 시작 날짜 + due_date: 완료 날짜 + overdue: 기한 지남 + times: + same_day: 같은 날 + one_day_before: 1일 전 + three_days_before: 3일 전 + seven_days_before: 7일 전 + one_day_after: 1일 후 + three_days_after: 3일 후 + seven_days_after: 7일 후 + non_participating: + title: 참여하지 않음 + submit_button: 기본 설정 업데이트 + work_package_created: 새 작업 패키지 + work_package_commented: 모든 새로운 코멘트 + work_package_processed: 모든 상태 변경 사항 + work_package_prioritized: 모든 우선 순위 변경 사항 + work_package_scheduled: 모든 날짜 변경 사항 + project_specific_settings: + title: 프로젝트별 알림 설정 + add_button: 프로젝트별 알림 추가 + dialog_title: 프로젝트별 알림 추가 + list_header: 특정 알림이 있는 프로젝트 notifications: reasons: assigned: 담당자 @@ -3441,6 +3519,7 @@ ko: invalid_filter: 잘못된 알림 필터 label_accessibility: 접근성 label_account: 계정 + label_actions: 작업 label_active: 활성 label_activate_user: 사용자 활성화 label_active_in_new_projects: 새로운 프로젝트에서 활성 @@ -3481,6 +3560,7 @@ ko: label_ical_access_key_generation_hint: 캘린더 구독 시 자동으로 생성됩니다. label_ical_access_key_latest: 최신 label_ical_access_key_revoke: 취소 + label_integrations: 통합 label_add_column: 열 추가 label_applied_status: 적용된 상태 label_archive_project: 프로젝트 아카이브하기 @@ -3731,7 +3811,7 @@ ko: label_external_links: 외부 링크 label_locale: 언어 및 지역 label_jump_to_a_project: 프로젝트로 이동... - label_jira_import: Jira 가져오기 + label_jira_import: Jira Migrator label_keyword_plural: 키워드 label_language_based: 사용자 언어에 따름 label_last_activity: 마지막 활동 @@ -4977,12 +5057,12 @@ ko: setting_welcome_text: 환영 블록 텍스트 setting_welcome_title: 환영 블록 제목 setting_welcome_on_homescreen: 홈 화면에 환영 블록 표시 - setting_work_packages_identifier_numeric: 인스턴스 전체의 숫자 시퀀스(기본값) - setting_work_packages_identifier_numeric_caption: '모든 작업 패키지는 1로 시작하는 순차 번호가 있으며, 새로운 패키지마다 순차 번호가 증가합니다. 이 번호는 해당 인스턴스 내에서 고유하므로 작업 패키지가 프로젝트 간에 이동되더라도 동일하게 유지됩니다. + setting_work_packages_identifier_classic: 인스턴스 전체의 숫자 시퀀스(기본값) + setting_work_packages_identifier_classic_caption: '모든 작업 패키지는 1로 시작하는 순차 번호가 있으며, 새로운 패키지마다 순차 번호가 증가합니다. 이 번호는 해당 인스턴스 내에서 고유하므로 작업 패키지가 프로젝트 간에 이동되더라도 동일하게 유지됩니다. ' - setting_work_packages_identifier_alphanumeric: 프로젝트 기반 영숫자 식별자 - setting_work_packages_identifier_alphanumeric_caption: '모든 프로젝트에는 작업 패키지 ID 앞에 붙는 고유 식별자가 있습니다. 작업 패키지가 다른 프로젝트로 이동된 경우 새 식별자가 생성되지만 이전 식별자도 계속 작동됩니다. + setting_work_packages_identifier_semantic: 프로젝트 기반 시맨틱 식별자 + setting_work_packages_identifier_semantic_caption: '모든 프로젝트에는 작업 패키지 ID 앞에 붙는 고유 식별자가 있습니다. 작업 패키지가 다른 프로젝트로 이동된 경우 새 식별자가 생성되지만 이전 식별자도 계속 작동됩니다. ' setting_work_package_list_default_highlighting_mode: 기본 강조 표시 모드 diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index 87167a5ac92..77d7dd90c65 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -114,7 +114,7 @@ lt: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ lt: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ lt: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -399,9 +399,9 @@ lt: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -410,10 +410,14 @@ lt: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" few: "... %{count} more projects" @@ -430,7 +434,7 @@ lt: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1571,6 +1575,9 @@ lt: dependencies: Priklausomybės activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1579,7 +1586,7 @@ lt: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Rodyti iki attachment: @@ -3508,6 +3515,11 @@ lt: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3570,6 +3582,72 @@ lt: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Nežinoma saugykla + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Paskirtas @@ -3601,6 +3679,7 @@ lt: invalid_filter: Invalid notification filter label_accessibility: Prieinamumas label_account: Paskyra + label_actions: Veiksmai label_active: Aktyvus label_activate_user: Aktyvus vartotojas label_active_in_new_projects: Aktyvus naujuose projektuose @@ -3641,6 +3720,7 @@ lt: label_ical_access_key_generation_hint: Automatiškai sukurta prenumeruojant kalendorių. label_ical_access_key_latest: vėliausias label_ical_access_key_revoke: Atšaukti + label_integrations: Integrations label_add_column: Add column label_applied_status: Taikomoji būsena label_archive_project: Archyvuoti projektą @@ -3891,7 +3971,7 @@ lt: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Peršokti į projektą... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Raktažodžiai label_language_based: Paremta vartotojo kalba label_last_activity: Paskutinė veikla @@ -5153,12 +5233,12 @@ lt: setting_welcome_text: Pasisveikinimo bloko tekstas setting_welcome_title: Pasisveikinimo bloko pavadinimas setting_welcome_on_homescreen: Rodyti pasisveikinimo bloką namų lange - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Numatytasis paryškinimo būdas diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index f9cbd4abdeb..ec895ee0b9c 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -114,7 +114,7 @@ lv: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ lv: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ lv: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -393,9 +393,9 @@ lv: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -404,10 +404,14 @@ lv: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: zero: "... %{count} more projects" one: "... 1 more project" @@ -423,7 +427,7 @@ lv: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1554,6 +1558,9 @@ lv: dependencies: Saistītie projekti activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1562,7 +1569,7 @@ lv: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3450,6 +3457,11 @@ lv: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3512,6 +3524,72 @@ lv: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Pašreizējais atbildīgais @@ -3543,6 +3621,7 @@ lv: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Konts + label_actions: Actions label_active: Aktīvs label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3583,6 +3662,7 @@ lv: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3833,7 +3913,7 @@ lv: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Pēdējā aktivitāte @@ -5094,12 +5174,12 @@ lv: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index d6b5e7ab996..f3e6408d694 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -114,7 +114,7 @@ mn: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ mn: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ mn: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ mn: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ mn: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ mn: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ mn: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ mn: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ mn: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ mn: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Даалгагч @@ -3484,6 +3562,7 @@ mn: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ mn: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ mn: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ mn: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/ms.yml b/config/locales/crowdin/ms.yml index e7b986d491f..0394be4e87b 100644 --- a/config/locales/crowdin/ms.yml +++ b/config/locales/crowdin/ms.yml @@ -114,7 +114,7 @@ ms: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ms: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ ms: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -381,9 +381,9 @@ ms: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ ms: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ ms: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1516,6 +1520,9 @@ ms: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1524,7 +1531,7 @@ ms: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Paparkan sehingga attachment: @@ -3340,6 +3347,11 @@ ms: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3402,6 +3414,72 @@ ms: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Storan tidak dikenal pasti + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Penerima tugasan @@ -3433,6 +3511,7 @@ ms: invalid_filter: Invalid notification filter label_accessibility: Kebolehcapaian label_account: Akaun + label_actions: Tindakan label_active: Aktif label_activate_user: Aktifkan pengguna label_active_in_new_projects: Aktifkan dalam projek baharu @@ -3473,6 +3552,7 @@ ms: label_ical_access_key_generation_hint: Dijanakan secara automatik apabila melanggan kalendar. label_ical_access_key_latest: terkini label_ical_access_key_revoke: Batalkan + label_integrations: Integrations label_add_column: Tambah lajur label_applied_status: Status yang dilaksanakan label_archive_project: Arkib projek @@ -3725,7 +3805,7 @@ ms: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Lompat ke projek... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Kata kunci label_language_based: Berdasarkan bahasa pengguna label_last_activity: Aktiviti terakhir @@ -4976,12 +5056,12 @@ ms: setting_welcome_text: Teks blok selamat datang setting_welcome_title: Tajuk blok selamat datang setting_welcome_on_homescreen: Paparkan blok selamat datang di skrin utama - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Mod penyorotan default diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index d97f76fdf04..a14becd2f5b 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -114,7 +114,7 @@ ne: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ne: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ ne: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ ne: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ ne: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ ne: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ ne: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ ne: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ ne: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ ne: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ ne: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: खाता + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ ne: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: रद्द गर्नुहोस् + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ ne: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: शब्दकुञ्जी label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ ne: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index e2640f523fb..14ff493d3c4 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -114,7 +114,7 @@ nl: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ nl: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ nl: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ nl: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ nl: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ nl: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1534,6 +1538,9 @@ nl: dependencies: Afhankelijkheden activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1542,7 +1549,7 @@ nl: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Toon tot attachment: @@ -3387,6 +3394,11 @@ nl: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3449,6 +3461,72 @@ nl: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Onbekende opslag + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Toegewezene @@ -3480,6 +3558,7 @@ nl: invalid_filter: Invalid notification filter label_accessibility: Toegankelijkheid label_account: Account + label_actions: Acties label_active: Actief label_activate_user: Gebruiker activeren label_active_in_new_projects: Actief in nieuwe projecten @@ -3520,6 +3599,7 @@ nl: label_ical_access_key_generation_hint: Automatisch gegenereerd bij het abonneren op een kalender. label_ical_access_key_latest: laatste label_ical_access_key_revoke: Intrekken + label_integrations: Integrations label_add_column: Add column label_applied_status: Toegepaste status label_archive_project: Project archiveren @@ -3770,7 +3850,7 @@ nl: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Ga naar een project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Trefwoorden label_language_based: Op basis van de taal van gebruiker label_last_activity: Laatste activiteit @@ -5016,12 +5096,12 @@ nl: setting_welcome_text: Welkom blok tekst setting_welcome_title: Welkom blok titel setting_welcome_on_homescreen: Toon het Welkom blok op thuisscherm - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Standaardmodus markeren diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index d38d57f689f..8ebca314569 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -114,7 +114,7 @@ import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1534,6 +1538,9 @@ dependencies: Avhengigheter activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1542,7 +1549,7 @@ personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Vise til attachment: @@ -3389,6 +3396,11 @@ quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3451,6 +3463,72 @@ disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Ukjent lagring + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Deltaker @@ -3482,6 +3560,7 @@ invalid_filter: Invalid notification filter label_accessibility: Tilgjengelighet label_account: Konto + label_actions: Handlinger label_active: Aktiv label_activate_user: Aktiver bruker label_active_in_new_projects: Aktiv i nye prosjekter @@ -3522,6 +3601,7 @@ label_ical_access_key_generation_hint: Automatisk generert ved abonnering på en kalender. label_ical_access_key_latest: siste label_ical_access_key_revoke: Tilbakekall + label_integrations: Integrations label_add_column: Add column label_applied_status: Tildelt status label_archive_project: Arkiver prosjekt @@ -3772,7 +3852,7 @@ label_external_links: External links label_locale: Language and region label_jump_to_a_project: Gå til et prosjekt... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Nøkkelord label_language_based: Basert på brukerens språk label_last_activity: Siste aktivitet @@ -5028,12 +5108,12 @@ setting_welcome_text: Velkommen blokktekst setting_welcome_title: Velkomst blokk tittel setting_welcome_on_homescreen: Vis velkomstblokk på hjemskjermen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Standard utheving modus diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 22913448bf3..fbae2cc8eae 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -114,7 +114,7 @@ pl: import: title: Import jira: - title: Import Jira + title: Migrator Jira description: To narzędzie służy do importowania danych z wystąpienia usługi Jira. Można skonfigurować wiele hostów usługi Jira i wybrać, co ma być importowane w każdym przebiegu importu. errors: cannot_delete_with_imports: Nie można usunąć hosta Jira z istniejącym importem @@ -125,8 +125,8 @@ pl: title: Konfiguracja usługi Jira new: Nowa konfiguracja banner: - title: Ograniczony import - description: 'To narzędzie importu jest obecnie w wersji beta i może importować tylko podstawowe dane: projekty, zgłoszenia problemów (nazwa, tytuł, opis, załączniki), użytkowników (nazwa, adres e-mail, członkostwo w projekcie), statusy i typy. Nie może importować przepływów pracy, pól niestandardowych, relacji między problemami ani uprawnień. Obecnie obsługujemy tylko serwery / centra danych Jira w wersjach 10.x i 11.x. Wystąpienia w chmurze nie są obecnie obsługiwane.' + title: Ograniczone możliwości importu + description: 'Ten migrator Jira jest obecnie w wersji beta i może importować tylko podstawowe dane: projekty, zgłoszenia problemów (nazwa, tytuł, opis, załączniki), użytkowników (nazwa, adres e-mail, członkostwo w projekcie), statusy i typy. Nie może importować przepływów pracy, pól niestandardowych, relacji między problemami ani uprawnień. Obecnie obsługujemy tylko serwery / centra danych Jira w wersjach 10.x i 11.x. Wystąpienia w chmurze nie są obecnie obsługiwane.' form: fields: name: Nazwa @@ -399,9 +399,9 @@ pl: notification_text_default: "Witaj,
Utworzono nowy projekt: projectValue:name
Dziękujemy
\n" work_packages_identifier: page_header: - description: Wybierz między podstawowymi identyfikatorami liczbowymi pakietów roboczych a identyfikatorami specyficznymi dla projektu, które dodają identyfikator projektu jako prefiks do identyfikatora pakietu roboczego. + description: Wybierz pomiędzy klasycznymi numerycznymi identyfikatorami pakietów roboczych albo semantycznymi identyfikatorami specyficznymi dla projektu, które dodają identyfikator projektu do identyfikatora pakietu roboczego. banner: - existing_identifiers_notice: 'Istniejące identyfikatory %{project_count} projektów nie spełniają wymagań dotyczących identyfikatorów alfanumerycznych opartych na projektach. OpenProject może automatycznie zaktualizować je tak, aby były prawidłowe, jak w poniższych przykładach. Kliknij przycisk „Automatyczne napraw i zapisz”, aby zaktualizować identyfikatory wszystkich projektów w ten sposób i włączyć identyfikatory alfanumeryczne oparte na projektach. + existing_identifiers_notice: 'Istniejące identyfikatory %{project_count} projektów nie spełniają wymagań dotyczących identyfikatorów semantycznych opartych na projektach. OpenProject może automatycznie zaktualizować je tak, aby były prawidłowe, jak w poniższych przykładach. Kliknij przycisk „Automatyczne napraw i zapisz”, aby zaktualizować identyfikatory wszystkich projektów w ten sposób i włączyć identyfikatory semantyczne oparte na projektach. ' box_header: @@ -410,10 +410,14 @@ pl: label_autofixed_suggestion: Przyszły identyfikator label_example_work_package_id: Przykładowy identyfikator pakietu roboczego autofix_preview: - error_too_long: Musi składać się z mniej niż 5 znaków + error_too_long: Musi składać się z nie więcej niż 10 znaków + error_numerical: Nie może być czysto liczbowy + error_starts_with_number: Nie może zaczynać się od cyfry error_special_characters: Znaki specjalne są niedozwolone + error_not_fully_uppercased: Musi być pisany wielkimi literami error_in_use: Już używany jako aktywne dojście innego projektu error_reserved: Zarezerwowany przez historię dojść innego projektu + error_unknown: Wymaga ręcznego sprawdzenia remaining_projects: one: "...jeszcze 1 projekt" few: "...jeszcze %{count} projekty" @@ -430,7 +434,7 @@ pl: checkbox_label: Rozumiem, że spowoduje to trwałą zmianę wszystkich identyfikatorów pakietów roboczych success_banner: Pomyślnie zaktualizowano format identyfikatora pakietu roboczego. in_progress: - banner_message: Identyfikatory projektów są obecnie zmieniane na identyfikatory alfanumeryczne oparte na projektach. Może to zająć trochę czasu. + banner_message: Identyfikatory projektów są obecnie zmieniane na identyfikatory semantyczne oparte na projektach. Może to zająć trochę czasu. workflows: tabs: default_transitions: Przejścia domyślne @@ -1568,6 +1572,9 @@ pl: dependencies: Zależności activerecord: attributes: + work_package_semantic_alias: + identifier: Identyfikator + work_package: Pakiet roboczy jira_import: projects: Projekty import/jira: @@ -1576,7 +1583,7 @@ pl: personal_access_token: Osobisty token dostępu import/jira_open_project_reference: jira: Jira - jira_import: Import Jira + jira_import: Migrator Jira announcements: show_until: Wyświetlaj do attachment: @@ -3501,6 +3508,11 @@ pl: quick_add: label: Dodaj… my_account: + notifications_and_email: + title: Powiadomienia i wiadomości e-mail + tabs: + notifications: Ustawienia powiadomień + email_reminders: Przypomnienia e-mail access_tokens: description: Tokeny dostawcy są wydawane przez OpenProject, co umożliwia dostęp do nich innym aplikacjom. Tokeny klienta są wydawane przez inne aplikacje, co umożliwia dostęp do nich oprogramowaniu OpenProject. no_results: @@ -3563,6 +3575,72 @@ pl: disabled_text: Tokeny RSS nie zostały włączone przez administratora. Aby użyć tej funkcji, skontaktuj się z administratorem. storages: unknown_storage: Nieznany magazyn + email_reminders: + immediate_reminders: + title: Wyślij mi przypomnienie e-mail + mentioned: Powiadamiaj mnie, gdy ktoś mnie wspomni + personal_reminder: Powiadamiaj mnie o osobistych przypomnieniach + daily_reminders: + title: Wyślij mi codzienne przypomnienia e-mail dla nieprzeczytanych powiadomień + caption: Będziesz otrzymywać te przypomnienia tylko w przypadku nieprzeczytanych powiadomień i tylko w określonych przez Ciebie godzinach. Dopóki nie skonfigurujesz strefy czasowej dla swojego konta, godziny będą interpretowane jako UTC. + enabled: Włącz codzienne przypomnienia e-mail + add_time: Dodaj godzinę + remove_time: Usuń godzinę + time_slot_label: Czas przypomnienia (UTC) + workdays: + title: Otrzymuj przypomnienia e-mail w tych dniach + submit_button: Zaktualizuj dni przypomnienia + pause_reminders: + title: Wstrzymaj powiadomienia e-mail + enabled: Tymczasowo wstrzymuj codzienne przypomnienia e-mail + date_range: Okres wstrzymania + email_alerts: + title: Powiadomienia e-mail dotyczące innych elementów, które nie są pakietami roboczymi + news_added: Wiadomość dodana + news_commented: Komentarz do nowości + document_added: Dodano dokument + forum_messages: Wiadomość na forum + wiki_page_added: Dodano stronę wiki + wiki_page_updated: Zaktualizowano stronę wiki + membership_added: Dodanie członkostwa + membership_updated: Aktualizacja członkostwa + submit_button: Zaktualizuj alerty + notifications: + participating: + title: Uczestnictwo + submit_button: Zaktualizuj preferencje + mentioned: Wzmianka + watched: Obserwowane + assignee: Przypisana osoba + responsible: Osoba odpowiedzialna + shared: Udostępnione dla mnie + date_alerts: + title: Alerty dotyczące dat + submit_button: Zaktualizuj alerty dotyczące dat + start_date: Data rozpoczęcia + due_date: Data zakończenia + overdue: Przekroczony termin + times: + same_day: Tego samego dnia + one_day_before: 1 dzień przed + three_days_before: 3 dni przed + seven_days_before: 7 dni przed + one_day_after: 1 dzień po + three_days_after: 3 dni po + seven_days_after: 7 dni po + non_participating: + title: Brak uczestnictwa + submit_button: Zaktualizuj preferencje + work_package_created: Nowe pakiety robocze + work_package_commented: Wszystkie nowe komentarze + work_package_processed: Wszystkie zmiany statusu + work_package_prioritized: Wszystkie zmiany priorytetów + work_package_scheduled: Wszystkie zmiany daty + project_specific_settings: + title: Ustawienia powiadomień dla danego projektu + add_button: Dodaj powiadomienia specyficzne dla projektu + dialog_title: Dodaj powiadomienia specyficzne dla projektu + list_header: Projekty z określonymi powiadomieniami notifications: reasons: assigned: Przypisana osoba @@ -3594,6 +3672,7 @@ pl: invalid_filter: Nieprawidłowy filtr powiadomień label_accessibility: Dostępność label_account: Konto + label_actions: Działania label_active: Aktywne label_activate_user: Aktywuj użytkownika label_active_in_new_projects: Aktywne w nowych projektach @@ -3634,6 +3713,7 @@ pl: label_ical_access_key_generation_hint: Automatycznie wygenerowano podczas subskrypcji kalendarza. label_ical_access_key_latest: najnowszy label_ical_access_key_revoke: Odwołaj + label_integrations: Integracje label_add_column: Dodaj kolumnę label_applied_status: Nadaj status label_archive_project: Archiwum projektów @@ -3884,7 +3964,7 @@ pl: label_external_links: Linki zewnętrzne label_locale: Język i region label_jump_to_a_project: Skok do projektu... - label_jira_import: Import Jira + label_jira_import: Migrator Jira label_keyword_plural: Słowa kluczowe label_language_based: Na podstawie języka użytkownika label_last_activity: Ostatnia aktywność @@ -5142,12 +5222,12 @@ pl: setting_welcome_text: Tekst bloku powitalnego setting_welcome_title: Tytuł bloku powitalnego setting_welcome_on_homescreen: Wyświetl wiadomość powitalną na ekranie głównym - setting_work_packages_identifier_numeric: Sekwencja liczbowa dla całego wystąpienia (domyślnie) - setting_work_packages_identifier_numeric_caption: 'Każdy pakiet roboczy otrzymuje numer kolejny zaczynający się od 1 i zwiększany z każdym nowym pakietem. Numery są unikalne w ramach tego wystąpienia, więc pozostają takie same, nawet jeśli pakiety robocze są przenoszone między projektami. + setting_work_packages_identifier_classic: Sekwencja liczbowa dla całego wystąpienia (domyślnie) + setting_work_packages_identifier_classic_caption: 'Każdy pakiet roboczy otrzymuje numer kolejny zaczynający się od 1 i zwiększany z każdym nowym pakietem. Numery są unikalne w ramach tego wystąpienia, więc pozostają takie same, nawet jeśli pakiety robocze są przenoszone między projektami. ' - setting_work_packages_identifier_alphanumeric: Identyfikatory alfanumeryczne oparte na projektach - setting_work_packages_identifier_alphanumeric_caption: 'Każdy projekt ma unikalny identyfikator, który jest poprzedzony identyfikatorem pakietu roboczego. Jeśli pakiet roboczy zostanie przeniesiony do innego projektu, generowany jest nowy identyfikator, ale stary nadal działa. + setting_work_packages_identifier_semantic: Identyfikatory semantyczne oparte na projektach + setting_work_packages_identifier_semantic_caption: 'Każdy projekt ma unikalny identyfikator, który jest poprzedzony identyfikatorem pakietu roboczego. Jeśli pakiet roboczy zostanie przeniesiony do innego projektu, generowany jest nowy identyfikator, ale stary nadal działa. ' setting_work_package_list_default_highlighting_mode: Domyślny tryb wyróżniania diff --git a/config/locales/crowdin/pt-BR.yml b/config/locales/crowdin/pt-BR.yml index 871ae418944..71cba25ed29 100644 --- a/config/locales/crowdin/pt-BR.yml +++ b/config/locales/crowdin/pt-BR.yml @@ -114,7 +114,7 @@ pt-BR: import: title: Importar jira: - title: Importação do Jira + title: Migrador do Jira description: Use esta ferramenta para importar dados da sua instância do Jira. Você pode configurar vários hosts do Jira e escolher o que importar em cada execução de importação. errors: cannot_delete_with_imports: Não é possível excluir o host do Jira enquanto houver importações existentes @@ -125,8 +125,8 @@ pt-BR: title: Configuração do Jira new: Nova configuração banner: - title: Importação limitada - description: 'Esta ferramenta de importação está atualmente em versão beta e só consegue importar dados básicos: projetos, tarefas (nome, título, descrição, anexos), usuários (nome, e-mail, participação em projetos), status e tipos. Não é possível importar fluxos de trabalho, campos personalizados, relações entre tarefas ou permissões. No momento, só damos suporte às versões 10.x e 11.x do Jira Server/Data Center. Instâncias Cloud não possuem suporte.' + title: Capacidades de importação limitadas + description: 'Este Migrador do Jira está atualmente em versão beta e só consegue importar dados básicos: projetos, chamados (nome, título, descrição, anexos), usuários (nome, e-mail, participação em projetos), status e tipos. Ele não consegue importar fluxos de trabalho, campos personalizados, relações entre chamados ou permissões. No momento, só são suportadas as versões Jira Server/Data Center 10.x e 11.x. Instâncias na nuvem (Cloud) não são compatíveis atualmente.' form: fields: name: Nome @@ -387,9 +387,9 @@ pt-BR: notification_text_default: "Olá,
Um novo projeto foi criado: projectValue:name
Obrigado
\n" work_packages_identifier: page_header: - description: Escolha entre IDs de pacotes de trabalho numéricos básicos ou IDs específicos do projeto, que adicionam o identificador do projeto ao ID do pacote de trabalho. + description: Escolha entre IDs de pacotes de trabalho numéricos clássicos ou IDs semânticos específicos do projeto, que adicionam o identificador do projeto ao ID do pacote de trabalho. banner: - existing_identifiers_notice: 'Os identificadores existentes de %{project_count} projetos não atendem aos requisitos para identificadores alfanuméricos baseados em projeto. O OpenProject pode atualizá-los automaticamente para que fiquem válidos, como nos exemplos abaixo. Clique em “Autocorrigir e salvar” para atualizar os identificadores de todos os projetos dessa forma e ativar os Ids alfanuméricos baseados em projeto. + existing_identifiers_notice: 'Os identificadores existentes de %{project_count} projetos não atendem aos requisitos para Ids semânticos baseados em projeto. O OpenProject pode atualizá-los automaticamente para que fiquem válidos, como nos exemplos abaixo. Clique em “Autocorrigir e salvar” para atualizar os identificadores de todos os projetos dessa forma e ativar os Ids semânticos baseados em projeto. ' box_header: @@ -398,10 +398,14 @@ pt-BR: label_autofixed_suggestion: Identificador futuro label_example_work_package_id: Exemplo de ID de pacote de trabalho autofix_preview: - error_too_long: Deve ter menos de 5 caracteres + error_too_long: Deve conter no máximo 10 caracteres + error_numerical: Não pode ser exclusivamente numérico + error_starts_with_number: Não pode começar com um número error_special_characters: Caracteres especiais não são permitidos + error_not_fully_uppercased: Deve estar em maiúsculas error_in_use: Já está em uso como identificador ativo de outro projeto error_reserved: Reservado pelo histórico de identificadores de outro projeto + error_unknown: Requer revisão manual remaining_projects: one: "… mais 1 projeto" other: "… mais %{count} projetos" @@ -416,7 +420,7 @@ pt-BR: checkbox_label: Estou ciente de que isso alterará permanentemente todos os IDs dos pacotes de trabalho success_banner: Formato de identificador de pacote de trabalho atualizado com sucesso. in_progress: - banner_message: Os identificadores dos projetos estão sendo atualizados para identificadores alfanuméricos baseados em projeto. Isso pode levar algum tempo. + banner_message: Os identificadores dos projetos estão sendo atualizados para identificadores semânticos baseados em projeto. Isso pode levar algum tempo. workflows: tabs: default_transitions: Transições padrão @@ -1533,6 +1537,9 @@ pt-BR: dependencies: Dependências activerecord: attributes: + work_package_semantic_alias: + identifier: Identificador + work_package: Pacote de trabalho jira_import: projects: Projetos import/jira: @@ -1541,7 +1548,7 @@ pt-BR: personal_access_token: Token de acesso de pessoal import/jira_open_project_reference: jira: Jira - jira_import: Importação do Jira + jira_import: Migrador do Jira announcements: show_until: Exibir até attachment: @@ -3388,6 +3395,11 @@ pt-BR: quick_add: label: Adicionar… my_account: + notifications_and_email: + title: Notificação e e-mail + tabs: + notifications: Configurações de notificação + email_reminders: Lembretes por e-mail access_tokens: description: Tokens de provedor são emitidos pelo OpenProject, permitindo que outros aplicativos tenham acesso a ele. Tokens de cliente são emitidos por outros aplicativos, permitindo que o OpenProject tenha acesso a eles. no_results: @@ -3450,6 +3462,72 @@ pt-BR: disabled_text: Tokens RSS não estão habilitados pelo administrador. Entre em contato com ele para usar este recurso. storages: unknown_storage: Armazenamento desconhecido + email_reminders: + immediate_reminders: + title: Envie-me um lembrete por e-mail + mentioned: Avise-me quando eu for mencionado + personal_reminder: Notificar-me sobre lembretes pessoais + daily_reminders: + title: Enviar lembretes diários por e-mail para notificações não lidas + caption: Você receberá esses lembretes apenas para notificações não lidas e somente nos horários que você especificar. Até que você configure um fuso horário para sua conta, os horários serão interpretados como UTC. + enabled: Ativar lembretes diários por e-mail + add_time: Adicionar horário + remove_time: Remover horário + time_slot_label: Horário do lembrete (UTC) + workdays: + title: Receber lembretes por e-mail nestes dias + submit_button: Atualizar dias do lembrete + pause_reminders: + title: Pausar notificações por e-mail + enabled: Pausar temporariamente os lembretes diários por e-mail + date_range: Período de pausa + email_alerts: + title: Alertas por e-mail para outros itens que não sejam pacotes de trabalho + news_added: Notícia adicionada + news_commented: Comentar em uma notícia + document_added: Documento adicionado + forum_messages: Mensagem publicada no fórum + wiki_page_added: Página wiki adicionada + wiki_page_updated: Página wiki atualizada + membership_added: Associação adicionada + membership_updated: Associação atualizada + submit_button: Atualizar alertas + notifications: + participating: + title: Participando + submit_button: Atualizar preferências + mentioned: Mencionado + watched: Assistindo + assignee: Encarregado + responsible: Responsável + shared: Compartilhados comigo + date_alerts: + title: Alertas de data + submit_button: Atualizar alertas de data + start_date: Data de início + due_date: Data de conclusão + overdue: Atrasado + times: + same_day: No mesmo dia + one_day_before: 1 dia antes + three_days_before: 3 dias antes + seven_days_before: 7 dias antes + one_day_after: 1 dia depois + three_days_after: 3 dias depois + seven_days_after: 7 dias depois + non_participating: + title: Não participando + submit_button: Atualizar preferências + work_package_created: Novos pacotes de trabalho + work_package_commented: Todos os novos comentários + work_package_processed: Todas as mudanças de status + work_package_prioritized: Todas as mudanças de prioridade + work_package_scheduled: Todas as mudanças de data + project_specific_settings: + title: Configurações de notificação específicas de projetos + add_button: Adicionar notificações específicas do projeto + dialog_title: Adicionar notificações específicas do projeto + list_header: Projetos com notificações específicas notifications: reasons: assigned: Cessionário @@ -3481,6 +3559,7 @@ pt-BR: invalid_filter: Filtro de notificação inválido label_accessibility: Acessibilidade label_account: Conta + label_actions: Ações label_active: Ativo label_activate_user: Ativar usuário label_active_in_new_projects: Ativo em novos projetos @@ -3521,6 +3600,7 @@ pt-BR: label_ical_access_key_generation_hint: Gerado automaticamente ao assinar um calendário. label_ical_access_key_latest: último label_ical_access_key_revoke: Anular + label_integrations: Integrações label_add_column: Adicionar coluna label_applied_status: Situação aplicada label_archive_project: Arquivar projeto @@ -3771,7 +3851,7 @@ pt-BR: label_external_links: Links externos label_locale: Idioma e região label_jump_to_a_project: Saltar para um projeto... - label_jira_import: Importação do Jira + label_jira_import: Migrador do Jira label_keyword_plural: Palavras-chave label_language_based: Com base no idioma do usuário label_last_activity: Última atividade @@ -5018,12 +5098,12 @@ pt-BR: setting_welcome_text: Texto do bloco de boas-vindas setting_welcome_title: Título do bloco de boas-vindas setting_welcome_on_homescreen: Exibir bloco de boas-vindas na tela inicial - setting_work_packages_identifier_numeric: Sequência numérica global da instância (padrão) - setting_work_packages_identifier_numeric_caption: 'Cada pacote de trabalho recebe um número sequencial começando em 1, que é aumentado a cada novo item. Os números são únicos nesta instância, portanto permanecem os mesmos mesmo que os pacotes de trabalho sejam movidos entre projetos. + setting_work_packages_identifier_classic: Sequência numérica global da instância (padrão) + setting_work_packages_identifier_classic_caption: 'Cada pacote de trabalho recebe um número sequencial começando em 1, que é aumentado a cada novo item. Os números são únicos nesta instância, portanto permanecem os mesmos mesmo que os pacotes de trabalho sejam movidos entre projetos. ' - setting_work_packages_identifier_alphanumeric: Identificadores alfanuméricos baseados em projeto - setting_work_packages_identifier_alphanumeric_caption: 'Cada projeto possui um identificador único que é prefixado ao ID do pacote de trabalho. Se um pacote de trabalho for movido para outro projeto, um novo identificador é gerado, mas o antigo continua funcionando. + setting_work_packages_identifier_semantic: Identificadores semânticos baseados em projeto + setting_work_packages_identifier_semantic_caption: 'Cada projeto possui um identificador único que é prefixado ao ID do pacote de trabalho. Se um pacote de trabalho for movido para outro projeto, um novo identificador é gerado, mas o antigo continua funcionando. ' setting_work_package_list_default_highlighting_mode: Modo de destaque padrão diff --git a/config/locales/crowdin/pt-PT.yml b/config/locales/crowdin/pt-PT.yml index e55f5bb7117..f20648000c5 100644 --- a/config/locales/crowdin/pt-PT.yml +++ b/config/locales/crowdin/pt-PT.yml @@ -114,7 +114,7 @@ pt-PT: import: title: Importar jira: - title: Importação Jira + title: Jira Migrator description: Utilize esta ferramenta para importar dados da sua instância do Jira. Pode configurar vários anfitriões do Jira, e escolher o que importar em cada execução de importação. errors: cannot_delete_with_imports: Não é possível eliminar o anfitrião do Jira com importações existentes @@ -125,8 +125,8 @@ pt-PT: title: Configuração do Jira new: Nova configuração banner: - title: Importação limitada - description: 'Esta ferramenta de importação está em fase beta, e só consegue importar dados básicos: projetos, problemas (nome, título, descrição, anexos), utilizadores (nome, e-mail, associação ao projeto), estados e tipos. Não pode importar fluxos de trabalho, campos personalizados, relações de problemas ou permissões. Neste momento, só temos suporte para o servidor/centro de dados Jira nas versões 10.x e 11.x. As instâncias na nuvem não são suportadas agora.' + title: Capacidades de importação limitadas + description: 'Jira Migrator está em fase beta, e só consegue importar dados básicos: projetos, problemas (nome, título, descrição, anexos), utilizadores (nome, e-mail, associação ao projeto), estados e tipos. Não pode importar fluxos de trabalho, campos personalizados, relações de problemas ou permissões. Neste momento, só temos suporte para o servidor/centro de dados Jira nas versões 10.x e 11.x. As instâncias na nuvem não são suportadas agora.' form: fields: name: Nome @@ -162,7 +162,7 @@ pt-PT: run: title: Importar execução history: Histórico - remove_error: Uma importação do Jira não pode ser removida enquanto está a ser executada + remove_error: Uma execução de importação do Jira não pode ser eliminada enquanto estiver em execução import_blocked_error: Está em curso ou a aguardar revisão outra importação do Jira. Conclua-a ou reverta-a antes de iniciar uma nova importação. project_identifier_taken: 'Está a tentar importar um projeto com um identificador já utilizado: %{taken_identifier}. Atualize o identificador do projeto no Jira e clique em Tentar novamente.' blank: @@ -387,9 +387,9 @@ pt-PT: notification_text_default: "Olá,
Foi criado um novo projeto: projectValue:name
Obrigado
\n" work_packages_identifier: page_header: - description: Escolha entre IDs numéricos básicos de pacotes de trabalho ou IDs específicos do projeto que acrescentam o identificador do projeto ao ID do pacote de trabalho. + description: Escolha entre IDs de pacotes de trabalho numéricos clássicos ou específicos de projetos semânticos, que acrescentam o identificador do projeto ao ID do pacote de trabalho. banner: - existing_identifiers_notice: 'Os identificadores existentes para os projec~tos %{project_count} não cumprem os requisitos para identificadores alfanuméricos baseados em projetos. O OpenProject pode atualizá-los automaticamente para que sejam válidos, como nos exemplos abaixo. Clique em "Corrigir automaticamente e guardar" para atualizar os identificadores de todos os projetos desta forma, e ativar os identificadores alfanuméricos baseados em projetos. + existing_identifiers_notice: 'Os identificadores existentes para os projec~tos %{project_count} não cumprem os requisitos para identificadores semânticos baseados em projetos. O OpenProject pode atualizá-los automaticamente para que sejam válidos, como nos exemplos abaixo. Clique em "Corrigir automaticamente e guardar" para atualizar os identificadores de todos os projetos desta forma, e ativar os identificadores semânticos baseados em projetos. ' box_header: @@ -398,10 +398,14 @@ pt-PT: label_autofixed_suggestion: Identificador de futuro label_example_work_package_id: Exemplo de ID de pacote de trabalho autofix_preview: - error_too_long: Tem de ter menos de 5 caracteres + error_too_long: Tem de ter 10 caracteres ou menos + error_numerical: Não pode ser puramente numérico + error_starts_with_number: Não pode começar com um número error_special_characters: Caracteres especiais não são permitidos + error_not_fully_uppercased: Deve estar em maiúsculas error_in_use: Já está a ser utilizado como identificador ativo de outro projeto error_reserved: Reservado pelo histórico do identificador de outro projeto + error_unknown: Precisa de revisão manual remaining_projects: one: "... mais 1 projeto" other: "... mais %{count} projetos" @@ -416,7 +420,7 @@ pt-PT: checkbox_label: Compreendo que isto irá alterar permanentemente todos os IDs dos pacotes de trabalho success_banner: Formato de identificador de pacote de trabalho atualizado com sucesso. in_progress: - banner_message: Os identificadores de projetos estão a ser atualizados para identificadores alfanuméricos baseados em projetos. Este processo pode demorar algum tempo. + banner_message: Os identificadores de projetos estão a ser atualizados para identificadores semânticos baseados em projetos. Este processo pode demorar algum tempo. workflows: tabs: default_transitions: Transições padrão @@ -1534,6 +1538,9 @@ pt-PT: dependencies: Dependências activerecord: attributes: + work_package_semantic_alias: + identifier: Identificador + work_package: Pacote de trabalho jira_import: projects: Projetos import/jira: @@ -1542,7 +1549,7 @@ pt-PT: personal_access_token: Token de acesso pessoal import/jira_open_project_reference: jira: Jira - jira_import: Importação Jira + jira_import: Jira Migrator announcements: show_until: Exibir até attachment: @@ -3389,6 +3396,11 @@ pt-PT: quick_add: label: Adicionar… my_account: + notifications_and_email: + title: Notificação e e-mail + tabs: + notifications: Definições de notificações + email_reminders: Lembretes por e-mail access_tokens: description: Os tokens de fornecedor são emitidos pelo OpenProject e permitem o acesso de outras aplicações. Os tokens de cliente são emitidos por outras aplicações e permitem que o OpenProject lhes aceda. no_results: @@ -3451,6 +3463,72 @@ pt-PT: disabled_text: Os tokens RSS não são ativados pelo administrador. Contacte o seu administrador para utilizar esta funcionalidade. storages: unknown_storage: Armazenamento desconhecido + email_reminders: + immediate_reminders: + title: Enviar-me um lembrete por e-mail + mentioned: Notificar-me quando eu for mencionado + personal_reminder: Notificar-me para receber lembretes pessoais + daily_reminders: + title: Enviar-me lembretes diários de e-mail para notificações não lidas + caption: Receberá estes lembretes apenas para notificações não lidas e apenas nas horas que especificar. Até configurar um fuso horário para a sua conta, as horas serão interpretadas em UTC. + enabled: Ativar lembretes diários por e-mail + add_time: Adicionar hora + remove_time: Remover hora + time_slot_label: Hora do lembrete (UTC) + workdays: + title: Receber lembretes por e-mail nestes dias + submit_button: Atualizar dias de lembrete + pause_reminders: + title: Pausar notificações por e-mail + enabled: Pausar temporariamente lembretes de e-mail diários + date_range: Período de pausa + email_alerts: + title: Alertas de e-mail para outros elementos que não pacotes de trabalho + news_added: Notícia adicionada + news_commented: Comentar numa notícia + document_added: Documento adicionado + forum_messages: Mensagem do fórum publicada + wiki_page_added: Página wiki adicionada + wiki_page_updated: Página wiki atualizada + membership_added: Adesão adicionada + membership_updated: Adesão atualizada + submit_button: Atualizar alertas + notifications: + participating: + title: Participante + submit_button: Atualizar preferências + mentioned: Mencionou + watched: A ver + assignee: Encarregado + responsible: Responsável + shared: Partilhado comigo + date_alerts: + title: Alertas de data + submit_button: Atualizar alertas de data + start_date: Data de início + due_date: Data de término + overdue: Em atraso + times: + same_day: No mesmo dia + one_day_before: 1 dia antes + three_days_before: 3 dias antes + seven_days_before: 7 dias antes + one_day_after: 1 dia depois + three_days_after: 3 dias depois + seven_days_after: 7 dias depois + non_participating: + title: Não participante + submit_button: Atualizar preferências + work_package_created: Novos pacotes de trabalho + work_package_commented: Todos os novos comentários + work_package_processed: Todas as mudanças de estado + work_package_prioritized: Todas as mudanças de prioridade + work_package_scheduled: Todas as alterações de datas + project_specific_settings: + title: Definições de notificação específicas do projeto + add_button: Adicionar notificações específicas do projeto + dialog_title: Adicionar notificações específicas do projeto + list_header: Projetos com notificações específicas notifications: reasons: assigned: Pessoa atribuída @@ -3482,6 +3560,7 @@ pt-PT: invalid_filter: Filtro de notificação inválido label_accessibility: Accessibilidade label_account: Conta + label_actions: Ações label_active: Ativo label_activate_user: Ativar utilizador label_active_in_new_projects: Ativo em novos projetos @@ -3522,6 +3601,7 @@ pt-PT: label_ical_access_key_generation_hint: Gerado automaticamente ao subscrever um calendário. label_ical_access_key_latest: recente label_ical_access_key_revoke: Revogar + label_integrations: Integrações label_add_column: Adicionar coluna label_applied_status: Status aplicado label_archive_project: Arquivar projeto @@ -3772,7 +3852,7 @@ pt-PT: label_external_links: Links externos label_locale: Idioma e região label_jump_to_a_project: Saltar para um projeto... - label_jira_import: Importação Jira + label_jira_import: Jira Migrator label_keyword_plural: Palavras-chave label_language_based: Com base no idioma do utilizador label_last_activity: Última atividade @@ -5013,12 +5093,12 @@ pt-PT: setting_welcome_text: Bloco de texto de boas-vindas setting_welcome_title: Título de texto de boas-vindas setting_welcome_on_homescreen: Exibir o bloco de boas-vindas no ecrã inicial - setting_work_packages_identifier_numeric: Sequência numérica a nível da instância (padrão) - setting_work_packages_identifier_numeric_caption: 'Cada pacote de trabalho recebe um número sequencial que começa em 1 e aumenta com cada novo pacote. Os números são únicos nesta instância, pelo que permanecem os mesmos, mesmo que os pacotes de trabalho sejam transferidos entre projetos. + setting_work_packages_identifier_classic: Sequência numérica a nível da instância (padrão) + setting_work_packages_identifier_classic_caption: 'Cada pacote de trabalho recebe um número sequencial que começa em 1 e aumenta com cada novo pacote. Os números são únicos nesta instância, pelo que permanecem os mesmos, mesmo que os pacotes de trabalho sejam transferidos entre projetos. ' - setting_work_packages_identifier_alphanumeric: Identificadores alfanuméricos baseados em projetos - setting_work_packages_identifier_alphanumeric_caption: 'Cada projeto tem um identificador único que é prefixado ao ID do pacote de trabalho. Se um pacote de trabalho for transferido para outro projeto, é gerado um novo identificador, mas o antigo continua a funcionar. + setting_work_packages_identifier_semantic: Identificadores semânticos baseados em projetos + setting_work_packages_identifier_semantic_caption: 'Cada projeto tem um identificador único que é prefixado ao ID do pacote de trabalho. Se um pacote de trabalho for transferido para outro projeto, é gerado um novo identificador, mas o antigo continua a funcionar. ' setting_work_package_list_default_highlighting_mode: Modo de destaque padrão diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index f2e163d0e24..8afc1ad46af 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -114,7 +114,7 @@ ro: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ ro: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ ro: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -393,9 +393,9 @@ ro: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -404,10 +404,14 @@ ro: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" few: "... %{count} more projects" @@ -423,7 +427,7 @@ ro: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1554,6 +1558,9 @@ ro: dependencies: Dependenţe activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1562,7 +1569,7 @@ ro: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Afişare până la attachment: @@ -3450,6 +3457,11 @@ ro: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3512,6 +3524,72 @@ ro: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Executant @@ -3543,6 +3621,7 @@ ro: invalid_filter: Filtru de notificare invalid label_accessibility: Accesibilitate label_account: Cont + label_actions: Acțiuni label_active: Activ label_activate_user: Activați utilizatorul label_active_in_new_projects: Activ în proiecte noi @@ -3583,6 +3662,7 @@ ro: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revocă + label_integrations: Integrations label_add_column: Adaugă coloană label_applied_status: Stare aplicată label_archive_project: Arhivează proiect @@ -3726,7 +3806,7 @@ ro: label_duplicated_by: dublat de label_duplicate: duplicat label_duplicates: dublează - label_edit: Editează + label_edit: Editare label_edit_x: 'Editare: %{x}' label_view_x: 'View: %{x}' label_enable_multi_select: Comutare selecție multiplă @@ -3783,7 +3863,7 @@ ro: label_global_roles: Roluri globale label_git_path: Calea catre directorul .git label_greater_or_equal: ">=" - label_group_by: Grupează după + label_group_by: Grupare după label_group_new: Grupare nouă label_group: Grup label_group_named: Grup %{name} @@ -3833,7 +3913,7 @@ ro: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Salt la un proiect... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Cuvinte cheie label_language_based: Bazat pe limba utilizatorului label_last_activity: Ultima activitate @@ -5092,12 +5172,12 @@ ro: setting_welcome_text: Text bloc "bun venit" setting_welcome_title: Titlu bloc "bun venit" setting_welcome_on_homescreen: Afişare bloc "bun venit" pe ecranul de start - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Mod de evidențiere implicit diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 20092e44195..0fa042d1e37 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -114,7 +114,7 @@ ru: import: title: Импорт jira: - title: Импорт из Jira + title: Мигратор Jira description: Используйте этот инструмент для импорта данных из Вашего экземпляра Jira. Вы можете настроить несколько узлов Jira и выбрать, что импортировать в каждом запуске импорта. errors: cannot_delete_with_imports: Невозможно удалить хост Jira с существующими импортами @@ -125,8 +125,8 @@ ru: title: Конфигурация Jira new: Новая конфигурация banner: - title: Ограниченный импорт - description: 'Этот инструмент импорта в настоящее время находится в стадии бета-тестирования и может импортировать только основные данные: проекты, проблемы (имя, название, описание, вложения), пользователей (имя, электронная почта, членство в проекте), статусы и типы. Он не может импортировать рабочие процессы, пользовательские поля, отношения между заданиями или разрешения. В настоящее время мы поддерживаем только Jira Server/Data Center версий 10.x и 11.x. Облачные экземпляры на данный момент не поддерживаются.' + title: Ограниченные возможности импорта + description: 'Этот мигратор Jira в настоящее время находится в бета-версии и может импортировать только основные данные: проекты, проблемы (имя, заголовок, описание, вложения), пользователей (имя, электронная почта, членство в проекте), статусы и типы. Он не может импортировать рабочие процессы, пользовательские поля, отношения между заданиями или разрешения. В настоящее время мы поддерживаем только Jira Server/Data Center версий 10.x и 11.x. Облачные экземпляры на данный момент не поддерживаются.' form: fields: name: Имя @@ -162,7 +162,7 @@ ru: run: title: Выполнение импорта history: История - remove_error: Импорт Jira нельзя удалить во время его выполнения + remove_error: Запуск импорта Jira не может быть удалён, пока он запущен import_blocked_error: Другая операция импорта Jira находится в процессе выполнения или ожидает рассмотрения. Пожалуйста, завершите или отмените его, прежде чем начинать новый импорт. project_identifier_taken: 'Вы пытаетесь импортировать проект с уже использованным идентификатором: %{taken_identifier}. Пожалуйста, обновите идентификатор проекта в Jira, затем нажмите «Повторить».' blank: @@ -399,9 +399,9 @@ ru: notification_text_default: "Здравствуйте,
Был создан новый проект: projectValue:name
Спасибо
\n" work_packages_identifier: page_header: - description: Выберите между базовыми числовыми идентификаторами пакетов работ или специфическими для проекта, которые добавляют идентификатор проекта к идентификатору пакета работ. + description: Выберите между классическими числовыми идентификаторами пакета работ или семантическими, специфичными для проекта, которые добавляют идентификатор проекта к ID пакета работ. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Существующие идентификаторы для проектов %{project_count} не соответствуют требованиям, предъявляемым к семантическим идентификаторам. OpenProject может автоматически обновить их, чтобы они были действительными, как показано в примерах ниже. Щелкните на ''Исправить и сохранить'', чтобы обновить идентификаторы для всех проектов и включить семантические идентификаторы на основе проекта. ' box_header: @@ -410,10 +410,14 @@ ru: label_autofixed_suggestion: Следующий идентификатор label_example_work_package_id: Пример ID пакета работ autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Должно быть 10 символов или меньше + error_numerical: Не может быть чисто числовым + error_starts_with_number: Не может начинаться с цифры error_special_characters: Специальные символы не допускаются + error_not_fully_uppercased: Должно быть заглавными error_in_use: Уже используется в другом проекте error_reserved: Зарезервировано другим проектом + error_unknown: Требуется ручная проверка remaining_projects: one: "... еще 1 проект" few: "... %{count} more projects" @@ -430,7 +434,7 @@ ru: checkbox_label: Я понимаю, что это навсегда изменит все идентификаторы пакета работ success_banner: Формат идентификатора пакета работ успешно обновлен. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Идентификаторы проекта в настоящее время обновляются до семантических идентификаторов. Это может занять некоторое время. workflows: tabs: default_transitions: Переходы по умолчанию @@ -1575,6 +1579,9 @@ ru: dependencies: Связи activerecord: attributes: + work_package_semantic_alias: + identifier: Идентификатор + work_package: Пакет работ jira_import: projects: Проекты import/jira: @@ -1583,7 +1590,7 @@ ru: personal_access_token: Персональный токен доступа import/jira_open_project_reference: jira: Jira - jira_import: Импорт из Jira + jira_import: Мигратор Jira announcements: show_until: Отобразить до attachment: @@ -3514,6 +3521,11 @@ ru: quick_add: label: Добавить… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Настройки уведомлений + email_reminders: Почтовые напоминания access_tokens: description: Провайдерские токены выпускаются OpenProject, позволяя другим приложениям получать к ним доступ. Клиентские токены выпускаются другими приложениями, позволяя OpenProject получить к ним доступ. no_results: @@ -3576,6 +3588,72 @@ ru: disabled_text: Токены RSS не включены администратором. Пожалуйста, обратитесь к администратору, чтобы использовать эту функцию. storages: unknown_storage: Неизвестное хранилище + email_reminders: + immediate_reminders: + title: Отправить мне напоминание по электронной почте + mentioned: Сообщить мне, когда меня упомянут + personal_reminder: Уведомлять меня о личных напоминаниях + daily_reminders: + title: Отправлять мне ежедневные напоминания по электронной почте о непрочитанных уведомлениях + caption: Вы будете получать эти напоминания только для непрочитанных уведомлений и только в указанные Вами часы. Пока Вы не настроите часовой пояс для своей учетной записи, время будет интерпретироваться как UTC. + enabled: Включить ежедневные напоминания по электронной почте + add_time: Добавить время + remove_time: Удалить время + time_slot_label: Время напоминания (UTC) + workdays: + title: Получать напоминания по электронной почте в эти дни + submit_button: Обновить дни напоминаний + pause_reminders: + title: Приостановить уведомления по электронной почте + enabled: Временно приостановить ежедневные напоминания по электронной почте + date_range: Период приостановки + email_alerts: + title: Уведомления по электронной почте для других элементов (которые не являются пакетами работ) + news_added: Новость добавлена + news_commented: Комментарий к новости + document_added: Документ добавлен + forum_messages: Сообщение на форуме + wiki_page_added: Wiki-страница добавлена + wiki_page_updated: Wiki-страница обновлена + membership_added: Членство добавлено + membership_updated: Членство обновлено + submit_button: Обновить оповещения + notifications: + participating: + title: Участие + submit_button: Обновить настройки + mentioned: Упомянутый + watched: Отслеживает + assignee: Назначенный + responsible: Ответственный + shared: Доступные мне + date_alerts: + title: Дата оповещения + submit_button: Обновить дату оповещения + start_date: Дата начала + due_date: Дата окончания + overdue: Просрочено + times: + same_day: В тот же день + one_day_before: За 1 день до + three_days_before: За 3 дня до + seven_days_before: За 7 дней до + one_day_after: Через 1 день после + three_days_after: Через 3 дня после + seven_days_after: Через 7 дней после + non_participating: + title: Неучастие + submit_button: Обновить настройки + work_package_created: Новые пакеты работ + work_package_commented: Все новые комментарии + work_package_processed: Все изменения статуса + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Исполнитель @@ -3607,6 +3685,7 @@ ru: invalid_filter: Неверный фильтр уведомлений label_accessibility: Спец. возможности label_account: Учетная запись + label_actions: Действия label_active: Активен label_activate_user: Активировать пользователя label_active_in_new_projects: Активное участие в новых проектах @@ -3647,6 +3726,7 @@ ru: label_ical_access_key_generation_hint: Автоматически генерируется при подписке на календарь. label_ical_access_key_latest: последний label_ical_access_key_revoke: Отозвать + label_integrations: Integrations label_add_column: Добавить столбец label_applied_status: Прикладной статус label_archive_project: Архивировать проект @@ -3897,7 +3977,7 @@ ru: label_external_links: Внешние ссылки label_locale: Язык и регион label_jump_to_a_project: Перейти к проекту... - label_jira_import: Импорт из Jira + label_jira_import: Jira Migrator label_keyword_plural: Ключевые слова label_language_based: Основанный на языке пользователя label_last_activity: Последняя активность @@ -5149,12 +5229,12 @@ ru: setting_welcome_text: Текст приветствия setting_welcome_title: Заголовок приветствия setting_welcome_on_homescreen: Показывать приветствие на домашней странице - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Числовая последовательность для всего экземпляра (по умолчанию) + setting_work_packages_identifier_classic_caption: 'Каждый пакет работ получает порядковый номер, начинающийся с 1 и увеличивающийся с каждым новым пакетом. Номера уникальны в пределах данного экземпляра, поэтому они остаются неизменными, даже если пакеты работ перемещаются между проектами. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Семантические идентификаторы на основе проекта + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Способ выделения по умолчанию diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index 7711ffd5f64..9e66899ed88 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -114,7 +114,7 @@ rw: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ rw: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ rw: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ rw: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ rw: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ rw: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ rw: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ rw: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ rw: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ rw: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ rw: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ rw: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ rw: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ rw: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index 9b00ffeec88..3f4d4774e59 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -114,7 +114,7 @@ si: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ si: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ si: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ si: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ si: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ si: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ si: dependencies: පරායත්තතා activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ si: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: ප්රදර්ශනය වන තුරු attachment: @@ -3391,6 +3398,11 @@ si: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ si: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: අස්ගිනී @@ -3484,6 +3562,7 @@ si: invalid_filter: Invalid notification filter label_accessibility: ප්රවේශ්යතාව label_account: ගිණුම + label_actions: ක්රියාමාර්ග label_active: ක්රියාකාරී label_activate_user: පරිශීලකයා සක්රිය කරන්න label_active_in_new_projects: නව ව්යාපෘතිවල ක්රියාකාරී වේ @@ -3524,6 +3603,7 @@ si: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: අවලංගු + label_integrations: Integrations label_add_column: Add column label_applied_status: ව්යවහාරික තත්ත්වය label_archive_project: සංරක්ෂිත ව්යාපෘතිය @@ -3774,7 +3854,7 @@ si: label_external_links: External links label_locale: Language and region label_jump_to_a_project: ව්යාපෘතියකට පනින්න... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: මූල පද label_language_based: පරිශීලකයාගේ භාෂාව මත පදනම්ව label_last_activity: අවසාන ක්රියාකාරකම් @@ -5030,12 +5110,12 @@ si: setting_welcome_text: බ්ලොක් පෙළ සාදරයෙන් පිළිගනිමු setting_welcome_title: වාරණ මාතෘකාව සාදරයෙන් පිළිගනිමු setting_welcome_on_homescreen: homescreen මත ප්රදර්ශනය පිළිගැනීමේ වාරණ - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: පෙරනිමි ඉස්මතු මාදිලිය diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index bf84e25d6c0..73c18c2c865 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -114,7 +114,7 @@ sk: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ sk: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ sk: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -399,9 +399,9 @@ sk: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -410,10 +410,14 @@ sk: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" few: "... %{count} more projects" @@ -430,7 +434,7 @@ sk: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1572,6 +1576,9 @@ sk: dependencies: Závislosti activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1580,7 +1587,7 @@ sk: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Zobrazovať, až kým attachment: @@ -3507,6 +3514,11 @@ sk: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3569,6 +3581,72 @@ sk: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Priradené @@ -3600,6 +3678,7 @@ sk: invalid_filter: Invalid notification filter label_accessibility: Prístupnosť label_account: Účet + label_actions: Akcie label_active: Aktívny label_activate_user: Aktívny užívateľ label_active_in_new_projects: Aktívny v nových projektoch @@ -3640,6 +3719,7 @@ sk: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Odvolať + label_integrations: Integrations label_add_column: Add column label_applied_status: Aplikovaný stav label_archive_project: Archivovať projekt @@ -3890,7 +3970,7 @@ sk: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Skok do projektu... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Kľúčové slová label_language_based: Založené na jazyku používateľa label_last_activity: Posledná aktivita @@ -5158,12 +5238,12 @@ sk: setting_welcome_text: Text pre uvítací blok setting_welcome_title: Názov uvítacieho bloku setting_welcome_on_homescreen: Zobraziť uvítací blok na úvodnej obrazovke - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Predvolený režim zvýraznenia diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index f066e4f040a..60db981553e 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -116,7 +116,7 @@ sl: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -127,8 +127,8 @@ sl: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -164,7 +164,7 @@ sl: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -401,9 +401,9 @@ sl: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -412,10 +412,14 @@ sl: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" two: "... %{count} more projects" @@ -432,7 +436,7 @@ sl: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1573,6 +1577,9 @@ sl: dependencies: Odvisnosti activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1581,7 +1588,7 @@ sl: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Prikaži do attachment: @@ -2866,8 +2873,8 @@ sl: - avgust - september - oktober - - november - - december + - November + - December order: - :leto - :mesec @@ -3520,6 +3527,11 @@ sl: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3582,6 +3594,72 @@ sl: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Prevzemnik @@ -3613,6 +3691,7 @@ sl: invalid_filter: Invalid notification filter label_accessibility: Dostopnost label_account: Račun + label_actions: Akcije label_active: Aktivno label_activate_user: Aktivirajte uporabnika label_active_in_new_projects: Aktivno v novih projektih @@ -3653,6 +3732,7 @@ sl: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Prekliči + label_integrations: Integrations label_add_column: Add column label_applied_status: Uveljavljeno stanje label_archive_project: Arhivirani projekti @@ -3903,7 +3983,7 @@ sl: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Skoči na projekt... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Ključne besede label_language_based: Glede na uporabnikov jezik label_last_activity: Zadnja aktivnost @@ -5181,12 +5261,12 @@ sl: setting_welcome_text: Dobrodošli blok besedila setting_welcome_title: Dobrodošli blok naslov setting_welcome_on_homescreen: Prikažite blok dobrodošlice na osnovnem zaslonu - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Privzeti način osvetlitve diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index 329a70a966d..52d8a9a495d 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -114,7 +114,7 @@ sr: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ sr: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ sr: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -393,9 +393,9 @@ sr: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -404,10 +404,14 @@ sr: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" few: "... %{count} more projects" @@ -423,7 +427,7 @@ sr: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1554,6 +1558,9 @@ sr: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1562,7 +1569,7 @@ sr: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3450,6 +3457,11 @@ sr: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3512,6 +3524,72 @@ sr: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Zadužen @@ -3543,6 +3621,7 @@ sr: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3583,6 +3662,7 @@ sr: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3833,7 +3913,7 @@ sr: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5094,12 +5174,12 @@ sr: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index a3b8b2602e8..e6356de41e6 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -114,7 +114,7 @@ sv: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ sv: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ sv: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ sv: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ sv: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ sv: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ sv: dependencies: Beroenden activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ sv: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Visa fram till attachment: @@ -3391,6 +3398,11 @@ sv: quick_add: label: Lägg till… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ sv: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Okänd lagring + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Tilldelad till @@ -3484,6 +3562,7 @@ sv: invalid_filter: Invalid notification filter label_accessibility: Tillgänglighet label_account: Konto + label_actions: Åtgärder label_active: Aktiv label_activate_user: Aktivera användare label_active_in_new_projects: Aktiv i nya projekt @@ -3524,6 +3603,7 @@ sv: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: senaste label_ical_access_key_revoke: Återkalla + label_integrations: Integrations label_add_column: Lägg till kolumn label_applied_status: Tillämpad status label_archive_project: Arkivera projekt @@ -3774,7 +3854,7 @@ sv: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Hoppa till projekt... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Nyckelord label_language_based: Baserat på användarens språk label_last_activity: Senaste aktivitet @@ -5018,12 +5098,12 @@ sv: setting_welcome_text: Textblock för välkomstmeddelande setting_welcome_title: Textblock för välkomsttitel setting_welcome_on_homescreen: Visa välkomstblocket på hemsidan - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Standardläge för markering diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index a8f5aca3495..9f228725700 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -114,7 +114,7 @@ th: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ th: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ th: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -381,9 +381,9 @@ th: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ th: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ th: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1518,6 +1522,9 @@ th: dependencies: ส่วนที่อ้างอิง activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1526,7 +1533,7 @@ th: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3332,6 +3339,11 @@ th: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3394,6 +3406,72 @@ th: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: ผู้ได้รับมอบหมาย @@ -3425,6 +3503,7 @@ th: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: บัญชี + label_actions: Actions label_active: ใช้งานอยู่ label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3465,6 +3544,7 @@ th: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: ใช้สถานะ label_archive_project: Archive project @@ -3715,7 +3795,7 @@ th: label_external_links: External links label_locale: Language and region label_jump_to_a_project: ไปยังโครงการ... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: ตามภาษาของผู้ใช้ label_last_activity: Last activity @@ -4966,12 +5046,12 @@ th: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index b490ab99604..8b719c6f6e7 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -114,7 +114,7 @@ tr: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ tr: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ tr: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ tr: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ tr: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ tr: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1537,6 +1541,9 @@ tr: dependencies: Bağımlılıklar activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1545,7 +1552,7 @@ tr: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Son yayın tarihi attachment: @@ -3396,6 +3403,11 @@ tr: quick_add: label: Ekle… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3458,6 +3470,72 @@ tr: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Bilinmeyen depolama + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Atanan @@ -3489,6 +3567,7 @@ tr: invalid_filter: Geçersiz bildirim filtresi label_accessibility: Erişilebilirlik label_account: Hesap + label_actions: Eylemler label_active: Aktif label_activate_user: Aktif kullanıcı label_active_in_new_projects: Yeni projelerde etkin @@ -3529,6 +3608,7 @@ tr: label_ical_access_key_generation_hint: Bir takvime abone olunduğunda otomatik olarak oluşturulur. label_ical_access_key_latest: en son label_ical_access_key_revoke: İptal et + label_integrations: Integrations label_add_column: Sütun ekle label_applied_status: Uygulanan statü label_archive_project: Projeyi arşivle @@ -3779,7 +3859,7 @@ tr: label_external_links: Harici Bağlantılar label_locale: Dil ve bölge label_jump_to_a_project: Projeye git... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Anahtar kelimeler label_language_based: Kullanıcının dili tabanlı label_last_activity: Son Aktivite @@ -5032,12 +5112,12 @@ tr: setting_welcome_text: Hoş geldiniz blok metini setting_welcome_title: Hoş geldiniz blok başlığı setting_welcome_on_homescreen: Hoşgeldiniz bloğunu ana ekranda göster - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Varsayılan vurgulama modu diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index ae2569fde7f..1b0c7fcef47 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -114,7 +114,7 @@ uk: import: title: Iмпорт jira: - title: Імпорт із Jira + title: Jira Migrator description: Використовуйте цей інструмент для імпорту даних зі свого екземпляра Jira. Ви можете налаштувати кілька хостів Jira й вибрати, що імпортувати в кожному циклі імпорту. errors: cannot_delete_with_imports: Не вдається видалити хост Jira з наявними процесами імпорту @@ -125,8 +125,8 @@ uk: title: Конфігурація Jira new: Нова конфігурація banner: - title: Обмежений імпорт - description: 'Цей інструмент зараз доступний лише як бета-версія і може імпортувати тільки основні дані: проєкти, задачі (назву, заголовок, опис, вкладення), користувачів (ім’я, електронну адресу, дані про участь у проєктах), статуси й типи. Він не може імпортувати робочі процеси, користувацькі поля, зв’язки між задачами чи дозволи. Зараз ми підтримуємо лише версії Jira Server / Data Center 10.x і 11.x. Хмарні екземпляри поки що не підтримуються.' + title: Обмежені можливості імпорту + description: 'Інструмент Jira Migrator зараз доступний лише як бета-версія і може імпортувати тільки основні дані: проєкти, задачі (назву, заголовок, опис, вкладення), користувачів (ім’я, електронну адресу, дані про участь у проєктах), статуси й типи. Він не може імпортувати робочі процеси, користувацькі поля, зв’язки між задачами чи дозволи. Зараз ми підтримуємо лише версії Jira Server / Data Center 10.x і 11.x. Хмарні екземпляри поки що не підтримуються.' form: fields: name: Назва @@ -162,7 +162,7 @@ uk: run: title: Цикл імпорту history: Історія - remove_error: Імпорт Jira не можна видалити, поки він виконується + remove_error: Цикл імпорту Jira не можна видалити, поки він виконується import_blocked_error: Зараз виконується або очікує на перевірку ще один цикл імпорту Jira. Завершіть або скасуйте його, якщо потрібно почати новий імпорт. project_identifier_taken: 'Ви намагаєтесь імпортувати проєкт з ідентифікатором, який уже використовується: %{taken_identifier}. Будь ласка, оновіть ідентифікатор проєкту в Jira, а потім натисніть на кнопку «Повторити спробу».' blank: @@ -399,9 +399,9 @@ uk: notification_text_default: "Вітаємо,
Новий проєкт створено: projectValue:name
Дякуємо
\n" work_packages_identifier: page_header: - description: Виберіть звичайні числові ідентифікатори пакетів робіт або ідентифікатори із зазначенням проєкту (до ідентифікатора пакета робіт додається префікс з ідентифікатором проєкту). + description: Виберіть класичні числові ідентифікатори пакетів робіт або семантичні із зазначенням проєкту (до ідентифікатора пакета робіт додається префікс з ідентифікатором проєкту). banner: - existing_identifiers_notice: 'Наявні ідентифікатори для кількох проєктів (%{project_count}) не відповідають вимогам до буквено-цифрових ідентифікаторів із зазначенням проєктів. OpenProject може автоматично оновити їх, щоб вони стали дійсними, як показано в прикладах нижче. Натисніть кнопку «Виправити й зберегти», щоб оновити в такий спосіб ідентифікатори для всіх проєктів і ввімкнути буквено-цифрові ідентифікатори із зазначенням проєктів. + existing_identifiers_notice: 'Наявні ідентифікатори для кількох проєктів (%{project_count}) не відповідають вимогам до семантичних ідентифікаторів із зазначенням проєктів. OpenProject може автоматично оновити їх, щоб вони стали дійсними, як показано в прикладах нижче. Натисніть кнопку «Виправити й зберегти», щоб оновити в такий спосіб ідентифікатори для всіх проєктів і ввімкнути семантичні ідентифікатори із зазначенням проєктів. ' box_header: @@ -410,10 +410,14 @@ uk: label_autofixed_suggestion: Майбутній ідентифікатор label_example_work_package_id: Приклад ідентифікатора пакета робіт autofix_preview: - error_too_long: Має містити менше ніж 5 символів + error_too_long: Має містити щонайбільше 10 символів + error_numerical: Не може містити лише числа + error_starts_with_number: Не може починатись із числа error_special_characters: Не дозволяється використовувати спеціальні символи + error_not_fully_uppercased: Літери мають бути великими error_in_use: Уже використовується як активний дескриптор іншого проєкту error_reserved: Зарезервовано в історії дескрипторів іншого проєкту + error_unknown: Потребує ручної перевірки remaining_projects: one: "… ще 1 проєкт" few: "… ще %{count} проєкти" @@ -430,7 +434,7 @@ uk: checkbox_label: Я розумію, що ця дія назавжди змінить усі ідентифікатори пакетів робіт success_banner: Формат ідентифікаторів пакетів робіт успішно оновлено. in_progress: - banner_message: Ідентифікатори проєктів зараз замінюються на буквено-цифрові ідентифікатори із зазначенням проєктів. Це може зайняти деякий час. + banner_message: Ідентифікатори проєктів зараз замінюються на семантичні ідентифікатори із зазначенням проєктів. Це може зайняти деякий час. workflows: tabs: default_transitions: Стандартні переходи @@ -1567,6 +1571,9 @@ uk: dependencies: Залежності activerecord: attributes: + work_package_semantic_alias: + identifier: Ідентифікатор + work_package: Робочий пакет jira_import: projects: Проєкти import/jira: @@ -1575,7 +1582,7 @@ uk: personal_access_token: Персональний маркер доступу import/jira_open_project_reference: jira: Jira - jira_import: Імпорт із Jira + jira_import: Jira Migrator announcements: show_until: Показувати до attachment: @@ -3508,6 +3515,11 @@ uk: quick_add: label: Додати… my_account: + notifications_and_email: + title: Сповіщення й електронні листи + tabs: + notifications: Налаштування сповіщень + email_reminders: Нагадування електронною поштою access_tokens: description: Маркери постачальника послуг випускаються в OpenProject, що дає змогу іншим додаткам отримувати до них доступ. Клієнтські маркери випускаються іншими додатками, що дає змогу OpenProject отримати до них доступ. no_results: @@ -3570,6 +3582,72 @@ uk: disabled_text: Маркери API не ввімкнено адміністратором. Зверніться до нього, якщо вам потрібна ця функція. storages: unknown_storage: Невідоме сховище + email_reminders: + immediate_reminders: + title: Надсилати мені нагадування електронною поштою + mentioned: Повідомляти мене, коли мене згадують + personal_reminder: Повідомляти мене про персональні нагадування + daily_reminders: + title: Надсилати мені щоденні нагадування електронною поштою про непрочитані сповіщення + caption: Ви отримуватимете лише нагадування про непрочитані сповіщення, і вони надходитимуть тільки у вказаний вами час. Доки ви не налаштуєте для свого облікового запису часовий пояс, використовуватиметься UTC. + enabled: Увімкнути щоденні нагадування електронною поштою + add_time: Додати час + remove_time: Вилучити час + time_slot_label: Час нагадування (UTC) + workdays: + title: Отримувати нагадування електронною поштою в ці дні + submit_button: Оновити дні нагадувань + pause_reminders: + title: Призупинити сповіщення електронною поштою + enabled: Тимчасово призупинити щоденні нагадування, що надсилаються електронною поштою + date_range: Період призупинення + email_alerts: + title: Сповіщення електронною поштою для інших елементів, які не є пакетами робіт + news_added: Новину додано + news_commented: Коментар щодо новини + document_added: Документ додано + forum_messages: Повідомлення на форумі опубліковано + wiki_page_added: Wiki-сторінку додано + wiki_page_updated: Wiki-сторінку оновлено + membership_added: Членство додано + membership_updated: Членство оновлено + submit_button: Оновити сповіщення + notifications: + participating: + title: Бере участь + submit_button: Оновити налаштування + mentioned: Вас згадали + watched: Відстеження + assignee: Виконавець + responsible: Відповідальний + shared: Доступ надано мені + date_alerts: + title: Сповіщення про дати + submit_button: Оновити сповіщення про дати + start_date: Дата початку + due_date: Дата завершення + overdue: Прострочено + times: + same_day: Того самого дня + one_day_before: За 1 день + three_days_before: За 3 дні + seven_days_before: За 7 днів + one_day_after: Через 1 день + three_days_after: Через 3 дні + seven_days_after: Через 7 днів + non_participating: + title: Не бере участі + submit_button: Оновити налаштування + work_package_created: Нові пакети робіт + work_package_commented: Усі нові коментарі + work_package_processed: Усі зміни статусу + work_package_prioritized: Усі зміни пріоритету + work_package_scheduled: Усі зміни дат + project_specific_settings: + title: Налаштування сповіщень щодо проєктів + add_button: Додати сповіщення щодо проєктів + dialog_title: Додати сповіщення щодо проєктів + list_header: Проєкти зі спеціальними сповіщеннями notifications: reasons: assigned: Виконавець @@ -3601,6 +3679,7 @@ uk: invalid_filter: Недійсний фільтр сповіщень label_accessibility: Розробникам також потрібно оплачувати свої рахунки. З доступністю label_account: Обліковий запис + label_actions: Дії label_active: Активні label_activate_user: Активні користувачі label_active_in_new_projects: Активна участь в нових проектах @@ -3641,6 +3720,7 @@ uk: label_ical_access_key_generation_hint: Автоматично створено під час оформлення підписки на календар. label_ical_access_key_latest: останні label_ical_access_key_revoke: Анулювати + label_integrations: Інтеграції label_add_column: Додати стовпець label_applied_status: Застосовний статус label_archive_project: Архівний проект @@ -3869,7 +3949,7 @@ uk: label_index_by_title: Індекс за назвою label_information: Інформація label_information_plural: Інформація - label_installation_guides: Інструкції із встановлення + label_installation_guides: Інструкції зі встановлення label_integer: Ціле число label_interface: Інтерфейс label_internal: Власне @@ -3891,7 +3971,7 @@ uk: label_external_links: Зовнішні посилання label_locale: Мова й регіон label_jump_to_a_project: Перейти до проекту... - label_jira_import: Імпорт із Jira + label_jira_import: Jira Migrator label_keyword_plural: Ключові слова label_language_based: На основі мови користувача label_last_activity: Остання активність @@ -5156,12 +5236,12 @@ uk: setting_welcome_text: Текст блоку привітання setting_welcome_title: Заголовок вітального блоку setting_welcome_on_homescreen: Відображати вітальний блок на робочому столі - setting_work_packages_identifier_numeric: Числова послідовність для всього екземпляра (за умовчанням) - setting_work_packages_identifier_numeric_caption: 'Кожному пакету робіт присвоюється порядковий номер, який починається з одиниці й збільшується з кожним новим пакетом. Номери є унікальними в межах цього екземпляра, тому залишаються незмінними, навіть якщо пакети робіт переміщуються між проєктами. + setting_work_packages_identifier_classic: Числова послідовність для всього екземпляра (за умовчанням) + setting_work_packages_identifier_classic_caption: 'Кожному пакету робіт присвоюється порядковий номер, який починається з одиниці й збільшується з кожним новим пакетом. Номери є унікальними в межах цього екземпляра, тому залишаються незмінними, навіть якщо пакети робіт переміщуються між проєктами. ' - setting_work_packages_identifier_alphanumeric: Буквено-цифрові ідентифікатори із зазначенням проєктів - setting_work_packages_identifier_alphanumeric_caption: 'Кожен проєкт має унікальний ідентифікатор, який додається як префікс до ідентифікатора пакета робіт. Якщо пакет робіт переміщується в інший проєкт, генерується новий ідентифікатор, однак старий продовжує працювати. + setting_work_packages_identifier_semantic: Семантичні ідентифікатори із зазначенням проєктів + setting_work_packages_identifier_semantic_caption: 'Кожен проєкт має унікальний ідентифікатор, який додається як префікс до ідентифікатора пакета робіт. Якщо пакет робіт переміщується в інший проєкт, генерується новий ідентифікатор, однак старий продовжує працювати. ' setting_work_package_list_default_highlighting_mode: Режим виділення за умовчанням diff --git a/config/locales/crowdin/uz.yml b/config/locales/crowdin/uz.yml index a89d5fcb699..b2b0a6cf6bf 100644 --- a/config/locales/crowdin/uz.yml +++ b/config/locales/crowdin/uz.yml @@ -114,7 +114,7 @@ uz: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ uz: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ uz: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -387,9 +387,9 @@ uz: notification_text_default: "Hello,
A new project has been created: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -398,10 +398,14 @@ uz: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -416,7 +420,7 @@ uz: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Default transitions @@ -1536,6 +1540,9 @@ uz: dependencies: Dependencies activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1544,7 +1551,7 @@ uz: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Display until attachment: @@ -3391,6 +3398,11 @@ uz: quick_add: label: Add… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them. no_results: @@ -3453,6 +3465,72 @@ uz: disabled_text: RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature. storages: unknown_storage: Unknown storage + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Assignee @@ -3484,6 +3562,7 @@ uz: invalid_filter: Invalid notification filter label_accessibility: Accessibility label_account: Account + label_actions: Actions label_active: Active label_activate_user: Activate user label_active_in_new_projects: Active in new projects @@ -3524,6 +3603,7 @@ uz: label_ical_access_key_generation_hint: Automatically generated when subscribing to a calendar. label_ical_access_key_latest: latest label_ical_access_key_revoke: Revoke + label_integrations: Integrations label_add_column: Add column label_applied_status: Applied status label_archive_project: Archive project @@ -3774,7 +3854,7 @@ uz: label_external_links: External links label_locale: Language and region label_jump_to_a_project: Jump to a project... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Keywords label_language_based: Based on user's language label_last_activity: Last activity @@ -5030,12 +5110,12 @@ uz: setting_welcome_text: Welcome block text setting_welcome_title: Welcome block title setting_welcome_on_homescreen: Display welcome block on homescreen - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Default highlighting mode diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index 253835d638b..d7e7ef038b0 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -114,7 +114,7 @@ vi: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ vi: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ vi: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -381,9 +381,9 @@ vi: notification_text_default: "Xin chào,
Một dự án mới đã được tạo: projectValue:name
Thank you
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ vi: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ vi: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: Chuyển tiếp mặc định @@ -1520,6 +1524,9 @@ vi: dependencies: phụ thuộc activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1528,7 +1535,7 @@ vi: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: Hiển thị cho đến khi attachment: @@ -2431,7 +2438,7 @@ vi: body: cơ thể blocks_ids: ID của các work package bị chặn category: thể loại - comment: bình luận + comment: Nhận xét comments: bình luận content: Nội dung color: màu sắc @@ -3334,6 +3341,11 @@ vi: quick_add: label: Thêm vào… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: Mã thông báo của nhà cung cấp được OpenProject phát hành, cho phép các ứng dụng khác truy cập vào nó. Mã thông báo của khách hàng được phát hành bởi các ứng dụng khác, cho phép OpenProject truy cập chúng. no_results: @@ -3396,6 +3408,72 @@ vi: disabled_text: Mã thông báo RSS không được quản trị viên kích hoạt. Vui lòng liên hệ với quản trị viên của bạn để sử dụng tính năng này. storages: unknown_storage: Bộ nhớ không xác định + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: Người được chuyển nhượng @@ -3427,6 +3505,7 @@ vi: invalid_filter: Bộ lọc thông báo không hợp lệ label_accessibility: Trợ năng label_account: tài khoản + label_actions: hành động label_active: Đang hoạt động label_activate_user: Người dùng kích họat label_active_in_new_projects: Tích cực trong các dự án mới @@ -3467,6 +3546,7 @@ vi: label_ical_access_key_generation_hint: Tự động được tạo khi đăng ký lịch. label_ical_access_key_latest: mới nhất label_ical_access_key_revoke: Thu hồi + label_integrations: Integrations label_add_column: Thêm cột label_applied_status: Tình trạng áp dụng label_archive_project: Lưu trữ dự án @@ -3717,7 +3797,7 @@ vi: label_external_links: Liên kết ngoài label_locale: Ngôn ngữ và khu vực label_jump_to_a_project: Chuyển đến một dự án... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: Từ khóa label_language_based: Dựa trên ngôn ngữ của người dùng label_last_activity: Hoạt động cuối cùng @@ -4039,7 +4119,7 @@ vi: label_used_by: Được dùng bởi label_used_by_types: Được sử dụng bởi các loại label_used_in_projects: Được sử dụng trong các dự án - label_user: người dùng + label_user: Người dùng label_user_and_permission: Người dùng và quyền label_user_named: Người dùng %{name} label_user_activity_html: "%{value}'s activity" @@ -4976,12 +5056,12 @@ vi: setting_welcome_text: Văn bản chặn chào mừng setting_welcome_title: Tiêu đề khối chào mừng setting_welcome_on_homescreen: Hiển thị khối chào mừng trên màn hình chính - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: Chế độ đánh dấu mặc định diff --git a/config/locales/crowdin/zh-CN.seeders.yml b/config/locales/crowdin/zh-CN.seeders.yml index 30e63f026bc..212a0e3692c 100644 --- a/config/locales/crowdin/zh-CN.seeders.yml +++ b/config/locales/crowdin/zh-CN.seeders.yml @@ -97,7 +97,7 @@ zh-CN: demo-project: name: 演示项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示 Scrum 项目目标的简短摘要。 + description: 这是对此演示项目目标的简短摘要。 news: item_0: title: 欢迎来到您的演示项目 @@ -201,7 +201,7 @@ zh-CN: scrum-project: name: Scrum 项目 status_explanation: 所有任务都按计划进行。相关人员均知晓各自任务。系统已完全建立。 - description: 这是对此演示 Scrum 项目目标的简短摘要。 + description: 这是对此演示Scrum项目目标的简短摘要。 news: item_0: title: 欢迎来到您的 Scrum 演示项目 diff --git a/config/locales/crowdin/zh-CN.yml b/config/locales/crowdin/zh-CN.yml index 497d8068cdf..def7cd1a66c 100644 --- a/config/locales/crowdin/zh-CN.yml +++ b/config/locales/crowdin/zh-CN.yml @@ -89,7 +89,7 @@ zh-CN: token_caption: 要详细了解如何激活企业版,请查阅我们的[文档](docs_url)。 add_token: 上传企业版支持令牌 replace_token: 替换您当前的支持令牌 - order: 订购本地部署版的 Enterprise edition + order: 订购本地部署的 Enterprise edition paste: 粘贴您企业版的支持令牌 required_for_feature: 此功能仅限具激活的企业版支持令牌的订阅者使用。 enterprise_link: 如需了解详细信息,请单击此处。 @@ -114,7 +114,7 @@ zh-CN: import: title: 导入 jira: - title: Jira 导入 + title: Jira Migrator description: 使用此工具从您的 Jira 实例中导入数据。您可以配置多个 Jira 主机,并选择每次导入运行要导入的内容。 errors: cannot_delete_with_imports: 无法删除具有现有导入的 Jira 主机 @@ -125,8 +125,8 @@ zh-CN: title: Jira 配置 new: 新配置 banner: - title: 受限导入 - description: 此导入工具目前处于测试阶段,只能导入基本数据:项目、问题(名称、标题、描述、附件)、用户(名称、电子邮件地址、项目成员资格)、状态和类型。不能导入工作流、自定义字段、问题关系或权限。我们目前仅支持 Jira Server/Data Center 版本 10.x 和 11.x。目前不支持云实例。 + title: Limited import capabilities + description: Jira Migrator 目前处于测试阶段,只能导入基本数据:项目、问题(名称、标题、描述、附件)、用户(名称、电子邮件地址、项目成员资格)、状态和类型。不能导入工作流、自定义字段、问题关系或权限。我们目前仅支持 Jira Server/Data Center 版本 10.x 和 11.x。目前不支持云实例。 form: fields: name: 名称 @@ -162,7 +162,7 @@ zh-CN: run: title: 导入运行 history: 历史记录 - remove_error: 无法移除正在运行的 Jira 导入 + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: 另一个 Jira 导入运行当前正在执行或等待审核。请先完成或撤消当前运行,然后再开始新的导入。 project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -381,9 +381,9 @@ zh-CN: notification_text_default: "您好!
已创建一个新项目:projectValue:name
谢谢
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ zh-CN: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ zh-CN: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: 默认转换 @@ -1517,6 +1521,9 @@ zh-CN: dependencies: 依赖项 activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: 项目 import/jira: @@ -1525,7 +1532,7 @@ zh-CN: personal_access_token: 个人访问令牌 import/jira_open_project_reference: jira: Jira - jira_import: Jira 导入 + jira_import: Jira Migrator announcements: show_until: 显示截止日期 attachment: @@ -1603,7 +1610,7 @@ zh-CN: page: 页 row_count: 行数 column_count: 列数 - widgets: 微件 + widgets: 小部件 journal: notes: 备注 cause_type: Cause 类型 @@ -3331,6 +3338,11 @@ zh-CN: quick_add: label: 添加… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: 提供商令牌由 OpenProject 签发,允许其他应用程序访问。客户端令牌由其他应用程序签发,允许 OpenProject 对其进行访问。 no_results: @@ -3393,6 +3405,72 @@ zh-CN: disabled_text: 管理员未启用 RSS 令牌。请联系管理员以使用此功能。 storages: unknown_storage: 未知存储 + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: 指定人 @@ -3424,6 +3502,7 @@ zh-CN: invalid_filter: 无效的通知过滤器 label_accessibility: 辅助功能 label_account: 帐户 + label_actions: 操作 label_active: 激活 label_activate_user: 激活用户 label_active_in_new_projects: 新项目动态 @@ -3464,6 +3543,7 @@ zh-CN: label_ical_access_key_generation_hint: 订阅日历时自动生成的。 label_ical_access_key_latest: 最近 label_ical_access_key_revoke: 撤消 + label_integrations: Integrations label_add_column: 添加列 label_applied_status: 应用的状态 label_archive_project: 归档项目 @@ -3714,7 +3794,7 @@ zh-CN: label_external_links: 外部链接 label_locale: 语言和地区 label_jump_to_a_project: 跳转到一个项目... - label_jira_import: Jira 导入 + label_jira_import: Jira Migrator label_keyword_plural: 关键词 label_language_based: 基于用户的语言 label_last_activity: 最近一次活动 @@ -3954,7 +4034,7 @@ zh-CN: label_revision_id: 修订版本 %{value} label_revision_plural: 修订 label_roadmap: 路线图 - label_roadmap_edit: 编辑路线图%{name} + label_roadmap_edit: 编辑路线图 %{name} label_roadmap_due_in: "%{value} 到期" label_roadmap_no_work_packages: 该版本没有工作包。 label_roadmap_overdue: "%{value} 超时" @@ -4714,7 +4794,7 @@ zh-CN: managed: 在 OpenProject 中创建新的存储库 storage: not_available: 磁盘存储开销不可用于此存储库。 - update_timeout: 在 N 分钟内保留存储库最后所需的磁盘空间信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。 + update_timeout: 在 N 分钟内保留存储库最后所需磁盘空间的信息。由于计算存储库所需的磁盘空间可能增加系统开销,增加该值可以减少性能影响。 oauth_application_details_html: 'The client secret value will not be accessible again after you close this window. Please copy these values into the Nextcloud OpenProject Integration settings:' oauth_application_details_link_text: 转到设置页面 setup_documentation_details: 如果您在配置新文件存储方面需要帮助,请查看文档: @@ -4942,7 +5022,7 @@ zh-CN: setting_session_ttl_hint: 当设置的值低于5时,其作用类似于禁用。 setting_session_ttl_enabled: 会话过期 setting_start_of_week: 一周起始日 - setting_sys_api_enabled: 启用存储库管理网页服务 + setting_sys_api_enabled: 启用版本库管理 web 服务 setting_sys_api_description: 存储库管理网页服务提供了集成的,用户授权的存储库访问。 setting_time_format: 时间 setting_total_percent_complete_mode: 计算 完成% 层次结构总数 @@ -4958,12 +5038,12 @@ zh-CN: setting_welcome_text: 欢迎块文本 setting_welcome_title: 欢迎块标题 setting_welcome_on_homescreen: 在主屏幕上显示欢迎信息 - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: 默认突出显示模式 @@ -5428,7 +5508,7 @@ zh-CN: warning_user_limit_reached_admin_html: 'Adding additional users will exceed the current limit. Please [upgrade your plan](upgrade_url) to be able to ensure external users are able to access this instance. ' - warning_user_limit_reached_instructions: '您已达到用户限制(%{current}/%{max} 活跃用户)。请联系 sales@openproject.com 升级您的企业版计划以添加额外用户。 + warning_user_limit_reached_instructions: '您达到了用户限制(%{current}/%{max}活跃用户)。 请联系sales@openproject.com以升级您的Enterprise edition计划并添加其他用户。 ' warning_protocol_mismatch_html: '' diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index c46fb37257e..18d13308b5f 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -114,7 +114,7 @@ zh-TW: import: title: Import jira: - title: Jira Import + title: Jira Migrator description: Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run. errors: cannot_delete_with_imports: Cannot delete Jira host with existing imports @@ -125,8 +125,8 @@ zh-TW: title: Jira configuration new: New configuration banner: - title: Limited import - description: 'This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' + title: Limited import capabilities + description: 'This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time.' form: fields: name: Name @@ -162,7 +162,7 @@ zh-TW: run: title: Import run history: History - remove_error: A Jira import cannot be removed while it is running + remove_error: A Jira import run cannot be removed while it is running import_blocked_error: Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import. project_identifier_taken: 'You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry.' blank: @@ -381,9 +381,9 @@ zh-TW: notification_text_default: "您好,
已建立新專案: projectValue:name
謝謝
\n" work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: - existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based alphanumerical identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + existing_identifiers_notice: 'Existing identifiers for %{project_count} projects don''t meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. Click on ''Autofix and save'' to update identifiers for all projects in this manner and enable project-based semantic identifiers. ' box_header: @@ -392,10 +392,14 @@ zh-TW: label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: other: "... %{count} more projects" button_autofix: Autofix and save @@ -409,7 +413,7 @@ zh-TW: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: 預設轉換 @@ -1514,6 +1518,9 @@ zh-TW: dependencies: 依賴套件 activerecord: attributes: + work_package_semantic_alias: + identifier: Identifier + work_package: Work package jira_import: projects: Projects import/jira: @@ -1522,7 +1529,7 @@ zh-TW: personal_access_token: Personal access token import/jira_open_project_reference: jira: Jira - jira_import: Jira import + jira_import: Jira Migrator announcements: show_until: 只顯示到 attachment: @@ -3326,6 +3333,11 @@ zh-TW: quick_add: label: 新增… my_account: + notifications_and_email: + title: Notification and email + tabs: + notifications: Notification settings + email_reminders: Email reminders access_tokens: description: 提供者令牌由 OpenProject 發行,允許其他應用程式存取。用戶端識別碼由其他應用程式發行,允許 OpenProject 存取它們。 no_results: @@ -3388,6 +3400,72 @@ zh-TW: disabled_text: RSS 令牌並非由管理員啟用。請聯絡您的管理員以使用此功能。 storages: unknown_storage: 不明的儲存區 + email_reminders: + immediate_reminders: + title: Send me an email reminder + mentioned: Notify me when I am mentioned + personal_reminder: Notify me for personal reminders + daily_reminders: + title: Send me daily email reminders for unread notifications + caption: You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC. + enabled: Enable daily email reminders + add_time: Add time + remove_time: Remove time + time_slot_label: Reminder time (UTC) + workdays: + title: Receive email reminders on these days + submit_button: Update reminder days + pause_reminders: + title: Pause email notifications + enabled: Temporarily pause daily email reminders + date_range: Pause period + email_alerts: + title: Email alerts for other items that are not work packages + news_added: News added + news_commented: Comment on a news item + document_added: Document added + forum_messages: Forum message posted + wiki_page_added: Wiki page added + wiki_page_updated: Wiki page updated + membership_added: Membership added + membership_updated: Membership updated + submit_button: Update alerts + notifications: + participating: + title: Participating + submit_button: Update preferences + mentioned: Mentioned + watched: Watching + assignee: Assignee + responsible: Accountable + shared: Shared with me + date_alerts: + title: Date alerts + submit_button: Update date alerts + start_date: Start date + due_date: Finish date + overdue: Overdue + times: + same_day: On the same day + one_day_before: 1 day before + three_days_before: 3 days before + seven_days_before: 7 days before + one_day_after: 1 day after + three_days_after: 3 days after + seven_days_after: 7 days after + non_participating: + title: Non-participating + submit_button: Update preferences + work_package_created: New work packages + work_package_commented: All new comments + work_package_processed: All status changes + work_package_prioritized: All priority changes + work_package_scheduled: All date changes + project_specific_settings: + title: Project-specific notification settings + add_button: Add project-specific notifications + dialog_title: Add project-specific notifications + list_header: Projects with specific notifications notifications: reasons: assigned: 執行者 @@ -3419,6 +3497,7 @@ zh-TW: invalid_filter: 無效的通知過濾器 label_accessibility: 輔助功能 label_account: 帳號 + label_actions: 操作 label_active: 啟用 label_activate_user: 啟動使用者 label_active_in_new_projects: 在新專案中啟用 @@ -3459,6 +3538,7 @@ zh-TW: label_ical_access_key_generation_hint: 訂閱日曆時自動生成的。 label_ical_access_key_latest: 最新 label_ical_access_key_revoke: 撤銷 + label_integrations: Integrations label_add_column: 新增欄位 label_applied_status: 套用的狀態 label_archive_project: 封存專案 @@ -3644,7 +3724,7 @@ zh-TW: label_filter_add: 新增條件 label_filter_by: 篩選條件: label_filter_any_name_attribute: 名稱屬性 - label_filter_plural: 篩選條件 + label_filter_plural: 篩選器 label_filters_toggle: 顯示/隱藏篩選條件 label_float: 浮點數 label_folder: 資料夾 @@ -3658,8 +3738,8 @@ zh-TW: label_global_modules: 全域模組 label_global_roles: 全域角色 label_git_path: ".git 目錄的路徑" - label_greater_or_equal: 之前 - label_group_by: 分類 + label_greater_or_equal: ">=" + label_group_by: 分組依據 label_group_new: 新增群組 label_group: 群組 label_group_named: 群組名稱 %{name} @@ -3671,7 +3751,7 @@ zh-TW: label_hierarchy: 階層 label_hierarchy_leaf: 頁面結構頁 label_home: Home - label_subject_or_id: 名稱或 id + label_subject_or_id: 主旨或 id label_calendar_subscriptions: 訂閱行事曆 label_identifier: 識別碼 label_project_identifier: Project identifier @@ -3709,7 +3789,7 @@ zh-TW: label_external_links: 外部連結 label_locale: 語言和地區 label_jump_to_a_project: 前往一個專案... - label_jira_import: Jira Import + label_jira_import: Jira Migrator label_keyword_plural: 關鍵字 label_language_based: 根據使用者的語言 label_last_activity: 最後的活動 @@ -3723,7 +3803,7 @@ zh-TW: label_latest_revision_plural: 最新版本 label_ldap_authentication: LDAP 認證 label_learn_more: 了解更多 - label_less_or_equal: 之後 + label_less_or_equal: "<=" label_less_than_ago: 幾天內 label_link_url: 連結(URL) label_list: 清單 @@ -4961,12 +5041,12 @@ zh-TW: setting_welcome_text: 歡迎區塊文字 setting_welcome_title: 歡迎區塊標題 setting_welcome_on_homescreen: 在主頁面上顯示歡迎區塊 - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. ' - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: 'Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. ' setting_work_package_list_default_highlighting_mode: 預設顯示模式 diff --git a/config/locales/en.yml b/config/locales/en.yml index 8987cd93c14..76f886d1b46 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -121,7 +121,7 @@ en: import: title: "Import" jira: - title: "Jira Import" + title: "Jira Migrator" description: "Use this tool to import data from your Jira instance. You can configure multiple Jira hosts and choose what to import in each import run." errors: cannot_delete_with_imports: "Cannot delete Jira host with existing imports" @@ -132,8 +132,8 @@ en: title: "Jira configuration" new: "New configuration" banner: - title: "Limited import" - description: "This import tool is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time." + title: "Limited import capabilities" + description: "This Jira Migrator is currently in beta and can only import basic data: projects, issues (name, title, description, attachments), users (name, email, project membership), statuses, and types. It cannot import workflows, custom fields, issue relations, or permissions. We currently only support Jira Server/Data Center versions 10.x and 11.x. Cloud instances are not supported at this time." form: fields: name: "Name" @@ -169,8 +169,8 @@ en: run: title: "Import run" history: "History" - remove_error: "A Jira import cannot be removed while it is running" - import_blocked_error: "Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import." + remove_error: "A Jira import run cannot be removed while it is running" + import_blocked_error: "Another Jira import run is currently in progress or awaiting review. Please complete or revert it before starting a new import." project_identifier_taken: "You are trying to import a project with an already used identifier: %{taken_identifier}. Please update the project identifier in Jira then click on Retry." blank: title: "No import runs set up yet" @@ -399,22 +399,26 @@ en:Thank you
work_packages_identifier: page_header: - description: Choose between basic numerical work packages IDs or project-specific ones that prepend the project identifier to the work package ID. + description: Choose between classic numerical work package IDs or semantic project-specific ones that prepend the project identifier to the work package ID. banner: existing_identifiers_notice: > - Existing identifiers for %{project_count} projects don't meet requirements for project-based alphanumerical identifiers. + Existing identifiers for %{project_count} projects don't meet requirements for project-based semantic identifiers. OpenProject can automatically update these so that they are valid as in the examples below. - Click on 'Autofix and save' to update identifiers for all projects in this manner and enable project-based alphanumerical identifiers. + Click on 'Autofix and save' to update identifiers for all projects in this manner and enable project-based semantic identifiers. box_header: label_project: Project label_previous_identifier: Previous identifier label_autofixed_suggestion: Future identifier label_example_work_package_id: Example work package ID autofix_preview: - error_too_long: Has to be fewer than 5 characters + error_too_long: Has to be 10 characters or fewer + error_numerical: Cannot be purely numerical + error_starts_with_number: Cannot start with a number error_special_characters: Special characters not allowed + error_not_fully_uppercased: Must be uppercase error_in_use: Already in use as another project's active handle error_reserved: Reserved by another project's handle history + error_unknown: Needs manual review remaining_projects: one: "... 1 more project" other: "... %{count} more projects" @@ -430,7 +434,7 @@ en: checkbox_label: I understand that this will permanently change all work package IDs success_banner: Successfully updated work package identifier format. in_progress: - banner_message: Project identifiers are currently being updated to project-based alphanumerical identifiers. This may take some time. + banner_message: Project identifiers are currently being updated to project-based semantic identifiers. This may take some time. workflows: tabs: default_transitions: "Default transitions" @@ -1619,6 +1623,9 @@ en: activerecord: attributes: + work_package_semantic_alias: + identifier: "Identifier" + work_package: "Work package" jira_import: projects: "Projects" "import/jira": @@ -1627,7 +1634,7 @@ en: personal_access_token: "Personal access token" "import/jira_open_project_reference": jira: "Jira" - jira_import: "Jira import" + jira_import: "Jira Migrator" announcements: show_until: "Display until" attachment: @@ -3526,6 +3533,11 @@ en: label: "Add…" my_account: + notifications_and_email: + title: "Notification and email" + tabs: + notifications: "Notification settings" + email_reminders: "Email reminders" access_tokens: description: "Provider tokens are issued by OpenProject, allowing other applications to access it. Client tokens are issued by other applications, allowing OpenProject to access them." no_results: @@ -3588,6 +3600,72 @@ en: disabled_text: "RSS tokens are not enabled by the administrator. Please contact your administrator to use this feature." storages: unknown_storage: "Unknown storage" + email_reminders: + immediate_reminders: + title: "Send me an email reminder" + mentioned: "Notify me when I am mentioned" + personal_reminder: "Notify me for personal reminders" + daily_reminders: + title: "Send me daily email reminders for unread notifications" + caption: "You will receive these reminders only for unread notifications and only at hours you specify. Until you configure a time zone for your account, the times will be interpreted to be in UTC." + enabled: "Enable daily email reminders" + add_time: "Add time" + remove_time: "Remove time" + time_slot_label: "Reminder time (UTC)" + workdays: + title: "Receive email reminders on these days" + submit_button: "Update reminder days" + pause_reminders: + title: "Pause email notifications" + enabled: "Temporarily pause daily email reminders" + date_range: "Pause period" + email_alerts: + title: "Email alerts for other items that are not work packages" + news_added: "News added" + news_commented: "Comment on a news item" + document_added: "Document added" + forum_messages: "Forum message posted" + wiki_page_added: "Wiki page added" + wiki_page_updated: "Wiki page updated" + membership_added: "Membership added" + membership_updated: "Membership updated" + submit_button: "Update alerts" + notifications: + participating: + title: "Participating" + submit_button: "Update preferences" + mentioned: "Mentioned" + watched: "Watching" + assignee: "Assignee" + responsible: "Accountable" + shared: "Shared with me" + date_alerts: + title: "Date alerts" + submit_button: "Update date alerts" + start_date: "Start date" + due_date: "Finish date" + overdue: "Overdue" + times: + same_day: "On the same day" + one_day_before: "1 day before" + three_days_before: "3 days before" + seven_days_before: "7 days before" + one_day_after: "1 day after" + three_days_after: "3 days after" + seven_days_after: "7 days after" + non_participating: + title: "Non-participating" + submit_button: "Update preferences" + work_package_created: "New work packages" + work_package_commented: "All new comments" + work_package_processed: "All status changes" + work_package_prioritized: "All priority changes" + work_package_scheduled: "All date changes" + project_specific_settings: + title: "Project-specific notification settings" + add_button: "Add project-specific notifications" + dialog_title: "Add project-specific notifications" + list_header: "Projects with specific notifications" notifications: reasons: @@ -3621,6 +3699,7 @@ en: label_accessibility: "Accessibility" label_account: "Account" + label_actions: "Actions" label_active: "Active" label_activate_user: "Activate user" label_active_in_new_projects: "Active in new projects" @@ -3661,6 +3740,7 @@ en: label_ical_access_key_generation_hint: "Automatically generated when subscribing to a calendar." label_ical_access_key_latest: "latest" label_ical_access_key_revoke: "Revoke" + label_integrations: "Integrations" label_add_column: "Add column" label_applied_status: "Applied status" label_archive_project: "Archive project" @@ -3911,7 +3991,7 @@ en: label_external_links: "External links" label_locale: "Language and region" label_jump_to_a_project: "Jump to a project..." - label_jira_import: "Jira Import" + label_jira_import: "Jira Migrator" label_keyword_plural: "Keywords" label_language_based: "Based on user's language" label_last_activity: "Last activity" @@ -5201,11 +5281,11 @@ en: setting_welcome_text: "Welcome block text" setting_welcome_title: "Welcome block title" setting_welcome_on_homescreen: "Display welcome block on homescreen" - setting_work_packages_identifier_numeric: Instance-wide numerical sequence (default) - setting_work_packages_identifier_numeric_caption: > + setting_work_packages_identifier_classic: Instance-wide numerical sequence (default) + setting_work_packages_identifier_classic_caption: > Every work package gets a sequential number starting with 1 and incremented with every new one. The numbers are unique within this instance so they remain the same even if work packages are moved between projects. - setting_work_packages_identifier_alphanumeric: Project-based alphanumerical identifiers - setting_work_packages_identifier_alphanumeric_caption: > + setting_work_packages_identifier_semantic: Project-based semantic identifiers + setting_work_packages_identifier_semantic_caption: > Every project has a unique identifier that is prefixed to the work package ID. If a work package moved to another project, a new identifier is generated but the old one continues to function. setting_work_package_list_default_highlighting_mode: "Default highlighting mode" setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" diff --git a/config/locales/js-en.yml b/config/locales/js-en.yml index 6e8a9765fc0..c32e868091d 100644 --- a/config/locales/js-en.yml +++ b/config/locales/js-en.yml @@ -631,49 +631,6 @@ en: settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" - notify_me: "Notify me" - reminders: - no_notification: No notification - timeframes: - normal: - PT0S: same day - P1D: 1 day before - P3D: 3 days before - P7D: a week before - overdue: - P1D: every day - P3D: every 3 days - P7D: every week - reasons: - mentioned: - title: "Mentioned" - description: "Receive a notification every time someone mentions me anywhere" - assignee: "Assignee" - responsible: "Accountable" - shared: "Shared" - watched: "Watcher" - 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: "Participating" - description: "Notifications for all activities in work packages you are involved in (assignee, accountable or watcher)." - delayed: - title: "Non-participating" - description: "Additional notifications for activities in all projects." - date_alerts: - title: "Date alerts" - description: "Automatic notifications when important dates are approaching for open work packages you are involved in (assignee, accountable or watcher)." - overdue: When overdue - 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" - remove: "Remove project settings" pagination: no_other_page: "You are on the only page." @@ -701,40 +658,6 @@ en: Please choose a project to create the work package in to see all attributes. You can only select projects which have the type above activated. - reminders: - settings: - daily: - add_time: "Add time" - enable: "Enable daily email reminders" - explanation: "You will receive these reminders only for unread notifications and only at hours you specify. %{no_time_zone}" - no_time_zone: "Until you configure a time zone for your account, the times will be interpreted to be in UTC." - time_label: "Time %{counter}:" - title: "Send me daily email reminders for unread notifications" - workdays: - title: "Receive email reminders on these days" - immediate: - title: "Send me an email reminder" - mentioned: "Immediately when someone @mentions me" - personal_reminder: "Immediately when I receive a personal reminder" - alerts: - title: "Email alerts for other items (that are not work packages)" - explanation: > - Notifications today are limited to work packages. - You can choose to continue receiving email alerts for these events until they are included in notifications: - news_added: "News added" - news_commented: "Comment on a news item" - document_added: "Documents added" - forum_messages: "New forum messages" - wiki_page_added: "Wiki page added" - wiki_page_updated: "Wiki page updated" - membership_added: "Membership added" - membership_updated: "Membership updated" - title: "Email reminders" - pause: - label: "Temporarily pause daily email reminders" - first_day: "First day" - last_day: "Last day" - text_are_you_sure: "Are you sure?" text_are_you_sure_to_cancel: "You have unsaved changes on this page. Are you sure you want to discard them?" breadcrumb: "Breadcrumb" diff --git a/config/routes.rb b/config/routes.rb index ad657256f9a..889ba506625 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -950,6 +950,17 @@ Rails.application.routes.draw do get "/change_status/:change_action" => "users#change_status_info", as: "change_status_info" post :change_status post :resend_invitation + patch :update_reminders + patch :update_workdays + patch :update_email_alerts + patch :update_participating + patch :update_non_participating + patch :update_date_alerts + get "project_notifications/new" => "users#new_project_settings", as: "new_project_settings" + post "project_notifications" => "users#create_project_settings", as: "project_notifications" + get "project_notifications/:project_id/edit" => "users#edit_project_settings", as: "edit_project_settings" + patch "project_notifications/:project_id" => "users#update_project_settings", as: "project_setting" + delete "project_notifications/:project_id" => "users#destroy_project_settings" get :deletion_info end end @@ -1039,13 +1050,23 @@ Rails.application.routes.draw do get "/my/locale", action: "locale" get "/my/interface", action: "interface" get "/my/notifications", action: "notifications" - get "/my/reminders", action: "reminders" get "/my/working_hours", action: "working_hours" get "/my/non_working_times", action: "non_working_times" patch "/my/account", action: "update_account" patch "/my/settings", action: "update_settings" + patch "/my/workdays", action: "update_workdays" + patch "/my/email_alerts", action: "update_email_alerts" + patch "/my/participating", action: "update_participating" + patch "/my/non_participating", action: "update_non_participating" + patch "/my/date_alerts", action: "update_date_alerts" + + get "/my/project_notifications/new", action: "new_project_settings", as: "new_my_project_settings" + post "/my/project_notifications", action: "create_project_settings", as: "my_project_notifications" + get "/my/project_notifications/:project_id/edit", action: "edit_project_settings", as: "edit_my_project_settings" + patch "/my/project_notifications/:project_id", action: "update_project_settings", as: "my_project_setting" + delete "/my/project_notifications/:project_id", action: "destroy_project_settings" end scope controller: "onboarding" do diff --git a/config/static_links.yml b/config/static_links.yml index 03c503d8288..43d936ca817 100644 --- a/config/static_links.yml +++ b/config/static_links.yml @@ -153,6 +153,9 @@ security_badge_documentation: shortcuts: href: https://www.openproject.org/docs/user-guide/keyboard-shortcuts-access-keys/ label: homescreen.links.shortcuts +wiki_docs: + xwiki_setup: + href: https://www.openproject.org/docs/system-admin-guide/integrations/ storage_docs: health_status: href: https://www.openproject.org/docs/system-admin-guide/files/external-file-storages/health-status/ diff --git a/db/migrate/20260319120000_add_case_insensitive_uniqueness_for_project_identifiers.rb b/db/migrate/20260319120000_add_case_insensitive_uniqueness_for_project_identifiers.rb new file mode 100644 index 00000000000..f9a794eabd1 --- /dev/null +++ b/db/migrate/20260319120000_add_case_insensitive_uniqueness_for_project_identifiers.rb @@ -0,0 +1,75 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 AddCaseInsensitiveUniquenessForProjectIdentifiers < ActiveRecord::Migration[8.0] + disable_ddl_transaction! + + def up + deduplicate_case_colliding_identifiers + remove_index :projects, :identifier, unique: true, algorithm: :concurrently, if_exists: true + add_index :projects, "LOWER(identifier)", + unique: true, + name: "index_projects_on_lower_identifier", + algorithm: :concurrently, + if_not_exists: true + end + + # Note: does not undo identifier renames from deduplication. Suffixed identifiers + # (e.g. "FOO_2") remain valid and unique under the restored case-sensitive index. + def down + remove_index :projects, name: "index_projects_on_lower_identifier", algorithm: :concurrently, if_exists: true + add_index :projects, :identifier, unique: true, algorithm: :concurrently + end + + private + + # Resolves any existing case-colliding identifiers (e.g. "Foo" and "foo") so that + # the unique LOWER(identifier) index can be created without violation errors. + # The oldest project (by id) keeps its identifier; duplicates get a "_N" suffix. + # + # The NOT EXISTS guard skips rows where the suffixed identifier would itself collide. + # In practice this is extremely unlikely (requires both case-colliding identifiers + # AND a pre-existing "_N" variant). If it occurs, the subsequent index creation + # will fail, surfacing the issue for manual resolution. + def deduplicate_case_colliding_identifiers + execute <<~SQL.squish + UPDATE projects SET identifier = projects.identifier || '_' || counter.rn + FROM ( + SELECT id, row_number() OVER (PARTITION BY LOWER(identifier) ORDER BY id) AS rn + FROM projects + ) AS counter + WHERE projects.id = counter.id AND counter.rn > 1 + AND NOT EXISTS ( + SELECT 1 FROM projects p2 + WHERE LOWER(p2.identifier) = LOWER(projects.identifier || '_' || counter.rn) + ); + SQL + end +end diff --git a/db/migrate/20260328120000_rename_work_packages_identifier_setting_values.rb b/db/migrate/20260328120000_rename_work_packages_identifier_setting_values.rb new file mode 100644 index 00000000000..907b45b74e6 --- /dev/null +++ b/db/migrate/20260328120000_rename_work_packages_identifier_setting_values.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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. +#++ + +require Rails.root.join("db/migrate/migration_utils/setting_renamer") + +class RenameWorkPackagesIdentifierSettingValues < ActiveRecord::Migration[8.0] + SETTING_NAME = "work_packages_identifier" + + def up + Migration::MigrationUtils::SettingRenamer.rename_value(SETTING_NAME, "numeric", "classic") + Migration::MigrationUtils::SettingRenamer.rename_value(SETTING_NAME, "alphanumeric", "semantic") + end + + def down + Migration::MigrationUtils::SettingRenamer.rename_value(SETTING_NAME, "classic", "numeric") + Migration::MigrationUtils::SettingRenamer.rename_value(SETTING_NAME, "semantic", "alphanumeric") + end +end diff --git a/db/migrate/20260330100000_create_work_package_semantic_ids.rb b/db/migrate/20260330100000_create_work_package_semantic_ids.rb new file mode 100644 index 00000000000..0b9111137cd --- /dev/null +++ b/db/migrate/20260330100000_create_work_package_semantic_ids.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 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 CreateWorkPackageSemanticIds < ActiveRecord::Migration[8.1] + def up + # Atomic counter for per-project WP sequence allocation + add_column :projects, :wp_sequence_counter, :integer, default: 0, null: false, if_not_exists: true + + # Per-project sequence number for semantic identifiers (e.g. PROJ-42) + add_column :work_packages, :sequence_number, :integer, if_not_exists: true + # Current semantic identifier stored directly on the work package (e.g. "PROJ-42") + add_column :work_packages, :identifier, :string, if_not_exists: true + + create_table :work_package_semantic_aliases, if_not_exists: true do |t| + t.string :identifier, null: false + t.references :work_package, null: false, foreign_key: true + t.timestamps + end + + # Unique identifier across all WPs (past and present) + add_index :work_package_semantic_aliases, :identifier, unique: true, if_not_exists: true + + # Fast lookup and uniqueness of the current semantic identifier (partial: excludes pre-backfill NULLs) + add_index :work_packages, :identifier, + unique: true, + where: "identifier IS NOT NULL", + if_not_exists: true + + # Enforce uniqueness of sequence numbers within a project (partial: excludes pre-backfill NULLs) + add_index :work_packages, %i[project_id sequence_number], + unique: true, + where: "sequence_number IS NOT NULL", + if_not_exists: true + end + + def down + drop_table :work_package_semantic_aliases, if_exists: true + remove_index :work_packages, %i[project_id sequence_number], if_exists: true + remove_column :work_packages, :identifier, if_exists: true + remove_column :work_packages, :sequence_number, if_exists: true + remove_column :projects, :wp_sequence_counter, if_exists: true + end +end diff --git a/db/migrate/migration_utils/setting_renamer.rb b/db/migrate/migration_utils/setting_renamer.rb index 5591f5038eb..3a188a444fc 100644 --- a/db/migrate/migration_utils/setting_renamer.rb +++ b/db/migrate/migration_utils/setting_renamer.rb @@ -34,13 +34,21 @@ module Migration # define all the following methods as class methods class << self def rename(source_name, target_name) - ActiveRecord::Base.connection.execute <<-SQL.squish + ActiveRecord::Base.connection.execute <<~SQL.squish UPDATE #{settings_table} SET name = #{quote_value(target_name)} WHERE name = #{quote_value(source_name)} SQL end + def rename_value(setting_name, from, to) + ActiveRecord::Base.connection.execute <<~SQL.squish + UPDATE #{settings_table} + SET value = #{quote_value(to)} + WHERE name = #{quote_value(setting_name)} AND value = #{quote_value(from)} + SQL + end + private def settings_table diff --git a/db/migrate/tables/base.rb b/db/migrate/tables/base.rb index d5622b4663a..afeec9fa31c 100644 --- a/db/migrate/tables/base.rb +++ b/db/migrate/tables/base.rb @@ -56,6 +56,6 @@ class Tables::Base end def self.table(_migration) - raise NotImplementedError + raise SubclassResponsibilityError end end diff --git a/db/migrate/tables/projects.rb b/db/migrate/tables/projects.rb index 2b95ea20d0b..9d7d2d57559 100644 --- a/db/migrate/tables/projects.rb +++ b/db/migrate/tables/projects.rb @@ -49,7 +49,7 @@ class Tables::Projects < Tables::Base t.index :lft, name: "index_projects_on_lft" t.index :rgt, name: "index_projects_on_rgt" - t.index :identifier, unique: true + t.index "LOWER(identifier)", unique: true, name: "index_projects_on_lower_identifier" t.index %i[lft rgt] end end diff --git a/docker/dev/backend/Dockerfile b/docker/dev/backend/Dockerfile index e2a04a60889..8e6a5df6bc6 100644 --- a/docker/dev/backend/Dockerfile +++ b/docker/dev/backend/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:4.0.1-trixie AS develop +FROM ruby:4.0.2-trixie AS develop LABEL org.opencontainers.image.authors="operations@openproject.com" ARG DEV_UID=1000 diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 7a6930e75de..59a4743206a 100755 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -1,4 +1,4 @@ -ARG RUBY_VERSION="4.0.1" +ARG RUBY_VERSION="4.0.2" ARG DEBIAN_BASE="trixie" # Add SBOM scan context for intermediate steps ARG BUILDKIT_SBOM_SCAN_CONTEXT=true diff --git a/docs/development/development-environment/docker/README.md b/docs/development/development-environment/docker/README.md index 5c7ccab5ba8..406091f884b 100644 --- a/docs/development/development-environment/docker/README.md +++ b/docs/development/development-environment/docker/README.md @@ -63,10 +63,10 @@ You can run tests inside the `backend-test` container. You can run specific test ```shell # Run all tests (not recommended) -docker compose run --rm backend-test bundle exec rspec +bin/compose rspec # Run the specified test -docker compose run --rm backend-test bundle exec rspec spec/features/work_package_show_spec.rb +bin/compose rspec spec/features/work_package_show_spec.rb ``` *** diff --git a/docs/development/development-environment/linux/README.md b/docs/development/development-environment/linux/README.md index 223026715eb..8b405235892 100644 --- a/docs/development/development-environment/linux/README.md +++ b/docs/development/development-environment/linux/README.md @@ -40,10 +40,10 @@ sudo apt-get install git curl build-essential zlib1g-dev libyaml-dev libssl-dev Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install Ruby. You can check available ruby versions with `rbenv install --list`. -At the time of this writing, the latest stable version is `4.0.1`, which we also require. +At the time of this writing, the latest stable version is `4.0.2`, which we also require. We suggest you install the version we require in [.ruby-version](https://github.com/opf/openproject/blob/dev/.ruby-version). -Read the first line e.g. `4.0.1` and install that version. +Read the first line e.g. `4.0.2` and install that version. #### Install rbenv and ruby-build @@ -80,18 +80,18 @@ With both installed, we can now install ruby. You can check available ruby versions with `rbenv install --list`. We suggest you install the version we require in [.ruby-version](https://github.com/opf/openproject/blob/dev/.ruby-version). -Read the first line e.g. `4.0.1` and install that version. +Read the first line e.g. `4.0.2` and install that version. ```shell # Install the required version as read from the .ruby-version file -rbenv install 4.0.1 +rbenv install 4.0.2 ``` This might take a while depending on whether ruby is built from source. After it is complete, you need to tell rbenv to globally activate this version ```shell -rbenv global 4.0.1 +rbenv global 4.0.2 rbenv rehash ``` @@ -181,10 +181,10 @@ You should now have an active ruby and node installation. Verify that it works w ```shell ruby --version -ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [arm64-darwin25] +ruby 4.0.2 (2026-03-17 revision d3da9fec82) +PRISM [arm64-darwin25] bundler --version -4.0.3 +4.0.9 node --version v22.21.0 diff --git a/docs/development/development-environment/macos/README.md b/docs/development/development-environment/macos/README.md index ba6694a3e7e..b38a65a01ba 100644 --- a/docs/development/development-environment/macos/README.md +++ b/docs/development/development-environment/macos/README.md @@ -28,7 +28,7 @@ their homepage. Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install Ruby. We always require the latest ruby versions, and you can check which version is required by [checking the Gemfile](https://github.com/opf/openproject/blob/dev/Gemfile#L31) for the `ruby "~> X.Y"` statement. At -the time of writing, this version is "4.0.1" +the time of writing, this version is "4.0.2" #### Install rbenv and ruby-build @@ -48,18 +48,18 @@ With both installed, we can now install the actual ruby version. You can check available ruby versions with `rbenv install --list`. We suggest you install the version we require in [.ruby-version](https://github.com/opf/openproject/blob/dev/.ruby-version). -Read the first line e.g. `4.0.1` and install that version. +Read the first line e.g. `4.0.2` and install that version. ```shell # Install the required version as read from the .ruby-version file -rbenv install 4.0.1 +rbenv install 4.0.2 ``` This might take a while depending on whether ruby is built from source. After it is complete, you need to tell rbenv to globally activate this version ```shell -rbenv global 4.0.1 +rbenv global 4.0.2 ``` You also need to install [bundler](https://github.com/bundler/bundler/), the ruby gem bundler. @@ -134,7 +134,7 @@ You should now have an active ruby and node installation. Verify that it works w ```shell $ ruby --version -ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [arm64-darwin25] +ruby 4.0.2 (2026-03-17 revision d3da9fec82) +PRISM [arm64-darwin25] $ bundler --version 4.0.3 @@ -196,7 +196,7 @@ automatically loaded to the application's environment. > [!TIP] > Instead of using the `gssencmode` flag in `config/database.yml`, you can add `export PGGSSENCMODE="disable"` to your -> Shell profile (`~/.zprofile` by default). This will prevent Ruby crashes for *all* of your projects. +> Shell profile (`~/.zprofile` by default). This will prevent Ruby crashes for _all_ of your projects. Some users report Ruby crashes despite having set this flag to disable. If this is the case for you as well, try adding `export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=yes` to your Shell profile. @@ -328,7 +328,7 @@ sudo ln -sfn $(brew --prefix)/opt/openjdk/libexec/openjdk.jdk /Library/Java/Java #### Subversion To test the integration with Subversion repositories, we rely on the `svnadmin` command to be available. If subversion -is not installed, the tests *will be skipped*. To run the tests, install subversion with +is not installed, the tests _will be skipped_. To run the tests, install subversion with ```shell brew install subversion diff --git a/docs/installation-and-operations/installation/manual/README.md b/docs/installation-and-operations/installation/manual/README.md index 2092086ffbf..ccc9758556d 100644 --- a/docs/installation-and-operations/installation/manual/README.md +++ b/docs/installation-and-operations/installation/manual/README.md @@ -10,16 +10,16 @@ sidebar_navigation: false Please be aware that: -* This guide **requires** that you have a clean **Ubuntu 18.04** **x64** installation -with administrative rights (i.e. you must be able to `sudo`). We have tested -the installation guide on an Ubuntu Server image, but it should work on any -derivative. You may need to alter some of the commands to match your -derivative. +- This guide **requires** that you have a clean **Ubuntu 18.04** **x64** installation + with administrative rights (i.e. you must be able to `sudo`). We have tested + the installation guide on an Ubuntu Server image, but it should work on any + derivative. You may need to alter some of the commands to match your + derivative. -* OpenProject will be installed with a **PostgreSQL** database. +- OpenProject will be installed with a **PostgreSQL** database. -* OpenProject will be served in a production environment with the **Apache** server -(this guide should work similarly with other servers, like nginx and others) +- OpenProject will be served in a production environment with the **Apache** server + (this guide should work similarly with other servers, like nginx and others) > **NOTE:** We have highlighted commands to execute like this @@ -106,19 +106,19 @@ Please be aware that the actual installation of a specific Ruby version takes so ``` We suggest you install the version we require in [.ruby-version](https://github.com/opf/openproject/blob/dev/.ruby-version). -Read the first line e.g. `4.0.1` and install that version. +Read the first line e.g. `4.0.2` and install that version. ```shell -[openproject@host] rbenv install 4.0.1 +[openproject@host] rbenv install 4.0.2 [openproject@host] rbenv rehash -[openproject@host] rbenv global 4.0.1 +[openproject@host] rbenv global 4.0.2 ``` To check our Ruby installation we run `ruby --version`. It should output something very similar to: ```text -ruby 4.0.1 (2026-01-13 revision e04267a14b) +PRISM [arm64-darwin25] +ruby 4.0.2 (2026-03-17 revision d3da9fec82) +PRISM [arm64-darwin25] ``` ## Installation of Node @@ -216,7 +216,6 @@ rails_cache_store: :memcache ``` > **NOTE:** You should validate your `yml` files, for example with [yamlchecker.com](https://yamlchecker.com/). Both, the `database.yml` and `configuration.yml` file are sensitive to whitespace. It is pretty easy to write invalid `yml` files without seeing the error. Validating those files prevents you from such errors. -> To configure the environment variables such as the number of web server threads `OPENPROJECT_WEB_WORKERS`, copy the `.env.example` to `.env` and add the environment variables you want to configure. The variables will be automatically loaded to the application's environment. @@ -428,7 +427,7 @@ If you need to restart the server (for example after a configuration change), do ## Frequently asked questions (FAQ) -* **I followed the installation guide faithfully and OpenProject is running. Now, how do I log in?** +- **I followed the installation guide faithfully and OpenProject is running. Now, how do I log in?** The `db:seed` command listed above creates a default admin-user. The username is `admin` and the default password is `admin`. You are forced to change the admin password on the first login. If you cannot login as the admin user, make sure that you have executed the `db:seed` command. @@ -437,18 +436,18 @@ If you need to restart the server (for example after a configuration change), do [openproject@all] RAILS_ENV="production" ./bin/rake db:seed ``` -* **When accessing OpenProject, I get an error page. How do I find out what went wrong?** +- **When accessing OpenProject, I get an error page. How do I find out what went wrong?** Things can go wrong on different levels. You can find the apache error logs here: `/var/log/apache2/error.log` The OpenProject log can be found here: `/home/openproject/openproject/log/production.log` -* **I cannot solve an error, not even with the log files. How do I get help?** +- **I cannot solve an error, not even with the log files. How do I get help?** You can find help in [the OpenProject forums](https://community.openproject.org/projects/openproject/boards). Please tell us, if possible, what you have done (e.g. which guide you have used to install OpenProject), how to reproduce the error, and provide the appropriate error logs. It often helps to have a look at the already answered questions, or to search the Internet for the error. Most likely someone else has already solved the same problem. -* **I get errors, since I have installed an OpenProject plug-in** +- **I get errors, since I have installed an OpenProject plug-in** With each new OpenProject core version, the plug-ins might need to be updated. Please make sure that the plug-in versions of all you plug-ins works with the OpenProject version you use. Many plug-ins follow the OpenProject version with their version number (So, if you have installed OpenProject version 4.1.0, the plug-in should also have the version 4.1.0). diff --git a/docs/user-guide/keyboard-shortcuts-access-keys/README.md b/docs/user-guide/keyboard-shortcuts-access-keys/README.md index f068312b85a..ce8aa0d63df 100644 --- a/docs/user-guide/keyboard-shortcuts-access-keys/README.md +++ b/docs/user-guide/keyboard-shortcuts-access-keys/README.md @@ -73,7 +73,7 @@ OpenProject (since version 3.0) offers useful keyboard shortcuts to enhance you ------ -### OS X +### macOS - Firefox: Ctrl + Opt + <access key number> - Google Chrome: Ctrl + Opt + <access key number> diff --git a/frontend/.mcp.json b/frontend/.mcp.json new file mode 100644 index 00000000000..d8562ee2149 --- /dev/null +++ b/frontend/.mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "angular-cli": { + "command": "npx", + "args": ["-y", "@angular/cli@21.1.5", "mcp"] + } + } +} diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f011d32b7a0..89247893c59 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -126,8 +126,7 @@ "turbo_power": "^0.7.1", "typedjson": "^1.5.1", "urijs": "^1.19.11", - "uuid": "^13.0.0", - "zone.js": "~0.15.1" + "uuid": "^13.0.0" }, "devDependencies": { "@angular-builders/custom-esbuild": "^21.0.3", @@ -5269,9 +5268,9 @@ } }, "node_modules/@hono/node-server": { - "version": "1.19.10", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.10.tgz", - "integrity": "sha512-hZ7nOssGqRgyV3FVVQdfi+U4q02uB23bpnYpdvNXkYTRRyWx84b7yf1ans+dnJ/7h41sGL3CeQTfO+ZGxuO+Iw==", + "version": "1.19.13", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.13.tgz", + "integrity": "sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==", "engines": { "node": ">=18.14.1" }, @@ -15765,9 +15764,9 @@ } }, "node_modules/hono": { - "version": "4.12.7", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.7.tgz", - "integrity": "sha512-jq9l1DM0zVIvsm3lv9Nw9nlJnMNPOcAtsbsgiUhWcFzPE99Gvo6yRTlszSLLYacMeQ6quHD6hMfId8crVHvexw==", + "version": "4.12.12", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.12.tgz", + "integrity": "sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==", "engines": { "node": ">=16.9.0" } @@ -17967,9 +17966,9 @@ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", @@ -20702,9 +20701,9 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "dev": true }, "node_modules/picocolors": { @@ -22187,9 +22186,9 @@ } }, "node_modules/router/node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.0.tgz", + "integrity": "sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/express" @@ -25956,11 +25955,6 @@ "zod": "^3.25.0 || ^4.0.0" } }, - "node_modules/zone.js": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", - "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==" - }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", @@ -29107,9 +29101,9 @@ } }, "@hono/node-server": { - "version": "1.19.10", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.10.tgz", - "integrity": "sha512-hZ7nOssGqRgyV3FVVQdfi+U4q02uB23bpnYpdvNXkYTRRyWx84b7yf1ans+dnJ/7h41sGL3CeQTfO+ZGxuO+Iw==" + "version": "1.19.13", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.13.tgz", + "integrity": "sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==" }, "@hotwired/stimulus": { "version": "3.2.2", @@ -36029,9 +36023,9 @@ } }, "hono": { - "version": "4.12.7", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.7.tgz", - "integrity": "sha512-jq9l1DM0zVIvsm3lv9Nw9nlJnMNPOcAtsbsgiUhWcFzPE99Gvo6yRTlszSLLYacMeQ6quHD6hMfId8crVHvexw==" + "version": "4.12.12", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.12.tgz", + "integrity": "sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==" }, "hosted-git-info": { "version": "9.0.2", @@ -37560,9 +37554,9 @@ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" }, "lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==" }, "lodash.clonedeep": { "version": "4.5.0", @@ -39390,9 +39384,9 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "dev": true }, "picocolors": { @@ -40390,9 +40384,9 @@ } }, "path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==" + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.0.tgz", + "integrity": "sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==" } } }, @@ -42844,11 +42838,6 @@ "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", "dev": true }, - "zone.js": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", - "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==" - }, "zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/frontend/package.json b/frontend/package.json index 041f430a450..c06f5e829b7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -181,8 +181,7 @@ "turbo_power": "^0.7.1", "typedjson": "^1.5.1", "urijs": "^1.19.11", - "uuid": "^13.0.0", - "zone.js": "~0.15.1" + "uuid": "^13.0.0" }, "optionalDependencies": { "fsevents": "*" diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index d3edb6674eb..a002c9df85e 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -39,6 +39,7 @@ import { OpSharedModule } from 'core-app/shared/shared.module'; import { OpSpotModule } from 'core-app/spot/spot.module'; import { OpDragScrollDirective } from 'core-app/shared/directives/op-drag-scroll/op-drag-scroll.directive'; import { OpenprojectWorkPackagesModule } from 'core-app/features/work-packages/openproject-work-packages.module'; +import { OpenprojectBoardsModule } from 'core-app/features/boards/openproject-boards.module'; import { OpenprojectAttachmentsModule } from 'core-app/shared/components/attachments/openproject-attachments.module'; import { OpenprojectEditorModule } from 'core-app/shared/components/editor/openproject-editor.module'; import { OpenprojectGridsModule } from 'core-app/shared/components/grids/openproject-grids.module'; @@ -135,12 +136,6 @@ import { } from 'core-app/shared/components/autocompleter/draggable-autocomplete/draggable-autocomplete.component'; import { OpExclusionInfoComponent } from 'core-app/shared/components/fields/display/info/op-exclusion-info.component'; import { OpenProjectJobStatusModule } from 'core-app/features/job-status/openproject-job-status.module'; -import { - NotificationsSettingsPageComponent, -} from 'core-app/features/user-preferences/notifications-settings/page/notifications-settings-page.component'; -import { - ReminderSettingsPageComponent, -} from 'core-app/features/user-preferences/reminder-settings/page/reminder-settings-page.component'; import { OpenProjectMyAccountModule } from 'core-app/features/user-preferences/user-preferences.module'; import { OpAttachmentsComponent } from 'core-app/shared/components/attachments/attachments.component'; import { @@ -149,6 +144,9 @@ import { import { WorkPackageSplitViewEntryComponent, } from 'core-app/features/work-packages/routing/wp-split-view/wp-split-view-entry.component'; +import { + BoardEntryComponent, +} from 'core-app/features/boards/board/board-partitioned-page/board-entry.component'; import { StorageLoginButtonComponent, } from 'core-app/shared/components/storages/storage-login-button/storage-login-button.component'; @@ -295,6 +293,9 @@ export function runBootstrap(appRef:ApplicationRef) { OpenprojectWorkPackagesModule, OpenprojectWorkPackageRoutesModule, + // Boards + OpenprojectBoardsModule, + // Work packages in graph representation OpenprojectWorkPackageGraphsModule, // Calendar module @@ -389,11 +390,9 @@ export class OpenProjectModule implements DoBootstrap { registerCustomElement('opce-storage-login-button', StorageLoginButtonComponent, { injector }); registerCustomElement('opce-custom-modal-overlay', OpCustomModalOverlayComponent, { injector }); - // TODO: These elements are now registered custom elements, but are actually single-use components. They should be removed when we move these pages to Rails. - registerCustomElement('opce-notification-settings', NotificationsSettingsPageComponent, { injector }); - registerCustomElement('opce-reminder-settings', ReminderSettingsPageComponent, { injector }); registerCustomElement('opce-notification-center', InAppNotificationCenterComponent, { injector }); registerCustomElement('opce-wp-split-view', WorkPackageSplitViewEntryComponent, { injector }); + registerCustomElement('opce-board-view', BoardEntryComponent, { injector }); registerCustomElement('opce-wp-full-view', WorkPackageFullViewEntryComponent, { injector }); registerCustomElement('opce-wp-full-create', WorkPackageFullCreateEntryComponent, { injector }); registerCustomElement('opce-wp-full-copy', WorkPackageFullCopyEntryComponent, { injector }); diff --git a/frontend/src/app/core/apiv3/api-v3.service.spec.ts b/frontend/src/app/core/apiv3/api-v3.service.spec.ts index a2391ce6cb3..034cfada593 100644 --- a/frontend/src/app/core/apiv3/api-v3.service.spec.ts +++ b/frontend/src/app/core/apiv3/api-v3.service.spec.ts @@ -28,7 +28,6 @@ import { TestBed, - waitForAsync, } from '@angular/core/testing'; import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; @@ -37,19 +36,16 @@ import { States } from 'core-app/core/states/states.service'; describe('APIv3Service', () => { let service:ApiV3Service; - beforeEach(waitForAsync(() => { - void TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ providers: [ States, PathHelperService, ApiV3Service, ], - }) - .compileComponents() - .then(() => { - service = TestBed.inject(ApiV3Service); - }); - })); + }).compileComponents(); + service = TestBed.inject(ApiV3Service); + }); function encodeParams(object:any) { return new URLSearchParams(object).toString(); diff --git a/frontend/src/app/core/config/configuration.service.ts b/frontend/src/app/core/config/configuration.service.ts index 56cc854c60b..ee186227657 100644 --- a/frontend/src/app/core/config/configuration.service.ts +++ b/frontend/src/app/core/config/configuration.service.ts @@ -147,6 +147,10 @@ export class ConfigurationService { return moment.localeData(I18n.locale).firstDayOfWeek(); } + public get wikisAvailable():boolean { + return this.systemPreference('wikisAvailable'); + } + public get hostName():string { return this.systemPreference('hostName'); } diff --git a/frontend/src/app/core/main-menu/submenu.service.ts b/frontend/src/app/core/main-menu/submenu.service.ts index c0374eab1d9..dff74195f52 100644 --- a/frontend/src/app/core/main-menu/submenu.service.ts +++ b/frontend/src/app/core/main-menu/submenu.service.ts @@ -6,9 +6,9 @@ import { StateService } from '@uirouter/core'; export class SubmenuService { constructor(protected $state:StateService) {} - reloadSubmenu(selectedQueryId:string|null):void { + reloadSubmenu(selectedQueryId:string|null, sidemenuId?:string):void { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment - const menuIdentifier:string|undefined = this.$state.current.data.sideMenuOptions?.sidemenuId; + const menuIdentifier:string|undefined = sidemenuId ?? this.$state.current.data?.sideMenuOptions?.sidemenuId; if (menuIdentifier) { const menu = document.getElementById(menuIdentifier) as FrameElement; @@ -18,7 +18,7 @@ export class SubmenuService { if (currentSrc && menu) { const frameUrl = new URL(currentSrc, window.location.origin); - const defaultQuery = sideMenuOptions.defaultQuery; + const defaultQuery = sideMenuOptions?.defaultQuery; if (selectedQueryId) { // If there is a default query passed in the route definition, it means that id passed as argument and not as parameter, diff --git a/frontend/src/app/core/path-helper/path-helper.service.ts b/frontend/src/app/core/path-helper/path-helper.service.ts index 5c30f35a952..dcc9a2a571a 100644 --- a/frontend/src/app/core/path-helper/path-helper.service.ts +++ b/frontend/src/app/core/path-helper/path-helper.service.ts @@ -247,6 +247,10 @@ export class PathHelperService { return `${this.boardsPath(projectIdentifier)}/new`; } + public boardDetailsPath(projectIdentifier:string|null, boardId:string|number, workPackageId:string|number) { + return `${this.boardsPath(projectIdentifier)}/${boardId}/details/${workPackageId}`; + } + public projectDashboardsPath(projectIdentifier:string) { return `${this.projectPath(projectIdentifier)}/dashboards`; } diff --git a/frontend/src/app/core/routing/base/application-base.component.ts b/frontend/src/app/core/routing/base/application-base.component.ts index 97ae414e336..fc4d7879a0a 100644 --- a/frontend/src/app/core/routing/base/application-base.component.ts +++ b/frontend/src/app/core/routing/base/application-base.component.ts @@ -26,7 +26,7 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; export const appBaseSelector = 'openproject-base'; @@ -38,6 +38,10 @@ export const appBaseSelector = 'openproject-base'; `, standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class ApplicationBaseComponent { } diff --git a/frontend/src/app/core/routing/openproject.routes.ts b/frontend/src/app/core/routing/openproject.routes.ts index 25ff234b031..fb01324276b 100644 --- a/frontend/src/app/core/routing/openproject.routes.ts +++ b/frontend/src/app/core/routing/openproject.routes.ts @@ -29,7 +29,7 @@ import { StateDeclaration, StateService, Transition, TransitionService, UIRouter } from '@uirouter/core'; import { IToast, ToastService } from 'core-app/shared/components/toaster/toast.service'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; -import { Injector } from '@angular/core'; +import { ApplicationRef, Injector } from '@angular/core'; import { FirstRouteService } from 'core-app/core/routing/first-route-service'; import { Ng2StateDeclaration, StatesModule } from '@uirouter/angular'; import { appBaseSelector, ApplicationBaseComponent } from 'core-app/core/routing/base/application-base.component'; @@ -68,12 +68,6 @@ export const OPENPROJECT_ROUTES:Ng2StateDeclaration[] = [ '!$default': { component: ApplicationBaseComponent }, }, }, - { - name: 'boards.**', - parent: 'optional_project', - url: '/boards', - loadChildren: () => import('../../features/boards/openproject-boards.module').then((m) => m.OpenprojectBoardsModule), - }, { name: 'bim.**', parent: 'optional_project', @@ -287,4 +281,12 @@ export function initializeUiRouterListeners(injector:Injector) { return true; }); + + // In zoneless mode, UIRouter transitions complete in microtasks but + // Angular's change detection doesn't run automatically afterwards. + // Force a CD cycle after every successful transition so that the new + // view is rendered and Stimulus controllers properly disconnect/connect. + $transitions.onSuccess({}, () => { + injector.get(ApplicationRef).tick(); + }); } diff --git a/frontend/src/app/features/bim/bcf/api/bcf-api.service.spec.ts b/frontend/src/app/features/bim/bcf/api/bcf-api.service.spec.ts index 09f24baa979..2de91e3dff7 100644 --- a/frontend/src/app/features/bim/bcf/api/bcf-api.service.spec.ts +++ b/frontend/src/app/features/bim/bcf/api/bcf-api.service.spec.ts @@ -26,7 +26,7 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { TestBed, waitForAsync } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { BcfApiService } from 'core-app/features/bim/bcf/api/bcf-api.service'; import { BcfResourceCollectionPath, BcfResourcePath } from 'core-app/features/bim/bcf/api/bcf-path-resources'; import { BcfTopicPaths } from 'core-app/features/bim/bcf/api/topics/bcf-topic.paths'; @@ -34,18 +34,14 @@ import { BcfTopicPaths } from 'core-app/features/bim/bcf/api/topics/bcf-topic.pa describe('BcfApiService', () => { let service:BcfApiService; - beforeEach(waitForAsync(() => { - // noinspection JSIgnoredPromiseFromCall - TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ providers: [ BcfApiService, ], - }) - .compileComponents() - .then(() => { - service = TestBed.inject(BcfApiService); - }); - })); + }).compileComponents(); + service = TestBed.inject(BcfApiService); + }); describe('building the path', () => { it('can build projects', () => { diff --git a/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-export-button.component.ts b/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-export-button.component.ts index 4e33473461a..1bbb9f85189 100644 --- a/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-export-button.component.ts +++ b/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-export-button.component.ts @@ -27,7 +27,7 @@ //++ import { - Component, Injector, OnDestroy, OnInit, + ChangeDetectionStrategy, ChangeDetectorRef, Component, Injector, OnDestroy, OnInit, } from '@angular/core'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; @@ -53,6 +53,10 @@ import { JobStatusModalService } from 'core-app/features/job-status/job-status-m `, selector: 'bcf-export-button', standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class BcfExportButtonComponent extends UntilDestroyedMixin implements OnInit, OnDestroy { public text = { @@ -73,7 +77,8 @@ export class BcfExportButtonComponent extends UntilDestroyedMixin implements OnI readonly httpClient:HttpClient, readonly injector:Injector, readonly toastService:ToastService, - readonly state:StateService) { + readonly state:StateService, + readonly cdRef:ChangeDetectorRef) { super(); } @@ -92,6 +97,7 @@ export class BcfExportButtonComponent extends UntilDestroyedMixin implements OnI projectIdentifier!, JSON.stringify(filters), ); + this.cdRef.markForCheck(); }); } diff --git a/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-import-button.component.ts b/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-import-button.component.ts index 9081664edeb..b320357f6ba 100644 --- a/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-import-button.component.ts +++ b/frontend/src/app/features/bim/ifc_models/toolbar/import-export-bcf/bcf-import-button.component.ts @@ -26,7 +26,7 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; import { BcfPathHelperService } from 'core-app/features/bim/bcf/helper/bcf-path-helper.service'; @@ -42,6 +42,10 @@ import { BcfPathHelperService } from 'core-app/features/bim/bcf/helper/bcf-path- `, selector: 'bcf-import-button', standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class BcfImportButtonComponent { public text = { diff --git a/frontend/src/app/features/boards/board/add-list-modal/add-list-modal.component.ts b/frontend/src/app/features/boards/board/add-list-modal/add-list-modal.component.ts index 585510250fc..5c477b04f12 100644 --- a/frontend/src/app/features/boards/board/add-list-modal/add-list-modal.component.ts +++ b/frontend/src/app/features/boards/board/add-list-modal/add-list-modal.component.ts @@ -27,14 +27,13 @@ //++ import { - ChangeDetectorRef, Component, ElementRef, Inject, OnInit, ViewChild, + ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, OnInit, ViewChild, } from '@angular/core'; import { OpModalLocalsMap } from 'core-app/shared/components/modal/modal.types'; import { OpModalComponent } from 'core-app/shared/components/modal/modal.component'; import { OpModalLocalsToken } from 'core-app/shared/components/modal/modal.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { Board } from 'core-app/features/boards/board/board'; -import { StateService } from '@uirouter/core'; import { BoardService } from 'core-app/features/boards/board/board.service'; import { BoardActionsRegistryService } from 'core-app/features/boards/board/board-actions/board-actions-registry.service'; import { BoardActionService } from 'core-app/features/boards/board/board-actions/board-action.service'; @@ -42,6 +41,7 @@ import { HalResourceNotificationService } from 'core-app/features/hal/services/h import { tap } from 'rxjs/operators'; import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; +import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { firstValueFrom, Observable, @@ -52,6 +52,10 @@ import { HalResource } from 'core-app/features/hal/resources/hal-resource'; @Component({ templateUrl: './add-list-modal.html', standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class AddListModalComponent extends OpModalComponent implements OnInit { @ViewChild(OpAutocompleterComponent, { static: true }) public ngSelectComponent:OpAutocompleterComponent; @@ -113,11 +117,11 @@ export class AddListModalComponent extends OpModalComponent implements OnInit { readonly cdRef:ChangeDetectorRef, readonly boardActions:BoardActionsRegistryService, readonly halNotification:HalResourceNotificationService, - readonly state:StateService, readonly boardService:BoardService, readonly I18n:I18nService, readonly apiV3Service:ApiV3Service, - readonly currentProject:CurrentProjectService) { + readonly currentProject:CurrentProjectService, + readonly pathHelper:PathHelperService) { super(locals, cdRef, elementRef); } @@ -141,9 +145,12 @@ export class AddListModalComponent extends OpModalComponent implements OnInit { .then((board) => { this.inFlight = false; this.closeMe(); - void this.state.go('boards.partitioned.show', { board_id: board.id, isNew: true }); + void Turbo.visit(`${this.pathHelper.boardsPath(this.currentProject.identifier)}/${board.id}`); }) - .catch(() => (this.inFlight = false)); + .catch(() => { + this.inFlight = false; + this.cdRef.detectChanges(); + }); } onNewActionCreated() { @@ -190,6 +197,7 @@ export class AddListModalComponent extends OpModalComponent implements OnInit { .warningTextWhenNoOptionsAvailable(hasMember) .then((text) => { this.warningText = text; + this.cdRef.detectChanges(); }) .catch(() => {}); this.showWarning = this.ngSelectComponent.ngSelectInstance.searchTerm !== undefined && (values.length === 0); diff --git a/frontend/src/app/features/boards/board/board-actions/assignee/assignee-board-header.component.ts b/frontend/src/app/features/boards/board/board-actions/assignee/assignee-board-header.component.ts index b68dc2f87d1..7321bcf61b4 100644 --- a/frontend/src/app/features/boards/board/board-actions/assignee/assignee-board-header.component.ts +++ b/frontend/src/app/features/boards/board/board-actions/assignee/assignee-board-header.component.ts @@ -25,7 +25,7 @@ // // See COPYRIGHT and LICENSE files for more details. //++ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { UserResource } from 'core-app/features/hal/resources/user-resource'; @@ -35,6 +35,10 @@ import { UserResource } from 'core-app/features/hal/resources/user-resource'; styleUrls: ['./assignee-board-header.sass'], host: { class: 'title-container -small' }, standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class AssigneeBoardHeaderComponent { @Input('resource') public user:UserResource; diff --git a/frontend/src/app/features/boards/board/board-actions/status/status-board-header.component.ts b/frontend/src/app/features/boards/board/board-actions/status/status-board-header.component.ts index ae559c84d08..cfdab8c28fc 100644 --- a/frontend/src/app/features/boards/board/board-actions/status/status-board-header.component.ts +++ b/frontend/src/app/features/boards/board/board-actions/status/status-board-header.component.ts @@ -25,7 +25,7 @@ // // See COPYRIGHT and LICENSE files for more details. //++ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { StatusResource } from 'core-app/features/hal/resources/status-resource'; @@ -34,6 +34,10 @@ import { StatusResource } from 'core-app/features/hal/resources/status-resource' styleUrls: ['./status-board-header.sass'], host: { class: 'title-container -small' }, standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class StatusBoardHeaderComponent { @Input('resource') public status:StatusResource; diff --git a/frontend/src/app/features/boards/board/board-actions/subproject/subproject-board-header.component.ts b/frontend/src/app/features/boards/board/board-actions/subproject/subproject-board-header.component.ts index 50b87614533..27fe9a979fc 100644 --- a/frontend/src/app/features/boards/board/board-actions/subproject/subproject-board-header.component.ts +++ b/frontend/src/app/features/boards/board/board-actions/subproject/subproject-board-header.component.ts @@ -25,7 +25,7 @@ // // See COPYRIGHT and LICENSE files for more details. //++ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { HalResource } from 'core-app/features/hal/resources/hal-resource'; @@ -36,6 +36,10 @@ import idFromLink from 'core-app/features/hal/helpers/id-from-link'; styleUrls: ['./subproject-board-header.sass'], host: { class: 'title-container -small' }, standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class SubprojectBoardHeaderComponent { @Input() public resource:HalResource; diff --git a/frontend/src/app/features/boards/board/board-actions/subtasks/subtasks-board-header.component.ts b/frontend/src/app/features/boards/board/board-actions/subtasks/subtasks-board-header.component.ts index a1b793bad2c..04040a17623 100644 --- a/frontend/src/app/features/boards/board/board-actions/subtasks/subtasks-board-header.component.ts +++ b/frontend/src/app/features/boards/board/board-actions/subtasks/subtasks-board-header.component.ts @@ -25,7 +25,7 @@ // // See COPYRIGHT and LICENSE files for more details. //++ -import { Component, Input, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; @@ -37,6 +37,10 @@ import idFromLink from 'core-app/features/hal/helpers/id-from-link'; styleUrls: ['./subtasks-board-header.sass'], host: { class: 'title-container -small' }, standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class SubtasksBoardHeaderComponent implements OnInit { @Input() public resource:WorkPackageResource; diff --git a/frontend/src/app/features/boards/board/board-actions/version/version-action.service.ts b/frontend/src/app/features/boards/board/board-actions/version/version-action.service.ts index 90992070755..c090f3bb58d 100644 --- a/frontend/src/app/features/boards/board/board-actions/version/version-action.service.ts +++ b/frontend/src/app/features/boards/board/board-actions/version/version-action.service.ts @@ -4,7 +4,6 @@ import { QueryResource } from 'core-app/features/hal/resources/query-resource'; import { VersionResource } from 'core-app/features/hal/resources/version-resource'; import { OpContextMenuItem } from 'core-app/shared/components/op-context-menu/op-context-menu.types'; import { isClickedWithModifier } from 'core-app/shared/helpers/link-handling/link-handling'; -import { StateService } from '@uirouter/core'; import { HalResourceNotificationService } from 'core-app/features/hal/services/hal-resource-notification.service'; import { VersionBoardHeaderComponent } from 'core-app/features/boards/board/board-actions/version/version-board-header.component'; import { FormResource } from 'core-app/features/hal/resources/form-resource'; @@ -22,8 +21,6 @@ import { map } from 'rxjs/operators'; @Injectable() export class BoardVersionActionService extends CachedBoardActionService { - @InjectField() state:StateService; - @InjectField() halNotification:HalResourceNotificationService; filterName = 'version'; @@ -119,8 +116,8 @@ export class BoardVersionActionService extends CachedBoardActionService { .id(version) .patch({ status: newStatus }) .subscribe( - (version) => { - this.state.go('.', {}, { reload: true }); + () => { + Turbo.visit(window.location.href, { action: 'replace' }); }, (error) => this.halNotification.handleRawError(error), ); diff --git a/frontend/src/app/features/boards/board/board-actions/version/version-board-header.component.ts b/frontend/src/app/features/boards/board/board-actions/version/version-board-header.component.ts index fb29c183ddf..d57d88bc732 100644 --- a/frontend/src/app/features/boards/board/board-actions/version/version-board-header.component.ts +++ b/frontend/src/app/features/boards/board/board-actions/version/version-board-header.component.ts @@ -25,7 +25,7 @@ // // See COPYRIGHT and LICENSE files for more details. //++ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { VersionResource } from 'core-app/features/hal/resources/version-resource'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { PathHelperService } from 'core-app/core/path-helper/path-helper.service'; @@ -35,6 +35,10 @@ import { PathHelperService } from 'core-app/core/path-helper/path-helper.service styleUrls: ['./version-board-header.sass'], host: { class: 'title-container -small' }, standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class VersionBoardHeaderComponent { @Input('resource') public version:VersionResource; diff --git a/frontend/src/app/features/boards/board/board-filter/board-filter.component.ts b/frontend/src/app/features/boards/board/board-filter/board-filter.component.ts index 6c960942039..0a3ec34be8f 100644 --- a/frontend/src/app/features/boards/board/board-filter/board-filter.component.ts +++ b/frontend/src/app/features/boards/board/board-filter/board-filter.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, Input } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { Board } from 'core-app/features/boards/board/board'; import { CurrentProjectService } from 'core-app/core/current-project/current-project.service'; import { WorkPackageStatesInitializationService } from 'core-app/features/work-packages/components/wp-list/wp-states-initialization.service'; @@ -7,7 +7,6 @@ import { HalResourceService } from 'core-app/features/hal/services/hal-resource. import { WorkPackageViewFiltersService } from 'core-app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service'; import { QueryFilterInstanceResource } from 'core-app/features/hal/resources/query-filter-instance-resource'; import { UrlParamsHelperService } from 'core-app/features/work-packages/components/wp-query/url-params-helper'; -import { StateService } from '@uirouter/core'; import { debounceTime, skip, take } from 'rxjs/operators'; import { UntilDestroyedMixin } from 'core-app/shared/helpers/angular/until-destroyed.mixin'; import { Observable } from 'rxjs'; @@ -18,6 +17,10 @@ import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; selector: 'board-filter', templateUrl: './board-filter.component.html', standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class BoardFilterComponent extends UntilDestroyedMixin implements AfterViewInit { /** Current active */ @@ -32,8 +35,7 @@ export class BoardFilterComponent extends UntilDestroyedMixin implements AfterVi private readonly wpStatesInitialization:WorkPackageStatesInitializationService, private readonly wpTableFilters:WorkPackageViewFiltersService, private readonly urlParamsHelper:UrlParamsHelperService, - private readonly boardFilters:BoardFiltersService, - private readonly $state:StateService) { + private readonly boardFilters:BoardFiltersService) { super(); } @@ -71,9 +73,15 @@ export class BoardFilterComponent extends UntilDestroyedMixin implements AfterVi const filterHash = this.urlParamsHelper.buildV3GetFilters(filters); const query_props = JSON.stringify(filterHash); - this.boardFilters.filters.putValue(filterHash); + const url = new URL(window.location.href); + if (query_props) { + url.searchParams.set('query_props', query_props); + } else { + url.searchParams.delete('query_props'); + } + window.history.pushState({}, '', url); - this.$state.go('.', { query_props }, { custom: { notify: false } }); + this.boardFilters.filters.putValue(filterHash); }); } diff --git a/frontend/src/app/features/boards/board/board-list/board-list-menu.component.ts b/frontend/src/app/features/boards/board/board-list/board-list-menu.component.ts index b870e4edf75..6c1ee33907b 100644 --- a/frontend/src/app/features/boards/board/board-list/board-list-menu.component.ts +++ b/frontend/src/app/features/boards/board/board-list/board-list-menu.component.ts @@ -27,7 +27,7 @@ //++ import { - Component, EventEmitter, Input, Output, + ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core'; import { I18nService } from 'core-app/core/i18n/i18n.service'; import { AuthorisationService } from 'core-app/core/model-auth/model-auth.service'; @@ -43,6 +43,10 @@ import { BoardActionService } from 'core-app/features/boards/board/board-actions selector: 'board-list-menu', templateUrl: './board-list-menu.component.html', standalone: false, + // TODO: This component has been partially migrated to be zoneless-compatible. + // After testing, this should be updated to ChangeDetectionStrategy.OnPush. + // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection + changeDetection: ChangeDetectionStrategy.Default, }) export class BoardListMenuComponent { @Input() board:Board; diff --git a/frontend/src/app/features/boards/board/board-list/board-list.component.ts b/frontend/src/app/features/boards/board/board-list/board-list.component.ts index 52406a60191..baa4f648b35 100644 --- a/frontend/src/app/features/boards/board/board-list/board-list.component.ts +++ b/frontend/src/app/features/boards/board/board-list/board-list.component.ts @@ -185,9 +185,9 @@ export class BoardListComponent extends AbstractWidgetComponent implements OnIni this.resource.isNewWidget = false; // Set initial selection if split view open - if (this.state.includes(`${this.state.current.data.baseRoute}.details`)) { - const wpId = this.state.params.workPackageId; - this.wpViewSelectionService.initializeSelection([wpId]); + const detailsMatch = window.location.pathname.match(/\/details\/(\d+)/); + if (detailsMatch) { + this.wpViewSelectionService.initializeSelection([detailsMatch[1]]); } // If this query space changes its focused or selected @@ -495,15 +495,20 @@ export class BoardListComponent extends AbstractWidgetComponent implements OnIni } openStateLink(event:{ workPackageId:string; requestedState:string }) { - const params = { workPackageId: event.workPackageId }; - if (event.requestedState === 'split') { - this.keepTab.goCurrentDetailsState(params); + this.goToSplitView(event.workPackageId); } else { - this.keepTab.goCurrentShowState(params.workPackageId); + this.keepTab.goCurrentShowState(event.workPackageId); } } + private goToSplitView(workPackageId:string):void { + const base = this.pathHelper.boardDetailsPath(this.currentProject.identifier, this.board.id!, workPackageId); + const search = window.location.search; + const link = search ? `${base}${search}` : base; + Turbo.visit(link, { frame: 'content-bodyRight', action: 'advance' }); + } + private schema(workPackage:WorkPackageResource) { return this.schemaCache.of(workPackage); } diff --git a/frontend/src/app/features/boards/boards-root/boards-root.component.ts b/frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts similarity index 51% rename from frontend/src/app/features/boards/boards-root/boards-root.component.ts rename to frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts index 65eb30d4516..0503484d44b 100644 --- a/frontend/src/app/features/boards/boards-root/boards-root.component.ts +++ b/frontend/src/app/features/boards/board/board-partitioned-page/board-entry.component.ts @@ -1,20 +1,50 @@ -import { Component, Injector } from '@angular/core'; +//-- copyright +// OpenProject is an open source project management software. +// Copyright (C) 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. +//++ + +import { ChangeDetectionStrategy, Component, ElementRef, Injector, Input } from '@angular/core'; +import { populateInputsFromDataset } from 'core-app/shared/components/dataset-inputs'; +import { + WorkPackageIsolatedQuerySpaceDirective, +} from 'core-app/features/work-packages/directives/query-space/wp-isolated-query-space.directive'; import { BoardConfigurationService } from 'core-app/features/boards/board/configuration-modal/board-configuration.service'; import { BoardActionsRegistryService } from 'core-app/features/boards/board/board-actions/board-actions-registry.service'; import { BoardStatusActionService } from 'core-app/features/boards/board/board-actions/status/status-action.service'; import { BoardVersionActionService } from 'core-app/features/boards/board/board-actions/version/version-action.service'; -import { QueryUpdatedService } from 'core-app/features/boards/board/query-updated/query-updated.service'; import { BoardAssigneeActionService } from 'core-app/features/boards/board/board-actions/assignee/assignee-action.service'; import { BoardSubprojectActionService } from 'core-app/features/boards/board/board-actions/subproject/subproject-action.service'; import { BoardSubtasksActionService } from 'core-app/features/boards/board/board-actions/subtasks/board-subtasks-action.service'; -import { - WorkPackageIsolatedQuerySpaceDirective, -} from 'core-app/features/work-packages/directives/query-space/wp-isolated-query-space.directive'; +import { QueryUpdatedService } from 'core-app/features/boards/board/query-updated/query-updated.service'; @Component({ - selector: 'boards-entry', + selector: 'board-entry', hostDirectives: [WorkPackageIsolatedQuerySpaceDirective], - template: '| - {{ text.notify_me }} - | - @for (item of settings.controls; track item) { -- {{ item.controls.project.value.title }} - | - } -
|---|---|
- {{ text.notifyImmediately.title }}-{{ text.notifyImmediately.description }} - |
- @for (item of settings.controls; track item) {
- - } - |
| - {{ text.mentioned_header.title }} - | - @for (item of settings.controls; track item) { -- } - |
| {{ text.watched_header }} | - @for (item of settings.controls; track item) { -- } - |
| - {{ text.assignee }} - | - @for (item of settings.controls; track item) { -- - | - } -
| - {{ text.responsible }} - | - @for (item of settings.controls; track item) { -- - | - } -
| - {{ text.shared }} - | - @for (item of settings.controls; track item) { -- - | - } -
- {{ text.dateAlerts.title }}-{{ text.dateAlerts.description }} - |
- @for (item of settings.controls; track item) {
- - } - |
| - {{ text.startDate }} - | - @for (item of settings.controls; track item) { -- - | - } -
| - {{ text.dueDate }} - | - @for (item of settings.controls; track item) { -- - | - } -
| - {{ text.overdue }} - | - @for (item of settings.controls; track item) { -- - | - } -
- {{ text.alsoNotifyFor.title }}-{{ text.alsoNotifyFor.description }} - |
- @for (item of settings.controls; track item) {
- - } - |
| {{ text.work_package_created_header }} | - @for (item of settings.controls; track item) { -- - | - } -
| {{ text.work_package_processed_header }} | - @for (item of settings.controls; track item) { -- - | - } -
| {{ text.work_package_scheduled_header }} | - @for (item of settings.controls; track item) { -- - | - } -
| {{ text.work_package_prioritized_header }} | - @for (item of settings.controls; track item) { -- - | - } -
| {{ text.work_package_commented_header }} | - @for (item of settings.controls; track item) { -- - | - } -
| - @for (item of settings.controls; track item; let index = $index) { - | - - | - } -