This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Adding language support for new language
You are encouraged to translate (or improve the translation of) Wekan in your locale language. For that purpose we rely on Transifex. So the first step is to create a Transifex account if you don’t have one already. You can then send a request to join one of the translation teams. If there we will create a new one.
Once you are in a team you can start translating the application. Please take a look at the glossary so you can agree with other (present and future) contributors on words to use to translate key concepts in the application like “boards” and “cards”.
Supporting automatic translation when adding new features
The original application is written in English, and if you want to contribute to
the application itself, you are asked to fill the i18n/en.i18n.json
file with your new phrases.
When you do that the new strings of text to translate automatically appears on Transifex to be translated (the refresh may take a few hours).
Then in your JADE files, use the string like so:
h3.card-details-item-title {{_ 'members'}}
We pull all translations from Transifex before every new Wekan release candidate, ask the translators to review the app, and pull all translations again for the final release.
Example
diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade
index ee31d76be..e3b2ea7cd 100644
--- a/client/components/cards/cardDetails.jade
+++ b/client/components/cards/cardDetails.jade
@@ -142,19 +142,19 @@ template(name="cardDetails")
.card-details-item.card-details-item-recurring
h3.card-details-item-title
i.fa.fa-repeat
- | Recurrence
+ | {{_ 'recurrence'}}
label
input.js-recurring-checkbox(type="checkbox" checked=card.isRecurring)
- | Repeat this card
+ | {{_ 'repeat-this-card'}}
if card.isRecurring
label
- | Repeat every
+ | {{_ 'repeat-every'}}
select.js-recurring-pattern
- option(value="daily" selected=card.recurrencePattern === 'daily') Daily
- option(value="weekly" selected=card.recurrencePattern === 'weekly') Weekly
- option(value="monthly" selected=card.recurrencePattern === 'monthly') Monthly
+ option(value="daily", selected="#{card.recurrencePattern === 'daily'}") {{_ 'daily'}}
+ option(value="weekly", selected="#{card.recurrencePattern === 'weekly'}") {{_ 'weekly'}}
+ option(value="monthly", selected="#{card.recurrencePattern === 'monthly'}") {{_ 'monthly'}}
label
- | End repeat on
+ | {{_ 'end-repeat-on'}}
input.js-recurring-end-date(type="date" value=card.recurrenceEndDate)
if currentBoard.hasAnyAllowsUser
hr
diff --git a/imports/i18n/data/en.i18n.json b/imports/i18n/data/en.i18n.json
index 10260ff2b..b16200c1a 100644
--- a/imports/i18n/data/en.i18n.json
+++ b/imports/i18n/data/en.i18n.json
@@ -1270,5 +1270,12 @@
"supportPopup-title": "Support",
"accessibility-page-enabled": "Accessibility page enabled",
"accessibility-title": "Accessibility topic",
- "accessibility-content": "Accessibility content"
+ "accessibility-content": "Accessibility content",
+ "recurrence": "Recurrence",
+ "repeat-this-card": "Repeat this card",
+ "repeat-every": "Repeat every",
+ "daily": "Daily",
+ "weekly": "Weekly",
+ "monthly": "Monthly",
+ "end-repeat-on": "End repeat on"
}
Wekan
General
- Deep Dive Into WeKan
- Meteor WeKan Roadmap - board at Wekan demo
- Multiverse WeKan Roadmap
- Docs/Manual
- Change Language
- Forgot Password
- About
- Test Edge
- WeKan Design Principles
- FAQ
- IRC FAQ - answers to questions asked at IRC
- Team
- Press
- Blog
- Wekan vs Trello vs Restyaboard
- Results of Survey 2020-01
Fake: Not WeKan kanban
Security
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
Scaling
- Cron: Hourly restart WeKan, because of memory leaks
- Maybe: Add more RAM to Node.js to prevent crash
- Clustering AWS etc
- Scaling
- Kubernetes
- Redis Oplog
- Meteor Scaling at Meteor Cloud
- Scaling at Meteor forums
Migrating
- From Previous Export, paste big WeKan JSON
- Progress: Import/Export/Sync
- From CSV/TSV
- From Trello
- From Jira
- From Asana
- From Zenkit
- From old Wekan manually
- Converting Meteor Stylus to CSS
Support priorities for new features and bugfixes
Backup
Repair
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
Themes
Markdown Syntax
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
Login Auth
- Automatic login
- Disable Password Login
- Forgot Password
- Admin: Impersonate user
- Adding Users
- Active users Presence
- Accounts Lockout: Brute force login protection
- LDAP
- LDAP AD Simple Auth
- Keycloak
- Google login
- Azure
- OAuth2, Auth0, GitLab, RocketChat
- Oracle OIM on premise using OAuth2
- ADFS 4.0 using OAuth2 and OpenID
- Azure AD B2C using OAuth2
- Nextcloud
- CAS Please test
- SAML Please test
- Zitadel
Metrics, Logs, Stats
Integrations
Time
Features
- Multiline
- Linked Cards
- Drag Drop on Mobile and Desktop
- Rclone: Store attachments to cloud storage like S3, MinIO, etc
- Python based features
- Burndown and Velocity Chart
- Wait Spinners
- Translations
- Default Language for All Users
- Roadmap
- Features
- Planning Poker
- Scaling
- Custom Logo
- Subtasks <== Has fix
- Templates
- Cover
- Archive and Delete
- Custom Fields
- Fix Export board menu not visible on some boards
- RAM usage
- Demo
- Swimlane Documentation
- Customize Translations
Required Settings
Download
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
Webservers
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
REST API Docs
REST API issue
REST API client code
- Example: New card with Python3 and REST API
- Python client to REST API
- Go client to REST API
- Java
- Wekan Sandstorm cards to CSV using Python
- Excel and VBA
Webhooks
- Global Webhook
- Limiting Webhook data
- Receiving Webhooks
- Outgoing Webhook to Discord/Slack/RocketChat/Riot
- Outgoing Webhook to NodeRed
- Outgoing Webhook to PowerShell
- Security: Webhook and CA
- Outgoing Webhooks Data
- Outgoing Webhooks and Let's Encrypt
- Outgoing Webhooks Original Pull Request, multiple Webhooks, more parameters and response order
Case Studies
Development
- Kadira integration
- Debugging
- Developer Docs for Standalone Wekan
- Developer Docs for Sandstorm Wekan
- Adding new Snap setting to code
- Directory Structure
- Building Wekan for Sandstorm
- Docs - Sandstorm etc
- Beginner
- Maintainer FAQ
Issues
Wekan - OpenSource Kanban