Hindi translations for Frappe/ERPNext v16: empty hi.csv from download-translations

Title: Hindi translations for Frappe/ERPNext v16: empty hi.csv from download-translations and guidance for HRMS/Payments

Hello everyone,

I am setting up a containerized Frappe/ERPNext v16 deployment for a Hindi-first ERPNext environment. The installed apps are:

  • frappe

  • erpnext

  • hrms

  • payments

The site language and user language are both set to Hindi (hi). In the browser console, I can confirm:

frappe.session.user
frappe.boot.lang

The session correctly shows hi. However, most of the Desk still appears in English.

I checked the loaded translation messages:

Object.keys(frappe.boot.__messages || {}).length

This returns only around 251 messages, mostly country names and one manually created translation such as Login → लॉगिन. Common Desk strings such as Save, Search, User, Enabled, Language, and Settings are not translated.

On the server, I tried:

bench download-translations

Initially this failed because it expected:

apps/frappe/frappe/geo/languages.json

After creating a minimal languages.json containing only Hindi, the command produced:

apps/frappe/frappe/translations/hi.csv
apps/erpnext/erpnext/translations/hi.csv

But the files were effectively empty:

frappe hi.csv  = 1 line
erpnext hi.csv = 0 lines

The database also confirms that almost no Hindi translations exist:

select count(*) from tabTranslation where language = 'hi';

This returns only 1 row, which is a manually created Login → लॉगिन translation.

My questions:

  1. What is the currently recommended way in v16 to obtain Hindi translation files for Frappe and ERPNext?

  2. Are Hindi translation CSV/PO files maintained somewhere other than bench download-translations?

  3. How should translations be handled for HRMS and payments, since bench download-translations appears to download only frappe and erpnext?

  4. Is the missing apps/frappe/frappe/geo/languages.json expected in v16, or is this a Bench/Frappe version mismatch?

  5. For production, is the recommended approach to maintain a custom localization app with translations/hi.csv, or to use the Translation DocType/database rows?

Any guidance on the correct v16 workflow for Hindi translations across Frappe, ERPNext, HRMS, and payments would be appreciated.

Hi @dntrplytch, from v16 we rely on gettext and use Crowdin (https://crowdin.com/project/frappe/) for translation. Till now, Hindi has not been added to Crowdin, which we’ve enabled today. By next week’s release, you’ll get Hindi Translations on ERPNext.

Translations are not yet synced on stable releases of Framework, and we’re working on it.

2 Likes

Thank you for the update. I am looking forward to the Hindi translations on ERPNext. Any accompanying instructions - or links to existing instructions - would be appreciated to get the translations down to my ERPNext installation.

Rebuilding assets post-updating ERPNext to the latest version will work.

Hello - was this work completed? Is there a recommended way / steps to download the Hindi translations?