Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e4c0539af
|
||
|
|
b8fcef2fd4
|
||
|
|
4e2e6adc73 | ||
|
|
091541a960 | ||
|
|
967b8482d3 | ||
|
|
cb43837c32 | ||
|
|
899617bd4d | ||
|
|
2757bfb365 | ||
|
|
1ed942bb8a | ||
|
|
179157ccd2 | ||
|
|
3e36b931a6 | ||
|
|
c9e60847d0 | ||
|
|
4d83dc0c05 | ||
|
|
995965d157 | ||
|
|
15fbb314b0 | ||
|
|
68e0032c6d | ||
|
|
cffca535b5 | ||
|
|
b2d2632e3b | ||
|
|
119379d4b4 |
No files matched your search
+2
-1
@@ -1,3 +1,4 @@
|
||||
* text=auto eol=lf
|
||||
*.{cmd,[cC][mM][dD]} text eol=crlf
|
||||
*.{bat,[bB][aA][tT]} text eol=crlf
|
||||
*.{bat,[bB][aA][tT]} text eol=crlf
|
||||
.gitea/CODEOWNERS linguist-detectable=false
|
||||
@@ -0,0 +1,3 @@
|
||||
# Pull requests request review from the eligible staff team(s).
|
||||
# One approval from either an Admin or Developer satisfies branch protection.
|
||||
* @trueog/Admins @trueog/Developers
|
||||
+168
@@ -26,6 +26,174 @@ Versions:
|
||||
- WeKan 8.00-8.06 had wrong raw database directory setting /var/snap/wekan/common/wekan and some cards were not visible,
|
||||
it was fixed at WeKan 8.07 where database directory is back to /var/snap/wekan/common and all cards are visible.
|
||||
|
||||
# v9.42 2026-06-13 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Greatly improved import from Trello to WeKan](https://github.com/wekan/wekan/commit/899617bd4d83905df05fd8aab1d26630e676fee5):
|
||||
- Attachments now import. Trello attachment URLs require OAuth to download, so
|
||||
WeKan could not fetch them. The Trello import page now has two separate file
|
||||
fields: a **.json** field for a single Trello board, and a
|
||||
**.zip** field for a package produced by the
|
||||
[Trello Card Attachments Downloader](https://github.com/wekan/trello-attachments-downloader).
|
||||
The .zip may contain one *or more* board .json files together with each
|
||||
board's attachments in a board-name subfolder. The .zip is uploaded over HTTP
|
||||
and processed entirely on the server (the attachment bytes never travel over
|
||||
the realtime WebSocket, which previously overflowed the connection and made
|
||||
the page flicker): WeKan detects every board .json, matches each board to its
|
||||
attachment subfolder by name, streams each file straight into the Default
|
||||
file storage, imports all boards, then opens All Boards. The upload is guarded
|
||||
against abuse — it rejects oversized uploads, zip bombs (too many files or too
|
||||
much uncompressed data, per-file size caps) and unsafe entry paths (absolute
|
||||
paths or `..` traversal), and never overwrites existing files (stored under
|
||||
generated ids). The importer also reads attachments from `card.attachments`
|
||||
(newer Trello exports), not only from the action log, and uses the correct
|
||||
Meteor-Files insert API (the previous calls were no-ops on Meteor 3). Single
|
||||
board imports (the .json file or the pasted JSON, after the map-members step)
|
||||
now run through the same server-side HTTP path rather than the realtime
|
||||
`importBoard` method, so a heavy import can no longer drop the WebSocket and
|
||||
get retried in an endless loop (the page flickering with "Invalid frame
|
||||
header" / repeated "logged out" errors). When importing only a single board
|
||||
.json and you have saved Trello API key and token, WeKan uses them on the
|
||||
server to download that board's attachments, background image, member
|
||||
avatars and card stickers from Trello (a .json export often omits stickers;
|
||||
avatars only fill in mapped users who have none — an existing avatar is never
|
||||
overwritten); each download is best-effort and a failure never aborts the
|
||||
import. After a single-board import the new board's data is subscribed and
|
||||
loaded before opening it, so it shows its swimlanes, lists and cards
|
||||
immediately instead of needing a browser page reload (the HTTP import, unlike
|
||||
the old realtime method, does not push the written documents to the client by
|
||||
itself).
|
||||
- Import Trello-only card features: stickers (shown as Font Awesome icons on
|
||||
minicards and the card detail), card cover (color or attachment), card
|
||||
location (name, address, coordinates with an OpenStreetMap link), and the
|
||||
due-date "complete" checkbox shown on the minicard. Trello's two named
|
||||
sticker packs are renamed and highlighted (the icon keeps its normal colour)
|
||||
so they stay distinct: the "taco" pack becomes "mascot" with an underlined
|
||||
icon, and the "pete" pack becomes "computer" with a ring around the icon,
|
||||
e.g. "pete-ghost" imports as "computer ghost" with a Snapchat-ghost icon.
|
||||
Several named stickers that used to share an icon now get their own Font
|
||||
Awesome 4.7 icon (mascot active => heartbeat, pixel => qrcode, proto =>
|
||||
flask, embarrassed => meh-o, clean => bath, computer shipped => truck).
|
||||
- Live Trello API import: paste your Trello API key and token on the Trello
|
||||
import page to list all your Trello workspaces and boards, then import all
|
||||
or selected boards together with their attachments (downloaded
|
||||
server-side). Imported boards are placed under a personal workspace named
|
||||
after their Trello workspace, created by name if it does not exist, under an
|
||||
optional parent workspace you choose. The API client respects Trello's rate
|
||||
limits: it spaces out requests, honours `Retry-After` on HTTP 429, retries
|
||||
transient 5xx and network errors with capped exponential backoff, and
|
||||
reports a clear error on an invalid key/token (401). After a successful API
|
||||
import you are taken to the All Boards page where the new boards appear.
|
||||
- The live API import runs as a background job on the server: you can navigate
|
||||
away and come back to the Trello import page to watch progress, see
|
||||
per-board results, and read the full error log. Errors are shown in a
|
||||
selectable text box with a one-click "Copy to clipboard" button (and you can
|
||||
still select and copy just part of the text) so they are easy to share when
|
||||
fixing issues. If the import stops on a fatal API error (invalid token, or
|
||||
rate limit still failing after retries) you can fix the cause and Resume
|
||||
from where it left off, and a server restart leaves the job paused for
|
||||
resuming rather than lost. You can also Cancel the import, or Cancel and
|
||||
delete the boards already imported, to start the whole process over cleanly.
|
||||
- You can optionally save your Trello API key and token with the Save and
|
||||
Delete buttons on the import page. When saved, they are stored only on the
|
||||
server, never sent back to the browser, and are reused automatically when
|
||||
you list workspaces or import (so you do not have to paste them again); a
|
||||
"saved" indicator is shown, Save can overwrite them with new values, and
|
||||
Delete clears them from the database. If you do not save them, they are kept
|
||||
only in server memory for the running import and re-supplied when you resume.
|
||||
- Larger Trello JSON exports can be selected as a file instead of pasted.
|
||||
- Keep imported usernames for later mapping. Imported members that match an
|
||||
existing WeKan user (by username, or by a previously recorded imported
|
||||
username) are mapped automatically, and the imported username is remembered
|
||||
on that user so future imports map too. Members with no matching WeKan user
|
||||
are no longer lost: their usernames are kept on the board, so an admin can
|
||||
map them to real users later in Admin Panel / People (Imported Usernames),
|
||||
without having to map everyone up front at import time.
|
||||
Thanks to xet7 and Claude.
|
||||
- Board background images can now be stored in WeKan. A new `backgrounds` file
|
||||
storage directory is created alongside `attachments` and `avatars` (using the
|
||||
current default storage backend), and Board menu → Board backgrounds lets a
|
||||
board admin upload background images, set one as the active board background,
|
||||
download, and delete them. Board export now includes the board's background
|
||||
images and re-imports them, and a Trello board's background image is
|
||||
downloaded and stored on import (so it keeps working even if the original
|
||||
Trello URL later changes). Thanks to xet7 and Claude.
|
||||
- Stickers can be added to and removed from cards directly in WeKan, chosen from
|
||||
a set of Font Awesome icons similar to Trello's stickers (previously stickers
|
||||
only arrived via Trello import). The picker also includes every "mascot"
|
||||
(underlined) and "computer" (ringed) highlighted sticker that a Trello import
|
||||
can produce — generated from the same icon mapping the importer uses — so any
|
||||
imported sticker can also be added by hand. Stickers show on the minicard and
|
||||
in the card detail. Thanks to xet7 and Claude.
|
||||
- The Trello-style "complete" checkbox (mark a card complete/incomplete,
|
||||
independent of the due date) is shown as an animated green checkbox to the
|
||||
left of the card title, both on the minicard and in the opened card, with
|
||||
"Mark as complete" / "Mark as incomplete" tooltips. It uses the same animated
|
||||
checkbox style as Admin Panel / Settings / Announcements and is vertically
|
||||
centered with the title text, and the two stay in sync. The minicard and the
|
||||
opened-card checkboxes use the same checked style (the board theme's colour, or
|
||||
green when no theme is set), so they always look identical. Subtask checkboxes
|
||||
and the card-detail custom-field checkbox now use the same animated checkbox as
|
||||
checklist items (they previously used static square icons), so every checkbox
|
||||
on a card animates consistently. Thanks to xet7 and Claude.
|
||||
- Cards can now have multiple locations, similar to multiple members. The card
|
||||
detail shows a Location section (after Labels and Stickers) listing each
|
||||
location with its name, address and an OpenStreetMap link, with an "Add
|
||||
location" button to add more and a button to edit or remove each one. A single
|
||||
location imported from Trello keeps working and is shown in the same list. The
|
||||
Add/Edit location popup can also detect a location from any map link (Google
|
||||
Maps, OpenStreetMap, Bing Maps, Apple Maps, or generic `?q=`/`?ll=` links):
|
||||
paste the link, press "Detect", and the latitude, longitude and (when present)
|
||||
the place name/address are filled in automatically. The popup also has an
|
||||
"Open map links at" setting (OpenStreetMap by default, or Google/Bing/Apple
|
||||
Maps) saved to the user profile, controlling which map service the location
|
||||
"Open in map" links use. Thanks to xet7 and Claude.
|
||||
- The opened card now docks to the top of the window, overlaying the global and
|
||||
board header bars, instead of opening downward from the clicked minicard, and
|
||||
it can be dragged all the way to the top without its top hiding behind those
|
||||
bars. (At 100% zoom the board wrapper no longer sets a `transform: scale(1)`,
|
||||
which had made it the containing block for the fixed card and trapped it below
|
||||
the headers.) Thanks to xet7 and Claude.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix Wrong card number after Import](https://github.com/wekan/wekan/commit/aabcaa658edc2135dfd035bedea186ddf6b26068).
|
||||
Thanks to titver968, xet7 and Claude.
|
||||
- [Fix Board Export/Import error](https://github.com/wekan/wekan/commit/68e0032c6d3b23a195b4051e2853465965e073dc).
|
||||
Fix import/clone of inconsistent board JSON so the newest WeKan can import
|
||||
board exports from any newer or older WeKan version. A syntactically valid
|
||||
export can still be internally inconsistent (a board member whose user
|
||||
account was deleted is no longer in the export's `users`, cards pointing at a
|
||||
missing `listId`, orphaned checklists, or a missing `lists` array). Such
|
||||
exports previously failed import as "error-json-malformed" or silently
|
||||
dropped data (cards with an undefined list never rendered). The importer now
|
||||
skips dangling user references in the member mapper (client
|
||||
`wekanMembersMapper`, server `wekanmapper` used by board cloning, and
|
||||
`WekanCreator`), falls back to the first imported list — creating one default
|
||||
list when the export has none — for cards with a dangling `listId`, and skips
|
||||
orphaned checklists whose card is missing. The importer remains
|
||||
version-agnostic: it never reads `_format`, normalizes old `id` vs `_id`
|
||||
fields, and ignores the source `boardId`. Added `tests/wekanCreator.inconsistent.test.js`
|
||||
covering these cases.
|
||||
Thanks to titver968, xet7 and Claude.
|
||||
- Fix Trello import returning HTTP 500 on any card that has an attachment. A
|
||||
past refactor removed the `links` variable declaration but left its consumer
|
||||
in `models/trelloCreator.js`, so importing an attachment card threw
|
||||
"ReferenceError: links is not defined". Also fixed a stray `return` that
|
||||
silently aborted importing the rest of the cards when one attachment URL was
|
||||
blocked (now `continue`), and Trello cards no longer all import as card
|
||||
number #0 (the Trello short number `idShort` is preserved).
|
||||
Thanks to xet7 and Claude.
|
||||
- Fix attachments not importing from WeKan board JSON exports. The importer
|
||||
called the old Meteor-Files `Attachments.load/insert(..., cb, true)` API,
|
||||
which is a no-op on Meteor 3, so exported base64 attachments were silently
|
||||
dropped. It now inserts them with `Attachments.insertAsync`, and one failed
|
||||
attachment no longer aborts importing the rest of the cards.
|
||||
Thanks to xet7 and Claude.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v9.41 2026-06-12 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ LABEL org.opencontainers.image.source="https://github.com/wekan/wekan"
|
||||
# TARGETARCH and TARGETVARIANT are automatically provided by Docker Buildx
|
||||
ARG TARGETARCH
|
||||
ARG TARGETVARIANT
|
||||
ARG VERSION=9.41
|
||||
ARG VERSION=9.42
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV BUILD_DEPS="apt-utils gnupg wget bzip2 g++ curl libarchive-tools build-essential git ca-certificates python3 unzip"
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v9.41.0"
|
||||
appVersion: "v9.42.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -8,10 +8,10 @@ template(name="archivedBoards")
|
||||
each archivedBoards
|
||||
li.archived-lists-item
|
||||
div.board-header-btns
|
||||
button.board-header-btn.js-delete-board
|
||||
button.primary.board-header-btn.js-delete-board
|
||||
i.fa.fa-trash
|
||||
| {{_ 'delete-board'}}
|
||||
button.board-header-btn.js-restore-board
|
||||
button.primary.board-header-btn.js-restore-board
|
||||
i.fa.fa-undo
|
||||
| {{_ 'restore-board'}}
|
||||
= title
|
||||
|
||||
@@ -55,11 +55,10 @@ template(name="cardCustomField-number")
|
||||
template(name="cardCustomField-checkbox")
|
||||
.js-checklist-item.checklist-item(class="{{#if data.value }}is-checked{{/if}}")
|
||||
if canModifyCard
|
||||
span.check-box-unicode
|
||||
i.fa(class="{{#if data.value}}fa-check-square{{else}}fa-square-o{{/if}}")
|
||||
.check-box-container
|
||||
.check-box.materialCheckBox(class="{{#if data.value}}is-checked{{/if}}")
|
||||
else
|
||||
span.check-box-unicode
|
||||
i.fa(class="{{#if data.value}}fa-check-square{{else}}fa-square-o{{/if}}")
|
||||
.materialCheckBox(class="{{#if data.value}}is-checked{{/if}}")
|
||||
|
||||
template(name="cardCustomField-currency")
|
||||
if canModifyCard
|
||||
|
||||
@@ -106,9 +106,6 @@ Template['cardCustomField-checkbox'].onCreated(function () {
|
||||
});
|
||||
|
||||
Template['cardCustomField-checkbox'].events({
|
||||
'click .js-checklist-item .check-box-unicode'(event, tpl) {
|
||||
tpl.card.setCustomField(tpl.customFieldId, !Template.currentData().value);
|
||||
},
|
||||
'click .js-checklist-item .check-box-container'(event, tpl) {
|
||||
tpl.card.setCustomField(tpl.customFieldId, !Template.currentData().value);
|
||||
},
|
||||
|
||||
@@ -890,3 +890,167 @@ body.mobile-mode .card-details .card-details-header .close-card-details-mobile-w
|
||||
transform: scale(1.01);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
/* Sticker picker + card-detail stickers + due-complete toggle */
|
||||
.card-stickers-picker {
|
||||
max-width: 320px;
|
||||
}
|
||||
.card-sticker-select {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
margin: 2px;
|
||||
border-radius: 3px;
|
||||
font-size: 18px;
|
||||
color: #4d4d4d;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
.card-sticker-select:hover {
|
||||
background: #e0e0e0;
|
||||
}
|
||||
.card-sticker-select.active {
|
||||
background: #d6ecd2;
|
||||
color: #3cb500;
|
||||
}
|
||||
.card-sticker-select .card-sticker-check {
|
||||
position: absolute;
|
||||
bottom: 1px;
|
||||
right: 2px;
|
||||
font-size: 10px;
|
||||
color: #3cb500;
|
||||
}
|
||||
.card-stickers .card-sticker {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
margin: 0 8px 4px 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
.card-sticker .card-sticker-remove {
|
||||
margin-left: 3px;
|
||||
font-size: 11px;
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
}
|
||||
.card-sticker .card-sticker-remove:hover {
|
||||
color: #eb4646;
|
||||
}
|
||||
.card-due-complete-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
margin-left: 8px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Trello-style "mark complete" toggle, left of the card title */
|
||||
.card-details-complete-toggle {
|
||||
float: left;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
/* Title is 1.35em with 1.3 line-height (~28px box) and margin-top 7px; push
|
||||
the 13px checkbox down so it lands at the vertical middle of the title. */
|
||||
margin: 14px 10px 0 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Card locations: multiple locations, each editable with a remove button */
|
||||
.card-details-item-location .card-locations {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.card-details-item-location .card-location {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
background: #fff;
|
||||
border: 1px solid #e3e3e3;
|
||||
border-radius: 4px;
|
||||
padding: 6px 8px;
|
||||
}
|
||||
.card-details-item-location .card-location-info {
|
||||
flex: 1;
|
||||
}
|
||||
.card-details-item-location .js-edit-location {
|
||||
cursor: pointer;
|
||||
}
|
||||
.card-details-item-location .card-location-name {
|
||||
font-weight: bold;
|
||||
}
|
||||
.card-details-item-location .card-location-address {
|
||||
color: #4d4d4d;
|
||||
}
|
||||
.card-details-item-location .card-location-remove {
|
||||
margin-left: 8px;
|
||||
color: #8c8c8c;
|
||||
cursor: pointer;
|
||||
}
|
||||
.card-details-item-location .card-location-remove:hover {
|
||||
color: #eb4646;
|
||||
}
|
||||
|
||||
/* Sticker icon highlight styles (used instead of colour): taco pack => underline,
|
||||
pete pack => round (ring around the icon). Icon keeps its normal colour. */
|
||||
.card-sticker i.sticker-underline {
|
||||
border-bottom: 2px solid currentColor;
|
||||
padding-bottom: 1px;
|
||||
line-height: 1;
|
||||
}
|
||||
.card-sticker i.sticker-round {
|
||||
border: 1px solid currentColor;
|
||||
border-radius: 50%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
line-height: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* "Open map links at" provider selector in the location popup */
|
||||
.js-card-location-form .map-provider-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 8px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.js-card-location-form .map-provider-row .js-map-provider {
|
||||
flex: 0 0 auto;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* Opened card (card details popup) docks to the very top of the window and
|
||||
overlays the global + board header bars instead of opening below them. The
|
||||
base .pop-over is position:absolute with a small margin/top offset, which left
|
||||
the card's top behind the fixed header bars; fix it to the viewport top with a
|
||||
z-index above every header (headers top out around z-index 1000-2000). */
|
||||
.pop-over[data-popup="cardDetailsPopup"] {
|
||||
position: fixed !important;
|
||||
top: 0 !important;
|
||||
margin-top: 0 !important;
|
||||
z-index: 100000 !important;
|
||||
}
|
||||
|
||||
/* Sticker highlight styles inside the sticker picker (mascot = underline,
|
||||
computer = round), matching how they render on the card. */
|
||||
.card-sticker-select i.sticker-underline {
|
||||
border-bottom: 2px solid currentColor;
|
||||
padding-bottom: 1px;
|
||||
line-height: 1;
|
||||
}
|
||||
.card-sticker-select i.sticker-round {
|
||||
border: 1px solid currentColor;
|
||||
border-radius: 50%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
line-height: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -61,6 +61,9 @@ template(name="cardDetails")
|
||||
span.emoji-icon
|
||||
i.fa.fa-link
|
||||
span.copied-tooltip {{_ 'copied'}}
|
||||
if canModifyCard
|
||||
a.card-details-complete-toggle.js-toggle-due-complete(title="{{#if getDueComplete}}{{_ 'card-mark-incomplete'}}{{else}}{{_ 'card-mark-complete'}}{{/if}}")
|
||||
.materialCheckBox(class="{{#if getDueComplete}}is-checked{{/if}}")
|
||||
h2.card-details-title.js-card-title(
|
||||
class="{{#if canModifyCard}}js-open-inlined-form is-editable{{else}}js-card-title-drag-handle{{/if}}")
|
||||
+viewer
|
||||
@@ -126,6 +129,47 @@ template(name="cardDetails")
|
||||
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
.card-details-item.card-details-item-stickers
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-sticky-note-o
|
||||
| {{_ 'stickers'}}
|
||||
.card-details-item-content.card-stickers
|
||||
each stickers
|
||||
span.card-sticker(title="{{#if name}}{{name}}{{else}}{{icon}}{{/if}}")
|
||||
i.fa(class="fa-{{icon}} {{#if highlight}}sticker-{{highlight}}{{/if}}")
|
||||
if canModifyCard
|
||||
a.card-sticker-remove.js-remove-sticker(data-index="{{@index}}" title="{{_ 'remove-sticker'}}")
|
||||
i.fa.fa-times
|
||||
if canModifyCard
|
||||
unless currentUser.isWorker
|
||||
a.card-label.add-label.js-add-stickers(title="{{_ 'add-sticker'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
.card-details-item.card-details-item-location
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-map-marker
|
||||
| {{_ 'location'}}
|
||||
.card-details-item-content.card-locations
|
||||
each getLocations
|
||||
.card-location
|
||||
.card-location-info(class="{{#if canModifyCard}}js-edit-location{{/if}}" data-location-id="{{_id}}")
|
||||
if name
|
||||
.card-location-name= name
|
||||
if address
|
||||
.card-location-address= address
|
||||
if hasCoordinates
|
||||
a.card-location-map(href=mapUrl target="_blank" rel="noopener noreferrer")
|
||||
i.fa.fa-map-o
|
||||
= ' '
|
||||
| {{_ 'location-open-map'}}
|
||||
if canModifyCard
|
||||
a.card-location-remove.js-remove-location(data-location-id="{{_id}}" title="{{_ 'delete'}}")
|
||||
i.fa.fa-times
|
||||
if canModifyCard
|
||||
unless currentUser.isWorker
|
||||
a.card-label.add-label.js-add-location(title="{{_ 'add-location'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
if currentBoard.hasAnyAllowsDate
|
||||
hr
|
||||
|
||||
@@ -1196,3 +1240,39 @@ template(name="cardStartPlanningPokerPopup")
|
||||
if getPokerQuestion
|
||||
if currentUser.isBoardAdmin
|
||||
button.js-remove-poker.negate.wide.right {{_ 'delete'}}
|
||||
|
||||
template(name="cardLocationsPopup")
|
||||
form.js-card-location-form
|
||||
label
|
||||
| {{_ 'location-detect-from-map'}}
|
||||
input.js-location-map-link(type="text" placeholder="https://..." autofocus)
|
||||
button.primary.js-detect-location(type="button") {{_ 'location-detect'}}
|
||||
if detectMessage
|
||||
p.quiet.js-detect-message {{detectMessage}}
|
||||
hr
|
||||
label
|
||||
| {{_ 'location-name'}}
|
||||
input.js-location-name(type="text" value="{{location.name}}")
|
||||
label
|
||||
| {{_ 'location-address'}}
|
||||
input.js-location-address(type="text" value="{{location.address}}")
|
||||
label
|
||||
| {{_ 'location-latitude'}}
|
||||
input.js-location-latitude(type="number" step="any" value="{{location.latitude}}")
|
||||
label
|
||||
| {{_ 'location-longitude'}}
|
||||
input.js-location-longitude(type="number" step="any" value="{{location.longitude}}")
|
||||
button.primary.confirm.js-submit-location(type="submit") {{_ 'save'}}
|
||||
if location._id
|
||||
button.negate.wide.right.js-delete-location(type="button") {{_ 'delete'}}
|
||||
hr
|
||||
.map-provider-row
|
||||
span.map-provider-label {{_ 'location-open-map-at'}}
|
||||
select.js-map-provider
|
||||
option(value="openstreetmap" selected="{{#if isMapProvider 'openstreetmap'}}selected{{/if}}") OpenStreetMap
|
||||
option(value="google" selected="{{#if isMapProvider 'google'}}selected{{/if}}") Google Maps
|
||||
option(value="bing" selected="{{#if isMapProvider 'bing'}}selected{{/if}}") Bing Maps
|
||||
option(value="apple" selected="{{#if isMapProvider 'apple'}}selected{{/if}}") Apple Maps
|
||||
button.primary.js-save-map-provider(type="button") {{_ 'save'}}
|
||||
if mapSavedMessage
|
||||
p.quiet.js-map-saved {{mapSavedMessage}}
|
||||
@@ -51,8 +51,100 @@ import { UnsavedEdits } from '/client/lib/unsavedEdits';
|
||||
import { EscapeActions } from '/client/lib/escapeActions';
|
||||
import { MultiSelection } from '/client/lib/multiSelection';
|
||||
import { Utils } from '/client/lib/utils';
|
||||
import { ReactiveVar } from 'meteor/reactive-var';
|
||||
import autosize from 'autosize';
|
||||
|
||||
// Id of the location currently being edited in the cardLocationsPopup; null
|
||||
// when adding a new location.
|
||||
const editingLocationId = new ReactiveVar(null);
|
||||
|
||||
// Parse coordinates (and, when present, a place name / address) out of a map
|
||||
// link from common providers: Google Maps, OpenStreetMap, Bing Maps, Apple Maps
|
||||
// and generic `?q=lat,lon` / `?ll=lat,lon` links. Returns whatever it can find
|
||||
// as { latitude, longitude, name, address }.
|
||||
function parseMapLink(url) {
|
||||
const result = {};
|
||||
if (!url) return result;
|
||||
const s = String(url).trim();
|
||||
|
||||
let lat;
|
||||
let lon;
|
||||
const setCoords = (la, lo) => {
|
||||
if (lat !== undefined) return;
|
||||
const a = parseFloat(la);
|
||||
const o = parseFloat(lo);
|
||||
if (!isNaN(a) && !isNaN(o) && Math.abs(a) <= 90 && Math.abs(o) <= 180) {
|
||||
lat = a;
|
||||
lon = o;
|
||||
}
|
||||
};
|
||||
|
||||
const N = '(-?\\d+(?:\\.\\d+)?)';
|
||||
let m;
|
||||
// Google Maps place marker in the data part: !3d<lat>!4d<lon> (most precise).
|
||||
if ((m = s.match(new RegExp(`!3d${N}!4d${N}`)))) setCoords(m[1], m[2]);
|
||||
// Google Maps view/place: @<lat>,<lon>
|
||||
if ((m = s.match(new RegExp(`@${N},${N}`)))) setCoords(m[1], m[2]);
|
||||
// OpenStreetMap marker: ?mlat=..&mlon=..
|
||||
if ((m = s.match(new RegExp(`[?&#]mlat=${N}`)))) {
|
||||
const mlon = s.match(new RegExp(`[?&#]mlon=${N}`));
|
||||
if (mlon) setCoords(m[1], mlon[1]);
|
||||
}
|
||||
// OpenStreetMap map hash: #map=z/lat/lon
|
||||
if ((m = s.match(new RegExp(`[#&]map=\\d+(?:\\.\\d+)?/${N}/${N}`)))) setCoords(m[1], m[2]);
|
||||
// Bing Maps: cp=lat~lon
|
||||
if ((m = s.match(new RegExp(`[?&]cp=${N}~${N}`)))) setCoords(m[1], m[2]);
|
||||
// Apple Maps and generic ll=lat,lon
|
||||
if ((m = s.match(new RegExp(`[?&]ll=${N},${N}`)))) setCoords(m[1], m[2]);
|
||||
// Generic q=lat,lon (Google/Apple query form)
|
||||
if ((m = s.match(new RegExp(`[?&]q=${N},${N}`)))) setCoords(m[1], m[2]);
|
||||
// Generic center=lat,lon
|
||||
if ((m = s.match(new RegExp(`[?&]center=${N},${N}`)))) setCoords(m[1], m[2]);
|
||||
|
||||
if (lat !== undefined) {
|
||||
result.latitude = lat;
|
||||
result.longitude = lon;
|
||||
}
|
||||
|
||||
const decode = (raw) => {
|
||||
try {
|
||||
return decodeURIComponent(raw.replace(/\+/g, ' ')).trim();
|
||||
} catch (e) {
|
||||
return raw.replace(/\+/g, ' ').trim();
|
||||
}
|
||||
};
|
||||
const isCoordText = (t) => /^-?\d+(\.\d+)?\s*,\s*-?\d+(\.\d+)?$/.test(t);
|
||||
|
||||
// Place name from Google Maps /place/<Name>/
|
||||
if ((m = s.match(/\/place\/([^/@?]+)/))) {
|
||||
const name = decode(m[1]);
|
||||
if (name && !isCoordText(name)) result.name = name;
|
||||
}
|
||||
// Address from a textual q=/query=/destination= parameter.
|
||||
if ((m = s.match(/[?&](?:q|query|destination)=([^&]+)/))) {
|
||||
const q = decode(m[1]);
|
||||
if (q && !isCoordText(q)) result.address = q;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Build an "open in map" link for the given provider and coordinates. Mirrors
|
||||
// the providers offered in the location popup's "Open map links at" selector.
|
||||
function mapLinkFor(provider, lat, lon) {
|
||||
switch (provider) {
|
||||
case 'google':
|
||||
return `https://www.google.com/maps/search/?api=1&query=${lat},${lon}`;
|
||||
case 'bing':
|
||||
return `https://www.bing.com/maps?cp=${lat}~${lon}&lvl=16`;
|
||||
case 'apple':
|
||||
return `https://maps.apple.com/?ll=${lat},${lon}`;
|
||||
case 'openstreetmap':
|
||||
default:
|
||||
return `https://www.openstreetmap.org/?mlat=${lat}&mlon=${lon}#map=16/${lat}/${lon}`;
|
||||
}
|
||||
}
|
||||
|
||||
// SubsManager removed for Meteor 3 migration
|
||||
const { calculateIndexData } = Utils;
|
||||
|
||||
@@ -134,6 +226,11 @@ Template.cardDetails.onCreated(function () {
|
||||
});
|
||||
|
||||
Template.cardDetails.onRendered(function () {
|
||||
// A reactive re-render (e.g. a card moving between the inline swimlane render
|
||||
// and the draggable openCards popup) can create and then remove this instance
|
||||
// within the same flush. If our DOM range is already gone, calling this.$()
|
||||
// below throws "Can't select in removed DomRange", so bail out early.
|
||||
if (this.view && this.view.isDestroyed) return;
|
||||
this.calculateNextPeak();
|
||||
if (Meteor.settings.public.CARD_OPENED_WEBHOOK_ENABLED) {
|
||||
// Send Webhook but not create Activities records ---
|
||||
@@ -273,6 +370,23 @@ Template.cardDetails.helpers({
|
||||
return card.findWatcher(Meteor.userId());
|
||||
},
|
||||
|
||||
// Returns the card's locations (multiple supported), each enriched with the
|
||||
// coordinate flag and OpenStreetMap link used by the template.
|
||||
getLocations() {
|
||||
const card = Template.currentData();
|
||||
if (!card || !card.getLocations) return [];
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
const provider = user ? user.getMapProvider() : 'openstreetmap';
|
||||
return card.getLocations().map(loc => {
|
||||
const hasCoordinates =
|
||||
typeof loc.latitude === 'number' && typeof loc.longitude === 'number';
|
||||
const mapUrl = hasCoordinates
|
||||
? mapLinkFor(provider, loc.latitude, loc.longitude)
|
||||
: '';
|
||||
return { ...loc, hasCoordinates, mapUrl };
|
||||
});
|
||||
},
|
||||
|
||||
customFieldsGrid() {
|
||||
return ReactiveCache.getCurrentUser().hasCustomFieldsGrid();
|
||||
},
|
||||
@@ -610,9 +724,57 @@ Template.cardDetails.events({
|
||||
'click .js-assignee': Popup.open('cardAssignee'),
|
||||
'click .js-add-assignees': Popup.open('cardAssignees'),
|
||||
'click .js-add-labels': Popup.open('cardLabels'),
|
||||
'click .js-add-stickers': Popup.open('cardStickers'),
|
||||
'click .js-remove-sticker'(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
if (!Utils.canModifyCard()) return;
|
||||
const index = parseInt(event.currentTarget.dataset.index, 10);
|
||||
const card = Template.currentData();
|
||||
if (card && !Number.isNaN(index)) {
|
||||
card.removeStickerAt(index);
|
||||
}
|
||||
},
|
||||
'click .js-add-location'(event) {
|
||||
event.preventDefault();
|
||||
if (!Utils.canModifyCard()) return;
|
||||
const card = Template.currentData();
|
||||
editingLocationId.set(null);
|
||||
Popup.open('cardLocations')(event, {
|
||||
dataContextIfCurrentDataIsUndefined: card,
|
||||
});
|
||||
},
|
||||
'click .js-edit-location'(event) {
|
||||
// Let the "Open in map" link work without also opening the edit popup.
|
||||
if ($(event.target).closest('a.card-location-map').length) return;
|
||||
event.preventDefault();
|
||||
if (!Utils.canModifyCard()) return;
|
||||
const card = Template.currentData();
|
||||
editingLocationId.set(event.currentTarget.dataset.locationId || null);
|
||||
Popup.open('cardLocations')(event, {
|
||||
dataContextIfCurrentDataIsUndefined: card,
|
||||
});
|
||||
},
|
||||
'click .js-remove-location'(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
if (!Utils.canModifyCard()) return;
|
||||
const locationId = event.currentTarget.dataset.locationId;
|
||||
const card = Template.currentData();
|
||||
if (card && locationId) {
|
||||
card.removeLocation(locationId);
|
||||
}
|
||||
},
|
||||
'click .js-received-date': Popup.open('editCardReceivedDate'),
|
||||
'click .js-start-date': Popup.open('editCardStartDate'),
|
||||
'click .js-due-date': Popup.open('editCardDueDate'),
|
||||
'click .js-toggle-due-complete'(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
if (!Utils.canModifyCard()) return;
|
||||
const card = Template.currentData();
|
||||
card.setDueComplete(!card.getDueComplete());
|
||||
},
|
||||
'click .js-end-date': Popup.open('editCardEndDate'),
|
||||
'click .js-show-positive-votes': Popup.open('positiveVoteMembers'),
|
||||
'click .js-show-negative-votes': Popup.open('negativeVoteMembers'),
|
||||
@@ -1144,6 +1306,109 @@ Template.cardMembersPopup.helpers({
|
||||
},
|
||||
});
|
||||
|
||||
// Popup that adds or edits a single card location (name, address, latitude,
|
||||
// longitude). Cards can hold multiple locations, like members.
|
||||
Template.cardLocationsPopup.onCreated(function () {
|
||||
const data = Template.currentData();
|
||||
this.cardId = data && data._id;
|
||||
this.detectMsg = new ReactiveVar('');
|
||||
this.mapSavedMsg = new ReactiveVar('');
|
||||
});
|
||||
|
||||
Template.cardLocationsPopup.helpers({
|
||||
location() {
|
||||
const tpl = Template.instance();
|
||||
const card = ReactiveCache.getCard(tpl.cardId);
|
||||
const id = editingLocationId.get();
|
||||
if (card && id) {
|
||||
const found = card.getLocations().find(loc => loc._id === id);
|
||||
if (found) return found;
|
||||
}
|
||||
return {};
|
||||
},
|
||||
detectMessage() {
|
||||
return Template.instance().detectMsg.get();
|
||||
},
|
||||
isMapProvider(provider) {
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
const current = user ? user.getMapProvider() : 'openstreetmap';
|
||||
return current === provider;
|
||||
},
|
||||
mapSavedMessage() {
|
||||
return Template.instance().mapSavedMsg.get();
|
||||
},
|
||||
});
|
||||
|
||||
Template.cardLocationsPopup.events({
|
||||
'click .js-detect-location'(event) {
|
||||
event.preventDefault();
|
||||
const tpl = Template.instance();
|
||||
const linkInput = tpl.find('.js-location-map-link');
|
||||
const parsed = parseMapLink(linkInput ? linkInput.value : '');
|
||||
let filled = false;
|
||||
if (typeof parsed.latitude === 'number') {
|
||||
tpl.find('.js-location-latitude').value = parsed.latitude;
|
||||
tpl.find('.js-location-longitude').value = parsed.longitude;
|
||||
filled = true;
|
||||
}
|
||||
if (parsed.name) {
|
||||
tpl.find('.js-location-name').value = parsed.name;
|
||||
filled = true;
|
||||
}
|
||||
if (parsed.address) {
|
||||
tpl.find('.js-location-address').value = parsed.address;
|
||||
filled = true;
|
||||
}
|
||||
tpl.detectMsg.set(
|
||||
TAPi18n.__(filled ? 'location-detect-done' : 'location-detect-none'),
|
||||
);
|
||||
},
|
||||
'submit .js-card-location-form'(event) {
|
||||
event.preventDefault();
|
||||
const tpl = Template.instance();
|
||||
const card = ReactiveCache.getCard(tpl.cardId);
|
||||
if (!card) {
|
||||
Popup.back();
|
||||
return;
|
||||
}
|
||||
const name = tpl.find('.js-location-name').value.trim();
|
||||
const address = tpl.find('.js-location-address').value.trim();
|
||||
const latRaw = tpl.find('.js-location-latitude').value.trim();
|
||||
const lonRaw = tpl.find('.js-location-longitude').value.trim();
|
||||
const latitude = latRaw === '' ? undefined : parseFloat(latRaw);
|
||||
const longitude = lonRaw === '' ? undefined : parseFloat(lonRaw);
|
||||
const data = { name, address, latitude, longitude };
|
||||
const id = editingLocationId.get();
|
||||
if (id) {
|
||||
card.updateLocation(id, data);
|
||||
} else {
|
||||
card.addLocation(data);
|
||||
}
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-delete-location'(event) {
|
||||
event.preventDefault();
|
||||
const tpl = Template.instance();
|
||||
const card = ReactiveCache.getCard(tpl.cardId);
|
||||
const id = editingLocationId.get();
|
||||
if (card && id) {
|
||||
card.removeLocation(id);
|
||||
}
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-save-map-provider'(event) {
|
||||
event.preventDefault();
|
||||
const tpl = Template.instance();
|
||||
const select = tpl.find('.js-map-provider');
|
||||
const provider = select ? select.value : 'openstreetmap';
|
||||
Meteor.call('setMapProvider', provider, err => {
|
||||
tpl.mapSavedMsg.set(
|
||||
TAPi18n.__(err ? 'server-error' : 'map-provider-saved'),
|
||||
);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
const filterMembers = (filterTerm) => {
|
||||
let currBoard = Utils.getCurrentBoard();
|
||||
let members = currBoard.activeMembers();
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
template(name="cardStickersPopup")
|
||||
.card-stickers-picker.clearfix
|
||||
each stickerIcons
|
||||
a.card-sticker-select.js-select-sticker(class="{{#if isSelected}}active{{/if}}" title="{{stickerTitle}}")
|
||||
i.fa(class="fa-{{icon}} {{#if highlight}}sticker-{{highlight}}{{/if}}")
|
||||
if isSelected
|
||||
i.fa.fa-check.card-sticker-check
|
||||
@@ -0,0 +1,39 @@
|
||||
import { ReactiveCache } from '/imports/reactiveCache';
|
||||
import { STICKER_PICKER } from '/models/metadata/stickers';
|
||||
|
||||
// Picker popup that lets a user add/remove stickers on a card. Each entry is
|
||||
// { icon, highlight?, name? }: the plain Font Awesome icons plus the mascot
|
||||
// (underlined) and computer (ringed) highlighted stickers. Opened from the card
|
||||
// details stickers section with the card as the data context.
|
||||
|
||||
Template.cardStickersPopup.onCreated(function () {
|
||||
const data = Template.currentData();
|
||||
this.cardId = data && data._id;
|
||||
});
|
||||
|
||||
function pickerCard(tpl) {
|
||||
return ReactiveCache.getCard(tpl.cardId);
|
||||
}
|
||||
|
||||
Template.cardStickersPopup.helpers({
|
||||
stickerIcons() {
|
||||
return STICKER_PICKER;
|
||||
},
|
||||
isSelected() {
|
||||
const card = pickerCard(Template.instance());
|
||||
return !!(card && card.hasSticker(this.icon, this.highlight));
|
||||
},
|
||||
stickerTitle() {
|
||||
return this.name || this.icon;
|
||||
},
|
||||
});
|
||||
|
||||
Template.cardStickersPopup.events({
|
||||
'click .js-select-sticker'(event) {
|
||||
event.preventDefault();
|
||||
const card = pickerCard(Template.instance());
|
||||
if (card) {
|
||||
card.toggleSticker(this.icon, this.highlight, this.name);
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -834,3 +834,35 @@
|
||||
word-wrap: break-word;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* Trello-style "mark complete" toggle, left of the minicard title */
|
||||
.minicard-title .minicard-complete-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
vertical-align: middle;
|
||||
/* Nudge down so the checkmark sits at the vertical middle of the title text
|
||||
(the checked materialCheckBox is shifted up 4px by its own positioning). */
|
||||
position: relative;
|
||||
top: 4px;
|
||||
margin-right: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Sticker icon highlight styles (used instead of colour): taco pack => underline,
|
||||
pete pack => round (ring around the icon). Icon keeps its normal colour. */
|
||||
.minicard-sticker i.sticker-underline {
|
||||
border-bottom: 2px solid currentColor;
|
||||
padding-bottom: 1px;
|
||||
line-height: 1;
|
||||
}
|
||||
.minicard-sticker i.sticker-round {
|
||||
border: 1px solid currentColor;
|
||||
border-radius: 50%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 1.6em;
|
||||
height: 1.6em;
|
||||
line-height: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -21,7 +21,7 @@ template(name="minicard")
|
||||
+minicardStartDate
|
||||
if showDue
|
||||
if getDue
|
||||
.date
|
||||
.date(class="{{#if getDueComplete}}due-complete{{/if}}")
|
||||
+minicardDueDate
|
||||
if showEnd
|
||||
if getEnd
|
||||
@@ -54,6 +54,9 @@ template(name="minicard")
|
||||
span {{_ 'upload-completed'}}
|
||||
|
||||
.minicard-title
|
||||
if canModifyCard
|
||||
a.minicard-complete-toggle.js-toggle-card-complete(title="{{#if getDueComplete}}{{_ 'card-mark-incomplete'}}{{else}}{{_ 'card-mark-complete'}}{{/if}}")
|
||||
.materialCheckBox(class="{{#if getDueComplete}}is-checked{{/if}}")
|
||||
if $eq 'prefix-with-full-path' currentBoard.presentParentTask
|
||||
.parent-prefix
|
||||
| {{ parentString ' > ' }}
|
||||
@@ -152,6 +155,11 @@ template(name="minicard")
|
||||
each shouldShowChecklistAtMinicard
|
||||
+minicardChecklist(checklist=. card=..)
|
||||
.badges
|
||||
if stickers.length
|
||||
.badge.badge-state-image-only.minicard-stickers
|
||||
each stickers
|
||||
span.badge-icon.minicard-sticker(title="{{#if name}}{{name}}{{else}}{{icon}}{{/if}}")
|
||||
i.fa(class="fa-{{icon}} {{#if highlight}}sticker-{{highlight}}{{/if}}")
|
||||
if comments.length
|
||||
.badge(title="{{_ 'card-comments-title' comments.length }}")
|
||||
span.badge-icon.badge-comment.badge-text
|
||||
|
||||
@@ -178,6 +178,16 @@ Template.minicard.events({
|
||||
else if (this.isLinkedBoard())
|
||||
Utils.goBoardId(this.linkedId);
|
||||
},
|
||||
'click .js-toggle-card-complete'(event) {
|
||||
// Trello-style "mark complete" toggle (left of the title). Don't let the
|
||||
// click open the card.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
if (!Utils.canModifyCard()) {
|
||||
return;
|
||||
}
|
||||
this.setDueComplete(!this.getDueComplete());
|
||||
},
|
||||
'click .js-toggle-minicard-label-text'() {
|
||||
if (window.localStorage.getItem('hiddenMinicardLabelText')) {
|
||||
window.localStorage.removeItem('hiddenMinicardLabelText'); //true
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
.minicard-title .minicard-complete-toggle {
|
||||
display: none;
|
||||
}
|
||||
@@ -139,6 +139,9 @@ textarea.js-edit-subtask-item {
|
||||
.subtasks-item:hover {
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
.subtasks-item .check-box-container {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.subtasks-item .check-box {
|
||||
margin: 0.1em 0 0 0;
|
||||
}
|
||||
|
||||
@@ -74,14 +74,13 @@ template(name="subtasksItems")
|
||||
template(name='subtaskItemDetail')
|
||||
.js-subtasks-item.subtasks-item
|
||||
if canModifyCard
|
||||
span.check-box-unicode
|
||||
i.fa(class="{{#if item.isFinished}}fa-check-square{{else}}fa-square-o{{/if}}")
|
||||
.check-box-container
|
||||
.check-box.materialCheckBox(class="{{#if item.isFinished}}is-checked{{/if}}")
|
||||
.item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
+viewer
|
||||
= item.title
|
||||
else
|
||||
span.check-box-unicode
|
||||
i.fa(class="{{#if item.isFinished}}fa-check-square{{else}}fa-square-o{{/if}}")
|
||||
.materialCheckBox(class="{{#if item.isFinished}}is-checked{{/if}}")
|
||||
.item-title(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
+viewer
|
||||
= item.title
|
||||
|
||||
@@ -119,7 +119,7 @@ Template.subtasks.helpers({
|
||||
});
|
||||
|
||||
Template.subtaskItemDetail.events({
|
||||
async 'click .js-subtasks-item .check-box-unicode'() {
|
||||
async 'click .js-subtasks-item .check-box-container'() {
|
||||
const item = Template.currentData().item;
|
||||
if (item && item._id) {
|
||||
await item.toggleItem();
|
||||
|
||||
Vendored
+116
@@ -49,3 +49,119 @@ a.show-mapping {
|
||||
font-size: 90%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Trello API import: file rows, workspace tree, job progress and errors */
|
||||
/* The shared page spinners are centered with a large top margin (e.g. bounce
|
||||
uses margin:100px auto), which leaves a big empty gap above the spinner in
|
||||
this compact panel. Make spinners here small and inline instead. */
|
||||
.trello-api-import .sk-spinner {
|
||||
margin: 0 8px 0 0;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: auto;
|
||||
}
|
||||
.trello-api-import .import-file-row label {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
}
|
||||
.trello-api-import .import-file-row input,
|
||||
.trello-api-import .import-file-row select {
|
||||
width: 100%;
|
||||
}
|
||||
.trello-workspaces {
|
||||
max-height: 40vh;
|
||||
overflow-y: auto;
|
||||
border: 1px solid #ddd;
|
||||
padding: 8px;
|
||||
margin: 8px 0;
|
||||
}
|
||||
.trello-workspace {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.trello-workspace .trello-boards {
|
||||
margin-left: 22px;
|
||||
}
|
||||
.trello-workspace-title,
|
||||
.trello-board {
|
||||
align-items: center;
|
||||
padding: 3px 0;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
.trello-workspace-title .materialCheckBox,
|
||||
.trello-board .materialCheckBox {
|
||||
flex: 0 0 auto;
|
||||
margin-right: 12px;
|
||||
}
|
||||
.trello-select-controls button {
|
||||
margin-right: 6px;
|
||||
}
|
||||
.trello-job-controls button {
|
||||
margin-right: 6px;
|
||||
}
|
||||
/* Import progress meter, styled like Admin Panel / Attachments / Move Attachments */
|
||||
.trello-progress-label {
|
||||
margin: 8px 0 6px;
|
||||
}
|
||||
.trello-progress-bar {
|
||||
background: #e9ecef;
|
||||
border-radius: 8px;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.trello-progress-fill {
|
||||
background: linear-gradient(90deg, #28a745, #20c997);
|
||||
height: 100%;
|
||||
border-radius: 8px;
|
||||
transition: width 0.3s ease;
|
||||
position: relative;
|
||||
}
|
||||
.trello-progress-fill.is-running::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
|
||||
animation: trelloProgressShimmer 2s infinite;
|
||||
}
|
||||
@keyframes trelloProgressShimmer {
|
||||
0% { transform: translateX(-100%); }
|
||||
100% { transform: translateX(100%); }
|
||||
}
|
||||
.trello-progress-percent {
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
font-weight: 600;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.trello-import-result.is-ok {
|
||||
color: #3cb500;
|
||||
}
|
||||
.trello-import-result.is-error {
|
||||
color: #eb4646;
|
||||
}
|
||||
.js-trello-errors-text {
|
||||
width: 100%;
|
||||
font-family: monospace;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
/* Trello API credential Save/Delete buttons */
|
||||
.trello-api-creds-buttons button {
|
||||
margin-right: 6px;
|
||||
}
|
||||
.trello-creds-saved {
|
||||
color: #3cb500;
|
||||
}
|
||||
|
||||
/* Simplified per-field hint text under the Trello file upload labels */
|
||||
.import-file-row .import-file-hint {
|
||||
display: block;
|
||||
font-size: 0.85em;
|
||||
margin: 2px 0 4px;
|
||||
}
|
||||
@@ -8,6 +8,8 @@ template(name="import")
|
||||
.wrapper
|
||||
if error.get
|
||||
.warning {{_ error.get}}
|
||||
if zipImporting
|
||||
.warning {{_ 'import-trello-zip-progress'}}
|
||||
+Template.dynamic(template=currentTemplate)
|
||||
|
||||
template(name="importTextarea")
|
||||
@@ -15,7 +17,115 @@ template(name="importTextarea")
|
||||
p: label(for='import-textarea') {{_ instruction}} {{_ 'import-board-instruction-about-errors'}}
|
||||
textarea.js-import-json(id='import-textarea' placeholder="{{_ importPlaceHolder}}" autofocus)
|
||||
| {{jsonText}}
|
||||
if isTrelloImport
|
||||
p.import-file-row
|
||||
label(for='import-json-file') {{_ 'import-trello-json-file'}}
|
||||
span.quiet.import-file-hint {{_ 'import-trello-json-file-hint'}}
|
||||
input.js-import-json-file(id='import-json-file' type="file" accept=".json,application/json")
|
||||
p.import-file-row
|
||||
label(for='import-zip-file') {{_ 'import-trello-zip-file'}}
|
||||
span.quiet.import-file-hint {{_ 'import-trello-zip-file-hint'}}
|
||||
input.js-import-zip-file(id='import-zip-file' type="file" accept=".zip,application/zip")
|
||||
p.import-file-row
|
||||
label(for='import-workspace-name') {{_ 'import-trello-workspace'}}
|
||||
input.js-import-workspace-name(id='import-workspace-name' type="text" placeholder="{{_ 'import-trello-workspace-placeholder'}}")
|
||||
input.primary.wide(type="submit" value="{{_ 'import'}}")
|
||||
if isTrelloImport
|
||||
hr
|
||||
+importTrelloApi
|
||||
|
||||
template(name="importTrelloApi")
|
||||
.trello-api-import
|
||||
h2 {{_ 'trello-api-import'}}
|
||||
p.quiet {{_ 'trello-api-import-desc'}}
|
||||
p.import-file-row
|
||||
label(for='trello-api-key') {{_ 'trello-api-key'}}
|
||||
input.js-trello-key(id='trello-api-key' type="text" autocomplete="off")
|
||||
p.import-file-row
|
||||
label(for='trello-api-token') {{_ 'trello-api-token'}}
|
||||
input.js-trello-token(id='trello-api-token' type="password" autocomplete="off")
|
||||
p.trello-api-creds-buttons
|
||||
button.primary.js-trello-save-creds(type="button") {{_ 'save'}}
|
||||
button.negate.js-trello-delete-creds(type="button") {{_ 'delete'}}
|
||||
if credsSaved
|
||||
p.quiet.trello-creds-saved
|
||||
i.fa.fa-check
|
||||
span {{_ 'trello-api-credentials-saved'}}
|
||||
p
|
||||
button.primary.js-trello-list-workspaces(type="button") {{_ 'trello-list-workspaces'}}
|
||||
if error.get
|
||||
.warning {{_ error.get}}
|
||||
if loading.get
|
||||
+spinner
|
||||
if hasWorkspaces
|
||||
p.import-file-row
|
||||
label(for='trello-parent-workspace') {{_ 'import-trello-parent-workspace'}}
|
||||
select.js-trello-parent-workspace(id='trello-parent-workspace')
|
||||
option(value="") {{_ 'trello-parent-workspace-top'}}
|
||||
each flatWorkspaceNodes
|
||||
option(value=id)= label
|
||||
p.trello-select-controls
|
||||
button.primary.js-trello-select-all(type="button") {{_ 'select-all'}}
|
||||
button.primary.js-trello-unselect-all(type="button") {{_ 'unselect-all'}}
|
||||
.trello-workspaces
|
||||
each workspaceList
|
||||
.trello-workspace
|
||||
a.flex.trello-workspace-title.js-toggle-workspace
|
||||
.materialCheckBox(class="{{#if workspaceSelected}}is-checked{{/if}}")
|
||||
b {{name}}
|
||||
.trello-boards
|
||||
each boards
|
||||
a.flex.trello-board.js-toggle-board(data-board-id="{{id}}")
|
||||
.materialCheckBox(class="{{#if boardSelected}}is-checked{{/if}}")
|
||||
span {{name}}
|
||||
if closed
|
||||
span.quiet ({{_ 'archived'}})
|
||||
if canStartImport
|
||||
p
|
||||
button.primary.wide.js-trello-import-selected(type="button") {{_ 'trello-import-selected'}}
|
||||
if currentJob
|
||||
hr
|
||||
.trello-import-job
|
||||
h3 {{_ 'trello-import-progress'}}
|
||||
with currentJob
|
||||
p.trello-progress-label
|
||||
b {{_ 'status'}}:
|
||||
span {{_ status}} ({{jobProgressText}})
|
||||
.trello-progress-bar
|
||||
.trello-progress-fill(class="{{#if $eq status 'running'}}is-running{{/if}}" style="width: {{jobProgressPercent}}%")
|
||||
.trello-progress-percent {{jobProgressPercent}}%
|
||||
if lastError
|
||||
.warning {{lastError}}
|
||||
p.trello-job-controls
|
||||
if jobIsRunning
|
||||
button.primary.js-trello-cancel(type="button") {{_ 'trello-cancel'}}
|
||||
button.negate.js-trello-cancel-delete(type="button") {{_ 'trello-cancel-delete'}}
|
||||
if jobCanResume
|
||||
button.primary.js-trello-resume(type="button") {{_ 'trello-resume'}}
|
||||
button.negate.js-trello-cancel-delete(type="button") {{_ 'trello-cancel-delete'}}
|
||||
if jobIsFinished
|
||||
button.negate.js-trello-cancel-delete(type="button") {{_ 'trello-delete-imported'}}
|
||||
button.primary.js-trello-clear(type="button") {{_ 'trello-clear-job'}}
|
||||
|
||||
if jobResults.length
|
||||
.trello-import-results
|
||||
each jobResults
|
||||
p.trello-import-result(class="{{#if success}}is-ok{{else}}is-error{{/if}}")
|
||||
if success
|
||||
i.fa.fa-check
|
||||
span {{title}} — {{attachmentsImported}} {{_ 'attachments'}}
|
||||
else
|
||||
i.fa.fa-warning
|
||||
span {{trelloBoardId}}: {{this.error}}
|
||||
|
||||
if jobHasErrors
|
||||
.trello-import-errors
|
||||
p
|
||||
b {{_ 'trello-import-errors'}}
|
||||
button.primary.js-trello-copy-errors(type="button") {{_ 'copy-to-clipboard'}}
|
||||
if copied.get
|
||||
span.quiet {{_ 'copied'}}
|
||||
textarea.js-trello-errors-text(readonly rows="8" wrap="off")= jobErrorText
|
||||
|
||||
template(name="importMapMembers")
|
||||
h2 {{_ 'import-map-members'}}
|
||||
|
||||
@@ -6,6 +6,8 @@ import { csvGetMembersToMap } from './csvMembersMapper';
|
||||
import getSlug from 'limax';
|
||||
import { UserSearchIndex } from '/models/users';
|
||||
import { Utils } from '/client/lib/utils';
|
||||
import { TAPi18n } from '/imports/i18n';
|
||||
import TrelloImportJobs from '/models/trelloImportJobs';
|
||||
|
||||
const Papa = require('papaparse');
|
||||
|
||||
@@ -44,6 +46,92 @@ function _prepareAdditionalData(dataObject) {
|
||||
return membersToMap;
|
||||
}
|
||||
|
||||
// All Trello file/text imports are run on the server over HTTP instead of the
|
||||
// DDP `importBoard` method. This matters for correctness, not just size: Meteor
|
||||
// automatically re-sends an unacknowledged method call on every reconnect, so if
|
||||
// an import is heavy (or the connection hiccups) the WebSocket can enter an
|
||||
// endless drop/retry loop (the "Invalid frame header" flicker). An HTTP request
|
||||
// is never auto-retried, and a .zip's attachment bytes never touch the realtime
|
||||
// connection at all. The body is either a .zip File (application/zip) or a JSON
|
||||
// string { board, membersMapping } (application/json).
|
||||
async function postTrelloImport(body, contentType) {
|
||||
const token =
|
||||
(window.localStorage && window.localStorage.getItem('Meteor.loginToken')) || '';
|
||||
const resp = await fetch('/import-trello', {
|
||||
method: 'POST',
|
||||
credentials: 'same-origin',
|
||||
headers: {
|
||||
'Content-Type': contentType,
|
||||
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
||||
},
|
||||
body,
|
||||
});
|
||||
let result = {};
|
||||
try {
|
||||
result = await resp.json();
|
||||
} catch (e) {
|
||||
result = {};
|
||||
}
|
||||
if (!resp.ok || result.error) {
|
||||
throw new Error(result.error || 'import-trello-failed');
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// A safe URL slug for an imported board. Trello exports name the board `name`,
|
||||
// WeKan exports use `title`; getSlug (limax) throws on undefined, so guard it.
|
||||
function boardSlug(data) {
|
||||
const raw = (data && (data.title || data.name)) || '';
|
||||
return (raw && getSlug(raw)) || 'imported-board';
|
||||
}
|
||||
|
||||
// Navigate to a freshly server-imported board. The HTTP import (unlike a DDP
|
||||
// method) does not push the new board's documents to this client, so we first
|
||||
// subscribe to the board and wait until its lists/swimlanes/cards are loaded
|
||||
// into Minimongo — otherwise the board opens with an empty Swimlanes view until
|
||||
// the page is reloaded. The subscription is left running so the data stays
|
||||
// available when the board is reopened from All Boards in the same session. A
|
||||
// timeout is the safety net in case the subscription never signals ready.
|
||||
function goToImportedBoard(boardId, slug) {
|
||||
let navigated = false;
|
||||
const go = () => {
|
||||
if (navigated) return;
|
||||
navigated = true;
|
||||
FlowRouter.go('board', { id: boardId, slug });
|
||||
};
|
||||
Meteor.subscribe('board', boardId, false, { onReady: go });
|
||||
Meteor.setTimeout(go, 5000);
|
||||
}
|
||||
|
||||
// Find a workspace node by name anywhere in the user's personal workspace tree.
|
||||
function findWorkspaceByName(nodes, name) {
|
||||
for (const node of nodes || []) {
|
||||
if (node.name === name) return node;
|
||||
if (node.children) {
|
||||
const found = findWorkspaceByName(node.children, name);
|
||||
if (found) return found;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Assign an imported board to a personal workspace named `wsName`, creating the
|
||||
// workspace (under an optional parent) only if one with that name doesn't exist.
|
||||
function assignBoardToNamedWorkspace(boardId, wsName, parentId = null) {
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
const tree = (user && user.profile && user.profile.boardWorkspacesTree) || [];
|
||||
const existing = findWorkspaceByName(tree, wsName);
|
||||
if (existing) {
|
||||
Meteor.call('assignBoardToWorkspace', boardId, existing.id);
|
||||
return;
|
||||
}
|
||||
Meteor.call('createWorkspace', { parentId, name: wsName }, (err, node) => {
|
||||
if (!err && node) {
|
||||
Meteor.call('assignBoardToWorkspace', boardId, node.id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Template.import.onCreated(function () {
|
||||
this.error = new ReactiveVar('');
|
||||
this.steps = ['importTextarea', 'importMapMembers'];
|
||||
@@ -51,6 +139,8 @@ Template.import.onCreated(function () {
|
||||
this.importedData = new ReactiveVar();
|
||||
this.membersToMap = new ReactiveVar([]);
|
||||
this.importSource = Session.get('importSource');
|
||||
// True while a Trello .zip package is being uploaded/imported server-side.
|
||||
this.zipImporting = new ReactiveVar(false);
|
||||
|
||||
this.nextStep = () => {
|
||||
const nextStepIndex = this._currentStepIndex.get() + 1;
|
||||
@@ -65,10 +155,10 @@ Template.import.onCreated(function () {
|
||||
this.error.set(error);
|
||||
};
|
||||
|
||||
this.importData = (evt, dataSource) => {
|
||||
this.importData = async (evt, dataSource) => {
|
||||
evt.preventDefault();
|
||||
const input = this.find('.js-import-json').value;
|
||||
if (dataSource === 'csv') {
|
||||
const input = this.find('.js-import-json').value;
|
||||
const csv = input.indexOf('\t') > 0 ? input.replace(/(\t)/g, ',') : input;
|
||||
const ret = Papa.parse(csv);
|
||||
if (ret && ret.data && ret.data.length) this.importedData.set(ret.data);
|
||||
@@ -76,52 +166,136 @@ Template.import.onCreated(function () {
|
||||
const membersToMap = _prepareAdditionalData(ret.data);
|
||||
this.membersToMap.set(membersToMap);
|
||||
this.nextStep();
|
||||
} else {
|
||||
try {
|
||||
const dataObject = JSON.parse(input);
|
||||
this.setError('');
|
||||
this.importedData.set(dataObject);
|
||||
const membersToMap = _prepareAdditionalData(dataObject);
|
||||
// store members data and mapping in Session
|
||||
// (we go deep and 2-way, so storing in data context is not a viable option)
|
||||
this.membersToMap.set(membersToMap);
|
||||
this.nextStep();
|
||||
} catch (e) {
|
||||
this.setError('error-json-malformed');
|
||||
return;
|
||||
}
|
||||
// Trello: a .zip package (one or more board .json files plus per-board
|
||||
// attachment subdirectories from the Trello Attachments Downloader) imports
|
||||
// all of its boards at once, through a separate field from the single .json.
|
||||
if (dataSource === 'trello') {
|
||||
const zipEl = this.find('.js-import-zip-file');
|
||||
if (zipEl && zipEl.files && zipEl.files[0]) {
|
||||
await this.importTrelloZip(zipEl.files[0]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
try {
|
||||
// A single board: JSON may come from an uploaded .json file (large Trello
|
||||
// exports are awkward to paste) or from the textarea.
|
||||
let input = this.find('.js-import-json').value;
|
||||
const jsonFileEl = this.find('.js-import-json-file');
|
||||
if (jsonFileEl && jsonFileEl.files && jsonFileEl.files[0]) {
|
||||
input = await jsonFileEl.files[0].text();
|
||||
}
|
||||
const dataObject = JSON.parse(input);
|
||||
this.setError('');
|
||||
|
||||
// Trello: remember the target personal-workspace name for finishImport.
|
||||
this.workspaceName = '';
|
||||
if (dataSource === 'trello') {
|
||||
const wsEl = this.find('.js-import-workspace-name');
|
||||
this.workspaceName = wsEl && wsEl.value ? wsEl.value.trim() : '';
|
||||
}
|
||||
|
||||
this.importedData.set(dataObject);
|
||||
const membersToMap = _prepareAdditionalData(dataObject);
|
||||
// store members data and mapping in Session
|
||||
// (we go deep and 2-way, so storing in data context is not a viable option)
|
||||
this.membersToMap.set(membersToMap);
|
||||
this.nextStep();
|
||||
} catch (e) {
|
||||
this.setError('error-json-malformed');
|
||||
}
|
||||
};
|
||||
|
||||
this.finishImport = () => {
|
||||
const additionalData = {};
|
||||
// Upload a Trello .zip package to the server, which extracts it (with
|
||||
// zip-bomb / path-traversal guards), imports every board and streams each
|
||||
// attachment to the Default storage, then go to All Boards.
|
||||
this.importTrelloZip = async (zipFile) => {
|
||||
this.setError('');
|
||||
const wsEl = this.find('.js-import-workspace-name');
|
||||
const workspaceName = wsEl && wsEl.value ? wsEl.value.trim() : '';
|
||||
|
||||
this.zipImporting.set(true);
|
||||
let result;
|
||||
try {
|
||||
result = await postTrelloImport(zipFile, 'application/zip');
|
||||
} catch (e) {
|
||||
this.zipImporting.set(false);
|
||||
this.setError((e && e.message) || 'import-trello-failed');
|
||||
return;
|
||||
}
|
||||
this.zipImporting.set(false);
|
||||
|
||||
(result.boardIds || []).forEach(boardId => {
|
||||
if (workspaceName) {
|
||||
assignBoardToNamedWorkspace(boardId, workspaceName);
|
||||
}
|
||||
});
|
||||
Session.set('fromBoard', null);
|
||||
// Go to All Boards, where the newly imported boards appear.
|
||||
FlowRouter.go('home');
|
||||
};
|
||||
|
||||
this.finishImport = async () => {
|
||||
const membersMapping = this.membersToMap.get();
|
||||
const mappingById = {};
|
||||
if (membersMapping) {
|
||||
const mappingById = {};
|
||||
membersMapping.forEach(member => {
|
||||
if (member.wekanId) {
|
||||
mappingById[member.id] = member.wekanId;
|
||||
}
|
||||
});
|
||||
additionalData.membersMapping = mappingById;
|
||||
}
|
||||
const importedData = this.importedData.get();
|
||||
|
||||
// Trello: import over HTTP (see postTrelloImport) so the realtime DDP
|
||||
// connection is never used for the board payload and can't enter the
|
||||
// drop/retry "Invalid frame header" flicker loop. Do NOT mutate the still-
|
||||
// mounted map-members template (e.g. clearing membersToMap) before
|
||||
// navigating away — that forces an empty re-render mid-teardown and can
|
||||
// throw "Can't select in removed DomRange". We navigate away, which
|
||||
// destroys the import templates.
|
||||
if (this.importSource === 'trello') {
|
||||
let result;
|
||||
try {
|
||||
result = await postTrelloImport(
|
||||
JSON.stringify({ board: importedData, membersMapping: mappingById }),
|
||||
'application/json',
|
||||
);
|
||||
} catch (e) {
|
||||
this.setError((e && e.message) || 'import-trello-failed');
|
||||
return;
|
||||
}
|
||||
const boardId = (result.boardIds || [])[0];
|
||||
if (!boardId) {
|
||||
this.setError('import-trello-failed');
|
||||
return;
|
||||
}
|
||||
Session.set('fromBoard', null);
|
||||
if (this.workspaceName) {
|
||||
assignBoardToNamedWorkspace(boardId, this.workspaceName);
|
||||
}
|
||||
goToImportedBoard(boardId, boardSlug(importedData));
|
||||
return;
|
||||
}
|
||||
|
||||
// wekan / csv: unchanged DDP import.
|
||||
this.membersToMap.set([]);
|
||||
Meteor.call(
|
||||
'importBoard',
|
||||
this.importedData.get(),
|
||||
additionalData,
|
||||
importedData,
|
||||
{ membersMapping: mappingById },
|
||||
this.importSource,
|
||||
Session.get('fromBoard'),
|
||||
(err, res) => {
|
||||
if (err) {
|
||||
this.setError(err.error);
|
||||
} else {
|
||||
let title = getSlug(this.importedData.get().title) || 'imported-board';
|
||||
Session.set('fromBoard', null);
|
||||
FlowRouter.go('board', {
|
||||
id: res,
|
||||
slug: title,
|
||||
slug: boardSlug(importedData),
|
||||
});
|
||||
//Utils.goBoardId(res);
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -135,6 +309,9 @@ Template.import.helpers({
|
||||
currentTemplate() {
|
||||
return Template.instance().steps[Template.instance()._currentStepIndex.get()];
|
||||
},
|
||||
zipImporting() {
|
||||
return Template.instance().zipImporting.get();
|
||||
},
|
||||
});
|
||||
|
||||
Template.importTextarea.helpers({
|
||||
@@ -149,6 +326,9 @@ Template.importTextarea.helpers({
|
||||
return 'import-json-placeholder';
|
||||
}
|
||||
},
|
||||
isTrelloImport() {
|
||||
return Session.get('importSource') === 'trello';
|
||||
},
|
||||
});
|
||||
|
||||
Template.importTextarea.events({
|
||||
@@ -320,7 +500,11 @@ Template.importMapMembersAddPopup.onCreated(function () {
|
||||
});
|
||||
|
||||
Template.importMapMembersAddPopup.onRendered(function () {
|
||||
this.find('.js-search-member-input').focus();
|
||||
// Guard against the DOM range being gone (e.g. the popup was closed during a
|
||||
// re-render) — calling find/$ then throws "Can't select in removed DomRange".
|
||||
if (this.view && this.view.isDestroyed) return;
|
||||
const input = this.find('.js-search-member-input');
|
||||
if (input) input.focus();
|
||||
});
|
||||
|
||||
Template.importMapMembersAddPopup.onDestroyed(function () {
|
||||
@@ -380,3 +564,310 @@ Template.importMapMembersAddPopup.helpers({
|
||||
return importMemberPopupState.noResults;
|
||||
},
|
||||
});
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Live Trello API import: key/token -> list workspaces & boards -> import
|
||||
// selected boards (with attachments) server-side, placing each under a
|
||||
// personal workspace named after its Trello workspace.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function flattenWorkspaceTree(nodes, depth = 0, acc = []) {
|
||||
(nodes || []).forEach(node => {
|
||||
acc.push({ id: node.id, label: `${'— '.repeat(depth)}${node.name}` });
|
||||
if (node.children && node.children.length) {
|
||||
flattenWorkspaceTree(node.children, depth + 1, acc);
|
||||
}
|
||||
});
|
||||
return acc;
|
||||
}
|
||||
|
||||
// Build the copy-paste-friendly error text for a job: the error log plus a
|
||||
// summary line per failed board.
|
||||
function jobErrorText(job) {
|
||||
if (!job) return '';
|
||||
const lines = [];
|
||||
(job.errorLog || []).forEach(line => lines.push(line));
|
||||
return lines.join('\n');
|
||||
}
|
||||
|
||||
Template.importTrelloApi.onCreated(function () {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.workspaces = new ReactiveVar([]);
|
||||
this.copied = new ReactiveVar(false);
|
||||
// Board selection state: map of trelloBoardId -> true. Tracked here (rather
|
||||
// than via DOM checkboxes) because the UI uses animated .materialCheckBox
|
||||
// elements, not native inputs.
|
||||
this.selectedBoards = new ReactiveVar({});
|
||||
// The import itself runs server-side as a persisted job; watch it reactively
|
||||
// so progress survives navigating away and back.
|
||||
this.subscribe('trelloImportJobs');
|
||||
});
|
||||
|
||||
// Collect every board id across all listed workspaces.
|
||||
function allBoardIds(workspaces) {
|
||||
const ids = {};
|
||||
(workspaces || []).forEach(ws => {
|
||||
(ws.boards || []).forEach(b => {
|
||||
ids[b.id] = true;
|
||||
});
|
||||
});
|
||||
return ids;
|
||||
}
|
||||
|
||||
Template.importTrelloApi.helpers({
|
||||
error() {
|
||||
return Template.instance().error;
|
||||
},
|
||||
loading() {
|
||||
return Template.instance().loading;
|
||||
},
|
||||
copied() {
|
||||
return Template.instance().copied;
|
||||
},
|
||||
hasWorkspaces() {
|
||||
return Template.instance().workspaces.get().length > 0;
|
||||
},
|
||||
workspaceList() {
|
||||
return Template.instance().workspaces.get();
|
||||
},
|
||||
boardSelected() {
|
||||
return !!Template.instance().selectedBoards.get()[this.id];
|
||||
},
|
||||
workspaceSelected() {
|
||||
const sel = Template.instance().selectedBoards.get();
|
||||
const boards = this.boards || [];
|
||||
return boards.length > 0 && boards.every(b => sel[b.id]);
|
||||
},
|
||||
flatWorkspaceNodes() {
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
const tree = (user && user.profile && user.profile.boardWorkspacesTree) || [];
|
||||
return flattenWorkspaceTree(tree);
|
||||
},
|
||||
credsSaved() {
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
return !!(user && user.profile && user.profile.trelloApiSaved);
|
||||
},
|
||||
|
||||
// --- current background job ---
|
||||
currentJob() {
|
||||
return TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
},
|
||||
jobIsRunning() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
return job && job.status === 'running';
|
||||
},
|
||||
jobCanResume() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
return job && (job.status === 'paused' || job.status === 'error');
|
||||
},
|
||||
jobIsFinished() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
return job && (job.status === 'done' || job.status === 'cancelled');
|
||||
},
|
||||
canStartImport() {
|
||||
// Don't start a second import while one is active (running/paused/error),
|
||||
// which would create a hidden concurrent job.
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
return !job || job.status === 'done' || job.status === 'cancelled';
|
||||
},
|
||||
jobProgressText() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
if (!job) return '';
|
||||
return `${job.currentIndex} / ${job.total}`;
|
||||
},
|
||||
jobProgressPercent() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
if (!job || !job.total) return 0;
|
||||
return Math.round((job.currentIndex / job.total) * 100);
|
||||
},
|
||||
jobResults() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
return (job && job.results) || [];
|
||||
},
|
||||
jobHasErrors() {
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
return !!(job && job.errorLog && job.errorLog.length);
|
||||
},
|
||||
jobErrorText() {
|
||||
return jobErrorText(TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } }));
|
||||
},
|
||||
});
|
||||
|
||||
Template.importTrelloApi.events({
|
||||
'click .js-trello-save-creds'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const key = tpl.find('.js-trello-key').value.trim();
|
||||
const token = tpl.find('.js-trello-token').value.trim();
|
||||
if (!key || !token) {
|
||||
tpl.error.set('trello-api-credentials-required');
|
||||
return;
|
||||
}
|
||||
tpl.error.set('');
|
||||
Meteor.call('saveTrelloCredentials', key, token, err => {
|
||||
if (err) {
|
||||
tpl.error.set(err.reason || err.error || 'trello-api-error');
|
||||
return;
|
||||
}
|
||||
// Don't keep the token sitting in the browser; it now lives server-side.
|
||||
tpl.find('.js-trello-key').value = '';
|
||||
tpl.find('.js-trello-token').value = '';
|
||||
});
|
||||
},
|
||||
'click .js-trello-delete-creds'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
tpl.error.set('');
|
||||
Meteor.call('deleteTrelloCredentials', err => {
|
||||
if (err) tpl.error.set(err.reason || err.error || 'trello-api-error');
|
||||
});
|
||||
tpl.find('.js-trello-key').value = '';
|
||||
tpl.find('.js-trello-token').value = '';
|
||||
},
|
||||
'click .js-trello-list-workspaces'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
// key/token may be empty when saved credentials exist; the server falls
|
||||
// back to the saved ones and returns an error if neither is available.
|
||||
const key = tpl.find('.js-trello-key').value.trim();
|
||||
const token = tpl.find('.js-trello-token').value.trim();
|
||||
tpl.error.set('');
|
||||
tpl.loading.set(true);
|
||||
Meteor.call('trelloListWorkspaces', key, token, (err, res) => {
|
||||
tpl.loading.set(false);
|
||||
if (err) {
|
||||
tpl.error.set(err.reason || err.error || 'trello-api-error');
|
||||
tpl.workspaces.set([]);
|
||||
tpl.selectedBoards.set({});
|
||||
} else {
|
||||
const workspaces = res || [];
|
||||
tpl.workspaces.set(workspaces);
|
||||
// Preselect all boards by default.
|
||||
tpl.selectedBoards.set(allBoardIds(workspaces));
|
||||
}
|
||||
});
|
||||
},
|
||||
// Toggle a single board's animated checkbox.
|
||||
'click .js-toggle-board'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const id = this.id;
|
||||
const sel = { ...tpl.selectedBoards.get() };
|
||||
if (sel[id]) {
|
||||
delete sel[id];
|
||||
} else {
|
||||
sel[id] = true;
|
||||
}
|
||||
tpl.selectedBoards.set(sel);
|
||||
},
|
||||
// Toggle all boards in a workspace: if all are selected, clear them; else
|
||||
// select them all.
|
||||
'click .js-toggle-workspace'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const boards = this.boards || [];
|
||||
const sel = { ...tpl.selectedBoards.get() };
|
||||
const allSelected = boards.length > 0 && boards.every(b => sel[b.id]);
|
||||
boards.forEach(b => {
|
||||
if (allSelected) {
|
||||
delete sel[b.id];
|
||||
} else {
|
||||
sel[b.id] = true;
|
||||
}
|
||||
});
|
||||
tpl.selectedBoards.set(sel);
|
||||
},
|
||||
'click .js-trello-select-all'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
tpl.selectedBoards.set(allBoardIds(tpl.workspaces.get()));
|
||||
},
|
||||
'click .js-trello-unselect-all'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
tpl.selectedBoards.set({});
|
||||
},
|
||||
'click .js-trello-import-selected'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const key = tpl.find('.js-trello-key').value.trim();
|
||||
const token = tpl.find('.js-trello-token').value.trim();
|
||||
const sel = tpl.selectedBoards.get();
|
||||
const boardIds = Object.keys(sel).filter(id => sel[id]);
|
||||
if (!boardIds.length) {
|
||||
tpl.error.set('trello-select-boards');
|
||||
return;
|
||||
}
|
||||
const parentEl = tpl.find('.js-trello-parent-workspace');
|
||||
const parentId = parentEl && parentEl.value ? parentEl.value : null;
|
||||
|
||||
tpl.error.set('');
|
||||
// Start the server-side job; progress shows up via the subscription. The
|
||||
// user is free to navigate away and come back.
|
||||
Meteor.call('trelloStartImport', key, token, boardIds, parentId, err => {
|
||||
if (err) {
|
||||
tpl.error.set(err.reason || err.error || 'trello-api-error');
|
||||
}
|
||||
});
|
||||
},
|
||||
'click .js-trello-resume'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
if (!job) return;
|
||||
const key = tpl.find('.js-trello-key').value.trim();
|
||||
const token = tpl.find('.js-trello-token').value.trim();
|
||||
if (!key || !token) {
|
||||
tpl.error.set('trello-api-credentials-required');
|
||||
return;
|
||||
}
|
||||
tpl.error.set('');
|
||||
Meteor.call('trelloResumeImport', job._id, key, token, err => {
|
||||
if (err) tpl.error.set(err.reason || err.error || 'trello-api-error');
|
||||
});
|
||||
},
|
||||
'click .js-trello-cancel'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
if (!job) return;
|
||||
Meteor.call('trelloCancelImport', job._id, false);
|
||||
},
|
||||
'click .js-trello-cancel-delete'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
if (!job) return;
|
||||
// eslint-disable-next-line no-alert
|
||||
if (!window.confirm(TAPi18n.__('trello-cancel-delete-confirm'))) return;
|
||||
Meteor.call('trelloCancelImport', job._id, true);
|
||||
},
|
||||
'click .js-trello-clear'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
if (!job) return;
|
||||
Meteor.call('trelloClearImportJob', job._id, false);
|
||||
},
|
||||
'click .js-trello-copy-errors'(evt, tpl) {
|
||||
evt.preventDefault();
|
||||
const job = TrelloImportJobs.findOne({}, { sort: { createdAt: -1 } });
|
||||
const text = jobErrorText(job);
|
||||
if (!text) return;
|
||||
const done = () => {
|
||||
tpl.copied.set(true);
|
||||
setTimeout(() => tpl.copied.set(false), 2000);
|
||||
};
|
||||
if (navigator.clipboard && navigator.clipboard.writeText) {
|
||||
navigator.clipboard.writeText(text).then(done, () => {
|
||||
// Fall back to selecting the textarea so the user can copy manually.
|
||||
const ta = tpl.find('.js-trello-errors-text');
|
||||
if (ta) {
|
||||
ta.focus();
|
||||
ta.select();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
const ta = tpl.find('.js-trello-errors-text');
|
||||
if (ta) {
|
||||
ta.focus();
|
||||
ta.select();
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
done();
|
||||
} catch (e) {
|
||||
// user can copy manually from the selected textarea
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -4,15 +4,24 @@ export function wekanGetMembersToMap(data) {
|
||||
// we will work on the list itself (an ordered array of objects) when a
|
||||
// mapping is done, we add a 'wekan' field to the object representing the
|
||||
// imported member
|
||||
const membersToMap = data.members;
|
||||
const users = data.users;
|
||||
const membersToMap = data.members || [];
|
||||
const users = data.users || [];
|
||||
// auto-map based on username
|
||||
const mappable = [];
|
||||
membersToMap.forEach(importedMember => {
|
||||
importedMember.id = importedMember.userId;
|
||||
delete importedMember.userId;
|
||||
const user = users.filter(user => {
|
||||
return user._id === importedMember.id;
|
||||
})[0];
|
||||
// The exported `users` array only contains users that still exist in the
|
||||
// source instance, so a member whose account was deleted (or any other
|
||||
// dangling user reference, e.g. from an older export) has no matching
|
||||
// user. Skip it instead of dereferencing `undefined`, which would throw
|
||||
// and make the whole import fail as "error-json-malformed".
|
||||
if (!user) {
|
||||
return;
|
||||
}
|
||||
if (user.profile && user.profile.fullname) {
|
||||
importedMember.fullName = user.profile.fullname;
|
||||
}
|
||||
@@ -21,6 +30,7 @@ export function wekanGetMembersToMap(data) {
|
||||
if (wekanUser) {
|
||||
importedMember.wekanId = wekanUser._id;
|
||||
}
|
||||
mappable.push(importedMember);
|
||||
});
|
||||
return membersToMap;
|
||||
return mappable;
|
||||
}
|
||||
@@ -342,3 +342,51 @@ body.grey-icons-enabled .sidebar .sidebar-content ul.sidebar-list li > a .fa.fa-
|
||||
padding-top: 5px;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* Board backgrounds management popup */
|
||||
.board-backgrounds-manage .board-backgrounds-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 8px;
|
||||
}
|
||||
.board-bg-item {
|
||||
width: 48%;
|
||||
margin: 1%;
|
||||
border: 2px solid transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.board-bg-item.is-active {
|
||||
border-color: #3cb500;
|
||||
}
|
||||
.board-bg-thumb {
|
||||
height: 80px;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
border-radius: 3px;
|
||||
position: relative;
|
||||
}
|
||||
.board-bg-active-check {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 4px;
|
||||
color: #3cb500;
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
border-radius: 50%;
|
||||
padding: 2px;
|
||||
}
|
||||
.board-bg-actions {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.board-bg-actions a {
|
||||
cursor: pointer;
|
||||
color: #4d4d4d;
|
||||
}
|
||||
.board-bg-actions a:hover {
|
||||
color: #000;
|
||||
}
|
||||
.js-bg-upload-button {
|
||||
display: inline-block;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
@@ -129,6 +129,38 @@ template(name="boardChangeColorPopup")
|
||||
if isSelected
|
||||
i.fa.fa-check
|
||||
|
||||
template(name="boardBackgroundsPopup")
|
||||
.board-backgrounds-manage
|
||||
input.js-bg-upload-input.hide(type="file" name="file" accept="image/*")
|
||||
a.primary.wide.js-bg-upload-button
|
||||
i.fa.fa-plus
|
||||
= ' '
|
||||
| {{_ 'upload-background'}}
|
||||
if uploading.get
|
||||
+spinner
|
||||
if error.get
|
||||
.warning {{_ error.get}}
|
||||
.board-backgrounds-grid.clearfix
|
||||
each backgrounds
|
||||
.board-bg-item(class="{{#if isActiveBackground}}is-active{{/if}}")
|
||||
.board-bg-thumb(style="background-image: url('{{link}}');")
|
||||
if isActiveBackground
|
||||
i.fa.fa-check.board-bg-active-check
|
||||
.board-bg-actions
|
||||
unless isActiveBackground
|
||||
a.js-set-board-background(title="{{_ 'set-as-active'}}")
|
||||
i.fa.fa-check-circle-o
|
||||
a.js-download-board-background(href="{{link}}?download=true" download="{{name}}" title="{{_ 'download'}}")
|
||||
i.fa.fa-arrow-down
|
||||
a.js-delete-board-background(title="{{_ 'delete'}}")
|
||||
i.fa.fa-trash-o
|
||||
|
||||
template(name="deleteBoardBackgroundPopup")
|
||||
p {{_ 'board-background-delete-pop'}}
|
||||
button.js-confirm.negate.full(type="submit")
|
||||
i.fa.fa-trash-o
|
||||
| {{_ 'delete'}}
|
||||
|
||||
template(name="boardChangeBackgroundImagePopup")
|
||||
form
|
||||
label
|
||||
@@ -567,6 +599,10 @@ template(name="boardMenuPopup")
|
||||
a.js-change-background-image
|
||||
i.fa.fa-picture-o
|
||||
| {{_ 'board-change-background-image'}}
|
||||
li
|
||||
a.js-manage-board-backgrounds
|
||||
i.fa.fa-image
|
||||
| {{_ 'board-backgrounds'}}
|
||||
//Bug Board icons random dance https://github.com/wekan/wekan/issues/4214
|
||||
//if currentUser.isBoardAdmin
|
||||
//
|
||||
|
||||
@@ -7,6 +7,8 @@ import { FlowRouter } from 'meteor/ostrio:flow-router-extra';
|
||||
import { InfiniteScrolling } from '/client/lib/infiniteScrolling';
|
||||
import AccessibilitySettings from '/models/accessibilitySettings';
|
||||
import Boards from '/models/boards';
|
||||
import Attachments from '/models/attachments';
|
||||
import { generateUniversalAttachmentUrl } from '/models/lib/universalUrlGenerator';
|
||||
import Integrations from '/models/integrations';
|
||||
import Lists from '/models/lists';
|
||||
import { BOARD_COLORS } from '/models/metadata/colors';
|
||||
@@ -347,6 +349,7 @@ Template.boardMenuPopup.events({
|
||||
},
|
||||
'click .js-change-board-color': Popup.open('boardChangeColor'),
|
||||
'click .js-change-background-image': Popup.open('boardChangeBackgroundImage'),
|
||||
'click .js-manage-board-backgrounds': Popup.open('boardBackgrounds'),
|
||||
'click .js-board-info-on-my-boards': Popup.open('boardInfoOnMyBoards'),
|
||||
'click .js-change-language': Popup.open('changeLanguage'),
|
||||
'click .js-delete-duplicate-lists': Popup.afterConfirm('deleteDuplicateLists', function() {
|
||||
@@ -869,6 +872,87 @@ Template.boardChangeBackgroundImagePopup.helpers({
|
||||
},
|
||||
});
|
||||
|
||||
// Manage the board's stored background images (upload / set active / download /
|
||||
// delete). Backgrounds are board-level Attachments (meta.boardId, no cardId,
|
||||
// meta.source === 'board-background') in the default attachments storage.
|
||||
Template.boardBackgroundsPopup.onCreated(function () {
|
||||
this.uploading = new ReactiveVar(false);
|
||||
this.error = new ReactiveVar('');
|
||||
const board = Utils.getCurrentBoard();
|
||||
this.boardId = board && board._id;
|
||||
if (this.boardId) {
|
||||
this.subscribe('boardBackgrounds', this.boardId);
|
||||
}
|
||||
});
|
||||
|
||||
Template.boardBackgroundsPopup.helpers({
|
||||
uploading() {
|
||||
return Template.instance().uploading;
|
||||
},
|
||||
error() {
|
||||
return Template.instance().error;
|
||||
},
|
||||
backgrounds() {
|
||||
// Raw collection docs don't carry the .link() helper, so compute the URL.
|
||||
return Attachments.collection
|
||||
.find({
|
||||
'meta.boardId': Template.instance().boardId,
|
||||
'meta.source': 'board-background',
|
||||
})
|
||||
.fetch()
|
||||
.map(att => ({
|
||||
_id: att._id,
|
||||
name: att.name,
|
||||
link: generateUniversalAttachmentUrl(att._id),
|
||||
}));
|
||||
},
|
||||
isActiveBackground() {
|
||||
const board = Utils.getCurrentBoard();
|
||||
return board && board.backgroundImageId === this._id;
|
||||
},
|
||||
});
|
||||
|
||||
Template.boardBackgroundsPopup.events({
|
||||
'click .js-bg-upload-button'(event, tpl) {
|
||||
event.preventDefault();
|
||||
tpl.find('.js-bg-upload-input').click();
|
||||
},
|
||||
async 'change .js-bg-upload-input'(event, tpl) {
|
||||
const file = event.currentTarget.files && event.currentTarget.files[0];
|
||||
if (!file) return;
|
||||
tpl.error.set('');
|
||||
tpl.uploading.set(true);
|
||||
const uploader = await Attachments.insertAsync(
|
||||
{
|
||||
file,
|
||||
chunkSize: 'dynamic',
|
||||
meta: { boardId: tpl.boardId, source: 'board-background' },
|
||||
},
|
||||
false,
|
||||
);
|
||||
uploader.on('end', (err) => {
|
||||
tpl.uploading.set(false);
|
||||
if (err) tpl.error.set(err.reason || 'upload-failed');
|
||||
});
|
||||
uploader.on('error', (err) => {
|
||||
tpl.uploading.set(false);
|
||||
tpl.error.set((err && err.reason) || 'upload-failed');
|
||||
});
|
||||
uploader.start();
|
||||
// allow re-selecting the same file later
|
||||
event.currentTarget.value = '';
|
||||
},
|
||||
async 'click .js-set-board-background'() {
|
||||
const board = Utils.getCurrentBoard();
|
||||
await board.setBackgroundImage(this._id);
|
||||
Utils.setBackgroundImage();
|
||||
},
|
||||
'click .js-delete-board-background': Popup.afterConfirm('deleteBoardBackground', function () {
|
||||
Meteor.call('removeBoardBackground', this._id);
|
||||
Popup.back();
|
||||
}),
|
||||
});
|
||||
|
||||
Template.boardInfoOnMyBoardsPopup.onCreated(function() {
|
||||
this.currentBoard = Utils.getCurrentBoard();
|
||||
});
|
||||
|
||||
@@ -163,6 +163,19 @@ function currentListIsInThisSwimlane(swimlaneId) {
|
||||
|
||||
function currentCardIsInThisList(listId, swimlaneId) {
|
||||
const currentCard = Utils.getCurrentCard();
|
||||
if (!currentCard) return false;
|
||||
// On desktop a clicked card is shown as a draggable popup via the openCards
|
||||
// list (rendered once in boardBody). Don't ALSO render it inline here, or the
|
||||
// card opens twice — the inline copy sits under the popup and becomes visible
|
||||
// when the popup is dragged away by its titlebar handle. Direct card-URL
|
||||
// navigation sets only currentCard (not openCards), so those still render
|
||||
// inline as before.
|
||||
if (!Utils.isMiniScreen()) {
|
||||
const openCards = Session.get('openCards') || [];
|
||||
if (openCards.includes(currentCard._id)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//const currentUser = ReactiveCache.getCurrentUser();
|
||||
if (
|
||||
//currentUser &&
|
||||
|
||||
@@ -3,6 +3,7 @@ import '/client/components/cards/cardCustomFields.jade';
|
||||
import '/client/components/cards/cardDate.jade';
|
||||
import '/client/components/cards/cardDescription.jade';
|
||||
import '/client/components/cards/cardDetails.jade';
|
||||
import '/client/components/cards/cardStickers.jade';
|
||||
import '/client/components/cards/cardTime.jade';
|
||||
import '/client/components/cards/checklists.jade';
|
||||
import '/client/components/cards/inlinedCardDescription.jade';
|
||||
@@ -16,6 +17,7 @@ import '/client/components/cards/cardCustomFields.js';
|
||||
import '/client/components/cards/cardDate.js';
|
||||
import '/client/components/cards/cardDescription.js';
|
||||
import '/client/components/cards/cardDetails.js';
|
||||
import '/client/components/cards/cardStickers.js';
|
||||
import '/client/components/cards/cardTime.js';
|
||||
import '/client/components/cards/checklists.js';
|
||||
import '/client/components/cards/labels.js';
|
||||
@@ -31,6 +33,6 @@ import '/client/components/cards/cardTime.css';
|
||||
import '/client/components/cards/checklists.css';
|
||||
import '/client/components/cards/labels.css';
|
||||
import '/client/components/cards/minicard.css';
|
||||
import '/client/components/cards/minicardOverrides.css';
|
||||
import '/client/components/cards/resultCard.css';
|
||||
import '/client/components/cards/subtasks.css';
|
||||
|
||||
+17
-2
@@ -84,7 +84,7 @@ window.Popup = new (class {
|
||||
hasPopupParent: clickFromPopup(evt),
|
||||
title: self._getTitle(popupName),
|
||||
depth: self._stack.length,
|
||||
offset: self._getOffset(openerElement),
|
||||
offset: self._getOffset(openerElement, popupName),
|
||||
dataContext: (this && this.currentData && this.currentData()) || (options && options.dataContextIfCurrentDataIsUndefined) || this,
|
||||
});
|
||||
|
||||
@@ -217,7 +217,7 @@ window.Popup = new (class {
|
||||
// We automatically calculate the popup offset from the reference element
|
||||
// position and dimensions. We also reactively use the window dimensions to
|
||||
// ensure that the popup is always visible on the screen.
|
||||
_getOffset(element) {
|
||||
_getOffset(element, popupName) {
|
||||
const $element = $(element);
|
||||
return () => {
|
||||
Utils.windowResizeDep.depend();
|
||||
@@ -230,6 +230,21 @@ window.Popup = new (class {
|
||||
// Calculate actual popup width based on CSS: min(380px, 55vw)
|
||||
const popupWidth = Math.min(380, viewportWidth * 0.55);
|
||||
|
||||
// Card details popup: dock it to the top of the viewport so it overlays
|
||||
// the global and board header bars (its z-index already sits above them)
|
||||
// instead of opening downward from the clicked minicard.
|
||||
if (popupName === 'cardDetailsPopup') {
|
||||
const cardWidth = Math.min(600, viewportWidth * 0.8);
|
||||
const centeredLeft = (viewportWidth - cardWidth) / 2;
|
||||
// top is forced to 0 in CSS (.pop-over[data-popup="cardDetailsPopup"])
|
||||
// so the card overlays the header bars; use the full viewport height.
|
||||
return {
|
||||
left: Math.max(viewportPadding, centeredLeft),
|
||||
top: 0,
|
||||
maxHeight: viewportHeight,
|
||||
};
|
||||
}
|
||||
|
||||
// If the opener element is missing (e.g., programmatic open), fallback to viewport origin
|
||||
if (!$element || $element.length === 0) {
|
||||
return {
|
||||
|
||||
+13
-3
@@ -189,9 +189,19 @@ export const Utils = {
|
||||
boardCanvas.style.height = '';
|
||||
}
|
||||
} else {
|
||||
// Desktop mode: apply zoom to entire board-wrapper as before
|
||||
boardWrapper.style.transform = `scale(${level})`;
|
||||
boardWrapper.style.transformOrigin = 'top left';
|
||||
// Desktop mode: apply zoom to entire board-wrapper as before.
|
||||
// At 100% do NOT set transform: scale(1): any transform makes the
|
||||
// board-wrapper the containing block + stacking context for its
|
||||
// position:fixed descendants (the opened/dragged card), which traps the
|
||||
// card inside the board area below the page header bars. Clearing it at
|
||||
// 100% lets the opened card overlay the top bars.
|
||||
if (level === 1) {
|
||||
boardWrapper.style.transform = '';
|
||||
boardWrapper.style.transformOrigin = '';
|
||||
} else {
|
||||
boardWrapper.style.transform = `scale(${level})`;
|
||||
boardWrapper.style.transformOrigin = 'top left';
|
||||
}
|
||||
|
||||
// If zoom is 50% or lower, make board wrapper full width like content
|
||||
if (level <= 0.5) {
|
||||
|
||||
@@ -10,7 +10,7 @@ This is without container (without Docker or Snap).
|
||||
|
||||
Right click and download files 1-4:
|
||||
|
||||
1. [wekan-9.41-win64.zip](https://github.com/wekan/wekan/releases/download/v9.41/wekan-9.41-win64.zip) or newest available at https://github.com/wekan/wekan/releases/
|
||||
1. [wekan-9.42-win64.zip](https://github.com/wekan/wekan/releases/download/v9.42/wekan-9.42-win64.zip) or newest available at https://github.com/wekan/wekan/releases/
|
||||
|
||||
2. [node.exe](https://nodejs.org/dist/latest-v24.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-9.41-win64.zip` , inside it is directory `bundle`, to it copy other files:
|
||||
7. Unzip `wekan-9.42-win64.zip` , inside it is directory `bundle`, to it copy other files:
|
||||
|
||||
```
|
||||
bundle (directory)
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Tempelkan data JSON yang sah disini",
|
||||
"import-csv-placeholder": "Tampal data CSV/TSV yang sah di sini",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Petakan partisipan",
|
||||
"import-members-map": "Papan yang diimport mempunyai ahli. Sila padankan ahli yang anda mahukan untuk import kepada pengguna anda",
|
||||
"import-members-map-note": "Ahli yang tidak dipadan akan di padankan kepada pengguna yang ada",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Urutan aktif",
|
||||
"cardsSortPopup-title": "Susun Kad",
|
||||
"due-date": "Tarikh Akhir",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Ralat Komputer Pelayan",
|
||||
"server-error-troubleshooting": "Sila masukkan ralat yang diberikan oleh komputer pelayan. \nUntuk instalasi menggunakan snap, larikan: 'sudo snap logs wekan.wekan'\nUntuk Instalasi menggunakan Docker, larikan: 'sudo docker logs wekan-app'",
|
||||
"title-alphabetically": "Judul (mengikut abjad)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "As jy foute kry wanneer jy bord invoer, werk die invoer soms steeds, en bord is op Alle Borde-bladsy.",
|
||||
"import-json-placeholder": "Plak jou geldige JSON-data hier",
|
||||
"import-csv-placeholder": "Plak jou geldige CSV/TSV-data hier",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Kaart lede",
|
||||
"import-members-map": "Jou ingevoerde raad het 'n paar lede. Karteer asseblief die lede wat jy wil invoer na jou gebruikers toe",
|
||||
"import-members-map-note": "Let wel: Ongekarte lede sal aan die huidige gebruiker toegewys word.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sorteer is aan",
|
||||
"cardsSortPopup-title": "Sorteer kaarte",
|
||||
"due-date": "Sperdatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Bedienerfout",
|
||||
"server-error-troubleshooting": "Dien asseblief die fout in wat deur die bediener gegenereer is.\nVir 'n vinnige installasie, hardloop: `sudo snap logs wekan.wekan`\nVir 'n Docker-installasie, hardloop: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titel (alfabeties)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "As jy foute kry wanneer jy bord invoer, werk die invoer soms steeds, en bord is op Alle Borde-bladsy.",
|
||||
"import-json-placeholder": "Plak jou geldige JSON-data hier",
|
||||
"import-csv-placeholder": "Plak jou geldige CSV/TSV-data hier",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Kaart lede",
|
||||
"import-members-map": "Jou ingevoerde raad het 'n paar lede. Karteer asseblief die lede wat jy wil invoer na jou gebruikers toe",
|
||||
"import-members-map-note": "Let wel: Ongekarte lede sal aan die huidige gebruiker toegewys word.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sorteer is aan",
|
||||
"cardsSortPopup-title": "Sorteer kaarte",
|
||||
"due-date": "Sperdatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Bedienerfout",
|
||||
"server-error-troubleshooting": "Dien asseblief die fout in wat deur die bediener gegenereer is.\nVir 'n vinnige installasie, hardloop: `sudo snap logs wekan.wekan`\nVir 'n Docker-installasie, hardloop: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titel (alfabeties)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
|
||||
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
"import-csv-placeholder": "اطلاعات CSV/TSV خود را اینجا پیست کنید.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "رسم خريطة الأعضاء",
|
||||
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
|
||||
"import-members-map-note": "نکته: اعضا بدون نقشه به کاربر فعلی واگذار می شوند",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "الفرز قيد التشغيل",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "خطأ بالخادم",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "تیتر (به صورت الفبا)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
|
||||
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
"import-csv-placeholder": "اطلاعات CSV/TSV خود را اینجا پیست کنید.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "رسم خريطة الأعضاء",
|
||||
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
|
||||
"import-members-map-note": "نکته: اعضا بدون نقشه به کاربر فعلی واگذار می شوند",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "الفرز قيد التشغيل",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "خطأ بالخادم",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "تیتر (به صورت الفبا)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
|
||||
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
"import-csv-placeholder": "اطلاعات CSV/TSV خود را اینجا پیست کنید.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "رسم خريطة الأعضاء",
|
||||
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
|
||||
"import-members-map-note": "نکته: اعضا بدون نقشه به کاربر فعلی واگذار می شوند",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "الفرز قيد التشغيل",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "خطأ بالخادم",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "تیتر (به صورت الفبا)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
|
||||
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
"import-csv-placeholder": "اطلاعات CSV/TSV خود را اینجا پیست کنید.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "رسم خريطة الأعضاء",
|
||||
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
|
||||
"import-members-map-note": "نکته: اعضا بدون نقشه به کاربر فعلی واگذار می شوند",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "الفرز قيد التشغيل",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "خطأ بالخادم",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "تیتر (به صورت الفبا)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Lövhəni idxal edərkən səhvlər alsanız, bəzən idxal hələ də işləyir və lövhə Bütün Lövhələr səhifəsindədir.",
|
||||
"import-json-placeholder": "Etibarlı JSON datanızı bura yerləşdirin",
|
||||
"import-csv-placeholder": "Etibarlı CSV/TSV datanızı bura yerləşdirin",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Xəritə üzvləri",
|
||||
"import-members-map": "İdxal etdiyiniz şuranın bəzi üzvləri var. Xahiş edirik, idxal etmək istədiyiniz üzvləri istifadəçilərinizə xəritələşdirin",
|
||||
"import-members-map-note": "Qeyd: Xəritəsiz üzvlər cari istifadəçiyə təyin ediləcək.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort aktivdir",
|
||||
"cardsSortPopup-title": "Kartları çeşidləyin",
|
||||
"due-date": "Son tarix",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server xətası",
|
||||
"server-error-troubleshooting": "Zəhmət olmasa server tərəfindən yaradılan xətanı təqdim edin.\nSürətli quraşdırma üçün işləyin: `sudo snap logs wekan.wekan`\nDocker quraşdırması üçün işləyin: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Başlıq (Əlifba sırası ilə)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Lövhəni idxal edərkən səhvlər alsanız, bəzən idxal hələ də işləyir və lövhə Bütün Lövhələr səhifəsindədir.",
|
||||
"import-json-placeholder": "Etibarlı JSON datanızı bura yerləşdirin",
|
||||
"import-csv-placeholder": "Etibarlı CSV/TSV datanızı bura yerləşdirin",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Xəritə üzvləri",
|
||||
"import-members-map": "İdxal etdiyiniz şuranın bəzi üzvləri var. Xahiş edirik, idxal etmək istədiyiniz üzvləri istifadəçilərinizə xəritələşdirin",
|
||||
"import-members-map-note": "Qeyd: Xəritəsiz üzvlər cari istifadəçiyə təyin ediləcək.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort aktivdir",
|
||||
"cardsSortPopup-title": "Kartları çeşidləyin",
|
||||
"due-date": "Son tarix",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server xətası",
|
||||
"server-error-troubleshooting": "Zəhmət olmasa server tərəfindən yaradılan xətanı təqdim edin.\nSürətli quraşdırma üçün işləyin: `sudo snap logs wekan.wekan`\nDocker quraşdırması üçün işləyin: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Başlıq (Əlifba sırası ilə)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Lövhəni idxal edərkən səhvlər alsanız, bəzən idxal hələ də işləyir və lövhə Bütün Lövhələr səhifəsindədir.",
|
||||
"import-json-placeholder": "Etibarlı JSON datanızı bura yerləşdirin",
|
||||
"import-csv-placeholder": "Etibarlı CSV/TSV datanızı bura yerləşdirin",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Xəritə üzvləri",
|
||||
"import-members-map": "İdxal etdiyiniz şuranın bəzi üzvləri var. Xahiş edirik, idxal etmək istədiyiniz üzvləri istifadəçilərinizə xəritələşdirin",
|
||||
"import-members-map-note": "Qeyd: Xəritəsiz üzvlər cari istifadəçiyə təyin ediləcək.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort aktivdir",
|
||||
"cardsSortPopup-title": "Kartları çeşidləyin",
|
||||
"due-date": "Son tarix",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server xətası",
|
||||
"server-error-troubleshooting": "Zəhmət olmasa server tərəfindən yaradılan xətanı təqdim edin.\nSürətli quraşdırma üçün işləyin: `sudo snap logs wekan.wekan`\nDocker quraşdırması üçün işləyin: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Başlıq (Əlifba sırası ilə)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Ако се јаве грешке при уношењу списа то не значи да унос није успео!Проверите јел се спис појавио у одељку „Списи у мојој надлежности“.",
|
||||
"import-json-placeholder": "Копирайте валидната Ви JSON информация тук",
|
||||
"import-csv-placeholder": "Овде сместите Ваше исправне CSV/TSV податке",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Мапирај сараднике",
|
||||
"import-members-map": "Списи које сте унели имају постављену мрежу сарадника. Молим да мапирате сараднике из те мреже на Ваше сараднике",
|
||||
"import-members-map-note": "Белешка: Немапирани сарадници ће бити додељени на тренутног корисника.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Предмети су сложени",
|
||||
"cardsSortPopup-title": "Сложи предмете",
|
||||
"due-date": "По крајњем року",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Грешка на серверу",
|
||||
"server-error-troubleshooting": "Молим да нам пошаљете извештај о грешци коју је изазвао сервер.\nАко је у питању snap инсталација, покрените: `sudo snap logs wekan.wekan`\nАко је у питању Docker инсталација, покрените: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "По наслову абучним редом",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
|
||||
"import-json-placeholder": "Collez ici les données JSON valides",
|
||||
"import-csv-placeholder": "Déposez ici vos données valides CSV/TSV",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Assigner des participants",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des participants. Veuillez assigner les participants que vous souhaitez importer à vos utilisateurs.",
|
||||
"import-members-map-note": "Note: les participants ne concordant pas seront assignés à l'utilisateur courant.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Le tri est activé",
|
||||
"cardsSortPopup-title": "Trier les cartes",
|
||||
"due-date": "Date d'échéance",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Erreur serveur",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titre (Alphabétiquement)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si obteniu errors en importar el tauler, de vegades la importació encara funciona, i el tauler es troba a la pàgina Tots els taulers.",
|
||||
"import-json-placeholder": "Aferra codi JSON vàlid aquí",
|
||||
"import-csv-placeholder": "Enganxeu aquí les vostres dades CSV/TSV vàlides",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapeja els membres",
|
||||
"import-members-map": "El vostre tauler importat té alguns membres. Assigna els membres que vols importar als teus usuaris",
|
||||
"import-members-map-note": "Nota: els membres no assignats s'assignaran a l'usuari actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Ordenar fitxes",
|
||||
"due-date": "Data de venciment",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del servidor",
|
||||
"server-error-troubleshooting": "Envieu l'error generat pel servidor.\nPer a una instal·lació instantània, executeu: `sudo snap logs wekan.wekan`\nPer a una instal·lació de Docker, executeu: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Títol (alfabèticament)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si obteniu errors en importar el tauler, de vegades la importació encara funciona, i el tauler es troba a la pàgina Tots els taulers.",
|
||||
"import-json-placeholder": "Aferra codi JSON vàlid aquí",
|
||||
"import-csv-placeholder": "Enganxeu aquí les vostres dades CSV/TSV vàlides",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapeja els membres",
|
||||
"import-members-map": "El vostre tauler importat té alguns membres. Assigna els membres que vols importar als teus usuaris",
|
||||
"import-members-map-note": "Nota: els membres no assignats s'assignaran a l'usuari actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar fitxes",
|
||||
"due-date": "Data de venciment",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del servidor",
|
||||
"server-error-troubleshooting": "Envieu l'error generat pel servidor.\nPer a una instal·lació instantània, executeu: `sudo snap logs wekan.wekan`\nPer a una instal·lació de Docker, executeu: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Títol (alfabèticament)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si obteniu errors en importar el tauler, de vegades la importació encara funciona, i el tauler es troba a la pàgina Tots els taulers.",
|
||||
"import-json-placeholder": "Aferra codi JSON vàlid aquí",
|
||||
"import-csv-placeholder": "Enganxeu aquí les vostres dades CSV/TSV vàlides",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapeja els membres",
|
||||
"import-members-map": "El vostre tauler importat té alguns membres. Assigna els membres que vols importar als teus usuaris",
|
||||
"import-members-map-note": "Nota: els membres no assignats s'assignaran a l'usuari actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Ordenar fitxes",
|
||||
"due-date": "Data de venciment",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del servidor",
|
||||
"server-error-troubleshooting": "Envieu l'error generat pel servidor.\nPer a una instal·lació instantània, executeu: `sudo snap logs wekan.wekan`\nPer a una instal·lació de Docker, executeu: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Títol (alfabèticament)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "如果导入板卡时出现错误,有时导入仍然有效,并且板卡位于“所有板卡”页面。",
|
||||
"import-json-placeholder": "将有效的 JSON 数据粘贴到此处",
|
||||
"import-csv-placeholder": "在此处粘贴您的有效 CSV/TSV 数据",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "地图成员",
|
||||
"import-members-map": "您导入的董事会有一些成员。请将您要导入的成员映射到您的用户",
|
||||
"import-members-map-note": "注意:未映射的成员将分配给当前用户。",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "排序已开启",
|
||||
"cardsSortPopup-title": "卡片排序",
|
||||
"due-date": "到期日",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "服务器错误",
|
||||
"server-error-troubleshooting": "请提交服务器产生的错误。\n对于快照安装,请运行:`sudo snap logs wekan.wekan`\n对于 Docker 安装,请运行:`sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "标题(按字母顺序)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Někdy import funguje i přestože dostáváte chyby při importování tabla, které se zobrazí na stránce Všechna tabla.",
|
||||
"import-json-placeholder": "Sem vlož validní JSON data",
|
||||
"import-csv-placeholder": "Zde vložte vaše platné CSV/TSV data",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapovat členy",
|
||||
"import-members-map": "Toto importované tablo obsahuje několik osob. Prosím namapujte osoby z importu na místní uživatelské účty.",
|
||||
"import-members-map-note": "Modifikováno",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Řazení je zapnuté",
|
||||
"cardsSortPopup-title": "Třídit",
|
||||
"due-date": "Požadovaný termín",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Chyba na serveru",
|
||||
"server-error-troubleshooting": "Odešlete prosím chybu, kterou server vygeneroval.\nV případě instalace přes snap spusťte: `sudo snap logs wekan.wekan`\nV případě instalace přes Docker spusťte: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Nadpis (Abecedně)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Někdy import funguje i přestože dostáváte chyby při importování tabla, které se zobrazí na stránce Všechna tabla.",
|
||||
"import-json-placeholder": "Sem vlož validní JSON data",
|
||||
"import-csv-placeholder": "Zde vložte vaše platné CSV/TSV data",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapovat členy",
|
||||
"import-members-map": "Toto importované tablo obsahuje několik osob. Prosím namapujte osoby z importu na místní uživatelské účty.",
|
||||
"import-members-map-note": "Modifikováno",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Řazení je zapnuté",
|
||||
"cardsSortPopup-title": "Třídit",
|
||||
"due-date": "Požadovaný termín",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Chyba na serveru",
|
||||
"server-error-troubleshooting": "Odešlete prosím chybu, kterou server vygeneroval.\nV případě instalace přes snap spusťte: `sudo snap logs wekan.wekan`\nV případě instalace přes Docker spusťte: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Nadpis (Abecedně)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"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-json-placeholder": "Gludwch eich data JSON dilys yma",
|
||||
"import-csv-placeholder": "Gludwch eich data CSV/TSV dilys yma",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Aelodau map",
|
||||
"import-members-map": "Mae gan eich bwrdd wedi'i fewnforio rai aelodau. Mapiwch yr aelodau yr ydych am eu mewnforio i'ch defnyddwyr",
|
||||
"import-members-map-note": "Nodyn: Bydd aelodau heb eu mapio yn cael eu neilltuo i'r defnyddiwr presennol.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Mae trefn ymlaen",
|
||||
"cardsSortPopup-title": "Cardiau Didoli",
|
||||
"due-date": "Dyddiad Cwblhau",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Gwall Gweinydd",
|
||||
"server-error-troubleshooting": "Cyflwynwch y gwall a gynhyrchwyd gan y gweinydd.\nAr gyfer gosodiad snap, rhedwch: `sudo snap logs wekan.wekan`\nAr gyfer gosodiad Docker, rhedwch: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Teitl (Yn nhrefn yr wyddor)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"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-json-placeholder": "Gludwch eich data JSON dilys yma",
|
||||
"import-csv-placeholder": "Gludwch eich data CSV/TSV dilys yma",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Aelodau map",
|
||||
"import-members-map": "Mae gan eich bwrdd wedi'i fewnforio rai aelodau. Mapiwch yr aelodau yr ydych am eu mewnforio i'ch defnyddwyr",
|
||||
"import-members-map-note": "Nodyn: Bydd aelodau heb eu mapio yn cael eu neilltuo i'r defnyddiwr presennol.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Mae trefn ymlaen",
|
||||
"cardsSortPopup-title": "Cardiau Didoli",
|
||||
"due-date": "Dyddiad Cwblhau",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Gwall Gweinydd",
|
||||
"server-error-troubleshooting": "Cyflwynwch y gwall a gynhyrchwyd gan y gweinydd.\nAr gyfer gosodiad snap, rhedwch: `sudo snap logs wekan.wekan`\nAr gyfer gosodiad Docker, rhedwch: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Teitl (Yn nhrefn yr wyddor)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Hvis du får fejl når der importeres en tavle, så vil importen undertiden stadig fungere, og tavlen vil være under side Alle tavler.",
|
||||
"import-json-placeholder": "Indsæt dine gyldige JSON-data her",
|
||||
"import-csv-placeholder": "Indsæt dine gyldige CSV/TSV-data her",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map medlemmer",
|
||||
"import-members-map": "Dine importerede tavler rummer medlemmer. Kortlæg venligst de medlemmer du ønsker at importere til dine brugere.",
|
||||
"import-members-map-note": "Bemærk: Ikke-mappede medlemmer vil blive mappet til den nuværende bruger.",
|
||||
@@ -712,8 +755,8 @@
|
||||
"uploading-files": "Uploader filer",
|
||||
"upload-failed": "Uploading mislykkedes",
|
||||
"upload-completed": "Uploading fuldført",
|
||||
"custom-top-left-corner-logo-image-url": "Länk till anpassad logotypbild",
|
||||
"custom-top-left-corner-logo-link-url": "Länk för anpassad logotyp",
|
||||
"custom-top-left-corner-logo-image-url": "URL til brugerdefineret logobillede øverst til venstre",
|
||||
"custom-top-left-corner-logo-link-url": "URL til brugerdefineret logolink øverst til venstre",
|
||||
"custom-top-left-corner-logo-height": "Anpassad logotyphöjd uppe till vänster. Standard: 27",
|
||||
"custom-login-logo-image-url": "Länk till bild för anpassad logotyp på inloggningssidan",
|
||||
"custom-login-logo-link-url": "Länk för anpassad logotyp på inloggningssidan",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortering er slået til",
|
||||
"cardsSortPopup-title": "Sortera kort",
|
||||
"due-date": "Förfallodatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Serverfel",
|
||||
"server-error-troubleshooting": "Skicka in felet som inträffade på servern.\nFör snap-installationer, kör: `sudo snap logs wekan.wekan`\nFör Docker-installationer, kör: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titel (Alfabetisk)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Treten beim importieren eines Board Fehler auf, so kann der Import dennoch erfolgreich abgeschlossen sein und das Board ist auf der Seite \"Alle Boards\" zusehen.",
|
||||
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
|
||||
"import-csv-placeholder": "Fügen Sie die korrekten CSV/TSV-Daten hier ein",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mitglieder zuordnen",
|
||||
"import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen sie die Mitglieder, die Sie importieren wollen, Ihren Benutzern zu.",
|
||||
"import-members-map-note": "Anmerkung: Nicht zugeordnete Mitglieder werden dem aktuellen Benutzer zugeordnet.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortierung ist aktiviert",
|
||||
"cardsSortPopup-title": "Sortiere Karten",
|
||||
"due-date": "Fälligkeitsdatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server-Fehler",
|
||||
"server-error-troubleshooting": "Bitte übermitteln Sie den Fehler, den der Server erzeugt hat.\nRufen Sie für eine Snap-Installation auf: `sudo snap logs wekan.wekan`\nRufen Sie für eine Docker-Installation auf: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Überschrift (alphabetisch)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Treten beim importieren eines Board Fehler auf, so kann der Import dennoch erfolgreich abgeschlossen sein und das Board ist auf der Seite \"Alle Boards\" zusehen.",
|
||||
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
|
||||
"import-csv-placeholder": "Fügen Sie die korrekten CSV/TSV-Daten hier ein",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mitglieder zuordnen",
|
||||
"import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen sie die Mitglieder, die Sie importieren wollen, Ihren Benutzern zu.",
|
||||
"import-members-map-note": "Anmerkung: Nicht zugeordnete Mitglieder werden dem aktuellen Benutzer zugeordnet.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortierung ist aktiviert",
|
||||
"cardsSortPopup-title": "Sortiere Karten",
|
||||
"due-date": "Fälligkeitsdatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server-Fehler",
|
||||
"server-error-troubleshooting": "Bitte übermitteln Sie den Fehler, den der Server erzeugt hat.\nRufen Sie für eine Snap-Installation auf: `sudo snap logs wekan.wekan`\nRufen Sie für eine Docker-Installation auf: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Überschrift (alphabetisch)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Treten beim importieren eines Board Fehler auf, so kann der Import dennoch erfolgreich abgeschlossen sein und das Board ist auf der Seite \"Alle Boards\" zusehen.",
|
||||
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
|
||||
"import-csv-placeholder": "Fügen Sie die korrekten CSV/TSV-Daten hier ein",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mitglieder zuordnen",
|
||||
"import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen sie die Mitglieder, die Sie importieren wollen, Ihren Benutzern zu.",
|
||||
"import-members-map-note": "Anmerkung: Nicht zugeordnete Mitglieder werden dem aktuellen Benutzer zugeordnet.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortierung ist aktiviert",
|
||||
"cardsSortPopup-title": "Sortiere Karten",
|
||||
"due-date": "Fälligkeitsdatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server-Fehler",
|
||||
"server-error-troubleshooting": "Bitte übermitteln Sie den Fehler, den der Server erzeugt hat.\nRufen Sie für eine Snap-Installation auf: `sudo snap logs wekan.wekan`\nRufen Sie für eine Docker-Installation auf: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Überschrift (alphabetisch)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Treten beim importieren eines Board Fehler auf, so kann der Import dennoch erfolgreich abgeschlossen sein und das Board ist auf der Seite \"Alle Boards\" zusehen.",
|
||||
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
|
||||
"import-csv-placeholder": "Fügen Sie die korrekten CSV/TSV-Daten hier ein",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mitglieder zuordnen",
|
||||
"import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen sie die Mitglieder, die Sie importieren wollen, Ihren Benutzern zu.",
|
||||
"import-members-map-note": "Anmerkung: Nicht zugeordnete Mitglieder werden dem aktuellen Benutzer zugeordnet.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortierung ist aktiviert",
|
||||
"cardsSortPopup-title": "Sortiere Karten",
|
||||
"due-date": "Fälligkeitsdatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server-Fehler",
|
||||
"server-error-troubleshooting": "Bitte übermitteln Sie den Fehler, den der Server erzeugt hat.\nRufen Sie für eine Snap-Installation auf: `sudo snap logs wekan.wekan`\nRufen Sie für eine Docker-Installation auf: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Überschrift (alphabetisch)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Se hai degli errori quando importi una bacheca, qualche volta l'importazione funziona comunque, e la bacheca si trova nella pagina \"Tutte le bacheche\"",
|
||||
"import-json-placeholder": "Επικολλήστε τα ορθά JSON δεδομένα σας εδώ",
|
||||
"import-csv-placeholder": "Επικολλήστε τα ορθά CSV/TSV δεδομένα σας εδώ",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Αντιστοίχιση μελών",
|
||||
"import-members-map": "Ο εισαχθείς πίνακας έχει κάποια μέλη. Παρακαλούμε αντιστοιχίστε τα μέλη που θέλετε να εισάγετε στους χρήστες σας",
|
||||
"import-members-map-note": "Nota: I membri non mappati verranno assegnati all'utente corrente.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordinamento attivo",
|
||||
"cardsSortPopup-title": "Ordina schede",
|
||||
"due-date": "Data di scadenza",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Errore server",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titolo (ordine alfabetico)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Se hai degli errori quando importi una bacheca, qualche volta l'importazione funziona comunque, e la bacheca si trova nella pagina \"Tutte le bacheche\"",
|
||||
"import-json-placeholder": "Επικολλήστε τα ορθά JSON δεδομένα σας εδώ",
|
||||
"import-csv-placeholder": "Επικολλήστε τα ορθά CSV/TSV δεδομένα σας εδώ",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Αντιστοίχιση μελών",
|
||||
"import-members-map": "Ο εισαχθείς πίνακας έχει κάποια μέλη. Παρακαλούμε αντιστοιχίστε τα μέλη που θέλετε να εισάγετε στους χρήστες σας",
|
||||
"import-members-map-note": "Nota: I membri non mappati verranno assegnati all'utente corrente.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordinamento attivo",
|
||||
"cardsSortPopup-title": "Ordina schede",
|
||||
"due-date": "Data di scadenza",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Errore server",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titolo (ordine alfabetico)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Error",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pegá tus datos JSON válidos acá",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapear Miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si se obtienen errores al importar el tablero, a veces la importación sigue funcionando, y el tablero está en la página de todos los tableros.",
|
||||
"import-json-placeholder": "Pegue sus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pegue sus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Asignar miembros",
|
||||
"import-members-map": "Su tablero importado tiene algunos miembros. Por favor, asigne los miembros que desea importar a sus usuarios",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-csv-placeholder": "Pega tus datos CSV/TSV válidos aquí",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenamiento activado",
|
||||
"cardsSortPopup-title": "Ordenar tarjetas",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Kui sa saad vigu importimisel pardal, mõnikord importimine ikka töötab, ja pardal on aadressil Kõik lauad lehekülg.",
|
||||
"import-json-placeholder": "Sisestage siia oma kehtivad JSON-andmed",
|
||||
"import-csv-placeholder": "Sisestage siia oma kehtivad CSV/TSV andmed.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Kaardi liikmed",
|
||||
"import-members-map": "Teie imporditud pardal on mõned liikmed. Palun kaardistage liikmed, keda soovite importida, oma kasutajatele.",
|
||||
"import-members-map-note": "Märkus: kaardistamata liikmed määratakse praegusele kasutajale.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "Sorteeri kaardid",
|
||||
"due-date": "Tähtaeg",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Serveri viga",
|
||||
"server-error-troubleshooting": "Palun esitage serveri tekitatud viga.\nKiirinstallatsiooni jaoks käivitage: sudo snap logs wekan.wekan`.\nDockeri paigaldamiseks käivitage: `sudo docker logs wekan-app`.",
|
||||
"title-alphabetically": "Pealkiri (tähestikulises järjekorras)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Arbela inportatzerakoan erroreak jasotzen badituzu, batzuetan inportatzeak funtzionatzen du oraindik, eta arbele Arbela guztiak orrialdean dago.",
|
||||
"import-json-placeholder": "Isatsi baliozko JSON datuak hemen",
|
||||
"import-csv-placeholder": "Itsatsi baliozko CSV/TSV datuak hemen",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Kideen mapa",
|
||||
"import-members-map": "Inportatutako zure arbelak kide batzuk ditu. Mesedez, zehaztu inportatu nahi dituzun kideak zure erabiltzaileei",
|
||||
"import-members-map-note": "Nota: Los miembros no mapeados serán asignados al usuario actual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenatzea aktibatuta dago",
|
||||
"cardsSortPopup-title": "Ordenatu txartelak",
|
||||
"due-date": "Fecha de Vencimiento",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Error del Servidor",
|
||||
"server-error-troubleshooting": "Por favor, envíe el error generado por el servidor.\nPara la instalación con snap, ejecute: `sudo snap logs wekan.wekan`\nPara la instalación con docker, ejecute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabéticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
|
||||
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
"import-csv-placeholder": "اطلاعات CSV/TSV خود را اینجا پیست کنید.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "نگاشت اعضا",
|
||||
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
|
||||
"import-members-map-note": "نکته: اعضا بدون نقشه به کاربر فعلی واگذار می شوند",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "مرتب سازی فعال است",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "خطای سرور",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "تیتر (به صورت الفبا)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
|
||||
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
"import-csv-placeholder": "اطلاعات CSV/TSV خود را اینجا پیست کنید.",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "نگاشت اعضا",
|
||||
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
|
||||
"import-members-map-note": "نکته: اعضا بدون نقشه به کاربر فعلی واگذار می شوند",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "مرتب سازی فعال است",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "خطای سرور",
|
||||
"server-error-troubleshooting": "Please submit the error generated by the server.\nFor a snap installation, run: `sudo snap logs wekan.wekan`\nFor a Docker installation, run: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "تیتر (به صورت الفبا)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Jos virheitä tulee taulua tuotaessa, joskus tuonti silti toimii, ja taulu on Kaikki taulut sivulla.",
|
||||
"import-json-placeholder": "Liitä kelvollinen JSON-tietosi tähän",
|
||||
"import-csv-placeholder": "Liitä kelvollinen CSV/TSV tietosi tähän",
|
||||
"import-json-file": "Tai valitse Trello JSON -tiedosto",
|
||||
"import-attachments-zip": "Trello-liitteet ZIP-tiedostona (valinnainen, Trello Card Attachments Downloaderista)",
|
||||
"import-trello-json-file": "Trellon .json-tiedosto",
|
||||
"import-trello-json-file-hint": "Yksi Trello-taulu vietiin .json-tiedostona. Jos olet tallentanut Trello-API-avaimen ja -tunnuksen, myös sen liitteet, taulun tausta ja jäsenten avatarit ladataan.",
|
||||
"import-trello-zip-file": "Trellon .zip-tiedosto",
|
||||
"import-trello-zip-file-hint": ".zip-tiedosto, jossa on yksi tai useampi .json-taulutiedosto ja niiden liitteet taulun nimen alikansioissa (Trello Card Attachments Downloaderista). Kaikki taulut tuodaan.",
|
||||
"import-trello-zip-no-boards": ".zip-tiedostosta ei löytynyt Trello-taulun .json-tiedostoja.",
|
||||
"import-trello-zip-progress": "Tuodaan tauluja .zip-tiedostosta, odota hetki…",
|
||||
"import-trello-failed": "Tuonti Trellosta epäonnistui.",
|
||||
"import-trello-zip-failed": ".zip-tiedoston tuonti epäonnistui.",
|
||||
"import-trello-zip-read-failed": "Ladatun .zip-tiedoston lukeminen epäonnistui.",
|
||||
"import-trello-zip-too-large": ".zip-tiedosto on liian suuri tuotavaksi.",
|
||||
"import-trello-zip-too-many-files": ".zip-tiedostossa on liian monta tiedostoa tuotavaksi.",
|
||||
"import-trello-zip-file-too-large": ".zip-tiedoston sisällä oleva tiedosto on liian suuri tuotavaksi.",
|
||||
"import-trello-zip-unsafe-path": ".zip-tiedosto sisältää vaarallisia tiedostopolkuja ja se hylättiin.",
|
||||
"import-trello-workspace": "Henkilökohtaisen työtilan nimi (valinnainen)",
|
||||
"import-trello-workspace-placeholder": "Tuotu taulu sijoitetaan tämän työtilan alle, tai luodaan, jos sitä ei ole olemassa.",
|
||||
"import-trello-parent-workspace": "Sijoita tuodut työtilat kohtaan",
|
||||
"trello-api-import": "Tuo suoraan Trellosta API-avaimella ja tunnuksella",
|
||||
"trello-api-import-desc": "Liitä Trello-API-avaimesi ja -tunnuksesi listataksesi Trello-työtilasi ja -taulusi ja tuo sitten valitut tiedostot liitteineen.",
|
||||
"trello-api-key": "Trello API -avain (osoitteesta https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API -tunnus (luotu manuaalisesti API-avaimen alapuolelle)",
|
||||
"trello-list-workspaces": "Listaa Trellon työtilat",
|
||||
"trello-parent-workspace-top": "Ylin taso",
|
||||
"trello-import-selected": "Tuo valitut taulut",
|
||||
"trello-importing": "Tuodaan tauluja…",
|
||||
"trello-import-results": "Tuo tulokset",
|
||||
"trello-api-credentials-required": "Anna sekä Trello API -avain että -tunnus.",
|
||||
"trello-api-credentials-saved": "Trello-API-avain ja -tunnus tallennetaan. Voit listata työtiloja syöttämättä niitä uudelleen.", "trello-select-boards": "Valitse tuotavaksi vähintään yksi taulu.",
|
||||
"select-all": "Valitse kaikki",
|
||||
"unselect-all": "Poista kaikkien valinta",
|
||||
"trello-import-more": "Tuo lisää tauluja",
|
||||
"trello-import-progress": "Tuonnin edistyminen",
|
||||
"trello-cancel": "Peruuta tuonti",
|
||||
"trello-cancel-delete": "Peruuta ja poista tuodut",
|
||||
"trello-cancel-delete-confirm": "Perutaanko tuonti ja poistetaanko tällä työllä jo tuodut taulut? Tätä ei voi kumota.",
|
||||
"trello-resume": "Jatka tuontia",
|
||||
"trello-delete-imported": "Poista tuodut taulut",
|
||||
"trello-clear-job": "Tyhjennä",
|
||||
"trello-import-errors": "Tuontivirheet",
|
||||
"copy-to-clipboard": "Kopioi leikepöydälle",
|
||||
"running": "Meneillään",
|
||||
"paused": "Keskeytetty",
|
||||
"import-map-members": "Vastaavat jäsenet",
|
||||
"import-members-map": "Tuomallasi taululla on muutamia jäseniä. Ole hyvä ja valitse tuomiasi jäseniä vastaavat käyttäjäsi",
|
||||
"import-members-map-note": "Huom: Valitsemattomille jäsenille valitaan nykyinen käyttäjä.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Lajittelu on käytössä",
|
||||
"cardsSortPopup-title": "Lajittele kortit",
|
||||
"due-date": "Eräpäivä",
|
||||
"due-complete": "Erääntyy",
|
||||
"card-mark-complete": "Merkitse valmiiksi",
|
||||
"card-mark-incomplete": "Merkitse keskeneräiseksi",
|
||||
"stickers": "Tarrat",
|
||||
"add-sticker": "Lisää tarra",
|
||||
"remove-sticker": "Poista tarra",
|
||||
"board-backgrounds": "Taulun taustakuvat",
|
||||
"boardBackgrounds-title": "Taulun taustakuvat",
|
||||
"upload-background": "Lähetä taustakuva",
|
||||
"set-as-active": "Aseta taulun taustakuvaksi",
|
||||
"background-too-big": "Taustakuva on liian suuri (suurin koko {{size}}).",
|
||||
"board-background-delete-pop": "Haluatko varmasti poistaa tämän taustakuvan?",
|
||||
"location": "Sijainti",
|
||||
"location-open-map": "Avaa kartalla",
|
||||
"add-location": "Lisää sijainti",
|
||||
"cardLocationsPopup-title": "Lisää sijainti",
|
||||
"location-name": "Sijainnin nimi",
|
||||
"location-address": "Osoite",
|
||||
"location-latitude": "Leveysaste",
|
||||
"location-longitude": "Pituusaste",
|
||||
"location-detect-from-map": "Tunnista sijainti mistä tahansa karttalinkistä",
|
||||
"location-detect": "Tunnista",
|
||||
"location-detect-none": "Sijaintia ei havaittu tästä linkistä.",
|
||||
"location-detect-done": "Täytetty havaitun sijainnin tiedot alla.",
|
||||
"location-open-map-at": "Avaa karttalinkit osoitteessa",
|
||||
"map-provider-saved": "Oletuskarttapalvelu tallennettu.",
|
||||
"server-error": "Palvelin virhe",
|
||||
"server-error-troubleshooting": "Ole hyvä ja lähetä palvelimen tekemät lokit.\nSnap asennuksessan, komennolla: `sudo snap logs wekan.wekan`\nDocker asennuksessa, komennolla: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Otsikko (Aakkosjärjestyksessä)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
|
||||
"import-json-placeholder": "Collez ici les données JSON valides",
|
||||
"import-csv-placeholder": "Déposez ici vos données valides CSV/TSV",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Faire correspondre les participants",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des participants. Veuillez faire correspondre les participants que vous souhaitez importer à vos utilisateurs.",
|
||||
"import-members-map-note": "Note: les participants ne concordant pas seront attribués à l'utilisateur courant.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Le tri est activé",
|
||||
"cardsSortPopup-title": "Trier les cartes",
|
||||
"due-date": "Date d'échéance",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Erreur serveur",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titre (Alphabétiquement)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
|
||||
"import-json-placeholder": "Collez ici les données JSON valides",
|
||||
"import-csv-placeholder": "Déposez ici vos données valides CSV/TSV",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Assigner des participants",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des participants. Veuillez assigner les participants que vous souhaitez importer à vos utilisateurs.",
|
||||
"import-members-map-note": "Note: les participants ne concordant pas seront assignés à l'utilisateur courant.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Le tri est activé",
|
||||
"cardsSortPopup-title": "Trier les cartes",
|
||||
"due-date": "Date d'échéance",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Erreur serveur",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titre (Alphabétiquement)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
|
||||
"import-json-placeholder": "Collez ici les données JSON valides",
|
||||
"import-csv-placeholder": "Déposez ici vos données valides CSV/TSV",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Faire correspondre les participants",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des participants. Veuillez faire correspondre les participants que vous souhaitez importer à vos utilisateurs.",
|
||||
"import-members-map-note": "Note: les participants ne concordant pas seront attribués à l'utilisateur courant.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Le tri est activé",
|
||||
"cardsSortPopup-title": "Trier les cartes",
|
||||
"due-date": "Date d'échéance",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Erreur serveur",
|
||||
"server-error-troubleshooting": "Merci de soumettre l'erreur générée par le serveur. Pour une installation snap, lancer `sudo snap logs wekan.wekan`. Pour une installation docker, lancer `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titre (Alphabétiquement)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "As jo krije flaters by it ymportearjen fan board, wurket soms ymportearjen noch, en board is op All Boards side.",
|
||||
"import-json-placeholder": "Plak jo jildige JSON-gegevens hjir",
|
||||
"import-csv-placeholder": "Plak jo jildige CSV/TSV-gegevens hjir",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map leden",
|
||||
"import-members-map": "Jo ymportearre bestjoer hat guon leden. Map de leden dy't jo ymportearje wolle nei jo brûkers",
|
||||
"import-members-map-note": "Opmerking: Net-mapte leden sille wurde tawiisd oan de aktuele brûker.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortearje is oan",
|
||||
"cardsSortPopup-title": "Kaarten sortearje",
|
||||
"due-date": "Ferfaldatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Flater",
|
||||
"server-error-troubleshooting": "Stjoer de flater oanmakke troch de tsjinner yn.\nFoar in snap ynstallaasje, rinne: `sudo snap logs wekan.wekan`\nFoar in Docker-ynstallaasje, útfiere: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titel (alfabetisch)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "As jo krije flaters by it ymportearjen fan board, wurket soms ymportearjen noch, en board is op All Boards side.",
|
||||
"import-json-placeholder": "Plak jo jildige JSON-gegevens hjir",
|
||||
"import-csv-placeholder": "Plak jo jildige CSV/TSV-gegevens hjir",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map leden",
|
||||
"import-members-map": "Jo ymportearre bestjoer hat guon leden. Map de leden dy't jo ymportearje wolle nei jo brûkers",
|
||||
"import-members-map-note": "Opmerking: Net-mapte leden sille wurde tawiisd oan de aktuele brûker.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Sortearje is oan",
|
||||
"cardsSortPopup-title": "Kaarten sortearje",
|
||||
"due-date": "Ferfaldatum",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Server Flater",
|
||||
"server-error-troubleshooting": "Stjoer de flater oanmakke troch de tsjinner yn.\nFoar in snap ynstallaasje, rinne: `sudo snap logs wekan.wekan`\nFoar in Docker-ynstallaasje, útfiere: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Titel (alfabetisch)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Se receber erros ao importar o quadro, às vezes a importação ainda funciona e o quadro está na página Todos os Quadros.",
|
||||
"import-json-placeholder": "Cole seus dados JSON válidos aqui",
|
||||
"import-csv-placeholder": "Copie aqui os seus dados CSV/TSV",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapear membros",
|
||||
"import-members-map": "O seu quadro importado possui alguns membros. Por favor, mapeie os membros que deseja importar para seus utilizadores",
|
||||
"import-members-map-note": "Nota: Membros não atribuídos serão associados ao utilizador atual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenação ativada",
|
||||
"cardsSortPopup-title": "Ordenar Cartões",
|
||||
"due-date": "Data Limite",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Erro no Servidor",
|
||||
"server-error-troubleshooting": "Por favor submeta o erro gerado pelo servidor.\nPara uma instalação snap, execute: `sudo snap logs wekan.wekan`\nPara uma instalação Docker, execute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabeticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Se receber erros ao importar o quadro, às vezes a importação ainda funciona e o quadro está na página Todos os Quadros.",
|
||||
"import-json-placeholder": "Cole seus dados JSON válidos aqui",
|
||||
"import-csv-placeholder": "Copie aqui os seus dados CSV/TSV",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Mapear membros",
|
||||
"import-members-map": "O seu quadro importado possui alguns membros. Por favor, mapeie os membros que deseja importar para seus utilizadores",
|
||||
"import-members-map-note": "Nota: Membros não atribuídos serão associados ao utilizador atual.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Ordenação ativada",
|
||||
"cardsSortPopup-title": "Ordenar Cartões",
|
||||
"due-date": "Data Limite",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Erro no Servidor",
|
||||
"server-error-troubleshooting": "Por favor submeta o erro gerado pelo servidor.\nPara uma instalação snap, execute: `sudo snap logs wekan.wekan`\nPara uma instalação Docker, execute: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "Título (Alfabeticamente)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "જો તમને બોર્ડની આયાત કરતી વખતે ભૂલો આવે છે, તો કેટલીકવાર આયાત કરવાનું હજી પણ કાર્ય કરે છે, અને બોર્ડ બધા બોર્ડ પૃષ્ઠ પર છે.",
|
||||
"import-json-placeholder": "તમારો માન્ય JSON ડેટા અહીં પેસ્ટ કરો",
|
||||
"import-csv-placeholder": "તમારો માન્ય CSV/TSV ડેટા અહીં પેસ્ટ કરો",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "નકશા સભ્યો",
|
||||
"import-members-map": "તમારા આયાતી બોર્ડમાં કેટલાક સભ્યો છે. કૃપા કરીને તમે તમારા વપરાશકર્તાઓને આયાત કરવા માંગતા સભ્યોને મેપ કરો",
|
||||
"import-members-map-note": "નોંધ: અનમેપ કરેલ સભ્યો વર્તમાન વપરાશકર્તાને સોંપવામાં આવશે.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "સૉર્ટ ચાલુ છે",
|
||||
"cardsSortPopup-title": "સૉર્ટ કાર્ડ્સ",
|
||||
"due-date": "નિયત તારીખ",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "સર્વર ભૂલ",
|
||||
"server-error-troubleshooting": "કૃપા કરીને સર્વર દ્વારા જનરેટ થયેલી ભૂલ સબમિટ કરો.\nસ્નેપ ઇન્સ્ટોલેશન માટે, ચલાવો: `sudo snap logs wekan.wekan`\nડોકર ઇન્સ્ટોલેશન માટે, ચલાવો: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "શીર્ષક (અક્ષર પ્રમાણે)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "גם אם התקבלו שגיאות בעת יבוא לוח, ייתכן שהייבוא עבד. כדי לבדוק זאת, יש להיכנס ל„כל הלוחות”.",
|
||||
"import-json-placeholder": "יש להדביק את נתוני ה־JSON התקינים לכאן",
|
||||
"import-csv-placeholder": "נא להדביק את נתוני ה־CSV/TSV התקינים שלך כאן",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "מיפוי חברים",
|
||||
"import-members-map": "הלוחות המיובאים שלך מכילים חברים. נא למפות את החברים שברצונך לייבא למשתמשים שלך",
|
||||
"import-members-map-note": "לתשומת לבך: חברים שאינם ממופים יוקצו למשתמש הנוכחי.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "מיון פעיל",
|
||||
"cardsSortPopup-title": "מיון כרטיסים",
|
||||
"due-date": "מועד סיום",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "שגיאת שרת",
|
||||
"server-error-troubleshooting": "נא להגיש את השגיאה שיצר השרת.\nבהתקנת snap יש להריץ: `sudo snap logs wekan.wekan`\nבהתקנת Docker יש להריץ: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "כותרת (לפי האלפבית)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "גם אם התקבלו שגיאות בעת יבוא לוח, ייתכן שהייבוא עבד. כדי לבדוק זאת, יש להיכנס ל„כל הלוחות”.",
|
||||
"import-json-placeholder": "יש להדביק את נתוני ה־JSON התקינים לכאן",
|
||||
"import-csv-placeholder": "נא להדביק את נתוני ה־CSV/TSV התקינים שלך כאן",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "מיפוי חברים",
|
||||
"import-members-map": "הלוחות המיובאים שלך מכילים חברים. נא למפות את החברים שברצונך לייבא למשתמשים שלך",
|
||||
"import-members-map-note": "לתשומת לבך: חברים שאינם ממופים יוקצו למשתמש הנוכחי.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "מיון פעיל",
|
||||
"cardsSortPopup-title": "מיון כרטיסים",
|
||||
"due-date": "מועד סיום",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "שגיאת שרת",
|
||||
"server-error-troubleshooting": "נא להגיש את השגיאה שיצר השרת.\nבהתקנת snap יש להריץ: `sudo snap logs wekan.wekan`\nבהתקנת Docker יש להריץ: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "כותרת (לפי האלפבית)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "જો તમને બોર્ડની આયાત કરતી વખતે ભૂલો આવે છે, તો કેટલીકવાર આયાત કરવાનું હજી પણ કાર્ય કરે છે, અને બોર્ડ બધા બોર્ડ પૃષ્ઠ પર છે.",
|
||||
"import-json-placeholder": "તમારો માન્ય JSON ડેટા અહીં પેસ્ટ કરો",
|
||||
"import-csv-placeholder": "अपना वैध CSV / TSV सामग्री यहां पेस्ट करें",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map सदस्य",
|
||||
"import-members-map": "તમારા આયાતી બોર્ડમાં કેટલાક સભ્યો છે. કૃપા કરીને તમે તમારા વપરાશકર્તાઓને આયાત કરવા માંગતા સભ્યોને મેપ કરો",
|
||||
"import-members-map-note": "નોંધ: અનમેપ કરેલ સભ્યો વર્તમાન વપરાશકર્તાને સોંપવામાં આવશે.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "तरह - सॉर्ट-चालू है",
|
||||
"cardsSortPopup-title": "સૉર્ટ કાર્ડ્સ",
|
||||
"due-date": "નિયત તારીખ",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "સર્વર ભૂલ",
|
||||
"server-error-troubleshooting": "કૃપા કરીને સર્વર દ્વારા જનરેટ થયેલી ભૂલ સબમિટ કરો.\nસ્નેપ ઇન્સ્ટોલેશન માટે, ચલાવો: `sudo snap logs wekan.wekan`\nડોકર ઇન્સ્ટોલેશન માટે, ચલાવો: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "શીર્ષક (અક્ષર પ્રમાણે)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "જો તમને બોર્ડની આયાત કરતી વખતે ભૂલો આવે છે, તો કેટલીકવાર આયાત કરવાનું હજી પણ કાર્ય કરે છે, અને બોર્ડ બધા બોર્ડ પૃષ્ઠ પર છે.",
|
||||
"import-json-placeholder": "તમારો માન્ય JSON ડેટા અહીં પેસ્ટ કરો",
|
||||
"import-csv-placeholder": "अपना वैध CSV / TSV सामग्री यहां पेस्ट करें",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Map सदस्य",
|
||||
"import-members-map": "તમારા આયાતી બોર્ડમાં કેટલાક સભ્યો છે. કૃપા કરીને તમે તમારા વપરાશકર્તાઓને આયાત કરવા માંગતા સભ્યોને મેપ કરો",
|
||||
"import-members-map-note": "નોંધ: અનમેપ કરેલ સભ્યો વર્તમાન વપરાશકર્તાને સોંપવામાં આવશે.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "सॉर्ट चालू है",
|
||||
"cardsSortPopup-title": "સૉર્ટ કાર્ડ્સ",
|
||||
"due-date": "નિયત તારીખ",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "સર્વર ભૂલ",
|
||||
"server-error-troubleshooting": "કૃપા કરીને સર્વર દ્વારા જનરેટ થયેલી ભૂલ સબમિટ કરો.\nસ્નેપ ઇન્સ્ટોલેશન માટે, ચલાવો: `sudo snap logs wekan.wekan`\nડોકર ઇન્સ્ટોલેશન માટે, ચલાવો: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "શીર્ષક (અક્ષર પ્રમાણે)",
|
||||
|
||||
@@ -550,6 +550,49 @@
|
||||
"import-board-instruction-about-errors": "Ако се јаве грешке при уношењу списа то не значи да унос није успео!Проверите јел се спис појавио у одељку „Списи у мојој надлежности“.",
|
||||
"import-json-placeholder": "Овде сместите Ваше исправне JSON податке",
|
||||
"import-csv-placeholder": "Овде сместите Ваше исправне CSV/TSV податке",
|
||||
"import-json-file": "Or select a Trello JSON file",
|
||||
"import-attachments-zip": "Trello attachments ZIP (optional, from Trello Card Attachments Downloader)",
|
||||
"import-trello-json-file": "Trello .json file",
|
||||
"import-trello-json-file-hint": "One Trello board exported as .json. If you have saved Trello API key and token, its attachments, board background and member avatars are downloaded too.",
|
||||
"import-trello-zip-file": "Trello .zip file",
|
||||
"import-trello-zip-file-hint": "A .zip with one or more board .json files and their attachments in board-name subfolders (from the Trello Card Attachments Downloader). All boards are imported.",
|
||||
"import-trello-zip-no-boards": "No Trello board .json files were found in the .zip.",
|
||||
"import-trello-zip-progress": "Importing boards from .zip, please wait…",
|
||||
"import-trello-failed": "Importing from Trello failed.",
|
||||
"import-trello-zip-failed": "Importing the .zip failed.",
|
||||
"import-trello-zip-read-failed": "Could not read the uploaded .zip.",
|
||||
"import-trello-zip-too-large": "The .zip is too large to import.",
|
||||
"import-trello-zip-too-many-files": "The .zip has too many files to import.",
|
||||
"import-trello-zip-file-too-large": "A file inside the .zip is too large to import.",
|
||||
"import-trello-zip-unsafe-path": "The .zip contains unsafe file paths and was rejected.",
|
||||
"import-trello-workspace": "Personal workspace name (optional)",
|
||||
"import-trello-workspace-placeholder": "Imported board is placed under this workspace, created if it does not exist",
|
||||
"import-trello-parent-workspace": "Place imported workspaces under",
|
||||
"trello-api-import": "Import directly from Trello with API key and token",
|
||||
"trello-api-import-desc": "Paste your Trello API key and token to list your Trello workspaces and boards, then import the selected ones with their attachments.",
|
||||
"trello-api-key": "Trello API key (from https://trello.com/app-key)",
|
||||
"trello-api-token": "Trello API token (manually generated below the API key)",
|
||||
"trello-list-workspaces": "List Trello workspaces",
|
||||
"trello-parent-workspace-top": "Top level",
|
||||
"trello-import-selected": "Import selected boards",
|
||||
"trello-importing": "Importing boards…",
|
||||
"trello-import-results": "Import results",
|
||||
"trello-api-credentials-required": "Please enter both the Trello API key and token.",
|
||||
"trello-api-credentials-saved": "Trello API key and token are saved. You can list workspaces without re-entering them.", "trello-select-boards": "Please select at least one board to import.",
|
||||
"select-all": "Select all",
|
||||
"unselect-all": "Unselect all",
|
||||
"trello-import-more": "Import more boards",
|
||||
"trello-import-progress": "Import progress",
|
||||
"trello-cancel": "Cancel import",
|
||||
"trello-cancel-delete": "Cancel and delete imported",
|
||||
"trello-cancel-delete-confirm": "Cancel the import and delete the boards already imported by this job? This cannot be undone.",
|
||||
"trello-resume": "Resume import",
|
||||
"trello-delete-imported": "Delete imported boards",
|
||||
"trello-clear-job": "Clear",
|
||||
"trello-import-errors": "Import errors",
|
||||
"copy-to-clipboard": "Copy to clipboard",
|
||||
"running": "Running",
|
||||
"paused": "Paused",
|
||||
"import-map-members": "Мапирај сараднике",
|
||||
"import-members-map": "Списи које сте унели имају постављену мрежу сарадника. Молим да мапирате сараднике из те мреже на Ваше сараднике",
|
||||
"import-members-map-note": "Белешка: Немапирани сарадници ће бити додељени на тренутног корисника.",
|
||||
@@ -1261,6 +1304,32 @@
|
||||
"sort-is-on": "Предмети су сложени",
|
||||
"cardsSortPopup-title": "Сложи предмете",
|
||||
"due-date": "По крајњем року",
|
||||
"due-complete": "Due complete",
|
||||
"card-mark-complete": "Mark as complete",
|
||||
"card-mark-incomplete": "Mark as incomplete",
|
||||
"stickers": "Stickers",
|
||||
"add-sticker": "Add sticker",
|
||||
"remove-sticker": "Remove sticker",
|
||||
"board-backgrounds": "Board backgrounds",
|
||||
"boardBackgrounds-title": "Board backgrounds",
|
||||
"upload-background": "Upload background image",
|
||||
"set-as-active": "Set as board background",
|
||||
"background-too-big": "Background image is too big (Maximum {{size}}).",
|
||||
"board-background-delete-pop": "Are you sure you want to delete this background image?",
|
||||
"location": "Location",
|
||||
"location-open-map": "Open in map",
|
||||
"add-location": "Add location",
|
||||
"cardLocationsPopup-title": "Add location",
|
||||
"location-name": "Location name",
|
||||
"location-address": "Address",
|
||||
"location-latitude": "Latitude",
|
||||
"location-longitude": "Longitude",
|
||||
"location-detect-from-map": "Detect location from any map link",
|
||||
"location-detect": "Detect",
|
||||
"location-detect-none": "Could not detect a location from this link.",
|
||||
"location-detect-done": "Filled in the detected location details below.",
|
||||
"location-open-map-at": "Open map links at",
|
||||
"map-provider-saved": "Default map service saved.",
|
||||
"server-error": "Грешка на серверу",
|
||||
"server-error-troubleshooting": "Молим да нам пошаљете извештај о грешци коју је изазвао сервер.\nАко је у питању snap инсталација, покрените: `sudo snap logs wekan.wekan`\nАко је у питању Docker инсталација, покрените: `sudo docker logs wekan-app`",
|
||||
"title-alphabetically": "По наслову абучним редом",
|
||||
|
||||
Loaded 100 of 213 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user