What is Applanga?

Table of Contents


  • Overview
  • What can you do with Applanga?

    Applanga is a cloud based platform to automate the process of translating apps into other languages, commonly known as localization. Mobile apps differ greatly in how they are created, but with our range of SDKs (plugins that connect your app to Applanga) we can find a solution to get your app understood by those who you want to understand it - globally.

    Localizing a mobile app typically involves ongoing developer effort: extracting translatable content from your app's code into a translator-friendly format, ensuring that new or updated content is constantly forwarded and in sync with what translators are working on , as well as re-integrating the translated content and finally creating versions of the app for testing.

    After all that, a new app version has to be prepared for release and submitted to the app store - and then again for every update. But Applanga will take care of all these steps for you! Compared to other localization platforms, Applanga provides a full range of unique features that take away these manual steps and minimize developer effort.


  • Automated String Import
  • Once integrated, the Applanga SDK automatically locates the translatable content within your app and uploads them to the Dashboard. Applanga synchronizes with your app continuously, so when you add new content or features in the code (e.g. if you do updates or iterations), the corresponding strings are uploaded as well.

    This process is automated and keeps the content in the dashboard in sync with your app. You (or your developers) simply have to start the app in Debug or Draft Mode. Besides that, you don't have to trigger any import or export and there are no exotic file formats to be dealt with.


  • Automated Screenshots
  • The quality of translations greatly depends on how much translators and testers understand about the strings that they are currently working on, commonly known as context. Normally, the best way to provide this context when translating apps, is by providing screenshots but capturing them and assigning them the right strings is extremely cumbersome and manual.

    With Applanga, screenshots can be captured and shown in the dashboard assigned to the right set of strings automatically. Afterwards, it’s is to order them in a way that matches the actual user experience of your app. Translators and tester can just go through your app directly in the browser, where they can work in the editor at the same place. This speeds up your translation and linguistic QA processes, minimizes the setup and project communication need and highly improves the quality of your translations.


  • Complete Translation Management Platform
  • The Applanga Dashboard offers a wide range of features that allow you to manage and monitor the current status of your translations. The dynamic dashboard presents data based on user roles, so Translators, your Team and you only see what they need to. Use Teams to help organize and manage your workflow. Invite people to join a team, then assign teams to specific apps. Multiple users can easily work in parallel.

    Mainly, the Dashboard serves as an editor to work on your translations directly in the browser. There several options to provide context to translators directly in the Dashboard to ensure translation quality. You can search for a single entry or filter your translation after translation status.


  • Translation Options
  • No matter how you want to translate your app, we have you covered. Extensive user and team management features allow you to invite your colleagues to work on the translations or even give external translators access to the dashboard.

    No translators? No problem! Our internal team of professional translators with additional experience in app localization are ready to help get your app heard around the world. We offer three-tier localization services from straight-forward quality translations to pre-translation evaluation and in-house app testing, so you can pick and choose which services best align with your app's localization needs.


  • On-Device Testing
  • The Applanga Draft Mode allows you to test your translations inside your actual app even during the translation process. Any app integrated with Applanga can be set to the Draft Mode directly on the device with a simply four finger gesture.

    In this mode, changes made in the dashboard can be seen directly in your app - without the need to make and distribute test version of your app to translators or tester. This feature ensures that your translated app can be easily tested, internally or externally, at any time.


  • Live Updates
  • One of the most beautiful aspects of the Applanga SDK lies in its ability to make live changes to your app - because no matter how much you test, translation errors can still make it to your users.

    With this feature, there is no need to wait for app store approval or wait for your end-user to update the app. Instead, these time-consuming steps are bypassed, and your users receive the updated content as soon as it is updated in Applanga. Any reported typos or bugs can also be fixed quickly without distracting users.


  • Offline Mode & Store Releases
  • The current status of your translation is continuously saved in the Applanga Settings File on the Dashboard. Inside the app the SDK checks the Applanga Settings File for translations first, so offline users of your app integrated with Applanga will also be able to enjoy the same localized content as online users.

    Therefore, even though Applanga can update changes to your translations over-the-air in the background, we recommend to include the latest version of the Settings File whenever you upload a new version to the appstores.



Getting Started

