Android SDK

Crowdin SDK allows delivering new translations from the Crowdin project to your application immediately. Using integration with Crowdin SDK there will be no need to update the application in Google Play Store every time there is a new localization version.

The integration provides:

  • Over-The-Air Content Delivery – the localized files can be sent to the application from the project whenever needed.
  • Real-Time Preview – all the translations that are done in the Editor can be shown in your version of the application in real-time. View the translations already made and the ones you’re currently typing in.
  • Screenshots – all screenshots made in the application may be automatically sent to your Crowdin project with tagged source strings.

Requirements

Requirements to integrate Android application with a project in Crowdin:

Development Tool

  • Android SDK version 16+

App Programming Language

  • Java version 8+
    or
  • Kotlin version 1.3+

Distributions and Releases

Configure the distribution to mirror the translated content of your project and integrate with Android app. Read more about Distributions.

Crowdin SDK Installation, Setup, and Advanced Features

For more details on how to set up Crowdin SDK for your application visit our GitHub repository.

Parameters

Required for all features
your_distribution_hashUnique hash, which you can get in your project's Tools > Content Delivery. To see the distribution hash, click on the needed distribution, select Edit and copy distribution hash.
Required for advanced features
source_languageSource language of your Crowdin project (e.g., "en").
client_id
client_secret
Crowdin authorization credentials. Open the project and go to Tools > Content Delivery. In the For Mobile Applications section, click Get Credentials.
Optional
network_typeNetwork type to be used. You may select NetworkType.ALL, NetworkType.CELLULAR, or NetworkType.WIFI
interval_in_milisecUpdate intervals in milliseconds

File Export Patterns

You can set file export patterns and check existing ones using File Settings. The following placeholders are supported for Android integration:

Name Description
%language% Language name (e.g., Ukrainian)
%two_letters_code% Language code ISO 639-1 (e.g., uk)
%three_letters_code% Language code ISO 639-2/T (e.g., ukr)
%locale% Locale (e.g., uk-UA)
%locale_with_underscore% Locale (e.g., uk_UA)
%android_code% Android Locale identifier used to name "values-" directories

Security

Crowdin Android SDK CDN feature is built with security in mind, which means minimal access possible from the end-user is required. When you decide to use Crowdin Android SDK, please ensure you’ve made the following information accessible to your end-users.

  • We use the advantages of Amazon Web Services (AWS) for our computing infrastructure. AWS has ISO 27001 certification and has completed multiple SSAE 16 audits. All the translations are stored at AWS servers.
  • When you use Crowdin Android SDK CDN – translations are uploaded to Amazon CloudFront to be delivered to the app and speed up the download. Keep in mind that your users download translations without any additional authentication.
  • We use encryption to keep your data private while in transit.
  • We do not store any Personally Identifiable Information (PII) about the end-user, but you can decide to develop the opt-out option inside your application to ensure your users have full control.
  • The Automatic Screenshots and Real-Time Preview features are supposed to be used by the development team and translators team. Those features should not be compiled to the production version of your app. Therefore, they should not affect end-users privacy in any way.

Q&A

Q: What might cause the occasional delay in getting the latest translations in the app?
A: CDN caches all the translations in release for up to 1 hour. When new translations are released in Crowdin, CDN may still return them with a delay.

Was this article helpful?