mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00
Compare commits
115 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
93f0e0b125 | ||
![]() |
730bb6d166 | ||
![]() |
855bac59bf | ||
![]() |
870900b92a | ||
![]() |
a1d5802d36 | ||
![]() |
6e16fa3992 | ||
![]() |
ee3b49ce59 | ||
![]() |
3253dd5010 | ||
![]() |
a10d8e0438 | ||
![]() |
5151814e98 | ||
![]() |
2e2a0f01f4 | ||
![]() |
dec9b82da0 | ||
![]() |
33f4db5871 | ||
![]() |
9a086c0397 | ||
![]() |
013ddb8978 | ||
![]() |
c4161c5ce6 | ||
![]() |
2fad0099e4 | ||
![]() |
454416b0bd | ||
![]() |
dd80b7308b | ||
![]() |
fe5c5f1bdc | ||
![]() |
79074deb34 | ||
![]() |
db0294c95e | ||
![]() |
8f0fa88eac | ||
![]() |
946f7045e9 | ||
![]() |
dda8c90d44 | ||
![]() |
701485d76a | ||
![]() |
b25198b87e | ||
![]() |
ad7e3774c2 | ||
![]() |
ee67dea96c | ||
![]() |
b3d3bf1593 | ||
![]() |
53726fed24 | ||
![]() |
7d2ca2c811 | ||
![]() |
c0d10a0ec3 | ||
![]() |
8e01e3c762 | ||
![]() |
04be599893 | ||
![]() |
f6cb7fddf1 | ||
![]() |
a662283b7d | ||
![]() |
f34490fe28 | ||
![]() |
1a98c86a37 | ||
![]() |
97b5931a4f | ||
![]() |
2a4dd9b693 | ||
![]() |
ecf31c3675 | ||
![]() |
9b0d0a2b7c | ||
![]() |
e2ffca2e39 | ||
![]() |
a8435879cf | ||
![]() |
e16695585a | ||
![]() |
a7bcfc6db7 | ||
![]() |
21bed98d69 | ||
![]() |
044793cc44 | ||
![]() |
083a7050b9 | ||
![]() |
cc78e19740 | ||
![]() |
ee01a07b0a | ||
![]() |
ce528b1826 | ||
![]() |
92c0543614 | ||
![]() |
b6638f4a29 | ||
![]() |
96be56a620 | ||
![]() |
2e555e420a | ||
![]() |
a849951c53 | ||
![]() |
435cb04717 | ||
![]() |
25a375261e | ||
![]() |
1a1a44616f | ||
![]() |
e6347a305c | ||
![]() |
b137108ae1 | ||
![]() |
4ce7ff7cef | ||
![]() |
184415a026 | ||
![]() |
3977adcb8f | ||
![]() |
1c47f98f59 | ||
![]() |
9f0c37352e | ||
![]() |
7a20fa4805 | ||
![]() |
6a713d9e8d | ||
![]() |
51b0544752 | ||
![]() |
1022a7aa3a | ||
![]() |
c048678844 | ||
![]() |
f9fb02457c | ||
![]() |
ce419ce64e | ||
![]() |
ecb6ff57fc | ||
![]() |
663866562f | ||
![]() |
dfdd0b6cbb | ||
![]() |
c81ca82822 | ||
![]() |
66b067eb49 | ||
![]() |
4e9f2dc46a | ||
![]() |
f02d8b61b5 | ||
![]() |
088de1877c | ||
![]() |
4611abffed | ||
![]() |
f206f2f45c | ||
![]() |
9c5f5757be | ||
![]() |
ec2e0f6fed | ||
![]() |
ae0d059b6f | ||
![]() |
0132b801b2 | ||
![]() |
06ca564ec2 | ||
![]() |
d83ce5e633 | ||
![]() |
5287319fde | ||
![]() |
c75a23e693 | ||
![]() |
180bf930c1 | ||
![]() |
c16e99ba1e | ||
![]() |
b9887fc917 | ||
![]() |
96b36bd8ef | ||
![]() |
0e32f666eb | ||
![]() |
1341fc6a98 | ||
![]() |
81c9e96bf3 | ||
![]() |
20f91ef893 | ||
![]() |
1187254573 | ||
![]() |
f22fb4f4a9 | ||
![]() |
a14762e005 | ||
![]() |
9a91214043 | ||
![]() |
30795a46cf | ||
![]() |
b0865c8d06 | ||
![]() |
c2aabbc6db | ||
![]() |
4aad3dafd4 | ||
![]() |
62269a9902 | ||
![]() |
4bc2fd4a7f | ||
![]() |
0e43a08689 | ||
![]() |
77b1416413 | ||
![]() |
200545822c | ||
![]() |
ac33f2164f |
209 changed files with 7246 additions and 24560 deletions
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
|
@ -1,6 +1,6 @@
|
|||
## Issue
|
||||
|
||||
UPGRADE OR MIGRATE: https://github.com/wekan/wekan/blob/main/docs/Upgrade/Upgrade.md
|
||||
UPGRADE: https://wekan.fi/upgrade/
|
||||
|
||||
Pull requests welcome to fix any broken links at docs directory, and organizing docs/Features and their screenshots to subdirectories of each feature.
|
||||
|
||||
|
|
2
.github/workflows/depsreview.yaml
vendored
2
.github/workflows/depsreview.yaml
vendored
|
@ -9,6 +9,6 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Checkout Repository'
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: 'Dependency Review'
|
||||
uses: actions/dependency-review-action@v4
|
||||
|
|
6
.github/workflows/docker-publish.yml
vendored
6
.github/workflows/docker-publish.yml
vendored
|
@ -32,13 +32,13 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
# Login against a Docker registry except on PR
|
||||
# https://github.com/docker/login-action
|
||||
- name: Log into registry ${{ env.REGISTRY }}
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
|
||||
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
|
@ -48,7 +48,7 @@ jobs:
|
|||
# https://github.com/docker/metadata-action
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804
|
||||
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
|
|
2
.github/workflows/dockerimage.yml
vendored
2
.github/workflows/dockerimage.yml
vendored
|
@ -15,6 +15,6 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
- name: Build the Docker image
|
||||
run: docker build . --file Dockerfile --tag wekan:$(date +%s)
|
||||
|
|
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -15,7 +15,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
|
12
.github/workflows/test_suite.yml
vendored
12
.github/workflows/test_suite.yml
vendored
|
@ -18,7 +18,7 @@ jobs:
|
|||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v4
|
||||
# uses: actions/checkout@v5
|
||||
#
|
||||
# - name: setup node
|
||||
# uses: actions/setup-node@v1
|
||||
|
@ -42,7 +42,7 @@ jobs:
|
|||
# needs: [lintcode]
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v4
|
||||
# uses: actions/checkout@v5
|
||||
#
|
||||
# - name: setup node
|
||||
# uses: actions/setup-node@v1
|
||||
|
@ -65,7 +65,7 @@ jobs:
|
|||
# needs: [lintcode,lintstyle]
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v4
|
||||
# uses: actions/checkout@v5
|
||||
#
|
||||
# - name: setup node
|
||||
# uses: actions/setup-node@v1
|
||||
|
@ -90,7 +90,7 @@ jobs:
|
|||
|
||||
# CHECKOUTS
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
# CACHING
|
||||
- name: Install Meteor
|
||||
|
@ -147,10 +147,10 @@ jobs:
|
|||
needs: [tests]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Download coverage
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@v5
|
||||
with:
|
||||
name: coverage-folder
|
||||
path: .coverage/
|
||||
|
|
140
CHANGELOG.md
140
CHANGELOG.md
|
@ -1,19 +1,141 @@
|
|||
[Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac)
|
||||
|
||||
Newest WeKan at these amd64 platforms:
|
||||
Newest WeKan at these platforms:
|
||||
|
||||
- Windows and Linux bundle
|
||||
- Snap Candidate
|
||||
- Docker
|
||||
- Kubernetes
|
||||
- [bundle zip at releases](https://github.com/wekan/wekan/releases), docs at
|
||||
- [Linux amd64, arm64, s390x](https://github.com/wekan/wekan/blob/main/docs/Platforms/FOSS/RaspberryPi/Raspberry-Pi.md)
|
||||
- [Windows amd64, works also at Windows arm64](https://github.com/wekan/wekan/blob/main/docs/Platforms/Propietary/Windows/Offline.md)
|
||||
- [Mac amd64, works also with Rosetta2 at Apple Silicon](https://github.com/wekan/wekan/blob/main/docs/Platforms/Propietary/Mac.md)
|
||||
- https://wekan.fi/install/
|
||||
- Snap Candidate amd64
|
||||
- Docker amd64
|
||||
- Kubernetes Docker amd64
|
||||
- Bitnami MongoDB Docker images do not exist anymore. [MongoDump/MongoRestore to groundhog2k MongoDB images](https://github.com/wekan/charts/issues/45)
|
||||
|
||||
Fixing other platforms In Progress.
|
||||
|
||||
- Install info at Server part of webpage https://wekan.github.io
|
||||
- Newest Node.js is at https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4
|
||||
- MongoDB 6.x
|
||||
- Node.js 14.x at https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4 and https://nodejs.org/dist/latest-v14.x/
|
||||
- MongoDB 6.x and 7.x, or FerretDB/PostgreSQL https://blog.ferretdb.io/building-project-management-stack-wekan-ferretdb/
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
[Upgrade WeKan](https://wekan.fi/upgrade/)
|
||||
|
||||
# Upcoming WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated release script for new command of uploading snap package to Snap Store](https://github.com/wekan/wekan/commit/dec9b82da0d700aafd7e2b2063b5d5b07dd383c3).
|
||||
Thanks to xet7.
|
||||
- [Updated to MongoDB 7.0.24 at Snap Candidate](https://github.com/wekan/wekan/commit/3253dd501067c617aec272efec1c4c2bb9861983).
|
||||
Thanks to MongoDB developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Added missing mobile drag drop image to docs from wekan.github.io git history](https://github.com/wekan/wekan/commit/5151814e98599c22fff98dc7c42fbf634004ab20).
|
||||
Thanks to xet7.
|
||||
- [Fix links in docker-compose.yml to point to doc in repo](https://github.com/wekan/wekan/pull/5882).
|
||||
Thanks to Skylark13.
|
||||
- [Fixed find.sh script errors about unmatched single quotes and binary files that are now ignored](https://github.com/wekan/wekan/commit/730bb6d166baa5530cc75b4c94ae46c8077884b0).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.95 2025-09-18 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated upgrade link at repo readme](https://github.com/wekan/wekan/commit/b3d3bf159376d56048361a385f0b295667e2319c).
|
||||
Thanks to xet7.
|
||||
- [Fixed image link at docs](https://github.com/wekan/wekan/commit/ad7e3774c2b29265a8fbefdde7b9b83822af6def).
|
||||
Thanks to xet7.
|
||||
- [More info about ToroDB, FerretDB, Turso, TigerBeetle, PostgreSQL, SQLite etc](https://github.com/wekan/wekan/commit/701485d76aded5ee4fa17967d94918132a821af6).
|
||||
Thanks to xet7.
|
||||
- [Added missing image to WeKan Multiverse page](https://github.com/wekan/wekan/commit/946f7045e92e26bbe8d182634844ee5eebf73564).
|
||||
Thanks to xet7.
|
||||
- [Added more info to Windows Offline docs about WRITABLE_PATH and ATTACHMENTS_STORE_PATH](https://github.com/wekan/wekan/pull/5872).
|
||||
Thanks to sowwos.
|
||||
- [Added PGP public key for sending encrypted email](https://github.com/wekan/wekan/commit/dd80b7308bb6c66113c8e6009c442a44a29e477a).
|
||||
Thanks to xet7.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/c4161c5ce69a35c76364b13bcc456905f6335162).
|
||||
Thanks to developers of dependencies.
|
||||
- [Replace bitnami mongodb Helm chart by groundhog2k one](https://github.com/wekan/charts/pull/44).
|
||||
Thanks to ariep.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.94 2025-08-18 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Feature: Accessibility page at /accessibility. Settings at Admin Panel. When enabled, link at right sidebar](https://github.com/wekan/wekan/commit/d83ce5e6335c175f2f4a384f6090c18c7f860555).
|
||||
Thanks to xet7.
|
||||
- [Feature: Added brute force login protection settings to Admin Panel/People/Locked Users](https://github.com/wekan/wekan/commit/ae0d059b6feb38a438ca21aa154c63b410641763).
|
||||
Added filtering of Admin Panel/People/People: All Users/Locked Users Only/Active/Not Active.
|
||||
Added visual indicators: red lock icon for locked users, green check for active users, and red X for inactive users.
|
||||
Added "Unlock All" button to quickly unlock all brute force locked users.
|
||||
Added ability to toggle user active status directly from the People page.
|
||||
Moved lockout settings from environment variables to database so admins can configure the lockout thresholds directly in the UI.
|
||||
Thanks to xet7.
|
||||
- Added docs for Windows SSL/TLS.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/92c0543614fb92cf8217d8cc24a367296f3ade37),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/ce528b1826255ebf3ac9533dd8ed91bec8bbe8b1),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/ee01a07b0ac7c6b06054b3d7bfac8c38161adf19),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/cc78e19740ae1bf42f2bbb17f801fe2d4dac135d),
|
||||
[Part 5](https://github.com/wekan/wekan/commit/044793cc4473bebc8eefa64a0df9e9a20115d049),
|
||||
[Part 6](https://github.com/wekan/wekan/commit/a7bcfc6db7cc78892ed20cdf0d03f84094853687).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Update CHANGELOG.md platforms info at top.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/0e43a08689c0d47c816ce781e93650f0c37efe28),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/4bc2fd4a7fc166041a5c483aad73bf8079c3ae45),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/62269a99024744c789ac931921c96d5edae9d79e),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/4aad3dafd4530cc7779072fc9a550d8732f32558),
|
||||
[Part 5](https://github.com/wekan/wekan/commit/c2aabbc6db9ffbb73d9f06edb73a15a9f4838df4),
|
||||
[Part 6](https://github.com/wekan/wekan/commit/b0865c8d06a31d07b5b5df719871c298e1cf4ad8),
|
||||
[Part 7](https://github.com/wekan/wekan/commit/30795a46cfb5f37837206a6de653913bfb631595),
|
||||
[Part 8](https://github.com/wekan/wekan/commit/9a91214043d93307074cf33e54d40cb43c14ad62).
|
||||
- [Updated security email address](https://github.com/wekan/wekan/commit/11872545734db82229e873b48f122d826457fec3).
|
||||
Thanks to xet7.
|
||||
- Updated GitHub Docker Actions.
|
||||
[Part 1](https://github.com/wekan/wekan/pull/5855),
|
||||
[Part 2](https://github.com/wekan/wekan/pull/5856),
|
||||
[Part 3](https://github.com/wekan/wekan/pull/5864),
|
||||
[Part 4](https://github.com/wekan/wekan/pull/5865).
|
||||
Thanks to Dependabot.
|
||||
- [Added info about Sandstorm Radicale Calendar and Contacts](https://github.com/wekan/wekan/commit/dfdd0b6cbbbb60bf6dba7a61f34dc52e74f98b41).
|
||||
Thanks to xet7.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/97b5931a4f717541631dde55f2b834d037e1d82d).
|
||||
Thanks to developers of dependencies.
|
||||
- Reorganized Design Docs.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/f34490fe2820352c8303f0bac47ad7158592e8f0),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/a662283b7de91c0ef63195691e06b5cbc6cdff6c).
|
||||
Thanks to xet7.
|
||||
- [Added related link to design docs](https://github.com/wekan/wekan/commit/a662283b7de91c0ef63195691e06b5cbc6cdff6c).
|
||||
Thanks to xet7.
|
||||
- [Upgraded to MongoDB 7.0.23 at Snap Candidate](https://github.com/wekan/wekan/commit/8e01e3c762748269c2e60f9f349dac30f30971d7).
|
||||
Thanks to MongoDB developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fixes for building at macOS](https://github.com/wekan/wekan/commit/200545822c5c778521f76525938fe777ed9666f0).
|
||||
Thanks to xet7.
|
||||
- [Improves accessibility by disabling custom Tab handling](https://github.com/wekan/wekan/pull/5853).
|
||||
Thanks to seve12, co-maintainer of WeKan.
|
||||
- [Comment out not used Tab code at accessibility related changes](https://github.com/wekan/wekan/commit/0e32f666eb30cc254177119907e6eae3c09ce0ca).
|
||||
Thanks to xet7.
|
||||
- [Fixed link at OpenShift docs](https://github.com/wekan/wekan/commit/b9887fc91758edb31259a8df7770a1d992bc9251).
|
||||
Thanks to xet7.
|
||||
- [Added FerretDB/PostgreSQL to changelog](https://github.com/wekan/wekan/commit/c16e99ba1ec7bc25a4e0449ea463ea8f4b02da11).
|
||||
Thanks to xet7.
|
||||
- [Accessibility](https://github.com/wekan/wekan/pull/5857):
|
||||
Added product name to page titles, settings and global search.
|
||||
More accessible header and layout templates, modal dialogs, DOM structure, color contrast.
|
||||
Thanks to seve12.
|
||||
- [Fixed uppercase K of WeKan](https://github.com/wekan/wekan/commit/b137108ae15a9c5685cca5f45cfa9480ec7d3510).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.93 2025-07-18 WeKan ® release
|
||||
|
||||
|
|
|
@ -244,8 +244,9 @@ cd /home/wekan/app
|
|||
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
|
||||
#rm -rf /home/wekan/app_build/bundle/programs/web.browser.legacy
|
||||
#mv /home/wekan/app_build/bundle /build
|
||||
wget "https://github.com/wekan/wekan/releases/download/v7.93/wekan-7.93-amd64.zip"
|
||||
unzip wekan-7.93-amd64.zip
|
||||
wget "https://github.com/wekan/wekan/releases/download/v7.95/wekan-7.95-amd64.zip"
|
||||
unzip wekan-7.95-amd64.zip
|
||||
rm wekan-7.95-amd64.zip
|
||||
mv /home/wekan/app/bundle /build
|
||||
|
||||
# Put back the original tar
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
[Gitpod Ready-to-Code](https://gitpod.io/#https://github.com/wekan/wekan)
|
||||
|
||||
# WeKan ® - Open Source kanban
|
||||
|
||||
## Downloads
|
||||
|
@ -70,14 +68,11 @@ that by providing one-click installation on various platforms.
|
|||
- WeKan ® largest user has 30k users using WeKan ® in their company.
|
||||
- WeKan ® has been [translated](https://app.transifex.com/wekan/) to about 105 languages.
|
||||
- [Features][features]: WeKan ® has real-time user interface.
|
||||
- [Platforms][platforms]: WeKan ® supports many platforms.
|
||||
- [Platforms](https://wekan.fi/install/): WeKan ® supports many platforms.
|
||||
WeKan ® is critical part of new platforms Wekan is currently being integrated to.
|
||||
|
||||
## Requirements
|
||||
|
||||
- 64bit: Linux [Snap](https://github.com/wekan/wekan/blob/main/docs/Platforms/FOSS/Snap/Install.md) or [Sandstorm](https://sandstorm.io) /
|
||||
[Mac](https://github.com/wekan/wekan/wiki/Mac) / [Windows](https://github.com/wekan/wekan/blob/main/docs/Platforms/Propietary/Windows/Offline.md).
|
||||
[More Platforms](https://github.com/wekan/wekan/tree/main/docs/Platforms), bundle for RasPi3 ARM and other CPUs where Node.js and MongoDB exists.
|
||||
- 1 GB RAM minimum free for WeKan ®. Production server should have minimum total 4 GB RAM.
|
||||
For thousands of users, for example with [Docker](https://github.com/wekan/wekan/blob/main/docker-compose.yml): 3 frontend servers,
|
||||
each having 2 CPU and 2 wekan-app containers. One backend wekan-db server with many CPUs.
|
||||
|
@ -124,7 +119,6 @@ Please refer to the [developer documentation](https://github.com/wekan/wekan/blo
|
|||
WeKan ® is released under the very permissive [MIT license](LICENSE), and made
|
||||
with [Meteor](https://www.meteor.com).
|
||||
|
||||
[platforms]: https://github.com/wekan/wekan/tree/main/docs/Platforms
|
||||
[dev_docs]: https://github.com/wekan/wekan/blob/main/docs/DeveloperDocs/Developer-Documentation.md
|
||||
[screenshot_wekan]: https://wekan.fi/wekan-dark-mode.png
|
||||
[features]: https://github.com/wekan/wekan/wiki/Features
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
About money, see [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||
|
||||
Security is very important to us. If you discover any issue regarding security, please disclose
|
||||
the information responsibly by sending an email to security@wekan.team and not by
|
||||
creating a GitHub issue. We will respond swiftly to fix verifiable security issues.
|
||||
the information responsibly by sending an email from Protonmail to security@wekan.fi
|
||||
that is Protomail email address, or by using this PGP key
|
||||
[security-at-wekan.fi.asc](security-at-wekan.fi.asc) to security@wekan.fi
|
||||
and not by creating a GitHub issue. We will respond swiftly to fix verifiable security issues.
|
||||
|
||||
We thank you with a place at our hall of fame page, that is
|
||||
at https://wekan.github.io/hall-of-fame
|
||||
We thank you with a place at our hall of fame page, that is at https://wekan.fi/hall-of-fame
|
||||
|
||||
## How should reports be formatted?
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v7.93.0"
|
||||
appVersion: "v7.95.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
|
|
@ -314,7 +314,8 @@ BlazeComponent.extendComponent({
|
|||
// Pressing Tab should open the form of the next column, and Maj+Tab go
|
||||
// in the reverse order
|
||||
} else if (evt.keyCode === 9) {
|
||||
evt.preventDefault();
|
||||
// Prevent custom focus movement on Tab key for accessibility
|
||||
// evt.preventDefault();
|
||||
const isReverse = evt.shiftKey;
|
||||
const list = $(`#js-list-${this.data().listId}`);
|
||||
const listSelector = '.js-list:not(.js-list-composer)';
|
||||
|
@ -413,13 +414,16 @@ BlazeComponent.extendComponent({
|
|||
// or `Enter` to validation the auto-completion. We also need to stop the
|
||||
// event propagation to prevent the card from submitting (on `Enter`) or
|
||||
// going on the next column (on `Tab`).
|
||||
/*
|
||||
onKeydown(evt, commands) {
|
||||
if (evt.keyCode === 9 || evt.keyCode === 13) {
|
||||
evt.stopPropagation();
|
||||
return commands.KEY_ENTER;
|
||||
}
|
||||
// Prevent custom focus movement on Tab key for accessibility
|
||||
// if (evt.keyCode === 9 || evt.keyCode === 13) {
|
||||
// evt.stopPropagation();
|
||||
// return commands.KEY_ENTER;
|
||||
//}
|
||||
return null;
|
||||
},
|
||||
*/
|
||||
},
|
||||
);
|
||||
},
|
||||
|
|
|
@ -72,3 +72,28 @@
|
|||
border-radius: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
/* Accessibility page styles */
|
||||
.accessibility-page {
|
||||
padding: 20px;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.accessibility-page h2 {
|
||||
font-size: 24px;
|
||||
margin-bottom: 20px;
|
||||
color: #4d4d4d;
|
||||
}
|
||||
|
||||
.accessibility-page-content {
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,0.15);
|
||||
}
|
||||
|
||||
.accessibility-page-content p {
|
||||
margin-bottom: 16px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,18 @@
|
|||
template(name="accessibilityHeaderBar")
|
||||
if currentUser
|
||||
h1
|
||||
| {{_ 'accessibility-title'}}
|
||||
if isAccessibilityEnabled
|
||||
= accessibilityTitle
|
||||
else
|
||||
| {{_ 'accessibility'}}
|
||||
|
||||
template(name="accessibility")
|
||||
if currentUser
|
||||
| {{_ 'accessibility-content'}}
|
||||
.accessibility-page
|
||||
if isAccessibilityEnabled
|
||||
.accessibility-page-content
|
||||
+viewer
|
||||
| {{accessibilityContent}}
|
||||
else
|
||||
.accessibility-page-content
|
||||
| {{_ 'accessibility-info-not-added-yet'}}
|
||||
|
|
|
@ -1,11 +1,38 @@
|
|||
import { ReactiveCache } from '/imports/reactiveCache';
|
||||
import { TAPi18n } from '/imports/i18n';
|
||||
|
||||
// Shared helpers for both accessibility templates
|
||||
const accessibilityHelpers = {
|
||||
accessibilityTitle() {
|
||||
const setting = AccessibilitySettings.findOne({});
|
||||
return setting && setting.title ? setting.title : TAPi18n.__('accessibility-title');
|
||||
},
|
||||
accessibilityContent() {
|
||||
const setting = AccessibilitySettings.findOne({});
|
||||
return setting && setting.body ? setting.body : TAPi18n.__('accessibility-content');
|
||||
},
|
||||
isAccessibilityEnabled() {
|
||||
const setting = AccessibilitySettings.findOne({});
|
||||
return setting && setting.enabled;
|
||||
}
|
||||
};
|
||||
|
||||
// Main accessibility page component
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
|
||||
Meteor.subscribe('setting');
|
||||
Meteor.subscribe('accessibilitySettings');
|
||||
},
|
||||
...accessibilityHelpers
|
||||
}).register('accessibility');
|
||||
|
||||
// Header bar component
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
Meteor.subscribe('accessibilitySettings');
|
||||
},
|
||||
...accessibilityHelpers
|
||||
}).register('accessibilityHeaderBar');
|
||||
|
|
47
client/components/settings/lockedUsersBody.css
Normal file
47
client/components/settings/lockedUsersBody.css
Normal file
|
@ -0,0 +1,47 @@
|
|||
.text-red {
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
td i.fa-lock.text-red,
|
||||
li i.fa-lock.text-red {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.locked-users-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.locked-users-table th,
|
||||
.locked-users-table td {
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.locked-users-table th {
|
||||
background-color: #f2f2f2;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.locked-users-table tr:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.loading-indicator {
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.loading-indicator i {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.locked-users-settings {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
button.js-unlock-all-users {
|
||||
margin-bottom: 20px;
|
||||
}
|
175
client/components/settings/lockedUsersBody.js
Normal file
175
client/components/settings/lockedUsersBody.js
Normal file
|
@ -0,0 +1,175 @@
|
|||
import { ReactiveCache } from '/imports/reactiveCache';
|
||||
import LockoutSettings from '/models/lockoutSettings';
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.lockedUsers = new ReactiveVar([]);
|
||||
this.isLoadingLockedUsers = new ReactiveVar(false);
|
||||
|
||||
// Don't load immediately to prevent unnecessary spinner
|
||||
// The data will be loaded when the tab is selected in peopleBody.js switchMenu
|
||||
},
|
||||
|
||||
refreshLockedUsers() {
|
||||
// Set loading state initially, but we'll hide it if no users are found
|
||||
this.isLoadingLockedUsers.set(true);
|
||||
|
||||
Meteor.call('getLockedUsers', (err, users) => {
|
||||
if (err) {
|
||||
this.isLoadingLockedUsers.set(false);
|
||||
const reason = err.reason || '';
|
||||
const message = `${TAPi18n.__(err.error)}\n${reason}`;
|
||||
alert(message);
|
||||
return;
|
||||
}
|
||||
|
||||
// If no users are locked, don't show loading spinner and set empty array
|
||||
if (!users || users.length === 0) {
|
||||
this.isLoadingLockedUsers.set(false);
|
||||
this.lockedUsers.set([]);
|
||||
return;
|
||||
}
|
||||
|
||||
// Format the remaining time to be more human-readable
|
||||
users.forEach(user => {
|
||||
if (user.remainingLockTime > 60) {
|
||||
const minutes = Math.floor(user.remainingLockTime / 60);
|
||||
const seconds = user.remainingLockTime % 60;
|
||||
user.remainingTimeFormatted = `${minutes}m ${seconds}s`;
|
||||
} else {
|
||||
user.remainingTimeFormatted = `${user.remainingLockTime}s`;
|
||||
}
|
||||
});
|
||||
|
||||
this.lockedUsers.set(users);
|
||||
this.isLoadingLockedUsers.set(false);
|
||||
});
|
||||
},
|
||||
|
||||
unlockUser(event) {
|
||||
const userId = $(event.currentTarget).data('user-id');
|
||||
if (!userId) return;
|
||||
|
||||
if (confirm(TAPi18n.__('accounts-lockout-confirm-unlock'))) {
|
||||
Meteor.call('unlockUser', userId, (err, result) => {
|
||||
if (err) {
|
||||
const reason = err.reason || '';
|
||||
const message = `${TAPi18n.__(err.error)}\n${reason}`;
|
||||
alert(message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (result) {
|
||||
alert(TAPi18n.__('accounts-lockout-user-unlocked'));
|
||||
this.refreshLockedUsers();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
unlockAllUsers() {
|
||||
if (confirm(TAPi18n.__('accounts-lockout-confirm-unlock-all'))) {
|
||||
Meteor.call('unlockAllUsers', (err, result) => {
|
||||
if (err) {
|
||||
const reason = err.reason || '';
|
||||
const message = `${TAPi18n.__(err.error)}\n${reason}`;
|
||||
alert(message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (result) {
|
||||
alert(TAPi18n.__('accounts-lockout-user-unlocked'));
|
||||
this.refreshLockedUsers();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
saveLockoutSettings() {
|
||||
// Get values from form
|
||||
const knownFailuresBeforeLockout = parseInt($('#known-failures-before-lockout').val(), 10) || 3;
|
||||
const knownLockoutPeriod = parseInt($('#known-lockout-period').val(), 10) || 60;
|
||||
const knownFailureWindow = parseInt($('#known-failure-window').val(), 10) || 15;
|
||||
|
||||
const unknownFailuresBeforeLockout = parseInt($('#unknown-failures-before-lockout').val(), 10) || 3;
|
||||
const unknownLockoutPeriod = parseInt($('#unknown-lockout-period').val(), 10) || 60;
|
||||
const unknownFailureWindow = parseInt($('#unknown-failure-window').val(), 10) || 15;
|
||||
|
||||
// Update the database
|
||||
LockoutSettings.update('known-failuresBeforeLockout', {
|
||||
$set: { value: knownFailuresBeforeLockout },
|
||||
});
|
||||
LockoutSettings.update('known-lockoutPeriod', {
|
||||
$set: { value: knownLockoutPeriod },
|
||||
});
|
||||
LockoutSettings.update('known-failureWindow', {
|
||||
$set: { value: knownFailureWindow },
|
||||
});
|
||||
|
||||
LockoutSettings.update('unknown-failuresBeforeLockout', {
|
||||
$set: { value: unknownFailuresBeforeLockout },
|
||||
});
|
||||
LockoutSettings.update('unknown-lockoutPeriod', {
|
||||
$set: { value: unknownLockoutPeriod },
|
||||
});
|
||||
LockoutSettings.update('unknown-failureWindow', {
|
||||
$set: { value: unknownFailureWindow },
|
||||
});
|
||||
|
||||
// Reload the AccountsLockout configuration
|
||||
Meteor.call('reloadAccountsLockout', (err, ret) => {
|
||||
if (!err && ret) {
|
||||
const message = TAPi18n.__('accounts-lockout-settings-updated');
|
||||
alert(message);
|
||||
} else {
|
||||
const reason = err?.reason || '';
|
||||
const message = `${TAPi18n.__(err?.error || 'error-updating-settings')}\n${reason}`;
|
||||
alert(message);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
knownFailuresBeforeLockout() {
|
||||
return LockoutSettings.findOne('known-failuresBeforeLockout')?.value || 3;
|
||||
},
|
||||
|
||||
knownLockoutPeriod() {
|
||||
return LockoutSettings.findOne('known-lockoutPeriod')?.value || 60;
|
||||
},
|
||||
|
||||
knownFailureWindow() {
|
||||
return LockoutSettings.findOne('known-failureWindow')?.value || 15;
|
||||
},
|
||||
|
||||
unknownFailuresBeforeLockout() {
|
||||
return LockoutSettings.findOne('unknown-failuresBeforeLockout')?.value || 3;
|
||||
},
|
||||
|
||||
unknownLockoutPeriod() {
|
||||
return LockoutSettings.findOne('unknown-lockoutPeriod')?.value || 60;
|
||||
},
|
||||
|
||||
unknownFailureWindow() {
|
||||
return LockoutSettings.findOne('unknown-failureWindow')?.value || 15;
|
||||
},
|
||||
|
||||
lockedUsers() {
|
||||
return this.lockedUsers.get();
|
||||
},
|
||||
|
||||
isLoadingLockedUsers() {
|
||||
return this.isLoadingLockedUsers.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'click button.js-refresh-locked-users': this.refreshLockedUsers,
|
||||
'click button#refreshLockedUsers': this.refreshLockedUsers,
|
||||
'click button.js-unlock-user': this.unlockUser,
|
||||
'click button.js-unlock-all-users': this.unlockAllUsers,
|
||||
'click button.js-lockout-save': this.saveLockoutSettings,
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('lockedUsersGeneral');
|
|
@ -89,3 +89,94 @@ table tr:nth-child(even) {
|
|||
#deleteAction {
|
||||
margin-left: 5% !important;
|
||||
}
|
||||
|
||||
.divLockedUsersFilter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0 15px;
|
||||
}
|
||||
|
||||
.divLockedUsersFilter .flex-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.divLockedUsersFilter .people-filter {
|
||||
margin-bottom: 0;
|
||||
color: #777;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.divLockedUsersFilter .user-filter {
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 2px;
|
||||
padding: 4px 8px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.unlock-all-btn {
|
||||
margin-left: 15px;
|
||||
background-color: white;
|
||||
color: #4d4d4d;
|
||||
border: 1px solid rgba(0,0,0,.15);
|
||||
border-radius: 2px;
|
||||
padding: 0 10px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
height: 28px;
|
||||
min-width: 90px;
|
||||
/* box-shadow: 0 1px 6px rgba(0,0,0,.3); */
|
||||
}
|
||||
|
||||
.unlock-all-btn:hover {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.account-active-status {
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.js-toggle-active-status {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.unlock-all-success {
|
||||
position: fixed;
|
||||
top: 10%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
background-color: #27ae60;
|
||||
color: white;
|
||||
padding: 10px 20px;
|
||||
border-radius: 4px;
|
||||
z-index: 9999;
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
||||
animation: fadeOut 3s ease-in forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeOut {
|
||||
0% { opacity: 1; }
|
||||
70% { opacity: 1; }
|
||||
100% { opacity: 0; }
|
||||
}
|
||||
|
||||
.account-status {
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text-green {
|
||||
color: #27ae60;
|
||||
}
|
||||
|
||||
.js-toggle-lock-status {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.unlock-all-btn .fa {
|
||||
color: #4d4d4d;
|
||||
}
|
||||
|
|
|
@ -38,12 +38,28 @@ template(name="people")
|
|||
button#searchButton
|
||||
i.fa.fa-search
|
||||
| {{_ 'search'}}
|
||||
.divLockedUsersFilter
|
||||
.flex-container
|
||||
span.people-filter {{_ 'admin-people-filter-show'}}
|
||||
select.user-filter#userFilterSelect
|
||||
option(value="all") {{_ 'admin-people-filter-all'}}
|
||||
option(value="locked") {{_ 'admin-people-filter-locked'}}
|
||||
option(value="active") {{_ 'admin-people-filter-active'}}
|
||||
option(value="inactive") {{_ 'admin-people-filter-inactive'}}
|
||||
button#unlockAllUsers.unlock-all-btn
|
||||
i.fa.fa-unlock
|
||||
| {{_ 'accounts-lockout-unlock-all'}}
|
||||
.ext-box-right
|
||||
span {{#unless isMiniScreen}}{{_ 'people-number'}}{{/unless}} #{peopleNumber}
|
||||
.divAddOrRemoveTeam#divAddOrRemoveTeam
|
||||
button#addOrRemoveTeam
|
||||
i.fa.fa-edit
|
||||
| {{_ 'add'}} / {{_ 'delete'}} {{_ 'teams'}}
|
||||
else if lockedUsersSetting.get
|
||||
span
|
||||
i.fa.fa-lock.text-red
|
||||
unless isMiniScreen
|
||||
| {{_ 'accounts-lockout-locked-users'}}
|
||||
|
||||
.content-body
|
||||
.side-menu
|
||||
|
@ -60,6 +76,10 @@ template(name="people")
|
|||
a.js-people-menu(data-id="people-setting")
|
||||
i.fa.fa-user
|
||||
| {{_ 'people'}}
|
||||
li
|
||||
a.js-locked-users-menu(data-id="locked-users-setting")
|
||||
i.fa.fa-lock.text-red
|
||||
| {{_ 'accounts-lockout-locked-users'}}
|
||||
.main-body
|
||||
if loading.get
|
||||
+spinner
|
||||
|
@ -69,6 +89,8 @@ template(name="people")
|
|||
+teamGeneral
|
||||
else if peopleSetting.get
|
||||
+peopleGeneral
|
||||
else if lockedUsersSetting.get
|
||||
+lockedUsersGeneral
|
||||
|
||||
|
||||
template(name="orgGeneral")
|
||||
|
@ -114,6 +136,8 @@ template(name="peopleGeneral")
|
|||
tr
|
||||
th
|
||||
+selectAllUser
|
||||
th {{_ 'accounts-lockout-status'}}
|
||||
th {{_ 'admin-people-active-status'}}
|
||||
th {{_ 'username'}}
|
||||
th {{_ 'fullname'}}
|
||||
th {{_ 'initials'}}
|
||||
|
@ -232,8 +256,20 @@ template(name="peopleRow")
|
|||
else
|
||||
td
|
||||
input.selectUserChkBox(type="checkbox", id="{{userData._id}}")
|
||||
td.account-status
|
||||
if isUserLocked
|
||||
i.fa.fa-lock.text-red.js-toggle-lock-status(data-user-id=userData._id, data-is-locked="true", title="{{_ 'accounts-lockout-click-to-unlock'}}")
|
||||
else
|
||||
i.fa.fa-unlock.text-green.js-toggle-lock-status(data-user-id=userData._id, data-is-locked="false", title="{{_ 'accounts-lockout-user-unlocked'}}")
|
||||
td.account-active-status
|
||||
if userData.loginDisabled
|
||||
i.fa.fa-ban.text-red.js-toggle-active-status(data-user-id=userData._id, data-is-active="false", title="{{_ 'admin-people-user-inactive'}}")
|
||||
else
|
||||
i.fa.fa-check-circle.text-green.js-toggle-active-status(data-user-id=userData._id, data-is-active="true", title="{{_ 'admin-people-user-active'}}")
|
||||
if userData.loginDisabled
|
||||
td.username <s>{{ userData.username }}</s>
|
||||
else if isUserLocked
|
||||
td.username {{ userData.username }}
|
||||
else
|
||||
td.username {{ userData.username }}
|
||||
if userData.loginDisabled
|
||||
|
@ -645,3 +681,32 @@ template(name="settingsUserPopup")
|
|||
// that does now remove member from board, card members and assignees correctly,
|
||||
// but that should be used to remove user from all boards similarly
|
||||
// - wekan/models/users.js Delete is not enabled
|
||||
|
||||
template(name="lockedUsersGeneral")
|
||||
.locked-users-settings
|
||||
h3 {{_ 'accounts-lockout-settings'}}
|
||||
p {{_ 'accounts-lockout-info'}}
|
||||
|
||||
h4 {{_ 'accounts-lockout-known-users'}}
|
||||
.title {{_ 'accounts-lockout-failures-before'}}
|
||||
.form-group
|
||||
input.wekan-form-control#known-failures-before-lockout(type="number", min="1", max="10", placeholder="3" value="{{knownFailuresBeforeLockout}}")
|
||||
.title {{_ 'accounts-lockout-period'}}
|
||||
.form-group
|
||||
input.wekan-form-control#known-lockout-period(type="number", min="10", max="600", placeholder="60" value="{{knownLockoutPeriod}}")
|
||||
.title {{_ 'accounts-lockout-failure-window'}}
|
||||
.form-group
|
||||
input.wekan-form-control#known-failure-window(type="number", min="1", max="60", placeholder="15" value="{{knownFailureWindow}}")
|
||||
|
||||
h4 {{_ 'accounts-lockout-unknown-users'}}
|
||||
.title {{_ 'accounts-lockout-failures-before'}}
|
||||
.form-group
|
||||
input.wekan-form-control#unknown-failures-before-lockout(type="number", min="1", max="10", placeholder="3" value="{{unknownFailuresBeforeLockout}}")
|
||||
.title {{_ 'accounts-lockout-period'}}
|
||||
.form-group
|
||||
input.wekan-form-control#unknown-lockout-period(type="number", min="10", max="600", placeholder="60" value="{{unknownLockoutPeriod}}")
|
||||
.title {{_ 'accounts-lockout-failure-window'}}
|
||||
.form-group
|
||||
input.wekan-form-control#unknown-failure-window(type="number", min="1", max="60", placeholder="15" value="{{unknownFailureWindow}}")
|
||||
|
||||
button.js-lockout-save.primary {{_ 'save'}}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { ReactiveCache } from '/imports/reactiveCache';
|
||||
import LockoutSettings from '/models/lockoutSettings';
|
||||
|
||||
const orgsPerPage = 25;
|
||||
const teamsPerPage = 25;
|
||||
|
@ -14,14 +15,16 @@ BlazeComponent.extendComponent({
|
|||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.orgSetting = new ReactiveVar(true);
|
||||
this.teamSetting = new ReactiveVar(true);
|
||||
this.peopleSetting = new ReactiveVar(true);
|
||||
this.teamSetting = new ReactiveVar(false);
|
||||
this.peopleSetting = new ReactiveVar(false);
|
||||
this.lockedUsersSetting = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
this.findTeamsOptions = new ReactiveVar({});
|
||||
this.findUsersOptions = new ReactiveVar({});
|
||||
this.numberOrgs = new ReactiveVar(0);
|
||||
this.numberTeams = new ReactiveVar(0);
|
||||
this.numberPeople = new ReactiveVar(0);
|
||||
this.userFilterType = new ReactiveVar('all');
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.loadNextPageLocked = false;
|
||||
|
@ -92,6 +95,34 @@ BlazeComponent.extendComponent({
|
|||
this.filterPeople();
|
||||
}
|
||||
},
|
||||
'change #userFilterSelect'(event) {
|
||||
const filterType = $(event.target).val();
|
||||
this.userFilterType.set(filterType);
|
||||
this.filterPeople();
|
||||
},
|
||||
'click #unlockAllUsers'(event) {
|
||||
event.preventDefault();
|
||||
if (confirm(TAPi18n.__('accounts-lockout-confirm-unlock-all'))) {
|
||||
Meteor.call('unlockAllUsers', (error) => {
|
||||
if (error) {
|
||||
console.error('Error unlocking all users:', error);
|
||||
} else {
|
||||
// Show a brief success message
|
||||
const message = document.createElement('div');
|
||||
message.className = 'unlock-all-success';
|
||||
message.textContent = TAPi18n.__('accounts-lockout-all-users-unlocked');
|
||||
document.body.appendChild(message);
|
||||
|
||||
// Remove the message after a short delay
|
||||
setTimeout(() => {
|
||||
if (message.parentNode) {
|
||||
message.parentNode.removeChild(message);
|
||||
}
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
'click #newOrgButton'() {
|
||||
Popup.open('newOrg');
|
||||
},
|
||||
|
@ -104,23 +135,50 @@ BlazeComponent.extendComponent({
|
|||
'click a.js-org-menu': this.switchMenu,
|
||||
'click a.js-team-menu': this.switchMenu,
|
||||
'click a.js-people-menu': this.switchMenu,
|
||||
'click a.js-locked-users-menu': this.switchMenu,
|
||||
},
|
||||
];
|
||||
},
|
||||
filterPeople() {
|
||||
const value = $('#searchInput').first().val();
|
||||
if (value === '') {
|
||||
this.findUsersOptions.set({});
|
||||
} else {
|
||||
const filterType = this.userFilterType.get();
|
||||
const currentTime = Number(new Date());
|
||||
|
||||
let query = {};
|
||||
|
||||
// Apply text search filter if there's a search value
|
||||
if (value !== '') {
|
||||
const regex = new RegExp(value, 'i');
|
||||
this.findUsersOptions.set({
|
||||
query = {
|
||||
$or: [
|
||||
{ username: regex },
|
||||
{ 'profile.fullname': regex },
|
||||
{ 'emails.address': regex },
|
||||
],
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
// Apply filter based on selected option
|
||||
switch (filterType) {
|
||||
case 'locked':
|
||||
// Show only locked users
|
||||
query['services.accounts-lockout.unlockTime'] = { $gt: currentTime };
|
||||
break;
|
||||
case 'active':
|
||||
// Show only active users (loginDisabled is false or undefined)
|
||||
query['loginDisabled'] = { $ne: true };
|
||||
break;
|
||||
case 'inactive':
|
||||
// Show only inactive users (loginDisabled is true)
|
||||
query['loginDisabled'] = true;
|
||||
break;
|
||||
case 'all':
|
||||
default:
|
||||
// Show all users, no additional filter
|
||||
break;
|
||||
}
|
||||
|
||||
this.findUsersOptions.set(query);
|
||||
},
|
||||
loadNextPage() {
|
||||
if (this.loadNextPageLocked === false) {
|
||||
|
@ -186,6 +244,16 @@ BlazeComponent.extendComponent({
|
|||
this.orgSetting.set('org-setting' === targetID);
|
||||
this.teamSetting.set('team-setting' === targetID);
|
||||
this.peopleSetting.set('people-setting' === targetID);
|
||||
this.lockedUsersSetting.set('locked-users-setting' === targetID);
|
||||
|
||||
// When switching to locked users tab, refresh the locked users list
|
||||
if ('locked-users-setting' === targetID) {
|
||||
// Find the lockedUsersGeneral component and call refreshLockedUsers
|
||||
const lockedUsersComponent = Blaze.getView($('.main-body')[0])._templateInstance;
|
||||
if (lockedUsersComponent && lockedUsersComponent.refreshLockedUsers) {
|
||||
lockedUsersComponent.refreshLockedUsers();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}).register('people');
|
||||
|
@ -206,8 +274,36 @@ Template.peopleRow.helpers({
|
|||
userData() {
|
||||
return ReactiveCache.getUser(this.userId);
|
||||
},
|
||||
isUserLocked() {
|
||||
const user = ReactiveCache.getUser(this.userId);
|
||||
if (!user) return false;
|
||||
|
||||
// Check if user has accounts-lockout with unlockTime property
|
||||
if (user.services &&
|
||||
user.services['accounts-lockout'] &&
|
||||
user.services['accounts-lockout'].unlockTime) {
|
||||
|
||||
// Check if unlockTime is in the future
|
||||
const currentTime = Number(new Date());
|
||||
return user.services['accounts-lockout'].unlockTime > currentTime;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
// Initialize filter dropdown
|
||||
Template.people.rendered = function() {
|
||||
const template = this;
|
||||
|
||||
// Set the initial value of the dropdown
|
||||
Tracker.afterFlush(function() {
|
||||
if (template.findAll('#userFilterSelect').length) {
|
||||
$('#userFilterSelect').val('all');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Template.editUserPopup.onCreated(function () {
|
||||
this.authenticationMethods = new ReactiveVar([]);
|
||||
this.errorMessage = new ReactiveVar('');
|
||||
|
@ -415,6 +511,49 @@ BlazeComponent.extendComponent({
|
|||
else
|
||||
document.getElementById("divAddOrRemoveTeam").style.display = 'none';
|
||||
},
|
||||
'click .js-toggle-active-status': function(ev) {
|
||||
ev.preventDefault();
|
||||
const userId = this.userId;
|
||||
const user = ReactiveCache.getUser(userId);
|
||||
|
||||
if (!user) return;
|
||||
|
||||
// Toggle loginDisabled status
|
||||
const isActive = !(user.loginDisabled === true);
|
||||
|
||||
// Update the user's active status
|
||||
Users.update(userId, {
|
||||
$set: {
|
||||
loginDisabled: isActive
|
||||
}
|
||||
});
|
||||
},
|
||||
'click .js-toggle-lock-status': function(ev){
|
||||
ev.preventDefault();
|
||||
const userId = this.userId;
|
||||
const user = ReactiveCache.getUser(userId);
|
||||
|
||||
if (!user) return;
|
||||
|
||||
// Check if user is currently locked
|
||||
const isLocked = user.services &&
|
||||
user.services['accounts-lockout'] &&
|
||||
user.services['accounts-lockout'].unlockTime &&
|
||||
user.services['accounts-lockout'].unlockTime > Number(new Date());
|
||||
|
||||
if (isLocked) {
|
||||
// Unlock the user
|
||||
Meteor.call('unlockUser', userId, (error) => {
|
||||
if (error) {
|
||||
console.error('Error unlocking user:', error);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Lock the user - this is optional, you may want to only allow unlocking
|
||||
// If you want to implement locking too, you would need a server method for it
|
||||
// For now, we'll leave this as a no-op
|
||||
}
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
|
|
|
@ -30,10 +30,10 @@ template(name="setting")
|
|||
a.js-setting-menu(data-id="announcement-setting")
|
||||
i.fa.fa-bullhorn
|
||||
| {{_ 'admin-announcement'}}
|
||||
//li
|
||||
// a.js-setting-menu(data-id="accessibility-setting")
|
||||
// i.fa.fa-universal-access
|
||||
// | {{_ 'accessibility'}}
|
||||
li
|
||||
a.js-setting-menu(data-id="accessibility-setting")
|
||||
i.fa.fa-universal-access
|
||||
| {{_ 'accessibility'}}
|
||||
li
|
||||
a.js-setting-menu(data-id="layout-setting")
|
||||
i.fa.fa-object-group
|
||||
|
@ -171,6 +171,8 @@ template(name='accountSettings')
|
|||
label {{_ 'no'}}
|
||||
button.js-accounts-save.primary {{_ 'save'}}
|
||||
|
||||
// Brute force lockout settings moved to People/Locked Users section
|
||||
|
||||
template(name='announcementSettings')
|
||||
ul#announcement-setting.setting-detail
|
||||
li
|
||||
|
@ -189,24 +191,22 @@ template(name='announcementSettings')
|
|||
|
||||
template(name='accessibilitySettings')
|
||||
ul#accessibility-setting.setting-detail
|
||||
li
|
||||
a(href="/accessibility" style="text-decoration: underline; color: blue;") {{_ 'accessibility'}}
|
||||
li
|
||||
a.flex.js-toggle-accessibility
|
||||
.materialCheckBox(class="{{#if currentAccessibility.enabled}}is-checked{{/if}}")
|
||||
|
||||
span {{_ 'admin-accessibility-active'}}
|
||||
li
|
||||
.title {{_ 'accessibility-title'}}
|
||||
.form-group
|
||||
input.wekan-form-control#accessibility-title(type="text", placeholder="" value="{{currentSetting.accessibilityTitle}}")
|
||||
span {{_ 'accessibility-page-enabled'}}
|
||||
li
|
||||
.accessibility-content(class="{{#if currentAccessibility.enabled}}{{else}}hide{{/if}}")
|
||||
ul
|
||||
li
|
||||
.title {{_ 'admin-accessibility-title'}}
|
||||
textarea#admin-accessibility.wekan-form-control= currentAccessibility.accessibilityTitle
|
||||
.title {{_ 'accessibility-title'}}
|
||||
textarea#admin-accessibility-title.wekan-form-control= currentAccessibility.title
|
||||
li
|
||||
.title {{_ 'admin-accessibility-content'}}
|
||||
textarea#admin-accessibility.wekan-form-control= currentAccessibility.accessibilityContent
|
||||
.title {{_ 'accessibility-content'}}
|
||||
textarea#admin-accessibility-content.wekan-form-control= currentAccessibility.body
|
||||
li
|
||||
button.js-accessibility-save.primary {{_ 'save'}}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { ReactiveCache } from '/imports/reactiveCache';
|
||||
import { TAPi18n } from '/imports/i18n';
|
||||
import { ALLOWED_WAIT_SPINNERS } from '/config/const';
|
||||
import LockoutSettings from '/models/lockoutSettings';
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
|
@ -12,6 +13,7 @@ BlazeComponent.extendComponent({
|
|||
this.accountSetting = new ReactiveVar(false);
|
||||
this.tableVisibilityModeSetting = new ReactiveVar(false);
|
||||
this.announcementSetting = new ReactiveVar(false);
|
||||
this.accessibilitySetting = new ReactiveVar(false);
|
||||
this.layoutSetting = new ReactiveVar(false);
|
||||
this.webhookSetting = new ReactiveVar(false);
|
||||
|
||||
|
@ -20,7 +22,9 @@ BlazeComponent.extendComponent({
|
|||
Meteor.subscribe('accountSettings');
|
||||
Meteor.subscribe('tableVisibilityModeSettings');
|
||||
Meteor.subscribe('announcements');
|
||||
Meteor.subscribe('accessibilitySettings');
|
||||
Meteor.subscribe('globalwebhooks');
|
||||
Meteor.subscribe('lockoutSettings');
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
|
@ -106,6 +110,7 @@ BlazeComponent.extendComponent({
|
|||
this.emailSetting.set('email-setting' === targetID);
|
||||
this.accountSetting.set('account-setting' === targetID);
|
||||
this.announcementSetting.set('announcement-setting' === targetID);
|
||||
this.accessibilitySetting.set('accessibility-setting' === targetID);
|
||||
this.layoutSetting.set('layout-setting' === targetID);
|
||||
this.webhookSetting.set('webhook-setting' === targetID);
|
||||
this.tableVisibilityModeSetting.set('tableVisibilityMode-setting' === targetID);
|
||||
|
@ -242,7 +247,6 @@ BlazeComponent.extendComponent({
|
|||
const displayAuthenticationMethod =
|
||||
$('input[name=displayAuthenticationMethod]:checked').val() === 'true';
|
||||
const defaultAuthenticationMethod = $('#defaultAuthenticationMethod').val();
|
||||
/*
|
||||
const accessibilityPageEnabled = $('input[name=accessibilityPageEnabled]:checked').val() === 'true';
|
||||
const accessibilityTitle = $('#accessibility-title')
|
||||
.val()
|
||||
|
@ -250,7 +254,6 @@ BlazeComponent.extendComponent({
|
|||
const accessibilityContent = $('#accessibility-content')
|
||||
.val()
|
||||
.trim();
|
||||
*/
|
||||
const spinnerName = $('#spinnerName').val();
|
||||
|
||||
try {
|
||||
|
@ -274,13 +277,11 @@ BlazeComponent.extendComponent({
|
|||
oidcBtnText,
|
||||
mailDomainName,
|
||||
legalNotice,
|
||||
},
|
||||
});
|
||||
/*
|
||||
accessibilityPageEnabled,
|
||||
accessibilityTitle,
|
||||
accessibilityContent,
|
||||
*/
|
||||
},
|
||||
});
|
||||
} catch (e) {
|
||||
return;
|
||||
} finally {
|
||||
|
@ -317,7 +318,6 @@ BlazeComponent.extendComponent({
|
|||
'click a.js-toggle-hide-logo': this.toggleHideLogo,
|
||||
'click a.js-toggle-hide-card-counter-list': this.toggleHideCardCounterList,
|
||||
'click a.js-toggle-hide-board-member-list': this.toggleHideBoardMemberList,
|
||||
'click a.js-toggle-accessibility-page-enabled': this.toggleAccessibilityPageEnabled,
|
||||
'click button.js-save-layout': this.saveLayout,
|
||||
'click a.js-toggle-display-authentication-method': this
|
||||
.toggleDisplayAuthenticationMethod,
|
||||
|
@ -344,15 +344,23 @@ BlazeComponent.extendComponent({
|
|||
$set: { booleanValue: allowUserDelete },
|
||||
});
|
||||
},
|
||||
|
||||
// Brute force lockout settings method moved to lockedUsersBody.js
|
||||
|
||||
allowEmailChange() {
|
||||
return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
|
||||
return AccountSettings.findOne('accounts-allowEmailChange')?.booleanValue || false;
|
||||
},
|
||||
|
||||
allowUserNameChange() {
|
||||
return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
|
||||
return AccountSettings.findOne('accounts-allowUserNameChange')?.booleanValue || false;
|
||||
},
|
||||
|
||||
allowUserDelete() {
|
||||
return AccountSettings.findOne('accounts-allowUserDelete').booleanValue;
|
||||
return AccountSettings.findOne('accounts-allowUserDelete')?.booleanValue || false;
|
||||
},
|
||||
|
||||
// Lockout settings helper methods moved to lockedUsersBody.js
|
||||
|
||||
allBoardsHideActivities() {
|
||||
Meteor.call('setAllBoardsHideActivities', (err, ret) => {
|
||||
if (!err && ret) {
|
||||
|
@ -469,6 +477,59 @@ BlazeComponent.extendComponent({
|
|||
},
|
||||
}).register('announcementSettings');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.loading = new ReactiveVar(false);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
currentAccessibility() {
|
||||
return AccessibilitySettings.findOne();
|
||||
},
|
||||
|
||||
saveAccessibility() {
|
||||
const title = $('#admin-accessibility-title')
|
||||
.val()
|
||||
.trim();
|
||||
const content = $('#admin-accessibility-content')
|
||||
.val()
|
||||
.trim();
|
||||
AccessibilitySettings.update(AccessibilitySettings.findOne()._id, {
|
||||
$set: {
|
||||
title: title,
|
||||
body: content
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
toggleAccessibility() {
|
||||
this.setLoading(true);
|
||||
const accessibilitySetting = this.currentAccessibility();
|
||||
const isActive = accessibilitySetting.enabled;
|
||||
AccessibilitySettings.update(accessibilitySetting._id, {
|
||||
$set: { enabled: !isActive },
|
||||
});
|
||||
this.setLoading(false);
|
||||
if (isActive) {
|
||||
$('.accessibility-content').slideUp();
|
||||
} else {
|
||||
$('.accessibility-content').slideDown();
|
||||
}
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'click a.js-toggle-accessibility': this.toggleAccessibility,
|
||||
'click button.js-accessibility-save': this.saveAccessibility,
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('accessibilitySettings');
|
||||
|
||||
Template.selectAuthenticationMethod.onCreated(function() {
|
||||
this.authenticationMethods = new ReactiveVar([]);
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
top: 7px;
|
||||
font-size: 1em;
|
||||
line-height: 1.6em;
|
||||
color: #999;
|
||||
color: #000;
|
||||
}
|
||||
.sidebar .sidebar-shortcuts .sidebar-btn {
|
||||
margin-left: 3px;
|
||||
|
@ -146,6 +146,23 @@
|
|||
font-size: 24px;
|
||||
transition: transform 0.5s;
|
||||
}
|
||||
.sidebar-accessibility {
|
||||
color: #4d4d4d;
|
||||
padding: 5px 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
margin-left: auto;
|
||||
margin-right: 30px;
|
||||
}
|
||||
.sidebar-accessibility:hover {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
.sidebar-accessibility span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.board-sidebar.is-open .sidebar-tongue {
|
||||
left: -28px;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,10 @@ template(name="sidebar")
|
|||
a.sidebar-btn.js-keyboard-shortcuts-toggle(
|
||||
title="{{#if isKeyboardShortcuts}}{{_ 'keyboard-shortcuts-enabled'}}{{else}}{{_ 'keyboard-shortcuts-disabled'}}{{/if}}")
|
||||
i.fa(class="fa-solid fa-{{#if isKeyboardShortcuts}}check-square-o{{else}}ban{{/if}}")
|
||||
if isAccessibilityEnabled
|
||||
a.sidebar-accessibility
|
||||
i.fa.fa-universal-access
|
||||
span {{_ 'accessibility'}}
|
||||
a.sidebar-xmark.js-close-sidebar ✕
|
||||
.sidebar-content.js-board-sidebar-content
|
||||
//a.hide-btn.js-hide-sidebar
|
||||
|
|
|
@ -26,6 +26,9 @@ BlazeComponent.extendComponent({
|
|||
this._hideCardCounterList = new ReactiveVar(false);
|
||||
this._hideBoardMemberList = new ReactiveVar(false);
|
||||
Sidebar = this;
|
||||
|
||||
// Subscribe to accessibility settings
|
||||
Meteor.subscribe('accessibilitySettings');
|
||||
},
|
||||
|
||||
onDestroyed() {
|
||||
|
@ -115,6 +118,11 @@ BlazeComponent.extendComponent({
|
|||
return user && user.isVerticalScrollbars();
|
||||
},
|
||||
|
||||
isAccessibilityEnabled() {
|
||||
const setting = AccessibilitySettings.findOne({});
|
||||
return setting && setting.enabled;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
|
@ -145,6 +153,10 @@ BlazeComponent.extendComponent({
|
|||
'click .js-show-week-of-year-toggle'() {
|
||||
ReactiveCache.getCurrentUser().toggleShowWeekOfYear();
|
||||
},
|
||||
'click .sidebar-accessibility'() {
|
||||
FlowRouter.go('accessibility');
|
||||
Sidebar.toggle();
|
||||
},
|
||||
'click .js-close-sidebar'() {
|
||||
Sidebar.toggle()
|
||||
},
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
# Note: Do not add single quotes '' to variables. Having spaces still works without quotes where required.
|
||||
#---------------------------------------------------------------------------------------------------------
|
||||
# ==== CREATING USERS AND LOGGING IN TO WEKAN ====
|
||||
# https://github.com/wekan/wekan/wiki/Adding-users
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/Adding-users.md
|
||||
#---------------------------------------------------------------------------------------------------------
|
||||
# ==== FORGOT PASSWORD ====
|
||||
# https://github.com/wekan/wekan/wiki/Forgot-Password
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/Forgot-Password.md
|
||||
#---------------------------------------------------------------------------------------------------------
|
||||
# ==== Upgrading Wekan to new version =====
|
||||
# NOTE: MongoDB has changed from 3.x to 4.x, in that case you need backup/restore with --noIndexRestore
|
||||
# see https://github.com/wekan/wekan/wiki/Backup
|
||||
# see https://github.com/wekan/wekan/tree/main/docs/Backup
|
||||
# 1) Stop Wekan:
|
||||
# docker compose stop
|
||||
# 2) Remove old Wekan app (wekan-app only, not that wekan-db container that has all your data)
|
||||
|
@ -46,7 +46,7 @@
|
|||
# docker compose stop
|
||||
# ----------------------------------------------------------------------------------
|
||||
# ===== INSIDE DOCKER CONTAINERS, AND BACKUP/RESTORE ====
|
||||
# https://github.com/wekan/wekan/wiki/Backup
|
||||
# https://github.com/wekan/wekan/tree/main/docs/Backup
|
||||
# If really necessary, repair MongoDB: https://github.com/wekan/wekan-mongodb/issues/6#issuecomment-424004116
|
||||
# 1) Going inside containers:
|
||||
# a) Wekan app, does not contain data
|
||||
|
@ -183,7 +183,7 @@ services:
|
|||
# ==== EMAIL SETTINGS ====
|
||||
# Email settings are only at MAIL_URL and MAIL_FROM.
|
||||
# Admin Panel has test button, but it's not used for settings.
|
||||
# see https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
|
||||
# see https://github.com/wekan/wekan/blob/main/docs/Email/Troubleshooting-Mail.md
|
||||
# For SSL in email, change smtp:// to smtps://
|
||||
# NOTE: Special characters need to be url-encoded in MAIL_URL.
|
||||
# You can encode those characters for example at: https://www.urlencoder.org
|
||||
|
@ -228,7 +228,7 @@ services:
|
|||
#- APM_APP_SECRET=
|
||||
#---------------------------------------------------------------
|
||||
# ==== OPTIONAL: LOGS AND STATS ====
|
||||
# https://github.com/wekan/wekan/wiki/Logs
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Features/Logs.md
|
||||
#
|
||||
# Daily export of Wekan changes as JSON to Logstash and ElasticSearch / Kibana (ELK)
|
||||
# https://github.com/wekan/wekan-logstash
|
||||
|
@ -252,7 +252,7 @@ services:
|
|||
#---------------------------------------------------------------
|
||||
# ==== WEKAN API AND EXPORT BOARD ====
|
||||
# Wekan Export Board works when WITH_API=true.
|
||||
# https://github.com/wekan/wekan/wiki/REST-API
|
||||
# https://github.com/wekan/wekan/blob/main/docs/API/REST-API.md
|
||||
# https://github.com/wekan/wekan-gogs
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
- WITH_API=true
|
||||
|
@ -361,7 +361,7 @@ services:
|
|||
#- TRUSTED_URL=https://intra.example.com
|
||||
#-----------------------------------------------------------------
|
||||
# ==== METRICS ALLOWED IP ADDRESSES ====
|
||||
# https://github.com/wekan/wekan/wiki/Metrics
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Features/Metrics.md
|
||||
#- METRICS_ALLOWED_IP_ADDRESSES=192.168.0.100,192.168.0.200
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OUTGOING WEBHOOKS ====
|
||||
|
@ -372,14 +372,14 @@ services:
|
|||
#- DEBUG=true
|
||||
#---------------------------------------------
|
||||
# ==== AUTOLOGIN WITH OIDC/OAUTH2 ====
|
||||
# https://github.com/wekan/wekan/wiki/autologin
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/autologin.md
|
||||
#- OIDC_REDIRECTION_ENABLED=true
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 ORACLE on premise identity manager OIM ====
|
||||
#- ORACLE_OIM_ENABLED=true
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 AZURE ====
|
||||
# https://github.com/wekan/wekan/wiki/Azure
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/Azure/Azure.md
|
||||
# 1) Register the application with Azure. Make sure you capture
|
||||
# the application ID as well as generate a secret key.
|
||||
# 2) Configure the environment variables. This differs slightly
|
||||
|
@ -437,7 +437,7 @@ services:
|
|||
#- OAUTH2_EMAIL_MAP=email
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 KEYCLOAK ====
|
||||
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/Keycloak/Keycloak.md <== MAPPING INFO, REQUIRED
|
||||
#- OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
|
@ -454,10 +454,10 @@ services:
|
|||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 DOORKEEPER ====
|
||||
# https://github.com/wekan/wekan/issues/1874
|
||||
# https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/OAuth2.md2
|
||||
# Enable the OAuth2 connection
|
||||
#- OAUTH2_ENABLED=true
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/blob/main/docs/Login/OAuth2.md
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
# OAuth2 Client ID.
|
||||
|
@ -486,8 +486,8 @@ services:
|
|||
#- OAUTH2_EMAIL_MAP=
|
||||
#-----------------------------------------------------------------
|
||||
# ==== LDAP: UNCOMMENT ALL TO ENABLE LDAP ====
|
||||
# https://github.com/wekan/wekan/wiki/LDAP
|
||||
# For Snap settings see https://github.com/wekan/wekan-snap/wiki/Supported-settings-keys
|
||||
# https://github.com/wekan/wekan/blob/main/docs/Login/LDAP.md
|
||||
# For Snap settings see https://github.com/wekan/wekan/blob/main/docs/Platforms/FOSS/Snap/Supported-settings-keys.md
|
||||
# Most settings work both on Snap and Docker below.
|
||||
# Note: Do not add single quotes '' to variables. Having spaces still works without quotes where required.
|
||||
#
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
<img src="chromium-edge-install-pwa.png" width="60%" alt="Install PWA at Chromium Edge" />
|
||||
|
||||
4. In next popup, give name to app, like `YourCompany Wekan`, and click `Add`
|
||||
4. In next popup, give name to app, like `YourCompany WeKan`, and click `Add`
|
||||
|
||||
5. Now new app is in your Windows Start menu.
|
||||
|
||||
|
@ -99,7 +99,7 @@ Related, for creating apps to other appstores: https://github.com/wekan/wekan/wi
|
|||
|
||||
6. At Play Console https://play.google.com/console/ there is `App Integrity` button in the sidemenu (highlighted blue in the screenshot) where you find required 2 SHA256 keys for Caddyfile:
|
||||
|
||||

|
||||

|
||||
|
||||
7. Caddy uses tabs for indenting. At `/etc/caddy` you can also `caddy format > ca` to format output and forward to new file, and if it works then `mv ca Caddyfile` and validate it `caddy validate` and reload `caddy reload`. Sometimes update caddy with `caddy upgrade` and after that `caddy stop` and `caddy start`.
|
||||
|
BIN
docs/Browsers/Play-Console-App-Integrity.png
Normal file
BIN
docs/Browsers/Play-Console-App-Integrity.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
|
@ -1,10 +1,34 @@
|
|||
# Try FerretDB instead
|
||||
|
||||
https://github.com/wekan/wekan/wiki/PostgreSQL
|
||||
# What was ToroDB
|
||||
|
||||
ToroDB was made with Java. It was about replacing MongoDB with ToroDB/PostgreSQL or ToroDB/MySQL.
|
||||
ToroDB is not developed anymore.
|
||||
|
||||
ToroDB is compatible with MongoDB 3.0. WeKan 7.x is compatible with MongoDB 6.x.
|
||||
# Try FerretDB instead
|
||||
|
||||
https://blog.ferretdb.io/building-project-management-stack-wekan-ferretdb/
|
||||
|
||||
FerretDB https://www.ferretdb.com , https://github.com/FerretDB/FerretDB is made with Go.
|
||||
Why FerretDB is explained at https://docs.ferretdb.io/#why-do-we-need-ferretdb .
|
||||
It is about replacing MongoDB with FerretDB/PostgreSQL,
|
||||
using Microsoft DocumentDB https://github.com/microsoft/documentdb for additional compatibility.
|
||||
|
||||
There is old FerretDB/SQLite, community can maintain it, it's not developed currently by FerretDB:
|
||||
https://github.com/FerretDB/FerretDB/tree/main-v1 .
|
||||
|
||||
C89 SQLite has problems with concurrency, corruption etc.
|
||||
|
||||
It will help when updated SQLite made with Rust
|
||||
will have these issues fixed at https://github.com/tursodatabase/turso .
|
||||
Turso originally had fork of C89 SQLite C89 Open Contribution based fork of SQLite
|
||||
https://github.com/tursodatabase/libsql , where they added fixes, but they run into some limits,
|
||||
so they then moved the Turso Rust SQLite experiment to main tursodatabase GitHub org
|
||||
https://github.com/tursodatabase/turso like they say at https://www.youtube.com/watch?v=010OKqc3ObM .
|
||||
Turso is using simulator like https://tigerbeetle.com https://github.com/tigerbeetle/tigerbeetle
|
||||
to fix concurrency, corruption etc bugs.
|
||||
So when they get rewrite done, Rust based SQLite is drop-in replacement for C89 SQLite.
|
||||
It has same database syntax, etc. But it also works with high concurrent usage,
|
||||
does not corrupt data like C89 SQLite, that is verified with simulator.
|
||||
|
||||
|
||||
# Docker: Wekan to PostgreSQL read-only mirroring
|
||||
|
||||
|
|
48
docs/Design/Design-WeKan-Trello-Jira.md
Normal file
48
docs/Design/Design-WeKan-Trello-Jira.md
Normal file
|
@ -0,0 +1,48 @@
|
|||
# Design: WeKan vs Trello vs Jira
|
||||
|
||||
### Kanban originally from Toyota paper cards
|
||||
|
||||
- https://en.wikipedia.org/wiki/Kanban
|
||||
- Every kanban software usually implements similar features, original or inspired by some other kanban software
|
||||
|
||||
### WeKan copied design from Trello, then WeKan did redesign, then Trello copied design from WeKan
|
||||
|
||||
- WeKan has all original developed Open Source MIT licensed code, that is different than Trello propietary code.
|
||||
- WeKan UI redesign was done at 2015-01-20 [after DMCA from Trello](../FAQ/FAQ.md#werent-you-called-libreboard-before)
|
||||
- by original WeKan creator [mquandalle](https://github.com/mquandalle)
|
||||
- [Original redesign](../FAQ/FAQ.md#werent-you-called-libreboard-before)
|
||||
- by [xet7](https://github.com/xet7) current maintainer of WeKan
|
||||
- [Improvements to original design](Design-Principles.md)
|
||||
- [Monkey Proof Software](Monkey-Proof-Software.md)
|
||||
- Then Trello started copying from original WeKan design
|
||||
|
||||
### Trello copied design from WeKan
|
||||
|
||||
Existing WeKan features
|
||||
|
||||
- 2025-04 Opened card has comments at right, copied from [original WeKan feature Maximize Card 2021-06-14](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v535-2021-06-14-wekan-release). Trello does not have WeKan feature Minimize Card.
|
||||
- https://community.atlassian.com/forums/Trello-questions/comments-in-the-ticket-on-the-right/qaq-p/3029030
|
||||
- https://community.atlassian.com/forums/Trello-questions/Trello-card-comments-now-appear-in-a-side-tab-how-to-go-back-to/qaq-p/3003380
|
||||
- 2025-02 Mirror Card, copied from [original WeKan feature Linked Cards from 2018-04-18](https://github.com/wekan/wekan/pull/1592), discussed at [WeKan issue 5683](https://github.com/wekan/wekan/issues/5683)
|
||||
- 2021-02 New board button position at top, copied from [original WeKan feature from 2018-09-28](../../CHANGELOG.md#v1511-2018-09-28-wekan-edge-release)
|
||||
|
||||
Existing WeKan ideas, that are not yet implemented in WeKan
|
||||
|
||||
- 2025-01-28 Sync Jira Lists to Trello, copied from [original WeKan Multiverse from 2022-07-14](https://boards.wekan.team/b/JctQEtkayWXTTJyzt/wekan-multiverse)
|
||||
- 2021-02 Map Card, copied from [original WeKan feature request from 2017-01-06](https://github.com/wekan/wekan/issues/755).
|
||||
|
||||
News
|
||||
|
||||
- https://news.ycombinator.com/item?id=44821127
|
||||
|
||||
### Trello features, that are not yet implemented in WeKan
|
||||
|
||||
- 2025-05-21 Email Inbox
|
||||
- 2025-02 Complete Card Checkbox: https://github.com/wekan/wekan/issues/5818
|
||||
- 2021-05 Workspaces
|
||||
- 2018 Butler Scheduled and Repeating Tasks: https://github.com/wekan/wekan/issues/5825 . [WeKan added IFTTT Rules at 2018-09-16](../../CHANGELOG.md#v147-2018-09-16-wekan-release), but not yet scheduled or repeating IFTTT Rules.
|
||||
- 2016-12 Card Repeater PowerUp: Copy cards daily/weekly/monthly/yearly
|
||||
|
||||
### Jira copied design from ClickUp
|
||||
|
||||
- 2025-06-29 Jira has UI design copied from ClickUp, where is left sidebar menu.
|
|
@ -1,3 +1,8 @@
|
|||
## About AVX
|
||||
|
||||
If CPU does not have AVX, Snap Candidate Meteor 2 WeKan now uses qemu-user to run MongoDB, using Qemu AVX support.
|
||||
This was added at [WeKan v7.93](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v793-2025-07-18-wekan--release).
|
||||
|
||||
## What is not Cross-Platform
|
||||
|
||||
- Requires CPU to support AVX
|
||||
|
@ -99,9 +104,10 @@
|
|||
|
||||
## Screenshot
|
||||
|
||||
Supporting many more webbrowsers:
|
||||
Supporting many more webbrowsers. This is now part of WeKan Wami: https://github.com/wekan/wami .
|
||||
Also mentioned at https://wekan.fi/upgrade/ .
|
||||
|
||||
<img src="https://wekan.fi/manybrowser.png" width="100%" alt="Multiverse WeKan screenshot" />
|
||||
<img src="manybrowser.png" width="100%" alt="Multiverse WeKan screenshot" />
|
||||
|
||||
## Talks
|
||||
|
||||
|
@ -369,4 +375,4 @@ https://github.com/wekan/php/blob/main/page/allboardschar.php
|
|||
|
||||
### Ruby on Rails
|
||||
|
||||
- https://github.com/wekan/weror . Password register and login works, there is workspaces and dragging cards, but no user management etc features yet.
|
||||
- https://github.com/wekan/weror . Password register and login works, there is workspaces and dragging cards, but no user management etc features yet.
|
BIN
docs/Design/Multiverse/manybrowser.png
Normal file
BIN
docs/Design/Multiverse/manybrowser.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1 MiB |
|
@ -10,7 +10,7 @@ It depends on role of user what drag drop is allowed https://github.com/wekan/we
|
|||
|
||||
3. Use non-drag-handle area to to view other parts of board, by dragging board up/down/left/right, without moving any icons etc.
|
||||
|
||||
<img src="https://wekan.fi/dragdrop/mobile-drag-drop.png" width="40%" alt="Wekan logo" />
|
||||
<img src="mobile-drag-drop.png" width="40%" alt="Mobile drag drop" />
|
||||
|
||||
## 2 or more external screens of desktop or mobile
|
||||
|
||||
|
@ -43,4 +43,4 @@ Reorder with drag drop:
|
|||
## Touch UI ideas
|
||||
|
||||
- https://blog.la-terminal.net/godot-on-ipad-summer-update/
|
||||
- https://news.ycombinator.com/item?id=41415077
|
||||
- https://news.ycombinator.com/item?id=41415077
|
||||
|
|
BIN
docs/DragDrop/mobile-drag-drop.png
Normal file
BIN
docs/DragDrop/mobile-drag-drop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
|
@ -1,372 +0,0 @@
|
|||
## What is not Cross-Platform
|
||||
|
||||
- Requires CPU to support AVX
|
||||
- Bun Javascript Engine https://bun.sh
|
||||
- MongoDB 5.x and newer https://github.com/turnkeylinux/tracker/issues/1724#issuecomment-2351544191
|
||||
- Does not work at s390x
|
||||
- Bun Javascript Engine https://github.com/oven-sh/bun/issues/2632
|
||||
- Deno Javascript Engine https://github.com/denoland/deno/issues/20212#issuecomment-1756663943
|
||||
- Lazarus IDE https://www.lazarus-ide.org
|
||||
- FreePascal programming language https://www.freepascal.org
|
||||
- TigerBeetle database https://github.com/tigerbeetle/tigerbeetle/issues/2241
|
||||
|
||||
## What is Cross-Platform
|
||||
|
||||
- Works at s390x
|
||||
- Programming languages
|
||||
- Node.js https://nodejs.org https://github.com/wekan/ferretdb/tree/main/node-deno-bun (not Deno or Bun)
|
||||
- C89 https://github.com/xet7/darkesthour
|
||||
- PHP https://github.com/wekan/php
|
||||
- Go https://github.com/wekan/wekango
|
||||
- Tcl/Tk
|
||||
- Web Frameworks
|
||||
- V veb https://github.com/vlang/v/issues/18737
|
||||
- Gambas https://github.com/wekan/hx/tree/main/prototypes/ui/gambas
|
||||
- Python Py4Web https://py4web.com
|
||||
- Ruby on Rails https://github.com/werot
|
||||
- WeKan Studio https://github.com/wekan/wekanstudio
|
||||
- Works at AmigaOS 3.x/4.x/MorphOS/AROS, Win/Mac/Linux
|
||||
- Web frameworks
|
||||
- FreePascal https://github.com/wekan/wami
|
||||
- GUI
|
||||
- BBC Basic https://www.bbcbasic.net/wiki/doku.php?id=converting_20programs_20from_20risc_20os_20to_20windows
|
||||
- Godot https://godotengine.org , https://github.com/godotengine/godot
|
||||
- Redot https://www.redotengine.org , https://github.com/Redot-Engine/redot-engine
|
||||
- HaxeUI https://haxeui.org
|
||||
|
||||
## Prototype Strategy
|
||||
|
||||
- Try building many prototypes, see what works
|
||||
- https://en.wiktionary.org/wiki/throw_things_at_the_wall_and_see_what_sticks
|
||||
|
||||
## Future
|
||||
|
||||
- Will this happen? With what tech? See https://github.com/wekan/wekan/blob/main/FUTURE.md
|
||||
- You can comment at https://github.com/wekan/wekan/issues/4578
|
||||
- You can help by sending PR to any prototype repo mentioned below
|
||||
|
||||
## Wishes to all web frameworks
|
||||
|
||||
- Documentation about how to upgrade, all required steps. Or alternatively, a script that does changes required to upgrade.
|
||||
- Using parts of frameworks as separate packages, like:
|
||||
- Authentication, like OAuth2, Gmail, etc
|
||||
- Option to not use websockets, because at some corporate networks do not allow them.
|
||||
- Option to not have Javascript at frontend, having SSR only. Working with and without Javascript at frontend, like ufront did.
|
||||
- https://github.com/ufront/ufront
|
||||
- https://jasono.co/2020/10/03/im-going-to-write-a-web-app-framework-again-maybe-well-see/
|
||||
- Please do not discontinue HTML (no Javascript) version https://news.ycombinator.com/item?id=37558372
|
||||
- Storing session to database, for round robin
|
||||
- https://github.com/wekan/wekan/issues/5120
|
||||
- https://stackoverflow.com/questions/65547266/how-to-store-my-session-mysql-with-express-mysql-session
|
||||
- Not having build step:
|
||||
- Keep all files at directories they currently are, with understandable directory structure naming, like:
|
||||
- Feature name
|
||||
- Feature part name 1
|
||||
- Feature part name 2
|
||||
- Only use file from it's location on page where it is needed
|
||||
- Cache dependencies. Make possible coding offline.
|
||||
- Do not uglify
|
||||
- https://world.hey.com/dhh/you-can-t-get-faster-than-no-build-7a44131c
|
||||
- Rails World Opening Keynote by DHH
|
||||
- https://www.youtube.com/watch?v=iqXjGiQ_D-A
|
||||
- https://news.ycombinator.com/item?id=37843951
|
||||
- https://news.ycombinator.com/item?id=37897921
|
||||
- I merged all branches to one main branch, because merging between branches did take a lot of time.
|
||||
- Do not use linters like eslint and prettier. What I did, is I removed all linters, like eslint, prettier etc, because they did disagree about syntax. Point is to make to code minimal change, that fixes something, or adds some feature. Not that most commits would be about fixing syntax.
|
||||
- https://matt-rickard.com/why-is-the-frontend-stack-so-complicated
|
||||
- https://news.ycombinator.com/item?id=37895164
|
||||
- https://deno.com/blog/node-config-hell
|
||||
- How to not become slow and unresponsive after a week https://github.com/wekan/wekan/issues/5140
|
||||
- Run code like CGI, release all memory
|
||||
- Looking for most cross-platform web frameworks, supporting many different CPU, OS and database.
|
||||
- Both On-Premise AND MultiCloud possible
|
||||
- https://github.com/serverless/multicloud
|
||||
- https://github.com/xet7/multicloud
|
||||
- License: MIT and other https://copyfree.org
|
||||
|
||||
## List of realtime web frameworks
|
||||
|
||||
- Meteor
|
||||
- https://www.meteor.com
|
||||
- https://github.com/meteor/meteor
|
||||
- Helene
|
||||
- Forum Post https://forums.meteor.com/t/helene-a-lightweight-real-time-web-framework-for-node-js-and-bun/60626
|
||||
- Repo https://github.com/leonardoventurini/helene
|
||||
- Discussions https://github.com/leonardoventurini/helene/discussions
|
||||
- NPM package https://www.npmjs.com/package/helene
|
||||
- Discord https://discord.com/invite/PbY36PU75C
|
||||
- Any others?
|
||||
|
||||
## Screenshot
|
||||
|
||||
Supporting many more webbrowsers:
|
||||
|
||||
<img src="https://wekan.fi/manybrowser.png" width="100%" alt="Multiverse WeKan screenshot" />
|
||||
|
||||
## Talks
|
||||
|
||||
- Maintainer of WeKan since December 2016, xet7 (Lauri Ojansivu), about WeKan Multiverse at EU NGI Dapsi https://www.youtube.com/watch?v=BPPjiZHVeyM
|
||||
- https://dapsi.ngi.eu/20-new-solutions-to-bring-the-power-of-data-back-to-peoples-hands/
|
||||
- https://dapsi.ngi.eu/hall-of-fame/multiverse/
|
||||
- WeKan Open Source kanban: add multiple Import/Export/Sync options and UI Designer, making it possible to create any app.
|
||||
|
||||
## Roadmap
|
||||
|
||||
From https://github.com/wekan/wekan/issues/4578#issuecomment-1407769397
|
||||
|
||||
## Standards
|
||||
|
||||
- Web Sustainability Guidelines (WSG) 1.0 at a Glance
|
||||
- https://w3c.github.io/sustyweb/glance.html
|
||||
- Minimize size, support all devices https://w3c.github.io/sustyweb/#benefits-90
|
||||
- Other standards? https://news.ycombinator.com/item?id=36675451
|
||||
|
||||
## Browsers developed for therapy reasons
|
||||
|
||||
Are you fed up? Need some therapy? Write a webbrowser!
|
||||
|
||||
- Gosub
|
||||
- https://adayinthelifeof.nl/2023/09/22/browsers.html
|
||||
- Repo https://github.com/jaytaph/gosub-browser
|
||||
- https://codemusings.nl/@jaytaph/p/MQpHToAx8c1KXyU98Auip4
|
||||
- https://news.ycombinator.com/item?id=37608580
|
||||
- Ladybird
|
||||
- https://www.ladybird.dev
|
||||
- Repo https://github.com/SerenityOS/serenity/tree/master/Ladybird
|
||||
|
||||
## Browsers that have Javascript
|
||||
|
||||
- Use Javascript to add drag-drop etc Javascript features, and hide UI elements like buttons etc that are for non-Javascript
|
||||
|
||||
## Browsers without using Websockets
|
||||
|
||||
- Maybe with long poll. Or no live update, require webpage reload.
|
||||
- For internal corporate networks where websockets are not allowed
|
||||
|
||||
## Browsers that do not support Javascript
|
||||
|
||||
or have Javascript disabled for security reasons.
|
||||
|
||||
- Netsurf https://www.netsurf-browser.org/downloads/ , Development Builds https://ci.netsurf-browser.org/builds/
|
||||
- RISC OS https://www.riscosopen.org/content/downloads , https://www.riscosdev.com/direct/
|
||||
- ReactOS https://reactos.org , https://github.com/howinfo/howinfo/wiki/ReactOS
|
||||
- Redox OS https://www.redox-os.org
|
||||
- Haiku, Linux, Windows, Amiga, Atari etc
|
||||
- Amiga: AWeb, iBrowse
|
||||
- Dillo Webbrowser at FreeDOS https://github.com/wekan/wekan/issues/4578#issuecomment-1248525591
|
||||
- Netscape, IE, etc all browsers at all OS/CPU
|
||||
- FreeDOS: Dillo, Arachne
|
||||
- Text based browsers: Lynx, Links, w3m (sudo apt-get install w3m w3m-img)
|
||||
- Ancient browsers:
|
||||
- http://9p.sdf.org/who/tweedy/ancient_browsers/
|
||||
- https://news.ycombinator.com/item?id=34981257
|
||||
|
||||
## Browsers that are programmable
|
||||
|
||||
- Nyxt
|
||||
- https://github.com/atlas-engineer/nyxt
|
||||
|
||||
## Support more databases
|
||||
|
||||
- SQLite
|
||||
- PostgreSQL
|
||||
- Migrations between databases
|
||||
- Using many databases at the same time
|
||||
- Offline or Local-First
|
||||
- https://news.ycombinator.com/item?id=37584049
|
||||
- https://news.ycombinator.com/item?id=37488034
|
||||
|
||||
## Graphics
|
||||
|
||||
- Raphael JS, supports also many legacy browsers, with VML and SVG graphics https://dmitrybaranovskiy.github.io/raphael/
|
||||
- Related forked repos for various graphics at https://github.com/raphaeljsorg
|
||||
- Or alternatively, just use HTML4, images, imagemaps etc to be compatible to non-Javascript browsers
|
||||
|
||||
## Programming language alternatives
|
||||
|
||||
- Optionally, use some transpiler:
|
||||
- https://en.wikipedia.org/wiki/Source-to-source_compiler
|
||||
- Haxe https://haxe.org , with HaxeUI [GUI/WebUI](http://haxeui.org/) and [TUI](https://github.com/haxeui/haxeui-pdcurses)
|
||||
- Wax https://github.com/xet7/wax
|
||||
- Nim https://nim-lang.org
|
||||
- V https://vlang.io
|
||||
- Maybe transpiling UI to/from HaxeUI XML, HTML4, HTML5, Gopher, Gemini, Lazarus, Gambas, Godot, MUI/ZUI Amiga/AROS
|
||||
|
||||
- Cross-platform:
|
||||
- C89 code for 30+ OS/CPU like at https://github.com/xet7/darkesthour
|
||||
- Pascal code with TRSE https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/
|
||||
- Embedded webserver, for example:
|
||||
- C https://github.com/wekan/hx/blob/main/prototypes/code/webserver/works/c/server.c
|
||||
- Sandstorm https://sandstorm.io , https://github.com/sandstorm-io/sandstorm
|
||||
- Rust https://github.com/dwrensha/sandstorm-rawapi-example-rust
|
||||
- C++ https://github.com/dwrensha/sandstorm-rawapi-example
|
||||
- Try to avoid strange NPM packages
|
||||
- https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-6/
|
||||
|
||||
## Benchmarks
|
||||
|
||||
- For selecting programming language:
|
||||
- https://github.com/wekan/hx/tree/main/prototypes/code/webserver
|
||||
- https://forums.meteor.com/t/performance-tests-between-meteor-3-meteor-2-help-on-format/60458
|
||||
- https://www.techempower.com/benchmarks/
|
||||
- https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks
|
||||
|
||||
## Screenshot of Multiverse WeKan at FreeDOS Dillo
|
||||
|
||||

|
||||
|
||||
## Screenshot of Multiverse WeKan at Netsurf
|
||||
|
||||
### Group and count by first character of board names
|
||||
|
||||
From https://github.com/wekan/wekan/issues/4578#issuecomment-1250143726
|
||||
|
||||
When there is a lot of boards, it is very useful to group by first character of board (and after that click charater to see list of boards for that character, to be added later). I could not figure out how to do it with MongoDB aggregate query. Here is how I did it with SQLite, for type board. SQLite returns results immediately. Note that emojis, UTF-8 shows also on Netsurf browser. TODO is to figure out, could I get these visible also in FreeDOS Dillo browser.
|
||||
```
|
||||
SELECT _id, substr(title,1,1), COUNT(*), type from boards
|
||||
WHERE type=:type GROUP BY substr(title,1,1) ORDER BY substr(title,1,1) ASC;
|
||||
```
|
||||
Actually, somewhere I saved answer from ChatGPT or Bing AI search, what this SQL query using MongoDB Javascript syntax. So maybe I should ask again.
|
||||
|
||||
https://github.com/wekan/php/blob/main/page/allboardschar.php
|
||||
|
||||

|
||||
|
||||
## Prototypes
|
||||
|
||||
### Redbean
|
||||
|
||||
- Currently xet7 actively working with this prototype: https://github.com/wekan/wekanstudio
|
||||
- https://redbean.dev
|
||||
- Minimal kanban board drag drop example
|
||||
- Repo https://github.com/wekan/hx/tree/main/prototypes/code/webserver/works/fullmoon
|
||||
- Redbean amd64 binary works at Win/Mac/Linux/BSD/BIOS without any modifications, because it is based on Cosmopolitan https://github.com/jart/cosmopolitan
|
||||
- Uses HTMX https://htmx.org at UI
|
||||
- Saves to SQLite database
|
||||
- Petclinic fork, using Blink to run at s390x https://github.com/wekan/wekan/wiki/s390x#petclinic-s390x
|
||||
|
||||
### PHP
|
||||
|
||||
- Repo https://github.com/wekan/php
|
||||
- Features:
|
||||
- Some webpages compatible with all browsers
|
||||
- SQLite list all boards with first character, show board with some data
|
||||
- MongoDB test for newer MongoDB
|
||||
- upload file(s) with drag-drop, for upcoming feature https://github.com/wekan/wekan/issues/2936
|
||||
- RTL https://github.com/wekan/wekan/issues/3376#issuecomment-1243922087
|
||||
- Not yet: Login, Move card
|
||||
|
||||
### Gambas
|
||||
|
||||
- Repo https://github.com/wekan/hx/tree/main/prototypes/ui/gambas
|
||||
- Features: Login, dropdown menu structure, SQLite database
|
||||
- Not yet: Show board
|
||||
- Problems: Gambas login page etc requires Javascript, does not work in Netsurf
|
||||
|
||||
### Meteor SSR
|
||||
|
||||
- https://github.com/wekan/we
|
||||
- Features:
|
||||
- Only serverside rendering. Javascript removed removed from frontend.
|
||||
- Only test webpage. No actual features.
|
||||
|
||||
### Node.js 20, Bun and Deno
|
||||
- Repo https://github.com/wekan/ferretdb/tree/main/node-deno-bun
|
||||
- Features:
|
||||
- main.js makes database queries to many databases
|
||||
- Database drivers:
|
||||
- MongoDB driver for Legacy MongoDB 3.2.x, using MongoDB from `sudo snap install wekan`
|
||||
- MongoDB driver for newest MongoDB included, using MongoDB 6.x from rebuild-wekan.sh from https://github.com/wekan/wekan
|
||||
- FerretDB proxy to PostgreSQL, from docker-compose.yml
|
||||
- FerretDB proxy to SQLite, from docker-compose.yml
|
||||
- Bun size is about 93 MB
|
||||
- Deno size is usually about 350 MB https://github.com/wekan/wekan-node20/releases , but from source built Linux arm64 is 1.1 GB because of some bug somewhere.
|
||||
- Deno also includes Node.js as Deno's Node.js compatibility layer.
|
||||
- Node.js supports many CPU/OS
|
||||
- Node.js is used in production and has traceability. https://changelog.com/jsparty/294
|
||||
- https://github.com/wekan/wekan/wiki/s390x
|
||||
- https://nodejs.org/dist/latest-v20.x/
|
||||
- https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4
|
||||
|
||||
### Haxe
|
||||
|
||||
- https://haxe.org
|
||||
- Hello world example
|
||||
- Repo https://github.com/wekan/hx/blob/main/prototypes/code/hello
|
||||
- Transpiled with Haxe to many programming languages
|
||||
- Tinkweb
|
||||
- Repo https://github.com/wekan/hx/tree/main/prototypes/ui/tinkweb
|
||||
- Has router and webpage
|
||||
- Transpiles to PHP and Node.js
|
||||
|
||||
### FreePascal
|
||||
|
||||
- Repo https://github.com/wekan/wami
|
||||
- Some static pages. At upload page, uploading file now works.
|
||||
- Previous:
|
||||
- Repo https://github.com/wekan/hx/tree/main/prototypes/code/webserver/works/freepascal-router
|
||||
- Router and some webpage
|
||||
- Works at many retro and modern OS, but not at s390x that FreePascal does not support yet https://wiki.freepascal.org/ZSeries
|
||||
|
||||
### FreeDOS and Bash
|
||||
|
||||
- Repo https://github.com/wekan/wedos
|
||||
- Features:
|
||||
- DOS: .bat script, that shows menu, and uses SQLite DOS version to make queries to WeKan SQLite database
|
||||
- Bash: .sh script, that shows menu, and uses SQLite CLI to make queris to WeKan SQLite database
|
||||
|
||||
### Minio
|
||||
|
||||
- Repo: https://github.com/wekan/minio-metadata
|
||||
- Features:
|
||||
- Uses Bash script and CLI binaries to migerate text data and attachments from MongoDB to SQLite and Minio
|
||||
- There is Node.js, Go etc drivers for using Minio
|
||||
|
||||
### CloudFlare Workers
|
||||
|
||||
- Developing
|
||||
- https://developers.cloudflare.com/pages/framework-guides/
|
||||
- https://developers.cloudflare.com/pages/
|
||||
- https://developers.cloudflare.com/workers/
|
||||
- https://developers.cloudflare.com/pages/platform/language-support-and-tools/
|
||||
- https://miniflare.dev
|
||||
- https://blog.cloudflare.com/workers-playground/
|
||||
- D1 SQLite
|
||||
- https://developers.cloudflare.com/d1/platform/community-projects/#d1-adapter-for-kysely-orm
|
||||
- https://blog.cloudflare.com/d1-open-beta-is-here/
|
||||
- https://blog.cloudflare.com/introducing-d1/
|
||||
- https://www.cloudflare.com/developer-platform/d1/
|
||||
- https://blog.cloudflare.com/hyperdrive-making-regional-databases-feel-distributed/
|
||||
- Northwind Traders example
|
||||
- https://northwind.d1sql.com
|
||||
- https://github.com/cloudflare/d1-northwind
|
||||
- https://github.com/xet7/d1-northwind
|
||||
- Kysely Query builder for D1 SQLite database
|
||||
- https://codedamn.com/news/product/dont-use-prisma
|
||||
- https://news.ycombinator.com/item?id=37804072
|
||||
- https://kysely.dev
|
||||
- https://github.com/kysely-org/kysely
|
||||
- https://www.npmjs.com/package/kysely
|
||||
- Awesome Kysely https://github.com/kysely-org/awesome-kysely
|
||||
- Older database examples: https://github.com/cloudflare/db-connect
|
||||
- Hono
|
||||
- https://blog.yusu.ke/hono-htmx-cloudflare/
|
||||
- https://news.ycombinator.com/item?id=37165054
|
||||
- https://github.com/yusukebe/hono-htmx
|
||||
- https://github.com/xet7/hono-htmx
|
||||
- https://developers.cloudflare.com/pages/framework-guides/
|
||||
- WebGPU
|
||||
- https://blog.cloudflare.com/webgpu-in-workers/
|
||||
- https://news.ycombinator.com/item?id=37673999
|
||||
- CloudFlare TV https://cloudflare.tv
|
||||
- CloudFlare https://cloudflare.com
|
||||
- TODO example with KV https://github.com/wekan/cloudflare-workers-todos
|
||||
|
||||
### Swap microframework, vs HTMX
|
||||
|
||||
- https://github.com/josephernest/Swap
|
||||
- https://news.ycombinator.com/item?id=35991783
|
||||
|
||||
### Ruby on Rails
|
||||
|
||||
- https://github.com/wekan/weror . Password register and login works, there is workspaces and dragging cards, but no user management etc features yet.
|
|
@ -1,4 +1,4 @@
|
|||
[Docker, Wekan and MongoDB on OpenShift](https://github.com/wekan/wekan/tree/main/openshift)
|
||||
[Docker, Wekan and MongoDB on OpenShift](README.md)
|
||||
|
||||
[OpenShift config issue](https://github.com/wekan/wekan/issues/1778)
|
||||
|
||||
|
|
|
@ -2,6 +2,14 @@
|
|||
|
||||
# Sandstorm at Debian and Ubuntu
|
||||
|
||||
### Sandstorm Radicale: Calendars and Contacts
|
||||
|
||||
- 2025-08-05
|
||||
- Exporting Calendar and Contacts from Google Calendar and Google Contacts to Sandstorm Radicale works.
|
||||
- Importing Calendar .ics file back to Google Calendar does not work, because .ics file size is 2.1 MB.
|
||||
Google Calendar has problems importing .ics files bigger than 1 MB, it would need manual splitting to multiple files.
|
||||
Sandstorm Radicale can import .ics file 2.1 MB successfully.
|
||||
|
||||
### Sandstorm CloudFlare DNS settings
|
||||
|
||||
Sandstorm works when configured to full domain, with CloudFlare SSL/TLS, with Caddy.
|
||||
|
@ -160,4 +168,4 @@ It is not possible to import attachments directly from Trello when using Sandsto
|
|||
4. Import board as Wekan board to Sandstorm.
|
||||
|
||||
[sandstorm_button]: https://img.shields.io/badge/try-Wekan%20on%20Sandstorm-783189.svg
|
||||
[sandstorm_appdemo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h
|
||||
[sandstorm_appdemo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h
|
||||
|
|
|
@ -408,11 +408,47 @@ http://boards.example.com https://boards.example.com {
|
|||
}
|
||||
```
|
||||
## 2) New LXC container
|
||||
So when I start new lxc container:
|
||||
|
||||
Ubuntu Touch:
|
||||
|
||||
1. From OpenStore, install Snapz0r
|
||||
|
||||
2. Look what is newest channel for lxd arm64 https://snapcraft.io/lxd and install , for example:
|
||||
|
||||
```
|
||||
lxc launch images:ubuntu/20.04 lxccontainername
|
||||
sudo su
|
||||
|
||||
snap install lxd --channel=5.21/stable
|
||||
```
|
||||
|
||||
3. From Ubuntu Touch Terminal, lxd init, etc.
|
||||
|
||||
4. Configure Profiles: Adjust the default LXC profile to allow for
|
||||
features like nested containers and privileged access if needed.
|
||||
This can be done with commands like:
|
||||
|
||||
```
|
||||
sudo lxc profile set default security.nesting true
|
||||
```
|
||||
|
||||
5. Start new lxc container
|
||||
|
||||
```
|
||||
# launch-ubu2504.sh
|
||||
# lxc launch image-name container-name
|
||||
lxc launch ubuntu:25.04 ubu2504
|
||||
```
|
||||
|
||||
6. Bash shell to inside of container:
|
||||
|
||||
```
|
||||
# into-ubu2504.sh
|
||||
# lxc exec container-name -- /bin/bash
|
||||
lxc exec ubu2504 -- /bin/bash
|
||||
```
|
||||
|
||||
## 3) Snapd and Wekan
|
||||
|
||||
Then I go inside container and install snapd:
|
||||
```
|
||||
lxc exec lxccontainername -- /bin/bash
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<img src="https://wekan.fi/hosting/univention.svg" width="30%" alt="Univention logo" />
|
||||
<img src="univention.svg" width="30%" alt="Univention logo" />
|
||||
|
||||
## <a name="ProductionUnivention"></a>Production: [Univention](https://www.univention.com/products/univention-app-center/app-catalog/wekan/) platform, many apps and WeKan ®
|
||||
|
||||
|
@ -46,4 +46,4 @@ https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
|
|||
|
||||
# Repairing MongoDB
|
||||
|
||||
https://github.com/wekan/wekan/wiki/Repair-MongoDB
|
||||
https://github.com/wekan/wekan/wiki/Repair-MongoDB
|
||||
|
|
1
docs/Platforms/Propietary/Cloud/Gitpod.md
Normal file
1
docs/Platforms/Propietary/Cloud/Gitpod.md
Normal file
|
@ -0,0 +1 @@
|
|||
- [Gitpod Ready-to-Code](https://gitpod.io/#https://github.com/wekan/wekan)
|
|
@ -10,19 +10,19 @@ This is without container (without Docker or Snap).
|
|||
|
||||
Right click and download files 1-4:
|
||||
|
||||
1. [wekan-7.93-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.93/wekan-7.93-amd64-windows.zip)
|
||||
1. [wekan-7.95-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.95/wekan-7.95-amd64-windows.zip)
|
||||
|
||||
2. [node.exe](https://nodejs.org/dist/latest-v14.x/win-x64/node.exe)
|
||||
|
||||
3. [mongodb-windows-x86_64-7.0.21-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-7.0.21-signed.msi)
|
||||
3. [mongodb-windows-x86_64-7.0.23-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-7.0.23-signed.msi)
|
||||
|
||||
4. [start-wekan.bat](https://raw.githubusercontent.com/wekan/wekan/main/start-wekan.bat)
|
||||
|
||||
5. Copy files from steps 1-4 with USB stick or DVD to offline Windows computer
|
||||
|
||||
6. Double click `mongodb-windows-x86_64-7.0.21-signed.msi` . In installer, uncheck downloading MongoDB compass.
|
||||
6. Double click `mongodb-windows-x86_64-7.0.23-signed.msi` . In installer, uncheck downloading MongoDB compass.
|
||||
|
||||
7. Unzip `wekan-7.93-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
|
||||
7. Unzip `wekan-7.95-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
|
||||
|
||||
```
|
||||
bundle (directory)
|
||||
|
@ -57,6 +57,292 @@ RELATED INFO:
|
|||
- Windows 2022 server example https://github.com/wekan/wekan/issues/5084
|
||||
- Other settings example https://github.com/wekan/wekan/issues/4932
|
||||
|
||||
## SSL/TLS at internal network, that is not connected to Internet, and can not be used from Internet
|
||||
|
||||
Configuring Caddy for SSL/TLS on a local LAN without an internet connection requires you to **manually create and manage certificates**, as Caddy's automatic certificate provisioning relies on external services like Let's Encrypt, which need internet access. Here's a breakdown of the process:
|
||||
|
||||
#### Generate Certificates 🔑
|
||||
|
||||
First, you'll need to generate a self-signed certificate authority (CA) and then use it to sign a certificate for your local domain. You can use tools like **OpenSSL** or **Caddy's own `cert` command**.
|
||||
|
||||
1. **Create a Root CA:**
|
||||
`openssl genrsa -out rootCA.key 2048`
|
||||
`openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 365 -out rootCA.pem`
|
||||
|
||||
2. **Create a Server Certificate:**
|
||||
|
||||
* Create a configuration file (`server.csr.cnf`) for your server certificate.
|
||||
* `openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr -config server.csr.cnf`
|
||||
* `openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 365 -sha256 -extfile server.csr.cnf -extensions req_ext`
|
||||
|
||||
This process creates `server.crt` and `server.key`—the files Caddy will use.
|
||||
|
||||
#### Configure Caddyfile 📜
|
||||
|
||||
Next, you need to tell Caddy to use these specific certificates instead of trying to get them automatically.
|
||||
Modify your `Caddyfile` to use the `tls` directive with the paths to your generated files.
|
||||
|
||||
Caddyfile:
|
||||
```
|
||||
wekan.example.com {
|
||||
tls {
|
||||
load C:\wekan\certs\example.com.pem
|
||||
alpn http/1.1
|
||||
}
|
||||
proxy / localhost:2000 {
|
||||
websocket
|
||||
transparent
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* **`your_local_domain.lan`** is the hostname you'll use to access the site from other computers on your network.
|
||||
* **`tls C:\path\to\server.crt C:\path\to\server.key`** is the key part. It explicitly tells Caddy to use these certificate and key files.
|
||||
|
||||
#### Trust the Certificate 🔒
|
||||
|
||||
Finally, for browsers and other clients on your network to trust the connection and not show a security warning, you must **install the root CA certificate (`rootCA.pem`) on each client machine**.
|
||||
|
||||
1. On each client, navigate to the certificate management store (e.g., in Windows, search for "Manage computer certificates").
|
||||
2. Import the `rootCA.pem` file into the "Trusted Root Certification Authorities" store.
|
||||
|
||||
This tells the client that any certificate signed by this CA (like your `server.crt`) is trustworthy. Without this step, every client will display a **security warning** because the certificate isn't from a publicly trusted authority.
|
||||
|
||||
#### Add wekan.example.com to every computer hosts file
|
||||
|
||||
As Administrator, edit with Notepad, changing dropdown *.txt to All Files, C:\Windows\System32\drivers\etc\hosts textfile.
|
||||
|
||||
To hosts file, add WeKan server local IP address:
|
||||
|
||||
```
|
||||
192.168.0.200 wekan.example.com
|
||||
```
|
||||
|
||||
Alternatively, use some nameserver at Windows server to have domain names at local network.
|
||||
|
||||
#### Other remaining settings for local network SSL/TLS, not connected to Internet
|
||||
|
||||
Look at similar settings below.
|
||||
|
||||
## SSL/TLS with Caddy webserver, accessible at Internet
|
||||
|
||||
- [Other unrelated Caddy info](../../../Webserver/Caddy.md)
|
||||
|
||||
This will start Caddy, like this:
|
||||
|
||||
```
|
||||
example.com CloudFlare SSL/TLS Origin Certificate HTTP 443
|
||||
=> Public IPv4 Cable modem HTTPS port 443
|
||||
=> Local IPv4 HTTPS port 443 Caddy
|
||||
=> Local IPv4 HTTP port 2000 Node.js main.js WeKan
|
||||
=> MongoDB port 27017
|
||||
```
|
||||
|
||||
From CloudFlare to Caddy, all is SSL/TLS encrypted.
|
||||
Caddy proxies all encrypted traffic to Node.js unencrypted HTTP port 2000.
|
||||
|
||||
At WeKan server laptop/desktop, locally between these executeable files,
|
||||
HTTP traffic is not encrypted:
|
||||
|
||||
- Between Caddy and WeKan
|
||||
- Between WeKan and MongoDB
|
||||
|
||||
But outside of that server, all is SSL/TLS encrypted.
|
||||
|
||||
#### 1) At your Internet router, forward ports HTTP 80 and HTTPS 443 to your server laptop/desktop IP address. Example:
|
||||
|
||||
Arris cable modem:
|
||||
|
||||
1. Login
|
||||
2. Firewall / Virtual Server Port Forwarding
|
||||
3. Add HTTP 80 and HTTPS 443:
|
||||
|
||||
HTTP 80:
|
||||
```
|
||||
Description: HTTP
|
||||
Inbound Port: 80 to 80
|
||||
Format: TCP
|
||||
Private IP Address: YOUR-WEKAN-SERVER-LOCAL-IPv4-ADDRESS (example: 192.168.0.200)
|
||||
Local Port: 80 to 80
|
||||
```
|
||||
|
||||
HTTPS 443:
|
||||
```
|
||||
Description: HTTP
|
||||
Inbound Port: 443 to 443
|
||||
Format: TCP
|
||||
Private IP Address: YOUR-WEKAN-SERVER-LOCAL-IPv4-ADDRESS (example: 192.168.0.200)
|
||||
Local Port: 443 to 443
|
||||
```
|
||||
|
||||
|
||||
#### 2) Check your WeKan server Windows computer local IPv4 address
|
||||
|
||||
You can check your IP address on Windows 11 using either the **Settings app** or the **Command Prompt**.
|
||||
These methods will show you your **local IP address**, which is the address your device uses to
|
||||
communicate within your home or office network.
|
||||
|
||||
Your **public IP address**, which is what devices outside your network see, is assigned by your
|
||||
internet service provider (ISP) and can be found using an online tool or a simple web search.
|
||||
|
||||
#### Method 1: Using the Settings App ⚙️
|
||||
|
||||
1. Open the **Start menu** and click on **Settings** (or press the **Windows key + I**).
|
||||
2. In the left-hand menu, click on **Network & internet**.
|
||||
3. Click on the connection you're currently using, either **Wi-Fi** or **Ethernet**.
|
||||
4. On the next screen, your IP address (both IPv4 and IPv6) will be listed under the **Properties** section.
|
||||
|
||||
#### Method 2: Using the Command Prompt 💻
|
||||
|
||||
1. Click the **Start menu** or the **search icon** on your taskbar, type "**cmd**," and press **Enter**.
|
||||
2. In the Command Prompt window, type `ipconfig` and press **Enter**.
|
||||
3. Look for your active connection (e.g., "Ethernet adapter" or "Wireless LAN adapter Wi-Fi").
|
||||
Your IP address will be listed next to "**IPv4 Address**."
|
||||
|
||||
### 3) Finding Your Public IP Address 🌍
|
||||
|
||||
a) At Arris Cable Modem, public IP address is at Login / WAN Setup / DHCP / IP Address
|
||||
|
||||
b) To find your public IP address, simply open a web browser and search for "**what is my IP**."
|
||||
A search engine like Google will display your public IP address right at the top of the search results.
|
||||
|
||||
### 4) If you don't have domain name like example.com
|
||||
|
||||
1. Register and login to https://cloudflare.com
|
||||
|
||||
2. Buy a domain, like example.com
|
||||
|
||||
### 5) Add settings at CloudFlare
|
||||
|
||||
1. CloudFlare / Account Home / AI Audit: Block all AI crawlers, so that they do not slow down your websites and WeKan.
|
||||
But if you need Google Search to see your website like example.com, allow Googlebot.
|
||||
|
||||
2. CloudFlare / Account Home / example.com / DNS / Records / Add Record
|
||||
|
||||
```
|
||||
Type: A
|
||||
Name: wekan (for wekan.example.com, or kanban for kanban.example.com)
|
||||
IPv4 Address: YOUR-PUBLIC-IPv4-ADDRESS (example: 80.123.123.123)
|
||||
- Proxy Status: Orange cloud selected (not grey cloud)
|
||||
- TTL: Auto
|
||||
```
|
||||
3. Click Save
|
||||
|
||||
4. CloudFlare / Account Home / example.com / SSL/TLS / Overview / SSL/TLS Encryption / Configure / Full (strict)
|
||||
|
||||
5. CloudFlare / Account Home / example.com / Origin Server / Create Cerfificate for example.com
|
||||
|
||||
6. At Notepad, copy paste SSL/TLS certs in this order from top to bottom to one textfile `example.com.pem`:
|
||||
|
||||
```
|
||||
1. Private Cert
|
||||
2. Public Cert
|
||||
3. Certificate Chain
|
||||
```
|
||||
|
||||
7. Have for example this directory structure (can also be D: or E: etc)
|
||||
|
||||
```
|
||||
C:.
|
||||
├───wekan directory
|
||||
│ ├───files directory
|
||||
│ ├───certs directory
|
||||
│ │ └───example.com.pem
|
||||
│ ├───bundle directory
|
||||
│ │ └───main.js
|
||||
│ ├───caddy.exe from .zip file
|
||||
│ ├───Caddyfile textfile for Caddy 2 config
|
||||
│ └───start-wekan.bat textfile
|
||||
│
|
||||
└───Program Files
|
||||
```
|
||||
|
||||
8. Edit `start-wekan.bat` with Notepad, search and change these settings, change subdomain wekan.example.com
|
||||
and node saving cmd.exe text outout to log.txt for logging:
|
||||
|
||||
```
|
||||
SET WRITABLE_PATH=..\FILES
|
||||
|
||||
SET ROOT_URL=https://wekan.example.com
|
||||
|
||||
SET PORT=2000
|
||||
|
||||
node main.js > log.txt 2>&1
|
||||
```
|
||||
If you have problems with attachments, instead try:
|
||||
```
|
||||
SET WRITABLE_PATH=..\FILES\
|
||||
```
|
||||
|
||||
9. Download newest Caddy webserver caddy_VERSION-NUMBER_windows_amd64.zip from
|
||||
https://github.com/caddyserver/caddy/releases ,
|
||||
extract .zip file, and copy caddy.exe to above directory structure.
|
||||
|
||||
- Caddy website https://caddyserver.com
|
||||
- Caddy features https://caddyserver.com/features
|
||||
- Caddy code https://github.com/caddyserver/caddy
|
||||
- Caddy forum https://caddy.community/
|
||||
|
||||
10. To Caddyfile, with Notepad add this:
|
||||
|
||||
```
|
||||
wekan.example.com {
|
||||
tls {
|
||||
load C:\wekan\certs\example.com.pem
|
||||
alpn http/1.1
|
||||
}
|
||||
proxy / localhost:2000 {
|
||||
websocket
|
||||
transparent
|
||||
}
|
||||
}
|
||||
```
|
||||
11. Open `cmd.exe` terminal, write there:
|
||||
|
||||
```
|
||||
C:
|
||||
|
||||
cd \wekan
|
||||
|
||||
wekan.bat
|
||||
```
|
||||
|
||||
12. Open another `cmd.exe` terminal, write there this. It will format Caddyfile to have
|
||||
correct text format, and validate is Caddyfile configuration settings correct.
|
||||
|
||||
```
|
||||
C:
|
||||
|
||||
cd \wekan
|
||||
|
||||
caddy fmt --overwrite Caddyfile
|
||||
|
||||
caddy validate
|
||||
```
|
||||
If there is errors, ask Google Search about that error, edit Caddyfile with Notepad to fix it.
|
||||
|
||||
If there is not any errors, start Caddy:
|
||||
```
|
||||
caddy
|
||||
```
|
||||
This will start Caddy, like this:
|
||||
|
||||
example.com CloudFlare SSL/TLS Origin Certificate HTTP 443
|
||||
=> Public IPv4 Cable modem HTTPS port 443
|
||||
=> Local IPv4 HTTPS port 443 Caddy
|
||||
=> Local IPv4 HTTP port 2000 Node.js main.js WeKan
|
||||
=> MongoDB port 27017
|
||||
|
||||
From CloudFlare to Caddy, all is SSL/TLS encrypted.
|
||||
Caddy proxies all encrypted traffic to Node.js unencrypted HTTP port 2000.
|
||||
|
||||
At WeKan server laptop/desktop, locally between these executeable files,
|
||||
HTTP traffic is not encrypted:
|
||||
- Between Caddy and WeKan
|
||||
- Between WeKan and MongoDB
|
||||
|
||||
But outside of that server, all is SSL/TLS encrypted.
|
||||
|
||||
## Docker WeKan Offline
|
||||
|
||||
|
||||
|
@ -179,3 +465,34 @@ sudo snap set wekan port='80'
|
|||
|
||||
12. Then at local network Wekan is at:
|
||||
http://192.168.0.100
|
||||
|
||||
#### Windows notes (tested on Windows 11)
|
||||
|
||||
- **Attachments error fix**: if you get
|
||||
`TypeError: The "path" argument must be of type string. Received undefined`
|
||||
from `models/attachments.js`, create folders and set writable paths **before** start:
|
||||
- Create: `C:\wekan-data` and `C:\wekan-data\attachments`
|
||||
- PowerShell:
|
||||
```
|
||||
$env:WRITABLE_PATH="C:\wekan-data"
|
||||
$env:ATTACHMENTS_STORE_PATH="C:\wekan-data\attachments"
|
||||
```
|
||||
- CMD:
|
||||
```
|
||||
set WRITABLE_PATH=C:\wekan-data
|
||||
set ATTACHMENTS_STORE_PATH=C:\wekan-data\attachments
|
||||
```
|
||||
|
||||
- **LAN access in dev on Windows**:
|
||||
- PowerShell:
|
||||
```
|
||||
$env:BIND_IP="0.0.0.0"
|
||||
$env:ROOT_URL="http://<YOUR-LAN-IP>:4000"
|
||||
meteor run --port 4000
|
||||
```
|
||||
- CMD:
|
||||
```
|
||||
set BIND_IP=0.0.0.0
|
||||
set ROOT_URL=http://<YOUR-LAN-IP>:4000
|
||||
meteor run --port 4000
|
||||
```
|
||||
|
|
|
@ -30,7 +30,7 @@ Wekan is distributed under the [MIT License], allowing anyone to easily work wit
|
|||
* Future WeKan prototypes: [Multiverse WeKan Roadmap](FAQ/WeKan-Multiverse-Roadmap.md)
|
||||
* [Change Language](Translations/Change-Language.md)
|
||||
* [Forgot Password](Login/Forgot-Password.md)
|
||||
* [WeKan Design Principles](DeveloperDocs/Design-Principles.md)
|
||||
* [WeKan Design Principles](Design/Design-Principles.md)
|
||||
* [FAQ](FAQ/FAQ.md)
|
||||
* [IRC FAQ](FAQ/IRC-FAQ.md) - answers to questions asked at IRC
|
||||
* [Team](FAQ/Team.md)
|
||||
|
|
57
docs/Security/brute-force-protection.md
Normal file
57
docs/Security/brute-force-protection.md
Normal file
|
@ -0,0 +1,57 @@
|
|||
# Brute Force Protection in WeKan
|
||||
|
||||
WeKan includes a robust brute force login protection system that helps prevent unauthorized access attempts by temporarily locking accounts after multiple failed login attempts.
|
||||
|
||||
## Features
|
||||
|
||||
- **Configurable Settings**: Administrators can configure lockout settings directly in the Admin Panel
|
||||
- **Different Rules for Known and Unknown Users**: Separate settings for registered users and unknown login attempts
|
||||
- **Visual Indicators**: Red lock icons identify locked users in the interface
|
||||
- **Unlock Capabilities**: Admins can unlock individual users or all locked users at once
|
||||
|
||||
## Administration
|
||||
|
||||
### Accessing Brute Force Protection Settings
|
||||
|
||||
1. Navigate to **Admin Panel** > **People** > **Locked Users**
|
||||
2. Here you can view and modify all brute force protection settings
|
||||
|
||||
### Settings Available
|
||||
|
||||
#### Known Users (Registered Users)
|
||||
- **Failures Before Lockout**: Number of failed attempts before an account is locked (default: 3)
|
||||
- **Lockout Period**: Duration in seconds that an account remains locked (default: 60)
|
||||
- **Failure Window**: Time window in seconds during which failed attempts are counted (default: 15)
|
||||
|
||||
#### Unknown Users (Non-existent Usernames)
|
||||
- **Failures Before Lockout**: Number of failed attempts before the IP is blocked (default: 3)
|
||||
- **Lockout Period**: Duration in seconds that an IP remains blocked (default: 60)
|
||||
- **Failure Window**: Time window in seconds during which failed attempts are counted (default: 15)
|
||||
|
||||
### Managing Locked Users
|
||||
|
||||
The **Locked Users** tab in the Admin Panel shows all currently locked users with:
|
||||
- Username
|
||||
- Email address
|
||||
- Number of failed attempts
|
||||
- Remaining lock time
|
||||
|
||||
#### Unlocking Users
|
||||
|
||||
There are two ways to unlock users:
|
||||
|
||||
1. **Individual Unlock**: Click the red lock icon next to a specific user to unlock them
|
||||
2. **Unlock All**: Click the "Unlock All" button to unlock all currently locked users at once
|
||||
|
||||
### User Filtering
|
||||
|
||||
In the **People** section of the Admin Panel, you can filter users by lock status:
|
||||
|
||||
1. Use the dropdown menu to select "Locked Users Only"
|
||||
2. This will show only users who are currently locked out due to failed login attempts
|
||||
|
||||
## Security Recommendations
|
||||
|
||||
- Use the default settings as a starting point and adjust based on your security requirements
|
||||
- Consider increasing the lockout period for high-security environments
|
||||
- Regularly check the locked users list to identify potential attack patterns
|
4
find.sh
4
find.sh
|
@ -13,4 +13,6 @@ if (( $# != 1 )); then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
find . | grep -v node_modules | grep -v .build | grep -v .meteor | grep -v .git | xargs grep --no-messages $1 | less
|
||||
#find . | grep -v node_modules | grep -v .build | grep -v .meteor | grep -v .git | xargs grep --no-messages $1 | less
|
||||
#find . -print0 | grep -v node_modules | grep -v .build | grep -v .meteor | grep -v .git | xargs -0 grep --no-messages $1 | less
|
||||
find . | grep -v node_modules | grep -v .build | grep -v .meteor | grep -v .git | xargs grep -I --no-messages $1 | less
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "نقل الى الارشيف",
|
||||
"archive-all": "نقل الكل الى الارشيف",
|
||||
"archive-board": "نقل اللوح الى الارشيف",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "نقل البطاقة الى الارشيف",
|
||||
"archive-list": "نقل القائمة الى الارشيف",
|
||||
"archive-swimlane": "نقل خط السباحة الى الارشيف",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "عدد المنظمات هو:",
|
||||
"team-number": "عدد الفرق هو:",
|
||||
"people-number": "عدد الأشخاص هو:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "إخفاء جميع عناصر قائمة التحقق",
|
||||
"support": "دعم",
|
||||
"supportPopup-title": "دعم",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "تم تمكين صفحة إمكانية الوصول",
|
||||
"accessibility-title": "موضوع إمكانية الوصول",
|
||||
"accessibility-content": "محتوى إمكانية الوصول"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "محتوى إمكانية الوصول",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "كل المستخدمين",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "نشط",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Премести в Архива",
|
||||
"archive-all": "Премести всички в Архива",
|
||||
"archive-board": "Премести Таблото в Архива",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Премести Картата в Архива",
|
||||
"archive-list": "Премести Списъка в Архива",
|
||||
"archive-swimlane": "Премести Коридора в Архива",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Копирай таблото",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Състояние",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Активен",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Moure a l'arxiu",
|
||||
"archive-all": "Moure tot a l'arxiu",
|
||||
"archive-board": "Moure Tauler al Arxiu",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Moure Fitxa al Arxiu",
|
||||
"archive-list": "Moure Llista al Arxiu",
|
||||
"archive-swimlane": "Mou carril a l'Arxiu",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Personalitza el text del botó OIDC",
|
||||
"default-authentication-method": "Mètode d'autenticació per defecte",
|
||||
"duplicate-board": "Tauler duplicat",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "EL nom d'organitzacions és:",
|
||||
"team-number": "El nombre d'equips és:",
|
||||
"people-number": "El nombre d'usuaris és:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Estat",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "Tots els usuaris",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Actiu",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Přesunout do archivu",
|
||||
"archive-all": "Přesunout vše do archivu",
|
||||
"archive-board": "Přesunout tablo do archivu",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Přesunout kartu do archivu",
|
||||
"archive-list": "Přesunout seznam do archivu",
|
||||
"archive-swimlane": "Přesunout swimlane do archivu",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Zobraz způsob ověřování",
|
||||
"duplicate-board": "Duplikovat tablo",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Stav",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "Všechny",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktivní",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Přesunout do archivu",
|
||||
"archive-all": "Přesunout vše do archivu",
|
||||
"archive-board": "Přesunout tablo do archivu",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Přesunout kartu do archivu",
|
||||
"archive-list": "Přesunout seznam do archivu",
|
||||
"archive-swimlane": "Přesunout swimlane do archivu",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Výchozí způsob ověřování",
|
||||
"duplicate-board": "Duplikovat tablo",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "Počet organizací je:",
|
||||
"team-number": "Počet týmů je:",
|
||||
"people-number": "Počet osob je:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Stav",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "Všechny",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktivní",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Flyt til arkiv",
|
||||
"archive-all": "Flyt alle til arkiv",
|
||||
"archive-board": "Flyt tavle til arkiv",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Flyt kort til arkiv",
|
||||
"archive-list": "Flyt liste til arkiv",
|
||||
"archive-swimlane": "Flyt svømmebane til arkiv",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Standard for godkendelsesmetode",
|
||||
"duplicate-board": "Duplikér tavle",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktiv",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Ins Archiv verschieben",
|
||||
"archive-all": "Alles ins Archiv verschieben",
|
||||
"archive-board": "Board ins Archiv verschieben",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Karte ins Archiv verschieben",
|
||||
"archive-list": "Liste ins Archiv verschieben",
|
||||
"archive-swimlane": "Swimlane ins Archiv verschieben",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Benutzerdefinierter Text der OIDC-Schaltfläche",
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren",
|
||||
"duplicate-board": "Board duplizieren",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "alle Benutzer",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktiv",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Ins Archiv verschieben",
|
||||
"archive-all": "Alles ins Archiv verschieben",
|
||||
"archive-board": "Board ins Archiv verschieben",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Karte ins Archiv verschieben",
|
||||
"archive-list": "Liste ins Archiv verschieben",
|
||||
"archive-swimlane": "Swimlane ins Archiv verschieben",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Benutzerdefinierter Text der OIDC-Schaltfläche",
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren",
|
||||
"duplicate-board": "Board duplizieren",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "alle Benutzer",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktiv",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Ins Archiv verschieben",
|
||||
"archive-all": "Alles ins Archiv verschieben",
|
||||
"archive-board": "Board ins Archiv verschieben",
|
||||
"archive-board-confirm": "Wollen Sie das Board wirklich archivieren?",
|
||||
"archive-card": "Karte ins Archiv verschieben",
|
||||
"archive-list": "Liste ins Archiv verschieben",
|
||||
"archive-swimlane": "Swimlane ins Archiv verschieben",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Benutzerdefinierter Text der OIDC-Schaltfläche",
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren",
|
||||
"duplicate-board": "Board duplizieren",
|
||||
"duplicate-board-confirm": "Wollen Sie das Board wirklich duplizieren?",
|
||||
"org-number": "Die Anzahl der Organisationen ist:",
|
||||
"team-number": "Die Anzahl der Teams ist:",
|
||||
"people-number": "Die Anzahl der Personen ist:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Verberge alle Checklisteneinträge",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Bedienungshilfe",
|
||||
"accessibility-page-enabled": "Bedienungshilfe Seite freigeschaltet",
|
||||
"accessibility-info-not-added-yet": "Es wurde noch keine Information zur Bedienungshilfe hinzugefügt",
|
||||
"accessibility-title": "Bedienungshilfe Titel",
|
||||
"accessibility-content": "Bedienungshilfe Inhalt"
|
||||
"accessibility-content": "Bedienungshilfe Inhalt",
|
||||
"accounts-lockout-settings": "Brute-Force-Schutz Einstellungen",
|
||||
"accounts-lockout-info": "Diese Einstellungen steuern, wie Anmeldeversuche gegen Brute-Force-Angriffe geschützt werden",
|
||||
"accounts-lockout-known-users": "Einstellungen für bekannte Benutzer (korrekter Benutzername, falsches Passwort)",
|
||||
"accounts-lockout-unknown-users": "Einstellungen für unbekannte Benutzer (nicht existierender Benutzername)",
|
||||
"accounts-lockout-failures-before": "Fehler vor einer Sperrung",
|
||||
"accounts-lockout-period": "Dauer der Sperrung (Sekunden)",
|
||||
"accounts-lockout-failure-window": "Fehlerfenster (Sekunden)",
|
||||
"accounts-lockout-settings-updated": "Die Brute-force-Schutz Einstellungen wurden aktualisiert",
|
||||
"accounts-lockout-locked-users": "Gesperrte Benutzer",
|
||||
"accounts-lockout-locked-users-info": "Kürzlich gesperrte Benutzer aufgrund von zu vielen fehlerhaften Logins",
|
||||
"accounts-lockout-no-locked-users": "Es gibt aktuell keine gesperrten Benutzer",
|
||||
"accounts-lockout-failed-attempts": "Fehlversuche",
|
||||
"accounts-lockout-remaining-time": "Verbleibende Zeit",
|
||||
"accounts-lockout-user-unlocked": "Benutzer wurde erfolgreich entsperrt",
|
||||
"accounts-lockout-confirm-unlock": "Wollen Sie den Benutzer wirklich entsperren?",
|
||||
"accounts-lockout-confirm-unlock-all": "Wollen Sie wirklich alle gesperrten Benutzer entsperren?",
|
||||
"accounts-lockout-show-locked-users": "Zeige nur gesperrte Benutzer",
|
||||
"accounts-lockout-user-locked": "Benutzer ist gesperrt",
|
||||
"accounts-lockout-click-to-unlock": "Klicken Sie, um den Benutzer zu entsperren",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Zeige:",
|
||||
"admin-people-filter-all": "alle Benutzer",
|
||||
"admin-people-filter-locked": "Nur gesperrte Benutzer",
|
||||
"admin-people-filter-active": "Aktiv",
|
||||
"admin-people-filter-inactive": "Nicht Aktiv",
|
||||
"admin-people-active-status": "Aktiv Status",
|
||||
"admin-people-user-active": "Benutzer ist Aktiv - zum Deaktivieren klicken",
|
||||
"admin-people-user-inactive": "Benutzer ist Inaktiv - zum Aktivieren klicken",
|
||||
"accounts-lockout-all-users-unlocked": "Alle gesperrten Benutzer wurden entsperrt",
|
||||
"accounts-lockout-unlock-all": "Alle entsperren"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Ins Archiv verschieben",
|
||||
"archive-all": "Alles ins Archiv verschieben",
|
||||
"archive-board": "Board ins Archiv verschieben",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Karte ins Archiv verschieben",
|
||||
"archive-list": "Liste ins Archiv verschieben",
|
||||
"archive-swimlane": "Swimlane ins Archiv verschieben",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Benutzerdefinierter Text der OIDC-Schaltfläche",
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren",
|
||||
"duplicate-board": "Board duplizieren",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "Die Anzahl der Organisationen ist:",
|
||||
"team-number": "Die Anzahl der Teams ist:",
|
||||
"people-number": "Die Anzahl der Personen ist:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Verberge alle Checklisteneinträge",
|
||||
"support": "Unterstützung",
|
||||
"supportPopup-title": "Unterstützung",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Barrierefreie Seite freigeschaltet",
|
||||
"accessibility-title": "Barrierefreier Eintrag",
|
||||
"accessibility-content": "Barrierefreier Eintrag"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Barrierefreier Eintrag",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "alle Benutzer",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktiv",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Μετακίνηση στο Αρχείο",
|
||||
"archive-all": "Μετακίνηση Όλων στο Αρχείο",
|
||||
"archive-board": "Μετακίνηση Πίνακα στο Αρχείο",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Μετακίνηση Κάρτας στο Αρχείο",
|
||||
"archive-list": "Μετακίνηση Λίστας στο Αρχείο",
|
||||
"archive-swimlane": "Μετακίνηση της Λωρίδας στο Αρχείο",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Ενεργό",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Μετακίνηση στο Αρχείο",
|
||||
"archive-all": "Μετακίνηση Όλων στο Αρχείο",
|
||||
"archive-board": "Μετακίνηση Πίνακα στο Αρχείο",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Μετακίνηση Κάρτας στο Αρχείο",
|
||||
"archive-list": "Μετακίνηση Λίστας στο Αρχείο",
|
||||
"archive-swimlane": "Μετακίνηση της Λωρίδας στο Αρχείο",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Ενεργό",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organisations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -1268,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Mover al Archivo",
|
||||
"archive-all": "Mover Todo al Archivo",
|
||||
"archive-board": "Mover Tablero al Archivo",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Mover Tarjeta al Archivo",
|
||||
"archive-list": "Mover Lista al Archivo",
|
||||
"archive-swimlane": "Mover Calle al Archivo",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Activo",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Archivar",
|
||||
"archive-all": "Archivar todo",
|
||||
"archive-board": "Archivar este tablero",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Archivar esta tarjeta",
|
||||
"archive-list": "Archivar esta lista",
|
||||
"archive-swimlane": "Archivar este carril",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Método de autenticación por defecto",
|
||||
"duplicate-board": "Duplicar tablero",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Activo",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Archivar",
|
||||
"archive-all": "Archivar todo",
|
||||
"archive-board": "Archivar este tablero",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Archivar esta tarjeta",
|
||||
"archive-list": "Archivar esta lista",
|
||||
"archive-swimlane": "Archivar este carril",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Archivar",
|
||||
"archive-all": "Archivar todo",
|
||||
"archive-board": "Archivar este tablero",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Archivar esta tarjeta",
|
||||
"archive-list": "Archivar esta lista",
|
||||
"archive-swimlane": "Archivar este carril",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Método de autenticación por defecto",
|
||||
"duplicate-board": "Duplicar tablero",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Estado",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "Todos los usuarios",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Activo",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Archivar",
|
||||
"archive-all": "Archivar todo",
|
||||
"archive-board": "Archivar este tablero",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Archivar esta tarjeta",
|
||||
"archive-list": "Archivar esta lista",
|
||||
"archive-swimlane": "Archivar este carril",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Método de autenticación por defecto",
|
||||
"duplicate-board": "Duplicar tablero",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "El número de organizaciones es:",
|
||||
"team-number": "El número de equipos es:",
|
||||
"people-number": "El número de personas es:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Ocultar todos los elementos de la lista de verificación",
|
||||
"support": "Soporte",
|
||||
"supportPopup-title": "Soporte",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Página de accesibilidad habilitada",
|
||||
"accessibility-title": "Temas de accesibilidad",
|
||||
"accessibility-content": "Contenido de accesibilidad"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Contenido de accesibilidad",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Estado",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "Todos los usuarios",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Activo",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Active",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Liiguta arhiivi",
|
||||
"archive-all": "Vii kõik arhiivi",
|
||||
"archive-board": "Liiguta tahvel arhiivi",
|
||||
"archive-board-confirm": "Are you sure you want to archive this board?",
|
||||
"archive-card": "Liiguta kaart arhiivi",
|
||||
"archive-list": "Liiguta nimekiri arhiivi",
|
||||
"archive-swimlane": "Liiguta ujumisrajoon arhiivi",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "OIDC-nupu teksti kohandamine",
|
||||
"default-authentication-method": "Vaikimisi autentimismeetod",
|
||||
"duplicate-board": "Duplikaat Board",
|
||||
"duplicate-board-confirm": "Are you sure you want to duplicate this board?",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Hide all checklist items",
|
||||
"support": "Support",
|
||||
"supportPopup-title": "Support",
|
||||
"accessibility": "Accessibility",
|
||||
"accessibility-page-enabled": "Accessibility page enabled",
|
||||
"accessibility-title": "Accessibility topic",
|
||||
"accessibility-content": "Accessibility content"
|
||||
"accessibility-info-not-added-yet": "Accessibility info has not been added yet",
|
||||
"accessibility-title": "Accessibility title",
|
||||
"accessibility-content": "Accessibility content",
|
||||
"accounts-lockout-settings": "Brute Force Protection Settings",
|
||||
"accounts-lockout-info": "These settings control how login attempts are protected against brute force attacks.",
|
||||
"accounts-lockout-known-users": "Settings for known users (correct username, wrong password)",
|
||||
"accounts-lockout-unknown-users": "Settings for unknown users (non-existent username)",
|
||||
"accounts-lockout-failures-before": "Failures before lockout",
|
||||
"accounts-lockout-period": "Lockout period (seconds)",
|
||||
"accounts-lockout-failure-window": "Failure window (seconds)",
|
||||
"accounts-lockout-settings-updated": "Brute force protection settings have been updated",
|
||||
"accounts-lockout-locked-users": "Locked Users",
|
||||
"accounts-lockout-locked-users-info": "Users currently locked out due to too many failed login attempts",
|
||||
"accounts-lockout-no-locked-users": "There are currently no locked users",
|
||||
"accounts-lockout-failed-attempts": "Failed Attempts",
|
||||
"accounts-lockout-remaining-time": "Remaining Time",
|
||||
"accounts-lockout-user-unlocked": "User has been unlocked successfully",
|
||||
"accounts-lockout-confirm-unlock": "Are you sure you want to unlock this user?",
|
||||
"accounts-lockout-confirm-unlock-all": "Are you sure you want to unlock all locked users?",
|
||||
"accounts-lockout-show-locked-users": "Show locked users only",
|
||||
"accounts-lockout-user-locked": "User is locked",
|
||||
"accounts-lockout-click-to-unlock": "Click to unlock this user",
|
||||
"accounts-lockout-status": "Staatus",
|
||||
"admin-people-filter-show": "Show:",
|
||||
"admin-people-filter-all": "Kõik kasutajad",
|
||||
"admin-people-filter-locked": "Locked Users Only",
|
||||
"admin-people-filter-active": "Aktiivne",
|
||||
"admin-people-filter-inactive": "Not Active",
|
||||
"admin-people-active-status": "Active Status",
|
||||
"admin-people-user-active": "User is active - click to deactivate",
|
||||
"admin-people-user-inactive": "User is inactive - click to activate",
|
||||
"accounts-lockout-all-users-unlocked": "All locked users have been unlocked",
|
||||
"accounts-lockout-unlock-all": "Unlock All"
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
"archive": "Eraman biltegira",
|
||||
"archive-all": "Eraman guztiak biltegira",
|
||||
"archive-board": "Mugitu arbela biltegira",
|
||||
"archive-board-confirm": "Ziur zaude taula hau artxibatu nahi duzula?",
|
||||
"archive-card": "Eraman txartela biltegira",
|
||||
"archive-list": "Eraman zerrenda biltegira",
|
||||
"archive-swimlane": "Eraman erraila biltegira",
|
||||
|
@ -610,7 +611,7 @@
|
|||
"has-spenttime-cards": "Erabilitako denbora txartelak ditu",
|
||||
"time": "Ordua",
|
||||
"title": "Izenburua",
|
||||
"toggle-assignees": "Toggle assignees 1-9 for card (By order of addition to board).",
|
||||
"toggle-assignees": "Gaitu/ezgaitu esleipendunak 1-9 txartelerako (arbeleko gehitze-ordenaren arabera).",
|
||||
"toggle-labels": "Toggle labels 1-9 for card. Multi-Selection adds labels 1-9",
|
||||
"remove-labels-multiselect": "Multi-Selection removes labels 1-9",
|
||||
"tracking": "Jarraitzen",
|
||||
|
@ -896,6 +897,7 @@
|
|||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"duplicate-board-confirm": "Ziur zaude taula hau bikoiztu nahi duzula?",
|
||||
"org-number": "Erakunde kopurua hau da:",
|
||||
"team-number": "Taldeen kopurua hau da:",
|
||||
"people-number": "Jendearen kopurua hau da:",
|
||||
|
@ -1266,7 +1268,39 @@
|
|||
"hideAllChecklistItems": "Ezkutatu kontrol-zerrendako elementu guztiak",
|
||||
"support": "Laguntza",
|
||||
"supportPopup-title": "Laguntza",
|
||||
"accessibility": "irisgarritasuna",
|
||||
"accessibility-page-enabled": "Irisgarritasun orria gaituta",
|
||||
"accessibility-title": "Irisgarritasun gaia",
|
||||
"accessibility-content": "Irisgarritasun edukia"
|
||||
"accessibility-info-not-added-yet": "Irisgarritasun informaziorik ez da gehitu oraindik",
|
||||
"accessibility-title": "Irisgarritasun titulua",
|
||||
"accessibility-content": "Irisgarritasun edukia",
|
||||
"accounts-lockout-settings": "Brute Force babesteko ezarpenak",
|
||||
"accounts-lockout-info": "Ezarpen hauek kontrolatzen dute nola babesten diren saioa hasteko saiakerak indar basatien erasoetatik.",
|
||||
"accounts-lockout-known-users": "Erabiltzaile ezagunentzako konfigurazioa (erabiltzaile izen zuzena, pasahitz okerra)",
|
||||
"accounts-lockout-unknown-users": " Erabiltzaile ezezagunentzako konfigurazioa (ez dago erabiltzaile-izenik)",
|
||||
"accounts-lockout-failures-before": "Erroreak blokeatu aurretik",
|
||||
"accounts-lockout-period": "Blokeoaren aldia (segundoak)",
|
||||
"accounts-lockout-failure-window": "Hutsegite leihoa (segundoak)",
|
||||
"accounts-lockout-settings-updated": "Indar basatiko erasoen kontrako babesa eguneratu da",
|
||||
"accounts-lockout-locked-users": "Blokeatutako erabiltzaileak",
|
||||
"accounts-lockout-locked-users-info": " Erabiltzaileak blokeatuta daude saioa hasteko huts egindako saiakera gehiegi dituztelako.",
|
||||
"accounts-lockout-no-locked-users": "Une honetan ez dago blokeatutako erabiltzailerik",
|
||||
"accounts-lockout-failed-attempts": "Huts egindako saiakerak",
|
||||
"accounts-lockout-remaining-time": "Geratzen den denbora",
|
||||
"accounts-lockout-user-unlocked": "Erabiltzailea behar bezala desblokeatu da",
|
||||
"accounts-lockout-confirm-unlock": "Ziur zaude erabiltzaile hau desblokeatu nahi duzula?",
|
||||
"accounts-lockout-confirm-unlock-all": "Ziur zaude blokeatutako erabiltzaile guztiak desblokeatu nahi dituzula?",
|
||||
"accounts-lockout-show-locked-users": "Erakutsi bakarrik blokeatutako erabiltzaileak",
|
||||
"accounts-lockout-user-locked": "Erabiltzailea blokeatuta dago",
|
||||
"accounts-lockout-click-to-unlock": "Klikatu erabiltzaile hau desblokeatzeko",
|
||||
"accounts-lockout-status": "Status",
|
||||
"admin-people-filter-show": "Erakutsi:",
|
||||
"admin-people-filter-all": "All Users",
|
||||
"admin-people-filter-locked": "Bakarrik blokeatutako erabiltzaileak",
|
||||
"admin-people-filter-active": "Gaituta",
|
||||
"admin-people-filter-inactive": "Ez dago aktibo",
|
||||
"admin-people-active-status": "Egoera aktiboa",
|
||||
"admin-people-user-active": "Erabiltzailea aktiboa dago - egin klik desaktibatzeko",
|
||||
"admin-people-user-inactive": "Erabiltzailea ez dago aktiboa - egin klik aktibatzeko",
|
||||
"accounts-lockout-all-users-unlocked": "Blokeatutako erabiltzaile guztiak desblokeatu dira",
|
||||
"accounts-lockout-unlock-all": "Desblokeatu guztiak"
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue