iOS SDK

Crowdin SDK allows delivering new translations from Crowdin Enterprise project to your application immediately. Using integration with Crowdin SDK there will be no need to update application in App Store every time there is 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 Enterprise project with tagged source strings.

Requirements

Requirements to integrate iOS application with project in Crowdin Enterprise:

Development Tool

  • Xcode version 10.2+

App Programming Language

  • Swift version 4.2+

Operating System

  • iOS version 9.0+

Distributions and Releases

Distribution is a CDN vault that mirrors the translated content of your project and is required for integration with iOS app.

To manage distributions open the needed project and go to Integrations & API > Over-The-Air Content Delivery. You can create as many distributions as you need and choose different files for each. You’ll need to click the Release button next to the necessary distribution every time you want to send new translations to the app. Over-the-Air Content Delivery

Configuration

To configure iOS SDK integration you need to:

  1. Set up Distribution in Crowdin Enterprise
  2. Set up SDK and enable Over-The-Air Content Delivery feature using Xcode

Distribution Setup

Follow these steps to configure distribution:

  1. Open your project and go to Resources > Integrations & API.
  2. Find iOS integration and click Connect. iOS Integration
  3. Define distribution. You can:
    • add new distribution using Create Distribution button. Choose only the files translations for which you want to be shown in your application and click Create Create Distribution
      or
    • select existing distribution (if any). Pay attention to Last release time and, if needed, release distribution using Over-The-Air Content Delivery tab. Existing Distribution
  4. Copy distribution hash so you can use it for integration.
Note! Currently Custom Languages, Dialects, and Language Mapping are not supported for iOS integration.

Crowdin SDK Setup

To integrate SDK with your application you need to enable Over-The-Air Content Delivery so that application can pull translations from CDN vault. For this, follow step by step instructions localed in our GitHub repository

Advanced Features

Real-time Preview

This feature allows translators to see translations in the application in real-time. It can also be used by managers and QA team to preview translations before release.

Screenshots

Enable this feature if you want all the screenshots made in the application to be automatically sent to your Crowdin Enterprise project with tagged strings. This way, translators will have an additional context for the source strings.

Parameters

Required for all features
your_distribution_hashUnique hash which you can get by going to Integrations & API > Over-The-Air Content Delivery. To see the distribution hash right-click on the needed distribution, choose Edit and copy distribution hash
localizations Target languages of your Crowdin Enterprise project (e.g. ‘fr’, ‘el’). Format: osx_locale
source_languageSource language of your Crowdin Enterprise project (e.g. "en"). Format: osx_locale
Required for Real-Time Preview and Screenshots
client_id;
client_secret
Crowdin Enterprise authorization credentials. Open the project and go to Integrations & API > iOS, choose the feature you need and click Get Credentials
your_organization_domainDomain name of your Organization in Crowdin Enterprise

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 make sure 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 make sure 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, should not affect end-users privacy in any way.

Was this article helpful?