The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
By Adolfo Gómez-Urda Montijano
The localization of a console/PC game’s achievement and trophy assets can be extremely time-consuming and inefficient if not done properly, especially if your game supports several languages and platforms. Due to a lack of publicly available tools to localize these assets, many developers unfortunately still rely on a manual copy/paste process.
In this article, I will provide a few tips for both developers and translators to maximize automation and efficiency, and minimize human error. This article focuses on the Microsoft, Sony, and PC games.
In console/PC games (PlayStation®4, Xbox One/UWP, Steam), these assets are not part of the UI text and, as such, must be handled through each party’s tool:
- PlayStation®4: You will need to use a proprietary Sony tool. This tool allows you to export and import these assets via xml-looking files. Most games will also contain a platinum trophy, which is granted to the player when all non-DLC trophies are obtained. The trophy file also contains trophy group names and descriptions for DLC-related content, for example. The platinum trophy and groups do not exist in the other platforms.
- Xbox One and UWP: You will need to use an online platform called XDP. These assets can be exported and imported in an Excel-friendly xml format using the Localized Strings section of the XDP, as explained in their publicly available Web site. Besides the Xbox One/UWP achievements, other strings handled through this system are Rich Presence (shows what your friend is doing at the moment), Hero Stats, Leaderboards, etc., which are not part of the other platforms (and if they are, they are regular game strings). To localize these strings through the XDP, you will need a MS dev account and be granted access to the game.
- Steam: You will need to have a SteamWorks account with access to the game’s achievement setup page. These assets can be uploaded in vdf format, which are basically resource files. Unlike other platforms, the Steam vdf files only contain achievements.
Setup Your Language List
Each platform supports a different list of available language/region combinations. You will need to set up your language support carefully to achieve the expected outcome in each platform. Here are some peculiarities:
- PlayStation®4: Sony keep adding support for new languages to their system. Make sure you follow their system software updates, since a non-supported language could become supported right before your game ships, which means you will need to localize the trophies into this language if your game is localized into it.
- XDP: Provides support for different regions for the same language. You can therefore fill a default column and as many region-specific locales as needed. As such, if your game is localized into European and Latin American Spanish, you should enter your Latin American translations under the default es column and the European Spanish translations under the es-ES column. This means players from Spain will see the European Spanish translations, while other Spanish-speaking countries will see the default es translations.
- Steam: Steam only supports one Spanish flavour in the achievements. As such, if your game is localized into more than one Spanish flavour, you will need to decide which flavour you will use in the achievements. When localizing into European and Latin American Spanish, I normally use the Latin American version in the achievements, since there are more potential players in South and Central America than in Spain. To keep everyone happy, you can also decide to use translations that are as neutral as possible and valid for all Spanish territories, but this is not always possible.
Validate, Compare, Merge, Diff and Translate
Here are some tips that will help you validate the English text and minimize string updates after the initial translation:
- If your game supports several of the platforms above, compare the English text across all the supported platforms to ensure they match. The Xbox One/UWP platform provides support for two types of achievement descriptions (Achieved and Not Achieved). Developers can therefore use two different texts in English for the pre-achieved text and the achieved text (for example, “Complete the game in normal difficulty” and “Completed the game in normal difficulty”). I always try to convince developers to stay away from this possibility. Using the same text for both descriptions will allow you to merge all platform descriptions into one single string, which will improve efficiency and reduce the risk of human-error in all languages.
- Avoid using platform-specific references, such as the platform’s specific store or any other platform-specific terminology (the word “achievement”, for example).
- Since the allowed string length for the achievement names and descriptions is different depending on the platform, you should follow the strictest rules (XDP) and limit your achievement names to 44 characters and your descriptions to 100 characters. Since these will expand when localized, if possible, keep your English text under 35 and 80 characters respectively.
- For some reason, developers love to use song and movie references in the achievement names. Most of the time, these infringe copyright laws and end up having to be replaced late in the process. Therefore, always ensure your marketing and legal team have reviewed the achievement names before they are localized.
- Developers also love to use word puns. This is great, but ensure all word puns are properly explained to the translators so that they can be adapted to the target locale.
- Do not start translating these assets until the English text is exactly the same across all platforms.
You Need a Tool
Your tool should be able to perform the following tasks:
- Validate and Compare: Compare all non-platform-specific achievement/trophy names and descriptions to ensure they match in English. If possible, ensure Achieved and Not Achieved texts are also the same. Make sure punctuation is consistent in English. This mainly comes down to ensuring all or none of the descriptions have a period at the end and that there are no trailing spaces or line breaks.
- Merge, Export and Diff: Once you have ensured all achievement/trophy names and descriptions are the same in your previous step, you can export them as one single string pair to your CMS tool or Excel. If this is not your first export, the export process should also include a diff to highlight the differences between the previously localized text and the latest text. This will help translators understand how the English string was updated and adapt their translations more easily.
- Translation Validation and Integration: Once the new and modified strings are updated in all languages, your tool should validate the translations (length, punctuation, no line breaks, etc.) and propagate them to the appropriate file format for each platform.
Integrate the Localized Assets
Once the xml, sfm, and vdf files have been updated with the latest translations, there is an additional step needed to integrate the updates into the game for each platform:
- Xbox One/UWP: You will need to use the Import Strings button in the Localized Strings section of the XDP to upload the updated translations to the XDP. After a successful import, the dev member in charge of the XDP site will need to publish the updates to Microsoft. Once submitted, the translations will appear updated in the game after a few hours. You might need to flash your console to see the updates, though.
- PS4: Once you have integrated the trophy translations, submit them to your version control software so that it’s picked up by the next build.
- Steam: You will need to upload the updated vdf files to Steam via the SteamWorks Web site. To find out more information about how to integrate the localized achievements, you will need a SteamWorks account. You should also submit the localized achievement files to your version control software every time they are uploaded to SteamWorks for tracking purposes.
Translation Guidelines for Translators
To minimize the amount of mistranslations and updates in the translations, you should send some translation guidelines for the localization of these assets to the translators:
- Translators should be extremely careful when translating these strings. These translations will need to be integrated separately for each platform, so updating them takes longer than updating any other translation assets. As such, translations should be reviewed as many times as necessary to ensure there are no grammar mistakes and that they are consistent with the translations used in the in-game text assets. For example, there could be references to character names, location names and other terminology used in the in-game texts.
- Punctuation: Achievement names should never end with a period. Descriptions, on the other hand, should use consistent punctuation in each language (always or never end with a period).
- Achievement names should be catchy, funny, smart, sometimes use word puns, and should be translated with a marketing style. Players always like it when achievement names make them smile :) Unless also used in English, translators should avoid using song, brand or movie names.
- Achievement descriptions on the other hand need to be extremely precise. No room for inspiration here. Players will get very frustrated if they do not get an achievement after having followed what the description tells them to do. Follow the source text as much as possible. An imprecise or incomplete description could be flagged by 1st party during submission.
- Translations should follow these string length limitations:
- If the game supports one of the Microsoft platforms, achievement names should never exceed 44 characters.
- If the game supports one of the Microsoft platforms, achievement descriptions should never exceed 100 characters.
- Microsoft only: Rich presence strings should be 100 characters or less.
- Microsoft only: Hero Stats strings should be 40 characters or less.