iOS 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 the App 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 an iOS application with a project in Crowdin:

Development Tool

  • Xcode version 10.2+

App Programming Language

  • Swift version 4.2+

Operating System

  • iOS version 9.0+

Distributions and Releases

Configure the distribution to mirror the translated content of your project and integrate with iOS 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.
localizations Target languages of your Crowdin project (e.g., ‘fr’, ‘el’). Format: osx_locale.
source_languageSource language of your Crowdin project (e.g., "en"). Format: osx_locale.
Required for advanced features
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.
your_organization_domainThis field is not used for the Crowdin project.

File Export Patterns

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

Name Description
%language% Language name (e.g., Ukrainian)
%locale% Locale (e.g., uk-UA)
%locale_with_underscore% Locale (e.g., uk_UA)
%osx_code% OS X locale identifier used to name ".lproj" directories
%osx_locale% OS X locale used to name translation resources (e.g., uk, zh-Hans, zh_HK)

Security

Crowdin iOS 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 iOS 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 iOS 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?