Compare commits
5 Commits
fix/migrat
...
fix/edge-t
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be106edfea | ||
|
|
b4d4810f45 | ||
|
|
239d152340 | ||
|
|
f294760747 | ||
|
|
280d8f66dd |
8
.github/workflows/docker-publish.yml
vendored
8
.github/workflows/docker-publish.yml
vendored
@@ -6,8 +6,6 @@ name: Docker
|
||||
# documentation.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "21 21 * * *"
|
||||
push:
|
||||
# Only trigger on tags (releases), not main branch pushes
|
||||
# Main branch builds are handled by workflow_run after Translate completes
|
||||
@@ -84,7 +82,8 @@ jobs:
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
type=raw,value=latest,enable=${{ github.ref_type == 'tag' }}
|
||||
type=raw,value=edge,enable={{is_default_branch}}
|
||||
|
||||
- name: Extract Docker metadata (migrate)
|
||||
id: meta-migrate
|
||||
@@ -97,7 +96,8 @@ jobs:
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
type=raw,value=latest,enable=${{ github.ref_type == 'tag' }}
|
||||
type=raw,value=edge,enable={{is_default_branch}}
|
||||
|
||||
# Extract version from git tag or ref
|
||||
# Uses git describe to get latest tag + commit hash in SemVer format: 1.2.3+abc1234
|
||||
|
||||
@@ -39,6 +39,10 @@ checksums:
|
||||
0xWkkH/placeholders/boardCount/0: 8cc7c9ba5252e9266c6eb8434fae00f3
|
||||
0xWkkH/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
0xWkkH/translation: 72358c550bd1a99fcb6e8952f0f947ef
|
||||
yndBF%2B/translation: 9fb995d992256a9db7822d430ad75ba0
|
||||
yndBF%2B/message: 9fb995d992256a9db7822d430ad75ba0
|
||||
yndBF%2B/placeholders/projectCount/0: 23257c47018d21aeae42cf5bd0aa9932
|
||||
yndBF%2B/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
9lFfqv/message: 6cb28ff89203e2eca3fdd69396dd00d6
|
||||
9lFfqv/origin/0/0: fadd5a5b6963ec5f261072f7e8d2140b
|
||||
9lFfqv/translation: 6cb28ff89203e2eca3fdd69396dd00d6
|
||||
@@ -81,9 +85,9 @@ checksums:
|
||||
7L01XJ/message: c46571856723b03262fd33f511116298
|
||||
7L01XJ/origin/0/0: feacdaf2791aaddec128f463ffa2e807
|
||||
7L01XJ/translation: c46571856723b03262fd33f511116298
|
||||
F6pfE9/translation: 3e1ec025c4a50830bbb9ad57a176630a
|
||||
F6pfE9/message: 3e1ec025c4a50830bbb9ad57a176630a
|
||||
F6pfE9/origin/0/0: 4b563046ba98abb3777fb1c3560866aa
|
||||
F6pfE9/translation: 3e1ec025c4a50830bbb9ad57a176630a
|
||||
XJOV1Y/message: 1948763de8e531483a798b68195e297e
|
||||
XJOV1Y/origin/0/0: 15fd9c05fc09ccbbb54aadc4aa5e5501
|
||||
XJOV1Y/origin/1/0: 9c8b544f5db130cd7c5eda9064ba3957
|
||||
@@ -211,6 +215,12 @@ checksums:
|
||||
WnEwDO/message: 2959fd276248208b65cb27ed46b20135
|
||||
WnEwDO/origin/0/0: d6f5120f072a821219608624f361384e
|
||||
WnEwDO/translation: 2959fd276248208b65cb27ed46b20135
|
||||
j1%2BHPc/translation: baf4c3cd580291f41458f9ed28102c49
|
||||
j1%2BHPc/message: baf4c3cd580291f41458f9ed28102c49
|
||||
j1%2BHPc/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
Dz63YI/translation: 8e43abcd6e039b51084937e4829f58ad
|
||||
Dz63YI/message: 8e43abcd6e039b51084937e4829f58ad
|
||||
Dz63YI/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
WmPhYW/message: 0aa3973b860c1faf8d9123aebf567e40
|
||||
WmPhYW/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
WmPhYW/translation: 0aa3973b860c1faf8d9123aebf567e40
|
||||
@@ -248,12 +258,12 @@ checksums:
|
||||
yb%2Ffjw/message: 2f5426445800ecd5a3102aac940d459c
|
||||
yb%2Ffjw/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
yb%2Ffjw/translation: 2f5426445800ecd5a3102aac940d459c
|
||||
aKJHG%2B/translation: 63de765f7fd7bc5238a3e36532306b6b
|
||||
aKJHG%2B/message: 63de765f7fd7bc5238a3e36532306b6b
|
||||
aKJHG%2B/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
TdfEV7/translation: cf5127ecfd7e43a35466a1ba5fe16450
|
||||
aKJHG%2B/translation: 63de765f7fd7bc5238a3e36532306b6b
|
||||
TdfEV7/message: cf5127ecfd7e43a35466a1ba5fe16450
|
||||
TdfEV7/origin/0/0: 4b563046ba98abb3777fb1c3560866aa
|
||||
TdfEV7/translation: cf5127ecfd7e43a35466a1ba5fe16450
|
||||
lo8xBK/message: f9b67026c5ef86ac4d5944380d571961
|
||||
lo8xBK/placeholders/entityLabel/0: 5745fa1af326b9ac2b140cbbef90cdeb
|
||||
lo8xBK/origin/0/0: 68450df287fb46ea629e818732c1291a
|
||||
@@ -341,9 +351,9 @@ checksums:
|
||||
YhvWXb/origin/0/0: ff4a160eca5f8da4f075fd1dd6061fa6
|
||||
YhvWXb/origin/1/0: dbad0c8d7863cb41f5495264f82e7081
|
||||
YhvWXb/translation: 336a8c70a91adc49c15266167ee84cc0
|
||||
i0ZMQl/translation: f739058266a2cb6a3d7cca14de09c69a
|
||||
i0ZMQl/message: f739058266a2cb6a3d7cca14de09c69a
|
||||
i0ZMQl/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
i0ZMQl/translation: f739058266a2cb6a3d7cca14de09c69a
|
||||
wewm3j/message: 985c0177744ec56d8dac84f66ec284ca
|
||||
wewm3j/origin/0/0: bcd95e286f12800a3e7ee0a71feb3ca5
|
||||
wewm3j/translation: 985c0177744ec56d8dac84f66ec284ca
|
||||
@@ -356,9 +366,9 @@ checksums:
|
||||
XNxYxq/message: b0e6a79e1751b734e1060a1034a893d6
|
||||
XNxYxq/origin/0/0: c0b59968b2b234167c488a05cc38710b
|
||||
XNxYxq/translation: b0e6a79e1751b734e1060a1034a893d6
|
||||
tbNcu4/translation: 3817a16b436504bb8d96ca5ee62078cc
|
||||
tbNcu4/message: 3817a16b436504bb8d96ca5ee62078cc
|
||||
tbNcu4/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
tbNcu4/translation: 3817a16b436504bb8d96ca5ee62078cc
|
||||
Xid3K6/message: ba018946ffdf85e55d701a9c27595b4d
|
||||
Xid3K6/origin/0/0: 2e937f7560901c3de71a592b4fd80f34
|
||||
Xid3K6/translation: ba018946ffdf85e55d701a9c27595b4d
|
||||
@@ -383,9 +393,9 @@ checksums:
|
||||
8TveY%2B/origin/0/0: 94d3e20c29bb517dd394711d7524e478
|
||||
8TveY%2B/origin/1/0: c0b59968b2b234167c488a05cc38710b
|
||||
8TveY%2B/translation: 8fff51c5872e051beb9b718336665e80
|
||||
0RE1AJ/translation: c9a1699f5037acf87aaa6515d0f16910
|
||||
0RE1AJ/message: c9a1699f5037acf87aaa6515d0f16910
|
||||
0RE1AJ/origin/0/0: f78c0a7870158f5dab5216bcd6092e49
|
||||
0RE1AJ/translation: c9a1699f5037acf87aaa6515d0f16910
|
||||
ZDo4HN/message: 736332f2e4488609e42d2be8547d296e
|
||||
ZDo4HN/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
ZDo4HN/translation: 736332f2e4488609e42d2be8547d296e
|
||||
@@ -618,13 +628,21 @@ checksums:
|
||||
479pdJ/message: a0d2935d7b63f8dd19d7c0de47524416
|
||||
479pdJ/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
479pdJ/translation: a0d2935d7b63f8dd19d7c0de47524416
|
||||
iSLIjg/translation: 8778ee245078a8be4a2ce855c8c56edc
|
||||
iSLIjg/message: 8778ee245078a8be4a2ce855c8c56edc
|
||||
iSLIjg/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
3jod3l/translation: 71ca612e433a9ed61ccfbfe1cc87c78b
|
||||
3jod3l/message: 71ca612e433a9ed61ccfbfe1cc87c78b
|
||||
3jod3l/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
nk7caK/message: 4440a0b9e387ef7136e3958e7a089213
|
||||
nk7caK/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
nk7caK/origin/1/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
nk7caK/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
nk7caK/translation: 4440a0b9e387ef7136e3958e7a089213
|
||||
sDLCvT/message: 033c5dcdb059ccb634aef7fe63f2f45d
|
||||
sDLCvT/origin/0/0: d77eb1f90f2fa86a55181629d88d237a
|
||||
sDLCvT/translation: 033c5dcdb059ccb634aef7fe63f2f45d
|
||||
MCIXdZ/translation: ad3738e5eeabcebd3478cdc2545f543f
|
||||
MCIXdZ/message: ad3738e5eeabcebd3478cdc2545f543f
|
||||
MCIXdZ/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
5eZwRW/message: 84a510a7485f43e43f2191bd161171d7
|
||||
5eZwRW/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
5eZwRW/translation: 84a510a7485f43e43f2191bd161171d7
|
||||
@@ -826,6 +844,9 @@ checksums:
|
||||
f8fH8W/message: 991b75727b6784c1a063a7462b76186d
|
||||
f8fH8W/origin/0/0: eb63312c63f6c8d2a5b6520c89012123
|
||||
f8fH8W/translation: 991b75727b6784c1a063a7462b76186d
|
||||
Odv3J6/translation: f3cc49ba2dc3f9c33917f8a749d68bf5
|
||||
Odv3J6/message: f3cc49ba2dc3f9c33917f8a749d68bf5
|
||||
Odv3J6/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
YBBifR/message: a2dd737d133887d34504728c7e7f05e3
|
||||
YBBifR/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
YBBifR/translation: a2dd737d133887d34504728c7e7f05e3
|
||||
@@ -975,6 +996,9 @@ checksums:
|
||||
55xJ%2FO/message: ebecb5c1b72ba4b063117241f5ba4f2d
|
||||
55xJ%2FO/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
55xJ%2FO/translation: ebecb5c1b72ba4b063117241f5ba4f2d
|
||||
yhLUU8/translation: e879ffdeccbe5b00fa7ece09114d149f
|
||||
yhLUU8/message: e879ffdeccbe5b00fa7ece09114d149f
|
||||
yhLUU8/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
cji2nM/message: cbedc3f3213dfc4fdc8b7503ae1a5cd6
|
||||
cji2nM/origin/0/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
cji2nM/translation: cbedc3f3213dfc4fdc8b7503ae1a5cd6
|
||||
@@ -990,6 +1014,9 @@ checksums:
|
||||
9s9O5h/message: 0aec9bd8170bc84f5ea5c9a47c52ed26
|
||||
9s9O5h/origin/0/0: 83911e3eacbad4583e2b1647a784d154
|
||||
9s9O5h/translation: 0aec9bd8170bc84f5ea5c9a47c52ed26
|
||||
gQ%2F02p/translation: 08e8dfeafa38796abcdcc258917428d6
|
||||
gQ%2F02p/message: 08e8dfeafa38796abcdcc258917428d6
|
||||
gQ%2F02p/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
lKAvEd/message: a8766853864eddc480113778a708871b
|
||||
lKAvEd/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
lKAvEd/translation: a8766853864eddc480113778a708871b
|
||||
@@ -1155,7 +1182,14 @@ checksums:
|
||||
7hktsm/translation: 8e5e7bd026b5bec46bbfdce02ab9e0b8
|
||||
RkXlPZ/message: 6e1cf3c00fa6fbe24afcc78ea3b5f3e4
|
||||
RkXlPZ/origin/0/0: 98e2302d0d8d12ce65c4140b87450673
|
||||
RkXlPZ/origin/1/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
RkXlPZ/translation: 6e1cf3c00fa6fbe24afcc78ea3b5f3e4
|
||||
PVT7q7/translation: 8fa30040ec891db0b5b7d893786514ab
|
||||
PVT7q7/message: 8fa30040ec891db0b5b7d893786514ab
|
||||
PVT7q7/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
"%2FbBVaD/translation": 79b9a6153d695ff0175aa804b1c0286b
|
||||
"%2FbBVaD/message": 79b9a6153d695ff0175aa804b1c0286b
|
||||
"%2FbBVaD/origin/0/0": 9d4260644f1a12f41d6b72574eeb111c
|
||||
7eMo%2BU/message: 6251589da1964d55afabdfd64c84c335
|
||||
7eMo%2BU/origin/0/0: 6cda8b872e4902cbc0191d9375adf4ef
|
||||
7eMo%2BU/translation: 6251589da1964d55afabdfd64c84c335
|
||||
@@ -1228,9 +1262,11 @@ checksums:
|
||||
l3s5ri/translation: 348b8ab981de5b7f1fca6d7302263bbd
|
||||
2MPcep/message: 7e749df6f068b9cdf1055ea38c9a80af
|
||||
2MPcep/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
2MPcep/origin/1/0: 3c57a918258af4b44c187f58d203345f
|
||||
2MPcep/translation: 7e749df6f068b9cdf1055ea38c9a80af
|
||||
BEVzjL/message: bcec1f271c82ddffc91ebc22021b03cb
|
||||
BEVzjL/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
BEVzjL/origin/1/0: 3c57a918258af4b44c187f58d203345f
|
||||
BEVzjL/translation: bcec1f271c82ddffc91ebc22021b03cb
|
||||
rRM7r0/message: d66d13649f81342f8b3a4f3b54370c20
|
||||
rRM7r0/origin/0/0: d77eb1f90f2fa86a55181629d88d237a
|
||||
@@ -1518,9 +1554,9 @@ checksums:
|
||||
"%2FglL9Q/placeholders/0/0": 07bd981d42ffe27ee81d1dffa7dc0d43
|
||||
"%2FglL9Q/origin/0/0": f78c0a7870158f5dab5216bcd6092e49
|
||||
"%2FglL9Q/translation": a7a95e1dfdb4396da9e2be0e27f42323
|
||||
tlhgDC/translation: b96a6f8fa3267ec01e68e61656382b2e
|
||||
tlhgDC/message: b96a6f8fa3267ec01e68e61656382b2e
|
||||
tlhgDC/origin/0/0: f78c0a7870158f5dab5216bcd6092e49
|
||||
tlhgDC/translation: b96a6f8fa3267ec01e68e61656382b2e
|
||||
Eg99Sc/message: f718c896810da3612202887f9a4374fa
|
||||
Eg99Sc/origin/0/0: d96af8a06c2e38a72238bcd16e426859
|
||||
Eg99Sc/translation: f718c896810da3612202887f9a4374fa
|
||||
@@ -1545,6 +1581,9 @@ checksums:
|
||||
fvLNDy/message: f18ee3d7230cc33b68bd17b429d1d442
|
||||
fvLNDy/origin/0/0: fc0c18a095a68277a0f90a115942683b
|
||||
fvLNDy/translation: f18ee3d7230cc33b68bd17b429d1d442
|
||||
i30J2U/translation: 8b7ec59963fb26e13948600c55c8de1d
|
||||
i30J2U/message: 8b7ec59963fb26e13948600c55c8de1d
|
||||
i30J2U/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
ERpq2P/message: 5db6294712528cd897b15ae36f4fd834
|
||||
ERpq2P/placeholders/debouncedQuery/0: 8471823afb4210cf564ca0d8bef9dd66
|
||||
ERpq2P/origin/0/0: 89a76a14edc1c0b7876d79d7571bb8fb
|
||||
@@ -1700,40 +1739,41 @@ checksums:
|
||||
tyHiOa/origin/10/0: fc0c18a095a68277a0f90a115942683b
|
||||
tyHiOa/origin/11/0: fc0c18a095a68277a0f90a115942683b
|
||||
tyHiOa/origin/12/0: 3c57a918258af4b44c187f58d203345f
|
||||
tyHiOa/origin/13/0: 3a89a46ac678e34dc8eb687b07a4ad4b
|
||||
tyHiOa/origin/14/0: a31bf5b0f5348dedcad98939fcf7f93f
|
||||
tyHiOa/origin/13/0: 3c57a918258af4b44c187f58d203345f
|
||||
tyHiOa/origin/14/0: 3a89a46ac678e34dc8eb687b07a4ad4b
|
||||
tyHiOa/origin/15/0: a31bf5b0f5348dedcad98939fcf7f93f
|
||||
tyHiOa/origin/16/0: 6e60e97757a446204985b5c4374ed66d
|
||||
tyHiOa/origin/17/0: d2cacb98e99d5163eff64f9c4c9cbb47
|
||||
tyHiOa/origin/18/0: b2059fa4b8b99cc10440da26475b234c
|
||||
tyHiOa/origin/19/0: 2a382c1cdf010f01a8e95c3e05f6df53
|
||||
tyHiOa/origin/20/0: d55f532bb5ae247e3a018978be0da463
|
||||
tyHiOa/origin/21/0: 4b4f55c033add8db69178563832227c6
|
||||
tyHiOa/origin/22/0: 2201bf679c663a732d7f1b3c3ce3897f
|
||||
tyHiOa/origin/23/0: 27ce4b16f6ada6ca35ac8d1adff329c5
|
||||
tyHiOa/origin/24/0: a55c169a847bdde3b119eeb97e202c30
|
||||
tyHiOa/origin/25/0: faa852a0c0e3c81fe948e394029c1ba5
|
||||
tyHiOa/origin/26/0: a2dd1fc876bd42b9db7ca7aaa57ac5e2
|
||||
tyHiOa/origin/27/0: e59eec882722e98169cc27f545facfe7
|
||||
tyHiOa/origin/28/0: b1f4eb6768222ea825703105f6014486
|
||||
tyHiOa/origin/29/0: 15fd9c05fc09ccbbb54aadc4aa5e5501
|
||||
tyHiOa/origin/16/0: a31bf5b0f5348dedcad98939fcf7f93f
|
||||
tyHiOa/origin/17/0: 6e60e97757a446204985b5c4374ed66d
|
||||
tyHiOa/origin/18/0: d2cacb98e99d5163eff64f9c4c9cbb47
|
||||
tyHiOa/origin/19/0: b2059fa4b8b99cc10440da26475b234c
|
||||
tyHiOa/origin/20/0: 2a382c1cdf010f01a8e95c3e05f6df53
|
||||
tyHiOa/origin/21/0: d55f532bb5ae247e3a018978be0da463
|
||||
tyHiOa/origin/22/0: 4b4f55c033add8db69178563832227c6
|
||||
tyHiOa/origin/23/0: 2201bf679c663a732d7f1b3c3ce3897f
|
||||
tyHiOa/origin/24/0: 27ce4b16f6ada6ca35ac8d1adff329c5
|
||||
tyHiOa/origin/25/0: a55c169a847bdde3b119eeb97e202c30
|
||||
tyHiOa/origin/26/0: faa852a0c0e3c81fe948e394029c1ba5
|
||||
tyHiOa/origin/27/0: a2dd1fc876bd42b9db7ca7aaa57ac5e2
|
||||
tyHiOa/origin/28/0: e59eec882722e98169cc27f545facfe7
|
||||
tyHiOa/origin/29/0: b1f4eb6768222ea825703105f6014486
|
||||
tyHiOa/origin/30/0: 15fd9c05fc09ccbbb54aadc4aa5e5501
|
||||
tyHiOa/origin/31/0: 68450df287fb46ea629e818732c1291a
|
||||
tyHiOa/origin/32/0: afee530613110e248ffde6b56872ebed
|
||||
tyHiOa/origin/31/0: 15fd9c05fc09ccbbb54aadc4aa5e5501
|
||||
tyHiOa/origin/32/0: 68450df287fb46ea629e818732c1291a
|
||||
tyHiOa/origin/33/0: afee530613110e248ffde6b56872ebed
|
||||
tyHiOa/origin/34/0: afee530613110e248ffde6b56872ebed
|
||||
tyHiOa/origin/35/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
tyHiOa/origin/35/0: afee530613110e248ffde6b56872ebed
|
||||
tyHiOa/origin/36/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
tyHiOa/origin/37/0: 7493592314bc3b96ad96127a949ba1ba
|
||||
tyHiOa/origin/38/0: 03c00909b41be01231cd3e843c8ee44e
|
||||
tyHiOa/origin/39/0: 5c60161e173f5eae9276d8e4c70b4ebb
|
||||
tyHiOa/origin/40/0: 83911e3eacbad4583e2b1647a784d154
|
||||
tyHiOa/origin/41/0: d465da67c0a870d198eb7f313569c137
|
||||
tyHiOa/origin/42/0: 33bf266228f835e12c0bfb0e5efb3be9
|
||||
tyHiOa/origin/43/0: ff48991e314b0b3e989a4dac59860fd5
|
||||
tyHiOa/origin/44/0: 30791e26a172d47d3cb0693e82679246
|
||||
tyHiOa/origin/45/0: dbad0c8d7863cb41f5495264f82e7081
|
||||
tyHiOa/origin/46/0: 0dccc39d0debbf3e089cb6d292de762b
|
||||
tyHiOa/origin/37/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
tyHiOa/origin/38/0: 7493592314bc3b96ad96127a949ba1ba
|
||||
tyHiOa/origin/39/0: 03c00909b41be01231cd3e843c8ee44e
|
||||
tyHiOa/origin/40/0: 5c60161e173f5eae9276d8e4c70b4ebb
|
||||
tyHiOa/origin/41/0: 83911e3eacbad4583e2b1647a784d154
|
||||
tyHiOa/origin/42/0: d465da67c0a870d198eb7f313569c137
|
||||
tyHiOa/origin/43/0: 33bf266228f835e12c0bfb0e5efb3be9
|
||||
tyHiOa/origin/44/0: ff48991e314b0b3e989a4dac59860fd5
|
||||
tyHiOa/origin/45/0: 30791e26a172d47d3cb0693e82679246
|
||||
tyHiOa/origin/46/0: dbad0c8d7863cb41f5495264f82e7081
|
||||
tyHiOa/origin/47/0: 0dccc39d0debbf3e089cb6d292de762b
|
||||
tyHiOa/translation: 21ffcf0b00e7cd7b64f7454a95762e1d
|
||||
PZCqeW/message: 325dea6dd0348a27a6818db2c1340c98
|
||||
PZCqeW/origin/0/0: 8628ddb6f4ded25c0f17e2cbda8207d3
|
||||
@@ -1914,6 +1954,7 @@ checksums:
|
||||
K3iLeO/translation: e3bf6f95419169f460fb6918a0afc512
|
||||
wgNoIs/message: eedc7cdb02de467c15dc418a066a77f2
|
||||
wgNoIs/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
wgNoIs/origin/1/0: 3c57a918258af4b44c187f58d203345f
|
||||
wgNoIs/translation: eedc7cdb02de467c15dc418a066a77f2
|
||||
rYUZIe/message: c7b0ec447415ff62856803a4d7838bd6
|
||||
rYUZIe/origin/0/0: 3c57a918258af4b44c187f58d203345f
|
||||
@@ -2073,12 +2114,12 @@ checksums:
|
||||
nhMhRr/message: 07edd8c50685a52c0969d711df26d768
|
||||
nhMhRr/origin/0/0: 1fd8ccf586705354bcae6e1186108fc7
|
||||
nhMhRr/translation: 07edd8c50685a52c0969d711df26d768
|
||||
NcFrgC/translation: bd15a7b3d8b4bce18cd42682ea1ec164
|
||||
NcFrgC/message: bd15a7b3d8b4bce18cd42682ea1ec164
|
||||
NcFrgC/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
C6gv54/translation: 1573c77059bc92df17e661befda8d9b7
|
||||
NcFrgC/translation: bd15a7b3d8b4bce18cd42682ea1ec164
|
||||
C6gv54/message: 1573c77059bc92df17e661befda8d9b7
|
||||
C6gv54/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
C6gv54/translation: 1573c77059bc92df17e661befda8d9b7
|
||||
jlB2RY/message: 67a76bf346ab4b48563269e9d941a64a
|
||||
jlB2RY/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
jlB2RY/translation: 67a76bf346ab4b48563269e9d941a64a
|
||||
@@ -2155,6 +2196,9 @@ checksums:
|
||||
4gAX8s/message: 29dea3e0b6238874f8c7a27619df8e36
|
||||
4gAX8s/origin/0/0: 634473ef965836871efe40875a36b6ab
|
||||
4gAX8s/translation: 29dea3e0b6238874f8c7a27619df8e36
|
||||
L5WQLg/translation: 38a978eab728978612d1dee8bdeb915b
|
||||
L5WQLg/message: 38a978eab728978612d1dee8bdeb915b
|
||||
L5WQLg/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
eEQyz%2B/message: 0d3bac559c71ec4b8734f9f212320de5
|
||||
eEQyz%2B/origin/0/0: d77eb1f90f2fa86a55181629d88d237a
|
||||
eEQyz%2B/translation: 0d3bac559c71ec4b8734f9f212320de5
|
||||
@@ -2276,9 +2320,9 @@ checksums:
|
||||
TFv5tM/message: 4f2240aeff6f7275feb33ca3f608e48c
|
||||
TFv5tM/origin/0/0: 7493592314bc3b96ad96127a949ba1ba
|
||||
TFv5tM/translation: 4f2240aeff6f7275feb33ca3f608e48c
|
||||
It4%2FFS/translation: ae1527c2765592f13980acb66997e570
|
||||
It4%2FFS/message: ae1527c2765592f13980acb66997e570
|
||||
It4%2FFS/origin/0/0: 0ad2af981579a62b084b3d41462c5546
|
||||
It4%2FFS/translation: ae1527c2765592f13980acb66997e570
|
||||
E8zYtd/message: b683cc07092348c1e75dba40b1262b85
|
||||
E8zYtd/placeholders/0/0: 182720128698512d43d1bf43824cd7f8
|
||||
E8zYtd/origin/0/0: 1d6b5f88cdad160a67842f6b65387448
|
||||
@@ -2571,12 +2615,24 @@ checksums:
|
||||
tca56%2F/message: 19d84e934877efc0fef285ff3d6e7849
|
||||
tca56%2F/origin/0/0: 12c1fab543c8848bcb10107d47336736
|
||||
tca56%2F/translation: 19d84e934877efc0fef285ff3d6e7849
|
||||
HcT8J4/translation: 19478f9152e6879c9c029198e635b44d
|
||||
HcT8J4/message: 19478f9152e6879c9c029198e635b44d
|
||||
HcT8J4/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
AdxYds/translation: a265e2d3b01efd3fe04ac251d2ff6afc
|
||||
AdxYds/message: a265e2d3b01efd3fe04ac251d2ff6afc
|
||||
AdxYds/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
PELbXB/translation: 6984aed03bbcd94041c5dd20f62e56ed
|
||||
PELbXB/message: 6984aed03bbcd94041c5dd20f62e56ed
|
||||
PELbXB/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
Ozt2vv/message: 8f730f68d52b7efa727aa0784282ebcb
|
||||
Ozt2vv/origin/0/0: 0627e0040ca4939c9a57349e98c51797
|
||||
Ozt2vv/translation: 8f730f68d52b7efa727aa0784282ebcb
|
||||
"%2FtOdd2/message": 099e1780348cd7bf617721344371a430
|
||||
"%2FtOdd2/origin/0/0": 03c00909b41be01231cd3e843c8ee44e
|
||||
"%2FtOdd2/translation": 099e1780348cd7bf617721344371a430
|
||||
"%2BjbXzb/translation": c07e27183a52361fc05b919c2a3f5c1f
|
||||
"%2BjbXzb/message": c07e27183a52361fc05b919c2a3f5c1f
|
||||
"%2BjbXzb/origin/0/0": 3c57a918258af4b44c187f58d203345f
|
||||
CJWDTP/message: 126aeeb73f7e4cad338056e4c933f39b
|
||||
CJWDTP/origin/0/0: 9d4260644f1a12f41d6b72574eeb111c
|
||||
CJWDTP/translation: 126aeeb73f7e4cad338056e4c933f39b
|
||||
|
||||
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Board importieren (1)} other {Boards importieren ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Projekt importieren (1)} other {Projekte importieren ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Haben Sie bereits ein Konto? <0><1>Anmelden</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Beim Verbinden Ihres GitHub-Kontos ist ein Fehler aufgetreten.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Beim Trennen Ihres GitHub-Kontos ist ein Fehler aufgetreten.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Beim Trennen Ihres Trello-Kontos ist ein Fehler aufgetreten."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Bestätigen Sie Ihr neues Passwort"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Verbinden",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "GitHub verbinden",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Trello verbinden"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Verbinden Sie Ihre bevorzugten Tools, um Ihren Workflow zu optimieren."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Verbinden Sie Ihr GitHub-Konto, um Projekte zu importieren.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Verbinden Sie Ihr Trello-Konto, um Boards zu importieren."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Design"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "GitHub trennen",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Trello trennen"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Fehler beim Ändern des Passworts"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Fehler beim Verbinden von GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Fehler beim Löschen des Arbeitsbereichs"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Fehler beim Trennen von GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Fehler beim Trennen von Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub verbunden",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub getrennt",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Import abgeschlossen"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Import fehlgeschlagen"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Neuer Import"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Keine Boards gefunden"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Es wurden noch keine Listen erstellt"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Keine Projekte gefunden",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Alle auswählen"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Quelle auswählen"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Einstellungen | Integrationen"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Menü umschalten"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Token ist erforderlich",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello getrennt"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Ihre Boards wurden importiert."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Ihre Datei wurde erfolgreich hochgeladen."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Ihr GitHub-Konto wurde verbunden.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Ihr GitHub-Konto wurde getrennt.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Ihr GitHub-Konto ist verbunden.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Ihr Profilbild wurde aktualisiert."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Ihre Projekte wurden importiert.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Ihr Trello-Konto wurde getrennt."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Ihr Trello-Konto ist verbunden."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -139,11 +139,27 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
299
|
||||
489
|
||||
]
|
||||
],
|
||||
"translation": "{boardCount, plural, one {Import board (1)} other {Import boards ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": [
|
||||
"projectCount"
|
||||
]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
341
|
||||
]
|
||||
]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -830,6 +846,30 @@
|
||||
],
|
||||
"translation": "Already have an account? <0><1>Sign in</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "An error occurred while connecting your GitHub account.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
107
|
||||
]
|
||||
]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "An error occurred while disconnecting your GitHub account.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
130
|
||||
]
|
||||
]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
@@ -837,7 +877,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
61
|
||||
87
|
||||
]
|
||||
],
|
||||
"translation": "An error occurred while disconnecting your Trello account."
|
||||
@@ -2458,18 +2498,38 @@
|
||||
],
|
||||
"translation": "Confirm your new password"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Connect",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
195
|
||||
]
|
||||
]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Connect GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
212
|
||||
]
|
||||
]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
157
|
||||
],
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
93
|
||||
162
|
||||
]
|
||||
],
|
||||
"translation": "Connect Trello"
|
||||
@@ -2486,6 +2546,18 @@
|
||||
],
|
||||
"translation": "Connect your favorite tools to streamline your workflow."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Connect your GitHub account to import projects.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
191
|
||||
]
|
||||
]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
@@ -2493,7 +2565,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
80
|
||||
149
|
||||
]
|
||||
],
|
||||
"translation": "Connect your Trello account to import boards."
|
||||
@@ -3290,6 +3362,18 @@
|
||||
],
|
||||
"translation": "Design"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Disconnect GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
223
|
||||
]
|
||||
]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
@@ -3297,7 +3381,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
108
|
||||
177
|
||||
]
|
||||
],
|
||||
"translation": "Disconnect Trello"
|
||||
@@ -3886,6 +3970,18 @@
|
||||
],
|
||||
"translation": "Error Changing Password"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Error connecting GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
106
|
||||
]
|
||||
]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -3946,6 +4042,18 @@
|
||||
],
|
||||
"translation": "Error deleting workspace"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Error disconnecting GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
129
|
||||
]
|
||||
]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
@@ -3953,7 +4061,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
60
|
||||
86
|
||||
]
|
||||
],
|
||||
"translation": "Error disconnecting Trello"
|
||||
@@ -4606,10 +4714,38 @@
|
||||
[
|
||||
"src/views/home/components/Footer.tsx",
|
||||
37
|
||||
],
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
186
|
||||
]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub connected",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
99
|
||||
]
|
||||
]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub disconnected",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
122
|
||||
]
|
||||
]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -4905,7 +5041,11 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
191
|
||||
229
|
||||
],
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
381
|
||||
]
|
||||
],
|
||||
"translation": "Import complete"
|
||||
@@ -4917,7 +5057,11 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
204
|
||||
242
|
||||
],
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
394
|
||||
]
|
||||
],
|
||||
"translation": "Import failed"
|
||||
@@ -5932,7 +6076,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
322
|
||||
513
|
||||
]
|
||||
],
|
||||
"translation": "New import"
|
||||
@@ -6096,7 +6240,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
242
|
||||
432
|
||||
]
|
||||
],
|
||||
"translation": "No boards found"
|
||||
@@ -6173,6 +6317,18 @@
|
||||
],
|
||||
"translation": "No lists have been created yet"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "No projects found",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
283
|
||||
]
|
||||
]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -6792,7 +6948,11 @@
|
||||
],
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
205
|
||||
243
|
||||
],
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
395
|
||||
],
|
||||
[
|
||||
"src/views/card/components/AttachmentThumbnails.tsx",
|
||||
@@ -7647,7 +7807,11 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
274
|
||||
315
|
||||
],
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
464
|
||||
]
|
||||
],
|
||||
"translation": "Select all"
|
||||
@@ -7659,7 +7823,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
157
|
||||
195
|
||||
]
|
||||
],
|
||||
"translation": "Select source"
|
||||
@@ -7807,7 +7971,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
69
|
||||
138
|
||||
]
|
||||
],
|
||||
"translation": "Settings | Integrations"
|
||||
@@ -8612,6 +8776,18 @@
|
||||
],
|
||||
"translation": "Toggle menu"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Token is required",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
19
|
||||
]
|
||||
]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -8635,7 +8811,7 @@
|
||||
],
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
73
|
||||
142
|
||||
]
|
||||
],
|
||||
"translation": "Trello"
|
||||
@@ -8647,7 +8823,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
53
|
||||
79
|
||||
]
|
||||
],
|
||||
"translation": "Trello disconnected"
|
||||
@@ -10247,7 +10423,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
192
|
||||
382
|
||||
]
|
||||
],
|
||||
"translation": "Your boards have been imported."
|
||||
@@ -10276,6 +10452,42 @@
|
||||
],
|
||||
"translation": "Your file has been uploaded successfully."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Your GitHub account has been connected.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
100
|
||||
]
|
||||
]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Your GitHub account has been disconnected.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
123
|
||||
]
|
||||
]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Your GitHub account is connected.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
220
|
||||
]
|
||||
]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -10300,6 +10512,18 @@
|
||||
],
|
||||
"translation": "Your profile image has been updated."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Your projects have been imported.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
[
|
||||
"src/views/boards/components/ImportBoardsForm.tsx",
|
||||
230
|
||||
]
|
||||
]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
@@ -10307,7 +10531,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
54
|
||||
80
|
||||
]
|
||||
],
|
||||
"translation": "Your Trello account has been disconnected."
|
||||
@@ -10319,7 +10543,7 @@
|
||||
"origin": [
|
||||
[
|
||||
"src/views/settings/IntegrationsSettings.tsx",
|
||||
102
|
||||
171
|
||||
]
|
||||
],
|
||||
"translation": "Your Trello account is connected."
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Importar tablero (1)} other {Importar tableros ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Importar proyecto (1)} other {Importar proyectos ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "¿Ya tienes una cuenta? <0><1>Inicia sesión</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Ocurrió un error al conectar tu cuenta de GitHub.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Ocurrió un error al desconectar tu cuenta de GitHub.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Se produjo un error al desconectar tu cuenta de Trello."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Confirma tu nueva contraseña"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Conectar",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Conectar GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Conectar Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Conecta tus herramientas favoritas para optimizar tu flujo de trabajo."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Conecta tu cuenta de GitHub para importar proyectos.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Conecta tu cuenta de Trello para importar tableros."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Diseño"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Desconectar GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Desconectar Trello"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Error al cambiar la contraseña"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Error al conectar GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Error al eliminar el espacio de trabajo"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Error al desconectar GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Error al desconectar Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub conectado",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub desconectado",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Importación completada"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Importación fallida"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Nueva importación"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "No se encontraron tableros"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Aún no se han creado listas"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "No se encontraron proyectos",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Seleccionar todo"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Seleccionar origen"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Configuración | Integraciones"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Alternar menú"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Se requiere el token",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello desconectado"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Tus tableros han sido importados."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Tu archivo se ha subido correctamente."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Tu cuenta de GitHub ha sido conectada.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Tu cuenta de GitHub ha sido desconectada.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Tu cuenta de GitHub está conectada.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Tu imagen de perfil ha sido actualizada."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Tus proyectos han sido importados.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Tu cuenta de Trello ha sido desconectada."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Tu cuenta de Trello está conectada."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Importer le tableau (1)} other {Importer les tableaux ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Importer le projet (1)} other {Importer les projets ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Vous avez déjà un compte ? <0><1>Se connecter</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Une erreur s'est produite lors de la connexion de votre compte GitHub.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Une erreur s'est produite lors de la déconnexion de votre compte GitHub.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Une erreur s'est produite lors de la déconnexion de votre compte Trello."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Confirmez votre nouveau mot de passe"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Connecter",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Connecter GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Connecter Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Connectez vos outils préférés pour optimiser votre flux de travail."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Connectez votre compte GitHub pour importer des projets.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Connectez votre compte Trello pour importer des tableaux."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Design"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Déconnecter GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Déconnecter Trello"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Erreur lors du changement de mot de passe"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Erreur de connexion à GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Erreur lors de la suppression de l'espace de travail"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Erreur de déconnexion de GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Erreur lors de la déconnexion de Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub connecté",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub déconnecté",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Importation terminée"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Échec de l'importation"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Nouvel import"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Aucun tableau trouvé"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Aucune liste n'a encore été créée"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Aucun projet trouvé",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Tout sélectionner"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Sélectionner la source"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Paramètres | Intégrations"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Basculer le menu"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Le jeton est requis",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello déconnecté"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Vos tableaux ont été importés."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Votre fichier a été téléchargé avec succès."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Votre compte GitHub a été connecté.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Votre compte GitHub a été déconnecté.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Votre compte GitHub est connecté.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Votre image de profil a été mise à jour."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Vos projets ont été importés.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Votre compte Trello a été déconnecté."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Votre compte Trello est connecté."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Importa bacheca (1)} other {Importa bacheche ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Importa progetto (1)} other {Importa progetti ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Hai già un account? <0><1>Accedi</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Si è verificato un errore durante la connessione del tuo account GitHub.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Si è verificato un errore durante la disconnessione del tuo account GitHub.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Si è verificato un errore durante la disconnessione del tuo account Trello."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Conferma la tua nuova password"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Connetti",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Connetti GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Connetti Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Connetti i tuoi strumenti preferiti per semplificare il tuo flusso di lavoro."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Connetti il tuo account GitHub per importare progetti.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Connetti il tuo account Trello per importare le bacheche."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Design"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Disconnetti GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Disconnetti Trello"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Errore durante la modifica della password"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Errore nella connessione a GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Errore durante l'eliminazione dello spazio di lavoro"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Errore nella disconnessione da GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Errore durante la disconnessione da Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub connesso",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub disconnesso",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Importazione completata"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Importazione fallita"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Nuova importazione"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Nessuna board trovata"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Nessuna lista è stata ancora creata"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Nessun progetto trovato",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Seleziona tutto"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Seleziona origine"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Impostazioni | Integrazioni"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Attiva/disattiva menu"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Il token è obbligatorio",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello disconnesso"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Le tue board sono state importate."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Il tuo file è stato caricato con successo."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Il tuo account GitHub è stato connesso.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Il tuo account GitHub è stato disconnesso.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Il tuo account GitHub è connesso.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "La tua immagine del profilo è stata aggiornata."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "I tuoi progetti sono stati importati.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Il tuo account Trello è stato disconnesso."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Il tuo account Trello è connesso."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Bord importeren (1)} other {Borden importeren ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Project importeren (1)} other {Projecten importeren ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Heb je al een account? <0><1>Inloggen</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Er is een fout opgetreden bij het verbinden van je GitHub-account.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Er is een fout opgetreden bij het loskoppelen van je GitHub-account.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Er is een fout opgetreden bij het loskoppelen van je Trello-account."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Bevestig je nieuwe wachtwoord"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Verbinden",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "GitHub verbinden",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Verbind Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Verbind je favoriete tools om je workflow te stroomlijnen."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Verbind je GitHub-account om projecten te importeren.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Verbind je Trello-account om boards te importeren."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Ontwerp"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "GitHub loskoppelen",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Trello loskoppelen"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Fout bij wijzigen wachtwoord"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Fout bij verbinden met GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Fout bij verwijderen werkruimte"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Fout bij loskoppelen van GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Fout bij loskoppelen Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub verbonden",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub losgekoppeld",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Import voltooid"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Import mislukt"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Nieuwe import"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Geen borden gevonden"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Er zijn nog geen lijsten aangemaakt"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Geen projecten gevonden",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Alles selecteren"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Selecteer bron"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Instellingen | Integraties"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Menu in-/uitschakelen"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Token is vereist",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello losgekoppeld"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Je borden zijn geïmporteerd."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Je bestand is succesvol geüpload."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Je GitHub-account is gekoppeld.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Je GitHub-account is ontkoppeld.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Je GitHub-account is gekoppeld.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Je profielafbeelding is bijgewerkt."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Je projecten zijn geïmporteerd.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Je Trello-account is losgekoppeld."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Je Trello-account is gekoppeld."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Importuj tablicę (1)} few {Importuj tablice ({boardCount})} many {Importuj tablic ({boardCount})} other {Importuj tablice ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Importuj projekt (1)} few {Importuj projekty ({projectCount})} many {Importuj projektów ({projectCount})} other {Importuj projekty ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Masz już konto? <0><1>Zaloguj się</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Wystąpił błąd podczas łączenia konta GitHub.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Wystąpił błąd podczas odłączania konta GitHub.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Wystąpił błąd podczas odłączania konta Trello."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Potwierdź nowe hasło"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Połącz",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Połącz z GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Połącz Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Połącz swoje ulubione narzędzia, aby usprawnić pracę."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Połącz swoje konto GitHub, aby zaimportować projekty.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Połącz swoje konto Trello, aby zaimportować tablice."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Design"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Odłącz GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Odłącz Trello"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Błąd podczas zmiany hasła"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Błąd podczas łączenia z GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Błąd podczas usuwania przestrzeni roboczej"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Błąd podczas odłączania GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Błąd podczas odłączania Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub połączony",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub odłączony",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Import zakończony"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Import nie powiódł się"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Nowy import"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Nie znaleziono żadnych tablic"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Nie utworzono jeszcze żadnych list"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Nie znaleziono projektów",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Zaznacz wszystko"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Wybierz źródło"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Ustawienia | Integracje"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Przełącz menu"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Wymagany jest token",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello zostało odłączone"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Twoje tablice zostały zaimportowane."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Twój plik został pomyślnie przesłany."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Twoje konto GitHub zostało połączone.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Twoje konto GitHub zostało odłączone.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Twoje konto GitHub jest połączone.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Twoje zdjęcie profilowe zostało zaktualizowane."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Twoje projekty zostały zaimportowane.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Twoje konto Trello zostało odłączone."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Twoje konto Trello jest połączone."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Importar quadro (1)} other {Importar quadros ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Importar projeto (1)} other {Importar projetos ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Já tem uma conta? <0><1>Entrar</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Ocorreu um erro ao conectar sua conta do GitHub.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Ocorreu um erro ao desconectar sua conta do GitHub.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Ocorreu um erro ao desconectar sua conta do Trello."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Confirme sua nova senha"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Conectar",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Conectar GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Conectar Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Conecte suas ferramentas favoritas para otimizar seu fluxo de trabalho."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Conecte sua conta do GitHub para importar projetos.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Conecte sua conta do Trello para importar quadros."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Design"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Desconectar GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Desconectar Trello"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Erro ao alterar senha"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Erro ao conectar GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Erro ao excluir workspace"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Erro ao desconectar GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Erro ao desconectar Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub conectado",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub desconectado",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Importação concluída"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Falha na importação"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Nova importação"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Nenhum quadro encontrado"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Nenhuma lista foi criada ainda"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Nenhum projeto encontrado",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Selecionar tudo"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Selecionar origem"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Configurações | Integrações"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Alternar menu"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Token é obrigatório",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello desconectado"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Seus quadros foram importados."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Seu arquivo foi enviado com sucesso."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Sua conta do GitHub foi conectada.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Sua conta do GitHub foi desconectada.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Sua conta do GitHub está conectada.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Sua imagem de perfil foi atualizada."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Seus projetos foram importados.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Sua conta do Trello foi desconectada."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Sua conta do Trello está conectada."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,9 +80,18 @@
|
||||
"boardCount": ["boardCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 299]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 489]],
|
||||
"translation": "{boardCount, plural, one {Импортировать доску (1)} few {Импортировать доски ({boardCount})} many {Импортировать досок ({boardCount})} other {Импортировать доски ({boardCount})}}"
|
||||
},
|
||||
"yndBF+": {
|
||||
"translation": "{projectCount, plural, one {Импортировать проект (1)} few {Импортировать проекта ({projectCount})} many {Импортировать проектов ({projectCount})} other {Импортировать проекта ({projectCount})}}",
|
||||
"message": "{projectCount, plural, one {Import project (1)} other {Import projects ({projectCount})}}",
|
||||
"placeholders": {
|
||||
"projectCount": ["projectCount"]
|
||||
},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 341]]
|
||||
},
|
||||
"9lFfqv": {
|
||||
"message": "/month",
|
||||
"placeholders": {},
|
||||
@@ -492,11 +501,25 @@
|
||||
"origin": [["src/views/auth/signup/index.tsx", 90]],
|
||||
"translation": "Уже есть аккаунт? <0><1>Войти</1></0>"
|
||||
},
|
||||
"j1+HPc": {
|
||||
"translation": "Произошла ошибка при подключении вашего аккаунта GitHub.",
|
||||
"message": "An error occurred while connecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 107]]
|
||||
},
|
||||
"Dz63YI": {
|
||||
"translation": "Произошла ошибка при отключении вашего аккаунта GitHub.",
|
||||
"message": "An error occurred while disconnecting your GitHub account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 130]]
|
||||
},
|
||||
"WmPhYW": {
|
||||
"message": "An error occurred while disconnecting your Trello account.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 61]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 87]],
|
||||
"translation": "Произошла ошибка при отключении вашей учетной записи Trello."
|
||||
},
|
||||
"ZXSPJt": {
|
||||
@@ -1473,14 +1496,25 @@
|
||||
],
|
||||
"translation": "Подтвердите новый пароль"
|
||||
},
|
||||
"iSLIjg": {
|
||||
"translation": "Подключить",
|
||||
"message": "Connect",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]]
|
||||
},
|
||||
"3jod3l": {
|
||||
"translation": "Подключить GitHub",
|
||||
"message": "Connect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 212]]
|
||||
},
|
||||
"nk7caK": {
|
||||
"message": "Connect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 157],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 93]
|
||||
],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 162]],
|
||||
"translation": "Подключить Trello"
|
||||
},
|
||||
"sDLCvT": {
|
||||
@@ -1490,11 +1524,18 @@
|
||||
"origin": [["src/views/home/components/Features.tsx", 122]],
|
||||
"translation": "Подключите любимые инструменты, чтобы упростить рабочий процесс."
|
||||
},
|
||||
"MCIXdZ": {
|
||||
"translation": "Подключите свой аккаунт GitHub, чтобы импортировать проекты.",
|
||||
"message": "Connect your GitHub account to import projects.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 191]]
|
||||
},
|
||||
"5eZwRW": {
|
||||
"message": "Connect your Trello account to import boards.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 149]],
|
||||
"translation": "Подключите ваш аккаунт Trello для импорта досок."
|
||||
},
|
||||
"jfC/xh": {
|
||||
@@ -1958,11 +1999,18 @@
|
||||
"origin": [["src/views/boards/components/TemplateBoards.tsx", 45]],
|
||||
"translation": "Дизайн"
|
||||
},
|
||||
"Odv3J6": {
|
||||
"translation": "Отключить GitHub",
|
||||
"message": "Disconnect GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 223]]
|
||||
},
|
||||
"YBBifR": {
|
||||
"message": "Disconnect Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 108]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 177]],
|
||||
"translation": "Отключить Trello"
|
||||
},
|
||||
"1sRmLC": {
|
||||
@@ -2307,6 +2355,13 @@
|
||||
],
|
||||
"translation": "Ошибка при смене пароля"
|
||||
},
|
||||
"yhLUU8": {
|
||||
"translation": "Ошибка подключения GitHub",
|
||||
"message": "Error connecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 106]]
|
||||
},
|
||||
"cji2nM": {
|
||||
"message": "Error creating invite link",
|
||||
"placeholders": {},
|
||||
@@ -2346,11 +2401,18 @@
|
||||
],
|
||||
"translation": "Ошибка при удалении рабочего пространства"
|
||||
},
|
||||
"gQ/02p": {
|
||||
"translation": "Ошибка при отключении GitHub",
|
||||
"message": "Error disconnecting GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 129]]
|
||||
},
|
||||
"lKAvEd": {
|
||||
"message": "Error disconnecting Trello",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 60]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 86]],
|
||||
"translation": "Ошибка при отключении Trello"
|
||||
},
|
||||
"rarRW/": {
|
||||
@@ -2731,9 +2793,26 @@
|
||||
"message": "GitHub",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/home/components/Footer.tsx", 37]],
|
||||
"origin": [
|
||||
["src/views/home/components/Footer.tsx", 37],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 186]
|
||||
],
|
||||
"translation": "GitHub"
|
||||
},
|
||||
"PVT7q7": {
|
||||
"translation": "GitHub подключён",
|
||||
"message": "GitHub connected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 99]]
|
||||
},
|
||||
"/bBVaD": {
|
||||
"translation": "GitHub отключён",
|
||||
"message": "GitHub disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 122]]
|
||||
},
|
||||
"7eMo+U": {
|
||||
"message": "Go Home",
|
||||
"placeholders": {},
|
||||
@@ -2912,14 +2991,20 @@
|
||||
"message": "Import complete",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 191]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 229],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 381]
|
||||
],
|
||||
"translation": "Импорт завершён"
|
||||
},
|
||||
"BEVzjL": {
|
||||
"message": "Import failed",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 204]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 242],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 394]
|
||||
],
|
||||
"translation": "Ошибка импорта"
|
||||
},
|
||||
"rRM7r0": {
|
||||
@@ -3513,7 +3598,7 @@
|
||||
"message": "New import",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 322]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 513]],
|
||||
"translation": "Новый импорт"
|
||||
},
|
||||
"n1GRql": {
|
||||
@@ -3613,7 +3698,7 @@
|
||||
"message": "No boards found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 242]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 432]],
|
||||
"translation": "Доски не найдены"
|
||||
},
|
||||
"OpNhRn": {
|
||||
@@ -3658,6 +3743,13 @@
|
||||
"origin": [["src/views/board/index.tsx", 527]],
|
||||
"translation": "Списки ещё не созданы"
|
||||
},
|
||||
"i30J2U": {
|
||||
"translation": "Проекты не найдены",
|
||||
"message": "No projects found",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 283]]
|
||||
},
|
||||
"ERpq2P": {
|
||||
"message": "No results found for \"{debouncedQuery}\".",
|
||||
"placeholders": {
|
||||
@@ -4021,7 +4113,8 @@
|
||||
["src/views/board/components/VisibilityButton.tsx", 57],
|
||||
["src/views/board/index.tsx", 181],
|
||||
["src/views/board/index.tsx", 237],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 205],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 243],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 395],
|
||||
["src/views/card/components/AttachmentThumbnails.tsx", 74],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 69],
|
||||
["src/views/card/components/ChecklistItemRow.tsx", 97],
|
||||
@@ -4475,14 +4568,17 @@
|
||||
"message": "Select all",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 274]],
|
||||
"origin": [
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 315],
|
||||
["src/views/boards/components/ImportBoardsForm.tsx", 464]
|
||||
],
|
||||
"translation": "Выбрать всё"
|
||||
},
|
||||
"rYUZIe": {
|
||||
"message": "Select source",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 157]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 195]],
|
||||
"translation": "Выбрать источник"
|
||||
},
|
||||
"ppaRWv": {
|
||||
@@ -4569,7 +4665,7 @@
|
||||
"message": "Settings | Integrations",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 69]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 138]],
|
||||
"translation": "Настройки | Интеграции"
|
||||
},
|
||||
"F/FPk/": {
|
||||
@@ -5064,6 +5160,13 @@
|
||||
"origin": [["src/views/home/components/Header.tsx", 114]],
|
||||
"translation": "Переключить меню"
|
||||
},
|
||||
"L5WQLg": {
|
||||
"translation": "Требуется токен",
|
||||
"message": "Token is required",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 19]]
|
||||
},
|
||||
"eEQyz+": {
|
||||
"message": "Track all card changes with detailed activity history.",
|
||||
"placeholders": {},
|
||||
@@ -5077,7 +5180,7 @@
|
||||
"comments": [],
|
||||
"origin": [
|
||||
["src/views/pricing/components/FeatureComparisonTable.tsx", 218],
|
||||
["src/views/settings/IntegrationsSettings.tsx", 73]
|
||||
["src/views/settings/IntegrationsSettings.tsx", 142]
|
||||
],
|
||||
"translation": "Trello"
|
||||
},
|
||||
@@ -5085,7 +5188,7 @@
|
||||
"message": "Trello disconnected",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 53]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 79]],
|
||||
"translation": "Trello отключён"
|
||||
},
|
||||
"kxEs5t": {
|
||||
@@ -6021,7 +6124,7 @@
|
||||
"message": "Your boards have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 192]],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 382]],
|
||||
"translation": "Ваши доски были импортированы."
|
||||
},
|
||||
"LqWW5F": {
|
||||
@@ -6038,6 +6141,27 @@
|
||||
"origin": [["src/views/card/components/AttachmentUpload.tsx", 46]],
|
||||
"translation": "Ваш файл был успешно загружен."
|
||||
},
|
||||
"HcT8J4": {
|
||||
"translation": "Ваш аккаунт GitHub был подключён.",
|
||||
"message": "Your GitHub account has been connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 100]]
|
||||
},
|
||||
"AdxYds": {
|
||||
"translation": "Ваш аккаунт GitHub был отключён.",
|
||||
"message": "Your GitHub account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 123]]
|
||||
},
|
||||
"PELbXB": {
|
||||
"translation": "Ваш аккаунт GitHub подключён.",
|
||||
"message": "Your GitHub account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 220]]
|
||||
},
|
||||
"Ozt2vv": {
|
||||
"message": "Your password has been changed.",
|
||||
"placeholders": {},
|
||||
@@ -6054,18 +6178,25 @@
|
||||
"origin": [["src/views/settings/components/Avatar.tsx", 190]],
|
||||
"translation": "Ваше изображение профиля было обновлено."
|
||||
},
|
||||
"+jbXzb": {
|
||||
"translation": "Ваши проекты были импортированы.",
|
||||
"message": "Your projects have been imported.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/boards/components/ImportBoardsForm.tsx", 230]]
|
||||
},
|
||||
"CJWDTP": {
|
||||
"message": "Your Trello account has been disconnected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 54]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 80]],
|
||||
"translation": "Ваш аккаунт Trello был отключён."
|
||||
},
|
||||
"WRsbHO": {
|
||||
"message": "Your Trello account is connected.",
|
||||
"placeholders": {},
|
||||
"comments": [],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 102]],
|
||||
"origin": [["src/views/settings/IntegrationsSettings.tsx", 171]],
|
||||
"translation": "Ваш аккаунт Trello подключён."
|
||||
},
|
||||
"25fAUC": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@ import { t } from "@lingui/core/macro";
|
||||
import { Plural, Trans } from "@lingui/react/macro";
|
||||
import { Fragment, useEffect, useState } from "react";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { FaTrello } from "react-icons/fa";
|
||||
import { FaGithub, FaTrello } from "react-icons/fa";
|
||||
import {
|
||||
HiChevronUpDown,
|
||||
HiMiniArrowTopRightOnSquare,
|
||||
@@ -27,12 +27,23 @@ const integrationProviders: Record<
|
||||
name: "Trello",
|
||||
icon: <FaTrello />,
|
||||
},
|
||||
github: {
|
||||
name: "GitHub",
|
||||
icon: <FaGithub />,
|
||||
},
|
||||
};
|
||||
|
||||
const SelectSource = ({ handleNextStep }: { handleNextStep: () => void }) => {
|
||||
const SelectSource = ({
|
||||
handleNextStep,
|
||||
}: {
|
||||
handleNextStep: (provider: string) => void;
|
||||
}) => {
|
||||
const { data: integrations, refetch: refetchIntegrations } =
|
||||
api.integration.providers.useQuery();
|
||||
const { control, handleSubmit } = useForm({
|
||||
const { data: githubStatus, refetch: refetchGithubStatus } =
|
||||
api.integration.getGitHubStatus.useQuery();
|
||||
|
||||
const { control, handleSubmit, watch } = useForm({
|
||||
defaultValues: {
|
||||
source: integrations?.[0]?.provider ?? "trello",
|
||||
},
|
||||
@@ -47,23 +58,36 @@ const SelectSource = ({ handleNextStep }: { handleNextStep: () => void }) => {
|
||||
},
|
||||
);
|
||||
|
||||
const hasIntegrations = integrations && integrations.length > 0;
|
||||
const availableIntegrations = [
|
||||
...(integrations ?? []),
|
||||
...(githubStatus?.connected ? [{ provider: "github" }] : []),
|
||||
];
|
||||
|
||||
const hasIntegrations = availableIntegrations.length > 0;
|
||||
|
||||
useEffect(() => {
|
||||
const handleFocus = () => {
|
||||
refetchIntegrations();
|
||||
void refetchIntegrations();
|
||||
void refetchGithubStatus();
|
||||
};
|
||||
window.addEventListener("focus", handleFocus);
|
||||
return () => {
|
||||
window.removeEventListener("focus", handleFocus);
|
||||
};
|
||||
}, [refetchIntegrations]);
|
||||
}, [refetchIntegrations, refetchGithubStatus]);
|
||||
|
||||
const onSubmit = () => {
|
||||
if (!hasIntegrations && trelloUrl) {
|
||||
window.open(trelloUrl.url, "trello_auth", "height=800,width=600");
|
||||
const selected = watch("source");
|
||||
if (
|
||||
selected === "trello" &&
|
||||
!integrations?.some((i) => i.provider === "trello")
|
||||
) {
|
||||
if (trelloUrl)
|
||||
window.open(trelloUrl.url, "trello_auth", "height=800,width=600");
|
||||
} else if (selected === "github" && !githubStatus?.connected) {
|
||||
window.open("/settings/integrations", "_blank");
|
||||
} else {
|
||||
handleNextStep();
|
||||
handleNextStep(selected);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -102,7 +126,7 @@ const SelectSource = ({ handleNextStep }: { handleNextStep: () => void }) => {
|
||||
>
|
||||
<Listbox.Options className="absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-light-50 py-1 text-base text-neutral-900 shadow-lg ring-1 ring-light-600 ring-opacity-5 focus:outline-none dark:bg-dark-300 dark:text-dark-1000 sm:text-sm">
|
||||
{hasIntegrations ? (
|
||||
integrations.map((integration, index) => (
|
||||
availableIntegrations.map((integration, index) => (
|
||||
<Listbox.Option
|
||||
key={`source_${index}`}
|
||||
className="relative cursor-default select-none px-1"
|
||||
@@ -123,18 +147,32 @@ const SelectSource = ({ handleNextStep }: { handleNextStep: () => void }) => {
|
||||
</Listbox.Option>
|
||||
))
|
||||
) : (
|
||||
<Listbox.Option
|
||||
key="trello_placeholder"
|
||||
className="font-sm relative cursor-default select-none px-1"
|
||||
value="trello"
|
||||
>
|
||||
<div className="flex items-center rounded-[5px] p-1 text-sm hover:bg-light-200 dark:hover:bg-dark-400">
|
||||
{integrationProviders.trello?.icon}
|
||||
<span className="ml-2 block truncate text-sm">
|
||||
{integrationProviders.trello?.name}
|
||||
</span>
|
||||
</div>
|
||||
</Listbox.Option>
|
||||
<>
|
||||
<Listbox.Option
|
||||
key="trello_placeholder"
|
||||
className="font-sm relative cursor-default select-none px-1"
|
||||
value="trello"
|
||||
>
|
||||
<div className="flex items-center rounded-[5px] p-1 text-sm hover:bg-light-200 dark:hover:bg-dark-400">
|
||||
{integrationProviders.trello?.icon}
|
||||
<span className="ml-2 block truncate text-sm">
|
||||
{integrationProviders.trello?.name}
|
||||
</span>
|
||||
</div>
|
||||
</Listbox.Option>
|
||||
<Listbox.Option
|
||||
key="github_placeholder"
|
||||
className="font-sm relative cursor-default select-none px-1"
|
||||
value="github"
|
||||
>
|
||||
<div className="flex items-center rounded-[5px] p-1 text-sm hover:bg-light-200 dark:hover:bg-dark-400">
|
||||
{integrationProviders.github?.icon}
|
||||
<span className="ml-2 block truncate text-sm">
|
||||
{integrationProviders.github?.name}
|
||||
</span>
|
||||
</div>
|
||||
</Listbox.Option>
|
||||
</>
|
||||
)}
|
||||
</Listbox.Options>
|
||||
</Transition>
|
||||
@@ -154,7 +192,159 @@ const SelectSource = ({ handleNextStep }: { handleNextStep: () => void }) => {
|
||||
!hasIntegrations ? <HiMiniArrowTopRightOnSquare /> : undefined
|
||||
}
|
||||
>
|
||||
{hasIntegrations ? t`Select source` : t`Connect Trello`}
|
||||
{hasIntegrations ? t`Select source` : t`Connect`}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
);
|
||||
};
|
||||
|
||||
const ImportGithub: React.FC = () => {
|
||||
const utils = api.useUtils();
|
||||
const { closeModal } = useModal();
|
||||
const { workspace } = useWorkspace();
|
||||
const { showPopup } = usePopup();
|
||||
const [isSelectAllEnabled, setIsSelectAllEnabled] = useState(false);
|
||||
|
||||
const refetchBoards = () => utils.board.all.refetch();
|
||||
|
||||
const { data: projects, isLoading: projectsLoading } =
|
||||
api.import.github.getProjects.useQuery();
|
||||
|
||||
const {
|
||||
register: registerProjects,
|
||||
handleSubmit: handleSubmitProjects,
|
||||
setValue,
|
||||
watch,
|
||||
} = useForm({
|
||||
defaultValues: Object.fromEntries(
|
||||
projects?.map((project) => [project.id, true]) ?? [],
|
||||
),
|
||||
});
|
||||
|
||||
const importProjects = api.import.github.importProjects.useMutation({
|
||||
onSuccess: async () => {
|
||||
showPopup({
|
||||
header: t`Import complete`,
|
||||
message: t`Your projects have been imported.`,
|
||||
icon: "success",
|
||||
});
|
||||
try {
|
||||
await refetchBoards();
|
||||
closeModal();
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
},
|
||||
onError: () => {
|
||||
showPopup({
|
||||
header: t`Import failed`,
|
||||
message: t`Please try again later, or contact customer support.`,
|
||||
icon: "error",
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
const projectWatchers = projects?.map((project) => ({
|
||||
id: project.id,
|
||||
value: watch(project.id),
|
||||
}));
|
||||
|
||||
const projectCount =
|
||||
projectWatchers?.filter((w) => w.value === true).length ?? 0;
|
||||
|
||||
const onSubmitProjects = (values: Record<string, boolean>) => {
|
||||
const projectIds = Object.keys(values).filter(
|
||||
(key) => values[key] === true,
|
||||
);
|
||||
|
||||
importProjects.mutate({
|
||||
projectIds,
|
||||
workspacePublicId: workspace.publicId,
|
||||
});
|
||||
};
|
||||
|
||||
const renderContent = () => {
|
||||
if (projectsLoading) {
|
||||
return (
|
||||
<div className="flex h-full w-full flex-col items-center justify-center gap-1">
|
||||
<div className="h-[30px] w-full animate-pulse rounded-[5px] bg-light-200 dark:bg-dark-300" />
|
||||
<div className="h-[30px] w-full animate-pulse rounded-[5px] bg-light-200 dark:bg-dark-300" />
|
||||
<div className="h-[30px] w-full animate-pulse rounded-[5px] bg-light-200 dark:bg-dark-300" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!projects?.length) {
|
||||
return (
|
||||
<div className="flex h-full w-full items-center justify-center">
|
||||
<p className="text-sm text-neutral-500 dark:text-dark-900">
|
||||
{t`No projects found`}
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return projects.map((project) => (
|
||||
<div key={project.id}>
|
||||
<label
|
||||
className="flex cursor-pointer items-center rounded-[5px] p-2 hover:bg-light-100 dark:hover:bg-dark-300"
|
||||
htmlFor={project.id}
|
||||
>
|
||||
<input
|
||||
id={project.id}
|
||||
type="checkbox"
|
||||
className="h-[14px] w-[14px] rounded bg-transparent ring-0 focus:outline-none focus:ring-0 focus:ring-offset-0"
|
||||
{...registerProjects(project.id)}
|
||||
/>
|
||||
<span className="ml-3 text-sm text-neutral-900 dark:text-dark-1000">
|
||||
{project.name}
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
));
|
||||
};
|
||||
|
||||
return (
|
||||
<form onSubmit={handleSubmitProjects(onSubmitProjects)}>
|
||||
<div className="h-[105px] overflow-auto px-5">{renderContent()}</div>
|
||||
|
||||
<div className="mt-12 flex items-center justify-end border-t border-light-600 px-5 pb-5 pt-5 dark:border-dark-600">
|
||||
<Toggle
|
||||
label={t`Select all`}
|
||||
isChecked={!!isSelectAllEnabled}
|
||||
onChange={() => {
|
||||
const newState = !isSelectAllEnabled;
|
||||
setIsSelectAllEnabled(newState);
|
||||
|
||||
for (const project of projects ?? []) {
|
||||
setValue(project.id, newState);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<div className="space-x-2">
|
||||
<Button
|
||||
type="submit"
|
||||
isLoading={importProjects.isPending}
|
||||
disabled={
|
||||
importProjects.isPending ||
|
||||
projectsLoading ||
|
||||
!projects?.length ||
|
||||
!projects.some(
|
||||
(project) =>
|
||||
projectWatchers?.find((w) => w.id === project.id)?.value ===
|
||||
true,
|
||||
)
|
||||
}
|
||||
>
|
||||
<Trans>
|
||||
<Plural
|
||||
value={projectCount}
|
||||
one={`Import project (1)`}
|
||||
other={`Import projects (${projectCount})`}
|
||||
/>
|
||||
</Trans>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -213,7 +403,7 @@ const ImportTrello: React.FC = () => {
|
||||
value: watch(board.id),
|
||||
}));
|
||||
|
||||
const boardCount = boardWatchers?.filter((w) => w.value === true).length || 0;
|
||||
const boardCount = boardWatchers?.filter((w) => w.value === true).length ?? 0;
|
||||
|
||||
const onSubmitBoards = (values: Record<string, boolean>) => {
|
||||
const boardIds = Object.keys(values).filter((key) => values[key] === true);
|
||||
@@ -267,7 +457,7 @@ const ImportTrello: React.FC = () => {
|
||||
|
||||
return (
|
||||
<form onSubmit={handleSubmitBoards(onSubmitBoards)}>
|
||||
<div className="h-[105px] overflow-scroll px-5">{renderContent()}</div>
|
||||
<div className="h-[105px] overflow-auto px-5">{renderContent()}</div>
|
||||
|
||||
<div className="mt-12 flex items-center justify-end border-t border-light-600 px-5 pb-5 pt-5 dark:border-dark-600">
|
||||
<Toggle
|
||||
@@ -277,7 +467,7 @@ const ImportTrello: React.FC = () => {
|
||||
const newState = !isSelectAllEnabled;
|
||||
setIsSelectAllEnabled(newState);
|
||||
|
||||
for (const board of boards || []) {
|
||||
for (const board of boards ?? []) {
|
||||
setValue(board.id, newState);
|
||||
}
|
||||
}}
|
||||
@@ -313,6 +503,7 @@ const ImportTrello: React.FC = () => {
|
||||
export function ImportBoardsForm() {
|
||||
const { closeModal } = useModal();
|
||||
const [step, setStep] = useState(1);
|
||||
const [provider, setProvider] = useState<string | null>(null);
|
||||
|
||||
return (
|
||||
<div>
|
||||
@@ -339,8 +530,16 @@ export function ImportBoardsForm() {
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{step === 1 && <SelectSource handleNextStep={() => setStep(step + 1)} />}
|
||||
{step === 2 && <ImportTrello />}
|
||||
{step === 1 && (
|
||||
<SelectSource
|
||||
handleNextStep={(p) => {
|
||||
setProvider(p);
|
||||
setStep(step + 1);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
{step === 2 && provider === "trello" && <ImportTrello />}
|
||||
{step === 2 && provider === "github" && <ImportGithub />}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import { t } from "@lingui/core/macro";
|
||||
import { useEffect } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { HiMiniArrowTopRightOnSquare } from "react-icons/hi2";
|
||||
import { z } from "zod";
|
||||
|
||||
import Button from "~/components/Button";
|
||||
import FeedbackModal from "~/components/FeedbackModal";
|
||||
import Input from "~/components/Input";
|
||||
import Modal from "~/components/modal";
|
||||
import { NewWorkspaceForm } from "~/components/NewWorkspaceForm";
|
||||
import { PageHead } from "~/components/PageHead";
|
||||
@@ -11,10 +15,28 @@ import { useModal } from "~/providers/modal";
|
||||
import { usePopup } from "~/providers/popup";
|
||||
import { api } from "~/utils/api";
|
||||
|
||||
const githubTokenSchema = z.object({
|
||||
token: z.string().min(1, { message: t`Token is required` }),
|
||||
});
|
||||
|
||||
type GitHubTokenFormValues = z.infer<typeof githubTokenSchema>;
|
||||
|
||||
export default function IntegrationsSettings() {
|
||||
const { modalContentType, isOpen } = useModal();
|
||||
const { showPopup } = usePopup();
|
||||
|
||||
const {
|
||||
register,
|
||||
handleSubmit,
|
||||
formState: { isDirty, errors },
|
||||
reset,
|
||||
} = useForm<GitHubTokenFormValues>({
|
||||
resolver: zodResolver(githubTokenSchema),
|
||||
defaultValues: {
|
||||
token: "",
|
||||
},
|
||||
});
|
||||
|
||||
const {
|
||||
data: integrations,
|
||||
refetch: refetchIntegrations,
|
||||
@@ -34,21 +56,25 @@ export default function IntegrationsSettings() {
|
||||
},
|
||||
);
|
||||
|
||||
const { data: githubStatus, refetch: refetchGithubStatus } =
|
||||
api.integration.getGitHubStatus.useQuery();
|
||||
|
||||
useEffect(() => {
|
||||
const handleFocus = () => {
|
||||
refetchIntegrations();
|
||||
void refetchIntegrations();
|
||||
void refetchGithubStatus();
|
||||
};
|
||||
window.addEventListener("focus", handleFocus);
|
||||
return () => {
|
||||
window.removeEventListener("focus", handleFocus);
|
||||
};
|
||||
}, [refetchIntegrations]);
|
||||
}, [refetchIntegrations, refetchGithubStatus]);
|
||||
|
||||
const { mutateAsync: disconnectTrello } =
|
||||
api.integration.disconnect.useMutation({
|
||||
onSuccess: () => {
|
||||
refetchIntegrations();
|
||||
refetchTrelloUrl();
|
||||
void refetchIntegrations();
|
||||
void refetchTrelloUrl();
|
||||
showPopup({
|
||||
header: t`Trello disconnected`,
|
||||
message: t`Your Trello account has been disconnected.`,
|
||||
@@ -64,6 +90,49 @@ export default function IntegrationsSettings() {
|
||||
},
|
||||
});
|
||||
|
||||
const { mutateAsync: saveGithubToken, isPending: isSavingGithubToken } =
|
||||
api.integration.saveGitHubToken.useMutation({
|
||||
onSuccess: () => {
|
||||
void refetchGithubStatus();
|
||||
reset();
|
||||
showPopup({
|
||||
header: t`GitHub connected`,
|
||||
message: t`Your GitHub account has been connected.`,
|
||||
icon: "success",
|
||||
});
|
||||
},
|
||||
onError: () => {
|
||||
showPopup({
|
||||
header: t`Error connecting GitHub`,
|
||||
message: t`An error occurred while connecting your GitHub account.`,
|
||||
icon: "error",
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
const onSubmitGithubToken = (data: GitHubTokenFormValues) => {
|
||||
void saveGithubToken({ token: data.token });
|
||||
};
|
||||
|
||||
const { mutateAsync: disconnectGithub } =
|
||||
api.integration.disconnectGitHub.useMutation({
|
||||
onSuccess: () => {
|
||||
void refetchGithubStatus();
|
||||
showPopup({
|
||||
header: t`GitHub disconnected`,
|
||||
message: t`Your GitHub account has been disconnected.`,
|
||||
icon: "success",
|
||||
});
|
||||
},
|
||||
onError: () => {
|
||||
showPopup({
|
||||
header: t`Error disconnecting GitHub`,
|
||||
message: t`An error occurred while disconnecting your GitHub account.`,
|
||||
icon: "error",
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHead title={t`Settings | Integrations`} />
|
||||
@@ -112,6 +181,51 @@ export default function IntegrationsSettings() {
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="mb-8 border-t border-light-300 dark:border-dark-300">
|
||||
<h2 className="mb-4 mt-8 text-[14px] font-bold text-neutral-900 dark:text-dark-1000">
|
||||
{t`GitHub`}
|
||||
</h2>
|
||||
{!githubStatus?.connected ? (
|
||||
<>
|
||||
<p className="mb-4 text-sm text-neutral-500 dark:text-dark-900">
|
||||
{t`Connect your GitHub account to import projects.`}
|
||||
</p>
|
||||
<form
|
||||
onSubmit={handleSubmit(onSubmitGithubToken)}
|
||||
className="flex gap-2"
|
||||
>
|
||||
<div className="mb-4 flex w-full max-w-[325px] items-center gap-2">
|
||||
<Input
|
||||
type="password"
|
||||
placeholder="Personal Access Token"
|
||||
{...register("token")}
|
||||
errorMessage={errors.token?.message}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<Button
|
||||
variant="secondary"
|
||||
type="submit"
|
||||
disabled={!isDirty || isSavingGithubToken}
|
||||
isLoading={isSavingGithubToken}
|
||||
>
|
||||
{t`Connect GitHub`}
|
||||
</Button>
|
||||
</div>
|
||||
</form>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<p className="mb-8 text-sm text-neutral-500 dark:text-dark-900">
|
||||
{t`Your GitHub account is connected.`}
|
||||
</p>
|
||||
<Button variant="secondary" onClick={() => disconnectGithub()}>
|
||||
{t`Disconnect GitHub`}
|
||||
</Button>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Global modals */}
|
||||
<Modal
|
||||
modalSize="md"
|
||||
|
||||
@@ -11,10 +11,12 @@ import * as labelRepo from "@kan/db/repository/label.repo";
|
||||
import * as listRepo from "@kan/db/repository/list.repo";
|
||||
import * as workspaceRepo from "@kan/db/repository/workspace.repo";
|
||||
import { colours } from "@kan/shared/constants";
|
||||
import { generateUID } from "@kan/shared/utils";
|
||||
import { generateSlug, generateUID } from "@kan/shared/utils";
|
||||
|
||||
import { createTRPCRouter, protectedProcedure } from "../trpc";
|
||||
import { assertPermission } from "../utils/permissions";
|
||||
import { assertUserInWorkspace } from "../utils/auth";
|
||||
import { decryptToken } from "../utils/encryption";
|
||||
import { apiKeys, urls } from "./integration";
|
||||
|
||||
export interface TrelloBoard {
|
||||
@@ -50,6 +52,51 @@ interface TrelloCheckItem {
|
||||
pos: number;
|
||||
}
|
||||
|
||||
interface GitHubProjectsResponse {
|
||||
data: {
|
||||
viewer: {
|
||||
projectsV2: {
|
||||
nodes?: { id: string; title: string }[];
|
||||
};
|
||||
organizations: {
|
||||
nodes: {
|
||||
projectsV2: {
|
||||
nodes?: { id: string; title: string }[];
|
||||
};
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
errors?: unknown[];
|
||||
}
|
||||
|
||||
interface GitHubGraphQLResponse {
|
||||
data?: {
|
||||
node?: GitHubProjectV2Node;
|
||||
};
|
||||
errors?: unknown[];
|
||||
}
|
||||
|
||||
interface GitHubProjectV2Node {
|
||||
title: string;
|
||||
field?: {
|
||||
options?: { id: string; name: string }[];
|
||||
};
|
||||
areaField?: {
|
||||
options?: { id: string; name: string; color: string }[];
|
||||
};
|
||||
items?: {
|
||||
nodes: {
|
||||
fieldValueByName?: { name: string };
|
||||
areaValue?: { name: string };
|
||||
content?: {
|
||||
title?: string;
|
||||
body?: string;
|
||||
};
|
||||
}[];
|
||||
};
|
||||
}
|
||||
|
||||
interface TrelloCard {
|
||||
id: string;
|
||||
name: string | null;
|
||||
@@ -464,4 +511,436 @@ export const importRouter = createTRPCRouter({
|
||||
return { boardsCreated };
|
||||
}),
|
||||
}),
|
||||
github: createTRPCRouter({
|
||||
getProjects: protectedProcedure
|
||||
.meta({
|
||||
openapi: {
|
||||
summary: "Get projects from GitHub",
|
||||
method: "GET",
|
||||
path: "/integrations/github/projects",
|
||||
description: "Retrieves all projects from GitHub",
|
||||
tags: ["Integrations"],
|
||||
protect: true,
|
||||
},
|
||||
})
|
||||
.input(z.void())
|
||||
.output(z.array(z.object({ id: z.string(), name: z.string() })))
|
||||
.query(async ({ ctx }) => {
|
||||
const user = ctx.user;
|
||||
|
||||
if (!user)
|
||||
throw new TRPCError({
|
||||
message: "User not authenticated",
|
||||
code: "UNAUTHORIZED",
|
||||
});
|
||||
|
||||
const integration = await integrationsRepo.getProviderForUser(
|
||||
ctx.db,
|
||||
user.id,
|
||||
"github",
|
||||
);
|
||||
|
||||
if (!integration)
|
||||
throw new TRPCError({
|
||||
message: "GitHub token not found",
|
||||
code: "UNAUTHORIZED",
|
||||
});
|
||||
|
||||
const token = decryptToken(integration.accessToken);
|
||||
|
||||
// GraphQL query to fetch Projects V2 for the user and their organizations
|
||||
const query = `
|
||||
query {
|
||||
viewer {
|
||||
projectsV2(first: 20) {
|
||||
nodes {
|
||||
id
|
||||
title
|
||||
}
|
||||
}
|
||||
organizations(first: 10) {
|
||||
nodes {
|
||||
projectsV2(first: 10) {
|
||||
nodes {
|
||||
id
|
||||
title
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const response = await fetch("https://api.github.com/graphql", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `token ${token}`,
|
||||
"Content-Type": "application/json",
|
||||
"User-Agent": "Kan-App",
|
||||
},
|
||||
body: JSON.stringify({ query }),
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
const errorText = await response.text();
|
||||
console.error(
|
||||
`GitHub API Error: ${response.status} ${response.statusText}`,
|
||||
);
|
||||
console.error(`GitHub API Response: ${errorText}`);
|
||||
|
||||
throw new TRPCError({
|
||||
message: `Failed to fetch GitHub projects: ${response.status} ${response.statusText}`,
|
||||
code: "INTERNAL_SERVER_ERROR",
|
||||
});
|
||||
}
|
||||
|
||||
const result = (await response.json()) as GitHubProjectsResponse;
|
||||
|
||||
if (result.errors) {
|
||||
console.error("GitHub GraphQL Errors:", result.errors);
|
||||
throw new TRPCError({
|
||||
message: "Failed to fetch GitHub projects (GraphQL Error)",
|
||||
code: "INTERNAL_SERVER_ERROR",
|
||||
});
|
||||
}
|
||||
|
||||
const userProjects = result.data.viewer.projectsV2.nodes ?? [];
|
||||
const orgProjects = result.data.viewer.organizations.nodes.flatMap(
|
||||
(org) => org.projectsV2.nodes ?? [],
|
||||
);
|
||||
|
||||
const allProjects = [...userProjects, ...orgProjects];
|
||||
|
||||
return allProjects.map((project) => ({
|
||||
id: project.id,
|
||||
name: project.title,
|
||||
}));
|
||||
}),
|
||||
|
||||
importProjects: protectedProcedure
|
||||
.meta({
|
||||
openapi: {
|
||||
summary: "Import projects from GitHub",
|
||||
method: "POST",
|
||||
path: "/imports/github/projects",
|
||||
description: "Imports projects from GitHub",
|
||||
tags: ["Imports"],
|
||||
protect: true,
|
||||
},
|
||||
})
|
||||
.input(
|
||||
z.object({
|
||||
projectIds: z.array(z.string()),
|
||||
workspacePublicId: z.string().min(12),
|
||||
}),
|
||||
)
|
||||
.output(z.object({ projectsImported: z.number() }))
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const userId = ctx.user?.id;
|
||||
if (!userId) throw new TRPCError({ code: "UNAUTHORIZED" });
|
||||
|
||||
const integration = await integrationsRepo.getProviderForUser(
|
||||
ctx.db,
|
||||
userId,
|
||||
"github",
|
||||
);
|
||||
|
||||
if (!integration)
|
||||
throw new TRPCError({
|
||||
code: "UNAUTHORIZED",
|
||||
message: "GitHub token not found",
|
||||
});
|
||||
|
||||
const token = decryptToken(integration.accessToken);
|
||||
|
||||
const workspace = await workspaceRepo.getByPublicId(
|
||||
ctx.db,
|
||||
input.workspacePublicId,
|
||||
);
|
||||
if (!workspace)
|
||||
throw new TRPCError({
|
||||
code: "NOT_FOUND",
|
||||
message: "Workspace not found",
|
||||
});
|
||||
|
||||
await assertUserInWorkspace(ctx.db, userId, workspace.id);
|
||||
|
||||
const newImport = await importRepo.create(ctx.db, {
|
||||
source: "github",
|
||||
createdBy: userId,
|
||||
});
|
||||
|
||||
if (!newImport) {
|
||||
throw new TRPCError({
|
||||
code: "INTERNAL_SERVER_ERROR",
|
||||
message: "Failed to create import record",
|
||||
});
|
||||
}
|
||||
|
||||
const newImportId = newImport.id;
|
||||
let projectsImported = 0;
|
||||
|
||||
for (const projectId of input.projectIds) {
|
||||
// GraphQL query to fetch Project V2 details, status options, area options, and items
|
||||
const query = `
|
||||
query($id: ID!) {
|
||||
node(id: $id) {
|
||||
... on ProjectV2 {
|
||||
title
|
||||
field(name: "Status") {
|
||||
... on ProjectV2SingleSelectField {
|
||||
options {
|
||||
id
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
areaField: field(name: "Area") {
|
||||
... on ProjectV2SingleSelectField {
|
||||
options {
|
||||
id
|
||||
name
|
||||
color
|
||||
}
|
||||
}
|
||||
}
|
||||
items(first: 100) {
|
||||
nodes {
|
||||
fieldValueByName(name: "Status") {
|
||||
... on ProjectV2ItemFieldSingleSelectValue {
|
||||
name
|
||||
}
|
||||
}
|
||||
areaValue: fieldValueByName(name: "Area") {
|
||||
... on ProjectV2ItemFieldSingleSelectValue {
|
||||
name
|
||||
}
|
||||
}
|
||||
content {
|
||||
... on Issue {
|
||||
title
|
||||
body
|
||||
}
|
||||
... on PullRequest {
|
||||
title
|
||||
body
|
||||
}
|
||||
... on DraftIssue {
|
||||
title
|
||||
body
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const response = await fetch("https://api.github.com/graphql", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: `token ${token}`,
|
||||
"Content-Type": "application/json",
|
||||
"User-Agent": "Kan-App",
|
||||
},
|
||||
body: JSON.stringify({ query, variables: { id: projectId } }),
|
||||
});
|
||||
|
||||
const result = (await response.json()) as GitHubGraphQLResponse;
|
||||
if (result.errors || !result.data?.node) continue;
|
||||
|
||||
const projectData = result.data.node;
|
||||
const statusOptions = projectData.field?.options ?? [];
|
||||
const areaOptions = projectData.areaField?.options ?? [];
|
||||
const items = projectData.items?.nodes ?? [];
|
||||
|
||||
const boardPublicId = generateUID();
|
||||
const board = await boardRepo.create(ctx.db, {
|
||||
publicId: boardPublicId,
|
||||
name: projectData.title,
|
||||
workspaceId: workspace.id,
|
||||
slug: generateSlug(projectData.title),
|
||||
createdBy: userId,
|
||||
importId: newImportId,
|
||||
});
|
||||
|
||||
if (!board) continue;
|
||||
|
||||
// Prepare Labels
|
||||
const labelsInsert = areaOptions.map((option) => {
|
||||
let colourCode = "#0d9488"; // Default Teal
|
||||
const ghColor = option.color;
|
||||
|
||||
// Map GitHub colors to Kan colors
|
||||
if (ghColor === "BLUE") colourCode = "#0284c7";
|
||||
else if (ghColor === "GREEN") colourCode = "#65a30d";
|
||||
else if (ghColor === "YELLOW") colourCode = "#ca8a04";
|
||||
else if (ghColor === "ORANGE") colourCode = "#ea580c";
|
||||
else if (ghColor === "RED") colourCode = "#dc2626";
|
||||
else if (ghColor === "PINK") colourCode = "#db2777";
|
||||
else if (ghColor === "PURPLE") colourCode = "#4f46e5";
|
||||
else if (ghColor === "GRAY") colourCode = "#0d9488";
|
||||
|
||||
return {
|
||||
publicId: generateUID(),
|
||||
name: option.name,
|
||||
colourCode,
|
||||
createdBy: userId,
|
||||
boardId: board.id,
|
||||
importId: newImportId,
|
||||
};
|
||||
});
|
||||
|
||||
const createdLabels = await labelRepo.bulkCreate(
|
||||
ctx.db,
|
||||
labelsInsert,
|
||||
);
|
||||
const labelMap = new Map<string, number>();
|
||||
|
||||
createdLabels.forEach((label, index) => {
|
||||
const originalName = areaOptions[index]?.name;
|
||||
if (originalName) {
|
||||
labelMap.set(originalName, label.id);
|
||||
}
|
||||
});
|
||||
|
||||
// Prepare Lists
|
||||
const listsInsert: {
|
||||
publicId: string;
|
||||
name: string;
|
||||
createdBy: string;
|
||||
boardId: number;
|
||||
index: number;
|
||||
importId: number;
|
||||
}[] = [];
|
||||
|
||||
if (statusOptions.length === 0) {
|
||||
listsInsert.push({
|
||||
publicId: generateUID(),
|
||||
name: "To Do",
|
||||
createdBy: userId,
|
||||
boardId: board.id,
|
||||
index: 0,
|
||||
importId: newImportId,
|
||||
});
|
||||
} else {
|
||||
statusOptions.forEach((option, index) => {
|
||||
listsInsert.push({
|
||||
publicId: generateUID(),
|
||||
name: option.name,
|
||||
createdBy: userId,
|
||||
boardId: board.id,
|
||||
index: index,
|
||||
importId: newImportId,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
const createdLists = await listRepo.bulkCreate(ctx.db, listsInsert);
|
||||
const listIdMap = new Map<string, number>();
|
||||
createdLists.forEach((list, index) => {
|
||||
const originalName = listsInsert[index]?.name;
|
||||
if (originalName) {
|
||||
listIdMap.set(originalName, list.id);
|
||||
}
|
||||
});
|
||||
|
||||
// Prepare Cards
|
||||
const itemsToInsert: {
|
||||
item: NonNullable<
|
||||
NonNullable<
|
||||
NonNullable<GitHubProjectV2Node["items"]>["nodes"]
|
||||
>[number]
|
||||
>;
|
||||
listId: number;
|
||||
title: string;
|
||||
description: string;
|
||||
}[] = [];
|
||||
|
||||
for (const item of items) {
|
||||
const statusName = item.fieldValueByName?.name;
|
||||
const content = item.content ?? {};
|
||||
const title = content.title ?? "Untitled Card";
|
||||
const description = content.body ?? "";
|
||||
|
||||
let listId = statusName ? listIdMap.get(statusName) : undefined;
|
||||
|
||||
// Fallback to first list
|
||||
if (!listId && createdLists.length > 0) {
|
||||
listId = createdLists[0]?.id;
|
||||
}
|
||||
|
||||
if (listId) {
|
||||
itemsToInsert.push({
|
||||
item,
|
||||
listId,
|
||||
title,
|
||||
description,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const cardsInput = itemsToInsert.map((data, index) => ({
|
||||
publicId: generateUID(),
|
||||
title: data.title,
|
||||
description: data.description,
|
||||
createdBy: userId,
|
||||
listId: data.listId,
|
||||
index: index,
|
||||
importId: newImportId,
|
||||
}));
|
||||
|
||||
const createdCards = await cardRepo.bulkCreate(ctx.db, cardsInput);
|
||||
|
||||
// Create Activities
|
||||
const activities = createdCards.map((card) => ({
|
||||
type: "card.created" as const,
|
||||
cardId: card.id,
|
||||
createdBy: userId,
|
||||
}));
|
||||
|
||||
if (activities.length > 0) {
|
||||
await cardActivityRepo.bulkCreate(ctx.db, activities);
|
||||
}
|
||||
|
||||
// Link Labels
|
||||
const cardLabelRelations: { cardId: number; labelId: number }[] = [];
|
||||
createdCards.forEach((card, index) => {
|
||||
const originalItem = itemsToInsert[index]?.item;
|
||||
const areaName = originalItem?.areaValue?.name;
|
||||
|
||||
if (areaName) {
|
||||
const labelId = labelMap.get(areaName);
|
||||
if (labelId) {
|
||||
cardLabelRelations.push({
|
||||
cardId: card.id,
|
||||
labelId: labelId,
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (cardLabelRelations.length > 0) {
|
||||
await cardRepo.bulkCreateCardLabelRelationships(
|
||||
ctx.db,
|
||||
cardLabelRelations,
|
||||
);
|
||||
}
|
||||
|
||||
projectsImported++;
|
||||
}
|
||||
|
||||
if (projectsImported > 0 && newImportId) {
|
||||
await importRepo.update(
|
||||
ctx.db,
|
||||
{ status: "success" },
|
||||
{ importId: newImportId },
|
||||
);
|
||||
}
|
||||
|
||||
return { projectsImported };
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
@@ -14,7 +14,65 @@ export const apiKeys = {
|
||||
trello: process.env.TRELLO_APP_API_KEY,
|
||||
};
|
||||
|
||||
import { encryptToken } from "../utils/encryption";
|
||||
|
||||
export const integrationRouter = createTRPCRouter({
|
||||
saveGitHubToken: protectedProcedure
|
||||
.input(z.object({ token: z.string() }))
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const user = ctx.user;
|
||||
|
||||
if (!user)
|
||||
throw new TRPCError({
|
||||
message: "User not authenticated",
|
||||
code: "UNAUTHORIZED",
|
||||
});
|
||||
|
||||
const encryptedToken = encryptToken(input.token);
|
||||
|
||||
const expiresAt = new Date();
|
||||
expiresAt.setFullYear(expiresAt.getFullYear() + 1);
|
||||
|
||||
await integrationsRepo.createOrUpdateProvider(ctx.db, {
|
||||
provider: "github",
|
||||
userId: user.id,
|
||||
accessToken: encryptedToken,
|
||||
expiresAt,
|
||||
});
|
||||
|
||||
return { success: true };
|
||||
}),
|
||||
|
||||
disconnectGitHub: protectedProcedure.mutation(async ({ ctx }) => {
|
||||
const user = ctx.user;
|
||||
|
||||
if (!user)
|
||||
throw new TRPCError({
|
||||
message: "User not authenticated",
|
||||
code: "UNAUTHORIZED",
|
||||
});
|
||||
|
||||
await integrationsRepo.deleteProviderForUser(ctx.db, user.id, "github");
|
||||
return { success: true };
|
||||
}),
|
||||
|
||||
getGitHubStatus: protectedProcedure.query(async ({ ctx }) => {
|
||||
const user = ctx.user;
|
||||
|
||||
if (!user)
|
||||
throw new TRPCError({
|
||||
message: "User not authenticated",
|
||||
code: "UNAUTHORIZED",
|
||||
});
|
||||
|
||||
const connected = await integrationsRepo.isProviderAvailableForUser(
|
||||
ctx.db,
|
||||
user.id,
|
||||
"github",
|
||||
);
|
||||
return { connected };
|
||||
}),
|
||||
|
||||
providers: protectedProcedure
|
||||
.meta({
|
||||
openapi: {
|
||||
@@ -67,7 +125,7 @@ export const integrationRouter = createTRPCRouter({
|
||||
protect: true,
|
||||
},
|
||||
})
|
||||
.input(z.object({ provider: z.enum(["trello"]) }))
|
||||
.input(z.object({ provider: z.enum(["trello", "github"]) }))
|
||||
.output(z.object({}))
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const user = ctx.user;
|
||||
|
||||
53
packages/api/src/utils/encryption.ts
Normal file
53
packages/api/src/utils/encryption.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import crypto from "crypto";
|
||||
|
||||
const ALGORITHM = "aes-256-gcm";
|
||||
const SECRET_KEY = process.env.BETTER_AUTH_SECRET;
|
||||
|
||||
if (!SECRET_KEY) {
|
||||
throw new Error("Encryption key is missing. Set BETTER_AUTH_SECRET.");
|
||||
}
|
||||
|
||||
// Ensure the key is exactly 32 bytes
|
||||
const key = crypto.createHash("sha256").update(String(SECRET_KEY)).digest();
|
||||
|
||||
export const encryptToken = (text: string) => {
|
||||
const iv = crypto.randomBytes(12); // 12 bytes is the recommended IV size for GCM
|
||||
const cipher = crypto.createCipheriv(ALGORITHM, key, iv);
|
||||
|
||||
// buffer concat is faster/cleaner for raw binary manipulation
|
||||
const encrypted = Buffer.concat([
|
||||
cipher.update(text, "utf8"),
|
||||
cipher.final(),
|
||||
]);
|
||||
|
||||
const authTag = cipher.getAuthTag();
|
||||
|
||||
// Combine IV + AuthTag + EncryptedData into one buffer
|
||||
// This saves space compared to storing them as separate hex strings
|
||||
const combined = Buffer.concat([iv, authTag, encrypted]);
|
||||
|
||||
// Return as URL-safe Base64 (ideal for cookies)
|
||||
return combined.toString("base64url");
|
||||
};
|
||||
|
||||
export const decryptToken = (text: string) => {
|
||||
// Convert URL-safe Base64 back to a Buffer
|
||||
const combined = Buffer.from(text, "base64url");
|
||||
|
||||
// Extract the parts based on fixed lengths
|
||||
// IV is 12 bytes (standard for GCM)
|
||||
// AuthTag is 16 bytes (standard for GCM)
|
||||
const iv = combined.subarray(0, 12);
|
||||
const authTag = combined.subarray(12, 28);
|
||||
const encryptedText = combined.subarray(28);
|
||||
|
||||
const decipher = crypto.createDecipheriv(ALGORITHM, key, iv);
|
||||
decipher.setAuthTag(authTag);
|
||||
|
||||
// If the cookie was tampered with, this will throw an error
|
||||
const decrypted = Buffer.concat([
|
||||
decipher.update(encryptedText),
|
||||
decipher.final(),
|
||||
]);
|
||||
return decrypted.toString("utf8");
|
||||
};
|
||||
@@ -0,0 +1,2 @@
|
||||
ALTER TYPE "public"."source" ADD VALUE 'github';--> statement-breakpoint
|
||||
ALTER TABLE "integration" ALTER COLUMN "accessToken" SET DATA TYPE text;--> statement-breakpoint
|
||||
2983
packages/db/migrations/meta/20260224105235_snapshot.json
Normal file
2983
packages/db/migrations/meta/20260224105235_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -204,6 +204,13 @@
|
||||
"when": 1772049587901,
|
||||
"tag": "20260225195947_AddIsArchivedToBoard",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 28,
|
||||
"version": "7",
|
||||
"when": 1771930355536,
|
||||
"tag": "20260224105235_AddGitHubIntegrationSupport",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -46,6 +46,35 @@ export const getProvidersForUser = async (db: dbClient, userId: string) => {
|
||||
return integration;
|
||||
};
|
||||
|
||||
export const createOrUpdateProvider = async (
|
||||
db: dbClient,
|
||||
data: {
|
||||
userId: string;
|
||||
provider: string;
|
||||
accessToken: string;
|
||||
refreshToken?: string | null;
|
||||
expiresAt: Date;
|
||||
},
|
||||
) => {
|
||||
await db
|
||||
.insert(integrations)
|
||||
.values({
|
||||
provider: data.provider,
|
||||
userId: data.userId,
|
||||
accessToken: data.accessToken,
|
||||
refreshToken: data.refreshToken ?? null,
|
||||
expiresAt: data.expiresAt,
|
||||
})
|
||||
.onConflictDoUpdate({
|
||||
target: [integrations.userId, integrations.provider],
|
||||
set: {
|
||||
accessToken: data.accessToken,
|
||||
refreshToken: data.refreshToken ?? null,
|
||||
expiresAt: data.expiresAt,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const deleteProviderForUser = async (
|
||||
db: dbClient,
|
||||
userId: string,
|
||||
|
||||
@@ -14,7 +14,7 @@ import { labels } from "./labels";
|
||||
import { lists } from "./lists";
|
||||
import { users } from "./users";
|
||||
|
||||
export const importSourceEnum = pgEnum("source", ["trello"]);
|
||||
export const importSourceEnum = pgEnum("source", ["trello", "github"]);
|
||||
export const importStatusEnum = pgEnum("status", [
|
||||
"started",
|
||||
"success",
|
||||
|
||||
@@ -2,6 +2,7 @@ import { relations } from "drizzle-orm";
|
||||
import {
|
||||
pgTable,
|
||||
primaryKey,
|
||||
text,
|
||||
timestamp,
|
||||
uuid,
|
||||
varchar,
|
||||
@@ -16,7 +17,7 @@ export const integrations = pgTable(
|
||||
userId: uuid("userId")
|
||||
.notNull()
|
||||
.references(() => users.id, { onDelete: "cascade" }),
|
||||
accessToken: varchar("accessToken", { length: 255 }).notNull(),
|
||||
accessToken: text("accessToken").notNull(),
|
||||
refreshToken: varchar("refreshToken", { length: 255 }),
|
||||
expiresAt: timestamp("expiresAt").notNull(),
|
||||
createdAt: timestamp("createdAt")
|
||||
|
||||
Reference in New Issue
Block a user