Skip to main content

Localization Endpoints

Digital.ai Agility provides localization endpoints that translate system strings, asset type names, and attribute definitions into locale-specific text. These endpoints help build multilingual integrations and custom user interfaces.

Overview

The localization endpoints allow clients to retrieve locale-specific translations for:

  • Asset type names (e.g., "Story" → "User Story", "Scope" → "Project")
  • Attribute definition labels (e.g., "Name" → "Title")
  • System messages and error text

Both endpoints support fallback behavior: if a translation doesn't exist for the requested locale (e.g., French-Canadian fr-ca), the system searches the base language (fr), then English (en). If no translation exists, the original string is returned unchanged.


loc.v1 - Single String Localization

The loc.v1 endpoint translates a single input string. For bulk translations, use loc-2.v1 instead.

FieldValue
URL Form<Server Base URI>/loc.v1?<localizable_string>
AuthenticationNone
HTTP Request VerbGET
Response Content Typetext/plain

Request Parameters

localizable_string

The query parameter takes a single string to localize. This parameter does not use the standard name=value format. Instead, Digital.ai Agility attempts to localize the entire query string content after the question mark.

Setting the Locale

To retrieve a localized string for a specific locale, set the Accept-Language HTTP header in the request.

Example: Use French-Canadian translations

Accept-Language: fr-ca

Examples

Translate an Asset Type Name

Retrieve the localized name of the Scope asset type for display:

<Server Base URI>/loc.v1?Scope

Response:

Project
note

Scope is the internal VersionOne name for a project, sub-project, or release.

Translate an Attribute Definition

Retrieve the display name for the Story.Name attribute:

<Server Base URI>/loc.v1?AttributeDefinition'Name'Story

Response:

Title

The response "Title" corresponds to the field label used in the Agility application.


loc-2.v1 - Multiple Strings Localization

The loc-2.v1 endpoint translates multiple strings in a single request, returning a JSON object with key-value pairs for each translation. This endpoint supports both single and bulk translations. It is recommended over loc.v1 for all use cases.

FieldValue
URL Form<Server Base URI>/loc-2.v1?<json_string_array>
AuthenticationNone
HTTP Request VerbGET
Response Content Typeapplication/json

Request Parameters

json_string_array

The query parameter takes a JSON array of strings to localize. This parameter does not use the standard name=value format. Digital.ai Agility attempts to localize each string in the comma-separated array.

Format:

[String1,String2,String3]

Setting the Locale

To retrieve localized strings for a specific locale, set the Accept-Language HTTP header in the request.

Example: Use French-Canadian translations

Accept-Language: fr-ca

Examples

Translate Multiple Asset Type Names

Retrieve the localized names of the Scope and Timebox asset types:

<Server Base URI>/loc-2.v1?[Scope,Timebox]

Response:

{
"Scope": "Project",
"Timebox": "Sprint"
}
note
  • Scope is the internal VersionOne name for a project, sub-project, or release
  • Timebox is the internal VersionOne name for an iteration or sprint

Translate Multiple Attribute Definitions

Retrieve the display names for Story.Name and Story.Description:

<Server Base URI>/loc-2.v1?[AttributeDefinition'Name'Story,AttributeDefinition'Description'Story]

Response:

{
"AttributeDefinition'Name'Story": "Title",
"AttributeDefinition'Description'Story": "Description"
}

The response contains field labels corresponding to those used in the Agility application.


Fallback Behavior

Both endpoints implement a locale fallback chain:

  1. Requested locale (e.g., fr-ca for French-Canadian)
  2. Base language (e.g., fr for French)
  3. English (en)
  4. Original string (if no translation found)

This ensures consistent behavior across all locales while providing the most appropriate translation available.


Common Use Cases

Building Multilingual UIs

Use loc-2.v1 to retrieve all necessary translations in a single request:

// Get translations for Story fields
GET /loc-2.v1?[Story,AttributeDefinition'Name'Story,AttributeDefinition'Description'Story,AttributeDefinition'Estimate'Story]

Localizing Error Messages

When the API returns unlocalized error messages or system strings, pass them to loc.v1 or loc-2.v1 for translation:

// Translate system message
GET /loc.v1?Required.Story.Name

Displaying Asset Type Lists

Retrieve localized names for all asset types in a dropdown or navigation menu:

// Get all primary workitem types
GET /loc-2.v1?[Story,Defect,TestSet,Task]