-
Notifications
You must be signed in to change notification settings - Fork 506
Localization
ChurchCRM supports 45+ languages. This page is split for two audiences:
-
If your language is not listed in POEditor, request it from a project admin or open an issue on GitHub.
-
Once added, you can start translating terms for the new locale in POEditor.
-
After enough terms are translated, the language can be enabled in the ChurchCRM app (see below for developer steps).
-
Join the project: POEditor ChurchCRM Project
-
How to contribute:
- Sign up on POEditor and request access
- Pick your language and start translating missing terms
- See the AI workflow for using AI to help with batches
-
Supported languages:
- See the Locale Audit Report for up-to-date translation status and completeness
-
Best practices:
- Translate full sentences, avoid abbreviations, and check context
- Use the same translation for repeated UI terms (e.g., "OK", "Save")
-
Add the new locale to
src/locale/locales.jsonwith the correct language code and metadata. -
Create the directory structure:
mkdir -p src/locale/textdomain/<locale>/LC_MESSAGES -
Run
npm run locale:term-extractto generate the initial messages.po. -
Upload the new messages.po to POEditor and add the language in the POEditor project if not already present.
-
Download translations with
npm run locale:downloadafter terms are translated. -
For full details, see CRM/locale/README.md.
-
Reference:
- See CRM/locale/README.md for all technical details, scripts, troubleshooting, and configuration
- See Localization-Management.md for workflow overview
Questions?
- See the wiki for more guides, or open an issue on GitHub.
- Installation Guide ← Start here!
- First Run Setup
- Features Overview
- Upgrade Guide
- Backup & Restore
- Rollback Procedures
- File Permissions
- Troubleshooting
- Logging & Diagnostics
- SSL/HTTPS Security
- Localization Overview