Compare commits

...
23 Commits
Author SHA1 Message Date
NotAlexNoyle 6e4c0539af Exclude CODEOWNERS from language statistics 2026-10-31 16:52:22 -04:00
NotAlexNoyle b8fcef2fd4 Add CODEOWNERS (one staff approval) 2026-10-31 16:52:21 -04:00
NotAlexNoyle 4e2e6adc73 Fix card details import 2026-06-13 11:54:24 -04:00
NotAlexNoyle 091541a960 Hide minicard completion checkbox 2026-06-13 11:52:03 -04:00
github-actions[bot] 967b8482d3 Bump versions for v9.42 2026-06-13 14:38:34 +00:00
Lauri Ojansivu cb43837c32 Updated ChangeLog. 2026-06-13 17:31:44 +03:00
Lauri Ojansivu 899617bd4d Greatly improved import from Trello to WeKan.
- 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.

Fixes #5727,
fixes #2457,
fixes #5818,
fixes #755
2026-06-13 17:19:51 +03:00
Lauri Ojansivu 2757bfb365 Updated translations. 2026-06-13 17:18:06 +03:00
Lauri Ojansivu 1ed942bb8a Updated translations. 2026-06-13 09:09:57 +03:00
Lauri Ojansivu 179157ccd2 Updated translations. 2026-06-13 07:45:56 +03:00
Lauri Ojansivu 3e36b931a6 Updated translations. 2026-06-13 06:57:06 +03:00
Lauri Ojansivu c9e60847d0 Updated translations. 2026-06-13 06:35:09 +03:00
Lauri Ojansivu 4d83dc0c05 Updated translations. 2026-06-13 05:45:53 +03:00
Lauri Ojansivu 995965d157 Updated translations. 2026-06-13 03:01:17 +03:00
Lauri Ojansivu 15fbb314b0 Updated ChangeLog. 2026-06-12 20:21:35 +03:00
Lauri Ojansivu 68e0032c6d Fix Board Export/Import error.
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 !

Fixes #6371
2026-06-12 20:15:56 +03:00
Lauri Ojansivu cffca535b5 Updated ChangeLog. 2026-06-12 19:49:13 +03:00
Lauri Ojansivu b2d2632e3b Fix Wrong card number after Import.
Thanks to titver968, xet7 and Claude !

Fixes #6372
2026-06-12 19:49:13 +03:00
Lauri Ojansivu 119379d4b4 Updated translations. 2026-06-12 19:49:13 +03:00
github-actions[bot] c434f83dfc Bump versions for v9.41 2026-06-11 22:17:23 +00:00
Lauri Ojansivu 1527f364b1 Updated ChangeLog. 2026-06-12 01:13:32 +03:00
Lauri Ojansivu 5779d94d78 Updated translations. 2026-06-12 01:12:38 +03:00
Lauri Ojansivu 096a3dc46b Add pagination and search to Admin Panel / Reports. Fix pagination at Admin Panel / Organizations and Teams.
Thanks to xet7 and Claude !
2026-06-12 01:12:38 +03:00
220 changed files with 15991 additions and 459 deletions

No files matched your search

