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.
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.
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.
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.
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.
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.
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.
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.
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.
After you click on “Add App”, you will need to provide:
The integration of the Applanga SDK takes literally minutes but differs a little from platform to platform. Please follow the Integration Guide here.
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:
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.
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.
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.
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.
On the App Overview page, the color coded bubbles show the current translation status for each language.
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.
There are 2 ways to upload screenshots automatically:
For the Draft Mode option:
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:
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:
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.
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.
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.
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:
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.
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.
There is a series of configurations to how your app works with Applanga that can be performed directly from within the Dashboard. You can:
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.
There are 4 Roles with according Permissions:
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 10.000 entries. If you have more individual strings/IDs inside your app than that, you will have to use the Groups feature.
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.
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).
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.
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.
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.
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 SDKs (Available for all mobile platforms, iOS, Android, Unity)
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).
You can create Groups from inside the “Edit Groups” menu in the App Settings.
To assign a single or multiple entries to a certain Group, you simply have to select the entries in question, then click on the “Move to Group” drop-down button and select the Group you want to move to from the list in the drop-down.
If you want to edit or delete a single Group, you can do so in the “Edit Groups” menu inside the App Settings.
You can disable Groups in the App Settings at any time. Simply click on the checkbox and the checkmark will disappear.
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.
The Applanga App Store Sync feature allows you to automate the process of localization of your app store texts for iOS (itunes connect/Appstore) and Android (Playstore) in the same way you can localize your app with Applanga already. Simply connect to the different app stores from within the Applanga dashboard with the click of a button. Afterwards, you can easily download all translatable texts from the stores, translate them on Applanga any way you want and push the translations back online.
A member of a Team can have several roles. The creator of the Team always has the “Owner” role and therefore the most permissions.
When the Applanga App Store Sync is activated, it will also enable the Groups feature. All app store related strings will be stored in a separate Group called “App Store”
For iOS, the following text fields can be localized through the Applanga App Store Sync: Descriptions, Release Notes/ What’s New, Keywords, Promotional Text, Support URL, Marketing URL, Privacy URL as well as the Name and Description texts of all your In-App Purchase items
For Android, the following text fields can be localized through the Applanga App Store Sync: Title, Full Descriptions, Short Descriptions as well as the Name and Description texts of all your In-App Purchase items
On the App Settings page, open iOS Appstore Connect dialogue and login with the Bundle ID of the app you want to connect and the user email and password of an authorized itunes connect user. Make sure the user account you use to log in does NOT have two-factor authentication enabled.
Note: There always needs to be a version of the app in the “Prepare for Submission”. The Applanga App Store Sync will always ever synchronize with this version in the Appstore.
On the App Settings page, open Android Playstore Connect dialogue and enter the Package name of the the app you want to connect and upload the JSON file that contains the login credentials of a Service Account.
Service accounts allow access to the Google Play Developer Publishing API on behalf of an application rather than an end user. To create the JSON file, go to your Playstore Developer console and navigate to Settings -> API access and scroll down to “Create Service Account”.
Once the Service Account was created, click on “View in Google Developers Console”. This will lead you the Google API management interface Credentials page, where you click on "Manage service accounts" on the right. On the Sevice Account page, simply click on the 3-dots icon on the far right and select “Create Key” from the drop-down.
After the App Store Sync feature was activated, there will be a new button in the App Overview screen from where you manage the synchronization between Applanga and your app store listings.
In the dialogue, simply select which store you want to download the listing from or to which you want to upload translations. When you upload, you will always push translations for all languages available.
Note: The synchronization will always overwrite! If you download listing, it will overwrite the current Base language values. If you upload, the translations will overwrite what is currently in the app store release management interface (not the translation live in the stores).
By default, you can add a Description and a value for the desired String Length to any string on Applanga. Depending on your setup, where and how you use your strings, they might need to carry all kind of additional information with them though. That might be important to have all the context you need to manage and translate these strings correctly. To cover these circumstances we added the option to add custom Metadata Fields on the app level.
On the App Settings page, you will find a section called Additional Metadata Fields.
You can simply add new metadata fields by entering a name and a field placeholder description (optional) and hit the +Add button. The field placeholder description will be shown when the metadata field has no value in the detail view yet to provide info which kind of info is supposed to be stored in a given field. Make sure to hit the “Update” button on the bottom of the App Settings to confirm the addition or change of a metadata field.
Additional metadata fields will appear in the Detail View in the order they are shown in the App Settings. You can change the order by using the arrow buttons in the table of already added metadata fields.
Metadata field values are visible in the Detail View of an entry for every language in the same way. However, these values can only be manually added and/or edited in the Base Language of your app on Applanga. These values are global, so you will see the same values in all your target languages.
For easier transfer of your pre-existing metadata into Applanga and back out of it, if you need, we offer ways to import such kind of data in bulk. Metadata import and exported is supported for the following file formats:
If your metadata should be imported from an Excel, CSV or TSV file you have to make sure that the metadata values for a field are all in the same column. Simply drag and drop the file into the importer dialogue and after the file was processed, assign the metadata fields to the designated columns.
If your metadata resides in an Xliff file, specific formatting of the metadata within the file is necessary. Every metadata field name and metadata value needs to be within a
Exporting your metadata is supported for the same file formats as for the import. Simply chose either excel, Xliff, CSV or TSV as target format and set the checkmark at “Include additional metadata”. In Excel, CSV and TSV this will create an additional column per metadata field, in Xliff the metadata fields and their values will be added as individual <note> tags per <trans-unit>.
If you want to use your metadata to work only on entries with specific metadata values, export files that only such strings or apply specific workflow steps or tags to them you can create a Custom filter to do so.
In the Custom Filter pop-up, you will find a section dedicated only to Additional Metadata values. Simply select the Metadata field name and a search operation from the dropdown and enter the value you want to filter for. If you can foresee that you will use this customer filter repeatedly, make sure to save the filter configuration for easier access afterwards.
Metadata values will be included in automatic and manual backups as well. If you delete a Metadata Field in the App Settings these fields will not be added back to the app. The values, however, are not lost. Simply add the fields in the App Settings again and then import the Backup.
Please visit our most frequently asked questions here.
Shows details of a selected app and its languages
Contains settings for the app and its latest localizations
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.
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)
Shows the overview of all your apps in Applanga
Means your app is connected to the debugger (is not the same thing as a debug build).
A contextual description of the ID for the Translator to know where and how this ID is used in the app
A suggested Target Text for the ID which still needs to be approved
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.
Shows details of a selected language and its translations
An input field that allows you to select a language
Depending on the permission, Team members are allowed to complete certain actions in a project.
A member of a Team can have several roles. The creator of the Team always has the “Owner” role and therefore the most permissions.
The language you want to translate from (Default set to Base Language)
The text for the given ID in the Source Language
The approved translated text
A group of people that you invited to collaborate. If you do not assign a Team directly, Applanga will create one for you.
Management page for your Teams. Here you can invite people, remove or change roles for your Teams.
Shows details of a selected translation with ID / Source Language / Source Text / Target Text / Draft / Description