We welcome translation contributions via pull requests.
Each file is a simple key=value text file:
dia.txt- English (reference/source language)dia_{lang}.txt- Translations (e.g.dia_fr.txtfor French)
Keys must match those in dia.txt exactly. Values are the translated strings.
- Fork this repository
- Edit the relevant
dia_{lang}.txtfile - Submit a pull request against the
devbranch
- Use
dia.txtas the reference for all keys - Keep keys in the same order as
dia.txt - Leave a value empty if no translation is available (the app falls back to English)
- Do not add or remove keys - keys are managed in
dia.txt
Open an issue first to discuss. A new language requires:
- A new
dia_{lang}.txtfile with the same keys asdia.txt - An entry in
mxLanguageMapinsrc/main/webapp/js/diagramly/Init.js(in the main drawio repo)
- Encoding: UTF-8
- Line format:
key=value(no spaces around=) - No HTML: Use
<and>instead of<and> - Placeholders:
{1},{2}, etc. must be preserved in translations - RTL languages (Arabic, Persian, Hebrew): Wrap values with Unicode bidi markers (U+202B before, U+202C after)
- No trailing whitespace
- No blank lines between entries
All changes are reviewed when the submodule is updated in the main draw.io repository.