Table of Contents


  • Step 1: Is your app ready?
  • Once the decision has been made that the app should be introduced into a new locale, the app should be inspected and undergo an internationalization test. This test looks for specifics aspects within your app to make sure that it is ready for localization.

    Many apps are built without any foresight of being translated in the future, so this process identifies where issues might occur during and after translation to avoid potentially costly risks. Reach out to us if we should be of assistance.

    There are no special prerequisites for using Applanga but you need to have your app regularly prepared for translation for the given Platform.

    • On iOS / Apple devices your strings need to be in a .strings file in order to be automatically uploaded to the Applanga Dashboard. In order to have your dynamic texts localized, you have to use NSLocalizedString in your source code. Additionally you need to have Base Localization enabled for .storyboard and .nib files to have their static texts localized. At runtime, all static and dynamic texts will be automatically synchronized with the Dashboard.

    • On Android devices your strings need to be in a string resource .xml file in the /res/values/ folder in order to be automatically uploaded to the Applanga Dashboard. To have your dynamic texts localized, you have to use getString in your source code. At runtime, all dynamic and static texts in your layout files will be automatically synchronized with the Dashboard.

  • Step 2: Adding your app
  • To start localizing your app with Applanga, you first need to add your app to the platform. Sign up or log in to Applanga's Dashboard to get started.

    After you click on “Add App”, you will need to provide:

    • the name of your app
    • the Base Language which can be chosen from a dropdown list. By default this is set to English.
    • the Team that will be working on the app. A team will automatically be created for each app if no existing teams are selected.

  • Step 3: Integrate the SDK
  • The integration of the Applanga SDK takes literally minutes but differs a little from platform to platform. Please follow the Integration Guide here.


  • Step 4: Sync Strings with Dashboard
  • There are two ways the automated string upload can be initialized: by switching the app on your phone to Draft Mode or by connecting the app to the debugger.

    After Applanga is integrated, a couple steps must be taken before your app's strings are imported to the Applanga Dashboard:

    • Kill the app in case it's still running in the background.
    • Set your phone to the same language as the Base Language you chose when creating your app in the Dashboard.
    • Make sure that the version of your app on your phone contains the SDK.
    • Now you have 2 options: either start the app in Draft or Debug Mode.

    The process can take a couple of seconds. If nothing happens, make sure your internet connection is good and stable, wait for around 30 seconds, then refresh the Dashboard page. Still nothing? You might have integration issues. Read the Integration Guide, check the FAQ or reach out to us directly.


  • Step 5: Start translating
  • After integration, the translatable content automatically appears within the Applanga dashboard. At this time, you can add/edit languages and then jump into the translator's view and start translating. Each entry will have a Source Language text as well as a Draft and Approved field for the Target Text. Using Teams and Roles, you are able to add translators to the project to get the translation process going.



Translation Management Dashboard

Table of Contents


