Localisation

Overview

This guide helps you add and verify translations (labels, status, messages) used in the CCRS module, using Postman APIs.

Localisation allows the Complaints module to support multiple languages like English (en_IN), Hindi (hi_IN), etc. It ensures users see the correct labels and messages on the UI, based on their selected language.


Localization Data Loading in Workbench

You can load localization data in two ways:

  1. From the UI – Best for small updates or quick entries.

  2. Using the API – Recommended for bulk uploads.

from ui where we can load based on the steps mentioned below but for bulk upload follow the api way to do quickly

Method 1 – From the UI

Step 1: Log in as a Super User in DIGIT UI 🔗 Example: https://pgr-demo.digit.org/digit-ui/employee/user/login

Step 2: Go to Workbench → Localization.

Step 3: Click "Add New" (bottom-right corner).

Step 4: Fill the form:

  • Select Language

  • Select Module

  • Enter Unique Code and Message

  • Click "Add Row" to add more entries

Step 5: Click "Save". ✅ A success message means your data is loaded successfully.

Method 2 – Using API (For Bulk Upload)

  • Prepare your localization data in JSON format.

  • Call the localization create/update API with your bulk data payload.

  • This method is faster for large-scale entries and avoids manual UI input.

Configure Localisation

1

Setup Postman

  • Use the DIGIT Postman collection provided for localisation APIs.

  • The following two APIs are used:

    • Upsert (Add) messages

    • Search (Verify) messages

2

Prepare Required Details

Before running the API, replace these values in Postman:

Field
What to enter

Domain URL

Replace with your environment’s base URL (e.g., https://unifed-demo.digit.org)

authToken

Use a token with a user's credentials that has "Superuser" role

Add reaction

locale

en_IN for English, hi_IN for Hindi

tenantId

Use state-level tenant like pb (❌ Do NOT use ULBs like pb.amritsar)

module

Always set this to rainmaker-pgr for CCRS

messages

Load from DIGIT GitHub localisation files

3

Load Localisation Messages

  • API Endpoint: POST /localisation/messages/v1/_upsert

Sample Payload:

{
  "RequestInfo": {
    "authToken": "REPLACE_WITH_VALID_TOKEN"
  },
  "messages": [
    {
      "code": "PGR.SERVICEDEFS.NoStreetlight",
      "message": "No Streetlight",
      "module": "rainmaker-pgr",
      "locale": "en_IN",
      "tenantId": "pb"
    },
    {
      "code": "PGR.SERVICEDEFS.StreetLightNotWorking",
      "message": "Street Light Not Working",
      "module": "rainmaker-pgr",
      "locale": "en_IN",
      "tenantId": "pb"
    }
  ]
}

Repeat the same for hi_IN or other required locales.

4

Verify Loaded LocalisationLocalization

  • API Endpoint: POST /localisation/messages/v1/_search

Request Payload:

{
  "RequestInfo": {
    "authToken": "REPLACE_WITH_VALID_TOKEN"
  },
  "tenantId": "pb",
  "module": "rainmaker-pgr",
  "locale": "en_IN"
}

What to check:

  • Confirm if your keys and translations appear correctly.

  • If you don't see the expected keys, check for:

    • Missing or wrong tenantId, module, or locale

    • Incorrect format in the payload


Localisation Keys

Localise the following types of messages:

Key Format
Usage Example

PGR.SERVICEDEFS.<ServiceCode>

"Street Light Not Working"

PGR.<Status>.Label

Status labels like PGR.RESOLVED.Label

PGR.<Action>.Label

Workflow actions like PGR.REOPEN.Label

Other UI strings

Page titles, menu items, form labels

Copy the localisation from:


Notes & Best Practices

Item
Recommendation

authToken

Use a superuser or user with permissions to update localisation

tenantId

Always use state-level tenant ID like pb

module

Must be set to rainmaker-pgr for the CCRS module

locale

Use supported codes: en_IN, hi_IN, etc.


Summary

  • Use Postman to upload and verify messages.

  • Make sure the format, module name, and tenant ID are correct.

  • Load keys for both English and other required languages.

  • After loading, use the search API to verify your keys.

Last updated

Was this helpful?