Localization

Overview

The Localization feature allows publishers to offer players a customized experience by displaying the webstore and checkout in the player's preferred language. This feature is fully configurable via the AppCharge dashboard and can be managed easily by the publisher, offering flexibility in static and dynamic text translations for various components such as offers, buttons, product names, and more.
By default, all text in the webstore and checkout will be displayed in English until translations for other languages are uploaded. Players will have the option to select their preferred language from the available options at the bottom screen menu.

High-Level Flow:

  1. Publisher Adds Language(s):
    Publishers define the display name and the countries for the language they want to localize.
  2. Publisher Downloads Translation Files:
    Download CSV files for static content (e.g., buttons, footer text) and dynamic content (e.g., offers, product names).
    Note: The CSV file will be downloaded with the new language added.
  3. Publisher Updates Translations:
    Fill in the translations for each string in the relevant language column for both the static and dynamic CSV files.
    Note: Default language values cannot be edited via the CSV file and must be updated through the dashboard.
  4. Publisher Uploads Translation Files:
    Upload the updated CSV files containing the translated text back into the dashboard, each in their relevant sections.
  5. Players Choose a Language:
    On the player-facing side, a language selection option is available at the bottom of the screen. The selected language is applied based on the translations uploaded by the publisher.
    Note: The default language (before localization) will be determined based on the player's geolocation.
  6. Language is Applied:
    The player’s selected language is displayed in real-time in the webstore and checkout.

Best Practices:

  • Testing in Sandbox: Always perform language and translation testing in the Sandbox environment before making any changes live. This will help decrease time between language addition to translation update and ensures that no errors occur when displaying the content to players.
    Note: Strings that are not translated will present to English by default.
  • Review Translation Files: Before uploading translated CSV files, carefully review them to ensure the text is accurately localized. This reduces the risk of miscommunication or incorrect wording in your game store, ensuring players receive the intended messages in their language.
  • Monitor and Update: Regularly check for new static and dynamic strings after adding new offers or products and download the latest CSV files for updating translations. Keeping translations up-to-date will improve the player experience.

Publisher Journey:

1. Adding a New Language:

This step guides the publisher through adding a new language to their webstore and checkout.

  1. Language Display Name: The publisher can add any display name for the language. This could be the local language name (e.g., “Español” for Spanish).
  2. Country: Select one or more countries where this language will be applied. A dropdown list allows the publisher to choose from available countries.
  3. Save Language: After defining the language and country, click "Add New" to save the language configuration.
    Note: Once added, the new language will be visible in the webstore. Strings that are not translated will display in English by default. Therefore, publishers must first add languages in the Sandbox environment for testing.

2. Download Up-to-Date Translation Files:

After adding a language, the publisher must download translation files to fill in the relevant text:

  1. Download Static Strings: Download a CSV containing static content like buttons and footer text. These static strings, such as support menu items and button labels, are predefined by AppCharge. Each key in the file corresponds to a piece of static text, and it is recommended that publishers provide translations for these in the new language to ensure a consistent user experience.
  2. Download Dynamic Strings: Download another CSV that covers dynamic content, including product and offer names. Each key in the file corresponds to a piece of dynamic text, and the publisher must provide translations for these in the new language.
    Note: Whenever new products or offers are added, the Dynamic Strings CSV needs to be re-downloaded to capture the newly added keys.

CSV Column explanation:

  • Key: The identifier for the string.
  • English: The default English text.
  • Other Languages: Columns for each language added by the publisher.

Note: Using the CSV files allows you to see the English display names, helping you identify which strings correspond to each key, ensuring all content is accurately localized.

Note: While the CSV files allow for editing translations in other languages, default language values cannot be modified this way. To update default language values, use the dashboard.

3. Upload New Translations:

Once the translations are added, the publisher can upload the files back into the system:

  1. Upload Static Strings: Upload the CSV with translations for buttons, labels, and other static content.
  2. Upload Dynamic Strings: Upload the CSV with translations for product names, offers, etc.

4. Edit or Delete Languages

If needed, the publisher can click on the three dot menu to make edits or delete any previously added languages:

  • Edit or Delete: Navigate to the "Manage Languages" section and click on the three dot menu next to the relevant language for options to edit or delete the language configuration.

Player Journey:

1. Language Selection:

On the player's side, the language selection option appears at the bottom of the screen, allowing them to choose their preferred language.

2. English as Default:

If no translations have been provided, the content will default to English.

3. Localized Experience:

Once the publisher uploads translations, the webstore and checkouts interface updates in real time, and the player's language selection is applied to both static and dynamic text.
ie: Checkout and webstore footer with localized translation texts