Construct 2 application template for localizing a language learning game
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Creating a Localized Version of Letterman

Modifying LettermanTemplate.capx

The template is editable via the free version of Construct 2; however, it contains very close to the maximum number of events and layers supported by that version.

To localize the game to a new language (German, Turkish, Spanish, and Portuguese versions in the Windows Store have already been downloaded a combined 4000 times!) follow these steps:

  1. Edit the LocalizationFunctions event script. Here is where you will provide the quantity of letters in the target language (TOTAL_LETTERS), the actual letters of that localized alphabet (the LETTERS variable), and the names of the images corresponding to each letter (the WORDS variable).

  2. Wherever you see text included in double-brackets (“[[ ]]”) in the ternary operator ( ? : ), you’ll need to provide a translation of the associated English text in the target language.

  3. Gather your images for each of the letters in the target alphabet, and add them as the animation frames for the Target object and the TargetHint object. These objects are nearly identical, but have different instance variables and origin points for the image.

  4. Modify the button imagery (animation frame 1) for the target language for ChangeGameButton, PlayAgainButton, WordsButton, and LettersButton.

  5. IMPORTANT: If you import different background music, be sure to update the four references to BackgroundMusic within the GameEvents script BEFORE removing the Sound assets named BackgroundMusic.

After Exporting the Windows 8 project from Construct 2

  1. Open the exported project in Visual Studio.

  2. Delete the following files from the project:

    • privacy.html
    • about.html
    • support.html
    • WindowsStoreProxy.xml
  3. Add the following files from the GitHub repository VSAssets directory to the Visual Studio project:

    • about.html
    • credits.html
    • support.html
    • translate.css
    • translate.js
  4. Edit the following HTML files to reflect your application in both English and the localized language:

    • about.html
    • credits.html
    • support.html
  5. Copy and paste the following code verbatim into index.html immediately before the line App.start();

         app.addEventListener("settings", function (e) {
             var cmds = {};
             cmds.about =  { title: "About", href: "/about.html" };
             cmds.credits = { title: "Credits", href: "/credits.html" };
    = { title: "Support", href: "/support.html" };
             e.detail.applicationcommands = cmds;
  6. Edit the XML of package.appxmanifest directly (select the file and press F7). You should see the following entry:

         <Resource Language="x-generate"/>

    Replace it with:

         <Resource Language="fr-fr" />
         <Resource Language="en-us" />

    where the first language entry reflects the localization language you are using (e.g., French in the example above). Leave the second entry as en-us. This will enable you to provide a localized description and graphic assets in addition to an English description and assets when you submit the application to the Windows Store.

  7. Build the application in Visual Studio. You may receive errors referring to app manifest validation failures. If so, double-click on package.appxmanifest in the Visual Studio project, navigate to the Packaging tab, and provide the missing data.

Submitting the Application to the Windows 8 Store

Follow the instructions in the Scirra to Store document beginning at step 6 to provide the required graphic assets and to associate the application with your Windows Store account.

If you do publish an application based on this template, send me a quick note with the app name!


The sample code described herein is provided on an "as is" basis, without warranty of any kind, to the fullest extent permitted by law. Both Microsoft and I do not warrant or guarantee the individual success developers may have in implementing the sample code on their development platforms or in using their own Web server configurations.

Microsoft and I do not warrant, guarantee or make any representations regarding the use, results of use, accuracy, timeliness or completeness of any data or information relating to the sample code. Microsoft and I disclaim all warranties, express or implied, and in particular, disclaims all warranties of merchantability, fitness for a particular purpose, and warranties related to the code, or any service or software related thereto.

Microsoft and I shall not be liable for any direct, indirect or consequential damages or costs of any type arising out of any action taken by you or others related to the sample code.