The Applanga Dashboard allows project managers to manage the translations for their apps. On the App Overview page, admins are able to to add languages to their project, manage translation entries, import and export XLIFF files and prepare app releases.

  • Adding Languages
  • Select the app that you would like to translate in the App Overview page by clicking it. You will then be redirected to the App Page where you can see detailed information about your app and all existing languages. Choose the language that you want to add from the "Most Popular" or "All Languages" list on the bottom of the page. There you can use the search option to find any language you are looking for.





  • Manage Languages
  • On the App Overview page, the color coded bubbles show the current translation status for each language.

    • The blue bubble represents the total number of entries in the project.
    • The grey bubble represents the number of locked entries.
    • The green bubble represents how many entries have been translated and approved.
    • The orange bubble represents how many entries have draft translations.
    • The red bubble represents the number of untranslated entries.

    If you want to make changes or updates to the languages currently provided on your app project, you can go to the App Page and view the existing languages associated with your app. From there, you can delete a language by clicking that language project and then clicking the "Delete Language" button in the upper right-hand corner.


  • Managing Tags
  • Tags are used in Applanga to group sets of IDs with screenshots to mimic the app experience on the dashboard or to simply sort your IDs. They can be created manually either on the dashboard or by engineers within the code.

    Manage Tags - Screenshot





  • Uploading screenshots
  • There are 2 ways to upload screenshots automatically:

    1. In Draft Mode
    2. Through automated UI test

    For the Draft Mode option:

    • You will need to first create the Tags that you want to upload screenshots for on the dashboard (e.g. Home, Menu, Settings, etc.)
    • Open the app in Draft Mode
    • Navigate to the screen that you want to take a screenshot of
    • Swipe down with two fingers on the screen. A button and a dropdown menu will appear
    • From the Drop Down, choose the Tag that you want to add the screenshot to and click the button to capture the screenshot
    • Repeat for every screen/Tag you want to have a screenshot

    Draft Mode Upload 1 - Screenshot
    Draft Mode Upload 2 - Screenshot

    For the automated UI test option:

    If you are running automated UI test already, you can simply add one line of code to the test scripts at the point where you want to take the screenshot.

    Follow the instructions in the integration documentation if you want to implement this option:

    • iOS
    • Android
    • Unity

  • In-Context Editor
  • Once you have chosen and implemented the version of Applanga’s automated screenshot upload that suits your needs, everybody who works on the translations in the dashboard will have full context available directly in the browser and can easily:

    • Translate following the user experience
    • Test new translations in the browser anytime, anywhere
    • Easily spot how and where a string is used within the app
    In-Context Editor - Screenshot





  • Import / Export
  • Following Applanga SDK integration, your app's translatable entries will be automatically imported onto the Applanga dashboard.

    You can import and export XLIFFs to your translation project using the import and export buttons. These buttons are found on the Language Page for each language associated with your project.

    If you would like to add string IDs to your Base Language manually, click the "Add Translation" button at the bottom of the Language Page. Be sure that when integrating Applanga that you use the exact same string ID name that you manually created.


  • Manage Entries
  • Applanga can also be used to manage your entries and other localizable content. On the Language Page, you can view all of the individual entries that have been synced from your app to Applanga. Here, you can click into each entry to see all of its information on the Translation Page.





  • Locking Entries
  • When you localize your app, you probably will have some text that you want to remain the same in all localized versions of you app. This includes non-translated text, links, proper names and so on. In order to make sure that these entries remain the same as your Base Language in localized versions, be sure to enable the "Lock" feature for each of these entries.

    You can lock an entry by clicking into the Translation Page for that entry and then clicking the lock symbol at the upper right-hand corner. Doing so prohibits any translations to be added to the entry and tells Applanga to use the Base Language entry for any specific locale.


  • Drafts & On-Device Testing
  • Before you push new translations to your users, you should test them extensively. Another reason Applanga makes App Localization so easy is its on-device Draft Mode. Draft Mode allows you to see how all the Draft entries that are in the dashboard would look on the app and device.

    Note: The Applanga SDK will only upload your strings when your app is set to Draft Mode (or when it is connected to the debugger)

    In order to use Draft Mode, make sure that it is enabled in App Settings. Then follow the next five steps:

    1. Open your app integrated with the Applanga SDK and hold 4 fingers pressed on the screen for around 6 seconds.
    2. An Applanga popup will appear, asking you to enter your Draft Mode Key to login into the Draft mode. The key can be found on top right-hand corner of the App Page.
    3. The app will shut down after you logged in successfully.
    4. Change the language of your phone into the one you want to test.
    5. Restart the app and begin the review process.

    Draft Mode is generally activated. However, if you don't want your users to encounter Draft Mode, you can deactivate it any time in App Settings.


  • Prepare Release
  • In the upper right-hand corner of the App Page, you will see the Prepare Release button. Here you are able to download the Applanga Settings File, which is needed in order to keep the latest version of your app's localized content available to your users.

    Before you upload the latest version of your app to the stores, make sure to visit the Prepare Release page, generate and download the latest Settings File and integrated into your app the same way you have done it before as part of the integration. We are working on features to automate this process in the future.



App Management Features

Table of Contents


  • App Settings
  • There is a series of configurations to how your app works with Applanga that can be performed directly from within the Dashboard. You can:

    • Change the name of the App on the Dashboard
    • Change the Base Language of your app
    • Assign another Team to your app
    • Disabled/Enable the "Missing ID" Upload to stop the SDK from upload strings automatically
    • Disable/Enable the Draft Mode
    • Enable/Disable Groups (see Advanced Features -> Groups)
    • Sync the content of another app on the Dashboard with the one currently selected

  • Team Management
  • Teams are normally automatically created together with an app but you can also chose an already existing team in the creation process. If you want to change the team of an app later on, you need to be the Owner of the current and the app the team should be assigned to.

    Inside the particular Team but depending on your role you can add team members, change their role or delete them from the team if necessary.


  • Roles & Permissions
  • There are 4 Roles with according Permissions:

    1. TRANSLATOR
      • can write drafts
    2. MANAGER
      • Derives Permissions from TRANSLATOR
      • can approve drafts
      • can create languages
      • can edit translations
      • can edit languages
      • can create translations
      • can delete translations
      • can delete languages
    3. ADMIN
      • Derives Permissions from MANAGER
      • can create apps
      • can edit apps
      • can delete apps
      • can invite users as ADMIN, MANAGER or TRANSLATOR
      • can edit user roles (ADMIN, MANAGER or TRANSLATOR)
      • can delete users (ADMIN, MANAGER or TRANSLATOR)
    4. OWNER
      • Derives Permissions from ADMIN
      • is responsible for payments of all apps that are created for teams where he or she is OWNER


Advanced Features