+2 -1
View File
@@ -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
+3
View File
@@ -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
+177
View File
@@ -26,6 +26,183 @@ 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:
- [Add pagination and search to Admin Panel / Reports. Fix pagination at Admin Panel / Organizations and Teams](https://github.com/wekan/wekan/commit/a12b3f2cb21a067f80269be2a5080ca91046707b).
Thanks to xet7 and Claude.
Thanks to above GitHub users for their contributions and translators for their translations.
# v9.40 2026-06-11 WeKan ® release
This release fixes the following bugs:
+1 -1
View File
@@ -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.40
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
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v9.40.0"
appVersion: "v9.42.0"
files:
userUploads:
- README.md
+2 -2
View File
@@ -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);
},
+164
View File
@@ -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;
}
+80
View File
@@ -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}}
+265
View File
@@ -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
+39
View File
@@ -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);
}
},
});
+32
View File
@@ -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;
}
+9 -1
View File
@@ -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
+10
View File
@@ -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;
}
+3
View File
@@ -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;
}
+3 -4
View File
@@ -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
+1 -1
View File
@@ -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();
+116
View File
@@ -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;
}
+110
View File
@@ -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'}}
+515 -24
View File
@@ -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
}
}
}
},
});
+13 -3
View File
@@ -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;
}
@@ -0,0 +1,70 @@
/* Search + pagination controls for the admin report tabs (files, rules,
boards, cards). Styled to match the admin People panel (peopleBody.css). */
.admin-report-search {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
height: 34px;
margin-bottom: 12px;
}
.admin-report-search input {
flex: 1;
max-width: 320px;
padding: 0 8px;
height: 34px;
}
.admin-report-search button {
min-width: 90px;
height: 34px;
background: #01628c;
color: #fff;
border: none;
border-radius: 0.4vw;
cursor: pointer;
padding: 0 12px;
}
.admin-report-search button:hover {
background: #005377;
}
.admin-report-search button:active {
background: #004766;
}
.admin-report-pagination {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 12px;
}
.admin-report-pagination button {
min-width: 32px;
height: 30px;
border: 1px solid #bbb;
background: #fff;
border-radius: 0.4vw;
cursor: pointer;
}
.admin-report-pagination button.active {
background: #01628c;
border-color: #01628c;
color: #fff;
}
.admin-report-pagination button.disabled {
opacity: 0.5;
pointer-events: none;
}
.admin-report-page-info {
min-width: 72px;
text-align: center;
color: #333;
}
+48 -4
View File
@@ -37,13 +37,13 @@ template(name="adminReports")
else if showBrokenCardsReport.get
+brokenCardsReport
else if showFilesReport.get
+filesReport
+filesReport(currentPage=filesCurrentPage totalPages=filesTotalPages hasPrevPage=hasFilesPrevPage hasNextPage=hasFilesNextPage)
else if showRulesReport.get
+rulesReport
+rulesReport(currentPage=rulesCurrentPage totalPages=rulesTotalPages hasPrevPage=hasRulesPrevPage hasNextPage=hasRulesNextPage)
else if showBoardsReport.get
+boardsReport
+boardsReport(currentPage=boardsCurrentPage totalPages=boardsTotalPages hasPrevPage=hasBoardsPrevPage hasNextPage=hasBoardsNextPage)
else if showCardsReport.get
+cardsReport
+cardsReport(currentPage=cardsCurrentPage totalPages=cardsTotalPages hasPrevPage=hasCardsPrevPage hasNextPage=hasCardsNextPage)
template(name="brokenCardsReport")
@@ -56,6 +56,17 @@ template(name="brokenCardsReport")
template(name="rulesReport")
h1 {{_ 'rulesReportTitle'}}
.admin-report-search
input.js-rules-search-input(type="text" placeholder="{{_ 'search'}}")
button.js-rules-search-button
i.fa.fa-search
| {{_ 'search'}}
.admin-report-pagination
button.js-rules-prev-page(class="{{#if hasPrevPage}}{{else}}disabled{{/if}}")
| &lt;
span.admin-report-page-info {{currentPage}} / {{totalPages}}
button.js-rules-next-page(class="{{#if hasNextPage}}{{else}}disabled{{/if}}")
| &gt;
if resultsCount
table
thead
@@ -77,6 +88,17 @@ template(name="rulesReport")
template(name="filesReport")
h1 {{_ 'filesReportTitle'}}
.admin-report-search
input.js-files-search-input(type="text" placeholder="{{_ 'search'}}")
button.js-files-search-button
i.fa.fa-search
| {{_ 'search'}}
.admin-report-pagination
button.js-files-prev-page(class="{{#if hasPrevPage}}{{else}}disabled{{/if}}")
| &lt;
span.admin-report-page-info {{currentPage}} / {{totalPages}}
button.js-files-next-page(class="{{#if hasNextPage}}{{else}}disabled{{/if}}")
| &gt;
if resultsCount
table
thead
@@ -102,6 +124,17 @@ template(name="filesReport")
template(name="cardsReport")
h1 {{_ 'cardsReportTitle'}}
.admin-report-search
input.js-cards-search-input(type="text" placeholder="{{_ 'search'}}")
button.js-cards-search-button
i.fa.fa-search
| {{_ 'search'}}
.admin-report-pagination
button.js-cards-prev-page(class="{{#if hasPrevPage}}{{else}}disabled{{/if}}")
| &lt;
span.admin-report-page-info {{currentPage}} / {{totalPages}}
button.js-cards-next-page(class="{{#if hasNextPage}}{{else}}disabled{{/if}}")
| &gt;
if resultsCount
table.table
thead
@@ -127,6 +160,17 @@ template(name="cardsReport")
template(name="boardsReport")
h1 {{_ 'boardsReportTitle'}}
.admin-report-search
input.js-boards-search-input(type="text" placeholder="{{_ 'search'}}")
button.js-boards-search-button
i.fa.fa-search
| {{_ 'search'}}
.admin-report-pagination
button.js-boards-prev-page(class="{{#if hasPrevPage}}{{else}}disabled{{/if}}")
| &lt;
span.admin-report-page-info {{currentPage}} / {{totalPages}}
button.js-boards-next-page(class="{{#if hasNextPage}}{{else}}disabled{{/if}}")
| &gt;
if resultsCount
table.table
thead
+182 -34
View File
@@ -3,8 +3,6 @@ import { TAPi18n } from '/imports/i18n';
import Attachments, { AttachmentStorage } from '/models/attachments';
import { CardSearchPaged } from '/client/lib/cardSearch';
import SessionData from '/models/usersessiondata';
import { QueryParams } from '/config/query-classes';
import { OPERATOR_LIMIT } from '/config/search-const';
import Boards from '/models/boards';
import Cards from '/models/cards';
import Rules from '/models/rules';
@@ -35,8 +33,12 @@ function abbreviate(text) {
return text;
}
function collectionResults(collection) {
return collection.find();
// The report publications already send only the current page (server-side
// search + limit/skip, sorted). Display exactly what was published, applying
// the same sort so minimongo order matches the server page. Re-applying
// skip/limit here would paginate an already-paginated set.
function collectionResults(collection, sort) {
return collection.find({}, sort ? { sort } : {});
}
function collectionResultsCount(collection) {
@@ -45,6 +47,22 @@ function collectionResultsCount(collection) {
// --- adminReports template ---
// Rows per page for the paginated reports (files, rules, boards, cards).
// Kept in sync with the admin People panel so all admin lists page alike.
const REPORTS_PER_PAGE = 25;
// Static description of each paginated report: which page/count reactive vars
// it uses, which publication feeds it and which count method backs it. Lets a
// single loadReport() drive all of them the same way.
function reportConfig(tmpl) {
return {
'report-files': { page: tmpl.filesPage, count: tmpl.filesCount, search: tmpl.filesSearch, pub: 'attachmentsList', countMethod: 'getAttachmentsReportCount' },
'report-rules': { page: tmpl.rulesPage, count: tmpl.rulesCount, search: tmpl.rulesSearch, pub: 'rulesReport', countMethod: 'getRulesReportCount' },
'report-boards': { page: tmpl.boardsPage, count: tmpl.boardsCount, search: tmpl.boardsSearch, pub: 'boardsReport', countMethod: 'getBoardsReportCount' },
'report-cards': { page: tmpl.cardsPage, count: tmpl.cardsCount, search: tmpl.cardsSearch, pub: 'cardsReport', countMethod: 'getCardsReportCount' },
};
}
Template.adminReports.onCreated(function () {
this.subscription = null;
this.showFilesReport = new ReactiveVar(false);
@@ -56,6 +74,60 @@ Template.adminReports.onCreated(function () {
this.sessionId = SessionData.getSessionId();
this.error = new ReactiveVar('');
this.loading = new ReactiveVar(false);
// Pagination state, one current-page + total-count pair per report.
this.activeReport = new ReactiveVar('');
this.filesPage = new ReactiveVar(1);
this.rulesPage = new ReactiveVar(1);
this.boardsPage = new ReactiveVar(1);
this.cardsPage = new ReactiveVar(1);
this.filesCount = new ReactiveVar(0);
this.rulesCount = new ReactiveVar(0);
this.boardsCount = new ReactiveVar(0);
this.cardsCount = new ReactiveVar(0);
// Current search term per report (empty string = no filter).
this.filesSearch = new ReactiveVar('');
this.rulesSearch = new ReactiveVar('');
this.boardsSearch = new ReactiveVar('');
this.cardsSearch = new ReactiveVar('');
// (Re)subscribe the given report for its current page and refresh its total
// count. Server-side search + limit/skip means only the matching page ever
// reaches minimongo.
this.loadReport = (reportId) => {
const cfg = reportConfig(this)[reportId];
if (!cfg) {
return;
}
// Note: we deliberately do not toggle the global `loading` spinner here.
// The spinner is shown once on tab switch (switchMenu); paging/searching
// re-subscribes silently so the search box keeps focus and the report
// stays mounted, just like the admin People panel.
if (this.subscription) {
this.subscription.stop();
}
const searchTerm = cfg.search.get();
const limit = REPORTS_PER_PAGE;
const skip = (cfg.page.get() - 1) * REPORTS_PER_PAGE;
this.subscription = Meteor.subscribe(cfg.pub, searchTerm, limit, skip, () => {
this.loading.set(false);
});
Meteor.call(cfg.countMethod, searchTerm, (error, count) => {
if (error) {
console.error(`Failed to load ${cfg.countMethod}:`, error);
return;
}
const total = count || 0;
const totalPages = Math.max(1, Math.ceil(total / REPORTS_PER_PAGE));
// If rows were removed while on a now-out-of-range page, clamp and reload.
if (cfg.page.get() > totalPages) {
cfg.page.set(totalPages);
this.loadReport(reportId);
return;
}
cfg.count.set(total);
});
};
});
Template.adminReports.helpers({
@@ -80,6 +152,39 @@ Template.adminReports.helpers({
loading() {
return Template.instance().loading;
},
// --- Pagination helpers, passed down into each report sub-template ---
filesCurrentPage() { return Template.instance().filesPage.get(); },
filesTotalPages() { return Math.max(1, Math.ceil((Template.instance().filesCount.get() || 0) / REPORTS_PER_PAGE)); },
hasFilesPrevPage() { return Template.instance().filesPage.get() > 1; },
hasFilesNextPage() {
const tpl = Template.instance();
return tpl.filesPage.get() < Math.max(1, Math.ceil((tpl.filesCount.get() || 0) / REPORTS_PER_PAGE));
},
rulesCurrentPage() { return Template.instance().rulesPage.get(); },
rulesTotalPages() { return Math.max(1, Math.ceil((Template.instance().rulesCount.get() || 0) / REPORTS_PER_PAGE)); },
hasRulesPrevPage() { return Template.instance().rulesPage.get() > 1; },
hasRulesNextPage() {
const tpl = Template.instance();
return tpl.rulesPage.get() < Math.max(1, Math.ceil((tpl.rulesCount.get() || 0) / REPORTS_PER_PAGE));
},
boardsCurrentPage() { return Template.instance().boardsPage.get(); },
boardsTotalPages() { return Math.max(1, Math.ceil((Template.instance().boardsCount.get() || 0) / REPORTS_PER_PAGE)); },
hasBoardsPrevPage() { return Template.instance().boardsPage.get() > 1; },
hasBoardsNextPage() {
const tpl = Template.instance();
return tpl.boardsPage.get() < Math.max(1, Math.ceil((tpl.boardsCount.get() || 0) / REPORTS_PER_PAGE));
},
cardsCurrentPage() { return Template.instance().cardsPage.get(); },
cardsTotalPages() { return Math.max(1, Math.ceil((Template.instance().cardsCount.get() || 0) / REPORTS_PER_PAGE)); },
hasCardsPrevPage() { return Template.instance().cardsPage.get() > 1; },
hasCardsNextPage() {
const tpl = Template.instance();
return tpl.cardsPage.get() < Math.max(1, Math.ceil((tpl.cardsCount.get() || 0) / REPORTS_PER_PAGE));
},
});
Template.adminReports.events({
@@ -98,8 +203,60 @@ Template.adminReports.events({
'click a.js-report-boards'(event) {
switchMenu(event, Template.instance());
},
// --- Pagination controls (buttons live inside the report sub-templates,
// their clicks bubble up to this parent template) ---
'click .js-files-prev-page'(event, tmpl) { goPrevPage(event, tmpl, 'report-files'); },
'click .js-files-next-page'(event, tmpl) { goNextPage(event, tmpl, 'report-files'); },
'click .js-rules-prev-page'(event, tmpl) { goPrevPage(event, tmpl, 'report-rules'); },
'click .js-rules-next-page'(event, tmpl) { goNextPage(event, tmpl, 'report-rules'); },
'click .js-boards-prev-page'(event, tmpl) { goPrevPage(event, tmpl, 'report-boards'); },
'click .js-boards-next-page'(event, tmpl) { goNextPage(event, tmpl, 'report-boards'); },
'click .js-cards-prev-page'(event, tmpl) { goPrevPage(event, tmpl, 'report-cards'); },
'click .js-cards-next-page'(event, tmpl) { goNextPage(event, tmpl, 'report-cards'); },
// --- Search (one input + button per report, mirrors the People panel) ---
'click .js-files-search-button'(event, tmpl) { runSearch(tmpl, 'report-files', '.js-files-search-input'); },
'keydown .js-files-search-input'(event, tmpl) { if (event.keyCode === 13 && !event.shiftKey) runSearch(tmpl, 'report-files', '.js-files-search-input'); },
'click .js-rules-search-button'(event, tmpl) { runSearch(tmpl, 'report-rules', '.js-rules-search-input'); },
'keydown .js-rules-search-input'(event, tmpl) { if (event.keyCode === 13 && !event.shiftKey) runSearch(tmpl, 'report-rules', '.js-rules-search-input'); },
'click .js-boards-search-button'(event, tmpl) { runSearch(tmpl, 'report-boards', '.js-boards-search-input'); },
'keydown .js-boards-search-input'(event, tmpl) { if (event.keyCode === 13 && !event.shiftKey) runSearch(tmpl, 'report-boards', '.js-boards-search-input'); },
'click .js-cards-search-button'(event, tmpl) { runSearch(tmpl, 'report-cards', '.js-cards-search-input'); },
'keydown .js-cards-search-input'(event, tmpl) { if (event.keyCode === 13 && !event.shiftKey) runSearch(tmpl, 'report-cards', '.js-cards-search-input'); },
});
function goPrevPage(event, tmpl, reportId) {
event.preventDefault();
const cfg = reportConfig(tmpl)[reportId];
const current = cfg.page.get();
if (current > 1) {
cfg.page.set(current - 1);
tmpl.loadReport(reportId);
}
}
function goNextPage(event, tmpl, reportId) {
event.preventDefault();
const cfg = reportConfig(tmpl)[reportId];
const total = cfg.count.get() || 0;
const totalPages = Math.max(1, Math.ceil(total / REPORTS_PER_PAGE));
const current = cfg.page.get();
if (current < totalPages) {
cfg.page.set(current + 1);
tmpl.loadReport(reportId);
}
}
// Read the report's search box, store the term, reset to page 1 and reload.
function runSearch(tmpl, reportId, inputSelector) {
const cfg = reportConfig(tmpl)[reportId];
const value = (tmpl.$(inputSelector).val() || '').trim();
cfg.search.set(value);
cfg.page.set(1);
tmpl.loadReport(reportId);
}
function switchMenu(event, tmpl) {
const target = $(event.target);
if (!target.hasClass('active')) {
@@ -117,6 +274,7 @@ function switchMenu(event, tmpl) {
$('.side-menu li.active').removeClass('active');
target.parent().addClass('active');
const targetID = target.data('id');
tmpl.activeReport.set(targetID);
if ('report-broken' === targetID) {
tmpl.showBrokenCardsReport.set(true);
@@ -129,32 +287,24 @@ function switchMenu(event, tmpl) {
);
} else if ('report-files' === targetID) {
tmpl.showFilesReport.set(true);
tmpl.subscription = Meteor.subscribe('attachmentsList', () => {
tmpl.loading.set(false);
});
tmpl.filesPage.set(1);
tmpl.filesSearch.set('');
tmpl.loadReport('report-files');
} else if ('report-rules' === targetID) {
tmpl.subscription = Meteor.subscribe('rulesReport', () => {
tmpl.showRulesReport.set(true);
tmpl.loading.set(false);
});
tmpl.showRulesReport.set(true);
tmpl.rulesPage.set(1);
tmpl.rulesSearch.set('');
tmpl.loadReport('report-rules');
} else if ('report-boards' === targetID) {
tmpl.subscription = Meteor.subscribe('boardsReport', () => {
tmpl.showBoardsReport.set(true);
tmpl.loading.set(false);
});
tmpl.showBoardsReport.set(true);
tmpl.boardsPage.set(1);
tmpl.boardsSearch.set('');
tmpl.loadReport('report-boards');
} else if ('report-cards' === targetID) {
const qp = new QueryParams();
qp.addPredicate(OPERATOR_LIMIT, 300);
tmpl.subscription = Meteor.subscribe(
'globalSearch',
tmpl.sessionId,
qp.getParams(),
qp.text,
() => {
tmpl.showCardsReport.set(true);
tmpl.loading.set(false);
},
);
tmpl.showCardsReport.set(true);
tmpl.cardsPage.set(1);
tmpl.cardsSearch.set('');
tmpl.loadReport('report-cards');
}
}
}
@@ -163,7 +313,7 @@ function switchMenu(event, tmpl) {
Template.filesReport.helpers({
results() {
return collectionResults(Attachments);
return collectionResults(Attachments, { name: 1 });
},
resultsCount() {
return collectionResultsCount(Attachments);
@@ -179,19 +329,17 @@ Template.rulesReport.helpers({
results() {
const rules = [];
ReactiveCache.getRules().forEach(rule => {
ReactiveCache.getRules({}, { sort: { boardId: 1 } }).forEach(rule => {
rules.push({
_id: rule._id,
title: rule.title,
boardId: rule.boardId,
boardTitle: rule.board().title,
boardTitle: rule.board()?.title,
action: rule.action(),
trigger: rule.trigger(),
});
});
// eslint-disable-next-line no-console
console.log('rows:', rules);
return rules;
},
resultsCount() {
@@ -203,7 +351,7 @@ Template.rulesReport.helpers({
Template.boardsReport.helpers({
results() {
return collectionResults(Boards);
return collectionResults(Boards, { sort: 1 });
},
resultsCount() {
return collectionResultsCount(Boards);
@@ -247,7 +395,7 @@ Template.boardsReport.helpers({
Template.cardsReport.helpers({
results() {
return collectionResults(Cards);
return collectionResults(Cards, { boardId: 1, sort: 1 });
},
resultsCount() {
return collectionResultsCount(Cards);
+4 -1
View File
@@ -395,7 +395,10 @@ Template.people.helpers({
Template.people.events({
'scroll .main-body'(event, tpl) {
if (tpl.peopleSetting.get()) {
// Orgs, teams and people all use explicit prev/next pagination (server-side
// limit/skip driven by orgPage/teamPage/peoplePage). Infinite scroll must
// stay disabled on those tabs so the two paging mechanisms don't fight.
if (tpl.orgSetting.get() || tpl.teamSetting.get() || tpl.peopleSetting.get()) {
return;
}
tpl.infiniteScrolling.checkScrollPosition(event.currentTarget, () => {
+48
View File
@@ -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;
}
+36
View File
@@ -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
//
+84
View File
@@ -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();
});
+13
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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) {
+2 -2
View File
@@ -10,7 +10,7 @@ This is without container (without Docker or Snap).
Right click and download files 1-4:
1. [wekan-9.40-win64.zip](https://github.com/wekan/wekan/releases/download/v9.40/wekan-9.40-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.40-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)
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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": "تیتر (به صورت الفبا)",
+69
View File
@@ -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": "تیتر (به صورت الفبا)",
+69
View File
@@ -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": "تیتر (به صورت الفبا)",
+69
View File
@@ -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": "تیتر (به صورت الفبا)",
+69
View File
@@ -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)",
+69
View File
@@ -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ə)",
+69
View File
@@ -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ə)",
+69
View File
@@ -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ə)",
+69
View File
@@ -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)",
+69
View File
@@ -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": "По наслову абучним редом",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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": "标题(按字母顺序)",
+69
View File
@@ -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ě)",
+69
View File
@@ -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ě)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+311 -242
View File
@@ -1,6 +1,6 @@
{
"accept": "Acceptér",
"act-activity-notify": "Aktivitetsnotits",
"accept": "Accepter",
"act-activity-notify": "Aktivitetsnotifikation",
"act-addAttachment": "tilføjede vedhæftningen __attachment__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-deleteAttachment": "slettede vedhæftning __attachment__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-addSubtask": "tilføjede delopgaven __subtask__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
@@ -9,12 +9,12 @@
"act-removeLabel": "Fjernede etiketten __label__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på kortet __board__",
"act-removedLabel": "Fjernede etiketten __label__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på kortet __board__",
"act-addChecklist": "tilføjede tjeklisten __checklist__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-addChecklistItem": "tilføjede elementet i tjekliste __checklistItem__ til tjeklisten __checklist__ i kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-addChecklistItem": "tilføjede elementet i tjeklisten __checklistItem__ til tjeklisten __checklist__ i kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-removeChecklist": "fjernede tjeklisten __checklist__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-removeChecklistItem": "fjernede elementet i tjekliste __checklistItem__ fra tjeklisten __checkList__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-removeChecklistItem": "fjernede elementet i tjeklisten __checklistItem__ fra tjeklisten __checkList__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-checkedItem": "markerede __checklistItem__ fra tjeklisten __checklist__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-uncheckedItem": "afmarkerede __checklistItem__ fra tjeklisten __checklist__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-completeChecklist": "afsluttet tjekliste __checklist__ i kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-completeChecklist": "tjekliste fuldført __checklist__ i kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-uncompleteChecklist": "uafsluttet tjekliste __checklist__ i kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-addComment": "kommenterede på kortet __card__: __comment__ til listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-editComment": "redigerede kommentar på kortet __card__: __comment__ til listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
@@ -26,11 +26,11 @@
"act-deleteCustomField": "slettede brugerdefineret felt __customField__ på tavlen __board__",
"act-setCustomField": "redigerede brugerdefineret felt __customField__: __customFieldValue__ i kortet __card__ på lsten __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-createList": "tilføjede listen __list__ til tavlen __board__",
"act-addBoardMember": "tilføejede medlemmet __member__ til tavlen __board__",
"act-addBoardMember": "tilføjede medlemmet __member__ til tavlen __board__",
"act-archivedBoard": "Tavlen __board__ blev flyttet til Arkiv",
"act-archivedCard": "Kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__ er flyttet til arkivet",
"act-archivedList": "Listen __list__ i svømmebanen __swimlane__ på tavlen __board__ er flyttet til arkivet",
"act-archivedSwimlane": "Svømmebanen __swimlane__ på tavlen __board__ er flyttet til arkivet",
"act-archivedCard": "Kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__ er flyttet til Arkiv",
"act-archivedList": "Listen __list__ i svømmebanen __swimlane__ på tavlen __board__ er flyttet til Arkiv",
"act-archivedSwimlane": "Svømmebanen __swimlane__ på tavlen __board__ er flyttet til Arkiv",
"act-importBoard": "importerede tavlen __board__",
"act-importCard": "importerede kortet __card__ til listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"act-importList": "importerede listen __list__ til svømmebanen __swimlane__ på tavlen __board__",
@@ -49,80 +49,80 @@
"activity-archived": "%s flyttet til Arkiv",
"activity-attached": "vedhæftede %s til %s",
"activity-created": "oprettede %s",
"activity-changedListTitle": "döpte om listan till %s",
"activity-changedListTitle": "omdøbte listen til %s",
"activity-customfield-created": "oprettede brugerdefineret felt %s",
"activity-excluded": "ekskluderet %s fra %s",
"activity-imported": "importerede %s ind i %s fra %s",
"activity-excluded": "ekskluderede %s fra %s",
"activity-imported": "importerede %s til %s fra %s",
"activity-imported-board": "importerede %s fra %s",
"activity-joined": "indgik i %s",
"activity-joined": "sammenlagt med %s",
"activity-moved": "flyttede %s fra %s til %s",
"activity-on": "per %s",
"activity-removed": "fjernede %s fra %s",
"activity-sent": "sendte %s til %s",
"activity-unjoined": "udgik fra %s",
"activity-unjoined": "adskilt fra %s",
"activity-subtask-added": "tilføjede delopgave til %s",
"activity-checked-item": "afkrydsede %s i tjeklisten %s af %s",
"activity-checked-item": "markerede %s i tjeklisten %s af %s",
"activity-unchecked-item": "fjernede kryds %s i tjeklisten %s af %s",
"activity-checklist-added": "tilføjede tjeklisten til %s",
"activity-checklist-removed": "fjernede en tjekliste fra %s",
"activity-checklist-completed": "færdiggjorde tjekliste %s af %s",
"activity-checklist-uncompleted": "gjorde tjeklisten ukomplet, %s af %s",
"activity-checklist-uncompleted": "ændrede tjekliste %s af %s til ikke-færdiggjort",
"activity-checklist-item-added": "tilføjede element i tjekliste til '%s' i %s",
"activity-checklist-item-removed": "fjernede element i tjekliste fra '%s' i %s",
"add": "Tilføj",
"activity-checked-item-card": "markerede %s i tjeklisten %s",
"activity-unchecked-item-card": "afmarkerede %s i tjeklisten %s",
"activity-checklist-completed-card": "afsluttet tjekliste __checklist__ i kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__",
"activity-checklist-uncompleted-card": "gjorde tjeklisten ukomplet %s",
"activity-checklist-uncompleted-card": "ændrede tjekliste %s til ikke-færdiggjort",
"activity-editComment": "redigerede kommentar %s",
"activity-deleteComment": "slettede kommentar %s",
"activity-receivedDate": "redigerade mottaget datum till %s av %s",
"activity-startDate": "redigerade startdatum till %s av %s",
"allboards.starred": " Stjärnmärkt",
"activity-receivedDate": "redigerede modtaget datoen til %s af %s",
"activity-startDate": "redigerede startdatoen til %s af %s",
"allboards.starred": "Stjernemarkeret",
"allboards.templates": "Skabeloner",
"allboards.remaining": "Återstående",
"allboards.workspaces": "Arbetsytor",
"allboards.add-workspace": "Lägg till arbetsyta",
"allboards.add-workspace-prompt": "Arbetsytans namn",
"allboards.add-subworkspace": "Lägg till underarbetsyta",
"allboards.add-subworkspace-prompt": "Underarbetsytans namn",
"allboards.edit-workspace": "Redigera arbetsyta",
"allboards.edit-workspace-name": "Arbetsytans namn",
"allboards.edit-workspace-icon": "Arbetsytans ikon (markdown)",
"allboards.workspace-menu": "Arbetsytans meny",
"workspace-settings": "Arbetsytans inställningar",
"workspaceActionsPopup-title": "Arbetsytans inställningar",
"allboards.workspace-color": "Färg",
"allboards.delete-workspace-confirm": "Är du säker på att du vill ta bort den här arbetsytan?",
"allboards.delete-workspace-confirm-check": "Bekräfta borttagning av arbetsyta",
"multi-selection-active": "Klicka i kryssrutor för att välja tavlor",
"activity-dueDate": "redigerade förfallodag till %s av %s",
"activity-endDate": "redigerade slutdatum till %s av %s",
"allboards.remaining": "Udestående",
"allboards.workspaces": "Arbejdsområder",
"allboards.add-workspace": "Tilføj Arbejdsområde",
"allboards.add-workspace-prompt": "Arbejdsområdets navn",
"allboards.add-subworkspace": "Tilføj Underarbejdsområde",
"allboards.add-subworkspace-prompt": "Underarbejdsområdets navn",
"allboards.edit-workspace": "Rediger arbejdsområde",
"allboards.edit-workspace-name": "Arbejdsområdets navn",
"allboards.edit-workspace-icon": "Arbejdsområdets ikon (markdown)",
"allboards.workspace-menu": "Arbejdsområdets menu",
"workspace-settings": "Arbejdsområdets indstillinger",
"workspaceActionsPopup-title": "Arbejdsområdets indstillinger",
"allboards.workspace-color": "Farve",
"allboards.delete-workspace-confirm": "Er du sikker på, at du vil slette dette arbejdsområde?",
"allboards.delete-workspace-confirm-check": "Bekræft sletning af arbejdsområdet",
"multi-selection-active": "Klik på tjekboksene for at vælge tavler",
"activity-dueDate": "Redigerede forfaldsdato til %s af %s",
"activity-endDate": "Redigerede slutdato til %s af %s",
"add-attachment": "Tilføj vedhæftning",
"add-board": "Tilføj tavle",
"add-template": "Lägg till mall",
"add-card": "Tilføj kort",
"add-card-to-top-of-list": "Lägg till kort överst i listan",
"add-card-to-bottom-of-list": "Lägg till kort i botten av listan",
"add-card-to-top-of-list": "Tilføj kort øverst i listen",
"add-card-to-bottom-of-list": "Tilføj kort nederst i listen",
"addListPopup-title": "Tilføj liste",
"setListWidthPopup-title": "Ställ in min bredd",
"set-list-width": "Ställ in min bredd",
"set-list-width-value": "Min och max bredd (pixlar)",
"list-width-error-message": "Listbredder måste vara heltal större än 100",
"keyboard-shortcuts-enabled": "Tangentbordsgenvägar aktiverade. Klicka för att inaktivera.",
"keyboard-shortcuts-disabled": "Tangentbordsgenvägar inaktiverade. Klicka för att aktivera.",
"setListWidthPopup-title": "Indstil bredder",
"set-list-width": "Indstil bredder",
"set-list-width-value": "Indstil min. og maks. bredder (pixels)",
"list-width-error-message": "Listebredder skal være heltal større end 100",
"keyboard-shortcuts-enabled": "Tastaturgenveje aktiverede. Klik for at deaktivere.",
"keyboard-shortcuts-disabled": "Tastaturgenveje deaktiverede. Klik for at aktivere.",
"setSwimlaneHeightPopup-title": "Angiv højde på svømmebane",
"set-swimlane-height": "Angiv højde på svømmebane",
"set-swimlane-height-value": "Svømmebanes bredde (pixels)",
"swimlane-height-error-message": "Svømmebreddes højde skal være et positivt heltal",
"swimlane-height-error-message": "Svømmebanens højde skal være et positivt heltal",
"add-swimlane": "Tilføj svømmebane",
"add-subtask": "Tilføj delopgave",
"add-checklist": "Tilføj tjekliste",
"checklist": "Checklista",
"checklist": "Tjekliste",
"add-checklist-item": "Tilføj et element til tjeklisten",
"close-add-checklist-item": "Stäng lägg till en rad i checklistans formulär",
"close-edit-checklist-item": "Stäng ändra en rad i checklistans formulär",
"convertChecklistItemToCardPopup-title": "Ändra till kort",
"close-add-checklist-item": "Luk tilføj et element til tjeklisteformular",
"close-edit-checklist-item": "Luk ændre et element til tjeklisteformular",
"convertChecklistItemToCardPopup-title": "Ændre til kort",
"add-cover": "Tilføj coverbillede til minikort",
"add-label": "Tilføj etikette",
"add-list": "Tilføj liste",
@@ -131,8 +131,8 @@
"added": "Tilføjet",
"addMemberPopup-title": "Tilføj medlemmer",
"memberPopup-title": "Medlemsindstillinger",
"admin": "Adminstratör",
"admin-desc": "Kan visa och redigera kort, ta bort medlemmar och ändra inställningar för tavlan. Kan visa aktiviteter.",
"admin": "Administrator",
"admin-desc": "Kan vise of redigere kort, fjerne medlemmer og ændre indstillinger for tavlen. Kan vise aktiviteter.",
"admin-announcement": "Annoncering",
"admin-announcement-active": "Aktivér annoncering på tværs af systemet",
"admin-announcement-title": "Annoncering fra administrator",
@@ -140,12 +140,12 @@
"and-n-other-card": "Samt __count__ andre kort",
"and-n-other-card_plural": "Samt __count__ andre kort",
"apply": "Anvend",
"app-is-offline": "Indlæser, vent venligst. Genopfriskes siden er der risiko for tab af data. Fungerer indlæsningen ikke, så tjek venligst om serveren er stoppet.",
"app-try-reconnect": "Försök att återansluta",
"app-is-offline": "Indlæser, vent venligst. Hvis siden genopfriskes, er der risiko for tab af data. Fungerer indlæsningen ikke, så tjek venligst om serveren er stoppet.",
"app-try-reconnect": "Prøv at genoprette forbindelsen.",
"archive": "Flyt til arkiv",
"archive-all": "Flyt alle til arkiv",
"archive-board": "Flyt tavle til arkiv",
"archive-board-confirm": " Är du säker på att du vill arkivera den här tavlan?",
"archive-board-confirm": "Er du sikker på, at du vil arkivere denne tavle?",
"archive-card": "Flyt kort til arkiv",
"archive-list": "Flyt liste til arkiv",
"archive-swimlane": "Flyt svømmebane til arkiv",
@@ -158,12 +158,12 @@
"archives": "Arkiv",
"template": "Skabelon",
"templates": "Skabeloner",
"template-container": "Mallbibliotek",
"add-template-container": "Lägg till från mall",
"assign-member": "Tilknyt medlem",
"template-container": "Skabelonsamling",
"add-template-container": "Tilføj skabelonsamling",
"assign-member": "Tildel medlem",
"attached": "vedhæftet",
"attachment": "Vedhæftning",
"attachment-delete-pop": "Slettes en vedhæftning sker det permanent. Det kan ikke omgøres.",
"attachment-delete-pop": "Slettes en vedhæftning, sker det permanent. Det kan ikke fortrydes efterfølgende.",
"attachmentDeletePopup-title": "Slet vedhæftning?",
"attachments": "Vedhæftninger",
"auto-watch": "Følg automatisk tavler når de oprettes",
@@ -171,25 +171,25 @@
"back": "Tilbage",
"board-change-color": "Skift farve",
"board-change-background-image": "Skift baggrundsbillede",
"board-background-image-url": "Bakgrundsbildens URL",
"add-background-image": "Lägg till bakgrundsbild",
"remove-background-image": "Ta bort bakgrundsbild",
"show-at-all-boards-page": "Visa på sidan alla tavlor",
"board-info-on-my-boards": "Alla tavlors inställningar",
"boardInfoOnMyBoardsPopup-title": "Alla tavlors inställningar",
"boardInfoOnMyBoards-title": "Alla tavlors inställningar",
"show-card-counter-per-list": "Visa antal kort per lista",
"show-board_members-avatar": "Visa medlemmarnas avatarer",
"board_members": "Alla tavlans medlemmar",
"card_members": "Alla medlemmar i detta kort på tavlan",
"board_assignees": " Alla tilldelade i alla kort på tavlan",
"card_assignees": "Alla tilldelade i detta kort på tavlan",
"board-background-image-url": "Baggrundsbilledets URL",
"add-background-image": "Tilføj baggrundsbillede",
"remove-background-image": "Fjern baggrundsbillede",
"show-at-all-boards-page": "Vis på siden Alle Tavler",
"board-info-on-my-boards": "Indstillinger for Alle Tavler",
"boardInfoOnMyBoardsPopup-title": "Indstillinger for Alle Tavler",
"boardInfoOnMyBoards-title": "Indstillinger for Alle Tavler",
"show-card-counter-per-list": "Vis antal kort per liste",
"show-board_members-avatar": "Vis avatarer for medlemmer",
"board_members": "Alle tavlens medlemmer",
"card_members": "Alle medlemmer for dette kort på tavlen",
"board_assignees": "Alle tildelte medlemmer på alle kort på tavlen",
"card_assignees": "Alle tildelte medlemmer på dette kort på tavlen",
"board-nb-stars": "%s stjerner",
"board-not-found": "Fandt ikke tavle",
"board-not-found": "Tavlen blev ikke fundet",
"board-private-info": "Denne tavle vil være <strong>privat</strong>.",
"board-public-info": "Denne tavle vil være <strong>offentlig</strong>.",
"board-drag-drop-reorder-or-click-open": "Dra och släpp för att ändra ordning på tavelsymboler. Klicka på tavelsymbolen för att öppna tavlan.",
"board-open-and-move-between-remaining-and-workspaces": "Click to open board. Use drag handle to assign board to __workspaces__ (drop on workspace in sidebar).",
"board-drag-drop-reorder-or-click-open": "Træk og slip for at arrangere tavleikoner. Klik på tavleikon for at åbne tavle.",
"board-open-and-move-between-remaining-and-workspaces": "Klik for at åbne tavle. Træk-og-slip for at tildele tavle til __workspaces__ (slip på Arbejdsområde i sidemenuen).",
"boardChangeColorPopup-title": "Skift tavlens baggrund",
"boardChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
"allBoardsChangeColorPopup-title": "Skift farve",
@@ -202,37 +202,37 @@
"boardChangeViewPopup-title": "Tavlevisning",
"boards": "Tavler",
"board-view": "Tavlevisning",
"desktop-mode": " Skrivbordsläge",
"mobile-mode": "Mobilläge",
"mobile-desktop-toggle": " Växla mellan mobilläge och skrivbordsläge",
"zoom-in": "Zooma in",
"zoom-out": "Zooma ut",
"click-to-change-zoom": " Klicka för att ändra zoomnivå",
"zoom-level": "Zoomnivå",
"enter-zoom-level": "Ange zoomnivå (50-300%):",
"desktop-mode": "Skrivebordstilstand",
"mobile-mode": "Mobiltilstand",
"mobile-desktop-toggle": "Skift imellem mobil- og skrivebordstilstand",
"zoom-in": "Zoom ind",
"zoom-out": "Zoom ud",
"click-to-change-zoom": "Klik for at ændre zoom niveau",
"zoom-level": "Zoom niveau",
"enter-zoom-level": "Angiv zoom niveau (50-300%):",
"board-view-cal": "Kalender",
"board-view-swimlanes": "Svømmebaner",
"board-view-collapse": "Sammenfold",
"board-view-gantt": "Gantt",
"board-view-lists": "Lister",
"bucket-example": " Som till exempel \"Bucket List\"",
"calendar-previous-month-label": " Föregående månad",
"calendar-next-month-label": " Nästa månad",
"cancel": "Annullér",
"card-archived": "Dette kort blev flyttet til arkivet.",
"board-archived": "Denne tavle blev flyttet til arkivet.",
"bucket-example": "F.eks. \"Bucket List\"",
"calendar-previous-month-label": "Forgående måned",
"calendar-next-month-label": "Næste måned",
"cancel": "Annuller",
"card-archived": "Dette kort blev flyttet til Arkiv.",
"board-archived": "Denne tavle blev flyttet til Arkiv.",
"card-comments-title": "Dette kort har %s kommentar.",
"card-delete-notice": "Sletning vil være permanent. Du mister alle handlinger knyttet til dette kort.",
"card-delete-pop": "Alle handlinger vil blive fjernet fra aktivitetsfeedet, og du kan ikke genåbne kortet. Det kan ikke omgøres.",
"card-delete-suggest-archive": "Du kan flytte et kort til arkivet for at fjerne det fra tavlen, og bevare aktiviteten.",
"card-archive-pop": "Kortet kommer inte synas i denna listan efter det är arkiverat.",
"card-archive-suggest-cancel": "Du kan återställa kort från Arkivet",
"list-archive-pop": "Listan kommer inte att synas på tavlan efter arkivering.",
"list-archive-suggest": "Du kan senare återställa listan från Arkivet i Tavelinställningar.",
"listArchivePopup-title": "Arkivera lista?",
"swimlane-archive-pop": "Simbana kommer inte att synas på tavlan efter arkivering.",
"swimlane-archive-suggest": "Du kan senare återställa simbanan från Arkivet i Tavelinställningar.",
"swimlaneArchivePopup-title": "Arkivera simbana?",
"card-delete-pop": "Alle handlinger vil blive fjernet fra aktivitetsfeedet, og du kan ikke genåbne kortet. Det kan ikke fortrydes efterfølgende.",
"card-delete-suggest-archive": "Du kan flytte et kort til arkivet for at fjerne det fra tavlen og bevare aktiviteten.",
"card-archive-pop": "Kortet vil ikke være synligt på denne liste efter arkivering.",
"card-archive-suggest-cancel": "Du kan gendanne kortet senere fra Arkiv.",
"list-archive-pop": "Listen vil ikke være synligt på denne liste efter arkivering.",
"list-archive-suggest": "Du kan gendanne listen senere fra Tavleindstillinger.",
"listArchivePopup-title": "Arkiver liste?",
"swimlane-archive-pop": "Svømmebane vil ikke være synligt på denne liste efter arkivering.",
"swimlane-archive-suggest": "Du kan gendanne svømmebanen senere fra Tavleindstillinger.",
"swimlaneArchivePopup-title": "Arkiver svømmebane?",
"card-due": "Forfalder",
"card-due-on": "Forfaldsdato",
"card-spent": "Anvendt tid",
@@ -240,10 +240,10 @@
"card-edit-custom-fields": "Redigér brugerdefinerede felter",
"card-edit-labels": "Redigér etiketter",
"card-edit-members": "Redigér medlemmer",
"card-labels-title": "Ændr etiketter for kortet.",
"card-labels-title": "Ændre etiketter for kortet.",
"card-members-title": "Tilføj eller fjern medlemmer på tavlen fra kortet.",
"card-start": "Påbörjades",
"card-start-on": "Starter per",
"card-start": "Påbegynd",
"card-start-on": "Påbegyndes per",
"cardAttachmentsPopup-title": "Vedhæft fra",
"cardCustomField-datePopup-title": "Ændringsdato",
"cardCustomFieldsPopup-title": "Redigér brugerdefinerede felter",
@@ -259,9 +259,9 @@
"vote-against": "går imod",
"deleteVotePopup-title": "Slet afstemning?",
"vote-delete-pop": "Sletning er permanent. Du mister alle handlinger knyttet til denne afstemning.",
"cardStartPlanningPokerPopup-title": "Starta en planeringspoker.",
"card-edit-planning-poker": "Ändra planeringspoker",
"editPokerEndDatePopup-title": "Ändra planeringspokerns sista röstdag",
"cardStartPlanningPokerPopup-title": "Opret en rangering",
"card-edit-planning-poker": "Ændre rangering",
"editPokerEndDatePopup-title": "Ændre rangeringsafstemningens slutdato",
"poker-question": "Rangering",
"poker-one": "1",
"poker-two": "2",
@@ -273,15 +273,15 @@
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Klar",
"poker-result-votes": "Röster",
"poker-result-who": "Vem",
"poker-replay": "Upprepa",
"set-estimation": "Ange uppskattning",
"deletePokerPopup-title": "Radera planeringspoker?",
"poker-delete-pop": "Raderingen är permanent. Du vill förlora alla associationer med planneringspokern.",
"poker-finish": "Afslut",
"poker-result-votes": "Stemmer",
"poker-result-who": "Hvem",
"poker-replay": "Gentag",
"set-estimation": "Angiv estimering",
"deletePokerPopup-title": "Vil du slette rangeringen?",
"poker-delete-pop": "Sletningen er permanent. Du vil miste alle handlinger associeret med denne rangering.",
"cardDeletePopup-title": "Slet kort?",
"cardArchivePopup-title": "Arkivera kort?",
"cardArchivePopup-title": "Arkiver kort?",
"cardDetailsActionsPopup-title": "Handlinger for kort",
"cardLabelsPopup-title": "Etiketter",
"cardMembersPopup-title": "Medlemmer",
@@ -300,8 +300,8 @@
"change-permissions": "Tilpas tilladelser",
"change-settings": "Tilpas indstillinger",
"changeAvatarPopup-title": "Tilpas avatar",
"delete-avatar-confirm": "Är du säker på att du vill ta bort denna avatar?",
"deleteAvatarPopup-title": "Ta bort avatar?",
"delete-avatar-confirm": "Er du sikker på, at du vil slette denne avatar?",
"deleteAvatarPopup-title": "Slet avatar?",
"changeLanguagePopup-title": "Skift sprog",
"changePasswordPopup-title": "Skift kodeord",
"changePermissionsPopup-title": "Tilpas tilladelser",
@@ -310,17 +310,17 @@
"checklists": "Tjeklister",
"click-to-star": "Klik for at tilføje stjerne til tavlen.",
"click-to-unstar": "Klik for at fjerne stjerne fra tavlen.",
"click-to-enable-auto-width": "Automatisk listbredd inaktiverad. Klicka för att aktivera.",
"click-to-disable-auto-width": "Automatisk listbredd aktiverad. Klicka för att inaktivera.",
"auto-list-width": "Automatisk listbredd",
"click-to-enable-auto-width": "Automatisk listebredde deaktiveret. Klik for at aktivere.",
"click-to-disable-auto-width": "Automatisk listebredde aktiveret. Klik for at deaktivere.",
"auto-list-width": "Automatisk listebredde",
"clipboard": "Udklipsholder eller træk-og-slip",
"close": "Luk",
"close-board": "Luk tavle",
"close-board-pop": "Du har mulighed for at genskabe tavlen ved at klikke på \"Arkiv\"-knappen fra overskriften hjem.",
"close-card": "Stäng kortet",
"close-card": "Luk kortet",
"color-black": "sort",
"color-blue": "blå",
"color-crimson": "crimsonrød",
"color-crimson": "karmosinrød",
"color-darkgreen": "mørkegrøn",
"color-gold": "guld",
"color-gray": "grå",
@@ -349,38 +349,38 @@
"comment-placeholder": "",
"comment-only": "Kun kommentarer",
"comment-only-desc": "Kan kun kommentere på kort.",
"comment-assigned-only": "Endast tilldelad kommentar",
"comment-assigned-only-desc": "Endast tilldelade kort synliga. Kan endast kommentera.",
"comment-delete": "Är du säker på att du vill radera kommentaren?",
"deleteCommentPopup-title": "Radera kommentaren?",
"comment-assigned-only": "Kun tildelt kommentarer.",
"comment-assigned-only-desc": "Kun tildelte kort er synlige. Kan kun kommentere.",
"comment-delete": "Er du sikker på, at du vil slette denne kommentar?",
"deleteCommentPopup-title": "Slet kommentaren?",
"no-comments": "Ingen kommentarer",
"no-comments-desc": "Kan inte se kommentarer.",
"read-only": "Skrivskyddad",
"read-only-desc": "Kan endast visa kort. Kan inte redigera.",
"read-assigned-only": "Endast tilldelad läsning",
"read-assigned-only-desc": "Endast tilldelade kort synliga. Kan inte redigera.",
"no-comments-desc": "Kan ikke se kommentarer.",
"read-only": "Skrivebeskyttet",
"read-only-desc": "Kan kun se kort, ikke redigere dem.",
"read-assigned-only": "Kun tildelt læsning",
"read-assigned-only-desc": "Kun tildelte kort er synlige. Kan ikke redigere.",
"worker": "Arbejder",
"worker-desc": "Kan kun flytte kort, tildele sig selv til kort og kommentere.",
"computer": "Dator",
"confirm-subtask-delete-popup": "Er du sikker på du vil slette delopgaven?",
"confirm-checklist-delete-popup": "Är du säker på att du vill radera checklistan?",
"confirm-checklist-item-delete-popup": "Är du säker på att du vill ta bort checklistepunkten?",
"subtaskDeletePopup-title": "Radera deluppgift?",
"checklistDeletePopup-title": "Radera checklistan?",
"checklistItemDeletePopup-title": "Radera checklistpost?",
"confirm-checklist-delete-popup": "Er du sikker på, at du vil slette tjeklisten?",
"confirm-checklist-item-delete-popup": "Er du sikker på, at du vil slette dette element på tjeklisten?",
"subtaskDeletePopup-title": "Slet delopgave?",
"checklistDeletePopup-title": "Slet tjeklisten?",
"checklistItemDeletePopup-title": "Slet element på tjeklisten?",
"copy-card-link-to-clipboard": "Kopiér link til kort til udklipsholder",
"copy-text-to-clipboard": "Kopiera text till urklipp",
"copy-text-to-clipboard": "Kopier tekst til udklipsholder",
"linkCardPopup-title": "Sammenkæd kort",
"searchElementPopup-title": "Søg",
"copyCardPopup-title": "Kopiér kort",
"copyListPopup-title": "Kopiera lista",
"copyManyCardsPopup-title": "Kopiera mall till många kort",
"copyCardPopup-title": "Kopier kort",
"copyListPopup-title": "Kopier liste",
"copyManyCardsPopup-title": "Kopier skabelon til mange kort",
"copyManyCardsPopup-instructions": "Destination for kortenes titler og beskrivelser i dette JSON-format",
"copyManyCardsPopup-format": "[ {\"title\": \"Första kortets titel\", \"description\":\"Första kortets beskrivning\"}, {\"title\":\"Andra kortets titel\",\"description\":\"Andra kortets beskrivning\"},{\"title\":\"Sista kortets titel\",\"description\":\"Sista kortets beskrivning\"} ]",
"copyManyCardsPopup-format": "[ {\"title\": \"Titel på første kort\", \"description\":\"Beskrivelse af første kort\"}, {\"title\":\"Andet korts titel\",\"description\":\"Beskrivelse af andet kort\"},{\"title\":\"Sidste korts titel\",\"description\":\"Beskrivelse af sidste kort\"} ]",
"create": "Opret",
"createBoardPopup-title": "Opret tavle",
"createTemplateContainerPopup-title": "Lägg till från mall",
"chooseBoardSourcePopup-title": "Importér tavle",
"createTemplateContainerPopup-title": "Tilføj skabelonsamling",
"chooseBoardSourcePopup-title": "Importer tavle",
"createLabelPopup-title": "Opret etikette",
"createCustomField": "Opret felt",
"createCustomFieldPopup-title": "Opret felt",
@@ -399,7 +399,7 @@
"custom-field-text": "Tekst",
"custom-fields": "Brugerdefinerede felter",
"date": "Dato",
"date-format": "Datumformat",
"date-format": "Datoformat",
"date-format-yyyy-mm-dd": "ÅÅÅÅ-MM-DD",
"date-format-dd-mm-yyyy": "DD-MM-ÅÅÅÅ",
"date-format-mm-dd-yyyy": "MM-DD-ÅÅÅÅ",
@@ -422,13 +422,13 @@
"editCardStartDatePopup-title": "Skift startdato",
"editCardDueDatePopup-title": "Skift forfaldsdato",
"editCustomFieldPopup-title": "Redigér felt",
"addReactionPopup-title": "Lägg till reaktion",
"addReactionPopup-title": "Tilføj reaktion",
"editCardSpentTimePopup-title": "Tilpas forbrugt tid",
"editLabelPopup-title": "Skift etikette",
"editNotificationPopup-title": "Redigér notifikation",
"editProfilePopup-title": "Redigér profil",
"email": "E-mail",
"email-address": "E-postadress",
"email": "Email",
"email-address": "Email adresse",
"email-enrollAccount-subject": "Der er oprettet konto til dig på __siteName__",
"email-enrollAccount-text": "Hej __user__,\n\nFor at begynde at benytte tjenesten, så klik linket nedenfor.\n\n__url__\n\nTak.",
"email-fail": "Afsendelse af e-mail mislykkedes",
@@ -442,12 +442,12 @@
"email-sent": "E-mail er afsendt",
"email-verifyEmail-subject": "Verificér din e-mailadresse på your __siteName__",
"email-verifyEmail-text": "Hej __user__,\n\nFor at verificere din e-mail for kontoen, så klik på linket nedenfor.\n\n__url__\n\nTak.",
"enable-vertical-scrollbars": "Aktivera vertikala rullningslister",
"enable-vertical-scrollbars": "Aktiver vertikale rullepaneler",
"enable-wip-limit": "Slå WIP-begrænsning til",
"error-board-doesNotExist": "Denne tavle eksisterer ikke.",
"error-board-notAdmin": "Du skal være administrator for tavlen for at gøre dette",
"error-board-notAMember": "Du skal være medlem af denne tavle for at gøre dette",
"error-notAllowed": "Your board role is not allowed to do that",
"error-notAllowed": "Din tavle-rolle har ikke tilladelse til at udføre denne handling",
"error-json-malformed": "Din tekst er ikke gyldig JSON",
"error-json-schema": "Dine JSON-data indeholder ikke den rette information i det rette format",
"error-csv-schema": "Din CSV(Comma Separated Values)/TSV (Tab Separated Values) innehåller inte korrekt information i rätt format.",
@@ -455,77 +455,77 @@
"error-user-doesNotExist": "Brugeren findes ikke",
"error-user-notAllowSelf": "Du kan ikke invitere dig selv",
"error-user-notCreated": "Brugeren er ikke oprettet",
"error-username-taken": "Brugernavnet er optaget",
"error-orgname-taken": "Organisations namnet är upptaget.",
"error-teamname-taken": "Detta team namn är redan taget.",
"error-email-taken": "E-mailadressen er allerede optaget",
"export-board": "Eksportér tavle",
"export-board-json": "Eksportér tavle til JSON",
"export-board-csv": "Eksportér tavle til CSV",
"export-board-csv-comma": "Exportera till CSV (avgränsare: ,)",
"export-board-csv-semicolon": "Exportera till CSV (avgränsare: ;)",
"export-board-tsv": "Eksportér tavle til TSV",
"export-board-excel": "Exportera tavla till Excel",
"user-can-not-export-excel": "Användare kan inte exportera till Excel",
"export-board-html": "Eksportér tavle til HTML",
"export-card": "Exportera kort",
"export-card-pdf": "Exportera kort till PDF",
"export-card-excel": "Exportera kort till Excel",
"export-card-excel-fields": "Välj fält att inkludera i Excel-export:",
"error-username-taken": "Brugernavnet er allerede i brug",
"error-orgname-taken": "Organisationsnavnet er allerede i brug",
"error-teamname-taken": "Holdnavnet er allerede i brug",
"error-email-taken": "Email adressen er allerede i brug",
"export-board": "Eksporter tavle",
"export-board-json": "Eksporter tavle til JSON",
"export-board-csv": "Eksporter tavle til CSV",
"export-board-csv-comma": "Eksporter til CSV (skilletegn: ,)",
"export-board-csv-semicolon": "Eksporter til CSV (skilletegn: ;)",
"export-board-tsv": "Eksporter tavle til TSV",
"export-board-excel": "Eksporter tavle til Excel",
"user-can-not-export-excel": "Brugeren kan ikke eksportere til Excel",
"export-board-html": "Eksporter tavle til HTML",
"export-card": "Eksporter kort",
"export-card-pdf": "Eksporter kort til PDF",
"export-card-excel": "Eksporter kort til Excel",
"export-card-excel-fields": "Vælg felter at inkludere i Excel eksport",
"export-card-subtasks": "Delopgaver",
"export-card-attachments": "Vedhæftninger",
"export-card-field-people": "Personer (Skapare, Ägare, Medlemmar, Tilldelade)",
"export-card-field-board-info": "Tavelinformation (Tavla, Lista, Swimlane)",
"export-card-field-dates": "Datum (Skapad, Mottagen, Start, Förfaller, Slut)",
"export-card-attachment-filename": "Filnamn",
"export-card-attachment-size": "Storlek",
"export-card-attachment-type": "Skriv",
"export-card-attachment-uploaded-by": "Uppladdat av",
"export-card-attachment-uploaded-at": "Uppladdat den",
"export-card-attachment-image-previews": "Förhandsvisning",
"export-card-excel-no-disk-space": "Kan inte exportera till Excel: inte tillräckligt med ledigt diskutrymme",
"export-card-field-people": "Personer (Opretter, Ejer, Medlemmer, Tildelte)",
"export-card-field-board-info": "Tavleinformation (Tavle, Liste, Svømmebane)",
"export-card-field-dates": "Datoer (Oprettet, Modtaget, Start, Forfald, Slut)",
"export-card-attachment-filename": "Filnavn",
"export-card-attachment-size": "Størrelse",
"export-card-attachment-type": "Type",
"export-card-attachment-uploaded-by": "Uploadet af",
"export-card-attachment-uploaded-at": "Uploaded d.",
"export-card-attachment-image-previews": "Forhåndsvisning",
"export-card-excel-no-disk-space": "Kan ikke eksportere til Excel: Ikke nok ledig diskplads",
"export-card-excel-free": "ledigt",
"export-card-excel-needed": "krävs",
"user-can-not-export-card-to-pdf": "Användaren kan inte exportera kort till PDF",
"user-can-not-export-card-to-excel": "Användaren kan inte exportera kort till Excel",
"exportBoardPopup-title": "Eksportér tavle",
"exportCardPopup-title": "Exportera kort",
"sort": "Sortér",
"sorted": "Sorterad",
"remove-sort": "Återställ sortering",
"export-card-excel-needed": "påkrævet",
"user-can-not-export-card-to-pdf": "Brugeren kan ikke eksportere kort til PDF",
"user-can-not-export-card-to-excel": "Brugeren kan ikke eksportere kort til Excel",
"exportBoardPopup-title": "Eksporter tavle",
"exportCardPopup-title": "Eksporter kort",
"sort": "Sorter",
"sorted": "Sorteret",
"remove-sort": "Fjern sortering",
"sort-desc": "Klik for at sortere listen",
"list-sort-by": "Sortér listen efter:",
"list-sort-by": "Sorter listen efter:",
"list-label-modifiedAt": "Senest tilgået:",
"list-label-title": "Navn på listen",
"list-label-sort": "Din manuelle ordre",
"list-label-short-modifiedAt": "(S)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "Filtrera",
"filter-cards": "Filtrér kort eller lister",
"filter-dates-label": "Filtrera efter datum",
"filter-no-due-date": "Inget förfallodatum",
"filter-overdue": "Försenad",
"filter-due-today": "Förfaller idag",
"filter-due-this-week": "Förfaller denna vecka",
"filter-due-next-week": "Förfaller denna vecka",
"filter-due-tomorrow": "Förfaller imorgon",
"list-filter-label": "Filtrér lister efter titel",
"filter-clear": "Ryd filter",
"filter-labels-label": "Filtrera på etikett",
"filter": "Filter",
"filter-cards": "Filtrer kort eller lister",
"filter-dates-label": "Filtrer efter dato",
"filter-no-due-date": "Ingen forfaldsdato",
"filter-overdue": "Forfaldsdato overskredet",
"filter-due-today": "Forfalder i dag",
"filter-due-this-week": "Forfalder i denne uge",
"filter-due-next-week": "Forfalder i næste uge",
"filter-due-tomorrow": "Forfalder i morgen",
"list-filter-label": "Filtrer liste efter titel",
"filter-clear": "Ryd filtrering",
"filter-labels-label": "Filtrer på etikette",
"filter-no-label": "Ingen etikette",
"filter-member-label": "Filtrera på medlem",
"filter-member-label": "Filtrer på medlem",
"filter-no-member": "Ingen medlemmer",
"filter-assignee-label": "Filtrera på tilldelad till",
"filter-assignee-label": "Filtrer på tildelt til",
"filter-no-assignee": "Utildelt",
"filter-custom-fields-label": "Filtrera på anpassade fält",
"filter-custom-fields-label": "Filtrer på brugerdefineret felt",
"filter-no-custom-fields": "Ingen brugerdefinerede felter",
"filter-show-archive": "Vis arkiverede lister",
"filter-hide-empty": "Skjul tomme lister",
"filter-on": "Filter er slået til",
"filter-on-desc": "Du filtrerer kort på denne tavle. Klik her for at redigere filteret.",
"filter-to-selection": "Filtrér til valgte",
"other-filters-label": "Andra filter",
"filter-to-selection": "Filtrer til valgte",
"other-filters-label": "Andre filtre",
"advanced-filter-label": "Avanceret filter",
"advanced-filter-description": "Avanceret filter gør det muligt at skrive en tekststreng indeholdende følgende operatører: == != <= >= && || ( ) Mellemrum anvendes som adskillelsestegn mellem operatørerne. Du kan filtrere alle Brugerdefinerede felter ved at taste deres navne og værdier. Som eksempel: Felt1 == Værdi1. Bemærk: Hvis felter eller værdier indeholder mellemrum, så skal du indkapsle dem i enkeltcitationstegn. Som eksempel: 'Felt 1' == 'Værdi1'. For at springe over enkelte kontroltegn (' \\\\/), så kan \\\\ benyttes. Som eksempel: Felt1 == Så\\\\'n. Du kan også kombinere flere betingelser. Som eksempel: F1 == V1 || F1 == V2. Normalt vil alle operatører blive fortolket fra venstre mod højre. Du kan ændre rækkefølgen ved brug af parenteser. Som eksempel: F1 == V1 && (F2 == V2 || F2 == V3). Du kan også søge i tekstfelter med brug af regulære udtryk: F1 == /Tes.*/i",
"fullname": "Fuldt navn",
@@ -534,13 +534,13 @@
"headerBarCreateBoardPopup-title": "Opret tavle",
"home": "Hjem",
"import": "Importér",
"impersonate-user": "Imitera användare",
"link": "Länk",
"import-board": "importér tavle",
"import-board-c": "Importér tavle",
"import-board-title-trello": "Importér tavle fra Trello",
"import-board-title-wekan": "Importér tavler fra tidligere eksport",
"import-board-title-csv": "Importér tavle fra CSV/TSV",
"impersonate-user": "Log ind som bruger",
"link": "Link",
"import-board": "importer tavle",
"import-board-c": "Importer tavle",
"import-board-title-trello": "Importer tavle fra Trello",
"import-board-title-wekan": "Importer tavler fra tidligere eksport",
"import-board-title-csv": "Importer tavle fra CSV/TSV",
"from-trello": "Fra Trello",
"from-wekan": "Fra forrige eksport",
"from-csv": "Fra CSV/TSV",
@@ -549,21 +549,64 @@
"import-board-instruction-wekan": "På din tavle, gå til 'Menu', dernæst 'Eksportér tavle', og kopiér teksten i den hentede fil.",
"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 din valide CSV/TSV-data her",
"import-map-members": "Kortlæg medlemmer",
"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": "Notera: Ommappade medlemmar kommer tilldelas den nuvarande användaren.",
"import-show-user-mapping": "Gennemse kortlægning af medlemmer",
"import-members-map-note": "Bemærk: Ikke-mappede medlemmer vil blive mappet til den nuværende bruger.",
"import-show-user-mapping": "Gennemse mapning af medlemmer",
"import-user-select": "Vælg din eksisterende bruger, som du ønsker at bruge for dette medlem",
"importMapMembersAddPopup-title": "Vælg medlem",
"info": "Versjon",
"info": "Version",
"initials": "Initialer",
"invalid-date": "Ugyldig dato",
"invalid-time": "Ugyldig tidsangivelse",
"invalid-user": "Ugyldig bruger",
"joined": "sluttede sig til",
"joined": "sammenlagt",
"just-invited": "Du er netop blevet inviteret til denne tavle",
"keyboard-shortcuts": "Tastaturgenveje",
"keyboard-shortcuts": "Genvejstaster",
"label-create": "Opret etikette",
"label-default": "%s etikette (standard)",
"label-delete-pop": "Det er ikke muligt at fortryde. Dette vil fjerne etiketten fra alle kort og ødelægge dets historik.",
@@ -580,9 +623,9 @@
"list-select-cards": "Vælg alle kort i denne liste",
"set-color-list": "Angiv farve",
"listActionPopup-title": "Handlinger for liste",
"settingsUserPopup-title": "Användarinställningar",
"settingsTeamPopup-title": "Team inställningar",
"settingsOrgPopup-title": "Organisationens inställningar",
"settingsUserPopup-title": "Brugerindstillinger",
"settingsTeamPopup-title": "Holdindstillinger",
"settingsOrgPopup-title": "Organisationsindstillinger",
"swimlaneActionPopup-title": "Handlinger for svømmebane",
"swimlaneAddPopup-title": "Tilføj en svømmebane nedenfor",
"listImportCardPopup-title": "Importér et Trello-kort",
@@ -601,18 +644,18 @@
"memberMenuPopup-title": "Medlemsindstillinger",
"grey-icons": "Grå ikoner",
"members": "Medlemmer",
"menu": "Meny",
"menu": "Menu",
"move-selection": "Flyt valgte",
"moveCardPopup-title": "Flyt kort",
"moveListPopup-title": "Flytta lista",
"moveCardToBottom-title": "Flyt til bunden",
"moveCardToTop-title": "Flyt til toppen",
"moveSelectionPopup-title": "Flyt valgte",
"copySelectionPopup-title": "Kopiera markering",
"selection-color": "Markeringsfärg",
"copySelectionPopup-title": "Kopier markering",
"selection-color": "Markeringsfarve",
"multi-selection": "Multivalg",
"multi-selection-label": "Ange etikett för val",
"multi-selection-member": "Ange medlem för val",
"multi-selection-label": "Angiv etikette for valg",
"multi-selection-member": "Angiv medlem for valg",
"multi-selection-on": "Multivalg er slået til",
"muted": "Slukket",
"muted-info": "Du vil aldrig få notifikationer om ændringer i denne tavle",
@@ -624,10 +667,10 @@
"no-results": "Ingen resultater",
"normal": "Normal",
"normal-desc": "Du kan se og redigere kort. Indstillinger kan ikke ændres.",
"normal-assigned-only": "Endast tilldelad normal",
"normal-assigned-only-desc": " Endast tilldelade kort synliga. Redigera som normal användare.",
"normal-assigned-only": "Kun tildelt normal",
"normal-assigned-only-desc": "Kun tildelte kort synlige. Rediger som normal bruger.",
"not-accepted-yet": "Invitation er endnu ikke accepteret",
"notify-participate": "Få uppdateringar på alla kort du är med som deltagare, skapare eller medlem",
"notify-participate": "Modtag opdateringer på alle kort, som du deltager i som opretter eller medlem",
"notify-watch": "Modtag opdateringer for alle tavler eller kort som du følger",
"optional": "valgfri",
"or": "eller",
@@ -645,29 +688,29 @@
"public": "Offentlig",
"public-desc": "Denne tavle er offentlig. Den er synlig for alle med linket og vil blive vist i søgemaskiner som Google. Det er kun personer tilføjet til tavlen, der kan redigere.",
"quick-access-description": "Stjernemarkér en tavle for at tilføje genvej i denne bjælke.",
"remove-cover": "Ta bort omslagsbild för minikort",
"remove-cover": "Fjern omslagsbillede for minikort",
"remove-from-board": "Fjern fra tavle",
"remove-label": "Fjern etikette",
"listDeletePopup-title": "Slet liste?",
"remove-member": "Fjern medlem",
"remove-member-from-card": "Fjern fra kort",
"remove-member-pop": "Fjern __name__ (__username__) fra __boardTitle__? Medlemmet vil blive fjernetfra alle kort på denne tavle. De vil modtage en notifikation.",
"remove-member-pop": "Fjern __name__ (__username__) fra __boardTitle__? Medlemmet vil blive fjernet fra alle kort på denne tavle. De vil modtage en notifikation.",
"removeMemberPopup-title": "Fjern medlem?",
"rename": "Omdøb",
"rename-board": "Omdøb tavle",
"restore": "Genskab",
"rescue-card-description": "Visa räddningsdialogruta innan stängning för osparade kortbeskrivningar",
"rescue-card-description-dialogue": "Skriv över kortbeskrivningen med dina ändringar?",
"rescue-card-description": "Vis redningsdialog inden lukning af ikke-gemte kort beskrivelser ",
"rescue-card-description-dialogue": "Overskriv nuværende kort beskrivelse med dine ændringer?",
"save": "Gem",
"search": "Søg",
"rules": "Regler",
"search-cards": "Søg ud fra titler i kort/lister, beskrivelser og brugerdefinerede felter på denne tavle.",
"search-example": "Text att söka efter?",
"search-example": "Skriv den tekst, som du søger efter og tryk på Enter",
"select-color": "Vælg farve",
"select-board": "Välj tavla",
"select-board": "Vælg tavle",
"set-wip-limit-value": "Angiv en grænse for det maksimale antal opgaver i denne liste",
"setWipLimitPopup-title": "Angiv WIP-begrænsning",
"shortcut-add-self": "Tilldela dig nuvarande kort",
"shortcut-add-self": "Tildel dig selv til nuværende kort",
"shortcut-assign-self": "Tilknyt dig selv til nuværende kort?",
"shortcut-autocomplete-emoji": "Auto-fuldfør emoji",
"shortcut-autocomplete-members": "Auto-fuldfør medlemmer",
@@ -697,23 +740,23 @@
"has-spenttime-cards": "Har kort med anvendt tid",
"time": "Tid",
"title": "Titel",
"toggle-assignees": "Växla tilldelade personer 1-9 för kort (I den ordning de lades till i tavlan).",
"toggle-labels": "Toggle-etiketter 1-9 för kortet. Multi-Selection lägger till etiketter 1-9.",
"remove-labels-multiselect": "Multi-Selection raderar etikett 1-9",
"toggle-assignees": "Skift tildelte personer 1-9 for kort (i den rækkefølge de blev tilføjet til tavlen).",
"toggle-labels": "Skift etiketter 1-9 for kortet. Multi-Selection lægger etiketterne 1-9 til",
"remove-labels-multiselect": "Multi-Selection sletter etiketterne 1-9",
"tracking": "Sporing",
"tracking-info": "Du vil få notifikation om alle ændringer i kort som du har oprettet eller er medlem af.",
"type": "Skriv",
"unassign-member": "Fjern medlemstilknytning",
"unsaved-description": "Du har en beskrivelse som ikke er gemt",
"unwatch": "Ophør med at følge",
"unwatch": "Stop med at følge",
"upload": "Overfør",
"upload-avatar": "Overfør en avatar",
"uploaded-avatar": "Overførte en avatar",
"uploading-files": "Laddar upp filer",
"upload-failed": "Uppladdning misslyckades",
"upload-completed": "Uppladdning slutförd",
"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",
"uploading-files": "Uploader filer",
"upload-failed": "Uploading mislykkedes",
"upload-completed": "Uploading fuldført",
"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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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": "تیتر (به صورت الفبا)",
+69
View File
@@ -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": "تیتر (به صورت الفبا)",
+69
View File
@@ -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ä)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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)",
+69
View File
@@ -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": "શીર્ષક (અક્ષર પ્રમાણે)",
+69
View File
@@ -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 220 files, more files were not shown because too many files have changed in this diff. Show more