mirror of
https://github.com/opf/openproject.git
synced 2026-06-13 19:20:00 +00:00
Merge remote-tracking branch 'origin/dev' into jira-migration
This commit is contained in:
@@ -112,7 +112,7 @@ jobs:
|
||||
|
||||
- name: Generate GHA token
|
||||
id: generate-gha-token
|
||||
uses: actions/create-github-app-token@v1
|
||||
uses: actions/create-github-app-token@v2
|
||||
with:
|
||||
app-id: ${{ vars.DEPLOY_APP_ID }}
|
||||
private-key: ${{ secrets.DEPLOY_APP_PRIVATE_KEY }}
|
||||
@@ -136,7 +136,7 @@ jobs:
|
||||
|
||||
- name: Deploy EDGE
|
||||
if: github.ref == 'refs/heads/dev' && github.repository == 'opf/openproject'
|
||||
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc
|
||||
uses: benc-uk/workflow-dispatch@7a027648b88c2413826b6ddd6c76114894dc5ec4
|
||||
with:
|
||||
workflow: edge-deploy-shards.yml
|
||||
repo: opf/saas-deploy
|
||||
@@ -147,7 +147,7 @@ jobs:
|
||||
- name: Deploy STAGE
|
||||
# make sure to always use the latest release branch here
|
||||
if: github.ref == 'refs/heads/release/17.1' && github.repository == 'opf/openproject'
|
||||
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc
|
||||
uses: benc-uk/workflow-dispatch@7a027648b88c2413826b6ddd6c76114894dc5ec4
|
||||
with:
|
||||
workflow: stage-deploy-shards.yml
|
||||
repo: opf/saas-deploy
|
||||
|
||||
@@ -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.4.0"
|
||||
gem "mcp", "~> 0.7.0"
|
||||
|
||||
gem "meta-tags", "~> 2.22.3"
|
||||
|
||||
@@ -197,7 +197,7 @@ gem "puma", "~> 7.1"
|
||||
gem "puma-plugin-statsd", "~> 2.7"
|
||||
gem "rack-timeout", "~> 0.7.0", require: "rack/timeout/base"
|
||||
|
||||
gem "nokogiri", "~> 1.19.0"
|
||||
gem "nokogiri", "~> 1.19.1"
|
||||
|
||||
gem "carrierwave", "~> 1.3.4"
|
||||
gem "carrierwave_direct", "~> 2.1.0"
|
||||
@@ -207,7 +207,7 @@ gem "aws-sdk-core", "~> 3.241"
|
||||
# File upload via fog + screenshots on travis
|
||||
gem "aws-sdk-s3", "~> 1.213"
|
||||
|
||||
gem "openproject-token", "~> 8.6.0"
|
||||
gem "openproject-token", "~> 8.7.0"
|
||||
|
||||
gem "plaintext", "~> 0.3.7"
|
||||
|
||||
@@ -273,7 +273,7 @@ group :test do
|
||||
gem "rack_session_access"
|
||||
gem "rspec", "~> 3.13.2"
|
||||
# also add to development group, so 'spec' rake task gets loaded
|
||||
gem "rspec-rails", "~> 8.0.0", group: :development
|
||||
gem "rspec-rails", "~> 8.0.3", group: :development
|
||||
|
||||
# Retry failures within the same environment
|
||||
gem "retriable", "~> 3.1.1"
|
||||
|
||||
+38
-40
@@ -540,7 +540,7 @@ GEM
|
||||
activemodel
|
||||
equivalent-xml (0.6.0)
|
||||
nokogiri (>= 1.4.3)
|
||||
erb (6.0.1)
|
||||
erb (6.0.2)
|
||||
erb_lint (0.9.0)
|
||||
activesupport
|
||||
better_html (>= 2.0.1)
|
||||
@@ -743,7 +743,6 @@ GEM
|
||||
faraday-follow_redirects
|
||||
json-schema (4.3.1)
|
||||
addressable (>= 2.8)
|
||||
json_rpc_handler (0.1.1)
|
||||
json_schemer (2.5.0)
|
||||
bigdecimal
|
||||
hana (~> 1.3)
|
||||
@@ -808,9 +807,8 @@ GEM
|
||||
marcel (1.1.0)
|
||||
markly (0.15.2)
|
||||
matrix (0.4.3)
|
||||
mcp (0.4.0)
|
||||
mcp (0.7.1)
|
||||
json-schema (>= 4.1)
|
||||
json_rpc_handler (~> 0.1)
|
||||
messagebird-rest (5.0.0)
|
||||
jwt (< 4)
|
||||
meta-tags (2.22.3)
|
||||
@@ -823,7 +821,8 @@ GEM
|
||||
mini_magick (5.3.1)
|
||||
logger
|
||||
mini_mime (1.1.5)
|
||||
minitest (6.0.1)
|
||||
minitest (6.0.2)
|
||||
drb (~> 2.0)
|
||||
prism (~> 1.5)
|
||||
msgpack (1.8.0)
|
||||
multi_json (1.19.1)
|
||||
@@ -846,21 +845,21 @@ GEM
|
||||
net-smtp (0.5.1)
|
||||
net-protocol
|
||||
nio4r (2.7.5)
|
||||
nokogiri (1.19.0-aarch64-linux-gnu)
|
||||
nokogiri (1.19.1-aarch64-linux-gnu)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-aarch64-linux-musl)
|
||||
nokogiri (1.19.1-aarch64-linux-musl)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-arm-linux-gnu)
|
||||
nokogiri (1.19.1-arm-linux-gnu)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-arm-linux-musl)
|
||||
nokogiri (1.19.1-arm-linux-musl)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-arm64-darwin)
|
||||
nokogiri (1.19.1-arm64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-x86_64-darwin)
|
||||
nokogiri (1.19.1-x86_64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-x86_64-linux-gnu)
|
||||
nokogiri (1.19.1-x86_64-linux-gnu)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.19.0-x86_64-linux-musl)
|
||||
nokogiri (1.19.1-x86_64-linux-musl)
|
||||
racc (~> 1.4)
|
||||
oj (3.16.15)
|
||||
bigdecimal (>= 3.0)
|
||||
@@ -894,7 +893,7 @@ GEM
|
||||
activesupport (>= 7.2.0)
|
||||
openproject-octicons (>= 19.30.1)
|
||||
view_component (>= 3.1, < 5.0)
|
||||
openproject-token (8.6.0)
|
||||
openproject-token (8.7.0)
|
||||
activemodel
|
||||
openssl (4.0.0)
|
||||
openssl-signature_algorithm (1.3.0)
|
||||
@@ -1184,7 +1183,7 @@ GEM
|
||||
puma (>= 5.0, < 8)
|
||||
raabro (1.4.0)
|
||||
racc (1.8.1)
|
||||
rack (2.2.21)
|
||||
rack (2.2.22)
|
||||
rack-attack (6.8.0)
|
||||
rack (>= 1.0, < 4)
|
||||
rack-cors (2.0.2)
|
||||
@@ -1234,8 +1233,8 @@ GEM
|
||||
activesupport (>= 5.0.0)
|
||||
minitest
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.6.2)
|
||||
loofah (~> 2.21)
|
||||
rails-html-sanitizer (1.7.0)
|
||||
loofah (~> 2.25)
|
||||
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
||||
rails-i18n (8.1.0)
|
||||
i18n (>= 0.7, < 2)
|
||||
@@ -1303,7 +1302,7 @@ GEM
|
||||
rspec-mocks (3.13.7)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-rails (8.0.2)
|
||||
rspec-rails (8.0.3)
|
||||
actionpack (>= 7.2)
|
||||
activesupport (>= 7.2)
|
||||
railties (>= 7.2)
|
||||
@@ -1533,7 +1532,7 @@ GEM
|
||||
yabeda (~> 0.8)
|
||||
yaml (0.4.0)
|
||||
yard (0.9.38)
|
||||
zeitwerk (2.7.4)
|
||||
zeitwerk (2.7.5)
|
||||
|
||||
PLATFORMS
|
||||
aarch64-linux
|
||||
@@ -1636,14 +1635,14 @@ DEPENDENCIES
|
||||
mail (= 2.9.0)
|
||||
markly (~> 0.15)
|
||||
matrix (~> 0.4.3)
|
||||
mcp (~> 0.4.0)
|
||||
mcp (~> 0.7.0)
|
||||
md_to_pdf!
|
||||
meta-tags (~> 2.22.3)
|
||||
mini_magick (~> 5.3.0)
|
||||
multi_json (~> 1.19.0)
|
||||
my_page!
|
||||
net-ldap (~> 0.20.0)
|
||||
nokogiri (~> 1.19.0)
|
||||
nokogiri (~> 1.19.1)
|
||||
oj (~> 3.16.12)
|
||||
okcomputer (~> 1.19.1)
|
||||
omniauth!
|
||||
@@ -1672,7 +1671,7 @@ DEPENDENCIES
|
||||
openproject-reporting!
|
||||
openproject-storages!
|
||||
openproject-team_planner!
|
||||
openproject-token (~> 8.6.0)
|
||||
openproject-token (~> 8.7.0)
|
||||
openproject-two_factor_authentication!
|
||||
openproject-webhooks!
|
||||
openproject-xls_export!
|
||||
@@ -1714,7 +1713,7 @@ DEPENDENCIES
|
||||
roar (~> 1.2.0)
|
||||
rouge (~> 4.7.0)
|
||||
rspec (~> 3.13.2)
|
||||
rspec-rails (~> 8.0.0)
|
||||
rspec-rails (~> 8.0.3)
|
||||
rspec-retry (~> 0.6.1)
|
||||
rspec-wait
|
||||
rubocop
|
||||
@@ -1888,7 +1887,7 @@ CHECKSUMS
|
||||
em-synchrony (1.0.6) sha256=6e7470a684d9bbc00d61d552911b65711540bd89e95c157156f5aacdd6f306ca
|
||||
email_validator (2.2.4) sha256=5ab238095bec7aef9389f230e9e0c64c5081cdf91f19d6c5cecee0a93af20604
|
||||
equivalent-xml (0.6.0) sha256=8919761efa848ad0846369ff8be1f646b17e5061698c4867b09829000cc3f487
|
||||
erb (6.0.1) sha256=28ecdd99c5472aebd5674d6061e3c6b0a45c049578b071e5a52c2a7f13c197e5
|
||||
erb (6.0.2) sha256=9fe6264d44f79422c87490a1558479bd0e7dad4dd0e317656e67ea3077b5242b
|
||||
erb_lint (0.9.0) sha256=dfb5e40ad839e8d1f0d56ca85ec9a7ac4c9cd966ec281138282f35b323ca7c31
|
||||
erblint-github (1.0.1) sha256=9f28f7dc381a0dc68a0093ef7af3424ed9d2bb2b3e39bdc8e8cba86a0d31f2d0
|
||||
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
||||
@@ -1970,7 +1969,6 @@ CHECKSUMS
|
||||
json (2.18.1) sha256=fe112755501b8d0466b5ada6cf50c8c3f41e897fa128ac5d263ec09eedc9f986
|
||||
json-jwt (1.17.0) sha256=6ff99026b4c54281a9431179f76ceb81faa14772d710ef6169785199caadc4cc
|
||||
json-schema (4.3.1) sha256=d5e68dc32b94408d0b06ad04f9382ccbb6fe5a44910e066f8547f56c471a7825
|
||||
json_rpc_handler (0.1.1) sha256=ea248c8cb4d5490dde320db316ac5e3caf8137a20b5ff9035a4bfc1d19438d90
|
||||
json_schemer (2.5.0) sha256=2f01fb4cce721a4e08dd068fc2030cffd0702a7f333f1ea2be6e8991f00ae396
|
||||
json_spec (1.1.5) sha256=7a77b97a92c787e2aa3fbc4a1239afc3342c781151dc98cfb81461b3b7cad10f
|
||||
jwt (3.1.2) sha256=af6991f19a6bb4060d618d9add7a66f0eeb005ac0bc017cd01f63b42e122d535
|
||||
@@ -1991,7 +1989,7 @@ CHECKSUMS
|
||||
marcel (1.1.0) sha256=fdcfcfa33cc52e93c4308d40e4090a5d4ea279e160a7f6af988260fa970e0bee
|
||||
markly (0.15.2) sha256=65dae965d4dd4ecd997fba43b93acc0fe7dadfec6f07a748640c7a9299a8551e
|
||||
matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b
|
||||
mcp (0.4.0) sha256=4d1dd2b99fbd81a5fdc808d258c38a4f57dd69751ee1e5f62b3ab40e31625a36
|
||||
mcp (0.7.1) sha256=fa967895d6952bad0d981ea907731d8528d2c246d2079d56a9c8bae83d14f1c7
|
||||
md_to_pdf (0.2.5)
|
||||
messagebird-rest (5.0.0) sha256=da4cc1efba3d5e4aa021fad07426c2cb6b326ce5670da5104bb8f6056a39d59c
|
||||
meta-tags (2.22.3) sha256=41ead5437140869717cbdd659cc6f1caa3e498b3e74b03ed63503b5b38ed504f
|
||||
@@ -2000,7 +1998,7 @@ CHECKSUMS
|
||||
mime-types-data (3.2026.0203) sha256=54353d693af028847391c28361c07d4b8b689cad78c3e1cc272fb1205c6d2a2f
|
||||
mini_magick (5.3.1) sha256=29395dfd76badcabb6403ee5aff6f681e867074f8f28ce08d78661e9e4a351c4
|
||||
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
|
||||
minitest (6.0.1) sha256=7854c74f48e2e975969062833adc4013f249a4b212f5e7b9d5c040bf838d54bb
|
||||
minitest (6.0.2) sha256=db6e57956f6ecc6134683b4c87467d6dd792323c7f0eea7b93f66bd284adbc3d
|
||||
msgpack (1.8.0) sha256=e64ce0212000d016809f5048b48eb3a65ffb169db22238fb4b72472fecb2d732
|
||||
multi_json (1.19.1) sha256=7aefeff8f2c854bf739931a238e4aea64592845e0c0395c8a7d2eea7fdd631b7
|
||||
mustermann (3.0.4) sha256=85fadcb6b3c6493a8b511b42426f904b7f27b282835502233dd154daab13aa22
|
||||
@@ -2013,14 +2011,14 @@ CHECKSUMS
|
||||
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
|
||||
net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
|
||||
nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
|
||||
nokogiri (1.19.0-aarch64-linux-gnu) sha256=11a97ecc3c0e7e5edcf395720b10860ef493b768f6aa80c539573530bc933767
|
||||
nokogiri (1.19.0-aarch64-linux-musl) sha256=eb70507f5e01bc23dad9b8dbec2b36ad0e61d227b42d292835020ff754fb7ba9
|
||||
nokogiri (1.19.0-arm-linux-gnu) sha256=572a259026b2c8b7c161fdb6469fa2d0edd2b61cd599db4bbda93289abefbfe5
|
||||
nokogiri (1.19.0-arm-linux-musl) sha256=23ed90922f1a38aed555d3de4d058e90850c731c5b756d191b3dc8055948e73c
|
||||
nokogiri (1.19.0-arm64-darwin) sha256=0811dfd936d5f6dd3f6d32ef790568bf29b2b7bead9ba68866847b33c9cf5810
|
||||
nokogiri (1.19.0-x86_64-darwin) sha256=1dad56220b603a8edb9750cd95798bffa2b8dd9dd9aa47f664009ee5b43e3067
|
||||
nokogiri (1.19.0-x86_64-linux-gnu) sha256=f482b95c713d60031d48c44ce14562f8d2ce31e3a9e8dd0ccb131e9e5a68b58c
|
||||
nokogiri (1.19.0-x86_64-linux-musl) sha256=1c4ca6b381622420073ce6043443af1d321e8ed93cc18b08e2666e5bd02ffae4
|
||||
nokogiri (1.19.1-aarch64-linux-gnu) sha256=cfdb0eafd9a554a88f12ebcc688d2b9005f9fce42b00b970e3dc199587b27f32
|
||||
nokogiri (1.19.1-aarch64-linux-musl) sha256=1e2150ab43c3b373aba76cd1190af7b9e92103564063e48c474f7600923620b5
|
||||
nokogiri (1.19.1-arm-linux-gnu) sha256=0a39ed59abe3bf279fab9dd4c6db6fe8af01af0608f6e1f08b8ffa4e5d407fa3
|
||||
nokogiri (1.19.1-arm-linux-musl) sha256=3a18e559ee499b064aac6562d98daab3d39ba6cbb4074a1542781b2f556db47d
|
||||
nokogiri (1.19.1-arm64-darwin) sha256=dfe2d337e6700eac47290407c289d56bcf85805d128c1b5a6434ddb79731cb9e
|
||||
nokogiri (1.19.1-x86_64-darwin) sha256=7093896778cc03efb74b85f915a775862730e887f2e58d6921e3fa3d981e68bf
|
||||
nokogiri (1.19.1-x86_64-linux-gnu) sha256=1a4902842a186b4f901078e692d12257678e6133858d0566152fe29cdb98456a
|
||||
nokogiri (1.19.1-x86_64-linux-musl) sha256=4267f38ad4fc7e52a2e7ee28ed494e8f9d8eb4f4b3320901d55981c7b995fc23
|
||||
oj (3.16.15) sha256=4d3324cac3e8fef54c0fa250b2af26a16dadd9f9788a1d6b1b2098b793a1b2cd
|
||||
okcomputer (1.19.1) sha256=7df770e768434816d228407f0786563827cbf34cb379933578829720cb4f1e77
|
||||
omniauth (1.9.2)
|
||||
@@ -2052,7 +2050,7 @@ CHECKSUMS
|
||||
openproject-reporting (1.0.0)
|
||||
openproject-storages (1.0.0)
|
||||
openproject-team_planner (1.0.0)
|
||||
openproject-token (8.6.0) sha256=f5865070bd0586f618f476d22544cfa680916e3ff23aea8199a46e31b8a2970e
|
||||
openproject-token (8.7.0) sha256=780c6fec77c4bc725049d78865cdc116459995c5ed0db08a4572044c2ee620a1
|
||||
openproject-two_factor_authentication (1.0.0)
|
||||
openproject-webhooks (1.0.0)
|
||||
openproject-xls_export (1.0.0)
|
||||
@@ -2157,7 +2155,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.21) sha256=14e2f72f0765455fe424ff601588ac5ce84e95784f59e99251ffe1527152f739
|
||||
rack (2.2.22) sha256=c5cf0b7f872559966d974abe3101a57d51caf12504ee76290b98720004f64542
|
||||
rack-attack (6.8.0) sha256=f2499fdebf85bcc05573a22dff57d24305ac14ec2e4156cd3c28d47cafeeecf2
|
||||
rack-cors (2.0.2) sha256=415d4e1599891760c5dc9ef0349c7fecdf94f7c6a03e75b2e7c2b54b82adda1b
|
||||
rack-mini-profiler (4.0.1) sha256=485810c23211f908196c896ea10cad72ed68780ee2998bec1f1dfd7558263d78
|
||||
@@ -2171,7 +2169,7 @@ CHECKSUMS
|
||||
rails (8.1.2) sha256=5069061b23dfa8706b9f0159ae8b9d35727359103178a26962b868a680ba7d95
|
||||
rails-controller-testing (1.0.5) sha256=741448db59366073e86fc965ba403f881c636b79a2c39a48d0486f2607182e94
|
||||
rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
|
||||
rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
|
||||
rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
|
||||
rails-i18n (8.1.0) sha256=52d5fd6c0abef28d84223cc05647f6ae0fd552637a1ede92deee9545755b6cf3
|
||||
railties (8.1.2) sha256=1289ece76b4f7668fc46d07e55cc992b5b8751f2ad85548b7da351b8c59f8055
|
||||
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
||||
@@ -2202,7 +2200,7 @@ CHECKSUMS
|
||||
rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
|
||||
rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
|
||||
rspec-mocks (3.13.7) sha256=0979034e64b1d7a838aaaddf12bf065ea4dc40ef3d4c39f01f93ae2c66c62b1c
|
||||
rspec-rails (8.0.2) sha256=113139a53f5d068d4f48d1c29ad5f982013ed9b0daa69d7f7b266eda5d433ace
|
||||
rspec-rails (8.0.3) sha256=b0a440e7a10700317d898a014852e26660867298c4076dbc3baa99c768b79dc1
|
||||
rspec-retry (0.6.2) sha256=6101ba23a38809811ae3484acde4ab481c54d846ac66d5037ccb40131a60d858
|
||||
rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
|
||||
rspec-wait (1.0.2) sha256=865f921239325d3d26fc10ded4bdd485d8b58bcaaad1a28dd85ed15266b5a912
|
||||
@@ -2300,7 +2298,7 @@ CHECKSUMS
|
||||
yabeda-rails (0.11.0) sha256=afa2581bd44c8f419cb3f2bbf9f6fb40f817c30476f7caf5d1c55c48d69a5b29
|
||||
yaml (0.4.0) sha256=240e69d1e6ce3584d6085978719a0faa6218ae426e034d8f9b02fb54d3471942
|
||||
yard (0.9.38) sha256=721fb82afb10532aa49860655f6cc2eaa7130889df291b052e1e6b268283010f
|
||||
zeitwerk (2.7.4) sha256=2bef90f356bdafe9a6c2bd32bcd804f83a4f9b8bc27f3600fff051eb3edcec8b
|
||||
zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
|
||||
|
||||
RUBY VERSION
|
||||
ruby 3.4.7p58
|
||||
|
||||
@@ -52,6 +52,12 @@ module Admin
|
||||
path: custom_field_items_path(@custom_field),
|
||||
label: t(:label_item_plural)
|
||||
}
|
||||
elsif @custom_field.list?
|
||||
tabs << {
|
||||
name: "items",
|
||||
path: list_items_custom_field_path(@custom_field),
|
||||
label: t(:label_item_plural)
|
||||
}
|
||||
end
|
||||
|
||||
if @custom_field.is_a?(WorkPackageCustomField) ||
|
||||
|
||||
@@ -41,16 +41,14 @@ module CustomFields
|
||||
"weighted_item_list" => { key: :weighted_item_lists, image: "enterprise/weighted_item_lists.png" }
|
||||
}.freeze
|
||||
|
||||
class << self
|
||||
def supported?(custom_field)
|
||||
custom_field.field_format.in?(%w[bool calculated_value hierarchy weighted_item_list])
|
||||
end
|
||||
end
|
||||
|
||||
alias_method :custom_field, :model
|
||||
|
||||
def form_url
|
||||
model.new_record? ? custom_fields_path : custom_field_path(model)
|
||||
if model.new_record?
|
||||
model.type == "ProjectCustomField" ? admin_settings_project_custom_fields_path : custom_fields_path
|
||||
else
|
||||
model.type == "ProjectCustomField" ? admin_settings_project_custom_field_path(model) : custom_field_path(model)
|
||||
end
|
||||
end
|
||||
|
||||
def form_method
|
||||
@@ -71,7 +69,7 @@ module CustomFields
|
||||
|
||||
def show_top_banner?
|
||||
case custom_field.field_format
|
||||
when "hierarchy", "weighted_item_list"
|
||||
when "hierarchy", "weighted_item_list", "list"
|
||||
persisted_cf_has_no_items_or_projects?
|
||||
else
|
||||
false
|
||||
@@ -80,12 +78,20 @@ module CustomFields
|
||||
|
||||
def top_banner_text
|
||||
case custom_field.field_format
|
||||
when "hierarchy", "weighted_item_list"
|
||||
when "hierarchy", "weighted_item_list", "list"
|
||||
I18n.t("custom_fields.admin.notice.remember_items_and_projects")
|
||||
end
|
||||
end
|
||||
|
||||
def persisted_cf_has_no_items_or_projects?
|
||||
if custom_field.list? && custom_field.custom_options.empty?
|
||||
if custom_field.respond_to?(:projects)
|
||||
custom_field.projects.empty?
|
||||
end
|
||||
|
||||
true
|
||||
end
|
||||
|
||||
custom_field.persisted? &&
|
||||
custom_field.hierarchical_list? &&
|
||||
custom_field.hierarchy_root.children.empty? &&
|
||||
|
||||
@@ -15,36 +15,34 @@
|
||||
end
|
||||
|
||||
section_header_container.with_column(flex_layout: true, justify_content: :flex_end) do |actions_container|
|
||||
if OpenProject::FeatureDecisions.new_project_overview_active?
|
||||
actions_container.with_column do
|
||||
render(Primer::Alpha::ActionMenu.new(select_variant: :single, size: :small, test_selector: "section-position-selector")) do |menu|
|
||||
menu.with_show_button(
|
||||
mr: 2,
|
||||
aria: { label: t("settings.project_attributes.sections.display_representation.overview.label") }
|
||||
) do |button|
|
||||
button.with_trailing_visual_icon(icon: :"triangle-down")
|
||||
button.with_leading_visual_icon(icon: display_representation_icon_for_section(@project_custom_field_section))
|
||||
display_representation_label_for_section(@project_custom_field_section)
|
||||
end
|
||||
actions_container.with_column do
|
||||
render(Primer::Alpha::ActionMenu.new(select_variant: :single, size: :small, test_selector: "section-position-selector")) do |menu|
|
||||
menu.with_show_button(
|
||||
mr: 2,
|
||||
aria: { label: t("settings.project_attributes.sections.display_representation.overview.label") }
|
||||
) do |button|
|
||||
button.with_trailing_visual_icon(icon: :"triangle-down")
|
||||
button.with_leading_visual_icon(icon: display_representation_icon_for_section(@project_custom_field_section))
|
||||
display_representation_label_for_section(@project_custom_field_section)
|
||||
end
|
||||
|
||||
menu.with_item(
|
||||
label: t("settings.project_attributes.sections.display_representation.overview.side_panel.label"),
|
||||
active: @project_custom_field_section.shown_in_overview_sidebar?,
|
||||
test_selector: "section-position-selector--side-panel-option",
|
||||
**menu_item_options_for(@project_custom_field_section, ProjectCustomFieldSection::OVERVIEW__SIDEBAR_KEY)
|
||||
) do |item|
|
||||
item.with_leading_visual_icon(icon: :"op-view-split")
|
||||
item.with_description.with_content(t("settings.project_attributes.sections.display_representation.overview.side_panel.description"))
|
||||
end
|
||||
menu.with_item(
|
||||
label: t("settings.project_attributes.sections.display_representation.overview.main_area.label"),
|
||||
active: @project_custom_field_section.shown_in_overview_main_area?,
|
||||
test_selector: "section-position-selector--main-section-option",
|
||||
**menu_item_options_for(@project_custom_field_section, ProjectCustomFieldSection::OVERVIEW__MAIN_AREA_KEY)
|
||||
) do |item|
|
||||
item.with_leading_visual_icon(icon: :"op-view-cards")
|
||||
item.with_description.with_content(t("settings.project_attributes.sections.display_representation.overview.main_area.description"))
|
||||
end
|
||||
menu.with_item(
|
||||
label: t("settings.project_attributes.sections.display_representation.overview.side_panel.label"),
|
||||
active: @project_custom_field_section.shown_in_overview_sidebar?,
|
||||
test_selector: "section-position-selector--side-panel-option",
|
||||
**menu_item_options_for(@project_custom_field_section, ProjectCustomFieldSection::OVERVIEW__SIDEBAR_KEY)
|
||||
) do |item|
|
||||
item.with_leading_visual_icon(icon: :"op-view-split")
|
||||
item.with_description.with_content(t("settings.project_attributes.sections.display_representation.overview.side_panel.description"))
|
||||
end
|
||||
menu.with_item(
|
||||
label: t("settings.project_attributes.sections.display_representation.overview.main_area.label"),
|
||||
active: @project_custom_field_section.shown_in_overview_main_area?,
|
||||
test_selector: "section-position-selector--main-section-option",
|
||||
**menu_item_options_for(@project_custom_field_section, ProjectCustomFieldSection::OVERVIEW__MAIN_AREA_KEY)
|
||||
) do |item|
|
||||
item.with_leading_visual_icon(icon: :"op-view-cards")
|
||||
item.with_description.with_content(t("settings.project_attributes.sections.display_representation.overview.main_area.description"))
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -96,7 +94,7 @@
|
||||
OpenProject::CustomFieldFormat.available_for_class_name("Project")
|
||||
.sort_by(&:name)
|
||||
.map do |format|
|
||||
action_menu_item_for_custom_field_format(menu, format)
|
||||
action_menu_item_for_custom_field_format(menu, format)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -51,6 +51,12 @@ module Settings
|
||||
path: admin_settings_project_custom_field_items_path(@custom_field),
|
||||
label: t(:label_item_plural)
|
||||
}
|
||||
elsif @custom_field.list?
|
||||
tabs << {
|
||||
name: "items",
|
||||
path: list_items_admin_settings_project_custom_field_path(@custom_field),
|
||||
label: t(:label_item_plural)
|
||||
}
|
||||
end
|
||||
|
||||
if @custom_field.user?
|
||||
|
||||
@@ -29,7 +29,7 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
<div class="generic-table--container <%= container_class %>" data-test-selector="<%= test_selector %>" id="<%= container_id %>">
|
||||
<div class="generic-table--results-container">
|
||||
<table class="generic-table" data-controller="table-highlighting">
|
||||
<%= render(Primer::BaseComponent.new(**@system_arguments)) do %>
|
||||
<colgroup>
|
||||
<% headers.each do |_name, _options| %>
|
||||
<col>
|
||||
@@ -67,7 +67,7 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
<% end %>
|
||||
<%= render_collection rows %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% end %>
|
||||
<% if inline_create_link %>
|
||||
<div class="wp-inline-create-button">
|
||||
<%= inline_create_link %>
|
||||
|
||||
@@ -31,8 +31,22 @@
|
||||
##
|
||||
# Abstract view component. Subclass this for a concrete table.
|
||||
class TableComponent < ApplicationComponent
|
||||
def initialize(rows: [], **)
|
||||
include Primer::AttributesHelper
|
||||
|
||||
def initialize(rows: [], table_arguments: {}, **)
|
||||
super(rows, **)
|
||||
|
||||
@system_arguments = table_arguments
|
||||
@system_arguments[:tag] = :table
|
||||
@system_arguments[:classes] = class_names(
|
||||
@system_arguments[:classes],
|
||||
"generic-table"
|
||||
)
|
||||
@system_arguments[:data] ||= {}
|
||||
@system_arguments[:data] = merge_data(
|
||||
@system_arguments,
|
||||
data: { controller: "table-highlighting" }
|
||||
)
|
||||
end
|
||||
|
||||
class << self
|
||||
|
||||
@@ -43,7 +43,7 @@ module Admin::Settings
|
||||
before_action :find_custom_field,
|
||||
only: %i(show edit project_mappings new_link link unlink update destroy delete_option reorder_alphabetical
|
||||
move drop role_assignment update_role_assignment role_assignment_preview_dialog
|
||||
attribute_help_text update_attribute_help_text)
|
||||
attribute_help_text update_attribute_help_text list_items)
|
||||
before_action :prepare_custom_option_position, only: %i(update create)
|
||||
before_action :find_custom_option, only: :delete_option
|
||||
before_action :project_custom_field_mappings_query, only: %i[project_mappings unlink]
|
||||
@@ -74,6 +74,8 @@ module Admin::Settings
|
||||
|
||||
def edit; end
|
||||
|
||||
def list_items; end
|
||||
|
||||
def project_mappings; end
|
||||
|
||||
def role_assignment; end
|
||||
|
||||
@@ -49,6 +49,14 @@ module CustomFields
|
||||
end
|
||||
end
|
||||
|
||||
def list_item_path(custom_field, params = {})
|
||||
if custom_field.type == "ProjectCustomField"
|
||||
list_items_admin_settings_project_custom_field_path(**params)
|
||||
else
|
||||
list_items_custom_field_path(**params)
|
||||
end
|
||||
end
|
||||
|
||||
def create # rubocop:disable Metrics/AbcSize
|
||||
call = ::CustomFields::CreateService
|
||||
.new(user: current_user)
|
||||
@@ -66,10 +74,14 @@ module CustomFields
|
||||
end
|
||||
|
||||
def update
|
||||
perform_update(get_custom_field_params)
|
||||
if custom_options_attributes
|
||||
perform_update(get_custom_field_params, tab: :list_items)
|
||||
else
|
||||
perform_update(get_custom_field_params)
|
||||
end
|
||||
end
|
||||
|
||||
def perform_update(custom_field_params)
|
||||
def perform_update(custom_field_params, tab: :edit)
|
||||
call = ::CustomFields::UpdateService
|
||||
.new(user: current_user, model: @custom_field)
|
||||
.call(custom_field_params)
|
||||
@@ -77,7 +89,13 @@ module CustomFields
|
||||
if call.success?
|
||||
flash[:notice] = t(:notice_successful_update)
|
||||
call_hook(:controller_custom_fields_edit_after_save, custom_field: @custom_field)
|
||||
redirect_back_or_default(edit_path(@custom_field, id: @custom_field.id))
|
||||
path = if tab == :list_items
|
||||
list_item_path(@custom_field,
|
||||
id: @custom_field.id)
|
||||
else
|
||||
edit_path(@custom_field, id: @custom_field.id)
|
||||
end
|
||||
redirect_to(path)
|
||||
else
|
||||
render action: :edit, status: :unprocessable_entity
|
||||
end
|
||||
@@ -89,10 +107,10 @@ module CustomFields
|
||||
.sort_by(&:value)
|
||||
.each_with_index
|
||||
.map do |custom_option, index|
|
||||
{ id: custom_option.id, position: index + 1 }
|
||||
{ id: custom_option.id, position: index + 1 }
|
||||
end
|
||||
|
||||
perform_update(custom_options_attributes: reordered_options)
|
||||
perform_update({ custom_options_attributes: reordered_options }, tab: :list_items)
|
||||
end
|
||||
|
||||
def destroy
|
||||
@@ -115,7 +133,7 @@ module CustomFields
|
||||
flash[:error] = @custom_option.errors.full_messages
|
||||
end
|
||||
|
||||
redirect_to edit_path(@custom_field, id: @custom_field.id), status: :see_other
|
||||
redirect_to list_item_path(@custom_field, id: @custom_field.id), status: :see_other
|
||||
end
|
||||
|
||||
def new_custom_field
|
||||
@@ -139,14 +157,20 @@ module CustomFields
|
||||
end
|
||||
|
||||
def prepare_custom_option_position
|
||||
return unless params[:custom_field][:custom_options_attributes]
|
||||
return unless custom_options_attributes
|
||||
|
||||
index = 0
|
||||
|
||||
params[:custom_field][:custom_options_attributes].each_value do |attributes|
|
||||
custom_options_attributes.each_value do |attributes|
|
||||
attributes[:position] = (index = index + 1)
|
||||
end
|
||||
end
|
||||
|
||||
def custom_options_attributes
|
||||
return unless params[:custom_field]
|
||||
|
||||
params[:custom_field][:custom_options_attributes]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -31,11 +31,14 @@
|
||||
class CustomFieldsController < ApplicationController
|
||||
include CustomFields::SharedActions # share logic with ProjectCustomFieldsControlller
|
||||
include CustomFields::AttributeHelpTextActions
|
||||
|
||||
layout "admin"
|
||||
|
||||
# rubocop:disable Rails/LexicallyScopedActionFilter
|
||||
before_action :require_admin
|
||||
before_action :find_custom_field, only: %i(edit update destroy delete_option reorder_alphabetical attribute_help_text update_attribute_help_text)
|
||||
before_action :find_custom_field,
|
||||
only: %i(edit update destroy delete_option reorder_alphabetical attribute_help_text update_attribute_help_text
|
||||
list_items)
|
||||
before_action :prepare_custom_option_position, only: %i(update create)
|
||||
before_action :find_custom_option, only: :delete_option
|
||||
before_action :validate_enterprise_token, only: %i(create)
|
||||
@@ -67,6 +70,8 @@ class CustomFieldsController < ApplicationController
|
||||
render_attribute_help_text_form
|
||||
end
|
||||
|
||||
def list_items; end
|
||||
|
||||
def update_attribute_help_text
|
||||
update_help_text
|
||||
end
|
||||
|
||||
@@ -224,11 +224,19 @@ class WorkPackages::ActivitiesTabController < ApplicationController
|
||||
status: :not_found
|
||||
)
|
||||
end
|
||||
# turbo_stream requests (tab is already rendered and an error occured in subsequent requests) are handled below
|
||||
format.turbo_stream do
|
||||
@turbo_status = :not_found
|
||||
render_error_flash_message_via_turbo_stream(message: error_message)
|
||||
render turbo_stream: turbo_streams, status: :not_found
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def find_journal
|
||||
@journal = Journal
|
||||
@journal = @work_package
|
||||
.journals
|
||||
.internal_visible
|
||||
.with_sequence_version
|
||||
.find(params[:id])
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
||||
@@ -60,11 +60,30 @@ module CustomFields
|
||||
end
|
||||
end
|
||||
|
||||
if show_multi_value_field?
|
||||
details_form.check_box(
|
||||
name: :multi_value,
|
||||
label: label(:multi_value),
|
||||
caption: instructions(:multi_select)
|
||||
if show_min_max_field?
|
||||
details_form.text_field(
|
||||
name: :min_length,
|
||||
type: :number,
|
||||
label: label(:min_length),
|
||||
caption: instructions(:min_max),
|
||||
input_width: :small
|
||||
)
|
||||
|
||||
details_form.text_field(
|
||||
name: :max_length,
|
||||
type: :number,
|
||||
label: label(:max_length),
|
||||
caption: instructions(:min_max),
|
||||
input_width: :small
|
||||
)
|
||||
end
|
||||
|
||||
if show_regex_field?
|
||||
details_form.text_field(
|
||||
name: :regexp,
|
||||
label: label(:regexp),
|
||||
caption: instructions(:regexp),
|
||||
input_width: :medium
|
||||
)
|
||||
end
|
||||
|
||||
@@ -86,6 +105,37 @@ module CustomFields
|
||||
)
|
||||
end
|
||||
|
||||
if show_default_text_field?
|
||||
details_form.text_field(
|
||||
name: :default_value,
|
||||
label: label(:default_value),
|
||||
input_width: :medium
|
||||
)
|
||||
end
|
||||
|
||||
if show_default_rich_text_field?
|
||||
details_form.rich_text_area(
|
||||
name: :default_value,
|
||||
label: label(:default_value),
|
||||
rich_text_options: { resource: nil, macros: :none }
|
||||
)
|
||||
end
|
||||
|
||||
if show_multi_value_field?
|
||||
details_form.check_box(
|
||||
name: :multi_value,
|
||||
label: label(:multi_value),
|
||||
caption: instructions(:multi_select)
|
||||
)
|
||||
end
|
||||
|
||||
if show_non_open_versions_field?
|
||||
details_form.check_box(
|
||||
name: :allow_non_open_versions,
|
||||
label: label(:allow_non_open_versions)
|
||||
)
|
||||
end
|
||||
|
||||
if show_is_required_field?
|
||||
details_form.check_box(
|
||||
name: :is_required,
|
||||
@@ -110,6 +160,21 @@ module CustomFields
|
||||
)
|
||||
end
|
||||
|
||||
if show_is_searchable_field?
|
||||
details_form.check_box(
|
||||
name: :searchable,
|
||||
label: label(:searchable),
|
||||
caption: instructions(:searchable)
|
||||
)
|
||||
end
|
||||
|
||||
if show_right_to_left_field?
|
||||
details_form.check_box(
|
||||
name: :content_right_to_left,
|
||||
label: label(:content_right_to_left)
|
||||
)
|
||||
end
|
||||
|
||||
if show_admin_only_field?
|
||||
details_form.check_box(
|
||||
name: :admin_only,
|
||||
@@ -151,10 +216,30 @@ module CustomFields
|
||||
%w[bool].include?(model.field_format)
|
||||
end
|
||||
|
||||
def show_default_text_field?
|
||||
%w[list bool date text user version hierarchy weighted_item_list calculated_value].exclude?(model.field_format)
|
||||
end
|
||||
|
||||
def show_default_rich_text_field?
|
||||
%w[text].include?(model.field_format)
|
||||
end
|
||||
|
||||
def show_is_required_field?
|
||||
%w[calculated_value bool].exclude?(model.field_format)
|
||||
end
|
||||
|
||||
def show_min_max_field?
|
||||
%w[list bool date user version link hierarchy weighted_item_list calculated_value].exclude?(model.field_format)
|
||||
end
|
||||
|
||||
def show_regex_field?
|
||||
%w[list bool date user version hierarchy weighted_item_list calculated_value].exclude?(model.field_format)
|
||||
end
|
||||
|
||||
def show_right_to_left_field?
|
||||
model.is_a?(WorkPackageCustomField) && %w[text].include?(model.field_format)
|
||||
end
|
||||
|
||||
def show_multi_value_field?
|
||||
model.multi_value_possible?
|
||||
end
|
||||
@@ -171,6 +256,15 @@ module CustomFields
|
||||
model.is_a?(WorkPackageCustomField)
|
||||
end
|
||||
|
||||
def show_is_searchable_field?
|
||||
(model.is_a?(WorkPackageCustomField) || model.is_a?(ProjectCustomField)) &&
|
||||
%w[bool date float int user version hierarchy weighted_item_list calculated_value].exclude?(model.field_format)
|
||||
end
|
||||
|
||||
def show_non_open_versions_field?
|
||||
%w[version].include?(model.field_format) && model.allow_non_open_versions_possible?
|
||||
end
|
||||
|
||||
def show_admin_only_field?
|
||||
model.is_a?(ProjectCustomField) || model.is_a?(UserCustomField)
|
||||
end
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
# 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 Groups
|
||||
class Form < ApplicationForm
|
||||
include CustomFields::CustomFieldRendering
|
||||
|
||||
form do |f|
|
||||
f.text_field(
|
||||
name: :lastname,
|
||||
label: Group.human_attribute_name(:name),
|
||||
required: true,
|
||||
input_width: :medium,
|
||||
autocomplete: "off"
|
||||
)
|
||||
|
||||
render_custom_fields(form: f)
|
||||
|
||||
f.submit(
|
||||
name: :submit,
|
||||
label: submit_label,
|
||||
scheme: :primary
|
||||
)
|
||||
end
|
||||
|
||||
def initialize(submit_label: I18n.t(:button_save))
|
||||
super()
|
||||
@submit_label = submit_label
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
attr_reader :submit_label
|
||||
|
||||
def custom_fields
|
||||
model.available_custom_fields
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,205 @@
|
||||
# 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 Versions
|
||||
class Form < ApplicationForm
|
||||
include CustomFields::CustomFieldRendering
|
||||
include VersionsHelper
|
||||
include WikiHelper
|
||||
|
||||
form do |f|
|
||||
f.text_field(
|
||||
name: :name,
|
||||
label: attribute_name(:name),
|
||||
required: true,
|
||||
input_width: :large,
|
||||
autocomplete: :off
|
||||
)
|
||||
|
||||
f.text_field(
|
||||
name: :description,
|
||||
label: attribute_name(:description),
|
||||
input_width: :large
|
||||
)
|
||||
|
||||
f.select_list(
|
||||
name: :status,
|
||||
label: attribute_name(:status),
|
||||
input_width: :xsmall
|
||||
) do |list|
|
||||
contract.assignable_statuses.each do |s|
|
||||
list.option(
|
||||
label: I18n.t("version_status_#{s}"),
|
||||
value: s,
|
||||
selected: version.status == s
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
f.select_list(
|
||||
name: :wiki_page_title,
|
||||
label: I18n.t(:label_wiki_page),
|
||||
include_blank: true,
|
||||
disabled: wiki_pages_disabled?,
|
||||
input_width: :large
|
||||
) do |list|
|
||||
wiki_page_options_for_select(
|
||||
contract.assignable_wiki_pages.includes(:parent),
|
||||
placeholder: false,
|
||||
ids: false
|
||||
).each do |label, value|
|
||||
list.option(
|
||||
label:,
|
||||
value:,
|
||||
selected: version.wiki_page_title == value
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
f.single_date_picker(
|
||||
name: :start_date,
|
||||
label: attribute_name(:start_date),
|
||||
input_width: :xsmall,
|
||||
leading_visual: { icon: :calendar }
|
||||
)
|
||||
|
||||
f.single_date_picker(
|
||||
name: :effective_date,
|
||||
label: attribute_name(:effective_date),
|
||||
input_width: :xsmall,
|
||||
leading_visual: { icon: :calendar }
|
||||
)
|
||||
|
||||
f.select_list(
|
||||
name: :sharing,
|
||||
label: attribute_name(:sharing),
|
||||
input_width: :small
|
||||
) do |list|
|
||||
contract.assignable_sharings.each do |v|
|
||||
list.option(
|
||||
label: format_version_sharing(v),
|
||||
value: v,
|
||||
selected: version.sharing == v
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
if backlogs_enabled?
|
||||
setting = version_setting_for_project
|
||||
|
||||
f.select_list(
|
||||
name: "version[version_settings_attributes][][display]",
|
||||
scope_name_to_model: false,
|
||||
label: I18n.t(:label_column_in_backlog),
|
||||
input_width: :small
|
||||
) do |list|
|
||||
position_display_options.each do |label, value|
|
||||
list.option(label:, value:, selected: setting.display == value)
|
||||
end
|
||||
end
|
||||
|
||||
if setting.persisted?
|
||||
f.hidden(
|
||||
name: "version[version_settings_attributes][][id]",
|
||||
value: setting.id,
|
||||
scope_name_to_model: false
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
render_custom_fields(form: f)
|
||||
|
||||
f.submit(
|
||||
name: :submit,
|
||||
label: submit_label,
|
||||
scheme: :primary
|
||||
)
|
||||
end
|
||||
|
||||
def initialize(project: nil, submit_label: I18n.t(:button_save))
|
||||
super()
|
||||
@project = project
|
||||
@submit_label = submit_label
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
attr_reader :submit_label, :project
|
||||
|
||||
def version
|
||||
model
|
||||
end
|
||||
|
||||
def contract
|
||||
@contract ||= if version.new_record?
|
||||
Versions::CreateContract.new(version, User.current)
|
||||
else
|
||||
Versions::UpdateContract.new(version, User.current)
|
||||
end
|
||||
end
|
||||
|
||||
def custom_fields
|
||||
version.available_custom_fields
|
||||
end
|
||||
|
||||
def wiki_pages_disabled?
|
||||
contract.assignable_wiki_pages.none?
|
||||
end
|
||||
|
||||
def backlogs_enabled?
|
||||
resolved_project.backlogs_enabled?
|
||||
end
|
||||
|
||||
def resolved_project
|
||||
@project || version.project
|
||||
end
|
||||
|
||||
def version_setting_for_project
|
||||
setting = version.version_settings.detect { |vs| vs.project_id == resolved_project.id || vs.project_id.nil? }
|
||||
setting || version.version_settings.new(display: VersionSetting::DISPLAY_LEFT, project: resolved_project)
|
||||
end
|
||||
|
||||
def position_display_options
|
||||
[VersionSetting::DISPLAY_NONE,
|
||||
VersionSetting::DISPLAY_LEFT,
|
||||
VersionSetting::DISPLAY_RIGHT].map { |s| [humanize_display_option(s), s] }
|
||||
end
|
||||
|
||||
def humanize_display_option(option)
|
||||
case option
|
||||
when VersionSetting::DISPLAY_NONE
|
||||
I18n.t("version_settings_display_option_none")
|
||||
when VersionSetting::DISPLAY_LEFT
|
||||
I18n.t("version_settings_display_option_left")
|
||||
when VersionSetting::DISPLAY_RIGHT
|
||||
I18n.t("version_settings_display_option_right")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -293,6 +293,7 @@ module ApplicationHelper
|
||||
controller: "application auto-theme-switcher hover-card-trigger beforeunload external-links highlight-target-element",
|
||||
relative_url_root: root_path,
|
||||
overflowing_identifier: ".__overflowing_body",
|
||||
external_links_enabled_value: Setting.capture_external_links?,
|
||||
rendered_at: Time.zone.now.iso8601,
|
||||
turbo: local_assigns[:turbo_opt_out] ? "false" : nil
|
||||
}.merge(user_theme_data_attributes)
|
||||
|
||||
@@ -36,7 +36,7 @@ module VersionsHelper
|
||||
if grouped.size > 1
|
||||
grouped_options_for_select(grouped, selected&.id)
|
||||
else
|
||||
options_for_select((grouped.values.first || []), selected&.id)
|
||||
options_for_select(grouped.values.first || [], selected&.id)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -68,17 +68,9 @@ module VersionsHelper
|
||||
h(version.to_s_for_project(project))
|
||||
end
|
||||
|
||||
def version_contract(version)
|
||||
if version.new_record?
|
||||
Versions::CreateContract.new(version, User.current)
|
||||
else
|
||||
Versions::UpdateContract.new(version, User.current)
|
||||
end
|
||||
end
|
||||
|
||||
def format_version_sharing(sharing)
|
||||
sharing = "none" unless Version::VERSION_SHARINGS.include?(sharing)
|
||||
t("label_version_sharing_#{sharing}")
|
||||
I18n.t("label_version_sharing_#{sharing}")
|
||||
end
|
||||
|
||||
def versions_by_project(versions)
|
||||
|
||||
@@ -100,6 +100,6 @@ module WikiHelper
|
||||
def wiki_page_option(page, level, ids)
|
||||
indent = level.positive? ? "#{"\u00A0" * level * 2}» " : ""
|
||||
id = ids ? page.id : page.title
|
||||
[indent + h(page.title), id]
|
||||
[indent + page.title, id]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -61,9 +61,6 @@ class CustomField < ApplicationRecord
|
||||
acts_as_list scope: [:type]
|
||||
|
||||
validates :field_format, presence: true
|
||||
validates :custom_options,
|
||||
presence: { message: ->(*) { I18n.t(:"activerecord.errors.models.custom_field.at_least_one_custom_option") } },
|
||||
if: ->(*) { field_format == "list" }
|
||||
validates :name,
|
||||
presence: true,
|
||||
length: { maximum: 256 },
|
||||
|
||||
@@ -38,22 +38,4 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
)
|
||||
%>
|
||||
|
||||
<% if CustomFields::DetailsComponent.supported?(@custom_field) %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
<% else %>
|
||||
<%= error_messages_for "custom_field" %>
|
||||
|
||||
<% content_controller "admin--custom-fields",
|
||||
"admin--custom-fields-format-value": @custom_field.field_format,
|
||||
"admin--custom-fields-format-config-value": OpenProject::CustomFieldFormatDependent.stimulus_config %>
|
||||
|
||||
<%= labelled_tabular_form_for @custom_field, as: :custom_field,
|
||||
url: admin_settings_project_custom_field_path(@custom_field),
|
||||
html: { method: :put, id: "custom_field_form" } do |f| %>
|
||||
<%= render partial: "custom_fields/form", locals: { f: f, custom_field: @custom_field } %>
|
||||
<% if @custom_field.new_record? %>
|
||||
<%= hidden_field_tag "type", @custom_field.type %>
|
||||
<% end %>
|
||||
<%= styled_button_tag t(:button_save), class: "-highlight -with-icon icon-checkmark" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
<%#-- 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.
|
||||
|
||||
++#%>
|
||||
|
||||
<% html_title t(:label_administration), t("settings.project_attributes.heading"), @custom_field.name %>
|
||||
|
||||
<%=
|
||||
render(
|
||||
Settings::ProjectCustomFields::EditFormHeaderComponent.new(
|
||||
custom_field: @custom_field,
|
||||
selected: :project_custom_field_edit
|
||||
)
|
||||
)
|
||||
%>
|
||||
|
||||
<%= settings_primer_form_with(
|
||||
model: @custom_field,
|
||||
scope: :custom_field,
|
||||
url: admin_settings_project_custom_field_path(@custom_field),
|
||||
html: { method: :put, id: "custom_field_form" }
|
||||
) do |f| %>
|
||||
<%= render partial: "custom_fields/custom_options", locals: { custom_field: @custom_field, f: f } %>
|
||||
|
||||
<%=
|
||||
flex_layout(mt: 4) do |flex|
|
||||
flex.with_column do
|
||||
render Primer::Beta::Button.new(
|
||||
scheme: :secondary,
|
||||
tag: :a,
|
||||
href: reorder_alphabetical_admin_settings_project_custom_field_path(@custom_field),
|
||||
data: {
|
||||
turbo_method: :post,
|
||||
turbo_confirm: t("custom_fields.reorder_confirmation")
|
||||
},
|
||||
mr: 2
|
||||
) do
|
||||
t("custom_fields.reorder_alphabetical")
|
||||
end
|
||||
end
|
||||
flex.with_column do
|
||||
render Primer::Beta::Button.new(
|
||||
scheme: :primary,
|
||||
type: :submit
|
||||
) do |button|
|
||||
button.with_leading_visual_icon(icon: :check)
|
||||
t(:button_save)
|
||||
end
|
||||
end
|
||||
end
|
||||
%>
|
||||
<% end %>
|
||||
@@ -31,22 +31,4 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
<%= render(Settings::ProjectCustomFields::NewFormHeaderComponent.new(@custom_field)) %>
|
||||
|
||||
<% if CustomFields::DetailsComponent.supported?(@custom_field) %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
<% else %>
|
||||
<%= error_messages_for "custom_field" %>
|
||||
|
||||
<% content_controller "admin--custom-fields",
|
||||
"admin--custom-fields-format-value": @custom_field.field_format,
|
||||
"admin--custom-fields-format-config-value": OpenProject::CustomFieldFormatDependent.stimulus_config %>
|
||||
|
||||
<%= labelled_tabular_form_for @custom_field, as: :custom_field,
|
||||
url: admin_settings_project_custom_fields_path,
|
||||
html: { id: "custom_field_form" } do |f| %>
|
||||
<%= render partial: "custom_fields/form", locals: { f: f, custom_field: @custom_field } %>
|
||||
<% if @custom_field.new_record? %>
|
||||
<%= hidden_field_tag "type", @custom_field.type %>
|
||||
<% end %>
|
||||
<%= styled_button_tag t(:button_save), class: "-highlight -with-icon icon-checkmark" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
|
||||
@@ -26,8 +26,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
See COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
++#%>
|
||||
<% content_controller "admin--custom-fields",
|
||||
"admin--custom-fields-multi-select-value": @custom_field.multi_value? %>
|
||||
|
||||
<% custom_field = f.object %>
|
||||
<% custom_field.custom_options.build if custom_field.custom_options.empty? %>
|
||||
|
||||
<div class="generic-table--container">
|
||||
@@ -86,27 +87,25 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
<td>
|
||||
<span class="dragula-handle icon icon-table icon-drag-handle"></span>
|
||||
<%= co_f.hidden_field :id,
|
||||
disabled: true,
|
||||
class: "custom-option-id" %>
|
||||
<%= co_f.text_field :value,
|
||||
disabled: true,
|
||||
container_class: "custom-option-value",
|
||||
no_label: true %>
|
||||
<span class="custom-option-value">
|
||||
<%= co_f.text_field :value,
|
||||
no_label: true %>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<td class="custom-option-default-value">
|
||||
<%= co_f.check_box :default_value,
|
||||
disabled: true,
|
||||
container_class: "custom-option-default-value",
|
||||
data: {
|
||||
"admin--custom-fields-target": "customOptionDefaults",
|
||||
action: "admin--custom-fields#uncheckOtherDefaults"
|
||||
action: "click->admin--custom-fields#uncheckOtherDefaults"
|
||||
},
|
||||
no_label: true %>
|
||||
</td>
|
||||
<td>
|
||||
<span class="reorder-icons">
|
||||
<a
|
||||
title="<%= t(:label_sort_highest) %>"
|
||||
aria-label="<%= t(:label_sort_highest) %>"
|
||||
rel="nofollow"
|
||||
href="#"
|
||||
class="sort-up-custom-option"
|
||||
@@ -114,7 +113,7 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
<%= op_icon("icon-context icon-sort-up icon-small") %>
|
||||
</a>
|
||||
<a
|
||||
title="<%= t(:label_sort_higher) %>"
|
||||
aria-label="<%= t(:label_sort_higher) %>"
|
||||
rel="nofollow"
|
||||
href="#"
|
||||
class="move-up-custom-option"
|
||||
@@ -122,14 +121,14 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
<%= op_icon("icon-context icon-arrow-up2 icon-small") %>
|
||||
</a>
|
||||
<a
|
||||
title="<%= t(:label_sort_lower) %>"
|
||||
aria-label="<%= t(:label_sort_lower) %>"
|
||||
rel="nofollow" href="#"
|
||||
class="move-down-custom-option"
|
||||
data-action="admin--custom-fields#moveRowDown">
|
||||
<%= op_icon("icon-context icon-arrow-down2 icon-small") %>
|
||||
</a>
|
||||
<a
|
||||
title="<%= t(:label_sort_lowest) %>"
|
||||
aria-label="<%= t(:label_sort_lowest) %>"
|
||||
rel="nofollow"
|
||||
href="#"
|
||||
class="sort-down-custom-option"
|
||||
@@ -157,3 +156,15 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%=
|
||||
render Primer::Beta::Button.new(
|
||||
scheme: :link,
|
||||
test_selector: "add-custom-option",
|
||||
data: { action: "admin--custom-fields#addOption" },
|
||||
mt: 2
|
||||
) do |button|
|
||||
button.with_leading_visual_icon(icon: :plus)
|
||||
t(:button_add)
|
||||
end
|
||||
%>
|
||||
|
||||
@@ -1,251 +0,0 @@
|
||||
<%# -- 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.
|
||||
|
||||
++# %>
|
||||
|
||||
<% format_dependent = OpenProject::CustomFieldFormatDependent.new(@custom_field.field_format) %>
|
||||
|
||||
<section
|
||||
class="form--section"
|
||||
id="custom_field_form">
|
||||
|
||||
<%= f.hidden_field :field_format if @custom_field.new_record? %>
|
||||
|
||||
<div class="form--field -required" id="custom_field_name_attributes">
|
||||
<%= f.text_field :name,
|
||||
required: true,
|
||||
container_class: "-middle",
|
||||
"data-test-selector": "op-custom-fields--new-custom-field-name" %>
|
||||
</div>
|
||||
<% if @custom_field.type == 'ProjectCustomField' %>
|
||||
<div class="form--field -required">
|
||||
<%= f.select :custom_field_section_id,
|
||||
ProjectCustomFieldSection.all.collect { |s| [s.name, s.id] },
|
||||
{ container_class: "-slim" },
|
||||
required: true %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="form--grouping" id="custom_field_length" <%= format_dependent.attributes(:length) %>>
|
||||
<div class="form--grouping-label">
|
||||
<%= t(:label_min_max_length) %> <br>
|
||||
<small>(<%= t(:text_min_max_length_info) %>)</small>
|
||||
</div>
|
||||
<div class="form--grouping-row">
|
||||
<div class="form--field -wide-label">
|
||||
<%= f.number_field :min_length,
|
||||
container_class: "-xslim" %>
|
||||
</div>
|
||||
<div class="form--field -wide-label">
|
||||
<%= f.number_field :max_length,
|
||||
container_class: "-xslim" %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form--field" <%= format_dependent.attributes(:regexp) %>>
|
||||
<%= f.text_field :regexp,
|
||||
size: 50,
|
||||
container_class: "-wide" %>
|
||||
<span class="form--field-instructions">
|
||||
<%= t(:text_regexp_info) %>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<% if @custom_field.new_record? || @custom_field.multi_value_possible? %>
|
||||
<div class="form--field" <%= format_dependent.attributes(:multiSelect) %>>
|
||||
<%= f.check_box :multi_value,
|
||||
data: { action: "admin--custom-fields#checkOnlyOne" } %>
|
||||
<div class="form--field-instructions">
|
||||
<p>
|
||||
<% if @custom_field.is_a?(ProjectCustomField) %>
|
||||
<%= t("custom_fields.instructions.multi_select.project") %>
|
||||
<% else %>
|
||||
<%= t("custom_fields.instructions.multi_select.all") %>
|
||||
<% end %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="form--fieldset" <%= format_dependent.attributes(:possibleValues) %>>
|
||||
<legend class="form--fieldset-legend"><%= I18n.t("activerecord.attributes.custom_field.possible_values") %></legend>
|
||||
<% if @custom_field.persisted? %>
|
||||
<div class="form--toolbar">
|
||||
<span class="form--toolbar-item">
|
||||
<%= link_to t("custom_fields.reorder_alphabetical"),
|
||||
{ action: :reorder_alphabetical },
|
||||
data: {
|
||||
turbo_method: :post,
|
||||
turbo_confirm: t("custom_fields.reorder_confirmation")
|
||||
} %>
|
||||
</span>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="form--field">
|
||||
<%= render partial: "custom_fields/custom_options", locals: { custom_field: @custom_field, f: f } %>
|
||||
<%=
|
||||
render Primer::Beta::Button.new(
|
||||
scheme: :link,
|
||||
test_selector: "add-custom-option",
|
||||
data: { action: "admin--custom-fields#addOption" },
|
||||
mt: 2
|
||||
) do |button|
|
||||
button.with_leading_visual_icon(icon: :plus)
|
||||
t(:button_add)
|
||||
end
|
||||
%>
|
||||
</div>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
<% if @custom_field.new_record? || @custom_field.allow_non_open_versions_possible? %>
|
||||
<div class="form--field" <%= format_dependent.attributes(:allowNonOpenVersions) %>>
|
||||
<%= f.check_box :allow_non_open_versions %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @custom_field.new_record? || !%w[text bool].include?(@custom_field.field_format) %>
|
||||
<div class="form--field" id="default_value_text" <%= format_dependent.attributes(:defaultText) %>>
|
||||
<%= f.text_field :default_value,
|
||||
id: "custom_fields_default_value_text",
|
||||
for: "custom_fields_default_value_text",
|
||||
container_class: "-wide" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if @custom_field.new_record? || @custom_field.field_format == 'bool' %>
|
||||
<div class="form--field" <%= format_dependent.attributes(:defaultBool) %>>
|
||||
<%= f.check_box :default_value,
|
||||
id: "custom_fields_default_value_bool",
|
||||
for: "custom_fields_default_value_bool" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if @custom_field.new_record? || @custom_field.field_format == 'text' %>
|
||||
<div class="form--field" <%= format_dependent.attributes(:defaultLongText) %>>
|
||||
<%= f.text_area :default_value,
|
||||
id: "custom_fields_default_value_longtext",
|
||||
for: "custom_fields_default_value_longtext",
|
||||
cols: 100,
|
||||
rows: 20,
|
||||
class: "wiki-edit",
|
||||
macros: "none",
|
||||
with_text_formatting: true %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= call_hook(:view_custom_fields_form_upper_box, custom_field: @custom_field, form: f) %>
|
||||
</section>
|
||||
|
||||
<section class="form--section">
|
||||
<% case @custom_field.class.name %>
|
||||
<% when "WorkPackageCustomField" %>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_required %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_required.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_for_all %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_for_all.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_filter %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_filter.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field" <%= format_dependent.attributes(:searchable) %>>
|
||||
<%= f.check_box :searchable %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.searchable.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field" <%= format_dependent.attributes(:textOrientation) %>>
|
||||
<%= f.check_box :content_right_to_left %>
|
||||
</div>
|
||||
<% when "UserCustomField" %>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_required %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_required.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :admin_only %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.admin_only.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :editable %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.editable.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% when "ProjectCustomField" %>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_required %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_required.project") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_for_all %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_for_all.project") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :admin_only %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.admin_only.project") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form--field" <%= format_dependent.attributes(:searchable) %>>
|
||||
<%= f.check_box :searchable %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.searchable.project") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% when "TimeEntryCustomField" %>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_required %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_required.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="form--field">
|
||||
<%= f.check_box :is_required %>
|
||||
<div class="form--field-instructions">
|
||||
<p><%= t("custom_fields.instructions.is_required.all") %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", custom_field: @custom_field, form: f) %>
|
||||
</section>
|
||||
@@ -31,20 +31,4 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
<%= render(Admin::CustomFields::EditFormHeaderComponent.new(custom_field: @custom_field, selected: :edit)) %>
|
||||
|
||||
<% if CustomFields::DetailsComponent.supported?(@custom_field) %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
<% else %>
|
||||
<%= error_messages_for "custom_field" %>
|
||||
|
||||
<% content_controller "admin--custom-fields",
|
||||
"admin--custom-fields-format-config-value": OpenProject::CustomFieldFormatDependent.stimulus_config,
|
||||
"admin--custom-fields-format-value": @custom_field.field_format %>
|
||||
|
||||
<%= labelled_tabular_form_for @custom_field,
|
||||
as: :custom_field,
|
||||
url: custom_field_path(@custom_field),
|
||||
html: { method: :put, id: "custom_field_form" } do |f| %>
|
||||
<%= render partial: "form", locals: { f: f } %>
|
||||
<%= styled_button_tag t(:button_save), class: "-primary -with-icon icon-checkmark" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<%#-- 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.
|
||||
|
||||
++#%>
|
||||
|
||||
<% html_title t(:label_administration), "#{CustomField.model_name.human} #{h @custom_field.name}", t(:label_item_plural) %>
|
||||
|
||||
<%= render(Admin::CustomFields::EditFormHeaderComponent.new(custom_field: @custom_field, selected: :items)) %>
|
||||
|
||||
<%= settings_primer_form_with(
|
||||
model: @custom_field,
|
||||
scope: :custom_field,
|
||||
url: custom_field_path(@custom_field),
|
||||
html: { id: "custom_field_form" }
|
||||
) do |f| %>
|
||||
<%= render partial: "custom_fields/custom_options", locals: { custom_field: @custom_field, f: f } %>
|
||||
|
||||
<%=
|
||||
flex_layout(mt: 4) do |flex|
|
||||
flex.with_column do
|
||||
render Primer::Beta::Button.new(
|
||||
scheme: :secondary,
|
||||
tag: :a,
|
||||
href: reorder_alphabetical_custom_field_path(@custom_field),
|
||||
data: {
|
||||
turbo_method: :post,
|
||||
turbo_confirm: t("custom_fields.reorder_confirmation")
|
||||
},
|
||||
mr: 2
|
||||
) do
|
||||
t("custom_fields.reorder_alphabetical")
|
||||
end
|
||||
end
|
||||
flex.with_column do
|
||||
render Primer::Beta::Button.new(
|
||||
scheme: :primary,
|
||||
type: :submit
|
||||
) do |button|
|
||||
button.with_leading_visual_icon(icon: :check)
|
||||
t(:button_save)
|
||||
end
|
||||
end
|
||||
end
|
||||
%>
|
||||
<% end %>
|
||||
@@ -45,26 +45,4 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
end
|
||||
%>
|
||||
|
||||
<% if CustomFields::DetailsComponent.supported?(@custom_field) %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
<% else %>
|
||||
<%= error_messages_for "custom_field" %>
|
||||
|
||||
<% content_controller "admin--custom-fields",
|
||||
"admin--custom-fields-format-config-value": OpenProject::CustomFieldFormatDependent.stimulus_config,
|
||||
"admin--custom-fields-format-value": @custom_field.field_format,
|
||||
"admin--custom-fields-hierarchy-enabled-value": EnterpriseToken.allows_to?(:custom_field_hierarchies) %>
|
||||
|
||||
<%= labelled_tabular_form_for @custom_field,
|
||||
as: :custom_field,
|
||||
url: custom_fields_path,
|
||||
html: { id: "custom_field_form", class: "-wide-labels" } do |f| %>
|
||||
<%= render partial: "form", locals: { f: f } %>
|
||||
<%= hidden_field_tag "type", @custom_field.type %>
|
||||
<%= styled_button_tag t(:button_save),
|
||||
class: "-primary -with-icon icon-checkmark",
|
||||
data: {
|
||||
"admin--custom-fields-target": "submitButton"
|
||||
} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= render CustomFields::DetailsComponent.new(@custom_field) %>
|
||||
|
||||
@@ -27,7 +27,8 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
++#%>
|
||||
|
||||
<%= labelled_tabular_form_for @group, url: group_path(@group), html: { method: :put }, as: :group do |f| %>
|
||||
<%= render partial: "form", locals: { f: f } %>
|
||||
<%= styled_button_tag t(:button_save), class: "-primary -with-icon icon-checkmark" %>
|
||||
<% end %>
|
||||
<%=
|
||||
settings_primer_form_with(model: @group, url: group_path(@group), method: :put) do |f|
|
||||
render Groups::Form.new(f)
|
||||
end
|
||||
%>
|
||||
|
||||
@@ -41,7 +41,10 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
end
|
||||
%>
|
||||
|
||||
<%= labelled_tabular_form_for(@group) do |f| %>
|
||||
<%= render partial: "form", locals: { f: f } %>
|
||||
<div><%= f.button t(:button_create), class: "button -primary -with-icon icon-checkmark" %></div>
|
||||
<% end %>
|
||||
<%= error_messages_for @group %>
|
||||
|
||||
<%=
|
||||
settings_primer_form_with(model: @group) do |f|
|
||||
render Groups::Form.new(f, submit_label: I18n.t(:button_create))
|
||||
end
|
||||
%>
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
<%#-- 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.
|
||||
|
||||
++#%>
|
||||
|
||||
<%
|
||||
# locals: f, project, errors
|
||||
version = f.object
|
||||
contract = version_contract(version)
|
||||
%>
|
||||
|
||||
<%= error_messages_for version %>
|
||||
<%= back_url_hidden_field_tag %>
|
||||
|
||||
<div class="form--field -required">
|
||||
<%= f.text_field :name, required: true, container_class: "-wide" %>
|
||||
</div>
|
||||
|
||||
<div class="form--field">
|
||||
<%= f.text_field :description, container_class: "-wide" %>
|
||||
</div>
|
||||
|
||||
<div class="form--field">
|
||||
<%= f.select :status,
|
||||
contract.assignable_statuses.map { |s| [t("version_status_#{s}"), s] },
|
||||
container_class: "-slim" %>
|
||||
</div>
|
||||
|
||||
<div class="form--field">
|
||||
<%= f.select :wiki_page_title,
|
||||
wiki_page_options_for_select(contract.assignable_wiki_pages.includes(:parent), placeholder: false, ids: false),
|
||||
{ label: :label_wiki_page, include_blank: true },
|
||||
{ container_class: "-wide", disabled: contract.assignable_wiki_pages.none? } %>
|
||||
</div>
|
||||
|
||||
<div class="form--field">
|
||||
<%= f.date_picker :start_date %>
|
||||
</div>
|
||||
|
||||
<div class="form--field">
|
||||
<%= f.date_picker :effective_date %>
|
||||
</div>
|
||||
|
||||
<div class="form--field">
|
||||
<%= f.select :sharing,
|
||||
contract.assignable_sharings.map { |v| [format_version_sharing(v), v] },
|
||||
container_class: "-middle" %>
|
||||
</div>
|
||||
|
||||
<% if project.enabled_modules.map(&:name).include?("backlogs") %>
|
||||
|
||||
<%= version_settings_fields(version, project) %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<%= render partial: "customizable/form",
|
||||
locals: { form: f, all_fields: true, only_required: false } %>
|
||||
@@ -41,10 +41,7 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
end
|
||||
%>
|
||||
|
||||
<%= labelled_tabular_form_for @version do |f| %>
|
||||
|
||||
<%= render partial: "form", locals: { f: f,
|
||||
project: @project } %>
|
||||
|
||||
<%= styled_button_tag t(:button_save), class: "-primary -with-icon icon-checkmark" %>
|
||||
<%= settings_primer_form_with(model: @version, url: version_path(@version), method: :patch) do |f| %>
|
||||
<%= back_url_hidden_field_tag %>
|
||||
<%= render Versions::Form.new(f, project: @project) %>
|
||||
<% end %>
|
||||
|
||||
@@ -40,10 +40,7 @@ See COPYRIGHT and LICENSE files for more details.
|
||||
end
|
||||
%>
|
||||
|
||||
<%= labelled_tabular_form_for [@project, @version] do |f| %>
|
||||
|
||||
<%= render partial: "versions/form", locals: { f: f,
|
||||
project: @project } %>
|
||||
|
||||
<%= styled_button_tag t(:button_create), class: "-primary -with-icon icon-checkmark" %>
|
||||
<%= settings_primer_form_with(model: [@project, @version]) do |f| %>
|
||||
<%= back_url_hidden_field_tag %>
|
||||
<%= render Versions::Form.new(f, project: @project, submit_label: I18n.t(:button_create)) %>
|
||||
<% end %>
|
||||
|
||||
@@ -60,10 +60,6 @@ OpenProject::FeatureDecisions.add :portfolio_models,
|
||||
description: "Enables the creation and management of portfolio and program work spaces.",
|
||||
force_active: true
|
||||
|
||||
OpenProject::FeatureDecisions.add :new_project_overview,
|
||||
description: "Enables the new project overview experience.",
|
||||
force_active: true
|
||||
|
||||
OpenProject::FeatureDecisions.add :jira_import,
|
||||
description: "Enables Jira Migration Tool.",
|
||||
force_active: false
|
||||
|
||||
@@ -480,7 +480,7 @@ Redmine::MenuManager.map :admin_menu do |menu|
|
||||
{ controller: "/admin/mcp_configurations", action: :index },
|
||||
if: ->(_) { User.current.admin? && OpenProject::FeatureDecisions.mcp_server_active? },
|
||||
caption: I18n.t("menus.admin.ai"),
|
||||
icon: :"sparkle-fill"
|
||||
icon: :sparkle
|
||||
|
||||
menu.push :mcp_configurations,
|
||||
{ controller: "/admin/mcp_configurations", action: :index },
|
||||
|
||||
@@ -371,7 +371,7 @@ af:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ af:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ af:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ af:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Die regex is toegepas in ''n multi-lyn manier. bv. ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ ar:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ ar:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: لا يوجد حالياً ملفات للزبائن.
|
||||
no_results_content_text: إنشاء ملف زبون جديد
|
||||
@@ -5015,7 +5021,6 @@ ar:
|
||||
text_length_between: "الطول بين %{min} و %{max} محارف."
|
||||
text_line_separated: "القيم المتعددة المسموح بها (سطر واحد لكل قيمة)."
|
||||
text_load_default_configuration: "تحميل التكوين الافتراضي"
|
||||
text_min_max_length_info: "0 يعني عدم تقييد"
|
||||
text_no_roles_defined: لا توجد مجموعات معرفة.
|
||||
text_no_access_tokens_configurable: "لا توجد أية رموز الوصول المميزة التي يمكن تكوينها."
|
||||
text_no_configuration_data: "لم يتم تكوين الأدوار, الأنواع, حالات مجموعات العمل وتدفقات العمل حتى الآن. فإنه ينصح بشدة تحميل التكوين الافتراضي. سوف تكون قادراً على تعديله حالما يتم التحميل."
|
||||
@@ -5030,7 +5035,6 @@ ar:
|
||||
text_powered_by: "بواسطة %{link}"
|
||||
text_project_identifier_info: "يتم السماح فقط رسائل الحالة الأدنى (أ-ي) وأرقام، والشرطات وتسطير، يجب أن تبدأ بحرف حالة الأدنى."
|
||||
text_reassign: "تعيين أن تعمل الحزمة:"
|
||||
text_regexp_info: "على سبيل المثال. ^[A-Z0-9] + $"
|
||||
text_regexp_multiline: 'يتم تطبيق التعبير الاعتيادي في وضع متعدد الأسطر. على سبيل المثال: ^---\s+'
|
||||
text_repository_usernames_mapping: "قم باختيار أو تحديث مستخدم \"OpenProject: المشروع المفتوح\" الذي تم تعيينه لكل اسم مستخدم وُجِد في سجل المستودع.\nالمستخدمون الذين لديهم نفس اسم المستخدم أو عنوان البريد الإلكتروني في المشروع المفتوح OpenProject والمستودع يتم تعيينهم تلقائيًّا."
|
||||
text_status_changed_by_changeset: "تطبيق التغييرات %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ az:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ az:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ az:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ az:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ be:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ be:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4915,7 +4921,6 @@ be:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4930,7 +4935,6 @@ be:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ bg:
|
||||
contained_in_type: "Съдържа се в тип"
|
||||
confirm_destroy_option: "Изтриването на опция ще изтрие всички нейни срещания (напр. в работните пакети). Сигурни ли сте, че искате да я изтриете?"
|
||||
reorder_alphabetical: "Пренареждане на стойностите по азбучен ред"
|
||||
reorder_confirmation: "Внимание: Текущият ред на наличните стойности ще бъде загубен. Желаете ли да продължите?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ bg:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: В момента няма потребителски полета.
|
||||
no_results_content_text: Създаване на ново персонализирано поле
|
||||
@@ -4813,7 +4819,6 @@ bg:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 - без ограничения"
|
||||
text_no_roles_defined: Няма определени роли.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ bg:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Уеднаквяването се прилага в многоредов режим. например ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -368,7 +368,7 @@ ca:
|
||||
contained_in_type: "Contingut a la classe"
|
||||
confirm_destroy_option: "Eliminant una opció n'eliminareu totes les ocurrències (ex. en un paquet de treball). Segur que vols eliminar-ho?"
|
||||
reorder_alphabetical: "Reorganitza els valors alfabèticament"
|
||||
reorder_confirmation: "Alerta: L'ordre actual dels valors disponibles es perdran. Vols continuar?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -395,6 +395,12 @@ ca:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Actualment no hi ha camps personalitzats.
|
||||
no_results_content_text: Crea un camp personalitzat nou
|
||||
@@ -4804,7 +4810,6 @@ ca:
|
||||
text_length_between: "Longitud entre %{min} i %{max} caràcters."
|
||||
text_line_separated: "Es permeten diversos valors (una línia per cada valor)."
|
||||
text_load_default_configuration: "Carregar la configuració predeterminada"
|
||||
text_min_max_length_info: "0 significa sense restricció"
|
||||
text_no_roles_defined: No hi ha rols definits.
|
||||
text_no_access_tokens_configurable: "No hi ha tokens d'accés que siguin configurables."
|
||||
text_no_configuration_data: "Encara no s'han configurat els rols, tipus, estats dels paquet de treball i flux de treball.\nÉs altament recomanable que carreguis la configuració predeterminada. Podràs modificar-la un cop carregada."
|
||||
@@ -4819,7 +4824,6 @@ ca:
|
||||
text_powered_by: "Desenvolupat per %{link}"
|
||||
text_project_identifier_info: "Només es permeten lletres minúscules (a-z), números, guions i guions baixos, i ha de començar amb una lletra minúscula."
|
||||
text_reassign: "Reassigna al paquet de treball:"
|
||||
text_regexp_info: "ex. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'S''aplica l''expressió regular en mode de múltilínia. Per exemple, ^---\s+'
|
||||
text_repository_usernames_mapping: "Seleccioneu l'assignació entre els usuaris del OpenProject i cada nom d'usuari trobat al repositori.\nEls usuaris amb el mateix nom d'usuari o correu del OpenProject i del repositori s'assignaran automàticament."
|
||||
text_status_changed_by_changeset: "Aplicat en el conjunt de canvis %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ ckb-IR:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ ckb-IR:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ ckb-IR:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ ckb-IR:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ cs:
|
||||
contained_in_type: "Obsahuje typ"
|
||||
confirm_destroy_option: "Smazáním možnosti smažete všechny výskyty (např. v pracovních balíčcích). Opravdu ji chcete odstranit?"
|
||||
reorder_alphabetical: "Změnit pořadí abecedně"
|
||||
reorder_confirmation: "Varování: Aktuální pořadí dostupných hodnot bude ztraceno. Pokračovat?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Nejprve je nutné vybrat pracovní balíček nebo projekt"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ cs:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: V současné době nejsou žádná vlastní pole.
|
||||
no_results_content_text: Vytvořit nové vlastní pole
|
||||
@@ -4914,7 +4920,6 @@ cs:
|
||||
text_length_between: "Délka mezi %{min} a %{max} znaky."
|
||||
text_line_separated: "Více hodnot povoleno (jeden řádek pro každou hodnotu)."
|
||||
text_load_default_configuration: "Nahrát výchozí konfiguraci"
|
||||
text_min_max_length_info: "0 znamená bez omezení"
|
||||
text_no_roles_defined: Nebyly definovány žádné role.
|
||||
text_no_access_tokens_configurable: "Neexistují žádné přístupové tokeny, které by mohly být nakonfigurovány."
|
||||
text_no_configuration_data: "Role, typy, stavy úkolů ani průběh práce nebyly zatím nakonfigurovány.\nJe silně doporučeno nahrát výchozí konfiguraci. Poté si můžete vše upravit."
|
||||
@@ -4929,7 +4934,6 @@ cs:
|
||||
text_powered_by: "Běží na %{link}"
|
||||
text_project_identifier_info: "Jsou povolena pouze malá písmena (a-z), číslice, pomlčky a podtržítka. Musí začínat malým písmenem."
|
||||
text_reassign: "Přiřadit k pracovnímu balíčku:"
|
||||
text_regexp_info: "např. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'regex je použit v režimu více řádků. např.: ^---\s+'
|
||||
text_repository_usernames_mapping: "Vyberte nebo aktualizujte mapovaný uživatel OpenProject ke každému uživatelskému jménu nalezenému v protokolu repozitáře.\nUživatelé se stejným OpenProject a repozitářovým jménem nebo e-mailem jsou automaticky mapováni."
|
||||
text_status_changed_by_changeset: "Aplikováno v sadě změn %{value}."
|
||||
|
||||
@@ -369,7 +369,7 @@ da:
|
||||
contained_in_type: "Indeholdt i type"
|
||||
confirm_destroy_option: "Sletning af en indstilling vil slette alle dens forekomster (f.eks. i arbejdspakker). Er du sikker på, at du vil slette den?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -396,6 +396,12 @@ da:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Der er i øjeblikket ingen brugerdefinerede felter.
|
||||
no_results_content_text: Oprette en ny brugerdefineret felt
|
||||
@@ -4809,7 +4815,6 @@ da:
|
||||
text_length_between: "Længde mellem %{min} og %{max} tegn."
|
||||
text_line_separated: "Flere værdier tilladt (én linje for hver værdi)."
|
||||
text_load_default_configuration: "Hent forhåndsvalgt opsætning"
|
||||
text_min_max_length_info: "0 betyder ingen begrænsning"
|
||||
text_no_roles_defined: Der er ikke defineret nogle roller.
|
||||
text_no_access_tokens_configurable: "Der er ingen adgangstegn, som kan konfigureres."
|
||||
text_no_configuration_data: "Roller, typer, statusser for arbejdspakker og arbejdsgange er endnu ikke sat op. Det anbefales stærkt at hente forhåndsopsætningen. Du vil kunne ændre den når den er indlæst."
|
||||
@@ -4824,7 +4829,6 @@ da:
|
||||
text_powered_by: "Drevet af %{link}"
|
||||
text_project_identifier_info: "Kun små bogstaver (a-z), tal, - og _ er tilladt; først tegn skal være et bogstav."
|
||||
text_reassign: "Gentildel til arbejdspakke:"
|
||||
text_regexp_info: "fx ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Vælg eller opdatér den OpenProject-bruger, der er tilknyttet hvert brugernavn i loggen for projektarkivet.\nBrugere med det samme brugernavn eller mailadresse i OpenProject og i projektarkivet vil automatisk blive tilknyttet."
|
||||
text_status_changed_by_changeset: "Indføjet i pakken af ændringer, %{value}."
|
||||
|
||||
@@ -368,7 +368,7 @@ de:
|
||||
contained_in_type: "In Typ enthalten"
|
||||
confirm_destroy_option: "Löschen eines Werts entfernt alle bereits gesetzten Werte (z.B. bei Arbeitspaketen). Sind Sie sicher, dass Sie den Wert löschen möchten?"
|
||||
reorder_alphabetical: "Alphabetisch umsortieren"
|
||||
reorder_confirmation: "Warnung: Die aktuelle Reihenfolge der verfügbaren Werte geht verloren. Fortfahren?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Zunächst muss ein Arbeitspaket oder ein Projekt ausgewählt werden"
|
||||
calculated_field_not_editable: "Nicht editierbares Attribut. Dieser Wert wird automatisch berechnet."
|
||||
no_role_assigment: "Keine Rollenzuweisung"
|
||||
@@ -395,6 +395,12 @@ de:
|
||||
Erlaubt das benutzerdefinierte Feld in einem Filter in der Arbeitspaket-Ansicht zu verwenden. Beachten Sie, dass, nur wenn "Für alle Projekte" ausgewählt ist, das benutzerdefinierte Feld in globalen Ansichten angezeigt wird.
|
||||
formula:
|
||||
project: "Fügen Sie numerische Werte hinzu oder geben Sie / ein, um nach einem Attribut oder einem mathematischen Operator zu suchen."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Zur Zeit existieren keine benutzerdefinierten Felder.
|
||||
no_results_content_text: Neues benutzerdefiniertes Feld anlegen
|
||||
@@ -3248,7 +3254,7 @@ de:
|
||||
label_equals_with_descendants: "ist (ODER) inkl. Unterelementen "
|
||||
label_everywhere: "überall"
|
||||
label_example: "Beispiel"
|
||||
label_experimental: "Experimentel"
|
||||
label_experimental: "Experimentell"
|
||||
label_i_am_member: "Ich bin Mitglied"
|
||||
label_ifc_viewer: "IFC-Viewer"
|
||||
label_ifc_model_plural: "IFC-Modelle"
|
||||
@@ -4807,7 +4813,6 @@ de:
|
||||
text_length_between: "Länge zwischen %{min} und %{max} Zeichen."
|
||||
text_line_separated: "Mehrere Werte sind erlaubt (eine Zeile pro Wert)."
|
||||
text_load_default_configuration: "Standard-Konfiguration laden"
|
||||
text_min_max_length_info: "0 heißt keine Beschränkung"
|
||||
text_no_roles_defined: Es wurden keine Rollen definiert.
|
||||
text_no_access_tokens_configurable: "Es existieren keine Zugangs-Tokens, die konfiguriert werden können."
|
||||
text_no_configuration_data: "Rollen, Typen, Arbeitspaket-Status und Workflows wurden noch nicht konfiguriert. Es wird empfohlen die Standard-Konfiguration zu laden. Sobald die Konfiguration geladen ist, kann diese geändert werden."
|
||||
@@ -4822,7 +4827,6 @@ de:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Kleinbuchstaben (a-z), Ziffern, Binde- und Unterstriche erlaubt. Muss mit einem Kleinbuchstaben beginnen."
|
||||
text_reassign: "Zuweisung zu Arbeitspaket:"
|
||||
text_regexp_info: "z. B. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Der reguläre Ausdruck wird in einem mehrzeiligen Modus angewandt, z.B. ^---\s+'
|
||||
text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der OpenProject-Benutzer zu den Benutzernamen der Commit-Log-Meldungen des Projektarchivs fest.\nBenutzer mit identischen OpenProject- und Projektarchiv-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet."
|
||||
text_status_changed_by_changeset: "Status geändert durch Projektarchiv-Änderung %{value}."
|
||||
|
||||
@@ -367,7 +367,7 @@ el:
|
||||
contained_in_type: "Περιέχονται στον τύπο"
|
||||
confirm_destroy_option: "Η διαγραφή μιας επιλογής θα διαγράψει όλα τα περιστατικά της (π.χ. σε πακέτα εργασίας). Είστε βέβαιοι ότι θέλετε να το διαγράψετε;"
|
||||
reorder_alphabetical: "Αναδιάταξη τιμών αλφαβητικά"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -394,6 +394,12 @@ el:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Προς το παρόν δεν υπάρχουν προσαρμοσμένα πεδία.
|
||||
no_results_content_text: Δημιουργία νέου προσαρμοσμένου πεδίου
|
||||
@@ -4808,7 +4814,6 @@ el:
|
||||
text_length_between: "Μήκος μεταξύ %{min} και %{max} χαρακτήρων."
|
||||
text_line_separated: "Επιτρέπονται πολλαπλές τιμές (μία γραμμή για κάθε τιμή)."
|
||||
text_load_default_configuration: "Φόρτωση προεπιλεγμένων ρυθμίσεων διαμόρφωσης"
|
||||
text_min_max_length_info: "Το 0 σημαίνει ότι δεν υπάρχουν περιορισμοί"
|
||||
text_no_roles_defined: Δεν έχουν οριστεί ρόλοι.
|
||||
text_no_access_tokens_configurable: "Δεν υπάρχουν tokens πρόσβασης που μπορούν να διαμορφωθούν."
|
||||
text_no_configuration_data: "Οι ρόλοι, οι τύποι, η καταστάσεις των πακέτων εργασίας και η ροή εργασίας δεν έχουν ρυθμιστεί ακόμα.\nΣυνιστάται ιδιαίτερα να φορτώσετε τις προεπιλεγμένες ρυθμίσεις. Θα είστε σε θέση να τις τροποποιήσετε μετά τη φόρτωση τους."
|
||||
@@ -4823,7 +4828,6 @@ el:
|
||||
text_powered_by: "Υποστηρίζεται από %{link}"
|
||||
text_project_identifier_info: "Επιτρέπονται μόνο πεζά γράμματα (α-ω), αριθμοί, παύλες και κάτω παύλες, πρέπει να αρχίζουν με πεζό γράμμα."
|
||||
text_reassign: "Επανεκχώρηση στο πακέτα εργασίας:"
|
||||
text_regexp_info: "π.χ. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Το regex εφαρμόστηκε σε μια λειτουργία πολλαπλών γραμμών. π.χ., ^---\s+'
|
||||
text_repository_usernames_mapping: "Επιλέξτε ή ενημερώστε τον χρήστη OpenProject που αντιστοιχεί σε κάθε όνομα χρήστη στο ιστορικό του αποθετηρίου.\nΧρήστες με το ίδιο όνομα χρήστη στο OpenProject και το αποθετήριο ή email αντιστοιχίζονται αυτόματα."
|
||||
text_status_changed_by_changeset: "Εφαρμόστηκε στις αλλαγές %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ eo:
|
||||
contained_in_type: "Inkludita en la speco"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ eo:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Nun estas neniu adaptita kampo.
|
||||
no_results_content_text: Krei novan adaptitan kampon
|
||||
@@ -4813,7 +4819,6 @@ eo:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ eo:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -369,7 +369,7 @@ es:
|
||||
contained_in_type: "Incluido en el tipo"
|
||||
confirm_destroy_option: "Al eliminar una opción, se eliminarán todas las repeticiones (por ejemplo, en paquetes de trabajo). ¿Está seguro de que desea eliminarla?"
|
||||
reorder_alphabetical: "Ordenar los valores alfabéticamente"
|
||||
reorder_confirmation: "Advertencia: Se perderá el orden actual de los valores disponibles. ¿Quiere continuar?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Primero debe seleccionar el paquete de trabajo o el proyecto"
|
||||
calculated_field_not_editable: "Atributo no editable. Este valor se calcula automáticamente."
|
||||
no_role_assigment: "Sin asignación de roles"
|
||||
@@ -396,6 +396,12 @@ es:
|
||||
Permitir que el campo personalizado se utilice como filtro en las vistas de paquetes de trabajo. Tenga en cuenta que solo 'Para todos los proyectos' seleccionados, el campo personalizado se mostrará en vistas globales.
|
||||
formula:
|
||||
project: "Añada valores numéricos o escriba/para buscar un atributo o un operador matemático."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Actualmente no hay campos personalizados.
|
||||
no_results_content_text: Crear un nuevo campo personalizado
|
||||
@@ -4809,7 +4815,6 @@ es:
|
||||
text_length_between: "Longitud entre %{min} y %{max} caracteres."
|
||||
text_line_separated: "Múltiples valores permitidos (una línea para cada valor)."
|
||||
text_load_default_configuration: "Cargar la configuración predeterminada"
|
||||
text_min_max_length_info: "0 significa sin restricción"
|
||||
text_no_roles_defined: No hay ningun rol definido.
|
||||
text_no_access_tokens_configurable: "No hay ningun token de acceso que pueda ser configurado."
|
||||
text_no_configuration_data: "Roles, tipos, estado de petición y flujo de trabajo no han sido configurados. Se recomienda cargar la configuración por defecto. Podrá modificarla cuando haya sido cargada."
|
||||
@@ -4824,7 +4829,6 @@ es:
|
||||
text_powered_by: "Con tecnología de %{link}"
|
||||
text_project_identifier_info: "Se permiten sólo letras minúsculas (a-z), números, guiones y guiones bajos, debe comenzar con una letra minúscula."
|
||||
text_reassign: "Reasignar al paquete de trabajo:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'La expresión regular se aplica en modo multilínea. Por ejemplo, ^---\s+'
|
||||
text_repository_usernames_mapping: "Seleccione o actualize el usuario de OpenProject asignado a cada nombre en el registro del repositorio. Los usuarios con el mismo nombre o email serán mapeados automáticamente."
|
||||
text_status_changed_by_changeset: "Aplicado en el conjunto de cambios %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ et:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ et:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ et:
|
||||
text_length_between: "Pikkus peab olema %{min} kuni %{max} märki."
|
||||
text_line_separated: "Lubatud erinevad väärtused (igaüks eraldi real)."
|
||||
text_load_default_configuration: "Laadi vaikeasetused"
|
||||
text_min_max_length_info: "0 tähendab, et piiranguid ei ole"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Rollid, valdkonnad, olekud ja töövood ei ole veel seadistatud.\\nVäga soovitav on laadida vaikeasetused. Peale laadimist saad neid ise muuta."
|
||||
@@ -4828,7 +4833,6 @@ et:
|
||||
text_powered_by: "Jooksutab %{link}"
|
||||
text_project_identifier_info: "Lubatud on ainult väikesed tähed (a-z), numbrid ja kriipsud. Peab algama väikse tähega."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "ehk teisisõnu ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Seosta OpenProject kasutaja hoidlasse sissekannete tegijaga. Sama nime või e-postiga kasutajad seostatakse automaatselt."
|
||||
text_status_changed_by_changeset: "Kehtestati toimikus %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ eu:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ eu:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ eu:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ eu:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ fa:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ fa:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ fa:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ fa:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ fi:
|
||||
contained_in_type: "Sisältyy tyyppiin"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ fi:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Tällä hetkellä ei ole mukautettuja kenttiä.
|
||||
no_results_content_text: Luo uusi mukautettu kenttä
|
||||
@@ -4813,7 +4819,6 @@ fi:
|
||||
text_length_between: "Pituus välillä %{min} ja %{max} merkkiä."
|
||||
text_line_separated: "Useat arvot sallittu (yksi rivi kullekin)."
|
||||
text_load_default_configuration: "Lataa oletusasetukset"
|
||||
text_min_max_length_info: "0 tarkoittaa ei rajoitusta"
|
||||
text_no_roles_defined: Yhtään roolia ei ole määritetty.
|
||||
text_no_access_tokens_configurable: "Ei ole olemassa pääsyavaimia joita voisi konfiguroida."
|
||||
text_no_configuration_data: "Rooleja, tapahtumien tiloja ja työnkulkua ei vielä olla määritelty.\nOn erittäin suotavaa ladata vakioasetukset. Voit muuttaa sitä latauksen jälkeen."
|
||||
@@ -4828,7 +4833,6 @@ fi:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Vain pienet kirjaimet (a-z), numerot, väliviivat ja alaviivat ovat sallittuja. Ensimmäisenä tulee olla pieni kirjain."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "esim. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Valitse päivittääksesi Redmine käyttäjä jokaiseen käyttäjään joka löytyy tietovaraston lokista.\nKäyttäjät joilla on sama Redmine ja tietovaraston käyttäjänimi tai sähköpostiosoite, yhdistetään automaattisesti."
|
||||
text_status_changed_by_changeset: "Päivitetty muutosversioon %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ fil:
|
||||
contained_in_type: "Naglaman ng uri"
|
||||
confirm_destroy_option: "Kapag nagbubura ng opsyon ay makakabura sa lahat ng mga pangyayari nito (e.g. sa mga package na trabaho). Sigurado ka bang gusto mong burahin ito?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ fil:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Sa kasalukuyan ay walang mga custom field.
|
||||
no_results_content_text: Gumawa ng bagong patlang na custom
|
||||
@@ -4811,7 +4817,6 @@ fil:
|
||||
text_length_between: "Taas pagitan ng %{min} at %{max} na mga karakter."
|
||||
text_line_separated: "Maramihang halaga ang pinahintulutan (isang linya para sa bawat halaga)."
|
||||
text_load_default_configuration: "I-load ang kumpigurasyong default"
|
||||
text_min_max_length_info: "0 ay nangunguhugan walang paghihigpit"
|
||||
text_no_roles_defined: Walang mga role na niliwanag.
|
||||
text_no_access_tokens_configurable: "Walang mga access tokens na pweding ma configure."
|
||||
text_no_configuration_data: "Ang mga tungkulin, uri, estado ng work package at daloy na trabaho ay hindi pa na configure.\nIto ay lubos na inirerekomenda upang i-lpad anh default na kumpigurasyon. Magagawa mong baguhin ito pag naka-load."
|
||||
@@ -4826,7 +4831,6 @@ fil:
|
||||
text_powered_by: "Pinalatakbo ng %{link}"
|
||||
text_project_identifier_info: "Maliit na titik lamang (a-z), mga numero, mga dash at underscore ang pinahintulutan, dapat magsimula sa maliit na titik."
|
||||
text_reassign: "I-reassign sa work package:"
|
||||
text_regexp_info: "e. g ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Ang regex ay nakalagay sa multi-line mlde. hal., ^---\s+'
|
||||
text_repository_usernames_mapping: "Piliin o i-update ang OpenProject usrt naka-map sa bawat username nakita sa repositoryo log.\nAng mga gumagamit sa kaparehong OpenProject at repositoryong username o ang email ay automatikong naka-map."
|
||||
text_status_changed_by_changeset: "Ilapaylt sa changeset %{value}."
|
||||
|
||||
@@ -113,7 +113,7 @@ fr:
|
||||
index:
|
||||
description: "Le protocole de contexte de modèle permet aux agents d'intelligence artificielle de fournir à leurs utilisateurs les outils et les ressources exposés par cette instance d'OpenProject."
|
||||
resources_heading: "Ressources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_description: "OpenProject met en œuvre les ressources suivantes. Chacune d'entre elles peut être activée, renommée et décrite comme vous le souhaitez. Pour plus d'informations, veuillez vous référer à la [documentation sur les ressources MCP](docs_url)."
|
||||
resources_submit: "Mettre à jour les ressources"
|
||||
tools_heading: "Outils"
|
||||
tools_description: "OpenProject implémente les outils suivants. Chacun d'entre eux peut être activé, renommé et décrit comme vous le souhaitez. Pour en savoir plus, veuillez vous référer à la [documentation sur les outils MCP](docs_url)."
|
||||
@@ -122,17 +122,17 @@ fr:
|
||||
success: "Les configurations MCP ont été mises à jour avec succès."
|
||||
server_form:
|
||||
description_caption: "Comment le serveur MCP sera décrit aux autres applications qui s'y connectent."
|
||||
title_caption: "A short title shown to applications that connect to the MCP server."
|
||||
tool_response_format: "Tool response format"
|
||||
tool_response_format_content_only_label: "Content only"
|
||||
title_caption: "Titre court affiché aux applications qui se connectent au serveur MCP."
|
||||
tool_response_format: "Format de réponse de l'outil"
|
||||
tool_response_format_content_only_label: "Contenu uniquement"
|
||||
tool_response_format_content_only_caption: >
|
||||
Choose this if MCP clients connecting to this instance do not support structured content. Tool responses will only contain plain text content and leave out the structured version.
|
||||
tool_response_format_full_label: "Full"
|
||||
Choisissez cette option si les clients MCP qui se connectent à cette instance ne prennent pas en charge le contenu structuré. Les réponses de l'outil ne contiendront que du texte brut et ne tiendront pas compte de la version structurée.
|
||||
tool_response_format_full_label: "Complet"
|
||||
tool_response_format_full_caption: >
|
||||
The most compatible option. Tool responses will include both regular and structured content, allowing MCP clients to choose which format they want to read. This may increase the number of tokens that the language model has to process, potentially increasing cost and decreasing performance.
|
||||
tool_response_format_structured_only_label: "Structured content only"
|
||||
L'option la plus compatible. Les réponses de l'outil comprendront à la fois du contenu régulier et structuré, ce qui permettra aux clients MCP de choisir le format qu'ils souhaitent lire. Cela peut augmenter le nombre de jetons que le modèle linguistique doit traiter, ce qui peut entraîner une augmentation des coûts et une diminution des performances.
|
||||
tool_response_format_structured_only_label: "Contenu structuré uniquement"
|
||||
tool_response_format_structured_only_caption: >
|
||||
Choose this if you are certain that MCP clients connecting to this instance support structured content. Tool responses will only include structured content and leave out its text representation.
|
||||
Choisissez cette option si vous êtes certain que les clients MCP qui se connectent à cette instance prennent en charge le contenu structuré. Les réponses de l'outil n'incluront que le contenu structuré et ne tiendront pas compte de sa représentation textuelle.
|
||||
update:
|
||||
failure: "La configuration MCP n'a pas pu être mise à jour."
|
||||
success: "La configuration MCP a été mise à jour avec succès."
|
||||
@@ -371,7 +371,7 @@ fr:
|
||||
contained_in_type: "Figurant dans le type"
|
||||
confirm_destroy_option: "Supprimer une option supprimera toutes ses occurrences (ex. dans les plans de travail). Êtes-vous sûr de vouloir le supprimer ?"
|
||||
reorder_alphabetical: "Réorganiser les valeurs par ordre alphabétique"
|
||||
reorder_confirmation: "Attention : l'ordre actuel des valeurs disponibles sera perdu. Continuer ?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "La sélection d'un lot de travaux ou d'un projet est requise en premier lieu"
|
||||
calculated_field_not_editable: "Attribut non modifiable. Cette valeur est calculée automatiquement."
|
||||
no_role_assigment: "Pas d'attribution de rôle"
|
||||
@@ -398,6 +398,12 @@ fr:
|
||||
Permet au champ personnalisé d'être utilisé dans un filtre dans les vues des lots de travaux. Notez que le champ personnalisé n'apparaîtra dans les vues globales que si l'option « Pour tous les projets » est sélectionnée.
|
||||
formula:
|
||||
project: "Ajoutez des valeurs numériques ou saisissez / pour rechercher un attribut ou un opérateur mathématique."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Il n'y a actuellement aucun champ personnalisé.
|
||||
no_results_content_text: Créer un nouveau champ personnalisé
|
||||
@@ -618,7 +624,7 @@ fr:
|
||||
is_for_all_blank_slate:
|
||||
heading: Pour tous les projets
|
||||
description: Cet attribut de projet est activé dans tous les projets, car l'option « Pour tous les projets » est cochée. Il ne peut pas être désactivé pour les projets individuels.
|
||||
enabled_via_assignee_when_submitted_html: This project attribute cannot be disabled since it is set as <a href=%{pir_submission_url} target="_blank">assignee when submitted</a> for project initiation requests.
|
||||
enabled_via_assignee_when_submitted_html: Cet attribut de projet ne peut pas être désactivé car il est défini comme <a href=%{pir_submission_url} target="_blank">assignee when submitted</a> pour les demandes d'initiation de projet.
|
||||
types:
|
||||
no_results_title_text: Il n'y a actuellement aucun type disponible.
|
||||
form:
|
||||
@@ -634,8 +640,8 @@ fr:
|
||||
new_label: "Nouvelle priorité"
|
||||
creation_wizard:
|
||||
errors:
|
||||
no_work_package_type: "Failed to enable project initiation request because it requires at least one active work package type and this project has none. Please add at least one work package type to this project."
|
||||
no_status_when_submitted: "Failed to enable project initiation request because work package type %{type} requires at least one status associated with it. Please enable at least one status workflow for this work package type."
|
||||
no_work_package_type: "La demande d'initiation de projet n'a pas pu être activée car elle nécessite au moins un type de lot de travaux actif et ce projet n'en a pas. Veuillez ajouter au moins un type de lot de travail à ce projet."
|
||||
no_status_when_submitted: "Échec de l'activation de la demande d'initiation de projet car le type de lot de travail %{type} doit être associé à au moins un statut. Veuillez activer au moins un workflow de statut pour ce type de work package."
|
||||
export:
|
||||
description_attachment_export: "L'artefact généré sera enregistré en tant que pièce jointe au format PDF dans le lot de travaux de l'artefact."
|
||||
description_file_link_export: "Le lot de travaux de l'artefact contient un lien vers un fichier PDF stocké dans un espace de stockage de fichiers externe. Nécessite un stockage de fichiers de travail avec des dossiers de projet gérés automatiquement pour ce projet. Pour le moment, seuls les espaces de stockage de fichiers Nextcloud sont pris en charge."
|
||||
@@ -649,7 +655,7 @@ fr:
|
||||
label_request_submission: "Demande d'envoi"
|
||||
project_attributes_description: >
|
||||
Sélectionnez les attributs du projet à inclure dans la demande de lancement du projet. Cette liste ne comprend que les [attributs du projet](project_attributes_url) activés pour ce projet.
|
||||
enabled_because_required_html: This project attribute cannot be disabled for this project initiation request since it is defined as required. This can be changed in the <a href=%{admin_settings_url} target="_blank">administration settings</a> by the administrator of the instance.
|
||||
enabled_because_required_html: Cet attribut de projet ne peut pas être désactivé pour cette demande d'initiation de projet puisqu'il est défini comme obligatoire. Il peut être modifié dans les <a href=%{admin_settings_url} target="_blank">paramètres d'administration</a> par l'administrateur de l'instance.
|
||||
status:
|
||||
button_edit: Modifier le statut
|
||||
wizard:
|
||||
@@ -1172,8 +1178,8 @@ fr:
|
||||
activerecord:
|
||||
attributes:
|
||||
agile/sprint:
|
||||
sharing: "Sharing"
|
||||
finish_date: "End date"
|
||||
sharing: "Partage"
|
||||
finish_date: "Échéance"
|
||||
announcements:
|
||||
show_until: "Afficher jusqu'à"
|
||||
attachment:
|
||||
@@ -1548,7 +1554,7 @@ fr:
|
||||
not_available: "n'est pas disponible en raison d'une configuration système."
|
||||
not_deletable: "ne peut pas être supprimé"
|
||||
not_current_user: "n'est pas l'utilisateur actuel."
|
||||
only_one_active_sprint_allowed: "only one active sprint is allowed per project."
|
||||
only_one_active_sprint_allowed: "un seul sprint actif est autorisé par projet."
|
||||
not_found: "introuvable."
|
||||
not_a_date: "n'est pas une date valide."
|
||||
not_a_datetime: "n'est pas une heure valide."
|
||||
@@ -1656,7 +1662,7 @@ fr:
|
||||
meeting:
|
||||
error_conflict: "Impossible d'enregistrer, car la réunion a été mise à jour par quelqu'un d'autre entre-temps. Veuillez recharger la page."
|
||||
message:
|
||||
cannot_move_message_to_forum_of_different_project: "A message cannot be moved to a forum of a different project."
|
||||
cannot_move_message_to_forum_of_different_project: "Un message ne peut pas être déplacé vers un forum d'un autre projet."
|
||||
notifications:
|
||||
at_least_one_channel: "Au moins un canal pour envoyer des notifications doit être spécifié."
|
||||
attributes:
|
||||
@@ -2878,7 +2884,7 @@ fr:
|
||||
new_features_list:
|
||||
line_0: Lancement automatisé de projets (module complémentaire Enterprise).
|
||||
line_1: "Réunions : ajoutez des work packages nouveaux ou existants en tant que résultats."
|
||||
line_2: "Meetings: show iCal responses in OpenProject."
|
||||
line_2: "Réunions : afficher les réponses iCal dans OpenProject."
|
||||
line_3: "Réunions récurrentes : dupliquez les points de l'ordre du jour lors de la prochaine réunion."
|
||||
line_4: "Mise à disposition de la Communauté : Mise en évidence des attributs."
|
||||
line_5: Avertissement avant l'ouverture de liens externes dans le contenu fourni par l'utilisateur (module complémentaire Enterprise).
|
||||
@@ -3988,7 +3994,7 @@ fr:
|
||||
notice_successful_delete: "Suppression réussie."
|
||||
notice_successful_cancel: "Annulation réussie."
|
||||
notice_successful_update: "Mise à jour réussie."
|
||||
notice_successful_move: "Successful move from %{from} to %{to}."
|
||||
notice_successful_move: "Passage réussi de %{from} à %{to}."
|
||||
notice_unsuccessful_create: "Échec de la création."
|
||||
notice_unsuccessful_create_with_reason: "Échec de la création : %{reason}"
|
||||
notice_unsuccessful_update: "Mise à jour échouée."
|
||||
@@ -4150,7 +4156,7 @@ fr:
|
||||
permission_edit_project_query: "Modifier la requête du projet"
|
||||
placeholders:
|
||||
default: "-"
|
||||
templated_hint: Automatically generated through type %{type}
|
||||
templated_hint: Généré automatiquement par le type %{type}
|
||||
portfolio:
|
||||
count:
|
||||
zero: "0 portefeuille"
|
||||
@@ -4335,9 +4341,9 @@ fr:
|
||||
setting_capture_external_links: "Saisir les liens externes"
|
||||
setting_capture_external_links_text: >
|
||||
Lorsque cette option est activée, tous les liens externes en texte formaté sont redirigés vers une page d'avertissement avant de quitter l'application. Cela permet de protéger les utilisateurs contre les sites web externes potentiellement malveillants.
|
||||
setting_capture_external_links_require_login: "Require users to be logged in"
|
||||
setting_capture_external_links_require_login: "Exiger que les utilisateurs soient connectés"
|
||||
setting_capture_external_links_require_login_text: >
|
||||
When enabled, users wanting to click on external links need to be logged in before being able to continue.
|
||||
Lorsque cette option est activée, les utilisateurs qui souhaitent cliquer sur des liens externes doivent être connectés avant de pouvoir continuer.
|
||||
setting_after_first_login_redirect_url: "Redirection de première connexion"
|
||||
setting_after_first_login_redirect_url_text_html: >
|
||||
Définissez un chemin pour rediriger les utilisateurs après leur première connexion. S’il est vide, les utilisateurs seront redirigés vers la page d'accueil de la visite d'intégration. <br/> Exemple : <code>/my/page</code>
|
||||
@@ -4382,9 +4388,9 @@ fr:
|
||||
setting_smtp_password: "Mot de passe SMTP"
|
||||
setting_smtp_domain: "Domaine SMTP HELO"
|
||||
setting_activity_days_default: "Nombre des jours affichés dans l'activité du projet"
|
||||
setting_api_tokens_enabled: "Enable API tokens"
|
||||
setting_api_tokens_enabled: "Activer les jetons API"
|
||||
setting_api_tokens_enabled_caption: >
|
||||
Decide whether users can create personal API tokens in their account settings. These tokens can be used to access the different APIs of OpenProject, such as APIv3 and MCP.
|
||||
Décidez si les utilisateurs peuvent créer des jetons API personnels dans les paramètres de leur compte. Ces jetons peuvent être utilisés pour accéder aux différentes API d'OpenProject, telles que APIv3 et MCP.
|
||||
setting_app_subtitle: "Sous-titre de l'Application"
|
||||
setting_app_title: "Titre de l'Application"
|
||||
setting_attachment_max_size: "Taille maximale de la pièce jointe"
|
||||
@@ -4811,7 +4817,6 @@ fr:
|
||||
text_length_between: "Longueur entre %{min} et %{max} caractères."
|
||||
text_line_separated: "Valeurs multiples autorisées (une ligne par valeur)."
|
||||
text_load_default_configuration: "Charger la configuration par défaut"
|
||||
text_min_max_length_info: "0 signifie aucune restriction"
|
||||
text_no_roles_defined: Il n'y a pas de rôles définis.
|
||||
text_no_access_tokens_configurable: "Il n'y a aucun jeton d'accès qui puisse être configuré."
|
||||
text_no_configuration_data: "Les rôles, les types, l'état des lots de travaux et les flux de travaux n'ont pas encore été configurés.\nIl est fortement recommandé de charger la configuration par défaut. Vous serrez capable de le modifier, une fois chargé."
|
||||
@@ -4826,7 +4831,6 @@ fr:
|
||||
text_powered_by: "Propulsé par %{link}"
|
||||
text_project_identifier_info: "Seulement les lettres en minuscule (a-z), les nombres, les tirets et les underscores sont autorisés, il est obligatoire de commencer avec une lettre en minuscule."
|
||||
text_reassign: "Réaffecter au lot de travaux :"
|
||||
text_regexp_info: "ex. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'L''expression régulière est appliquée en mode multi-ligne, e.g. ^---\\s+'
|
||||
text_repository_usernames_mapping: "Définir ou modifier les associations entre les utilisateurs d'OpenProject et les utilisateurs trouvés dans le dépôt.\nLes utilisateurs ayant des noms ou des adresses e-mail identiques sont automatiquement associés."
|
||||
text_status_changed_by_changeset: "Appliqué dans « changeset » %{value}."
|
||||
@@ -4925,10 +4929,10 @@ fr:
|
||||
reset_failed_logins: "Réinitialiser les connexions echouées"
|
||||
status_user_and_brute_force: "%{user} et %{brute_force}"
|
||||
status_change: "Changement de statut"
|
||||
text_change_disabled_for_provider_login: "The name and email is set by your login provider and can thus not be changed."
|
||||
text_change_disabled_for_provider_login: "Le nom et l'adresse électronique sont définis par votre fournisseur d'accès et ne peuvent donc pas être modifiés."
|
||||
unlock: "Déverrouiller"
|
||||
unlock_and_reset_failed_logins: "Déverrouiller et réinitialiser les échecs de connexion"
|
||||
error_cannot_delete_user: "User cannot be deleted"
|
||||
error_cannot_delete_user: "L'utilisateur ne peut pas être supprimé"
|
||||
version_status_closed: "clôturé"
|
||||
version_status_locked: "verrouillé"
|
||||
version_status_open: "ouvert"
|
||||
|
||||
@@ -371,7 +371,7 @@ he:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ he:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4915,7 +4921,6 @@ he:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4930,7 +4935,6 @@ he:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "למשל ^[A-Z0-9] + $"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ hi:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ hi:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4811,7 +4817,6 @@ hi:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4826,7 +4831,6 @@ hi:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ hr:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ hr:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Trenutno nije dostupno niti jedno prilagođeno polje.
|
||||
no_results_content_text: Novo prilagođeno polje
|
||||
@@ -4864,7 +4870,6 @@ hr:
|
||||
text_length_between: "Duljina između %{min} i %{max} znakova."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Učitaj zadanu konfiguraciju"
|
||||
text_min_max_length_info: "0 znači da nema ograničenja"
|
||||
text_no_roles_defined: Nema definiranih rola.
|
||||
text_no_access_tokens_configurable: "Ne postoje pristupni tokeni koji mogu biti konfigurirani."
|
||||
text_no_configuration_data: "Role, tipovi, statusi radnih paketa i tijek rada nisu konfiguirani. Preporuka je da učitate zadanu konfiguraciju. Moći ćete ju modificirati naokn što se učita."
|
||||
@@ -4879,7 +4884,6 @@ hr:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Dodijeli radnom paketu:"
|
||||
text_regexp_info: "npr. ^[A-Z0-9] + $"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Primjenjeno na changeset %{value}."
|
||||
|
||||
@@ -370,7 +370,7 @@ hu:
|
||||
contained_in_type: "A típus tartalmazza"
|
||||
confirm_destroy_option: "Egy opció törlése az összes eddigi használatánál (úgy, mint munkacsomagok) is törlődnek. Biztosan törölni szeretné?"
|
||||
reorder_alphabetical: "Név szerinti sorrendbe rendezés"
|
||||
reorder_confirmation: "Figyelmeztetés: A rendelkezésre álló értékek jelenlegi sorrendje elveszik. Folytatni akarod?\n"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -397,6 +397,12 @@ hu:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Jelenleg nincsenek egyéni mezők.
|
||||
no_results_content_text: Új egyéni mező létrehozása
|
||||
@@ -4811,7 +4817,6 @@ hu:
|
||||
text_length_between: "%{min} és %{max} karakter közötti hosszúságú."
|
||||
text_line_separated: "A többszörös érték adás megengedett (minden érték külön sorban)."
|
||||
text_load_default_configuration: "Az alapértelmezett konfiguráció betöltése"
|
||||
text_min_max_length_info: "0 azt jelenti, hogy nincs korlátozás"
|
||||
text_no_roles_defined: Nincsenek szerepkörök meghatározva.
|
||||
text_no_access_tokens_configurable: "Nincs hozzáférési token, amely konfigurálható."
|
||||
text_no_configuration_data: "Szerepkörök, típusok, a feladatcsoport állapotok és a munkafolyamatok nincsenek beállítva. Erősen ajánlott, az alapértelmezett konfiguráció betöltése. Akkor képes lesz arra, hogy módosítsa."
|
||||
@@ -4826,7 +4831,6 @@ hu:
|
||||
text_powered_by: "Készítette %{link}"
|
||||
text_project_identifier_info: "Csak kisbetű (a-z), számok, kötőjelek és aláhúzásjelek van engedélyezve, és kisbetűvel kell kezdődnie."
|
||||
text_reassign: "A munkacsomag ismételt hozzárendelése:"
|
||||
text_regexp_info: "pl. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'A reguláris kifejezés többsoros módban legyen alkalmazva. pld. ^---\s+'
|
||||
text_repository_usernames_mapping: "Jelölje be, vagy frissítse az alkalmazás felhasználóit, minden felhasználónév eltárolva, megtalálhatóak a csomagtároló naplóban. A felhasználók ugyanazzal az alkalmazási és csomagtárolói felhasználó névvel vagy email címmel automatikusan tárolódnak."
|
||||
text_status_changed_by_changeset: "A %{value} commit-ban hozzáadva."
|
||||
|
||||
@@ -367,7 +367,7 @@ id:
|
||||
contained_in_type: "Terkandung dalam jenis"
|
||||
confirm_destroy_option: "Menghapus sebuah pilihan akan menghapus semua kemunculan yang terjadi (mis. dalam paket pekerjaan). Apakah Anda yakin ingin menghapusnya?"
|
||||
reorder_alphabetical: "Susun ulang nilai menurut abjad"
|
||||
reorder_confirmation: "Peringatan: Urutan nilai yang tersedia saat ini akan hilang. Melanjutkan?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -394,6 +394,12 @@ id:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Tidak ada bidang kustom saat ini.
|
||||
no_results_content_text: Buat bidang kustom baru
|
||||
@@ -4755,7 +4761,6 @@ id:
|
||||
text_length_between: "Panjang antara %{min} dan %{max} karakter."
|
||||
text_line_separated: "Jika ada beberapa nilai, satu baris untuk tiap nilai."
|
||||
text_load_default_configuration: "Pakai konfigurasi default"
|
||||
text_min_max_length_info: "0 berarti tidak ada pembatasan"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Role, Tipe, status Paket-Penugasan dan Alur-Tugas belum dikonfigurasi. Disarankan untuk menggunakan konfigurasi default. Anda bisa mengubahnya setelah konfigurasi dibuat."
|
||||
@@ -4770,7 +4775,6 @@ id:
|
||||
text_powered_by: "Didukung oleh %{link}"
|
||||
text_project_identifier_info: "Hanya huruf kecil (a-z), angka, garis dan garis bawah yang diperbolehkan, harus diawali dengan huruf kecil."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "spt. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Pilih atau update user untuk dipetakan ke setiap username yang ditemukan di log repositori. User dengan username dan repositori atau email yang sama otomatis akan dipetakan."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -369,7 +369,7 @@ it:
|
||||
contained_in_type: "Contenuto nel tipo"
|
||||
confirm_destroy_option: "L'eliminazione di un'opzione eliminerà tutte le sue occorrenze (ad es. nelle macro-attività). Procedere all'eliminazione?"
|
||||
reorder_alphabetical: "Riordina i valori alfabeticamente"
|
||||
reorder_confirmation: "Attenzione: l'ordine corrente dei valori disponibili sarà perso. Continuare?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Prima è necessario selezionare la macro-attività o il progetto"
|
||||
calculated_field_not_editable: "Attributo non modificabile. Questo valore viene calcolato automaticamente."
|
||||
no_role_assigment: "Nessuna assegnazione di ruolo"
|
||||
@@ -396,6 +396,12 @@ it:
|
||||
Consenti l'utilizzo del campo personalizzato in un filtro nelle visualizzazioni delle macro-attività. Tieni presente che solo con l'opzione "Per tutti i progetti" selezionata, il campo personalizzato verrà visualizzato nelle visualizzazioni globali.
|
||||
formula:
|
||||
project: "Aggiungi valori numerici o digita / per cercare un attributo o un operatore matematico."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Al momento non esistono campi personalizzati.
|
||||
no_results_content_text: Crea un nuovo campo personalizzato
|
||||
@@ -4810,7 +4816,6 @@ it:
|
||||
text_length_between: "Lunghezza compresa tra %{min} e %{max} caratteri."
|
||||
text_line_separated: "Valori multipli consentiti (una linea per ogni valore)."
|
||||
text_load_default_configuration: "Carica la configurazione predefinita"
|
||||
text_min_max_length_info: "0 significa nessuna restrizione"
|
||||
text_no_roles_defined: Non ci sono ruoli definiti.
|
||||
text_no_access_tokens_configurable: "Non sono presenti token di accesso che possono essere configurati."
|
||||
text_no_configuration_data: "Ruoli, tipi, stati delle macro-attività e flusso di lavoro non sono stati ancora configurati. Si consiglia di caricare la configurazione predefinita. Sarà possibile modificarla in seguito."
|
||||
@@ -4825,7 +4830,6 @@ it:
|
||||
text_powered_by: "Offerto da %{link}"
|
||||
text_project_identifier_info: "Solo le lettere minuscole (a-z), numeri, trattini e trattini bassi sono consentiti, devi iniziare con una lettera maiuscola."
|
||||
text_reassign: "Riassegna alla macro-attività:"
|
||||
text_regexp_info: "es. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'L''espressione regolare viene applicata in modalità multi-linea. ad esempio, ^---\s+'
|
||||
text_repository_usernames_mapping: "Seleziona o aggiorna l'utente OpenProject mappato per ogni nome utente trovato nel registro dell'archivio. Gli utenti con lo stesso nome utente e repository OpenProject o e-mail vengono mappati automaticamente."
|
||||
text_status_changed_by_changeset: "Stato variato a partire dalla modifica %{value}."
|
||||
|
||||
@@ -369,7 +369,7 @@ ja:
|
||||
contained_in_type: "タイプに含まれる"
|
||||
confirm_destroy_option: "オプションを削除すると、そのすべての派生 (例えばワークパッケージ) が削除されます。削除してもよろしいですか?"
|
||||
reorder_alphabetical: "値をアルファベット順に並べ替える"
|
||||
reorder_confirmation: "警告:利用可能な値の現在の順序は失われます。続行しますか?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "最初にワークパッケージまたはプロジェクトの選択が必要です"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -396,6 +396,12 @@ ja:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: 現在、カスタム フィールドはありません。
|
||||
no_results_content_text: 新しいカスタム フィールドを作成
|
||||
@@ -4761,7 +4767,6 @@ ja:
|
||||
text_length_between: "長さは%{min}から%{max}文字までです。"
|
||||
text_line_separated: "(1行ごとに書くことで)複数の値を設定できます。"
|
||||
text_load_default_configuration: "デフォルト設定をロード"
|
||||
text_min_max_length_info: "0だと無制限になります。"
|
||||
text_no_roles_defined: 役割が定義されていません。
|
||||
text_no_access_tokens_configurable: "設定できるアクセストークンがありません。"
|
||||
text_no_configuration_data: "ロール、ワークパッケージのステータスとタイプ、ワークフローが未設定です。\nデフォルト設定のロードを強くお勧めします。ロードした後、それを修正することができます。"
|
||||
@@ -4776,7 +4781,6 @@ ja:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "アルファベット小文字(a-z)・数字・ハイフン・アンダースコアが使えます。アルファベット小文字で始まる必要があります。"
|
||||
text_reassign: "ワークパッケージへの再割り当て:"
|
||||
text_regexp_info: "例) ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: '正規表現は、複数行モードで適用されます。例えば、^---\s+'
|
||||
text_repository_usernames_mapping: "リポジトリのログから検出されたユーザ名をどのOpenProjectユーザに関連づけるかを選択してください。\nログ上のユーザ名またはメールアドレスがOpenProjectのユーザと一致する場合は自動的に関連づけます。"
|
||||
text_status_changed_by_changeset: "変更履歴%{value}で適用されました。"
|
||||
|
||||
@@ -371,7 +371,7 @@ ka:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ ka:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ ka:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ ka:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ kk:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ kk:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ kk:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ kk:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ ko:
|
||||
contained_in_type: "타입에 포함됨."
|
||||
confirm_destroy_option: "옵션을 삭제하면 모든 해당 항목(예: 작업 패키지 내 모든 항목)이 삭제됩니다. 그래도 삭제하시겠습니까?"
|
||||
reorder_alphabetical: "알파벳순으로 값 재정렬"
|
||||
reorder_confirmation: "경고: 사용 가능한 값의 현재 순서가 손실됩니다. 계속하시겠습니까?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "먼저 작업 패키지 또는 프로젝트를 선택해야 합니다"
|
||||
calculated_field_not_editable: "편집할 수 없는 특성입니다. 이 값은 자동으로 계산됩니다."
|
||||
no_role_assigment: "역할 할당 없음"
|
||||
@@ -398,6 +398,12 @@ ko:
|
||||
작업 패키지 보기의 필터에서 사용자 지정 필드를 사용할 수 있도록 허용합니다. '모든 프로젝트용'을 선택한 경우에만 사용자 지정 필드가 글로벌 보기에 표시됩니다.
|
||||
formula:
|
||||
project: "숫자 값을 추가하거나 /를 입력하여 특성 또는 수학 연산자를 검색합니다."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: 사용자 필드가 없습니다.
|
||||
no_results_content_text: 새 사용자 필드 생성
|
||||
@@ -4759,7 +4765,6 @@ ko:
|
||||
text_length_between: "%{min} ~ %{max}자 사이의 길이"
|
||||
text_line_separated: "여러 값이 허용됩니다(각 값에 대해 한 줄)."
|
||||
text_load_default_configuration: "기본 구성 로드"
|
||||
text_min_max_length_info: "0은 제한이 없음을 의미함"
|
||||
text_no_roles_defined: 정의된 역할이 없습니다.
|
||||
text_no_access_tokens_configurable: "구성할 수 있는 액세스 토큰이 없습니다."
|
||||
text_no_configuration_data: "역할, 유형, 작업 패키지 상태 및 워크플로가 아직 구성되지 않았습니다.\n기본 구성을 로드하는 것이 좋습니다. 로드한 후에 수정할 수 있습니다."
|
||||
@@ -4774,7 +4779,6 @@ ko:
|
||||
text_powered_by: "%{link} 제공"
|
||||
text_project_identifier_info: "소문자(a-z), 숫자, 대시(-) 및 밑줄(_)만 허용됩니다. 소문자로 시작해야 합니다."
|
||||
text_reassign: "작업 패키지에 다시 할당:"
|
||||
text_regexp_info: "예: ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: '멀티라인 모드에서 정규식이 적용됩니다. 예, e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "리포지토리 로그에 있는 각 사용자 이름에 매핑된 OpenProject 사용자를 선택하거나 업데이트하세요.\n동일한 OpenProject 및 리포지토리 사용자 이름이나 이메일을 가진 사용자가 자동으로 매핑됩니다."
|
||||
text_status_changed_by_changeset: "변경 집합 %{value}에 적용되었습니다."
|
||||
|
||||
@@ -368,7 +368,7 @@ lt:
|
||||
contained_in_type: "Laikomas tipe"
|
||||
confirm_destroy_option: "Ištrinant savybę, visi jos panaudojimai (pvz., darbų paketuose) taip pat bus ištrinti. Ar Jūs tikrai norite ištrinti?"
|
||||
reorder_alphabetical: "Perrikiuoti reikšmes alfabeto tvarka"
|
||||
reorder_confirmation: "Dėmesio: Dabartinė galimų reikšmių tvarka bus prarasta. Tęsti?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -395,6 +395,12 @@ lt:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Nėra jokių pasirinktinų laukų.
|
||||
no_results_content_text: Sukurti naują pasirinktinį lauką
|
||||
@@ -4909,7 +4915,6 @@ lt:
|
||||
text_length_between: "Ilgis tarp %{min} ir %{max} simbolių."
|
||||
text_line_separated: "Galimos kelios reikšmės (viena eilutė vienai reikšmei)."
|
||||
text_load_default_configuration: "Įkelti numatytąją konfigūraciją"
|
||||
text_min_max_length_info: "0 reiškia jokių apribojimų"
|
||||
text_no_roles_defined: Nėra nustatytų vaidmenų.
|
||||
text_no_access_tokens_configurable: "Nėra prieigos raktų, kurie gali būti konfigūruojami."
|
||||
text_no_configuration_data: "Vaidmenys, tipai, darbų paketo būsenos ir darbų eiga dar nesukonfigūruoti. Stipriai rekomenduojama įkelti numatytąją konfigūraciją. Jūs ją galėsite redaguoti iškart po įkėlimo."
|
||||
@@ -4924,7 +4929,6 @@ lt:
|
||||
text_powered_by: "Parengta pagal %{link}"
|
||||
text_project_identifier_info: "Leidžiamos tik mažosios raidės (a-z), skaitmenys, paprasti (-) ir žemi brūkšneliai (_). Taip pat privalo prasidėti mažąja raide."
|
||||
text_reassign: "Iš naujo priskirti darbų paketui:"
|
||||
text_regexp_info: "pvz., ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Reguliarioji išraiška yra pritaikoma daug eilučių režime, pvz., ^---\s+'
|
||||
text_repository_usernames_mapping: "Parinkite ar atnaujinkite OpenProject naudotoją, kuris paminėtas repozitorijos žurnale.\nNaudotojai, turintys tą patį OpenProject ir repozitorijos vardą ar el. paštą yra automatiškai surišti."
|
||||
text_status_changed_by_changeset: "Atlikta pakeitimų pakete %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ lv:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ lv:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Pašlaik nav neviena pielāgota lauka.
|
||||
no_results_content_text: Izveidot jaunu pielāgotu lauku
|
||||
@@ -4864,7 +4870,6 @@ lv:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 nozīmē, ka nekādu ierobežojumu"
|
||||
text_no_roles_defined: Nav nevienas definētas lomas.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4879,7 +4884,6 @@ lv:
|
||||
text_powered_by: "Darbojas uz %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ mn:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ mn:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ mn:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ mn:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -370,7 +370,7 @@ ms:
|
||||
contained_in_type: "Terkandung dalam jenis"
|
||||
confirm_destroy_option: "Padamkan satu pilihan akan memadamkan semua kejadian yang berkaitan dengannya (cth. dalam pakej kerja). Adakah anda pasti anda ingin memadamkannya?"
|
||||
reorder_alphabetical: "Susun semula nilai mengikut abjad"
|
||||
reorder_confirmation: "Amaran: Susunan semasa nilai yang sedia ada akan hilang. Teruskan?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -397,6 +397,12 @@ ms:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Tiada ruangan tersuai pada masa ini.
|
||||
no_results_content_text: Cipta ruangan tersuai baharu
|
||||
@@ -4759,7 +4765,6 @@ ms:
|
||||
text_length_between: "Panjang aksara antara %{min} dan %{max}."
|
||||
text_line_separated: "Lebihan nilai dibenarkan (satu baris untuk setiap nilai)."
|
||||
text_load_default_configuration: "Muatkan konfigurasi default"
|
||||
text_min_max_length_info: "0 bermakna tiada had"
|
||||
text_no_roles_defined: Tiada peranan ditentukan.
|
||||
text_no_access_tokens_configurable: "Tiada token akses yang boleh dikonfigurasikan."
|
||||
text_no_configuration_data: "Peranan, jenis, status pakej kerja dan aliran kerja belum dikonfigurasikan lagi. Sangat disarankan untuk memuatkan konfigurasi default. Anda akan dapat mengubahnya setelah ianya dimuatkan."
|
||||
@@ -4774,7 +4779,6 @@ ms:
|
||||
text_powered_by: "Dikuasakan oleh %{link}"
|
||||
text_project_identifier_info: "Hanya huruf kecil (a-z), nombor, sengkang dan tanda garis bawah adalah dibenarkan, mesti mula dengan huruf kecil."
|
||||
text_reassign: "Tugaskan semula ke pakej kerja:"
|
||||
text_regexp_info: "cth. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Regex digunakan dalam mod berbilang baris. cth., ^---\s+'
|
||||
text_repository_usernames_mapping: "Pilih atau kemas kini pengguna OpenProject yang dipetakan ke setiap nama pengguna yang ditemui dalam log repositori.\nPengguna dengan OpenProject dan nama pengguna repositori atau e-mel yang sama dipetakan secara automatik. "
|
||||
text_status_changed_by_changeset: "Dilaksanakan dalam set perubahan %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ ne:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ ne:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ ne:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ ne:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -368,7 +368,7 @@ nl:
|
||||
contained_in_type: "Opgenomen in type"
|
||||
confirm_destroy_option: "Het verwijderen van een optie zal alle voorkomingen verwijderen. Weet u zeker dat u deze optie wilt verwijderen?"
|
||||
reorder_alphabetical: "Rangschik waarden alfabetisch"
|
||||
reorder_confirmation: "Waarschuwing: De huidige volgorde van beschikbare waarden zal verloren gaan. Doorgaan?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Werkpakket- of projectselectie is eerst vereist"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -395,6 +395,12 @@ nl:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Momenteel zijn er geen aangepaste velden.
|
||||
no_results_content_text: Maak een nieuw aangepast veld
|
||||
@@ -4808,7 +4814,6 @@ nl:
|
||||
text_length_between: "Lengte tussen %{min} en %{max} karakters."
|
||||
text_line_separated: "Meerdere waarden toegestaan (één regel voor elke waarde)."
|
||||
text_load_default_configuration: "De standaardconfiguratie laden"
|
||||
text_min_max_length_info: "0 betekent geen beperking"
|
||||
text_no_roles_defined: Er zijn geen rollen gedefinieerd.
|
||||
text_no_access_tokens_configurable: "Er zijn geen toegangstokens die kunnen worden geconfigureerd."
|
||||
text_no_configuration_data: "Rollen, types, werkpakket statussen en workflow zijn nog niet geconfigureerd.\nHet wordt ten zeerste aangeraden om de standaard configuratie te laden. U kunt deze wijzigen zodra het is geladen."
|
||||
@@ -4823,7 +4828,6 @@ nl:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Alleen kleine letters (a-z), cijfers, streepjes en underscores (_) zijn toegestaan, moet beginnen met een kleine letter."
|
||||
text_reassign: "Opnieuw toewijzen aan werkpakket:"
|
||||
text_regexp_info: "bijv. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'De regex wordt toegepast in een modus met meerdere regels. bijvoorbeeld, ^---\s+'
|
||||
text_repository_usernames_mapping: "Selecteer of update de gebruiker van de OpenProject gelinkt aan elke gebruikersnaam gevonden in het repository log. Gebruikers met de zelfde OpenProject en repository gebruikersnaam of e-mail worden automatisch gelinkt."
|
||||
text_status_changed_by_changeset: "Toegepast in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
contained_in_type: "Type beholdt"
|
||||
confirm_destroy_option: "Sletting av et alternativ vil slette alle forekomster (f.eks i arbeidspakker). Er du sikker på at du vil slette den?"
|
||||
reorder_alphabetical: "Omorganiser verdier alfabetisk"
|
||||
reorder_confirmation: "Advarsel: Gjeldende rekkefølge for tilgjengelige verdier vil gå tapt. Vil du fortsette?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Det er ingen egendefinerte felt for øyeblikket.
|
||||
no_results_content_text: Opprett nytt egendefinert felt
|
||||
@@ -4812,7 +4818,6 @@
|
||||
text_length_between: "Lengde mellom %{min} og %{max} tegn."
|
||||
text_line_separated: "Flere verdier tillatt (en verdi pr. linje)."
|
||||
text_load_default_configuration: "Last inn standardoppsettet"
|
||||
text_min_max_length_info: "0 betyr ingen restriksjoner"
|
||||
text_no_roles_defined: Det er ingen roller definert.
|
||||
text_no_access_tokens_configurable: "Det finnes ingen tilgangsnøkler som kan konfigureres."
|
||||
text_no_configuration_data: "Roller, typer, arbeidspakkestatuser og arbeidsflyt har ikke blitt satt opp ennå.\nDet er sterkt anbefalt å laste standardoppsettet. Du kan redigere disse når de er lastet inn."
|
||||
@@ -4827,7 +4832,6 @@
|
||||
text_powered_by: "Driftes med %{link}"
|
||||
text_project_identifier_info: "Kun små bokstaver (a-z), tall, bindestrek og understrek er tillatt. Første tegn må være liten bokstav."
|
||||
text_reassign: "Tilordne til arbeidspakke:"
|
||||
text_regexp_info: "f.eks. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Denne regexen brukes i flerlinjemodus. f.eks ^---\s+'
|
||||
text_repository_usernames_mapping: "Velg eller oppdater OpenProject-brukeren knyttet til hvert enkelt brukernavn i pakkebrønn-loggen.\nBrukere med samme OpenProject- og pakkebrønn-brukernavn eller e-post tilknyttes automatisk."
|
||||
text_status_changed_by_changeset: "Benyttet i changeset %{value}."
|
||||
|
||||
@@ -368,7 +368,7 @@ pl:
|
||||
contained_in_type: "Zawartość"
|
||||
confirm_destroy_option: "Usunięcie tej opcji spowoduje usunięcie wszystkich powiązanych wystąpień (np. w Work Package). Czy na pewno chcesz to usunąć?"
|
||||
reorder_alphabetical: "Ustaw kolejność wartości alfabetycznie"
|
||||
reorder_confirmation: "Ostrzeżenie: Bieżąca kolejność dostępnych wartości zostanie utracona. Kontynuować?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "W pierwszej kolejności wymagany jest wybór pakietu roboczego lub projektu"
|
||||
calculated_field_not_editable: "Atrybut nieedytowalny. Ta wartość jest obliczana automatycznie."
|
||||
no_role_assigment: "Brak przypisanie roli"
|
||||
@@ -395,6 +395,12 @@ pl:
|
||||
Zezwól na użycie pola niestandardowego w filtrze w widokach pakietów roboczych. Pamiętaj, że pole niestandardowe będzie wyświetlane w widokach globalnych dopiero po zaznaczeniu opcji „Dla wszystkich projektów”.
|
||||
formula:
|
||||
project: "Dodaj wartości liczbowe lub wpisz „/”, aby wyszukać atrybut lub operator matematyczny."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Nie ma jeszcze żadnych pól użytkownika.
|
||||
no_results_content_text: Utwórz pole użytkownika
|
||||
@@ -4908,7 +4914,6 @@ pl:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Wiele wartości dopuszczalne (jeden wiersz dla każdej wartości)."
|
||||
text_load_default_configuration: "Załaduj domyślną konfigurację"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: Nie ma żadnych zdefiniowanych uprawnień.
|
||||
text_no_access_tokens_configurable: "Brak tokenów dostępu, które mogą być skonfigurowane."
|
||||
text_no_configuration_data: "Role, typy, statusy pakietów roboczych i przepływ pracy nie zostały jeszcze skonfigurowane.\nZalecane jest załadowanie domyślnej konfiguracji. Będzie można ją zmodyfikować po załadowaniu."
|
||||
@@ -4923,7 +4928,6 @@ pl:
|
||||
text_powered_by: "Napędzany przez %{link}"
|
||||
text_project_identifier_info: "Tylko małe litery (a-z), cyfry, myślniki i podkreślenia są dozwolone, oraz musi zaczynać się małą literą."
|
||||
text_reassign: "Ponowne przydzielenie do Zestawu zadań:"
|
||||
text_regexp_info: "np. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Wyrażenie regularne jest stosowane w trybie wielolinijkowym. np. ^---\s+'
|
||||
text_repository_usernames_mapping: "Wybierz lub zaktualizuj użytkownika OpenProject do każdego użytkownika w dzienniku repozytorium.\nUżytkownicy z tym samym loginem lub adresem e-mail w OpenProject i repozytorium są automatycznie mapowani."
|
||||
text_status_changed_by_changeset: "Zastosowane w zbiorze zmian %{value}."
|
||||
|
||||
@@ -370,7 +370,7 @@ pt-BR:
|
||||
contained_in_type: "Contido no tipo"
|
||||
confirm_destroy_option: "Removendo uma opção removerá todas as suas ocorrências (ex. em pacotes de trabalho). Tem certeza que você quer removê-la?"
|
||||
reorder_alphabetical: "Reorganizar valores em ordem alfabética"
|
||||
reorder_confirmation: "Aviso: A ordem atual dos valores disponíveis será perdida. Continuar?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Primeiro é necessária a seleção do pacote de trabalho ou projeto"
|
||||
calculated_field_not_editable: "Atributo não editável. O valor é calculado automaticamente."
|
||||
no_role_assigment: "Nenhuma atribuição de função"
|
||||
@@ -397,6 +397,12 @@ pt-BR:
|
||||
Permite que o campo personalizado seja usado como filtro nas visualizações de pacotes de trabalho. Observe que apenas com a opção "Para todos os projetos" selecionada o campo personalizado aparecerá nas visualizações globais.
|
||||
formula:
|
||||
project: "Adicione valores numéricos ou digite / para buscar um atributo ou um operador matemático."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Atualmente, não há campos personalizados.
|
||||
no_results_content_text: Criar um novo campo personalizado
|
||||
@@ -4809,7 +4815,6 @@ pt-BR:
|
||||
text_length_between: "Tamanho entre %{min} e %{max} caracteres."
|
||||
text_line_separated: "Vários valores permitidos (uma linha para cada valor)."
|
||||
text_load_default_configuration: "Carregar a configuração padrão"
|
||||
text_min_max_length_info: "0 significa nenhuma restrição"
|
||||
text_no_roles_defined: Não há nenhuma função definida.
|
||||
text_no_access_tokens_configurable: "Não há nenhum token de acesso que pode ser configurado."
|
||||
text_no_configuration_data: "Papéis, tipos, situação do pacote de trabalho e fluxo de trabalho não foram configurados ainda. É altamente recomendável carregar a configuração padrão. Uma vez carregada, você será capaz de modificá-la."
|
||||
@@ -4824,7 +4829,6 @@ pt-BR:
|
||||
text_powered_by: "Desenvolvido por %{link}"
|
||||
text_project_identifier_info: "Apenas letras minúsculas (a-z), números, hífens e sublinhados são permitidos, deve-se começar com uma letra minúscula."
|
||||
text_reassign: "Reatribua ao pacote de trabalho:"
|
||||
text_regexp_info: "ex. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'A expressão regular é aplicada no modo multilinha. Por exemplo: ^---\s+'
|
||||
text_repository_usernames_mapping: "Selecionar ou atualizar o usuário do OpenProject mapeado para cada nome de usuário encontrado no log do repositório. Os usuários com o mesmo nome de usuário OpenProject e repositório ou e-mail serão mapeados automaticamente."
|
||||
text_status_changed_by_changeset: "Aplicado no conjunto de alterações %{value}."
|
||||
|
||||
@@ -369,7 +369,7 @@ pt-PT:
|
||||
contained_in_type: "Incluído no tipo"
|
||||
confirm_destroy_option: "Apagar uma opção irá apagar todas as suas ocorrências (ex. em pacotes de trabalho). Tem certeza que quer apagá-la?"
|
||||
reorder_alphabetical: "Reordenar valores em ordem alfabética"
|
||||
reorder_confirmation: "Aviso: A ordem atual de valores disponíveis será perdida. Continuar?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "A seleção do pacote de trabalho ou do projeto é necessária em primeiro lugar"
|
||||
calculated_field_not_editable: "Atributo não editável. Este valor é calculado automaticamente."
|
||||
no_role_assigment: "Sem atribuição de funções"
|
||||
@@ -396,6 +396,12 @@ pt-PT:
|
||||
Permita que o campo personalizado seja utilizado num filtro nas vistas do pacote de trabalho. Note que apenas com a opção "Para todos os projetos" selecionada, o campo personalizado irá aparecer nas vistas globais.
|
||||
formula:
|
||||
project: "Adicione valores numéricos ou escreva / para procurar um atributo ou um operador matemático."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Atualmente, não existem campos personalizados.
|
||||
no_results_content_text: Criar um novo campo personalizado
|
||||
@@ -4807,7 +4813,6 @@ pt-PT:
|
||||
text_length_between: "Comprimento entre %{min} e %{max} caráteres."
|
||||
text_line_separated: "Múltiplos valores permitidos (uma linha para cada valor)."
|
||||
text_load_default_configuration: "Carregar a configuração por defeito"
|
||||
text_min_max_length_info: "0 significa sem restrições"
|
||||
text_no_roles_defined: Não existem papéis definidos.
|
||||
text_no_access_tokens_configurable: "Não há tokens de acesso que possam ser configurados."
|
||||
text_no_configuration_data: "Os papéis, tipos, estados de pacotes de trabalho e o fluxo de trabalho ainda não foram configurados.\nÉ recomendado carregar as configurações padrão. Poderá modificá-las depois de estarem carregadas."
|
||||
@@ -4822,7 +4827,6 @@ pt-PT:
|
||||
text_powered_by: "Desenvolvido por %{link}"
|
||||
text_project_identifier_info: "Apenas letras minúsculas (a-z), números, traços e underscores são permitidos, deve começar com uma letra minúscula."
|
||||
text_reassign: "Reatribuir pacote de trabalho:"
|
||||
text_regexp_info: "ex. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Regex é aplicado num modo de várias linhas. por exemplo, ^---\s+'
|
||||
text_repository_usernames_mapping: "Selecionar ou atualizar o utilizador de OpenProjecto mapeado a cada nome de utilizador encontrado no repositório.\nUtilizadores com o mesmo nome de utilizador ou e-mail no OpenProject e no repositório são mapeados automaticamente."
|
||||
text_status_changed_by_changeset: "Aplicado no changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ ro:
|
||||
contained_in_type: "Înclusă în tipul"
|
||||
confirm_destroy_option: "Ștergerea unei opțiuni va șterge toate aparițiile acesteia (de exemplu, în pachetele de lucru). Sunteți sigur că doriți să o ștergeți?"
|
||||
reorder_alphabetical: "Reordonează valorile alfabetic"
|
||||
reorder_confirmation: "Avertisment: Ordinea curentă a valorilor disponibile se va pierde. Continuați?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ ro:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: În acest moment nu există câmpuri personalizate.
|
||||
no_results_content_text: Creează câmp personalizat nou
|
||||
@@ -4863,7 +4869,6 @@ ro:
|
||||
text_length_between: "Lungime între %{min} şi %{max} de caractere."
|
||||
text_line_separated: "Sunt permise valori multiple (un rând pentru fiecare valoare)."
|
||||
text_load_default_configuration: "Încărcare configurația implicită"
|
||||
text_min_max_length_info: "0 înseamnă eliminarea restricției"
|
||||
text_no_roles_defined: Nu există roluri definite.
|
||||
text_no_access_tokens_configurable: "Nu există tichete de acces care pot fi configurate."
|
||||
text_no_configuration_data: "Rolurile, tipurile, stările pachetelor de lucru și fluxul de lucru nu au fost configurate încă.\nEste recomandat să încărcați configurația implicită. Veți putea să o modificați după ce e încărcată."
|
||||
@@ -4878,7 +4883,6 @@ ro:
|
||||
text_powered_by: "Propulsat de %{link}"
|
||||
text_project_identifier_info: "Doar litere mici (a-z), numere, cratime şi linii de subliniere sunt permise, trebuie să înceapă cu o literă mică."
|
||||
text_reassign: "Reatribuire la pachetul de lucru:"
|
||||
text_regexp_info: "ex. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Formula regex este aplicată într-un mod multilinie - de exemplu: ^---\s+'
|
||||
text_repository_usernames_mapping: "Selectați sau modificați contul OpenProject mapat la fiecare cont din istoricul repo-ului.\nUtilizatorii cu cont sau e-mail identic în OpenProject și repo sunt echivalați automat."
|
||||
text_status_changed_by_changeset: "Aplicat prin editarea %{value}."
|
||||
|
||||
@@ -370,7 +370,7 @@ ru:
|
||||
contained_in_type: "Содержится в типе"
|
||||
confirm_destroy_option: "Удаление опции приведет к удалению всех ее вхождений (например, в пакеты работ). Вы уверены, что вы хотите удалить ее?"
|
||||
reorder_alphabetical: "Переупорядочить значения по алфавиту"
|
||||
reorder_confirmation: "Внимание: Текущий порядок доступных значений будет утерян. Продолжить?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Сначала необходимо выбрать пакет работ или проект"
|
||||
calculated_field_not_editable: "Не редактируемый атрибут. Это значение рассчитывается автоматически."
|
||||
no_role_assigment: "Роль не назначена"
|
||||
@@ -397,6 +397,12 @@ ru:
|
||||
Разрешить использовать пользовательское поле в качестве фильтра в представлениях пакетов работ. Обратите внимание, что только при выборе опции 'Для всех проектов' пользовательское поле будет отображаться в глобальных представлениях.
|
||||
formula:
|
||||
project: "Добавьте числовые значения или введите / для поиска атрибута или математического оператора."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Нет настраиваемых полей.
|
||||
no_results_content_text: Создать новое настраиваемое поле
|
||||
@@ -4910,7 +4916,6 @@ ru:
|
||||
text_length_between: "Количество символов между %{min} и %{max} ."
|
||||
text_line_separated: "Допускается несколько значений (одна строка для каждого значения)."
|
||||
text_load_default_configuration: "Загрузить конфигурацию по умолчанию"
|
||||
text_min_max_length_info: "0 означает отсутствие ограничений"
|
||||
text_no_roles_defined: Роли не определены.
|
||||
text_no_access_tokens_configurable: "Маркеры доступа, которые могут быть настроены, отсутствуют."
|
||||
text_no_configuration_data: "Роли, типы, статусы пакетов работ и рабочие потоки еще не сконфигурированы. Настоятельно рекомендуем для правки загрузить конфигурацию по умолчанию."
|
||||
@@ -4925,7 +4930,6 @@ ru:
|
||||
text_powered_by: "С использованием %{link}"
|
||||
text_project_identifier_info: "Разрешены только строчные буквы (a-z), цифры, тире и знаки подчеркивания, начинать с буквы нижнего регистра."
|
||||
text_reassign: "Переназначить для пакета работ:"
|
||||
text_regexp_info: "например: ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Регулярное выражение применяется в многострочном режиме. Например: ^---\s+'
|
||||
text_repository_usernames_mapping: "Выберете или обновите пользователя OpenProject сопоставленного с именами пользователей найдеными в журнале репозитория. Пользователи с одинаковыми именами в OpenProject и в репозитории или почте будут сопоставлены автоматически."
|
||||
text_status_changed_by_changeset: "Применены в наборе изменений %{value}."
|
||||
@@ -5026,7 +5030,7 @@ ru:
|
||||
reset_failed_logins: "Сброс неудачных попыток входа"
|
||||
status_user_and_brute_force: "%{user} и %{brute_force}"
|
||||
status_change: "Смена статуса"
|
||||
text_change_disabled_for_provider_login: "The name and email is set by your login provider and can thus not be changed."
|
||||
text_change_disabled_for_provider_login: "Это имя и адрес электронной почты заданы вашим поставщиком авторизации, поэтому их нельзя изменить."
|
||||
unlock: "Разблокировать"
|
||||
unlock_and_reset_failed_logins: "Разблокировать и сбросить неудачные попытки входа"
|
||||
error_cannot_delete_user: "User cannot be deleted"
|
||||
|
||||
@@ -371,7 +371,7 @@ rw:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ rw:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ rw:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ rw:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ si:
|
||||
contained_in_type: "වර්ගය අඩංගු"
|
||||
confirm_destroy_option: "විකල්පයක් මකා දැමීමෙන් එහි සියලු සිදුවීම් මකා දමනු ඇත (උදා: වැඩ පැකේජවල). ඔබට එය මකා දැමීමට අවශ්ය බව ඔබට විශ්වාසද?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ si:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: දැනට අභිරුචි ක්ෂේත්ර නොමැත.
|
||||
no_results_content_text: නව අභිරුචි ක්ෂේත්රයක් සාදන්න
|
||||
@@ -4813,7 +4819,6 @@ si:
|
||||
text_length_between: "%{min} සහ %{max} අක්ෂර අතර දිග."
|
||||
text_line_separated: "බහු අගයන් අවසර දී ඇත (එක් එක් අගය සඳහා එක් රේඛාවක්)."
|
||||
text_load_default_configuration: "පෙරනිමි වින්යාසය පටවන්න"
|
||||
text_min_max_length_info: "0 යනු සීමා කිරීමක් නොවේ"
|
||||
text_no_roles_defined: අර්ථ දක්වා ඇති භූමිකාවන් නොමැත.
|
||||
text_no_access_tokens_configurable: "වින්යාසගත කළ හැකි ප්රවේශ ටෝකන නොමැත."
|
||||
text_no_configuration_data: "භූමිකාවන්, වර්ග, වැඩ පැකේජ තත්වයන් සහ කාර්ය ප්රවාහය තවමත් වින්යාස කර නොමැත.\nපෙරනිමි වින්යාසය පූරණය කිරීම අතිශයින් රෙකමදාරු කරනු ලැබේ. පටවන ලද පසු එය වෙනස් කිරීමට ඔබට හැකි වනු ඇත."
|
||||
@@ -4828,7 +4833,6 @@ si:
|
||||
text_powered_by: "%{link}විසින් තල්ලු"
|
||||
text_project_identifier_info: "අඩු සිද්ධි අකුරු (a-z), අංක, ඩෂ් සහ යටි ඉරි වලට පමණක් අවසර ඇත, අඩු සිද්ධි අකුරකින් ආරම්භ කළ යුතුය."
|
||||
text_reassign: "වැඩ පැකේජයට නැවත පැවරීම:"
|
||||
text_regexp_info: "උදා: ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'රීජෙක්ස් බහු රේඛා මාදිලියක යොදනු ලැබේ. උදා: ^ —\ s+'
|
||||
text_repository_usernames_mapping: "ගබඩාවේ ඇති එක් එක් පරිශීලක නාමයට සිතියම් ගත කර ඇති OpenProject පරිශීලකයා තෝරන්න හෝ යාවත්කාලීන කරන්න.\nඑකම OpenProject සහ ගබඩාව පරිශීලක නාමය හෝ විද්යුත් තැපෑල සහිත පරිශීලකයින් ස්වයංක්රීයව සිතියම් ගත කරනු ලැබේ."
|
||||
text_status_changed_by_changeset: "%{value}හි ව්යවහාරික වේ."
|
||||
|
||||
@@ -371,7 +371,7 @@ sk:
|
||||
contained_in_type: "Obsiahnuté v type"
|
||||
confirm_destroy_option: "Odstránením hodnoty sa odstránia všetky predtým nastavené hodnoty (napríklad pre pracovné balíčky). Naozaj chcete odstrániť hodnotu?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ sk:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Momentálne nie sú k dispozícií žiadne vlastné polia.
|
||||
no_results_content_text: Vytvoriť nové vlastné pole
|
||||
@@ -4914,7 +4920,6 @@ sk:
|
||||
text_length_between: "Dĺžka medzi %{min} až %{max} znakov."
|
||||
text_line_separated: "Je povolené zadať viaceré hodnoty (každú hodnotu na samostatný riadok)."
|
||||
text_load_default_configuration: "Nahrať predvolenú konfiguráciu"
|
||||
text_min_max_length_info: "0 znamená bez obmedzení"
|
||||
text_no_roles_defined: Nie sú definované žiadne role.
|
||||
text_no_access_tokens_configurable: "Neexistujú žiadne Prístupové Tokeny, ktoré môžu byť konfigurované."
|
||||
text_no_configuration_data: "Roly, typy, pracovný balík stavy a pracovný postup zatiaľ neboli nakonfigurované. Doporučujeme načítať predvolenú konfiguráciu. Po je jnačítaní ju budete mať možnosť zmeniť podľa Vašich potrieb."
|
||||
@@ -4929,7 +4934,6 @@ sk:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Sú povolené len malé písmená (a-z), čísla, pomlčky a podčiarkovníky, hodnota musí začínať malým písmenom."
|
||||
text_reassign: "Zaradenie do pracovného balíčka:"
|
||||
text_regexp_info: "napr. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Regex je aplikovaný v režime s viacerými riadkami. napríklad ^---\s+'
|
||||
text_repository_usernames_mapping: "Vyberte alebo aktualizujte priradenie používateľov systému OpenProject k menám používateľov nájdených v zázname repozitára.\nPoužívatelia s rovnakým prihlasovacím menom alebo emailom v systéme OpenProject a repozitári sú priradení automaticky."
|
||||
text_status_changed_by_changeset: "Aplikované v súbore zmien %{value}."
|
||||
|
||||
@@ -370,7 +370,7 @@ sl:
|
||||
contained_in_type: "Vsebovano v vrstah"
|
||||
confirm_destroy_option: "Če izbrišete možnost, boste izbrisali vse njene primere (npr. v delovnih paketih). Ali ste prepričani, da ga želite izbrisati?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -397,6 +397,12 @@ sl:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Trenutno ni poslovnih procesov
|
||||
no_results_content_text: Ustvarite novo uporabniško lastnost
|
||||
@@ -4913,7 +4919,6 @@ sl:
|
||||
text_length_between: "Dolžina med %{min} in %{max} znakov."
|
||||
text_line_separated: "Dovoljenih več vrednosti (ena vrstica za vsako vrednost)."
|
||||
text_load_default_configuration: "Naloži privzeto konfiguracijo"
|
||||
text_min_max_length_info: "0 pomeni brez omejitev"
|
||||
text_no_roles_defined: Nobene vloge ni definirane
|
||||
text_no_access_tokens_configurable: "Dostopnih žetonov ni mogoče konfigurirati."
|
||||
text_no_configuration_data: "Vloge, vrste, statusi delovnega paketa in potek dela še niso konfigurirani.\nZelo priporočljivo je, da naložite privzeto konfiguracijo. Ko ga boste naložili, ga boste lahko spremenili."
|
||||
@@ -4928,7 +4933,6 @@ sl:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Dovoljene so samo male črke (a-z), številke, črtice in podčrtaji, ki se začnejo z malo začetnico."
|
||||
text_reassign: "Ponovno dodelitev delovnemu paketu:"
|
||||
text_regexp_info: "npr. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Označba se uporablja v večvrstičnem načinu. npr. ^ --- \ s +'
|
||||
text_repository_usernames_mapping: "Izberite ali posodobite uporabnika OpenProject, vezanega na vsako uporabniško ime, ki ga najdete v dnevniku repozitorija.\nUporabniki z istim uporabniškim imenom ali e-poštnim imenom skladišča OpenProject se samodejno povežejo."
|
||||
text_status_changed_by_changeset: "Dodano v zapis sprememb %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ sr:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ sr:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4864,7 +4870,6 @@ sr:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4879,7 +4884,6 @@ sr:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ sv:
|
||||
contained_in_type: "Ingår i typ"
|
||||
confirm_destroy_option: "Radering av ett alternativ kommer radera alla förekomster (i arbetspaket). Är du säker på att du vill radera?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ sv:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Det finns för närvarande inga anpassade fält.
|
||||
no_results_content_text: Skapa ett nytt anpassat fält
|
||||
@@ -4811,7 +4817,6 @@ sv:
|
||||
text_length_between: "Längd mellan %{min} och %{max} tecken."
|
||||
text_line_separated: "Flera värden tillåtna (en rad för varje värde)."
|
||||
text_load_default_configuration: "Ladda standardkonfigurationen"
|
||||
text_min_max_length_info: "0 innebär ingen begränsning"
|
||||
text_no_roles_defined: Det har inte definierats några roller.
|
||||
text_no_access_tokens_configurable: "Det finns inga åtkomstnycklar som kan konfigureras."
|
||||
text_no_configuration_data: "Roller, typer, status för arbetspaket och arbetsflöden har inte konfigurerats ännu. Det rekommenderas starkt att läsa in standardkonfigurationen. Du kommer att kunna ändra dem när de är initialiserade."
|
||||
@@ -4826,7 +4831,6 @@ sv:
|
||||
text_powered_by: "Drivs av %{link}"
|
||||
text_project_identifier_info: "Bara gemena bokstäver (a-z), siffror, bindestreck och understreck tillåts och måste dessutom börja med en gemen bokstav."
|
||||
text_reassign: "Tilldela till arbetspaket:"
|
||||
text_regexp_info: "t.ex. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Regex appliceras i flerradsläge. t.ex. ^---\s+'
|
||||
text_repository_usernames_mapping: "Välj eller uppdatera OpenProject användaren koppling till varje användarnamn i versionsarkivloggen. Användare med samma användarnamn eller E-post i OpenProject och versionsarkivet kopplas automatiskt."
|
||||
text_status_changed_by_changeset: "Tillämpad i uppdatering %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ th:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ th:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4762,7 +4768,6 @@ th:
|
||||
text_length_between: "ความยาวระหว่าง %{min} จนถึง %{max} ตัวอักษร"
|
||||
text_line_separated: "อนุญาตให้มีหลายค่าได้ (หนึ่งค่าต่อหนึ่งบรรทัด)"
|
||||
text_load_default_configuration: "โหลดการกำหนดค่าเริ่มต้น"
|
||||
text_min_max_length_info: "0 หมายถึง ไม่มีข้อจำกัด"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4777,7 +4782,6 @@ th:
|
||||
text_powered_by: "ดำเนินการโดย %{link}"
|
||||
text_project_identifier_info: "ใช้ได้เฉพาะตัวพิมพ์เล็ก (a-z), ตัวเลข เส้นประ และขีดใต้ โดย ต้องเริ่มต้น ด้วยตัวอักษรพิมพ์เล็กเท่านั้น"
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "ต.ย. เช่น ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "มีการนำไปใช้ในชุดการเปลี่ยนแปลง %{value}"
|
||||
|
||||
@@ -372,7 +372,7 @@ tr:
|
||||
contained_in_type: "Kullanıldığı tipler"
|
||||
confirm_destroy_option: "Bir seçeneğin silinmesi, kullanıldığı her yerden (örneğin iş paketleri) silinmesine neden olur. Silmek istediğinizden emin misiniz?"
|
||||
reorder_alphabetical: "Değerleri alfabetik olarak yeniden sıralayın"
|
||||
reorder_confirmation: "Uyarı: Mevcut değerlerin sırası kaybolacak. Devam et?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Öncelikle iş paketi veya proje seçimi gereklidir"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -399,6 +399,12 @@ tr:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Şu anda özel bir alan bulunmamakta.
|
||||
no_results_content_text: Yeni bir özel alan oluştur
|
||||
@@ -1049,7 +1055,6 @@ tr:
|
||||
title: "İş paketi paylaşımı için iş akışı eksik"
|
||||
message: "'İş paketi düzenleyicisi' rolü için hiçbir iş akışı yapılandırılmamıştır. Bir iş akışı olmadan, paylaşılan kullanıcı iş paketinin durumunu değiştiremez. İş akışları kopyalanabilir. Bir kaynak türü (örn. 'Görev') ve kaynak rolü (örn. 'Üye') seçin. Ardından hedef türleri seçin. Başlangıç olarak, tüm türleri hedef olarak seçebilirsiniz. Son olarak, hedef olarak 'İş paketi düzenleyicisi' rolünü seçin ve 'Kopyala' düğmesine basın. Varsayılanları bu şekilde oluşturduktan sonra, diğer tüm roller için yaptığınız gibi iş akışlarında ince ayar yapın."
|
||||
link_message: "İş akışlarını yönetim alanından yapılandırın."
|
||||
templated_subject_hint: '%{type} türü aracılığıyla otomatik olarak oluşturulur'
|
||||
summary:
|
||||
reports:
|
||||
category:
|
||||
@@ -3237,7 +3242,6 @@ tr:
|
||||
label_duplicate: "kopya"
|
||||
label_duplicates: "kopyalayan"
|
||||
label_edit: "Düzenle"
|
||||
label_edit_attribute: "Özellikleri düzenle"
|
||||
label_edit_x: "Düzenle: %{x}"
|
||||
label_enable_multi_select: "Çoklu seçimi etkinleştir"
|
||||
label_enabled_project_custom_fields: "Etkin özel alanlar"
|
||||
@@ -4813,7 +4817,6 @@ tr:
|
||||
text_length_between: "%{min} ve %{max} karakter arası uzunluk."
|
||||
text_line_separated: "Birden fazla değer kullanılabilir (her değer için bir satır)."
|
||||
text_load_default_configuration: "Varsayılan yapılandırmayı yükle"
|
||||
text_min_max_length_info: "0 sınırlama yok demektir"
|
||||
text_no_roles_defined: Hiçbir rol tanımlanmadı.
|
||||
text_no_access_tokens_configurable: "Yapılandırılacak erişim belirteçleri yok."
|
||||
text_no_configuration_data: "Roller, türleri, çalışma paketi durumu ve iş akışı henüz yapılandırılmadı. Varsayılan yapılandırmayı yüklemeniz kesinlikle önerilir. Yüklendikten sonra onu değiştirebileceksiniz."
|
||||
@@ -4828,7 +4831,6 @@ tr:
|
||||
text_powered_by: "%{link} tarafından destekleniyor"
|
||||
text_project_identifier_info: "Yalnızca küçük harfler (a-z), sayılar, tire ve alt tire kullanılabilir ve mutlaka küçük harfle başlamalıdır."
|
||||
text_reassign: "İş paketine yeniden atama:"
|
||||
text_regexp_info: "ör ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Regex (düzenli ifade) birden çok satırlı modda uygulanır. Örneğin, ^---\s+'
|
||||
text_repository_usernames_mapping: "Depo günlüklerinde bulunan her kullanıcı adına eşlenen OpenProject kullanıcısını seçin veya güncelleyin. Aynı OpenProject ve depo kullanıcı adına veya e-postasına sahip kullanıcılar otomatik olarak eşleştirilir."
|
||||
text_status_changed_by_changeset: "Uygulanan Değişiklik listesi %{value}."
|
||||
|
||||
@@ -368,7 +368,7 @@ uk:
|
||||
contained_in_type: "Міститься за типом"
|
||||
confirm_destroy_option: "Видалення опції призведе до видалення всіх його подій (наприклад, у робочих пакетах). Дійсно видалити його?"
|
||||
reorder_alphabetical: "Перевпорядкувати значення за алфавітом"
|
||||
reorder_confirmation: "Увага! Поточний порядок доступних значень буде втрачено. Продовжити?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Спочатку потрібно вибрати пакет робіт або проєкт"
|
||||
calculated_field_not_editable: "Атрибут не підлягає редагуванню. Його значення обчислюється автоматично."
|
||||
no_role_assigment: "Роль не призначено"
|
||||
@@ -395,6 +395,12 @@ uk:
|
||||
Дозвольте використовувати користувацьке поле у фільтрі в поданнях пакетів робіт. Зверніть увагу: користувацьке поле відображатиметься в глобальних поданнях, лише якщо встановлено прапорець «Для всіх проєктів».
|
||||
formula:
|
||||
project: "Додайте числові значення або введіть «/» для пошуку атрибута чи математичного оператора."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Наразі немає спеціальних полів.
|
||||
no_results_content_text: Створіть нове спеціальне поле
|
||||
@@ -4907,7 +4913,6 @@ uk:
|
||||
text_length_between: "Довжина між %{min} і %{max} символів."
|
||||
text_line_separated: "Дозволено кілька значень (по одному значенню в рядок)."
|
||||
text_load_default_configuration: "Завантажити Конфігурацію по замовчуванню"
|
||||
text_min_max_length_info: "0 означає відсутність заборон"
|
||||
text_no_roles_defined: Не визначено жодної ролі.
|
||||
text_no_access_tokens_configurable: "Немає маркерів доступу, які можна налаштувати."
|
||||
text_no_configuration_data: "Роль, типи, пакет робочі статуси і процес ще не налаштований.\nНастійно рекомендується завантажити налаштування за замовчуванням. Ви зможете змінити його тільки один раз."
|
||||
@@ -4922,7 +4927,6 @@ uk:
|
||||
text_powered_by: "Працює на %{link}"
|
||||
text_project_identifier_info: "Допускаються тільки рядкові малі букви (a-z), цифри, тире та нижнє підкреслення. Початок має бути з малої літери."
|
||||
text_reassign: "Перепризначити робочому пакету:"
|
||||
text_regexp_info: "наприклад ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Реестр застосовується в багаторядковому режимі. наприклад, --- ---'
|
||||
text_repository_usernames_mapping: "Виберіть або оновіть користувача OpenProject, зіставленого з кожним ім'ям користувача в журналі репозиторію.\nКористувачі з таким самим ім'ям користувача або електронною поштою OpenProject автоматично відображаються."
|
||||
text_status_changed_by_changeset: " Застосовується в наборі змін %{value}"
|
||||
|
||||
@@ -371,7 +371,7 @@ uz:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -398,6 +398,12 @@ uz:
|
||||
Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
no_results_content_text: Create a new custom field
|
||||
@@ -4813,7 +4819,6 @@ uz:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -4828,7 +4833,6 @@ uz:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -371,7 +371,7 @@ vi:
|
||||
contained_in_type: "Chứa trong loại"
|
||||
confirm_destroy_option: "Xóa một tùy chọn sẽ xóa tất cả các sự kiện của nó (ví dụ như trong các gói công việc). Bạn có chắc bạn muốn xóa bỏ nó?"
|
||||
reorder_alphabetical: "Sắp xếp lại các giá trị theo thứ tự bảng chữ cái"
|
||||
reorder_confirmation: "Cảnh báo: Thứ tự hiện tại của các giá trị sẵn có sẽ bị mất. Tiếp tục?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Lựa chọn gói công việc hoặc dự án là bắt buộc trước tiên"
|
||||
calculated_field_not_editable: "Thuộc tính không thể chỉnh sửa. Giá trị này được tính toán tự động."
|
||||
no_role_assigment: "Không phân công vai trò"
|
||||
@@ -398,6 +398,12 @@ vi:
|
||||
Cho phép sử dụng trường tùy chỉnh trong bộ lọc trong chế độ xem gói công việc. Lưu ý rằng chỉ khi chọn 'Dành cho tất cả dự án', trường tùy chỉnh sẽ hiển thị ở chế độ xem chung.
|
||||
formula:
|
||||
project: "Thêm giá trị số hoặc nhập / để tìm kiếm thuộc tính hoặc toán tử toán học."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: Không có hiện tại không có trường tùy chỉnh.
|
||||
no_results_content_text: Tạo trường tùy chỉnh mới
|
||||
@@ -4760,7 +4766,6 @@ vi:
|
||||
text_length_between: "Độ dài từ %{min} đến %{max} ký tự."
|
||||
text_line_separated: "Cho phép nhiều giá trị (mỗi giá trị một dòng)."
|
||||
text_load_default_configuration: "Tải cấu hình mặc định"
|
||||
text_min_max_length_info: "0 có nghĩa là không hạn chế"
|
||||
text_no_roles_defined: Không có vai trò nào được xác định.
|
||||
text_no_access_tokens_configurable: "Không có mã thông báo truy cập nào có thể được cấu hình."
|
||||
text_no_configuration_data: "Vai trò, loại, trạng thái gói công việc và quy trình làm việc chưa được định cấu hình.\nRất khuyến khích tải cấu hình mặc định. Bạn sẽ có thể sửa đổi nó sau khi tải."
|
||||
@@ -4775,7 +4780,6 @@ vi:
|
||||
text_powered_by: "Được cung cấp bởi %{link}"
|
||||
text_project_identifier_info: "Chỉ cho phép chữ cái viết thường (a-z), số, dấu gạch ngang và dấu gạch dưới, phải bắt đầu bằng chữ cái viết thường."
|
||||
text_reassign: "Phân công lại cho gói công việc:"
|
||||
text_regexp_info: "ví dụ. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'Biểu thức được áp dụng ở chế độ đa dòng. Ví dụ: ^---\s+'
|
||||
text_repository_usernames_mapping: "Chọn hoặc cập nhật người dùng OpenProject được ánh xạ tới từng tên người dùng được tìm thấy trong nhật ký kho lưu trữ.\nNgười dùng có cùng tên người dùng hoặc email của OpenProject và kho lưu trữ sẽ được tự động ánh xạ."
|
||||
text_status_changed_by_changeset: "Được áp dụng trong bộ thay đổi %{value}."
|
||||
|
||||
@@ -368,7 +368,7 @@ zh-CN:
|
||||
contained_in_type: "已包含在类型中"
|
||||
confirm_destroy_option: "删除某个选项将会删除其所有实例 (例如, 在工作包中)。确定要删除?"
|
||||
reorder_alphabetical: "按字母顺序重新排序"
|
||||
reorder_confirmation: "警告:可用值的当前顺序将丢失。是否继续?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "需要先选择工作包或项目"
|
||||
calculated_field_not_editable: "不可编辑属性。此值是自动计算的。"
|
||||
no_role_assigment: "无角色指定"
|
||||
@@ -395,6 +395,12 @@ zh-CN:
|
||||
允许在工作包视图的筛选器中使用自定义字段。请注意,仅当选中“适用于所有项目”时,自定义字段才会显示在全局视图中。
|
||||
formula:
|
||||
project: "添加数值或输入 / 以搜索特性或数学运算符。"
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: 目前没有自定义字段。
|
||||
no_results_content_text: 创建新的自定义字段
|
||||
@@ -4753,7 +4759,6 @@ zh-CN:
|
||||
text_length_between: "长度介于 %{min} 和 %{max} 个字符。"
|
||||
text_line_separated: "允许有多个值 (每行一个值)。"
|
||||
text_load_default_configuration: "加载默认配置"
|
||||
text_min_max_length_info: "0 表示没有限制"
|
||||
text_no_roles_defined: 没有定义的角色。
|
||||
text_no_access_tokens_configurable: "没有可配置的访问令牌。"
|
||||
text_no_configuration_data: "角色、类型、工作包状态和工作流尚未配置。\n强烈建议加载默认配置。之后您可以再进行修改。"
|
||||
@@ -4768,7 +4773,6 @@ zh-CN:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "只有小写字母 (a-z)、 数字、 短划线和下划线被允许,必须以小写字母开头。"
|
||||
text_reassign: "重新分配工作包:"
|
||||
text_regexp_info: "例如 ^ [A-Z0-9]+$"
|
||||
text_regexp_multiline: '以多行模式应用正则表达式,如 ^---\s+'
|
||||
text_repository_usernames_mapping: "选择或更新每个在存储库日志中发现的用户名所映射到的 OpenProject 用户。\n使用相同 OpenProject 和存储库用户名或电子邮件的用户已被自动映射。"
|
||||
text_status_changed_by_changeset: "被实施在更改集 %{value} 中。"
|
||||
|
||||
@@ -370,7 +370,7 @@ zh-TW:
|
||||
contained_in_type: "已包含在類型中"
|
||||
confirm_destroy_option: "刪除此選項將會刪除其所有出現位置(例如:工作套件中的該選項)。您確定要刪除嗎?"
|
||||
reorder_alphabetical: "按字母順序重新排列"
|
||||
reorder_confirmation: "警告:目前可用值的順序將會遺失。繼續嗎?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "需要先選擇工作套件或專案"
|
||||
calculated_field_not_editable: "不可編輯屬性。此值會自動計算。"
|
||||
no_role_assigment: "無角色指派"
|
||||
@@ -397,6 +397,12 @@ zh-TW:
|
||||
允許在工作套件檢視的篩選器中使用自訂欄位。請注意,只有選取「針對所有專案」時,自訂欄位才會顯示在全區域檢視中。
|
||||
formula:
|
||||
project: "加入數值或輸入 / 搜尋屬性或數學運算符號。"
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
tab:
|
||||
no_results_title_text: 目前沒有自定義的欄位
|
||||
no_results_content_text: 建立一個新的自定義欄位
|
||||
@@ -4756,7 +4762,6 @@ zh-TW:
|
||||
text_length_between: "長度須介於 %{min} 至 %{max} 個字元"
|
||||
text_line_separated: "可多行(每行一個值)。"
|
||||
text_load_default_configuration: "載入預設組態"
|
||||
text_min_max_length_info: "0 代表沒有限制"
|
||||
text_no_roles_defined: 沒有定義的角色
|
||||
text_no_access_tokens_configurable: "沒有存取令牌(Token)可以被設定。"
|
||||
text_no_configuration_data: "角色,類型,工作套件狀態與工作流程都尚未設定。\n強烈建議先載入預設值,然後再修改它們。"
|
||||
@@ -4771,7 +4776,6 @@ zh-TW:
|
||||
text_powered_by: "由 %{link} 提供"
|
||||
text_project_identifier_info: "僅允許小寫字母(a-z)、數字、破折號(-) 及底線(_),且必須以小寫字母開頭。"
|
||||
text_reassign: "重新指派到工作套件:"
|
||||
text_regexp_info: "例如: ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: '這個正規表達式套用在多行模式。 e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "選擇或更新與版本庫中的帳號所對應的OpenProject使用者。\n版本庫中與OpenProject的使用者具有相同名稱或email將被自動對應。"
|
||||
text_status_changed_by_changeset: "已套用至變更列表 %{value} 中。"
|
||||
|
||||
@@ -573,7 +573,7 @@ en:
|
||||
contained_in_type: "Contained in type"
|
||||
confirm_destroy_option: "Deleting an option will delete all of its occurrences (e.g. in work packages). Are you sure you want to delete it?"
|
||||
reorder_alphabetical: "Reorder values alphabetically"
|
||||
reorder_confirmation: "Warning: The current order of available values will be lost. Continue?"
|
||||
reorder_confirmation: "Warning: The current order of available values as well as all unsaved values will be lost. Are you sure you want to continue?"
|
||||
placeholder_version_select: "Work package or project selection is required first"
|
||||
calculated_field_not_editable: "Non-editable attribute. This value is calculated automatically."
|
||||
no_role_assigment: "No role assignment"
|
||||
@@ -601,6 +601,12 @@ en:
|
||||
Note that only with 'For all projects' selected, the custom field will show up in global views.
|
||||
formula:
|
||||
project: "Add numeric values or type / to search for an attribute or a mathematical operator."
|
||||
regexp:
|
||||
all: "eg. ^[A-Z0-9]+$"
|
||||
project: "eg. ^[A-Z0-9]+$"
|
||||
min_max:
|
||||
all: "0 means no restriction"
|
||||
project: "0 means no restriction"
|
||||
|
||||
tab:
|
||||
no_results_title_text: There are currently no custom fields.
|
||||
@@ -5272,7 +5278,6 @@ en:
|
||||
text_length_between: "Length between %{min} and %{max} characters."
|
||||
text_line_separated: "Multiple values allowed (one line for each value)."
|
||||
text_load_default_configuration: "Load the default configuration"
|
||||
text_min_max_length_info: "0 means no restriction"
|
||||
text_no_roles_defined: There are no roles defined.
|
||||
text_no_access_tokens_configurable: "There are no access tokens which can be configured."
|
||||
text_no_configuration_data: "Roles, types, work package statuses and workflow have not been configured yet.\nIt is highly recommended to load the default configuration. You will be able to modify it once loaded."
|
||||
@@ -5291,7 +5296,6 @@ en:
|
||||
text_powered_by: "Powered by %{link}"
|
||||
text_project_identifier_info: "Only lower case letters (a-z), numbers, dashes and underscores are allowed, must start with a lower case letter."
|
||||
text_reassign: "Reassign to work package:"
|
||||
text_regexp_info: "eg. ^[A-Z0-9]+$"
|
||||
text_regexp_multiline: 'The regex is applied in a multi-line mode. e.g., ^---\s+'
|
||||
text_repository_usernames_mapping: "Select or update the OpenProject user mapped to each username found in the repository log.\nUsers with the same OpenProject and repository username or email are automatically mapped."
|
||||
text_status_changed_by_changeset: "Applied in changeset %{value}."
|
||||
|
||||
@@ -218,6 +218,8 @@ Rails.application.routes.draw do
|
||||
|
||||
get :attribute_help_text
|
||||
put :update_attribute_help_text
|
||||
|
||||
get :list_items
|
||||
end
|
||||
|
||||
scope module: :admin do
|
||||
@@ -694,6 +696,8 @@ Rails.application.routes.draw do
|
||||
|
||||
get :attribute_help_text
|
||||
put :update_attribute_help_text
|
||||
|
||||
get :list_items
|
||||
end
|
||||
|
||||
resources :items, controller: "/admin/settings/project_custom_fields/hierarchy/items" do
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# 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/permission_adder")
|
||||
|
||||
class AddViewBudgetsToRolesWithEditBudgets < ActiveRecord::Migration[8.1]
|
||||
def up
|
||||
::Migration::MigrationUtils::PermissionAdder.add(:edit_budgets, :view_budgets)
|
||||
end
|
||||
|
||||
def down
|
||||
# No-op: removing view_budgets could break other functionality
|
||||
end
|
||||
end
|
||||
@@ -12,7 +12,7 @@ keywords: use-cases
|
||||
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| [Meeting management](meeting-management) | With OpenProject's meeting management features, you can structure your meetings, define agendas, assign action items, and keep everything transparent and traceable in one place. Ensure your team stays aligned and decisions are well-documented throughout the project life cycle.<br />Learn how to plan, conduct, and follow up on meetings with OpenProject. |
|
||||
| [Objectives and Key Results (OKR) framework in OpenProject](okr-management) | Use OpenProject to set strategic goals, break them down into measurable key results, and track progress in a transparent and aligned way.<br />Learn how to manage OKRs, establish relations between goals and results, and embed goal-setting into your project management flow. |
|
||||
| [Portfolio management](portfolio-management) | This guide provides detailed step-by-step instruction on how to set up an overview of your project portfolio and create custom reports using the Project Overview, Wiki and the Rich text (WYSIWYG) editor in OpenProject. |
|
||||
| [Portfolio management](portfolio-management) | This guide provides detailed step-by-step instruction on how to set up an overview of your project portfolio using OpenProject Portfolios module. |
|
||||
| [PM² and PMflex project management with OpenProject](project-management-pm2-pmflex) | Learn how to use OpenProject to manage projects with the **PM² methodology**, developed by the European Commission, and its German extension **PMflex**, maintained by the Federal Office of Administration (BVA).<br /> Get started with customizable workflows, templates, and collaboration tools to apply these frameworks effectively across all project phases. |
|
||||
| [Resource management](resource-management) | OpenProject does not have the automated functionality to provide detailed resource management or employee work capacity calculations. This guide with detailed step-by-step instructions introduces a workaround that can provide an avenue to accomplish this manually and visually beyond the features of the Team Planner module. |
|
||||
| [Implementing Scaled Agile Framework (SAFe) in OpenProject](safe-framework) | Learn how to set up and configure OpenProject to support the Scaled Agile Framework (SAFe) to successfully deliver value to customers using agile practices at scale. |
|
||||
|
||||
@@ -1,83 +1,106 @@
|
||||
---
|
||||
sidebar_navigation:
|
||||
title: Portfolio management and custom reporting
|
||||
priority: 990
|
||||
description: Step-by-step instructions about portfolio management and custom reporting
|
||||
keywords: use-case, portfolio management
|
||||
title: Portfolio management
|
||||
priority: 990
|
||||
description: Step-by-step instructions on portfolio management with OpenProject
|
||||
keywords: use-case, portfolio management, portfolio
|
||||
---
|
||||
|
||||
# Use Case: Portfolio management and custom reporting options
|
||||
# Portfolio management with OpenProject
|
||||
|
||||
If you have a lot of projects running at the same time it can be helpful and even necessary to have a meta-level overview of your projects, keep track of the project status and due dates. With OpenProject you can do just that.
|
||||
This use case explains how you can use **portfolio management in OpenProject** to get a **strategic overview across initiatives**, replace ad-hoc spreadsheets with structured reporting, and prepare meaningful insights for leadership. Portfolio management helps you monitor multiple **programs and projects** at a high level, identify risks early, and ensure alignment with organizational goals.
|
||||
|
||||
This guide supports you in using:
|
||||
|
||||
- the [**Portfolios module** (Enterprise add-on)](../../user-guide/portfolios/) for strategic grouping of workspaces, and
|
||||
- complementary reporting options such as **project lists**, filters, and exports.
|
||||
|
||||
If you have many projects running at the same time, it can be helpful and even necessary to maintain a meta-level overview, track overall status, and monitor due dates. With OpenProject, you can establish that strategic visibility in a structured and consistent way.
|
||||
|
||||
> [!NOTE]
|
||||
> This guide assumes that you are using **OpenProject with the Portfolios Enterprise add-on** enabled (Enterprise Cloud or Enterprise on-premises), and that you have permission to view and manage portfolios.
|
||||
|
||||
## Overview
|
||||
|
||||
When running many projects simultaneously, it becomes difficult to see the full picture:
|
||||
|
||||
- You may not have a **single source of truth** for status and progress.
|
||||
- Executive reporting can be **manual, inconsistent, and outdated**.
|
||||
- You need to focus on **strategic signals** such as risks, timelines, and overall progress rather than operational details.
|
||||
|
||||
Portfolio management in OpenProject addresses these challenges by grouping related **programs and projects** into a top-level workspace that provides a **high-level overview**.
|
||||
|
||||
Portfolios in OpenProject are special workspaces that allow you to:
|
||||
|
||||
- Combine multiple **programs and projects** into a strategic hierarchy
|
||||
- Track **aggregated status and progress** across workspaces
|
||||
- Use filters and customizable views for reporting
|
||||
- Supplement this with project-level lists and exports when needed
|
||||
|
||||
## Step-by-step guide
|
||||
|
||||
### 1. Navigate to the portfolios overview
|
||||
|
||||
Select **Portfolios** from the left hand or global modules menu.
|
||||
|
||||

|
||||
|
||||
The overview page lists all portfolios you can access. Use filters, portfolio status, and aggregated status indicators across subitems to quickly assess portfolio health and identify initiatives that require attention.
|
||||
|
||||

|
||||
|
||||
### 2. Structure your portfolio
|
||||
|
||||
Within a portfolio, add:
|
||||
|
||||
- **Programs** to group related strategic initiatives
|
||||
- **Projects** for direct portfolio-level tracking
|
||||
|
||||
A portfolio can contain programs, projects, or a mix of both. Define a structure that reflects your strategic priorities. Here is an example of a portfolio, which includes programs that in turn contain projects.
|
||||
|
||||

|
||||
|
||||
|
||||

|
||||
|
||||
## Create projects overview
|
||||
Read more about [portfolio hierarchies](../../user-guide/portfolios/).
|
||||
|
||||
### Access project list
|
||||
### 3. Manage portfolio subitems
|
||||
|
||||
To view all projects, first select the **Select a project** dropdown menu, then click on the **Project lists** button.
|
||||
You can also get to projects overview by selecting **Projects** from the [global modules](../../user-guide/home/global-modules) menu in the top right corner.
|
||||
Use the **Subitems widget** on the portfolio home page to maintain included programs and projects.
|
||||
|
||||

|
||||

|
||||
|
||||
### Filter and sort projects
|
||||
Review and adjust the structure regularly to keep your strategic overview aligned with organizational changes.
|
||||
|
||||
You will see a list of all projects within your organization. You can filter this list by various attributes, such as **Project owner** or **Created on**. Additionally, project custom fields can be used as filters (Enterprise add-on). If you haven't added custom fields yet, follow the instructions [here](../../system-admin-guide/custom-fields/).
|
||||
### 4. Use filters and saved views
|
||||
|
||||

|
||||
Configure views and apply filters to focus on relevant information, such as:
|
||||
|
||||
You can further adjust this view by adding or re-arranging columns and changing the sorting order. To sort the project list, click on a column heading, such as **Status**. Read more about [configuring project lists](../../user-guide/projects/project-lists/#configure-project-lists-view).
|
||||
- Status
|
||||
- Stakeholders
|
||||
- Timeline indicators
|
||||
- Custom attributes
|
||||
|
||||
After you have adjusted the projects overview to your liking, you can save it,
|
||||
[export it](../../user-guide/projects/project-lists/#export-project-lists) or
|
||||
[share it with key stakeholders](../../user-guide/projects/project-lists/#share-project-lists).
|
||||

|
||||
|
||||
### Projects in Gantt view
|
||||
## Complementary portfolio management features
|
||||
|
||||
You can add a visual component to the overview by clicking on the **Open as Gantt view** button.
|
||||
In addition to the Portfolios module, OpenProject provides several features that can enhance your portfolio management and reporting setup.
|
||||
|
||||

|
||||
- [**Project lists**](../../user-guide/projects/project-lists/): Create a filterable overview of all projects across your organization. Adjust columns, sort by status or owner, save views, and share or export them for stakeholder reporting.
|
||||
|
||||
The **Gantt charts** module will open and the selected projects will be displayed in Gantt view.
|
||||
- [**Gantt charts**](../../user-guide/gantt-chart/): Open multiple projects in a shared timeline to visualize milestones, overlaps, and dependencies. This supports cross-project timeline discussions.
|
||||
|
||||

|
||||
- **Export options**: Export work package tables or Gantt charts as PDF, XLS, or CSV for formal reporting. Learn more about [exporting work packages](../../user-guide/work-packages/exporting/) and [printing Gantt charts](../../user-guide/gantt-chart/#how-to-print-a-gantt-chart).
|
||||
|
||||
You can configure this view using the button with the three dots in the upper right corner and select **Configure view**. Find out more about [Gantt charts configuration](../../user-guide/gantt-chart/#gantt-chart-configuration).
|
||||
- [**Wiki module**](../../user-guide/wiki/): Build structured portfolio reports with embedded work package tables, macros, and dynamic calculations. You can create reporting hubs or dashboards for different initiatives.
|
||||
|
||||

|
||||
- [**Global work packages view**](../../user-guide/home/global-modules/): Analyze work packages across projects to identify overdue milestones, high-priority items, or cross-project risks affecting your portfolio.
|
||||
|
||||
## Create custom reports
|
||||
## Outcome
|
||||
|
||||
### Export project reports
|
||||
By combining the Portfolios module with structured reporting features, you establish a clear governance layer above your operational projects.
|
||||
|
||||
For creating custom project reports you can use the export function in the work packages table view or in the Gantt charts view.
|
||||
Instead of consolidating information manually, you rely on live portfolio data, consistent status structures, and reusable reporting views. Strategic discussions become focused on priorities and risks rather than data collection.
|
||||
|
||||

|
||||
|
||||
You can export the work packages in one of the following formats: PDF, XLS and CSV. Read more about [exporting work packages in OpenProject](../../user-guide/work-packages/exporting/#export-multiple-work-packages).
|
||||
|
||||

|
||||
|
||||
To export or print a Gantt chart, use the print function (**CTRL+P**) and then save it as a PDF. Only information displayed in the main screen area is included. Design elements, side menus, and top menus are excluded. Please see here [how to print a Gantt chart in OpenProject](../../user-guide/gantt-chart/#how-to-print-a-gantt-chart).
|
||||
|
||||
### Project status reporting
|
||||
|
||||
You can [display and configure the individual project status](../../user-guide/projects/project-status/) on the project overview page.
|
||||
|
||||
For more advanced project reporting requirements, using the [Wiki module](../../user-guide/wiki/) is another powerful tool. The Wiki allows you to build complete custom reports using embedded work package tables, macros and even embedded calculations.
|
||||
|
||||
Here is an example of how a project report wiki could look:
|
||||
|
||||

|
||||
|
||||
And how the dynamic data, such as calculations, filters, macros and reference language work behind the scenes:
|
||||
|
||||

|
||||
|
||||
For more information about the syntax and how the attributes work, please look [here](../../user-guide/wysiwyg/).
|
||||
|
||||
If you want to work with multiple Wiki-based reports, you can create a parent Wiki page as a table of contents, for example, on which all the other reports are listed.
|
||||
|
||||
See more info on Wiki and the use of Macros [here](../../user-guide/wiki/).
|
||||
This allows you to manage growth, align initiatives with organizational goals, and maintain transparency across your entire project landscape.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 201 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 126 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 200 KiB |
+38
-27
@@ -10,6 +10,7 @@
|
||||
"license": "GPLv3",
|
||||
"dependencies": {
|
||||
"@blocknote/server-util": "^0.44.2",
|
||||
"@hocuspocus/extension-logger": "^3.4.4",
|
||||
"@hocuspocus/server": "^3.4.0",
|
||||
"op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.0.18/op-blocknote-extensions-0.0.18.tgz",
|
||||
"tsx": "^4.21.0"
|
||||
@@ -262,6 +263,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
@@ -284,6 +286,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
@@ -944,6 +947,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
|
||||
"integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@floating-ui/core": "^1.7.3",
|
||||
"@floating-ui/utils": "^0.2.10"
|
||||
@@ -999,21 +1003,30 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@hocuspocus/common": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.4.0.tgz",
|
||||
"integrity": "sha512-vN0kE/mGTjuwchq16naq+nEjFDmeSLNCkDSAB7DKvpZnuG4KQi5oC42VFdKbq/baQTbDMSe82rI7f9riOR8idQ==",
|
||||
"version": "3.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.4.4.tgz",
|
||||
"integrity": "sha512-RykIJ0tsHHMP4Xk+4UCbc7SO5LgGxGUSTdbh6anJEsaALAyqinf1Nn5HYuMjLPolAmsar1v++m9zufR09NLpXA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lib0": "^0.2.87"
|
||||
}
|
||||
},
|
||||
"node_modules/@hocuspocus/server": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@hocuspocus/server/-/server-3.4.0.tgz",
|
||||
"integrity": "sha512-ludVWFkos7FgOmdGxn5UxhV7H0K4mMly8mq+wXAK8fOuW+9vrjQDfd23tOOcQPbZ0aGyPC0FMmEZ1GsFpVArCg==",
|
||||
"node_modules/@hocuspocus/extension-logger": {
|
||||
"version": "3.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@hocuspocus/extension-logger/-/extension-logger-3.4.4.tgz",
|
||||
"integrity": "sha512-GEnjmvQlrDlr5hoTQ8NHStZkzpL42wkwZ5XOBMkEX/TgqcnEtKCK1SOK0xj+px9tEHaflDLtCq6f5oy4gOCkPQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@hocuspocus/common": "^3.4.0",
|
||||
"@hocuspocus/server": "^3.4.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@hocuspocus/server": {
|
||||
"version": "3.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@hocuspocus/server/-/server-3.4.4.tgz",
|
||||
"integrity": "sha512-UV+oaONAejOzeYgUygNcgsc8RdZvSokVvAxluZJIisLACpRO/VsseQ5lWKDRwLd7Fn6+rHWDH3hGuQ1fdX1Ycg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@hocuspocus/common": "^3.4.4",
|
||||
"async-lock": "^1.3.1",
|
||||
"async-mutex": "^0.5.0",
|
||||
"kleur": "^4.1.4",
|
||||
@@ -1596,6 +1609,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.13.0.tgz",
|
||||
"integrity": "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@shikijs/vscode-textmate": "^10.0.2",
|
||||
"@types/hast": "^3.0.4"
|
||||
@@ -1668,6 +1682,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.13.0.tgz",
|
||||
"integrity": "sha512-iUelgiTMgPVMpY5ZqASUpk8mC8HuR9FWKaDzK27w9oWip9tuB54Z8mePTxNcQaSPb6ErzEaC8x8egrRt7OsdGQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ueberdosis"
|
||||
@@ -1865,6 +1880,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.13.0.tgz",
|
||||
"integrity": "sha512-WKR4ucALq+lwx0WJZW17CspeTpXorbIOpvKv5mulZica6QxqfMhn8n1IXCkDws/mCoLRx4Drk5d377tIjFNsvQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"prosemirror-changeset": "^2.3.0",
|
||||
"prosemirror-collab": "^1.3.1",
|
||||
@@ -2010,6 +2026,7 @@
|
||||
"integrity": "sha512-gWEkeiyYE4vqjON/+Obqcoeffmk0NF15WSBwSs7zwVA2bAbTaE0SJ7P0WNGoJn8uE7fiaV5a7dKYIJriEqOrmA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
@@ -2105,6 +2122,7 @@
|
||||
"integrity": "sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.48.1",
|
||||
"@typescript-eslint/types": "8.48.1",
|
||||
@@ -2439,6 +2457,7 @@
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@@ -2720,7 +2739,6 @@
|
||||
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
|
||||
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
@@ -2852,8 +2870,7 @@
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
||||
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/data-urls": {
|
||||
"version": "5.0.0",
|
||||
@@ -2933,8 +2950,7 @@
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
|
||||
"integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/devlop": {
|
||||
"version": "1.1.0",
|
||||
@@ -3110,6 +3126,7 @@
|
||||
"integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.8.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
@@ -3451,7 +3468,6 @@
|
||||
"resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
|
||||
"integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
@@ -3945,6 +3961,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.28.4"
|
||||
},
|
||||
@@ -5671,6 +5688,7 @@
|
||||
"resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz",
|
||||
"integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"orderedmap": "^2.0.0"
|
||||
}
|
||||
@@ -5700,6 +5718,7 @@
|
||||
"resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz",
|
||||
"integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"prosemirror-model": "^1.0.0",
|
||||
"prosemirror-transform": "^1.0.0",
|
||||
@@ -5748,6 +5767,7 @@
|
||||
"resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.3.tgz",
|
||||
"integrity": "sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"prosemirror-model": "^1.20.0",
|
||||
"prosemirror-state": "^1.0.0",
|
||||
@@ -5836,7 +5856,6 @@
|
||||
"resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.4.4.tgz",
|
||||
"integrity": "sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"react": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
@@ -5847,7 +5866,6 @@
|
||||
"resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz",
|
||||
"integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"react-remove-scroll-bar": "^2.3.7",
|
||||
"react-style-singleton": "^2.2.3",
|
||||
@@ -5873,7 +5891,6 @@
|
||||
"resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz",
|
||||
"integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"react-style-singleton": "^2.2.2",
|
||||
"tslib": "^2.0.0"
|
||||
@@ -5896,7 +5913,6 @@
|
||||
"resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
|
||||
"integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"get-nonce": "^1.0.0",
|
||||
"tslib": "^2.0.0"
|
||||
@@ -5919,7 +5935,6 @@
|
||||
"resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.9.tgz",
|
||||
"integrity": "sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"use-composed-ref": "^1.3.0",
|
||||
@@ -6185,8 +6200,7 @@
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
|
||||
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.7.3",
|
||||
@@ -7068,7 +7082,6 @@
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
|
||||
"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
|
||||
"license": "(MIT OR CC0-1.0)",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
@@ -7254,7 +7267,6 @@
|
||||
"resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz",
|
||||
"integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
@@ -7276,7 +7288,6 @@
|
||||
"resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.4.0.tgz",
|
||||
"integrity": "sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
},
|
||||
@@ -7291,7 +7302,6 @@
|
||||
"resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz",
|
||||
"integrity": "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
},
|
||||
@@ -7306,7 +7316,6 @@
|
||||
"resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.3.0.tgz",
|
||||
"integrity": "sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"use-isomorphic-layout-effect": "^1.1.1"
|
||||
},
|
||||
@@ -7324,7 +7333,6 @@
|
||||
"resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz",
|
||||
"integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"detect-node-es": "^1.1.0",
|
||||
"tslib": "^2.0.0"
|
||||
@@ -7408,6 +7416,7 @@
|
||||
"integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.5.0",
|
||||
@@ -7787,6 +7796,7 @@
|
||||
"resolved": "https://registry.npmjs.org/y-protocols/-/y-protocols-1.0.6.tgz",
|
||||
"integrity": "sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"lib0": "^0.2.85"
|
||||
},
|
||||
@@ -7846,6 +7856,7 @@
|
||||
"resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.27.tgz",
|
||||
"integrity": "sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"lib0": "^0.2.99"
|
||||
},
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user