Compare commits

...
86 Commits
Author SHA1 Message Date
github-actions[bot] 246ba44838 Bump versions for v13.01 2026-11-07 23:51:55 +00:00
Lauri Ojansivu 1eda4f256e Prepare v13.01 release 2026-11-08 01:49:05 +02:00
Lauri Ojansivu f83ee4d320 CHANGELOG: Dependabot's updates #6879-#6886, checked and kept.
Thanks to xet7 !
2026-11-08 01:48:20 +02:00
Lauri Ojansivu e43dc0070f CHANGELOG: translations and the S3 client; the Cloud Panel is Weddy's.
Thanks to xet7 !
2026-11-08 00:38:40 +02:00
Lauri Ojansivu 579de7d6af The Cloud Panel is Weddy's, not WeKan's: WeKan stays Meteor 3.
Admin Panel / People / Cloud and the Cloud Panel (73db2a28c3) are removed from
WeKan, with their methods, route, menu item, docs and tests. Many domains from
one Weddy is a Weddy feature: there every domain's WeKan is in one process,
where Node.js WeKan containers would have to work together, which gets
complicated. It is written in Go in caddy-wekan-plugin.

The translations of its strings stay: WeKan, Weddy and the rest use the same
WeKan translations.

Thanks to xet7 !
2026-11-08 00:38:40 +02:00
Lauri Ojansivu fb8021ba96 Cloud Panel docs: Weddy runs WeKan in Go, data instead of the Caddy v1-looking root.
The Caddyfile example used `root /path`, which tests/caddyfileExamplesV2.test.cjs
rightly reads as Caddy v1. Weddy's wekan option is now `data`, and WeKan runs
inside Weddy in Go - no bundle, no WEDDY_TENANT - so the page says so, and that
the Cloud Panel's files are written by hand or by a Meteor WeKan until its Go
pages are done.

Thanks to xet7 !
2026-11-08 00:21:56 +02:00
Lauri Ojansivu fe0e187fa0 Translations: Moroccan Arabic is Darija, not Persian.
374 values of ary.i18n.json were Persian - "افزودن مسیر شنا" for add-swimlane,
"برد" for board, "دوشنبه" for Monday - or Persian words inside Arabic text, or
English left in ("And __count__ other بطاقة"). The locale tag is authoritative,
so they are Darija in Arabic script now, with the file's own vocabulary: لوحة,
بطاقة, مسار, قائمة, زيد, حيّد, عدّل. The outdated Todoist and Planner import
instructions and two flow notes follow the current English.

tests/moroccanArabicNotPersian.test.cjs scans every value for words only
Persian has, pins repaired values, proves the scan catches the old strings and
checks every placeholder against English.

Low confidence, for a speaker to correct: the colour names (lime, orange,
magenta, plum, saddlebrown, navy), prefix-with-parent and subtext-with-*,
bidirectional-webhooks, impersonate-user, flow-active, predicate-quarter, r-is
and operator-has.

Thanks to xet7 !
2026-11-08 00:21:29 +02:00
Lauri Ojansivu d1d3beb12d Translations: Sardinian is Sardinian, not Italian.
1772 values of sc.i18n.json were Italian or Italian/Sardinian mixtures
("Il monitoraggio di tàulas e cartas è disattivadu dall'amministradore"); the
locale tag is authoritative, so they are now Sardinian (LSC), from the file's
own correct values and dictionaries. Stray "Elementu: " prefixes are gone, and
values that translated an older English string follow the current one.

tests/sardinianTranslationProgress.test.cjs pins repaired values and scans every
value for words that exist only in Italian; a negative check proves the scan
still catches the old strings.

Low confidence, for a speaker to correct: smtp-port/s3-port, owner, next and
previous, stickers, welcome-swimlane, impersonate-user, speedReportTitle and
the one-word operator-/predicate- search terms.

Thanks to xet7 !
2026-11-08 00:19:58 +02:00
Lauri Ojansivu e33b3f26d3 Bump @aws-sdk/client-s3 to 3.1161.0, which @aws-sdk/lib-storage 3.1161.0 requires.
The lib-storage update of #6884 needs client-s3 ^3.1161.0 as a peer, and the
lock still had 3.1159.0; tests/dependencySecurityUpdates.test.cjs caught it.
Only AWS SDK packages change version: no new packages, no install scripts.

Thanks to xet7 !
2026-11-08 00:14:38 +02:00
Lauri Ojansivu 1211221a0f Translations: fill the remaining English placeholders in 33 languages.
Aragonese, Moroccan Arabic, Bislama, Kashubian, Welsh (cy, cy-GB), Friulian,
Upper Sorbian, Armenian, Javanese, Georgian, Kazakh, Khmer (km, km_KH),
Konkani, Luxembourgish, Ladin, Maithili, Mongolian, Occitan, Odia, Punjabi,
Romansh, Sardinian, Shona, Somali, Silesian, Telugu, Tajik, Turkmen, Tagalog,
Tok Pisin and Tatar: every string still equal to English, including the Cloud
Panel strings, written directly in the language from its existing translations
and kanban terms. Only English placeholders were filled; human translations
were not touched, and placeholders are copied from en.i18n.json.

Low confidence, for a speaker to correct: Bislama, Kashubian, Silesian, Ladin,
Friulian, Sardinian, Moroccan Arabic, Konkani, Maithili, Shona, Somali, Tok
Pisin, Turkmen, Tajik and Odia.

Thanks to xet7 !
2026-11-08 00:09:47 +02:00
Lauri Ojansivu c00c602441 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-11-08 00:07:09 +02:00
Lauri Ojansivu 47a19e3842 CHANGELOG: the Cloud Panel, and companion repositories in .tools/w.
Thanks to xet7 !
2026-11-07 23:32:43 +02:00
Lauri Ojansivu 73db2a28c3 Cloud Panel: many WeKan domains from one Weddy, for the SuperAdmin at the Cloud Panel Domain.
Weddy (wekan/caddy-wekan-plugin) runs a WeKan for every domain, each in its own
directory - files/domains/<domain>/files/db/ for its database - and starts
the first domain's WeKan with WEDDY_CLOUD_DIR, every customer's with
WEDDY_TENANT=true.

- Admin Panel / People / Cloud, only in that first WeKan and only for a site
  admin (a per-tenant admin's whitelisted menu never has it): Cloud Panel
  Domain, e.g. cloud.wekan.team, and SuperAdmin Username, a username or
  e-mail address.
- /cloud, the Cloud Panel, where the SuperAdmin is taken at the Cloud Panel
  Domain: Settings with the left menus Domains and CloudFlare, in the Admin
  Panel's layout. Domains is a table page - Domain, Customer name, Customer
  email address, Billing email address, Start Date, End Date and the TLS
  Weddy got - with a form to add and edit. CloudFlare is a write-only API
  key field.
- server/methods/cloudPanel.js checks in every method again that the caller is
  the SuperAdmin and the request's Host is the Cloud Panel Domain - not
  X-Forwarded-Host, which a client could send itself. The collections are not
  published. Every change writes WEDDY_CLOUD_DIR/domains.json for Weddy; the
  key goes to cloudflare.json, mode 0600, and is never sent back.
- models/lib/cloudPanel.js has the rules, shared by client and server; its
  domain rule is the same as Weddy's, since the name becomes a directory.
- Customers' WeKans show none of it.

The 15 new strings are added as pending Transifex, written in Finnish, and
translated into every other locale. Low-confidence translations: ace ak an ay
ba bho bi bm bo bua chr co csb cv dz ee ff fj fo fur gn gv haw hsb ht ig iu
kl kok ks kw lg lld mai mi nah nap nd nso oc om pap qu rm rn rup rw sah sc scn
se sm sn so ss st szl tig tlh tn to tpi ts uz-AR ve ve-CC ve-PP vo wa wa-RR
wal wo wuu-Hans yi zgh. Transifex translations replace them when they arrive.

tests/cloudPanel.test.cjs: the rules with their negatives, and the security
properties the source keeps. The node suites pass, 2160 of 2160. The
templates are not compiled here (no Jade compiler in this sandbox); a Meteor
build checks them. docs/Platforms/FOSS/Weddy/Cloud-Panel.md is the design.

Thanks to xet7 !
2026-11-07 23:32:43 +02:00
Lauri Ojansivu 11bed26788 Companion repositories are found in .tools/w, .tools/xet7 and .tools/Secretchronicles.
The repositories under .tools/ are now grouped by their GitHub owner:
github.com/wekan/* in .tools/w/, github.com/xet7/* in .tools/xet7/ and
github.com/Secretchronicles/* in .tools/Secretchronicles/. build.sh,
build.bat, the release and debug scripts, the tests and the docs looked
for .tools/FerretDB, .tools/wekan.fi, .tools/charts, .tools/node-patches,
.tools/mongo-tools-patches and .tools/TSC, and now use the new places.

ensure_tool_repo takes the owner from the clone URL through a new
tool_repo_dir, so a missing companion repository is cloned into the same
place the scripts read it from. tests/toolsDirectoryRepos.test.cjs runs the
mapping and checks that nothing lands flat in .tools/ any more.

Finding the website checkout again let securityRegressionCoverage compare
the Hall of Fame, which it had been skipping: CreateBleed is published and
is now in the inventory with its unit and UI tests. The exceljs fork test
reads npm-packages/exceljs, the copy WeKan builds with, instead of a clone
under .tools that is not part of the build.

Thanks to xet7 !
2026-11-07 23:32:43 +02:00
Lauri Ojansivu 6a64d374c6 Merge pull request #6886 from wekan/dependabot/npm_and_yarn/mailparser-3.14.2
Bump mailparser from 3.12.4 to 3.14.2
2026-11-07 23:32:07 +02:00
Lauri Ojansivu 8f15879816 Merge pull request #6885 from wekan/dependabot/npm_and_yarn/isomorphic-git-1.44.10
Bump isomorphic-git from 1.44.8 to 1.44.10
2026-11-07 23:31:40 +02:00
Lauri Ojansivu 74339a8a82 Merge pull request #6884 from wekan/dependabot/npm_and_yarn/aws-sdk/lib-storage-3.1161.0
Bump @aws-sdk/lib-storage from 3.1155.0 to 3.1161.0
2026-11-07 23:31:15 +02:00
Lauri Ojansivu 36a1939653 Merge pull request #6883 from wekan/dependabot/npm_and_yarn/filesize-11.0.30
Bump filesize from 11.0.28 to 11.0.30
2026-11-07 23:30:52 +02:00
Lauri Ojansivu a61a40a5db Merge pull request #6882 from wekan/dependabot/npm_and_yarn/pdfjs-dist-6.5.438
Bump pdfjs-dist from 6.4.299 to 6.5.438
2026-11-07 23:30:33 +02:00
Lauri Ojansivu 4fd3217aee Merge pull request #6881 from wekan/dependabot/github_actions/helm/chart-releaser-action-1.9.0
Bump helm/chart-releaser-action from 1.8.0 to 1.9.0
2026-11-07 23:30:18 +02:00
Lauri Ojansivu 5b436a18dc Merge pull request #6880 from wekan/dependabot/npm_and_yarn/tests/playwright/mongodb-7.8.0
Bump mongodb from 7.7.0 to 7.8.0 in /tests/playwright
2026-11-07 23:30:03 +02:00
Lauri Ojansivu 2e87a775ae Merge pull request #6879 from wekan/dependabot/github_actions/vmactions/netbsd-vm-1.5.3
Bump vmactions/netbsd-vm from 1.5.2 to 1.5.3
2026-11-07 23:29:45 +02:00
dependabot[bot] f653d619f5 Bump mailparser from 3.12.4 to 3.14.2
Bumps [mailparser](https://github.com/nodemailer/mailparser) from 3.12.4 to 3.14.2.
- [Release notes](https://github.com/nodemailer/mailparser/releases)
- [Changelog](https://github.com/nodemailer/mailparser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/mailparser/compare/v3.12.4...v3.14.2)

---
updated-dependencies:
- dependency-name: mailparser
  dependency-version: 3.14.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:33:40 +00:00
dependabot[bot] da731aa2fe Bump isomorphic-git from 1.44.8 to 1.44.10
Bumps [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) from 1.44.8 to 1.44.10.
- [Release notes](https://github.com/isomorphic-git/isomorphic-git/releases)
- [Commits](https://github.com/isomorphic-git/isomorphic-git/compare/v1.44.8...v1.44.10)

---
updated-dependencies:
- dependency-name: isomorphic-git
  dependency-version: 1.44.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:33:31 +00:00
dependabot[bot] a42b63d711 Bump @aws-sdk/lib-storage from 3.1155.0 to 3.1161.0
Bumps [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) from 3.1155.0 to 3.1161.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1161.0/lib/lib-storage)

---
updated-dependencies:
- dependency-name: "@aws-sdk/lib-storage"
  dependency-version: 3.1161.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:33:22 +00:00
dependabot[bot] a14923cac3 Bump filesize from 11.0.28 to 11.0.30
Bumps [filesize](https://github.com/avoidwork/filesize.js) from 11.0.28 to 11.0.30.
- [Changelog](https://github.com/avoidwork/filesize.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/avoidwork/filesize.js/compare/11.0.28...11.0.30)

---
updated-dependencies:
- dependency-name: filesize
  dependency-version: 11.0.30
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:33:03 +00:00
dependabot[bot] fdcb26096b Bump pdfjs-dist from 6.4.299 to 6.5.438
Bumps [pdfjs-dist](https://github.com/mozilla/pdf.js) from 6.4.299 to 6.5.438.
- [Release notes](https://github.com/mozilla/pdf.js/releases)
- [Commits](https://github.com/mozilla/pdf.js/compare/v6.4.299...v6.5.438)

---
updated-dependencies:
- dependency-name: pdfjs-dist
  dependency-version: 6.5.438
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:32:55 +00:00
dependabot[bot] b59152a079 Bump helm/chart-releaser-action from 1.8.0 to 1.9.0
Bumps [helm/chart-releaser-action](https://github.com/helm/chart-releaser-action) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/helm/chart-releaser-action/releases)
- [Commits](https://github.com/helm/chart-releaser-action/compare/df287104677278f869ca5480bd260358397cc3f9...92c6b97fa9f664492a2592e0d1d80bc6bf378957)

---
updated-dependencies:
- dependency-name: helm/chart-releaser-action
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:32:46 +00:00
dependabot[bot] 1595155af2 Bump mongodb from 7.7.0 to 7.8.0 in /tests/playwright
Bumps [mongodb](https://github.com/mongodb/node-mongodb-native) from 7.7.0 to 7.8.0.
- [Release notes](https://github.com/mongodb/node-mongodb-native/releases)
- [Changelog](https://github.com/mongodb/node-mongodb-native/blob/main/HISTORY.md)
- [Commits](https://github.com/mongodb/node-mongodb-native/compare/v7.7.0...v7.8.0)

---
updated-dependencies:
- dependency-name: mongodb
  dependency-version: 7.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:32:44 +00:00
dependabot[bot] f4f4c7f2cb Bump vmactions/netbsd-vm from 1.5.2 to 1.5.3
Bumps [vmactions/netbsd-vm](https://github.com/vmactions/netbsd-vm) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vmactions/netbsd-vm/releases)
- [Commits](https://github.com/vmactions/netbsd-vm/compare/c8a0d7ddb84619a7a8cc4e652efa7950b3fd9f92...5957cf330aef2e6ddc63c604364c99ce2e02b91d)

---
updated-dependencies:
- dependency-name: vmactions/netbsd-vm
  dependency-version: 1.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-07 20:32:39 +00:00
github-actions[bot] 97cc91cd67 Bump versions for v13.00 2026-11-06 23:05:04 +00:00
Lauri Ojansivu 33c2ad8fb0 Prepare v13.00 release 2026-11-07 01:03:53 +02:00
Lauri Ojansivu c936e7708d CHANGELOG: CreateBleed, only admins create boards on every path.
Thanks to tsurutanmen and xet7 !
2026-11-07 00:53:47 +02:00
Lauri Ojansivu 5c1f6088f4 Fix CreateBleed: "Only admins can create boards" holds on every path.
GHSA-qcfm-2g4w-wqcc. Admin Panel / Settings / Visibility / "Only admins
can create boards" (#4475) was checked only inside
createBoardWithInitialSwimlanes, the Add Board form. A non-admin still
created working boards by a client Boards.insert (Boards.allow.insert
approves any signed-in user), POST /api/boards and both board import
routes, as reported, and also by importBoard, cloneBoard, copyBoard,
POST /api/boards/:boardId/copy and createBoardFromCard.

One decision (models/lib/boardCreationPolicy.js) and one guard
(server/lib/boardCreationGuard.js) are asked by every one of those paths
before they write, and by a new Boards.deny insert rule. A board template
stays every member's own; boards WeKan makes itself (a Templates container,
a board's subtasks board) are not created by the user. A REST refusal is
403. A refusal is recorded in Admin Panel / Problems as CreateBleed
(authz.board-creation, low, CWE-863, blocks no account), and Duplicate and
"Create board from card" are hidden like Add Board, so only a client
bypassing the interface reaches it.

tests/createBleed.test.cjs drives the decision, the guard and the real deny
rule against the reporter's console insert, and fails if any path that
creates a board for a user does not ask the guard, or if anything else
reads the setting. tests/playwright/specs/createbleed-board-creation-admin-only.e2e.js
replays the report against a running server. The guards that pinned the
old inline check now pin the shared one.

Thanks to tsurutanmen and xet7 !
2026-11-07 00:51:53 +02:00
Lauri Ojansivu ceb20a81fc Tests: keyboard-nonlatin-once skips outside Chromium, and every CDP test must.
keyboard-nonlatin-once sends its key events through the DevTools protocol
and had no skip, so in the full Firefox run it failed with "CDP session is
only available in Chromium" - the same error as card-window-touch-drag's
mouse test (2128e6e02f). It now skips outside Chromium like the other CDP
tests. tests/playwrightCdpChromiumOnly.test.cjs requires that skip on every
test that opens a CDP session, itself or through a helper of its file (a
`touch: false` call opens none, a describe-level skip covers its file), and
finds both tests as they were.

Thanks to xet7 !
2026-11-07 00:14:50 +02:00
Lauri Ojansivu 2128e6e02f Tests: the mouse test of card-window-touch-drag runs in every browser.
openCardWindow always opened a DevTools (CDP) session to emulate touch, and
the mouse test, which needs no touch, called it too: in Firefox it failed
with "CDP session is only available in Chromium" before it had moved
anything. The touch is now optional, and the mouse test asks for none; the
touch tests still skip outside Chromium. It passes in Firefox and in
Chromium.

Thanks to xet7 !
2026-11-06 23:53:09 +02:00
Lauri Ojansivu 49ee37a3a8 Tests: Card's settings menu is opened again until its panel shows.
In the full two-worker Firefox run, board-settings-columns' non-admin test
clicked Card's hamburger right after Board Settings / Card was drawn and
the panel never opened; alone it passes 4 of 4. The button toggles the
panel, so the helper now clicks again only while the panel is still closed,
up to 15 seconds. The whole spec passes in Firefox.

Thanks to xet7 !
2026-11-06 23:27:52 +02:00
Lauri Ojansivu 19350f2611 A code block in a description reads in the dark theme.
.viewer pre and code have their own light background (#dedede) in
layouts.css but inherited the theme's text colour. In the dark theme's
opened card that is #bbb, 1.42:1, and axe-core's color-contrast rule
failed the dark theme in the full Firefox run (46-axe-theme-contrast,
".viewer > pre #bbbbbb/#dedede 1.42"). The block now names its text colour,
#222, 11.8:1 on its background - the background codeHighlight.css's token
colours are chosen for. tests/viewerCodeContrast.test.cjs requires an
explicit text colour of at least 4.5:1 on the block's own background, and
fails on the old rule.

Thanks to xet7 !
2026-11-06 23:22:54 +02:00
Lauri Ojansivu 2306a36814 A long popup menu is laid out before it is drawn, not a frame later.
The column layout of a long menu (Board View, the member menu, the card's
menu) was applied on the animation frame after the menu's contents arrived,
so for a frame the popup was drawn - and could be clicked or dragged - at
its narrow size, then jumped to 960px under the pointer. In the full Firefox
run a click on Board View's "Lists" landed where "Calendar" ends up, the
view stayed Swimlanes and 06-views-layout's #6659/#6660 test failed; the
same jump was behind the popup drag of card-title-edit-and-move-6839. The
MutationObserver callback, which already runs before the next paint, now
applies the layout itself. tests/popupMenuLayout.test.cjs drives the
observer and fails if the layout is deferred to an animation frame again.

Thanks to xet7 !
2026-11-06 23:11:29 +02:00
Lauri Ojansivu a4d2313a68 Password policy specs no longer run side by side or leave a minimum enforced.
In the full Chromium run (two workers) password-length-report.e2e.js and
password-min-length-signup-login.e2e.js ran at the same time. Both write
settings.loginOptions.passwordMinLength and passwordMinLengthEnforce, one
document for every worker, so each turned enforcement on or off under the
other and one test of each failed. Both also restored the loginOptions they
had seen before each test, so once a test was interrupted the snapshot
already held an enforced minimum, and every later test put it back: the
test database was left with a minimum of 10 enforced.

tests/playwright/helpers/sharedSettingLock.js is a lock across workers (an
atomic mkdir under TMPDIR, counted per process, and taken over from a
worker that died); both specs hold 'password-policy' for the whole file,
and put the policy back to its default with $unset after each test. Run
together on two workers both files pass, 6 of 6.
tests/playwrightSharedSettingLock.test.cjs requires the lock and the
$unset in every spec that writes the policy, refuses a restored snapshot,
and drives the lock: shared within a process, released by the last holder,
taken over from a dead one, and waited for from a live one.

Thanks to xet7 !
2026-11-06 22:12:49 +02:00
Lauri Ojansivu 570cc34552 Stopping a timer adds its time to the total, never replaces it.
Flowtime's Stop and Pomodoro's completed or stopped work interval read the
total on the client (getSpentTime()) and $set the sum. For a card that
links to a board or a card, that total is the linked document's, which can
still be on its way to the client: getSpentTime() then read null, and the
Stop replaced a linked board's 4 logged hours with the 1 hour of the
session (linked-timer-sessions.e2e.js failed 4 of 6 repeats). The session
length is now added on the server with addSpentTime(), an $inc on the same
spentTime field of the linked board, the linked card or the card. The
Flowtime and Pomodoro guards check addSpentTime and no longer pin
setSpentTime, and tests/linkedTimerSessions.test.cjs credits correctly
with no total on the client, pins the $inc targets, refuses a zero,
negative or non-number amount, and fails if a timer helper computes a total
from getSpentTime() again.

Thanks to xet7 !
2026-11-06 21:35:36 +02:00
Lauri Ojansivu 7ae45651dc A popup that grows while it is dragged stays inside the window.
A long menu, such as the member menu, gets its 960px column layout a frame
after it is drawn (client/lib/popupMenuLayout.js). A drag begun in that
frame clamped every move with the 380px the popup started at, so the grown
popup was put at left 850, mostly outside a 1280px window - and each move
undid the ResizeObserver that had just put it back inside. The drag now
clamps with the popup's current size. tests/calendarPopupResize.test.cjs
grows the popup mid-drag and fails on the old clamp; the Playwright spec
card-title-edit-and-move-6839 measures a popup only after its box has
settled, and passes 24 of 24 repeats where it failed 3 of 20.

Thanks to xet7 !
2026-11-06 21:00:30 +02:00
Lauri Ojansivu db52764592 Docker Playwright browsers open WeKan at ROOT_URL, so uploads work in tests.
build.sh starts the test server with ROOT_URL=http://localhost:3000 but sent
the Docker Playwright browsers and the Node E2E container to
http://127.0.0.1:3000. Meteor-Files sends every upload to ROOT_URL +
/cdn/storage/<collection>/__upload and answers no CORS preflight for another
origin, so the browser blocked it ("Access to fetch at
'http://localhost:3000/cdn/storage/attachments/__upload' from origin
'http://127.0.0.1:3000' has been blocked by CORS policy") and the four drawing
specs whose Save uploads an attachment timed out in the full Chromium run.
The default is now http://localhost:3000, like playwright.config.js and the
macOS path; with it the eight drawing tests pass in the same container.
tests/playwrightBaseUrlMatchesRootUrl.test.cjs checks that every browser
default in build.sh and the Playwright config is the test server's ROOT_URL
origin, and fails on the old default.

Thanks to xet7 !
2026-11-06 20:56:02 +02:00
Lauri Ojansivu 2b99ffe288 Source-scanning tests skip every _build* directory, not only _build.
After the Mocha stage of a full test run had compiled _build-local-test/,
tests/publishFilesCursor.test.cjs read server-rspack.js there and failed
on nine lines of bundled code. 62 tests walked the tree skipping _build by
exact name, so each of them read rspack's second copy of every source
file whenever a test build was present. They now skip by the _build
prefix, as tests/noIdentityReplacement.test.cjs already did, and
tests/sourceWalkersSkipBuildOutput.test.cjs fails on any walker that
skips _build by exact name only.

Thanks to xet7 !
2026-11-06 20:20:10 +02:00
Lauri Ojansivu b4b130858f CHANGELOG: built API page spells the name WeKan.
Thanks to xet7 !
2026-11-06 19:43:28 +02:00
Lauri Ojansivu 0275363043 The built API page public/api/wekan.html spells the name WeKan.
The v12.99 version bump rebuilt public/api/wekan.html with the generator
from before the spelling fix, and releases/release-website.sh copies it
to wekan.fi as api/v12.99/index.html, so that page would have said
Wekan again. Its visible text and the Redoc JSON now say WeKan, and
tests/openapiBrandSpelling.test.cjs checks the built page too.

Thanks to xet7 !
2026-11-06 19:43:20 +02:00
Lauri Ojansivu 42d8341d47 Merge remote-tracking branch 'origin/main' 2026-11-06 19:42:55 +02:00
Lauri Ojansivu a9aaa22592 CHANGELOG: REST API documentation spells the name WeKan.
Thanks to xet7 !
2026-11-06 19:25:20 +02:00
Lauri Ojansivu 4d5fe63fc4 The name is WeKan in the REST API documentation.
openapi/generate_openapi.py's header and the models' JSDoc said
"Wekan REST API", "extend Wekan", "a production Wekan server" and
"in the Wekan board", so every release's API pages on wekan.fi failed
its brand-spelling check (v12.95-v12.97 did). The generator, the model
comments and public/api/wekan.yml now say WeKan, and
tests/openapiBrandSpelling.test.cjs checks the generated file, the
generator header and every model JSDoc block.

Thanks to xet7 !
2026-11-06 19:24:04 +02:00
github-actions[bot] 1f12b20291 Bump versions for v12.99 2026-11-06 17:05:44 +00:00
Lauri Ojansivu bf8ecbbc19 Prepare v12.99 release 2026-11-06 19:04:35 +02:00
Lauri Ojansivu e89a3450cd CHANGELOG: mac-arm64 on macos-15, weba instructions moved.
Thanks to xet7 !
2026-11-06 18:57:40 +02:00
Lauri Ojansivu 7e4483b1a9 Build mac-arm64 release bundle on macos-15, macos-14 runner is retired.
The v12.98 release run's build-mac-arm64 job was cancelled with
"The configuration 'macos-14-arm64-us-default' is not supported",
so no mac-arm64 bundle was built. macos-15 is Apple Silicon too and
is what mac.yml already uses. tests/workflowRunnerLabels.test.cjs now
lists macos-14 as retired and checks that build-mac-arm64 asks for a
current Apple Silicon runner.

Thanks to xet7 !
2026-11-06 18:52:56 +02:00
Lauri Ojansivu a4eacfd9bf Merge remote-tracking branch 'origin/main' 2026-11-06 17:02:46 +02:00
Lauri Ojansivu b4cb989391 Move weba instructions into its own repository
Remove the weba-specific section from the instruction twins now that the companion repository maintains its own scoped AGENTS.md and CLAUDE.md.
2026-11-06 17:01:28 +02:00
github-actions[bot] 60377a4dc2 Bump versions for v12.98 2026-11-06 14:54:56 +00:00
Lauri Ojansivu 5c45d55d70 Prepare v12.98 release 2026-11-06 16:53:41 +02:00
Lauri Ojansivu e5a84cbcef CHANGELOG: weba in AGENTS.md and CLAUDE.md.
Thanks to xet7 !
2026-11-06 16:51:08 +02:00
Lauri Ojansivu 1ef7a57ce4 Added weba info to AGENTS.md and CLAUDE.md.
Thanks to xet7 !
2026-11-06 16:49:47 +02:00
Lauri Ojansivu 9caf0c8653 CHANGELOG: notificationAttachments publication.
Thanks to xet7 !
2026-11-06 16:42:30 +02:00
Lauri Ojansivu adb73fd8ee Notifications drawer: notificationAttachments publishes a cursor again.
Every subscription failed on the server with "Exception from sub
notificationAttachments ... Publish function can only return a Cursor or an
array of Cursors". Attachments is an ostrio:files FilesCollection, so
ReactiveCache.getAttachments(..., true) answers with a FilesCursor; the
publication returned that instead of the Mongo cursor it wraps, and the
drawer never received the attachments its activities name. It now returns
`ret.cursor || ret`, as every other attachment publication does.

tests/publishFilesCursor.test.cjs runs the publication with a FilesCursor
and requires the Mongo cursor back, and scans every publishing file so no
getAttachments/getAvatars cursor query is published without its .cursor.

Thanks to xet7 !
2026-11-06 16:42:21 +02:00
Lauri Ojansivu ea5724babd CHANGELOG: REST card update sort, isOverTime and description.
Also points the Upcoming entries at their commits after the pull rebased them.

Thanks to AhmedLukman and xet7 !
2026-11-06 16:24:40 +02:00
Lauri Ojansivu b895e61237 REST card update: sort is a number, isOverTime can be turned off, a description can be cleared.
#6877 made the card PUT write `sort` whenever it is present, so 0 works -
and so would null, '' or 'abc', written as the card's position. The same
handler read `isOverTime` and `description` by truthiness, so false could
not be set and an empty description could not clear the old one.

parseCardScalarFields() in server/lib/restCardHelpers.js now decides all
three by presence and checks them before the first write: sort must be a
finite number (a form-encoded '0' becomes 0), isOverTime true/false or
'true'/'false', description a string (null clears it). Anything else is a
400 and the card is left as it was, rather than half of the edit applied.

tests/restCardSort.test.cjs drives the handler for the accepted values,
refuses the invalid ones with no writes, and fails if any of the three is
read by truthiness again.

Thanks to AhmedLukman and xet7 !
2026-11-06 16:24:31 +02:00
Lauri Ojansivu 3108e017fc CHANGELOG: public CSV export fields, REST card 404s, test guards.
Also points the GroupLinkBleed entry at its commit after the pull rebased it.

Thanks to AhmedLukman and xet7 !
2026-11-06 16:15:34 +02:00
Lauri Ojansivu 081690875d Tests: the real single executable test says why it cannot run on a kernel with large pages.
On Linux, --build-sea injects the SEA blob with LIEF, which adds PT_LOAD
segments aligned to 4 KiB. A kernel with 16 KiB pages (Apple-silicon Linux)
or 64 KiB pages (some ARM servers) cannot map them, and the executable dies
with SIGSEGV before it runs a line. A one-line console.log SEA built with
Node.js v26.13.0 crashes the same way, so it is the injection, not WeKan.
The test failed there as `null !== 0`, which said nothing; it is now skipped
when the page size is over 4 KiB, with that reason. Release builders have
4 KiB pages, so they still run it.

Thanks to xet7 !
2026-11-06 16:15:34 +02:00
Lauri Ojansivu 68b575637d Tests: three client guards follow the code they pin again.
The behaviour did not change; each guard read source that later commits
moved, and failed on what it could no longer find:

- sidebarBelowHeader: Template.header.onRendered also wires the full
  screen button since f25957dcf3, and the slice now ran into the new
  onDestroyed. The slice ends at onDestroyed, and the fake environment has
  an inert Fullscreen API.
- maximizedCardPosition: since efaf94242e the maximized selector is also in
  a narrow-screen @media rule that only moves `top` below the header bar on
  a phone. The regex found that rule first; it now reads the top-level one.
- titleClickToEdit: since 1b05673200 the opened card moves with Pointer
  Events, and what a header press does is cardHeaderPress() in
  models/lib/windowDrag.js. The guards read the pointerdown handler and call
  that decision, keeping every assertion: the title edits, links stay links,
  the drag handle wins when drag handles are on, the editor is never dragged.

Each still fails when the behaviour it pins is removed (checked by deleting
onTitleEditZone and by making the maximized card absolute).

Thanks to xet7 !
2026-11-06 16:15:34 +02:00
Lauri Ojansivu 6d5f660c27 REST custom-field update answers JSON 404 for an unmatched card instead of 500.
POST /api/boards/:boardId/lists/:listId/cards/:cardId/customFields/:customFieldId
threw Meteor.Error(404) when no unarchived card matched the board, list and
card id. A WebApp handler is a plain connect handler, so that reached the
client as HTTP 500. It now answers through sendJsonResult with a JSON 404,
as the card archive/restore endpoints do since #6876.

tests/restHandlerNotFound.test.cjs drives the handler for a matching card,
a missing card, the wrong list, the wrong board and an archived card, and
scans every WebApp.handlers route in the source tree so no REST handler
can answer not-found by throwing Meteor.Error(404) again.

Thanks to AhmedLukman and xet7 !
2026-11-06 16:15:34 +02:00
Lauri Ojansivu f54aa93dc1 CHANGELOG: GroupLinkBleed.
Thanks to bhaswanthc and xet7 !
2026-11-06 16:15:34 +02:00
Lauri Ojansivu e3458004ec Fix GroupLinkBleed: board admins can no longer attach foreign teams or add members by direct board writes.
GHSA-v544-rmr5-38gx. Boards.allow lets a board admin update any field of
their board, and two checks existed only inside Meteor methods: a board
admin may add only the organizations and teams they belong to (#5141,
setBoardOrgs/setBoardTeams), and inviteUserToBoard's checks (who may
invite, disabled accounts, the #6116 same organization/team policy). A
client calling /boards/update or /boards/insert directly skipped both.

New Boards.deny rules refuse any client insert or update naming orgs,
teams or domains - the UI changes them only through the board methods,
which write server-side - and any client update that adds a member or
switches a removed member back on (models/lib/boardWriteGuards.js). Role
changes and removals, which the client writes itself, still pass. A
refusal is recorded in Admin Panel / Problems as GroupLinkBleed
(authz.group-link, authz.member-add, medium).

tests/groupLinkBleed.test.cjs runs the real deny rules in a vm against
the reported writes and every legitimate client write, and fails if a
method-guarded board field is client-writable; it fails without the fix.
tests/playwright/specs/group-link-bleed.e2e.js replays the attack over DDP.

Thanks to bhaswanthc and xet7 !
2026-11-06 16:15:34 +02:00
Lauri Ojansivu 6ae4ad3545 Merge pull request #6877 from AhmedLukman/codex/rest-card-sort-zero
Allow zero sort values in REST card updates
2026-11-06 16:15:10 +02:00
Ahmed Lukman b0a71ba57b Allow zero sort values in REST card updates
Check whether sort is supplied so JSON updates can persist a zero position. Keep the existing scoped update and history handling, and add handler and browser regressions for ordering, persistence, omitted values and rejected requests.
2026-11-06 16:54:07 +03:00
Lauri Ojansivu f3d013339c Merge pull request #6876 from AhmedLukman/codex/rest-card-archive-not-found
Fix 404 responses for card archive and restore
2026-11-06 15:42:23 +02:00
Lauri Ojansivu 95ea04b049 Merge pull request #6875 from AhmedLukman/codex/public-csv-export-fields
Honor field selections in public CSV and TSV exports
2026-11-06 15:42:08 +02:00
Ahmed Lukman 3b33c7d7ba Return JSON 404 for unmatched card archive and restore requests
Use the existing JSON response helper when the board, list, card and archive-state selector finds no card. Preserve authorization checks and the existing archive and restore methods.

Add handler and browser regressions for missing cards, incorrect scopes, wrong states, repeated requests, successful transitions and unauthorized callers.

Thanks to AhmedLukman and xet7 !
2026-11-06 14:34:33 +03:00
Ahmed Lukman 4762bed8c1 Honor field selections in public CSV and TSV exports
Share validated export options between public and private CSV routes. Add handler regressions and live export-menu coverage for comma, semicolon and tab delimiters, default columns and private-board access.
2026-11-06 12:20:48 +03:00
github-actions[bot] 029ecb6b39 Bump versions for v12.97 2026-11-06 02:01:17 +00:00
Lauri Ojansivu 49c309b324 Prepare v12.97 release 2026-11-06 04:00:13 +02:00
Lauri Ojansivu e09267cc90 CHANGELOG: BSD smoke test cleanup and snap Launchpad retries.
Thanks to xet7 !
2026-11-06 03:52:17 +02:00
Lauri Ojansivu b46f155fa3 Fix v12.96 release builds: BSD smoke test cleanup and snap Launchpad retries.
openbsd-arm64 bundle: releases/bsd/smoke.sh returned OK with WeKan and
FerretDB still running, because start-wekan.sh runs its TERM trap only
after the foreground node exits. FerretDB then removed wekan.sqlite-wal
and -shm while the VM copyback rsync walked the workspace, and rsync exit
24 failed a bundle that had built and started. smoke.sh now stops node
and FerretDB, waits until both are gone (SIGKILL after 30 s) and removes
its work directory before returning.

s390x snap: all three attempts met Launchpad "HTTP Error 503: Service
Unavailable" / "Error: Timeout", but snapcraft printed only its last
exception, "Could not find repository at path ...", and the 503 was only
in snapcraft's execution log, which infra_failure() did not read. The
attempts were counted as WeKan failures instead of earning the extra
retries. infra_failure() now reads this attempt's execution logs, and
also counts the push refusal "You do not have permission to create
refs/..." from the repository those timed-out requests half-created.

Tests reproduce both from the v12.96 logs, with negatives: an earlier
attempt's execution log and a log with no outage do not count, and no
process or smoke-test file is left behind when smoke.sh returns.

Thanks to xet7 !
2026-11-06 03:52:04 +02:00
Lauri Ojansivu 0c0288a6c5 CHANGELOG: build.sh and releases scripts work on Arch Linux and Omarchy.
Thanks to xet7 !
2026-11-06 01:57:16 +02:00
Lauri Ojansivu c61a1b7f41 build.sh and releases/*.sh work on Arch Linux and Omarchy.
Omarchy (https://omarchy.org) is Arch with Hyprland: pacman, the Arch
repositories and yay for the AUR. The shared detector in
releases/ensure-tools.sh now names Omarchy and the other Arch derivatives
(EndeavourOS, CachyOS, Manjaro) explicitly, and what the scripts did there
is fixed:

- No more `pacman -Sy <package>`: that is a partial upgrade, which Arch does
  not support. _et_pacman installs with `-S --needed`, does a full `-Syu`
  only when pacman has never synced (a fresh archlinux container) or when
  WEKAN_PACMAN_SYU=1 asks for it, and otherwise says to update first, naming
  omarchy-update on Omarchy.
- 7zip instead of p7zip, which Arch has replaced.
- snapcraft: snapd from the AUR with yay or paru (never as root), then
  snapd.socket, /snap and the snapcraft snap, instead of only an error.
- The SSH server menu entries use sshd.service outside Debian/Ubuntu, where
  the unit is not called ssh.
- Playwright: `install --with-deps` runs apt-get, so outside Debian/Ubuntu
  the browser libraries come from pacman (or dnf) and the browsers are
  installed without --with-deps. WebKit, which Playwright builds for
  Debian/Ubuntu only, runs in the Playwright Docker image on Arch when
  Docker is there.
- The en_US.UTF-8 locale note gives the Arch/Omarchy steps too.

tests/archOmarchyScripts.test.cjs drives the helpers offline with stubbed
sudo/pacman/yay, and its negative test fails if any tracked shell script
does a `pacman -Sy` partial upgrade or installs p7zip.

Thanks to xet7 !
2026-11-06 01:57:00 +02:00
github-actions[bot] 9ce35869a7 Bump versions for v12.96 2026-11-05 19:41:40 +00:00
Lauri Ojansivu 2017d07e37 Prepare v12.96 release 2026-11-05 21:40:23 +02:00
Lauri Ojansivu 9ea5c81932 CHANGELOG: repoint commit links after history moved.
A rebase rewrote the commits these entries link to, so the links named commits
that no longer exist and would have 404ed on GitHub. Repointed by
releases/fix-changelog-hashes.sh, which only touches a link no ref in this clone
can reach.

Thanks to xet7 !
2026-11-05 21:39:54 +02:00
Lauri Ojansivu 45ccdd9c3c CHANGELOG: the bundle starts again, and v12.95 records that its bundle did not.
Thanks to xet7 !
2026-11-05 21:39:02 +02:00
Lauri Ojansivu 5a21b074d4 The bundle starts again: nodemailer 10 in meteor/email gets back the lib/ paths it was built against.
releases/bump-bundle-npm-deps.mjs raises the nodemailer inside Meteor's email
package from 8.0.3 to 10.3.1 (dad03959d9), and nodemailer 10 moved lib/ to
dist/cjs/. packages/email.js, compiled against 8.0.3, links
lib/nodemailer.js and lib/well-known/index.js and Npm.requires
lib/mail-composer by path, so v12.95's build-amd64 failed its smoke boot:
"Cannot find module .../meteor/email/node_modules/nodemailer/lib/nodemailer.js".

releases/bundle-npm-security-bumps.json now shims nodemailer the way it
already shims uuid 11: lib/nodemailer.js and every lib/<name> directory the
exports map lists are written back, each forwarding to dist/cjs, and
lib/package.json marks lib/ as CommonJS because nodemailer is "type":
"module". A fresh local bundle taken through build-amd64's install, bump,
trim and prune steps now passes releases/bundle-smoke-boot.sh.

tests/bundleNpmSecurityBumps.test.cjs applies the shim to node_modules'
nodemailer 10, requires the recorded paths, checks that every exported
lib/<name> has a forward to the same module, and fails without the CommonJS
marker.

Thanks to xet7 !
2026-11-05 21:39:02 +02:00
436 changed files with 17233 additions and 9955 deletions

No files matched your search

+1 -1
View File
@@ -174,7 +174,7 @@ jobs:
- name: Build and start in NetBSD
if: steps.node.outputs.skip != 'true' && matrix.os == 'netbsd'
uses: vmactions/netbsd-vm@c8a0d7ddb84619a7a8cc4e652efa7950b3fd9f92 # v1.5.2
uses: vmactions/netbsd-vm@5957cf330aef2e6ddc63c604364c99ce2e02b91d # v1.5.3
with:
release: ${{ matrix.release }}
sync: rsync
+27 -5
View File
@@ -2624,7 +2624,12 @@ jobs:
permissions:
contents: write
needs: [prepare, build-amd64, release]
runs-on: macos-14 # macos-14 runners are Apple Silicon (arm64)
# Apple Silicon (arm64). It was `macos-14`, and GitHub RETIRED that image:
# the v12.98 run's build-mac-arm64 was cancelled with "The configuration
# 'macos-14-arm64-us-default' is not supported", so v12.98 shipped no
# mac-arm64 bundle. macos-15 is Apple Silicon too (the same label mac.yml
# already builds on).
runs-on: macos-15
timeout-minutes: 60
env:
VERSION: ${{ needs.prepare.outputs.version }}
@@ -2900,7 +2905,8 @@ jobs:
contents: write
needs: [prepare, build-amd64, release]
# Intel (x86_64) macOS. It was `macos-13`, and GitHub RETIRED that image -
# actions/runner-images publishes macos-14, macos-15 and macos-26 only, and
# actions/runner-images publishes macos-15 and macos-26 only (macos-14 was
# retired later too), and
# macos-13 is gone from the hosted-runner table. A retired label does not
# fail: the job QUEUES FOREVER waiting for a runner that will never come, so
# every release since then had a build-mac-x64 sitting there for hours until
@@ -2908,8 +2914,8 @@ jobs:
# what skipped the charts jobs (they had not started yet).
# No release has ever carried a wekan-<version>-mac-x64.zip because of it.
# Intel macOS is still offered, under new labels: macos-15-intel and
# macos-26-intel (macos-14/15/26 without the suffix are Apple Silicon). This
# is the same label .tools/TSC already builds its Intel Mac on.
# macos-26-intel (macos-15/26 without the suffix are Apple Silicon). This
# is the same label .tools/Secretchronicles/TSC already builds its Intel Mac on.
runs-on: macos-15-intel
timeout-minutes: 60
env:
@@ -5070,13 +5076,29 @@ jobs:
[ -e "$1" ] || return 1
case "$logs_before" in *" $1 "*) [ "$1" -nt "$attempt_marker" ] ;; *) return 0 ;; esac
}
# snapcraft's execution logs. v12.96 s390x: every attempt printed only
# "Could not find repository at path ...", because snapcraft reports
# the LAST exception; the cause before it - "HTTP Error 503: Service
# Unavailable" / "Error: Timeout" creating that repository - was in
# the "Full execution log" alone. Unread, three Launchpad outages
# counted as three WeKan failures and the arch was not published.
snapcraft_log_dir="$HOME/.local/state/snapcraft/log"
infra_failure() { # did THIS attempt fail on Launchpad, not on WeKan?
grep -qsE 'HTTP Error 5[0-9][0-9]|Error: Timeout|Service Unavailable' "$remote_log" && return 0
# The same v12.96 s390x run's last attempt: the repository the
# timed-out requests had half-created refused our push with
# "You do not have permission to create refs/heads/main" - the
# same credentials pushed every other architecture in that run.
grep -qsE 'remote: You do not have permission to create refs/' "$remote_log" && return 0
local log
for log in snapcraft-wekan-*.txt; do
this_attempts_log "$log" || continue
grep -qsE 'RPC failed;|GnuTLS recv error|fatal: early EOF|Gateway error \[IP: ' "$log" && return 0
done
for log in "$snapcraft_log_dir"/*.log; do
this_attempts_log "$log" || continue
grep -qsE 'HTTP Error 5[0-9][0-9]|Error: Timeout|Service Unavailable' "$log" && return 0
done
return 1
}
# Set once an attempt ends with Launchpad reporting the build as
@@ -5099,7 +5121,7 @@ jobs:
# earlier attempts' logs stay in the directory for the diagnostics
# below, but must not be printed again as if they were this one's.
touch "$attempt_marker"
logs_before=" $(ls snapcraft-wekan-*.txt 2>/dev/null | tr '\n' ' ')"
logs_before=" $(ls snapcraft-wekan-*.txt "$snapcraft_log_dir"/*.log 2>/dev/null | tr '\n' ' ')"
if [ "$fresh_next" = 1 ]; then
echo "The previous attempt's Launchpad build finished without a snap; submitting a new build instead of recovering it."
run_remote_build && rc=0 || rc=$?
+1 -1
View File
@@ -32,6 +32,6 @@ jobs:
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Run chart-releaser
uses: helm/chart-releaser-action@df287104677278f869ca5480bd260358397cc3f9 # v1.8.0
uses: helm/chart-releaser-action@92c6b97fa9f664492a2592e0d1d80bc6bf378957 # v1.9.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+2 -2
View File
@@ -72,8 +72,8 @@ test-results/
# of them - it replaced an entry per clone (/FerretDB/, /node/, /mongo-tools/,
# /mongosh/, /sandstorm/, /projects/, and the WeKan variants), which had to be
# extended by hand for every new one. build.sh's ensure_tool_repo clones what a
# test run needs into here: .tools/FerretDB, .tools/node-patches,
# .tools/mongo-tools-patches. Nothing in here is WeKan's source, and Meteor is
# test run needs into here: .tools/w/FerretDB, .tools/w/node-patches,
# .tools/w/mongo-tools-patches. Nothing in here is WeKan's source, and Meteor is
# told the same by /.tools/ in .meteorignore.
.tools/
+9 -9
View File
@@ -379,7 +379,7 @@ directly after the merge.
tool that reads it sees every file twice and reports the bundler's rewritten
code as if it were source. That is not hypothetical — a source-scanning test
did exactly that and failed on generated code nobody can edit.
- `.tools/wekan.fi` — the WeKan website companion repository.
- `.tools/w/wekan.fi` — the WeKan website companion repository.
- `.tools/` — everything that is NOT part of this repository but is needed to
build, test and release it, in ONE directory that `.gitignore` and
`.meteorignore` already exclude (each used to need its own ignore entry at
@@ -393,10 +393,10 @@ directly after the merge.
| Path | Repository | Branch | What it is |
| --- | --- | --- | --- |
| `.tools/FerretDB` | wekan/FerretDB | `main-v1` | the FerretDB v1 fork WeKan ships as its default database |
| `.tools/node-patches` | wekan/node-patches | `main` | patches to upstream Node.js; builds the `node-<platform>` binaries the bundles, the Docker image and the snap embed |
| `.tools/mongo-tools-patches` | wekan/mongo-tools-patches | `main` | patches to the MongoDB Database Tools; builds `mongo-tools-<arch>`, all eight tools as one program |
| `.tools/TSC` | Secretchronicles/TSC | `devel` | the game xet7 also maintains — same author and maintainer mode, its own GNU ChangeLog and release process |
| `.tools/w/FerretDB` | wekan/FerretDB | `main-v1` | the FerretDB v1 fork WeKan ships as its default database |
| `.tools/w/node-patches` | wekan/node-patches | `main` | patches to upstream Node.js; builds the `node-<platform>` binaries the bundles, the Docker image and the snap embed |
| `.tools/w/mongo-tools-patches` | wekan/mongo-tools-patches | `main` | patches to the MongoDB Database Tools; builds `mongo-tools-<arch>`, all eight tools as one program |
| `.tools/Secretchronicles/TSC` | Secretchronicles/TSC | `devel` | the game xet7 also maintains — same author and maintainer mode, its own GNU ChangeLog and release process |
| `.tools/sandstorm` | sandstorm-io/sandstorm | — | upstream Sandstorm, when present — somebody else's project, cloned for reference |
**Unpacked toolchains and caches.** Downloads, not repositories — put there by
@@ -423,7 +423,7 @@ directly after the merge.
of those repositories goes in that repository's own `README.md` or `docs/`,
never in a new instruction file — and if you find one there, remove it rather
than updating it.
- `.tools/FerretDB` specifics — FerretDB `.go` files must contain **no**
- `.tools/w/FerretDB` specifics — FerretDB `.go` files must contain **no**
application-specific names (say "the client" / "a Meteor 3 driver" / a bare
`#NNNN`); its `CHANGELOG.md` may use `wekan/wekan#NNNN`.
@@ -834,7 +834,7 @@ have cost a released section its accuracy:
during ordinary development, and the next run takes the next number.
What decides it is the GitHub Release, not the tag: `prepare` pushes the tag early,
so a tag can exist for a release that never published.
- FerretDB: run `./build.sh release-ferretdb` from `.tools/FerretDB` (no
- FerretDB: run `./build.sh release-ferretdb` from `.tools/w/FerretDB` (no
version). It renames `## Upcoming FerretDB release` to the next version with the
correct git-tag link, commits + tags + pushes, then triggers `release-all.yml` (which
in turn triggers `docker.yml` for the multi-arch image). It refuses to re-release an
@@ -843,7 +843,7 @@ have cost a released section its accuracy:
### Security issues
- Fix the vulnerability, add a CRITICAL section to the WeKan CHANGELOG like previous
entries (maintainer mode only, as with every changelog change), and update `.tools/wekan.fi/hall-of-fame/index.html` and the vuln-name
entries (maintainer mode only, as with every changelog change), and update `.tools/w/wekan.fi/hall-of-fame/index.html` and the vuln-name
subdirectory `index.html` like previous security issues.
- **Every security fix gets a TEST and a NEGATIVE TEST, and they are written so the
fault cannot exist ANYWHERE in the codebase — not just at the place it was
@@ -942,7 +942,7 @@ have cost a released section its accuracy:
(they are one icon) — the table itself stays percentage-sized with no fixed or
minimum width, so it fills the page at every browser width.
- **A report that arrives WITHOUT a GHSA is upgraded when its GHSA arrives.** The
stars follow `.tools/wekan.fi/hall-of-fame/Audit-Stars.md`: a GHSA with a
stars follow `.tools/w/wekan.fi/hall-of-fame/Audit-Stars.md`: a GHSA with a
suggested fix is 5, a report sent to security@wekan.fi or any other way, with a
suggested fix, is 3. When that researcher is later able to add a GitHub security
advisory for the same report, the maintainer requests the CVE through the GHSA
+434
View File
@@ -124,6 +124,433 @@ its reason.
</details>
# v13.01 2026-11-08 WeKan ® release
**In short:** Translations: the strings still in English are written in **33
more languages**, **Sardinian** is Sardinian instead of Italian and **Moroccan
Arabic** is Darija instead of Persian. Dependabot's updates of **mailparser**,
**isomorphic-git**, **pdfjs-dist** and the S3 libraries are checked and kept,
with the S3 client brought to the version the upload library needs.
This release updates the following dependencies:
- **mailparser 3.12.4 → 3.14.2** — inbound email and bounces; it brings
nodemailer 10.3.1, libmime 5.6.4 and @zone-eu/mailsplit 5.4.30, the same
authors' packages ([#6886](https://github.com/wekan/wekan/pull/6886)).
- **isomorphic-git 1.44.8 → 1.44.10** — the GitHub wiki sync; reads commit and
tag headers the way git does ([#6885](https://github.com/wekan/wekan/pull/6885)).
- **@aws-sdk/lib-storage 3.1155.0 → 3.1161.0** — S3 uploads
([#6884](https://github.com/wekan/wekan/pull/6884)); it needs the
client-s3 below.
- **filesize 11.0.28 → 11.0.30** — file sizes shown
([#6883](https://github.com/wekan/wekan/pull/6883)).
- **pdfjs-dist 6.4.299 → 6.5.438** — PDF previews
([#6882](https://github.com/wekan/wekan/pull/6882)).
- **mongodb 7.7.0 → 7.8.0** in tests/playwright — the browser tests' seeding
only ([#6880](https://github.com/wekan/wekan/pull/6880)).
- **helm/chart-releaser-action 1.8.0 → 1.9.0** and **vmactions/netbsd-vm
1.5.2 → 1.5.3** — CI, each still pinned to the commit its tag names
([#6881](https://github.com/wekan/wekan/pull/6881),
[#6879](https://github.com/wekan/wekan/pull/6879)).
Each was checked before it was kept: every package's integrity matches its
lockfile entry, none has an install script, the action pins are the commits of
their tags, and the new versions add no network calls or telemetry.
Thanks to dependabot.
- **@aws-sdk/client-s3 3.1159.0 → 3.1161.0** - [the version @aws-sdk/lib-storage 3.1161.0 requires as a peer](https://github.com/wekan/wekan/commit/e33b3f26d3db1f15fcea20542c6143d142e84f65); tests/dependencySecurityUpdates.test.cjs caught the mismatch, and only AWS SDK packages changed version. Thanks to xet7.
and updates the following translations:
**Languages updated:** 31 languages.
**Every string in the language** - what was still English, or another language.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/1211221a0fe35a9be4b41ef2954935df1c71e62a">The strings still in English, written in 33 more languages</a>. Thanks to xet7.</summary>
Every value still equal to English was written in the locale's language from
its existing translations and kanban terms; only English placeholders were
filled, human translations were not touched and every `__x__` and `%s` is
English's. The commit names the languages written with low confidence.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/d1d3beb12d62f245ca8f044e5d389e4edb950b92">Sardinian is Sardinian, not Italian</a>. Thanks to xet7.</summary>
1772 values of `sc.i18n.json` were Italian or Italian/Sardinian mixtures; the
locale tag is authoritative, so they are Sardinian now.
`tests/sardinianTranslationProgress.test.cjs` scans every value for words only
Italian has, and proves the scan catches the old strings.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/fe0e187fa0907cf77017e7029eeabdb2450ef1f1">Moroccan Arabic is Darija, not Persian</a>. Thanks to xet7.</summary>
374 values of `ary.i18n.json` were Persian, Persian words in Arabic text, or
English left in. `tests/moroccanArabicNotPersian.test.cjs` scans every value for
words only Persian has, pins repaired values and checks every placeholder.
</details>
and has the following developer-facing changes:
- [Companion repositories are found in .tools/w, .tools/xet7 and .tools/Secretchronicles](https://github.com/wekan/wekan/commit/11bed267889c77ffc6651e858a6eb6ec1e4c83a1). Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v13.00 2026-11-07 WeKan ® release
**In short:** **CreateBleed** is fixed: "Only admins can create boards" now
holds on every path that creates a board - the browser console, the REST API,
imports, copies, clones and cards - not only on the Add Board form. The **REST
API documentation** spells the name **WeKan**, so the API pages published on
wekan.fi pass its brand-spelling check again.
This release fixes the following CRITICAL SECURITY ISSUE of [CreateBleed](https://wekan.fi/hall-of-fame/createbleed/):
<details>
<summary><a href="https://github.com/wekan/wekan/commit/5c1f6088f4">Only admins create boards on every path, not only through Add Board</a>. Thanks to tsurutanmen and xet7.</summary>
[CreateBleed](https://wekan.fi/hall-of-fame/createbleed/),
[GHSA-qcfm-2g4w-wqcc](https://github.com/wekan/wekan/security/advisories/GHSA-qcfm-2g4w-wqcc).
Admin Panel / Settings / Visibility / "Only admins can create boards"
([#4475](https://github.com/wekan/wekan/issues/4475)) was checked only inside
`createBoardWithInitialSwimlanes`, the Add Board form. A user who is not an
admin still created working boards with a console `Boards.insert` - the
board collection's allow rule approves any signed-in user - with
`POST /api/boards` and with both board import routes, as reported, and also
with `importBoard`, `cloneBoard`, `copyBoard`, `POST /api/boards/:boardId/copy`
and `createBoardFromCard`. The boards belonged to their creator; no other
user's data was read or changed.
One decision (`models/lib/boardCreationPolicy.js`) and one guard
(`server/lib/boardCreationGuard.js`) are now asked by every one of those paths
before they write, and by a new `Boards.deny` insert rule. A board template
stays every member's own, and boards WeKan makes by itself - a user's
Templates board, a board's subtasks board - are not user creations. A refused
REST call answers 403. A refusal is recorded in Admin Panel / Problems as
CreateBleed (`authz.board-creation`, low, CWE-863, never disables the
account), and Duplicate and "Create board from card" are hidden like Add
Board, so only a client bypassing the interface reaches it.
`tests/createBleed.test.cjs` drives the decision, the guard and the real deny
rule against the reporter's console insert, and fails if any path that creates
a board for a user does not ask the guard, or if anything else reads the
setting; `tests/playwright/specs/createbleed-board-creation-admin-only.e2e.js`
replays the report against a running server.
</details>
and fixes the following documentation bugs:
**REST API documentation** - the name is WeKan in the API reference, from the
generator to the page wekan.fi publishes.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/4d5fe63fc4">The REST API documentation spells the name WeKan</a>. Thanks to xet7.</summary>
The header of `openapi/generate_openapi.py` and the JSDoc of six models said
"Wekan REST API", "extend Wekan", "a production Wekan server" and "in the
Wekan board", so every `public/api/wekan.yml` and the API pages built from it
said Wekan too, and the v12.95, v12.96 and v12.97 pages on wekan.fi failed its
`tests/brand-spelling.test.cjs`. The generator, the model comments and
`wekan.yml` now say WeKan. `tests/openapiBrandSpelling.test.cjs` checks the
generated file, the generator header and every model JSDoc block, and fails on
the files before this change.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/0275363043">The built API page says WeKan, so the v12.99 page on wekan.fi does too</a>. Thanks to xet7.</summary>
The v12.99 version bump rebuilt `public/api/wekan.html` with the generator from
before the fix, and `releases/release-website.sh` copies that file to wekan.fi
as `api/v12.99/index.html`. Its visible text and the JSON Redoc rebuilds the
page from now say WeKan, and `tests/openapiBrandSpelling.test.cjs` checks the
built page as well.
</details>
Thanks to above GitHub users for their contributions and translators for their translations.
# v12.99 2026-11-06 WeKan ® release
**In short:** The **mac-arm64** release bundle builds again: its job asked for
GitHub's retired **macos-14** runner and was cancelled in the v12.98 release
run. The **weba** instructions now live in the weba repository itself.
This release fixes the following release build bug:
<details>
<summary><a href="https://github.com/wekan/wekan/commit/7e4483b1a9">The mac-arm64 bundle is built on macos-15, because GitHub retired macos-14</a>. Thanks to xet7.</summary>
In the v12.98 release run, build-mac-arm64 was cancelled with "The
configuration 'macos-14-arm64-us-default' is not supported", so v12.98 has no
mac-arm64 bundle. The job now runs on `macos-15`, which is Apple Silicon too
and is what `mac.yml` already uses. `tests/workflowRunnerLabels.test.cjs` lists
`macos-14` as retired, so no workflow can ask for it again, and checks that
build-mac-arm64 asks for a current Apple Silicon runner.
</details>
and has the following developer documentation change:
- [The weba instructions moved from AGENTS.md and CLAUDE.md into the weba repository](https://github.com/wekan/wekan/commit/b4cb989391).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v12.98 2026-11-06 WeKan ® release
**In short:** **GroupLinkBleed** is fixed: a board admin can no longer skip the
board methods by writing the board directly, to attach an organization or team
they do not belong to or to add a member past the invitation checks.
**Public board CSV and TSV exports** honour the selected columns, and the REST
**card archive, restore and custom-field** endpoints answer an unmatched card
with a JSON 404 instead of 500, and a REST **card update** can set sort 0, turn
overtime off and clear a description. The **notifications drawer** gets its
attachments again, and the developer instructions cover the **weba** Gambas
companion repository.
This release fixes the following CRITICAL SECURITY ISSUE of [GroupLinkBleed](https://wekan.fi/hall-of-fame/grouplinkbleed/):
<details>
<summary><a href="https://github.com/wekan/wekan/commit/e3458004ec">Board admins can no longer attach foreign teams or add members by direct board writes</a>. Thanks to bhaswanthc and xet7.</summary>
[GroupLinkBleed](https://wekan.fi/hall-of-fame/grouplinkbleed/),
[GHSA-v544-rmr5-38gx](https://github.com/wekan/wekan/security/advisories/GHSA-v544-rmr5-38gx).
The board allow rule lets a board admin update any field, and two checks lived
only in Meteor methods: adding only the organizations and teams the admin
belongs to ([#5141](https://github.com/wekan/wekan/issues/5141)), and the
invitation's checks, including the same organization/team policy
([#6116](https://github.com/wekan/wekan/issues/6116)). A client writing the
board over DDP skipped both, so a whole team could be given an attacker's
board and any user added to it. Client writes naming `orgs`, `teams` or
`domains`, and client updates that add or reactivate a member, are now
refused and shown in Admin Panel / Problems; role changes and removals still
pass. `tests/groupLinkBleed.test.cjs` runs the real deny rules and fails if a
method-guarded board field is client-writable.
</details>
and fixes the following bugs:
**Exports** - the CSV and TSV columns a public board exports.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/4762bed8c1">Public board CSV and TSV exports honour the selected fields</a>. Thanks to AhmedLukman and xet7.</summary>
On a public board the CSV and TSV export ignored `fields=` and wrote all 20
columns, while a private board wrote only the selected ones (PR
[#6875](https://github.com/wekan/wekan/pull/6875)). The validated selection is
now parsed once, before the public/private branch, so both get the same
columns; a missing, empty or unrecognised selection still exports all of them,
and the export guards are unchanged. `tests/publicCsvExportFields.test.cjs`
drives the route for comma, semicolon and tab, and a Playwright spec checks the
export menu's checkboxes on a public board.
</details>
**REST API** - what the card endpoints accept, and answer when no card matches.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/3b33c7d7ba">Card archive and restore answer a JSON 404 for an unmatched card instead of 500</a>. Thanks to AhmedLukman and xet7.</summary>
`POST …/cards/:cardId/archive` and `…/unarchive` threw `Meteor.Error(404)`
when no card matched the board, list, id and archive state. A WebApp handler is
a plain connect handler, so that reached the client as HTTP 500 (PR
[#6876](https://github.com/wekan/wekan/pull/6876)). They now answer through
`sendJsonResult` with `{ error: 'Card not found' }` and 404, writing nothing.
`tests/restCardArchive.test.cjs` and a Playwright spec cover a missing card,
the wrong list, the wrong board, the wrong state and refused callers.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/b0a71ba57b">A card update can set sort to 0</a>. Thanks to AhmedLukman and xet7.</summary>
`PUT …/cards/:cardId` with `{ "sort": 0 }` answered 404 and left the card
where it was, because the handler read `sort` by truthiness (PR
[#6877](https://github.com/wekan/wekan/pull/6877)). It now writes any sort that
is present. `tests/restCardSort.test.cjs` and a Playwright spec check 0, other
numbers, form-encoded `'0'`, an omitted sort and refused callers.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/b895e61237">A card update checks sort, isOverTime and description, so false and empty work</a>. Thanks to AhmedLukman and xet7.</summary>
Writing `sort` whenever it is present would also have written `null`, `''` or
`'abc'` as the card's position, and the same handler read `isOverTime` and
`description` by truthiness, so overtime could not be turned off and a
description could not be cleared. `parseCardScalarFields()` decides all three
by presence before the first write: sort a finite number, isOverTime a boolean
(`'true'`/`'false'` from a form too), description a string or `null` to clear.
Anything else is a 400 and the card is unchanged.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/6d5f660c27">The card custom-field update answers a JSON 404 for an unmatched card instead of 500</a>. Thanks to AhmedLukman and xet7.</summary>
`POST …/cards/:cardId/customFields/:customFieldId` had the same
`throw new Meteor.Error(404)` as the archive endpoints, and now answers the
same JSON 404. `tests/restHandlerNotFound.test.cjs` drives it for a matching,
missing, wrong-list, wrong-board and archived card, and scans every
`WebApp.handlers` route in the tree so no REST handler answers not-found by
throwing again.
</details>
**Notifications** - what the notifications drawer receives.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/adb73fd8ee">The notifications drawer receives its attachments again, without a server exception</a>. Thanks to xet7.</summary>
Every `notificationAttachments` subscription failed with `Publish function can
only return a Cursor or an array of Cursors`: Attachments is an ostrio:files
FilesCollection, and the publication returned its FilesCursor instead of the
Mongo cursor it wraps. It now returns `.cursor`, as every other attachment
publication does. `tests/publishFilesCursor.test.cjs` runs the publication and
scans every publishing file so no attachment or avatar cursor query is
published without it.
</details>
and has the following developer-facing changes:
**Tests** - guards that had drifted from the code they pin.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/68b575637d">Three client guards follow the code they pin again</a>. Thanks to xet7.</summary>
`sidebarBelowHeader`, `maximizedCardPosition` and `titleClickToEdit` read
source that the full screen button, the phone-below-header rule and the
Pointer Events drag had since moved. The behaviour had not changed; the guards
now read the new places, `titleClickToEdit` calls `cardHeaderPress()` from
`models/lib/windowDrag.js`, and each still fails when its behaviour is removed.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/081690875d">The real single executable test says why it cannot run on a kernel with large pages</a>. Thanks to xet7.</summary>
`--build-sea` injects the SEA blob with LIEF, which adds 4 KiB-aligned
segments; a Linux kernel with 16 KiB or 64 KiB pages cannot map them, and the
executable dies with SIGSEGV - a one-line `console.log` SEA does too. The test
failed there as `null !== 0`; it is now skipped on such a kernel with that
reason. Release builders have 4 KiB pages and still run it.
</details>
**Developer instructions** - what an assistant working in this repository is
told.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/1ef7a57ce4">AGENTS.md and CLAUDE.md describe the weba companion repository</a>. Thanks to xet7.</summary>
`.tools/weba` is the separate `wekan/weba` repository, a Gambas Web UI Kanban
with SQLite by default. The instructions say where its project, forms, browser
reports and database modules are, that WeKan's author, local-commit and no-push
rules apply there too, how to compile and run it with `gbc3`/`gbx3` from the
local Gambas under `.tools/bin/gambas3`, how its tests run on a copy of the
database, and to keep its SQL portable across Gambas database drivers.
</details>
Thanks to above GitHub users for their contributions and translators for their translations.
# v12.97 2026-11-06 WeKan ® release
**In short:** `build.sh` and the `releases/` scripts now work on **Arch Linux**
and **Omarchy**, and the release builds no longer lose the **OpenBSD arm64
bundle** to a smoke test that left WeKan running, or the **s390x snap** to
Launchpad outages that were counted as build failures.
This release fixes the following release build bugs:
**Release builds** - bundles and snaps that built correctly but failed the job.
<details>
<summary><a href="https://github.com/wekan/wekan/commit/b46f155fa3">The BSD smoke test stops WeKan and FerretDB and removes its files before returning</a>. Thanks to xet7.</summary>
v12.96 openbsd-arm64: `releases/bsd/smoke.sh` returned OK with WeKan and
FerretDB still running, because `start-wekan.sh` runs its TERM trap only after
the foreground node exits. FerretDB then removed `wekan.sqlite-wal` and `-shm`
while the VM's copyback rsync walked the workspace, and rsync exit 24 failed a
bundle that had built and started. The smoke test now stops both, waits until
they are gone and deletes its work directory. `tests/bsdBundles.test.cjs`
runs it against a launcher of `start-wekan.sh`'s shape and fails if a process
or a smoke-test file is left behind.
</details>
<details>
<summary><a href="https://github.com/wekan/wekan/commit/b46f155fa3">Launchpad outages seen only in snapcraft's execution log earn snap retries</a>. Thanks to xet7.</summary>
v12.96 s390x: all three attempts met Launchpad's `HTTP Error 503` /
`Error: Timeout`, but snapcraft printed only its last exception, "Could not
find repository at path ...", so the outage was counted as three WeKan
failures. `infra_failure()` now reads this attempt's snapcraft execution logs
too, and counts the "You do not have permission to create refs/" push refusal
from the half-created repository. `tests/snapLaunchpadInfraRetry.test.cjs`
pins both, and its negatives an earlier attempt's log and one with no outage.
</details>
and has the following developer-tooling fix:
<details>
<summary><a href="https://github.com/wekan/wekan/commit/c61a1b7f41">build.sh and releases scripts work on Arch Linux and Omarchy</a>. Thanks to xet7.</summary>
Omarchy is Arch with Hyprland: pacman, the Arch repositories and yay for the
AUR. `releases/ensure-tools.sh` names it and the other Arch derivatives
explicitly. Packages are installed with `pacman -S --needed` instead of the
unsupported `-Sy` partial upgrade; a full `-Syu` runs only on a never-synced
pacman or with `WEKAN_PACMAN_SYU=1`, and a failed install says to update first
(`omarchy-update` on Omarchy). 7zip replaces Arch's retired p7zip, snapcraft
gets snapd from the AUR with yay or paru, the SSH server menu entries use
`sshd.service` outside Debian/Ubuntu, and Playwright's browser libraries come
from pacman (or dnf) instead of the apt-only `--with-deps`, with WebKit in the
Playwright Docker image on Arch. `tests/archOmarchyScripts.test.cjs` drives
the helpers offline, and its negative test fails if any shell script does a
`pacman -Sy` partial upgrade or installs p7zip.
</details>
Thanks to above GitHub users for their contributions and translators for their translations.
# v12.96 2026-11-05 WeKan ® release
**In short:** The release **bundle starts again**: v12.95's build stopped on
boot because the **nodemailer** 10 raised inside Meteor's email package no
longer had the files that package was built against.
This release fixes the following bug:
<details>
<summary><a href="https://github.com/wekan/wekan/commit/5a21b074d4">The bundle starts again, with nodemailer 10 inside Meteor's email package</a>. Thanks to xet7.</summary>
v12.95 raised the nodemailer in `meteor/email` from 8.0.3 to 10.3.1, and
nodemailer 10 moved `lib/` to `dist/cjs/`. `packages/email.js`, compiled
against 8.0.3, links `lib/nodemailer.js` and `lib/well-known/index.js` and
`Npm.require`s `lib/mail-composer` by path, so build-amd64 failed its smoke
boot. `releases/bundle-npm-security-bumps.json` now shims nodemailer as it
already shims uuid 11: `lib/nodemailer.js` and every `lib/<name>` directory the
exports map lists are written back, forwarding to `dist/cjs`, with a
`lib/package.json` marking them CommonJS because nodemailer is `"type":
"module"`. A fresh local bundle taken through build-amd64's install, bump, trim
and prune steps passes `releases/bundle-smoke-boot.sh`.
`tests/bundleNpmSecurityBumps.test.cjs` requires the recorded paths through the
shim, checks every exported `lib/<name>`, and fails without the CommonJS marker.
</details>
Thanks to above GitHub users for their contributions and translators for their translations.
# v12.95 2026-11-05 WeKan ® release
**In short:** **Continuous backup** now runs on one server at a time, with a
@@ -313,6 +740,13 @@ predates them. The runtime image installs no compiler (`gcc-14-base` is Debian's
one-file package), so the multi-stage build the report asks for is already how
it is built. Run against a copy of the published image's bundle, the bumper
raised all of the above and every raised copy loaded.
**This release's bundle did not start.** "Every raised copy loaded" was checked
by loading each package, not by booting the bundle: nodemailer 10 moved `lib/`
to `dist/cjs/`, Meteor's `email` package still links the `lib/` paths of 8.0.3,
and build-amd64 failed its smoke boot with "Cannot find module
.../meteor/email/node_modules/nodemailer/lib/nodemailer.js". The fix is in the
next release.
`tests/bundleNpmSecurityBumps.test.cjs` pins the minimums, the per-major
rule and the shim, and runs the bumper with `--dry-run` on a bundle of
body-parser, uuid and nodemailer copies at, below and above their minimums.
+36 -30
View File
@@ -5,47 +5,53 @@ each one changed and the project status are in
Written by `node releases/changelog-short.mjs` from CHANGELOG-big.md:
make changes there.
# v12.95 2026-11-05 WeKan ® release
# v13.01 2026-11-08 WeKan ® release
**Continuous backup** now runs on one server at a time, with a
lease, when WeKan has several servers. Missing-board **exports** and REST
updates of missing **integrations**, **users**, **organizations** and **teams**
answer 404 instead of 200, the **minicard** shows a picked Requested by and
Assigned by, a card stops offering the attachment "+" when uploads are blocked,
and the Docker image's **nodemailer**, **body-parser**, **qs**, **uuid** and
**postcss-selector-parser** are raised past the advisories a Grype scan found.
Translations: the strings still in English are written in **33
more languages**, **Sardinian** is Sardinian instead of Italian and **Moroccan
Arabic** is Darija instead of Persian. Dependabot's updates of **mailparser**,
**isomorphic-git**, **pdfjs-dist** and the S3 libraries are checked and kept,
with the S3 client brought to the version the upload library needs.
[All changes in v12.95](CHANGELOG-big.md#v1295-2026-11-05-wekan--release)
[All changes in v13.01](CHANGELOG-big.md#v1301-2026-11-08-wekan--release)
# v12.94 2026-11-04 WeKan ® release
# v13.00 2026-11-07 WeKan ® release
On an iPad the **opened card covers the header bar** instead of
sitting
behind it, and the speed test measures where the time goes when a WeKan board is
opened, on FerretDB and on MongoDB.
**CreateBleed** is fixed: "Only admins can create boards" now
holds on every path that creates a board - the browser console, the REST API,
imports, copies, clones and cards - not only on the Add Board form. The **REST
API documentation** spells the name **WeKan**, so the API pages published on
wekan.fi pass its brand-spelling check again.
[All changes in v12.94](CHANGELOG-big.md#v1294-2026-11-04-wekan--release)
[All changes in v13.00](CHANGELOG-big.md#v1300-2026-11-07-wekan--release)
# v12.93 2026-11-04 WeKan ® release
# v12.99 2026-11-06 WeKan ® release
The database **speed test** has a new small-scale result, ordered
from fastest to slowest with how many times slower each database is, and two
more databases: **pgrust** (PostgreSQL in Rust) and **TiDB**. Noria, YugabyteDB
and CockroachDB were looked at and cannot be used, for reasons the README gives.
The **mac-arm64** release bundle builds again: its job asked for
GitHub's retired **macos-14** runner and was cancelled in the v12.98 release
run. The **weba** instructions now live in the weba repository itself.
[All changes in v12.93](CHANGELOG-big.md#v1293-2026-11-04-wekan--release)
[All changes in v12.99](CHANGELOG-big.md#v1299-2026-11-06-wekan--release)
# v12.92 2026-11-03 WeKan ® release
# v12.98 2026-11-06 WeKan ® release
A missing **REST checklist** answers a JSON 404 instead of an
empty 500.
**GroupLinkBleed** is fixed: a board admin can no longer skip the
board methods by writing the board directly, to attach an organization or team
they do not belong to or to add a member past the invitation checks.
**Public board CSV and TSV exports** honour the selected columns, and the REST
**card archive, restore and custom-field** endpoints answer an unmatched card
with a JSON 404 instead of 500, and a REST **card update** can set sort 0, turn
overtime off and clear a description. The **notifications drawer** gets its
attachments again, and the developer instructions cover the **weba** Gambas
companion repository.
[All changes in v12.92](CHANGELOG-big.md#v1292-2026-11-03-wekan--release)
[All changes in v12.98](CHANGELOG-big.md#v1298-2026-11-06-wekan--release)
# v12.91 2026-11-03 WeKan ® release
# v12.97 2026-11-06 WeKan ® release
A **GitHub CodeQL** finding in a test is fixed, and the guard
against
replacing text with itself now also sees patterns with a `^` or `$` anchor.
`build.sh` and the `releases/` scripts now work on **Arch Linux**
and **Omarchy**, and the release builds no longer lose the **OpenBSD arm64
bundle** to a smoke test that left WeKan running, or the **s390x snap** to
Launchpad outages that were counted as build failures.
[All changes in v12.91](CHANGELOG-big.md#v1291-2026-11-03-wekan--release)
[All changes in v12.97](CHANGELOG-big.md#v1297-2026-11-06-wekan--release)
+9 -9
View File
@@ -379,7 +379,7 @@ directly after the merge.
tool that reads it sees every file twice and reports the bundler's rewritten
code as if it were source. That is not hypothetical — a source-scanning test
did exactly that and failed on generated code nobody can edit.
- `.tools/wekan.fi` — the WeKan website companion repository.
- `.tools/w/wekan.fi` — the WeKan website companion repository.
- `.tools/` — everything that is NOT part of this repository but is needed to
build, test and release it, in ONE directory that `.gitignore` and
`.meteorignore` already exclude (each used to need its own ignore entry at
@@ -393,10 +393,10 @@ directly after the merge.
| Path | Repository | Branch | What it is |
| --- | --- | --- | --- |
| `.tools/FerretDB` | wekan/FerretDB | `main-v1` | the FerretDB v1 fork WeKan ships as its default database |
| `.tools/node-patches` | wekan/node-patches | `main` | patches to upstream Node.js; builds the `node-<platform>` binaries the bundles, the Docker image and the snap embed |
| `.tools/mongo-tools-patches` | wekan/mongo-tools-patches | `main` | patches to the MongoDB Database Tools; builds `mongo-tools-<arch>`, all eight tools as one program |
| `.tools/TSC` | Secretchronicles/TSC | `devel` | the game xet7 also maintains — same author and maintainer mode, its own GNU ChangeLog and release process |
| `.tools/w/FerretDB` | wekan/FerretDB | `main-v1` | the FerretDB v1 fork WeKan ships as its default database |
| `.tools/w/node-patches` | wekan/node-patches | `main` | patches to upstream Node.js; builds the `node-<platform>` binaries the bundles, the Docker image and the snap embed |
| `.tools/w/mongo-tools-patches` | wekan/mongo-tools-patches | `main` | patches to the MongoDB Database Tools; builds `mongo-tools-<arch>`, all eight tools as one program |
| `.tools/Secretchronicles/TSC` | Secretchronicles/TSC | `devel` | the game xet7 also maintains — same author and maintainer mode, its own GNU ChangeLog and release process |
| `.tools/sandstorm` | sandstorm-io/sandstorm | — | upstream Sandstorm, when present — somebody else's project, cloned for reference |
**Unpacked toolchains and caches.** Downloads, not repositories — put there by
@@ -423,7 +423,7 @@ directly after the merge.
of those repositories goes in that repository's own `README.md` or `docs/`,
never in a new instruction file — and if you find one there, remove it rather
than updating it.
- `.tools/FerretDB` specifics — FerretDB `.go` files must contain **no**
- `.tools/w/FerretDB` specifics — FerretDB `.go` files must contain **no**
application-specific names (say "the client" / "a Meteor 3 driver" / a bare
`#NNNN`); its `CHANGELOG.md` may use `wekan/wekan#NNNN`.
@@ -834,7 +834,7 @@ have cost a released section its accuracy:
during ordinary development, and the next run takes the next number.
What decides it is the GitHub Release, not the tag: `prepare` pushes the tag early,
so a tag can exist for a release that never published.
- FerretDB: run `./build.sh release-ferretdb` from `.tools/FerretDB` (no
- FerretDB: run `./build.sh release-ferretdb` from `.tools/w/FerretDB` (no
version). It renames `## Upcoming FerretDB release` to the next version with the
correct git-tag link, commits + tags + pushes, then triggers `release-all.yml` (which
in turn triggers `docker.yml` for the multi-arch image). It refuses to re-release an
@@ -843,7 +843,7 @@ have cost a released section its accuracy:
### Security issues
- Fix the vulnerability, add a CRITICAL section to the WeKan CHANGELOG like previous
entries (maintainer mode only, as with every changelog change), and update `.tools/wekan.fi/hall-of-fame/index.html` and the vuln-name
entries (maintainer mode only, as with every changelog change), and update `.tools/w/wekan.fi/hall-of-fame/index.html` and the vuln-name
subdirectory `index.html` like previous security issues.
- **Every security fix gets a TEST and a NEGATIVE TEST, and they are written so the
fault cannot exist ANYWHERE in the codebase — not just at the place it was
@@ -942,7 +942,7 @@ have cost a released section its accuracy:
(they are one icon) — the table itself stays percentage-sized with no fixed or
minimum width, so it fills the page at every browser width.
- **A report that arrives WITHOUT a GHSA is upgraded when its GHSA arrives.** The
stars follow `.tools/wekan.fi/hall-of-fame/Audit-Stars.md`: a GHSA with a
stars follow `.tools/w/wekan.fi/hall-of-fame/Audit-Stars.md`: a GHSA with a
suggested fix is 5, a report sent to security@wekan.fi or any other way, with a
suggested fix, is 3. When that researcher is later able to add a GitHub security
advisory for the same report, the maintainer requests the CVE through the GHSA
+1 -1
View File
@@ -38,7 +38,7 @@ FROM --platform=$BUILDPLATFORM debian:trixie AS bundle
ARG TARGETARCH
ARG TARGETVARIANT
ARG VERSION=12.95
ARG VERSION=13.01
ARG DEBIAN_FRONTEND=noninteractive
COPY --chmod=755 releases/check-telemetry.py /tmp/check-telemetry.py
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v12.95.0"
appVersion: "v13.01.0"
files:
userUploads:
- README.md
+10 -10
View File
@@ -2068,7 +2068,7 @@ exit /b 0
REM ===========================================================================
:test_all_databases
REM The same thing build.sh's "All databases (sequential)" runs: build the newest
REM FerretDB v1 from .tools\FerretDB (cloning wekan/FerretDB there if it is not
REM FerretDB v1 from .tools\w\FerretDB (cloning wekan/FerretDB there if it is not
REM there, and installing Go and the module dependencies if they are
REM missing), then run the whole FerretDB v1 query catalogue against every
REM database that has a Docker image for THIS CPU - one at a time, because they
@@ -2105,7 +2105,7 @@ REM ===========================================================================
:test_ferretdb
REM All of FerretDB's own tests, one at a time: unit, vet, integration.
REM
REM FerretDB lives in .tools\FerretDB - companion repos are kept in one directory
REM FerretDB lives in .tools\w\FerretDB - companion repos are kept in one directory
REM that .gitignore and .meteorignore already exclude, instead of one ignored
REM subdirectory each at the repo root. It is cloned here when it is not there,
REM the same as build.sh's ensure_tool_repo does, so neither script depends on
@@ -2117,27 +2117,27 @@ if errorlevel 1 (
echo ERROR: bash was not found. It comes with Git for Windows ^(Git Bash^) and with WSL.
goto end
)
if not exist "%REPO%\.tools\FerretDB\build.sh" (
if not exist "%REPO%\.tools\w\FerretDB\build.sh" (
where git >nul 2>&1
if errorlevel 1 (
echo ERROR: git was not found, so .tools\FerretDB cannot be cloned.
echo ERROR: git was not found, so .tools\w\FerretDB cannot be cloned.
echo Install Git for Windows, or clone it by hand:
echo git clone git@github.com:wekan/FerretDB .tools/FerretDB
echo git clone git@github.com:wekan/FerretDB .tools/w/FerretDB
goto end
)
if not exist "%REPO%\.tools" md "%REPO%\.tools"
echo ==^> FerretDB is not in .tools\ yet; cloning wekan/FerretDB
git clone git@github.com:wekan/FerretDB "%REPO%\.tools\FerretDB"
git clone git@github.com:wekan/FerretDB "%REPO%\.tools\w\FerretDB"
if errorlevel 1 (
echo ==^> SSH clone failed ^(no key for github.com?^); trying HTTPS.
git clone https://github.com/wekan/FerretDB "%REPO%\.tools\FerretDB"
git clone https://github.com/wekan/FerretDB "%REPO%\.tools\w\FerretDB"
)
)
if not exist "%REPO%\.tools\FerretDB\build.sh" (
echo ERROR: .tools\FerretDB\build.sh is still missing after cloning.
if not exist "%REPO%\.tools\w\FerretDB\build.sh" (
echo ERROR: .tools\w\FerretDB\build.sh is still missing after cloning.
goto end
)
bash -c "cd .tools/FerretDB && ./build.sh test-all"
bash -c "cd .tools/w/FerretDB && ./build.sh test-all"
goto end
REM ===========================================================================
+60 -21
View File
@@ -1,9 +1,10 @@
#!/bin/bash
if [ -n "${ZSH_VERSION:-}" ]; then exec /bin/bash "$0" "$@"; fi
echo "Recommended for development: Newest Debian or Ubuntu amd64 based distro, directly to SSD disk or dual boot, not VM. Works fast."
echo "Recommended for development: Newest Debian, Ubuntu, Fedora or Arch/Omarchy amd64 based distro, directly to SSD disk or dual boot, not VM. Works fast."
echo "Note1: If you use other locale than en_US.UTF-8 , you need to additionally install en_US.UTF-8"
echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
echo " so that MongoDB works correctly: Debian/Ubuntu 'sudo dpkg-reconfigure locales',"
echo " Arch/Omarchy: uncomment en_US.UTF-8 in /etc/locale.gen and run 'sudo locale-gen'."
echo " You can still use any other locale as your main locale."
echo "Note2: Console output is also logged to the operation-specific path printed below."
echo "Note3: All logs use .tools/log/<operation>/YYYY-MM-DD_HH-MM-SS/."
@@ -139,25 +140,39 @@ if [ -n "$_wekan_node_version" ] && [ -n "$_wekan_node_arch" ] && [ -x "$_wekan_
fi
export PATH
# ensure_tool_repo <name> [git-url] - the path to .tools/<name>, cloning it if it
# is not there yet. Prints the path on stdout; everything else goes to stderr, so
# a caller can do `dir="$(ensure_tool_repo FerretDB)"`.
# ensure_tool_repo <name> [git-url] - the path to .tools/<owner>/<name>, cloning
# it if it is not there yet. Prints the path on stdout; everything else goes to
# stderr, so a caller can do `dir="$(ensure_tool_repo FerretDB)"`.
#
# The companion repositories are grouped by their GitHub owner, the way they are
# cloned: github.com/wekan/* in .tools/w/, github.com/xet7/* in .tools/xet7/ and
# github.com/Secretchronicles/* in .tools/Secretchronicles/. tool_repo_dir says
# which directory that is, so every script finds a repo in the same place.
#
# SSH first, HTTPS second: a maintainer has a key and wants to push, and anyone
# else still gets a working clone. Returns non-zero when neither works, so the
# caller can say what it cannot do rather than cd into nothing.
function tool_repo_dir(){
local owner="$1" name="$2"
[ "$owner" = "wekan" ] && owner="w"
printf '%s\n' "$WEKAN_TOOLS_DIR/$owner/$name"
}
function ensure_tool_repo(){
local name="$1"
local url="${2:-git@github.com:wekan/$name}"
local https_url="${url/git@github.com:/https://github.com/}"
local dir="$WEKAN_TOOLS_DIR/$name"
local owner="${url#*github.com[:/]}"
owner="${owner%%/*}"
local dir
dir="$(tool_repo_dir "$owner" "$name")"
if [ -d "$dir/.git" ]; then
printf '%s\n' "$dir"
return 0
fi
mkdir -p "$WEKAN_TOOLS_DIR" || { echo "ERROR: cannot create $WEKAN_TOOLS_DIR" >&2; return 1; }
echo "==> $name is not in .tools/ yet; cloning $url" >&2
mkdir -p "$(dirname "$dir")" || { echo "ERROR: cannot create $(dirname "$dir")" >&2; return 1; }
echo "==> $name is not in ${dir#"$WEKAN_DIR"/} yet; cloning $url" >&2
if ! git clone "$url" "$dir" >&2; then
echo "==> SSH clone failed (no key for github.com?); trying HTTPS." >&2
if ! git clone "$https_url" "$dir" >&2; then
@@ -605,6 +620,14 @@ function browser_needs_docker(){
if [ "$PLATFORM_OS" = "linux" ] && [ "$PLATFORM_ARCH" = "arm64" ]; then
return 0
fi
# Playwright builds WebKit for Debian/Ubuntu only. On Arch and Omarchy its
# WebKit is linked against other ICU/libjpeg/libwebp versions than the
# rolling release has and does not launch, while Chromium and Firefox do.
# So WebKit alone goes to the Docker image there, when Docker is installed.
if [ "$browser" = webkit ] && [ "$PLATFORM_OS" = "linux" ] && \
[ "$(_et_linux_family)" = arch ] && docker_available; then
return 0
fi
return 1
}
@@ -632,8 +655,14 @@ function docker_exec(){
# Run a Playwright browser project (chromium / firefox / webkit) inside the
# official Playwright container. First arg is the browser; any extra args are
# passed through to `playwright test`. WeKan must already be running on the host
# (default http://127.0.0.1:3000, Meteor's bundled Mongo on 3001); the container
# (default http://localhost:3000, Meteor's bundled Mongo on 3001); the container
# shares the host network so it can reach both.
#
# The browser must use the test server's ROOT_URL origin, http://localhost:3000.
# Meteor-Files sends every upload to ROOT_URL + /cdn/storage/.../__upload, and
# answers no CORS preflight for another origin, so a page opened on
# http://127.0.0.1:3000 could not upload anything: the drawing specs' Save never
# finished. Health checks with curl may still use 127.0.0.1; a browser may not.
function run_playwright_docker(){
local browser="$1"; shift
local reporoot="$WEKAN_DIR"
@@ -649,7 +678,7 @@ function run_playwright_docker(){
pwver="$(node -e "console.log(require('$pwdir/node_modules/@playwright/test/package.json').version)" 2>/dev/null)"
[ -z "$pwver" ] && pwver="1.60.0"
local image="mcr.microsoft.com/playwright:v${pwver}-noble"
local docker_base_url="${WEKAN_BASE_URL:-http://127.0.0.1:3000}"
local docker_base_url="${WEKAN_BASE_URL:-http://localhost:3000}"
local docker_mongo_url="${WEKAN_MONGO_URL:-mongodb://127.0.0.1:3001/meteor}"
local docker_host_proxy_port=""
local docker_network="host"
@@ -798,7 +827,7 @@ function run_node_e2e_docker(){
-e HOME=/repo/.tools/tmp \
-e TMPDIR=/repo/.tools/tmp \
-e NODE_OPTIONS="${NODE_OPTIONS:-}" \
-e WEKAN_BASE_URL="${WEKAN_BASE_URL:-http://127.0.0.1:3000}" \
-e WEKAN_BASE_URL="${WEKAN_BASE_URL:-http://localhost:3000}" \
-e WEKAN_MONGO_URL="${WEKAN_MONGO_URL:-mongodb://127.0.0.1:3001/meteor}" \
-v "$reporoot":/repo -w /repo \
"$image" \
@@ -825,8 +854,17 @@ function install_playwright_browsers(){
browser_needs_docker "$b" || nativeList="$nativeList $b"
done
if [ -n "$nativeList" ]; then
echo "Installing native Playwright browsers:$nativeList (with system deps; may use sudo)."
( cd "$pwdir" && export HOME="$reporoot/.tools" && npx playwright install --with-deps $nativeList )
if [ "$PLATFORM_OS" = "linux" ] && [ "$(_et_linux_family)" != debian ]; then
# `--with-deps` runs apt-get, which only Debian/Ubuntu have. Elsewhere
# install the libraries the browsers load with the native package
# manager, then the browsers themselves without --with-deps.
echo "Installing native Playwright browsers:$nativeList (system deps from the distribution's packages; may use sudo)."
ensure_playwright_system_deps
( cd "$pwdir" && export HOME="$reporoot/.tools" && npx playwright install $nativeList )
else
echo "Installing native Playwright browsers:$nativeList (with system deps; may use sudo)."
( cd "$pwdir" && export HOME="$reporoot/.tools" && npx playwright install --with-deps $nativeList )
fi
else
echo "All browsers are configured to run via Docker; skipping native browser install."
fi
@@ -1786,7 +1824,7 @@ function floating_promises_checks(){
# not: "Install Playwright browsers" (setup, and the browser stages install what
# they need), and "Count tests by category" (a report, not a check).
#
# FerretDB lives in .tools/FerretDB, cloned on demand by ensure_tool_repo (and by
# FerretDB lives in .tools/w/FerretDB, cloned on demand by ensure_tool_repo (and by
# releases/db-conformance.sh, which needs it a stage earlier). .tools/ is ignored
# by git and by Meteor, so a companion repo cannot reach a commit or a rebuild.
function run_everything(){
@@ -1858,7 +1896,7 @@ function run_everything(){
echo
echo "### 4/4 FerretDB tests ########################################################"
# .tools/FerretDB, cloned here if this is the first run on this machine -
# .tools/w/FerretDB, cloned here if this is the first run on this machine -
# stage 3 usually got there first, but EVERYTHING must not depend on the
# order of its own stages.
ferret_dir="$(ensure_tool_repo FerretDB)" || ferret_dir=""
@@ -1868,8 +1906,8 @@ function run_everything(){
GOFLAGS="$FERRET_GOFLAGS" GOMEMLIMIT="$FERRET_GOMEMLIMIT" \
./build.sh test-all ) || ferret_rc=$?
else
echo "ERROR: .tools/FerretDB/build.sh is missing and could not be cloned."
echo " Clone it by hand: git clone git@github.com:wekan/FerretDB .tools/FerretDB"
echo "ERROR: .tools/w/FerretDB/build.sh is missing and could not be cloned."
echo " Clone it by hand: git clone git@github.com:wekan/FerretDB .tools/w/FerretDB"
ferret_rc=1
fi
@@ -2732,8 +2770,8 @@ RELEASE_SCRIPTS=( "Release|Release All: audit, commit, push and build with Actio
"Git and repo|Migrate a MongoDB database to FerretDB (--help first)|releases/migrate-mongodb-to-ferretdb.mjs|Arguments, e.g. --help||"
"Git and repo|Export local Git history to a new Fossil repository|releases/fossil.sh|||fossil-export"
"Git and repo|Open the local Fossil repository UI|releases/fossil-ui.sh|||fossil-ui"
"Server and VM|Enable and start the SSH server|!sudo systemctl enable ssh && sudo systemctl start ssh||linux|ssh-start"
"Server and VM|Disable and stop the SSH server|!sudo systemctl disable ssh && sudo systemctl stop ssh||linux|ssh-stop"
"Server and VM|Enable and start the SSH server|!sudo systemctl enable \"\$(_et_ssh_unit)\" && sudo systemctl start \"\$(_et_ssh_unit)\"||linux|ssh-start"
"Server and VM|Disable and stop the SSH server|!sudo systemctl disable \"\$(_et_ssh_unit)\" && sudo systemctl stop \"\$(_et_ssh_unit)\"||linux|ssh-stop"
"Server and VM|Enable the ufw firewall|!sudo ufw enable||linux|ufw-enable"
"Server and VM|Disable the ufw firewall|!sudo ufw disable||linux|ufw-disable"
"Server and VM|Remove the Multipass VM|!multipass stop --all && multipass delete --all && multipass purge && sudo snap remove multipass||linux|multipass-remove"
@@ -2999,7 +3037,8 @@ for _once in 1; do
sudo apk add --no-cache bash build-base git curl wget p7zip zip unzip file npm
;;
arch)
sudo pacman -Sy --needed --noconfirm base-devel git curl wget p7zip zip unzip file npm
# Arch and Omarchy: no `pacman -Sy` partial upgrade (see _et_pacman).
_et_pacman base-devel git curl wget 7zip zip unzip file npm
;;
fedora)
sudo dnf group install -y development-tools
@@ -3400,7 +3439,7 @@ for _once in 1; do
if [ -n "$ferret_dir" ] && [ -x "$ferret_dir/build.sh" ]; then
( cd "$ferret_dir" && ./build.sh test-all )
else
echo "ERROR: .tools/FerretDB/build.sh is missing and could not be cloned."
echo "ERROR: .tools/w/FerretDB/build.sh is missing and could not be cloned."
fi
;;
"Run EVERYTHING sequentially: the floating-promises guard (seconds), then WeKan's own tests (mocha, the node suites, import regression, node E2E and all three browsers), then the database conformance run for every database with a Docker image for this CPU, then all of FerretDB's own tests (unit, vet, integration) - one stage at a time, all logs in log/<datetime>/")
@@ -112,9 +112,10 @@ template(name="allBoardsMultiSelectionSidebar")
a.sidebar-btn.js-archive-selected-boards
i.fa.fa-archive
span {{_ 'archive-board'}}
a.sidebar-btn.js-duplicate-selected-boards
i.fa.fa-clipboard
span {{_ 'duplicate-board'}}
if boardCreationAllowed
a.sidebar-btn.js-duplicate-selected-boards
i.fa.fa-clipboard
span {{_ 'duplicate-board'}}
a.sidebar-btn.js-export-selected-boards
i.fa.fa-download
span {{_ 'export-selected-boards'}}
+5 -4
View File
@@ -1270,10 +1270,11 @@ template(name="cardDetailsActionsPopup")
i.fa.fa-link
| {{_ 'cardMorePopup-title'}}
unless canModifyCard
li
a.js-create-board-from-card
i.fa.fa-external-link
| {{_ 'linkCardToNewBoard'}}
if boardCreationAllowed
li
a.js-create-board-from-card
i.fa.fa-external-link
| {{_ 'linkCardToNewBoard'}}
span.copied-tooltip {{_ 'copied'}}
//- #1173: the card export popup IS the shared export body - the same checkbox
+5
View File
@@ -725,6 +725,11 @@ a:not(.disabled).is-active i.fa {
.viewer code {
padding: 10px 12px 7px;
background: #dedede;
/* Its own text colour with its own light background: a dark theme's light
text (#bbb in the dark theme's opened card) was inherited onto #dedede,
1.42:1 (46-axe-theme-contrast). #222 on #dedede is 11.8:1, and
codeHighlight.css's token colours are chosen for this background too. */
color: #222;
overflow-y: auto;
}
.viewer a {
+20 -10
View File
@@ -123,8 +123,16 @@ Popup.template.events({
const drag = tpl._dateMove;
if (!drag || drag.pointerId !== evt.pointerId) return;
evt.preventDefault(); evt.stopPropagation();
const boxLeft = Math.max(12, Math.min(window.innerWidth - drag.width - 12, drag.left + drag.dx + evt.clientX - drag.x));
const boxTop = Math.max(12, Math.min(window.innerHeight - drag.height - 12, drag.top + drag.dy + evt.clientY - drag.y));
// The popup's size NOW, not when the drag began: a long menu gets its
// 960px column layout a frame after it is drawn (popupMenuLayout.js), so a
// drag that starts in that frame would keep clamping for the narrow size
// and push the grown popup most of the way out of the window - and undo
// the ResizeObserver that had just put it back inside.
const size = drag.element.getBoundingClientRect();
const width = size.width || drag.width;
const height = size.height || drag.height;
const boxLeft = Math.max(12, Math.min(window.innerWidth - width - 12, drag.left + drag.dx + evt.clientX - drag.x));
const boxTop = Math.max(12, Math.min(window.innerHeight - height - 12, drag.top + drag.dy + evt.clientY - drag.y));
const left = boxLeft - drag.dx;
const top = boxTop - drag.dy;
// Dragging uses physical pointer coordinates in either text direction.
@@ -230,13 +238,16 @@ Popup.template.onRendered(function () {
this._focusTrap = event => trapTabKey(event, this._popupElement);
this._popupElement?.addEventListener('keydown', this._focusTrap);
if (this._popupElement) {
const update = () => {
this._menuLayoutFrame = null;
updatePopupMenuColumns(this._popupElement);
};
this._menuLayoutObserver = new MutationObserver(() => {
if (this._menuLayoutFrame == null) this._menuLayoutFrame = requestAnimationFrame(update);
});
const update = () => updatePopupMenuColumns(this._popupElement);
// At once, not on the next animation frame: a MutationObserver callback
// already runs before the browser paints, and a frame later the popup had
// been drawn - and could be clicked or dragged - at its narrow size, then
// jumped to the 960px column layout under the pointer. A click aimed at
// Board View's "Lists" landed on "Calendar"'s place, and a drag clamped
// for the narrow size (06-views-layout, card-title-edit-and-move-6839).
// update() toggles a class only when it changes, so the attribute it
// observes settles after one more call.
this._menuLayoutObserver = new MutationObserver(update);
this._menuLayoutObserver.observe(this._popupElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['class'] });
update();
// A movable popup that grows - Drawing replacing the card's menu in this
@@ -278,6 +289,5 @@ Popup.template.onRendered(function () {
Popup.template.onDestroyed(function () {
this._menuLayoutObserver?.disconnect();
this._boundsObserver?.disconnect();
if (this._menuLayoutFrame != null) cancelAnimationFrame(this._menuLayoutFrame);
this._popupElement?.removeEventListener('keydown', this._focusTrap);
});
+9 -4
View File
@@ -1,12 +1,14 @@
import { Template } from 'meteor/templating';
import { ReactiveCache } from '/imports/reactiveCache';
import TableVisibilityModeSettings from '/models/tableVisibilityModeSettings';
// #4475: Admin Panel -> Settings -> Visibility -> "Only admins can create
// boards" (tableVisibilityMode-boardCreationAdminOnly). Shared by every
// client-side "Add board" entry point so the button hides consistently;
// the real enforcement is server-side, in createBoardWithInitialSwimlanes
// (server/models/boards.js) - this only avoids showing a control that
// would be rejected.
// client-side entry point that makes a new board - Add Board, and with it
// Import and Template, Duplicate in the All Boards sidebar, and "Create
// board from card" - so they hide consistently. The real enforcement is on
// the server, on every path (CreateBleed, server/lib/boardCreationGuard.js);
// this only avoids offering a control the server would refuse.
export function boardCreationAllowed() {
const restricted = TableVisibilityModeSettings.findOne(
'tableVisibilityMode-boardCreationAdminOnly',
@@ -16,3 +18,6 @@ export function boardCreationAllowed() {
}
return !!ReactiveCache.getCurrentUser()?.isAdmin;
}
// For templates: {{#if boardCreationAllowed}}.
Template.registerHelper('boardCreationAllowed', () => boardCreationAllowed());
@@ -30,7 +30,7 @@ exist, which images they use or how they are started:
| Database | How it runs |
| --- | --- |
| FerretDB v1 + SQLite | FerretDB built from `.tools/FerretDB` (the newest source), data under `.tools/tmp` |
| FerretDB v1 + SQLite | FerretDB built from `.tools/w/FerretDB` (the newest source), data under `.tools/tmp` |
| FerretDB v1 + PostgreSQL | `postgres:18`, the image of [docker-compose-ferretdb-v1-postgresql.yml](../../../../../docker-compose-ferretdb-v1-postgresql.yml) |
| FerretDB v1 + MySQL | `mysql:9`, from [docker-compose-ferretdb-v1-mysql.yml](../../../../../docker-compose-ferretdb-v1-mysql.yml) |
| FerretDB v1 + MariaDB | `mariadb:12`, from [docker-compose-ferretdb-v1-mariadb.yml](../../../../../docker-compose-ferretdb-v1-mariadb.yml) |
@@ -38,7 +38,7 @@ const INSPECT = arg('inspect', '');
const PPROF = arg('ferret-pprof', '');
const LABEL = arg('label', 'run');
const GO = arg('go', path.join(ROOT, '.tools/go/bin/go'));
const FERRET_BIN = arg('ferret-bin', path.join(ROOT, '.tools/FerretDB/bin/ferretdb'));
const FERRET_BIN = arg('ferret-bin', path.join(ROOT, '.tools/w/FerretDB/bin/ferretdb'));
const QUIET_MS = 1500;
// ── seeding ─────────────────────────────────────────────────────────────────
+3 -3
View File
@@ -521,7 +521,7 @@ checked on the page itself.
does recursive search (`startWith`, `connectFromField`, `connectToField`,
`maxDepth`), spills to disk above 100 MB, returns results unsorted.
- **WeKan's FerretDB v1 fork does not implement `$graphLookup`** (verified in
source: `.tools/FerretDB/internal/handler/common/aggregations/stages/stages.go`
source: `.tools/w/FerretDB/internal/handler/common/aggregations/stages/stages.go`
`unsupportedStages`; `docs/reference/supported-commands.md`; `ROADMAP.md`).
Its `$lookup` is the basic equality join only. Upstream FerretDB v2's
[compatibility page](https://docs.ferretdb.io/migration/compatibility/) does
@@ -707,8 +707,8 @@ MongoDB documents the standard patterns in
| Closure table (separate collection of ancestor/descendant pairs) | 1 query | 1 query | many rows | heavy; SQL idiom |
`$graphLookup` is **not implemented** in WeKan's FerretDB v1 fork:
`.tools/FerretDB/internal/handler/common/aggregations/stages/stages.go` lists it
in `unsupportedStages`, and `.tools/FerretDB/ROADMAP.md` marks it
`.tools/w/FerretDB/internal/handler/common/aggregations/stages/stages.go` lists it
in `unsupportedStages`, and `.tools/w/FerretDB/ROADMAP.md` marks it
`ErrNotImplemented`. Since FerretDB on SQLite is a default WeKan database, any
design that needs `$graphLookup` would break there. **Array of ancestors** needs
only plain equality queries on an indexed array, which every backend supports.
@@ -10,7 +10,7 @@ This is without container (without Docker or Snap).
Right click and download files 1-4:
1. [wekan-12.95-win64.zip](https://github.com/wekan/wekan/releases/download/v12.95/wekan-12.95-win64.zip) or newest available at https://github.com/wekan/wekan/releases/
1. [wekan-13.01-win64.zip](https://github.com/wekan/wekan/releases/download/v13.01/wekan-13.01-win64.zip) or newest available at https://github.com/wekan/wekan/releases/
2. [node.exe](https://nodejs.org/dist/latest-v26.x/win-x64/node.exe)
@@ -22,7 +22,7 @@ Right click and download files 1-4:
6. Double click `mongodb-windows-x86_64-7.0.34-signed.msi` . In installer, uncheck downloading MongoDB compass.
7. Unzip `wekan-12.95-win64.zip` , inside it is directory `bundle`, to it copy other files:
7. Unzip `wekan-13.01-win64.zip` , inside it is directory `bundle`, to it copy other files:
```
bundle (directory)
+1 -1
View File
@@ -518,7 +518,7 @@ Two ratchets keep that distinction reviewable. `tests/securityRegressionCoverage
accounts for every published Hall of Fame name and requires each named regression
suite to remain present. As of the 2026-09-05 audit, 71 of 93 have named coverage and
22 older fixes remain explicit test gaps. `tests/hallOfFameProblemsCoverage.test.cjs`
reads the real `.tools/wekan.fi` Hall of Fame and requires every name to be either a
reads the real `.tools/w/wekan.fi` Hall of Fame and requires every name to be either a
Problems catalog entry, a reasoned non-attributable case, or an explicit pending
review. A missing companion checkout may skip the website comparison, but the
obsolete `~/repos/w/wekan.fi` location is never read.
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Koneksi gagai",
"cloud-settings-saved": "Peuatôran storan ka geukeubah",
"cloud-settings-save-failed": "Gagai keubah peuatôran storan",
"cloud": "Awan",
"cloud-settings-desc": "Ngon WeKan lam Weddy, Cloud Panel jipeulayan le that domain WeKan nibak saboh server, tiep-tiep ngon data droe. Bak Domain Cloud Panel, SuperAdmin geu-urôh domain ngon CloudFlare.",
"cloud-panel-domain": "Domain Cloud Panel",
"cloud-superadmin-username": "Nan Ureueng Ngui SuperAdmin",
"cloud-saved": "Ka teukeubah.",
"cloud-panel-not-allowed": "Cloud Panel cit keu SuperAdmin, bak Domain Cloud Panel.",
"cloud-customer-name": "Nan pelanggan",
"cloud-customer-email": "Alamat emel pelanggan",
"cloud-billing-email": "Alamat emel tagihan",
"cloud-start-date": "Tanggai Phôn",
"cloud-end-date": "Tanggai Akhe",
"cloudflare-api-key": "Kunci API CloudFlare",
"cloudflare-api-key-desc": "Ngon kunci API CloudFlare, domain nyang zona jih na lam akun CloudFlare droeneuh meuteumèe rekod DNS proxy ngon sertifikat Origin CloudFlare. Domain laen meuteumèe sertifikat Let's Encrypt. Kunci geukeubah bak server ngon hana geupeuleumah le.",
"cloudflare-api-key-set": "Kunci API CloudFlare ka geukeubah.",
"cloudflare-api-key-not-set": "Hana kunci API CloudFlare nyang geukeubah: bandum domain meuteumèe sertifikat Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Pindah lampiran u Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Verbinding het misluk",
"cloud-settings-saved": "Bergingsinstellings gestoor",
"cloud-settings-save-failed": "Kon nie bergingsinstellings stoor nie",
"cloud": "Wolk",
"cloud-settings-desc": "Met WeKan in Weddy bedien die Cloud Panel baie WeKan-domeine vanaf een bediener, elk met sy eie data. By die Cloud Panel-domein bestuur die SuperAdmin die domeine en CloudFlare.",
"cloud-panel-domain": "Cloud Panel-domein",
"cloud-superadmin-username": "SuperAdmin-gebruikersnaam",
"cloud-saved": "Gestoor.",
"cloud-panel-not-allowed": "Die Cloud Panel is slegs vir die SuperAdmin, by die Cloud Panel-domein.",
"cloud-customer-name": "Kliënt se naam",
"cloud-customer-email": "Kliënt se e-posadres",
"cloud-billing-email": "Faktuur-e-posadres",
"cloud-start-date": "Begindatum",
"cloud-end-date": "Einddatum",
"cloudflare-api-key": "CloudFlare API-sleutel",
"cloudflare-api-key-desc": "Met 'n CloudFlare API-sleutel kry 'n domein waarvan die sone in jou CloudFlare-rekening is 'n geproksiede DNS-rekord en 'n CloudFlare Origin-sertifikaat. Ander domeine kry 'n Let's Encrypt-sertifikaat. Die sleutel word op die bediener gestoor en word nooit weer gewys nie.",
"cloudflare-api-key-set": "'n CloudFlare API-sleutel is gestoor.",
"cloudflare-api-key-not-set": "Geen CloudFlare API-sleutel is gestoor nie: elke domein kry 'n Let's Encrypt-sertifikaat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Skuif aanhangsel na Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Verbinding het misluk",
"cloud-settings-saved": "Bergingsinstellings gestoor",
"cloud-settings-save-failed": "Kon nie bergingsinstellings stoor nie",
"cloud": "Wolk",
"cloud-settings-desc": "Met WeKan in Weddy bedien die Cloud Panel baie WeKan-domeine vanaf een bediener, elk met sy eie data. By die Cloud Panel-domein bestuur die SuperAdmin die domeine en CloudFlare.",
"cloud-panel-domain": "Cloud Panel-domein",
"cloud-superadmin-username": "SuperAdmin-gebruikersnaam",
"cloud-saved": "Gestoor.",
"cloud-panel-not-allowed": "Die Cloud Panel is slegs vir die SuperAdmin, by die Cloud Panel-domein.",
"cloud-customer-name": "Kliënt se naam",
"cloud-customer-email": "Kliënt se e-posadres",
"cloud-billing-email": "Faktuur-e-posadres",
"cloud-start-date": "Begindatum",
"cloud-end-date": "Einddatum",
"cloudflare-api-key": "CloudFlare API-sleutel",
"cloudflare-api-key-desc": "Met 'n CloudFlare API-sleutel kry 'n domein waarvan die sone in jou CloudFlare-rekening is 'n geproksiede DNS-rekord en 'n CloudFlare Origin-sertifikaat. Ander domeine kry 'n Let's Encrypt-sertifikaat. Die sleutel word op die bediener gestoor en word nooit weer gewys nie.",
"cloudflare-api-key-set": "'n CloudFlare API-sleutel is gestoor.",
"cloudflare-api-key-not-set": "Geen CloudFlare API-sleutel is gestoor nie: elke domein kry 'n Let's Encrypt-sertifikaat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Skuif aanhangsel na Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Mfomso bi sii wɔ dwumadi yi mu",
"cloud-settings-saved": "Wɔasie akorabea nhyehyɛe no",
"cloud-settings-save-failed": "Wɔantumi ansie akorabea nhyehyɛe no",
"cloud": "Mununkum",
"cloud-settings-desc": "Sɛ WeKan wɔ Weddy mu a, Cloud Panel no som WeKan domain pii fi server baako so, na emu biara wɔ ne data. Wɔ Cloud Panel Domain no so, SuperAdmin no hwɛ domain no ne CloudFlare so.",
"cloud-panel-domain": "Cloud Panel Domain din",
"cloud-superadmin-username": "SuperAdmin dwumadini din",
"cloud-saved": "Wɔasie.",
"cloud-panel-not-allowed": "Cloud Panel no yɛ SuperAdmin nko ara dea, wɔ Cloud Panel Domain no so.",
"cloud-customer-name": "Adetɔfo din",
"cloud-customer-email": "Adetɔfo email address",
"cloud-billing-email": "Ka tua email address",
"cloud-start-date": "Mfitiaseɛ da",
"cloud-end-date": "Awieeɛ da",
"cloudflare-api-key": "CloudFlare API safe",
"cloudflare-api-key-desc": "Sɛ wowɔ CloudFlare API safe a, domain a ne zone wɔ wo CloudFlare account mu no nya DNS record a ɛfa proxy so ne CloudFlare Origin krataa. Domain afoforo nya Let's Encrypt krataa. Wɔde safe no sie server no so na wɔnkyerɛ bio da.",
"cloudflare-api-key-set": "Wɔakora CloudFlare API safe.",
"cloudflare-api-key-not-set": "Wɔnkoraa CloudFlare API safe biara: domain biara nya Let's Encrypt krataa.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Fa fael a wɔde aka ho no kɔ Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "ግንኙነቱ አልተሳካም",
"cloud-settings-saved": "የማከማቻ ቅንብሮች ተቀምጠዋል",
"cloud-settings-save-failed": "የማከማቻ ቅንብሮችን ማስቀመጥ አልተሳካም",
"cloud": "ደመና",
"cloud-settings-desc": "WeKan በWeddy ውስጥ ሲሆን፣ Cloud Panel ብዙ የWeKan ጎራዎችን ከአንድ አገልጋይ ያገለግላል፣ እያንዳንዱም የራሱ ውሂብ አለው። በCloud Panel ጎራ ላይ SuperAdmin ጎራዎቹንና CloudFlareን ያስተዳድራል።",
"cloud-panel-domain": "የCloud Panel ጎራ",
"cloud-superadmin-username": "የSuperAdmin የተጠቃሚ ስም",
"cloud-saved": "ተቀምጧል።",
"cloud-panel-not-allowed": "Cloud Panel ለSuperAdmin ብቻ ነው፣ በCloud Panel ጎራ ላይ።",
"cloud-customer-name": "የደንበኛ ስም",
"cloud-customer-email": "የደንበኛ ኢሜይል አድራሻ",
"cloud-billing-email": "የክፍያ ኢሜይል አድራሻ",
"cloud-start-date": "የመጀመሪያ ቀን",
"cloud-end-date": "የማብቂያ ቀን",
"cloudflare-api-key": "የCloudFlare API ቁልፍ",
"cloudflare-api-key-desc": "በCloudFlare API ቁልፍ፣ ዞኑ በCloudFlare መለያዎ ውስጥ ያለ ጎራ በፕሮክሲ የሚያልፍ የDNS መዝገብ እና የCloudFlare Origin የምስክር ወረቀት ያገኛል። ሌሎች ጎራዎች የLet's Encrypt የምስክር ወረቀት ያገኛሉ። ቁልፉ በአገልጋዩ ላይ ይቀመጣል እና ዳግም አይታይም።",
"cloudflare-api-key-set": "የCloudFlare API ቁልፍ ተቀምጧል።",
"cloudflare-api-key-not-set": "ምንም የCloudFlare API ቁልፍ አልተቀመጠም፦ እያንዳንዱ ጎራ የLet's Encrypt የምስክር ወረቀት ያገኛል።",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "አባሪውን ወደ Azure Blob Storage አንቀሳቅስ",
+215 -200
View File
@@ -227,20 +227,20 @@
"attachment-soft-delete-pop": "L'adchunto se saca d'esta tarcheta y o suyo fichero se conserva. Qualsequiera que pueda editar a tarcheta puede restaurar-lo dende l'historial d'a tarcheta.",
"attachmentDeletePopup-title": "¿Borrar el adjunto?",
"attachments": "Adchuntos",
"attach-card": "Attach card",
"attachCardPopup-title": "Attach card",
"attach-card-hint": "Paste a card link (Copy card link on the other card), or type a card title on this board",
"attached-card-unavailable": "An attached card you cannot see",
"detach-card": "Remove attached card",
"attach-card-self": "A card cannot be attached to itself",
"attach-card-limit": "This card already has as many attached cards as it can have",
"attach-card-not-found": "No card you can see was found for that link",
"attach-card": "Adchuntar tarcheta",
"attachCardPopup-title": "Adchuntar tarcheta",
"attach-card-hint": "Apega un vinclo de tarcheta (Copiar vinclo d'a tarcheta en l'atra tarcheta), u escribe un titol de tarcheta d'este tablero",
"attached-card-unavailable": "Una tarcheta adchunta que no puetz veyer",
"detach-card": "Sacar a tarcheta adchunta",
"attach-card-self": "Una tarcheta no se puet adchuntar a ella mesma",
"attach-card-limit": "Esta tarcheta ya tiene tantas tarchetas adchuntas como puede tener",
"attach-card-not-found": "No s'ha trobau garra tarcheta que puedas veyer pa ixe vinclo",
"auto-watch": "Suscribir-se automaticament a los tableros quan se crean",
"avatar-too-big": "L’avatar ye masiau gran (__size__ como maximo)",
"back": "Dezaga",
"board-change-color": "Cambiar el color",
"board-announcement": "Board announcement",
"board-announcement-enabled": "Show it to everyone on this board",
"board-announcement": "Anuncio d'o tablero",
"board-announcement-enabled": "Amostrar-lo a totz en este tablero",
"board-change-background-image": "Cambiar imagen de fondo",
"board-background-image-url": "URL d’a imachen de fondo",
"add-background-image": "Adhibir imagen de fondo",
@@ -284,7 +284,7 @@
"zoom-level": "Nivel de zoom",
"enter-zoom-level": "Introduz o livel de zoom (50-300%):",
"board-view-cal": "Calendario",
"board-view-calendar-mode": "Calendar Mode",
"board-view-calendar-mode": "Modo calendario",
"board-view-multiboard-cal": "Calendario (Toz os tableros)",
"board-view-swimlanes": "Carrils",
"board-view-collapse": "Contraer",
@@ -686,32 +686,32 @@
"chooseBoardSourcePopup-title": "Importar un tablero",
"createLabelPopup-title": "Crear una etiqueta",
"createCustomField": "Crear un campo",
"custom-field-links": "Link fields to another card",
"custom-field-links-hint": "Custom fields with the same name and type on both cards are linked: when a value changes on one card, it is copied to the other card. Fields that only one card has are left alone.",
"custom-field-links-none": "This card's custom fields are not linked to any card.",
"custom-field-link-unavailable": "A linked card you cannot see",
"custom-field-link-fields": "Linked fields:",
"custom-field-link-no-fields": "No fields with the same name and type yet",
"custom-field-link-inactive": "Paused: the person who made this link can no longer edit both cards, or a card is archived.",
"custom-field-unlink": "Unlink",
"custom-field-link-target": "Card link (Copy card link), or search this board's cards",
"custom-field-link-direction": "Direction",
"custom-field-link-both": "Both ways: changes on either card go to the other",
"custom-field-link-send": "One way: changes on this card go to the main card",
"custom-field-link-sends": "Changes on this card go to that card",
"custom-field-link-receives": "Changes on that card come to this card",
"custom-field-link-add": "Link fields",
"field-link-self": "A card cannot be linked to itself.",
"field-link-limit": "This card, or that card, already has the most linked cards it can have.",
"field-link-archived": "An archived card cannot be linked.",
"field-link-invalid": "That is not a card link.",
"field-link-not-found": "Card not found.",
"field-link-not-allowed": "You need to be able to edit both cards.",
"cardCustomFieldLinksPopup-title": "Linked custom fields",
"custom-field-links": "Vincular campos a una atra tarcheta",
"custom-field-links-hint": "Os campos personalizaus con o mesmo nombre y tipo en as dos tarchetas son vinculaus: quan una valor cambia en una tarcheta, se copia en l'atra. Os campos que nomás tiene una tarcheta no se tocan.",
"custom-field-links-none": "Os campos personalizaus d'esta tarcheta no son vinculaus a garra tarcheta.",
"custom-field-link-unavailable": "Una tarcheta vinculada que no puetz veyer",
"custom-field-link-fields": "Campos vinculaus:",
"custom-field-link-no-fields": "Encara no i hai campos con o mesmo nombre y tipo",
"custom-field-link-inactive": "En pausa: a persona que fació este vinclo ya no puet editar as dos tarchetas, u una tarcheta ye archivada.",
"custom-field-unlink": "Desvincular",
"custom-field-link-target": "Vinclo de tarcheta (Copiar vinclo d'a tarcheta), u mira entre as tarchetas d'este tablero",
"custom-field-link-direction": "Adreza",
"custom-field-link-both": "En as dos adrezas: os cambios en qualsequier tarcheta van ta l'atra",
"custom-field-link-send": "En una adreza: os cambios en esta tarcheta van ta la tarcheta principal",
"custom-field-link-sends": "Os cambios en esta tarcheta van ta ixa tarcheta",
"custom-field-link-receives": "Os cambios en ixa tarcheta plegan ta esta tarcheta",
"custom-field-link-add": "Vincular campos",
"field-link-self": "Una tarcheta no se puet vincular a ella mesma.",
"field-link-limit": "Esta tarcheta, u ixa tarcheta, ya tiene o maximo de tarchetas vinculadas que puede tener.",
"field-link-archived": "Una tarcheta archivada no se puet vincular.",
"field-link-invalid": "Ixo no ye un vinclo de tarcheta.",
"field-link-not-found": "No s'ha trobau a tarcheta.",
"field-link-not-allowed": "Has de poder editar as dos tarchetas.",
"cardCustomFieldLinksPopup-title": "Campos personalizaus vinculaus",
"createCustomFieldPopup-title": "Crear un campo",
"current": "actual",
"custom-color": "Color personalizado",
"cards-use-list-color": "Cards without a colour of their own use this colour",
"cards-use-list-color": "As tarchetas sin color propia fan servir esta color",
"custom-field-delete-pop": "Se borrará iste campo personalizado de todas as tarchetas y se destruirá su historial. Ista acción no puet deshacerse.",
"custom-field-checkbox": "Casilla de verificación",
"custom-field-currency": "Moneda",
@@ -909,20 +909,20 @@
"import-board-instruction-zenkit": "Apega un JSON d'exportación de lista de ZenKit ({ \"title\", \"stages\":[...], \"items\":[...] }). As etapas se tornan listas y os elementos se tornan tarchetas.",
"import-board-instruction-markdown": "Apega una lista de quefers markdown (a convención que emplegan ferramientas markdown-kanban como Obsidian Kanban): capiters \"## Nombre de lista\", con elementos \"- [ ]\"/\"- [x]\" debaixo. Os capiters se tornan listas y os elementos se tornan tarchetas; una lista simpla con pinchos sin caixetas de selección tamién s'importa, como tarchetas ubiertas.",
"import-board-instruction-leo": "Apega un esquema Leo (fichero .leo). Os nodos de primer nivel se tornan listas, os suyos fillos se tornan tarchetas con o cuerpo d'o nodo como descripción, y os nodos más fundos se tornan listas de comprebación. Os nodos marcaus s'importan como feitos.",
"import-board-instruction-opml": "Paste an OPML outline, as Workflowy, Dynalist, OmniOutliner, Logseq and other outliners export it. Top-level items become lists, their children become cards with the note as the description, and deeper items become checklists. Completed items import as done.",
"import-board-instruction-orgmode": "Paste an Org mode file, as Emacs, Orgzly or Beorg write it. Top-level headings become lists and second-level headings become cards. TODO and DONE, priorities, tags, SCHEDULED, DEADLINE and CLOSED are kept, and checkboxes and deeper headings become checklists.",
"import-board-instruction-opml": "Apega un esquema OPML, tal como l'exportan Workflowy, Dynalist, OmniOutliner, Logseq y atros editors d'esquemas. Os elementos d'o primer nivel se tornan listas, os suyos fillos se tornan tarchetas con a nota como descripción, y os elementos mas fondos se tornan listas de comprebación. Os elementos completaus s'importan como feitos.",
"import-board-instruction-orgmode": "Apega un fichero Org mode, tal como lo escriben Emacs, Orgzly u Beorg. Os titols d'o primer nivel se tornan listas y os d'o segundo nivel se tornan tarchetas. TODO y DONE, prioridatz, etiquetas, SCHEDULED, DEADLINE y CLOSED se conservan, y as caixetas de verificación y os titols mas fondos se tornan listas de comprebación.",
"import-board-instruction-todotxt": "Apega un fichero todo.txt: un quefer por linia, tal como lo escriben l'aplicación todo.txt y as aplicacions compatibles. Os quefers remataus (\"x\") van ta Feito, +project y @context se tornan etiquetas, (A) se torna una etiqueta de prioridat, y due: y t: se tornan datas de vencimiento y d'inicio.",
"import-board-instruction-taskwarrior": "Apega a salida de task export: una matriz JSON u una fayena por linia. As fayenas completadas van ta Done, project y priority se convierten en etiquetas, annotations en comentarios y depends en dependencias d’as fayenas que las blocan.",
"import-board-instruction-focalboard": "Descomprime o fichero .boardarchive y apega o conteniu d’o board.jsonl d’o tablero, con u sin a linia de versión. A propiedat d’agrupación d’a vista d’o tablero se convierte en listas, as atras propiedatz de selección en etiquetas, os bloques de texto y de caixetas de verificación en a descripción y una lista de comprebación, y os comentarios se conservan. As imachens y os adchuntos no s’importan.",
"import-board-instruction-todoist": "In Todoist, open the project menu and choose Export as a template, then paste the CSV file. Sections become lists, tasks become cards, sub-tasks become a checklist, notes become comments, and @labels and priorities p1 to p3 become labels.",
"import-board-instruction-planner": "In Microsoft Planner, open the plan's menu and choose Export plan to Excel, then choose that .xlsx file. Buckets become lists and tasks become cards, with their assignees, dates, labels, checklist and description; Progress, Priority and Completed By become custom fields.",
"import-board-instruction-meistertask": "In MeisterTask, click the project name, choose Export project and export the CSV, then paste it. Sections become lists and tasks become cards, with their notes, due date, assignee and tags; completed tasks keep their completion date. A CSV written for MeisterTask's own import works too.",
"import-board-instruction-obsidian": "In Obsidian, open the Kanban board's file as Markdown (or open the .md file in a text editor), then paste all of it. Lanes become lists with their card limits, cards keep their tags, dates, priority, fields and checklist, and the Archive becomes archived cards.",
"import-board-instruction-linear": "In Linear, export the issues as CSV (Settings, Import / Export, Export data, or a view's export), then paste the CSV. Statuses become lists, teams become swimlanes, and issues become cards with their assignee, labels, dates, parent issue, priority, estimate, project and cycle.",
"import-board-instruction-ticktick": "In TickTick, open Settings, Account, Backup & Import and generate a backup, then paste the CSV file. Each TickTick list becomes a swimlane and its columns become lists; tasks keep their tags, dates, checklist, priority and subtasks.",
"import-board-instruction-clickup": "In ClickUp, export the tasks as CSV (Settings, Imports / Exports, Export Items, or a List or Table view's export with all columns), then paste the CSV. Statuses become lists, ClickUp lists become swimlanes, and tasks become cards with their subtasks, assignees, tags, dates, priority and time.",
"import-board-instruction-nullboard": "In Nullboard, open the board, choose Export this board... from the menu, open the .nbx file in a text editor and paste its contents. Lists become lists and notes become cards: a note's first line is the card title and the rest its description. A raw note gets the label raw. A file with several boards imports its first board.",
"import-board-instruction-kanri": "In Kanri, open Import & Export and choose Export individual board (or Export all data), then paste the .json file. Columns become lists and cards become cards, with their description, due date, tags and colors; a card's tasks become a checklist. From an all-data export the first board is imported.",
"import-board-instruction-meistertask": "En MeisterTask, fe clic en o nombre d'o prochecto, tría Export project y exporta o CSV, dimpués apega-lo. As seccions se tornan listas y as tareas se tornan tarchetas, con as suyas notas, calendata de vencimiento, asignau y etiquetas; as tareas completadas conservan a suya calendata de remate. Un CSV escrito pa la importación propia de MeisterTask tamién funciona.",
"import-board-instruction-obsidian": "En Obsidian, ubre o fichero d'o tablero Kanban como Markdown (u ubre o fichero .md en un editor de texto), y dimpués apega-lo tot. Os carrils se tornan listas con os suyos limites de tarchetas, as tarchetas conservan as suyas etiquetas, calendatas, prioridat, campos y lista de comprebación, y l'Archive se torna tarchetas archivadas.",
"import-board-instruction-linear": "En Linear, exporta as incidencias como CSV (Settings, Import / Export, Export data, u a exportación d'una vista), dimpués apega o CSV. Os estaus se tornan listas, os equipos se tornan carrils, y as incidencias se tornan tarchetas con o suyo asignau, etiquetas, calendatas, incidencia pai, prioridat, estimación, prochecto y cicle.",
"import-board-instruction-ticktick": "En TickTick, ubre Settings, Account, Backup & Import y chenera una copia de seguranza, dimpués apega o fichero CSV. Cada lista de TickTick se torna un carril y as suyas columnas se tornan listas; as tareas conservan as suyas etiquetas, calendatas, lista de comprebación, prioridat y subtareas.",
"import-board-instruction-clickup": "En ClickUp, exporta as tareas como CSV (Settings, Imports / Exports, Export Items, u a exportación d'una vista List u Table con todas as columnas), dimpués apega o CSV. Os estaus se tornan listas, as listas de ClickUp se tornan carrils, y as tareas se tornan tarchetas con as suyas subtareas, asignaus, etiquetas, calendatas, prioridat y tiempo.",
"import-board-instruction-nullboard": "En Nullboard, ubre o tablero, tría Export this board... d'o menú, ubre o fichero .nbx en un editor de texto y apega o suyo conteniu. As listas se tornan listas y as notas se tornan tarchetas: a primer linia d'una nota ye o titol d'a tarcheta y a resta a suya descripción. Una nota en cruo recibe l'etiqueta raw. D'un fichero con quantos tableros s'importa o primer tablero.",
"import-board-instruction-kanri": "En Kanri, ubre Import & Export y tría Export individual board (u Export all data), dimpués apega o fichero .json. As columnas se tornan listas y as tarchetas se tornan tarchetas, con a suya descripción, calendata de vencimiento, etiquetas y colors; as tareas d'una tarcheta se tornan una lista de comprebación. D'una exportación de totz os datos s'importa o primer tablero.",
"import-board-instruction-planka": "Escribe l'adreza d'o tuyo Planka (per eixemplo https://planka.example.com), o tuyo nombre d'usuario y clau de paso de Planka, y dimpués preta Listar. Nomás s'usan pa recullir o tablero y no se alzan. Tría un tablero y preta Recullir: WeKan lo leye dende l'API de Planka, con as suyas listas, tarchetas, descripcions, calendatas de vencimiento, etiquetas, miembros, listas de fayenas y comentarios, y dimpués contina a importación como de costumbre. As tarchetas de l'archivo de Planka s'importan archivadas; os adchuntos y as tarchetas d'a paperera no s'importan.",
"import-board-instruction-mstodo": "En Microsoft Graph Explorer (developer.microsoft.com/graph/graph-explorer), dentra, consiente o permiso Tasks.Read y copia o token d'a pestanya Access token. Apega-lo aquí y fe clic en Listar; o token nomás s'usa pa esta recullida y no s'alza. Tría totas as listas u una lista y fe clic en Recullir. Cada lista de To Do se fa una lista y cada fayena una tarcheta, con as suyas notas, calendatas de vencimiento y d'inicio, os pasos como lista de comprebación, as categorías como etiquetas, y l'importancia alta y l'estau como etiquetas; as fayenas completadas s'archivan. Os recordatorios y repeticions no s'importan.",
"import-board-instruction-kanbanflow": "En KanbanFlow, ubre o menú d'o tablero, tría Settings → API & Webhooks y copia o token d'API d'o tablero. Apega o token aquí, fe clic en Listar, tría o tablero y fe clic en Recullir; o token nomás s'usa pa ixa recullida y no s'alza. As columnas se fan listas y os carrils se quedan carrils; as fayenas mantienen a suya descripción, color, etiquetas, calendata de vencimiento, subfayenas como lista de comprebación, tiempo emplegau, estimación, personas y comentarios.",
@@ -941,19 +941,19 @@
"api-import-fetched": "Recullido. Revisa os miembros d'abaixo y importa.",
"api-import-failed": "A recullida ha fallau",
"api-import-nothing": "No i hai cosa que importar con esta cuenta.",
"import-board-instruction-pivotal": "In Pivotal Tracker, open the project's MORE tab and choose Export CSV (or select stories and choose Bulk Actions, CSV), then paste the CSV. Each story state becomes a list and stories become cards, with their type and labels, owners, requester, dates, comments, tasks and blockers; Estimate becomes Story points and iterations become sprints.",
"import-board-instruction-tasksorg": "In Tasks.org, open Settings, Backups and choose Export tasks, then paste the contents of that .json file. Lists become lists and tasks become cards, with their notes, tags, dates, comments and subtasks; completed tasks keep their completion date, and priority becomes a custom field.",
"import-board-instruction-monday": "In monday.com, open the board menu, choose More actions and Export board to Excel (with updates and subitems if you like), then choose that .xlsx file. The Status column becomes lists and groups become swimlanes; people, dates, timeline and tags keep their places, other columns become custom fields and updates become comments.",
"import-board-instruction-superproductivity": "In Super Productivity, open Settings, then Sync & Backup, choose Export Data and paste the contents of the sp-backup .json file. Each project becomes a swimlane and tasks become cards in To Do, In Progress, Backlog or Done, with their notes, tags, due date, time spent and sub-tasks; archived tasks become archived cards.",
"import-board-instruction-taiga": "In Taiga, open Admin > Project > Export and download the project dump (unpack a .json.gz file first), then paste its JSON. User story statuses become lists, user stories become cards with their tasks as subtasks, epics and issues get swimlanes of their own, and sprints, tags, comments and custom attributes come along. Attachments are not imported.",
"import-board-instruction-vikunja": "In Vikunja, open Settings, choose Data Export and download the .zip file it sends you, then choose that file, or paste the data.json inside it. Kanban buckets become lists and tasks become cards, with their labels, assignees, dates, description, task lists as checklists and comments; priority, percent done and done become custom fields. Attachments are not imported.",
"import-board-instruction-quire": "In Quire, open the project menu and choose Export CSV, then paste the CSV. Statuses become lists and tasks become cards, with their subtasks as child cards, assignees, tags as labels, start, due and completed dates, description and priority as a custom field. Comments and attachments are not in Quire's CSV.",
"import-board-instruction-wrike": "In Wrike, export a project or folder to Excel, or fill in Wrike's Excel import template, then choose that .xlsx file. Folder and project rows become swimlanes, Status becomes lists and tasks become cards, with their Key, parent task, assignees, start and end dates, dependencies and description; Priority, Duration and other columns become custom fields.",
"import-board-instruction-teamwork": "In Teamwork.com, fill in the Excel task import template (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) and save it as .xlsx, then choose that file. Task lists become lists and tasks become cards; a task starting with -, # or > becomes a subtask of the task above it (--, ## or >> one level deeper). Assignees, dates and tags keep their places; Priority, Estimated time and Complete become custom fields.",
"import-board-instruction-businessmap": "In Businessmap (formerly Kanbanize), open Advanced Search, choose Configure results to pick the columns, download the Excel file, then choose that .xlsx file. Columns are read by their English names (Title, Column, Lane, Owner, Deadline ...): if your account uses another language, rename the header row to English first. Column becomes lists and Lane swimlanes; owners, tags, color, dates, comments and parent links keep their places, and Priority, Size, Type and other columns become custom fields.",
"import-board-instruction-redmine": "In Redmine, open the project's Issues, choose Also available in: CSV at the bottom of the list, pick the columns (All columns, with Description) and export, then paste the CSV. Redmine names the columns in your language, so set your language to English in My account before exporting. Each status becomes a list and issues become cards, with the tracker as a label, assignee, author, dates, parent task and related issues; priority, category, target version, estimated time, % Done and custom fields become custom fields.",
"import-board-instruction-notion": "In Notion, open the database as a full page, choose ••• and Export, pick Markdown & CSV, and choose the .zip file it downloads, or one database CSV from it, or paste that CSV. A column named Status becomes the lists (without one, the first column that looks like a select does, and the import report says which); rows become cards with their title, tags as labels, people as members, dates, and the page text as the description; other columns become custom fields. Relations, images and attachments are not imported.",
"import-board-instruction-plane": "In Plane, open Workspace Settings, choose Exports, export the projects as JSON, CSV or Excel and download the .zip file, then choose that file, or one file from inside it, or paste the JSON or CSV. States become lists, projects become swimlanes, and issues become cards with their identifier, parent, assignees, labels, dates, links and comments; priority, estimate, cycle and module become custom fields. Plane's export has no descriptions or attachments, so they are not imported.",
"import-board-instruction-pivotal": "En Pivotal Tracker, ubre a pestanya MORE d'o prochecto y tría Export CSV (u selecciona historias y tría Bulk Actions, CSV), dimpués apega o CSV. Cada estau d'historia se torna una lista y as historias se tornan tarchetas, con o suyo tipo y etiquetas, propietarios, solicitant, calendatas, comentarios, tareas y bloqueos; Estimate se torna Story points y as iteracions se tornan sprints.",
"import-board-instruction-tasksorg": "En Tasks.org, ubre Settings, Backups y tría Export tasks, dimpués apega o conteniu d'ixe fichero .json. As listas se tornan listas y as tareas se tornan tarchetas, con as suyas notas, etiquetas, calendatas, comentarios y subtareas; as tareas completadas conservan a suya calendata de remate, y a prioridat se torna un campo personalizau.",
"import-board-instruction-monday": "En monday.com, ubre o menú d'o tablero, tría More actions y Export board to Excel (con updates y subitems si quiers), dimpués tría ixe fichero .xlsx. A columna Status se torna listas y os grupos se tornan carrils; personas, calendatas, timeline y etiquetas conservan o suyo puesto, as atras columnas se tornan campos personalizaus y os updates se tornan comentarios.",
"import-board-instruction-superproductivity": "En Super Productivity, ubre Settings, dimpués Sync & Backup, tría Export Data y apega o conteniu d'o fichero sp-backup .json. Cada prochecto se torna un carril y as tareas se tornan tarchetas en To Do, In Progress, Backlog u Done, con as suyas notas, etiquetas, calendata de vencimiento, tiempo emplegau y subtareas; as tareas archivadas se tornan tarchetas archivadas.",
"import-board-instruction-taiga": "En Taiga, ubre Admin > Project > Export y descarga o volcau d'o prochecto (descomprime primero un fichero .json.gz), dimpués apega o suyo JSON. Os estaus d'as historias d'usuario se tornan listas, as historias d'usuario se tornan tarchetas con as suyas tareas como subtareas, as epicas y incidencias tienen carrils propios, y os sprints, etiquetas, comentarios y atributos personalizaus tamién plegan. Os adchuntos no s'importan.",
"import-board-instruction-vikunja": "En Vikunja, ubre Settings, tría Data Export y descarga o fichero .zip que te ninvia, dimpués tría ixe fichero, u apega o data.json que i hai adintro. Os cubos Kanban se tornan listas y as tareas se tornan tarchetas, con as suyas etiquetas, asignaus, calendatas, descripción, listas de tareas como listas de comprebación y comentarios; a prioridat, o percentache feito y feito se tornan campos personalizaus. Os adchuntos no s'importan.",
"import-board-instruction-quire": "En Quire, ubre o menú d'o prochecto y tría Export CSV, dimpués apega o CSV. Os estaus se tornan listas y as tareas se tornan tarchetas, con as suyas subtareas como tarchetas fillas, asignaus, etiquetas, calendatas d'inicio, vencimiento y remate, descripción y prioridat como campo personalizau. Os comentarios y adchuntos no son en o CSV de Quire.",
"import-board-instruction-wrike": "En Wrike, exporta un prochecto u carpeta ta Excel, u replena a plantilla d'importación Excel de Wrike, dimpués tría ixe fichero .xlsx. As filas de carpeta y prochecto se tornan carrils, Status se torna listas y as tareas se tornan tarchetas, con a suya Key, tarea pai, asignaus, calendatas d'inicio y fin, dependencias y descripción; Priority, Duration y atras columnas se tornan campos personalizaus.",
"import-board-instruction-teamwork": "En Teamwork.com, replena a plantilla Excel d'importación de tareas (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) y alza-la como .xlsx, dimpués tría ixe fichero. As listas de tareas se tornan listas y as tareas se tornan tarchetas; una tarea que empecipia con -, # u > se torna una subtarea d'a tarea d'alto (--, ## u >> un nivel mas fondo). Asignaus, calendatas y etiquetas conservan o suyo puesto; Priority, Estimated time y Complete se tornan campos personalizaus.",
"import-board-instruction-businessmap": "En Businessmap (antes Kanbanize), ubre Advanced Search, tría Configure results pa eslechir as columnas, descarga o fichero Excel, dimpués tría ixe fichero .xlsx. As columnas se leyen por os suyos nombres en anglés (Title, Column, Lane, Owner, Deadline ...): si a tuya cuenta fa servir unatra luenga, renombra primero a fila de capitero en anglés. Column se torna listas y Lane carrils; propietarios, etiquetas, color, calendatas, comentarios y vinclos pai conservan o suyo puesto, y Priority, Size, Type y atras columnas se tornan campos personalizaus.",
"import-board-instruction-redmine": "En Redmine, ubre as Issues d'o prochecto, tría Also available in: CSV en o baixo d'a lista, eslei as columnas (All columns, con Description) y exporta, dimpués apega o CSV. Redmine nombra as columnas en a tuya luenga, asinas que meteba a tuya luenga en anglés en My account antes d'exportar. Cada estau se torna una lista y as incidencias se tornan tarchetas, con o tracker como etiqueta, asignau, autor, calendatas, tarea pai y incidencias relacionadas; prioridat, categoría, versión obchectivo, tiempo estimau, % Done y campos personalizaus se tornan campos personalizaus.",
"import-board-instruction-notion": "En Notion, ubre a base de datos como pachina completa, tría ••• y Export, eslei Markdown & CSV, y tría o fichero .zip que se descarga, u un CSV de base de datos d'adintro, u apega ixe CSV. Una columna clamada Status se torna as listas (si no i ye, la fa a primer columna que pareixe una selección, y o informe d'importación diz quala); as filas se tornan tarchetas con o suyo titol, etiquetas como etiquetas, personas como miembros, calendatas, y o texto d'a pachina como descripción; as atras columnas se tornan campos personalizaus. As relacions, imachens y adchuntos no s'importan.",
"import-board-instruction-plane": "En Plane, ubre Workspace Settings, tría Exports, exporta os prochectos como JSON, CSV u Excel y descarga o fichero .zip, dimpués tría ixe fichero, u un fichero d'adintro, u apega o JSON u o CSV. Os estaus se tornan listas, os prochectos se tornan carrils, y as incidencias se tornan tarchetas con o suyo identificador, pai, asignaus, etiquetas, calendatas, vinclos y comentarios; prioridat, estimación, cicle y modulo se tornan campos personalizaus. A exportación de Plane no tiene descripcions ni adchuntos, asinas que no s'importan.",
"import-board-instruction-trello": "En o tuyo tablero de Trello, ves ta 'Menú', dimpués 'Más', 'Imprimir y exportar', 'Exportar JSON', y copia o texto resultante.",
"import-board-instruction-csv": "Apega os tuyos valors separaus por comas (CSV)/valors separaus por tabuladors (TSV).",
"import-board-instruction-jira": "Apega o JSON d'a busca d'incidencias de l'API REST de Jira Cloud (GET /rest/api/3/search/jql), u un obchecto equivalent { \"issues\": [...] }. Os estaus de Jira se tornan listas y as incidencias se tornan tarchetas. Opcionalment, incluye una matriz \"automationRules\" ta importar reglas.",
@@ -962,33 +962,33 @@
"import-board-instruction-wekan": "En o tuyo tablero, ves ta 'Menú', dimpués 'Exportar tablero', y copia o texto d'o fichero descargau.",
"import-board-instruction-about-errors": "Si tiens errors en importar o tablero, a vegadas a importación funciona igualment y o tablero ye en a pachina de Todos os tableros.",
"import-without-mapping-members": "Importar sin asignar miembros (asignar mas tarde)",
"import-members-mode-heading": "People in the file:",
"import-members-mode-map": "Choose an existing user for each of them",
"import-members-mode-placeholder": "Keep them as placeholder users with their own names, to map to real users later",
"import-members-mode-me": "Make them all me",
"csv-mapping-title": "Which column is which?",
"csv-mapping-description": "Choose the column of the file that holds each card field. The choices were made from the column names; change any that are wrong, and choose (not in the file) for a field the file does not have.",
"csv-mapping-not-in-file": "(not in the file)",
"csv-mapping-column-number": "Column __number__",
"csv-mapping-list-missing": "The file has no column for the list. Choose one above, or type the name of the one list every card goes into.",
"csv-mapping-list-name": "List for every card",
"csv-mapping-custom-fields": "Other columns to import as text custom fields:",
"csv-mapping-boards": "Each sheet becomes its own board:",
"csv-mapping-skipped-sheets": "Sheets that are not imported:",
"csv-mapping-title-required": "Choose the column that holds the card titles.",
"csv-mapping-list-required": "Type the name of the list every card goes into, or choose the column that holds the list.",
"invalid-import-mapping": "The column mapping does not match the file.",
"import-many-boards": "Import many boards",
"import-many-boards-hint": "Choose several export files of this tool, or one .zip that holds them: each file becomes its own board, imported without member mapping. A .zip that is itself one export (Vikunja, Notion, Plane, or WeKan with attachments) is one board. When files are chosen here, Import imports them instead of the field above.",
"import-one-board-per-project": "One board per project",
"import-one-board-per-project-hint": "Each swimlane the import would make (a project, folder or list of the tool) becomes its own board. Parent cards and dependencies between those boards are listed in the import report.",
"import-many-progress": "Importing __done__ of __total__: __name__",
"import-many-results-heading": "Imported files",
"import-many-imported": "imported",
"export-all-boards": "Export all boards",
"export-selected-boards": "Export selected boards",
"export-all-boards-hint": "Every board you can export, in one download: Excel as one workbook with a sheet per board named after it, every other format as a .zip with a file per board.",
"exportAllBoardsPopup-title": "Export all boards",
"import-members-mode-heading": "Personas en o fichero:",
"import-members-mode-map": "Tría un usuario existent pa cadaguna d'ellas",
"import-members-mode-placeholder": "Conservar-las como usuarios provisionals con os suyos nombres, pa asignar-las a usuarios reals mas tardi",
"import-members-mode-me": "Fer que totz sigan yo",
"csv-mapping-title": "Quala columna ye quala?",
"csv-mapping-description": "Tría a columna d'o fichero que tiene cada campo d'a tarcheta. As opcions s'han feito a partir d'os nombres d'as columnas; cambia as que sigan erronias, y tría (no ye en o fichero) pa un campo que o fichero no tiene.",
"csv-mapping-not-in-file": "(no ye en o fichero)",
"csv-mapping-column-number": "Columna __number__",
"csv-mapping-list-missing": "O fichero no tiene columna pa la lista. Tría-ne una d'alto, u escribe o nombre d'a sola lista an que van todas as tarchetas.",
"csv-mapping-list-name": "Lista pa todas as tarchetas",
"csv-mapping-custom-fields": "Atras columnas a importar como campos personalizaus de texto:",
"csv-mapping-boards": "Cada fuella se torna un tablero propio:",
"csv-mapping-skipped-sheets": "Fuellas que no s'importan:",
"csv-mapping-title-required": "Tría a columna que tiene os titols d'as tarchetas.",
"csv-mapping-list-required": "Escribe o nombre d'a lista an que van todas as tarchetas, u tría a columna que tiene a lista.",
"invalid-import-mapping": "L'asignación de columnas no coincide con o fichero.",
"import-many-boards": "Importar muitos tableros",
"import-many-boards-hint": "Tría quantos fichers d'exportación d'esta ferramienta, u un .zip que los contienga: cada fichero se torna un tablero propio, importau sin asignación de miembros. Un .zip que ye ell mesmo una exportación (Vikunja, Notion, Plane, u WeKan con adchuntos) ye un solo tablero. Quan se trían fichers aquí, Importar importa ixos en cuenta d'o campo d'alto.",
"import-one-board-per-project": "Un tablero por prochecto",
"import-one-board-per-project-hint": "Cada carril que fería a importación (un prochecto, carpeta u lista d'a ferramienta) se torna un tablero propio. As tarchetas pai y as dependencias entre ixos tableros s'amuestran en l'informe d'importación.",
"import-many-progress": "Importando __done__ de __total__: __name__",
"import-many-results-heading": "Fichers importaus",
"import-many-imported": "importau",
"export-all-boards": "Exportar totz os tableros",
"export-selected-boards": "Exportar os tableros seleccionaus",
"export-all-boards-hint": "Totz os tableros que puetz exportar, en una sola descarga: Excel como un libro con una fuella por tablero con o suyo nombre, qualsequier atro formato como un .zip con un fichero por tablero.",
"exportAllBoardsPopup-title": "Exportar totz os tableros",
"import-json-placeholder": "Apega os tuyos datos JSON validos aquí",
"import-csv-placeholder": "Apega os tuyos datos CSV/TSV validos aquí",
"import-json-file": "O selecciona un fichero JSON de Trello",
@@ -1026,17 +1026,17 @@
"trello-import-results": "Resultaus d’a importación",
"trello-api-credentials-required": "Introduz tanto a clau API como o token de Trello.",
"trello-api-credentials-saved": "A clau API y o token de Trello son alzaus. Puetz listar espacios de treballo sin tornar a introducir-los.",
"exportToTrelloPopup-title": "Export to Trello",
"trello-export-desc": "Create a copy of this board in Trello through Trello's API, with your Trello API key and token. Swimlanes become labels named \"Swimlane: …\", which WeKan's Trello import turns back into swimlanes.",
"trello-export-include-attachments": "Include attachments",
"trello-export-start": "Export to Trello",
"trello-export-open-board": "Open the board in Trello",
"trello-export-warnings": "Not everything could be exported",
"sandstorm-trello-access-needed": "A Sandstorm grain has no Internet access of its own. Allow this grain to reach Trello first.",
"sandstorm-allow-trello-access": "Allow access to Trello",
"sandstorm-trello-access-granted": "This grain may reach Trello.",
"sandstorm-forget-access": "Forget",
"sandstorm-trello-save-label": "Trello, for importing and exporting boards",
"exportToTrelloPopup-title": "Exportar ta Trello",
"trello-export-desc": "Creya una copia d'este tablero en Trello a traviés d'a API de Trello, con a tuya clau API y token de Trello. Os carrils se tornan etiquetas clamadas \"Swimlane: …\", que la importación de Trello de WeKan torna a convertir en carrils.",
"trello-export-include-attachments": "Incluir adchuntos",
"trello-export-start": "Exportar ta Trello",
"trello-export-open-board": "Ubrir o tablero en Trello",
"trello-export-warnings": "No s'ha puesto exportar tot",
"sandstorm-trello-access-needed": "Un grain de Sandstorm no tiene acceso propio a Internet. Permite primero que este grain plegue ta Trello.",
"sandstorm-allow-trello-access": "Permitir l'acceso ta Trello",
"sandstorm-trello-access-granted": "Este grain puet plegar ta Trello.",
"sandstorm-forget-access": "Ixublidar",
"sandstorm-trello-save-label": "Trello, pa importar y exportar tableros",
"trello-select-boards": "Selecciona t'o menos un tablero ta importar.",
"select-all": "Seleccionar todo",
"select-none": "No seleccionar ninguno",
@@ -1318,9 +1318,9 @@
"external-link-pattern-description": "Vincla automaticament os tokens estilo \"#1234\" trobatos en o texto d'a targeta ta un rastrexador de problemas externo. Dixa un campo baleiro ta desactivar-lo.",
"external-link-pattern-prefix": "Prefixo d'o token",
"external-link-pattern-url": "Plantilla d'URL (fe servir {number})",
"external-link-rules": "More link rules",
"external-link-rules-description": "One rule per line: the text to find, \" = \", and the address. Use {number} for digits and {identifier} for a word, in both, for example [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Abbreviations for {identifier}, for example TK=Task, IN=Incident",
"external-link-rules": "Mas reglas de vinclos",
"external-link-rules-description": "Una regla por linia: o texto a mirar, \" = \", y l'adreza. Fe servir {number} pa os numeros y {identifier} pa una parola, en as dos, por eixemplo [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Abreviaturas pa {identifier}, por eixemplo TK=Task, IN=Incident",
"username": "Nombre d'usuario",
"import-usernames": "Importar Usuarios",
"view-it": "Verla",
@@ -1345,13 +1345,13 @@
"attachment-transfer-limits-title": "Límites de tamaño de fichero de adjuntos y API",
"attachment-limits": "Límites",
"attachment-retention": "Retención",
"attachment-retention-days": "Delete attachments after (days)",
"attachment-retention-days-help": "Like Delete on the card: the card history can restore them. Empty or 0: never.",
"attachment-retention-mode": "Count the days from",
"attachment-retention-purge": "Remove deleted attachments for good after (days)",
"attachment-retention-purge-help": "After this they can no longer be restored. Empty or 0: never.",
"attachment-retention-dry-run": "Dry run: only count, in the server log, change nothing",
"attachment-retention-max-per-run": "At most this many attachments per night",
"attachment-retention-days": "Borrar os adchuntos dimpués de (días)",
"attachment-retention-days-help": "Como Borrar en a tarcheta: l'historial d'a tarcheta los puet restaurar. Vuedo u 0: nunca.",
"attachment-retention-mode": "Contar os días dende",
"attachment-retention-purge": "Eliminar pa cutio os adchuntos borraus dimpués de (días)",
"attachment-retention-purge-help": "Dimpués d'isto ya no se pueden restaurar. Vuedo u 0: nunca.",
"attachment-retention-dry-run": "Proba: nomás contar, en o rechistro d'o servidor, sin cambiar cosa",
"attachment-retention-max-per-run": "Como muito tantos adchuntos por nueit",
"attachment-transfer-limits-description": "Configura os límites máximos de tamaño de fichero ta subidas y descargas. El almacenamiento en búfer de as transferencias de la API tiene topes de seguridad independientes d'o lado d'o servidor.",
"attachment-transfer-limits-saved": "Limites de transferencia d’adchuntos alzaus.",
"attachment-transfer-limits-save-failed": "Error t'o alzar os límites de transferencia de adjuntos",
@@ -1401,51 +1401,51 @@
"error-notAuthorized": "No estás autorizado a veyer ista página.",
"webhook-title": "Nombre d'o Webhook",
"webhook-token": "Token (opcional ta la autenticación)",
"webhook-payload-heading": "Webhook data",
"webhook-payload-description": "What outgoing webhooks (Rocket.Chat, Slack, ...) send. Default keeps the inherited setting; with nothing set, webhooks send what they always have.",
"webhook-payload-text": "Send the message text",
"webhook-payload-fields": "Send these fields",
"webhook-payload-field-standard": "Standard fields (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "IDs",
"webhook-payload-field-names": "Names and titles",
"webhook-payload-field-links": "Links to the card and board",
"webhook-payload-field-actor": "Who did it",
"webhook-payload-field-people": "The member or assignee it is about",
"webhook-payload-field-details": "Details: comment, description, values and dates",
"webhook-hide-identity": "Leave my name out of outgoing webhooks",
"webhook-someone": "A member",
"webhook-payload-heading": "Datos d'o webhook",
"webhook-payload-description": "Que ninvian os webhooks salients (Rocket.Chat, Slack, ...). Por defecto se conserva a configuración heredada; si no i hai cosa configurada, os webhooks ninvian o que siempre han ninviau.",
"webhook-payload-text": "Ninviar o texto d'o mensache",
"webhook-payload-fields": "Ninviar estes campos",
"webhook-payload-field-standard": "Campos estandar (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "Identificadors",
"webhook-payload-field-names": "Nombres y titols",
"webhook-payload-field-links": "Vinclos ta la tarcheta y o tablero",
"webhook-payload-field-actor": "Qui lo fació",
"webhook-payload-field-people": "O miembro u asignau a qui se refiere",
"webhook-payload-field-details": "Detalles: comentario, descripción, valors y calendatas",
"webhook-hide-identity": "No meter o mío nombre en os webhooks salients",
"webhook-someone": "Un miembro",
"notification-delivery-layout": "Diseño",
"notification-delivery-layout-classic": "One sentence (classic)",
"notification-delivery-layout-clear": "Clearly arranged: board, who, card in bold",
"notification-delivery-parts": "Show",
"notification-delivery-part-board": "Board name and link",
"notification-delivery-part-actor": "Who did it",
"notification-delivery-part-card": "Card title and link",
"notification-delivery-layout-classic": "Una frase (clasico)",
"notification-delivery-layout-clear": "Ordenau con claridat: tablero, qui, tarcheta en negreta",
"notification-delivery-parts": "Amostrar",
"notification-delivery-part-board": "Nombre y vinclo d'o tablero",
"notification-delivery-part-actor": "Qui lo fació",
"notification-delivery-part-card": "Titol y vinclo d'a tarcheta",
"notification-delivery-part-list": "Lista",
"notification-delivery-part-swimlane": "Carril",
"notification-delivery-part-details": "Comment or changed value",
"notification-delivery-part-dates": "Dates",
"notification-delivery-part-link": "Link on its own line",
"notification-delivery-grouping": "Grouping",
"notification-delivery-grouping-all": "Everything due in one message",
"notification-delivery-grouping-board": "One per board",
"notification-delivery-grouping-card": "One per card",
"notification-delivery-grouping-none": "Each on its own",
"notification-delivery-schedule": "When to send",
"notification-delivery-schedule-immediate": "Immediately",
"notification-delivery-schedule-interval": "Every few minutes or hours",
"notification-delivery-schedule-daily": "Once a day",
"notification-delivery-interval": "Every",
"notification-delivery-minutes": "__count__ minutes",
"notification-delivery-part-details": "Comentario u valor cambiada",
"notification-delivery-part-dates": "Calendatas",
"notification-delivery-part-link": "Vinclo en a suya propia linia",
"notification-delivery-grouping": "Agrupación",
"notification-delivery-grouping-all": "Tot o pendient en un solo mensache",
"notification-delivery-grouping-board": "Un por tablero",
"notification-delivery-grouping-card": "Un por tarcheta",
"notification-delivery-grouping-none": "Cadaguno por separau",
"notification-delivery-schedule": "Quan ninviar",
"notification-delivery-schedule-immediate": "Immediatament",
"notification-delivery-schedule-interval": "Cada quantos minutos u horas",
"notification-delivery-schedule-daily": "Una vegada a o día",
"notification-delivery-interval": "Cada",
"notification-delivery-minutes": "__count__ minutos",
"notification-delivery-daily-time": "Hora",
"notification-delivery-quiet": "Quiet hours (wait until they end)",
"notification-delivery-quiet": "Horas de silencio (aguardar dica que rematen)",
"notification-delivery-quiet-from": "Dende",
"notification-delivery-quiet-to": "Dica",
"notification-delivery-quiet-clear": "No quiet hours",
"notification-delivery-timezone": "Time zone:",
"notification-delivery-invalid": "The setting could not be saved.",
"notification-group-card": "__count__ notifications on card __card__",
"notification-group-board": "__count__ notifications on board __board__",
"notification-delivery-quiet-clear": "Sin horas de silencio",
"notification-delivery-timezone": "Zona horaria:",
"notification-delivery-invalid": "No s'ha puesto alzar a configuración.",
"notification-group-card": "__count__ notificacions en a tarcheta __card__",
"notification-group-board": "__count__ notificacions en o tablero __board__",
"outgoing-webhooks": "Webhooks salientes",
"bidirectional-webhooks": "Webhooks de doble sentiu",
"outgoingWebhooksPopup-title": "Webhooks salientes",
@@ -1500,7 +1500,7 @@
"showLabel-field-on-card": "Amostrar a etiqueta d’o campo en a minitarcheta",
"showSum-field-on-list": "Mostrar la suma de os campos en la parte superior de la lista",
"admin-only-field": "Visible nomás ta ra almins d'o tablero",
"read-only-field": "Read-only: every member sees the value, only board admins change it",
"read-only-field": "Nomás de lectura: totz os miembros veyen a valor, nomás os administradors d'o tablero la cambian",
"yes": "Sí",
"no": "No",
"accounts": "Cuentas",
@@ -1692,11 +1692,11 @@
"r-format-auto": "Detección automática",
"r-import-workflow-note": "Importa un flujo de trabajo visual exportado dende n8n o Node-RED. Os nodos de disparador/acción reconocidos se mapean a reglas de WeKan; os nodos no mapeados se informan.",
"r-import-unmapped": "No s’ha puesto establir a correspondencia de __count__ linia(s)",
"r-wrike-workflow": "Wrike workflow",
"r-wrike-workflow-note": "A Wrike workflow is a list of statuses, each in the Active, Completed, Deferred or Cancelled group. Export writes this board's lists as one, named after the board, in the JSON Wrike's API returns for workflows: create that workflow in Wrike before importing the board's Wrike Excel export, so its statuses are applied. Import reads that JSON pasted above, from WeKan or from Wrike's GET /workflows, into the chosen board: a status without a list becomes a list, and a rule marks a card complete when it is moved into a Completed or Cancelled status and incomplete in an Active or Deferred one. Wrike's own automation rules cannot be exported from Wrike.",
"r-export-wrike-workflow": "Export Wrike workflow",
"r-import-wrike-workflow": "Import Wrike workflow",
"r-import-wrike-workflow-done": "Wrike workflow \"__name__\": __lists__ list(s) and __rules__ rule(s) added, __skipped__ part(s) not read",
"r-wrike-workflow": "Fluxo de treballo de Wrike",
"r-wrike-workflow-note": "Un fluxo de treballo de Wrike ye una lista d'estaus, cadaguno en o grupo Active, Completed, Deferred u Cancelled. A exportación escribe as listas d'este tablero como un solo fluxo, con o nombre d'o tablero, en o JSON que torna a API de Wrike pa os fluxos de treballo: creya ixe fluxo en Wrike antes d'importar a exportación Excel de Wrike d'o tablero, ta que s'apliquen os suyos estaus. A importación leye ixe JSON apegau alto, de WeKan u d'o GET /workflows de Wrike, en o tablero eslechiu: un estau sin lista se torna una lista, y una regla marca una tarcheta como completada quan se mueve ta un estau Completed u Cancelled y como no completada en un estau Active u Deferred. As reglas d'automatización propias de Wrike no se pueden exportar dende Wrike.",
"r-export-wrike-workflow": "Exportar o fluxo de treballo de Wrike",
"r-import-wrike-workflow": "Importar o fluxo de treballo de Wrike",
"r-import-wrike-workflow-done": "Fluxo de treballo de Wrike \"__name__\": __lists__ lista(s) y __rules__ regla(s) adhibidas, __skipped__ parte(s) no leyidas",
"r-set-scheduled-triggers": "Disparadores programados",
"r-set-button-triggers": "Botones",
"r-when-scheduled": "Según un horario",
@@ -1752,8 +1752,8 @@
"set-filter": "Filtrar",
"r-moved-to": "Movido a",
"r-moved-from": "Movido dende",
"r-moved-forward": "moved forward to a later list",
"r-moved-back": "moved back to an earlier list",
"r-moved-forward": "moviu enta debant ta una lista posterior",
"r-moved-back": "moviu enta zaga ta una lista anterior",
"r-archived": "Se archivó",
"r-unarchived": "Restaurado d'o fichero",
"r-commented": "se comentó",
@@ -1801,8 +1801,8 @@
"r-add-actinguser-member": "Adibir l'usuario que ha activau ista regla como miembro",
"r-remove-all": "Borrar totz os miembros de la tarcheta",
"r-assignee": "Asignar",
"r-add-actinguser-assignee": "Add the user who triggered this rule as an assignee",
"r-remove-all-assignees": "Remove all assignees from the card",
"r-add-actinguser-assignee": "Adhibir l'usuario que activó esta regla como asignau",
"r-remove-all-assignees": "Sacar totz os asignaus d'a tarcheta",
"r-remove-all-labels": "Borrar totz os etiquetas de la tarcheta",
"r-set-color": "Cambiar el color a",
"r-checklist": "lista de verificación",
@@ -1876,10 +1876,10 @@
"ldap-test-connection": "Prebar a connexión LDAP",
"ldap-test-connection-success": "Connexión con exito",
"ldap-test-connection-error": "Ha fallau a connexión: %s",
"ldap-sync-now": "Sync LDAP users now",
"ldap-sync-now-done": "LDAP sync finished",
"ldap-sync-now-error": "LDAP sync failed: %s",
"ldap-sync-now-nothing": "Nothing to sync: turn on LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS or LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED first.",
"ldap-sync-now": "Sincronizar agora os usuarios LDAP",
"ldap-sync-now-done": "Sincronización LDAP rematada",
"ldap-sync-now-error": "A sincronización LDAP ha fallau: %s",
"ldap-sync-now-nothing": "No i hai cosa que sincronizar: activa primero LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS u LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED.",
"oauth-providers-title": "Furnidors d’inicio de sesión OAuth",
"oauth-providers-hint": "Cada furnidor se puede activar aquí u con a suya variable d’entorno OAUTH_*_ENABLED; una valor definida aquí anula a variable d’entorno. O secreto se alza en o servidor y nunca no s’amuestra.",
"oauth-provider-google": "Google",
@@ -1894,7 +1894,7 @@
"oauth-provider-secret-set": "Bi ha un secreto definiu",
"oauth-providers-login-style": "Estilo d’inicio de sesión",
"oauth-providers-merge-existing-users": "Fusionar con una cuenta existent que tienga o mesmo correu electronico",
"oauth-providers-allowed-email-domains": "Only these email domains may sign in with these providers (comma separated; empty allows all)",
"oauth-providers-allowed-email-domains": "Nomás estes dominios de correu pueden dentrar con estes proveyedors (separaus por comas; vuedo permite totz)",
"oauth-account-conflict": "Ya existe una cuenta con iste correu electronico y no se creyó con iste metodo d’inicio de sesión",
"sign-in-with": "Iniciar sesión con %s",
"login-origin-mismatch": "No se puede completar l’inicio de sesión por meyo d’unatro servicio en esta adreza. WeKan ye configurau ta __expected__, pero esta pachina s’ha ubierto en __actual__. Ubre WeKan en __expected__, u pide a l’administrador que configure ROOT_URL como __actual__.",
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración d’almagazenamiento alzada",
"cloud-settings-save-failed": "Error t'o alzar la configuración de almacenamiento",
"cloud": "Boira",
"cloud-settings-desc": "Con WeKan en Weddy, o Cloud Panel sirve muitos dominios de WeKan dende un solo servidor, cadaguno con as suyas datos. En o dominio d'o Cloud Panel, o SuperAdmin chestiona os dominios y CloudFlare.",
"cloud-panel-domain": "Dominio d'o Cloud Panel",
"cloud-superadmin-username": "Nombre d'usuario d'o SuperAdmin",
"cloud-saved": "Alzau.",
"cloud-panel-not-allowed": "O Cloud Panel ye nomás pa o SuperAdmin, en o dominio d'o Cloud Panel.",
"cloud-customer-name": "Nombre d'o client",
"cloud-customer-email": "Adreza de correu d'o client",
"cloud-billing-email": "Adreza de correu de facturación",
"cloud-start-date": "Calendata d'inicio",
"cloud-end-date": "Calendata de fin",
"cloudflare-api-key": "Clau API de CloudFlare",
"cloudflare-api-key-desc": "Con una clau API de CloudFlare, un dominio que tienga la suya zona en a tuya cuenta de CloudFlare obtién un rechistro DNS con proxy y un certificau CloudFlare Origin. Os atros dominios obtienen un certificau Let's Encrypt. A clau se alza en o servidor y no se amuestra nunca mas.",
"cloudflare-api-key-set": "S'ha alzau una clau API de CloudFlare.",
"cloudflare-api-key-not-set": "No s'ha alzau garra clau API de CloudFlare: cada dominio obtién un certificau Let's Encrypt.",
"move-storage-azure": "Blob d'Azure",
"move-storage-gcs": "Almagazenamiento de Google Cloud",
"attachment-move-storage-azure": "Mover l’adchunto a Azure Blob Storage",
@@ -3276,7 +3291,7 @@
"import-report-open-board": "Ubrir o tablero",
"import-parts-instruction": "Solo se importan as partes marcadas. La misma selección se usa t'o exportar.",
"import-wekan-file": "Importar dende un fichero de exportación .json o .zip:",
"import-file-label": "Choose the export file, or paste its text below:",
"import-file-label": "Tría o fichero d'exportación, u apega o suyo texto debaixo:",
"sum-of-number-fields": "Suma d'os campos numericos personalizatos que amuestran a la parte alta d'a lista",
"date-range-of-fields": "Rango de calendata d'os campos personalizaus de calendata marcaus ta amostrar en a parte alta d'a lista",
"more-options": "Mas opcions",
@@ -3303,9 +3318,9 @@
"wip-limit-group-select-swimlane": "Triar un carril",
"wip-limit-group-apply-swimlane": "Aplicar Carril",
"subtask-inherit-parent-labels": "Heredar as etiquetas d'a tarcheta pai",
"subtask-mark-done": "Mark subtask as done",
"subtask-mark-not-done": "Mark subtask as not done",
"subtask-done-no-permission": "You cannot change whether this subtask is done",
"subtask-mark-done": "Marcar a subtarea como feita",
"subtask-mark-not-done": "Marcar a subtarea como no feita",
"subtask-done-no-permission": "No puetz cambiar si esta subtarea ye feita",
"chart-forecast-none-remaining": "No queda cosa ta prochectar - toda tarcheta ye feita.",
"chart-forecast-no-velocity": "__remaining__ tarchetas encara ubiertas; no i ha finalizacions recients ta prochectar una calendata.",
"chart-forecast-projected": "A lo ritmo recient de __average__ tarchetas/semana, as __remaining__ tarchetas encara ubiertas habrían d'estar feitas enta __date__.",
@@ -4380,52 +4395,52 @@
"rule-email-legacy-attempt-exists": "Iste correu ya s'ha ninviau, intentau ninviar u descartau.",
"rule-email-legacy-not-legacy": "Iste correu ya s'ha tornau a vincular.",
"rule-email-legacy-failed": "No s'ha puesto completar ista acción. Esviella y torna a intentar-lo.",
"stuck-sync-operation-heading": "List Sync operations that cannot be replayed",
"stuck-sync-operation-description": "Each of these saved List Sync operations stopped part way and can no longer be finished, because its list was removed, recreated or reconfigured, or the user who started it lost write access. While one is pending, that list cannot Sync. Discard it to let the list Sync again: changes already applied stay, the remaining saved changes are never written, and the next Sync compares the list with its source again.",
"stuck-sync-operation-list": "Board / list",
"stuck-sync-operation-heading": "Operacions de sincronización de lista que no se pueden tornar a executar",
"stuck-sync-operation-description": "Cadaguna d'estas operacions alzadas de sincronización de lista s'aturó a metat y ya no se puet rematar, porque a suya lista s'eliminó, se tornó a creyar u se reconfiguró, u l'usuario que la empecipió perdió l'acceso d'escritura. Mientres una ye pendient, ixa lista no se puet sincronizar. Descarta-la pa que a lista se pueda sincronizar de nuevo: os cambios ya aplicaus se conservan, os cambios alzaus que quedan nunca s'escriben, y a siguient sincronización compara de nuevo a lista con o suyo orichen.",
"stuck-sync-operation-list": "Tablero / lista",
"stuck-sync-operation-progress": "Progreso",
"stuck-sync-operation-reason": "Motivo",
"stuck-sync-operation-applied": "__applied__ of __total__ changes applied",
"stuck-sync-operation-reason-scope-changed": "The list was removed, recreated or its Sync settings changed",
"stuck-sync-operation-reason-access-denied": "The user who started it no longer has write access to the whole list",
"stuck-sync-operation-reason-trigger-unknown": "Saved by an earlier WeKan version without what started it",
"stuck-sync-operation-reason-intent-missing": "The record of who started it is missing",
"stuck-sync-operation-reason-unknown": "Could not be checked now",
"stuck-sync-operation-replayable-now": "It can be replayed again now and will finish by itself, so it cannot be discarded.",
"stuck-sync-operation-applied": "__applied__ de __total__ cambios aplicaus",
"stuck-sync-operation-reason-scope-changed": "A lista s'eliminó, se tornó a creyar u cambioron os suyos achustes de sincronización",
"stuck-sync-operation-reason-access-denied": "L'usuario que la empecipió ya no tiene acceso d'escritura a toda a lista",
"stuck-sync-operation-reason-trigger-unknown": "Alzada por una versión anterior de WeKan sin o que la empecipió",
"stuck-sync-operation-reason-intent-missing": "Falta o rechistro de qui la empecipió",
"stuck-sync-operation-reason-unknown": "No s'ha puesto comprebar agora",
"stuck-sync-operation-replayable-now": "Agora se puet tornar a executar y rematará ella sola, asinas que no se puet descartar.",
"stuck-sync-operation-discard": "Descartarla",
"stuck-sync-operation-discard-confirm": "Discard this saved List Sync operation? Changes it already applied stay; the rest are never written. The list can then Sync again.",
"stuck-sync-operation-discard-confirm": "Descartar esta operación alzada de sincronización de lista? Os cambios que ya aplicó se conservan; a resta nunca s'escribe. Dimpués a lista se puet sincronizar de nuevo.",
"stuck-sync-operation-refresh": "Actualizar",
"stuck-sync-operation-empty": "No List Sync operations are waiting for review.",
"stuck-sync-operation-truncated": "Only the oldest 50 are shown. Discard some and refresh to see more.",
"stuck-sync-operation-unavailable": "Could not load the List Sync operations. Refresh to try again.",
"stuck-sync-operation-missing": "This operation is no longer pending.",
"stuck-sync-operation-not-stuck": "This operation has not been found stuck, so it cannot be discarded.",
"stuck-sync-operation-replayable": "This operation can be replayed again now and will finish by itself, so it was not discarded.",
"stuck-sync-operation-busy": "This list is syncing right now. Try again in a moment.",
"stuck-sync-operation-empty": "No i hai operacions de sincronización de lista aguardando revisión.",
"stuck-sync-operation-truncated": "Nomás s'amuestran as 50 mas antigas. Descarta-ne bellas y refresca pa veyer-ne mas.",
"stuck-sync-operation-unavailable": "No s'han puesto cargar as operacions de sincronización de lista. Refresca pa tornar-lo a intentar.",
"stuck-sync-operation-missing": "Esta operación ya no ye pendient.",
"stuck-sync-operation-not-stuck": "Esta operación no s'ha trobau bloqueyada, asinas que no se puet descartar.",
"stuck-sync-operation-replayable": "Esta operación se puet tornar a executar agora y rematará ella sola, asinas que no s'ha descartau.",
"stuck-sync-operation-busy": "Esta lista se ye sincronizando agora mesmo. Torna-lo a intentar en un momento.",
"stuck-sync-operation-failed": "No s'ha puesto completar ista acción. Esviella y torna a intentar-lo.",
"interrupted-import-heading": "Board imports that stopped before finishing",
"interrupted-import-description": "Each of these board imports stopped part way - the server restarted, or the import failed - and left a partial board. An import cannot be continued, because its source file is not kept. Keep the board as it is, or discard it and import the file again. Discarding removes the board this import created and everything on it, including anything added to it since.",
"interrupted-import-heading": "Importacions de tableros que s'aturoron antes de rematar",
"interrupted-import-description": "Cadaguna d'estas importacions de tableros s'aturó a metat - o servidor se reinició, u a importación falló - y deixó un tablero parcial. Una importación no se puet continar, porque o suyo fichero d'orichen no se conserva. Conserva o tablero como ye, u descarta-lo y importa de nuevo o fichero. Descartar elimina o tablero que creyó esta importación y tot o que i hai, incluyiu tot o que s'i haiga adhibiu dende alavez.",
"interrupted-import-board": "Tablero",
"interrupted-import-progress": "Where it stopped",
"interrupted-import-created": "Created so far",
"interrupted-import-source": "Imported from __source__",
"interrupted-import-state-stopped": "Stopped without finishing, at __stage__",
"interrupted-import-state-failed": "Failed with __error__, at __stage__",
"interrupted-import-state-discarding": "Being discarded; discard again to finish",
"interrupted-import-progress": "An que s'aturó",
"interrupted-import-created": "Creyau dica agora",
"interrupted-import-source": "Importau dende __source__",
"interrupted-import-state-stopped": "Aturau sin rematar, en __stage__",
"interrupted-import-state-failed": "Fallau con __error__, en __stage__",
"interrupted-import-state-discarding": "Descartando-se; descarta de nuevo pa rematar",
"interrupted-import-scrum": "A suya fase Scrum tiene o suyo punto de control (__state__, paso __next__ de __total__). Si conservas o tablero, remata u descarta esta fase dende a recuperación d'importación Scrum d'o tablero.",
"interrupted-import-counts": "__swimlanes__ swimlanes, __lists__ lists, __cards__ cards, __checklists__ checklists, __comments__ comments, __attachments__ attachments",
"interrupted-import-no-board": "No board was created",
"interrupted-import-keep": "Keep",
"interrupted-import-counts": "__swimlanes__ carrils, __lists__ listas, __cards__ tarchetas, __checklists__ listas de comprebación, __comments__ comentarios, __attachments__ adchuntos",
"interrupted-import-no-board": "No s'ha creyau garra tablero",
"interrupted-import-keep": "Conservar",
"interrupted-import-discard": "Descartarla",
"interrupted-import-keep-confirm": "Keep this partial board as it is? Nothing is removed, and the import is no longer listed here.",
"interrupted-import-discard-confirm": "Discard this import? The board it created and everything on it are removed permanently.",
"interrupted-import-keep-confirm": "Conservar este tablero parcial como ye? No s'elimina cosa, y a importación ya no s'amostrará aquí.",
"interrupted-import-discard-confirm": "Descartar esta importación? O tablero que creyó y tot o que i hai s'eliminan pa cutio.",
"interrupted-import-refresh": "Actualizar",
"interrupted-import-empty": "No interrupted board imports are waiting for review.",
"interrupted-import-truncated": "Only the oldest 50 are shown. Keep or discard some and refresh to see more.",
"interrupted-import-unavailable": "Could not load the interrupted board imports. Refresh to try again.",
"interrupted-import-missing": "This import is no longer recorded.",
"interrupted-import-not-interrupted": "This import is not waiting for a decision any more.",
"interrupted-import-foreign-board": "The board with this id was not created by this import, so it was not touched.",
"interrupted-import-empty": "No i hai importacions de tableros interrumpidas aguardando revisión.",
"interrupted-import-truncated": "Nomás s'amuestran as 50 mas antigas. Conserva u descarta bellas y refresca pa veyer-ne mas.",
"interrupted-import-unavailable": "No s'han puesto cargar as importacions de tableros interrumpidas. Refresca pa tornar-lo a intentar.",
"interrupted-import-missing": "Esta importación ya no ye rechistrada.",
"interrupted-import-not-interrupted": "Esta importación ya no aguarda garra decisión.",
"interrupted-import-foreign-board": "O tablero con este id no lo creyó esta importación, asinas que no s'ha tocau.",
"interrupted-import-scrum-busy": "A suya fase Scrum encara s'está escribindo u recuperando. Torna a intentar-lo en uns pocos minutos.",
"interrupted-import-failed": "No s'ha puesto completar ista acción. Esviella y torna a intentar-lo.",
"saml-login-not-started": "Iste inicio de sesión SAML no s'ha empecipiau en ista pestanya d'o navegador. Torna a encetar sesión.",
@@ -4446,7 +4461,7 @@
"header-login": "Inicio de sesión por cabeceras HTTP",
"login-setting-clear-secret": "Eliminar a valor alzada en o panel d’administrador",
"login-setting-after-restart": "Tiene efecto dimpués de reiniciar WeKan",
"login-setting-env-only": "Only the server environment sets these. They are shown here read-only.",
"login-setting-env-only": "Nomás l'entorno d'o servidor configura isto. S'amuestra aquí nomás de lectura.",
"email-to-card": "Correu electronico a tarcheta",
"email-to-card-description": "Un correu electronico ninviau a l'adreza d'o tuyo tablero se fa una tarcheta en ixe tablero.",
"email-to-card-admin-enabled": "Recibir correus electronicos en tarchetas",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "فشل الاتصال",
"cloud-settings-saved": "تم حفظ إعدادات التخزين",
"cloud-settings-save-failed": "فشل حفظ إعدادات التخزين",
"cloud": "السحابة",
"cloud-settings-desc": "مع WeKan في Weddy، تخدم Cloud Panel العديد من نطاقات WeKan من خادم واحد، ولكل منها بياناته الخاصة. في نطاق Cloud Panel، يدير SuperAdmin النطاقات وCloudFlare.",
"cloud-panel-domain": "نطاق Cloud Panel",
"cloud-superadmin-username": "اسم مستخدم SuperAdmin",
"cloud-saved": "تم الحفظ.",
"cloud-panel-not-allowed": "Cloud Panel مخصصة لـ SuperAdmin فقط، على نطاق Cloud Panel.",
"cloud-customer-name": "اسم العميل",
"cloud-customer-email": "عنوان البريد الإلكتروني للعميل",
"cloud-billing-email": "عنوان البريد الإلكتروني للفوترة",
"cloud-start-date": "تاريخ البدء",
"cloud-end-date": "تاريخ الانتهاء",
"cloudflare-api-key": "مفتاح CloudFlare API",
"cloudflare-api-key-desc": "باستخدام مفتاح CloudFlare API، يحصل النطاق الذي توجد منطقته في حساب CloudFlare الخاص بك على سجل DNS عبر الوكيل وشهادة CloudFlare Origin. تحصل النطاقات الأخرى على شهادة Let's Encrypt. يُحفظ المفتاح على الخادم ولا يُعرض مرة أخرى أبدًا.",
"cloudflare-api-key-set": "تم حفظ مفتاح CloudFlare API.",
"cloudflare-api-key-not-set": "لم يتم حفظ أي مفتاح CloudFlare API: يحصل كل نطاق على شهادة Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "نقل المرفق إلى Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "فشل الاتصال",
"cloud-settings-saved": "تم حفظ إعدادات التخزين",
"cloud-settings-save-failed": "فشل حفظ إعدادات التخزين",
"cloud": "السحابة",
"cloud-settings-desc": "مع WeKan في Weddy، تخدم Cloud Panel العديد من نطاقات WeKan من خادم واحد، ولكل منها بياناته الخاصة. في نطاق Cloud Panel، يدير SuperAdmin النطاقات وCloudFlare.",
"cloud-panel-domain": "نطاق Cloud Panel",
"cloud-superadmin-username": "اسم مستخدم SuperAdmin",
"cloud-saved": "تم الحفظ.",
"cloud-panel-not-allowed": "Cloud Panel مخصصة لـ SuperAdmin فقط، على نطاق Cloud Panel.",
"cloud-customer-name": "اسم العميل",
"cloud-customer-email": "عنوان البريد الإلكتروني للعميل",
"cloud-billing-email": "عنوان البريد الإلكتروني للفوترة",
"cloud-start-date": "تاريخ البدء",
"cloud-end-date": "تاريخ الانتهاء",
"cloudflare-api-key": "مفتاح CloudFlare API",
"cloudflare-api-key-desc": "باستخدام مفتاح CloudFlare API، يحصل النطاق الذي توجد منطقته في حساب CloudFlare الخاص بك على سجل DNS عبر الوكيل وشهادة CloudFlare Origin. تحصل النطاقات الأخرى على شهادة Let's Encrypt. يُحفظ المفتاح على الخادم ولا يُعرض مرة أخرى أبدًا.",
"cloudflare-api-key-set": "تم حفظ مفتاح CloudFlare API.",
"cloudflare-api-key-not-set": "لم يتم حفظ أي مفتاح CloudFlare API: يحصل كل نطاق على شهادة Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "نقل المرفق إلى Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "فشل الاتصال",
"cloud-settings-saved": "تم حفظ إعدادات التخزين",
"cloud-settings-save-failed": "فشل حفظ إعدادات التخزين",
"cloud": "السحابة",
"cloud-settings-desc": "مع WeKan في Weddy، تخدم Cloud Panel العديد من نطاقات WeKan من خادم واحد، ولكل منها بياناته الخاصة. في نطاق Cloud Panel، يدير SuperAdmin النطاقات وCloudFlare.",
"cloud-panel-domain": "نطاق Cloud Panel",
"cloud-superadmin-username": "اسم مستخدم SuperAdmin",
"cloud-saved": "تم الحفظ.",
"cloud-panel-not-allowed": "Cloud Panel مخصصة لـ SuperAdmin فقط، على نطاق Cloud Panel.",
"cloud-customer-name": "اسم العميل",
"cloud-customer-email": "عنوان البريد الإلكتروني للعميل",
"cloud-billing-email": "عنوان البريد الإلكتروني للفوترة",
"cloud-start-date": "تاريخ البدء",
"cloud-end-date": "تاريخ الانتهاء",
"cloudflare-api-key": "مفتاح CloudFlare API",
"cloudflare-api-key-desc": "باستخدام مفتاح CloudFlare API، يحصل النطاق الذي توجد منطقته في حساب CloudFlare الخاص بك على سجل DNS عبر الوكيل وشهادة CloudFlare Origin. تحصل النطاقات الأخرى على شهادة Let's Encrypt. يُحفظ المفتاح على الخادم ولا يُعرض مرة أخرى أبدًا.",
"cloudflare-api-key-set": "تم حفظ مفتاح CloudFlare API.",
"cloudflare-api-key-not-set": "لم يتم حفظ أي مفتاح CloudFlare API: يحصل كل نطاق على شهادة Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "نقل المرفق إلى Azure Blob Storage",
File diff suppressed because it is too large. Load diff
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "সংযোগ বিফল",
"cloud-settings-saved": "সংৰক্ষণৰ ছেটিংছ সংৰক্ষণ কৰা হ'ল",
"cloud-settings-save-failed": "সংৰক্ষণৰ ছেটিংছ সংৰক্ষণ কৰিব পৰা নগ'ল",
"cloud": "ডাৱৰ",
"cloud-settings-desc": "Weddyত WeKanৰ সৈতে, Cloud Panel এ এটা ছাৰ্ভাৰৰ পৰা বহুতো WeKan ড'মেইন সেৱা আগবঢ়ায়, প্ৰতিটোৰে নিজা ডাটা থাকে। Cloud Panel ড'মেইনত SuperAdmin এ ড'মেইনসমূহ আৰু CloudFlare পৰিচালনা কৰে।",
"cloud-panel-domain": "Cloud Panel ড'মেইন",
"cloud-superadmin-username": "SuperAdminৰ ব্যৱহাৰকাৰীৰ নাম",
"cloud-saved": "সংৰক্ষণ কৰা হ'ল।",
"cloud-panel-not-allowed": "Cloud Panel কেৱল SuperAdminৰ বাবে, Cloud Panel ড'মেইনত।",
"cloud-customer-name": "গ্ৰাহকৰ নাম",
"cloud-customer-email": "গ্ৰাহকৰ ইমেইল ঠিকনা",
"cloud-billing-email": "বিলিং ইমেইল ঠিকনা",
"cloud-start-date": "আৰম্ভণিৰ তাৰিখ",
"cloud-end-date": "শেষৰ তাৰিখ",
"cloudflare-api-key": "CloudFlare API চাবি",
"cloudflare-api-key-desc": "CloudFlare API চাবিৰ সৈতে, যি ড'মেইনৰ জ'ন আপোনাৰ CloudFlare একাউণ্টত আছে, সেইটোৱে প্ৰক্সি কৰা DNS ৰেকৰ্ড আৰু CloudFlare Origin প্ৰমাণপত্ৰ পায়। অন্য ড'মেইনে Let's Encrypt প্ৰমাণপত্ৰ পায়। চাবিটো ছাৰ্ভাৰত সংৰক্ষণ কৰা হয় আৰু আৰু কেতিয়াও দেখুওৱা নহয়।",
"cloudflare-api-key-set": "এটা CloudFlare API চাবি সংৰক্ষণ কৰা হৈছে।",
"cloudflare-api-key-not-set": "কোনো CloudFlare API চাবি সংৰক্ষণ কৰা হোৱা নাই: প্ৰতিটো ড'মেইনে Let's Encrypt প্ৰমাণপত্ৰ পায়।",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "সংলগ্নক Azure Blob Storage-লৈ স্থানান্তৰ কৰক",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Falló la conexón",
"cloud-settings-saved": "Guardáronse les preferencies d'almacenamientu",
"cloud-settings-save-failed": "Nun se pudieron guardar les preferencies d'almacenamientu",
"cloud": "Ñube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve munchos dominios de WeKan dende un únicu sirvidor, cada ún colos sos datos. Nel dominiu del Cloud Panel, el SuperAdmin xestiona los dominios y CloudFlare.",
"cloud-panel-domain": "Dominiu del Cloud Panel",
"cloud-superadmin-username": "Nome d'usuariu del SuperAdmin",
"cloud-saved": "Guardóse.",
"cloud-panel-not-allowed": "El Cloud Panel ye namái pal SuperAdmin, nel dominiu del Cloud Panel.",
"cloud-customer-name": "Nome del veceru",
"cloud-customer-email": "Direición de corréu del veceru",
"cloud-billing-email": "Direición de corréu de facturación",
"cloud-start-date": "Data d'aniciu",
"cloud-end-date": "Data de fin",
"cloudflare-api-key": "Clave API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave API de CloudFlare, un dominiu que tenga la so zona na to cuenta de CloudFlare consigue un rexistru DNS con proxy y un certificáu CloudFlare Origin. Los otros dominios consiguen un certificáu Let's Encrypt. La clave guárdase nel sirvidor y enxamás nun se vuelve amosar.",
"cloudflare-api-key-set": "Guardóse una clave API de CloudFlare.",
"cloudflare-api-key-not-set": "Nun se guardó nenguna clave API de CloudFlare: cada dominiu consigue un certificáu Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover l'adjuntu a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection jani phuqhata",
"cloud-settings-saved": "Storage wakichäwinaka saved",
"cloud-settings-save-failed": "jani phuqhata ukaru imaña storage wakichäwinaka",
"cloud": "Qinaya",
"cloud-settings-desc": "WeKan Weddy ukan utjipanxa, Cloud Panel ukax walja WeKan dominionak mä servidorat luqtaraki, sapakis pachpa datonakanïtap. Cloud Panel Dominio ukanxa, SuperAdmin ukaw dominionak CloudFlare ukamp apnaqaraki.",
"cloud-panel-domain": "Cloud Panel Dominio",
"cloud-superadmin-username": "SuperAdmin apnaqirin sutipa",
"cloud-saved": "Imatäxiwa.",
"cloud-panel-not-allowed": "Cloud Panel ukax SuperAdmin ukatakikiw, Cloud Panel Dominio ukana.",
"cloud-customer-name": "Alakipirin sutipa",
"cloud-customer-email": "Alakipirin email chiqapa",
"cloud-billing-email": "Payllañ email chiqa",
"cloud-start-date": "Qallta uru",
"cloud-end-date": "Tukuya uru",
"cloudflare-api-key": "CloudFlare API llawi",
"cloudflare-api-key-desc": "CloudFlare API llawimpixa, CloudFlare cuentaman zonap utjki uka dominiox proxy DNS qillqatampi CloudFlare Origin certificadompi katuqi. Yaqha dominionakax Let's Encrypt certificado katuqapxi. Llawix servidoran imatawa, janiw mayamp uñachayatäkiti.",
"cloudflare-api-key-set": "CloudFlare API llawiw imataxi.",
"cloudflare-api-key-not-set": "Janiw kuna CloudFlare API llawis imatäkiti: sapa dominiox Let's Encrypt certificado katuqi.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "unxtayaña apkatata ukaru Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Bağlantı uğursuz oldu",
"cloud-settings-saved": "Saxlama parametrləri saxlanıldı",
"cloud-settings-save-failed": "Saxlama parametrləri saxlanıla bilmədi",
"cloud": "Bulud",
"cloud-settings-desc": "Weddy-də WeKan ilə Cloud Panel bir serverdən çoxlu WeKan domenlərinə xidmət edir, hər birinin öz məlumatları var. Cloud Panel domenində SuperAdmin domenləri və CloudFlare-i idarə edir.",
"cloud-panel-domain": "Cloud Panel domeni",
"cloud-superadmin-username": "SuperAdmin istifadəçi adı",
"cloud-saved": "Saxlanıldı.",
"cloud-panel-not-allowed": "Cloud Panel yalnız SuperAdmin üçündür, Cloud Panel domenində.",
"cloud-customer-name": "Müştərinin adı",
"cloud-customer-email": "Müştərinin e-poçt ünvanı",
"cloud-billing-email": "Hesab-faktura e-poçt ünvanı",
"cloud-start-date": "Başlama tarixi",
"cloud-end-date": "Bitmə tarixi",
"cloudflare-api-key": "CloudFlare API açarı",
"cloudflare-api-key-desc": "CloudFlare API açarı ilə zonası CloudFlare hesabınızda olan domen proksilənmiş DNS qeydi və CloudFlare Origin sertifikatı alır. Digər domenlər Let's Encrypt sertifikatı alır. Açar serverdə saxlanılır və bir daha göstərilmir.",
"cloudflare-api-key-set": "CloudFlare API açarı saxlanılıb.",
"cloudflare-api-key-not-set": "Heç bir CloudFlare API açarı saxlanılmayıb: hər domen Let's Encrypt sertifikatı alır.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Qoşmanı Azure Blob Storage-ə köçür",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Bağlantı uğursuz oldu",
"cloud-settings-saved": "Saxlama parametrləri saxlanıldı",
"cloud-settings-save-failed": "Saxlama parametrləri saxlanıla bilmədi",
"cloud": "Bulud",
"cloud-settings-desc": "Weddy-də WeKan ilə Cloud Panel bir serverdən çoxlu WeKan domenlərinə xidmət edir, hər birinin öz məlumatları var. Cloud Panel domenində SuperAdmin domenləri və CloudFlare-i idarə edir.",
"cloud-panel-domain": "Cloud Panel domeni",
"cloud-superadmin-username": "SuperAdmin istifadəçi adı",
"cloud-saved": "Saxlanıldı.",
"cloud-panel-not-allowed": "Cloud Panel yalnız SuperAdmin üçündür, Cloud Panel domenində.",
"cloud-customer-name": "Müştərinin adı",
"cloud-customer-email": "Müştərinin e-poçt ünvanı",
"cloud-billing-email": "Hesab-faktura e-poçt ünvanı",
"cloud-start-date": "Başlama tarixi",
"cloud-end-date": "Bitmə tarixi",
"cloudflare-api-key": "CloudFlare API açarı",
"cloudflare-api-key-desc": "CloudFlare API açarı ilə zonası CloudFlare hesabınızda olan domen proksilənmiş DNS qeydi və CloudFlare Origin sertifikatı alır. Digər domenlər Let's Encrypt sertifikatı alır. Açar serverdə saxlanılır və bir daha göstərilmir.",
"cloudflare-api-key-set": "CloudFlare API açarı saxlanılıb.",
"cloudflare-api-key-not-set": "Heç bir CloudFlare API açarı saxlanılmayıb: hər domen Let's Encrypt sertifikatı alır.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Qoşmanı Azure Blob Storage-ə köçür",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Bağlantı uğursuz oldu",
"cloud-settings-saved": "Saxlama parametrləri saxlanıldı",
"cloud-settings-save-failed": "Saxlama parametrləri saxlanıla bilmədi",
"cloud": "Bulud",
"cloud-settings-desc": "Weddy-də WeKan ilə Cloud Panel bir serverdən çoxlu WeKan domenlərinə xidmət edir, hər birinin öz məlumatları var. Cloud Panel domenində SuperAdmin domenləri və CloudFlare-i idarə edir.",
"cloud-panel-domain": "Cloud Panel domeni",
"cloud-superadmin-username": "SuperAdmin istifadəçi adı",
"cloud-saved": "Saxlanıldı.",
"cloud-panel-not-allowed": "Cloud Panel yalnız SuperAdmin üçündür, Cloud Panel domenində.",
"cloud-customer-name": "Müştərinin adı",
"cloud-customer-email": "Müştərinin e-poçt ünvanı",
"cloud-billing-email": "Hesab-faktura e-poçt ünvanı",
"cloud-start-date": "Başlama tarixi",
"cloud-end-date": "Bitmə tarixi",
"cloudflare-api-key": "CloudFlare API açarı",
"cloudflare-api-key-desc": "CloudFlare API açarı ilə zonası CloudFlare hesabınızda olan domen proksilənmiş DNS qeydi və CloudFlare Origin sertifikatı alır. Digər domenlər Let's Encrypt sertifikatı alır. Açar serverdə saxlanılır və bir daha göstərilmir.",
"cloudflare-api-key-set": "CloudFlare API açarı saxlanılıb.",
"cloudflare-api-key-not-set": "Heç bir CloudFlare API açarı saxlanılmayıb: hər domen Let's Encrypt sertifikatı alır.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Qoşmanı Azure Blob Storage-ə köçür",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Тоташыу уңышһыҙ",
"cloud-settings-saved": "Һаҡлау көйләүҙәре һаҡланды",
"cloud-settings-save-failed": "Һаҡлау көйләүҙәрен һаҡлап булманы",
"cloud": "Болот",
"cloud-settings-desc": "Weddy-ҙағы WeKan менән Cloud Panel бер серверҙан күп WeKan домендарына хеҙмәт күрһәтә, һәр береһенең үҙ мәғлүмәттәре бар. Cloud Panel доменында SuperAdmin домендарҙы һәм CloudFlare-ҙы идара итә.",
"cloud-panel-domain": "Cloud Panel домены",
"cloud-superadmin-username": "SuperAdmin ҡулланыусы исеме",
"cloud-saved": "Һаҡланды.",
"cloud-panel-not-allowed": "Cloud Panel тик SuperAdmin өсөн генә, Cloud Panel доменында.",
"cloud-customer-name": "Клиенттың исеме",
"cloud-customer-email": "Клиенттың электрон почта адресы",
"cloud-billing-email": "Иҫәп-фактура өсөн электрон почта адресы",
"cloud-start-date": "Башланыу көнө",
"cloud-end-date": "Тамамланыу көнө",
"cloudflare-api-key": "CloudFlare API асҡысы",
"cloudflare-api-key-desc": "CloudFlare API асҡысы менән зонаһы һеҙҙең CloudFlare иҫәп яҙмаһында булған домен прокси аша DNS яҙмаһын һәм CloudFlare Origin сертификатын ала. Башҡа домендар Let's Encrypt сертификатын ала. Асҡыс серверҙа һаҡлана һәм бүтән бер ҡасан да күрһәтелмәй.",
"cloudflare-api-key-set": "CloudFlare API асҡысы һаҡланған.",
"cloudflare-api-key-not-set": "Бер ниндәй ҙә CloudFlare API асҡысы һаҡланмаған: һәр домен Let's Encrypt сертификатын ала.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Ҡушымтаны Azure Blob Storage-ға күсерергә",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Падключэнне не ўдалося",
"cloud-settings-saved": "Налады сховішча захаваны",
"cloud-settings-save-failed": "Не ўдалося захаваць налады сховішча",
"cloud": "Воблака",
"cloud-settings-desc": "З WeKan у Weddy Cloud Panel абслугоўвае шмат даменаў WeKan з аднаго сервера, кожны са сваімі дадзенымі. На дамене Cloud Panel SuperAdmin кіруе даменамі і CloudFlare.",
"cloud-panel-domain": "Дамен Cloud Panel",
"cloud-superadmin-username": "Імя карыстальніка SuperAdmin",
"cloud-saved": "Захавана.",
"cloud-panel-not-allowed": "Cloud Panel толькі для SuperAdmin, на дамене Cloud Panel.",
"cloud-customer-name": "Імя кліента",
"cloud-customer-email": "Адрас электроннай пошты кліента",
"cloud-billing-email": "Адрас электроннай пошты для рахункаў",
"cloud-start-date": "Дата пачатку",
"cloud-end-date": "Дата заканчэння",
"cloudflare-api-key": "Ключ CloudFlare API",
"cloudflare-api-key-desc": "З ключом CloudFlare API дамен, зона якога знаходзіцца ў вашым уліковым запісе CloudFlare, атрымлівае праксіраваны запіс DNS і сертыфікат CloudFlare Origin. Іншыя дамены атрымліваюць сертыфікат Let's Encrypt. Ключ захоўваецца на серверы і больш ніколі не паказваецца.",
"cloudflare-api-key-set": "Ключ CloudFlare API захаваны.",
"cloudflare-api-key-not-set": "Ключ CloudFlare API не захаваны: кожны дамен атрымлівае сертыфікат Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Перамясціць укладанне ў Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Неуспешна връзка",
"cloud-settings-saved": "Настройките на хранилището са запазени",
"cloud-settings-save-failed": "Неуспешно запазване на настройките на хранилището",
"cloud": "Облак",
"cloud-settings-desc": "С WeKan в Weddy Cloud Panel обслужва много домейни на WeKan от един сървър, всеки със свои собствени данни. На домейна на Cloud Panel SuperAdmin управлява домейните и CloudFlare.",
"cloud-panel-domain": "Домейн на Cloud Panel",
"cloud-superadmin-username": "Потребителско име на SuperAdmin",
"cloud-saved": "Запазено.",
"cloud-panel-not-allowed": "Cloud Panel е само за SuperAdmin, на домейна на Cloud Panel.",
"cloud-customer-name": "Име на клиента",
"cloud-customer-email": "Имейл адрес на клиента",
"cloud-billing-email": "Имейл адрес за фактуриране",
"cloud-start-date": "Начална дата",
"cloud-end-date": "Крайна дата",
"cloudflare-api-key": "CloudFlare API ключ",
"cloudflare-api-key-desc": "С CloudFlare API ключ домейн, чиято зона е във вашия CloudFlare акаунт, получава проксиран DNS запис и CloudFlare Origin сертификат. Другите домейни получават Let's Encrypt сертификат. Ключът се запазва на сървъра и никога повече не се показва.",
"cloudflare-api-key-set": "CloudFlare API ключ е запазен.",
"cloudflare-api-key-not-set": "Няма запазен CloudFlare API ключ: всеки домейн получава Let's Encrypt сертификат.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Премести прикачения файл в Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "जोड़ असफल भइल",
"cloud-settings-saved": "भंडार सेटिंग सहेज दिहल गइल",
"cloud-settings-save-failed": "भंडार सेटिंग सहेजल असफल भइल",
"cloud": "बादल",
"cloud-settings-desc": "Weddy में WeKan के साथ, Cloud Panel एगो सर्वर से बहुत सारा WeKan डोमेन चलावेला, हर एक के आपन डेटा होला। Cloud Panel डोमेन पर SuperAdmin डोमेन आ CloudFlare के सँभारेला।",
"cloud-panel-domain": "Cloud Panel डोमेन",
"cloud-superadmin-username": "SuperAdmin उपयोगकर्ता नाम",
"cloud-saved": "सहेजा गइल।",
"cloud-panel-not-allowed": "Cloud Panel खाली SuperAdmin खातिर बा, Cloud Panel डोमेन पर।",
"cloud-customer-name": "ग्राहक के नाम",
"cloud-customer-email": "ग्राहक के ईमेल पता",
"cloud-billing-email": "बिलिंग ईमेल पता",
"cloud-start-date": "शुरुआत के तारीख",
"cloud-end-date": "अंत के तारीख",
"cloudflare-api-key": "CloudFlare API कुंजी",
"cloudflare-api-key-desc": "CloudFlare API कुंजी से, जवना डोमेन के ज़ोन रउआ CloudFlare खाता में बा, ओकरा प्रॉक्सी वाला DNS रिकॉर्ड आ CloudFlare Origin प्रमाणपत्र मिलेला। दोसर डोमेन के Let's Encrypt प्रमाणपत्र मिलेला। कुंजी सर्वर पर सहेजल जाला आ फेर कबो ना देखावल जाला।",
"cloudflare-api-key-set": "एगो CloudFlare API कुंजी सहेजल बा।",
"cloudflare-api-key-not-set": "कवनो CloudFlare API कुंजी सहेजल नइखे: हर डोमेन के Let's Encrypt प्रमाणपत्र मिलेला।",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "संलग्नक Azure Blob Storage में सरकाईं",
+238 -223
View File
@@ -227,20 +227,20 @@
"attachment-soft-delete-pop": "Atajmen ia i aot long kad ia, be fael blong hem i stap yet. Eni man we i save jenisim kad ia i save putum bak long histri blong kad.",
"attachmentDeletePopup-title": "Diletem Fael we i joen?",
"attachments": "Ol atajmen",
"attach-card": "Attach card",
"attachCardPopup-title": "Attach card",
"attach-card-hint": "Paste a card link (Copy card link on the other card), or type a card title on this board",
"attached-card-unavailable": "An attached card you cannot see",
"detach-card": "Remove attached card",
"attach-card-self": "A card cannot be attached to itself",
"attach-card-limit": "This card already has as many attached cards as it can have",
"attach-card-not-found": "No card you can see was found for that link",
"attach-card": "Joenem kad",
"attachCardPopup-title": "Joenem kad",
"attach-card-hint": "Pestem link blong wan kad (Kopiem link blong kad long narafala kad), o raetem nem blong wan kad long bod ia",
"attached-card-unavailable": "Wan kad we i joen we yu no save luk",
"detach-card": "Tekemaot kad we i joen",
"attach-card-self": "Yu no save joenem wan kad long hem wan",
"attach-card-limit": "Kad ia i gat finis olgeta kad we i save joen long hem",
"attach-card-not-found": "I no gat wan kad we yu save luk long link ia",
"auto-watch": "Lukluk ol bod otomatik taem oli mekem",
"avatar-too-big": "avatar i bigfala tumas (__size__ i maks)",
"back": "Gobak",
"board-change-color": "Jenisim kala",
"board-announcement": "Board announcement",
"board-announcement-enabled": "Show it to everyone on this board",
"board-announcement": "Toktok blong bod",
"board-announcement-enabled": "Soem long evriwan long bod ia",
"board-change-background-image": "Jenisim Pikja blong Baekgraon",
"board-background-image-url": "URL blong Pikja blong Baekgraon",
"add-background-image": "Adem Pikja blong Baekgraon",
@@ -284,7 +284,7 @@
"zoom-level": "Saes blong lukluk",
"enter-zoom-level": "Putum saes blong lukluk (50-300%):",
"board-view-cal": "Kalenda",
"board-view-calendar-mode": "Calendar Mode",
"board-view-calendar-mode": "Fasin blong kalenda",
"board-view-multiboard-cal": "Kalenda blong plante bod",
"board-view-swimlanes": "Ol rod",
"board-view-collapse": "Foldem",
@@ -686,32 +686,32 @@
"chooseBoardSourcePopup-title": "Karem i kam bod",
"createLabelPopup-title": "Mekem Mak",
"createCustomField": "Mekem Fil",
"custom-field-links": "Link fields to another card",
"custom-field-links-hint": "Custom fields with the same name and type on both cards are linked: when a value changes on one card, it is copied to the other card. Fields that only one card has are left alone.",
"custom-field-links-none": "This card's custom fields are not linked to any card.",
"custom-field-link-unavailable": "A linked card you cannot see",
"custom-field-link-fields": "Linked fields:",
"custom-field-link-no-fields": "No fields with the same name and type yet",
"custom-field-link-inactive": "Paused: the person who made this link can no longer edit both cards, or a card is archived.",
"custom-field-unlink": "Unlink",
"custom-field-link-target": "Card link (Copy card link), or search this board's cards",
"custom-field-link-direction": "Direction",
"custom-field-link-both": "Both ways: changes on either card go to the other",
"custom-field-link-send": "One way: changes on this card go to the main card",
"custom-field-link-sends": "Changes on this card go to that card",
"custom-field-link-receives": "Changes on that card come to this card",
"custom-field-link-add": "Link fields",
"field-link-self": "A card cannot be linked to itself.",
"field-link-limit": "This card, or that card, already has the most linked cards it can have.",
"field-link-archived": "An archived card cannot be linked.",
"field-link-invalid": "That is not a card link.",
"field-link-not-found": "Card not found.",
"field-link-not-allowed": "You need to be able to edit both cards.",
"cardCustomFieldLinksPopup-title": "Linked custom fields",
"custom-field-links": "Joenem ol fil long narafala kad",
"custom-field-links-hint": "Ol fil blong yu we i gat sem nem mo sem kaen long tufala kad i joen: taem wan valiu i jenis long wan kad, i kopi i go long narafala kad. Ol fil we wan kad nomo i gat, oli stap olsem.",
"custom-field-links-none": "Ol fil blong yu long kad ia oli no joen long eni kad.",
"custom-field-link-unavailable": "Wan kad we i joen we yu no save luk",
"custom-field-link-fields": "Ol fil we i joen:",
"custom-field-link-no-fields": "I no gat fil yet we i gat sem nem mo sem kaen",
"custom-field-link-inactive": "I stop smol: man we i mekem link ia i no save jenisim tufala kad bakegen, o wan kad i stap long akaev.",
"custom-field-unlink": "Brekem link",
"custom-field-link-target": "Link blong kad (Kopiem link blong kad), o lukaotem ol kad blong bod ia",
"custom-field-link-direction": "Rod we i go",
"custom-field-link-both": "Tu rod: ol jenis long eni kad i go long narafala",
"custom-field-link-send": "Wan rod: ol jenis long kad ia i go long bigfala kad",
"custom-field-link-sends": "Ol jenis long kad ia i go long kad ia we i stap longwe",
"custom-field-link-receives": "Ol jenis long narafala kad i kam long kad ia",
"custom-field-link-add": "Joenem ol fil",
"field-link-self": "Yu no save joenem wan kad long hem wan.",
"field-link-limit": "Kad ia, o narafala kad, i gat finis moa kad we i joen we i save gat.",
"field-link-archived": "Yu no save joenem wan kad we i stap long akaev.",
"field-link-invalid": "Hemia i no link blong kad.",
"field-link-not-found": "Kad i no stap.",
"field-link-not-allowed": "Yu mas gat raet blong jenisim tufala kad.",
"cardCustomFieldLinksPopup-title": "Ol fil blong yu we i joen",
"createCustomFieldPopup-title": "Mekem Fil",
"current": "naoia",
"custom-color": "Spesel kala",
"cards-use-list-color": "Cards without a colour of their own use this colour",
"cards-use-list-color": "Ol kad we oli no gat kala blong olgeta oli yusum kala ia",
"custom-field-delete-pop": "Yu no save tekem i kambak. Samting ia bae i tekemaot spesel fil ia long evri kad mo rablaotem histri blong hem.",
"custom-field-checkbox": "Bokis blong tikim",
"custom-field-currency": "Mane",
@@ -916,13 +916,13 @@
"import-board-instruction-focalboard": "Openem fael .boardarchive we i stap long zip mo putum insaed blong board.jsonl blong bod, wetem laen blong vesin o nogat. Propeti blong mekem ol grup long lukluk blong bod i kam ol lis, ol narafala propeti blong jusum oli kam ol mak, ol blok blong teks mo ol bokis blong tikim oli kam diskripsen mo lis blong jekem, mo ol komen oli stap yet. Ol pikja mo ol fael we oli joenem oli no kam insaed.",
"import-board-instruction-todoist": "Long Todoist, openem menyu blong projek mo jusum Export as a template, afta putum kopi blong CSV fael. Ol seksen oli kam ol lis, ol wok oli kam ol kad, ol smol wok oli kam wan lis blong jekem, ol not oli kam ol komen, mo @labels mo ol praoriti p1 kasem p3 oli kam ol lebel.",
"import-board-instruction-planner": "Long Microsoft Planner, openem menyu blong plan mo jusum Export plan to Excel, afta jusum fael .xlsx ia. Ol bakit oli kam ol lis mo ol wok oli kam ol kad, wetem ol man we oli givim wok long olgeta, ol deit, ol mak, jeklis mo diskripsen; Progress, Priority mo Completed By oli kam ol spesel fil.",
"import-board-instruction-meistertask": "In MeisterTask, click the project name, choose Export project and export the CSV, then paste it. Sections become lists and tasks become cards, with their notes, due date, assignee and tags; completed tasks keep their completion date. A CSV written for MeisterTask's own import works too.",
"import-board-instruction-obsidian": "In Obsidian, open the Kanban board's file as Markdown (or open the .md file in a text editor), then paste all of it. Lanes become lists with their card limits, cards keep their tags, dates, priority, fields and checklist, and the Archive becomes archived cards.",
"import-board-instruction-linear": "In Linear, export the issues as CSV (Settings, Import / Export, Export data, or a view's export), then paste the CSV. Statuses become lists, teams become swimlanes, and issues become cards with their assignee, labels, dates, parent issue, priority, estimate, project and cycle.",
"import-board-instruction-ticktick": "In TickTick, open Settings, Account, Backup & Import and generate a backup, then paste the CSV file. Each TickTick list becomes a swimlane and its columns become lists; tasks keep their tags, dates, checklist, priority and subtasks.",
"import-board-instruction-clickup": "In ClickUp, export the tasks as CSV (Settings, Imports / Exports, Export Items, or a List or Table view's export with all columns), then paste the CSV. Statuses become lists, ClickUp lists become swimlanes, and tasks become cards with their subtasks, assignees, tags, dates, priority and time.",
"import-board-instruction-nullboard": "In Nullboard, open the board, choose Export this board... from the menu, open the .nbx file in a text editor and paste its contents. Lists become lists and notes become cards: a note's first line is the card title and the rest its description. A raw note gets the label raw. A file with several boards imports its first board.",
"import-board-instruction-kanri": "In Kanri, open Import & Export and choose Export individual board (or Export all data), then paste the .json file. Columns become lists and cards become cards, with their description, due date, tags and colors; a card's tasks become a checklist. From an all-data export the first board is imported.",
"import-board-instruction-meistertask": "Long MeisterTask, klik long nem blong projek, jusum Export project mo sendem CSV i go, afta pestem. Ol seksen oli kam ol lis mo ol wok oli kam ol kad, wetem not, dedlaen, man we i gat wok mo ol tag blong olgeta; ol wok we i finis oli kipim deit we oli finis. Wan CSV we oli raetem blong MeisterTask i wok tu.",
"import-board-instruction-obsidian": "Long Obsidian, openem fael blong Kanban bod olsem Markdown (o openem fael .md long wan teks edita), afta pestem evri samting. Ol lein oli kam ol lis wetem limit blong kad, ol kad oli kipim ol tag, deit, praeoriti, fil mo jeklis blong olgeta, mo Archive i kam ol kad long akaev.",
"import-board-instruction-linear": "Long Linear, sendem ol isiu i go olsem CSV (Settings, Import / Export, Export data, o eksport blong wan viu), afta pestem CSV. Ol stetas oli kam ol lis, ol tim oli kam ol rod, mo ol isiu oli kam ol kad wetem man we i gat wok, ol mak, deit, papa isiu, praeoriti, estimet, projek mo saekol blong olgeta.",
"import-board-instruction-ticktick": "Long TickTick, openem Settings, Account, Backup & Import mo mekem wan bakap, afta pestem fael CSV. Evri lis blong TickTick i kam wan rod mo ol kolum blong hem oli kam ol lis; ol wok oli kipim ol tag, deit, jeklis, praeoriti mo smol wok blong olgeta.",
"import-board-instruction-clickup": "Long ClickUp, sendem ol wok i go olsem CSV (Settings, Imports / Exports, Export Items, o eksport blong wan List o Table viu wetem evri kolum), afta pestem CSV. Ol stetas oli kam ol lis, ol lis blong ClickUp oli kam ol rod, mo ol wok oli kam ol kad wetem smol wok, man we i gat wok, tag, deit, praeoriti mo taem blong olgeta.",
"import-board-instruction-nullboard": "Long Nullboard, openem bod, jusum Export this board... long menu, openem fael .nbx long wan teks edita mo pestem samting we i stap insaed. Ol lis oli kam ol lis mo ol not oli kam ol kad: fes laen blong wan not i nem blong kad mo narafala i stori blong hem. Wan not we i raw i kasem mak raw. Long wan fael we i gat plante bod, fes bod nomo i kam.",
"import-board-instruction-kanri": "Long Kanri, openem Import & Export mo jusum Export individual board (o Export all data), afta pestem fael .json. Ol kolum oli kam ol lis mo ol kad oli kam ol kad, wetem stori, dedlaen, tag mo kala blong olgeta; ol wok blong wan kad oli kam wan jeklis. Long wan eksport blong evri data, fes bod i kam.",
"import-board-instruction-planka": "Raetem adres blong Planka blong yu (olsem https://planka.example.com), nem blong yusa mo paswod blong yu long Planka, nao presem Soem Lis. Oli yusum olgeta blong karem bod nomo mo oli no kipim. Jusum wan bod mo presem Karem: WeKan i ridim long API blong Planka, wetem ol lis, kad, stori, dedlaen, mak, memba, lis blong wok mo toktok blong hem, nao gohed long tekem i kam olsem oltaem. Ol kad long stoa blong Planka oli kam olsem kad we oli stap long stoa; ol atajmen mo ol kad long rabis oli no kam.",
"import-board-instruction-mstodo": "Long Microsoft Graph Explorer (developer.microsoft.com/graph/graph-explorer), saen in, agri long tok-orait Tasks.Read mo kopi token long tab Access token. Pastem long ples ia mo kilik Soem Lis; token ia i blong karem ia nomo mo oli no kipim. Jusum evri lis o wan lis mo kilik Karem. Evri lis blong To Do i kam wan lis mo evri wok i kam wan kad, wetem not, dedlaen mo stat det, ol step olsem lis blong jekem, ol kategori olsem mak, mo bigfala impoten mo stejes olsem mak; ol wok we i finis oli go long stoa. Ol rimaenda mo ripit oli no kam.",
"import-board-instruction-kanbanflow": "Long KanbanFlow, openem menu blong bod, jusum Settings → API & Webhooks mo kopi API token blong bod. Pastem token long ples ia, kilik Soem Lis, jusum bod mo kilik Karem; token ia i blong karem ia nomo mo oli no kipim. Ol kolum oli kam lis mo ol rod oli stap rod; ol wok oli kipim stori, kala, mak, dedlaen, smol wok olsem lis blong jekem, taem we oli spenem, tingting blong taem, ol man mo toktok blong olgeta.",
@@ -941,19 +941,19 @@
"api-import-fetched": "I kam finis. Jekem ol memba daon mo tekem i kam.",
"api-import-failed": "Karem i no wok",
"api-import-nothing": "I no gat samting blong tekem i kam wetem akaon ia.",
"import-board-instruction-pivotal": "In Pivotal Tracker, open the project's MORE tab and choose Export CSV (or select stories and choose Bulk Actions, CSV), then paste the CSV. Each story state becomes a list and stories become cards, with their type and labels, owners, requester, dates, comments, tasks and blockers; Estimate becomes Story points and iterations become sprints.",
"import-board-instruction-tasksorg": "In Tasks.org, open Settings, Backups and choose Export tasks, then paste the contents of that .json file. Lists become lists and tasks become cards, with their notes, tags, dates, comments and subtasks; completed tasks keep their completion date, and priority becomes a custom field.",
"import-board-instruction-monday": "In monday.com, open the board menu, choose More actions and Export board to Excel (with updates and subitems if you like), then choose that .xlsx file. The Status column becomes lists and groups become swimlanes; people, dates, timeline and tags keep their places, other columns become custom fields and updates become comments.",
"import-board-instruction-superproductivity": "In Super Productivity, open Settings, then Sync & Backup, choose Export Data and paste the contents of the sp-backup .json file. Each project becomes a swimlane and tasks become cards in To Do, In Progress, Backlog or Done, with their notes, tags, due date, time spent and sub-tasks; archived tasks become archived cards.",
"import-board-instruction-taiga": "In Taiga, open Admin > Project > Export and download the project dump (unpack a .json.gz file first), then paste its JSON. User story statuses become lists, user stories become cards with their tasks as subtasks, epics and issues get swimlanes of their own, and sprints, tags, comments and custom attributes come along. Attachments are not imported.",
"import-board-instruction-vikunja": "In Vikunja, open Settings, choose Data Export and download the .zip file it sends you, then choose that file, or paste the data.json inside it. Kanban buckets become lists and tasks become cards, with their labels, assignees, dates, description, task lists as checklists and comments; priority, percent done and done become custom fields. Attachments are not imported.",
"import-board-instruction-quire": "In Quire, open the project menu and choose Export CSV, then paste the CSV. Statuses become lists and tasks become cards, with their subtasks as child cards, assignees, tags as labels, start, due and completed dates, description and priority as a custom field. Comments and attachments are not in Quire's CSV.",
"import-board-instruction-wrike": "In Wrike, export a project or folder to Excel, or fill in Wrike's Excel import template, then choose that .xlsx file. Folder and project rows become swimlanes, Status becomes lists and tasks become cards, with their Key, parent task, assignees, start and end dates, dependencies and description; Priority, Duration and other columns become custom fields.",
"import-board-instruction-teamwork": "In Teamwork.com, fill in the Excel task import template (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) and save it as .xlsx, then choose that file. Task lists become lists and tasks become cards; a task starting with -, # or > becomes a subtask of the task above it (--, ## or >> one level deeper). Assignees, dates and tags keep their places; Priority, Estimated time and Complete become custom fields.",
"import-board-instruction-businessmap": "In Businessmap (formerly Kanbanize), open Advanced Search, choose Configure results to pick the columns, download the Excel file, then choose that .xlsx file. Columns are read by their English names (Title, Column, Lane, Owner, Deadline ...): if your account uses another language, rename the header row to English first. Column becomes lists and Lane swimlanes; owners, tags, color, dates, comments and parent links keep their places, and Priority, Size, Type and other columns become custom fields.",
"import-board-instruction-redmine": "In Redmine, open the project's Issues, choose Also available in: CSV at the bottom of the list, pick the columns (All columns, with Description) and export, then paste the CSV. Redmine names the columns in your language, so set your language to English in My account before exporting. Each status becomes a list and issues become cards, with the tracker as a label, assignee, author, dates, parent task and related issues; priority, category, target version, estimated time, % Done and custom fields become custom fields.",
"import-board-instruction-notion": "In Notion, open the database as a full page, choose ••• and Export, pick Markdown & CSV, and choose the .zip file it downloads, or one database CSV from it, or paste that CSV. A column named Status becomes the lists (without one, the first column that looks like a select does, and the import report says which); rows become cards with their title, tags as labels, people as members, dates, and the page text as the description; other columns become custom fields. Relations, images and attachments are not imported.",
"import-board-instruction-plane": "In Plane, open Workspace Settings, choose Exports, export the projects as JSON, CSV or Excel and download the .zip file, then choose that file, or one file from inside it, or paste the JSON or CSV. States become lists, projects become swimlanes, and issues become cards with their identifier, parent, assignees, labels, dates, links and comments; priority, estimate, cycle and module become custom fields. Plane's export has no descriptions or attachments, so they are not imported.",
"import-board-instruction-pivotal": "Long Pivotal Tracker, openem tab MORE blong projek mo jusum Export CSV (o jusum ol stori mo jusum Bulk Actions, CSV), afta pestem CSV. Evri stet blong stori i kam wan lis mo ol stori oli kam ol kad, wetem kaen mo ol mak, ona, man we i askem, deit, toktok, wok mo ol samting we i blokem blong olgeta; Estimate i kam Story points mo ol iteresen oli kam ol sprint.",
"import-board-instruction-tasksorg": "Long Tasks.org, openem Settings, Backups mo jusum Export tasks, afta pestem samting we i stap insaed long fael .json ia. Ol lis oli kam ol lis mo ol wok oli kam ol kad, wetem not, tag, deit, toktok mo smol wok blong olgeta; ol wok we i finis oli kipim deit we oli finis, mo praeoriti i kam wan fil blong yu.",
"import-board-instruction-monday": "Long monday.com, openem menu blong bod, jusum More actions mo Export board to Excel (wetem ol apdet mo ol smol samting sapos yu wantem), afta jusum fael .xlsx ia. Kolum Status i kam ol lis mo ol grup oli kam ol rod; ol man, deit, taemlaen mo tag oli stap long ples blong olgeta, ol narafala kolum oli kam ol fil blong yu mo ol apdet oli kam ol toktok.",
"import-board-instruction-superproductivity": "Long Super Productivity, openem Settings, afta Sync & Backup, jusum Export Data mo pestem samting we i stap insaed long fael .json sp-backup. Evri projek i kam wan rod mo ol wok oli kam ol kad long To Do, In Progress, Backlog o Done, wetem not, tag, dedlaen, taem we oli yusum mo smol wok blong olgeta; ol wok long akaev oli kam ol kad long akaev.",
"import-board-instruction-taiga": "Long Taiga, openem Admin > Project > Export mo daonlodem damp blong projek (fes, openem fael .json.gz), afta pestem JSON blong hem. Ol stetas blong yusa stori oli kam ol lis, ol yusa stori oli kam ol kad wetem ol wok blong olgeta olsem smol wok, ol epik mo isiu oli kasem rod blong olgeta, mo ol sprint, tag, toktok mo ol atribiut blong yu oli kam tu. Ol atajmen oli no kam.",
"import-board-instruction-vikunja": "Long Vikunja, openem Settings, jusum Data Export mo daonlodem fael .zip we i sendem long yu, afta jusum fael ia, o pestem data.json we i stap insaed. Ol baket blong Kanban oli kam ol lis mo ol wok oli kam ol kad, wetem mak, man we i gat wok, deit, stori, lis blong wok olsem jeklis mo toktok blong olgeta; praeoriti, pesen we i finis mo finis oli kam ol fil blong yu. Ol atajmen oli no kam.",
"import-board-instruction-quire": "Long Quire, openem menu blong projek mo jusum Export CSV, afta pestem CSV. Ol stetas oli kam ol lis mo ol wok oli kam ol kad, wetem smol wok olsem pikinini kad, man we i gat wok, tag olsem mak, deit blong stat, dedlaen mo deit we i finis, stori mo praeoriti olsem wan fil blong yu. Ol toktok mo atajmen oli no stap long CSV blong Quire.",
"import-board-instruction-wrike": "Long Wrike, sendem wan projek o folda i go long Excel, o fulumap templet blong Excel import blong Wrike, afta jusum fael .xlsx ia. Ol laen blong folda mo projek oli kam ol rod, Status i kam ol lis mo ol wok oli kam ol kad, wetem Key, papa wok, man we i gat wok, deit blong stat mo en, ol samting we oli dipen long hem mo stori blong olgeta; Priority, Duration mo ol narafala kolum oli kam ol fil blong yu.",
"import-board-instruction-teamwork": "Long Teamwork.com, fulumap templet blong Excel wok import (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) mo sevem olsem .xlsx, afta jusum fael ia. Ol lis blong wok oli kam ol lis mo ol wok oli kam ol kad; wan wok we i stat wetem -, # o > i kam smol wok blong wok we i stap antap long hem (--, ## o >> wan level daon moa). Man we i gat wok, deit mo tag oli stap long ples blong olgeta; Priority, Estimated time mo Complete oli kam ol fil blong yu.",
"import-board-instruction-businessmap": "Long Businessmap (bifo Kanbanize), openem Advanced Search, jusum Configure results blong jusum ol kolum, daonlodem fael Excel, afta jusum fael .xlsx ia. Oli ridim ol kolum long nem blong olgeta long Inglis (Title, Column, Lane, Owner, Deadline ...): sapos akaon blong yu i yusum narafala lanwis, fes, jenisim nem blong laen blong hed i go long Inglis. Column i kam ol lis mo Lane i kam ol rod; ona, tag, kala, deit, toktok mo link blong papa oli stap long ples blong olgeta, mo Priority, Size, Type mo ol narafala kolum oli kam ol fil blong yu.",
"import-board-instruction-redmine": "Long Redmine, openem Issues blong projek, jusum Also available in: CSV long botom blong lis, jusum ol kolum (All columns, wetem Description) mo sendem i go, afta pestem CSV. Redmine i putum nem blong ol kolum long lanwis blong yu, ale jenisim lanwis blong yu i go long Inglis long My account bifo yu sendem i go. Evri stetas i kam wan lis mo ol isiu oli kam ol kad, wetem treka olsem mak, man we i gat wok, man we i raetem, deit, papa wok mo ol isiu we oli joen; praeoriti, kategori, vesen we oli wantem kasem, taem we oli tingbaot, % Done mo ol fil blong yu oli kam ol fil blong yu.",
"import-board-instruction-notion": "Long Notion, openem database olsem wan fulwan pej, jusum ••• mo Export, jusum Markdown & CSV, mo jusum fael .zip we i daonlod, o wan database CSV long hem, o pestem CSV ia. Wan kolum we nem blong hem Status i kam ol lis (sapos i no gat, fes kolum we i luk olsem wan jus i mekem, mo ripot blong import i talem wanem); ol laen oli kam ol kad wetem nem, tag olsem mak, ol man olsem memba, deit, mo teks blong pej olsem stori; ol narafala kolum oli kam ol fil blong yu. Ol rilesen, pija mo atajmen oli no kam.",
"import-board-instruction-plane": "Long Plane, openem Workspace Settings, jusum Exports, sendem ol projek i go olsem JSON, CSV o Excel mo daonlodem fael .zip, afta jusum fael ia, o wan fael insaed long hem, o pestem JSON o CSV. Ol stet oli kam ol lis, ol projek oli kam ol rod, mo ol isiu oli kam ol kad wetem namba, papa, man we i gat wok, mak, deit, link mo toktok blong olgeta; praeoriti, estimet, saekol mo modiul oli kam ol fil blong yu. Eksport blong Plane i no gat stori o atajmen, ale oli no kam.",
"import-board-instruction-trello": "Long bod blong Trello blong yu, go long 'Menu', afta 'More', 'Print and Export', 'Export JSON', mo kopiem teks we i kamaot.",
"import-board-instruction-csv": "Putum kopi blong ol valiu we koma i seraotem (CSV) / ol valiu we tab i seraotem (TSV).",
"import-board-instruction-jira": "Putum kopi blong JSON long lukaot blong isu blong Jira Cloud REST API (GET /rest/api/3/search/jql), o wan objek we i semmak olsem { \"issues\": [...] }. Ol stet blong Jira oli kam ol lis mo ol isu oli kam ol kad. Yu save adem wan array blong \"automationRules\" blong importem ol rul.",
@@ -962,33 +962,33 @@
"import-board-instruction-wekan": "Long bod blong yu, go long 'Menu', afta 'Export board', mo kopiem teks long fael we yu daonlodem.",
"import-board-instruction-about-errors": "Sapos yu kasem ol eroa taem yu karem i kam bod, samtaem karem i kam i wok yet, mo bod i stap long pej blong Olgeta Bod.",
"import-without-mapping-members": "Karem i kam we i no joenem ol memba (joenem biaen)",
"import-members-mode-heading": "People in the file:",
"import-members-mode-map": "Choose an existing user for each of them",
"import-members-mode-placeholder": "Keep them as placeholder users with their own names, to map to real users later",
"import-members-mode-me": "Make them all me",
"csv-mapping-title": "Which column is which?",
"csv-mapping-description": "Choose the column of the file that holds each card field. The choices were made from the column names; change any that are wrong, and choose (not in the file) for a field the file does not have.",
"csv-mapping-not-in-file": "(not in the file)",
"csv-mapping-column-number": "Column __number__",
"csv-mapping-list-missing": "The file has no column for the list. Choose one above, or type the name of the one list every card goes into.",
"csv-mapping-list-name": "List for every card",
"csv-mapping-custom-fields": "Other columns to import as text custom fields:",
"csv-mapping-boards": "Each sheet becomes its own board:",
"csv-mapping-skipped-sheets": "Sheets that are not imported:",
"csv-mapping-title-required": "Choose the column that holds the card titles.",
"csv-mapping-list-required": "Type the name of the list every card goes into, or choose the column that holds the list.",
"invalid-import-mapping": "The column mapping does not match the file.",
"import-many-boards": "Import many boards",
"import-many-boards-hint": "Choose several export files of this tool, or one .zip that holds them: each file becomes its own board, imported without member mapping. A .zip that is itself one export (Vikunja, Notion, Plane, or WeKan with attachments) is one board. When files are chosen here, Import imports them instead of the field above.",
"import-one-board-per-project": "One board per project",
"import-one-board-per-project-hint": "Each swimlane the import would make (a project, folder or list of the tool) becomes its own board. Parent cards and dependencies between those boards are listed in the import report.",
"import-many-progress": "Importing __done__ of __total__: __name__",
"import-many-results-heading": "Imported files",
"import-many-imported": "imported",
"export-all-boards": "Export all boards",
"export-selected-boards": "Export selected boards",
"export-all-boards-hint": "Every board you can export, in one download: Excel as one workbook with a sheet per board named after it, every other format as a .zip with a file per board.",
"exportAllBoardsPopup-title": "Export all boards",
"import-members-mode-heading": "Ol man long fael:",
"import-members-mode-map": "Jusum wan yusa we i stap finis blong evri wan long olgeta",
"import-members-mode-placeholder": "Kipim olgeta olsem ol yusa blong ples wetem nem blong olgeta, blong joenem wetem ol tru yusa biaen",
"import-members-mode-me": "Mekem olgeta evriwan i kam mi",
"csv-mapping-title": "Wanem kolum i wanem?",
"csv-mapping-description": "Jusum kolum blong fael we i holem evri fil blong kad. Oli mekem ol jus long nem blong ol kolum; jenisim eni we i rong, mo jusum (i no stap long fael) blong wan fil we fael i no gat.",
"csv-mapping-not-in-file": "(i no stap long fael)",
"csv-mapping-column-number": "Kolum __number__",
"csv-mapping-list-missing": "Fael i no gat kolum blong lis. Jusum wan antap, o raetem nem blong wan lis nomo we evri kad i go long hem.",
"csv-mapping-list-name": "Lis blong evri kad",
"csv-mapping-custom-fields": "Ol narafala kolum blong karem i kam olsem fil blong yu blong teks:",
"csv-mapping-boards": "Evri sit i kam bod blong hem wan:",
"csv-mapping-skipped-sheets": "Ol sit we oli no karem i kam:",
"csv-mapping-title-required": "Jusum kolum we i holem nem blong ol kad.",
"csv-mapping-list-required": "Raetem nem blong lis we evri kad i go long hem, o jusum kolum we i holem lis.",
"invalid-import-mapping": "Fasin we ol kolum oli joen i no stret wetem fael.",
"import-many-boards": "Tekem plante bod i kam",
"import-many-boards-hint": "Jusum plante fael blong eksport blong tul ia, o wan .zip we i holem olgeta: evri fael i kam bod blong hem wan, we i kam be i no joenem ol memba. Wan .zip we hem wan i wan eksport (Vikunja, Notion, Plane, o WeKan wetem atajmen) i wan bod nomo. Taem yu jusum ol fael long ples ia, Import i karem olgeta i kam, i no fil antap.",
"import-one-board-per-project": "Wan bod long evri projek",
"import-one-board-per-project-hint": "Evri rod we import bambae i mekem (wan projek, folda o lis blong tul) i kam bod blong hem wan. Ol papa kad mo ol samting we oli dipen long olgeta bitwin ol bod ia oli stap long ripot blong import.",
"import-many-progress": "I stap karem __done__ long __total__ i kam: __name__",
"import-many-results-heading": "Ol fael we oli kam finis",
"import-many-imported": "i kam finis",
"export-all-boards": "Sendem evri bod i go",
"export-selected-boards": "Sendem ol bod we yu jusum i go",
"export-all-boards-hint": "Evri bod we yu save sendem i go, long wan daonlod: Excel olsem wan buk wetem wan sit long evri bod we i karem nem blong hem, evri narafala fomat olsem wan .zip wetem wan fael long evri bod.",
"exportAllBoardsPopup-title": "Sendem evri bod i go",
"import-json-placeholder": "Putum stret data JSON blong yu long ples ia",
"import-csv-placeholder": "Putum stret data CSV/TSV blong yu long ples ia",
"import-json-file": "O jusum wan fael JSON blong Trello",
@@ -1026,17 +1026,17 @@
"trello-import-results": "Ol risal blong karem i kam",
"trello-api-credentials-required": "Plis raetem tufala ki mo token blong Trello API.",
"trello-api-credentials-saved": "Oli sevem ki mo token blong Trello API. Yu save soemaot ol wokples we yu no raetem olgeta bakegen.",
"exportToTrelloPopup-title": "Export to Trello",
"trello-export-desc": "Create a copy of this board in Trello through Trello's API, with your Trello API key and token. Swimlanes become labels named \"Swimlane: …\", which WeKan's Trello import turns back into swimlanes.",
"trello-export-include-attachments": "Include attachments",
"trello-export-start": "Export to Trello",
"trello-export-open-board": "Open the board in Trello",
"trello-export-warnings": "Not everything could be exported",
"sandstorm-trello-access-needed": "A Sandstorm grain has no Internet access of its own. Allow this grain to reach Trello first.",
"sandstorm-allow-trello-access": "Allow access to Trello",
"sandstorm-trello-access-granted": "This grain may reach Trello.",
"sandstorm-forget-access": "Forget",
"sandstorm-trello-save-label": "Trello, for importing and exporting boards",
"exportToTrelloPopup-title": "Sendem i go long Trello",
"trello-export-desc": "Mekem wan kopi blong bod ia long Trello tru long API blong Trello, wetem API ki mo token blong Trello blong yu. Ol rod oli kam ol mak we nem blong olgeta \"Swimlane: …\", we Trello import blong WeKan i tanem olgeta i kam bak ol rod.",
"trello-export-include-attachments": "Putum ol atajmen tu",
"trello-export-start": "Sendem i go long Trello",
"trello-export-open-board": "Openem bod long Trello",
"trello-export-warnings": "I no save sendem evri samting i go",
"sandstorm-trello-access-needed": "Wan Sandstorm grain i no gat Intanet blong hem wan. Fes, letem grain ia i go kasem Trello.",
"sandstorm-allow-trello-access": "Letem i go kasem Trello",
"sandstorm-trello-access-granted": "Grain ia i save go kasem Trello.",
"sandstorm-forget-access": "Fogetem",
"sandstorm-trello-save-label": "Trello, blong karem bod i kam mo sendem bod i go",
"trello-select-boards": "Plis jusum wan bod o moa blong karem i kam.",
"select-all": "Jusum evriwan",
"select-none": "No jusum wan samting",
@@ -1318,9 +1318,9 @@
"external-link-pattern-description": "Hem i save mekem olsem \"#1234\" we oli stap long raeting blong kad i kam wan link i go long wan aotsaed traka blong problem. Livim wan spes nomo blong jampem samting ia.",
"external-link-pattern-prefix": "Prefiks blong tok",
"external-link-pattern-url": "Templet blong URL (yusum {number})",
"external-link-rules": "More link rules",
"external-link-rules-description": "One rule per line: the text to find, \" = \", and the address. Use {number} for digits and {identifier} for a word, in both, for example [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Abbreviations for {identifier}, for example TK=Task, IN=Incident",
"external-link-rules": "Moa rul blong link",
"external-link-rules-description": "Wan rul long wan laen: teks blong faenem, \" = \", mo adres. Yusum {number} blong namba mo {identifier} blong wan wod, long tufala, olsem [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Sotfala nem blong {identifier}, olsem TK=Task, IN=Incident",
"username": "Nem blong yusa",
"import-usernames": "Karem i kam ol Yusanem",
"view-it": "Lukluk hem",
@@ -1345,13 +1345,13 @@
"attachment-transfer-limits-title": "Ol Limit blong Saes blong Fael we i Joen mo Fael blong API",
"attachment-limits": "Ol limit",
"attachment-retention": "Taem blong kipim",
"attachment-retention-days": "Delete attachments after (days)",
"attachment-retention-days-help": "Like Delete on the card: the card history can restore them. Empty or 0: never.",
"attachment-retention-mode": "Count the days from",
"attachment-retention-purge": "Remove deleted attachments for good after (days)",
"attachment-retention-purge-help": "After this they can no longer be restored. Empty or 0: never.",
"attachment-retention-dry-run": "Dry run: only count, in the server log, change nothing",
"attachment-retention-max-per-run": "At most this many attachments per night",
"attachment-retention-days": "Diletem ol atajmen afta (dei)",
"attachment-retention-days-help": "Olsem Diletem long kad: histori blong kad i save tekem olgeta i kambak. Emti o 0: neva.",
"attachment-retention-mode": "Kaontem ol dei stat long",
"attachment-retention-purge": "Tekemaot olgeta ol atajmen we oli diletem finis afta (dei)",
"attachment-retention-purge-help": "Afta long hemia, yu no save tekem olgeta i kambak. Emti o 0: neva.",
"attachment-retention-dry-run": "Traem nomo: kaontem nomo, long log blong seva, no jenisim wan samting",
"attachment-retention-max-per-run": "Bigfala namba blong atajmen long wan naet",
"attachment-transfer-limits-description": "Setem ol limit blong saes blong fael we i bigfala olgeta blong aplodem mo daonlodem. Fasin blong API blong holem data i gat ol limit blong sefti blong hem long seva.",
"attachment-transfer-limits-saved": "Oli sevem ol limit blong sendem fael we i joen.",
"attachment-transfer-limits-save-failed": "I no save sevem ol limit blong sendem fael we i joen",
@@ -1401,51 +1401,51 @@
"error-notAuthorized": "Yu no gat raet blong lukluk pej ia.",
"webhook-title": "Nem blong Webhook",
"webhook-token": "Token (sapos yu wantem, blong Jekem hu nao)",
"webhook-payload-heading": "Webhook data",
"webhook-payload-description": "What outgoing webhooks (Rocket.Chat, Slack, ...) send. Default keeps the inherited setting; with nothing set, webhooks send what they always have.",
"webhook-payload-text": "Send the message text",
"webhook-payload-fields": "Send these fields",
"webhook-payload-field-standard": "Standard fields (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "IDs",
"webhook-payload-field-names": "Names and titles",
"webhook-payload-field-links": "Links to the card and board",
"webhook-payload-field-actor": "Who did it",
"webhook-payload-field-people": "The member or assignee it is about",
"webhook-payload-field-details": "Details: comment, description, values and dates",
"webhook-hide-identity": "Leave my name out of outgoing webhooks",
"webhook-someone": "A member",
"webhook-payload-heading": "Data blong webhook",
"webhook-payload-description": "Wanem ol webhook we i go aot (Rocket.Chat, Slack, ...) oli sendem. Defolt i kipim seting we i kam long antap; sapos i no gat seting, ol webhook oli sendem samting we oli stap sendem oltaem.",
"webhook-payload-text": "Sendem teks blong mesej",
"webhook-payload-fields": "Sendem ol fil ia",
"webhook-payload-field-standard": "Ol standet fil (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "Ol ID",
"webhook-payload-field-names": "Ol nem mo taetel",
"webhook-payload-field-links": "Ol link i go long kad mo bod",
"webhook-payload-field-actor": "Hu i mekem",
"webhook-payload-field-people": "Memba o man we i gat wok we samting ia i tokbaot",
"webhook-payload-field-details": "Ol smol samting: toktok, stori, valiu mo deit",
"webhook-hide-identity": "No putum nem blong mi long ol webhook we i go aot",
"webhook-someone": "Wan memba",
"notification-delivery-layout": "Fasin blong putum ol samting",
"notification-delivery-layout-classic": "One sentence (classic)",
"notification-delivery-layout-clear": "Clearly arranged: board, who, card in bold",
"notification-delivery-parts": "Show",
"notification-delivery-part-board": "Board name and link",
"notification-delivery-part-actor": "Who did it",
"notification-delivery-part-card": "Card title and link",
"notification-delivery-layout-classic": "Wan sentens (olfala fasin)",
"notification-delivery-layout-clear": "Klia: bod, hu, kad long strong raeting",
"notification-delivery-parts": "Soem",
"notification-delivery-part-board": "Nem mo link blong bod",
"notification-delivery-part-actor": "Hu i mekem",
"notification-delivery-part-card": "Nem mo link blong kad",
"notification-delivery-part-list": "Lis",
"notification-delivery-part-swimlane": "Rod",
"notification-delivery-part-details": "Comment or changed value",
"notification-delivery-part-dates": "Dates",
"notification-delivery-part-link": "Link on its own line",
"notification-delivery-grouping": "Grouping",
"notification-delivery-grouping-all": "Everything due in one message",
"notification-delivery-grouping-board": "One per board",
"notification-delivery-grouping-card": "One per card",
"notification-delivery-grouping-none": "Each on its own",
"notification-delivery-schedule": "When to send",
"notification-delivery-schedule-immediate": "Immediately",
"notification-delivery-schedule-interval": "Every few minutes or hours",
"notification-delivery-schedule-daily": "Once a day",
"notification-delivery-interval": "Every",
"notification-delivery-minutes": "__count__ minutes",
"notification-delivery-part-details": "Toktok o valiu we i jenis",
"notification-delivery-part-dates": "Ol deit",
"notification-delivery-part-link": "Link long laen blong hem wan",
"notification-delivery-grouping": "Putum long grup",
"notification-delivery-grouping-all": "Evri samting long wan mesej",
"notification-delivery-grouping-board": "Wan long evri bod",
"notification-delivery-grouping-card": "Wan long evri kad",
"notification-delivery-grouping-none": "Evri wan i stap hem wan",
"notification-delivery-schedule": "Wetaem blong sendem",
"notification-delivery-schedule-immediate": "Stret nao",
"notification-delivery-schedule-interval": "Evri smol minit o aoa",
"notification-delivery-schedule-daily": "Wan taem long wan dei",
"notification-delivery-interval": "Evri",
"notification-delivery-minutes": "__count__ minit",
"notification-delivery-daily-time": "Long",
"notification-delivery-quiet": "Quiet hours (wait until they end)",
"notification-delivery-quiet": "Ol aoa blong kwaet (wet gogo oli finis)",
"notification-delivery-quiet-from": "Stat long",
"notification-delivery-quiet-to": "Go kasem",
"notification-delivery-quiet-clear": "No quiet hours",
"notification-delivery-timezone": "Time zone:",
"notification-delivery-invalid": "The setting could not be saved.",
"notification-group-card": "__count__ notifications on card __card__",
"notification-group-board": "__count__ notifications on board __board__",
"notification-delivery-quiet-clear": "I no gat aoa blong kwaet",
"notification-delivery-timezone": "Taem son:",
"notification-delivery-invalid": "I no save sevem seting.",
"notification-group-card": "__count__ niusem long kad __card__",
"notification-group-board": "__count__ niusem long bod __board__",
"outgoing-webhooks": "Ol webhook we oli go aot",
"bidirectional-webhooks": "Ol webhook blong tufala rod",
"outgoingWebhooksPopup-title": "Ol webhook we oli go aot",
@@ -1500,7 +1500,7 @@
"showLabel-field-on-card": "Soemaot mak blong fil long smol kad",
"showSum-field-on-list": "Soemaot totel blong ol fil long antap blong lis",
"admin-only-field": "Admin blong bod nomo i save luk",
"read-only-field": "Read-only: every member sees the value, only board admins change it",
"read-only-field": "Blong ridim nomo: evri memba i luk valiu, ol admin blong bod nomo oli jenisim",
"yes": "Io",
"no": "Nogat",
"accounts": "Ol akaon",
@@ -1692,11 +1692,11 @@
"r-format-auto": "Faenemaot otomatik",
"r-import-workflow-note": "Karem i kam wan pikja blong rod blong wok we oli karem i go long n8n o Node-RED. Ol triga/aksen we oli save oli joen wetem ol rul blong WeKan; ol wan we oli no joen bae oli talem.",
"r-import-unmapped": "I no save joenem __count__ laen",
"r-wrike-workflow": "Wrike workflow",
"r-wrike-workflow-note": "A Wrike workflow is a list of statuses, each in the Active, Completed, Deferred or Cancelled group. Export writes this board's lists as one, named after the board, in the JSON Wrike's API returns for workflows: create that workflow in Wrike before importing the board's Wrike Excel export, so its statuses are applied. Import reads that JSON pasted above, from WeKan or from Wrike's GET /workflows, into the chosen board: a status without a list becomes a list, and a rule marks a card complete when it is moved into a Completed or Cancelled status and incomplete in an Active or Deferred one. Wrike's own automation rules cannot be exported from Wrike.",
"r-export-wrike-workflow": "Export Wrike workflow",
"r-import-wrike-workflow": "Import Wrike workflow",
"r-import-wrike-workflow-done": "Wrike workflow \"__name__\": __lists__ list(s) and __rules__ rule(s) added, __skipped__ part(s) not read",
"r-wrike-workflow": "Rod blong wok blong Wrike",
"r-wrike-workflow-note": "Wan rod blong wok blong Wrike i wan lis blong ol stetas, evri wan i stap long grup Active, Completed, Deferred o Cancelled. Eksport i raetem ol lis blong bod ia olsem wan, we i karem nem blong bod, long JSON we API blong Wrike i givim blong ol rod blong wok: mekem rod blong wok ia long Wrike bifo yu karem Wrike Excel eksport blong bod i kam, blong oli yusum ol stetas blong hem. Import i ridim JSON ia we yu pestem antap, we i kam long WeKan o long GET /workflows blong Wrike, i go long bod we yu jusum: wan stetas we i no gat lis i kam wan lis, mo wan rul i makem wan kad se i finis taem oli muvum i go long wan stetas Completed o Cancelled, mo se i no finis long Active o Deferred. Yu no save sendem ol rul blong otomesen blong Wrike i kamaot long Wrike.",
"r-export-wrike-workflow": "Sendem rod blong wok blong Wrike i go",
"r-import-wrike-workflow": "Tekem rod blong wok blong Wrike i kam",
"r-import-wrike-workflow-done": "Rod blong wok blong Wrike \"__name__\": __lists__ lis mo __rules__ rul oli kam, __skipped__ pat oli no ridim",
"r-set-scheduled-triggers": "Ol triga we oli setem taem blong olgeta",
"r-set-button-triggers": "Ol baten",
"r-when-scheduled": "Folem wan taem we oli setem",
@@ -1752,8 +1752,8 @@
"set-filter": "Setem filta",
"r-moved-to": "Movem finis long",
"r-moved-from": "Movem finis long",
"r-moved-forward": "moved forward to a later list",
"r-moved-back": "moved back to an earlier list",
"r-moved-forward": "i muv i go fored long wan lis we i kam biaen",
"r-moved-back": "i muv i go bak long wan lis we i kam fastaem",
"r-archived": "Movem finis long Akaev",
"r-unarchived": "Kamaot long Akaev",
"r-commented": "oli raetem toktok long hem",
@@ -1801,8 +1801,8 @@
"r-add-actinguser-member": "Adem yusa we i statem rul ia olsem memba",
"r-remove-all": "Tekemaot evri memba long kad",
"r-assignee": "asaeni",
"r-add-actinguser-assignee": "Add the user who triggered this rule as an assignee",
"r-remove-all-assignees": "Remove all assignees from the card",
"r-add-actinguser-assignee": "Putum yusa we i statem rul ia olsem man we i gat wok",
"r-remove-all-assignees": "Tekemaot evri man we i gat wok long kad",
"r-remove-all-labels": "Tekemaot evri mak long kad",
"r-set-color": "Setem kala long",
"r-checklist": "jeklis",
@@ -1894,7 +1894,7 @@
"oauth-provider-secret-set": "Wan sikret i stap",
"oauth-providers-login-style": "Stael blong login",
"oauth-providers-merge-existing-users": "Joenem wetem wan akaon we i stap finis mo i gat sem imel",
"oauth-providers-allowed-email-domains": "Only these email domains may sign in with these providers (comma separated; empty allows all)",
"oauth-providers-allowed-email-domains": "Ol imel domen ia nomo oli save saen in wetem ol provaeda ia (koma i seraotem; emti i letem evriwan)",
"oauth-account-conflict": "Wan akaon wetem imel ia i stap finis mo oli no mekem hem wetem login rod ia",
"sign-in-with": "Login wetem %s",
"login-origin-mismatch": "Yu no save finisim go insaed tru long wan narafala seves long adres ya. Oli setem WeKan blong __expected__, be pej ya i open long __actual__. Openem WeKan long __expected__, o askem admin blong setem ROOT_URL i go long __actual__.",
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Koneksen i no wok",
"cloud-settings-saved": "Oli sevem ol seting blong storej",
"cloud-settings-save-failed": "I no save sevem ol seting blong storej",
"cloud": "Klaod",
"cloud-settings-desc": "Wetem WeKan long Weddy, Cloud Panel i givim plante WeKan domen long wan seva nomo, evri wan i gat data blong hem. Long Cloud Panel Domen, SuperAdmin i lukaotem ol domen mo CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domen",
"cloud-superadmin-username": "Nem blong yusa blong SuperAdmin",
"cloud-saved": "Oli sevem finis.",
"cloud-panel-not-allowed": "Cloud Panel i blong SuperAdmin nomo, long Cloud Panel Domen.",
"cloud-customer-name": "Nem blong kastoma",
"cloud-customer-email": "Adres blong imel blong kastoma",
"cloud-billing-email": "Adres blong imel blong bil",
"cloud-start-date": "Dei blong stat",
"cloud-end-date": "Dei blong finis",
"cloudflare-api-key": "Ki blong CloudFlare API",
"cloudflare-api-key-desc": "Wetem wan ki blong CloudFlare API, wan domen we zon blong hem i stap long akaon blong yu long CloudFlare i kasem wan DNS rekod we i pas long proxy mo wan setifiket blong CloudFlare Origin. Ol narafala domen oli kasem wan setifiket blong Let's Encrypt. Ki ia i stap long seva mo bambae oli no soem bakegen.",
"cloudflare-api-key-set": "Wan ki blong CloudFlare API i stap.",
"cloudflare-api-key-not-set": "I no gat ki blong CloudFlare API: evri domen i kasem wan setifiket blong Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Movem fael we i joen i go long Azure Blob Storage",
@@ -3276,7 +3291,7 @@
"import-report-open-board": "Openem bod",
"import-parts-instruction": "Ol pat we oli tikim nomo bae oli karem i kam. Sem jois i wok taem yu karem i go.",
"import-wekan-file": "Karem i kam long wan fael .json o .zip we oli karem i go:",
"import-file-label": "Choose the export file, or paste its text below:",
"import-file-label": "Jusum fael blong eksport, o pestem teks blong hem daon long hia:",
"sum-of-number-fields": "Sam blong ol namba kastom fil we oli soem antap long lis",
"date-range-of-fields": "Taem bitwin ol deit long ol spesel fil we oli makem blong soemaot long antap blong lis",
"more-options": "Moa jois",
@@ -3303,9 +3318,9 @@
"wip-limit-group-select-swimlane": "Jusum Rod",
"wip-limit-group-apply-swimlane": "Yusum long swimlane",
"subtask-inherit-parent-labels": "Tekem ol mak blong stamba kad",
"subtask-mark-done": "Mark subtask as done",
"subtask-mark-not-done": "Mark subtask as not done",
"subtask-done-no-permission": "You cannot change whether this subtask is done",
"subtask-mark-done": "Makem smol wok se i finis",
"subtask-mark-not-done": "Makem smol wok se i no finis",
"subtask-done-no-permission": "Yu no save jenisim sapos smol wok ia i finis o no",
"chart-forecast-none-remaining": "I no gat samting moa blong wokem - evri kad i finis.",
"chart-forecast-no-velocity": "__remaining__ kad i stap open yet; i no gat wan we i jas finis blong tokbaot deit.",
"chart-forecast-projected": "Long spid blong resen taem blong __average__ kad/wik, __remaining__ kad we oli stap open yet i sapos blong finis long __date__.",
@@ -4109,8 +4124,8 @@
"scrum-new-sprint": "Niufala sprint",
"scrum-releases": "Ol rilisim mo ol niufala haf blong prodak",
"scrum-release": "Rilisim",
"scrum-release-scope": "Cards in this release",
"scrum-releases-select-help": "A card can be in several releases. Hold Ctrl (Cmd on a Mac) to choose more than one; clear them all to remove the card from every release.",
"scrum-release-scope": "Ol kad long rilis ia",
"scrum-releases-select-help": "Wan kad i save stap long plante rilis. Holem Ctrl (Cmd long Mac) blong jusum moa long wan; klinim evriwan blong tekemaot kad long evri rilis.",
"scrum-select-sprint": "Jusum wan sprint blong luk ripot blong hem.",
"scrum-backlog": "Lis blong wok we i stap wet",
"scrum-backlog-help": "Putum wok long oda blong lis blong wok we i stap wet. Putum ol kad long wan sprint we oli planem o we i aktif.",
@@ -4180,22 +4195,22 @@
"scrum-import-resume": "Finisim wok blong tekem i kam",
"scrum-import-discard": "Kanselem wok blong tekem i kam we i no finis",
"scrum-import-recovery-hint": "Wok blong tekem i kam we i stop taem sistem i stat bakegen, yu save finisim long ples ia taem i stop finis. Sipos oli no sevem ful plan blong hem, yu save kanselem nomo; hemia i no jenisim wan samting long bod.",
"scrum-import-into-board": "Import Scrum planning into this board",
"scrum-import-into-board-hint": "Choose a WeKan board export or Scrum transfer file. Sprints and releases this board already has are linked, never duplicated. Cards are matched by ID, or by card number and title; cards that do not match are listed and left unchanged. Preview first to see what will change.",
"scrum-import-into-board": "Tekem plan blong Scrum i kam long bod ia",
"scrum-import-into-board-hint": "Jusum wan eksport blong WeKan bod o wan fael blong Scrum. Ol sprint mo rilis we bod ia i gat finis oli joen, oli neva kam tu taem. Oli faenem ol kad long ID, o long namba mo nem blong kad; ol kad we oli no stret oli stap long lis mo oli no jenis. Fes, lukluk bifo blong luk wanem bambae i jenis.",
"scrum-import-preview": "Luk fastaem",
"scrum-import-choose-file": "Choose a file first.",
"scrum-import-invalid-file": "This file is not valid JSON.",
"scrum-import-preview-sprints": "Sprints: __created__ new, __matched__ already on this board, __skipped__ not imported",
"scrum-import-preview-releases": "Releases: __created__ new, __matched__ already on this board, __skipped__ not imported",
"scrum-import-preview-cards": "Cards: __updated__ to update, __unchanged__ unchanged, __unmatched__ not matched",
"scrum-import-preview-nothing": "Nothing to change: this board already has this planning.",
"scrum-import-into-board-done": "The Scrum planning was imported and recorded in History.",
"scrum-import-card-not-matched": "A card was not found on this board: __reference__",
"scrum-import-card-ambiguous": "A card matches more than one card on this board: __reference__",
"scrum-import-card-on-another-board": "A card belongs to another board and was left unchanged: __reference__",
"scrum-import-record-ambiguous": "A sprint or release matches more than one on this board: __reference__",
"scrum-import-record-not-imported": "A sprint, release or event could not be imported: __reference__",
"scrum-import-sprint-finished": "A card was not moved into a finished sprint: __reference__",
"scrum-import-choose-file": "Fes, jusum wan fael.",
"scrum-import-invalid-file": "Fael ia i no stret JSON.",
"scrum-import-preview-sprints": "Ol sprint: __created__ niu, __matched__ oli stap finis long bod ia, __skipped__ oli no kam",
"scrum-import-preview-releases": "Ol rilis: __created__ niu, __matched__ oli stap finis long bod ia, __skipped__ oli no kam",
"scrum-import-preview-cards": "Ol kad: __updated__ blong apdetem, __unchanged__ oli no jenis, __unmatched__ oli no faenem",
"scrum-import-preview-nothing": "I no gat samting blong jenisim: bod ia i gat plan ia finis.",
"scrum-import-into-board-done": "Plan blong Scrum i kam finis mo i stap long Histori.",
"scrum-import-card-not-matched": "Wan kad i no stap long bod ia: __reference__",
"scrum-import-card-ambiguous": "Wan kad i stret wetem moa long wan kad long bod ia: __reference__",
"scrum-import-card-on-another-board": "Wan kad i blong narafala bod mo i no jenis: __reference__",
"scrum-import-record-ambiguous": "Wan sprint o rilis i stret wetem moa long wan long bod ia: __reference__",
"scrum-import-record-not-imported": "I no save karem wan sprint, rilis o samting we i hapen i kam: __reference__",
"scrum-import-sprint-finished": "Wan kad i no muv i go long wan sprint we i finis: __reference__",
"sync-conflict-heading": "Stretem ol konflik blong sinkronaes",
"sync-conflict-hint": "Jusum wan valiu blong wanwan konflik. Sinkronaes i traem bakegen afta wanwan jus. I no gat wan samting we oli sendem i go long sistem blong sos.",
"sync-conflict-local": "Valiu blong WeKan naoia",
@@ -4296,10 +4311,10 @@
"sync-original-time": "Fas estimet blong taem (aoa)",
"sync-remaining-time": "Estimet blong taem we i stap yet (aoa)",
"sync-time-estimate-hint": "Ol estimet blong taem oli yusum ol fil blong namba blong fas taem/taem we i stap yet we import blong Jira i mekem. Wan fil nomo we i semmak i mas stap long bod ia. Oli lukluk long ol lokol jenis olsem ol konflik; oli ignorim ol valiu we oli no stap long sos mo wan null we oli talem klia i kliarem valiu.",
"sync-planning-sprint": "Sprint (Scrum planning)",
"sync-planning-releases": "Releases (Scrum planning)",
"sync-planning-fields": "Sprint and releases",
"sync-planning-hint": "Sprint and releases are synced only while Scrum is enabled on this board. A sprint or release that is missing is created on this board, with the dates the source gives; an existing one is matched by its source ID first, then by name. A local planning change stays until the source changes that issue's planning, and a first Sync never removes planning.",
"sync-planning-sprint": "Sprint (plan blong Scrum)",
"sync-planning-releases": "Ol rilis (plan blong Scrum)",
"sync-planning-fields": "Sprint mo ol rilis",
"sync-planning-hint": "Sprint mo ol rilis oli sinkem nomo taem Scrum i on long bod ia. Wan sprint o rilis we i no stap, oli mekem long bod ia, wetem ol deit we sos i givim; wan we i stap finis, fes oli faenem long ID blong sos, afta long nem. Wan jenis long plan long ples ia i stap gogo sos i jenisim plan blong isiu ia, mo fes Sink i neva tekemaot plan.",
"activity-recovery-heading": "Ol notifikasen blong aktiviti we oli stap wet",
"activity-recovery-description": "Oli traem ol notifikasen we oli no finis bakegen otomatik. Lukluk long ol aktiviti we oli no stap o we oli jenis bifo yu traem bakegen. Traem bakegen i neva mekem wan aktiviti bakegen.",
"activity-recovery-empty": "I no gat notifikasen blong aktiviti we i stap wet.",
@@ -4380,53 +4395,53 @@
"rule-email-legacy-attempt-exists": "Oli sanem imel ya finis, traem sanem finis, o sakemaot finis.",
"rule-email-legacy-not-legacy": "Oli linkim imel ya bakegen finis.",
"rule-email-legacy-failed": "Oli no save finisim wok ya. Lodem pej bakegen mo traem bakegen.",
"stuck-sync-operation-heading": "List Sync operations that cannot be replayed",
"stuck-sync-operation-description": "Each of these saved List Sync operations stopped part way and can no longer be finished, because its list was removed, recreated or reconfigured, or the user who started it lost write access. While one is pending, that list cannot Sync. Discard it to let the list Sync again: changes already applied stay, the remaining saved changes are never written, and the next Sync compares the list with its source again.",
"stuck-sync-operation-list": "Board / list",
"stuck-sync-operation-heading": "Ol wok blong Lis Sink we i no save mekem bakegen",
"stuck-sync-operation-description": "Evri wan long ol wok blong Lis Sink ia we oli sevem i stop long medel mo i no save finis bakegen, from lis blong hem oli tekemaot, mekem bakegen o jenisim seting, o yusa we i statem i lusum raet blong raet. Taem wan i stap wet, lis ia i no save Sink. Sakemaot blong letem lis i Sink bakegen: ol jenis we i hapen finis oli stap, ol narafala jenis we oli sevem oli neva raet, mo nekis Sink i lukluk lis wetem sos blong hem bakegen.",
"stuck-sync-operation-list": "Bod / lis",
"stuck-sync-operation-progress": "Wok we i gohed",
"stuck-sync-operation-reason": "Risen",
"stuck-sync-operation-applied": "__applied__ of __total__ changes applied",
"stuck-sync-operation-reason-scope-changed": "The list was removed, recreated or its Sync settings changed",
"stuck-sync-operation-reason-access-denied": "The user who started it no longer has write access to the whole list",
"stuck-sync-operation-reason-trigger-unknown": "Saved by an earlier WeKan version without what started it",
"stuck-sync-operation-reason-intent-missing": "The record of who started it is missing",
"stuck-sync-operation-reason-unknown": "Could not be checked now",
"stuck-sync-operation-replayable-now": "It can be replayed again now and will finish by itself, so it cannot be discarded.",
"stuck-sync-operation-applied": "__applied__ long __total__ jenis oli hapen",
"stuck-sync-operation-reason-scope-changed": "Oli tekemaot lis, mekem bakegen, o seting blong Sink blong hem i jenis",
"stuck-sync-operation-reason-access-denied": "Yusa we i statem i no moa gat raet blong raet long fulwan lis",
"stuck-sync-operation-reason-trigger-unknown": "Wan olfala vesen blong WeKan i sevem we i no gat samting we i statem",
"stuck-sync-operation-reason-intent-missing": "Rekod blong hu i statem i no stap",
"stuck-sync-operation-reason-unknown": "I no save jekem naoia",
"stuck-sync-operation-replayable-now": "I save mekem bakegen naoia mo bambae i finis hem wan, ale yu no save sakemaot.",
"stuck-sync-operation-discard": "Sakemaot",
"stuck-sync-operation-discard-confirm": "Discard this saved List Sync operation? Changes it already applied stay; the rest are never written. The list can then Sync again.",
"stuck-sync-operation-discard-confirm": "Sakemaot wok blong Lis Sink ia we oli sevem? Ol jenis we i mekem finis oli stap; ol narafala oli neva raet. Afta lis i save Sink bakegen.",
"stuck-sync-operation-refresh": "Rifres",
"stuck-sync-operation-empty": "No List Sync operations are waiting for review.",
"stuck-sync-operation-truncated": "Only the oldest 50 are shown. Discard some and refresh to see more.",
"stuck-sync-operation-unavailable": "Could not load the List Sync operations. Refresh to try again.",
"stuck-sync-operation-missing": "This operation is no longer pending.",
"stuck-sync-operation-not-stuck": "This operation has not been found stuck, so it cannot be discarded.",
"stuck-sync-operation-replayable": "This operation can be replayed again now and will finish by itself, so it was not discarded.",
"stuck-sync-operation-busy": "This list is syncing right now. Try again in a moment.",
"stuck-sync-operation-empty": "I no gat wok blong Lis Sink we i stap wet blong lukluk.",
"stuck-sync-operation-truncated": "50 we oli moa olfala nomo oli soem. Sakemaot sam mo rifres blong luk moa.",
"stuck-sync-operation-unavailable": "I no save lodem ol wok blong Lis Sink. Rifres blong traem bakegen.",
"stuck-sync-operation-missing": "Wok ia i no moa stap wet.",
"stuck-sync-operation-not-stuck": "Oli no faenem se wok ia i stak, ale yu no save sakemaot.",
"stuck-sync-operation-replayable": "Wok ia i save mekem bakegen naoia mo bambae i finis hem wan, ale oli no sakemaot.",
"stuck-sync-operation-busy": "Lis ia i stap sink stret naoia. Traem bakegen smol taem afta.",
"stuck-sync-operation-failed": "Oli no save finisim wok ya. Lodem pej bakegen mo traem bakegen.",
"interrupted-import-heading": "Board imports that stopped before finishing",
"interrupted-import-description": "Each of these board imports stopped part way - the server restarted, or the import failed - and left a partial board. An import cannot be continued, because its source file is not kept. Keep the board as it is, or discard it and import the file again. Discarding removes the board this import created and everything on it, including anything added to it since.",
"interrupted-import-heading": "Ol import blong bod we oli stop bifo oli finis",
"interrupted-import-description": "Evri wan long ol import blong bod ia i stop long medel - seva i stat bakegen, o import i no wok - mo i livim wan bod we i no fulwan. Yu no save gohed wetem wan import, from oli no kipim fael blong hem. Kipim bod olsem we i stap, o sakemaot mo karem fael i kam bakegen. Sakemaot i tekemaot bod we import ia i mekem mo evri samting long hem, wetem eni samting we oli putum afta.",
"interrupted-import-board": "Bod",
"interrupted-import-progress": "Where it stopped",
"interrupted-import-created": "Created so far",
"interrupted-import-source": "Imported from __source__",
"interrupted-import-state-stopped": "Stopped without finishing, at __stage__",
"interrupted-import-state-failed": "Failed with __error__, at __stage__",
"interrupted-import-state-discarding": "Being discarded; discard again to finish",
"interrupted-import-scrum": "Its Scrum stage has its own checkpoint (__state__, __next__ of __total__ steps). If you keep the board, finish or discard it from the board's Scrum import recovery.",
"interrupted-import-counts": "__swimlanes__ swimlanes, __lists__ lists, __cards__ cards, __checklists__ checklists, __comments__ comments, __attachments__ attachments",
"interrupted-import-no-board": "No board was created",
"interrupted-import-keep": "Keep",
"interrupted-import-progress": "Wea i stop",
"interrupted-import-created": "Samting we i mekem kasem naoia",
"interrupted-import-source": "I kam long __source__",
"interrupted-import-state-stopped": "I stop be i no finis, long __stage__",
"interrupted-import-state-failed": "I no wok wetem __error__, long __stage__",
"interrupted-import-state-discarding": "I stap sakemaot; sakemaot bakegen blong finisim",
"interrupted-import-scrum": "Stej blong Scrum blong hem i gat jekpoen blong hem wan (__state__, __next__ long __total__ step). Sapos yu kipim bod, finisim o sakemaot long Scrum import rekavri blong bod.",
"interrupted-import-counts": "__swimlanes__ rod, __lists__ lis, __cards__ kad, __checklists__ jeklis, __comments__ toktok, __attachments__ atajmen",
"interrupted-import-no-board": "I no mekem wan bod",
"interrupted-import-keep": "Kipim",
"interrupted-import-discard": "Sakemaot",
"interrupted-import-keep-confirm": "Keep this partial board as it is? Nothing is removed, and the import is no longer listed here.",
"interrupted-import-discard-confirm": "Discard this import? The board it created and everything on it are removed permanently.",
"interrupted-import-keep-confirm": "Kipim bod ia we i no fulwan olsem we i stap? I no tekemaot wan samting, mo import i no moa stap long lis ia.",
"interrupted-import-discard-confirm": "Sakemaot import ia? Bod we i mekem mo evri samting long hem bambae oli lus olgeta.",
"interrupted-import-refresh": "Rifres",
"interrupted-import-empty": "No interrupted board imports are waiting for review.",
"interrupted-import-truncated": "Only the oldest 50 are shown. Keep or discard some and refresh to see more.",
"interrupted-import-unavailable": "Could not load the interrupted board imports. Refresh to try again.",
"interrupted-import-missing": "This import is no longer recorded.",
"interrupted-import-not-interrupted": "This import is not waiting for a decision any more.",
"interrupted-import-foreign-board": "The board with this id was not created by this import, so it was not touched.",
"interrupted-import-scrum-busy": "Its Scrum stage is still being written or recovered. Try again in a few minutes.",
"interrupted-import-empty": "I no gat import blong bod we i stop we i stap wet blong lukluk.",
"interrupted-import-truncated": "50 we oli moa olfala nomo oli soem. Kipim o sakemaot sam mo rifres blong luk moa.",
"interrupted-import-unavailable": "I no save lodem ol import blong bod we oli stop. Rifres blong traem bakegen.",
"interrupted-import-missing": "Import ia i no moa stap long rekod.",
"interrupted-import-not-interrupted": "Import ia i no moa wet blong wan disisen.",
"interrupted-import-foreign-board": "Import ia i no mekem bod wetem id ia, ale i no tajem.",
"interrupted-import-scrum-busy": "Stej blong Scrum blong hem i stap raet o rekava yet. Traem bakegen long sam minit.",
"interrupted-import-failed": "Oli no save finisim wok ya. Lodem pej bakegen mo traem bakegen.",
"saml-login-not-started": "Yu no bin statem SAML login ia long tab ia blong brausa. Plis go insaed bakegen.",
"move-selection-before": "Bifo",
@@ -4436,13 +4451,13 @@
"history-request-hint": "Taem yu traem bakegen, hem i ripitim semfala rikwest nomo, mekem se hem i no save tekemaot wan nara jenis.",
"history-request-retry": "Traem bakegen",
"history-request-forget": "Fogetem",
"scrum-history-checkpoint-stuck": "An undo, redo or restore of Scrum changes stopped on a conflict. Scrum edits on this board are blocked until it is resolved.",
"scrum-history-checkpoint-counts": "__applied__ of __total__ changes were written, __pending__ were not, and __conflicted__ were changed by someone else since.",
"scrum-history-checkpoint-hint": "Rolling back puts every changed record back as it was before; it is offered only when nobody else has changed those records since. Keeping the board as it is removes the stopped operation and changes no records. Either way, it is recorded in Admin Panel, Problems, Recovery.",
"scrum-history-checkpoint-rollback": "Roll back",
"scrum-history-checkpoint-discard": "Keep the board as it is",
"scrum-history-checkpoint-discard-confirm": "Keep every record as it is now, including the changes the stopped operation already wrote?",
"scrum-history-checkpoint-ask-admin": "A board administrator can roll it back or keep the board as it is.",
"scrum-history-checkpoint-stuck": "Wan andu, ridu o ristoa blong ol jenis blong Scrum i stop long wan rao. Ol jenis blong Scrum long bod ia oli blok gogo oli stretem.",
"scrum-history-checkpoint-counts": "__applied__ long __total__ jenis oli raet, __pending__ oli no raet, mo __conflicted__ narafala man i jenisim afta.",
"scrum-history-checkpoint-hint": "Tanem i go bak i putum evri rekod we i jenis olsem we i stap bifo; i stap nomo taem i no gat narafala man we i jenisim ol rekod ia afta. Kipim bod olsem we i stap i tekemaot wok we i stop mo i no jenisim eni rekod. Wanem rod yu jusum, i stap long Panel blong admin, Ol problem, Rekavri.",
"scrum-history-checkpoint-rollback": "Tanem i go bak",
"scrum-history-checkpoint-discard": "Kipim bod olsem we i stap",
"scrum-history-checkpoint-discard-confirm": "Kipim evri rekod olsem we i stap naoia, wetem ol jenis we wok we i stop i raetem finis?",
"scrum-history-checkpoint-ask-admin": "Wan admin blong bod i save tanem i go bak o kipim bod olsem we i stap.",
"header-login": "Go insaed tru long ol heda blong HTTP",
"login-setting-clear-secret": "Tekemaot valiu we i stap long panel blong admin",
"login-setting-after-restart": "I stat wok afta we WeKan i stat bakegen",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Ɲɔgɔnya ma ɲɛ",
"cloud-settings-saved": "Mara yɔrɔ labɛnniw maralen don",
"cloud-settings-save-failed": "Mara yɔrɔ labɛnniw marali ma ɲɛ",
"cloud": "Sankaba",
"cloud-settings-desc": "Ni WeKan ye Weddy kɔnɔ, Cloud Panel bɛ WeKan domɛni caman baara ka bɔ server kelen na, u kelen-kelen bɛɛ ni a yɛrɛ ka kunnafoniw. Cloud Panel Domɛni kan, SuperAdmin bɛ domɛniw ni CloudFlare ɲɛmɔgɔya.",
"cloud-panel-domain": "Cloud Panel Domɛni",
"cloud-superadmin-username": "SuperAdmin baarakɛla tɔgɔ",
"cloud-saved": "A marala.",
"cloud-panel-not-allowed": "Cloud Panel ye SuperAdmin dama ta ye, Cloud Panel Domɛni kan.",
"cloud-customer-name": "Sannikɛla tɔgɔ",
"cloud-customer-email": "Sannikɛla imɛli ladɛrɛsi",
"cloud-billing-email": "Sarali imɛli ladɛrɛsi",
"cloud-start-date": "Daminɛ don",
"cloud-end-date": "Laban don",
"cloudflare-api-key": "CloudFlare API kilé",
"cloudflare-api-key-desc": "Ni CloudFlare API kilé ye, domɛni min ka zone bɛ i ka CloudFlare jatebɔ la, o bɛ proxy DNS sɛbɛn ni CloudFlare Origin sɛbɛn sɔrɔ. Domɛni tɔw bɛ Let's Encrypt sɛbɛn sɔrɔ. Kilé bɛ mara server kan, a tɛna jira tugun abada.",
"cloudflare-api-key-set": "CloudFlare API kilé marala.",
"cloudflare-api-key-not-set": "CloudFlare API kilé si ma mara: domɛni bɛɛ bɛ Let's Encrypt sɛbɛn sɔrɔ.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Ɲɔgɔnnan bila Azure Blob Storage la",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "সংযোগ ব্যর্থ",
"cloud-settings-saved": "সংরক্ষণাগার সেটিংস সংরক্ষিত হয়েছে",
"cloud-settings-save-failed": "সংরক্ষণাগার সেটিংস সংরক্ষণ ব্যর্থ হয়েছে",
"cloud": "ক্লাউড",
"cloud-settings-desc": "Weddy-তে WeKan দিয়ে Cloud Panel একটি সার্ভার থেকে অনেক WeKan ডোমেইন পরিবেশন করে, প্রতিটির নিজস্ব ডেটা থাকে। Cloud Panel ডোমেইনে SuperAdmin ডোমেইনগুলো এবং CloudFlare পরিচালনা করেন।",
"cloud-panel-domain": "Cloud Panel ডোমেইন",
"cloud-superadmin-username": "SuperAdmin ব্যবহারকারীর নাম",
"cloud-saved": "সংরক্ষিত হয়েছে।",
"cloud-panel-not-allowed": "Cloud Panel কেবল SuperAdmin-এর জন্য, Cloud Panel ডোমেইনে।",
"cloud-customer-name": "গ্রাহকের নাম",
"cloud-customer-email": "গ্রাহকের ইমেইল ঠিকানা",
"cloud-billing-email": "বিলিং ইমেইল ঠিকানা",
"cloud-start-date": "শুরুর তারিখ",
"cloud-end-date": "শেষের তারিখ",
"cloudflare-api-key": "CloudFlare API কী",
"cloudflare-api-key-desc": "CloudFlare API কী থাকলে, যে ডোমেইনের জোন আপনার CloudFlare অ্যাকাউন্টে আছে সেটি একটি প্রক্সি করা DNS রেকর্ড এবং একটি CloudFlare Origin সার্টিফিকেট পায়। অন্যান্য ডোমেইন একটি Let's Encrypt সার্টিফিকেট পায়। কী-টি সার্ভারে সংরক্ষিত থাকে এবং আর কখনো দেখানো হয় না।",
"cloudflare-api-key-set": "একটি CloudFlare API কী সংরক্ষিত আছে।",
"cloudflare-api-key-not-set": "কোনো CloudFlare API কী সংরক্ষিত নেই: প্রতিটি ডোমেইন একটি Let's Encrypt সার্টিফিকেট পায়।",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "সংযুক্তি Azure Blob Storage-এ সরান",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "སྦྲེལ་མཐུད་ཕམ་པ།",
"cloud-settings-saved": "ཉར་ཚགས་སྒྲིག་ཉར་ཟིན།",
"cloud-settings-save-failed": "ཉར་ཚགས་སྒྲིག་ཉར་མ་ཐུབ།",
"cloud": "སྤྲིན།",
"cloud-settings-desc": "Weddy ནང་གི་ WeKan དང་མཉམ་དུ། Cloud Panel གྱིས་ཞབས་ཞུ་འཕྲུལ་ཆས་གཅིག་ནས་ WeKan ཁྱབ་ཁོངས་མང་པོར་ཞབས་ཞུ་སྒྲུབ། རེ་རེར་རང་གི་གཞི་གྲངས་ཡོད། Cloud Panel ཁྱབ་ཁོངས་སུ་ SuperAdmin གྱིས་ཁྱབ་ཁོངས་དང་ CloudFlare དོ་དམ་བྱེད།",
"cloud-panel-domain": "Cloud Panel ཁྱབ་ཁོངས།",
"cloud-superadmin-username": "SuperAdmin བེད་སྤྱོད་མཁན་གྱི་མིང་།",
"cloud-saved": "ཉར་ཚགས་བྱས་ཟིན།",
"cloud-panel-not-allowed": "Cloud Panel ནི་ SuperAdmin ཁོ་ན་ལ་ཡིན། Cloud Panel ཁྱབ་ཁོངས་སུ།",
"cloud-customer-name": "མཁོ་མཁན་གྱི་མིང་།",
"cloud-customer-email": "མཁོ་མཁན་གྱི་གློག་འཕྲིན་ཁ་བྱང་།",
"cloud-billing-email": "འཇལ་ཐོའི་གློག་འཕྲིན་ཁ་བྱང་།",
"cloud-start-date": "འགོ་འཛུགས་ཚེས་གྲངས།",
"cloud-end-date": "མཇུག་སྒྲིལ་ཚེས་གྲངས།",
"cloudflare-api-key": "CloudFlare API ལྡེ་མིག",
"cloudflare-api-key-desc": "CloudFlare API ལྡེ་མིག་ཡོད་ན། ཁྱེད་ཀྱི་ CloudFlare རྩིས་ཐོའི་ནང་ zone ཡོད་པའི་ཁྱབ་ཁོངས་ལ་ proxy བྱས་པའི་ DNS ཟིན་ཐོ་དང་ CloudFlare Origin ལག་ཁྱེར་ཐོབ། ཁྱབ་ཁོངས་གཞན་ལ་ Let's Encrypt ལག་ཁྱེར་ཐོབ། ལྡེ་མིག་ཞབས་ཞུ་འཕྲུལ་ཆས་སུ་ཉར་ཞིང་ཡང་བསྐྱར་སྟོན་མི་སྲིད།",
"cloudflare-api-key-set": "CloudFlare API ལྡེ་མིག་ཉར་ཟིན།",
"cloudflare-api-key-not-set": "CloudFlare API ལྡེ་མིག་གང་ཡང་ཉར་མེད། ཁྱབ་ཁོངས་རེ་རེར་ Let's Encrypt ལག་ཁྱེར་ཐོབ།",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "ཟུར་སྣོན་ Azure Blob Storage ལ་སྤོ།",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "C'hwitet eo ar c'hennask",
"cloud-settings-saved": "Enrollet eo arventennoù ar c'hadaviñ",
"cloud-settings-save-failed": "C'hwitet eo enrollañ arventennoù ar c'hadaviñ",
"cloud": "Koumoul",
"cloud-settings-desc": "Gant WeKan e Weddy e servij ar Cloud Panel kalz domanioù WeKan diwar ur servijer hepken, pep hini gant e roadennoù dezhañ. War domani ar Cloud Panel e vera ar SuperAdmin an domanioù ha CloudFlare.",
"cloud-panel-domain": "Domani ar Cloud Panel",
"cloud-superadmin-username": "Anv implijer ar SuperAdmin",
"cloud-saved": "Enrollet.",
"cloud-panel-not-allowed": "Evit ar SuperAdmin hepken eo ar Cloud Panel, war domani ar Cloud Panel.",
"cloud-customer-name": "Anv ar pratik",
"cloud-customer-email": "Chomlec'h postel ar pratik",
"cloud-billing-email": "Chomlec'h postel ar fakturennoù",
"cloud-start-date": "Deiziad kregiñ",
"cloud-end-date": "Deiziad echuiñ",
"cloudflare-api-key": "Alc'hwez API CloudFlare",
"cloudflare-api-key-desc": "Gant un alc'hwez API CloudFlare e resev un domani e zonenn en ho kont CloudFlare un enrolladenn DNS dre proksi hag un testeni CloudFlare Origin. An domanioù all a resev un testeni Let's Encrypt. Enrollet eo an alc'hwez war ar servijer ha ne vo morse diskouezet en-dro.",
"cloudflare-api-key-set": "Enrollet eo un alc'hwez API CloudFlare.",
"cloudflare-api-key-not-set": "N'eus alc'hwez API CloudFlare enrollet ebet: pep domani a resev un testeni Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Dilec'hiañ ar stagadenn da Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Veza nije uspjela",
"cloud-settings-saved": "Postavke pohranjivanja spremljene",
"cloud-settings-save-failed": "Spremanje postavki pohranjivanja nije uspjelo",
"cloud": "Oblak",
"cloud-settings-desc": "Uz WeKan u Weddyju, Cloud Panel poslužuje mnogo WeKan domena s jednog servera, svaki sa svojim podacima. Na domeni Cloud Panela, SuperAdmin upravlja domenama i CloudFlareom.",
"cloud-panel-domain": "Domena Cloud Panela",
"cloud-superadmin-username": "Korisničko ime SuperAdmina",
"cloud-saved": "Sačuvano.",
"cloud-panel-not-allowed": "Cloud Panel je samo za SuperAdmina, na domeni Cloud Panela.",
"cloud-customer-name": "Ime kupca",
"cloud-customer-email": "Adresa e-pošte kupca",
"cloud-billing-email": "Adresa e-pošte za naplatu",
"cloud-start-date": "Datum početka",
"cloud-end-date": "Datum završetka",
"cloudflare-api-key": "CloudFlare API ključ",
"cloudflare-api-key-desc": "S CloudFlare API ključem, domena čija je zona u vašem CloudFlare računu dobija DNS zapis preko proxyja i CloudFlare Origin certifikat. Ostale domene dobijaju Let's Encrypt certifikat. Ključ se sprema na serveru i nikada se više ne prikazuje.",
"cloudflare-api-key-set": "CloudFlare API ključ je spremljen.",
"cloudflare-api-key-not-set": "Nijedan CloudFlare API ključ nije spremljen: svaka domena dobija Let's Encrypt certifikat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Premjesti privitak u Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Холболто бүтэсэгүй",
"cloud-settings-saved": "Хадагаламжын тохируулганууд хадагалагдаба",
"cloud-settings-save-failed": "Хадагаламжын тохируулгануудые хадагалжа шадабагүй",
"cloud": "Үүлэн",
"cloud-settings-desc": "Weddy соо WeKan-тай хамта Cloud Panel нэгэ серверһээ олон WeKan домэнуудые алба хэдэг, тус бүриндэнь өөрын мэдээсэл бии. Cloud Panel домэн дээрэ SuperAdmin домэнуудые болон CloudFlare-ые хүтэлбэрилдэг.",
"cloud-panel-domain": "Cloud Panel домэн",
"cloud-superadmin-username": "SuperAdmin хэрэглэгшын нэрэ",
"cloud-saved": "Хадагалагдаа.",
"cloud-panel-not-allowed": "Cloud Panel гансал SuperAdmin-ай түлөө, Cloud Panel домэн дээрэ.",
"cloud-customer-name": "Клиентын нэрэ",
"cloud-customer-email": "Клиентын сахим захидалай хаяг",
"cloud-billing-email": "Түлбэриин сахим захидалай хаяг",
"cloud-start-date": "Эхилхэ үдэр",
"cloud-end-date": "Дүүрэхэ үдэр",
"cloudflare-api-key": "CloudFlare API түлхюур",
"cloudflare-api-key-desc": "CloudFlare API түлхюуртай һаа, таны CloudFlare данса соо зонотой домэн прокси дамжуулһан DNS бэшэлгэ болон CloudFlare Origin гэршэлгэ абадаг. Бусад домэнууд Let's Encrypt гэршэлгэ абадаг. Түлхюур серверт хадагалагдадаг, дахин хэзээш харуулагдахагүй.",
"cloudflare-api-key-set": "CloudFlare API түлхюур хадагалагдаһан.",
"cloudflare-api-key-not-set": "Ямаршье CloudFlare API түлхюур хадагалагдаагүй: домэн бүхэн Let's Encrypt гэршэлгэ абадаг.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Хабсаргалта Azure Blob Storage руу зөөхэ",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "La connexió ha fallat",
"cloud-settings-saved": "S'ha desat la configuració de l'emmagatzematge",
"cloud-settings-save-failed": "No s'ha pogut desar la configuració de l'emmagatzematge",
"cloud": "Núvol",
"cloud-settings-desc": "Amb WeKan a Weddy, el Cloud Panel serveix molts dominis de WeKan des d'un sol servidor, cadascun amb les seves dades. Al domini del Cloud Panel, el SuperAdmin gestiona els dominis i CloudFlare.",
"cloud-panel-domain": "Domini del Cloud Panel",
"cloud-superadmin-username": "Nom d'usuari del SuperAdmin",
"cloud-saved": "Desat.",
"cloud-panel-not-allowed": "El Cloud Panel és només per al SuperAdmin, al domini del Cloud Panel.",
"cloud-customer-name": "Nom del client",
"cloud-customer-email": "Adreça de correu electrònic del client",
"cloud-billing-email": "Adreça de correu electrònic de facturació",
"cloud-start-date": "Data d'inici",
"cloud-end-date": "Data de finalització",
"cloudflare-api-key": "Clau API de CloudFlare",
"cloudflare-api-key-desc": "Amb una clau API de CloudFlare, un domini la zona del qual és al vostre compte de CloudFlare obté un registre DNS amb servidor intermediari i un certificat CloudFlare Origin. Els altres dominis obtenen un certificat Let's Encrypt. La clau es desa al servidor i no es torna a mostrar mai més.",
"cloudflare-api-key-set": "S'ha desat una clau API de CloudFlare.",
"cloudflare-api-key-not-set": "No s'ha desat cap clau API de CloudFlare: cada domini obté un certificat Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mou l'adjunt a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "La connexió ha fallat",
"cloud-settings-saved": "S'ha desat la configuració de l'emmagatzematge",
"cloud-settings-save-failed": "No s'ha pogut desar la configuració de l'emmagatzematge",
"cloud": "Núvol",
"cloud-settings-desc": "Amb WeKan en Weddy, el Cloud Panel servix molts dominis de WeKan des d'un sol servidor, cadascun amb les seues dades. En el domini del Cloud Panel, el SuperAdmin gestiona els dominis i CloudFlare.",
"cloud-panel-domain": "Domini del Cloud Panel",
"cloud-superadmin-username": "Nom d'usuari del SuperAdmin",
"cloud-saved": "Desat.",
"cloud-panel-not-allowed": "El Cloud Panel és només per al SuperAdmin, en el domini del Cloud Panel.",
"cloud-customer-name": "Nom del client",
"cloud-customer-email": "Adreça de correu electrònic del client",
"cloud-billing-email": "Adreça de correu electrònic de facturació",
"cloud-start-date": "Data d'inici",
"cloud-end-date": "Data de finalització",
"cloudflare-api-key": "Clau API de CloudFlare",
"cloudflare-api-key-desc": "Amb una clau API de CloudFlare, un domini la zona del qual està en el vostre compte de CloudFlare obté un registre DNS amb servidor intermediari i un certificat CloudFlare Origin. Els altres dominis obtenen un certificat Let's Encrypt. La clau es guarda en el servidor i no es torna a mostrar mai més.",
"cloudflare-api-key-set": "S'ha guardat una clau API de CloudFlare.",
"cloudflare-api-key-not-set": "No s'ha guardat cap clau API de CloudFlare: cada domini obté un certificat Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mou l'adjunt a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "La connexió ha fallat",
"cloud-settings-saved": "S'ha desat la configuració de l'emmagatzematge",
"cloud-settings-save-failed": "No s'ha pogut desar la configuració de l'emmagatzematge",
"cloud": "Núvol",
"cloud-settings-desc": "Amb WeKan a Weddy, el Cloud Panel serveix molts dominis de WeKan des d'un sol servidor, cadascun amb les seves dades. Al domini del Cloud Panel, el SuperAdmin gestiona els dominis i CloudFlare.",
"cloud-panel-domain": "Domini del Cloud Panel",
"cloud-superadmin-username": "Nom d'usuari del SuperAdmin",
"cloud-saved": "Desat.",
"cloud-panel-not-allowed": "El Cloud Panel és només per al SuperAdmin, al domini del Cloud Panel.",
"cloud-customer-name": "Nom del client",
"cloud-customer-email": "Adreça de correu electrònic del client",
"cloud-billing-email": "Adreça de correu electrònic de facturació",
"cloud-start-date": "Data d'inici",
"cloud-end-date": "Data de finalització",
"cloudflare-api-key": "Clau API de CloudFlare",
"cloudflare-api-key-desc": "Amb una clau API de CloudFlare, un domini la zona del qual és al vostre compte de CloudFlare obté un registre DNS amb servidor intermediari i un certificat CloudFlare Origin. Els altres dominis obtenen un certificat Let's Encrypt. La clau es desa al servidor i no es torna a mostrar mai més.",
"cloudflare-api-key-set": "S'ha desat una clau API de CloudFlare.",
"cloudflare-api-key-not-set": "No s'ha desat cap clau API de CloudFlare: cada domini obté un certificat Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mou l'adjunt a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "ᎠᏚᏓᎸᏗ Ꮭ ᏱᎨᏎᏍᏗ",
"cloud-settings-saved": "ᎠᏍᏆᏂᎪᏙᏗ ᏗᎧᎿᏩᏛᏍᏗ ᏗᏍᏆᏂᎪᏙᏅ",
"cloud-settings-save-failed": "ᎠᏍᏆᏂᎪᏙᏗ ᏗᎧᎿᏩᏛᏍᏗ ᏗᏍᏆᏂᎪᏙᏗ Ꮭ ᏱᎨᏎᏍᏗ",
"cloud": "ᎤᎶᎩᎸ",
"cloud-settings-desc": "WeKan Weddy ᎠᏂ ᏥᎨᏒ, Cloud Panel ᎤᏂᏣᏘ WeKan ᏗᏓᏁᎸ ᏌᏉ ᎠᏓᏁᎯ ᏅᏓᏳᏓᎴᏅ ᏕᎦᏘᏍᏗᏍᎪ, ᏑᏓᎴᎩ ᎤᏩᏒ ᏧᎾᏙᎴᏆᏍᏗ ᎤᏁᎯ. Cloud Panel ᏗᏓᏁᎸ ᎾᎿ, SuperAdmin ᏕᎦᏁᎶᏗᏍᎪ ᏗᏓᏁᎸ ᎠᎴ CloudFlare.",
"cloud-panel-domain": "Cloud Panel ᏗᏓᏁᎸ",
"cloud-superadmin-username": "SuperAdmin ᎤᏬᏢᏗ ᏚᏙᎥ",
"cloud-saved": "ᎠᏍᏆᏂᎪᏔᏅᎯ.",
"cloud-panel-not-allowed": "Cloud Panel SuperAdmin ᎤᏩᏒᏉ ᎤᎬᏩᎶᏗ, Cloud Panel ᏗᏓᏁᎸ ᎾᎿ.",
"cloud-customer-name": "ᎠᏓᏩᏛᎯ ᏚᏙᎥ",
"cloud-customer-email": "ᎠᏓᏩᏛᎯ ᏗᎦᎵᏦᏙᏗ ᎦᏙᎬ",
"cloud-billing-email": "ᎠᏴᎾᏗ ᏗᎦᎵᏦᏙᏗ ᎦᏙᎬ",
"cloud-start-date": "ᏗᏓᎴᏂᏍᎬ ᎢᎦ",
"cloud-end-date": "ᎤᎵᏍᏆᏗᏍᏗ ᎢᎦ",
"cloudflare-api-key": "CloudFlare API ᏗᏍᏚᎢᏍᏗ",
"cloudflare-api-key-desc": "CloudFlare API ᏗᏍᏚᎢᏍᏗ ᏤᎭ ᎢᏳᏃ, ᏗᏓᏁᎸ ᎾᏍᎩ ᎤᏤᎵ zone ᏣᏤᎵ CloudFlare ᎾᎿ ᏤᎭ ᎠᏩᏘᏍᎪ proxy DNS ᎪᏪᎵ ᎠᎴ CloudFlare Origin ᎪᏪᎵ. ᏅᏩᎾᏓᎴ ᏗᏓᏁᎸ ᎠᏂᏩᏘᏍᎪ Let's Encrypt ᎪᏪᎵ. ᏗᏍᏚᎢᏍᏗ ᎠᏓᏁᎯ ᎾᎿ ᎠᏍᏆᏂᎪᏗ ᎠᎴ ᎥᏝ ᎤᏟ ᎢᎸᎯᏳ ᎬᏂᎨᏒ ᏱᎨᏎᏍᏗ.",
"cloudflare-api-key-set": "CloudFlare API ᏗᏍᏚᎢᏍᏗ ᎠᏍᏆᏂᎪᏗ.",
"cloudflare-api-key-not-set": "ᎥᏝ CloudFlare API ᏗᏍᏚᎢᏍᏗ ᏯᏍᏆᏂᎪᏗ: ᏂᎦᏓ ᏗᏓᏁᎸ ᎠᏩᏘᏍᎪ Let's Encrypt ᎪᏪᎵ.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "ᎦᏛᎯᏍᏔᏅ Azure Blob Storage ᏫᎦᏅᏗ",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "پەیوەندی شکستی هێنا",
"cloud-settings-saved": "ڕێکخستنەکانی بیرگە پاشەکەوت کران",
"cloud-settings-save-failed": "پاشەکەوتکردنی ڕێکخستنەکانی بیرگە شکستی هێنا",
"cloud": "هەور",
"cloud-settings-desc": "بە WeKan لە Weddy، Cloud Panel زۆر دۆمەینی WeKan لە یەک ڕاژەکارەوە پێشکەش دەکات، هەر یەکەیان داتای خۆی هەیە. لە دۆمەینی Cloud Panel، SuperAdmin دۆمەینەکان و CloudFlare بەڕێوە دەبات.",
"cloud-panel-domain": "دۆمەینی Cloud Panel",
"cloud-superadmin-username": "ناوی بەکارهێنەری SuperAdmin",
"cloud-saved": "پاشەکەوت کرا.",
"cloud-panel-not-allowed": "Cloud Panel تەنها بۆ SuperAdmin ە، لە دۆمەینی Cloud Panel.",
"cloud-customer-name": "ناوی کڕیار",
"cloud-customer-email": "ناونیشانی ئیمەیلی کڕیار",
"cloud-billing-email": "ناونیشانی ئیمەیلی پسوولە",
"cloud-start-date": "ڕێکەوتی دەستپێک",
"cloud-end-date": "ڕێکەوتی کۆتایی",
"cloudflare-api-key": "کلیلی CloudFlare API",
"cloudflare-api-key-desc": "بە کلیلی CloudFlare API، دۆمەینێک کە ناوچەکەی لە هەژماری CloudFlare ەکەتدایە تۆمارێکی DNS ی پرۆکسیکراو و بڕوانامەیەکی CloudFlare Origin وەردەگرێت. دۆمەینەکانی تر بڕوانامەیەکی Let's Encrypt وەردەگرن. کلیلەکە لەسەر ڕاژەکار پاشەکەوت دەکرێت و هەرگیز دووبارە پیشان نادرێتەوە.",
"cloudflare-api-key-set": "کلیلێکی CloudFlare API پاشەکەوت کراوە.",
"cloudflare-api-key-not-set": "هیچ کلیلێکی CloudFlare API پاشەکەوت نەکراوە: هەموو دۆمەینێک بڕوانامەیەکی Let's Encrypt وەردەگرێت.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "هاوپێچ بگوازەوە بۆ Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "连接失败",
"cloud-settings-saved": "存储设置已保存",
"cloud-settings-save-failed": "保存存储设置失败",
"cloud": "云",
"cloud-settings-desc": "在 Weddy 中使用 WeKan 时,Cloud Panel 从一台服务器为多个 WeKan 域名提供服务,每个域名都有自己的数据。在 Cloud Panel 域名上,SuperAdmin 管理这些域名和 CloudFlare。",
"cloud-panel-domain": "Cloud Panel 域名",
"cloud-superadmin-username": "SuperAdmin 用户名",
"cloud-saved": "已保存。",
"cloud-panel-not-allowed": "Cloud Panel 仅供 SuperAdmin 在 Cloud Panel 域名上使用。",
"cloud-customer-name": "客户名称",
"cloud-customer-email": "客户电子邮件地址",
"cloud-billing-email": "账单电子邮件地址",
"cloud-start-date": "开始日期",
"cloud-end-date": "结束日期",
"cloudflare-api-key": "CloudFlare API 密钥",
"cloudflare-api-key-desc": "使用 CloudFlare API 密钥后,其区域位于您的 CloudFlare 账户中的域名将获得代理的 DNS 记录和 CloudFlare Origin 证书。其他域名将获得 Let's Encrypt 证书。密钥保存在服务器上,且不会再次显示。",
"cloudflare-api-key-set": "已保存 CloudFlare API 密钥。",
"cloudflare-api-key-not-set": "未保存 CloudFlare API 密钥:每个域名都将获得 Let's Encrypt 证书。",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "将附件移动到 Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Cunnessione fiascata",
"cloud-settings-saved": "Parametri d’almacenamentu arregistrati",
"cloud-settings-save-failed": "Ùn hè statu pussibule d’arregistrà i paràmetri d’almacenamentu",
"cloud": "Nivulu",
"cloud-settings-desc": "Cù WeKan in Weddy, u Cloud Panel serve parechji duminii WeKan da un solu servitore, ognunu cù i so dati. À u duminiu di u Cloud Panel, u SuperAdmin gestisce i duminii è CloudFlare.",
"cloud-panel-domain": "Duminiu di u Cloud Panel",
"cloud-superadmin-username": "Nome d'utilizatore di u SuperAdmin",
"cloud-saved": "Salvatu.",
"cloud-panel-not-allowed": "U Cloud Panel hè solu per u SuperAdmin, à u duminiu di u Cloud Panel.",
"cloud-customer-name": "Nome di u cliente",
"cloud-customer-email": "Indirizzu elettronicu di u cliente",
"cloud-billing-email": "Indirizzu elettronicu di fatturazione",
"cloud-start-date": "Data di principiu",
"cloud-end-date": "Data di fine",
"cloudflare-api-key": "Chjave API CloudFlare",
"cloudflare-api-key-desc": "Cù una chjave API CloudFlare, un duminiu chì a so zona hè in u vostru contu CloudFlare riceve un arregistramentu DNS per proxy è un certificatu CloudFlare Origin. L'altri duminii ricevenu un certificatu Let's Encrypt. A chjave hè salvata nant'à u servitore è ùn hè mai più mustrata.",
"cloudflare-api-key-set": "Una chjave API CloudFlare hè salvata.",
"cloudflare-api-key-not-set": "Nisuna chjave API CloudFlare hè salvata: ogni duminiu riceve un certificatu Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move l’appicciu in Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Připojení selhalo",
"cloud-settings-saved": "Nastavení úložiště uloženo",
"cloud-settings-save-failed": "Uložení nastavení úložiště selhalo",
"cloud": "Oblak",
"cloud-settings-desc": "S WeKanem ve Weddy obsluhuje Cloud Panel mnoho domén WeKanu z jednoho serveru, každou s vlastními daty. Na doméně Cloud Panelu spravuje SuperAdmin domény a CloudFlare.",
"cloud-panel-domain": "Doména Cloud Panelu",
"cloud-superadmin-username": "Uživatelské jméno SuperAdmina",
"cloud-saved": "Uloženo.",
"cloud-panel-not-allowed": "Cloud Panel je pouze pro SuperAdmina, na doméně Cloud Panelu.",
"cloud-customer-name": "Jméno zákazníka",
"cloud-customer-email": "E-mailová adresa zákazníka",
"cloud-billing-email": "Fakturační e-mailová adresa",
"cloud-start-date": "Datum začátku",
"cloud-end-date": "Datum konce",
"cloudflare-api-key": "Klíč CloudFlare API",
"cloudflare-api-key-desc": "S klíčem CloudFlare API získá doména, jejíž zóna je ve vašem účtu CloudFlare, DNS záznam přes proxy a certifikát CloudFlare Origin. Ostatní domény získají certifikát Let's Encrypt. Klíč se uloží na serveru a už se nikdy nezobrazí.",
"cloudflare-api-key-set": "Klíč CloudFlare API je uložen.",
"cloudflare-api-key-not-set": "Není uložen žádný klíč CloudFlare API: každá doména získá certifikát Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Přesunout přílohu do Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Připojení selhalo",
"cloud-settings-saved": "Nastavení úložiště uloženo",
"cloud-settings-save-failed": "Uložení nastavení úložiště selhalo",
"cloud": "Oblak",
"cloud-settings-desc": "S WeKanem ve Weddy obsluhuje Cloud Panel mnoho domén WeKanu z jednoho serveru, každou s vlastními daty. Na doméně Cloud Panelu spravuje SuperAdmin domény a CloudFlare.",
"cloud-panel-domain": "Doména Cloud Panelu",
"cloud-superadmin-username": "Uživatelské jméno SuperAdmina",
"cloud-saved": "Uloženo.",
"cloud-panel-not-allowed": "Cloud Panel je pouze pro SuperAdmina, na doméně Cloud Panelu.",
"cloud-customer-name": "Jméno zákazníka",
"cloud-customer-email": "E-mailová adresa zákazníka",
"cloud-billing-email": "Fakturační e-mailová adresa",
"cloud-start-date": "Datum začátku",
"cloud-end-date": "Datum konce",
"cloudflare-api-key": "Klíč CloudFlare API",
"cloudflare-api-key-desc": "S klíčem CloudFlare API získá doména, jejíž zóna je ve vašem účtu CloudFlare, DNS záznam přes proxy a certifikát CloudFlare Origin. Ostatní domény získají certifikát Let's Encrypt. Klíč se uloží na serveru a už se nikdy nezobrazí.",
"cloudflare-api-key-set": "Klíč CloudFlare API je uložen.",
"cloudflare-api-key-not-set": "Není uložen žádný klíč CloudFlare API: každá doména získá certifikát Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Přesunout přílohu do Azure Blob Storage",
+217 -202
View File
@@ -227,20 +227,20 @@
"attachment-soft-delete-pop": "Przëłącznik je rëmniãti z ti kôrtë, a jegò lopk òstôwô zachòwóny. Kòżdi, chto mòże editowac kôrtã, mòże gò przëwrócëc z historie kôrtë.",
"attachmentDeletePopup-title": "Rëmnąc przëłącznik?",
"attachments": "Załączniczi",
"attach-card": "Attach card",
"attachCardPopup-title": "Attach card",
"attach-card-hint": "Paste a card link (Copy card link on the other card), or type a card title on this board",
"attached-card-unavailable": "An attached card you cannot see",
"detach-card": "Remove attached card",
"attach-card-self": "A card cannot be attached to itself",
"attach-card-limit": "This card already has as many attached cards as it can have",
"attach-card-not-found": "No card you can see was found for that link",
"attach-card": "Przëłączë kôrtã",
"attachCardPopup-title": "Przëłączë kôrtã",
"attach-card-hint": "Wklejë lënk kôrtë (Kòpiérëjë lënk kôrtë na jinszi kôrce) abò napiszë titel kôrtë na ti tôfli",
"attached-card-unavailable": "Przëłączonô kôrta, chtërny nie widzysz",
"detach-card": "Rëmôj przëłączoną kôrtã",
"attach-card-self": "Kôrtë nie mòżna przëłączëc do ni sami",
"attach-card-limit": "Na kôrta mô ju tëli przëłączonëch kôrtów, kùli mòże miec",
"attach-card-not-found": "Do tegò lënkù ni ma niżódny kôrtë, chtërną widzysz",
"auto-watch": "Aùtomatno dozérôj tôflów, czej są ùsôdzóné",
"avatar-too-big": "Awatar je za wiôldżi (nôwiãcy __size__)",
"back": "Nazôd",
"board-change-color": "Zmieni farwã",
"board-announcement": "Board announcement",
"board-announcement-enabled": "Show it to everyone on this board",
"board-announcement": "Òbwieszczenié tôflë",
"board-announcement-enabled": "Pòkôżë to wszëtczim na ti tôfli",
"board-change-background-image": "Zmieni òbrôzk spòdkù",
"board-background-image-url": "URL òbrôzka spòdkù",
"add-background-image": "Dodôj obraz tła",
@@ -284,7 +284,7 @@
"zoom-level": "Rówień zwikszeniô",
"enter-zoom-level": "Wpiszë rówień zwikszeniô (50-300%):",
"board-view-cal": "Kalãdôrz",
"board-view-calendar-mode": "Calendar Mode",
"board-view-calendar-mode": "Trib kalãdarza",
"board-view-multiboard-cal": "Kalãdôrz wielu tôflów",
"board-view-swimlanes": "Stegnë",
"board-view-collapse": "Zwiń widok",
@@ -686,32 +686,32 @@
"chooseBoardSourcePopup-title": "Import tôblëcë",
"createLabelPopup-title": "Utwòrz etykietę",
"createCustomField": "Utwòrz pole",
"custom-field-links": "Link fields to another card",
"custom-field-links-hint": "Custom fields with the same name and type on both cards are linked: when a value changes on one card, it is copied to the other card. Fields that only one card has are left alone.",
"custom-field-links-none": "This card's custom fields are not linked to any card.",
"custom-field-link-unavailable": "A linked card you cannot see",
"custom-field-link-fields": "Linked fields:",
"custom-field-link-no-fields": "No fields with the same name and type yet",
"custom-field-link-inactive": "Paused: the person who made this link can no longer edit both cards, or a card is archived.",
"custom-field-unlink": "Unlink",
"custom-field-link-target": "Card link (Copy card link), or search this board's cards",
"custom-field-link-direction": "Direction",
"custom-field-link-both": "Both ways: changes on either card go to the other",
"custom-field-link-send": "One way: changes on this card go to the main card",
"custom-field-link-sends": "Changes on this card go to that card",
"custom-field-link-receives": "Changes on that card come to this card",
"custom-field-link-add": "Link fields",
"field-link-self": "A card cannot be linked to itself.",
"field-link-limit": "This card, or that card, already has the most linked cards it can have.",
"field-link-archived": "An archived card cannot be linked.",
"field-link-invalid": "That is not a card link.",
"field-link-not-found": "Card not found.",
"field-link-not-allowed": "You need to be able to edit both cards.",
"cardCustomFieldLinksPopup-title": "Linked custom fields",
"custom-field-links": "Sparłãczë pòla z jinszą kôrtą",
"custom-field-links-hint": "Włôsné pòla z tim samim mionã i ôrtã na òbù kôrtach są sparłãczoné: czej wôrtnota zmieni sã na jedny kôrce, je kòpiérowónô na drëgą kôrtã. Pòla, chtërné mô blós jedna kôrta, òstôwają bez zmianów.",
"custom-field-links-none": "Włôsné pòla ti kôrtë nie są sparłãczoné z niżódną kôrtą.",
"custom-field-link-unavailable": "Sparłãczonô kôrta, chtërny nie widzysz",
"custom-field-link-fields": "Sparłãczoné pòla:",
"custom-field-link-no-fields": "Jesz ni ma pòlów z tim samim mionã i ôrtã",
"custom-field-link-inactive": "Wstrzimóné: òsoba, chtërna zrobia nen lënk, nie mòże ju editowac òbù kôrtów, abò kôrta je zarchiwizowónô.",
"custom-field-unlink": "Rozparłãczë",
"custom-field-link-target": "Lënk kôrtë (Kòpiérëjë lënk kôrtë) abò szëkôj w kôrtach ti tôflë",
"custom-field-link-direction": "Czerënk",
"custom-field-link-both": "W òbie stronë: zmianë na kòżdi kôrce jidą na drëgą",
"custom-field-link-send": "W jedną stronã: zmianë na ti kôrce jidą na przédnô kôrtã",
"custom-field-link-sends": "Zmianë na ti kôrce jidą na tã kôrtã",
"custom-field-link-receives": "Zmianë na ti drëgi kôrce przëchôdają na nã kôrtã",
"custom-field-link-add": "Sparłãczë pòla",
"field-link-self": "Kôrtë nie mòżna sparłãczëc z nią samą.",
"field-link-limit": "Na kôrta abò ta drëgô mô ju nôwiãcy sparłãczonëch kôrtów, kùli mòże miec.",
"field-link-archived": "Zarchiwizowóny kôrtë nie mòżna sparłãczëc.",
"field-link-invalid": "To nie je lënk kôrtë.",
"field-link-not-found": "Nie nalazłé kôrtë.",
"field-link-not-allowed": "Mùszisz miec prawò editowac òbie kôrtë.",
"cardCustomFieldLinksPopup-title": "Sparłãczoné włôsné pòla",
"createCustomFieldPopup-title": "Utwòrz pole",
"current": "obecnié otwarta",
"custom-color": "Farwa niestandardowi",
"cards-use-list-color": "Cards without a colour of their own use this colour",
"cards-use-list-color": "Kôrtë bez włôsny farwë brëkùją ti farwë",
"custom-field-delete-pop": "Tegò nie mòżna cofnąc. To rëmnie no swòjé pòle ze wszëtczich kôrtów i zniszczi jegò historiã.",
"custom-field-checkbox": "Pòle òznaczeniô",
"custom-field-currency": "Walëta",
@@ -909,20 +909,20 @@
"import-board-instruction-zenkit": "Wklej eksport JSON lëstë ZenKit ({ \"title\", \"stages\":[...], \"items\":[...] }). Etapy stają się listami, a elementy kartami.",
"import-board-instruction-markdown": "Wlëpcë lëstã zadaniów w markdown (kònwencjô, jaką brëkùją nôrzãdzi markdown-kanban jak Obsidian Kanban): title \"## Miono lëstë\", z elementama \"- [ ]\"/\"- [x]\" niżi. Titla stôwają sã lëstama, a elementë kartama; prosti lëstã z pùnktama bez pòlów wëbioru téż je zaimportowónô, jakno òtemkłé kartë.",
"import-board-instruction-leo": "Wklej òbrës Leo (lopk .leo). Wãzłë nôwëższégò równia stôwają sã lëstama, jich dzecë — kôrtama z zamkłoscą wãzła jakno òpisã, a głãbszé wãzłë — lëstama kòntrólnyma. Òznaczoné wãzłë są impòrtowóné jakno skùńczoné.",
"import-board-instruction-opml": "Paste an OPML outline, as Workflowy, Dynalist, OmniOutliner, Logseq and other outliners export it. Top-level items become lists, their children become cards with the note as the description, and deeper items become checklists. Completed items import as done.",
"import-board-instruction-orgmode": "Paste an Org mode file, as Emacs, Orgzly or Beorg write it. Top-level headings become lists and second-level headings become cards. TODO and DONE, priorities, tags, SCHEDULED, DEADLINE and CLOSED are kept, and checkboxes and deeper headings become checklists.",
"import-board-instruction-opml": "Wklejë kònspekt OPML, tak jak gò ekspòrtëją Workflowy, Dynalist, OmniOutliner, Logseq i jinszé programë. Elementë z wiérzchnégò rówiznë stôwają sã lëstama, jich dzecë kôrtama z notką jakno òpisënkã, a głãbszé elementë lëstama kòntrolë. Skùńczoné elementë są impòrtowóné jakno zrobioné.",
"import-board-instruction-orgmode": "Wklejë lopk Org mode, tak jak gò piszą Emacs, Orgzly abò Beorg. Nôgłówczi z wiérzchnégò rówiznë stôwają sã lëstama, a nôgłówczi drëgégò rówiznë kôrtama. TODO i DONE, priorytetë, tagi, SCHEDULED, DEADLINE i CLOSED òstôwają, a pòla do òbznaczeniô i głãbszé nôgłówczi stôwają sã lëstama kòntrolë.",
"import-board-instruction-todotxt": "Wklejë lopk todo.txt: jedno zadanié na rézã, tak jak zapisëje je aplikacëjô todo.txt i zgódné z nią aplikacëje. Skùńczoné zadania (\"x\") jidą do Skùńczoné, +project i @context stôwają sã etichetama, (A) stôwô sã etichetą priòritetu, a due: i t: stôwają sã datama terminu i zaczãcô.",
"import-board-instruction-taskwarrior": "Wklej rezultat pòlétu task export: tablica JSON abò jedno zadanié na kòżdi réze. Skùńczoné zadania jidą do Done, project i priority stôwają sã etikétama, annotations kòmentarzama, a depends zanôleżnoscama òd blokùjącëch zadaniów.",
"import-board-instruction-focalboard": "Rozpakùj lopk .boardarchive i wklej zamkłosc board.jsonl tôblë, z rézą wersji abò bez ni. Swòjizna grëpòwaniô wëzdrzatkù tôblë stôwô sã lëstama, jinszé swòjiznë wëbiéraniô etikétama, blòczi tekstu i pòla zaznaczaniô òpisã i kòntrolną lëstą, a kòmentarze są zachòwóné. Òbrôzczi i przëdôwczi nie są impòrtowóné.",
"import-board-instruction-todoist": "In Todoist, open the project menu and choose Export as a template, then paste the CSV file. Sections become lists, tasks become cards, sub-tasks become a checklist, notes become comments, and @labels and priorities p1 to p3 become labels.",
"import-board-instruction-planner": "In Microsoft Planner, open the plan's menu and choose Export plan to Excel, then choose that .xlsx file. Buckets become lists and tasks become cards, with their assignees, dates, labels, checklist and description; Progress, Priority and Completed By become custom fields.",
"import-board-instruction-meistertask": "In MeisterTask, click the project name, choose Export project and export the CSV, then paste it. Sections become lists and tasks become cards, with their notes, due date, assignee and tags; completed tasks keep their completion date. A CSV written for MeisterTask's own import works too.",
"import-board-instruction-obsidian": "In Obsidian, open the Kanban board's file as Markdown (or open the .md file in a text editor), then paste all of it. Lanes become lists with their card limits, cards keep their tags, dates, priority, fields and checklist, and the Archive becomes archived cards.",
"import-board-instruction-linear": "In Linear, export the issues as CSV (Settings, Import / Export, Export data, or a view's export), then paste the CSV. Statuses become lists, teams become swimlanes, and issues become cards with their assignee, labels, dates, parent issue, priority, estimate, project and cycle.",
"import-board-instruction-ticktick": "In TickTick, open Settings, Account, Backup & Import and generate a backup, then paste the CSV file. Each TickTick list becomes a swimlane and its columns become lists; tasks keep their tags, dates, checklist, priority and subtasks.",
"import-board-instruction-clickup": "In ClickUp, export the tasks as CSV (Settings, Imports / Exports, Export Items, or a List or Table view's export with all columns), then paste the CSV. Statuses become lists, ClickUp lists become swimlanes, and tasks become cards with their subtasks, assignees, tags, dates, priority and time.",
"import-board-instruction-nullboard": "In Nullboard, open the board, choose Export this board... from the menu, open the .nbx file in a text editor and paste its contents. Lists become lists and notes become cards: a note's first line is the card title and the rest its description. A raw note gets the label raw. A file with several boards imports its first board.",
"import-board-instruction-kanri": "In Kanri, open Import & Export and choose Export individual board (or Export all data), then paste the .json file. Columns become lists and cards become cards, with their description, due date, tags and colors; a card's tasks become a checklist. From an all-data export the first board is imported.",
"import-board-instruction-meistertask": "W MeisterTask klëkni miono projektu, wëbierzë Export project i wëekspòrtëjë CSV, pòtemù gò wklejë. Sekcje stôwają sã lëstama, a zadania kôrtama, z jich notkama, terminã, òdpòwiedzalnym i tagama; skùńczoné zadania zachòwùją datum skùńczeniô. CSV napisóny do impòrtu MeisterTask téż fùnguje.",
"import-board-instruction-obsidian": "W Obsidian òtemkni lopk tôflë Kanban jakno Markdown (abò òtemkni lopk .md w editorze tekstu), pòtemù wklejë całi. Tore stôwają sã lëstama z jich limitama kôrtów, kôrtë zachòwùją swòje tagi, datumë, priorytet, pòla i lëstã kòntrolë, a Archive stôwô sã zarchiwizowónyma kôrtama.",
"import-board-instruction-linear": "W Linear wëekspòrtëjë zgłoszenia jakno CSV (Settings, Import / Export, Export data, abò ekspòrt widoku), pòtemù wklejë CSV. Statusë stôwają sã lëstama, zespòłë stegnama, a zgłoszenia kôrtama z òdpòwiedzalnym, etikétama, datumama, nadrzãdnym zgłoszenim, priorytetã, òcenią, projektã i cyklã.",
"import-board-instruction-ticktick": "W TickTick òtemkni Settings, Account, Backup & Import i zrobi zapasową kòpiã, pòtemù wklejë lopk CSV. Kòżdô lësta TickTick stôwô sã stegną, a ji kòlumnë lëstama; zadania zachòwùją swòje tagi, datumë, lëstã kòntrolë, priorytet i pòdzadania.",
"import-board-instruction-clickup": "W ClickUp wëekspòrtëjë zadania jakno CSV (Settings, Imports / Exports, Export Items, abò ekspòrt widoku List abò Table ze wszëtczima kòlumnama), pòtemù wklejë CSV. Statusë stôwają sã lëstama, lëstë ClickUp stegnama, a zadania kôrtama z pòdzadaniama, òdpòwiedzalnyma, tagama, datumama, priorytetã i czasã.",
"import-board-instruction-nullboard": "W Nullboard òtemkni tôflã, wëbierzë z menu Export this board..., òtemkni lopk .nbx w editorze tekstu i wklejë jegò zamkłosc. Lëstë stôwają sã lëstama, a notczi kôrtama: pierszô réga notczi je titlã kôrtë, a reszta ji òpisënkã. Surowô notka dostôwô etikétã raw. Z lopka z wiele tôflama je impòrtowónô pierszô tôfla.",
"import-board-instruction-kanri": "W Kanri òtemkni Import & Export i wëbierzë Export individual board (abò Export all data), pòtemù wklejë lopk .json. Kòlumnë stôwają sã lëstama, a kôrtë kôrtama, z jich òpisënkã, terminã, tagama i farwama; zadania kôrtë stôwają sã lëstą kòntrolë. Z ekspòrtu wszëtczich pòdôwków je impòrtowónô pierszô tôfla.",
"import-board-instruction-planka": "Wpiszë adresã twòjegò Planka (na przëmiôr https://planka.example.com), twòje miono brëkòwnika ë parolã Planka, a pòtemù wcësni Wëlistëjë. Są brëkòwóné blós do zladowaniô tôfle ë nie są zapisywóné. Wëbierzë tôflã ë wcësni Zladëjë: WeKan czëtô jã z API Planka, z jejë lëstama, kôrtama, òpisënkama, terminama, etikétama, nôleżnikama, lëstama zadaniów ë kòmentôrzama, a pòtemù jidzë dali z impòrtowanim jak zwëczajno. Kôrtë z archiwùm Planka są impòrtowóné jakno archiwizowóné; załączniczi ë kôrtë z kòsza nie są impòrtowóné.",
"import-board-instruction-mstodo": "W Microsoft Graph Explorer (developer.microsoft.com/graph/graph-explorer) wlogùjë sã, zgòdzë sã na prawò Tasks.Read ë skòpiérëjë token z kôrtë Access token. Wklejë gò tuwò ë klëkni Wëlistëjë; token je brëkòwóny blós do negò zladowaniô ë nie je zapisywóny. Wëbierzë wszëtczé lëstë abò jednã lëstã ë klëkni Zladëjë. Kòżdô lësta To Do stôwô sã lëstą, a kòżdé zadanié kôrtą, z jegò notkama, terminama ë datama zaczãcô, krokama jakno kòntrolnô lësta, kategòriama jakno etikétë, a wësokô wôżnota ë sztatus jakno etikétë; skùńczoné zadania są archiwizowóné. Przëbôczenia ë pòwtôrzania nie są impòrtowóné.",
"import-board-instruction-kanbanflow": "W KanbanFlow òtemkni menu tôfle, wëbierzë Settings → API & Webhooks ë skòpiérëjë token API tôfle. Wklejë token tuwò, klëkni Wëlistëjë, wëbierzë tôflã ë klëkni Zladëjë; token je brëkòwóny blós do negò zladowaniô ë nie je zapisywóny. Kòlumnë stôwają sã lëstama, a stegnë òstôwają stegnama; zadania trzimają swój òpisënk, farwã, etikétë, termin, pòdzadania jakno kòntrolnô lësta, wëdóny czas, szacënk, lëdzy ë kòmentôrze.",
@@ -941,19 +941,19 @@
"api-import-fetched": "Zladowóné. Sprawdzë nôleżników niżi ë impòrtëjë.",
"api-import-failed": "Zladowanié nie darzëło sã",
"api-import-nothing": "Z tim kòntã nie ma nic do impòrtowaniô.",
"import-board-instruction-pivotal": "In Pivotal Tracker, open the project's MORE tab and choose Export CSV (or select stories and choose Bulk Actions, CSV), then paste the CSV. Each story state becomes a list and stories become cards, with their type and labels, owners, requester, dates, comments, tasks and blockers; Estimate becomes Story points and iterations become sprints.",
"import-board-instruction-tasksorg": "In Tasks.org, open Settings, Backups and choose Export tasks, then paste the contents of that .json file. Lists become lists and tasks become cards, with their notes, tags, dates, comments and subtasks; completed tasks keep their completion date, and priority becomes a custom field.",
"import-board-instruction-monday": "In monday.com, open the board menu, choose More actions and Export board to Excel (with updates and subitems if you like), then choose that .xlsx file. The Status column becomes lists and groups become swimlanes; people, dates, timeline and tags keep their places, other columns become custom fields and updates become comments.",
"import-board-instruction-superproductivity": "In Super Productivity, open Settings, then Sync & Backup, choose Export Data and paste the contents of the sp-backup .json file. Each project becomes a swimlane and tasks become cards in To Do, In Progress, Backlog or Done, with their notes, tags, due date, time spent and sub-tasks; archived tasks become archived cards.",
"import-board-instruction-taiga": "In Taiga, open Admin > Project > Export and download the project dump (unpack a .json.gz file first), then paste its JSON. User story statuses become lists, user stories become cards with their tasks as subtasks, epics and issues get swimlanes of their own, and sprints, tags, comments and custom attributes come along. Attachments are not imported.",
"import-board-instruction-vikunja": "In Vikunja, open Settings, choose Data Export and download the .zip file it sends you, then choose that file, or paste the data.json inside it. Kanban buckets become lists and tasks become cards, with their labels, assignees, dates, description, task lists as checklists and comments; priority, percent done and done become custom fields. Attachments are not imported.",
"import-board-instruction-quire": "In Quire, open the project menu and choose Export CSV, then paste the CSV. Statuses become lists and tasks become cards, with their subtasks as child cards, assignees, tags as labels, start, due and completed dates, description and priority as a custom field. Comments and attachments are not in Quire's CSV.",
"import-board-instruction-wrike": "In Wrike, export a project or folder to Excel, or fill in Wrike's Excel import template, then choose that .xlsx file. Folder and project rows become swimlanes, Status becomes lists and tasks become cards, with their Key, parent task, assignees, start and end dates, dependencies and description; Priority, Duration and other columns become custom fields.",
"import-board-instruction-teamwork": "In Teamwork.com, fill in the Excel task import template (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) and save it as .xlsx, then choose that file. Task lists become lists and tasks become cards; a task starting with -, # or > becomes a subtask of the task above it (--, ## or >> one level deeper). Assignees, dates and tags keep their places; Priority, Estimated time and Complete become custom fields.",
"import-board-instruction-businessmap": "In Businessmap (formerly Kanbanize), open Advanced Search, choose Configure results to pick the columns, download the Excel file, then choose that .xlsx file. Columns are read by their English names (Title, Column, Lane, Owner, Deadline ...): if your account uses another language, rename the header row to English first. Column becomes lists and Lane swimlanes; owners, tags, color, dates, comments and parent links keep their places, and Priority, Size, Type and other columns become custom fields.",
"import-board-instruction-redmine": "In Redmine, open the project's Issues, choose Also available in: CSV at the bottom of the list, pick the columns (All columns, with Description) and export, then paste the CSV. Redmine names the columns in your language, so set your language to English in My account before exporting. Each status becomes a list and issues become cards, with the tracker as a label, assignee, author, dates, parent task and related issues; priority, category, target version, estimated time, % Done and custom fields become custom fields.",
"import-board-instruction-notion": "In Notion, open the database as a full page, choose ••• and Export, pick Markdown & CSV, and choose the .zip file it downloads, or one database CSV from it, or paste that CSV. A column named Status becomes the lists (without one, the first column that looks like a select does, and the import report says which); rows become cards with their title, tags as labels, people as members, dates, and the page text as the description; other columns become custom fields. Relations, images and attachments are not imported.",
"import-board-instruction-plane": "In Plane, open Workspace Settings, choose Exports, export the projects as JSON, CSV or Excel and download the .zip file, then choose that file, or one file from inside it, or paste the JSON or CSV. States become lists, projects become swimlanes, and issues become cards with their identifier, parent, assignees, labels, dates, links and comments; priority, estimate, cycle and module become custom fields. Plane's export has no descriptions or attachments, so they are not imported.",
"import-board-instruction-pivotal": "W Pivotal Tracker òtemkni zakładkã MORE projektu i wëbierzë Export CSV (abò òbznaczë historie i wëbierzë Bulk Actions, CSV), pòtemù wklejë CSV. Kòżdi stón historie stôwô sã lëstą, a historie kôrtama, z jich ôrtã i etikétama, wëmienikama, zgłôszającym, datumama, kòmentôrzama, zadaniama i blokadama; Estimate stôwô sã Story points, a iteracje sprintama.",
"import-board-instruction-tasksorg": "W Tasks.org òtemkni Settings, Backups i wëbierzë Export tasks, pòtemù wklejë zamkłosc tegò lopka .json. Lëstë stôwają sã lëstama, a zadania kôrtama, z jich notkama, tagama, datumama, kòmentôrzama i pòdzadaniama; skùńczoné zadania zachòwùją datum skùńczeniô, a priorytet stôwô sã włôsnym pòlã.",
"import-board-instruction-monday": "W monday.com òtemkni menu tôflë, wëbierzë More actions i Export board to Excel (jeżle chcesz, z aktualizacjama i pòdelementama), pòtemù wëbierzë nen lopk .xlsx. Kòlumna Status stôwô sã lëstama, a grëpë stegnama; lëdze, datumë, òs czasu i tagi òstôwają na swòjich môlach, jinszé kòlumnë stôwają sã włôsnyma pòlama, a aktualizacje kòmentôrzama.",
"import-board-instruction-superproductivity": "W Super Productivity òtemkni Settings, pòtemù Sync & Backup, wëbierzë Export Data i wklejë zamkłosc lopka .json sp-backup. Kòżdi projekt stôwô sã stegną, a zadania kôrtama w To Do, In Progress, Backlog abò Done, z jich notkama, tagama, terminã, czasã robòtë i pòdzadaniama; zarchiwizowóné zadania stôwają sã zarchiwizowónyma kôrtama.",
"import-board-instruction-taiga": "W Taiga òtemkni Admin > Project > Export i scygni zrzut projektu (nôprzód rozpakùjë lopk .json.gz), pòtemù wklejë jegò JSON. Statusë historiów brëkòwnika stôwają sã lëstama, historie brëkòwnika kôrtama z jich zadaniama jakno pòdzadaniama, epiczi i zgłoszenia dostôwają swòje stegnë, a sprintë, tagi, kòmentôrze i włôsné atrybutë jidą téż. Załączniczi nie są impòrtowóné.",
"import-board-instruction-vikunja": "W Vikunja òtemkni Settings, wëbierzë Data Export i scygni lopk .zip, chtëren ce przësle, pòtemù wëbierzë nen lopk abò wklejë data.json z jegò strzodka. Kùbełczi Kanban stôwają sã lëstama, a zadania kôrtama, z jich etikétama, òdpòwiedzalnyma, datumama, òpisënkã, lëstama zadaniów jakno lëstama kòntrolë i kòmentôrzama; priorytet, procent zrobionégò i zrobioné stôwają sã włôsnyma pòlama. Załączniczi nie są impòrtowóné.",
"import-board-instruction-quire": "W Quire òtemkni menu projektu i wëbierzë Export CSV, pòtemù wklejë CSV. Statusë stôwają sã lëstama, a zadania kôrtama, z pòdzadaniama jakno dzecnyma kôrtama, òdpòwiedzalnyma, tagama jakno etikétama, datumã zôczątkù, terminã i datumã skùńczeniô, òpisënkã i priorytetã jakno włôsnym pòlã. Kòmentôrzów i załączników ni ma w CSV z Quire.",
"import-board-instruction-wrike": "W Wrike wëekspòrtëjë projekt abò katalog do Excela, abò wëpełni szablon impòrtu Excel z Wrike, pòtemù wëbierzë nen lopk .xlsx. Rédżi katalogów i projektów stôwają sã stegnama, Status lëstama, a zadania kôrtama, z jich Key, nadrzãdnym zadanim, òdpòwiedzalnyma, datumã zôczątkù i kùńca, zanôleżnoscama i òpisënkã; Priority, Duration i jinszé kòlumnë stôwają sã włôsnyma pòlama.",
"import-board-instruction-teamwork": "W Teamwork.com wëpełni szablon impòrtu zadaniów Excel (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) i zapiszë gò jakno .xlsx, pòtemù wëbierzë nen lopk. Lëstë zadaniów stôwają sã lëstama, a zadania kôrtama; zadanié, co zaczinô sã òd -, # abò >, stôwô sã pòdzadanim zadaniô nad nim (--, ## abò >> jeden rówiznã głãbi). Òdpòwiedzalny, datumë i tagi òstôwają na swòjich môlach; Priority, Estimated time i Complete stôwają sã włôsnyma pòlama.",
"import-board-instruction-businessmap": "W Businessmap (przódë Kanbanize) òtemkni Advanced Search, wëbierzë Configure results, żebë wëbrac kòlumnë, scygni lopk Excel, pòtemù wëbierzë nen lopk .xlsx. Kòlumnë są czëtóné pò jich anielsczich mionach (Title, Column, Lane, Owner, Deadline ...): jeżle twòje kònto brëkùje jinszégò jãzëka, nôprzód zmieni miona w régù nôgłówków na anielsczé. Column stôwô sã lëstama, a Lane stegnama; wëmienicë, tagi, farwa, datumë, kòmentôrze i nadrzãdné lënczi òstôwają na swòjich môlach, a Priority, Size, Type i jinszé kòlumnë stôwają sã włôsnyma pòlama.",
"import-board-instruction-redmine": "W Redmine òtemkni Issues projektu, wëbierzë Also available in: CSV na spòdkù lëstë, wëbierzë kòlumnë (All columns, z Description) i wëekspòrtëjë, pòtemù wklejë CSV. Redmine dôwô kòlumnóm miona w twòjim jãzëkù, tej przed ekspòrtã nastôwi anielsczi w My account. Kòżdi status stôwô sã lëstą, a zgłoszenia kôrtama, z trackerã jakno etikétą, òdpòwiedzalnym, ùsôdzcą, datumama, nadrzãdnym zadanim i sparłãczonyma zgłoszeniama; priorytet, kategòrëjô, docélowô wersjô, òcenioni czas, % Done i włôsné pòla stôwają sã włôsnyma pòlama.",
"import-board-instruction-notion": "W Notion òtemkni bazã pòdôwków jakno całą starnã, wëbierzë ••• i Export, wëbierzë Markdown & CSV i wëbierzë lopk .zip, chtëren sã scygnie, abò jeden CSV bazë z niegò, abò wklejë nen CSV. Kòlumna z mionã Status stôwô sã lëstama (bez ni robi to pierszô kòlumna, chtërna wëzdrzi jak wëbiér, a rapòrt impòrtu gôdô chtërna); rédżi stôwają sã kôrtama z jich titlã, tagama jakno etikétama, lëdzama jakno nôleżnikama, datumama i tekstã starnë jakno òpisënkã; jinszé kòlumnë stôwają sã włôsnyma pòlama. Relacje, òbrazë i załączniczi nie są impòrtowóné.",
"import-board-instruction-plane": "W Plane òtemkni Workspace Settings, wëbierzë Exports, wëekspòrtëjë projektë jakno JSON, CSV abò Excel i scygni lopk .zip, pòtemù wëbierzë nen lopk abò jeden lopk z jegò strzodka, abò wklejë JSON abò CSV. Stónë stôwają sã lëstama, projektë stegnama, a zgłoszenia kôrtama z jich identifikatorã, nadrzãdnym, òdpòwiedzalnyma, etikétama, datumama, lënkama i kòmentôrzama; priorytet, òcena, cykl i mòduł stôwają sã włôsnyma pòlama. Ekspòrt Plane ni mô òpisënków ani załączników, tej nie są impòrtowóné.",
"import-board-instruction-trello": "W twojej tôblëcë na Trello przejdź do 'Menu', następnié 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik",
"import-board-instruction-csv": "Wklej wôrtnotë òddzeloné przecënkama (CSV) abò tabùlatorama (TSV).",
"import-board-instruction-jira": "Wklejë JSON z szëkaniô zgłoszeniów w Jira Cloud REST API (GET /rest/api/3/search/jql) abò równowôżny òbiekt { \"issues\": [...] }. Stónë Jira stôwają sã lëstama, a zgłoszenia kôrtama. Òpcjonalno dodôj tôbelã \"automationRules\", żebë zaimpòrtowac regle.",
@@ -962,33 +962,33 @@
"import-board-instruction-wekan": "Na swòji tôfli òtemkni 'Spis òpcjów', pòtem 'Ekspòrtowac tôflã', i skòpiérëjë tekst z pòbrónégò lopka.",
"import-board-instruction-about-errors": "Czasami mimo komunikatu o błędzie importowanié tôblëcë przebiega poprawnié i jest ona widoczna na liście tôblëcòw (Wszëtczé tôblëce).",
"import-without-mapping-members": "Importuj bez mapowania członkòw (mapuj pòźniej)",
"import-members-mode-heading": "People in the file:",
"import-members-mode-map": "Choose an existing user for each of them",
"import-members-mode-placeholder": "Keep them as placeholder users with their own names, to map to real users later",
"import-members-mode-me": "Make them all me",
"csv-mapping-title": "Which column is which?",
"csv-mapping-description": "Choose the column of the file that holds each card field. The choices were made from the column names; change any that are wrong, and choose (not in the file) for a field the file does not have.",
"csv-mapping-not-in-file": "(not in the file)",
"csv-mapping-column-number": "Column __number__",
"csv-mapping-list-missing": "The file has no column for the list. Choose one above, or type the name of the one list every card goes into.",
"csv-mapping-list-name": "List for every card",
"csv-mapping-custom-fields": "Other columns to import as text custom fields:",
"csv-mapping-boards": "Each sheet becomes its own board:",
"csv-mapping-skipped-sheets": "Sheets that are not imported:",
"csv-mapping-title-required": "Choose the column that holds the card titles.",
"csv-mapping-list-required": "Type the name of the list every card goes into, or choose the column that holds the list.",
"invalid-import-mapping": "The column mapping does not match the file.",
"import-many-boards": "Import many boards",
"import-many-boards-hint": "Choose several export files of this tool, or one .zip that holds them: each file becomes its own board, imported without member mapping. A .zip that is itself one export (Vikunja, Notion, Plane, or WeKan with attachments) is one board. When files are chosen here, Import imports them instead of the field above.",
"import-one-board-per-project": "One board per project",
"import-one-board-per-project-hint": "Each swimlane the import would make (a project, folder or list of the tool) becomes its own board. Parent cards and dependencies between those boards are listed in the import report.",
"import-many-progress": "Importing __done__ of __total__: __name__",
"import-many-results-heading": "Imported files",
"import-many-imported": "imported",
"export-all-boards": "Export all boards",
"export-selected-boards": "Export selected boards",
"export-all-boards-hint": "Every board you can export, in one download: Excel as one workbook with a sheet per board named after it, every other format as a .zip with a file per board.",
"exportAllBoardsPopup-title": "Export all boards",
"import-members-mode-heading": "Lëdze w lopkù:",
"import-members-mode-map": "Wëbierzë jistniejącégò brëkòwnika dlô kòżdégò z nich",
"import-members-mode-placeholder": "Òstawi jich jakno zastãpczich brëkòwników z jich włôsnyma mionama, żebë pózni przëpisac jich do prôwdzëwëch brëkòwników",
"import-members-mode-me": "Zrobi jich wszëtczich mną",
"csv-mapping-title": "Chtërna kòlumna je chtërna?",
"csv-mapping-description": "Wëbierzë kòlumnã lopka, chtërna trzimô kòżdé pòle kôrtë. Wëbiérë òstałë zrobioné pò mionach kòlumnów; zmieni te, co są lëchò, i wëbierzë (ni ma w lopkù) dlô pòla, chtërnégò lopk ni mô.",
"csv-mapping-not-in-file": "(ni ma w lopkù)",
"csv-mapping-column-number": "Kòlumna __number__",
"csv-mapping-list-missing": "Lopk ni mô kòlumnë dlô lëstë. Wëbierzë jedną wëżi abò napiszë miono ti jedny lëstë, do chtërny jidze kòżdô kôrta.",
"csv-mapping-list-name": "Lësta dlô kòżdi kôrtë",
"csv-mapping-custom-fields": "Jinszé kòlumnë do impòrtu jakno tekstowé włôsné pòla:",
"csv-mapping-boards": "Kòżdi arkùsz stôwô sã swòją tôflą:",
"csv-mapping-skipped-sheets": "Arkùsze, chtërné nie są impòrtowóné:",
"csv-mapping-title-required": "Wëbierzë kòlumnã, chtërna trzimô title kôrtów.",
"csv-mapping-list-required": "Napiszë miono lëstë, do chtërny jidze kòżdô kôrta, abò wëbierzë kòlumnã, chtërna trzimô lëstã.",
"invalid-import-mapping": "Przëpisanié kòlumnów nie pasëje do lopka.",
"import-many-boards": "Impòrtëjë wiele tôflów",
"import-many-boards-hint": "Wëbierzë wiele lopków ekspòrtu negò nôrzãdza abò jeden .zip, co je trzimô: kòżdi lopk stôwô sã swòją tôflą, impòrtowóną bez przëpisaniô nôleżników. .zip, chtëren sóm je jednym ekspòrtã (Vikunja, Notion, Plane abò WeKan z załącznikama), je jedną tôflą. Czej wëbierzesz tuwò lopczi, Impòrt impòrtëje je zamiast pòla wëżi.",
"import-one-board-per-project": "Jedna tôfla na projekt",
"import-one-board-per-project-hint": "Kòżdô stegna, chtërną bë zrobił impòrt (projekt, katalog abò lësta nôrzãdza), stôwô sã swòją tôflą. Nadrzãdné kôrtë i zanôleżnotë midzë tima tôflama są wëmienioné w rapòrce impòrtu.",
"import-many-progress": "Impòrt __done__ z __total__: __name__",
"import-many-results-heading": "Zaimpòrtowóné lopczi",
"import-many-imported": "zaimpòrtowóné",
"export-all-boards": "Ekspòrtëjë wszëtczé tôfle",
"export-selected-boards": "Ekspòrtëjë wëbróné tôfle",
"export-all-boards-hint": "Kòżdô tôfla, chtërną mòżesz ekspòrtowac, w jednym scygniãcym: Excel jakno jeden zesziwk z arkùszã na kòżdą tôflã, mionowónym pò ni, kòżdi jinszi fòrmat jakno .zip z lopkã na kòżdą tôflã.",
"exportAllBoardsPopup-title": "Ekspòrtëjë wszëtczé tôfle",
"import-json-placeholder": "Wklej tu pòprawné dóné JSON",
"import-csv-placeholder": "Wklej tu pòprawné dóné CSV/TSV",
"import-json-file": "Abò wëbierzë lopk JSON Trello",
@@ -1026,17 +1026,17 @@
"trello-import-results": "Rezultatë impòrtu",
"trello-api-credentials-required": "Wpiszë i klucz, i token API Trello.",
"trello-api-credentials-saved": "Klucz i token API Trello są zapisóné. Mòżesz pòkazac lëstã robòczich rëmów bez jich pòwtórnégò wpisëwaniô.",
"exportToTrelloPopup-title": "Export to Trello",
"trello-export-desc": "Create a copy of this board in Trello through Trello's API, with your Trello API key and token. Swimlanes become labels named \"Swimlane: …\", which WeKan's Trello import turns back into swimlanes.",
"trello-export-include-attachments": "Include attachments",
"trello-export-start": "Export to Trello",
"trello-export-open-board": "Open the board in Trello",
"trello-export-warnings": "Not everything could be exported",
"sandstorm-trello-access-needed": "A Sandstorm grain has no Internet access of its own. Allow this grain to reach Trello first.",
"sandstorm-allow-trello-access": "Allow access to Trello",
"sandstorm-trello-access-granted": "This grain may reach Trello.",
"sandstorm-forget-access": "Forget",
"sandstorm-trello-save-label": "Trello, for importing and exporting boards",
"exportToTrelloPopup-title": "Ekspòrt do Trello",
"trello-export-desc": "Zrobi kòpiã ti tôflë w Trello bez API Trello, z twòjim klucã API Trello i tokenã. Stegnë stôwają sã etikétama z mionã \"Swimlane: …\", chtërné impòrt Trello we WeKan zmieniô nazôd na stegnë.",
"trello-export-include-attachments": "Z załącznikama",
"trello-export-start": "Ekspòrt do Trello",
"trello-export-open-board": "Òtemkni tôflã w Trello",
"trello-export-warnings": "Nie wszëtkò szło wëekspòrtowac",
"sandstorm-trello-access-needed": "Zôrno Sandstorm ni mô swòjégò przistãpù do Internetu. Nôprzód pòzwòlë temù zôrnu dobëc sã do Trello.",
"sandstorm-allow-trello-access": "Pòzwòlë na przistãp do Trello",
"sandstorm-trello-access-granted": "To zôrno mòże dobëc sã do Trello.",
"sandstorm-forget-access": "Zabôczë",
"sandstorm-trello-save-label": "Trello, do impòrtu i ekspòrtu tôflów",
"trello-select-boards": "Wëbierzë przënômni jedną tôflã do impòrtu.",
"select-all": "Wëbierzë wszëtkò",
"select-none": "Nie wëbiérôj nick",
@@ -1318,9 +1318,9 @@
"external-link-pattern-description": "Aùtomatné lëkùje tokeny sztélu \"#1234\" nalazłé w tekstą kartë do zewnãtrznégò tracera problemów. Òstôwiô jedno pòle pùsté, cobë wëłączëc.",
"external-link-pattern-prefix": "Prefiks tokena",
"external-link-pattern-url": "Szablón URL (brëkùjë {number})",
"external-link-rules": "More link rules",
"external-link-rules-description": "One rule per line: the text to find, \" = \", and the address. Use {number} for digits and {identifier} for a word, in both, for example [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Abbreviations for {identifier}, for example TK=Task, IN=Incident",
"external-link-rules": "Wiãcy prawidłów lënków",
"external-link-rules-description": "Jedno prawidło na régã: tekst do szëkaniô, \" = \" i adresa. Brëkùjë {number} dlô cyfrów i {identifier} dlô słowa, w òbù, na przëkłôd [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Skrócënczi dlô {identifier}, na przëkłôd TK=Task, IN=Incident",
"username": "Miono brëkòwnika",
"import-usernames": "Importuj brëkòwnikòw",
"view-it": "Òbezdrzë",
@@ -1345,13 +1345,13 @@
"attachment-transfer-limits-title": "Ògrańczenia miarë lopków przëłączników i API",
"attachment-limits": "Ògrańczenia",
"attachment-retention": "Trzymanié",
"attachment-retention-days": "Delete attachments after (days)",
"attachment-retention-days-help": "Like Delete on the card: the card history can restore them. Empty or 0: never.",
"attachment-retention-mode": "Count the days from",
"attachment-retention-purge": "Remove deleted attachments for good after (days)",
"attachment-retention-purge-help": "After this they can no longer be restored. Empty or 0: never.",
"attachment-retention-dry-run": "Dry run: only count, in the server log, change nothing",
"attachment-retention-max-per-run": "At most this many attachments per night",
"attachment-retention-days": "Rëmôj załączniczi pò (dniach)",
"attachment-retention-days-help": "Jak Rëmac na kôrce: historiô kôrtë mòże je przëwrócëc. Pùsté abò 0: nigdë.",
"attachment-retention-mode": "Rechùjë dni òd",
"attachment-retention-purge": "Rëmôj rëmniãté załączniczi na wiedno pò (dniach)",
"attachment-retention-purge-help": "Pòtemù nie mòżna jich ju przëwrócëc. Pùsté abò 0: nigdë.",
"attachment-retention-dry-run": "Próba: blós rechùjë w logù serwera, nick nie zmieniôj",
"attachment-retention-max-per-run": "Nôwiãcy tëli załączników na noc",
"attachment-transfer-limits-description": "Nastôwi nôwiãkszé miarë lopków dlô wgrëwaniô i pòbiéraniô. Bùfòrowanié transferu API mô òsóbné ògrańczenia bezpiecznotë pò stronie serwera.",
"attachment-transfer-limits-saved": "Ògrańczenia transferu przëłączników zapisóné.",
"attachment-transfer-limits-save-failed": "Nie dało sã zapisac ògrańczeniów transferu przëłączników",
@@ -1401,51 +1401,51 @@
"error-notAuthorized": "Nié jesteś uprawniony do przeglądania tej strony.",
"webhook-title": "Miono webhooka",
"webhook-token": "Token (opcjonalny do autoryzacëji)",
"webhook-payload-heading": "Webhook data",
"webhook-payload-description": "What outgoing webhooks (Rocket.Chat, Slack, ...) send. Default keeps the inherited setting; with nothing set, webhooks send what they always have.",
"webhook-payload-text": "Send the message text",
"webhook-payload-fields": "Send these fields",
"webhook-payload-field-standard": "Standard fields (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "IDs",
"webhook-payload-field-names": "Names and titles",
"webhook-payload-field-links": "Links to the card and board",
"webhook-payload-field-actor": "Who did it",
"webhook-payload-field-people": "The member or assignee it is about",
"webhook-payload-field-details": "Details: comment, description, values and dates",
"webhook-hide-identity": "Leave my name out of outgoing webhooks",
"webhook-someone": "A member",
"webhook-payload-heading": "Pòdôwczi webhooków",
"webhook-payload-description": "Co sélają wëchòdzącé webhooczi (Rocket.Chat, Slack, ...). Domëslné zachòwùje dzedziczoné nastôwë; bez nastôwów webhooczi sélają to, co wiedno.",
"webhook-payload-text": "Sélôj tekst wiadła",
"webhook-payload-fields": "Sélôj te pòla",
"webhook-payload-field-standard": "Standardowé pòla (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "ID",
"webhook-payload-field-names": "Miona i title",
"webhook-payload-field-links": "Lënczi do kôrtë i tôflë",
"webhook-payload-field-actor": "Chto to zrobił",
"webhook-payload-field-people": "Nôleżnik abò òdpòwiedzalny, ò chtërnym to je",
"webhook-payload-field-details": "Szczególe: kòmentôrz, òpisënk, wôrtnotë i datumë",
"webhook-hide-identity": "Nie dôwôj mòjégò miona do wëchòdzącëch webhooków",
"webhook-someone": "Nôleżnik",
"notification-delivery-layout": "Ùkłôd",
"notification-delivery-layout-classic": "One sentence (classic)",
"notification-delivery-layout-clear": "Clearly arranged: board, who, card in bold",
"notification-delivery-parts": "Show",
"notification-delivery-part-board": "Board name and link",
"notification-delivery-part-actor": "Who did it",
"notification-delivery-part-card": "Card title and link",
"notification-delivery-layout-classic": "Jedno zdanié (klasyczné)",
"notification-delivery-layout-clear": "Przezérno: tôfla, chto, kôrta grëbò",
"notification-delivery-parts": "Pòkôżë",
"notification-delivery-part-board": "Miono i lënk tôflë",
"notification-delivery-part-actor": "Chto to zrobił",
"notification-delivery-part-card": "Titel i lënk kôrtë",
"notification-delivery-part-list": "Lësta",
"notification-delivery-part-swimlane": "Stegna",
"notification-delivery-part-details": "Comment or changed value",
"notification-delivery-part-dates": "Dates",
"notification-delivery-part-link": "Link on its own line",
"notification-delivery-grouping": "Grouping",
"notification-delivery-grouping-all": "Everything due in one message",
"notification-delivery-grouping-board": "One per board",
"notification-delivery-grouping-card": "One per card",
"notification-delivery-grouping-none": "Each on its own",
"notification-delivery-schedule": "When to send",
"notification-delivery-schedule-immediate": "Immediately",
"notification-delivery-schedule-interval": "Every few minutes or hours",
"notification-delivery-schedule-daily": "Once a day",
"notification-delivery-interval": "Every",
"notification-delivery-minutes": "__count__ minutes",
"notification-delivery-part-details": "Kòmentôrz abò zmienionô wôrtnota",
"notification-delivery-part-dates": "Datumë",
"notification-delivery-part-link": "Lënk w swòji régù",
"notification-delivery-grouping": "Grëpòwanié",
"notification-delivery-grouping-all": "Wszëtkò w jednym wiadle",
"notification-delivery-grouping-board": "Jedno na tôflã",
"notification-delivery-grouping-card": "Jedno na kôrtã",
"notification-delivery-grouping-none": "Kòżdé òsobno",
"notification-delivery-schedule": "Czedë sélac",
"notification-delivery-schedule-immediate": "Zarô",
"notification-delivery-schedule-interval": "Co czile minut abò gòdzin",
"notification-delivery-schedule-daily": "Rôz na dzéń",
"notification-delivery-interval": "Co",
"notification-delivery-minutes": "__count__ minut",
"notification-delivery-daily-time": "Ò",
"notification-delivery-quiet": "Quiet hours (wait until they end)",
"notification-delivery-quiet": "Gòdzënë cëchòtë (żdżë, jaż sã skùńczą)",
"notification-delivery-quiet-from": "Òd",
"notification-delivery-quiet-to": "Do",
"notification-delivery-quiet-clear": "No quiet hours",
"notification-delivery-timezone": "Time zone:",
"notification-delivery-invalid": "The setting could not be saved.",
"notification-group-card": "__count__ notifications on card __card__",
"notification-group-board": "__count__ notifications on board __board__",
"notification-delivery-quiet-clear": "Bez gòdzënów cëchòtë",
"notification-delivery-timezone": "Czasowô strefa:",
"notification-delivery-invalid": "Nie szło zapisac nastôwów.",
"notification-group-card": "__count__ wiadłów na kôrce __card__",
"notification-group-board": "__count__ wiadłów na tôfli __board__",
"outgoing-webhooks": "Wëchòdzącé webhooki",
"bidirectional-webhooks": "Dwùstronné webhooki",
"outgoingWebhooksPopup-title": "Wëchòdzącé webhooki",
@@ -1500,7 +1500,7 @@
"showLabel-field-on-card": "Pòkôżë etichetã pòla na minikôrce",
"showSum-field-on-list": "Pòkôżë sëmã pòl na górze lëstë",
"admin-only-field": "Widzewné blós dlô administratorów tôblëcë",
"read-only-field": "Read-only: every member sees the value, only board admins change it",
"read-only-field": "Blós do czëtaniô: kòżdi nôleżnik widzy wôrtnotã, blós administratorzë tôflë jã zmieniają",
"yes": "Jo",
"no": "Nié",
"accounts": "Kònta",
@@ -1692,11 +1692,11 @@
"r-format-auto": "Aùtomatné wëkrëwanié",
"r-import-workflow-note": "Impòrtëjë wizualny przebieg robòtë wëekspòrtowóny z n8n abò Node-RED. Rozpòznóné wãzłë wëwòłującëch wëdarzeniów i dzejbów są przëpisywóné do reglów WeKan; wãzłë bez przëpisaniô są zgłôszóné.",
"r-import-unmapped": "Nie dało sã przëpisac __count__ rézów",
"r-wrike-workflow": "Wrike workflow",
"r-wrike-workflow-note": "A Wrike workflow is a list of statuses, each in the Active, Completed, Deferred or Cancelled group. Export writes this board's lists as one, named after the board, in the JSON Wrike's API returns for workflows: create that workflow in Wrike before importing the board's Wrike Excel export, so its statuses are applied. Import reads that JSON pasted above, from WeKan or from Wrike's GET /workflows, into the chosen board: a status without a list becomes a list, and a rule marks a card complete when it is moved into a Completed or Cancelled status and incomplete in an Active or Deferred one. Wrike's own automation rules cannot be exported from Wrike.",
"r-export-wrike-workflow": "Export Wrike workflow",
"r-import-wrike-workflow": "Import Wrike workflow",
"r-import-wrike-workflow-done": "Wrike workflow \"__name__\": __lists__ list(s) and __rules__ rule(s) added, __skipped__ part(s) not read",
"r-wrike-workflow": "Przebiég robòtë Wrike",
"r-wrike-workflow-note": "Przebiég robòtë Wrike to lësta statusów, kòżdi w grëpie Active, Completed, Deferred abò Cancelled. Ekspòrt pisze lëstë ti tôflë jakno jeden przebiég, mionowóny pò tôfli, w JSON, chtëren API Wrike òddôwô dlô przebiégów robòtë: zrobi nen przebiég we Wrike przed impòrtã ekspòrtu Excel ti tôflë do Wrike, żebë jegò statusë bëłë brëkòwóné. Impòrt czëtô nen JSON wklejony wëżi, z WeKan abò z GET /workflows Wrike, do wëbróny tôflë: status bez lëstë stôwô sã lëstą, a prawidło òbznaczô kôrtã jakno skùńczoną, czej je przeniesionô do statusu Completed abò Cancelled, a jakno nieskùńczoną w Active abò Deferred. Włôsnëch prawidłów aùtomatizacje Wrike nie mòżna ekspòrtowac z Wrike.",
"r-export-wrike-workflow": "Ekspòrtëjë przebiég robòtë Wrike",
"r-import-wrike-workflow": "Impòrtëjë przebiég robòtë Wrike",
"r-import-wrike-workflow-done": "Przebiég robòtë Wrike \"__name__\": dodóné __lists__ lëst i __rules__ prawidłów, __skipped__ dzélów nie przeczëtóné",
"r-set-scheduled-triggers": "Zaplanowóné wëwòłania",
"r-set-button-triggers": "Knąpë",
"r-when-scheduled": "Wedle harmonogramù",
@@ -1752,8 +1752,8 @@
"set-filter": "Nastawi filter",
"r-moved-to": "Przeniesóné do",
"r-moved-from": "Przeniesóné z",
"r-moved-forward": "moved forward to a later list",
"r-moved-back": "moved back to an earlier list",
"r-moved-forward": "przeniesionô do przódkù na pózniészą lëstã",
"r-moved-back": "przeniesionô nazôd na wczasniészą lëstã",
"r-archived": "Przeniesóné do archiwùm",
"r-unarchived": "przywròcona z archiwùm",
"r-commented": "skòmentowónô",
@@ -1801,8 +1801,8 @@
"r-add-actinguser-member": "Dodôj brëkòwnika, jaczi wëzwòlił nã reglã, jakno nôleżnika",
"r-remove-all": "Rëmôj wszëtczich brëkòwnikòw tej kôrtë",
"r-assignee": "przëpisóny",
"r-add-actinguser-assignee": "Add the user who triggered this rule as an assignee",
"r-remove-all-assignees": "Remove all assignees from the card",
"r-add-actinguser-assignee": "Dodôj brëkòwnika, chtëren wëzwôł to prawidło, jakno òdpòwiedzalnégò",
"r-remove-all-assignees": "Rëmôj wszëtczich òdpòwiedzalnëch z kôrtë",
"r-remove-all-labels": "Rëmnąc wszëtczé etiketë z kôrtë",
"r-set-color": "Ùstôwi farwã na",
"r-checklist": "lëstã kòntrólną",
@@ -1876,10 +1876,10 @@
"ldap-test-connection": "Sprôbùjë sparłãczenié LDAP",
"ldap-test-connection-success": "Sparłãczenié darzëło sã",
"ldap-test-connection-error": "Sparłãczenié nie darzëło sã: %s",
"ldap-sync-now": "Sync LDAP users now",
"ldap-sync-now-done": "LDAP sync finished",
"ldap-sync-now-error": "LDAP sync failed: %s",
"ldap-sync-now-nothing": "Nothing to sync: turn on LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS or LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED first.",
"ldap-sync-now": "Synchronizëjë terô brëkòwników LDAP",
"ldap-sync-now-done": "Synchronizacjô LDAP skùńczonô",
"ldap-sync-now-error": "Synchronizacjô LDAP sã nie ùdała: %s",
"ldap-sync-now-nothing": "Ni ma czegò synchronizowac: nôprzód włączë LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS abò LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED.",
"oauth-providers-title": "Dostôwcowie logowaniô OAuth",
"oauth-providers-hint": "Kòżdégò dostôwcã mòże włączëc tuwò abò zmienną òkrãżégò OAUTH_*_ENABLED; wôrtnota nastawionô tuwò mô pierszeństwò przed zmienną òkrãżégò. Sekret je trzimóny na serwerze i nigdë nie je pòkazywóny.",
"oauth-provider-google": "Google",
@@ -1894,7 +1894,7 @@
"oauth-provider-secret-set": "Sekret je nastawiony",
"oauth-providers-login-style": "Sztél logowaniô",
"oauth-providers-merge-existing-users": "Pòłączë z jistniejącym kòntã z tim samim elektronicznym lëstã",
"oauth-providers-allowed-email-domains": "Only these email domains may sign in with these providers (comma separated; empty allows all)",
"oauth-providers-allowed-email-domains": "Blós te domenë e-mail mògą sã wlogòwac przez tëch dostôwców (òddzeloné przecënkama; pùsté pòzwôlô wszëtczim)",
"oauth-account-conflict": "Kònto z tim elektronicznym lëstã ju jistnieje i nie òstało ùsadzoné tą metodą logowaniô",
"sign-in-with": "Zalogùj przez %s",
"login-origin-mismatch": "Nie mòże skùńczëc logowaniô przez jinszą ùsługã pòd tim adrésã. WeKan je skonfigùrowóny dlô __expected__, ale ta starna òstała òtemkłô pòd __actual__. Òtemkni WeKan pòd __expected__ abò pòproszë administratora, żebë nastôwił ROOT_URL na __actual__.",
@@ -2826,8 +2826,8 @@
"feature-pilot-users-placeholder": "Miona brëkòwników, rozdzéloné przecënkama",
"feature-pilot-users-unknown": "Zapisóné. Nie nalazłë sã ne miona brëkòwników:",
"feature-saved": "Zapisóné.",
"card-field-visibility": "Card fields",
"card-field-visibility-desc": "The fields of Board Settings / Card that boards can show. An unticked field is hidden from every card, minicard and Board Settings / Card of every board. No card data or board setting changes, and ticking it again shows each board as it was set. The order of the fields is each board's own.",
"card-field-visibility": "Pòla kôrtë",
"card-field-visibility-desc": "Pòla z Nastôwów tôflë / Kôrta, chtërné tôfle mògą pòkazac. Nieòbznaczoné pòle je skrëté na kòżdi kôrce, minikôrce i w Nastôwach tôflë / Kôrta kòżdi tôflë. Niżódné pòdôwczi kôrtë ani nastôwë tôflë sã nie zmieniają, a czej je zôs òbznaczësz, kòżdô tôfla je pòkôzónô tak, jak bëła nastôwionô. Pòrządk pòlów je włôsny dlô kòżdi tôflë.",
"features-performance": "Wëdajnosc",
"cards-loading": "Ladowanié kôrtów",
"cards-loading-auto": "Aùtomatno (lénowò blós dlô wiôldżich tôflów)",
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Połączenié nieudane",
"cloud-settings-saved": "Nastôwë składu zapisóné",
"cloud-settings-save-failed": "Nie dało sã zapisac nastôwów składu",
"cloud": "Chmura",
"cloud-settings-desc": "Z WeKan w Weddy, Cloud Panel òbsłëgùje wiele domenów WeKan z jednégò serwera, kòżdi ze swòjima pòdôwkama. Na domenie Cloud Panel SuperAdmin zarządzô domenama ë CloudFlare.",
"cloud-panel-domain": "Domena Cloud Panel",
"cloud-superadmin-username": "Miono brëkòwnika SuperAdmin",
"cloud-saved": "Zapisóné.",
"cloud-panel-not-allowed": "Cloud Panel je blós dlô SuperAdmina, na domenie Cloud Panel.",
"cloud-customer-name": "Miono klienta",
"cloud-customer-email": "Adresa elektroniczny pòcztë klienta",
"cloud-billing-email": "Adresa elektroniczny pòcztë do rachunków",
"cloud-start-date": "Data zôczątkù",
"cloud-end-date": "Data kùńca",
"cloudflare-api-key": "Klucz CloudFlare API",
"cloudflare-api-key-desc": "Z kluczã CloudFlare API domena, chtërnëj zóna je na twòjim kònce CloudFlare, dostôwô DNS wpis przez proxy ë certifikat CloudFlare Origin. Jinszé domenë dostôwają certifikat Let's Encrypt. Klucz je zapisóny na serwerze ë nigdë wicy nie je pòkôzóny.",
"cloudflare-api-key-set": "Klucz CloudFlare API je zapisóny.",
"cloudflare-api-key-not-set": "Ni ma zapisónégò klucza CloudFlare API: kòżdô domena dostôwô certifikat Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Przeniesë przëdôwk do Azure Blob Storage",
@@ -3276,7 +3291,7 @@
"import-report-open-board": "Òtemkni tôflã",
"import-parts-instruction": "Importowane są tylko zaznaczone części. Ten sam wybòr jest używany przy eksporcie.",
"import-wekan-file": "Impòrt z lopka ekspòrtu .json abò .zip:",
"import-file-label": "Choose the export file, or paste its text below:",
"import-file-label": "Wëbierzë lopk ekspòrtu abò wklejë jegò tekst niżi:",
"sum-of-number-fields": "Sëma numerowëch swòjich pòlów pòkôzónëch na górze lëstë",
"date-range-of-fields": "Zakres datów pòlów daty òznaczonëch do pòkazywaniô na górze lëstë",
"more-options": "Wicy opcëji",
@@ -3303,9 +3318,9 @@
"wip-limit-group-select-swimlane": "Wëbierzë stegnã",
"wip-limit-group-apply-swimlane": "Zastosëjë do stegnë",
"subtask-inherit-parent-labels": "Dostac sztiże starszi kôrtë",
"subtask-mark-done": "Mark subtask as done",
"subtask-mark-not-done": "Mark subtask as not done",
"subtask-done-no-permission": "You cannot change whether this subtask is done",
"subtask-mark-done": "Òbznaczë pòdzadanié jakno zrobioné",
"subtask-mark-not-done": "Òbznaczë pòdzadanié jakno niezrobioné",
"subtask-done-no-permission": "Nie mòżesz zmienic, czë to pòdzadanié je zrobioné",
"chart-forecast-none-remaining": "Felë nick òtemkłégò do przewidzeniô - wszëtczé kôrtë są zrobioné.",
"chart-forecast-no-velocity": "__remaining__ kôrtów je jesz òtemkłëch; felë skòrim zakùńczeniów do przewidzeniô datë.",
"chart-forecast-projected": "Przë slédnym tempie __average__ kôrtów/tidzéń, __remaining__ jesz òtemkłëch kôrtów mô bëc zrobioné do __date__.",
@@ -4380,52 +4395,52 @@
"rule-email-legacy-attempt-exists": "Nen lëst je ju wësłóny, òdrzucony abò bëła próba jegò wësëłczi.",
"rule-email-legacy-not-legacy": "Nen lëst je ju sparłãczony znowa.",
"rule-email-legacy-failed": "Nie dało sã skùńczëc ti dzejbë. Òdswiéżë i spróbùjë znowa.",
"stuck-sync-operation-heading": "List Sync operations that cannot be replayed",
"stuck-sync-operation-description": "Each of these saved List Sync operations stopped part way and can no longer be finished, because its list was removed, recreated or reconfigured, or the user who started it lost write access. While one is pending, that list cannot Sync. Discard it to let the list Sync again: changes already applied stay, the remaining saved changes are never written, and the next Sync compares the list with its source again.",
"stuck-sync-operation-list": "Board / list",
"stuck-sync-operation-heading": "Òperacje Synchronizacje lëstów, chtërnëch nie mòżna pòwtórzëc",
"stuck-sync-operation-description": "Kòżdô z tëch zapisónëch òperacjów Synchronizacje lëstów sã zatrzima w pòłowie i nie mòże ju bëc skùńczonô, bò ji lësta òsta rëmniãtô, zrobionô znowa abò przenastôwionô, abò brëkòwnik, chtëren jã zaczął, stracył prawò do zapisu. Pòczi jedna żdże, ta lësta nie mòże sã synchronizowac. Òdrzucë jã, żebë lësta mògła zôs sã synchronizowac: ju ùżëté zmianë òstôwają, reszta zapisónëch zmianów nigdë nie mdze zapisónô, a pòstãpnô Synchronizacjô zôs pòrównô lëstã z ji zdrzódłã.",
"stuck-sync-operation-list": "Tôfla / lësta",
"stuck-sync-operation-progress": "Pòstãp",
"stuck-sync-operation-reason": "Powòd",
"stuck-sync-operation-applied": "__applied__ of __total__ changes applied",
"stuck-sync-operation-reason-scope-changed": "The list was removed, recreated or its Sync settings changed",
"stuck-sync-operation-reason-access-denied": "The user who started it no longer has write access to the whole list",
"stuck-sync-operation-reason-trigger-unknown": "Saved by an earlier WeKan version without what started it",
"stuck-sync-operation-reason-intent-missing": "The record of who started it is missing",
"stuck-sync-operation-reason-unknown": "Could not be checked now",
"stuck-sync-operation-replayable-now": "It can be replayed again now and will finish by itself, so it cannot be discarded.",
"stuck-sync-operation-applied": "Ùżëté __applied__ z __total__ zmianów",
"stuck-sync-operation-reason-scope-changed": "Lësta òsta rëmniãtô, zrobionô znowa abò ji nastôwë Synchronizacje sã zmieniłë",
"stuck-sync-operation-reason-access-denied": "Brëkòwnik, chtëren to zaczął, ni mô ju prawa do zapisu całi lëstë",
"stuck-sync-operation-reason-trigger-unknown": "Zapisóné przez starszą wersjã WeKan bez tegò, co to zaczãło",
"stuck-sync-operation-reason-intent-missing": "Felëje zapisu ò tim, chto to zaczął",
"stuck-sync-operation-reason-unknown": "Nie szło tegò terô sprawdzëc",
"stuck-sync-operation-replayable-now": "Mòżna jã terô zôs pòwtórzëc i skùńczi sã sama, tej nie mòżna ji òdrzucëc.",
"stuck-sync-operation-discard": "Òdrzucë",
"stuck-sync-operation-discard-confirm": "Discard this saved List Sync operation? Changes it already applied stay; the rest are never written. The list can then Sync again.",
"stuck-sync-operation-discard-confirm": "Òdrzucëc nã zapisóną òperacjã Synchronizacje lëstë? Zmianë, chtërné ju ùżëła, òstôwają; reszta nigdë nie mdze zapisónô. Lësta pòtemù zôs mòże sã synchronizowac.",
"stuck-sync-operation-refresh": "Òdswiéżë",
"stuck-sync-operation-empty": "No List Sync operations are waiting for review.",
"stuck-sync-operation-truncated": "Only the oldest 50 are shown. Discard some and refresh to see more.",
"stuck-sync-operation-unavailable": "Could not load the List Sync operations. Refresh to try again.",
"stuck-sync-operation-missing": "This operation is no longer pending.",
"stuck-sync-operation-not-stuck": "This operation has not been found stuck, so it cannot be discarded.",
"stuck-sync-operation-replayable": "This operation can be replayed again now and will finish by itself, so it was not discarded.",
"stuck-sync-operation-busy": "This list is syncing right now. Try again in a moment.",
"stuck-sync-operation-empty": "Niżódné òperacje Synchronizacje lëstów nie żdżą na przezéranié.",
"stuck-sync-operation-truncated": "Pòkôzóné są blós nôstarszé 50. Òdrzucë czile i òdswiéżë, żebë òbaczëc wiãcy.",
"stuck-sync-operation-unavailable": "Nie szło wczëtac òperacjów Synchronizacje lëstów. Òdswiéżë, żebë spróbòwac zôs.",
"stuck-sync-operation-missing": "Na òperacjô ju nie żdże.",
"stuck-sync-operation-not-stuck": "Na òperacjô nie òsta nalazłô jakno zawieszonô, tej nie mòżna ji òdrzucëc.",
"stuck-sync-operation-replayable": "Na òperacjô mòże bëc terô zôs pòwtórzonô i skùńczi sã sama, tej nie òsta òdrzuconô.",
"stuck-sync-operation-busy": "Na lësta sã terô synchronizëje. Spróbùjë zôs za chwilã.",
"stuck-sync-operation-failed": "Nie dało sã skùńczëc ti dzejbë. Òdswiéżë i spróbùjë znowa.",
"interrupted-import-heading": "Board imports that stopped before finishing",
"interrupted-import-description": "Each of these board imports stopped part way - the server restarted, or the import failed - and left a partial board. An import cannot be continued, because its source file is not kept. Keep the board as it is, or discard it and import the file again. Discarding removes the board this import created and everything on it, including anything added to it since.",
"interrupted-import-heading": "Impòrtë tôflów, chtërné sã zatrzimałë przed kùńcã",
"interrupted-import-description": "Kòżdi z tëch impòrtów tôflów zatrzimôł sã w pòłowie - serwer sã zrestartowôł abò impòrt sã nie ùdôł - i òstawił niefùl tôflã. Impòrtu nie mòżna dali prowadzëc, bò jegò zdrzódłowi lopk nie je trzimóny. Òstawi tôflã, jak je, abò jã òdrzucë i zaimpòrtëjë lopk zôs. Òdrzucenié rëmôwô tôflã, chtërną zrobił nen impòrt, i wszëtkò na ni, téż to, co dodóné pòtemù.",
"interrupted-import-board": "Tôfla",
"interrupted-import-progress": "Where it stopped",
"interrupted-import-created": "Created so far",
"interrupted-import-source": "Imported from __source__",
"interrupted-import-state-stopped": "Stopped without finishing, at __stage__",
"interrupted-import-state-failed": "Failed with __error__, at __stage__",
"interrupted-import-state-discarding": "Being discarded; discard again to finish",
"interrupted-import-progress": "Gdze sã zatrzimôł",
"interrupted-import-created": "Zrobioné do terô",
"interrupted-import-source": "Zaimpòrtowóné z __source__",
"interrupted-import-state-stopped": "Zatrzimôł sã bez skùńczeniô, przë __stage__",
"interrupted-import-state-failed": "Nie ùdôł sã z felą __error__, przë __stage__",
"interrupted-import-state-discarding": "Je òdrzucóny; òdrzucë zôs, żebë skùńczëc",
"interrupted-import-scrum": "Jegò etap Scrum mô swój pùnkt kòntrólny (__state__, krok __next__ z __total__). Jeżlë zachòwôsz tôflã, skùńczë abò òdrzucë ten etap przez òdzëskiwanié impòrtu Scrum tôflë.",
"interrupted-import-counts": "__swimlanes__ swimlanes, __lists__ lists, __cards__ cards, __checklists__ checklists, __comments__ comments, __attachments__ attachments",
"interrupted-import-no-board": "No board was created",
"interrupted-import-keep": "Keep",
"interrupted-import-counts": "__swimlanes__ stegnów, __lists__ lëstów, __cards__ kôrtów, __checklists__ lëstów kòntrolë, __comments__ kòmentôrzów, __attachments__ załączników",
"interrupted-import-no-board": "Niżódnô tôfla nie òsta zrobionô",
"interrupted-import-keep": "Òstawi",
"interrupted-import-discard": "Òdrzucë",
"interrupted-import-keep-confirm": "Keep this partial board as it is? Nothing is removed, and the import is no longer listed here.",
"interrupted-import-discard-confirm": "Discard this import? The board it created and everything on it are removed permanently.",
"interrupted-import-keep-confirm": "Òstawic nã niefùl tôflã, jak je? Nick nie je rëmniãté, a impòrt nie mdze ju tuwò wëmieniony.",
"interrupted-import-discard-confirm": "Òdrzucëc nen impòrt? Tôfla, chtërną zrobił, i wszëtkò na ni są rëmniãté na wiedno.",
"interrupted-import-refresh": "Òdswiéżë",
"interrupted-import-empty": "No interrupted board imports are waiting for review.",
"interrupted-import-truncated": "Only the oldest 50 are shown. Keep or discard some and refresh to see more.",
"interrupted-import-unavailable": "Could not load the interrupted board imports. Refresh to try again.",
"interrupted-import-missing": "This import is no longer recorded.",
"interrupted-import-not-interrupted": "This import is not waiting for a decision any more.",
"interrupted-import-foreign-board": "The board with this id was not created by this import, so it was not touched.",
"interrupted-import-empty": "Niżódné przerwóné impòrtë tôflów nie żdżą na przezéranié.",
"interrupted-import-truncated": "Pòkôzóné są blós nôstarszé 50. Òstawi abò òdrzucë czile i òdswiéżë, żebë òbaczëc wiãcy.",
"interrupted-import-unavailable": "Nie szło wczëtac przerwónëch impòrtów tôflów. Òdswiéżë, żebë spróbòwac zôs.",
"interrupted-import-missing": "Nen impòrt ju nie je zapisóny.",
"interrupted-import-not-interrupted": "Nen impòrt ju nie żdże na decyzjã.",
"interrupted-import-foreign-board": "Tôfla z tim id nie òsta zrobionô przez nen impòrt, tej nie òsta tkniãtô.",
"interrupted-import-scrum-busy": "Jegò etap Scrum je jesz zapisywóny abò òdzëskiwóny. Spróbùjë znowa za czile minut.",
"interrupted-import-failed": "Nie dało sã skùńczëc ti dzejbë. Òdswiéżë i spróbùjë znowa.",
"saml-login-not-started": "Ne logòwanié SAML nie bëło zaczãté w ti kôrce przezérnika. Zalogùjë sã znowa.",
@@ -4446,7 +4461,7 @@
"header-login": "Logowanié przez nagłówczi HTTP",
"login-setting-clear-secret": "Rëmac wôrtnotã zapisaną w panelu administratora",
"login-setting-after-restart": "Zacznie dzejac pò zrëszenim WeKan jesz rôz",
"login-setting-env-only": "Only the server environment sets these. They are shown here read-only.",
"login-setting-env-only": "Te nastôwë ùstôwiô blós strzodowiszcze serwera. Są tuwò pòkôzóné blós do czëtaniô.",
"email-to-card": "Elektroniczny lëst do kôrtë",
"email-to-card-description": "Elektroniczny lëst wësłóny na adresã twòji tôflë stôwô sã kôrtą na ti tôflë.",
"email-to-card-admin-enabled": "Òdbiérac elektroniczné lëstë jakno kôrtë",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Ҫыхӑну ӑнӑҫсӑр",
"cloud-settings-saved": "Упранӑв йӗркелӗвӗсене упранӑ",
"cloud-settings-save-failed": "Упранӑв йӗркелӗвӗсене упраймарӗ",
"cloud": "Пĕлĕт",
"cloud-settings-desc": "Weddy-ри WeKan-па Cloud Panel пĕр серверран нумай WeKan доменне ĕçлеттерет, кашнин хăйĕн даннăйĕсем пур. Cloud Panel доменĕнче SuperAdmin доменсене тата CloudFlare-а йĕркелет.",
"cloud-panel-domain": "Cloud Panel доменĕ",
"cloud-superadmin-username": "SuperAdmin усăҫă ячӗ",
"cloud-saved": "Упранӑ.",
"cloud-panel-not-allowed": "Cloud Panel SuperAdmin валли кăна, Cloud Panel доменĕнче.",
"cloud-customer-name": "Клиент ячӗ",
"cloud-customer-email": "Клиентăн электронлă почта адресӗ",
"cloud-billing-email": "Счет-фактура валли электронлă почта адресӗ",
"cloud-start-date": "Пуҫламӑш кун",
"cloud-end-date": "Вӗҫӗмлӗ кун",
"cloudflare-api-key": "CloudFlare API уҫҫи",
"cloudflare-api-key-desc": "CloudFlare API уҫҫипе зони сирĕн CloudFlare аккаунтӗнче пулнă домен прокси урлă DNS ҫырăвне тата CloudFlare Origin сертификатне илет. Ытти доменсем Let's Encrypt сертификатне илеҫҫӗ. Уҫҫа серверта упранать, ăна урӑх нихҫан та кăтартмаҫҫӗ.",
"cloudflare-api-key-set": "CloudFlare API уҫҫи упранӑ.",
"cloudflare-api-key-not-set": "Пӗр CloudFlare API уҫҫи те упранман: кашни домен Let's Encrypt сертификатне илет.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Ҫумлӑ файла Azure Blob Storage патне куҫарас",
+215 -200
View File
@@ -227,20 +227,20 @@
"attachment-soft-delete-pop": "Mae'r ymlyniad wedi'i dynnu o'r cerdyn hwn ac mae ei ffeil yn cael ei chadw. Gall unrhyw un sy'n gallu golygu'r cerdyn ei adfer o hanes y cerdyn.",
"attachmentDeletePopup-title": "Dileu Atodiad?",
"attachments": "Ymlyniadau",
"attach-card": "Attach card",
"attachCardPopup-title": "Attach card",
"attach-card-hint": "Paste a card link (Copy card link on the other card), or type a card title on this board",
"attached-card-unavailable": "An attached card you cannot see",
"detach-card": "Remove attached card",
"attach-card-self": "A card cannot be attached to itself",
"attach-card-limit": "This card already has as many attached cards as it can have",
"attach-card-not-found": "No card you can see was found for that link",
"attach-card": "Atodi cerdyn",
"attachCardPopup-title": "Atodi cerdyn",
"attach-card-hint": "Gludwch ddolen cerdyn (Copïo dolen y cerdyn ar y cerdyn arall), neu teipiwch deitl cerdyn ar y bwrdd hwn",
"attached-card-unavailable": "Cerdyn wedi'i atodi na allwch ei weld",
"detach-card": "Tynnu'r cerdyn wedi'i atodi",
"attach-card-self": "Ni ellir atodi cerdyn iddo'i hun",
"attach-card-limit": "Mae gan y cerdyn hwn eisoes gymaint o gardiau wedi'u hatodi ag y gall eu cael",
"attach-card-not-found": "Ni chafwyd hyd i gerdyn y gallwch ei weld ar gyfer y ddolen honno",
"auto-watch": "Gwylio byrddau yn awtomatig pan fyddant yn cael eu creu",
"avatar-too-big": "Mae'r avatar yn rhy fawr (__size__ max)",
"back": "Yn ol",
"board-change-color": "Newid lliw",
"board-announcement": "Board announcement",
"board-announcement-enabled": "Show it to everyone on this board",
"board-announcement": "Cyhoeddiad y bwrdd",
"board-announcement-enabled": "Ei ddangos i bawb ar y bwrdd hwn",
"board-change-background-image": "Newid Delwedd Gefndir",
"board-background-image-url": "URL Delwedd Gefndir",
"add-background-image": "Ychwanegu Delwedd Gefndir",
@@ -284,7 +284,7 @@
"zoom-level": "Lefel Chwyddo",
"enter-zoom-level": "Rhowch lefel chwyddo (50-300%):",
"board-view-cal": "Calendr",
"board-view-calendar-mode": "Calendar Mode",
"board-view-calendar-mode": "Modd Calendr",
"board-view-multiboard-cal": "Calendr (Pob Bwrdd)",
"board-view-swimlanes": "Lonydd nofio",
"board-view-collapse": "Cwymp",
@@ -686,32 +686,32 @@
"chooseBoardSourcePopup-title": "Bwrdd mewnforio",
"createLabelPopup-title": "Creu Label",
"createCustomField": "Creu Maes",
"custom-field-links": "Link fields to another card",
"custom-field-links-hint": "Custom fields with the same name and type on both cards are linked: when a value changes on one card, it is copied to the other card. Fields that only one card has are left alone.",
"custom-field-links-none": "This card's custom fields are not linked to any card.",
"custom-field-link-unavailable": "A linked card you cannot see",
"custom-field-link-fields": "Linked fields:",
"custom-field-link-no-fields": "No fields with the same name and type yet",
"custom-field-link-inactive": "Paused: the person who made this link can no longer edit both cards, or a card is archived.",
"custom-field-unlink": "Unlink",
"custom-field-link-target": "Card link (Copy card link), or search this board's cards",
"custom-field-link-direction": "Direction",
"custom-field-link-both": "Both ways: changes on either card go to the other",
"custom-field-link-send": "One way: changes on this card go to the main card",
"custom-field-link-sends": "Changes on this card go to that card",
"custom-field-link-receives": "Changes on that card come to this card",
"custom-field-link-add": "Link fields",
"field-link-self": "A card cannot be linked to itself.",
"field-link-limit": "This card, or that card, already has the most linked cards it can have.",
"field-link-archived": "An archived card cannot be linked.",
"field-link-invalid": "That is not a card link.",
"field-link-not-found": "Card not found.",
"field-link-not-allowed": "You need to be able to edit both cards.",
"cardCustomFieldLinksPopup-title": "Linked custom fields",
"custom-field-links": "Cysylltu meysydd â cherdyn arall",
"custom-field-links-hint": "Mae meysydd personol sydd â'r un enw a math ar y ddau gerdyn wedi'u cysylltu: pan fydd gwerth yn newid ar un cerdyn, caiff ei gopïo i'r cerdyn arall. Caiff meysydd sydd gan un cerdyn yn unig eu gadael fel y maent.",
"custom-field-links-none": "Nid yw meysydd personol y cerdyn hwn wedi'u cysylltu ag unrhyw gerdyn.",
"custom-field-link-unavailable": "Cerdyn cysylltiedig na allwch ei weld",
"custom-field-link-fields": "Meysydd cysylltiedig:",
"custom-field-link-no-fields": "Dim meysydd â'r un enw a math eto",
"custom-field-link-inactive": "Wedi'i oedi: ni all y sawl a wnaeth y cysylltiad hwn olygu'r ddau gerdyn mwyach, neu mae cerdyn wedi'i archifo.",
"custom-field-unlink": "Datgysylltu",
"custom-field-link-target": "Dolen cerdyn (Copïo dolen y cerdyn), neu chwilio cardiau'r bwrdd hwn",
"custom-field-link-direction": "Cyfeiriad",
"custom-field-link-both": "Y ddwy ffordd: mae newidiadau ar y naill gerdyn yn mynd i'r llall",
"custom-field-link-send": "Un ffordd: mae newidiadau ar y cerdyn hwn yn mynd i'r prif gerdyn",
"custom-field-link-sends": "Mae newidiadau ar y cerdyn hwn yn mynd i'r cerdyn hwnnw",
"custom-field-link-receives": "Mae newidiadau ar y cerdyn hwnnw yn dod i'r cerdyn hwn",
"custom-field-link-add": "Cysylltu meysydd",
"field-link-self": "Ni ellir cysylltu cerdyn ag ef ei hun.",
"field-link-limit": "Mae gan y cerdyn hwn, neu'r cerdyn hwnnw, eisoes y nifer fwyaf o gardiau cysylltiedig y gall eu cael.",
"field-link-archived": "Ni ellir cysylltu cerdyn wedi'i archifo.",
"field-link-invalid": "Nid dolen cerdyn yw honno.",
"field-link-not-found": "Heb ddod o hyd i'r cerdyn.",
"field-link-not-allowed": "Mae angen i chi allu golygu'r ddau gerdyn.",
"cardCustomFieldLinksPopup-title": "Meysydd personol cysylltiedig",
"createCustomFieldPopup-title": "Creu Maes",
"current": "presennol",
"custom-color": "Lliw personol",
"cards-use-list-color": "Cards without a colour of their own use this colour",
"cards-use-list-color": "Mae cardiau heb liw eu hunain yn defnyddio'r lliw hwn",
"custom-field-delete-pop": "Does dim dadwneud. Bydd hyn yn dileu'r maes arfer hwn o bob cerdyn ac yn dinistrio ei hanes.",
"custom-field-checkbox": "Blwch ticio",
"custom-field-currency": "Arian cyfred",
@@ -909,20 +909,20 @@
"import-board-instruction-zenkit": "Gludwch JSON allforio rhestr ZenKit ({ \"title\", \"stages\":[...], \"items\":[...] }). Daw'r camau'n rhestrau a'r eitemau'n gardiau.",
"import-board-instruction-markdown": "Gludwch restr dasgau markdown (y confensiwn y mae offer markdown-kanban fel Obsidian Kanban yn ei ddefnyddio): penawdau \"## Enw'r rhestr\", gyda eitemau \"- [ ]\"/\"- [x]\" oddi tanynt. Mae penawdau'n dod yn rhestrau ac eitemau'n dod yn gardiau; mae rhestr bwled blaen heb flychau ticio hefyd yn cael ei mewnforio, fel cardiau agored.",
"import-board-instruction-leo": "Gludwch amlinelliad Leo (ffeil .leo). Mae nodau'r lefel uchaf yn troi'n restrau, mae eu plant yn troi'n gardiau gyda chorff y nod fel disgrifiad, ac mae nodau dyfnach yn troi'n restrau gwirio. Mewnforir nodau wedi'u marcio fel rhai wedi gorffen.",
"import-board-instruction-opml": "Paste an OPML outline, as Workflowy, Dynalist, OmniOutliner, Logseq and other outliners export it. Top-level items become lists, their children become cards with the note as the description, and deeper items become checklists. Completed items import as done.",
"import-board-instruction-orgmode": "Paste an Org mode file, as Emacs, Orgzly or Beorg write it. Top-level headings become lists and second-level headings become cards. TODO and DONE, priorities, tags, SCHEDULED, DEADLINE and CLOSED are kept, and checkboxes and deeper headings become checklists.",
"import-board-instruction-opml": "Gludwch amlinelliad OPML, fel y mae Workflowy, Dynalist, OmniOutliner, Logseq ac amlinellwyr eraill yn ei allforio. Daw eitemau'r lefel uchaf yn rhestrau, daw eu plant yn gardiau gyda'r nodyn yn ddisgrifiad, a daw eitemau dyfnach yn rhestrau gwirio. Caiff eitemau wedi'u cwblhau eu mewnforio fel rhai wedi'u gwneud.",
"import-board-instruction-orgmode": "Gludwch ffeil Org mode, fel y mae Emacs, Orgzly neu Beorg yn ei hysgrifennu. Daw penawdau'r lefel uchaf yn rhestrau a daw penawdau'r ail lefel yn gardiau. Cedwir TODO a DONE, blaenoriaethau, tagiau, SCHEDULED, DEADLINE a CLOSED, a daw blychau ticio a phenawdau dyfnach yn rhestrau gwirio.",
"import-board-instruction-todotxt": "Gludwch ffeil todo.txt: un dasg fesul llinell, fel y mae ap todo.txt ac apiau cydnaws yn ei hysgrifennu. Mae tasgau gorffenedig (\"x\") yn mynd i Wedi gorffen, mae +project a @context yn troi'n labeli, mae (A) yn troi'n label blaenoriaeth, ac mae due: a t: yn troi'n ddyddiadau cau a dechrau.",
"import-board-instruction-taskwarrior": "Gludwch allbwn task export: arae JSON neu un dasg fesul llinell. Mae tasgau gorffenedig yn mynd i Done, daw project a priority yn labeli, annotations yn sylwadau, a depends yn ddibyniaethau ar dasgau sy’n eu rhwystro.",
"import-board-instruction-focalboard": "Dadsipiwch y ffeil .boardarchive a gludwch gynnwys board.jsonl y bwrdd, gyda llinell y fersiwn neu hebddi. Daw priodwedd grwpio golwg y bwrdd yn restrau, priodweddau dewis eraill yn labeli, blociau testun a blychau ticio yn ddisgrifiad a rhestr wirio, a chedwir y sylwadau. Ni fewnforir delweddau nac atodiadau.",
"import-board-instruction-todoist": "In Todoist, open the project menu and choose Export as a template, then paste the CSV file. Sections become lists, tasks become cards, sub-tasks become a checklist, notes become comments, and @labels and priorities p1 to p3 become labels.",
"import-board-instruction-planner": "In Microsoft Planner, open the plan's menu and choose Export plan to Excel, then choose that .xlsx file. Buckets become lists and tasks become cards, with their assignees, dates, labels, checklist and description; Progress, Priority and Completed By become custom fields.",
"import-board-instruction-meistertask": "In MeisterTask, click the project name, choose Export project and export the CSV, then paste it. Sections become lists and tasks become cards, with their notes, due date, assignee and tags; completed tasks keep their completion date. A CSV written for MeisterTask's own import works too.",
"import-board-instruction-obsidian": "In Obsidian, open the Kanban board's file as Markdown (or open the .md file in a text editor), then paste all of it. Lanes become lists with their card limits, cards keep their tags, dates, priority, fields and checklist, and the Archive becomes archived cards.",
"import-board-instruction-linear": "In Linear, export the issues as CSV (Settings, Import / Export, Export data, or a view's export), then paste the CSV. Statuses become lists, teams become swimlanes, and issues become cards with their assignee, labels, dates, parent issue, priority, estimate, project and cycle.",
"import-board-instruction-ticktick": "In TickTick, open Settings, Account, Backup & Import and generate a backup, then paste the CSV file. Each TickTick list becomes a swimlane and its columns become lists; tasks keep their tags, dates, checklist, priority and subtasks.",
"import-board-instruction-clickup": "In ClickUp, export the tasks as CSV (Settings, Imports / Exports, Export Items, or a List or Table view's export with all columns), then paste the CSV. Statuses become lists, ClickUp lists become swimlanes, and tasks become cards with their subtasks, assignees, tags, dates, priority and time.",
"import-board-instruction-nullboard": "In Nullboard, open the board, choose Export this board... from the menu, open the .nbx file in a text editor and paste its contents. Lists become lists and notes become cards: a note's first line is the card title and the rest its description. A raw note gets the label raw. A file with several boards imports its first board.",
"import-board-instruction-kanri": "In Kanri, open Import & Export and choose Export individual board (or Export all data), then paste the .json file. Columns become lists and cards become cards, with their description, due date, tags and colors; a card's tasks become a checklist. From an all-data export the first board is imported.",
"import-board-instruction-meistertask": "Yn MeisterTask, cliciwch enw'r prosiect, dewiswch Export project ac allforiwch y CSV, yna gludwch ef. Daw adrannau yn rhestrau a thasgau yn gardiau, gyda'u nodiadau, dyddiad cwblhau, aseinai a thagiau; mae tasgau wedi'u cwblhau yn cadw eu dyddiad cwblhau. Mae CSV a ysgrifennwyd ar gyfer mewnforio MeisterTask ei hun yn gweithio hefyd.",
"import-board-instruction-obsidian": "Yn Obsidian, agorwch ffeil y bwrdd Kanban fel Markdown (neu agorwch y ffeil .md mewn golygydd testun), yna gludwch y cyfan. Daw lonydd yn rhestrau gyda'u terfynau cardiau, mae cardiau'n cadw eu tagiau, dyddiadau, blaenoriaeth, meysydd a rhestr wirio, a daw'r Archive yn gardiau wedi'u harchifo.",
"import-board-instruction-linear": "Yn Linear, allforiwch y materion fel CSV (Settings, Import / Export, Export data, neu allforio golwg), yna gludwch y CSV. Daw statwsau yn rhestrau, timau yn lonydd nofio, a materion yn gardiau gyda'u haseinai, labeli, dyddiadau, mater rhiant, blaenoriaeth, amcangyfrif, prosiect a chylch.",
"import-board-instruction-ticktick": "Yn TickTick, agorwch Settings, Account, Backup & Import a chynhyrchwch gopi wrth gefn, yna gludwch y ffeil CSV. Daw pob rhestr TickTick yn lôn nofio a'i cholofnau yn rhestrau; mae tasgau'n cadw eu tagiau, dyddiadau, rhestr wirio, blaenoriaeth ac is-dasgau.",
"import-board-instruction-clickup": "Yn ClickUp, allforiwch y tasgau fel CSV (Settings, Imports / Exports, Export Items, neu allforio golwg List neu Table gyda phob colofn), yna gludwch y CSV. Daw statwsau yn rhestrau, rhestrau ClickUp yn lonydd nofio, a thasgau yn gardiau gyda'u his-dasgau, aseineion, tagiau, dyddiadau, blaenoriaeth ac amser.",
"import-board-instruction-nullboard": "Yn Nullboard, agorwch y bwrdd, dewiswch Export this board... o'r ddewislen, agorwch y ffeil .nbx mewn golygydd testun a gludwch ei chynnwys. Daw rhestrau yn rhestrau a nodiadau yn gardiau: llinell gyntaf nodyn yw teitl y cerdyn a'r gweddill yw ei ddisgrifiad. Mae nodyn crai yn cael y label raw. O ffeil gyda sawl bwrdd, caiff y bwrdd cyntaf ei fewnforio.",
"import-board-instruction-kanri": "Yn Kanri, agorwch Import & Export a dewiswch Export individual board (neu Export all data), yna gludwch y ffeil .json. Daw colofnau yn rhestrau a chardiau yn gardiau, gyda'u disgrifiad, dyddiad cwblhau, tagiau a lliwiau; daw tasgau cerdyn yn rhestr wirio. O allforio'r holl ddata, caiff y bwrdd cyntaf ei fewnforio.",
"import-board-instruction-planka": "Teipiwch gyfeiriad eich Planka (er enghraifft https://planka.example.com), eich enw defnyddiwr a'ch cyfrinair Planka, yna pwyswch Rhestru. Fe'u defnyddir dim ond i nôl y bwrdd ac ni chânt eu cadw. Dewiswch fwrdd a phwyswch Nôl: mae WeKan yn ei ddarllen o API Planka, gyda'i restrau, cardiau, disgrifiadau, dyddiadau dyledus, labeli, aelodau, rhestrau tasgau a sylwadau, yna parhewch â'r mewnforio fel arfer. Caiff cardiau yn archif Planka eu mewnforio wedi'u harchifo; ni chaiff atodiadau a chardiau yn y sbwriel eu mewnforio.",
"import-board-instruction-mstodo": "Yn Microsoft Graph Explorer (developer.microsoft.com/graph/graph-explorer), mewngofnodwch, cydsyniwch i'r caniatâd Tasks.Read a chopïwch y tocyn o'r tab Access token. Gludwch ef yma a chliciwch Rhestru; defnyddir y tocyn ar gyfer y nôl hwn yn unig ac ni chaiff ei gadw. Dewiswch bob rhestr neu un rhestr a chliciwch Nôl. Daw pob rhestr To Do yn rhestr a phob tasg yn gerdyn, gyda'i nodiadau, dyddiadau dyledus a dechrau, camau fel rhestr wirio, categorïau fel labeli, a phwysigrwydd uchel a statws fel labeli; caiff tasgau wedi'u cwblhau eu harchifo. Ni chaiff nodiadau atgoffa ac ailadroddiadau eu mewnforio.",
"import-board-instruction-kanbanflow": "Yn KanbanFlow, agorwch ddewislen y bwrdd, dewiswch Settings → API & Webhooks a chopïwch docyn API y bwrdd. Gludwch y tocyn yma, cliciwch Rhestru, dewiswch y bwrdd a chliciwch Nôl; defnyddir y tocyn ar gyfer y nôl hwnnw yn unig ac ni chaiff ei gadw. Daw colofnau'n rhestrau ac mae lonydd nofio'n aros yn lonydd nofio; mae tasgau'n cadw eu disgrifiad, lliw, labeli, dyddiad dyledus, is-dasgau fel rhestr wirio, amser a dreuliwyd, amcangyfrif, pobl a sylwadau.",
@@ -941,19 +941,19 @@
"api-import-fetched": "Wedi'i nôl. Gwiriwch yr aelodau isod a mewnforiwch.",
"api-import-failed": "Methodd y nôl",
"api-import-nothing": "Does dim i'w fewnforio gyda'r cyfrif hwn.",
"import-board-instruction-pivotal": "In Pivotal Tracker, open the project's MORE tab and choose Export CSV (or select stories and choose Bulk Actions, CSV), then paste the CSV. Each story state becomes a list and stories become cards, with their type and labels, owners, requester, dates, comments, tasks and blockers; Estimate becomes Story points and iterations become sprints.",
"import-board-instruction-tasksorg": "In Tasks.org, open Settings, Backups and choose Export tasks, then paste the contents of that .json file. Lists become lists and tasks become cards, with their notes, tags, dates, comments and subtasks; completed tasks keep their completion date, and priority becomes a custom field.",
"import-board-instruction-monday": "In monday.com, open the board menu, choose More actions and Export board to Excel (with updates and subitems if you like), then choose that .xlsx file. The Status column becomes lists and groups become swimlanes; people, dates, timeline and tags keep their places, other columns become custom fields and updates become comments.",
"import-board-instruction-superproductivity": "In Super Productivity, open Settings, then Sync & Backup, choose Export Data and paste the contents of the sp-backup .json file. Each project becomes a swimlane and tasks become cards in To Do, In Progress, Backlog or Done, with their notes, tags, due date, time spent and sub-tasks; archived tasks become archived cards.",
"import-board-instruction-taiga": "In Taiga, open Admin > Project > Export and download the project dump (unpack a .json.gz file first), then paste its JSON. User story statuses become lists, user stories become cards with their tasks as subtasks, epics and issues get swimlanes of their own, and sprints, tags, comments and custom attributes come along. Attachments are not imported.",
"import-board-instruction-vikunja": "In Vikunja, open Settings, choose Data Export and download the .zip file it sends you, then choose that file, or paste the data.json inside it. Kanban buckets become lists and tasks become cards, with their labels, assignees, dates, description, task lists as checklists and comments; priority, percent done and done become custom fields. Attachments are not imported.",
"import-board-instruction-quire": "In Quire, open the project menu and choose Export CSV, then paste the CSV. Statuses become lists and tasks become cards, with their subtasks as child cards, assignees, tags as labels, start, due and completed dates, description and priority as a custom field. Comments and attachments are not in Quire's CSV.",
"import-board-instruction-wrike": "In Wrike, export a project or folder to Excel, or fill in Wrike's Excel import template, then choose that .xlsx file. Folder and project rows become swimlanes, Status becomes lists and tasks become cards, with their Key, parent task, assignees, start and end dates, dependencies and description; Priority, Duration and other columns become custom fields.",
"import-board-instruction-teamwork": "In Teamwork.com, fill in the Excel task import template (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) and save it as .xlsx, then choose that file. Task lists become lists and tasks become cards; a task starting with -, # or > becomes a subtask of the task above it (--, ## or >> one level deeper). Assignees, dates and tags keep their places; Priority, Estimated time and Complete become custom fields.",
"import-board-instruction-businessmap": "In Businessmap (formerly Kanbanize), open Advanced Search, choose Configure results to pick the columns, download the Excel file, then choose that .xlsx file. Columns are read by their English names (Title, Column, Lane, Owner, Deadline ...): if your account uses another language, rename the header row to English first. Column becomes lists and Lane swimlanes; owners, tags, color, dates, comments and parent links keep their places, and Priority, Size, Type and other columns become custom fields.",
"import-board-instruction-redmine": "In Redmine, open the project's Issues, choose Also available in: CSV at the bottom of the list, pick the columns (All columns, with Description) and export, then paste the CSV. Redmine names the columns in your language, so set your language to English in My account before exporting. Each status becomes a list and issues become cards, with the tracker as a label, assignee, author, dates, parent task and related issues; priority, category, target version, estimated time, % Done and custom fields become custom fields.",
"import-board-instruction-notion": "In Notion, open the database as a full page, choose ••• and Export, pick Markdown & CSV, and choose the .zip file it downloads, or one database CSV from it, or paste that CSV. A column named Status becomes the lists (without one, the first column that looks like a select does, and the import report says which); rows become cards with their title, tags as labels, people as members, dates, and the page text as the description; other columns become custom fields. Relations, images and attachments are not imported.",
"import-board-instruction-plane": "In Plane, open Workspace Settings, choose Exports, export the projects as JSON, CSV or Excel and download the .zip file, then choose that file, or one file from inside it, or paste the JSON or CSV. States become lists, projects become swimlanes, and issues become cards with their identifier, parent, assignees, labels, dates, links and comments; priority, estimate, cycle and module become custom fields. Plane's export has no descriptions or attachments, so they are not imported.",
"import-board-instruction-pivotal": "Yn Pivotal Tracker, agorwch dab MORE y prosiect a dewiswch Export CSV (neu dewiswch straeon a dewiswch Bulk Actions, CSV), yna gludwch y CSV. Daw pob cyflwr stori yn rhestr a straeon yn gardiau, gyda'u math a'u labeli, perchnogion, gofynnwr, dyddiadau, sylwadau, tasgau a rhwystrau; daw Estimate yn Story points a daw iteriadau yn sbrintiau.",
"import-board-instruction-tasksorg": "Yn Tasks.org, agorwch Settings, Backups a dewiswch Export tasks, yna gludwch gynnwys y ffeil .json honno. Daw rhestrau yn rhestrau a thasgau yn gardiau, gyda'u nodiadau, tagiau, dyddiadau, sylwadau ac is-dasgau; mae tasgau wedi'u cwblhau yn cadw eu dyddiad cwblhau, a daw blaenoriaeth yn faes personol.",
"import-board-instruction-monday": "Yn monday.com, agorwch ddewislen y bwrdd, dewiswch More actions ac Export board to Excel (gyda diweddariadau ac is-eitemau os mynnwch), yna dewiswch y ffeil .xlsx honno. Daw'r golofn Status yn rhestrau a grwpiau yn lonydd nofio; mae pobl, dyddiadau, llinell amser a thagiau yn cadw eu lle, daw colofnau eraill yn feysydd personol a diweddariadau yn sylwadau.",
"import-board-instruction-superproductivity": "Yn Super Productivity, agorwch Settings, yna Sync & Backup, dewiswch Export Data a gludwch gynnwys y ffeil sp-backup .json. Daw pob prosiect yn lôn nofio a thasgau yn gardiau yn To Do, In Progress, Backlog neu Done, gyda'u nodiadau, tagiau, dyddiad cwblhau, amser a dreuliwyd ac is-dasgau; daw tasgau wedi'u harchifo yn gardiau wedi'u harchifo.",
"import-board-instruction-taiga": "Yn Taiga, agorwch Admin > Project > Export a lawrlwythwch ddymp y prosiect (dadbaciwch ffeil .json.gz yn gyntaf), yna gludwch ei JSON. Daw statwsau straeon defnyddwyr yn rhestrau, straeon defnyddwyr yn gardiau gyda'u tasgau yn is-dasgau, mae epigau a materion yn cael lonydd nofio eu hunain, a daw sbrintiau, tagiau, sylwadau a phriodoleddau personol hefyd. Ni chaiff ymlyniadau eu mewnforio.",
"import-board-instruction-vikunja": "Yn Vikunja, agorwch Settings, dewiswch Data Export a lawrlwythwch y ffeil .zip y mae'n ei hanfon atoch, yna dewiswch y ffeil honno, neu gludwch y data.json sydd ynddi. Daw bwcedi Kanban yn rhestrau a thasgau yn gardiau, gyda'u labeli, aseineion, dyddiadau, disgrifiad, rhestrau tasgau fel rhestrau gwirio a sylwadau; daw blaenoriaeth, canran wedi'i gwneud a gwneud yn feysydd personol. Ni chaiff ymlyniadau eu mewnforio.",
"import-board-instruction-quire": "Yn Quire, agorwch ddewislen y prosiect a dewiswch Export CSV, yna gludwch y CSV. Daw statwsau yn rhestrau a thasgau yn gardiau, gyda'u his-dasgau yn gardiau plentyn, aseineion, tagiau fel labeli, dyddiadau dechrau, cwblhau a gorffen, disgrifiad a blaenoriaeth fel maes personol. Nid yw sylwadau ac ymlyniadau yn CSV Quire.",
"import-board-instruction-wrike": "Yn Wrike, allforiwch brosiect neu ffolder i Excel, neu llenwch dempled mewnforio Excel Wrike, yna dewiswch y ffeil .xlsx honno. Daw rhesi ffolder a phrosiect yn lonydd nofio, Status yn rhestrau a thasgau yn gardiau, gyda'u Key, tasg rhiant, aseineion, dyddiadau dechrau a gorffen, dibyniaethau a disgrifiad; daw Priority, Duration a cholofnau eraill yn feysydd personol.",
"import-board-instruction-teamwork": "Yn Teamwork.com, llenwch dempled mewnforio tasgau Excel (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) a'i gadw fel .xlsx, yna dewiswch y ffeil honno. Daw rhestrau tasgau yn rhestrau a thasgau yn gardiau; daw tasg sy'n dechrau gyda -, # neu > yn is-dasg i'r dasg uwch ei phen (--, ## neu >> un lefel yn ddyfnach). Mae aseineion, dyddiadau a thagiau yn cadw eu lle; daw Priority, Estimated time a Complete yn feysydd personol.",
"import-board-instruction-businessmap": "Yn Businessmap (Kanbanize gynt), agorwch Advanced Search, dewiswch Configure results i ddewis y colofnau, lawrlwythwch y ffeil Excel, yna dewiswch y ffeil .xlsx honno. Darllenir colofnau yn ôl eu henwau Saesneg (Title, Column, Lane, Owner, Deadline ...): os yw'ch cyfrif yn defnyddio iaith arall, ailenwch res y pennawd i Saesneg yn gyntaf. Daw Column yn rhestrau a Lane yn lonydd nofio; mae perchnogion, tagiau, lliw, dyddiadau, sylwadau a dolenni rhiant yn cadw eu lle, a daw Priority, Size, Type a cholofnau eraill yn feysydd personol.",
"import-board-instruction-redmine": "Yn Redmine, agorwch Issues y prosiect, dewiswch Also available in: CSV ar waelod y rhestr, dewiswch y colofnau (All columns, gyda Description) ac allforiwch, yna gludwch y CSV. Mae Redmine yn enwi'r colofnau yn eich iaith chi, felly gosodwch eich iaith i Saesneg yn My account cyn allforio. Daw pob statws yn rhestr a materion yn gardiau, gyda'r tracker fel label, aseinai, awdur, dyddiadau, tasg rhiant a materion cysylltiedig; daw blaenoriaeth, categori, fersiwn targed, amser amcangyfrifedig, % Done a meysydd personol yn feysydd personol.",
"import-board-instruction-notion": "Yn Notion, agorwch y gronfa ddata fel tudalen lawn, dewiswch ••• ac Export, dewiswch Markdown & CSV, a dewiswch y ffeil .zip y mae'n ei lawrlwytho, neu un CSV cronfa ddata ohoni, neu gludwch y CSV hwnnw. Daw colofn o'r enw Status yn rhestrau (hebddi, y golofn gyntaf sy'n edrych fel dewis, ac mae'r adroddiad mewnforio yn dweud pa un); daw rhesi yn gardiau gyda'u teitl, tagiau fel labeli, pobl fel aelodau, dyddiadau, a thestun y dudalen fel disgrifiad; daw colofnau eraill yn feysydd personol. Ni chaiff perthnasoedd, delweddau ac ymlyniadau eu mewnforio.",
"import-board-instruction-plane": "Yn Plane, agorwch Workspace Settings, dewiswch Exports, allforiwch y prosiectau fel JSON, CSV neu Excel a lawrlwythwch y ffeil .zip, yna dewiswch y ffeil honno, neu un ffeil o'i mewn, neu gludwch y JSON neu'r CSV. Daw cyflyrau yn rhestrau, prosiectau yn lonydd nofio, a materion yn gardiau gyda'u dynodwr, rhiant, aseineion, labeli, dyddiadau, dolenni a sylwadau; daw blaenoriaeth, amcangyfrif, cylch a modiwl yn feysydd personol. Nid oes disgrifiadau nac ymlyniadau yn allforio Plane, felly ni chânt eu mewnforio.",
"import-board-instruction-trello": "Yn eich bwrdd Trello, ewch i 'Dewislen', yna 'Mwy', 'Argraffu ac Allforio', 'Allforio JSON', a chopïwch y testun canlyniadol.",
"import-board-instruction-csv": "Gludwch eich Gwerthoedd Wedi'u Gwahanu gan Goma (CSV)/Gwerthoedd Wedi'u Gwahanu â Thabiau (TSV) i mewn .",
"import-board-instruction-jira": "Gludwch y JSON o chwiliad materion API REST Jira Cloud (GET /rest/api/3/search/jql), neu wrthrych cyfatebol { \"issues\": [...] }. Daw statwsau Jira'n rhestrau a materion yn gardiau. Yn ddewisol, cynhwyswch arae \"automationRules\" i fewnforio rheolau.",
@@ -962,33 +962,33 @@
"import-board-instruction-wekan": "Yn eich bwrdd, ewch i 'Dewislen', yna 'Bwrdd Allforio', a chopïwch y testun yn y ffeil wedi'i lawrlwytho.",
"import-board-instruction-about-errors": "Os cewch wallau wrth fewnforio bwrdd, weithiau mae mewnforio yn dal i weithio, ac mae bwrdd ar dudalen All Boards.",
"import-without-mapping-members": "Mewnforio heb fapio aelodau (mapio'n ddiweddarach)",
"import-members-mode-heading": "People in the file:",
"import-members-mode-map": "Choose an existing user for each of them",
"import-members-mode-placeholder": "Keep them as placeholder users with their own names, to map to real users later",
"import-members-mode-me": "Make them all me",
"csv-mapping-title": "Which column is which?",
"csv-mapping-description": "Choose the column of the file that holds each card field. The choices were made from the column names; change any that are wrong, and choose (not in the file) for a field the file does not have.",
"csv-mapping-not-in-file": "(not in the file)",
"csv-mapping-column-number": "Column __number__",
"csv-mapping-list-missing": "The file has no column for the list. Choose one above, or type the name of the one list every card goes into.",
"csv-mapping-list-name": "List for every card",
"csv-mapping-custom-fields": "Other columns to import as text custom fields:",
"csv-mapping-boards": "Each sheet becomes its own board:",
"csv-mapping-skipped-sheets": "Sheets that are not imported:",
"csv-mapping-title-required": "Choose the column that holds the card titles.",
"csv-mapping-list-required": "Type the name of the list every card goes into, or choose the column that holds the list.",
"invalid-import-mapping": "The column mapping does not match the file.",
"import-many-boards": "Import many boards",
"import-many-boards-hint": "Choose several export files of this tool, or one .zip that holds them: each file becomes its own board, imported without member mapping. A .zip that is itself one export (Vikunja, Notion, Plane, or WeKan with attachments) is one board. When files are chosen here, Import imports them instead of the field above.",
"import-one-board-per-project": "One board per project",
"import-one-board-per-project-hint": "Each swimlane the import would make (a project, folder or list of the tool) becomes its own board. Parent cards and dependencies between those boards are listed in the import report.",
"import-many-progress": "Importing __done__ of __total__: __name__",
"import-many-results-heading": "Imported files",
"import-many-imported": "imported",
"export-all-boards": "Export all boards",
"export-selected-boards": "Export selected boards",
"export-all-boards-hint": "Every board you can export, in one download: Excel as one workbook with a sheet per board named after it, every other format as a .zip with a file per board.",
"exportAllBoardsPopup-title": "Export all boards",
"import-members-mode-heading": "Pobl yn y ffeil:",
"import-members-mode-map": "Dewis defnyddiwr presennol ar gyfer pob un ohonynt",
"import-members-mode-placeholder": "Eu cadw fel defnyddwyr dalfan gyda'u henwau eu hunain, i'w paru â defnyddwyr go iawn yn nes ymlaen",
"import-members-mode-me": "Gwneud pob un ohonynt yn fi",
"csv-mapping-title": "Pa golofn yw pa un?",
"csv-mapping-description": "Dewiswch golofn y ffeil sy'n dal pob maes cerdyn. Gwnaed y dewisiadau o enwau'r colofnau; newidiwch unrhyw rai sy'n anghywir, a dewiswch (nid yn y ffeil) ar gyfer maes nad yw gan y ffeil.",
"csv-mapping-not-in-file": "(nid yn y ffeil)",
"csv-mapping-column-number": "Colofn __number__",
"csv-mapping-list-missing": "Nid oes gan y ffeil golofn ar gyfer y rhestr. Dewiswch un uchod, neu teipiwch enw'r un rhestr y mae pob cerdyn yn mynd iddi.",
"csv-mapping-list-name": "Rhestr ar gyfer pob cerdyn",
"csv-mapping-custom-fields": "Colofnau eraill i'w mewnforio fel meysydd personol testun:",
"csv-mapping-boards": "Daw pob dalen yn fwrdd ei hun:",
"csv-mapping-skipped-sheets": "Dalennau nad ydynt yn cael eu mewnforio:",
"csv-mapping-title-required": "Dewiswch y golofn sy'n dal teitlau'r cardiau.",
"csv-mapping-list-required": "Teipiwch enw'r rhestr y mae pob cerdyn yn mynd iddi, neu dewiswch y golofn sy'n dal y rhestr.",
"invalid-import-mapping": "Nid yw'r mapio colofnau yn cyfateb i'r ffeil.",
"import-many-boards": "Mewnforio llawer o fyrddau",
"import-many-boards-hint": "Dewiswch sawl ffeil allforio o'r offeryn hwn, neu un .zip sy'n eu dal: daw pob ffeil yn fwrdd ei hun, wedi'i fewnforio heb fapio aelodau. Mae .zip sydd ei hun yn un allforiad (Vikunja, Notion, Plane, neu WeKan gydag ymlyniadau) yn un bwrdd. Pan ddewisir ffeiliau yma, mae Mewnforio yn eu mewnforio yn lle'r maes uchod.",
"import-one-board-per-project": "Un bwrdd fesul prosiect",
"import-one-board-per-project-hint": "Daw pob lôn nofio y byddai'r mewnforio yn ei gwneud (prosiect, ffolder neu restr o'r offeryn) yn fwrdd ei hun. Rhestrir cardiau rhiant a dibyniaethau rhwng y byrddau hynny yn yr adroddiad mewnforio.",
"import-many-progress": "Yn mewnforio __done__ o __total__: __name__",
"import-many-results-heading": "Ffeiliau wedi'u mewnforio",
"import-many-imported": "wedi'i fewnforio",
"export-all-boards": "Allforio pob bwrdd",
"export-selected-boards": "Allforio'r byrddau a ddewiswyd",
"export-all-boards-hint": "Pob bwrdd y gallwch ei allforio, mewn un lawrlwythiad: Excel fel un llyfr gwaith gyda dalen fesul bwrdd wedi'i henwi ar ei ôl, pob fformat arall fel .zip gyda ffeil fesul bwrdd.",
"exportAllBoardsPopup-title": "Allforio pob bwrdd",
"import-json-placeholder": "Gludwch eich data JSON dilys yma",
"import-csv-placeholder": "Gludwch eich data CSV/TSV dilys yma",
"import-json-file": "Neu dewiswch ffeil JSON Trello",
@@ -1026,17 +1026,17 @@
"trello-import-results": "Canlyniadau mewnforio",
"trello-api-credentials-required": "Rhowch yr allwedd a'r tocyn API Trello os gwelwch yn dda.",
"trello-api-credentials-saved": "Mae'r allwedd a'r tocyn API Trello wedi'u cadw. Gallwch restru gweithleoedd heb eu hail-nodi.",
"exportToTrelloPopup-title": "Export to Trello",
"trello-export-desc": "Create a copy of this board in Trello through Trello's API, with your Trello API key and token. Swimlanes become labels named \"Swimlane: …\", which WeKan's Trello import turns back into swimlanes.",
"trello-export-include-attachments": "Include attachments",
"trello-export-start": "Export to Trello",
"trello-export-open-board": "Open the board in Trello",
"trello-export-warnings": "Not everything could be exported",
"sandstorm-trello-access-needed": "A Sandstorm grain has no Internet access of its own. Allow this grain to reach Trello first.",
"sandstorm-allow-trello-access": "Allow access to Trello",
"sandstorm-trello-access-granted": "This grain may reach Trello.",
"sandstorm-forget-access": "Forget",
"sandstorm-trello-save-label": "Trello, for importing and exporting boards",
"exportToTrelloPopup-title": "Allforio i Trello",
"trello-export-desc": "Creu copi o'r bwrdd hwn yn Trello drwy API Trello, gyda'ch allwedd API a'ch tocyn Trello. Daw lonydd nofio yn labeli o'r enw \"Swimlane: …\", y mae mewnforio Trello WeKan yn eu troi'n ôl yn lonydd nofio.",
"trello-export-include-attachments": "Cynnwys ymlyniadau",
"trello-export-start": "Allforio i Trello",
"trello-export-open-board": "Agor y bwrdd yn Trello",
"trello-export-warnings": "Nid oedd modd allforio popeth",
"sandstorm-trello-access-needed": "Nid oes gan grain Sandstorm fynediad i'r Rhyngrwyd ei hun. Caniatewch i'r grain hwn gyrraedd Trello yn gyntaf.",
"sandstorm-allow-trello-access": "Caniatáu mynediad i Trello",
"sandstorm-trello-access-granted": "Caiff y grain hwn gyrraedd Trello.",
"sandstorm-forget-access": "Anghofio",
"sandstorm-trello-save-label": "Trello, ar gyfer mewnforio ac allforio byrddau",
"trello-select-boards": "Dewiswch o leiaf un bwrdd i'w fewnforio os gwelwch yn dda.",
"select-all": "Dewis popeth",
"select-none": "Dewis dim",
@@ -1318,9 +1318,9 @@
"external-link-pattern-description": "Yn cysylltu'n awtomatig docynnau ar ffurf \"#1234\" a geir yng nghorff y cerdyn â thraciwr materion allanol. Gadewch faes yn wag i'w analluogi.",
"external-link-pattern-prefix": "Rhagddodiad y tocyn",
"external-link-pattern-url": "Templed URL (defnyddiwch {number})",
"external-link-rules": "More link rules",
"external-link-rules-description": "One rule per line: the text to find, \" = \", and the address. Use {number} for digits and {identifier} for a word, in both, for example [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Abbreviations for {identifier}, for example TK=Task, IN=Incident",
"external-link-rules": "Rhagor o reolau dolenni",
"external-link-rules-description": "Un rheol fesul llinell: y testun i'w ganfod, \" = \", a'r cyfeiriad. Defnyddiwch {number} ar gyfer digidau a {identifier} ar gyfer gair, yn y ddau, er enghraifft [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Byrfoddau ar gyfer {identifier}, er enghraifft TK=Task, IN=Incident",
"username": "Enw defnyddiwr",
"import-usernames": "Mewnforio Enwau Defnyddwyr",
"view-it": "Edrychwch arno",
@@ -1345,13 +1345,13 @@
"attachment-transfer-limits-title": "Terfynau Maint Ffeil Ymlyniadau ac API",
"attachment-limits": "Terfynau",
"attachment-retention": "Cadw",
"attachment-retention-days": "Delete attachments after (days)",
"attachment-retention-days-help": "Like Delete on the card: the card history can restore them. Empty or 0: never.",
"attachment-retention-mode": "Count the days from",
"attachment-retention-purge": "Remove deleted attachments for good after (days)",
"attachment-retention-purge-help": "After this they can no longer be restored. Empty or 0: never.",
"attachment-retention-dry-run": "Dry run: only count, in the server log, change nothing",
"attachment-retention-max-per-run": "At most this many attachments per night",
"attachment-retention-days": "Dileu ymlyniadau ar ôl (diwrnodau)",
"attachment-retention-days-help": "Fel Dileu ar y cerdyn: gall hanes y cerdyn eu hadfer. Gwag neu 0: byth.",
"attachment-retention-mode": "Cyfrif y diwrnodau o",
"attachment-retention-purge": "Tynnu ymlyniadau wedi'u dileu am byth ar ôl (diwrnodau)",
"attachment-retention-purge-help": "Ar ôl hyn ni ellir eu hadfer mwyach. Gwag neu 0: byth.",
"attachment-retention-dry-run": "Rhediad prawf: cyfrif yn unig, yng nghofnod y gweinydd, heb newid dim",
"attachment-retention-max-per-run": "Dim mwy na hyn o ymlyniadau bob nos",
"attachment-transfer-limits-description": "Ffurfweddu terfynau maint ffeil uchaf ar gyfer llwytho i fyny a lawrlwytho. Mae gan fyffro trosglwyddo API gapiau diogelwch ar wahân ar ochr y gweinydd.",
"attachment-transfer-limits-saved": "Cadwyd terfynau trosglwyddo ymlyniadau.",
"attachment-transfer-limits-save-failed": "Methwyd â chadw terfynau trosglwyddo ymlyniadau",
@@ -1401,51 +1401,51 @@
"error-notAuthorized": "Nid oes gennych awdurdod i weld y dudalen hon.",
"webhook-title": "Enw Bachyn",
"webhook-token": "Tocyn (Dewisol ar gyfer Dilysu)",
"webhook-payload-heading": "Webhook data",
"webhook-payload-description": "What outgoing webhooks (Rocket.Chat, Slack, ...) send. Default keeps the inherited setting; with nothing set, webhooks send what they always have.",
"webhook-payload-text": "Send the message text",
"webhook-payload-fields": "Send these fields",
"webhook-payload-field-standard": "Standard fields (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "IDs",
"webhook-payload-field-names": "Names and titles",
"webhook-payload-field-links": "Links to the card and board",
"webhook-payload-field-actor": "Who did it",
"webhook-payload-field-people": "The member or assignee it is about",
"webhook-payload-field-details": "Details: comment, description, values and dates",
"webhook-hide-identity": "Leave my name out of outgoing webhooks",
"webhook-someone": "A member",
"webhook-payload-heading": "Data bachyn gwe",
"webhook-payload-description": "Beth mae bachau gwe sy'n mynd allan (Rocket.Chat, Slack, ...) yn ei anfon. Mae'r rhagosodiad yn cadw'r gosodiad a etifeddwyd; heb ddim wedi'i osod, mae bachau gwe yn anfon yr hyn y maent wedi'i anfon erioed.",
"webhook-payload-text": "Anfon testun y neges",
"webhook-payload-fields": "Anfon y meysydd hyn",
"webhook-payload-field-standard": "Meysydd safonol (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "Dynodwyr (ID)",
"webhook-payload-field-names": "Enwau a theitlau",
"webhook-payload-field-links": "Dolenni i'r cerdyn a'r bwrdd",
"webhook-payload-field-actor": "Pwy a'i gwnaeth",
"webhook-payload-field-people": "Yr aelod neu'r aseinai y mae'n ymwneud ag ef",
"webhook-payload-field-details": "Manylion: sylw, disgrifiad, gwerthoedd a dyddiadau",
"webhook-hide-identity": "Gadael fy enw allan o fachau gwe sy'n mynd allan",
"webhook-someone": "Aelod",
"notification-delivery-layout": "Gosodiad",
"notification-delivery-layout-classic": "One sentence (classic)",
"notification-delivery-layout-clear": "Clearly arranged: board, who, card in bold",
"notification-delivery-parts": "Show",
"notification-delivery-part-board": "Board name and link",
"notification-delivery-part-actor": "Who did it",
"notification-delivery-part-card": "Card title and link",
"notification-delivery-layout-classic": "Un frawddeg (clasurol)",
"notification-delivery-layout-clear": "Wedi'i drefnu'n glir: bwrdd, pwy, cerdyn mewn print trwm",
"notification-delivery-parts": "Dangos",
"notification-delivery-part-board": "Enw a dolen y bwrdd",
"notification-delivery-part-actor": "Pwy a'i gwnaeth",
"notification-delivery-part-card": "Teitl a dolen y cerdyn",
"notification-delivery-part-list": "Rhestr",
"notification-delivery-part-swimlane": "Lôn nofio",
"notification-delivery-part-details": "Comment or changed value",
"notification-delivery-part-dates": "Dates",
"notification-delivery-part-link": "Link on its own line",
"notification-delivery-grouping": "Grouping",
"notification-delivery-grouping-all": "Everything due in one message",
"notification-delivery-grouping-board": "One per board",
"notification-delivery-grouping-card": "One per card",
"notification-delivery-grouping-none": "Each on its own",
"notification-delivery-schedule": "When to send",
"notification-delivery-schedule-immediate": "Immediately",
"notification-delivery-schedule-interval": "Every few minutes or hours",
"notification-delivery-schedule-daily": "Once a day",
"notification-delivery-interval": "Every",
"notification-delivery-minutes": "__count__ minutes",
"notification-delivery-part-details": "Sylw neu werth wedi'i newid",
"notification-delivery-part-dates": "Dyddiadau",
"notification-delivery-part-link": "Dolen ar ei llinell ei hun",
"notification-delivery-grouping": "Grwpio",
"notification-delivery-grouping-all": "Popeth sy'n ddyledus mewn un neges",
"notification-delivery-grouping-board": "Un fesul bwrdd",
"notification-delivery-grouping-card": "Un fesul cerdyn",
"notification-delivery-grouping-none": "Pob un ar ei ben ei hun",
"notification-delivery-schedule": "Pryd i anfon",
"notification-delivery-schedule-immediate": "Ar unwaith",
"notification-delivery-schedule-interval": "Bob ychydig funudau neu oriau",
"notification-delivery-schedule-daily": "Unwaith y dydd",
"notification-delivery-interval": "Bob",
"notification-delivery-minutes": "__count__ munud",
"notification-delivery-daily-time": "Am",
"notification-delivery-quiet": "Quiet hours (wait until they end)",
"notification-delivery-quiet": "Oriau tawel (aros nes iddynt ddod i ben)",
"notification-delivery-quiet-from": "O",
"notification-delivery-quiet-to": "Tan",
"notification-delivery-quiet-clear": "No quiet hours",
"notification-delivery-timezone": "Time zone:",
"notification-delivery-invalid": "The setting could not be saved.",
"notification-group-card": "__count__ notifications on card __card__",
"notification-group-board": "__count__ notifications on board __board__",
"notification-delivery-quiet-clear": "Dim oriau tawel",
"notification-delivery-timezone": "Cylchfa amser:",
"notification-delivery-invalid": "Nid oedd modd cadw'r gosodiad.",
"notification-group-card": "__count__ hysbysiad ar gerdyn __card__",
"notification-group-board": "__count__ hysbysiad ar fwrdd __board__",
"outgoing-webhooks": "Llyfrau Gwe Allan",
"bidirectional-webhooks": "Bachogau Gwe Dwyffordd",
"outgoingWebhooksPopup-title": "Llyfrau Gwe Allan",
@@ -1500,7 +1500,7 @@
"showLabel-field-on-card": "Dangos label maes ar minicard",
"showSum-field-on-list": "Dangos swm y meysydd ar frig y rhestr",
"admin-only-field": "Gweladwy i weinyddwyr y bwrdd yn unig",
"read-only-field": "Read-only: every member sees the value, only board admins change it",
"read-only-field": "Darllen yn unig: mae pob aelod yn gweld y gwerth, dim ond gweinyddwyr y bwrdd sy'n ei newid",
"yes": "Oes",
"no": "Nac ydw",
"accounts": "Cyfrifon",
@@ -1692,11 +1692,11 @@
"r-format-auto": "Canfod yn awtomatig",
"r-import-workflow-note": "Mewnforio llif gwaith gweledol a allforiwyd o n8n neu Node-RED. Mapir nodau sbardun/gweithred a adnabyddir i reolau WeKan; adroddir am nodau heb eu mapio.",
"r-import-unmapped": "Methwyd â mapio __count__ llinell(au)",
"r-wrike-workflow": "Wrike workflow",
"r-wrike-workflow-note": "A Wrike workflow is a list of statuses, each in the Active, Completed, Deferred or Cancelled group. Export writes this board's lists as one, named after the board, in the JSON Wrike's API returns for workflows: create that workflow in Wrike before importing the board's Wrike Excel export, so its statuses are applied. Import reads that JSON pasted above, from WeKan or from Wrike's GET /workflows, into the chosen board: a status without a list becomes a list, and a rule marks a card complete when it is moved into a Completed or Cancelled status and incomplete in an Active or Deferred one. Wrike's own automation rules cannot be exported from Wrike.",
"r-export-wrike-workflow": "Export Wrike workflow",
"r-import-wrike-workflow": "Import Wrike workflow",
"r-import-wrike-workflow-done": "Wrike workflow \"__name__\": __lists__ list(s) and __rules__ rule(s) added, __skipped__ part(s) not read",
"r-wrike-workflow": "Llif gwaith Wrike",
"r-wrike-workflow-note": "Rhestr o statwsau yw llif gwaith Wrike, pob un yn y grŵp Active, Completed, Deferred neu Cancelled. Mae allforio yn ysgrifennu rhestrau'r bwrdd hwn fel un llif, wedi'i enwi ar ôl y bwrdd, yn y JSON y mae API Wrike yn ei ddychwelyd ar gyfer llifoedd gwaith: crëwch y llif gwaith hwnnw yn Wrike cyn mewnforio allforiad Excel Wrike y bwrdd, fel bod ei statwsau yn cael eu cymhwyso. Mae mewnforio yn darllen y JSON hwnnw a gludwyd uchod, o WeKan neu o GET /workflows Wrike, i'r bwrdd a ddewiswyd: daw statws heb restr yn rhestr, ac mae rheol yn nodi cerdyn yn gyflawn pan gaiff ei symud i statws Completed neu Cancelled ac yn anghyflawn mewn un Active neu Deferred. Ni ellir allforio rheolau awtomeiddio Wrike ei hun o Wrike.",
"r-export-wrike-workflow": "Allforio llif gwaith Wrike",
"r-import-wrike-workflow": "Mewnforio llif gwaith Wrike",
"r-import-wrike-workflow-done": "Llif gwaith Wrike \"__name__\": ychwanegwyd __lists__ rhestr a __rules__ rheol, ni ddarllenwyd __skipped__ rhan",
"r-set-scheduled-triggers": "Sbardunau wedi'u hamserlennu",
"r-set-button-triggers": "Botymau",
"r-when-scheduled": "Ar amserlen",
@@ -1752,8 +1752,8 @@
"set-filter": "Gosod Hidlydd",
"r-moved-to": "Wedi symud i",
"r-moved-from": "Wedi symud o",
"r-moved-forward": "moved forward to a later list",
"r-moved-back": "moved back to an earlier list",
"r-moved-forward": "symudwyd ymlaen i restr ddiweddarach",
"r-moved-back": "symudwyd yn ôl i restr gynharach",
"r-archived": "Wedi symud i'r Archif",
"r-unarchived": "Wedi'i adfer o'r Archif",
"r-commented": "wedi cael sylw",
@@ -1801,8 +1801,8 @@
"r-add-actinguser-member": "Ychwanegu'r defnyddiwr a sbardunodd y rheol hon fel aelod",
"r-remove-all": "Tynnwch yr holl aelodau o'r cerdyn",
"r-assignee": "aseinai",
"r-add-actinguser-assignee": "Add the user who triggered this rule as an assignee",
"r-remove-all-assignees": "Remove all assignees from the card",
"r-add-actinguser-assignee": "Ychwanegu'r defnyddiwr a sbardunodd y rheol hon fel aseinai",
"r-remove-all-assignees": "Tynnu pob aseinai o'r cerdyn",
"r-remove-all-labels": "Tynnu'r holl labeli oddi ar y cerdyn",
"r-set-color": "Gosod lliw i",
"r-checklist": "rhestr wirio",
@@ -1876,10 +1876,10 @@
"ldap-test-connection": "Profi Cysylltiad LDAP",
"ldap-test-connection-success": "Cysylltiad llwyddiannus",
"ldap-test-connection-error": "Methodd y cysylltiad: %s",
"ldap-sync-now": "Sync LDAP users now",
"ldap-sync-now-done": "LDAP sync finished",
"ldap-sync-now-error": "LDAP sync failed: %s",
"ldap-sync-now-nothing": "Nothing to sync: turn on LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS or LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED first.",
"ldap-sync-now": "Cysoni defnyddwyr LDAP nawr",
"ldap-sync-now-done": "Mae cysoni LDAP wedi gorffen",
"ldap-sync-now-error": "Methodd cysoni LDAP: %s",
"ldap-sync-now-nothing": "Dim i'w gysoni: trowch LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS neu LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED ymlaen yn gyntaf.",
"oauth-providers-title": "Darparwyr mewngofnodi OAuth",
"oauth-providers-hint": "Gellir troi pob darparwr ymlaen yma neu gyda’i newidyn amgylchedd OAUTH_*_ENABLED; mae gwerth a osodir yma yn diystyru’r newidyn amgylchedd. Caiff y gyfrinach ei storio ar y gweinydd ac ni chaiff byth ei dangos.",
"oauth-provider-google": "Google",
@@ -1894,7 +1894,7 @@
"oauth-provider-secret-set": "Mae cyfrinach wedi’i gosod",
"oauth-providers-login-style": "Arddull mewngofnodi",
"oauth-providers-merge-existing-users": "Uno â chyfrif presennol sydd â’r un ebost",
"oauth-providers-allowed-email-domains": "Only these email domains may sign in with these providers (comma separated; empty allows all)",
"oauth-providers-allowed-email-domains": "Dim ond y parthau e-bost hyn gaiff fewngofnodi gyda'r darparwyr hyn (wedi'u gwahanu gan goma; mae gwag yn caniatáu pob un)",
"oauth-account-conflict": "Mae cyfrif gyda’r ebost hwn yn bodoli eisoes ac ni chafodd ei greu gyda’r dull mewngofnodi hwn",
"sign-in-with": "Mewngofnodi gyda %s",
"login-origin-mismatch": "Ni ellir cwblhau mewngofnodi drwy wasanaeth arall yn y cyfeiriad hwn. Mae WeKan wedi’i ffurfweddu ar gyfer __expected__, ond agorwyd y dudalen hon yn __actual__. Agorwch WeKan yn __expected__, neu gofynnwch i’r gweinyddwr osod ROOT_URL i __actual__.",
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Methodd y cysylltiad",
"cloud-settings-saved": "Cadwyd gosodiadau storfa",
"cloud-settings-save-failed": "Methwyd â chadw gosodiadau storfa",
"cloud": "Cwmwl",
"cloud-settings-desc": "Gyda WeKan yn Weddy, mae'r Cloud Panel yn gwasanaethu llawer o barthau WeKan o un gweinydd, pob un â'i ddata ei hun. Ar Barth y Cloud Panel, mae'r SuperAdmin yn rheoli'r parthau a CloudFlare.",
"cloud-panel-domain": "Parth y Cloud Panel",
"cloud-superadmin-username": "Enw defnyddiwr y SuperAdmin",
"cloud-saved": "Wedi cadw.",
"cloud-panel-not-allowed": "Mae'r Cloud Panel ar gyfer y SuperAdmin yn unig, ar Barth y Cloud Panel.",
"cloud-customer-name": "Enw'r cwsmer",
"cloud-customer-email": "Cyfeiriad e-bost y cwsmer",
"cloud-billing-email": "Cyfeiriad e-bost bilio",
"cloud-start-date": "Dyddiad Dechrau",
"cloud-end-date": "Dyddiad Gorffen",
"cloudflare-api-key": "Allwedd API CloudFlare",
"cloudflare-api-key-desc": "Gydag allwedd API CloudFlare, mae parth y mae ei gylchfa yn eich cyfrif CloudFlare yn cael cofnod DNS drwy ddirprwy a thystysgrif CloudFlare Origin. Mae parthau eraill yn cael tystysgrif Let's Encrypt. Caiff yr allwedd ei chadw ar y gweinydd ac ni chaiff ei dangos byth eto.",
"cloudflare-api-key-set": "Mae allwedd API CloudFlare wedi'i chadw.",
"cloudflare-api-key-not-set": "Does dim allwedd API CloudFlare wedi'i chadw: mae pob parth yn cael tystysgrif Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Symud ymlyniad i Azure Blob Storage",
@@ -3276,7 +3291,7 @@
"import-report-open-board": "Agor y bwrdd",
"import-parts-instruction": "Dim ond y rhannau sydd wedi'u ticio sy'n cael eu mewnforio. Defnyddir yr un dewis wrth allforio.",
"import-wekan-file": "Mewnforio o ffeil allforio .json neu .zip:",
"import-file-label": "Choose the export file, or paste its text below:",
"import-file-label": "Dewiswch y ffeil allforio, neu gludwch ei thestun isod:",
"sum-of-number-fields": "Cyfanswm y meysydd rhifol addasedig a ddangosir ar frig y rhestr",
"date-range-of-fields": "Ystod dyddiadau meysydd dyddiad personol wedi’u nodi i’w dangos ar frig y rhestr",
"more-options": "Rhagor o opsiynau",
@@ -3303,9 +3318,9 @@
"wip-limit-group-select-swimlane": "Dethol Lôn nofio",
"wip-limit-group-apply-swimlane": "Ymgeisiwch Lôn nofio",
"subtask-inherit-parent-labels": "Etifeddu labelau'r cerdyn rhiant",
"subtask-mark-done": "Mark subtask as done",
"subtask-mark-not-done": "Mark subtask as not done",
"subtask-done-no-permission": "You cannot change whether this subtask is done",
"subtask-mark-done": "Nodi'r is-dasg fel wedi'i gwneud",
"subtask-mark-not-done": "Nodi'r is-dasg fel heb ei gwneud",
"subtask-done-no-permission": "Ni allwch newid a yw'r is-dasg hon wedi'i gwneud",
"chart-forecast-none-remaining": "Dim byd ar ôl yn agored i'w ragamcanu - mae pob cerdyn wedi'i orffen.",
"chart-forecast-no-velocity": "Mae __remaining__ cerdyn/cardiau yn dal ar agor; dim cwblhau diweddar i ragamcanu dyddiad ohono.",
"chart-forecast-projected": "Ar y gyfradd ddiweddar o __average__ cerdyn/cardiau yr wythnos, dylai'r __remaining__ cerdyn/cardiau sy'n dal ar agor gael eu gorffen erbyn __date__.",
@@ -4380,52 +4395,52 @@
"rule-email-legacy-attempt-exists": "Mae'r ebost hwn eisoes wedi'i anfon, wedi cael ymgais i'w anfon, neu wedi'i waredu.",
"rule-email-legacy-not-legacy": "Mae'r ebost hwn eisoes wedi'i ailgysylltu.",
"rule-email-legacy-failed": "Methu cwblhau'r weithred hon. Adnewyddwch a rhowch gynnig arall arni.",
"stuck-sync-operation-heading": "List Sync operations that cannot be replayed",
"stuck-sync-operation-description": "Each of these saved List Sync operations stopped part way and can no longer be finished, because its list was removed, recreated or reconfigured, or the user who started it lost write access. While one is pending, that list cannot Sync. Discard it to let the list Sync again: changes already applied stay, the remaining saved changes are never written, and the next Sync compares the list with its source again.",
"stuck-sync-operation-list": "Board / list",
"stuck-sync-operation-heading": "Gweithrediadau Cysoni Rhestr na ellir eu hailchwarae",
"stuck-sync-operation-description": "Stopiodd pob un o'r gweithrediadau Cysoni Rhestr hyn a gadwyd hanner ffordd ac ni ellir eu gorffen mwyach, oherwydd i'w rhestr gael ei thynnu, ei hail-greu neu ei hailgyflunio, neu i'r defnyddiwr a'i dechreuodd golli mynediad ysgrifennu. Tra bo un yn yr arfaeth, ni all y rhestr honno Gysoni. Gwaredwch ef i adael i'r rhestr Gysoni eto: mae newidiadau a gymhwyswyd eisoes yn aros, ni chaiff y newidiadau sy'n weddill a gadwyd byth eu hysgrifennu, ac mae'r Cysoni nesaf yn cymharu'r rhestr â'i ffynhonnell eto.",
"stuck-sync-operation-list": "Bwrdd / rhestr",
"stuck-sync-operation-progress": "Cynnydd",
"stuck-sync-operation-reason": "Rheswm",
"stuck-sync-operation-applied": "__applied__ of __total__ changes applied",
"stuck-sync-operation-reason-scope-changed": "The list was removed, recreated or its Sync settings changed",
"stuck-sync-operation-reason-access-denied": "The user who started it no longer has write access to the whole list",
"stuck-sync-operation-reason-trigger-unknown": "Saved by an earlier WeKan version without what started it",
"stuck-sync-operation-reason-intent-missing": "The record of who started it is missing",
"stuck-sync-operation-reason-unknown": "Could not be checked now",
"stuck-sync-operation-replayable-now": "It can be replayed again now and will finish by itself, so it cannot be discarded.",
"stuck-sync-operation-applied": "Cymhwyswyd __applied__ o __total__ newid",
"stuck-sync-operation-reason-scope-changed": "Tynnwyd y rhestr, cafodd ei hail-greu neu newidiwyd ei gosodiadau Cysoni",
"stuck-sync-operation-reason-access-denied": "Nid oes gan y defnyddiwr a'i dechreuodd fynediad ysgrifennu i'r rhestr gyfan mwyach",
"stuck-sync-operation-reason-trigger-unknown": "Wedi'i gadw gan fersiwn gynharach o WeKan heb yr hyn a'i dechreuodd",
"stuck-sync-operation-reason-intent-missing": "Mae'r cofnod o bwy a'i dechreuodd ar goll",
"stuck-sync-operation-reason-unknown": "Nid oedd modd ei wirio nawr",
"stuck-sync-operation-replayable-now": "Gellir ei ailchwarae eto nawr a bydd yn gorffen ar ei ben ei hun, felly ni ellir ei waredu.",
"stuck-sync-operation-discard": "Taflwch",
"stuck-sync-operation-discard-confirm": "Discard this saved List Sync operation? Changes it already applied stay; the rest are never written. The list can then Sync again.",
"stuck-sync-operation-discard-confirm": "Gwaredu'r gweithrediad Cysoni Rhestr hwn a gadwyd? Mae'r newidiadau a gymhwysodd eisoes yn aros; ni chaiff y gweddill byth eu hysgrifennu. Gall y rhestr Gysoni eto wedyn.",
"stuck-sync-operation-refresh": "Adnewyddu",
"stuck-sync-operation-empty": "No List Sync operations are waiting for review.",
"stuck-sync-operation-truncated": "Only the oldest 50 are shown. Discard some and refresh to see more.",
"stuck-sync-operation-unavailable": "Could not load the List Sync operations. Refresh to try again.",
"stuck-sync-operation-missing": "This operation is no longer pending.",
"stuck-sync-operation-not-stuck": "This operation has not been found stuck, so it cannot be discarded.",
"stuck-sync-operation-replayable": "This operation can be replayed again now and will finish by itself, so it was not discarded.",
"stuck-sync-operation-busy": "This list is syncing right now. Try again in a moment.",
"stuck-sync-operation-empty": "Nid oes gweithrediadau Cysoni Rhestr yn aros am adolygiad.",
"stuck-sync-operation-truncated": "Dim ond yr 50 hynaf a ddangosir. Gwaredwch rai ac adnewyddwch i weld rhagor.",
"stuck-sync-operation-unavailable": "Nid oedd modd llwytho'r gweithrediadau Cysoni Rhestr. Adnewyddwch i geisio eto.",
"stuck-sync-operation-missing": "Nid yw'r gweithrediad hwn yn yr arfaeth mwyach.",
"stuck-sync-operation-not-stuck": "Nid yw'r gweithrediad hwn wedi'i ganfod yn sownd, felly ni ellir ei waredu.",
"stuck-sync-operation-replayable": "Gellir ailchwarae'r gweithrediad hwn eto nawr a bydd yn gorffen ar ei ben ei hun, felly ni chafodd ei waredu.",
"stuck-sync-operation-busy": "Mae'r rhestr hon yn cysoni ar hyn o bryd. Ceisiwch eto mewn eiliad.",
"stuck-sync-operation-failed": "Methu cwblhau'r weithred hon. Adnewyddwch a rhowch gynnig arall arni.",
"interrupted-import-heading": "Board imports that stopped before finishing",
"interrupted-import-description": "Each of these board imports stopped part way - the server restarted, or the import failed - and left a partial board. An import cannot be continued, because its source file is not kept. Keep the board as it is, or discard it and import the file again. Discarding removes the board this import created and everything on it, including anything added to it since.",
"interrupted-import-heading": "Mewnforion byrddau a stopiodd cyn gorffen",
"interrupted-import-description": "Stopiodd pob un o'r mewnforion byrddau hyn hanner ffordd - ailgychwynnodd y gweinydd, neu methodd y mewnforio - a gadael bwrdd rhannol. Ni ellir parhau â mewnforio, oherwydd ni chedwir ei ffeil ffynhonnell. Cadwch y bwrdd fel y mae, neu gwaredwch ef a mewnforiwch y ffeil eto. Mae gwaredu yn tynnu'r bwrdd a greodd y mewnforio hwn a phopeth arno, gan gynnwys unrhyw beth a ychwanegwyd ato ers hynny.",
"interrupted-import-board": "Bwrdd",
"interrupted-import-progress": "Where it stopped",
"interrupted-import-created": "Created so far",
"interrupted-import-source": "Imported from __source__",
"interrupted-import-state-stopped": "Stopped without finishing, at __stage__",
"interrupted-import-state-failed": "Failed with __error__, at __stage__",
"interrupted-import-state-discarding": "Being discarded; discard again to finish",
"interrupted-import-progress": "Lle stopiodd",
"interrupted-import-created": "Wedi'u creu hyd yma",
"interrupted-import-source": "Wedi'i fewnforio o __source__",
"interrupted-import-state-stopped": "Stopiodd heb orffen, yn __stage__",
"interrupted-import-state-failed": "Methodd gyda __error__, yn __stage__",
"interrupted-import-state-discarding": "Yn cael ei waredu; gwaredwch eto i orffen",
"interrupted-import-scrum": "Mae gan ei gam Scrum ei bwynt gwirio ei hun (__state__, cam __next__ o __total__). Os ydych yn cadw’r bwrdd, cwblhewch neu gwaredwch y cam hwnnw drwy adfer mewnforio Scrum y bwrdd.",
"interrupted-import-counts": "__swimlanes__ swimlanes, __lists__ lists, __cards__ cards, __checklists__ checklists, __comments__ comments, __attachments__ attachments",
"interrupted-import-no-board": "No board was created",
"interrupted-import-keep": "Keep",
"interrupted-import-counts": "__swimlanes__ lôn nofio, __lists__ rhestr, __cards__ cerdyn, __checklists__ rhestr wirio, __comments__ sylw, __attachments__ ymlyniad",
"interrupted-import-no-board": "Ni chrëwyd bwrdd",
"interrupted-import-keep": "Cadw",
"interrupted-import-discard": "Taflwch",
"interrupted-import-keep-confirm": "Keep this partial board as it is? Nothing is removed, and the import is no longer listed here.",
"interrupted-import-discard-confirm": "Discard this import? The board it created and everything on it are removed permanently.",
"interrupted-import-keep-confirm": "Cadw'r bwrdd rhannol hwn fel y mae? Ni chaiff dim ei dynnu, ac ni restrir y mewnforio yma mwyach.",
"interrupted-import-discard-confirm": "Gwaredu'r mewnforio hwn? Caiff y bwrdd a greodd a phopeth arno eu tynnu'n barhaol.",
"interrupted-import-refresh": "Adnewyddu",
"interrupted-import-empty": "No interrupted board imports are waiting for review.",
"interrupted-import-truncated": "Only the oldest 50 are shown. Keep or discard some and refresh to see more.",
"interrupted-import-unavailable": "Could not load the interrupted board imports. Refresh to try again.",
"interrupted-import-missing": "This import is no longer recorded.",
"interrupted-import-not-interrupted": "This import is not waiting for a decision any more.",
"interrupted-import-foreign-board": "The board with this id was not created by this import, so it was not touched.",
"interrupted-import-empty": "Nid oes mewnforion byrddau a dorrwyd ar draws yn aros am adolygiad.",
"interrupted-import-truncated": "Dim ond yr 50 hynaf a ddangosir. Cadwch neu gwaredwch rai ac adnewyddwch i weld rhagor.",
"interrupted-import-unavailable": "Nid oedd modd llwytho'r mewnforion byrddau a dorrwyd ar draws. Adnewyddwch i geisio eto.",
"interrupted-import-missing": "Nid yw'r mewnforio hwn wedi'i gofnodi mwyach.",
"interrupted-import-not-interrupted": "Nid yw'r mewnforio hwn yn aros am benderfyniad mwyach.",
"interrupted-import-foreign-board": "Ni chrëwyd y bwrdd gyda'r id hwn gan y mewnforio hwn, felly ni chyffyrddwyd ag ef.",
"interrupted-import-scrum-busy": "Mae ei gam Scrum yn dal i gael ei ysgrifennu neu ei adfer. Rhowch gynnig arall arni mewn ychydig funudau.",
"interrupted-import-failed": "Methu cwblhau'r weithred hon. Adnewyddwch a rhowch gynnig arall arni.",
"saml-login-not-started": "Ni ddechreuwyd y mewngofnodi SAML hwn yn y tab porwr hwn. Mewngofnodwch eto.",
@@ -4446,7 +4461,7 @@
"header-login": "Mewngofnodi drwy benawdau HTTP",
"login-setting-clear-secret": "Dileu’r gwerth sydd wedi’i gadw yn y panel gweinyddol",
"login-setting-after-restart": "Daw i rym ar ôl ailgychwyn WeKan",
"login-setting-env-only": "Only the server environment sets these. They are shown here read-only.",
"login-setting-env-only": "Dim ond amgylchedd y gweinydd sy'n gosod y rhain. Fe'u dangosir yma i'w darllen yn unig.",
"email-to-card": "Ebost i gerdyn",
"email-to-card-description": "Mae ebost a anfonir i gyfeiriad eich bwrdd yn troi'n gerdyn ar y bwrdd hwnnw.",
"email-to-card-admin-enabled": "Derbyn ebost i gardiau",
+215 -200
View File
@@ -227,20 +227,20 @@
"attachment-soft-delete-pop": "Mae'r ymlyniad wedi'i dynnu o'r cerdyn hwn ac mae ei ffeil yn cael ei chadw. Gall unrhyw un sy'n gallu golygu'r cerdyn ei adfer o hanes y cerdyn.",
"attachmentDeletePopup-title": "Dileu Atodiad?",
"attachments": "Ymlyniadau",
"attach-card": "Attach card",
"attachCardPopup-title": "Attach card",
"attach-card-hint": "Paste a card link (Copy card link on the other card), or type a card title on this board",
"attached-card-unavailable": "An attached card you cannot see",
"detach-card": "Remove attached card",
"attach-card-self": "A card cannot be attached to itself",
"attach-card-limit": "This card already has as many attached cards as it can have",
"attach-card-not-found": "No card you can see was found for that link",
"attach-card": "Atodi cerdyn",
"attachCardPopup-title": "Atodi cerdyn",
"attach-card-hint": "Gludwch ddolen cerdyn (Copïo dolen y cerdyn ar y cerdyn arall), neu teipiwch deitl cerdyn ar y bwrdd hwn",
"attached-card-unavailable": "Cerdyn atodedig na allwch ei weld",
"detach-card": "Tynnu'r cerdyn atodedig",
"attach-card-self": "Ni ellir atodi cerdyn iddo'i hun",
"attach-card-limit": "Mae gan y cerdyn hwn eisoes gymaint o gardiau atodedig ag y gall eu cael",
"attach-card-not-found": "Ni chafwyd hyd i gerdyn y gallwch ei weld ar gyfer y ddolen honno",
"auto-watch": "Gwylio byrddau yn awtomatig pan fyddant yn cael eu creu",
"avatar-too-big": "Mae'r avatar yn rhy fawr (__size__ max)",
"back": "Yn ol",
"board-change-color": "Newid lliw",
"board-announcement": "Board announcement",
"board-announcement-enabled": "Show it to everyone on this board",
"board-announcement": "Cyhoeddiad y bwrdd",
"board-announcement-enabled": "Ei ddangos i bawb ar y bwrdd hwn",
"board-change-background-image": "Newid Delwedd Gefndir",
"board-background-image-url": "URL Delwedd Gefndir",
"add-background-image": "Ychwanegu Delwedd Gefndir",
@@ -284,7 +284,7 @@
"zoom-level": "Lefel Chwyddo",
"enter-zoom-level": "Rhowch lefel chwyddo (50-300%):",
"board-view-cal": "Calendr",
"board-view-calendar-mode": "Calendar Mode",
"board-view-calendar-mode": "Modd calendr",
"board-view-multiboard-cal": "Calendr (Pob Bwrdd)",
"board-view-swimlanes": "Lonydd nofio",
"board-view-collapse": "Cwymp",
@@ -686,32 +686,32 @@
"chooseBoardSourcePopup-title": "Bwrdd mewnforio",
"createLabelPopup-title": "Creu Label",
"createCustomField": "Creu Maes",
"custom-field-links": "Link fields to another card",
"custom-field-links-hint": "Custom fields with the same name and type on both cards are linked: when a value changes on one card, it is copied to the other card. Fields that only one card has are left alone.",
"custom-field-links-none": "This card's custom fields are not linked to any card.",
"custom-field-link-unavailable": "A linked card you cannot see",
"custom-field-link-fields": "Linked fields:",
"custom-field-link-no-fields": "No fields with the same name and type yet",
"custom-field-link-inactive": "Paused: the person who made this link can no longer edit both cards, or a card is archived.",
"custom-field-unlink": "Unlink",
"custom-field-link-target": "Card link (Copy card link), or search this board's cards",
"custom-field-link-direction": "Direction",
"custom-field-link-both": "Both ways: changes on either card go to the other",
"custom-field-link-send": "One way: changes on this card go to the main card",
"custom-field-link-sends": "Changes on this card go to that card",
"custom-field-link-receives": "Changes on that card come to this card",
"custom-field-link-add": "Link fields",
"field-link-self": "A card cannot be linked to itself.",
"field-link-limit": "This card, or that card, already has the most linked cards it can have.",
"field-link-archived": "An archived card cannot be linked.",
"field-link-invalid": "That is not a card link.",
"field-link-not-found": "Card not found.",
"field-link-not-allowed": "You need to be able to edit both cards.",
"cardCustomFieldLinksPopup-title": "Linked custom fields",
"custom-field-links": "Cysylltu meysydd â cherdyn arall",
"custom-field-links-hint": "Mae meysydd personol sydd â'r un enw a math ar y ddau gerdyn wedi'u cysylltu: pan fydd gwerth yn newid ar un cerdyn, caiff ei gopïo i'r cerdyn arall. Gadewir llonydd i feysydd sydd gan un cerdyn yn unig.",
"custom-field-links-none": "Nid yw meysydd personol y cerdyn hwn wedi'u cysylltu ag unrhyw gerdyn.",
"custom-field-link-unavailable": "Cerdyn cysylltiedig na allwch ei weld",
"custom-field-link-fields": "Meysydd cysylltiedig:",
"custom-field-link-no-fields": "Dim meysydd â'r un enw a math eto",
"custom-field-link-inactive": "Wedi'i oedi: ni all y person a wnaeth y cysylltiad hwn olygu'r ddau gerdyn mwyach, neu mae cerdyn wedi'i archifo.",
"custom-field-unlink": "Datgysylltu",
"custom-field-link-target": "Dolen cerdyn (Copïo dolen y cerdyn), neu chwiliwch gardiau'r bwrdd hwn",
"custom-field-link-direction": "Cyfeiriad",
"custom-field-link-both": "Y ddwy ffordd: mae newidiadau ar y naill gerdyn neu'r llall yn mynd i'r llall",
"custom-field-link-send": "Un ffordd: mae newidiadau ar y cerdyn hwn yn mynd i'r prif gerdyn",
"custom-field-link-sends": "Mae newidiadau ar y cerdyn hwn yn mynd i'r cerdyn hwnnw",
"custom-field-link-receives": "Mae newidiadau ar y cerdyn hwnnw yn dod i'r cerdyn hwn",
"custom-field-link-add": "Cysylltu meysydd",
"field-link-self": "Ni ellir cysylltu cerdyn ag ef ei hun.",
"field-link-limit": "Mae gan y cerdyn hwn, neu'r cerdyn hwnnw, eisoes y nifer mwyaf o gardiau cysylltiedig y gall eu cael.",
"field-link-archived": "Ni ellir cysylltu cerdyn sydd wedi'i archifo.",
"field-link-invalid": "Nid dolen cerdyn yw honno.",
"field-link-not-found": "Heb ddod o hyd i'r cerdyn.",
"field-link-not-allowed": "Mae angen i chi allu golygu'r ddau gerdyn.",
"cardCustomFieldLinksPopup-title": "Meysydd personol cysylltiedig",
"createCustomFieldPopup-title": "Creu Maes",
"current": "presennol",
"custom-color": "Lliw personol",
"cards-use-list-color": "Cards without a colour of their own use this colour",
"cards-use-list-color": "Mae cardiau heb liw eu hunain yn defnyddio'r lliw hwn",
"custom-field-delete-pop": "Does dim dadwneud. Bydd hyn yn dileu'r maes arfer hwn o bob cerdyn ac yn dinistrio ei hanes.",
"custom-field-checkbox": "Blwch ticio",
"custom-field-currency": "Arian cyfred",
@@ -909,20 +909,20 @@
"import-board-instruction-zenkit": "Gludwch JSON allforio rhestr ZenKit ({ \"title\", \"stages\":[...], \"items\":[...] }). Daw'r camau'n rhestrau a'r eitemau'n gardiau.",
"import-board-instruction-markdown": "Gludwch restr dasgau markdown (y confensiwn y mae offer markdown-kanban fel Obsidian Kanban yn ei ddefnyddio): penawdau \"## Enw'r rhestr\", gyda eitemau \"- [ ]\"/\"- [x]\" oddi tanynt. Mae penawdau'n dod yn rhestrau ac eitemau'n dod yn gardiau; mae rhestr bwled blaen heb flychau ticio hefyd yn cael ei mewnforio, fel cardiau agored.",
"import-board-instruction-leo": "Gludwch amlinelliad Leo (ffeil .leo). Mae nodau'r lefel uchaf yn troi'n restrau, mae eu plant yn troi'n gardiau gyda chorff y nod fel disgrifiad, ac mae nodau dyfnach yn troi'n restrau gwirio. Mewnforir nodau wedi'u marcio fel rhai wedi gorffen.",
"import-board-instruction-opml": "Paste an OPML outline, as Workflowy, Dynalist, OmniOutliner, Logseq and other outliners export it. Top-level items become lists, their children become cards with the note as the description, and deeper items become checklists. Completed items import as done.",
"import-board-instruction-orgmode": "Paste an Org mode file, as Emacs, Orgzly or Beorg write it. Top-level headings become lists and second-level headings become cards. TODO and DONE, priorities, tags, SCHEDULED, DEADLINE and CLOSED are kept, and checkboxes and deeper headings become checklists.",
"import-board-instruction-opml": "Gludwch amlinelliad OPML, fel y mae Workflowy, Dynalist, OmniOutliner, Logseq ac amlinellwyr eraill yn ei allforio. Daw eitemau'r lefel uchaf yn rhestrau, daw eu plant yn gardiau gyda'r nodyn yn ddisgrifiad, a daw eitemau dyfnach yn rhestrau gwirio. Caiff eitemau wedi'u cwblhau eu mewnforio fel rhai wedi'u gwneud.",
"import-board-instruction-orgmode": "Gludwch ffeil Org mode, fel y mae Emacs, Orgzly neu Beorg yn ei hysgrifennu. Daw penawdau'r lefel gyntaf yn rhestrau a daw penawdau'r ail lefel yn gardiau. Cedwir TODO a DONE, blaenoriaethau, tagiau, SCHEDULED, DEADLINE a CLOSED, a daw blychau ticio a phenawdau dyfnach yn rhestrau gwirio.",
"import-board-instruction-todotxt": "Gludwch ffeil todo.txt: un dasg fesul llinell, fel y mae ap todo.txt ac apiau cydnaws yn ei hysgrifennu. Mae tasgau gorffenedig (\"x\") yn mynd i Wedi gorffen, mae +project a @context yn troi'n labeli, mae (A) yn troi'n label blaenoriaeth, ac mae due: a t: yn troi'n ddyddiadau cau a dechrau.",
"import-board-instruction-taskwarrior": "Gludwch allbwn task export: arae JSON neu un dasg fesul llinell. Mae tasgau gorffenedig yn mynd i Done, daw project a priority yn labeli, annotations yn sylwadau, a depends yn ddibyniaethau ar dasgau sy’n eu rhwystro.",
"import-board-instruction-focalboard": "Dadsipiwch y ffeil .boardarchive a gludwch gynnwys board.jsonl y bwrdd, gyda llinell y fersiwn neu hebddi. Daw priodwedd grwpio golwg y bwrdd yn restrau, priodweddau dewis eraill yn labeli, blociau testun a blychau ticio yn ddisgrifiad a rhestr wirio, a chedwir y sylwadau. Ni fewnforir delweddau nac atodiadau.",
"import-board-instruction-todoist": "In Todoist, open the project menu and choose Export as a template, then paste the CSV file. Sections become lists, tasks become cards, sub-tasks become a checklist, notes become comments, and @labels and priorities p1 to p3 become labels.",
"import-board-instruction-planner": "In Microsoft Planner, open the plan's menu and choose Export plan to Excel, then choose that .xlsx file. Buckets become lists and tasks become cards, with their assignees, dates, labels, checklist and description; Progress, Priority and Completed By become custom fields.",
"import-board-instruction-meistertask": "In MeisterTask, click the project name, choose Export project and export the CSV, then paste it. Sections become lists and tasks become cards, with their notes, due date, assignee and tags; completed tasks keep their completion date. A CSV written for MeisterTask's own import works too.",
"import-board-instruction-obsidian": "In Obsidian, open the Kanban board's file as Markdown (or open the .md file in a text editor), then paste all of it. Lanes become lists with their card limits, cards keep their tags, dates, priority, fields and checklist, and the Archive becomes archived cards.",
"import-board-instruction-linear": "In Linear, export the issues as CSV (Settings, Import / Export, Export data, or a view's export), then paste the CSV. Statuses become lists, teams become swimlanes, and issues become cards with their assignee, labels, dates, parent issue, priority, estimate, project and cycle.",
"import-board-instruction-ticktick": "In TickTick, open Settings, Account, Backup & Import and generate a backup, then paste the CSV file. Each TickTick list becomes a swimlane and its columns become lists; tasks keep their tags, dates, checklist, priority and subtasks.",
"import-board-instruction-clickup": "In ClickUp, export the tasks as CSV (Settings, Imports / Exports, Export Items, or a List or Table view's export with all columns), then paste the CSV. Statuses become lists, ClickUp lists become swimlanes, and tasks become cards with their subtasks, assignees, tags, dates, priority and time.",
"import-board-instruction-nullboard": "In Nullboard, open the board, choose Export this board... from the menu, open the .nbx file in a text editor and paste its contents. Lists become lists and notes become cards: a note's first line is the card title and the rest its description. A raw note gets the label raw. A file with several boards imports its first board.",
"import-board-instruction-kanri": "In Kanri, open Import & Export and choose Export individual board (or Export all data), then paste the .json file. Columns become lists and cards become cards, with their description, due date, tags and colors; a card's tasks become a checklist. From an all-data export the first board is imported.",
"import-board-instruction-meistertask": "Yn MeisterTask, cliciwch enw'r prosiect, dewiswch Export project ac allforiwch y CSV, yna gludwch ef. Daw adrannau yn rhestrau a thasgau yn gardiau, gyda'u nodiadau, dyddiad cwblhau, aseinai a thagiau; mae tasgau wedi'u cwblhau yn cadw eu dyddiad cwblhau. Mae CSV a ysgrifennwyd ar gyfer mewnforio MeisterTask ei hun yn gweithio hefyd.",
"import-board-instruction-obsidian": "Yn Obsidian, agorwch ffeil y bwrdd Kanban fel Markdown (neu agorwch y ffeil .md mewn golygydd testun), yna gludwch y cyfan. Daw lonydd yn rhestrau gyda'u terfynau cardiau, mae cardiau'n cadw eu tagiau, dyddiadau, blaenoriaeth, meysydd a rhestr wirio, a daw'r Archif yn gardiau wedi'u harchifo.",
"import-board-instruction-linear": "Yn Linear, allforiwch y materion fel CSV (Settings, Import / Export, Export data, neu allforio golwg), yna gludwch y CSV. Daw statwsau yn rhestrau, timau yn lonydd nofio, a materion yn gardiau gyda'u haseinai, labeli, dyddiadau, mater rhiant, blaenoriaeth, amcangyfrif, prosiect a chylch.",
"import-board-instruction-ticktick": "Yn TickTick, agorwch Settings, Account, Backup & Import a chreu copi wrth gefn, yna gludwch y ffeil CSV. Daw pob rhestr TickTick yn lôn nofio a daw ei cholofnau yn rhestrau; mae tasgau'n cadw eu tagiau, dyddiadau, rhestr wirio, blaenoriaeth ac is-dasgau.",
"import-board-instruction-clickup": "Yn ClickUp, allforiwch y tasgau fel CSV (Settings, Imports / Exports, Export Items, neu allforio golwg List neu Table gyda phob colofn), yna gludwch y CSV. Daw statwsau yn rhestrau, rhestrau ClickUp yn lonydd nofio, a thasgau yn gardiau gyda'u his-dasgau, aseineion, tagiau, dyddiadau, blaenoriaeth ac amser.",
"import-board-instruction-nullboard": "Yn Nullboard, agorwch y bwrdd, dewiswch Export this board... o'r ddewislen, agorwch y ffeil .nbx mewn golygydd testun a gludwch ei chynnwys. Daw rhestrau yn rhestrau a nodiadau yn gardiau: llinell gyntaf nodyn yw teitl y cerdyn a'r gweddill yw ei ddisgrifiad. Mae nodyn crai yn cael y label raw. O ffeil â sawl bwrdd, mewnforir y bwrdd cyntaf.",
"import-board-instruction-kanri": "Yn Kanri, agorwch Import & Export a dewiswch Export individual board (neu Export all data), yna gludwch y ffeil .json. Daw colofnau yn rhestrau a chardiau yn gardiau, gyda'u disgrifiad, dyddiad cwblhau, tagiau a lliwiau; daw tasgau cerdyn yn rhestr wirio. O allforio'r holl ddata, mewnforir y bwrdd cyntaf.",
"import-board-instruction-planka": "Teipiwch gyfeiriad eich Planka (er enghraifft https://planka.example.com), eich enw defnyddiwr a'ch cyfrinair Planka, yna pwyswch Rhestru. Fe'u defnyddir dim ond i nôl y bwrdd ac ni chânt eu cadw. Dewiswch fwrdd a phwyswch Nôl: mae WeKan yn ei ddarllen o API Planka, gyda'i restrau, cardiau, disgrifiadau, dyddiadau dyledus, labeli, aelodau, rhestrau tasgau a sylwadau, yna parhewch â'r mewnforio fel arfer. Caiff cardiau yn archif Planka eu mewnforio wedi'u harchifo; ni chaiff atodiadau a chardiau yn y sbwriel eu mewnforio.",
"import-board-instruction-mstodo": "Yn Microsoft Graph Explorer (developer.microsoft.com/graph/graph-explorer), mewngofnodwch, cydsyniwch i'r caniatâd Tasks.Read a chopïwch y tocyn o'r tab Access token. Gludwch ef yma a chliciwch Rhestru; defnyddir y tocyn ar gyfer y nôl hwn yn unig ac ni chaiff ei gadw. Dewiswch bob rhestr neu un rhestr a chliciwch Nôl. Daw pob rhestr To Do yn rhestr a phob tasg yn gerdyn, gyda'i nodiadau, dyddiadau dyledus a dechrau, camau fel rhestr wirio, categorïau fel labeli, a phwysigrwydd uchel a statws fel labeli; caiff tasgau wedi'u cwblhau eu harchifo. Ni chaiff nodiadau atgoffa ac ailadroddiadau eu mewnforio.",
"import-board-instruction-kanbanflow": "Yn KanbanFlow, agorwch ddewislen y bwrdd, dewiswch Settings → API & Webhooks a chopïwch docyn API y bwrdd. Gludwch y tocyn yma, cliciwch Rhestru, dewiswch y bwrdd a chliciwch Nôl; defnyddir y tocyn ar gyfer y nôl hwnnw yn unig ac ni chaiff ei gadw. Daw colofnau'n rhestrau ac mae lonydd nofio'n aros yn lonydd nofio; mae tasgau'n cadw eu disgrifiad, lliw, labeli, dyddiad dyledus, is-dasgau fel rhestr wirio, amser a dreuliwyd, amcangyfrif, pobl a sylwadau.",
@@ -941,19 +941,19 @@
"api-import-fetched": "Wedi'i nôl. Gwiriwch yr aelodau isod a mewnforiwch.",
"api-import-failed": "Methodd y nôl",
"api-import-nothing": "Does dim i'w fewnforio gyda'r cyfrif hwn.",
"import-board-instruction-pivotal": "In Pivotal Tracker, open the project's MORE tab and choose Export CSV (or select stories and choose Bulk Actions, CSV), then paste the CSV. Each story state becomes a list and stories become cards, with their type and labels, owners, requester, dates, comments, tasks and blockers; Estimate becomes Story points and iterations become sprints.",
"import-board-instruction-tasksorg": "In Tasks.org, open Settings, Backups and choose Export tasks, then paste the contents of that .json file. Lists become lists and tasks become cards, with their notes, tags, dates, comments and subtasks; completed tasks keep their completion date, and priority becomes a custom field.",
"import-board-instruction-monday": "In monday.com, open the board menu, choose More actions and Export board to Excel (with updates and subitems if you like), then choose that .xlsx file. The Status column becomes lists and groups become swimlanes; people, dates, timeline and tags keep their places, other columns become custom fields and updates become comments.",
"import-board-instruction-superproductivity": "In Super Productivity, open Settings, then Sync & Backup, choose Export Data and paste the contents of the sp-backup .json file. Each project becomes a swimlane and tasks become cards in To Do, In Progress, Backlog or Done, with their notes, tags, due date, time spent and sub-tasks; archived tasks become archived cards.",
"import-board-instruction-taiga": "In Taiga, open Admin > Project > Export and download the project dump (unpack a .json.gz file first), then paste its JSON. User story statuses become lists, user stories become cards with their tasks as subtasks, epics and issues get swimlanes of their own, and sprints, tags, comments and custom attributes come along. Attachments are not imported.",
"import-board-instruction-vikunja": "In Vikunja, open Settings, choose Data Export and download the .zip file it sends you, then choose that file, or paste the data.json inside it. Kanban buckets become lists and tasks become cards, with their labels, assignees, dates, description, task lists as checklists and comments; priority, percent done and done become custom fields. Attachments are not imported.",
"import-board-instruction-quire": "In Quire, open the project menu and choose Export CSV, then paste the CSV. Statuses become lists and tasks become cards, with their subtasks as child cards, assignees, tags as labels, start, due and completed dates, description and priority as a custom field. Comments and attachments are not in Quire's CSV.",
"import-board-instruction-wrike": "In Wrike, export a project or folder to Excel, or fill in Wrike's Excel import template, then choose that .xlsx file. Folder and project rows become swimlanes, Status becomes lists and tasks become cards, with their Key, parent task, assignees, start and end dates, dependencies and description; Priority, Duration and other columns become custom fields.",
"import-board-instruction-teamwork": "In Teamwork.com, fill in the Excel task import template (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) and save it as .xlsx, then choose that file. Task lists become lists and tasks become cards; a task starting with -, # or > becomes a subtask of the task above it (--, ## or >> one level deeper). Assignees, dates and tags keep their places; Priority, Estimated time and Complete become custom fields.",
"import-board-instruction-businessmap": "In Businessmap (formerly Kanbanize), open Advanced Search, choose Configure results to pick the columns, download the Excel file, then choose that .xlsx file. Columns are read by their English names (Title, Column, Lane, Owner, Deadline ...): if your account uses another language, rename the header row to English first. Column becomes lists and Lane swimlanes; owners, tags, color, dates, comments and parent links keep their places, and Priority, Size, Type and other columns become custom fields.",
"import-board-instruction-redmine": "In Redmine, open the project's Issues, choose Also available in: CSV at the bottom of the list, pick the columns (All columns, with Description) and export, then paste the CSV. Redmine names the columns in your language, so set your language to English in My account before exporting. Each status becomes a list and issues become cards, with the tracker as a label, assignee, author, dates, parent task and related issues; priority, category, target version, estimated time, % Done and custom fields become custom fields.",
"import-board-instruction-notion": "In Notion, open the database as a full page, choose ••• and Export, pick Markdown & CSV, and choose the .zip file it downloads, or one database CSV from it, or paste that CSV. A column named Status becomes the lists (without one, the first column that looks like a select does, and the import report says which); rows become cards with their title, tags as labels, people as members, dates, and the page text as the description; other columns become custom fields. Relations, images and attachments are not imported.",
"import-board-instruction-plane": "In Plane, open Workspace Settings, choose Exports, export the projects as JSON, CSV or Excel and download the .zip file, then choose that file, or one file from inside it, or paste the JSON or CSV. States become lists, projects become swimlanes, and issues become cards with their identifier, parent, assignees, labels, dates, links and comments; priority, estimate, cycle and module become custom fields. Plane's export has no descriptions or attachments, so they are not imported.",
"import-board-instruction-pivotal": "Yn Pivotal Tracker, agorwch dab MORE y prosiect a dewiswch Export CSV (neu dewiswch straeon a dewis Bulk Actions, CSV), yna gludwch y CSV. Daw pob cyflwr stori yn rhestr a straeon yn gardiau, gyda'u math a'u labeli, perchnogion, ceisydd, dyddiadau, sylwadau, tasgau a rhwystrau; daw Estimate yn Story points a daw iteriadau yn sbrintiau.",
"import-board-instruction-tasksorg": "Yn Tasks.org, agorwch Settings, Backups a dewiswch Export tasks, yna gludwch gynnwys y ffeil .json honno. Daw rhestrau yn rhestrau a thasgau yn gardiau, gyda'u nodiadau, tagiau, dyddiadau, sylwadau ac is-dasgau; mae tasgau wedi'u cwblhau yn cadw eu dyddiad cwblhau, a daw blaenoriaeth yn faes personol.",
"import-board-instruction-monday": "Yn monday.com, agorwch ddewislen y bwrdd, dewiswch More actions ac Export board to Excel (gyda diweddariadau ac is-eitemau os mynnwch), yna dewiswch y ffeil .xlsx honno. Daw'r golofn Status yn rhestrau a grwpiau yn lonydd nofio; mae pobl, dyddiadau, llinell amser a thagiau yn aros yn eu lle, daw colofnau eraill yn feysydd personol a diweddariadau yn sylwadau.",
"import-board-instruction-superproductivity": "Yn Super Productivity, agorwch Settings, yna Sync & Backup, dewiswch Export Data a gludwch gynnwys y ffeil .json sp-backup. Daw pob prosiect yn lôn nofio a thasgau yn gardiau yn To Do, In Progress, Backlog neu Done, gyda'u nodiadau, tagiau, dyddiad cwblhau, amser a dreuliwyd ac is-dasgau; daw tasgau wedi'u harchifo yn gardiau wedi'u harchifo.",
"import-board-instruction-taiga": "Yn Taiga, agorwch Admin > Project > Export a lawrlwythwch ddymp y prosiect (dadbaciwch ffeil .json.gz yn gyntaf), yna gludwch ei JSON. Daw statwsau straeon defnyddiwr yn rhestrau, daw straeon defnyddiwr yn gardiau gyda'u tasgau fel is-dasgau, mae epigau a materion yn cael lonydd nofio eu hunain, a daw sbrintiau, tagiau, sylwadau a phriodoleddau personol hefyd. Nid yw ymlyniadau'n cael eu mewnforio.",
"import-board-instruction-vikunja": "Yn Vikunja, agorwch Settings, dewiswch Data Export a lawrlwythwch y ffeil .zip y mae'n ei hanfon atoch, yna dewiswch y ffeil honno, neu gludwch y data.json sydd y tu mewn iddi. Daw bwcedi Kanban yn rhestrau a thasgau yn gardiau, gyda'u labeli, aseineion, dyddiadau, disgrifiad, rhestrau tasgau fel rhestrau gwirio a sylwadau; daw blaenoriaeth, canran wedi'i gwneud a wedi'i gwneud yn feysydd personol. Nid yw ymlyniadau'n cael eu mewnforio.",
"import-board-instruction-quire": "Yn Quire, agorwch ddewislen y prosiect a dewiswch Export CSV, yna gludwch y CSV. Daw statwsau yn rhestrau a thasgau yn gardiau, gyda'u his-dasgau fel cardiau plentyn, aseineion, tagiau fel labeli, dyddiadau dechrau, cwblhau a gorffen, disgrifiad a blaenoriaeth fel maes personol. Nid yw sylwadau ac ymlyniadau yn CSV Quire.",
"import-board-instruction-wrike": "Yn Wrike, allforiwch brosiect neu ffolder i Excel, neu llenwch dempled mewnforio Excel Wrike, yna dewiswch y ffeil .xlsx honno. Daw rhesi ffolder a phrosiect yn lonydd nofio, daw Status yn rhestrau a thasgau yn gardiau, gyda'u Key, tasg rhiant, aseineion, dyddiadau dechrau a gorffen, dibyniaethau a disgrifiad; daw Priority, Duration a cholofnau eraill yn feysydd personol.",
"import-board-instruction-teamwork": "Yn Teamwork.com, llenwch dempled Excel mewnforio tasgau (Tasklist, Task, Description, Assign to, Start date, Due date, Priority, Estimated time, Tags, Status) a'i gadw fel .xlsx, yna dewiswch y ffeil honno. Daw rhestrau tasgau yn rhestrau a thasgau yn gardiau; daw tasg sy'n dechrau gyda -, # neu > yn is-dasg i'r dasg uwch ei phen (--, ## neu >> un lefel yn ddyfnach). Mae aseineion, dyddiadau a thagiau yn aros yn eu lle; daw Priority, Estimated time a Complete yn feysydd personol.",
"import-board-instruction-businessmap": "Yn Businessmap (Kanbanize gynt), agorwch Advanced Search, dewiswch Configure results i ddewis y colofnau, lawrlwythwch y ffeil Excel, yna dewiswch y ffeil .xlsx honno. Darllenir colofnau yn ôl eu henwau Saesneg (Title, Column, Lane, Owner, Deadline ...): os yw'ch cyfrif yn defnyddio iaith arall, ailenwch y rhes pennawd i Saesneg yn gyntaf. Daw Column yn rhestrau a Lane yn lonydd nofio; mae perchnogion, tagiau, lliw, dyddiadau, sylwadau a dolenni rhiant yn aros yn eu lle, a daw Priority, Size, Type a cholofnau eraill yn feysydd personol.",
"import-board-instruction-redmine": "Yn Redmine, agorwch Issues y prosiect, dewiswch Also available in: CSV ar waelod y rhestr, dewiswch y colofnau (All columns, gyda Description) ac allforiwch, yna gludwch y CSV. Mae Redmine yn enwi'r colofnau yn eich iaith chi, felly gosodwch eich iaith i Saesneg yn My account cyn allforio. Daw pob statws yn rhestr a materion yn gardiau, gyda'r tracker fel label, aseinai, awdur, dyddiadau, tasg rhiant a materion cysylltiedig; daw blaenoriaeth, categori, fersiwn targed, amser amcangyfrifedig, % Done a meysydd personol yn feysydd personol.",
"import-board-instruction-notion": "Yn Notion, agorwch y gronfa ddata fel tudalen lawn, dewiswch ••• ac Export, dewiswch Markdown & CSV, a dewiswch y ffeil .zip y mae'n ei lawrlwytho, neu un CSV cronfa ddata ohoni, neu gludwch y CSV hwnnw. Daw colofn o'r enw Status yn rhestrau (hebddi, y golofn gyntaf sy'n edrych fel dewis sy'n gwneud hynny, ac mae'r adroddiad mewnforio yn dweud pa un); daw rhesi yn gardiau gyda'u teitl, tagiau fel labeli, pobl fel aelodau, dyddiadau, a thestun y dudalen fel disgrifiad; daw colofnau eraill yn feysydd personol. Nid yw perthnasoedd, delweddau ac ymlyniadau'n cael eu mewnforio.",
"import-board-instruction-plane": "Yn Plane, agorwch Workspace Settings, dewiswch Exports, allforiwch y prosiectau fel JSON, CSV neu Excel a lawrlwythwch y ffeil .zip, yna dewiswch y ffeil honno, neu un ffeil o'i mewn, neu gludwch y JSON neu'r CSV. Daw cyflyrau yn rhestrau, prosiectau yn lonydd nofio, a materion yn gardiau gyda'u dynodwr, rhiant, aseineion, labeli, dyddiadau, dolenni a sylwadau; daw blaenoriaeth, amcangyfrif, cylch a modiwl yn feysydd personol. Nid oes disgrifiadau nac ymlyniadau yn allforio Plane, felly nid ydynt yn cael eu mewnforio.",
"import-board-instruction-trello": "Yn eich bwrdd Trello, ewch i 'Dewislen', yna 'Mwy', 'Argraffu ac Allforio', 'Allforio JSON', a chopïwch y testun canlyniadol.",
"import-board-instruction-csv": "Gludwch eich Gwerthoedd Wedi'u Gwahanu gan Goma (CSV)/Gwerthoedd Wedi'u Gwahanu â Thabiau (TSV) i mewn .",
"import-board-instruction-jira": "Gludwch y JSON o chwiliad materion API REST Jira Cloud (GET /rest/api/3/search/jql), neu wrthrych cyfatebol { \"issues\": [...] }. Daw statwsau Jira'n rhestrau a materion yn gardiau. Yn ddewisol, cynhwyswch arae \"automationRules\" i fewnforio rheolau.",
@@ -962,33 +962,33 @@
"import-board-instruction-wekan": "Yn eich bwrdd, ewch i 'Dewislen', yna 'Bwrdd Allforio', a chopïwch y testun yn y ffeil wedi'i lawrlwytho.",
"import-board-instruction-about-errors": "Os cewch wallau wrth fewnforio bwrdd, weithiau mae mewnforio yn dal i weithio, ac mae bwrdd ar dudalen All Boards.",
"import-without-mapping-members": "Mewnforio heb fapio aelodau (mapio'n ddiweddarach)",
"import-members-mode-heading": "People in the file:",
"import-members-mode-map": "Choose an existing user for each of them",
"import-members-mode-placeholder": "Keep them as placeholder users with their own names, to map to real users later",
"import-members-mode-me": "Make them all me",
"csv-mapping-title": "Which column is which?",
"csv-mapping-description": "Choose the column of the file that holds each card field. The choices were made from the column names; change any that are wrong, and choose (not in the file) for a field the file does not have.",
"csv-mapping-not-in-file": "(not in the file)",
"csv-mapping-column-number": "Column __number__",
"csv-mapping-list-missing": "The file has no column for the list. Choose one above, or type the name of the one list every card goes into.",
"csv-mapping-list-name": "List for every card",
"csv-mapping-custom-fields": "Other columns to import as text custom fields:",
"csv-mapping-boards": "Each sheet becomes its own board:",
"csv-mapping-skipped-sheets": "Sheets that are not imported:",
"csv-mapping-title-required": "Choose the column that holds the card titles.",
"csv-mapping-list-required": "Type the name of the list every card goes into, or choose the column that holds the list.",
"invalid-import-mapping": "The column mapping does not match the file.",
"import-many-boards": "Import many boards",
"import-many-boards-hint": "Choose several export files of this tool, or one .zip that holds them: each file becomes its own board, imported without member mapping. A .zip that is itself one export (Vikunja, Notion, Plane, or WeKan with attachments) is one board. When files are chosen here, Import imports them instead of the field above.",
"import-one-board-per-project": "One board per project",
"import-one-board-per-project-hint": "Each swimlane the import would make (a project, folder or list of the tool) becomes its own board. Parent cards and dependencies between those boards are listed in the import report.",
"import-many-progress": "Importing __done__ of __total__: __name__",
"import-many-results-heading": "Imported files",
"import-many-imported": "imported",
"export-all-boards": "Export all boards",
"export-selected-boards": "Export selected boards",
"export-all-boards-hint": "Every board you can export, in one download: Excel as one workbook with a sheet per board named after it, every other format as a .zip with a file per board.",
"exportAllBoardsPopup-title": "Export all boards",
"import-members-mode-heading": "Pobl yn y ffeil:",
"import-members-mode-map": "Dewiswch ddefnyddiwr sy'n bodoli ar gyfer pob un ohonynt",
"import-members-mode-placeholder": "Eu cadw fel defnyddwyr dalfan gyda'u henwau eu hunain, i'w paru â defnyddwyr go iawn yn nes ymlaen",
"import-members-mode-me": "Gwneud pob un ohonynt yn fi",
"csv-mapping-title": "Pa golofn yw pa un?",
"csv-mapping-description": "Dewiswch golofn y ffeil sy'n dal pob maes cerdyn. Gwnaed y dewisiadau o enwau'r colofnau; newidiwch unrhyw rai sy'n anghywir, a dewiswch (nid yn y ffeil) ar gyfer maes nad oes gan y ffeil.",
"csv-mapping-not-in-file": "(nid yn y ffeil)",
"csv-mapping-column-number": "Colofn __number__",
"csv-mapping-list-missing": "Nid oes gan y ffeil golofn ar gyfer y rhestr. Dewiswch un uchod, neu teipiwch enw'r un rhestr y mae pob cerdyn yn mynd iddi.",
"csv-mapping-list-name": "Rhestr ar gyfer pob cerdyn",
"csv-mapping-custom-fields": "Colofnau eraill i'w mewnforio fel meysydd personol testun:",
"csv-mapping-boards": "Daw pob dalen yn fwrdd ei hun:",
"csv-mapping-skipped-sheets": "Dalennau nad ydynt yn cael eu mewnforio:",
"csv-mapping-title-required": "Dewiswch y golofn sy'n dal teitlau'r cardiau.",
"csv-mapping-list-required": "Teipiwch enw'r rhestr y mae pob cerdyn yn mynd iddi, neu dewiswch y golofn sy'n dal y rhestr.",
"invalid-import-mapping": "Nid yw paru'r colofnau yn cyfateb i'r ffeil.",
"import-many-boards": "Mewnforio llawer o fyrddau",
"import-many-boards-hint": "Dewiswch sawl ffeil allforio o'r offeryn hwn, neu un .zip sy'n eu dal: daw pob ffeil yn fwrdd ei hun, wedi'i fewnforio heb baru aelodau. Mae .zip sydd ei hun yn un allforio (Vikunja, Notion, Plane, neu WeKan gydag ymlyniadau) yn un bwrdd. Pan ddewisir ffeiliau yma, mae Mewnforio yn eu mewnforio nhw yn lle'r maes uchod.",
"import-one-board-per-project": "Un bwrdd i bob prosiect",
"import-one-board-per-project-hint": "Daw pob lôn nofio y byddai'r mewnforio yn ei gwneud (prosiect, ffolder neu restr o'r offeryn) yn fwrdd ei hun. Rhestrir cardiau rhiant a dibyniaethau rhwng y byrddau hynny yn yr adroddiad mewnforio.",
"import-many-progress": "Yn mewnforio __done__ o __total__: __name__",
"import-many-results-heading": "Ffeiliau wedi'u mewnforio",
"import-many-imported": "wedi'i fewnforio",
"export-all-boards": "Allforio pob bwrdd",
"export-selected-boards": "Allforio'r byrddau a ddewiswyd",
"export-all-boards-hint": "Pob bwrdd y gallwch ei allforio, mewn un lawrlwythiad: Excel fel un llyfr gwaith gyda dalen i bob bwrdd wedi'i henwi ar ei ôl, pob fformat arall fel .zip gyda ffeil i bob bwrdd.",
"exportAllBoardsPopup-title": "Allforio pob bwrdd",
"import-json-placeholder": "Gludwch eich data JSON dilys yma",
"import-csv-placeholder": "Gludwch eich data CSV/TSV dilys yma",
"import-json-file": "Neu dewiswch ffeil JSON Trello",
@@ -1026,17 +1026,17 @@
"trello-import-results": "Canlyniadau mewnforio",
"trello-api-credentials-required": "Rhowch yr allwedd a'r tocyn API Trello os gwelwch yn dda.",
"trello-api-credentials-saved": "Mae'r allwedd a'r tocyn API Trello wedi'u cadw. Gallwch restru gweithleoedd heb eu hail-nodi.",
"exportToTrelloPopup-title": "Export to Trello",
"trello-export-desc": "Create a copy of this board in Trello through Trello's API, with your Trello API key and token. Swimlanes become labels named \"Swimlane: …\", which WeKan's Trello import turns back into swimlanes.",
"trello-export-include-attachments": "Include attachments",
"trello-export-start": "Export to Trello",
"trello-export-open-board": "Open the board in Trello",
"trello-export-warnings": "Not everything could be exported",
"sandstorm-trello-access-needed": "A Sandstorm grain has no Internet access of its own. Allow this grain to reach Trello first.",
"sandstorm-allow-trello-access": "Allow access to Trello",
"sandstorm-trello-access-granted": "This grain may reach Trello.",
"sandstorm-forget-access": "Forget",
"sandstorm-trello-save-label": "Trello, for importing and exporting boards",
"exportToTrelloPopup-title": "Allforio i Trello",
"trello-export-desc": "Creu copi o'r bwrdd hwn yn Trello drwy API Trello, gyda'ch allwedd API a'ch tocyn Trello. Daw lonydd nofio yn labeli o'r enw \"Swimlane: …\", y mae mewnforio Trello WeKan yn eu troi'n ôl yn lonydd nofio.",
"trello-export-include-attachments": "Cynnwys ymlyniadau",
"trello-export-start": "Allforio i Trello",
"trello-export-open-board": "Agor y bwrdd yn Trello",
"trello-export-warnings": "Nid oedd modd allforio popeth",
"sandstorm-trello-access-needed": "Nid oes gan grain Sandstorm fynediad i'r Rhyngrwyd ei hun. Caniatewch i'r grain hwn gyrraedd Trello yn gyntaf.",
"sandstorm-allow-trello-access": "Caniatáu mynediad i Trello",
"sandstorm-trello-access-granted": "Caiff y grain hwn gyrraedd Trello.",
"sandstorm-forget-access": "Anghofio",
"sandstorm-trello-save-label": "Trello, ar gyfer mewnforio ac allforio byrddau",
"trello-select-boards": "Dewiswch o leiaf un bwrdd i'w fewnforio os gwelwch yn dda.",
"select-all": "Dewis popeth",
"select-none": "Dewis dim",
@@ -1318,9 +1318,9 @@
"external-link-pattern-description": "Yn cysylltu'n awtomatig docynnau ar ffurf \"#1234\" a geir yng nghorff y cerdyn â thraciwr materion allanol. Gadewch faes yn wag i'w analluogi.",
"external-link-pattern-prefix": "Rhagddodiad y tocyn",
"external-link-pattern-url": "Templed URL (defnyddiwch {number})",
"external-link-rules": "More link rules",
"external-link-rules-description": "One rule per line: the text to find, \" = \", and the address. Use {number} for digits and {identifier} for a word, in both, for example [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Abbreviations for {identifier}, for example TK=Task, IN=Incident",
"external-link-rules": "Rhagor o reolau dolenni",
"external-link-rules-description": "Un rheol i bob llinell: y testun i'w ganfod, \" = \", a'r cyfeiriad. Defnyddiwch {number} ar gyfer digidau a {identifier} ar gyfer gair, yn y ddau, er enghraifft [{identifier}:{number}] = https://tracker.example.com/{identifier}/{number}.",
"external-link-identifier-aliases": "Byrfoddau ar gyfer {identifier}, er enghraifft TK=Task, IN=Incident",
"username": "Enw defnyddiwr",
"import-usernames": "Mewnforio Enwau Defnyddwyr",
"view-it": "Edrychwch arno",
@@ -1345,13 +1345,13 @@
"attachment-transfer-limits-title": "Terfynau Maint Ffeil Ymlyniadau ac API",
"attachment-limits": "Terfynau",
"attachment-retention": "Cadw",
"attachment-retention-days": "Delete attachments after (days)",
"attachment-retention-days-help": "Like Delete on the card: the card history can restore them. Empty or 0: never.",
"attachment-retention-mode": "Count the days from",
"attachment-retention-purge": "Remove deleted attachments for good after (days)",
"attachment-retention-purge-help": "After this they can no longer be restored. Empty or 0: never.",
"attachment-retention-dry-run": "Dry run: only count, in the server log, change nothing",
"attachment-retention-max-per-run": "At most this many attachments per night",
"attachment-retention-days": "Dileu ymlyniadau ar ôl (diwrnodau)",
"attachment-retention-days-help": "Fel Dileu ar y cerdyn: gall hanes y cerdyn eu hadfer. Gwag neu 0: byth.",
"attachment-retention-mode": "Cyfrif y diwrnodau o",
"attachment-retention-purge": "Tynnu ymlyniadau wedi'u dileu am byth ar ôl (diwrnodau)",
"attachment-retention-purge-help": "Ar ôl hyn ni ellir eu hadfer mwyach. Gwag neu 0: byth.",
"attachment-retention-dry-run": "Rhediad prawf: cyfrif yn unig, yn log y gweinydd, heb newid dim",
"attachment-retention-max-per-run": "Dim mwy na hyn o ymlyniadau bob nos",
"attachment-transfer-limits-description": "Ffurfweddu terfynau maint ffeil uchaf ar gyfer llwytho i fyny a lawrlwytho. Mae gan fyffro trosglwyddo API gapiau diogelwch ar wahân ar ochr y gweinydd.",
"attachment-transfer-limits-saved": "Cadwyd terfynau trosglwyddo ymlyniadau.",
"attachment-transfer-limits-save-failed": "Methwyd â chadw terfynau trosglwyddo ymlyniadau",
@@ -1401,51 +1401,51 @@
"error-notAuthorized": "Nid oes gennych awdurdod i weld y dudalen hon.",
"webhook-title": "Enw Bachyn",
"webhook-token": "Tocyn (Dewisol ar gyfer Dilysu)",
"webhook-payload-heading": "Webhook data",
"webhook-payload-description": "What outgoing webhooks (Rocket.Chat, Slack, ...) send. Default keeps the inherited setting; with nothing set, webhooks send what they always have.",
"webhook-payload-text": "Send the message text",
"webhook-payload-fields": "Send these fields",
"webhook-payload-field-standard": "Standard fields (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "IDs",
"webhook-payload-field-names": "Names and titles",
"webhook-payload-field-links": "Links to the card and board",
"webhook-payload-field-actor": "Who did it",
"webhook-payload-field-people": "The member or assignee it is about",
"webhook-payload-field-details": "Details: comment, description, values and dates",
"webhook-hide-identity": "Leave my name out of outgoing webhooks",
"webhook-someone": "A member",
"webhook-payload-heading": "Data'r bachyn gwe",
"webhook-payload-description": "Yr hyn y mae bachau gwe sy'n mynd allan (Rocket.Chat, Slack, ...) yn ei anfon. Mae Rhagosodiad yn cadw'r gosodiad a etifeddwyd; heb ddim wedi'i osod, mae bachau gwe yn anfon yr hyn y maent wedi'i anfon erioed.",
"webhook-payload-text": "Anfon testun y neges",
"webhook-payload-fields": "Anfon y meysydd hyn",
"webhook-payload-field-standard": "Meysydd safonol (WEBHOOKS_ATTRIBUTES)",
"webhook-payload-field-ids": "Dynodwyr (ID)",
"webhook-payload-field-names": "Enwau a theitlau",
"webhook-payload-field-links": "Dolenni i'r cerdyn a'r bwrdd",
"webhook-payload-field-actor": "Pwy a'i gwnaeth",
"webhook-payload-field-people": "Yr aelod neu'r aseinai y mae'n ymwneud ag ef",
"webhook-payload-field-details": "Manylion: sylw, disgrifiad, gwerthoedd a dyddiadau",
"webhook-hide-identity": "Gadael fy enw allan o fachau gwe sy'n mynd allan",
"webhook-someone": "Aelod",
"notification-delivery-layout": "Gosodiad",
"notification-delivery-layout-classic": "One sentence (classic)",
"notification-delivery-layout-clear": "Clearly arranged: board, who, card in bold",
"notification-delivery-parts": "Show",
"notification-delivery-part-board": "Board name and link",
"notification-delivery-part-actor": "Who did it",
"notification-delivery-part-card": "Card title and link",
"notification-delivery-layout-classic": "Un frawddeg (clasurol)",
"notification-delivery-layout-clear": "Wedi'i drefnu'n glir: bwrdd, pwy, cerdyn mewn print trwm",
"notification-delivery-parts": "Dangos",
"notification-delivery-part-board": "Enw a dolen y bwrdd",
"notification-delivery-part-actor": "Pwy a'i gwnaeth",
"notification-delivery-part-card": "Teitl a dolen y cerdyn",
"notification-delivery-part-list": "Rhestr",
"notification-delivery-part-swimlane": "Lôn nofio",
"notification-delivery-part-details": "Comment or changed value",
"notification-delivery-part-dates": "Dates",
"notification-delivery-part-link": "Link on its own line",
"notification-delivery-grouping": "Grouping",
"notification-delivery-grouping-all": "Everything due in one message",
"notification-delivery-grouping-board": "One per board",
"notification-delivery-grouping-card": "One per card",
"notification-delivery-grouping-none": "Each on its own",
"notification-delivery-schedule": "When to send",
"notification-delivery-schedule-immediate": "Immediately",
"notification-delivery-schedule-interval": "Every few minutes or hours",
"notification-delivery-schedule-daily": "Once a day",
"notification-delivery-interval": "Every",
"notification-delivery-minutes": "__count__ minutes",
"notification-delivery-part-details": "Sylw neu werth wedi'i newid",
"notification-delivery-part-dates": "Dyddiadau",
"notification-delivery-part-link": "Dolen ar ei llinell ei hun",
"notification-delivery-grouping": "Grwpio",
"notification-delivery-grouping-all": "Popeth sy'n ddyledus mewn un neges",
"notification-delivery-grouping-board": "Un i bob bwrdd",
"notification-delivery-grouping-card": "Un i bob cerdyn",
"notification-delivery-grouping-none": "Pob un ar ei ben ei hun",
"notification-delivery-schedule": "Pryd i anfon",
"notification-delivery-schedule-immediate": "Ar unwaith",
"notification-delivery-schedule-interval": "Bob ychydig funudau neu oriau",
"notification-delivery-schedule-daily": "Unwaith y dydd",
"notification-delivery-interval": "Bob",
"notification-delivery-minutes": "__count__ munud",
"notification-delivery-daily-time": "Am",
"notification-delivery-quiet": "Quiet hours (wait until they end)",
"notification-delivery-quiet": "Oriau tawel (aros nes iddynt ddod i ben)",
"notification-delivery-quiet-from": "O",
"notification-delivery-quiet-to": "Tan",
"notification-delivery-quiet-clear": "No quiet hours",
"notification-delivery-timezone": "Time zone:",
"notification-delivery-invalid": "The setting could not be saved.",
"notification-group-card": "__count__ notifications on card __card__",
"notification-group-board": "__count__ notifications on board __board__",
"notification-delivery-quiet-clear": "Dim oriau tawel",
"notification-delivery-timezone": "Cylchfa amser:",
"notification-delivery-invalid": "Nid oedd modd cadw'r gosodiad.",
"notification-group-card": "__count__ hysbysiad ar y cerdyn __card__",
"notification-group-board": "__count__ hysbysiad ar y bwrdd __board__",
"outgoing-webhooks": "Llyfrau Gwe Allan",
"bidirectional-webhooks": "Bachogau Gwe Dwyffordd",
"outgoingWebhooksPopup-title": "Llyfrau Gwe Allan",
@@ -1500,7 +1500,7 @@
"showLabel-field-on-card": "Dangos label maes ar minicard",
"showSum-field-on-list": "Dangos swm y meysydd ar frig y rhestr",
"admin-only-field": "Gweladwy i weinyddwyr y bwrdd yn unig",
"read-only-field": "Read-only: every member sees the value, only board admins change it",
"read-only-field": "Darllen yn unig: mae pob aelod yn gweld y gwerth, dim ond gweinyddwyr y bwrdd sy'n ei newid",
"yes": "Oes",
"no": "Nac ydw",
"accounts": "Cyfrifon",
@@ -1692,11 +1692,11 @@
"r-format-auto": "Canfod yn awtomatig",
"r-import-workflow-note": "Mewnforio llif gwaith gweledol a allforiwyd o n8n neu Node-RED. Mapir nodau sbardun/gweithred a adnabyddir i reolau WeKan; adroddir am nodau heb eu mapio.",
"r-import-unmapped": "Methwyd â mapio __count__ llinell(au)",
"r-wrike-workflow": "Wrike workflow",
"r-wrike-workflow-note": "A Wrike workflow is a list of statuses, each in the Active, Completed, Deferred or Cancelled group. Export writes this board's lists as one, named after the board, in the JSON Wrike's API returns for workflows: create that workflow in Wrike before importing the board's Wrike Excel export, so its statuses are applied. Import reads that JSON pasted above, from WeKan or from Wrike's GET /workflows, into the chosen board: a status without a list becomes a list, and a rule marks a card complete when it is moved into a Completed or Cancelled status and incomplete in an Active or Deferred one. Wrike's own automation rules cannot be exported from Wrike.",
"r-export-wrike-workflow": "Export Wrike workflow",
"r-import-wrike-workflow": "Import Wrike workflow",
"r-import-wrike-workflow-done": "Wrike workflow \"__name__\": __lists__ list(s) and __rules__ rule(s) added, __skipped__ part(s) not read",
"r-wrike-workflow": "Llif gwaith Wrike",
"r-wrike-workflow-note": "Rhestr o statwsau yw llif gwaith Wrike, pob un yn y grŵp Active, Completed, Deferred neu Cancelled. Mae allforio yn ysgrifennu rhestrau'r bwrdd hwn fel un, wedi'i enwi ar ôl y bwrdd, yn y JSON y mae API Wrike yn ei ddychwelyd ar gyfer llifoedd gwaith: crëwch y llif gwaith hwnnw yn Wrike cyn mewnforio allforio Excel Wrike y bwrdd, fel bod ei statwsau'n cael eu cymhwyso. Mae mewnforio yn darllen y JSON hwnnw a gludwyd uchod, o WeKan neu o GET /workflows Wrike, i'r bwrdd a ddewiswyd: daw statws heb restr yn rhestr, ac mae rheol yn nodi cerdyn yn gyflawn pan gaiff ei symud i statws Completed neu Cancelled ac yn anghyflawn mewn un Active neu Deferred. Ni ellir allforio rheolau awtomeiddio Wrike ei hun o Wrike.",
"r-export-wrike-workflow": "Allforio llif gwaith Wrike",
"r-import-wrike-workflow": "Mewnforio llif gwaith Wrike",
"r-import-wrike-workflow-done": "Llif gwaith Wrike \"__name__\": ychwanegwyd __lists__ rhestr a __rules__ rheol, __skipped__ rhan heb eu darllen",
"r-set-scheduled-triggers": "Sbardunau wedi'u hamserlennu",
"r-set-button-triggers": "Botymau",
"r-when-scheduled": "Ar amserlen",
@@ -1752,8 +1752,8 @@
"set-filter": "Gosod Hidlydd",
"r-moved-to": "Wedi symud i",
"r-moved-from": "Wedi symud o",
"r-moved-forward": "moved forward to a later list",
"r-moved-back": "moved back to an earlier list",
"r-moved-forward": "wedi'i symud ymlaen i restr ddiweddarach",
"r-moved-back": "wedi'i symud yn ôl i restr gynharach",
"r-archived": "Wedi symud i'r Archif",
"r-unarchived": "Wedi'i adfer o'r Archif",
"r-commented": "wedi cael sylw",
@@ -1801,8 +1801,8 @@
"r-add-actinguser-member": "Ychwanegu'r defnyddiwr a sbardunodd y rheol hon fel aelod",
"r-remove-all": "Tynnwch yr holl aelodau o'r cerdyn",
"r-assignee": "aseinai",
"r-add-actinguser-assignee": "Add the user who triggered this rule as an assignee",
"r-remove-all-assignees": "Remove all assignees from the card",
"r-add-actinguser-assignee": "Ychwanegu'r defnyddiwr a sbardunodd y rheol hon fel aseinai",
"r-remove-all-assignees": "Tynnu pob aseinai o'r cerdyn",
"r-remove-all-labels": "Tynnu'r holl labeli oddi ar y cerdyn",
"r-set-color": "Gosod lliw i",
"r-checklist": "rhestr wirio",
@@ -1876,10 +1876,10 @@
"ldap-test-connection": "Profi Cysylltiad LDAP",
"ldap-test-connection-success": "Cysylltiad llwyddiannus",
"ldap-test-connection-error": "Methodd y cysylltiad: %s",
"ldap-sync-now": "Sync LDAP users now",
"ldap-sync-now-done": "LDAP sync finished",
"ldap-sync-now-error": "LDAP sync failed: %s",
"ldap-sync-now-nothing": "Nothing to sync: turn on LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS or LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED first.",
"ldap-sync-now": "Cysoni defnyddwyr LDAP nawr",
"ldap-sync-now-done": "Mae'r cysoni LDAP wedi gorffen",
"ldap-sync-now-error": "Methodd y cysoni LDAP: %s",
"ldap-sync-now-nothing": "Dim i'w gysoni: trowch LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS neu LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED ymlaen yn gyntaf.",
"oauth-providers-title": "Darparwyr mewngofnodi OAuth",
"oauth-providers-hint": "Gellir troi pob darparwr ymlaen yma neu gyda’i newidyn amgylchedd OAUTH_*_ENABLED; mae gwerth a osodir yma yn diystyru’r newidyn amgylchedd. Caiff y gyfrinach ei storio ar y gweinydd ac ni chaiff byth ei dangos.",
"oauth-provider-google": "Google",
@@ -1894,7 +1894,7 @@
"oauth-provider-secret-set": "Mae cyfrinach wedi’i gosod",
"oauth-providers-login-style": "Arddull mewngofnodi",
"oauth-providers-merge-existing-users": "Uno â chyfrif presennol sydd â’r un ebost",
"oauth-providers-allowed-email-domains": "Only these email domains may sign in with these providers (comma separated; empty allows all)",
"oauth-providers-allowed-email-domains": "Dim ond y parthau e-bost hyn a gaiff fewngofnodi gyda'r darparwyr hyn (wedi'u gwahanu gan goma; mae gwag yn caniatáu pob un)",
"oauth-account-conflict": "Mae cyfrif gyda’r ebost hwn yn bodoli eisoes ac ni chafodd ei greu gyda’r dull mewngofnodi hwn",
"sign-in-with": "Mewngofnodi gyda %s",
"login-origin-mismatch": "Ni ellir cwblhau mewngofnodi drwy wasanaeth arall yn y cyfeiriad hwn. Mae WeKan wedi’i ffurfweddu ar gyfer __expected__, ond agorwyd y dudalen hon yn __actual__. Agorwch WeKan yn __expected__, neu gofynnwch i’r gweinyddwr osod ROOT_URL i __actual__.",
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Methodd y cysylltiad",
"cloud-settings-saved": "Cadwyd gosodiadau storfa",
"cloud-settings-save-failed": "Methwyd â chadw gosodiadau storfa",
"cloud": "Cwmwl",
"cloud-settings-desc": "Gyda WeKan yn Weddy, mae'r Cloud Panel yn gwasanaethu llawer o barthau WeKan o un gweinydd, pob un â'i ddata ei hun. Ym Mharth y Cloud Panel, mae'r SuperAdmin yn rheoli'r parthau a CloudFlare.",
"cloud-panel-domain": "Parth y Cloud Panel",
"cloud-superadmin-username": "Enw defnyddiwr SuperAdmin",
"cloud-saved": "Wedi cadw.",
"cloud-panel-not-allowed": "Mae'r Cloud Panel ar gyfer y SuperAdmin yn unig, ym Mharth y Cloud Panel.",
"cloud-customer-name": "Enw'r cwsmer",
"cloud-customer-email": "Cyfeiriad e-bost y cwsmer",
"cloud-billing-email": "Cyfeiriad e-bost bilio",
"cloud-start-date": "Dyddiad dechrau",
"cloud-end-date": "Dyddiad gorffen",
"cloudflare-api-key": "Allwedd API CloudFlare",
"cloudflare-api-key-desc": "Gydag allwedd API CloudFlare, mae parth y mae ei gylchfa yn eich cyfrif CloudFlare yn cael cofnod DNS dirprwyedig a thystysgrif CloudFlare Origin. Mae parthau eraill yn cael tystysgrif Let's Encrypt. Caiff yr allwedd ei chadw ar y gweinydd ac ni chaiff ei dangos eto.",
"cloudflare-api-key-set": "Mae allwedd API CloudFlare wedi'i chadw.",
"cloudflare-api-key-not-set": "Nid oes allwedd API CloudFlare wedi'i chadw: mae pob parth yn cael tystysgrif Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Symud ymlyniad i Azure Blob Storage",
@@ -3276,7 +3291,7 @@
"import-report-open-board": "Agor y bwrdd",
"import-parts-instruction": "Dim ond y rhannau sydd wedi'u ticio sy'n cael eu mewnforio. Defnyddir yr un dewis wrth allforio.",
"import-wekan-file": "Mewnforio o ffeil allforio .json neu .zip:",
"import-file-label": "Choose the export file, or paste its text below:",
"import-file-label": "Dewiswch y ffeil allforio, neu gludwch ei thestun isod:",
"sum-of-number-fields": "Cyfanswm y meysydd rhifol addasedig a ddangosir ar frig y rhestr",
"date-range-of-fields": "Ystod dyddiadau meysydd dyddiad personol wedi’u nodi i’w dangos ar frig y rhestr",
"more-options": "Rhagor o opsiynau",
@@ -3303,9 +3318,9 @@
"wip-limit-group-select-swimlane": "Dethol Lôn nofio",
"wip-limit-group-apply-swimlane": "Ymgeisiwch Lôn nofio",
"subtask-inherit-parent-labels": "Etifeddu labelau'r cerdyn rhiant",
"subtask-mark-done": "Mark subtask as done",
"subtask-mark-not-done": "Mark subtask as not done",
"subtask-done-no-permission": "You cannot change whether this subtask is done",
"subtask-mark-done": "Nodi'r is-dasg fel un wedi'i gwneud",
"subtask-mark-not-done": "Nodi'r is-dasg fel un heb ei gwneud",
"subtask-done-no-permission": "Ni allwch newid a yw'r is-dasg hon wedi'i gwneud",
"chart-forecast-none-remaining": "Dim byd ar ôl yn agored i'w ragamcanu - mae pob cerdyn wedi'i orffen.",
"chart-forecast-no-velocity": "Mae __remaining__ cerdyn/cardiau yn dal ar agor; dim cwblhau diweddar i ragamcanu dyddiad ohono.",
"chart-forecast-projected": "Ar y gyfradd ddiweddar o __average__ cerdyn/cardiau yr wythnos, dylai'r __remaining__ cerdyn/cardiau sy'n dal ar agor gael eu gorffen erbyn __date__.",
@@ -4380,52 +4395,52 @@
"rule-email-legacy-attempt-exists": "Mae'r ebost hwn eisoes wedi'i anfon, wedi cael ymgais i'w anfon, neu wedi'i waredu.",
"rule-email-legacy-not-legacy": "Mae'r ebost hwn eisoes wedi'i ailgysylltu.",
"rule-email-legacy-failed": "Methu cwblhau'r weithred hon. Adnewyddwch a rhowch gynnig arall arni.",
"stuck-sync-operation-heading": "List Sync operations that cannot be replayed",
"stuck-sync-operation-description": "Each of these saved List Sync operations stopped part way and can no longer be finished, because its list was removed, recreated or reconfigured, or the user who started it lost write access. While one is pending, that list cannot Sync. Discard it to let the list Sync again: changes already applied stay, the remaining saved changes are never written, and the next Sync compares the list with its source again.",
"stuck-sync-operation-list": "Board / list",
"stuck-sync-operation-heading": "Gweithrediadau Cysoni Rhestr na ellir eu hailchwarae",
"stuck-sync-operation-description": "Stopiodd pob un o'r gweithrediadau Cysoni Rhestr hyn a gadwyd hanner ffordd ac ni ellir eu gorffen mwyach, oherwydd i'w rhestr gael ei thynnu, ei hail-greu neu ei hailffurfweddu, neu i'r defnyddiwr a'i dechreuodd golli mynediad ysgrifennu. Tra bo un yn aros, ni all y rhestr honno Gysoni. Taflwch ef i adael i'r rhestr Gysoni eto: mae newidiadau a gymhwyswyd eisoes yn aros, nid yw'r newidiadau sy'n weddill byth yn cael eu hysgrifennu, ac mae'r Cysoni nesaf yn cymharu'r rhestr â'i ffynhonnell eto.",
"stuck-sync-operation-list": "Bwrdd / rhestr",
"stuck-sync-operation-progress": "Cynnydd",
"stuck-sync-operation-reason": "Rheswm",
"stuck-sync-operation-applied": "__applied__ of __total__ changes applied",
"stuck-sync-operation-reason-scope-changed": "The list was removed, recreated or its Sync settings changed",
"stuck-sync-operation-reason-access-denied": "The user who started it no longer has write access to the whole list",
"stuck-sync-operation-reason-trigger-unknown": "Saved by an earlier WeKan version without what started it",
"stuck-sync-operation-reason-intent-missing": "The record of who started it is missing",
"stuck-sync-operation-reason-unknown": "Could not be checked now",
"stuck-sync-operation-replayable-now": "It can be replayed again now and will finish by itself, so it cannot be discarded.",
"stuck-sync-operation-applied": "__applied__ o __total__ newid wedi'u cymhwyso",
"stuck-sync-operation-reason-scope-changed": "Cafodd y rhestr ei thynnu, ei hail-greu neu newidiwyd ei gosodiadau Cysoni",
"stuck-sync-operation-reason-access-denied": "Nid oes gan y defnyddiwr a'i dechreuodd fynediad ysgrifennu i'r rhestr gyfan mwyach",
"stuck-sync-operation-reason-trigger-unknown": "Wedi'i gadw gan fersiwn gynharach o WeKan heb yr hyn a'i dechreuodd",
"stuck-sync-operation-reason-intent-missing": "Mae'r cofnod o bwy a'i dechreuodd ar goll",
"stuck-sync-operation-reason-unknown": "Nid oedd modd ei wirio nawr",
"stuck-sync-operation-replayable-now": "Gellir ei ailchwarae nawr a bydd yn gorffen ar ei ben ei hun, felly ni ellir ei daflu.",
"stuck-sync-operation-discard": "Taflwch",
"stuck-sync-operation-discard-confirm": "Discard this saved List Sync operation? Changes it already applied stay; the rest are never written. The list can then Sync again.",
"stuck-sync-operation-discard-confirm": "Taflu'r gweithrediad Cysoni Rhestr hwn a gadwyd? Mae newidiadau a gymhwysodd eisoes yn aros; nid yw'r gweddill byth yn cael eu hysgrifennu. Yna gall y rhestr Gysoni eto.",
"stuck-sync-operation-refresh": "Adnewyddu",
"stuck-sync-operation-empty": "No List Sync operations are waiting for review.",
"stuck-sync-operation-truncated": "Only the oldest 50 are shown. Discard some and refresh to see more.",
"stuck-sync-operation-unavailable": "Could not load the List Sync operations. Refresh to try again.",
"stuck-sync-operation-missing": "This operation is no longer pending.",
"stuck-sync-operation-not-stuck": "This operation has not been found stuck, so it cannot be discarded.",
"stuck-sync-operation-replayable": "This operation can be replayed again now and will finish by itself, so it was not discarded.",
"stuck-sync-operation-busy": "This list is syncing right now. Try again in a moment.",
"stuck-sync-operation-empty": "Nid oes unrhyw weithrediadau Cysoni Rhestr yn aros am adolygiad.",
"stuck-sync-operation-truncated": "Dim ond yr 50 hynaf a ddangosir. Taflwch rai ac adnewyddwch i weld rhagor.",
"stuck-sync-operation-unavailable": "Nid oedd modd llwytho'r gweithrediadau Cysoni Rhestr. Adnewyddwch i geisio eto.",
"stuck-sync-operation-missing": "Nid yw'r gweithrediad hwn yn aros mwyach.",
"stuck-sync-operation-not-stuck": "Ni chafwyd bod y gweithrediad hwn yn sownd, felly ni ellir ei daflu.",
"stuck-sync-operation-replayable": "Gellir ailchwarae'r gweithrediad hwn nawr a bydd yn gorffen ar ei ben ei hun, felly ni chafodd ei daflu.",
"stuck-sync-operation-busy": "Mae'r rhestr hon yn cysoni ar hyn o bryd. Ceisiwch eto mewn munud.",
"stuck-sync-operation-failed": "Methu cwblhau'r weithred hon. Adnewyddwch a rhowch gynnig arall arni.",
"interrupted-import-heading": "Board imports that stopped before finishing",
"interrupted-import-description": "Each of these board imports stopped part way - the server restarted, or the import failed - and left a partial board. An import cannot be continued, because its source file is not kept. Keep the board as it is, or discard it and import the file again. Discarding removes the board this import created and everything on it, including anything added to it since.",
"interrupted-import-heading": "Mewnforion byrddau a stopiodd cyn gorffen",
"interrupted-import-description": "Stopiodd pob un o'r mewnforion byrddau hyn hanner ffordd - ailgychwynnodd y gweinydd, neu methodd y mewnforio - a gadael bwrdd rhannol. Ni ellir parhau â mewnforio, oherwydd nid yw ei ffeil ffynhonnell yn cael ei chadw. Cadwch y bwrdd fel y mae, neu taflwch ef a mewnforiwch y ffeil eto. Mae taflu yn tynnu'r bwrdd a greodd y mewnforio hwn a phopeth arno, gan gynnwys unrhyw beth a ychwanegwyd ato ers hynny.",
"interrupted-import-board": "Bwrdd",
"interrupted-import-progress": "Where it stopped",
"interrupted-import-created": "Created so far",
"interrupted-import-source": "Imported from __source__",
"interrupted-import-state-stopped": "Stopped without finishing, at __stage__",
"interrupted-import-state-failed": "Failed with __error__, at __stage__",
"interrupted-import-state-discarding": "Being discarded; discard again to finish",
"interrupted-import-progress": "Lle y stopiodd",
"interrupted-import-created": "Wedi'u creu hyd yma",
"interrupted-import-source": "Wedi'i fewnforio o __source__",
"interrupted-import-state-stopped": "Stopiodd heb orffen, yn __stage__",
"interrupted-import-state-failed": "Methodd gyda __error__, yn __stage__",
"interrupted-import-state-discarding": "Yn cael ei daflu; taflwch eto i orffen",
"interrupted-import-scrum": "Mae gan ei gam Scrum ei bwynt gwirio ei hun (__state__, cam __next__ o __total__). Os ydych yn cadw’r bwrdd, cwblhewch neu gwaredwch y cam hwnnw drwy adfer mewnforio Scrum y bwrdd.",
"interrupted-import-counts": "__swimlanes__ swimlanes, __lists__ lists, __cards__ cards, __checklists__ checklists, __comments__ comments, __attachments__ attachments",
"interrupted-import-no-board": "No board was created",
"interrupted-import-keep": "Keep",
"interrupted-import-counts": "__swimlanes__ lôn nofio, __lists__ rhestr, __cards__ cerdyn, __checklists__ rhestr wirio, __comments__ sylw, __attachments__ ymlyniad",
"interrupted-import-no-board": "Ni chrëwyd bwrdd",
"interrupted-import-keep": "Cadw",
"interrupted-import-discard": "Taflwch",
"interrupted-import-keep-confirm": "Keep this partial board as it is? Nothing is removed, and the import is no longer listed here.",
"interrupted-import-discard-confirm": "Discard this import? The board it created and everything on it are removed permanently.",
"interrupted-import-keep-confirm": "Cadw'r bwrdd rhannol hwn fel y mae? Ni thynnir dim, ac ni fydd y mewnforio'n cael ei restru yma mwyach.",
"interrupted-import-discard-confirm": "Taflu'r mewnforio hwn? Caiff y bwrdd a greodd a phopeth arno eu tynnu'n barhaol.",
"interrupted-import-refresh": "Adnewyddu",
"interrupted-import-empty": "No interrupted board imports are waiting for review.",
"interrupted-import-truncated": "Only the oldest 50 are shown. Keep or discard some and refresh to see more.",
"interrupted-import-unavailable": "Could not load the interrupted board imports. Refresh to try again.",
"interrupted-import-missing": "This import is no longer recorded.",
"interrupted-import-not-interrupted": "This import is not waiting for a decision any more.",
"interrupted-import-foreign-board": "The board with this id was not created by this import, so it was not touched.",
"interrupted-import-empty": "Nid oes unrhyw fewnforion byrddau a dorrwyd ar eu traws yn aros am adolygiad.",
"interrupted-import-truncated": "Dim ond yr 50 hynaf a ddangosir. Cadwch neu taflwch rai ac adnewyddwch i weld rhagor.",
"interrupted-import-unavailable": "Nid oedd modd llwytho'r mewnforion byrddau a dorrwyd ar eu traws. Adnewyddwch i geisio eto.",
"interrupted-import-missing": "Nid yw'r mewnforio hwn wedi'i gofnodi mwyach.",
"interrupted-import-not-interrupted": "Nid yw'r mewnforio hwn yn aros am benderfyniad mwyach.",
"interrupted-import-foreign-board": "Ni chrëwyd y bwrdd â'r id hwn gan y mewnforio hwn, felly ni chyffyrddwyd ag ef.",
"interrupted-import-scrum-busy": "Mae ei gam Scrum yn dal i gael ei ysgrifennu neu ei adfer. Rhowch gynnig arall arni mewn ychydig funudau.",
"interrupted-import-failed": "Methu cwblhau'r weithred hon. Adnewyddwch a rhowch gynnig arall arni.",
"saml-login-not-started": "Ni ddechreuwyd y mewngofnodi SAML hwn yn y tab porwr hwn. Mewngofnodwch eto.",
@@ -4446,7 +4461,7 @@
"header-login": "Mewngofnodi drwy benawdau HTTP",
"login-setting-clear-secret": "Dileu’r gwerth sydd wedi’i gadw yn y panel gweinyddol",
"login-setting-after-restart": "Daw i rym ar ôl ailgychwyn WeKan",
"login-setting-env-only": "Only the server environment sets these. They are shown here read-only.",
"login-setting-env-only": "Dim ond amgylchedd y gweinydd sy'n gosod y rhain. Fe'u dangosir yma fel darllen yn unig.",
"email-to-card": "Ebost i gerdyn",
"email-to-card-description": "Mae ebost a anfonir i gyfeiriad eich bwrdd yn troi'n gerdyn ar y bwrdd hwnnw.",
"email-to-card-admin-enabled": "Derbyn ebost i gardiau",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Forbindelse kunne ikke oprettes",
"cloud-settings-saved": "Lagerindstillingerne blev gemt",
"cloud-settings-save-failed": "Kunne ikke gemme lagerindstillinger",
"cloud": "Sky",
"cloud-settings-desc": "Med WeKan i Weddy betjener Cloud Panel mange WeKan-domæner fra én server, hver med sine egne data. På Cloud Panel-domænet administrerer SuperAdmin domænerne og CloudFlare.",
"cloud-panel-domain": "Cloud Panel-domæne",
"cloud-superadmin-username": "SuperAdmin-brugernavn",
"cloud-saved": "Gemt.",
"cloud-panel-not-allowed": "Cloud Panel er kun for SuperAdmin, på Cloud Panel-domænet.",
"cloud-customer-name": "Kundens navn",
"cloud-customer-email": "Kundens e-mailadresse",
"cloud-billing-email": "E-mailadresse til fakturering",
"cloud-start-date": "Startdato",
"cloud-end-date": "Slutdato",
"cloudflare-api-key": "CloudFlare API-nøgle",
"cloudflare-api-key-desc": "Med en CloudFlare API-nøgle får et domæne, hvis zone er i din CloudFlare-konto, en proxied DNS-post og et CloudFlare Origin-certifikat. Andre domæner får et Let's Encrypt-certifikat. Nøglen gemmes på serveren og vises aldrig igen.",
"cloudflare-api-key-set": "En CloudFlare API-nøgle er gemt.",
"cloudflare-api-key-not-set": "Ingen CloudFlare API-nøgle er gemt: alle domæner får et Let's Encrypt-certifikat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Flyt vedhæftninger til Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Verbindung fehlgeschlagen",
"cloud-settings-saved": "Speichereinstellungen gespeichert",
"cloud-settings-save-failed": "Speichern der Speichereinstellungen fehlgeschlagen",
"cloud": "Wolke",
"cloud-settings-desc": "Mit WeKan in Weddy bedient das Cloud Panel viele WeKan-Domains von einem Server aus, jede mit ihren eigenen Daten. Auf der Cloud Panel-Domain verwaltet der SuperAdmin die Domains und CloudFlare.",
"cloud-panel-domain": "Cloud Panel-Domain",
"cloud-superadmin-username": "SuperAdmin-Benutzername",
"cloud-saved": "Gespeichert.",
"cloud-panel-not-allowed": "Das Cloud Panel ist nur für den SuperAdmin, auf der Cloud Panel-Domain.",
"cloud-customer-name": "Name des Kunden",
"cloud-customer-email": "E-Mail-Adresse des Kunden",
"cloud-billing-email": "E-Mail-Adresse für die Rechnung",
"cloud-start-date": "Startdatum",
"cloud-end-date": "Enddatum",
"cloudflare-api-key": "CloudFlare API-Schlüssel",
"cloudflare-api-key-desc": "Mit einem CloudFlare API-Schlüssel erhält eine Domain, deren Zone in Ihrem CloudFlare-Konto liegt, einen über den Proxy geleiteten DNS-Eintrag und ein CloudFlare Origin-Zertifikat. Andere Domains erhalten ein Let's Encrypt-Zertifikat. Der Schlüssel wird auf dem Server gespeichert und nie wieder angezeigt.",
"cloudflare-api-key-set": "Ein CloudFlare API-Schlüssel ist gespeichert.",
"cloudflare-api-key-not-set": "Kein CloudFlare API-Schlüssel ist gespeichert: Jede Domain erhält ein Let's Encrypt-Zertifikat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Anhang nach Azure Blob Storage verschieben",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Verbindung fehlgeschlagen",
"cloud-settings-saved": "Speichereinstellungen gespeichert",
"cloud-settings-save-failed": "Speichern der Speichereinstellungen fehlgeschlagen",
"cloud": "Wolke",
"cloud-settings-desc": "Mit WeKan in Weddy bedient das Cloud Panel viele WeKan-Domains von einem Server aus, jede mit ihren eigenen Daten. Auf der Cloud Panel-Domain verwaltet der SuperAdmin die Domains und CloudFlare.",
"cloud-panel-domain": "Cloud Panel-Domain",
"cloud-superadmin-username": "SuperAdmin-Benutzername",
"cloud-saved": "Gespeichert.",
"cloud-panel-not-allowed": "Das Cloud Panel ist nur für den SuperAdmin, auf der Cloud Panel-Domain.",
"cloud-customer-name": "Name des Kunden",
"cloud-customer-email": "E-Mail-Adresse des Kunden",
"cloud-billing-email": "E-Mail-Adresse für die Rechnung",
"cloud-start-date": "Startdatum",
"cloud-end-date": "Enddatum",
"cloudflare-api-key": "CloudFlare API-Schlüssel",
"cloudflare-api-key-desc": "Mit einem CloudFlare API-Schlüssel erhält eine Domain, deren Zone in Ihrem CloudFlare-Konto liegt, einen über den Proxy geleiteten DNS-Eintrag und ein CloudFlare Origin-Zertifikat. Andere Domains erhalten ein Let's Encrypt-Zertifikat. Der Schlüssel wird auf dem Server gespeichert und nie wieder angezeigt.",
"cloudflare-api-key-set": "Ein CloudFlare API-Schlüssel ist gespeichert.",
"cloudflare-api-key-not-set": "Kein CloudFlare API-Schlüssel ist gespeichert: Jede Domain erhält ein Let's Encrypt-Zertifikat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Anhang nach Azure Blob Storage verschieben",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Verbindung fehlgeschlagen",
"cloud-settings-saved": "Speichereinstellungen gespeichert",
"cloud-settings-save-failed": "Speichern der Speichereinstellungen fehlgeschlagen",
"cloud": "Wolke",
"cloud-settings-desc": "Mit WeKan in Weddy bedient das Cloud Panel viele WeKan-Domains von einem Server aus, jede mit ihren eigenen Daten. Auf der Cloud Panel-Domain verwaltet der SuperAdmin die Domains und CloudFlare.",
"cloud-panel-domain": "Cloud Panel-Domain",
"cloud-superadmin-username": "SuperAdmin-Benutzername",
"cloud-saved": "Gespeichert.",
"cloud-panel-not-allowed": "Das Cloud Panel ist nur für den SuperAdmin, auf der Cloud Panel-Domain.",
"cloud-customer-name": "Name des Kunden",
"cloud-customer-email": "E-Mail-Adresse des Kunden",
"cloud-billing-email": "E-Mail-Adresse für die Rechnung",
"cloud-start-date": "Startdatum",
"cloud-end-date": "Enddatum",
"cloudflare-api-key": "CloudFlare API-Schlüssel",
"cloudflare-api-key-desc": "Mit einem CloudFlare API-Schlüssel erhält eine Domain, deren Zone in Ihrem CloudFlare-Konto liegt, einen über den Proxy geleiteten DNS-Eintrag und ein CloudFlare Origin-Zertifikat. Andere Domains erhalten ein Let's Encrypt-Zertifikat. Der Schlüssel wird auf dem Server gespeichert und nie wieder angezeigt.",
"cloudflare-api-key-set": "Ein CloudFlare API-Schlüssel ist gespeichert.",
"cloudflare-api-key-not-set": "Kein CloudFlare API-Schlüssel ist gespeichert: Jede Domain erhält ein Let's Encrypt-Zertifikat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Anhang nach Azure Blob Storage verschieben",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Verbindung fehlgeschlagen",
"cloud-settings-saved": "Speichereinstellungen gespeichert",
"cloud-settings-save-failed": "Speichern der Speichereinstellungen fehlgeschlagen",
"cloud": "Wolke",
"cloud-settings-desc": "Mit WeKan in Weddy bedient das Cloud Panel viele WeKan-Domains von einem Server aus, jede mit ihren eigenen Daten. Auf der Cloud Panel-Domain verwaltet der SuperAdmin die Domains und CloudFlare.",
"cloud-panel-domain": "Cloud Panel-Domain",
"cloud-superadmin-username": "SuperAdmin-Benutzername",
"cloud-saved": "Gespeichert.",
"cloud-panel-not-allowed": "Das Cloud Panel ist nur für den SuperAdmin, auf der Cloud Panel-Domain.",
"cloud-customer-name": "Name des Kunden",
"cloud-customer-email": "E-Mail-Adresse des Kunden",
"cloud-billing-email": "E-Mail-Adresse für die Rechnung",
"cloud-start-date": "Startdatum",
"cloud-end-date": "Enddatum",
"cloudflare-api-key": "CloudFlare API-Schlüssel",
"cloudflare-api-key-desc": "Mit einem CloudFlare API-Schlüssel erhält eine Domain, deren Zone in Ihrem CloudFlare-Konto liegt, einen über den Proxy geleiteten DNS-Eintrag und ein CloudFlare Origin-Zertifikat. Andere Domains erhalten ein Let's Encrypt-Zertifikat. Der Schlüssel wird auf dem Server gespeichert und nie wieder angezeigt.",
"cloudflare-api-key-set": "Ein CloudFlare API-Schlüssel ist gespeichert.",
"cloudflare-api-key-not-set": "Kein CloudFlare API-Schlüssel ist gespeichert: Jede Domain erhält ein Let's Encrypt-Zertifikat.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Anhang nach Azure Blob Storage verschieben",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "མཐུད་སྦྱོར་མ་ཐུབ།",
"cloud-settings-saved": "ཉར་མཛོད་སྒྲིག་འགོད་ཉར་ཚགས་བྱས།",
"cloud-settings-save-failed": "ཉར་མཛོད་སྒྲིག་འགོད་ཉར་ཚགས་མ་ཐུབ།",
"cloud": "སྤྲིན་པ།",
"cloud-settings-desc": "Weddy ནང་གི་ WeKan དང་གཅིག་ཁར་ Cloud Panel གིས་ སར་བར་གཅིག་ལས་ WeKan ཌོ་མེན་མང་པོ་ལུ་ ཞབས་ཏོག་འབདཝ་ཨིན་ ཌོ་མེན་རེ་རེ་ལུ་ རང་སོའི་གནད་སྡུད་ཡོདཔ་ཨིན། Cloud Panel ཌོ་མེན་ནང་ SuperAdmin གིས་ ཌོ་མེན་ཚུ་དང་ CloudFlare འཛིན་སྐྱོང་འཐབ་ཨིན།",
"cloud-panel-domain": "Cloud Panel ཌོ་མེན།",
"cloud-superadmin-username": "SuperAdmin ལག་ལེན་པའི་མིང་།",
"cloud-saved": "སྲུང་ཡོད།",
"cloud-panel-not-allowed": "Cloud Panel འདི་ Cloud Panel ཌོ་མེན་ནང་ SuperAdmin གི་དོན་ལུ་རྐྱངམ་ཅིག་ཨིན།",
"cloud-customer-name": "ཚོང་མགྲོན་གྱི་མིང་།",
"cloud-customer-email": "ཚོང་མགྲོན་གྱི་གློག་འཕྲིན་ཁ་བྱང་།",
"cloud-billing-email": "དངུལ་ཐོ་གི་གློག་འཕྲིན་ཁ་བྱང་།",
"cloud-start-date": "འགོ་བཙུགས་ཚེས་གྲངས།",
"cloud-end-date": "མཇུག་བསྡུའི་ཚེས་གྲངས།",
"cloudflare-api-key": "CloudFlare API ལྡེ་མིག།",
"cloudflare-api-key-desc": "CloudFlare API ལྡེ་མིག་དང་གཅིག་ཁར་ ཁྱོད་ཀྱི་ CloudFlare རྩིས་ཐོ་ནང་ ས་ཁོངས་ཡོད་པའི་ཌོ་མེན་གྱིས་ ཚབ་ཐོག་ DNS ཐོ་བཀོད་དང་ CloudFlare Origin ལག་ཁྱེར་ཐོབ་ཨིན། ཌོ་མེན་གཞན་ཚུ་གིས་ Let's Encrypt ལག་ཁྱེར་ཐོབ་ཨིན། ལྡེ་མིག་འདི་ སར་བར་ནང་སྲུང་བཞག་འབདཝ་ཨིནམ་དང་ ལོག་སྟེ་ནམ་ཡང་མི་སྟོན།",
"cloudflare-api-key-set": "CloudFlare API ལྡེ་མིག་སྲུང་བཞག་ཡོད།",
"cloudflare-api-key-not-set": "CloudFlare API ལྡེ་མིག་སྲུང་བཞག་མེད། ཌོ་མེན་ག་ར་གིས་ Let's Encrypt ལག་ཁྱེར་ཐོབ་ཨིན།",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "ཟུར་སྦྱར་ Azure Blob Storage ལ་སྤོ།",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Kadodo medze edzi o",
"cloud-settings-saved": "Wodzra nudzraɖoƒe ƒe ɖoɖowo ɖo",
"cloud-settings-save-failed": "Nudzraɖoƒe ƒe ɖoɖowo dzraɖoɖo medze edzi o",
"cloud": "Lilikpo",
"cloud-settings-desc": "Le WeKan si le Weddy me la, Cloud Panel naa WeKan domain geɖewo tso server ɖeka dzi, eye wo dometɔ ɖesiaɖe kpɔ eƒe nyatakakawo. Le Cloud Panel ƒe domain dzi la, SuperAdmin kpɔa domainwo kple CloudFlare dzi.",
"cloud-panel-domain": "Cloud Panel ƒe domain",
"cloud-superadmin-username": "SuperAdmin ƒe zãla ŋkɔ",
"cloud-saved": "Wodzrae ɖo.",
"cloud-panel-not-allowed": "Cloud Panel la le SuperAdmin ko na, le Cloud Panel ƒe domain dzi.",
"cloud-customer-name": "Asisi ƒe ŋkɔ",
"cloud-customer-email": "Asisi ƒe e-mail adrɛs",
"cloud-billing-email": "Fexexe ƒe e-mail adrɛs",
"cloud-start-date": "Gɔmedzeŋkeke",
"cloud-end-date": "Nuwuŋkeke",
"cloudflare-api-key": "CloudFlare API safui",
"cloudflare-api-key-desc": "Ne CloudFlare API safui le asiwò la, domain si ƒe zone le wò CloudFlare akɔnta me la xɔa DNS ŋkɔŋlɔ si to proxy dzi kple CloudFlare Origin kpeɖodzigbalẽ. Domain bubuwo xɔa Let's Encrypt kpeɖodzigbalẽ. Wodzraa safui la ɖo ɖe server dzi eye womegaɖenɛ fiana o.",
"cloudflare-api-key-set": "Wodzra CloudFlare API safui ɖo.",
"cloudflare-api-key-not-set": "Womedzra CloudFlare API safui aɖeke ɖo o: domain ɖesiaɖe xɔa Let's Encrypt kpeɖodzigbalẽ.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Tsɔ nusi wokpe ɖe eŋu yi Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Η σύνδεση απέτυχε",
"cloud-settings-saved": "Οι ρυθμίσεις αποθήκευσης αποθηκεύτηκαν",
"cloud-settings-save-failed": "Αποτυχία αποθήκευσης ρυθμίσεων αποθήκευσης",
"cloud": "Νέφος",
"cloud-settings-desc": "Με το WeKan στο Weddy, το Cloud Panel εξυπηρετεί πολλούς τομείς WeKan από έναν διακομιστή, καθένας με τα δικά του δεδομένα. Στον τομέα του Cloud Panel, ο SuperAdmin διαχειρίζεται τους τομείς και το CloudFlare.",
"cloud-panel-domain": "Τομέας Cloud Panel",
"cloud-superadmin-username": "Όνομα χρήστη SuperAdmin",
"cloud-saved": "Αποθηκεύτηκε.",
"cloud-panel-not-allowed": "Το Cloud Panel είναι μόνο για τον SuperAdmin, στον τομέα του Cloud Panel.",
"cloud-customer-name": "Όνομα πελάτη",
"cloud-customer-email": "Διεύθυνση email πελάτη",
"cloud-billing-email": "Διεύθυνση email χρέωσης",
"cloud-start-date": "Ημερομηνία έναρξης",
"cloud-end-date": "Ημερομηνία λήξης",
"cloudflare-api-key": "Κλειδί API CloudFlare",
"cloudflare-api-key-desc": "Με ένα κλειδί API CloudFlare, ένας τομέας του οποίου η ζώνη βρίσκεται στον λογαριασμό σας CloudFlare λαμβάνει μια εγγραφή DNS μέσω διακομιστή μεσολάβησης και ένα πιστοποιητικό CloudFlare Origin. Οι άλλοι τομείς λαμβάνουν πιστοποιητικό Let's Encrypt. Το κλειδί αποθηκεύεται στον διακομιστή και δεν εμφανίζεται ποτέ ξανά.",
"cloudflare-api-key-set": "Ένα κλειδί API CloudFlare είναι αποθηκευμένο.",
"cloudflare-api-key-not-set": "Δεν είναι αποθηκευμένο κλειδί API CloudFlare: κάθε τομέας λαμβάνει πιστοποιητικό Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Μετακίνηση συνημμένου στο Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Η σύνδεση απέτυχε",
"cloud-settings-saved": "Οι ρυθμίσεις αποθήκευσης αποθηκεύτηκαν",
"cloud-settings-save-failed": "Αποτυχία αποθήκευσης ρυθμίσεων αποθήκευσης",
"cloud": "Νέφος",
"cloud-settings-desc": "Με το WeKan στο Weddy, το Cloud Panel εξυπηρετεί πολλούς τομείς WeKan από έναν διακομιστή, καθένας με τα δικά του δεδομένα. Στον τομέα του Cloud Panel, ο SuperAdmin διαχειρίζεται τους τομείς και το CloudFlare.",
"cloud-panel-domain": "Τομέας Cloud Panel",
"cloud-superadmin-username": "Όνομα χρήστη SuperAdmin",
"cloud-saved": "Αποθηκεύτηκε.",
"cloud-panel-not-allowed": "Το Cloud Panel είναι μόνο για τον SuperAdmin, στον τομέα του Cloud Panel.",
"cloud-customer-name": "Όνομα πελάτη",
"cloud-customer-email": "Διεύθυνση email πελάτη",
"cloud-billing-email": "Διεύθυνση email χρέωσης",
"cloud-start-date": "Ημερομηνία έναρξης",
"cloud-end-date": "Ημερομηνία λήξης",
"cloudflare-api-key": "Κλειδί API CloudFlare",
"cloudflare-api-key-desc": "Με ένα κλειδί API CloudFlare, ένας τομέας του οποίου η ζώνη βρίσκεται στον λογαριασμό σας CloudFlare λαμβάνει μια εγγραφή DNS μέσω διακομιστή μεσολάβησης και ένα πιστοποιητικό CloudFlare Origin. Οι άλλοι τομείς λαμβάνουν πιστοποιητικό Let's Encrypt. Το κλειδί αποθηκεύεται στον διακομιστή και δεν εμφανίζεται ποτέ ξανά.",
"cloudflare-api-key-set": "Ένα κλειδί API CloudFlare είναι αποθηκευμένο.",
"cloudflare-api-key-not-set": "Δεν είναι αποθηκευμένο κλειδί API CloudFlare: κάθε τομέας λαμβάνει πιστοποιητικό Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Μετακίνηση συνημμένου στο Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Connection failed",
"cloud-settings-saved": "Storage settings saved",
"cloud-settings-save-failed": "Failed to save storage settings",
"cloud": "Cloud",
"cloud-settings-desc": "With WeKan in Weddy, the Cloud Panel serves many WeKan domains from one server, each with its own data. At the Cloud Panel Domain, the SuperAdmin manages the domains and CloudFlare.",
"cloud-panel-domain": "Cloud Panel Domain",
"cloud-superadmin-username": "SuperAdmin Username",
"cloud-saved": "Saved.",
"cloud-panel-not-allowed": "The Cloud Panel is only for the SuperAdmin, at the Cloud Panel Domain.",
"cloud-customer-name": "Customer name",
"cloud-customer-email": "Customer email address",
"cloud-billing-email": "Billing email address",
"cloud-start-date": "Start Date",
"cloud-end-date": "End Date",
"cloudflare-api-key": "CloudFlare API key",
"cloudflare-api-key-desc": "With a CloudFlare API key, a domain whose zone is in your CloudFlare account gets a proxied DNS record and a CloudFlare Origin certificate. Other domains get a Let's Encrypt certificate. The key is saved on the server and is never shown again.",
"cloudflare-api-key-set": "A CloudFlare API key is saved.",
"cloudflare-api-key-not-set": "No CloudFlare API key is saved: every domain gets a Let's Encrypt certificate.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Move attachment to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Konekto malsukcesis",
"cloud-settings-saved": "Stokadaj agordoj konservitaj",
"cloud-settings-save-failed": "Malsukcesis konservi stokadajn agordojn",
"cloud": "Nubo",
"cloud-settings-desc": "Kun WeKan en Weddy, la Cloud Panel servas multajn WeKan-domajnojn el unu servilo, ĉiun kun siaj propraj datumoj. Ĉe la Cloud Panel-domajno, la SuperAdmin administras la domajnojn kaj CloudFlare.",
"cloud-panel-domain": "Cloud Panel-domajno",
"cloud-superadmin-username": "SuperAdmin-uzantnomo",
"cloud-saved": "Konservite.",
"cloud-panel-not-allowed": "La Cloud Panel estas nur por la SuperAdmin, ĉe la Cloud Panel-domajno.",
"cloud-customer-name": "Nomo de kliento",
"cloud-customer-email": "Retpoŝtadreso de kliento",
"cloud-billing-email": "Retpoŝtadreso por fakturado",
"cloud-start-date": "Komenca dato",
"cloud-end-date": "Fina dato",
"cloudflare-api-key": "CloudFlare API-ŝlosilo",
"cloudflare-api-key-desc": "Kun CloudFlare API-ŝlosilo, domajno kies zono estas en via CloudFlare-konto ricevas prokuritan DNS-registron kaj CloudFlare Origin-atestilon. Aliaj domajnoj ricevas Let's Encrypt-atestilon. La ŝlosilo estas konservita en la servilo kaj neniam plu montriĝas.",
"cloudflare-api-key-set": "CloudFlare API-ŝlosilo estas konservita.",
"cloudflare-api-key-not-set": "Neniu CloudFlare API-ŝlosilo estas konservita: ĉiu domajno ricevas Let's Encrypt-atestilon.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Movi aldonaĵon al Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Conexión fallida",
"cloud-settings-saved": "Configuración de almacenamiento guardada",
"cloud-settings-save-failed": "Error al guardar la configuración de almacenamiento",
"cloud": "Nube",
"cloud-settings-desc": "Con WeKan en Weddy, el Cloud Panel sirve muchos dominios de WeKan desde un solo servidor, cada uno con sus propios datos. En el dominio del Cloud Panel, el SuperAdmin administra los dominios y CloudFlare.",
"cloud-panel-domain": "Dominio del Cloud Panel",
"cloud-superadmin-username": "Nombre de usuario del SuperAdmin",
"cloud-saved": "Guardado.",
"cloud-panel-not-allowed": "El Cloud Panel es solo para el SuperAdmin, en el dominio del Cloud Panel.",
"cloud-customer-name": "Nombre del cliente",
"cloud-customer-email": "Dirección de correo electrónico del cliente",
"cloud-billing-email": "Dirección de correo electrónico de facturación",
"cloud-start-date": "Fecha de inicio",
"cloud-end-date": "Fecha de finalización",
"cloudflare-api-key": "Clave de API de CloudFlare",
"cloudflare-api-key-desc": "Con una clave de API de CloudFlare, un dominio cuya zona está en su cuenta de CloudFlare obtiene un registro DNS con proxy y un certificado CloudFlare Origin. Los demás dominios obtienen un certificado de Let's Encrypt. La clave se guarda en el servidor y nunca se vuelve a mostrar.",
"cloudflare-api-key-set": "Hay una clave de API de CloudFlare guardada.",
"cloudflare-api-key-not-set": "No hay ninguna clave de API de CloudFlare guardada: cada dominio obtiene un certificado de Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Mover adjunto a Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Ühendus ebaõnnestus",
"cloud-settings-saved": "Salvestise seaded salvestatud",
"cloud-settings-save-failed": "Salvestise seadete salvestamine ebaõnnestus",
"cloud": "Pilv",
"cloud-settings-desc": "WeKaniga Weddys teenindab Cloud Panel ühest serverist paljusid WeKani domeene, igaühte oma andmetega. Cloud Paneli domeenil haldab SuperAdmin domeene ja CloudFlare'i.",
"cloud-panel-domain": "Cloud Paneli domeen",
"cloud-superadmin-username": "SuperAdmini kasutajanimi",
"cloud-saved": "Salvestatud.",
"cloud-panel-not-allowed": "Cloud Panel on ainult SuperAdminile, Cloud Paneli domeenil.",
"cloud-customer-name": "Kliendi nimi",
"cloud-customer-email": "Kliendi e-posti aadress",
"cloud-billing-email": "Arvelduse e-posti aadress",
"cloud-start-date": "Alguskuupäev",
"cloud-end-date": "Lõppkuupäev",
"cloudflare-api-key": "CloudFlare API võti",
"cloudflare-api-key-desc": "CloudFlare API võtmega saab domeen, mille tsoon on sinu CloudFlare'i kontol, puhverserveri kaudu suunatud DNS-kirje ja CloudFlare Origin sertifikaadi. Teised domeenid saavad Let's Encrypt sertifikaadi. Võti salvestatakse serverisse ja seda ei näidata enam kunagi.",
"cloudflare-api-key-set": "CloudFlare API võti on salvestatud.",
"cloudflare-api-key-not-set": "CloudFlare API võtit pole salvestatud: iga domeen saab Let's Encrypt sertifikaadi.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Liiguta manus Azure Blob Storage'i",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Konexioak huts egin du",
"cloud-settings-saved": "Biltegi-ezarpenak gordeta",
"cloud-settings-save-failed": "Ezin izan dira biltegi-ezarpenak gorde",
"cloud": "Hodeia",
"cloud-settings-desc": "Weddy-ko WeKan-ekin, Cloud Panel-ek WeKan domeinu asko zerbitzatzen ditu zerbitzari bakar batetik, bakoitza bere datuekin. Cloud Panel domeinuan, SuperAdmin-ek domeinuak eta CloudFlare kudeatzen ditu.",
"cloud-panel-domain": "Cloud Panel domeinua",
"cloud-superadmin-username": "SuperAdmin erabiltzaile-izena",
"cloud-saved": "Gordeta.",
"cloud-panel-not-allowed": "Cloud Panel SuperAdmin-entzat soilik da, Cloud Panel domeinuan.",
"cloud-customer-name": "Bezeroaren izena",
"cloud-customer-email": "Bezeroaren helbide elektronikoa",
"cloud-billing-email": "Fakturazioko helbide elektronikoa",
"cloud-start-date": "Hasiera-data",
"cloud-end-date": "Amaiera-data",
"cloudflare-api-key": "CloudFlare API gakoa",
"cloudflare-api-key-desc": "CloudFlare API gako batekin, zure CloudFlare kontuan zona duen domeinu batek proxy bidezko DNS erregistro bat eta CloudFlare Origin ziurtagiri bat jasotzen ditu. Beste domeinuek Let's Encrypt ziurtagiria jasotzen dute. Gakoa zerbitzarian gordetzen da eta ez da inoiz berriro erakusten.",
"cloudflare-api-key-set": "CloudFlare API gako bat gordeta dago.",
"cloudflare-api-key-not-set": "Ez dago CloudFlare API gakorik gordeta: domeinu guztiek Let's Encrypt ziurtagiria jasotzen dute.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Eraman eranskina Azure Blob Storage-ra",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "اتصال ناموفق بود",
"cloud-settings-saved": "تنظیمات حافظه ذخیره شد",
"cloud-settings-save-failed": "ذخیره تنظیمات حافظه ناموفق بود",
"cloud": "ابر",
"cloud-settings-desc": "با WeKan در Weddy، Cloud Panel دامنه‌های بسیاری از WeKan را از یک سرور ارائه می‌دهد که هر کدام داده‌های خود را دارند. در دامنهٔ Cloud Panel، SuperAdmin دامنه‌ها و CloudFlare را مدیریت می‌کند.",
"cloud-panel-domain": "دامنهٔ Cloud Panel",
"cloud-superadmin-username": "نام کاربری SuperAdmin",
"cloud-saved": "ذخیره شد.",
"cloud-panel-not-allowed": "Cloud Panel فقط برای SuperAdmin است، در دامنهٔ Cloud Panel.",
"cloud-customer-name": "نام مشتری",
"cloud-customer-email": "نشانی پست الکترونیک مشتری",
"cloud-billing-email": "نشانی پست الکترونیک صورتحساب",
"cloud-start-date": "تاریخ شروع",
"cloud-end-date": "تاریخ پایان",
"cloudflare-api-key": "کلید CloudFlare API",
"cloudflare-api-key-desc": "با یک کلید CloudFlare API، دامنه‌ای که منطقهٔ آن در حساب CloudFlare شماست یک رکورد DNS پراکسی‌شده و یک گواهی CloudFlare Origin دریافت می‌کند. دامنه‌های دیگر گواهی Let's Encrypt دریافت می‌کنند. کلید روی سرور ذخیره می‌شود و دیگر هرگز نمایش داده نمی‌شود.",
"cloudflare-api-key-set": "یک کلید CloudFlare API ذخیره شده است.",
"cloudflare-api-key-not-set": "هیچ کلید CloudFlare API ذخیره نشده است: هر دامنه یک گواهی Let's Encrypt دریافت می‌کند.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "انتقال ضمیمه به Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "اتصال ناموفق بود",
"cloud-settings-saved": "تنظیمات حافظه ذخیره شد",
"cloud-settings-save-failed": "ذخیره تنظیمات حافظه ناموفق بود",
"cloud": "ابر",
"cloud-settings-desc": "با WeKan در Weddy، Cloud Panel دامنه‌های بسیاری از WeKan را از یک سرور ارائه می‌دهد که هر کدام داده‌های خود را دارند. در دامنهٔ Cloud Panel، SuperAdmin دامنه‌ها و CloudFlare را مدیریت می‌کند.",
"cloud-panel-domain": "دامنهٔ Cloud Panel",
"cloud-superadmin-username": "نام کاربری SuperAdmin",
"cloud-saved": "ذخیره شد.",
"cloud-panel-not-allowed": "Cloud Panel فقط برای SuperAdmin است، در دامنهٔ Cloud Panel.",
"cloud-customer-name": "نام مشتری",
"cloud-customer-email": "نشانی پست الکترونیک مشتری",
"cloud-billing-email": "نشانی پست الکترونیک صورتحساب",
"cloud-start-date": "تاریخ شروع",
"cloud-end-date": "تاریخ پایان",
"cloudflare-api-key": "کلید CloudFlare API",
"cloudflare-api-key-desc": "با یک کلید CloudFlare API، دامنه‌ای که منطقهٔ آن در حساب CloudFlare شماست یک رکورد DNS پراکسی‌شده و یک گواهی CloudFlare Origin دریافت می‌کند. دامنه‌های دیگر گواهی Let's Encrypt دریافت می‌کنند. کلید روی سرور ذخیره می‌شود و دیگر هرگز نمایش داده نمی‌شود.",
"cloudflare-api-key-set": "یک کلید CloudFlare API ذخیره شده است.",
"cloudflare-api-key-not-set": "هیچ کلید CloudFlare API ذخیره نشده است: هر دامنه یک گواهی Let's Encrypt دریافت می‌کند.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "انتقال ضمیمه به Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Jokkondiral woorii",
"cloud-settings-saved": "Teelte mooftorde mooftaama",
"cloud-settings-save-failed": "Mooftugol teelte mooftorde woorii",
"cloud": "Duulere",
"cloud-settings-desc": "E WeKan nder Weddy, Cloud Panel ina golloo domain WeKan keewɗi gila e sarwor gooto, kala gooto e keɓe mum. E domain Cloud Panel, SuperAdmin ina toppitoo domain-ji ɗii e CloudFlare.",
"cloud-panel-domain": "Domain Cloud Panel",
"cloud-superadmin-username": "Innde kuutorɗo SuperAdmin",
"cloud-saved": "Danndaama.",
"cloud-panel-not-allowed": "Cloud Panel ko SuperAdmin tan, e domain Cloud Panel.",
"cloud-customer-name": "Innde kliyaan",
"cloud-customer-email": "Ñiiɓirde iimeel kliyaan",
"cloud-billing-email": "Ñiiɓirde iimeel njobdi",
"cloud-start-date": "Ñalnde fuɗɗoode",
"cloud-end-date": "Ñalnde gasnde",
"cloudflare-api-key": "Coktirgal CloudFlare API",
"cloudflare-api-key-desc": "E coktirgal CloudFlare API, domain mo zone mum woni e konte CloudFlare maa heɓat winndannde DNS proxy e seedantaagal CloudFlare Origin. Domain-ji goo heɓat seedantaagal Let's Encrypt. Coktirgal ngal ina danndaa e sarwor ngal, ngal hollirtaake kadi abada.",
"cloudflare-api-key-set": "Coktirgal CloudFlare API ina danndaa.",
"cloudflare-api-key-not-set": "Alaa coktirgal CloudFlare API danndaangal: kala domain heɓat seedantaagal Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Dirtin ceŋaagal to Azure Blob Storage",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Yhteys epäonnistui",
"cloud-settings-saved": "Tallennusasetukset tallennettu",
"cloud-settings-save-failed": "Tallennusasetusten tallentaminen epäonnistui",
"cloud": "Pilvi",
"cloud-settings-desc": "Kun WeKan toimii Weddyssä, Cloud Panel palvelee monta WeKan-verkkotunnusta yhdeltä palvelimelta, kukin omilla tiedoillaan. Cloud Panel -verkkotunnuksessa SuperAdmin hallitsee verkkotunnuksia ja CloudFlarea.",
"cloud-panel-domain": "Cloud Panel -verkkotunnus",
"cloud-superadmin-username": "SuperAdmin-käyttäjätunnus",
"cloud-saved": "Tallennettu.",
"cloud-panel-not-allowed": "Cloud Panel on vain SuperAdminille, Cloud Panel -verkkotunnuksessa.",
"cloud-customer-name": "Asiakkaan nimi",
"cloud-customer-email": "Asiakkaan sähköpostiosoite",
"cloud-billing-email": "Laskutuksen sähköpostiosoite",
"cloud-start-date": "Alkupäivä",
"cloud-end-date": "Loppupäivä",
"cloudflare-api-key": "CloudFlare API -avain",
"cloudflare-api-key-desc": "CloudFlare API -avaimella verkkotunnus, jonka alue on CloudFlare-tililläsi, saa välitetyn DNS-tietueen ja CloudFlare Origin -varmenteen. Muut verkkotunnukset saavat Let's Encrypt -varmenteen. Avain tallennetaan palvelimelle eikä sitä näytetä enää koskaan.",
"cloudflare-api-key-set": "CloudFlare API -avain on tallennettu.",
"cloudflare-api-key-not-set": "CloudFlare API -avainta ei ole tallennettu: jokainen verkkotunnus saa Let's Encrypt -varmenteen.",
"move-storage-azure": "Azure-blobi",
"move-storage-gcs": "Googlen pilvitallennustila",
"attachment-move-storage-azure": "Siirrä liite Azure Blob tallennustilaan",
+15
View File
@@ -2965,6 +2965,21 @@
"cloud-connection-failed": "Sega ni rawa na veisema",
"cloud-settings-saved": "Sa maroroi na ituvatuva ni maroroi",
"cloud-settings-save-failed": "Sega ni rawa ni maroroi na ituvatuva ni maroroi",
"cloud": "Na o",
"cloud-settings-desc": "Ena WeKan e Weddy, na Cloud Panel e veiqaravi ira e levu na domain ni WeKan mai na dua ga na server, ka tu vei ira yadua na nodra itukutuku. Ena domain ni Cloud Panel, na SuperAdmin e veiliutaki ena veidomain kei na CloudFlare.",
"cloud-panel-domain": "Domain ni Cloud Panel",
"cloud-superadmin-username": "Yaca ni dauvakayagataka ni SuperAdmin",
"cloud-saved": "Sa maroroi.",
"cloud-panel-not-allowed": "Na Cloud Panel e baleta ga na SuperAdmin, ena domain ni Cloud Panel.",
"cloud-customer-name": "Yaca ni kasitama",
"cloud-customer-email": "Itikotiko ni imeli ni kasitama",
"cloud-billing-email": "Itikotiko ni imeli ni ivoli",
"cloud-start-date": "Tikinisiga ni tekivu",
"cloud-end-date": "Tikinisiga ni mudu",
"cloudflare-api-key": "Ki ni CloudFlare API",
"cloudflare-api-key-desc": "Ena dua na ki ni CloudFlare API, na domain e tiko na kena zone ena nomu akaude ni CloudFlare ena rawata e dua na itukutuku DNS proxy kei na dua na ivola vakadinadina ni CloudFlare Origin. Na veidomain tale eso era na rawata e dua na ivola vakadinadina ni Let's Encrypt. Na ki e maroroi ena server ka na sega ni vakaraitaki tale.",
"cloudflare-api-key-set": "E maroroi tu e dua na ki ni CloudFlare API.",
"cloudflare-api-key-not-set": "E sega ni maroroi e dua na ki ni CloudFlare API: na domain kece era na rawata e dua na ivola vakadinadina ni Let's Encrypt.",
"move-storage-azure": "Azure Blob",
"move-storage-gcs": "Google Cloud Storage",
"attachment-move-storage-azure": "Tosoya na ka e semati ki na Azure Blob Storage",
Loaded 100 of 436 files, more files were not shown because too many files have changed in this diff. Show more