Skip to main content

Translations in Frappe Framework v15

What Are Translations in Frappe Framework?

Translations in Frappe Framework v15 enable ERPNext and custom Frappe apps to support multiple languages by converting user-facing text into localized language equivalents. This allows the same ERP system to be used by users across different regions and languages without changing application logic.
Translations are a core part of Frappe’s internationalization (i18n) system.

Why Are Translations Important in ERPNext?

ERPNext is used globally. Translations ensure usability, adoption, and compliance in multilingual environments.

Key Benefits

  • Multilingual user interface
  • Improved user experience for non-English users
  • Support for regional and global deployments
  • Better adoption across countries and teams
  • Translations make ERPNext accessible worldwide.

Who Uses Frappe Translations?

Target Audience

  • ERPNext Implementers
  • Frappe Framework Developers
  • Localization & Support Teams
  • Global Enterprises

Technical Prerequisites

  • Frappe Framework v15
  • Basic knowledge of apps and sites
  • Understanding of DocTypes and UI labels

How Does the Translation System Work in Frappe v15?

Frappe translations work by mapping source text (English) to translated strings stored in language files.

Core Concepts

  • Translatable strings are marked automatically
  • Language files store translations
  • User language preference controls UI display

Translations apply to:

  • Form labels
  • Field descriptions
  • Messages and alerts
  • Reports and menus

What Are Translation Files in Frappe?

Translations are stored in .csv files within an app’s translations directory.

Typical Location

my_app/translations/

Each file represents one language (e.g., fr.csv, de.csv).

CSV Structure

Source Text Translated Text
Customer Client
Sales Order Bon de commande

How Are Translations Loaded in Frappe v15?

When a user logs in:

  1. User language preference is detected
  2. Frappe loads translation files for installed apps
  3. Translations are cached for performance
  4. UI text is rendered in the selected language

This process is automatic and transparent to users.

How to Add or Update Translations?

Step-by-Step Overview

  1. Add language file to the app’s translations folder
  2. Populate translated values
  3. Clear cache or reload translations
  4. Switch user language to verify changes

No code changes are required for most translations.

Translating Custom Apps and DocTypes

Custom DocTypes, fields, and messages are automatically included in the translation system.

What Gets Translated

  • DocType names
  • Field labels
  • Section and tab names
  • Custom messages

This ensures full localization of custom ERPNext solutions.

User Language Selection in ERPNext

Each user can choose their preferred language.

How It Works

  • Language is stored in the User record
  • UI reloads automatically in selected language
  • No restart required

This enables mixed-language usage in the same ERP system.

Real-World ERPNext Use Cases for Translations

Industry Relevance

  • Manufacturing companies with multi-country operations
  • Global sales and distribution teams
  • Regional ERP deployments with local staff
  • SaaS ERP platforms serving international clients

Translations are essential for global scalability.

Best Practices for Managing Translations

  • Always keep source text in English
  • Avoid hardcoding text in scripts
  • Use clear and consistent labels
  • Maintain translation files per app
  • Test translations after updates

Common Translation Issues and Troubleshooting

Translation Not Appearing

  • Clear cache after adding translations
  • Verify exact source text match
  • Confirm correct language selection

Incomplete Translations

  • Check custom fields and messages
  • Ensure translation files are loaded

Advanced Topics: Translation Workflow

App-Level vs Site-Level Translations

Scope Description
App-Level Shared across all sites
Site-Level Site-specific overrides

App-level translations are recommended for reuse and consistency.

Integration Patterns

Translations integrate with:

  • Desk UI
  • Print Formats
  • Reports
  • Web Pages
  • Custom Scripts

This ensures consistent localization across the system.

Official References (Verified)

Translations Guide (v15):

https://docs.frappe.io/framework/user/en/guides/basics/translations

Frappe GitHub (v15):

https://github.com/frappe/frappe/tree/version-15

Rating: 5 / 5 (2 votes)