Table of Contents


  • Groups
  • The Groups feature allows you to separate your content into smaller sets of IDs. These grouped IDs can be then requested on an individual basis through a particular SDK method.

    With the standard integration, the Applanga SDK downloads all available translations upon opening the app. If your app incorporates a lot of localizable content, you will not need all of the translations at once. In this case, you can use Groups to download specific sets of translations only when you need them. This reduces the network usage and initial download size of your app.

    Groups are by default disabled and must be enabled in the app’s settings first.

    Right now the limit of entries per group is 3000 entries. If you have more individual strings/IDs inside your app than that, you will have to use the Groups feature.


    Implications of using Groups

    Using Groups has an impact on your overall utilization of Applanga. You will need to adapt the integration and certain parts of the usual workflow.

    • New UI elements
    • There are new menus to create and manage groups. You will recognize the Groups dropdown menu in the header of any language and the Manage Groups menu (which is only available from inside the Base Language).

    • Main Group
    • The group created by default is the Main Group. You cannot alter or delete this group (only its content). After you enabled Groups, all previously existing strings are moved into the Main Group.

      Most importantly, all strings found by the SDK will be uploaded only into this group. If you need space in the Main Group to upload more strings, you have to move strings out of the Main Group into another one.

    • Importing & Exporting with Groups
    • The basic functionality will not change, but imports and exports will only affect the group that is currently selected. If the XLIFF file that you want to import contains more than 3000 entries, please split it up into one file per group and upload them separately.

    • Configure the Initial Update
    • To define which groups should be within the initial app store release, you must configure the Applanga Settings File of your app to contain those specific groups. On default, only the Main Group is included and updated upon opening the app. Go to the “Prepare Release” menu, select the Groups that should be included and create a new Applanga Settings File accordingly.

    • Additional Applanga Settings File Configuration
    • Upon starting the app, the SDK will automatically check for translation updates and download them onto the device. By default, this only applies to the Main Group and two languages: the one currently selected by the mobile app user (if supported) and the Base Language. If you want to update more than the Main Group and default languages, you have to configure the plist file (iOS) and/or the manifest file (Android) accordingly.

      Please follow the documentation for the correct technical integration of the Applanga SDK (so far available for iOS and Android).

    • Request-Group-of-IDs SDK method
    • To make full use of Groups inside your app, you must decide when and where certain Groups are requested within the app. If you don't manually set the “per-group” requests inside your app’s code, the SDK will only update the translations within the Main Group.

      Please follow the documentation for the correct technical integration of the Applanga SDK (so far available for iOS and Android).


    Creating Groups

    You can create Groups only from within the base language, but created Groups will also be applied to all added languages within the app.


    Managing Groups

    To assign an entry into a certain Group, you have to view the entry itself and choose the Group from the dropdown.

    If you want to edit or delete a single Group, you can do so in the Manage Groups menu. You can also delete multiple Groups at once.


    Disabling groups

    You can disable Groups in the App Settings at any time. Afterwards, only the entries that were part of the Main Group before will be visible in the dashboard. All other groups and their entries will be hidden (but not deleted).

    You have to revert to the standard integration to disable the request-per-group functionality in the SDK as well. Therefore, delete the current Applanga Settings File within your app and download a new version after you have disabled Groups using in the dashboard.


    FAQ

    Please visit our most frequently asked questions here.


    Glossary


    App Page

    Shows details of a selected app and its languages


    Applanga Settings File

    Contains settings for the app and its latest localizations


    Approve

    By clicking the green checkmark for a translation on the Language Page, the text that is saved in the Draft field will be moved into the Target Text field, which effectively distributes that text to all users.


    Base Language

    This is the app's main language from which you will be translating into other languages. It should be similar to the language in which you are developing your app. (Default set to English)


    Dashboard

    Shows the overview of all your apps in Applanga


    Debug Mode

    Means your app is connected to the debugger (is not the same thing as a debug build).


    Description

    A contextual description of the ID ​for the Translator to know where and how this ID is used in the app


    Draft

    A suggested Target Text for the ID which still needs to be approved


    ID

    The ID is the predefined name of a text string that should be translated. On iOS the ID is similar to a key in a strings file, and on Android it’s the counterpart to the name of a string resource.


    Language Page

    Shows details of a selected language and its translations


    Language Selection

    An input field that allows you to select a language


    Permission

    Depending on the permission, Team members are allowed to complete certain actions in a project.


    Role

    A member of a Team can have several roles. The creator of the Team always has the “Owner” role and therefore the most permissions.


    Source Language

    The language you want to translate from (Default set to Base Language)


    Source Text

    The text for the given ID in the Source Language


    Target Text

    The approved translated text


    Team

    A group of people that you invited to collaborate. If you do not assign a Team directly, Applanga will create one for you.


    Teams Page

    Management page for your Teams. Here you can invite people, remove or change roles for your Teams.


    Translation Page

    Shows details of a selected translation with ID / Source Language / Source Text / Target Text / Draft / Description