API Docs


The PhotoEditor SDK is fully localizable. We provide an English fallback localization, that will be used when no matching localization is found. To determine the matching language, PhotoEditor SDK uses NSLocale.preferredLanguages. To add support for a language, please refer to Apple’s localization guidelines. We also provide two properties to customize your localization, PESDK.localizationDictionary and PESDK.localizationBlock.

Localization Dictionary

The first method to add another language is to set PESDK.localizationDictionary to a dictionary containing your localizations. The key of the dictionary needs to be the locale that you want to add, the value should be another dictionary containing the localization keys and the corresponding localized strings as values. All available localization keys are defined in the Localizable.strings file. An example for the German language might look like this:

PESDK.localizationDictionary = [
  "de": [
    "pesdk_transform_title_name": "Zuschneiden",
    "pesdk_adjustments_title_name": "Korrekturen",
    "pesdk_adjustments_button_reset": "Zurücksetzen"
[PESDK setLocalizationDictionary: @{
  @"de": @{
    @"pesdk_transform_title_name": @"Zuschneiden",
    @"pesdk_adjustments_title_name": @"Korrekturen",
    @"pesdk_adjustments_button_reset": @"Zurücksetzen"

Localization Closure

The more advanced way to add localization is passing a closure, which will be called for each string that can be localized. You can then use that closure to look up a matching localization in your app’s Localizable.strings file or do something completely custom. An example might look like this:

PESDK.localizationBlock = { stringToLocalize in
  return NSLocalizedString(stringToLocalize, comment: "")
[PESDK setLocalizationBlock:^NSString * _Nullable(NSString * _Nonnull stringToLocalize) {
  return NSLocalizedString(stringToLocalize, nil);


A list of strings that are used in the SDK is available within the framework’s bundle at ImglyKit.framework/ImglyKit.bundle/en.lproj/Localizable.strings. The contents of that file are in binary format. To convert them back into a readable format please use the following command:

plutil -convert xml1 ImglyKit.framework/ImglyKit.bundle/en.lproj/Localizable.strings