i18n translation
- NocoDB supports 30+ foreign languages & community contributions are now simplified via Crowdin.
How to add / edit translations ?
Using GitHub
- For English, make changes directly to en.json & commit to
develop
- For any other language, use
crowdin
option.
Using Crowdin
- Click the language that you wish to contribute
- Click the
Translate
button; this opens upCrowdin Online Editor
- Select string in
English
on the left-hand menu bar [1] - Propose changes [2]
- Save [3] Note: Crowdin provides translation recommendation's as in [4]. Click directly if it's apt
A GitHub Pull Request will be automatically triggered (periodicity- 6 hours). We will follow up on remaining integration work items.
Reference
Refer following articles to get additional details about Crowdin Portal usage
How to add a new language ?
GitHub changes
- Update enumeration in
enums.ts
[packages/nc-gui/lib/enums.ts] - Map JSON path in
a.i18n.ts
[packages/nc-gui/plugins/a.i18n.ts]
Crowdin changes [admin only]
- Open
NocoDB
project - Click on
Language
on the home tab - Select target language,
Update
- Update array in
tests/playwright/tests/language.spec.ts
String Categories
- General: simple & common tokens (save, cancel, submit, open, close, home, and such)
- Objects: objects from NocoDB POV (project, table, field, view, page, and such)
- Title: screen headers (compact) (menu headers, modal headers)
- Lables: text box/ radio/ field headers (few words) (Labels over textbox, radio buttons, and such)
- Activity/ actions: work items (few words) (Create Project, Delete Table, Add Record, and such)
- Tooltip: additional information associated with work items (usually lengthy) (Additional information provided for activity)
- Placeholder: placeholders associated with various textboxes (Text placeholders)
- Msg
- Info: general/success category for everything
- Error: warnings & errors
- Toast: pop-up toast messages
Note: string name should be in camelCase. Use above list as priority order in case of ambiguity.