Pluralization

GL Strings supports pluralization which accommodates different plural rules across languages.

This article will explain how GL Strings handles pluralization within projects and which integration options support it.

Table of Contents

  1. Pluralization on GL Strings
  2. GL Strings Integrations and Pluralization
  3. Manual Pluralization in an GL Strings Project

Pluralization on GL Strings

GL Strings supports pluralization. Pluralization allows for the display of different messages depending on the quantity selected. These different messages are based on the plural rules of the language. Possible plural quantities include:

  • zero
  • one
  • two
  • few
  • many
  • other

These plural quantities are dependent on the language. For example, in English, there is only one singular and one plural form, e.g. “hour” vs “hours.” Other languages, such as Russian, have different grammar rules including additional plural forms. Unicode Common Locale Data Repository (CLDR) defines the specific categories for pluralization.

On the GL Strings dashboard, plural categories are tracked in separate keys. These keys are grouped together in the Editor. Your project will contain all required plural categories for a given key across all languages, even if some of the languages themselves do not have those specific plural forms. In languages with fewer plural categories, like English, the other plural keys function as placeholders since keys exist across languages in a GL Strings project.

Where needed, users can create pluralized IDs within a GL Strings project by appending the specific pluralization rule to the ID. Those pluralized IDs are then grouped together for easier tracking. See the Manual Pluralization section below for more information.

In order to use Pluralization in file-based localization workflows on GL Strings (e.g. manual import/export, CLI), the file formats used for an app must also support it. See the Supported File Formats section for more detailed information.

Please note that pluralization is separate from plural arguments for ICU Message Syntax like the example below.

For more information on plurals in ICU syntax, see our article here.


Back to Top

GL Strings Integrations and Pluralization

Pluralization can be used with the Android SDK, iOS SDK, and CLI Integrations. Users can also manually add pluralized keys to an GL Strings project.

Each option for uploading pluralized content behaves in a slightly different way:

  • For Tagged CLI uploads, the source file must contain all plural forms so each has the same “filetag.” This ensures that pluralized keys are exported correctly across all languages (Tagged imports/exports refers to using the CLI integration to import and export multiple files).
  • For regular file uploads, the source file may contain all necessary plural forms. However, if all the necessary plural forms are not required by the uploaded language, users can manually add the additional plural forms on the GL Strings dashboard.
  • For users with an Android or iOS SDK integration, some plural forms will need to be manually created on the dashboard. The GL Strings SDK can only upload the plural forms that are supported per the uploaded language.

When downloaded, GL Strings formats the same pluralized keys according to the syntax of the given file format.


Back to Top

Manual Pluralization in an GL Strings Project

Manually Adding Pluralized Strings

  1. Open the project in the Base Language
  2. Click Add Translation
  1. Enter the string ID with the pluralized rule added to the end - [zero], [one],[two],[few],[many], [other]
    • Example: STRING_ID is entered as STRING_ID[zero]
  2. Click Save
  1. In the Editor, enter the text for pluralization
  2. Click Publish


Cloning Strings for Pluralization

  1. Open the project in the Base Language
  2. Hover over the key
  3. Click on the clone icon
  4. In the cloning dialog, remove the _copy and add the pluralization rule in its place and click Save
    • Example: STRING_ID_copy is updated to STRING_ID[one]


Back to Top