├── _Pods.xcodeproj
├── LanguageManager-iOS-Lokalise
├── Assets
│ └── .gitkeep
└── Classes
│ ├── .gitkeep
│ └── LanguageManager.swift
├── header.png
├── Example
├── Podfile
├── Pods
│ ├── Lokalise
│ │ ├── Lokalise.framework
│ │ │ ├── Lokalise
│ │ │ ├── Info.plist
│ │ │ ├── Modules
│ │ │ │ └── module.modulemap
│ │ │ ├── Headers
│ │ │ │ ├── LokaliseLocalizationType.h
│ │ │ │ ├── LokaliseErrors.h
│ │ │ │ └── Lokalise.h
│ │ │ └── strip-frameworks.sh
│ │ ├── Readme.md
│ │ └── LICENSE.md
│ ├── Pods.xcodeproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ └── project.pbxproj
│ ├── Target Support Files
│ │ ├── LanguageManager-iOS-Lokalise
│ │ │ ├── LanguageManager-iOS-Lokalise.modulemap
│ │ │ ├── LanguageManager-iOS-Lokalise-dummy.m
│ │ │ ├── LanguageManager-iOS-Lokalise-prefix.pch
│ │ │ ├── LanguageManager-iOS-Lokalise-umbrella.h
│ │ │ ├── LanguageManager-iOS-Lokalise.xcconfig
│ │ │ ├── LanguageManager-iOS-Lokalise.debug.xcconfig
│ │ │ ├── LanguageManager-iOS-Lokalise.release.xcconfig
│ │ │ └── LanguageManager-iOS-Lokalise-Info.plist
│ │ ├── Pods-LanguageManager-iOS-Lokalise_Example
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example.modulemap
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example-dummy.m
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example-Info.plist
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.markdown
│ │ │ ├── Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.plist
│ │ │ └── Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh
│ │ └── Lokalise
│ │ │ ├── Lokalise.xcconfig
│ │ │ ├── Lokalise.debug.xcconfig
│ │ │ └── Lokalise.release.xcconfig
│ ├── Manifest.lock
│ └── Local Podspecs
│ │ └── LanguageManager-iOS-Lokalise.podspec.json
├── LanguageManager-iOS-Lokalise
│ ├── en.lproj
│ │ └── Localizable.strings
│ ├── ar.lproj
│ │ └── Localizable.strings
│ ├── ViewControllers
│ │ ├── MainViewController.swift
│ │ └── SplashViewController.swift
│ ├── Images.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Info.plist
│ ├── Screens
│ │ └── Base.lproj
│ │ │ ├── LaunchScreen.xib
│ │ │ └── Main.storyboard
│ └── AppDelegate.swift
├── LanguageManager-iOS-Lokalise.xcodeproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── LanguageManger-iOS-Lokalise-Example.xcscheme
│ └── project.pbxproj
├── LanguageManager-iOS-Lokalise.xcworkspace
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── contents.xcworkspacedata
└── Podfile.lock
├── .travis.yml
├── .gitignore
├── LICENSE
├── README.md
└── LanguageManager-iOS-Lokalise.podspec
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------
/LanguageManager-iOS-Lokalise/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/LanguageManager-iOS-Lokalise/Classes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Abedalkareem/LanguageManager-iOS-Lokalise/HEAD/header.png
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target 'LanguageManager-iOS-Lokalise_Example' do
4 | pod 'LanguageManager-iOS-Lokalise', :path => '../'
5 |
6 | end
7 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/Lokalise:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Abedalkareem/LanguageManager-iOS-Lokalise/HEAD/Example/Pods/Lokalise/Lokalise.framework/Lokalise
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Abedalkareem/LanguageManager-iOS-Lokalise/HEAD/Example/Pods/Lokalise/Lokalise.framework/Info.plist
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module Lokalise {
2 | umbrella header "Lokalise.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | LanguageManager-iOS-Lokalise
4 |
5 | Created by abedalkareem omreyh on 9/1/19.
6 | Copyright © 2019 CocoaPods. All rights reserved.
7 | */
8 | "key" = "Hi";
9 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/ar.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | LanguageManager-iOS-Lokalise
4 |
5 | Created by abedalkareem omreyh on 9/1/19.
6 | Copyright © 2019 CocoaPods. All rights reserved.
7 | */
8 | "key" = "مرحبا";
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise.modulemap:
--------------------------------------------------------------------------------
1 | framework module LanguageManager_iOS_Lokalise {
2 | umbrella header "LanguageManager-iOS-Lokalise-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_LanguageManager_iOS_Lokalise : NSObject
3 | @end
4 | @implementation PodsDummy_LanguageManager_iOS_Lokalise
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LanguageManager_iOS_Lokalise_Example {
2 | umbrella header "Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LanguageManager_iOS_Lokalise_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LanguageManager_iOS_Lokalise_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double LanguageManager_iOS_LokaliseVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char LanguageManager_iOS_LokaliseVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_LanguageManager_iOS_Lokalise_ExampleVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LanguageManager_iOS_Lokalise_ExampleVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - LanguageManager-iOS-Lokalise (0.1.4):
3 | - Lokalise (~> 0.10.2)
4 | - Lokalise (0.10.2)
5 |
6 | DEPENDENCIES:
7 | - LanguageManager-iOS-Lokalise (from `../`)
8 |
9 | SPEC REPOS:
10 | trunk:
11 | - Lokalise
12 |
13 | EXTERNAL SOURCES:
14 | LanguageManager-iOS-Lokalise:
15 | :path: "../"
16 |
17 | SPEC CHECKSUMS:
18 | LanguageManager-iOS-Lokalise: d746ddd88a7bf49a6b3d0d86eede468f20ad71f7
19 | Lokalise: 252c397887dfd9983331abffa90ab60cdb004e19
20 |
21 | PODFILE CHECKSUM: 6f091b1adc87bdbc05939808033f5c19387dd9ce
22 |
23 | COCOAPODS: 1.10.0
24 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/Headers/LokaliseLocalizationType.h:
--------------------------------------------------------------------------------
1 | //
2 | // LokaliseLocalizationType.h
3 | // Lokalise
4 | //
5 | // Created by Fedya Levkin on 04/04/2017.
6 | // Copyright © 2017 Lokalise SIA. All rights reserved.
7 | //
8 |
9 | #ifndef LokaliseLocalizationType_h
10 | #define LokaliseLocalizationType_h
11 |
12 | typedef NS_ENUM(NSInteger, LokaliseLocalizationType) {
13 | LokaliseLocalizationRelease = 0,
14 | LokaliseLocalizationPrerelease = 1,
15 | LokaliseLocalizationLocal = 2,
16 | LokaliseLocalizationDebug = 3
17 | };
18 |
19 | #endif /* LokaliseLocalizationType_h */
20 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - LanguageManager-iOS-Lokalise (0.1.4):
3 | - Lokalise (~> 0.10.2)
4 | - Lokalise (0.10.2)
5 |
6 | DEPENDENCIES:
7 | - LanguageManager-iOS-Lokalise (from `../`)
8 |
9 | SPEC REPOS:
10 | trunk:
11 | - Lokalise
12 |
13 | EXTERNAL SOURCES:
14 | LanguageManager-iOS-Lokalise:
15 | :path: "../"
16 |
17 | SPEC CHECKSUMS:
18 | LanguageManager-iOS-Lokalise: d746ddd88a7bf49a6b3d0d86eede468f20ad71f7
19 | Lokalise: 252c397887dfd9983331abffa90ab60cdb004e19
20 |
21 | PODFILE CHECKSUM: 6f091b1adc87bdbc05939808033f5c19387dd9ce
22 |
23 | COCOAPODS: 1.10.0
24 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Lokalise/Lokalise.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Lokalise
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Lokalise"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Foundation"
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Lokalise
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | osx_image: xcode7.3
6 | language: objective-c
7 | # cache: cocoapods
8 | # podfile: Example/Podfile
9 | # before_install:
10 | # - gem install cocoapods # Since Travis is not always on latest version
11 | # - pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/LanguageManger-iOS-Lokalise.xcworkspace -scheme LanguageManger-iOS-Lokalise-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Lokalise"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Lokalise/Lokalise.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Lokalise
3 | EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Lokalise"
5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
6 | OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Foundation"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Lokalise
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Lokalise/Lokalise.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Lokalise
3 | EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Lokalise"
5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
6 | OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Foundation"
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Lokalise
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/ViewControllers/MainViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainViewController.swift
3 | // LanguageManager-iOS-Lokalise_Example
4 | //
5 | // Created by abedalkareem omreyh on 9/1/19.
6 | // Copyright © 2019 CocoaPods. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import LanguageManager_iOS_Lokalise
11 |
12 | class MainViewController: UIViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 |
17 | //
18 | // To know more about how to use LanguageManager-iOS
19 | // please visit https://github.com/Abedalkareem/LanguageManager-iOS
20 | // it's the same thing expect in LanguageManager-iOS-Lokalise
21 | // you need to set the project id, token, and you need to call the
22 | // `LanguageManager.shared.checkLocalizationUpdates`.
23 | //
24 | print("key".localiz())
25 |
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # Bundler
23 | .bundle
24 |
25 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
26 | # Carthage/Checkouts
27 |
28 | Carthage/Build
29 |
30 | # We recommend against adding the Pods directory to your .gitignore. However
31 | # you should judge for yourself, the pros and cons are mentioned at:
32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
33 | #
34 | # Note: if you ignore the Pods directory, make sure to uncomment
35 | # `pod install` in .travis.yml
36 | #
37 | # Pods/
38 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Lokalise"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "Lokalise"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Lokalise"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "Lokalise"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.1.4
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/LanguageManager-iOS-Lokalise.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "LanguageManager-iOS-Lokalise",
3 | "version": "0.1.4",
4 | "summary": "Language manager used to handle change app language.",
5 | "description": "Language manager used to handle change app language without restart the app.",
6 | "homepage": "https://github.com/Abedalkareem/LanguageManager-iOS-Lokalise",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "Abedalkareem": "abedalkareem.omreyh@yahoo.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/Abedalkareem/LanguageManager-iOS-Lokalise.git",
16 | "tag": "0.1.4"
17 | },
18 | "swift_versions": "5.0",
19 | "social_media_url": "https://twitter.com/AbedalkareemOmr",
20 | "platforms": {
21 | "ios": "9.0"
22 | },
23 | "source_files": "LanguageManager-iOS-Lokalise/Classes/**/*",
24 | "dependencies": {
25 | "Lokalise": [
26 | "~> 0.10.2"
27 | ]
28 | },
29 | "swift_version": "5.0"
30 | }
31 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019 Abedalkareem
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ios-marketing",
45 | "size" : "1024x1024",
46 | "scale" : "1x"
47 | }
48 | ],
49 | "info" : {
50 | "version" : 1,
51 | "author" : "xcode"
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/ViewControllers/SplashViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SplashViewController.swift
3 | // LanguageManager-iOS-Lokalise
4 | //
5 | // Created by Abedalkareem on 09/01/2019.
6 | // Copyright (c) 2019 Abedalkareem. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import LanguageManager_iOS_Lokalise
11 |
12 | class SplashViewController: UIViewController {
13 |
14 | override func viewDidLoad() {
15 | super.viewDidLoad()
16 |
17 | //
18 | // To know more about how to use LanguageManager-iOS
19 | // please visit https://github.com/Abedalkareem/LanguageManager-iOS
20 | // it's the same thing expect in LanguageManager-iOS-Lokalise
21 | // you need to set the project id, token, and you need to call the
22 | // `LanguageManager.shared.checkLocalizationUpdates`.
23 | //
24 |
25 | LanguageManager.shared.checkLocalizationUpdates { _, _ in
26 | let storyboard = UIStoryboard(name: "Main", bundle: nil)
27 | let viewController = storyboard.instantiateViewController(withIdentifier: "MainViewController")
28 | self.present(viewController, animated: true, completion: nil)
29 | }
30 |
31 | }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/Headers/LokaliseErrors.h:
--------------------------------------------------------------------------------
1 | //
2 | // LokaliseErrors.h
3 | // Lokalise
4 | //
5 | // Created by Fjodors Levkins on 21/05/15.
6 | // Copyright (c) 2015 Lokalise SIA. All rights reserved.
7 | //
8 |
9 | #ifndef Lokalise_LokaliseErrors_h
10 | #define Lokalise_LokaliseErrors_h
11 |
12 | /**
13 | Lokalise API error domain
14 | */
15 | static NSString *LKLAPIErrorDomain = @"lokalise.api.error";
16 |
17 | /**
18 | Lokalise framework error domain
19 | */
20 | static NSString *LKLErrorDomain = @"lokalise.error";
21 |
22 | typedef NS_ENUM(NSInteger, LokaliseErrorCode) {
23 | LokaliseErrorNoProjectData = 1,
24 | LokaliseErrorLocaleNotSupported,
25 | LokaliseErrorNoLokaliseFolder,
26 | LokaliseErrorNoLokaliseBundle,
27 | LokaliseErrorAlreadyUpdating,
28 | LokaliseErrorFailedToExtact,
29 | LokaliseErrorBadServerResponse,
30 | LokaliseErrorBadBundleLocation,
31 | LokaliseErrorBadServerBundleResponse,
32 | LokaliseErrorNoLocalBundleForLocale,
33 | LokaliseErrorNoLocalBundleForLocaleSwizzleDisabled,
34 | LokaliseErrorNoLokaliseBundleForLocale,
35 | LokaliseErrorNoUniqueIdentifier
36 | };
37 |
38 |
39 | #endif
40 |
41 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise" "${PODS_ROOT}/Lokalise"
5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
6 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise/LanguageManager_iOS_Lokalise.framework/Headers"
7 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
8 | OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Foundation" -framework "LanguageManager_iOS_Lokalise" -framework "Lokalise"
9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
10 | PODS_BUILD_DIR = ${BUILD_DIR}
11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
13 | PODS_ROOT = ${SRCROOT}/Pods
14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise" "${PODS_ROOT}/Lokalise"
5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
6 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS-Lokalise/LanguageManager_iOS_Lokalise.framework/Headers"
7 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
8 | OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Foundation" -framework "LanguageManager_iOS_Lokalise" -framework "Lokalise"
9 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
10 | PODS_BUILD_DIR = ${BUILD_DIR}
11 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
12 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
13 | PODS_ROOT = ${SRCROOT}/Pods
14 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/Screens/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // LanguageManager-iOS-Lokalise
4 | //
5 | // Created by Abedalkareem on 09/01/2019.
6 | // Copyright (c) 2019 Abedalkareem. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import LanguageManager_iOS_Lokalise
11 |
12 | @UIApplicationMain
13 | class AppDelegate: UIResponder, UIApplicationDelegate {
14 |
15 | var window: UIWindow?
16 |
17 |
18 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
19 |
20 | //
21 | // To know more about how to use LanguageManager-iOS
22 | // please visit https://github.com/Abedalkareem/LanguageManager-iOS
23 | // it's the same thing expect in LanguageManager-iOS-Lokalise
24 | // you need to set the project id, token, and you need to call the
25 | // `LanguageManager.shared.checkLocalizationUpdates`.
26 | //
27 |
28 | LanguageManager.shared.lokaliseToken = "App Token"
29 | LanguageManager.shared.lokaliseProjectID = "Project id"
30 | LanguageManager.shared.localizationType = .release
31 |
32 | LanguageManager.shared.defaultLanguage = .en
33 |
34 | return true
35 | }
36 |
37 | func applicationWillResignActive(_ application: UIApplication) { }
38 |
39 | func applicationDidEnterBackground(_ application: UIApplication) { }
40 |
41 | func applicationWillEnterForeground(_ application: UIApplication) { }
42 |
43 | func applicationDidBecomeActive(_ application: UIApplication) { }
44 |
45 | func applicationWillTerminate(_ application: UIApplication) { }
46 |
47 |
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Language manager used to handle change app language without restart the app.
8 |
9 |
10 |
11 |
12 | ## ScreenShots
13 |
14 |
15 |
16 | ## Example
17 |
18 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
19 | For more information and examples, please visit the [LangaugeManager-iOS repo](https://github.com/Abedalkareem/LanguageManager-iOS).
20 |
21 |
22 | ## Usage
23 |
24 | In your app delegate you need to set the following values:
25 |
26 | ```
27 | LanguageManager.shared.lokaliseToken = "App Token"
28 | LanguageManager.shared.lokaliseProjectID = "Project id"
29 | LanguageManager.shared.localizationType = .release
30 |
31 | LanguageManager.shared.defaultLanguage = .en
32 | ```
33 |
34 | To check for new update on your strings:
35 |
36 | ```
37 | LanguageManager.shared.checkLocalizationUpdates { updated, error in
38 | print(error?.localizedDescription ?? "")
39 | }
40 | ```
41 |
42 | ## Installation
43 |
44 | LanguageManager-iOS-Lokalise is available through [CocoaPods](https://cocoapods.org). To install
45 | it, simply add the following line to your Podfile:
46 |
47 | ```ruby
48 | pod 'LanguageManager-iOS-Lokalise'
49 | ```
50 |
51 | ## Author
52 |
53 | Abedalkareem, abedalkareem.omreyh@yahoo.com
54 |
55 | ## License
56 |
57 | LanguageManager-iOS-Lokalise is available under the MIT license. See the LICENSE file for more info.
58 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Readme.md:
--------------------------------------------------------------------------------
1 | # Lokalise iOS SDK
2 |
3 | **[Lokalise](https://lokalise.com)** lets you manage keys and translations of your app, game or website – either on your own or with a team of collaborators. Built for developers, Lokalise offers neat features including inline suggestions, project chat, export webhooks and an API, so you can easily integrate with your projects workflow.
4 |
5 | ## Features
6 |
7 | - Over-the-air (OTA) localization
8 | - Instant UI language switching
9 | - Test localizations (using prerelease bundles)
10 | - NSBundle swizzling for transparent integration
11 | - XIB and storyboard localization
12 |
13 | ## Requirements
14 |
15 | - Xcode 12+
16 | - iOS 9.0+
17 |
18 | ## Setup
19 |
20 | ### CocoaPods
21 |
22 | To install using [CocoaPods](https://cocoapods.org) simply add this line to your Podfile
23 |
24 | ```
25 | use_frameworks!
26 | pod 'Lokalise', '~> 0.10.2'
27 | ```
28 |
29 | ### Carthage
30 |
31 | To install using [Carthage](https://github.com/Carthage/Carthage) simply add below line to your Cartfile
32 |
33 | ```
34 | binary "https://raw.githubusercontent.com/lokalise/lokalise-ios-framework/master/LokaliseCarthage.json" ~> 0.10.1
35 | ```
36 |
37 | Link **c++ (libc++.tbd)** and **z (libz.tbd)** libraries to your targets.
38 |
39 | ### Manual
40 |
41 | If you would like to install manually, download Lokalise.framework and add it to your project (embed and link).
42 |
43 | Link **c++ (libc++.tbd)** and **z (libz.tbd)** libraries.
44 |
45 | Add **Run Script** to your **Build Phases**.
46 | ```
47 | bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lokalise.framework/strip-frameworks.sh"
48 | ```
49 |
50 | ## Getting started
51 |
52 | Read **[documentation page](https://lokalise.com/blog/getting-started-with-ios-localization/)** for detailed integration guide.
53 |
54 | ## Support
55 |
56 | Please contact us through our live support chat for support and bug reports. It is available at every page on **[lokalise.com](https://lokalise.com)**.
57 |
--------------------------------------------------------------------------------
/LanguageManager-iOS-Lokalise.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint LanguageManager-iOS-Lokalise.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 | Pod::Spec.new do |s|
10 | s.name = 'LanguageManager-iOS-Lokalise'
11 | s.version = '0.1.4'
12 | s.summary = 'Language manager used to handle change app language.'
13 |
14 | # This description is used to generate tags and improve search results.
15 | # * Think: What does it do? Why did you write it? What is the focus?
16 | # * Try to keep it short, snappy and to the point.
17 | # * Write the description between the DESC delimiters below.
18 | # * Finally, don't worry about the indent, CocoaPods strips it!
19 |
20 | s.description = <<-DESC
21 | Language manager used to handle change app language without restart the app.
22 | DESC
23 |
24 | s.homepage = 'https://github.com/Abedalkareem/LanguageManager-iOS-Lokalise'
25 | # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
26 | s.license = { :type => 'MIT', :file => 'LICENSE' }
27 | s.author = { 'Abedalkareem' => 'abedalkareem.omreyh@yahoo.com' }
28 | s.source = { :git => 'https://github.com/Abedalkareem/LanguageManager-iOS-Lokalise.git', :tag => s.version.to_s }
29 | s.swift_version = '5.0'
30 | s.social_media_url = 'https://twitter.com/AbedalkareemOmr'
31 |
32 | s.ios.deployment_target = '9.0'
33 |
34 | s.source_files = 'LanguageManager-iOS-Lokalise/Classes/**/*'
35 |
36 | s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
37 | s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
38 |
39 | # s.resource_bundles = {
40 | # 'LanguageManager-iOS-Lokalise' => ['LanguageManager-iOS-Lokalise/Assets/*.png']
41 | # }
42 |
43 | # s.public_header_files = 'Pod/Classes/**/*.h'
44 | # s.frameworks = 'UIKit', 'MapKit'
45 | s.dependency 'Lokalise', '~> 0.10.2'
46 | end
47 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/strip-frameworks.sh:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | #
3 | # Copyright 2015 Realm Inc.
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 | ################################################################################
18 |
19 | # This script strips all non-valid architectures from dynamic libraries in
20 | # the application's `Frameworks` directory.
21 | #
22 | # The following environment variables are required:
23 | #
24 | # BUILT_PRODUCTS_DIR
25 | # FRAMEWORKS_FOLDER_PATH
26 | # VALID_ARCHS
27 | # EXPANDED_CODE_SIGN_IDENTITY
28 |
29 |
30 | # Signs a framework with the provided identity
31 | code_sign() {
32 | # Use the current code_sign_identitiy
33 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
34 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1"
35 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1"
36 | }
37 |
38 | # Set working directory to product’s embedded frameworks
39 | cd "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
40 |
41 | if [ "$ACTION" = "install" ]; then
42 | echo "Copy .bcsymbolmap files to .xcarchive"
43 | find . -name '*.bcsymbolmap' -type f -exec mv {} "${CONFIGURATION_BUILD_DIR}" \;
44 | else
45 | # Delete *.bcsymbolmap files from framework bundle unless archiving
46 | find . -name '*.bcsymbolmap' -type f -exec rm -rf "{}" +\;
47 | fi
48 |
49 | echo "Stripping frameworks"
50 |
51 | for file in $(find . -type f -perm +111); do
52 | # Skip non-dynamic libraries
53 | if ! [[ "$(file "$file")" == *"dynamically linked shared library"* ]]; then
54 | continue
55 | fi
56 | # Get architectures for current file
57 | archs="$(lipo -info "${file}" | rev | cut -d ':' -f1 | rev)"
58 | stripped=""
59 | for arch in $archs; do
60 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then
61 | # Strip non-valid architectures in-place
62 | lipo -remove "$arch" -output "$file" "$file" || exit 1
63 | stripped="$stripped $arch"
64 | fi
65 | done
66 | if [[ "$stripped" != "" ]]; then
67 | echo "Stripped $file of architectures:$stripped"
68 | if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then
69 | code_sign "${file}"
70 | fi
71 | fi
72 | done
73 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/LICENSE.md:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2017-present, Lokalise, Inc. All rights reserved.
2 |
3 | You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4 | copy and distribute this software in binary form for use
5 | in connection with the services provided by Lokalise provided that the following conditions are met:
6 |
7 | * Redistributions in binary form must reproduce copyright notices and conditions of Intellectual Property included in this software.
8 | * Neither the name of Lokalise, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Lokalise, Inc.
9 |
10 | By using this software you are agreeing to Lokalise (Terms of Use)[https://lokalise.co/terms] and (Privacy Policy)[https://lokalise.co/privacy].
11 |
12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13 |
14 | ## Intellectual Property Included in the Lokalise
15 |
16 | ### **ZipZap**
17 | Copyright (c) 2012, Pixelglow Software.
18 | All rights reserved.
19 |
20 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
21 |
22 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
23 |
24 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
25 |
26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise/Screens/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## LanguageManager-iOS-Lokalise
5 |
6 | Copyright (c) 2019 Abedalkareem
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 |
27 | ## Lokalise
28 |
29 | # Copyright (c) 2017-present, Lokalise, Inc. All rights reserved.
30 |
31 | You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
32 | copy and distribute this software in binary form for use
33 | in connection with the services provided by Lokalise provided that the following conditions are met:
34 |
35 | * Redistributions in binary form must reproduce copyright notices and conditions of Intellectual Property included in this software.
36 | * Neither the name of Lokalise, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Lokalise, Inc.
37 |
38 | By using this software you are agreeing to Lokalise (Terms of Use)[https://lokalise.co/terms] and (Privacy Policy)[https://lokalise.co/privacy].
39 |
40 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 |
42 | ## Intellectual Property Included in the Lokalise
43 |
44 | ### **ZipZap**
45 | Copyright (c) 2012, Pixelglow Software.
46 | All rights reserved.
47 |
48 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
49 |
50 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
51 |
52 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
53 |
54 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
55 | Generated by CocoaPods - https://cocoapods.org
56 |
--------------------------------------------------------------------------------
/Example/Pods/Lokalise/Lokalise.framework/Headers/Lokalise.h:
--------------------------------------------------------------------------------
1 | //
2 | // Lokalise.h
3 | // Lokalise
4 | //
5 | // Created by Fjodors Levkins on 20/05/15.
6 | // Copyright (c) 2015 Lokalise SIA. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LokaliseErrors.h"
11 | #import "LokaliseLocalizationType.h"
12 |
13 | @protocol LokaliseDelegate;
14 |
15 | extern NSString *__nonnull LokaliseFrameworkVersion;
16 | extern NSString *__nonnull LokaliseDidUpdateLocalizationNotification;
17 |
18 | @interface Lokalise : NSObject
19 |
20 | @property (class, readonly, strong) Lokalise *__nonnull sharedObject NS_SWIFT_NAME(shared);
21 |
22 | /**
23 | Lokalise SDK token.
24 | */
25 | @property (strong, nonatomic, readonly, nullable) NSString *token;
26 |
27 | /**
28 | Lokalise Project ID.
29 | */
30 | @property (strong, nonatomic, readonly, nullable) NSString *projectID;
31 |
32 | /**
33 | Set api token and project ID.
34 |
35 | @param projectID Project ID.
36 | @param token Lokalise SDK token.
37 | */
38 | - (void)setProjectID:(NSString *__nonnull)projectID token:(NSString *__nonnull)token;
39 |
40 | /**
41 | Set api token and project ID.
42 |
43 | @param apiToken Lokalise API Token.
44 | @param projectID Project ID.
45 | @deprecated Use [Lokalise.sharedObject setProjectId:projectId token:token]
46 | */
47 | - (void)setAPIToken:(NSString *__nonnull)apiToken projectID:(NSString *__nonnull)projectID __deprecated_msg("Use [Lokalise.sharedObject setProjectId:projectId token:token]");
48 |
49 | /**
50 | Currently selected localization locale.
51 | */
52 | @property (strong, nonatomic, readonly, nonnull) NSLocale *localizationLocale;
53 |
54 | /**
55 | @return NSArray of NSLocale objects. Always has at least one locale.
56 | */
57 | - (NSArray *__nonnull)availableLocales;
58 |
59 | /**
60 | Sets localization locale which will be available right away.
61 | Can be set only to one of available locales.
62 |
63 | @param localizationLocale Locale from availableLocales array.
64 | @param makeDefault Application will remember selected locale if set to true.
65 | @param completionBlock Completion block where error is nil if locale is set.
66 | */
67 | - (void)setLocalizationLocale:(NSLocale *__nonnull)localizationLocale makeDefault:(BOOL)makeDefault completion:(void (^__nullable)(NSError *__nullable error))completionBlock;
68 |
69 | /**
70 | Current bundle version. 0 if bundle is not loaded or downloaded.
71 | */
72 | @property (nonatomic, readonly) NSInteger lokaliseBundleVersion;
73 |
74 | /**
75 | Determines what source is used for localization.
76 | Set to `LokaliseLocalizationRelease` by default.
77 | */
78 | @property (nonatomic) LokaliseLocalizationType localizationType;
79 |
80 | /**
81 |
82 | This method returns the following when key is nil or not found in table:
83 |
84 | - If key is nil and value is nil, returns an empty string.
85 |
86 | - If key is nil and value is non-nil, returns value.
87 |
88 | - If key is not found and value is nil or an empty string, returns key.
89 |
90 | - If key is not found and value is non-nil and not empty, return value.
91 |
92 | @param key The key for a string in the table identified by tableName.
93 | @param value The value to return if key is nil or if a localized string for key can’t be found in the table.
94 | @param tableName The receiver’s string table to search. If tableName is nil or is an empty string, the method attempts to use the table in Localizable.strings.
95 |
96 | @return A localized version of the string designated by key in table tableName.
97 | */
98 | - (NSString *__nonnull)localizedStringForKey:(NSString *__nonnull)key value:(NSString *__nullable)value table:(NSString *__nullable)tableName NS_FORMAT_ARGUMENT(1);
99 |
100 | /**
101 | Check if new localization version is available and downloads it.
102 |
103 | @param completionBlock Completion block where parameter `updated` is set to true if new bundle was downloaded and `error` which provides details if something went wrong.
104 | */
105 | - (void)checkForUpdatesWithCompletion:(void (^__nullable)(BOOL updated, NSError *__nullable error))completionBlock;
106 |
107 | /**
108 | Deletes all files downloaded by lokalise framework.
109 | */
110 | - (void)deleteLokaliseData;
111 |
112 | /**
113 | Forces [[NSBundle mainBundle] localizedStringForKey:key value:value table:tableName] to use [[Lokalise shareObject] localizedStringForKey:key value:value table:tableName].
114 | */
115 | - (void)swizzleMainBundle;
116 |
117 | /**
118 | Deswizzles [[NSBundle mainBundle] localizedStringForKey:key value:value table:tableName].
119 | */
120 | - (void)deswizzleMainBundle;
121 |
122 | @end
123 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise.xcodeproj/xcshareddata/xcschemes/LanguageManger-iOS-Lokalise-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
47 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
65 |
66 |
67 |
68 |
78 |
80 |
86 |
87 |
88 |
89 |
90 |
91 |
97 |
99 |
105 |
106 |
107 |
108 |
110 |
111 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2019 Abedalkareem <abedalkareem.omreyh@yahoo.com>
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | License
38 | MIT
39 | Title
40 | LanguageManager-iOS-Lokalise
41 | Type
42 | PSGroupSpecifier
43 |
44 |
45 | FooterText
46 | # Copyright (c) 2017-present, Lokalise, Inc. All rights reserved.
47 |
48 | You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
49 | copy and distribute this software in binary form for use
50 | in connection with the services provided by Lokalise provided that the following conditions are met:
51 |
52 | * Redistributions in binary form must reproduce copyright notices and conditions of Intellectual Property included in this software.
53 | * Neither the name of Lokalise, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Lokalise, Inc.
54 |
55 | By using this software you are agreeing to Lokalise (Terms of Use)[https://lokalise.co/terms] and (Privacy Policy)[https://lokalise.co/privacy].
56 |
57 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58 |
59 | ## Intellectual Property Included in the Lokalise
60 |
61 | ### **ZipZap**
62 | Copyright (c) 2012, Pixelglow Software.
63 | All rights reserved.
64 |
65 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
66 |
67 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
68 |
69 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
70 |
71 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
72 | License
73 | Custom
74 | Title
75 | Lokalise
76 | Type
77 | PSGroupSpecifier
78 |
79 |
80 | FooterText
81 | Generated by CocoaPods - https://cocoapods.org
82 | Title
83 |
84 | Type
85 | PSGroupSpecifier
86 |
87 |
88 | StringsTable
89 | Acknowledgements
90 | Title
91 | Acknowledgements
92 |
93 |
94 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | set -u
4 | set -o pipefail
5 |
6 | function on_error {
7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
8 | }
9 | trap 'on_error $LINENO' ERR
10 |
11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
13 | # frameworks to, so exit 0 (signalling the script phase was successful).
14 | exit 0
15 | fi
16 |
17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
19 |
20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
22 | BCSYMBOLMAP_DIR="BCSymbolMaps"
23 |
24 |
25 | # This protects against multiple targets copying the same framework dependency at the same time. The solution
26 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
27 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
28 |
29 | # Copies and strips a vendored framework
30 | install_framework()
31 | {
32 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
33 | local source="${BUILT_PRODUCTS_DIR}/$1"
34 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
35 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
36 | elif [ -r "$1" ]; then
37 | local source="$1"
38 | fi
39 |
40 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
41 |
42 | if [ -L "${source}" ]; then
43 | echo "Symlinked..."
44 | source="$(readlink "${source}")"
45 | fi
46 |
47 | if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
48 | # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
49 | find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
50 | echo "Installing $f"
51 | install_bcsymbolmap "$f" "$destination"
52 | rm "$f"
53 | done
54 | rmdir "${source}/${BCSYMBOLMAP_DIR}"
55 | fi
56 |
57 | # Use filter instead of exclude so missing patterns don't throw errors.
58 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
59 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
60 |
61 | local basename
62 | basename="$(basename -s .framework "$1")"
63 | binary="${destination}/${basename}.framework/${basename}"
64 |
65 | if ! [ -r "$binary" ]; then
66 | binary="${destination}/${basename}"
67 | elif [ -L "${binary}" ]; then
68 | echo "Destination binary is symlinked..."
69 | dirname="$(dirname "${binary}")"
70 | binary="${dirname}/$(readlink "${binary}")"
71 | fi
72 |
73 | # Strip invalid architectures so "fat" simulator / device frameworks work on device
74 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
75 | strip_invalid_archs "$binary"
76 | fi
77 |
78 | # Resign the code if required by the build settings to avoid unstable apps
79 | code_sign_if_enabled "${destination}/$(basename "$1")"
80 |
81 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
82 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
83 | local swift_runtime_libs
84 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
85 | for lib in $swift_runtime_libs; do
86 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
87 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
88 | code_sign_if_enabled "${destination}/${lib}"
89 | done
90 | fi
91 | }
92 | # Copies and strips a vendored dSYM
93 | install_dsym() {
94 | local source="$1"
95 | warn_missing_arch=${2:-true}
96 | if [ -r "$source" ]; then
97 | # Copy the dSYM into the targets temp dir.
98 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
99 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
100 |
101 | local basename
102 | basename="$(basename -s .dSYM "$source")"
103 | binary_name="$(ls "$source/Contents/Resources/DWARF")"
104 | binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
105 |
106 | # Strip invalid architectures from the dSYM.
107 | if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
108 | strip_invalid_archs "$binary" "$warn_missing_arch"
109 | fi
110 | if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
111 | # Move the stripped file into its final destination.
112 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
113 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
114 | else
115 | # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
116 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
117 | fi
118 | fi
119 | }
120 |
121 | # Used as a return value for each invocation of `strip_invalid_archs` function.
122 | STRIP_BINARY_RETVAL=0
123 |
124 | # Strip invalid architectures
125 | strip_invalid_archs() {
126 | binary="$1"
127 | warn_missing_arch=${2:-true}
128 | # Get architectures for current target binary
129 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
130 | # Intersect them with the architectures we are building for
131 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
132 | # If there are no archs supported by this binary then warn the user
133 | if [[ -z "$intersected_archs" ]]; then
134 | if [[ "$warn_missing_arch" == "true" ]]; then
135 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
136 | fi
137 | STRIP_BINARY_RETVAL=1
138 | return
139 | fi
140 | stripped=""
141 | for arch in $binary_archs; do
142 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then
143 | # Strip non-valid architectures in-place
144 | lipo -remove "$arch" -output "$binary" "$binary"
145 | stripped="$stripped $arch"
146 | fi
147 | done
148 | if [[ "$stripped" ]]; then
149 | echo "Stripped $binary of architectures:$stripped"
150 | fi
151 | STRIP_BINARY_RETVAL=0
152 | }
153 |
154 | # Copies the bcsymbolmap files of a vendored framework
155 | install_bcsymbolmap() {
156 | local bcsymbolmap_path="$1"
157 | local destination="${BUILT_PRODUCTS_DIR}"
158 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
159 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
160 | }
161 |
162 | # Signs a framework with the provided identity
163 | code_sign_if_enabled() {
164 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
165 | # Use the current code_sign_identity
166 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
167 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
168 |
169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
170 | code_sign_cmd="$code_sign_cmd &"
171 | fi
172 | echo "$code_sign_cmd"
173 | eval "$code_sign_cmd"
174 | fi
175 | }
176 |
177 | if [[ "$CONFIGURATION" == "Debug" ]]; then
178 | install_framework "${BUILT_PRODUCTS_DIR}/LanguageManager-iOS-Lokalise/LanguageManager_iOS_Lokalise.framework"
179 | install_framework "${PODS_ROOT}/Lokalise/Lokalise.framework"
180 | fi
181 | if [[ "$CONFIGURATION" == "Release" ]]; then
182 | install_framework "${BUILT_PRODUCTS_DIR}/LanguageManager-iOS-Lokalise/LanguageManager_iOS_Lokalise.framework"
183 | install_framework "${PODS_ROOT}/Lokalise/Lokalise.framework"
184 | fi
185 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
186 | wait
187 | fi
188 |
--------------------------------------------------------------------------------
/LanguageManager-iOS-Lokalise/Classes/LanguageManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LanguageManager.swift
3 | //
4 | // Created by abedalkareem omreyh on 10/23/17.
5 | // Copyright © 2017 abedlkareem omreyh. All rights reserved.
6 | // GitHub: https://github.com/Abedalkareem/LanguageManager-iOS
7 | // The MIT License (MIT)
8 | //
9 | // Copyright (c) 2017 Abedalkareem
10 | //
11 | // Permission is hereby granted, free of charge, to any person obtaining a copy
12 | // of this software and associated documentation files (the "Software"), to deal
13 | // in the Software without restriction, including without limitation the rights
14 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 | // copies of the Software, and to permit persons to whom the Software is
16 | // furnished to do so, subject to the following conditions:
17 | //
18 | // The above copyright notice and this permission notice shall be included in all
19 | // copies or substantial portions of the Software.
20 | //
21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27 | // SOFTWARE.
28 |
29 | import UIKit
30 | import Lokalise
31 |
32 | public class LanguageManager {
33 |
34 | ///
35 | /// The singleton LanguageManager instance.
36 | ///
37 | public static let shared: LanguageManager = LanguageManager()
38 |
39 | /// Lokalise project id
40 | public var lokaliseProjectID: String?
41 | /// Lokalise token
42 | public var lokaliseToken: String?
43 | /// Lokalise localization type.
44 | /// The defualt value is `debug`.
45 | public var localizationType: LokaliseLocalizationType = .debug
46 |
47 | ///
48 | /// The current language.
49 | ///
50 | public var currentLanguage: Languages {
51 | get {
52 | guard let currentLang = UserDefaults.standard.string(forKey: Constants.defaultsKeys.selectedLanguage) else {
53 | fatalError("Did you set the default language for the app ?")
54 | }
55 | return Languages(rawValue: currentLang)!
56 | }
57 | set {
58 | UserDefaults.standard.set(newValue.rawValue, forKey: Constants.defaultsKeys.selectedLanguage)
59 | }
60 | }
61 |
62 | ///
63 | /// The default language that the app will run first time.
64 | /// You need to set the `defaultLanguage` in the `AppDelegate`, specifically in
65 | /// the first line inside `application(_:willFinishLaunchingWithOptions:)`.
66 | ///
67 | public var defaultLanguage: Languages {
68 | get {
69 |
70 | guard let defaultLanguage = UserDefaults.standard.string(forKey: Constants.defaultsKeys.defaultLanguage) else {
71 | fatalError("Did you set the default language for the app ?")
72 | }
73 | return Languages(rawValue: defaultLanguage)!
74 | }
75 | set {
76 |
77 | // swizzle the awakeFromNib from nib and localize the text in the new awakeFromNib
78 | UIView.localize()
79 |
80 | if let lokaliseProjectID = lokaliseProjectID, let lokaliseToken = lokaliseToken {
81 | Lokalise.shared.setProjectID(lokaliseProjectID,
82 | token: lokaliseToken)
83 | Lokalise.shared.localizationType = localizationType
84 | } else {
85 | fatalError("Did you forget to set the lokalise project id and token?")
86 | }
87 |
88 | let defaultLanguage = UserDefaults.standard.string(forKey: Constants.defaultsKeys.defaultLanguage)
89 | guard defaultLanguage == nil else {
90 | setLanguage(language: currentLanguage)
91 | return
92 | }
93 |
94 | var language = newValue
95 | if language == .deviceLanguage {
96 | language = deviceLanguage ?? .en
97 | }
98 |
99 | UserDefaults.standard.set(language.rawValue, forKey: Constants.defaultsKeys.defaultLanguage)
100 | UserDefaults.standard.set(language.rawValue, forKey: Constants.defaultsKeys.selectedLanguage)
101 | setLanguage(language: language)
102 | }
103 | }
104 |
105 | ///
106 | /// The device language is deffrent than the app language,
107 | /// to get the app language use `currentLanguage`.
108 | ///
109 | public var deviceLanguage: Languages? {
110 | get {
111 |
112 | guard let deviceLanguage = Bundle.main.preferredLocalizations.first else {
113 | return nil
114 | }
115 | return Languages(rawValue: deviceLanguage)
116 | }
117 | }
118 |
119 | /// The diriction of the language.
120 | public var isRightToLeft: Bool {
121 | get {
122 | return isLanguageRightToLeft(language: currentLanguage)
123 | }
124 | }
125 |
126 | /// The app locale to use it in dates and currency.
127 | public var appLocale: Locale {
128 | get {
129 | return Locale(identifier: currentLanguage.rawValue)
130 | }
131 | }
132 |
133 | ///
134 | /// Set the current language of the app
135 | ///
136 | /// - parameter language: The language that you need the app to run with.
137 | /// - parameter rootViewController: The new view controller to show after changing the language.
138 | /// - parameter animation: A closure with the current view to animate to the new view controller,
139 | /// so you need to animate the view, move it out of the screen, change the alpha,
140 | /// or scale it down to zero.
141 | ///
142 | public func setLanguage(language: Languages, rootViewController: UIViewController? = nil, lokaliseCompletionBlock: ((Error?) -> Void)? = nil, animation: ((UIView) -> Void)? = nil) {
143 |
144 | // change the dircation of the views
145 | let semanticContentAttribute: UISemanticContentAttribute = isLanguageRightToLeft(language: language) ? .forceRightToLeft : .forceLeftToRight
146 | UIView.appearance().semanticContentAttribute = semanticContentAttribute
147 |
148 | // set current language
149 | currentLanguage = language
150 |
151 | Lokalise.shared.setLocalizationLocale(Locale(identifier: language.rawValue),
152 | makeDefault: true)
153 | { error in
154 | print(error?.localizedDescription ?? "")
155 | lokaliseCompletionBlock?(error)
156 | }
157 |
158 | guard let rootViewController = rootViewController else {
159 | return
160 | }
161 |
162 | let snapshot = (UIApplication.shared.keyWindow?.snapshotView(afterScreenUpdates: true))!
163 | rootViewController.view.addSubview(snapshot);
164 |
165 | UIApplication.shared.delegate?.window??.rootViewController = rootViewController
166 |
167 | UIView.animate(withDuration: 0.5, animations: {
168 | animation?(snapshot)
169 | }) { _ in
170 | snapshot.removeFromSuperview()
171 | }
172 |
173 | }
174 |
175 | public func checkLocalizationUpdates(completion: ((Bool, Error?) -> Void)? = nil) {
176 | Lokalise.shared.checkForUpdates { updated, error in
177 | print("Localization bundle update status: \(updated)")
178 | if let error = error {
179 | print("Localization bundle can't be updated, reason: \(error.localizedDescription)")
180 | }
181 | completion?(updated, error)
182 | }
183 | }
184 |
185 | private func isLanguageRightToLeft(language: Languages) -> Bool {
186 | return Locale.characterDirection(forLanguage: language.rawValue) == .rightToLeft
187 | }
188 |
189 | }
190 |
191 | // MARK: - Languages
192 |
193 | public enum Languages: String {
194 | case ar,en,nl,ja,ko,vi,ru,sv,fr,es,pt,it,de,da,fi,nb,tr,el,id,
195 | ms,th,hi,hu,pl,cs,sk,uk,hr,ca,ro,he,ur,fa,ku,arc,sl,ml
196 | case enGB = "en-GB"
197 | case enAU = "en-AU"
198 | case enCA = "en-CA"
199 | case enIN = "en-IN"
200 | case frCA = "fr-CA"
201 | case esMX = "es-MX"
202 | case ptBR = "pt-BR"
203 | case zhHans = "zh-Hans"
204 | case zhHant = "zh-Hant"
205 | case zhHK = "zh-HK"
206 | case es419 = "es-419"
207 | case ptPT = "pt-PT"
208 | case deviceLanguage
209 | }
210 |
211 | // MARK: - Swizzling
212 |
213 | fileprivate extension UIView {
214 | static func localize() {
215 |
216 | let orginalSelector = #selector(awakeFromNib)
217 | let swizzledSelector = #selector(swizzledAwakeFromNib)
218 |
219 | let orginalMethod = class_getInstanceMethod(self, orginalSelector)
220 | let swizzledMethod = class_getInstanceMethod(self, swizzledSelector)
221 |
222 | let didAddMethod = class_addMethod(self, orginalSelector, method_getImplementation(swizzledMethod!), method_getTypeEncoding(swizzledMethod!))
223 |
224 | if didAddMethod {
225 | class_replaceMethod(self, swizzledSelector, method_getImplementation(orginalMethod!), method_getTypeEncoding(orginalMethod!))
226 | } else {
227 | method_exchangeImplementations(orginalMethod!, swizzledMethod!)
228 | }
229 |
230 | }
231 |
232 | @objc func swizzledAwakeFromNib() {
233 | swizzledAwakeFromNib()
234 |
235 | switch self {
236 | case let txtf as UITextField:
237 | txtf.text = txtf.text?.localiz()
238 | txtf.placeholder = txtf.placeholder?.localiz()
239 | case let lbl as UILabel:
240 | lbl.text = lbl.text?.localiz()
241 | case let btn as UIButton:
242 | btn.setTitle(btn.title(for: .normal)?.localiz(), for: .normal)
243 | case let sgmnt as UISegmentedControl:
244 | (0 ..< sgmnt.numberOfSegments).forEach { sgmnt.setTitle(sgmnt.titleForSegment(at: $0)?.localiz(), forSegmentAt: $0) }
245 | case let txtv as UITextView:
246 | txtv.text = txtv.text?.localiz()
247 | default:
248 | break
249 | }
250 | }
251 | }
252 |
253 | // MARK: - String extension
254 |
255 | public extension String {
256 |
257 | ///
258 | /// Localize the current string to the selected language
259 | ///
260 | /// - returns: The localized string
261 | ///
262 | func localiz(comment: String = "") -> String {
263 | return Lokalise.shared.localizedString(forKey: self, value: self, table: nil)
264 | }
265 |
266 | }
267 |
268 | // MARK: - ImageDirection
269 |
270 | public enum ImageDirection: Int {
271 | case fixed, leftToRight, rightToLeft
272 | }
273 |
274 | private extension UIView {
275 | ///
276 | /// Change the direction of the image depeneding in the language, there is no return value for this variable.
277 | /// The expectid values:
278 | ///
279 | /// -`fixed`: if the image must not change the direction depending on the language you need to set the value as 0.
280 | ///
281 | /// -`leftToRight`: if the image must change the direction depending on the language
282 | /// and the image is left to right image then you need to set the value as 1.
283 | ///
284 | /// -`rightToLeft`: if the image must change the direction depending on the language
285 | /// and the image is right to left image then you need to set the value as 2.
286 | ///
287 | var direction: ImageDirection {
288 | set {
289 | switch newValue {
290 | case .fixed:
291 | break
292 | case .leftToRight where LanguageManager.shared.isRightToLeft:
293 | transform = CGAffineTransform(scaleX: -1, y: 1)
294 | case .rightToLeft where !LanguageManager.shared.isRightToLeft:
295 | transform = CGAffineTransform(scaleX: -1, y: 1)
296 | default:
297 | break
298 | }
299 | }
300 | get {
301 | fatalError("There is no value return from this variable, this variable used to change the image direction depending on the langauge")
302 | }
303 | }
304 | }
305 |
306 | @IBDesignable
307 | public extension UIImageView {
308 | @IBInspectable var imageDirection: Int {
309 | set {
310 | direction = ImageDirection(rawValue: newValue)!
311 | }
312 | get {
313 | return direction.rawValue
314 | }
315 | }
316 | }
317 |
318 | @IBDesignable
319 | public extension UIButton {
320 | @IBInspectable var imageDirection: Int {
321 | set {
322 | direction = ImageDirection(rawValue: newValue)!
323 | }
324 | get {
325 | return direction.rawValue
326 | }
327 | }
328 | }
329 |
330 | // MARK: - Constants
331 |
332 | fileprivate enum Constants {
333 |
334 | enum defaultsKeys {
335 | static let selectedLanguage = "LanguageManagerSelectedLanguage"
336 | static let defaultLanguage = "LanguageManagerDefaultLanguage"
337 | }
338 |
339 | enum strings {
340 | static let unlocalized = ""
341 | }
342 | }
343 |
--------------------------------------------------------------------------------
/Example/LanguageManager-iOS-Lokalise.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | C6375EDD231BBDAD00FF6A3B /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6375ED5231BBDAD00FF6A3B /* MainViewController.swift */; };
11 | C6375EDE231BBDAD00FF6A3B /* SplashViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6375ED6231BBDAD00FF6A3B /* SplashViewController.swift */; };
12 | C6375EE0231BBDAD00FF6A3B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6375ED8231BBDAD00FF6A3B /* AppDelegate.swift */; };
13 | C6375EE3231BBE7800FF6A3B /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = C6375ED0231BBDAD00FF6A3B /* LaunchScreen.xib */; };
14 | C6375EE4231BBE7800FF6A3B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6375ED2231BBDAD00FF6A3B /* Main.storyboard */; };
15 | C6375EE5231BBE8200FF6A3B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C6375ECC231BBDAD00FF6A3B /* Localizable.strings */; };
16 | C6375EE6231BBE8200FF6A3B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C6375ED7231BBDAD00FF6A3B /* Images.xcassets */; };
17 | FA263C2010AFD85D3CCBE278 /* Pods_LanguageManager_iOS_Lokalise_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E6F09A2F7774D4EBA0B20866 /* Pods_LanguageManager_iOS_Lokalise_Example.framework */; };
18 | /* End PBXBuildFile section */
19 |
20 | /* Begin PBXFileReference section */
21 | 0093FDB2F3AEABEAF9C63F06 /* LanguageManger-iOS-Lokalise.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = "LanguageManger-iOS-Lokalise.podspec"; path = "../LanguageManger-iOS-Lokalise.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
22 | 0C657FBA5865B621534E9B27 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
23 | 0D76B229664E02E5A65B8229 /* Pods-LanguageManger-iOS-Lokalise_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanguageManger-iOS-Lokalise_Tests.release.xcconfig"; path = "Target Support Files/Pods-LanguageManger-iOS-Lokalise_Tests/Pods-LanguageManger-iOS-Lokalise_Tests.release.xcconfig"; sourceTree = ""; };
24 | 1A4C0D372BE356F24B089F4E /* Pods-LanguageManger-iOS-Lokalise_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanguageManger-iOS-Lokalise_Tests.debug.xcconfig"; path = "Target Support Files/Pods-LanguageManger-iOS-Lokalise_Tests/Pods-LanguageManger-iOS-Lokalise_Tests.debug.xcconfig"; sourceTree = ""; };
25 | 4B447E8431BB4F527D705A01 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
26 | 607FACD01AFB9204008FA782 /* LanguageManager-iOS-Lokalise_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "LanguageManager-iOS-Lokalise_Example.app"; sourceTree = BUILT_PRODUCTS_DIR; };
27 | 86193079C1788D4EC4691D5E /* Pods-LanguageManger-iOS-Lokalise_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanguageManger-iOS-Lokalise_Example.debug.xcconfig"; path = "Target Support Files/Pods-LanguageManger-iOS-Lokalise_Example/Pods-LanguageManger-iOS-Lokalise_Example.debug.xcconfig"; sourceTree = ""; };
28 | 88B7C9A014438C617EB9E99E /* Pods-LanguageManger-iOS-Lokalise_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanguageManger-iOS-Lokalise_Example.release.xcconfig"; path = "Target Support Files/Pods-LanguageManger-iOS-Lokalise_Example/Pods-LanguageManger-iOS-Lokalise_Example.release.xcconfig"; sourceTree = ""; };
29 | A237CD18D2DEA5D3BD11CA54 /* Pods_LanguageManger_iOS_Lokalise_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LanguageManger_iOS_Lokalise_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
30 | C6375ECD231BBDAD00FF6A3B /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = ""; };
31 | C6375ECE231BBDAD00FF6A3B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; };
32 | C6375ED1231BBDAD00FF6A3B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
33 | C6375ED3231BBDAD00FF6A3B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
34 | C6375ED5231BBDAD00FF6A3B /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; };
35 | C6375ED6231BBDAD00FF6A3B /* SplashViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplashViewController.swift; sourceTree = ""; };
36 | C6375ED7231BBDAD00FF6A3B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
37 | C6375ED8231BBDAD00FF6A3B /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
38 | C6375ED9231BBDAD00FF6A3B /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
39 | E6F09A2F7774D4EBA0B20866 /* Pods_LanguageManager_iOS_Lokalise_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LanguageManager_iOS_Lokalise_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
40 | E9B80318C40749B7976A40DC /* Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig"; path = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig"; sourceTree = ""; };
41 | FD8BAB132CA3E77F67342C25 /* Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig"; path = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig"; sourceTree = ""; };
42 | /* End PBXFileReference section */
43 |
44 | /* Begin PBXFrameworksBuildPhase section */
45 | 607FACCD1AFB9204008FA782 /* Frameworks */ = {
46 | isa = PBXFrameworksBuildPhase;
47 | buildActionMask = 2147483647;
48 | files = (
49 | FA263C2010AFD85D3CCBE278 /* Pods_LanguageManager_iOS_Lokalise_Example.framework in Frameworks */,
50 | );
51 | runOnlyForDeploymentPostprocessing = 0;
52 | };
53 | /* End PBXFrameworksBuildPhase section */
54 |
55 | /* Begin PBXGroup section */
56 | 607FACC71AFB9204008FA782 = {
57 | isa = PBXGroup;
58 | children = (
59 | 607FACF51AFB993E008FA782 /* Podspec Metadata */,
60 | 607FACD11AFB9204008FA782 /* Products */,
61 | C9AAE328F4EFD35FD167EDEE /* Pods */,
62 | C21EA82D1B577381A1A1C4FC /* Frameworks */,
63 | );
64 | sourceTree = "";
65 | };
66 | 607FACD11AFB9204008FA782 /* Products */ = {
67 | isa = PBXGroup;
68 | children = (
69 | 607FACD01AFB9204008FA782 /* LanguageManager-iOS-Lokalise_Example.app */,
70 | );
71 | name = Products;
72 | sourceTree = "";
73 | };
74 | 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
75 | isa = PBXGroup;
76 | children = (
77 | 0093FDB2F3AEABEAF9C63F06 /* LanguageManger-iOS-Lokalise.podspec */,
78 | 4B447E8431BB4F527D705A01 /* README.md */,
79 | 0C657FBA5865B621534E9B27 /* LICENSE */,
80 | C6375ECB231BBDAD00FF6A3B /* LanguageManager-iOS-Lokalise */,
81 | );
82 | name = "Podspec Metadata";
83 | sourceTree = "";
84 | };
85 | C21EA82D1B577381A1A1C4FC /* Frameworks */ = {
86 | isa = PBXGroup;
87 | children = (
88 | A237CD18D2DEA5D3BD11CA54 /* Pods_LanguageManger_iOS_Lokalise_Tests.framework */,
89 | E6F09A2F7774D4EBA0B20866 /* Pods_LanguageManager_iOS_Lokalise_Example.framework */,
90 | );
91 | name = Frameworks;
92 | sourceTree = "";
93 | };
94 | C6375ECB231BBDAD00FF6A3B /* LanguageManager-iOS-Lokalise */ = {
95 | isa = PBXGroup;
96 | children = (
97 | C6375ECC231BBDAD00FF6A3B /* Localizable.strings */,
98 | C6375ECF231BBDAD00FF6A3B /* Screens */,
99 | C6375ED4231BBDAD00FF6A3B /* ViewControllers */,
100 | C6375ED7231BBDAD00FF6A3B /* Images.xcassets */,
101 | C6375ED8231BBDAD00FF6A3B /* AppDelegate.swift */,
102 | C6375ED9231BBDAD00FF6A3B /* Info.plist */,
103 | );
104 | path = "LanguageManager-iOS-Lokalise";
105 | sourceTree = "";
106 | };
107 | C6375ECF231BBDAD00FF6A3B /* Screens */ = {
108 | isa = PBXGroup;
109 | children = (
110 | C6375ED0231BBDAD00FF6A3B /* LaunchScreen.xib */,
111 | C6375ED2231BBDAD00FF6A3B /* Main.storyboard */,
112 | );
113 | path = Screens;
114 | sourceTree = "";
115 | };
116 | C6375ED4231BBDAD00FF6A3B /* ViewControllers */ = {
117 | isa = PBXGroup;
118 | children = (
119 | C6375ED5231BBDAD00FF6A3B /* MainViewController.swift */,
120 | C6375ED6231BBDAD00FF6A3B /* SplashViewController.swift */,
121 | );
122 | path = ViewControllers;
123 | sourceTree = "";
124 | };
125 | C9AAE328F4EFD35FD167EDEE /* Pods */ = {
126 | isa = PBXGroup;
127 | children = (
128 | 86193079C1788D4EC4691D5E /* Pods-LanguageManger-iOS-Lokalise_Example.debug.xcconfig */,
129 | 88B7C9A014438C617EB9E99E /* Pods-LanguageManger-iOS-Lokalise_Example.release.xcconfig */,
130 | 1A4C0D372BE356F24B089F4E /* Pods-LanguageManger-iOS-Lokalise_Tests.debug.xcconfig */,
131 | 0D76B229664E02E5A65B8229 /* Pods-LanguageManger-iOS-Lokalise_Tests.release.xcconfig */,
132 | FD8BAB132CA3E77F67342C25 /* Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig */,
133 | E9B80318C40749B7976A40DC /* Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig */,
134 | );
135 | path = Pods;
136 | sourceTree = "";
137 | };
138 | /* End PBXGroup section */
139 |
140 | /* Begin PBXNativeTarget section */
141 | 607FACCF1AFB9204008FA782 /* LanguageManager-iOS-Lokalise_Example */ = {
142 | isa = PBXNativeTarget;
143 | buildConfigurationList = 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "LanguageManager-iOS-Lokalise_Example" */;
144 | buildPhases = (
145 | 173479217808B682A8771822 /* [CP] Check Pods Manifest.lock */,
146 | 607FACCC1AFB9204008FA782 /* Sources */,
147 | 607FACCD1AFB9204008FA782 /* Frameworks */,
148 | 607FACCE1AFB9204008FA782 /* Resources */,
149 | 6CA02F44F95CAF5DAC9DA047 /* [CP] Embed Pods Frameworks */,
150 | );
151 | buildRules = (
152 | );
153 | dependencies = (
154 | );
155 | name = "LanguageManager-iOS-Lokalise_Example";
156 | productName = "LanguageManger-iOS-Lokalise";
157 | productReference = 607FACD01AFB9204008FA782 /* LanguageManager-iOS-Lokalise_Example.app */;
158 | productType = "com.apple.product-type.application";
159 | };
160 | /* End PBXNativeTarget section */
161 |
162 | /* Begin PBXProject section */
163 | 607FACC81AFB9204008FA782 /* Project object */ = {
164 | isa = PBXProject;
165 | attributes = {
166 | LastSwiftUpdateCheck = 0830;
167 | LastUpgradeCheck = 1030;
168 | ORGANIZATIONNAME = CocoaPods;
169 | TargetAttributes = {
170 | 607FACCF1AFB9204008FA782 = {
171 | CreatedOnToolsVersion = 6.3.1;
172 | LastSwiftMigration = 1030;
173 | };
174 | };
175 | };
176 | buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "LanguageManager-iOS-Lokalise" */;
177 | compatibilityVersion = "Xcode 3.2";
178 | developmentRegion = English;
179 | hasScannedForEncodings = 0;
180 | knownRegions = (
181 | English,
182 | en,
183 | Base,
184 | ar,
185 | );
186 | mainGroup = 607FACC71AFB9204008FA782;
187 | productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
188 | projectDirPath = "";
189 | projectRoot = "";
190 | targets = (
191 | 607FACCF1AFB9204008FA782 /* LanguageManager-iOS-Lokalise_Example */,
192 | );
193 | };
194 | /* End PBXProject section */
195 |
196 | /* Begin PBXResourcesBuildPhase section */
197 | 607FACCE1AFB9204008FA782 /* Resources */ = {
198 | isa = PBXResourcesBuildPhase;
199 | buildActionMask = 2147483647;
200 | files = (
201 | C6375EE5231BBE8200FF6A3B /* Localizable.strings in Resources */,
202 | C6375EE6231BBE8200FF6A3B /* Images.xcassets in Resources */,
203 | C6375EE3231BBE7800FF6A3B /* LaunchScreen.xib in Resources */,
204 | C6375EE4231BBE7800FF6A3B /* Main.storyboard in Resources */,
205 | );
206 | runOnlyForDeploymentPostprocessing = 0;
207 | };
208 | /* End PBXResourcesBuildPhase section */
209 |
210 | /* Begin PBXShellScriptBuildPhase section */
211 | 173479217808B682A8771822 /* [CP] Check Pods Manifest.lock */ = {
212 | isa = PBXShellScriptBuildPhase;
213 | buildActionMask = 2147483647;
214 | files = (
215 | );
216 | inputFileListPaths = (
217 | );
218 | inputPaths = (
219 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
220 | "${PODS_ROOT}/Manifest.lock",
221 | );
222 | name = "[CP] Check Pods Manifest.lock";
223 | outputFileListPaths = (
224 | );
225 | outputPaths = (
226 | "$(DERIVED_FILE_DIR)/Pods-LanguageManager-iOS-Lokalise_Example-checkManifestLockResult.txt",
227 | );
228 | runOnlyForDeploymentPostprocessing = 0;
229 | shellPath = /bin/sh;
230 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
231 | showEnvVarsInLog = 0;
232 | };
233 | 6CA02F44F95CAF5DAC9DA047 /* [CP] Embed Pods Frameworks */ = {
234 | isa = PBXShellScriptBuildPhase;
235 | buildActionMask = 2147483647;
236 | files = (
237 | );
238 | inputPaths = (
239 | "${PODS_ROOT}/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh",
240 | "${BUILT_PRODUCTS_DIR}/LanguageManager-iOS-Lokalise/LanguageManager_iOS_Lokalise.framework",
241 | "${PODS_ROOT}/Lokalise/Lokalise.framework",
242 | );
243 | name = "[CP] Embed Pods Frameworks";
244 | outputPaths = (
245 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LanguageManager_iOS_Lokalise.framework",
246 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lokalise.framework",
247 | );
248 | runOnlyForDeploymentPostprocessing = 0;
249 | shellPath = /bin/sh;
250 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh\"\n";
251 | showEnvVarsInLog = 0;
252 | };
253 | /* End PBXShellScriptBuildPhase section */
254 |
255 | /* Begin PBXSourcesBuildPhase section */
256 | 607FACCC1AFB9204008FA782 /* Sources */ = {
257 | isa = PBXSourcesBuildPhase;
258 | buildActionMask = 2147483647;
259 | files = (
260 | C6375EE0231BBDAD00FF6A3B /* AppDelegate.swift in Sources */,
261 | C6375EDD231BBDAD00FF6A3B /* MainViewController.swift in Sources */,
262 | C6375EDE231BBDAD00FF6A3B /* SplashViewController.swift in Sources */,
263 | );
264 | runOnlyForDeploymentPostprocessing = 0;
265 | };
266 | /* End PBXSourcesBuildPhase section */
267 |
268 | /* Begin PBXVariantGroup section */
269 | C6375ECC231BBDAD00FF6A3B /* Localizable.strings */ = {
270 | isa = PBXVariantGroup;
271 | children = (
272 | C6375ECD231BBDAD00FF6A3B /* ar */,
273 | C6375ECE231BBDAD00FF6A3B /* en */,
274 | );
275 | name = Localizable.strings;
276 | sourceTree = "";
277 | };
278 | C6375ED0231BBDAD00FF6A3B /* LaunchScreen.xib */ = {
279 | isa = PBXVariantGroup;
280 | children = (
281 | C6375ED1231BBDAD00FF6A3B /* Base */,
282 | );
283 | name = LaunchScreen.xib;
284 | sourceTree = "";
285 | };
286 | C6375ED2231BBDAD00FF6A3B /* Main.storyboard */ = {
287 | isa = PBXVariantGroup;
288 | children = (
289 | C6375ED3231BBDAD00FF6A3B /* Base */,
290 | );
291 | name = Main.storyboard;
292 | sourceTree = "";
293 | };
294 | /* End PBXVariantGroup section */
295 |
296 | /* Begin XCBuildConfiguration section */
297 | 607FACED1AFB9204008FA782 /* Debug */ = {
298 | isa = XCBuildConfiguration;
299 | buildSettings = {
300 | ALWAYS_SEARCH_USER_PATHS = NO;
301 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
302 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
303 | CLANG_CXX_LIBRARY = "libc++";
304 | CLANG_ENABLE_MODULES = YES;
305 | CLANG_ENABLE_OBJC_ARC = YES;
306 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
307 | CLANG_WARN_BOOL_CONVERSION = YES;
308 | CLANG_WARN_COMMA = YES;
309 | CLANG_WARN_CONSTANT_CONVERSION = YES;
310 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
311 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
312 | CLANG_WARN_EMPTY_BODY = YES;
313 | CLANG_WARN_ENUM_CONVERSION = YES;
314 | CLANG_WARN_INFINITE_RECURSION = YES;
315 | CLANG_WARN_INT_CONVERSION = YES;
316 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
317 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
318 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
319 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
320 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
321 | CLANG_WARN_STRICT_PROTOTYPES = YES;
322 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
323 | CLANG_WARN_UNREACHABLE_CODE = YES;
324 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
325 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
326 | COPY_PHASE_STRIP = NO;
327 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
328 | ENABLE_STRICT_OBJC_MSGSEND = YES;
329 | ENABLE_TESTABILITY = YES;
330 | GCC_C_LANGUAGE_STANDARD = gnu99;
331 | GCC_DYNAMIC_NO_PIC = NO;
332 | GCC_NO_COMMON_BLOCKS = YES;
333 | GCC_OPTIMIZATION_LEVEL = 0;
334 | GCC_PREPROCESSOR_DEFINITIONS = (
335 | "DEBUG=1",
336 | "$(inherited)",
337 | );
338 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
339 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
340 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
341 | GCC_WARN_UNDECLARED_SELECTOR = YES;
342 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
343 | GCC_WARN_UNUSED_FUNCTION = YES;
344 | GCC_WARN_UNUSED_VARIABLE = YES;
345 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
346 | MTL_ENABLE_DEBUG_INFO = YES;
347 | ONLY_ACTIVE_ARCH = YES;
348 | SDKROOT = iphoneos;
349 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
350 | };
351 | name = Debug;
352 | };
353 | 607FACEE1AFB9204008FA782 /* Release */ = {
354 | isa = XCBuildConfiguration;
355 | buildSettings = {
356 | ALWAYS_SEARCH_USER_PATHS = NO;
357 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
358 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
359 | CLANG_CXX_LIBRARY = "libc++";
360 | CLANG_ENABLE_MODULES = YES;
361 | CLANG_ENABLE_OBJC_ARC = YES;
362 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
363 | CLANG_WARN_BOOL_CONVERSION = YES;
364 | CLANG_WARN_COMMA = YES;
365 | CLANG_WARN_CONSTANT_CONVERSION = YES;
366 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
367 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
368 | CLANG_WARN_EMPTY_BODY = YES;
369 | CLANG_WARN_ENUM_CONVERSION = YES;
370 | CLANG_WARN_INFINITE_RECURSION = YES;
371 | CLANG_WARN_INT_CONVERSION = YES;
372 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
373 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
374 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
375 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
376 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
377 | CLANG_WARN_STRICT_PROTOTYPES = YES;
378 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
379 | CLANG_WARN_UNREACHABLE_CODE = YES;
380 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
381 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
382 | COPY_PHASE_STRIP = NO;
383 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
384 | ENABLE_NS_ASSERTIONS = NO;
385 | ENABLE_STRICT_OBJC_MSGSEND = YES;
386 | GCC_C_LANGUAGE_STANDARD = gnu99;
387 | GCC_NO_COMMON_BLOCKS = YES;
388 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
389 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
390 | GCC_WARN_UNDECLARED_SELECTOR = YES;
391 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
392 | GCC_WARN_UNUSED_FUNCTION = YES;
393 | GCC_WARN_UNUSED_VARIABLE = YES;
394 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
395 | MTL_ENABLE_DEBUG_INFO = NO;
396 | SDKROOT = iphoneos;
397 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
398 | VALIDATE_PRODUCT = YES;
399 | };
400 | name = Release;
401 | };
402 | 607FACF01AFB9204008FA782 /* Debug */ = {
403 | isa = XCBuildConfiguration;
404 | baseConfigurationReference = FD8BAB132CA3E77F67342C25 /* Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig */;
405 | buildSettings = {
406 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
407 | INFOPLIST_FILE = "$(SRCROOT)/LanguageManager-iOS-Lokalise/Info.plist";
408 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
409 | MODULE_NAME = ExampleApp;
410 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
411 | PRODUCT_NAME = "$(TARGET_NAME)";
412 | SWIFT_VERSION = 5.0;
413 | };
414 | name = Debug;
415 | };
416 | 607FACF11AFB9204008FA782 /* Release */ = {
417 | isa = XCBuildConfiguration;
418 | baseConfigurationReference = E9B80318C40749B7976A40DC /* Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig */;
419 | buildSettings = {
420 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
421 | INFOPLIST_FILE = "$(SRCROOT)/LanguageManager-iOS-Lokalise/Info.plist";
422 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
423 | MODULE_NAME = ExampleApp;
424 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
425 | PRODUCT_NAME = "$(TARGET_NAME)";
426 | SWIFT_VERSION = 5.0;
427 | };
428 | name = Release;
429 | };
430 | /* End XCBuildConfiguration section */
431 |
432 | /* Begin XCConfigurationList section */
433 | 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "LanguageManager-iOS-Lokalise" */ = {
434 | isa = XCConfigurationList;
435 | buildConfigurations = (
436 | 607FACED1AFB9204008FA782 /* Debug */,
437 | 607FACEE1AFB9204008FA782 /* Release */,
438 | );
439 | defaultConfigurationIsVisible = 0;
440 | defaultConfigurationName = Release;
441 | };
442 | 607FACEF1AFB9204008FA782 /* Build configuration list for PBXNativeTarget "LanguageManager-iOS-Lokalise_Example" */ = {
443 | isa = XCConfigurationList;
444 | buildConfigurations = (
445 | 607FACF01AFB9204008FA782 /* Debug */,
446 | 607FACF11AFB9204008FA782 /* Release */,
447 | );
448 | defaultConfigurationIsVisible = 0;
449 | defaultConfigurationName = Release;
450 | };
451 | /* End XCConfigurationList section */
452 | };
453 | rootObject = 607FACC81AFB9204008FA782 /* Project object */;
454 | }
455 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXAggregateTarget section */
10 | 58BADA2E6AF091DA3F6549904CCC4CE5 /* Lokalise */ = {
11 | isa = PBXAggregateTarget;
12 | buildConfigurationList = 9E904FA6943811AE0BC46D25AAC257A5 /* Build configuration list for PBXAggregateTarget "Lokalise" */;
13 | buildPhases = (
14 | );
15 | dependencies = (
16 | );
17 | name = Lokalise;
18 | productName = Lokalise;
19 | };
20 | /* End PBXAggregateTarget section */
21 |
22 | /* Begin PBXBuildFile section */
23 | 4F4636B6F6B232D390ED5276F2B58430 /* LanguageManager-iOS-Lokalise-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BE0E12368E0D1FD9D1A474C1E9B200B /* LanguageManager-iOS-Lokalise-dummy.m */; };
24 | 6B8B56479A65FB5B9C0CD76DEE0E2051 /* Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CA2C9A31E9DD41005A31DD762397E168 /* Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
25 | 84B0524220A6D7E561BAF91ABF6B6FC6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
26 | 96023548344C496249CAA30478E7E70A /* LanguageManager-iOS-Lokalise-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F43CC755A380E9B385AA72B5B4F10F73 /* LanguageManager-iOS-Lokalise-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
27 | A54684040954ED2CC80E29B088D3569E /* LanguageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A29CB2CF63C79FD76B6C817E6AA8BC /* LanguageManager.swift */; };
28 | B3E2CF85A07B0146B3F49FE5D673C164 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
29 | ED545D49FD3DF770840BE5A3A4F81AE1 /* Pods-LanguageManager-iOS-Lokalise_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F9D2B0CE39401744908CDCE50D0D59B /* Pods-LanguageManager-iOS-Lokalise_Example-dummy.m */; };
30 | /* End PBXBuildFile section */
31 |
32 | /* Begin PBXContainerItemProxy section */
33 | 3354BB9EA0C19B76FAAF4010E0E01E5B /* PBXContainerItemProxy */ = {
34 | isa = PBXContainerItemProxy;
35 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
36 | proxyType = 1;
37 | remoteGlobalIDString = 58BADA2E6AF091DA3F6549904CCC4CE5;
38 | remoteInfo = Lokalise;
39 | };
40 | 59481A32140FBA9E0B583171972CE207 /* PBXContainerItemProxy */ = {
41 | isa = PBXContainerItemProxy;
42 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
43 | proxyType = 1;
44 | remoteGlobalIDString = CB3B2598A10A954BE6E667B85D3FE02A;
45 | remoteInfo = "LanguageManager-iOS-Lokalise";
46 | };
47 | 7E0C156760047C3693558D04DD44ECF5 /* PBXContainerItemProxy */ = {
48 | isa = PBXContainerItemProxy;
49 | containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
50 | proxyType = 1;
51 | remoteGlobalIDString = 58BADA2E6AF091DA3F6549904CCC4CE5;
52 | remoteInfo = Lokalise;
53 | };
54 | /* End PBXContainerItemProxy section */
55 |
56 | /* Begin PBXFileReference section */
57 | 1BE0E12368E0D1FD9D1A474C1E9B200B /* LanguageManager-iOS-Lokalise-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LanguageManager-iOS-Lokalise-dummy.m"; sourceTree = ""; };
58 | 1E68EAB85FE17EDB834ED19DF2ED54C5 /* LanguageManager_iOS_Lokalise.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LanguageManager_iOS_Lokalise.framework; sourceTree = BUILT_PRODUCTS_DIR; };
59 | 244AF18D546A7041388E9AC73074B6B1 /* Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.markdown"; sourceTree = ""; };
60 | 254A0288B9E24F337D878225F3A41FCE /* Pods-LanguageManager-iOS-Lokalise_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LanguageManager-iOS-Lokalise_Example-Info.plist"; sourceTree = ""; };
61 | 25ABA06EC60A4E5E63C1B057DE93B47F /* Pods-LanguageManager-iOS-Lokalise_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LanguageManager-iOS-Lokalise_Example.modulemap"; sourceTree = ""; };
62 | 3B6EA36ABD351C46A5F94BEDF5C6806C /* LanguageManager-iOS-Lokalise-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LanguageManager-iOS-Lokalise-prefix.pch"; sourceTree = ""; };
63 | 3C9BFCA652AEF0D3982DDB6946202D5B /* LanguageManager-iOS-Lokalise.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "LanguageManager-iOS-Lokalise.debug.xcconfig"; sourceTree = ""; };
64 | 404234EC7387B4DE6FFDA292F7D8987D /* Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.plist"; sourceTree = ""; };
65 | 5948E1812BF550A7E346B230C369E5A3 /* Pods_LanguageManager_iOS_Lokalise_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LanguageManager_iOS_Lokalise_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
66 | 5F9D2B0CE39401744908CDCE50D0D59B /* Pods-LanguageManager-iOS-Lokalise_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LanguageManager-iOS-Lokalise_Example-dummy.m"; sourceTree = ""; };
67 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
68 | 74A29CB2CF63C79FD76B6C817E6AA8BC /* LanguageManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LanguageManager.swift; path = "LanguageManager-iOS-Lokalise/Classes/LanguageManager.swift"; sourceTree = ""; };
69 | 7F0ACF2B98EDC7E37F334B25A36C6BA7 /* Lokalise.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Lokalise.release.xcconfig; sourceTree = ""; };
70 | 9D4D1C2FB17BB13303A0E9498A0738A2 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
71 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
72 | A757ABF2A42AFA1C43F03A0EF35B262D /* Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig"; sourceTree = ""; };
73 | B70C2F49238A1BB918AA190735CF4CFE /* LanguageManager-iOS-Lokalise-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LanguageManager-iOS-Lokalise-Info.plist"; sourceTree = ""; };
74 | C704C4C16D2F19AAD7D3FC379B2B28EF /* Lokalise.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Lokalise.debug.xcconfig; sourceTree = ""; };
75 | CA2C9A31E9DD41005A31DD762397E168 /* Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h"; sourceTree = ""; };
76 | CB2752581B12103941D31DD9A2572C13 /* Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh"; sourceTree = ""; };
77 | DCE656F1BCD909A52AF4A7170DBF4ACB /* LanguageManager-iOS-Lokalise.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = "LanguageManager-iOS-Lokalise.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
78 | E61FFAC279FE7DA4E4C936F56CB08A8E /* LanguageManager-iOS-Lokalise.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "LanguageManager-iOS-Lokalise.release.xcconfig"; sourceTree = ""; };
79 | EC6BB708297B7584DC5D63EDA23F8EB0 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; };
80 | ED0C18AB90C464DFC3D083270001E576 /* Lokalise.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Lokalise.framework; sourceTree = ""; };
81 | EDCD6A3B9EEB30665EC4D85013388B82 /* Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig"; sourceTree = ""; };
82 | F43CC755A380E9B385AA72B5B4F10F73 /* LanguageManager-iOS-Lokalise-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LanguageManager-iOS-Lokalise-umbrella.h"; sourceTree = ""; };
83 | FD71EFA4FFB221C5235CC077C9DABE0C /* LanguageManager-iOS-Lokalise.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "LanguageManager-iOS-Lokalise.modulemap"; sourceTree = ""; };
84 | /* End PBXFileReference section */
85 |
86 | /* Begin PBXFrameworksBuildPhase section */
87 | 027A086889C11A3B3710B4D01442546C /* Frameworks */ = {
88 | isa = PBXFrameworksBuildPhase;
89 | buildActionMask = 2147483647;
90 | files = (
91 | 84B0524220A6D7E561BAF91ABF6B6FC6 /* Foundation.framework in Frameworks */,
92 | );
93 | runOnlyForDeploymentPostprocessing = 0;
94 | };
95 | 7150965C8768361098E8A432786D3411 /* Frameworks */ = {
96 | isa = PBXFrameworksBuildPhase;
97 | buildActionMask = 2147483647;
98 | files = (
99 | B3E2CF85A07B0146B3F49FE5D673C164 /* Foundation.framework in Frameworks */,
100 | );
101 | runOnlyForDeploymentPostprocessing = 0;
102 | };
103 | /* End PBXFrameworksBuildPhase section */
104 |
105 | /* Begin PBXGroup section */
106 | 033218D23D22FB1E0CE1F3AE7191744E /* Pod */ = {
107 | isa = PBXGroup;
108 | children = (
109 | DCE656F1BCD909A52AF4A7170DBF4ACB /* LanguageManager-iOS-Lokalise.podspec */,
110 | EC6BB708297B7584DC5D63EDA23F8EB0 /* LICENSE */,
111 | 9D4D1C2FB17BB13303A0E9498A0738A2 /* README.md */,
112 | );
113 | name = Pod;
114 | sourceTree = "";
115 | };
116 | 27C1C1AC2D49C2FCA9B45FB3E10207C9 /* Development Pods */ = {
117 | isa = PBXGroup;
118 | children = (
119 | 6A648C6EEBCFB5D57B5E0021B7E266FB /* LanguageManager-iOS-Lokalise */,
120 | );
121 | name = "Development Pods";
122 | sourceTree = "";
123 | };
124 | 3A4AF540CEF5D10E00143EFEAF254085 /* Support Files */ = {
125 | isa = PBXGroup;
126 | children = (
127 | C704C4C16D2F19AAD7D3FC379B2B28EF /* Lokalise.debug.xcconfig */,
128 | 7F0ACF2B98EDC7E37F334B25A36C6BA7 /* Lokalise.release.xcconfig */,
129 | );
130 | name = "Support Files";
131 | path = "../Target Support Files/Lokalise";
132 | sourceTree = "";
133 | };
134 | 578452D2E740E91742655AC8F1636D1F /* iOS */ = {
135 | isa = PBXGroup;
136 | children = (
137 | 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
138 | );
139 | name = iOS;
140 | sourceTree = "";
141 | };
142 | 625A94D65F5F2DA6DE45A479FA5BE89F /* Lokalise */ = {
143 | isa = PBXGroup;
144 | children = (
145 | D83247E85564C33CFDE71AA91B8D7C27 /* Frameworks */,
146 | 3A4AF540CEF5D10E00143EFEAF254085 /* Support Files */,
147 | );
148 | path = Lokalise;
149 | sourceTree = "";
150 | };
151 | 6A648C6EEBCFB5D57B5E0021B7E266FB /* LanguageManager-iOS-Lokalise */ = {
152 | isa = PBXGroup;
153 | children = (
154 | 74A29CB2CF63C79FD76B6C817E6AA8BC /* LanguageManager.swift */,
155 | 033218D23D22FB1E0CE1F3AE7191744E /* Pod */,
156 | D96EB960B0E80852394FB5E937E289E7 /* Support Files */,
157 | );
158 | name = "LanguageManager-iOS-Lokalise";
159 | path = ../..;
160 | sourceTree = "";
161 | };
162 | 883E6D4AFBF8288C2BA213285D522B71 /* Pods */ = {
163 | isa = PBXGroup;
164 | children = (
165 | 625A94D65F5F2DA6DE45A479FA5BE89F /* Lokalise */,
166 | );
167 | name = Pods;
168 | sourceTree = "";
169 | };
170 | 97C5159C31DC24FAAD428440C7997017 /* Products */ = {
171 | isa = PBXGroup;
172 | children = (
173 | 1E68EAB85FE17EDB834ED19DF2ED54C5 /* LanguageManager_iOS_Lokalise.framework */,
174 | 5948E1812BF550A7E346B230C369E5A3 /* Pods_LanguageManager_iOS_Lokalise_Example.framework */,
175 | );
176 | name = Products;
177 | sourceTree = "";
178 | };
179 | B80B50E65860056A75A5E6B73FB57490 /* Pods-LanguageManager-iOS-Lokalise_Example */ = {
180 | isa = PBXGroup;
181 | children = (
182 | 25ABA06EC60A4E5E63C1B057DE93B47F /* Pods-LanguageManager-iOS-Lokalise_Example.modulemap */,
183 | 244AF18D546A7041388E9AC73074B6B1 /* Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.markdown */,
184 | 404234EC7387B4DE6FFDA292F7D8987D /* Pods-LanguageManager-iOS-Lokalise_Example-acknowledgements.plist */,
185 | 5F9D2B0CE39401744908CDCE50D0D59B /* Pods-LanguageManager-iOS-Lokalise_Example-dummy.m */,
186 | CB2752581B12103941D31DD9A2572C13 /* Pods-LanguageManager-iOS-Lokalise_Example-frameworks.sh */,
187 | 254A0288B9E24F337D878225F3A41FCE /* Pods-LanguageManager-iOS-Lokalise_Example-Info.plist */,
188 | CA2C9A31E9DD41005A31DD762397E168 /* Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h */,
189 | EDCD6A3B9EEB30665EC4D85013388B82 /* Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig */,
190 | A757ABF2A42AFA1C43F03A0EF35B262D /* Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig */,
191 | );
192 | name = "Pods-LanguageManager-iOS-Lokalise_Example";
193 | path = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example";
194 | sourceTree = "";
195 | };
196 | CF1408CF629C7361332E53B88F7BD30C = {
197 | isa = PBXGroup;
198 | children = (
199 | 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
200 | 27C1C1AC2D49C2FCA9B45FB3E10207C9 /* Development Pods */,
201 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
202 | 883E6D4AFBF8288C2BA213285D522B71 /* Pods */,
203 | 97C5159C31DC24FAAD428440C7997017 /* Products */,
204 | E7F6658A9CA4079D6E622AE27DCF3A05 /* Targets Support Files */,
205 | );
206 | sourceTree = "";
207 | };
208 | D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
209 | isa = PBXGroup;
210 | children = (
211 | 578452D2E740E91742655AC8F1636D1F /* iOS */,
212 | );
213 | name = Frameworks;
214 | sourceTree = "";
215 | };
216 | D83247E85564C33CFDE71AA91B8D7C27 /* Frameworks */ = {
217 | isa = PBXGroup;
218 | children = (
219 | ED0C18AB90C464DFC3D083270001E576 /* Lokalise.framework */,
220 | );
221 | name = Frameworks;
222 | sourceTree = "";
223 | };
224 | D96EB960B0E80852394FB5E937E289E7 /* Support Files */ = {
225 | isa = PBXGroup;
226 | children = (
227 | FD71EFA4FFB221C5235CC077C9DABE0C /* LanguageManager-iOS-Lokalise.modulemap */,
228 | 1BE0E12368E0D1FD9D1A474C1E9B200B /* LanguageManager-iOS-Lokalise-dummy.m */,
229 | B70C2F49238A1BB918AA190735CF4CFE /* LanguageManager-iOS-Lokalise-Info.plist */,
230 | 3B6EA36ABD351C46A5F94BEDF5C6806C /* LanguageManager-iOS-Lokalise-prefix.pch */,
231 | F43CC755A380E9B385AA72B5B4F10F73 /* LanguageManager-iOS-Lokalise-umbrella.h */,
232 | 3C9BFCA652AEF0D3982DDB6946202D5B /* LanguageManager-iOS-Lokalise.debug.xcconfig */,
233 | E61FFAC279FE7DA4E4C936F56CB08A8E /* LanguageManager-iOS-Lokalise.release.xcconfig */,
234 | );
235 | name = "Support Files";
236 | path = "Example/Pods/Target Support Files/LanguageManager-iOS-Lokalise";
237 | sourceTree = "";
238 | };
239 | E7F6658A9CA4079D6E622AE27DCF3A05 /* Targets Support Files */ = {
240 | isa = PBXGroup;
241 | children = (
242 | B80B50E65860056A75A5E6B73FB57490 /* Pods-LanguageManager-iOS-Lokalise_Example */,
243 | );
244 | name = "Targets Support Files";
245 | sourceTree = "";
246 | };
247 | /* End PBXGroup section */
248 |
249 | /* Begin PBXHeadersBuildPhase section */
250 | A3AF0D74C6EFB7D2083919BBB8E5377E /* Headers */ = {
251 | isa = PBXHeadersBuildPhase;
252 | buildActionMask = 2147483647;
253 | files = (
254 | 96023548344C496249CAA30478E7E70A /* LanguageManager-iOS-Lokalise-umbrella.h in Headers */,
255 | );
256 | runOnlyForDeploymentPostprocessing = 0;
257 | };
258 | C0D3A09D8A9149BF467E75BEDD9DE656 /* Headers */ = {
259 | isa = PBXHeadersBuildPhase;
260 | buildActionMask = 2147483647;
261 | files = (
262 | 6B8B56479A65FB5B9C0CD76DEE0E2051 /* Pods-LanguageManager-iOS-Lokalise_Example-umbrella.h in Headers */,
263 | );
264 | runOnlyForDeploymentPostprocessing = 0;
265 | };
266 | /* End PBXHeadersBuildPhase section */
267 |
268 | /* Begin PBXNativeTarget section */
269 | 097EF4806D532B862B40E9E9C521F80E /* Pods-LanguageManager-iOS-Lokalise_Example */ = {
270 | isa = PBXNativeTarget;
271 | buildConfigurationList = ED6EE77289B5C3C74A1199C583F1FD69 /* Build configuration list for PBXNativeTarget "Pods-LanguageManager-iOS-Lokalise_Example" */;
272 | buildPhases = (
273 | C0D3A09D8A9149BF467E75BEDD9DE656 /* Headers */,
274 | 0FD3DEDCB9BB52FF114BE6F3F38FDC86 /* Sources */,
275 | 7150965C8768361098E8A432786D3411 /* Frameworks */,
276 | 708F2C2B991C9B8E936A8B2F9E5A98A5 /* Resources */,
277 | );
278 | buildRules = (
279 | );
280 | dependencies = (
281 | 9496D924C22E063FB8119AFB706A8F63 /* PBXTargetDependency */,
282 | 00441E0908A589D2AD124F9155F116D1 /* PBXTargetDependency */,
283 | );
284 | name = "Pods-LanguageManager-iOS-Lokalise_Example";
285 | productName = "Pods-LanguageManager-iOS-Lokalise_Example";
286 | productReference = 5948E1812BF550A7E346B230C369E5A3 /* Pods_LanguageManager_iOS_Lokalise_Example.framework */;
287 | productType = "com.apple.product-type.framework";
288 | };
289 | CB3B2598A10A954BE6E667B85D3FE02A /* LanguageManager-iOS-Lokalise */ = {
290 | isa = PBXNativeTarget;
291 | buildConfigurationList = DB8EC636087F98984F1364D34FB8C195 /* Build configuration list for PBXNativeTarget "LanguageManager-iOS-Lokalise" */;
292 | buildPhases = (
293 | A3AF0D74C6EFB7D2083919BBB8E5377E /* Headers */,
294 | 1047EF11FF3765E2A983F58BAE74535F /* Sources */,
295 | 027A086889C11A3B3710B4D01442546C /* Frameworks */,
296 | 38F096ACF0057890C73245A327E543B4 /* Resources */,
297 | );
298 | buildRules = (
299 | );
300 | dependencies = (
301 | 9D4B58C33AF2826FED8D889DDDEC086D /* PBXTargetDependency */,
302 | );
303 | name = "LanguageManager-iOS-Lokalise";
304 | productName = "LanguageManager-iOS-Lokalise";
305 | productReference = 1E68EAB85FE17EDB834ED19DF2ED54C5 /* LanguageManager_iOS_Lokalise.framework */;
306 | productType = "com.apple.product-type.framework";
307 | };
308 | /* End PBXNativeTarget section */
309 |
310 | /* Begin PBXProject section */
311 | BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
312 | isa = PBXProject;
313 | attributes = {
314 | LastSwiftUpdateCheck = 1100;
315 | LastUpgradeCheck = 1100;
316 | };
317 | buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
318 | compatibilityVersion = "Xcode 3.2";
319 | developmentRegion = en;
320 | hasScannedForEncodings = 0;
321 | knownRegions = (
322 | en,
323 | Base,
324 | );
325 | mainGroup = CF1408CF629C7361332E53B88F7BD30C;
326 | productRefGroup = 97C5159C31DC24FAAD428440C7997017 /* Products */;
327 | projectDirPath = "";
328 | projectRoot = "";
329 | targets = (
330 | CB3B2598A10A954BE6E667B85D3FE02A /* LanguageManager-iOS-Lokalise */,
331 | 58BADA2E6AF091DA3F6549904CCC4CE5 /* Lokalise */,
332 | 097EF4806D532B862B40E9E9C521F80E /* Pods-LanguageManager-iOS-Lokalise_Example */,
333 | );
334 | };
335 | /* End PBXProject section */
336 |
337 | /* Begin PBXResourcesBuildPhase section */
338 | 38F096ACF0057890C73245A327E543B4 /* Resources */ = {
339 | isa = PBXResourcesBuildPhase;
340 | buildActionMask = 2147483647;
341 | files = (
342 | );
343 | runOnlyForDeploymentPostprocessing = 0;
344 | };
345 | 708F2C2B991C9B8E936A8B2F9E5A98A5 /* Resources */ = {
346 | isa = PBXResourcesBuildPhase;
347 | buildActionMask = 2147483647;
348 | files = (
349 | );
350 | runOnlyForDeploymentPostprocessing = 0;
351 | };
352 | /* End PBXResourcesBuildPhase section */
353 |
354 | /* Begin PBXSourcesBuildPhase section */
355 | 0FD3DEDCB9BB52FF114BE6F3F38FDC86 /* Sources */ = {
356 | isa = PBXSourcesBuildPhase;
357 | buildActionMask = 2147483647;
358 | files = (
359 | ED545D49FD3DF770840BE5A3A4F81AE1 /* Pods-LanguageManager-iOS-Lokalise_Example-dummy.m in Sources */,
360 | );
361 | runOnlyForDeploymentPostprocessing = 0;
362 | };
363 | 1047EF11FF3765E2A983F58BAE74535F /* Sources */ = {
364 | isa = PBXSourcesBuildPhase;
365 | buildActionMask = 2147483647;
366 | files = (
367 | 4F4636B6F6B232D390ED5276F2B58430 /* LanguageManager-iOS-Lokalise-dummy.m in Sources */,
368 | A54684040954ED2CC80E29B088D3569E /* LanguageManager.swift in Sources */,
369 | );
370 | runOnlyForDeploymentPostprocessing = 0;
371 | };
372 | /* End PBXSourcesBuildPhase section */
373 |
374 | /* Begin PBXTargetDependency section */
375 | 00441E0908A589D2AD124F9155F116D1 /* PBXTargetDependency */ = {
376 | isa = PBXTargetDependency;
377 | name = Lokalise;
378 | target = 58BADA2E6AF091DA3F6549904CCC4CE5 /* Lokalise */;
379 | targetProxy = 3354BB9EA0C19B76FAAF4010E0E01E5B /* PBXContainerItemProxy */;
380 | };
381 | 9496D924C22E063FB8119AFB706A8F63 /* PBXTargetDependency */ = {
382 | isa = PBXTargetDependency;
383 | name = "LanguageManager-iOS-Lokalise";
384 | target = CB3B2598A10A954BE6E667B85D3FE02A /* LanguageManager-iOS-Lokalise */;
385 | targetProxy = 59481A32140FBA9E0B583171972CE207 /* PBXContainerItemProxy */;
386 | };
387 | 9D4B58C33AF2826FED8D889DDDEC086D /* PBXTargetDependency */ = {
388 | isa = PBXTargetDependency;
389 | name = Lokalise;
390 | target = 58BADA2E6AF091DA3F6549904CCC4CE5 /* Lokalise */;
391 | targetProxy = 7E0C156760047C3693558D04DD44ECF5 /* PBXContainerItemProxy */;
392 | };
393 | /* End PBXTargetDependency section */
394 |
395 | /* Begin XCBuildConfiguration section */
396 | 012331D908ED344F48984BD34234F7DA /* Debug */ = {
397 | isa = XCBuildConfiguration;
398 | baseConfigurationReference = 3C9BFCA652AEF0D3982DDB6946202D5B /* LanguageManager-iOS-Lokalise.debug.xcconfig */;
399 | buildSettings = {
400 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
401 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
402 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
403 | CURRENT_PROJECT_VERSION = 1;
404 | DEFINES_MODULE = YES;
405 | DYLIB_COMPATIBILITY_VERSION = 1;
406 | DYLIB_CURRENT_VERSION = 1;
407 | DYLIB_INSTALL_NAME_BASE = "@rpath";
408 | GCC_PREFIX_HEADER = "Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-prefix.pch";
409 | INFOPLIST_FILE = "Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-Info.plist";
410 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
411 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
412 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
413 | MODULEMAP_FILE = "Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise.modulemap";
414 | PRODUCT_MODULE_NAME = LanguageManager_iOS_Lokalise;
415 | PRODUCT_NAME = LanguageManager_iOS_Lokalise;
416 | SDKROOT = iphoneos;
417 | SKIP_INSTALL = YES;
418 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
419 | SWIFT_VERSION = 5.0;
420 | TARGETED_DEVICE_FAMILY = "1,2";
421 | VERSIONING_SYSTEM = "apple-generic";
422 | VERSION_INFO_PREFIX = "";
423 | };
424 | name = Debug;
425 | };
426 | 431BA2B8298F0EE71735B9E0114E1955 /* Release */ = {
427 | isa = XCBuildConfiguration;
428 | buildSettings = {
429 | ALWAYS_SEARCH_USER_PATHS = NO;
430 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
431 | CLANG_ANALYZER_NONNULL = YES;
432 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
433 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
434 | CLANG_CXX_LIBRARY = "libc++";
435 | CLANG_ENABLE_MODULES = YES;
436 | CLANG_ENABLE_OBJC_ARC = YES;
437 | CLANG_ENABLE_OBJC_WEAK = YES;
438 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
439 | CLANG_WARN_BOOL_CONVERSION = YES;
440 | CLANG_WARN_COMMA = YES;
441 | CLANG_WARN_CONSTANT_CONVERSION = YES;
442 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
443 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
444 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
445 | CLANG_WARN_EMPTY_BODY = YES;
446 | CLANG_WARN_ENUM_CONVERSION = YES;
447 | CLANG_WARN_INFINITE_RECURSION = YES;
448 | CLANG_WARN_INT_CONVERSION = YES;
449 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
450 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
451 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
452 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
453 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
454 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
455 | CLANG_WARN_STRICT_PROTOTYPES = YES;
456 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
457 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
458 | CLANG_WARN_UNREACHABLE_CODE = YES;
459 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
460 | COPY_PHASE_STRIP = NO;
461 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
462 | ENABLE_NS_ASSERTIONS = NO;
463 | ENABLE_STRICT_OBJC_MSGSEND = YES;
464 | EXCLUDED_ARCHS = arm64;
465 | GCC_C_LANGUAGE_STANDARD = gnu11;
466 | GCC_NO_COMMON_BLOCKS = YES;
467 | GCC_PREPROCESSOR_DEFINITIONS = (
468 | "POD_CONFIGURATION_RELEASE=1",
469 | "$(inherited)",
470 | );
471 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
472 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
473 | GCC_WARN_UNDECLARED_SELECTOR = YES;
474 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
475 | GCC_WARN_UNUSED_FUNCTION = YES;
476 | GCC_WARN_UNUSED_VARIABLE = YES;
477 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
478 | MTL_ENABLE_DEBUG_INFO = NO;
479 | MTL_FAST_MATH = YES;
480 | PRODUCT_NAME = "$(TARGET_NAME)";
481 | STRIP_INSTALLED_PRODUCT = NO;
482 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
483 | SWIFT_VERSION = 5.0;
484 | SYMROOT = "${SRCROOT}/../build";
485 | };
486 | name = Release;
487 | };
488 | 71644963916416E691BB429FEDA6E093 /* Release */ = {
489 | isa = XCBuildConfiguration;
490 | baseConfigurationReference = E61FFAC279FE7DA4E4C936F56CB08A8E /* LanguageManager-iOS-Lokalise.release.xcconfig */;
491 | buildSettings = {
492 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
493 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
494 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
495 | CURRENT_PROJECT_VERSION = 1;
496 | DEFINES_MODULE = YES;
497 | DYLIB_COMPATIBILITY_VERSION = 1;
498 | DYLIB_CURRENT_VERSION = 1;
499 | DYLIB_INSTALL_NAME_BASE = "@rpath";
500 | GCC_PREFIX_HEADER = "Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-prefix.pch";
501 | INFOPLIST_FILE = "Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise-Info.plist";
502 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
503 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
504 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
505 | MODULEMAP_FILE = "Target Support Files/LanguageManager-iOS-Lokalise/LanguageManager-iOS-Lokalise.modulemap";
506 | PRODUCT_MODULE_NAME = LanguageManager_iOS_Lokalise;
507 | PRODUCT_NAME = LanguageManager_iOS_Lokalise;
508 | SDKROOT = iphoneos;
509 | SKIP_INSTALL = YES;
510 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
511 | SWIFT_VERSION = 5.0;
512 | TARGETED_DEVICE_FAMILY = "1,2";
513 | VALIDATE_PRODUCT = YES;
514 | VERSIONING_SYSTEM = "apple-generic";
515 | VERSION_INFO_PREFIX = "";
516 | };
517 | name = Release;
518 | };
519 | 7924778F180A013F9E9B658D668A3CD2 /* Debug */ = {
520 | isa = XCBuildConfiguration;
521 | baseConfigurationReference = EDCD6A3B9EEB30665EC4D85013388B82 /* Pods-LanguageManager-iOS-Lokalise_Example.debug.xcconfig */;
522 | buildSettings = {
523 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
524 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
525 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
526 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
527 | CURRENT_PROJECT_VERSION = 1;
528 | DEFINES_MODULE = YES;
529 | DYLIB_COMPATIBILITY_VERSION = 1;
530 | DYLIB_CURRENT_VERSION = 1;
531 | DYLIB_INSTALL_NAME_BASE = "@rpath";
532 | INFOPLIST_FILE = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-Info.plist";
533 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
534 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
535 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
536 | MACH_O_TYPE = staticlib;
537 | MODULEMAP_FILE = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.modulemap";
538 | OTHER_LDFLAGS = "";
539 | OTHER_LIBTOOLFLAGS = "";
540 | PODS_ROOT = "$(SRCROOT)";
541 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
542 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
543 | SDKROOT = iphoneos;
544 | SKIP_INSTALL = YES;
545 | TARGETED_DEVICE_FAMILY = "1,2";
546 | VERSIONING_SYSTEM = "apple-generic";
547 | VERSION_INFO_PREFIX = "";
548 | };
549 | name = Debug;
550 | };
551 | 79759604D78320E712558F49DF19AA9F /* Debug */ = {
552 | isa = XCBuildConfiguration;
553 | buildSettings = {
554 | ALWAYS_SEARCH_USER_PATHS = NO;
555 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
556 | CLANG_ANALYZER_NONNULL = YES;
557 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
558 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
559 | CLANG_CXX_LIBRARY = "libc++";
560 | CLANG_ENABLE_MODULES = YES;
561 | CLANG_ENABLE_OBJC_ARC = YES;
562 | CLANG_ENABLE_OBJC_WEAK = YES;
563 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
564 | CLANG_WARN_BOOL_CONVERSION = YES;
565 | CLANG_WARN_COMMA = YES;
566 | CLANG_WARN_CONSTANT_CONVERSION = YES;
567 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
568 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
569 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
570 | CLANG_WARN_EMPTY_BODY = YES;
571 | CLANG_WARN_ENUM_CONVERSION = YES;
572 | CLANG_WARN_INFINITE_RECURSION = YES;
573 | CLANG_WARN_INT_CONVERSION = YES;
574 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
575 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
576 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
577 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
578 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
579 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
580 | CLANG_WARN_STRICT_PROTOTYPES = YES;
581 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
582 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
583 | CLANG_WARN_UNREACHABLE_CODE = YES;
584 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
585 | COPY_PHASE_STRIP = NO;
586 | DEBUG_INFORMATION_FORMAT = dwarf;
587 | ENABLE_STRICT_OBJC_MSGSEND = YES;
588 | ENABLE_TESTABILITY = YES;
589 | EXCLUDED_ARCHS = arm64;
590 | GCC_C_LANGUAGE_STANDARD = gnu11;
591 | GCC_DYNAMIC_NO_PIC = NO;
592 | GCC_NO_COMMON_BLOCKS = YES;
593 | GCC_OPTIMIZATION_LEVEL = 0;
594 | GCC_PREPROCESSOR_DEFINITIONS = (
595 | "POD_CONFIGURATION_DEBUG=1",
596 | "DEBUG=1",
597 | "$(inherited)",
598 | );
599 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
600 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
601 | GCC_WARN_UNDECLARED_SELECTOR = YES;
602 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
603 | GCC_WARN_UNUSED_FUNCTION = YES;
604 | GCC_WARN_UNUSED_VARIABLE = YES;
605 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
606 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
607 | MTL_FAST_MATH = YES;
608 | ONLY_ACTIVE_ARCH = YES;
609 | PRODUCT_NAME = "$(TARGET_NAME)";
610 | STRIP_INSTALLED_PRODUCT = NO;
611 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
612 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
613 | SWIFT_VERSION = 5.0;
614 | SYMROOT = "${SRCROOT}/../build";
615 | };
616 | name = Debug;
617 | };
618 | 7C7600F7EA8CC03DCBAAD227A6F8DBD2 /* Debug */ = {
619 | isa = XCBuildConfiguration;
620 | baseConfigurationReference = C704C4C16D2F19AAD7D3FC379B2B28EF /* Lokalise.debug.xcconfig */;
621 | buildSettings = {
622 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
623 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
624 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
625 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
626 | SDKROOT = iphoneos;
627 | TARGETED_DEVICE_FAMILY = "1,2";
628 | };
629 | name = Debug;
630 | };
631 | BBAF6F8F82C21E6494AD928C40D26E2C /* Release */ = {
632 | isa = XCBuildConfiguration;
633 | baseConfigurationReference = 7F0ACF2B98EDC7E37F334B25A36C6BA7 /* Lokalise.release.xcconfig */;
634 | buildSettings = {
635 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
636 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
637 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
638 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
639 | SDKROOT = iphoneos;
640 | TARGETED_DEVICE_FAMILY = "1,2";
641 | VALIDATE_PRODUCT = YES;
642 | };
643 | name = Release;
644 | };
645 | EAE2BEBBC0E19B5F44105A687D61AFD5 /* Release */ = {
646 | isa = XCBuildConfiguration;
647 | baseConfigurationReference = A757ABF2A42AFA1C43F03A0EF35B262D /* Pods-LanguageManager-iOS-Lokalise_Example.release.xcconfig */;
648 | buildSettings = {
649 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
650 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
651 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
652 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
653 | CURRENT_PROJECT_VERSION = 1;
654 | DEFINES_MODULE = YES;
655 | DYLIB_COMPATIBILITY_VERSION = 1;
656 | DYLIB_CURRENT_VERSION = 1;
657 | DYLIB_INSTALL_NAME_BASE = "@rpath";
658 | INFOPLIST_FILE = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example-Info.plist";
659 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
660 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
661 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
662 | MACH_O_TYPE = staticlib;
663 | MODULEMAP_FILE = "Target Support Files/Pods-LanguageManager-iOS-Lokalise_Example/Pods-LanguageManager-iOS-Lokalise_Example.modulemap";
664 | OTHER_LDFLAGS = "";
665 | OTHER_LIBTOOLFLAGS = "";
666 | PODS_ROOT = "$(SRCROOT)";
667 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
668 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
669 | SDKROOT = iphoneos;
670 | SKIP_INSTALL = YES;
671 | TARGETED_DEVICE_FAMILY = "1,2";
672 | VALIDATE_PRODUCT = YES;
673 | VERSIONING_SYSTEM = "apple-generic";
674 | VERSION_INFO_PREFIX = "";
675 | };
676 | name = Release;
677 | };
678 | /* End XCBuildConfiguration section */
679 |
680 | /* Begin XCConfigurationList section */
681 | 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
682 | isa = XCConfigurationList;
683 | buildConfigurations = (
684 | 79759604D78320E712558F49DF19AA9F /* Debug */,
685 | 431BA2B8298F0EE71735B9E0114E1955 /* Release */,
686 | );
687 | defaultConfigurationIsVisible = 0;
688 | defaultConfigurationName = Release;
689 | };
690 | 9E904FA6943811AE0BC46D25AAC257A5 /* Build configuration list for PBXAggregateTarget "Lokalise" */ = {
691 | isa = XCConfigurationList;
692 | buildConfigurations = (
693 | 7C7600F7EA8CC03DCBAAD227A6F8DBD2 /* Debug */,
694 | BBAF6F8F82C21E6494AD928C40D26E2C /* Release */,
695 | );
696 | defaultConfigurationIsVisible = 0;
697 | defaultConfigurationName = Release;
698 | };
699 | DB8EC636087F98984F1364D34FB8C195 /* Build configuration list for PBXNativeTarget "LanguageManager-iOS-Lokalise" */ = {
700 | isa = XCConfigurationList;
701 | buildConfigurations = (
702 | 012331D908ED344F48984BD34234F7DA /* Debug */,
703 | 71644963916416E691BB429FEDA6E093 /* Release */,
704 | );
705 | defaultConfigurationIsVisible = 0;
706 | defaultConfigurationName = Release;
707 | };
708 | ED6EE77289B5C3C74A1199C583F1FD69 /* Build configuration list for PBXNativeTarget "Pods-LanguageManager-iOS-Lokalise_Example" */ = {
709 | isa = XCConfigurationList;
710 | buildConfigurations = (
711 | 7924778F180A013F9E9B658D668A3CD2 /* Debug */,
712 | EAE2BEBBC0E19B5F44105A687D61AFD5 /* Release */,
713 | );
714 | defaultConfigurationIsVisible = 0;
715 | defaultConfigurationName = Release;
716 | };
717 | /* End XCConfigurationList section */
718 | };
719 | rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
720 | }
721 |
--------------------------------------------------------------------------------