Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ce136ee0a | ||
|
|
7495c1bf59 | ||
|
|
ef685703cf | ||
|
|
0218f3266b | ||
|
|
6a97dfb4b9 | ||
|
|
75fdc53746 | ||
|
|
ed3c53df35 | ||
|
|
2efa42b853 | ||
|
|
cf151b5632 | ||
|
|
2241c35e55 | ||
|
|
6f7292db5e | ||
|
|
ce587d23fa | ||
|
|
9979193df5 | ||
|
|
bee9dc8b3e | ||
|
|
31bf4072d3 | ||
|
|
fbbd3d5174 | ||
|
|
65b7d3d50d | ||
|
|
4589c3df15 | ||
|
|
a160b662ef | ||
|
|
e176410b54 | ||
|
|
2ac5f0b2d7 | ||
|
|
33f47414bb | ||
|
|
fb27ce027c | ||
|
|
ae180c7b85 | ||
|
|
95ed3a0ab5 |
No files matched your search
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v12.22.8 \
|
||||
NODE_VERSION=v12.22.9 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
|
||||
@@ -81,7 +81,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.22.8
|
||||
node-engine: 12.22.9
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -83,7 +83,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.22.8
|
||||
node-engine: 12.22.9
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ sudo: required
|
||||
|
||||
env:
|
||||
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
|
||||
TRAVIS_NODE_VERSION: 12.22.8
|
||||
TRAVIS_NODE_VERSION: 12.22.9
|
||||
TRAVIS_NPM_VERSION: latest
|
||||
|
||||
before_install:
|
||||
|
||||
@@ -1,5 +1,45 @@
|
||||
[Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac)
|
||||
|
||||
# v5.91 2022-01-11 WeKan ® release
|
||||
|
||||
This release adds the following CRITICAL SECURITY UPDATES:
|
||||
|
||||
- [Updated to Node.js v12.22.9](https://github.com/wekan/wekan/commit/0218f3266bbab2e044f83a06042ca61afab65bdf).
|
||||
Thanks to Node.js developers.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Added release scripts for starting and stopping services](https://github.com/wekan/wekan/commit/33f47414bbecdc3bca10e807c38562e833997db4).
|
||||
Thanks to xet7.
|
||||
- Updated rebuild-wekan.sh script about installing dependencies.
|
||||
[Part1](https://github.com/wekan/wekan/commit/9979193df5b896efb1a8c0ac9c244972fa08aae1),
|
||||
[Part2](https://github.com/wekan/wekan/commit/6f7292db5e8427fb63305e1e0e41d2337d8d9a60).
|
||||
Thanks to xet7.
|
||||
- In install scripts, use Volta Node and NPM install manager, made with Rust https://volta.sh .
|
||||
Volta uses home directory also with "npm -g install", no sudo needed.
|
||||
xet7 found info about Volta from Miniflare docs.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/2efa42b8537b8a404a0f82d78c5299f098130183),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/ef685703cf8180c3fedef381d3c10aaf405ee8b4).
|
||||
Thanks to Volta developers.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/75fdc53746710206482b66513b02216dab5a4ad6).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix user mentions](https://github.com/wekan/wekan/pull/4273).
|
||||
Thanks to Ben0it-T.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.90 2021-12-26 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Create Board from Template not opening](https://github.com/wekan/wekan/commit/95ed3a0ab56a52a04c13856cf9d1d845659ea1b7).
|
||||
Thanks to Ben0it-T and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.89 2021-12-26 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v12.22.8 \
|
||||
NODE_VERSION=v12.22.9 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
|
||||
ENV QEMU_VERSION=v4.2.0-6 \
|
||||
QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v12.22.8 \
|
||||
NODE_VERSION=v12.22.9 \
|
||||
WEKAN_VERSION=latest \
|
||||
WEKAN_ARCHITECTURE=arm64
|
||||
|
||||
@@ -40,7 +40,7 @@ LABEL maintainer="wekan"
|
||||
# Set the environment variables (defaults where required)
|
||||
ENV QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v12.22.8 \
|
||||
NODE_VERSION=v12.22.9 \
|
||||
NODE_ENV=production \
|
||||
NPM_VERSION=latest \
|
||||
WITH_API=true \
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v5.89.0"
|
||||
appVersion: "v5.91.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -336,7 +336,7 @@ BlazeComponent.extendComponent({
|
||||
[
|
||||
// User mentions
|
||||
{
|
||||
match: /\B@([\w.]*)$/,
|
||||
match: /\B@([\w.-]*)$/,
|
||||
search(term, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
callback(
|
||||
@@ -347,6 +347,9 @@ BlazeComponent.extendComponent({
|
||||
);
|
||||
},
|
||||
template(user) {
|
||||
if (user.profile && user.profile.fullname) {
|
||||
return (user.username + " (" + user.profile.fullname + ")");
|
||||
}
|
||||
return user.username;
|
||||
},
|
||||
replace(user) {
|
||||
@@ -575,7 +578,8 @@ BlazeComponent.extendComponent({
|
||||
this.isBoardTemplateSearch;
|
||||
let board = {};
|
||||
if (this.isTemplateSearch) {
|
||||
board = Boards.findOne((Meteor.user().profile || {}).templatesBoardId);
|
||||
//board = Boards.findOne((Meteor.user().profile || {}).templatesBoardId);
|
||||
board._id = (Meteor.user().profile || {}).templatesBoardId;
|
||||
} else {
|
||||
// Prefetch first non-current board id
|
||||
board = Boards.find({
|
||||
|
||||
@@ -11,7 +11,7 @@ BlazeComponent.extendComponent({
|
||||
const mentions = [
|
||||
// User mentions
|
||||
{
|
||||
match: /\B@([\w.]*)$/,
|
||||
match: /\B@([\w.-]*)$/,
|
||||
search(term, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
callback(
|
||||
@@ -21,17 +21,23 @@ BlazeComponent.extendComponent({
|
||||
.map(member => {
|
||||
const user = Users.findOne(member.userId);
|
||||
const username = user.username;
|
||||
const fullName = user.profile && user.profile !== undefined ? user.profile.fullname : "";
|
||||
return username.includes(term) || fullName.includes(term) ? fullName + "(" + username + ")" : null;
|
||||
const fullName = user.profile && user.profile !== undefined && user.profile.fullname ? user.profile.fullname : "";
|
||||
return username.includes(term) || fullName.includes(term) ? user : null;
|
||||
})
|
||||
.filter(Boolean), [...specialHandleNames])
|
||||
.filter(Boolean), [...specialHandles])
|
||||
);
|
||||
},
|
||||
template(value) {
|
||||
return value;
|
||||
template(user) {
|
||||
if (user.profile && user.profile.fullname) {
|
||||
return (user.profile.fullname + " (" + user.username + ")");
|
||||
}
|
||||
return user.username;
|
||||
},
|
||||
replace(username) {
|
||||
return `@${username} `;
|
||||
replace(user) {
|
||||
if (user.profile && user.profile.fullname) {
|
||||
return `@${user.username} (${user.profile.fullname}) `;
|
||||
}
|
||||
return `@${user.username} `;
|
||||
},
|
||||
index: 1,
|
||||
},
|
||||
@@ -355,7 +361,7 @@ Blaze.Template.registerHelper(
|
||||
}
|
||||
return member;
|
||||
}), [...specialHandles]);
|
||||
const mentionRegex = /\B@([\w.]*)/gi;
|
||||
const mentionRegex = /\B@([\w.-]*)/gi;
|
||||
|
||||
let currentMention;
|
||||
while ((currentMention = mentionRegex.exec(content)) !== null) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
appVersion: "5.89"
|
||||
appVersion: "5.91"
|
||||
dependencies:
|
||||
- condition: mongodb.enabled
|
||||
name: mongodb
|
||||
|
||||
@@ -14,7 +14,7 @@ serviceAccounts:
|
||||
##
|
||||
image:
|
||||
repository: quay.io/wekan/wekan
|
||||
tag: v5.89
|
||||
tag: v5.91
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Configuration for wekan component
|
||||
|
||||
+2
-2
@@ -1022,8 +1022,8 @@
|
||||
"globalSearch-instructions-operator-member": "`__operator_member__:<username>` – Karten, von denen *<username>* *Mitglied* ist",
|
||||
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:<username>` – Karten, denen *<username>* *zugewiesen* ist",
|
||||
"globalSearch-instructions-operator-creator": "`__operator_creator__:<username>` – Karten, die von *<username>* angelegt wurden",
|
||||
"globalSearch-instructions-operator-org": "`__operator_org__:<display name|short name>` - cards belonging to a board assigned to organization *<name>*",
|
||||
"globalSearch-instructions-operator-team": "`__operator_team__:<display name|short name>` - cards belonging to a board assigned to team *<name>*",
|
||||
"globalSearch-instructions-operator-org": "`__operator_org__:<display name|short name>` - Karten gehören zu einem Board, dass der Organisation *<name>* zugewiesen ist",
|
||||
"globalSearch-instructions-operator-team": "`__operator_team__:<display name|short name>` - Karten gehören zu einem Board, dass Team *<name>* zugewiesen ist",
|
||||
"globalSearch-instructions-operator-due": "`__operator_due__:<n>` – Karten, die spätestens in *<n>* Tagen fällig sind. `__operator_due__:__predicate_overdue__` zeigt alle Karten, für die die Fälligkeit überschritten ist.",
|
||||
"globalSearch-instructions-operator-created": "`__operator_created__:<n>` – Karten, die vor maximal *<n>* Tagen angelegt wurden",
|
||||
"globalSearch-instructions-operator-modified": "`__operator_modified__:<n>` – Karten, die vor maximal *<n>* Tagen geändert wurden",
|
||||
|
||||
+10
-10
@@ -46,7 +46,7 @@
|
||||
"activities": "Daftar Kegiatan",
|
||||
"activity": "Kegiatan",
|
||||
"activity-added": "ditambahkan %s ke %s",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%s dipindah ke arsip",
|
||||
"activity-attached": "dilampirkan %s ke %s",
|
||||
"activity-created": "dibuat %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
@@ -73,16 +73,16 @@
|
||||
"activity-unchecked-item-card": "unchecked %s in checklist %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted-card": "uncompleted the checklist %s",
|
||||
"activity-editComment": "edited comment %s",
|
||||
"activity-deleteComment": "deleted comment %s",
|
||||
"activity-editComment": "komentar diedit %s",
|
||||
"activity-deleteComment": "komentar dihapus %s",
|
||||
"activity-receivedDate": "edited received date to %s of %s",
|
||||
"activity-startDate": "edited start date to %s of %s",
|
||||
"activity-dueDate": "edited due date to %s of %s",
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-attachment": "Tambah Lampiran",
|
||||
"add-board": "Tambah Papan",
|
||||
"add-template": "Tambah Templat",
|
||||
"add-card": "Tambah Kartu",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
@@ -91,15 +91,15 @@
|
||||
"add-checklist-item": "Tambahkan hal ke daftar periksa",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Tambahkan Sampul",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
"add-label": "Tambah Label",
|
||||
"add-list": "Tambah Daftar",
|
||||
"add-members": "Tambahkan Anggota",
|
||||
"added": "Ditambahkan",
|
||||
"addMemberPopup-title": "Daftar Anggota",
|
||||
"memberPopup-title": "Setelan Anggota",
|
||||
"admin": "Admin",
|
||||
"admin-desc": "Bisa tampilkan dan sunting kartu, menghapus partisipan, dan merubah setting panel",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement": "Pengumuman",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"all-boards": "Semua Panel",
|
||||
|
||||
+95
-95
@@ -46,7 +46,7 @@
|
||||
"activities": "활동 내역",
|
||||
"activity": "활동 상태",
|
||||
"activity-added": "%s를 %s에 추가함",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%s가 저장소로 이동되었습니다. ",
|
||||
"activity-attached": "%s를 %s에 첨부함",
|
||||
"activity-created": "%s 생성됨",
|
||||
"activity-customfield-created": "생성된 사용자 정의 필드 %s",
|
||||
@@ -59,18 +59,18 @@
|
||||
"activity-removed": "%s를 %s에서 삭제함",
|
||||
"activity-sent": "%s를 %s로 보냄",
|
||||
"activity-unjoined": "%s에서 멤버 해제",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-subtask-added": "%s에 하위 작업을 추가함",
|
||||
"activity-checked-item": "%s의 체크리스트 %s에서 %s를 체크함",
|
||||
"activity-unchecked-item": "%s의 체크리스트 %s에서 %s를 체크 해제함",
|
||||
"activity-checklist-added": "%s에 체크리스트를 추가함",
|
||||
"activity-checklist-removed": "removed a checklist from %s",
|
||||
"activity-checklist-completed": "completed checklist %s of %s",
|
||||
"activity-checklist-removed": "%s에서 체크리스트를 삭제함 ",
|
||||
"activity-checklist-completed": "%s의 %s 체크리스트를 작성함 ",
|
||||
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"activity-checklist-item-removed": "removed a checklist item from '%s' in %s",
|
||||
"add": "추가",
|
||||
"activity-checked-item-card": "checked %s in checklist %s",
|
||||
"activity-unchecked-item-card": "unchecked %s in checklist %s",
|
||||
"activity-checked-item-card": "체크리스트 %s에서 %s가 체크됨",
|
||||
"activity-unchecked-item-card": "체크리스트 %s에서 %s가 체크 해제됨",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted-card": "uncompleted the checklist %s",
|
||||
"activity-editComment": "수정된 댓글",
|
||||
@@ -81,15 +81,15 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "첨부파일 추가",
|
||||
"add-board": "보드 추가",
|
||||
"add-template": "Add Template",
|
||||
"add-template": "템플릿 추가",
|
||||
"add-card": "카드 추가",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-card-to-top-of-list": "리스트 맨앞에 카드를 추가함",
|
||||
"add-card-to-bottom-of-list": "리스트 맨뒤에 카드를 추가함",
|
||||
"add-swimlane": "Swimlane 추가",
|
||||
"add-subtask": "하위 작업을 추가",
|
||||
"add-checklist": "체크리스트 추가",
|
||||
"add-checklist-item": "체크리스트에 항목 추가",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"convertChecklistItemToCardPopup-title": "카드에 연결",
|
||||
"add-cover": "커버 추가",
|
||||
"add-label": "라벨 추가",
|
||||
"add-list": "리스트 추가",
|
||||
@@ -106,10 +106,10 @@
|
||||
"and-n-other-card": "__count__ 개의 다른 카드",
|
||||
"and-n-other-card_plural": "__count__ 개의 다른 카드들",
|
||||
"apply": "적용",
|
||||
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
|
||||
"app-try-reconnect": "Try to reconnect.",
|
||||
"app-is-offline": "잠시만 기다려주세요. 페이지 새로고침은 데이터 손실을 일으킬 수 있습니다. 로딩이 완료되지 않으면, 서버가 중지되지 않았는지 확인해주세요.",
|
||||
"app-try-reconnect": "재접속 시도 중 입니다",
|
||||
"archive": "보관으로 이동",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-all": "모두 저장소로 이동",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
@@ -122,7 +122,7 @@
|
||||
"no-archived-boards": "보관 중인 보드 없음.",
|
||||
"archives": "보관",
|
||||
"template": "템플릿",
|
||||
"templates": "Templates",
|
||||
"templates": "템플릿",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "멤버 지정",
|
||||
@@ -139,7 +139,7 @@
|
||||
"board-not-found": "보드를 찾을 수 없습니다",
|
||||
"board-private-info": "이 보드는 <strong>비공개</strong>입니다.",
|
||||
"board-public-info": "이 보드는 <strong>공개</strong>로 설정됩니다",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"board-drag-drop-reorder-or-click-open": "보드 아이콘 순서를 변경하려면 끌어서 놓으십시오. 보드를 열려면 보드 아이콘을 클릭하세요.",
|
||||
"boardChangeColorPopup-title": "보드 배경 변경",
|
||||
"boardChangeTitlePopup-title": "보드 이름 바꾸기",
|
||||
"boardChangeVisibilityPopup-title": "표시 여부 변경",
|
||||
@@ -160,9 +160,9 @@
|
||||
"card-comments-title": "이 카드에 %s 코멘트가 있습니다.",
|
||||
"card-delete-notice": "영구 삭제입니다. 이 카드와 관련된 모든 작업들을 잃게됩니다.",
|
||||
"card-delete-pop": "모든 작업이 활동 내역에서 제거되며 카드를 다시 열 수 없습니다. 복구가 안되니 주의하시기 바랍니다.",
|
||||
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
|
||||
"card-archive-pop": "Card will not be visible at this list after archiving card.",
|
||||
"card-archive-suggest-cancel": "You can later restore card from Archive.",
|
||||
"card-delete-suggest-archive": "카드를 저장소로 이동하여 보드에서 제거하고 활동을 계속할 수 있습니다.",
|
||||
"card-archive-pop": "카드를 저장소에 보관한 후 이 리스트에서 카드가 보이지 않을 것입니다.",
|
||||
"card-archive-suggest-cancel": "나중에 저장소에서 카드를 다시 불러올 수 있습니다.",
|
||||
"card-due": "마감기한",
|
||||
"card-due-on": "종료일",
|
||||
"card-spent": "Spent Time",
|
||||
@@ -188,7 +188,7 @@
|
||||
"vote-for-it": "for it",
|
||||
"vote-against": "against",
|
||||
"deleteVotePopup-title": "투표를 삭제합니까?",
|
||||
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
|
||||
"vote-delete-pop": "이 투표와 관련된 모든 정보를 영구적으로 잃게 됩니다.",
|
||||
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
|
||||
"card-edit-planning-poker": "Edit Planning Poker",
|
||||
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
|
||||
@@ -203,15 +203,15 @@
|
||||
"poker-forty": "40",
|
||||
"poker-oneHundred": "100",
|
||||
"poker-unsure": "?",
|
||||
"poker-finish": "Finish",
|
||||
"poker-finish": "완료",
|
||||
"poker-result-votes": "Votes",
|
||||
"poker-result-who": "Who",
|
||||
"poker-replay": "Replay",
|
||||
"set-estimation": "Set Estimation",
|
||||
"deletePokerPopup-title": "Delete planning poker?",
|
||||
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
|
||||
"poker-delete-pop": "이 포커와 관련된 모든 정보를 영구적으로 잃게 됩니다.",
|
||||
"cardDeletePopup-title": "카드를 삭제합니까?",
|
||||
"cardArchivePopup-title": "Archive Card?",
|
||||
"cardArchivePopup-title": "카드를 보관합니까?",
|
||||
"cardDetailsActionsPopup-title": "카드 액션",
|
||||
"cardLabelsPopup-title": "라벨",
|
||||
"cardMembersPopup-title": "멤버",
|
||||
@@ -241,7 +241,7 @@
|
||||
"clipboard": "클립보드 또는 드래그 앤 드롭",
|
||||
"close": "닫기",
|
||||
"close-board": "보드 닫기",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
|
||||
"close-board-pop": "홈 헤더에서 \"Archive\" 버튼을 클릭하여 보드를 복원할 수 있습니다.",
|
||||
"close-card": "Close Card",
|
||||
"color-black": "블랙",
|
||||
"color-blue": "블루",
|
||||
@@ -273,18 +273,18 @@
|
||||
"comment-placeholder": "댓글 입력",
|
||||
"comment-only": "댓글만 입력 가능",
|
||||
"comment-only-desc": "카드에 댓글만 달수 있습니다.",
|
||||
"comment-delete": "Are you sure you want to delete the comment?",
|
||||
"deleteCommentPopup-title": "Delete comment?",
|
||||
"comment-delete": "댓글을 삭제하시겠습니까?",
|
||||
"deleteCommentPopup-title": "댓글을 삭제하시겠습니까?",
|
||||
"no-comments": "댓글 없음",
|
||||
"no-comments-desc": "댓글과 활동내역을 볼 수 없습니다.",
|
||||
"worker": "Worker",
|
||||
"worker-desc": "Can only move cards, assign itself to card and comment.",
|
||||
"computer": "내 컴퓨터",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-popup": "Are you sure you want to delete the checklist?",
|
||||
"checklistDeletePopup-title": "Delete Checklist?",
|
||||
"confirm-checklist-delete-popup": "체크리스트를 삭제하시겠습니까?",
|
||||
"checklistDeletePopup-title": "체크리스트를 삭제합니까?",
|
||||
"copy-card-link-to-clipboard": "클립보드에 카드의 링크가 복사되었습니다.",
|
||||
"copy-text-to-clipboard": "Copy text to clipboard",
|
||||
"copy-text-to-clipboard": "텍스트를 클립보드에 복사합니다",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
"searchElementPopup-title": "검색",
|
||||
"copyCardPopup-title": "카드 복사",
|
||||
@@ -362,21 +362,21 @@
|
||||
"error-user-notAllowSelf": "자기 자신을 초대할 수 없습니다.",
|
||||
"error-user-notCreated": "유저가 생성되지 않았습니다.",
|
||||
"error-username-taken": "중복된 아이디 입니다.",
|
||||
"error-orgname-taken": "This organization name is already taken",
|
||||
"error-teamname-taken": "This team name is already taken",
|
||||
"error-orgname-taken": "중복된 조직 이름입니다.",
|
||||
"error-teamname-taken": "중복된 팀 이름입니다.",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"export-board": "보드 내보내기",
|
||||
"export-board-json": "Export board to JSON",
|
||||
"export-board-csv": "Export board to CSV",
|
||||
"export-board-tsv": "Export board to TSV",
|
||||
"export-board-excel": "Export board to Excel",
|
||||
"user-can-not-export-excel": "User can not export Excel",
|
||||
"export-board-html": "Export board to HTML",
|
||||
"export-card": "Export card",
|
||||
"export-card-pdf": "Export card to PDF",
|
||||
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
|
||||
"export-board-json": "보드를 JSON 형태로 내보내기",
|
||||
"export-board-csv": "보드를 CSV 형태로 내보내기",
|
||||
"export-board-tsv": "보드를 TSV 형태로 내보내기",
|
||||
"export-board-excel": "보드를 엑셀로 내보내기",
|
||||
"user-can-not-export-excel": "엑셀로 내보낼 수 없습니다.",
|
||||
"export-board-html": "보드를 HTML 형태로 내보내기",
|
||||
"export-card": "카드 내보내기",
|
||||
"export-card-pdf": "카드를 PDF 형태로 내보내기",
|
||||
"user-can-not-export-card-to-pdf": "카드를 PDF 형태로 내보낼 수 없습니다.",
|
||||
"exportBoardPopup-title": "보드 내보내기",
|
||||
"exportCardPopup-title": "Export card",
|
||||
"exportCardPopup-title": "카드 내보내기",
|
||||
"sort": "분류",
|
||||
"sorted": "Sorted",
|
||||
"remove-sort": "Remove sort",
|
||||
@@ -390,9 +390,9 @@
|
||||
"list-label-short-sort": "(M)",
|
||||
"filter": "필터",
|
||||
"filter-cards": "Filter Cards or Lists",
|
||||
"filter-dates-label": "Filter by date",
|
||||
"filter-dates-label": "날짜로 필터링",
|
||||
"filter-no-due-date": "No due date",
|
||||
"filter-overdue": "Overdue",
|
||||
"filter-overdue": "기한초과",
|
||||
"filter-due-today": "Due today",
|
||||
"filter-due-this-week": "Due this week",
|
||||
"filter-due-tomorrow": "Due tomorrow",
|
||||
@@ -426,13 +426,13 @@
|
||||
"import-board-c": "보드 가져오기",
|
||||
"import-board-title-trello": "Trello에서 보드 가져오기",
|
||||
"import-board-title-wekan": "Import board from previous export",
|
||||
"import-board-title-csv": "Import board from CSV/TSV",
|
||||
"import-board-title-csv": "CSV/TSV 파일을 보드로 가져오기",
|
||||
"from-trello": "From Trello",
|
||||
"from-wekan": "From previous export",
|
||||
"from-csv": "From CSV/TSV",
|
||||
"import-board-instruction-trello": "Trello 게시판에서 'Menu' -> 'More' -> 'Print and Export', 'Export JSON' 선택하여 텍스트 결과값 복사",
|
||||
"import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
|
||||
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
|
||||
"import-board-instruction-wekan": "보드에서 '메뉴', '보드 내보내기' 를 실행하고, 다운로드한 파일의 텍스트를 복사합니다.",
|
||||
"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": "유효한 JSON 데이터를 여기에 붙여 넣으십시오.",
|
||||
"import-csv-placeholder": "유효한 CSV/TSV 정보를 붙여 넣으십시오.",
|
||||
@@ -460,7 +460,7 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "카드에대한 링크",
|
||||
"list-archive-cards": "Move all cards in this list to Archive",
|
||||
"list-archive-cards": "리스트의 모든 카드를 저장소로 이동",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
|
||||
"list-move-cards": "목록에 있는 모든 카드를 이동",
|
||||
"list-select-cards": "목록에 있는 모든 카드를 선택",
|
||||
@@ -538,7 +538,7 @@
|
||||
"search": "검색",
|
||||
"rules": "규칙",
|
||||
"search-cards": "Search from card/list titles, descriptions and custom fields on this board",
|
||||
"search-example": "Write text you search and press Enter",
|
||||
"search-example": "검색할 텍스트를 입력하고 Enter 를 누르세요.",
|
||||
"select-color": "색 선택",
|
||||
"select-board": "보드 선택",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
@@ -627,7 +627,7 @@
|
||||
"invitation-code": "초대 코드",
|
||||
"email-invite-register-subject": "\"__inviter__ 님이 당신에게 초대장을 보냈습니다.",
|
||||
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
|
||||
"email-smtp-test-subject": "SMTP Test Email",
|
||||
"email-smtp-test-subject": "SMTP 테스트 이메일",
|
||||
"email-smtp-test-text": "테스트 메일을 성공적으로 발송하였습니다.",
|
||||
"error-invitation-code-not-exist": "초대 코드가 존재하지 않습니다.",
|
||||
"error-notAuthorized": "이 페이지를 볼 수있는 권한이 없습니다.",
|
||||
@@ -642,10 +642,10 @@
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(Unknown)",
|
||||
"Node_version": "Node version",
|
||||
"Meteor_version": "Meteor version",
|
||||
"MongoDB_version": "MongoDB version",
|
||||
"Meteor_version": "Meteor 버전",
|
||||
"MongoDB_version": "MongoDB 버전",
|
||||
"MongoDB_storage_engine": "MongoDB storage engine",
|
||||
"MongoDB_Oplog_enabled": "MongoDB Oplog enabled",
|
||||
"MongoDB_Oplog_enabled": "MongoDB Oplog 허용됨",
|
||||
"OS_Arch": "OS Arch",
|
||||
"OS_Cpus": "OS CPU Count",
|
||||
"OS_Freemem": "OS Free Memory",
|
||||
@@ -675,19 +675,19 @@
|
||||
"modifiedAt": "Modified at",
|
||||
"verified": "Verified",
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received": "수신됨",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "종료일",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"setCardColorPopup-title": "Set color",
|
||||
"setCardColorPopup-title": "색 설정",
|
||||
"setCardActionsColorPopup-title": "색상 선택",
|
||||
"setSwimlaneColorPopup-title": "색상 선택",
|
||||
"setListColorPopup-title": "색상 선택",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"card-sorting-by-number": "Card sorting by number",
|
||||
"card-sorting-by-number": "카드를 숫자로 정렬",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "모든 목록, 카드, 레이블 및 활동이 삭제되고 보드 내용을 복구할 수 없습니다. 실행 취소는 불가능합니다.",
|
||||
"boardDeletePopup-title": "보드 삭제?",
|
||||
@@ -731,7 +731,7 @@
|
||||
"r-action": "동작",
|
||||
"r-when-a-card": "When a card",
|
||||
"r-is": "is",
|
||||
"r-is-moved": "is moved",
|
||||
"r-is-moved": "이동됨",
|
||||
"r-added-to": "Added to",
|
||||
"r-removed-from": "Removed from",
|
||||
"r-the-board": "the board",
|
||||
@@ -740,8 +740,8 @@
|
||||
"set-filter": "Set Filter",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
"r-archived": "Moved to Archive",
|
||||
"r-unarchived": "Restored from Archive",
|
||||
"r-archived": "저장소로 이동",
|
||||
"r-unarchived": "저장소에서 복원",
|
||||
"r-a-card": "카드",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
"r-when-the-label": "When the label",
|
||||
@@ -763,7 +763,7 @@
|
||||
"r-bottom-of": "Bottom of",
|
||||
"r-its-list": "its list",
|
||||
"r-archive": "보관으로 이동",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-unarchive": "저장소에서 복원",
|
||||
"r-card": "카드",
|
||||
"r-add": "추가",
|
||||
"r-remove": "제거",
|
||||
@@ -773,7 +773,7 @@
|
||||
"r-set-color": "Set color to",
|
||||
"r-checklist": "checklist",
|
||||
"r-check-all": "전체 선택",
|
||||
"r-uncheck-all": "Uncheck all",
|
||||
"r-uncheck-all": "전체 선택 해제",
|
||||
"r-items-check": "items of checklist",
|
||||
"r-check": "선택",
|
||||
"r-uncheck": "선택되지 않은 항목",
|
||||
@@ -837,8 +837,8 @@
|
||||
"hide-logo": "Hide Logo",
|
||||
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
|
||||
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"error-undefined": "잘못된 행동입니다.",
|
||||
"error-ldap-login": "로그인 중 에러 발생",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
@@ -847,7 +847,7 @@
|
||||
"team-number": "The number of teams is:",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"swimlane-delete-pop": "활동 피드에서 모든 작업이 제거되고 Swinlane 을 복구할 수 없습니다. 실행 취소가 불가능합니다.",
|
||||
"restore-all": "모든항목 복구",
|
||||
"delete-all": "모두 삭제",
|
||||
"loading": "로딩중, 기다려주십시오.",
|
||||
@@ -871,7 +871,7 @@
|
||||
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
|
||||
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
|
||||
"delete-org-confirm-popup": "이 조직을 정말 지우시겠습니까? 실행 취소가 불가능합니다.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account",
|
||||
"hide-minicard-label-text": "Hide minicard label text",
|
||||
"show-desktop-drag-handles": "Show desktop drag handles",
|
||||
@@ -880,10 +880,10 @@
|
||||
"addmore-detail": "자세한 설명 추가",
|
||||
"show-on-card": "Show on Card",
|
||||
"new": "New",
|
||||
"editOrgPopup-title": "Edit Organization",
|
||||
"newOrgPopup-title": "New Organization",
|
||||
"editTeamPopup-title": "Edit Team",
|
||||
"newTeamPopup-title": "New Team",
|
||||
"editOrgPopup-title": "조직 수정",
|
||||
"newOrgPopup-title": "새 조직",
|
||||
"editTeamPopup-title": "팀 수정",
|
||||
"newTeamPopup-title": "새 팀",
|
||||
"editUserPopup-title": "Edit User",
|
||||
"newUserPopup-title": "New User",
|
||||
"notifications": "알림",
|
||||
@@ -935,8 +935,8 @@
|
||||
"dueCardsViewChange-choice-all": "All Users",
|
||||
"dueCardsViewChange-choice-all-description": "Shows all incomplete cards with a *Due* date from boards for which the user has permission.",
|
||||
"broken-cards": "Broken Cards",
|
||||
"board-title-not-found": "Board '%s' not found.",
|
||||
"swimlane-title-not-found": "Swimlane '%s' not found.",
|
||||
"board-title-not-found": "보드 %s 을 찾을 수 없습니다.",
|
||||
"swimlane-title-not-found": "Swimlane %s 을 찾을 수 없습니다.",
|
||||
"list-title-not-found": "List '%s' not found.",
|
||||
"label-not-found": "Label '%s' not found.",
|
||||
"label-color-not-found": "Label color %s not found.",
|
||||
@@ -966,8 +966,8 @@
|
||||
"operator-creator": "creator",
|
||||
"operator-status": "status",
|
||||
"operator-due": "due",
|
||||
"operator-created": "created",
|
||||
"operator-modified": "modified",
|
||||
"operator-created": "생성됨",
|
||||
"operator-modified": "수정됨",
|
||||
"operator-sort": "sort",
|
||||
"operator-comment": "comment",
|
||||
"operator-has": "has",
|
||||
@@ -975,9 +975,9 @@
|
||||
"operator-debug": "debug",
|
||||
"operator-org": "org",
|
||||
"operator-team": "team",
|
||||
"predicate-archived": "archived",
|
||||
"predicate-archived": "저장됨",
|
||||
"predicate-open": "open",
|
||||
"predicate-ended": "ended",
|
||||
"predicate-ended": "종료됨",
|
||||
"predicate-all": "all",
|
||||
"predicate-overdue": "overdue",
|
||||
"predicate-week": "week",
|
||||
@@ -985,8 +985,8 @@
|
||||
"predicate-quarter": "quarter",
|
||||
"predicate-year": "year",
|
||||
"predicate-due": "due",
|
||||
"predicate-modified": "modified",
|
||||
"predicate-created": "created",
|
||||
"predicate-modified": "수정됨",
|
||||
"predicate-created": "생성됨",
|
||||
"predicate-attachment": "attachment",
|
||||
"predicate-description": "description",
|
||||
"predicate-checklist": "checklist",
|
||||
@@ -1001,12 +1001,12 @@
|
||||
"operator-unknown-error": "%s is not an operator",
|
||||
"operator-number-expected": "operator __operator__ expected a number, got '__value__'",
|
||||
"operator-sort-invalid": "sort of '%s' is invalid",
|
||||
"operator-status-invalid": "'%s' is not a valid status",
|
||||
"operator-status-invalid": "%s 는 유효한 상태가 아닙니다.",
|
||||
"operator-has-invalid": "%s is not a valid existence check",
|
||||
"operator-limit-invalid": "%s is not a valid limit. Limit should be a positive integer.",
|
||||
"operator-debug-invalid": "%s is not a valid debug predicate",
|
||||
"next-page": "Next Page",
|
||||
"previous-page": "Previous Page",
|
||||
"next-page": "다음 페이지",
|
||||
"previous-page": "이전 페이지",
|
||||
"heading-notes": "Notes",
|
||||
"globalSearch-instructions-heading": "Search Instructions",
|
||||
"globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).",
|
||||
@@ -1051,8 +1051,8 @@
|
||||
"sort-cards": "Sort Cards",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"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`",
|
||||
"server-error": "서버 에러",
|
||||
"server-error-troubleshooting": "서버 실행 중 에러 발생 시 제출해주세요.\nsnap 설치의 경우 `sudo snap logs wekan.wekan` 을 실행하세요.\nDocker 설치의 경우 `sudo docker logs wekan-app` 을 실행하세요.",
|
||||
"title-alphabetically": "Title (Alphabetically)",
|
||||
"created-at-newest-first": "Created At (Newest First)",
|
||||
"created-at-oldest-first": "Created At (Oldest First)",
|
||||
@@ -1064,7 +1064,7 @@
|
||||
"custom-field-stringtemplate": "String Template",
|
||||
"custom-field-stringtemplate-format": "Format (use %{value} as placeholder)",
|
||||
"custom-field-stringtemplate-separator": "Separator (use   or for a space)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Press enter to add more items",
|
||||
"custom-field-stringtemplate-item-placeholder": "항목을 더 추가하려면 Enter 키를 누르십시오.",
|
||||
"creator": "Creator",
|
||||
"filesReportTitle": "Files Report",
|
||||
"orphanedFilesReportTitle": "Orphaned Files Report",
|
||||
@@ -1086,8 +1086,8 @@
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it",
|
||||
"delete-org-warning-message": "이 조직에 속한 사용자가 한 명 이상 있으므로 조직을 삭제할 수 없습니다.",
|
||||
"delete-team-warning-message": "이 팀에 속한 사용자가 한 명 이상 있으므로 팀을 삭제할 수 없습니다.",
|
||||
"subject": "Subject",
|
||||
"details": "Details",
|
||||
"carbon-copy": "Carbon Copy (Cc:)",
|
||||
@@ -1098,8 +1098,8 @@
|
||||
"pending": "Pending",
|
||||
"closed": "Closed",
|
||||
"resolved": "Resolved",
|
||||
"cancelled": "Cancelled",
|
||||
"history": "History",
|
||||
"cancelled": "취소됨",
|
||||
"history": "이력",
|
||||
"request": "Request",
|
||||
"requests": "Requests",
|
||||
"help-request": "Help Request",
|
||||
@@ -1108,13 +1108,13 @@
|
||||
"add-teams": "Add teams",
|
||||
"add-teams-label": "Added teams are displayed below:",
|
||||
"remove-team-from-table": "Are you sure you want to remove this team from the board ?",
|
||||
"confirm-btn": "Confirm",
|
||||
"confirm-btn": "확인",
|
||||
"remove-btn": "제거",
|
||||
"filter-card-title-label": "Filter by card title",
|
||||
"invite-people-success": "Invitation to register sent with success",
|
||||
"invite-people-error": "Error while sending invitation to register",
|
||||
"invite-people-error": "등록 중 오류 발생",
|
||||
"can-invite-if-same-mailDomainName": "Email domain name",
|
||||
"to-create-teams-contact-admin": "To create teams, please contact the administrator.",
|
||||
"to-create-teams-contact-admin": "팀을 생성하려면 관리자에게 문의하세요.",
|
||||
"Node_heap_total_heap_size": "Node heap: total heap size",
|
||||
"Node_heap_total_heap_size_executable": "Node heap: total heap size executable",
|
||||
"Node_heap_total_physical_size": "Node heap: total physical size",
|
||||
@@ -1130,12 +1130,12 @@
|
||||
"Node_memory_usage_heap_total": "Node memory usage: total size of the allocated heap",
|
||||
"Node_memory_usage_heap_used": "Node memory usage: actual memory used",
|
||||
"Node_memory_usage_external": "Node memory usage: external",
|
||||
"add-organizations": "Add organizations",
|
||||
"add-organizations": "조직 추가",
|
||||
"add-organizations-label": "Added organizations are displayed below:",
|
||||
"remove-organization-from-board": "Are you sure you want to remove this organization from this board ?",
|
||||
"to-create-organizations-contact-admin": "To create organizations, please contact administrator.",
|
||||
"remove-organization-from-board": "이 조직을 정말 지우시겠습니까?",
|
||||
"to-create-organizations-contact-admin": "조직을 생성하려면 관리자에게 문의하세요.",
|
||||
"custom-legal-notice-link-url": "Custom legal notice page URL",
|
||||
"acceptance_of_our_legalNotice": "By continuing, you accept our",
|
||||
"legalNotice": "legal notice",
|
||||
"copied": "Copied!"
|
||||
"copied": "복사됨"
|
||||
}
|
||||
@@ -942,8 +942,8 @@
|
||||
"label-color-not-found": "无法找到标签颜色%s",
|
||||
"user-username-not-found": "用户名%s无法找到",
|
||||
"comment-not-found": "找不到评论包含%s的卡片。",
|
||||
"org-name-not-found": "Organization '%s' not found.",
|
||||
"team-name-not-found": "Team '%s' not found.",
|
||||
"org-name-not-found": "%s组织不存在",
|
||||
"team-name-not-found": "%s团队不存在",
|
||||
"globalSearch-title": "查询所有看板",
|
||||
"no-cards-found": "无法查询到卡片",
|
||||
"one-card-found": "查询到一个卡片",
|
||||
@@ -972,9 +972,9 @@
|
||||
"operator-comment": "评论",
|
||||
"operator-has": "已有",
|
||||
"operator-limit": "限制",
|
||||
"operator-debug": "debug",
|
||||
"operator-org": "org",
|
||||
"operator-team": "team",
|
||||
"operator-debug": "调试",
|
||||
"operator-org": "组织",
|
||||
"operator-team": "团队",
|
||||
"predicate-archived": "存档",
|
||||
"predicate-open": "打开",
|
||||
"predicate-ended": "结束",
|
||||
@@ -996,8 +996,8 @@
|
||||
"predicate-member": "成员",
|
||||
"predicate-public": "公开",
|
||||
"predicate-private": "私有",
|
||||
"predicate-selector": "selector",
|
||||
"predicate-projection": "projection",
|
||||
"predicate-selector": "选择器",
|
||||
"predicate-projection": "预测",
|
||||
"operator-unknown-error": "%s不是维护人员",
|
||||
"operator-number-expected": "运算符__operator__ 需要相应数字才能获得 '__value__'值",
|
||||
"operator-sort-invalid": "排序%s无效",
|
||||
@@ -1070,8 +1070,8 @@
|
||||
"orphanedFilesReportTitle": "孤立文件报告",
|
||||
"reports": "报告",
|
||||
"rulesReportTitle": "规则报告",
|
||||
"boardsReportTitle": "Boards Report",
|
||||
"cardsReportTitle": "Cards Report",
|
||||
"boardsReportTitle": "面板报告",
|
||||
"cardsReportTitle": "卡片报告",
|
||||
"copy-swimlane": "复制泳道",
|
||||
"copySwimlanePopup-title": "复制泳道",
|
||||
"display-card-creator": "显示卡片创建者",
|
||||
|
||||
@@ -202,7 +202,7 @@ if (Meteor.isServer) {
|
||||
}
|
||||
return member;
|
||||
});
|
||||
const mentionRegex = /\B@(?:(?:"([\w.\s]*)")|([\w.]+))/gi; // including space in username
|
||||
const mentionRegex = /\B@(?:(?:"([\w.\s-]*)")|([\w.-]+))/gi; // including space in username
|
||||
let currentMention;
|
||||
while ((currentMention = mentionRegex.exec(comment)) !== null) {
|
||||
/*eslint no-unused-vars: ["error", { "varsIgnorePattern": "[iI]gnored" }]*/
|
||||
|
||||
Generated
+28
-35
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v5.89.0",
|
||||
"version": "v5.91.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -338,21 +338,20 @@
|
||||
}
|
||||
},
|
||||
"@wekanteam/cli-table3": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@wekanteam/cli-table3/-/cli-table3-0.7.1.tgz",
|
||||
"integrity": "sha512-kMfb2xR4/OtEaqU/Cy15JJ2+InRt0526nDVIHP8qc9OA3V35xaUySAUNq9fzL5Uqwbono9GiHJ8PMzTA+meSUw==",
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@wekanteam/cli-table3/-/cli-table3-0.7.2.tgz",
|
||||
"integrity": "sha512-JDJDKzh8eT/Qs51yEPvWYZH6iCfA4J2uEZNcfnp/rvn6SlVgl4976B76PmhZthu/dwC6yqgtT3VApSp3bcHxxA==",
|
||||
"requires": {
|
||||
"colors": "^1.1.2",
|
||||
"string-width": "^5.0.1"
|
||||
"string-width": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"@wekanteam/markdown-it-mermaid": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@wekanteam/markdown-it-mermaid/-/markdown-it-mermaid-0.5.1.tgz",
|
||||
"integrity": "sha512-Er9Ok1lQy8RW8l0Sh67XGkQe1F8SmLCl20gIsMqif4glSF78lRWjcqXzCrANMjqS9QqHNEWHj+uryhfbHJaIgQ==",
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@wekanteam/markdown-it-mermaid/-/markdown-it-mermaid-0.5.2.tgz",
|
||||
"integrity": "sha512-JEDvw+RYgYSDtKtkrt8rdh95SlPcuxmct2c0i0rrPUU1uyE/l9Q2+6adnWfqgz9DucGQJmAj+qZeEcxL62+LbQ==",
|
||||
"requires": {
|
||||
"@wekanteam/cli-table3": "^0.7.1",
|
||||
"mermaid": "^8.13.6"
|
||||
"@wekanteam/cli-table3": "^0.7.2",
|
||||
"mermaid": "^8.13.8"
|
||||
}
|
||||
},
|
||||
"abstract-logging": {
|
||||
@@ -741,12 +740,6 @@
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
|
||||
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
|
||||
"optional": true
|
||||
},
|
||||
"commander": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||
@@ -805,9 +798,9 @@
|
||||
}
|
||||
},
|
||||
"d3": {
|
||||
"version": "7.2.1",
|
||||
"resolved": "https://registry.npmjs.org/d3/-/d3-7.2.1.tgz",
|
||||
"integrity": "sha512-E/5sP0aeK6YPXI/+4QlefvBFgmcyR2jYftId0PrYWv4Y/gW3c3thp1XG4rQzF0eUwV9tR1x05X5eWuJ6rQXvew==",
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/d3/-/d3-7.3.0.tgz",
|
||||
"integrity": "sha512-MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw==",
|
||||
"requires": {
|
||||
"d3-array": "3",
|
||||
"d3-axis": "3",
|
||||
@@ -1020,9 +1013,9 @@
|
||||
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="
|
||||
},
|
||||
"d3-shape": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.0.1.tgz",
|
||||
"integrity": "sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.1.0.tgz",
|
||||
"integrity": "sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ==",
|
||||
"requires": {
|
||||
"d3-path": "1 - 3"
|
||||
}
|
||||
@@ -1469,6 +1462,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"eastasianwidth": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
||||
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.894",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.894.tgz",
|
||||
@@ -1773,11 +1771,6 @@
|
||||
"resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
|
||||
"integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
|
||||
"integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
@@ -2106,9 +2099,9 @@
|
||||
"optional": true
|
||||
},
|
||||
"mermaid": {
|
||||
"version": "8.13.6",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.13.6.tgz",
|
||||
"integrity": "sha512-mz8MHq0IyEM7vLyl3fEOWgqMNYrowTS1s8Tx2EC1BGlT0KHpy4BFFgcKlLdor2vxSMSlXq1sAZS+aykFC6uUBA==",
|
||||
"version": "8.13.8",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.13.8.tgz",
|
||||
"integrity": "sha512-Z5v31rvo8P7BPTiGicdJl9BbzyUe9s5sXILK8sM1g7ijkagpfFjPtXZVsq5P1WlN8m/fUp2PPNXVF9SqeTM91w==",
|
||||
"requires": {
|
||||
"@braintree/sanitize-url": "^3.1.0",
|
||||
"d3": "^7.0.0",
|
||||
@@ -3413,12 +3406,12 @@
|
||||
"dev": true
|
||||
},
|
||||
"string-width": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.0.1.tgz",
|
||||
"integrity": "sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz",
|
||||
"integrity": "sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==",
|
||||
"requires": {
|
||||
"eastasianwidth": "^0.2.0",
|
||||
"emoji-regex": "^9.2.2",
|
||||
"is-fullwidth-code-point": "^4.0.0",
|
||||
"strip-ansi": "^7.0.1"
|
||||
}
|
||||
},
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v5.89.0",
|
||||
"version": "v5.91.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"repository": {
|
||||
@@ -22,7 +22,7 @@
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.15.0",
|
||||
"@babel/runtime": "^7.15.3",
|
||||
"@wekanteam/markdown-it-mermaid": "^0.5.1",
|
||||
"@wekanteam/markdown-it-mermaid": "^0.5.2",
|
||||
"ajv": "^6.12.6",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>Wekan REST API v5.89</title>
|
||||
<title>Wekan REST API v5.91</title>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -1555,7 +1555,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v5.89">Wekan REST API v5.89</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v5.91">Wekan REST API v5.91</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2128,7 +2128,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v5.89</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v5.91</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v5.89
|
||||
version: v5.91
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
|
||||
+2
-2
@@ -18,8 +18,8 @@ REM Install chocolatey
|
||||
|
||||
choco install -y git curl python2 dotnet4.5.2 nano mongodb-4 mongoclient
|
||||
|
||||
curl -O https://nodejs.org/dist/v12.22.8/node-v12.22.8-x64.msi
|
||||
call node-v12.22.8-x64.msi
|
||||
curl -O https://nodejs.org/dist/v12.22.9/node-v12.22.9-x64.msi
|
||||
call node-v12.22.9-x64.msi
|
||||
|
||||
call npm config -g set msvs_version 2015
|
||||
call meteor npm config -g set msvs_version 2015
|
||||
|
||||
+20
-15
@@ -20,17 +20,32 @@ do
|
||||
"Install Wekan dependencies")
|
||||
|
||||
if [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||
echo "Linux";
|
||||
echo "Linux";
|
||||
# Debian, Ubuntu, Mint
|
||||
sudo apt-get install -y build-essential gcc g++ make git curl wget p7zip-full zip unzip unp
|
||||
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs
|
||||
#curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
||||
#sudo apt-get install -y nodejs
|
||||
#sudo apt-get install -y npm
|
||||
# Volta Node and NPM install manager, made with Rust https://volta.sh
|
||||
# Volta uses home directory also with "npm -g install", no sudo needed.
|
||||
curl https://get.volta.sh | bash
|
||||
export VOLTA_HOME="$HOME/.volta"
|
||||
export PATH="$VOLTA_HOME/bin:$PATH"
|
||||
volta install node@12
|
||||
# npm nodejs
|
||||
#sudo npm -g install npm
|
||||
#curl -0 -L https://npmjs.org/install.sh | sudo sh
|
||||
#sudo chown -R $(id -u):$(id -g) $HOME/.npm
|
||||
#sudo npm -g install n
|
||||
#sudo n 12.22.8
|
||||
#sudo n 12.22.9
|
||||
#sudo npm -g install npm
|
||||
## Latest npm with Meteor 2.2
|
||||
npm -g install node-gyp
|
||||
# Latest fibers for Meteor 2.2
|
||||
#sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp
|
||||
npm -g install fibers
|
||||
# Install Meteor, if it's not yet installed
|
||||
npm install -g meteor --unsafe-perm
|
||||
#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
echo "macOS";
|
||||
pause '1) Install XCode 2) Install Node 12.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.'
|
||||
@@ -55,16 +70,6 @@ do
|
||||
exit;
|
||||
fi
|
||||
|
||||
## Latest npm with Meteor 2.2
|
||||
sudo npm -g install npm
|
||||
sudo npm -g install node-gyp
|
||||
# Latest fibers for Meteor 2.2
|
||||
sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp
|
||||
sudo npm -g install fibers
|
||||
# Install Meteor, if it's not yet installed
|
||||
sudo npm install -g meteor --unsafe-perm
|
||||
#curl https://install.meteor.com | bash
|
||||
#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
|
||||
break
|
||||
;;
|
||||
|
||||
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
sudo systemctl enable docker
|
||||
sudo systemctl enable containerd
|
||||
sudo systemctl start docker
|
||||
sudo systemctl start containerd
|
||||
|
||||
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
sudo systemctl stop docker
|
||||
sudo systemctl stop containerd
|
||||
sudo systemctl disable docker
|
||||
sudo systemctl disable containerd
|
||||
|
||||
@@ -17,7 +17,7 @@ NODE_VERSION=$(node -v)
|
||||
# If installed node is not newest version
|
||||
if [ $NODE_VERSION != v$2 ]; then
|
||||
echo "8) Upgrading installed node to newest version"
|
||||
sudo n $2
|
||||
volta install node@12
|
||||
else
|
||||
echo "8) Installed node is already newest version"
|
||||
fi
|
||||
@@ -38,7 +38,7 @@ PROJECTS_ARCHIVE=~/projects.7z
|
||||
# If installed Sandstorm node is not newest version
|
||||
if [ $SANDSTORM_NODE != v$2 ]; then
|
||||
echo "9) Copy previously updated local node to Sandstorm node"
|
||||
cp /usr/local/bin/node ~/projects/meteor-spk/meteor-spk-0.5.1/meteor-spk.deps/bin/
|
||||
cp ~/.volta/bin/node ~/projects/meteor-spk/meteor-spk-0.5.1/meteor-spk.deps/bin/
|
||||
# echo "11) Install 7zip"
|
||||
# sudo apt-get -y install p7zip-full
|
||||
# # If projects.7z exists, delete it
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
sudo systemctl enable snapd
|
||||
sudo systemctl start snapd
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
sudo systemctl disable snapd
|
||||
sudo systemctl stop snapd
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
sudo systemctl enable ssh
|
||||
sudo systemctl enable ssh
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
sudo systemctl disable ssh
|
||||
sudo systemctl stop ssh
|
||||
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
sudo ufw disable
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
sudo ufw enable
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 589,
|
||||
appVersion = 591,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "5.89.0~2021-12-26"),
|
||||
appMarketingVersion = (defaultText = "5.91.0~2022-01-11"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
name: wekan
|
||||
version: '5.89'
|
||||
version: '5.91'
|
||||
summary: Open Source kanban
|
||||
description: |
|
||||
WeKan ® is an Open Source and collaborative kanban board application.
|
||||
@@ -80,7 +80,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.22.8
|
||||
node-engine: 12.22.9
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
set -euxo pipefail
|
||||
|
||||
BUILD_DEPS="bsdtar gnupg wget curl bzip2 python git ca-certificates perl-Digest-SHA"
|
||||
NODE_VERSION=v12.22.8
|
||||
NODE_VERSION=v12.22.9
|
||||
#METEOR_RELEASE=1.6.0.1 - for Stacksmith, meteor-1.8 branch that could have METEOR@1.8.1-beta.8 or newer
|
||||
USE_EDGE=false
|
||||
METEOR_EDGE=1.5-beta.17
|
||||
|
||||
Reference in new issue
Block a user