diff --git a/.DS_Store b/.DS_Store
index b06ad1790e938afa9c0ddeed3f17c1ab716125f2..d96b22ba810b27d9169f0bea2509d58baae38c49 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/MiniScanner.xcodeproj/project.pbxproj b/MiniScanner.xcodeproj/project.pbxproj
index ccf61a76be8330985eab9eeaed97f820489d9a37..0f7a7a3359007cf6a8297aaf7a952c197413003f 100644
--- a/MiniScanner.xcodeproj/project.pbxproj
+++ b/MiniScanner.xcodeproj/project.pbxproj
@@ -55,6 +55,14 @@
 		53014FBB2C11A8E80071CE39 /* CaptureSession+Orientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8A2C11A8E80071CE39 /* CaptureSession+Orientation.swift */; };
 		53014FBC2C11A8E80071CE39 /* CaptureSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8B2C11A8E80071CE39 /* CaptureSession.swift */; };
 		53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8C2C11A8E80071CE39 /* CaptureSession+Focus.swift */; };
+		535983E92C1428D4003EB6ED /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535983E82C1428D4003EB6ED /* UIColor+Extensions.swift */; };
+		535983EB2C142B16003EB6ED /* UILabel+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535983EA2C142B16003EB6ED /* UILabel+Extensions.swift */; };
+		535983ED2C142B49003EB6ED /* UIFont+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535983EC2C142B49003EB6ED /* UIFont+Extensions.swift */; };
+		535983EF2C142C9F003EB6ED /* Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535983EE2C142C9F003EB6ED /* Localization.swift */; };
+		535983F22C144E87003EB6ED /* Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535983F12C144E87003EB6ED /* Keys.swift */; };
+		535984072C145083003EB6ED /* Poppins-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 535983F82C145083003EB6ED /* Poppins-Bold.ttf */; };
+		535984102C145083003EB6ED /* Poppins-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 535984012C145083003EB6ED /* Poppins-Medium.ttf */; };
+		535984112C145083003EB6ED /* Poppins-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 535984022C145083003EB6ED /* Poppins-Regular.ttf */; };
 		53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */; };
 		53F21F8C2C1246AF00172BFC /* AllFolderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */; };
 		53F21F912C1248EC00172BFC /* FolderCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */; };
@@ -66,6 +74,7 @@
 		53F21F9F2C1377B900172BFC /* Tajawal-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */; };
 		53F21FA02C1377B900172BFC /* Tajawal-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */; };
 		53F21FA12C1377B900172BFC /* Tajawal-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */; };
+		89A104FC06BB7828A032A87D /* Pods_MiniScanner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AAD7D3C1EDFE9561694F861 /* Pods_MiniScanner.framework */; };
 		EC0CF1FE254D8BBF00888722 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */; };
 		EC0CF200254D8BBF00888722 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */; };
 		EC0CF207254D8BC000888722 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EC0CF206254D8BC000888722 /* Assets.xcassets */; };
@@ -170,6 +179,14 @@
 		53014F8A2C11A8E80071CE39 /* CaptureSession+Orientation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CaptureSession+Orientation.swift"; sourceTree = "<group>"; };
 		53014F8B2C11A8E80071CE39 /* CaptureSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaptureSession.swift; sourceTree = "<group>"; };
 		53014F8C2C11A8E80071CE39 /* CaptureSession+Focus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CaptureSession+Focus.swift"; sourceTree = "<group>"; };
+		535983E82C1428D4003EB6ED /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = "<group>"; };
+		535983EA2C142B16003EB6ED /* UILabel+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+Extensions.swift"; sourceTree = "<group>"; };
+		535983EC2C142B49003EB6ED /* UIFont+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Extensions.swift"; sourceTree = "<group>"; };
+		535983EE2C142C9F003EB6ED /* Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
+		535983F12C144E87003EB6ED /* Keys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keys.swift; sourceTree = "<group>"; };
+		535983F82C145083003EB6ED /* Poppins-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Bold.ttf"; sourceTree = "<group>"; };
+		535984012C145083003EB6ED /* Poppins-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Medium.ttf"; sourceTree = "<group>"; };
+		535984022C145083003EB6ED /* Poppins-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-Regular.ttf"; sourceTree = "<group>"; };
 		53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllFolderTableViewCell.swift; sourceTree = "<group>"; };
 		53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AllFolderTableViewCell.xib; sourceTree = "<group>"; };
 		53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderCollectionViewCell.swift; sourceTree = "<group>"; };
@@ -181,6 +198,9 @@
 		53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Regular.ttf"; sourceTree = "<group>"; };
 		53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Medium.ttf"; sourceTree = "<group>"; };
 		53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Black.ttf"; sourceTree = "<group>"; };
+		66158525AF6802C8915A4F1D /* Pods-MiniScanner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MiniScanner.release.xcconfig"; path = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner.release.xcconfig"; sourceTree = "<group>"; };
+		7AAD7D3C1EDFE9561694F861 /* Pods_MiniScanner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MiniScanner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		C1C7039C762C26A931475E2D /* Pods-MiniScanner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MiniScanner.debug.xcconfig"; path = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner.debug.xcconfig"; sourceTree = "<group>"; };
 		EC0CF1FA254D8BBF00888722 /* MiniScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniScanner.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
 		EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
@@ -223,6 +243,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				89A104FC06BB7828A032A87D /* Pods_MiniScanner.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -349,9 +370,42 @@
 			path = Session;
 			sourceTree = "<group>";
 		};
+		535983F02C144E79003EB6ED /* Helpers */ = {
+			isa = PBXGroup;
+			children = (
+				535983F12C144E87003EB6ED /* Keys.swift */,
+			);
+			path = Helpers;
+			sourceTree = "<group>";
+		};
+		535983F32C14505E003EB6ED /* Arabic */ = {
+			isa = PBXGroup;
+			children = (
+				53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */,
+				53F21F952C1377B900172BFC /* Tajawal-Light.ttf */,
+				53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */,
+				53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */,
+				53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */,
+				53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */,
+				53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */,
+			);
+			path = Arabic;
+			sourceTree = "<group>";
+		};
+		535983F42C145069003EB6ED /* English */ = {
+			isa = PBXGroup;
+			children = (
+				535983F82C145083003EB6ED /* Poppins-Bold.ttf */,
+				535984012C145083003EB6ED /* Poppins-Medium.ttf */,
+				535984022C145083003EB6ED /* Poppins-Regular.ttf */,
+			);
+			path = English;
+			sourceTree = "<group>";
+		};
 		53AF29712C1098AC0046E9C1 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				7AAD7D3C1EDFE9561694F861 /* Pods_MiniScanner.framework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
@@ -386,23 +440,28 @@
 		53F21F932C1377B900172BFC /* Fonts */ = {
 			isa = PBXGroup;
 			children = (
-				53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */,
-				53F21F952C1377B900172BFC /* Tajawal-Light.ttf */,
-				53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */,
-				53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */,
-				53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */,
-				53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */,
-				53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */,
+				535983F42C145069003EB6ED /* English */,
+				535983F32C14505E003EB6ED /* Arabic */,
 			);
 			path = Fonts;
 			sourceTree = "<group>";
 		};
+		98E49D3F46C8E62718825860 /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+				C1C7039C762C26A931475E2D /* Pods-MiniScanner.debug.xcconfig */,
+				66158525AF6802C8915A4F1D /* Pods-MiniScanner.release.xcconfig */,
+			);
+			path = Pods;
+			sourceTree = "<group>";
+		};
 		EC0CF1F1254D8BBF00888722 = {
 			isa = PBXGroup;
 			children = (
 				EC0CF1FC254D8BBF00888722 /* MiniScanner */,
 				EC0CF1FB254D8BBF00888722 /* Products */,
 				53AF29712C1098AC0046E9C1 /* Frameworks */,
+				98E49D3F46C8E62718825860 /* Pods */,
 			);
 			sourceTree = "<group>";
 		};
@@ -418,6 +477,7 @@
 			isa = PBXGroup;
 			children = (
 				EC702548254E1F9F00BE1958 /* Managers */,
+				535983F02C144E79003EB6ED /* Helpers */,
 				EC8A9B0A254DC2FD00F9AF99 /* Extensions */,
 				EC8A9B08254DC2F700F9AF99 /* Common */,
 				EC8A9B2D254DE96300F9AF99 /* Modules */,
@@ -479,6 +539,10 @@
 				EC8A9B16254DCC2900F9AF99 /* URL+Extensions.swift */,
 				EC702536254E1DE000BE1958 /* UIViewController+Extensions.swift */,
 				EC8A9B02254DC08800F9AF99 /* NSNotification+Extensions.swift */,
+				535983E82C1428D4003EB6ED /* UIColor+Extensions.swift */,
+				535983EA2C142B16003EB6ED /* UILabel+Extensions.swift */,
+				535983EC2C142B49003EB6ED /* UIFont+Extensions.swift */,
+				535983EE2C142C9F003EB6ED /* Localization.swift */,
 			);
 			path = Extensions;
 			sourceTree = "<group>";
@@ -537,10 +601,12 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = EC0CF20E254D8BC000888722 /* Build configuration list for PBXNativeTarget "MiniScanner" */;
 			buildPhases = (
+				9E6ED0FFF4C8D3D328F1DFFF /* [CP] Check Pods Manifest.lock */,
 				EC0CF1F6254D8BBF00888722 /* Sources */,
 				EC0CF1F7254D8BBF00888722 /* Frameworks */,
 				EC0CF1F8254D8BBF00888722 /* Resources */,
 				53AF29742C1098AC0046E9C1 /* Embed Frameworks */,
+				4A21A25BEE5D3ECADCE2DC21 /* [CP] Embed Pods Frameworks */,
 			);
 			buildRules = (
 			);
@@ -599,16 +665,19 @@
 				53014FAD2C11A8E80071CE39 /* rotate.png in Resources */,
 				53014FB02C11A8E80071CE39 /* flashUnavailable@2x.png in Resources */,
 				EC702543254E1E7500BE1958 /* WalkthroughViewController.xib in Resources */,
+				535984072C145083003EB6ED /* Poppins-Bold.ttf in Resources */,
 				53F21FA12C1377B900172BFC /* Tajawal-Black.ttf in Resources */,
 				53F21F8C2C1246AF00172BFC /* AllFolderTableViewCell.xib in Resources */,
 				53F21FA02C1377B900172BFC /* Tajawal-Medium.ttf in Resources */,
 				53014FAC2C11A8E80071CE39 /* rotate@3x.png in Resources */,
+				535984112C145083003EB6ED /* Poppins-Regular.ttf in Resources */,
 				EC0CF20A254D8BC000888722 /* LaunchScreen.storyboard in Resources */,
 				53014FAB2C11A8E80071CE39 /* flash.png in Resources */,
 				53F21F9B2C1377B900172BFC /* Tajawal-ExtraBold.ttf in Resources */,
 				EC0CF218254D8DF200888722 /* Documents.storyboard in Resources */,
 				53F21F9C2C1377B900172BFC /* Tajawal-Light.ttf in Resources */,
 				53014FB52C11A8E80071CE39 /* enhance@2x.png in Resources */,
+				535984102C145083003EB6ED /* Poppins-Medium.ttf in Resources */,
 				53014FAE2C11A8E80071CE39 /* rotate@2x.png in Resources */,
 				53014FB32C11A8E80071CE39 /* flash@3x.png in Resources */,
 				53F21F9E2C1377B900172BFC /* Tajawal-ExtraLight.ttf in Resources */,
@@ -629,6 +698,48 @@
 		};
 /* End PBXResourcesBuildPhase section */
 
+/* Begin PBXShellScriptBuildPhase section */
+		4A21A25BEE5D3ECADCE2DC21 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputFileListPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
+		9E6ED0FFF4C8D3D328F1DFFF /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-MiniScanner-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			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";
+			showEnvVarsInLog = 0;
+		};
+/* End PBXShellScriptBuildPhase section */
+
 /* Begin PBXSourcesBuildPhase section */
 		EC0CF1F6254D8BBF00888722 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
@@ -638,6 +749,7 @@
 				EC8A9B20254DDC3400F9AF99 /* DocumentsTableViewCell.swift in Sources */,
 				53014F9A2C11A8E80071CE39 /* CIImage+Utils.swift in Sources */,
 				EC8A9B17254DCC2900F9AF99 /* URL+Extensions.swift in Sources */,
+				535983F22C144E87003EB6ED /* Keys.swift in Sources */,
 				EC70252C254E066400BE1958 /* SettingsViewController.swift in Sources */,
 				EC0CF21D254D8F3900888722 /* String+Extensions.swift in Sources */,
 				EC702540254E1E7500BE1958 /* WalkthroughViewController.swift in Sources */,
@@ -650,13 +762,16 @@
 				53014F8F2C11A8E80071CE39 /* RectangleFeaturesFunnel.swift in Sources */,
 				53014F932C11A8E80071CE39 /* PDFCreator.swift in Sources */,
 				EC702537254E1DE000BE1958 /* UIViewController+Extensions.swift in Sources */,
+				535983E92C1428D4003EB6ED /* UIColor+Extensions.swift in Sources */,
 				53014F972C11A8E80071CE39 /* AVCaptureVideoOrientation+Utils.swift in Sources */,
+				535983EF2C142C9F003EB6ED /* Localization.swift in Sources */,
 				53014F992C11A8E80071CE39 /* CGPoint+Utils.swift in Sources */,
 				53014FA62C11A8E80071CE39 /* Error.swift in Sources */,
 				53014FA72C11A8E80071CE39 /* VisionRectangleDetector.swift in Sources */,
 				EC0CF1FE254D8BBF00888722 /* AppDelegate.swift in Sources */,
 				53014FA82C11A8E80071CE39 /* CIRectangleDetector.swift in Sources */,
 				EC8A9AD5254DB76000F9AF99 /* BaseNavigationViewController.swift in Sources */,
+				535983EB2C142B16003EB6ED /* UILabel+Extensions.swift in Sources */,
 				EC8A9B10254DC6DD00F9AF99 /* PDFManager.swift in Sources */,
 				ECE9BBAA254E295900D45E43 /* Date+Extensions.swift in Sources */,
 				53014FA92C11A8E80071CE39 /* QuadrilateralView.swift in Sources */,
@@ -693,6 +808,7 @@
 				53014FA52C11A8E80071CE39 /* EditScanCornerView.swift in Sources */,
 				53014F8E2C11A8E80071CE39 /* ImageScannerController.swift in Sources */,
 				EC70252B254E066400BE1958 /* SettingsTableViewCell.swift in Sources */,
+				535983ED2C142B49003EB6ED /* UIFont+Extensions.swift in Sources */,
 				EC8A9AD0254DB5A400F9AF99 /* AppTabBarController.swift in Sources */,
 				53F21F912C1248EC00172BFC /* FolderCollectionViewCell.swift in Sources */,
 				ECD43ED625A7BA9500B5A3F2 /* ThemeManager.swift in Sources */,
@@ -766,7 +882,7 @@
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
-				ENABLE_USER_SCRIPT_SANDBOXING = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GCC_C_LANGUAGE_STANDARD = gnu11;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_NO_COMMON_BLOCKS = YES;
@@ -828,7 +944,7 @@
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				ENABLE_NS_ASSERTIONS = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				ENABLE_USER_SCRIPT_SANDBOXING = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GCC_C_LANGUAGE_STANDARD = gnu11;
 				GCC_NO_COMMON_BLOCKS = YES;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -849,6 +965,7 @@
 		};
 		EC0CF20F254D8BC000888722 /* Debug */ = {
 			isa = XCBuildConfiguration;
+			baseConfigurationReference = C1C7039C762C26A931475E2D /* Pods-MiniScanner.debug.xcconfig */;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -871,6 +988,7 @@
 		};
 		EC0CF210254D8BC000888722 /* Release */ = {
 			isa = XCBuildConfiguration;
+			baseConfigurationReference = 66158525AF6802C8915A4F1D /* Pods-MiniScanner.release.xcconfig */;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
diff --git a/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate b/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate
index e35880c34059704b99e69a882e15e8ab51313bfd..ee6015f30b0f253d23947a0e94377cc006469605 100644
Binary files a/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate and b/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index dbacdbf504f824340ba8bdea436848a886afcf75..426b099412d9bcaa184f835ad12aed2ff9a2c8bb 100644
--- a/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -3,166 +3,4 @@
    uuid = "D33AC1E3-63DB-4EB0-8F0E-71361335BCD8"
    type = "1"
    version = "2.0">
-   <Breakpoints>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "C9F00BF4-C6CA-46CF-88C1-D6C136A99CC8"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Managers/PDFManager.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "40"
-            endingLineNumber = "40"
-            landmarkName = "createPDFDocument(from:localFileManager:folder:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "F97C672E-FAE1-41EE-8640-5347A8A2BA71"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Managers/PDFManager.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "41"
-            endingLineNumber = "41"
-            landmarkName = "createPDFDocument(from:localFileManager:folder:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "A8D940DE-7CBB-4B92-A0C2-8D5144B0AABE"
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Managers/PDFManager.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "42"
-            endingLineNumber = "42"
-            landmarkName = "createPDFDocument(from:localFileManager:folder:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "CBC66187-FF67-492E-B004-F82F437F35AE"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "67"
-            endingLineNumber = "67"
-            landmarkName = "fetchViewModels()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "C319AF25-4C3B-4E3A-AD5E-CAF918C19CD7"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "68"
-            endingLineNumber = "68"
-            landmarkName = "fetchViewModels()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "6A30A7DC-0D3F-4C1B-9797-3264CBB0D81A"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "69"
-            endingLineNumber = "69"
-            landmarkName = "fetchViewModels()"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "6A30A7DC-0D3F-4C1B-9797-3264CBB0D81A - ccf72e1ebd4694bb"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "MiniScanner.DocumentsTableViewController.fetchViewModels() -&gt; ()"
-                  moduleName = "MiniScanner"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "69"
-                  endingLineNumber = "69"
-                  offsetFromSymbolStart = "844">
-               </Location>
-               <Location
-                  uuid = "6A30A7DC-0D3F-4C1B-9797-3264CBB0D81A - ccf72e1ebd4694bb"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "MiniScanner.DocumentsTableViewController.fetchViewModels() -&gt; ()"
-                  moduleName = "MiniScanner"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "69"
-                  endingLineNumber = "69"
-                  offsetFromSymbolStart = "1732">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "51B310ED-1E7A-421E-AB99-4CC3C4B646CE"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "70"
-            endingLineNumber = "70"
-            landmarkName = "fetchViewModels()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "9CCD7A4D-6524-4B72-9CCD-82FDD07A1FC5"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "MiniScanner/Modules/Documents/DocumentsTableViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "71"
-            endingLineNumber = "71"
-            landmarkName = "fetchViewModels()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-   </Breakpoints>
 </Bucket>
diff --git a/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist b/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist
index 0207cce37434503616e092dda440e92ef4c6a995..967e65e7b7d230c9cb69b8fb75b25fe515d2522c 100644
--- a/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,7 +7,7 @@
 		<key>MiniScanner.xcscheme_^#shared#^_</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>0</integer>
+			<integer>2</integer>
 		</dict>
 	</dict>
 </dict>
diff --git a/MiniScanner.xcworkspace/contents.xcworkspacedata b/MiniScanner.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000000000000000000000000000000000000..d504106a914e05da3aef4c6b05db70a37956ba96
--- /dev/null
+++ b/MiniScanner.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:MiniScanner.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
+</Workspace>
diff --git a/MiniScanner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/MiniScanner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000000000000000000000000000000000000..18d981003d68d0546c4804ac2ff47dd97c6e7921
--- /dev/null
+++ b/MiniScanner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000000000000000000000000000000000000..c83cbd686e70a40c569e572512ce3e778d3c0159
Binary files /dev/null and b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 0000000000000000000000000000000000000000..216ee44a169a423c337b1cc8c733a132117605a0
--- /dev/null
+++ b/MiniScanner.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   uuid = "270C854E-19C5-4254-A77F-7774BFB2FDA6"
+   type = "0"
+   version = "2.0">
+</Bucket>
diff --git a/MiniScanner/Extensions/Localization.swift b/MiniScanner/Extensions/Localization.swift
new file mode 100644
index 0000000000000000000000000000000000000000..b5f544f00b7af6ae62a04fcd402e699586407d0c
--- /dev/null
+++ b/MiniScanner/Extensions/Localization.swift
@@ -0,0 +1,43 @@
+//
+//  Localization.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 08/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import Foundation
+import LanguageManager_iOS
+
+var lang: String {
+    LanguageManager.shared.currentLanguage.rawValue
+}
+
+var flag: String {
+    lang == .en ? "🇺🇸" : "🇰🇼"
+}
+
+extension String {
+    static let en = "en"
+    static let ar = "ar-KW"
+    
+    var localized: String {
+        var language = ""
+        
+        if LanguageManager.shared.currentLanguage == .en {
+            language = "en"
+        } else {
+            language = "ar-KW"
+        }
+        
+        guard let bundle = Bundle.main.path(forResource: language, ofType: "lproj") else {
+          return NSLocalizedString(self, comment: "")
+        }
+
+        if let langBundle = Bundle(path: bundle) {
+            return NSLocalizedString(self, tableName: nil, bundle: langBundle, comment: "")
+        }
+        
+        return NSLocalizedString(self, comment: "")
+    }
+}
diff --git a/MiniScanner/Extensions/String+Extensions.swift b/MiniScanner/Extensions/String+Extensions.swift
index 9dc65e14a6d497ebb9a44aca30b62b252109e11a..0cabe0d8a0decc285c4f9e866e9f9fbb7169d0bc 100644
--- a/MiniScanner/Extensions/String+Extensions.swift
+++ b/MiniScanner/Extensions/String+Extensions.swift
@@ -6,10 +6,6 @@ extension String {
                    code: 1313,
                    userInfo: [NSLocalizedDescriptionKey: self])
   }
-
-  var localized: String{
-    return NSLocalizedString(self, comment: "")
-  }
   
   var deletingPathExtension: String {
       return NSString(string: self).deletingPathExtension
diff --git a/MiniScanner/Extensions/UIColor+Extensions.swift b/MiniScanner/Extensions/UIColor+Extensions.swift
new file mode 100644
index 0000000000000000000000000000000000000000..d851c563eb2aac8ed9c911f010f8b881b3ef5873
--- /dev/null
+++ b/MiniScanner/Extensions/UIColor+Extensions.swift
@@ -0,0 +1,73 @@
+//
+//  UIColor+Extensions.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 08/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import Foundation
+import UIKit
+
+extension UIColor {
+    static let mainBlue = hex("#007EFF")
+    static let buttonsBlue = hex("#1F86FF")
+    static let mainText = hex("#505050")
+    static let titlesText = hex("#888888")
+}
+
+extension UIColor {
+    /**
+     Creates an UIColor from HEX String in "#363636" format
+     - parameter hexString: HEX String in "#363636" format
+     - returns: UIColor from HexString
+     */
+    convenience init(hexString: String, alpha: CGFloat = 1.0) {
+        
+        var hexString: String = hexString.trimmingCharacters(in: .whitespacesAndNewlines)
+        
+        if hexString.hasPrefix("#") {
+            hexString.remove(at: hexString.startIndex)
+        }
+        
+        var color: UInt64 = 0
+        Scanner(string: hexString).scanHexInt64(&color)
+        
+        let red   = CGFloat((color & 0xFF0000) >> 16) / 255.0
+        let green = CGFloat((color & 0x00FF00) >> 8) / 255.0
+        let blue  = CGFloat(color & 0x0000FF) / 255.0
+        
+        self.init(red: red, green: green, blue: blue, alpha: alpha)
+    }
+    
+    /**
+     Creates an UIColor Object based on provided RGB value in integer
+     - parameter red:   Red Value in integer (0-255)
+     - parameter green: Green Value in integer (0-255)
+     - parameter blue:  Blue Value in integer (0-255)
+     - returns: UIColor with specified RGB values
+     */
+    convenience init(red: Int, green: Int, blue: Int) {
+        self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
+    }
+    
+    convenience init(red: Int, green: Int, blue: Int, alpha: CGFloat) {
+        self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: alpha)
+    }
+    
+    class func hex(_ hexCode: String) -> UIColor {
+        return UIColor(hexString: hexCode)
+    }
+    
+    class func hex(code: String, alpha: CGFloat) -> UIColor {
+        return UIColor(hexString: code, alpha: alpha)
+    }
+    
+    class func rgb(_ red: Int, _ green: Int, _ blue: Int) -> UIColor {
+        return UIColor(red: red, green: green, blue: blue)
+    }
+    
+    class func rgba(_ red: Int, _ green: Int, _ blue: Int, alpha: CGFloat) -> UIColor {
+        return UIColor(red: red, green: green, blue: blue, alpha: alpha)
+    }
+}
diff --git a/MiniScanner/Extensions/UIFont+Extensions.swift b/MiniScanner/Extensions/UIFont+Extensions.swift
new file mode 100644
index 0000000000000000000000000000000000000000..faf282ea5c0a916efcbc9461b8dc2cbe43dd7f63
--- /dev/null
+++ b/MiniScanner/Extensions/UIFont+Extensions.swift
@@ -0,0 +1,104 @@
+//
+//  UIFont+Extensions.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 08/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import UIKit
+
+extension UIFont {
+    
+    // MARK: - Font Name
+    enum AppFont {
+        case extrabold
+        case bold
+        case black
+        case medium
+        case regular
+        case light
+        case extralight
+        
+        enum English: String {
+            case bold = "Poppins-Bold"
+            case medium = "Poppins-Medium"
+            case regular = "Poppins-Regular"
+        }
+        
+        enum Arabic: String {
+            case extrabold = "Tajawal-ExtraBold"
+            case bold = "Tajawal-Bold"
+            case black = "Tajawal-Black"
+            case medium = "Tajawal-Medium"
+            case regular = "Tajawal-Regular"
+            case light = "Tajawal-Light"
+            case extralight = "Tajawal-ExtraLight"
+        }
+        
+        func font() -> String {
+            switch self {
+            case .bold:
+                return lang == .en ? English.bold.rawValue : Arabic.bold.rawValue
+            case .regular:
+                return lang == .en ? English.regular.rawValue : Arabic.regular.rawValue
+            case .medium:
+                return lang == .en ? English.medium.rawValue : Arabic.medium.rawValue
+            case .light:
+                return lang == .en ? English.regular.rawValue : Arabic.light.rawValue
+            case .extrabold:
+                return lang == .en ? English.bold.rawValue : Arabic.extrabold.rawValue
+            case .black:
+                return lang == .en ? English.bold.rawValue : Arabic.black.rawValue
+            case .extralight:
+                return lang == .en ? English.regular.rawValue : Arabic.extralight.rawValue
+
+            }
+        }
+    }
+}
+
+extension UIFont {
+    // MARK: - Get Font
+    static func getFont(_ name: UIFont.AppFont, size: CGFloat) -> UIFont {
+        return getFont(name: name.font(), size: size)
+    }
+    
+    static func getFont(name: String, size: CGFloat) -> UIFont {
+        if let font = UIFont(name: name, size: size) {
+            return font
+        } else {
+            return UIFont.systemFont(ofSize: size)
+        }
+    }
+    
+    // MARK: - Font Styles
+    class func light(_ size: CGFloat) -> UIFont {
+        getFont(.light, size: size)
+    }
+    
+    class func regular(_ size: CGFloat) -> UIFont {
+        getFont(.regular, size: size)
+    }
+    
+    class func medium(_ size: CGFloat) -> UIFont {
+        getFont(.medium, size: size)
+    }
+        
+    class func bold(_ size: CGFloat) -> UIFont {
+        getFont(.bold, size: size)
+    }
+    
+    class func extraBold(_ size: CGFloat) -> UIFont {
+        getFont(.extrabold, size: size)
+    }
+    
+    class func extraLight(_ size: CGFloat) -> UIFont {
+        getFont(.extralight, size: size)
+    }
+    
+    class func black(_ size: CGFloat) -> UIFont {
+        getFont(.black, size: size)
+    }
+}
+
diff --git a/MiniScanner/Extensions/UILabel+Extensions.swift b/MiniScanner/Extensions/UILabel+Extensions.swift
new file mode 100644
index 0000000000000000000000000000000000000000..13d101874e380c629a25d40bf6d7204c621c7899
--- /dev/null
+++ b/MiniScanner/Extensions/UILabel+Extensions.swift
@@ -0,0 +1,74 @@
+//
+//  UILabel+Extensions.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 08/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import UIKit
+
+extension UILabel {
+    // MARK: - Set Text, Color, Font
+    func set(text: String) {
+        self.text = text
+        alignment()
+    }
+    
+    func set(color: UIColor) {
+        textColor = color
+    }
+    
+    func set(font: UIFont) {
+        self.font = font
+    }
+    
+    func set(text: String, color: UIColor, font: UIFont) {
+        set(text: text)
+        set(color: color)
+        set(font: font)
+    }
+    
+    func set(uppercased: String) {
+        text = uppercased.uppercased()
+        alignment()
+    }
+    
+    func set(uppercased: String, color: UIColor, font: UIFont) {
+        set(uppercased: uppercased)
+        set(font: font)
+        set(color: color)
+    }
+    
+    // MARK: - Localization
+    func set(localized: String) {
+        text = localized.localized
+        alignment()
+    }
+    
+    func set(localizedUppercased: String) {
+        text = localizedUppercased.localized.uppercased()
+        alignment()
+    }
+    
+    func set(localized: String, color: UIColor, font: UIFont) {
+        set(localized: localized)
+        set(font: font)
+        set(color: color)
+    }
+    
+    func set(localizedUppercased: String, color: UIColor, font: UIFont) {
+        set(localizedUppercased: localizedUppercased)
+        set(font: font)
+        set(color: color)
+    }
+    
+    // MARK: - Alignment
+    func alignment() {
+        textAlignment = lang == .en ? .left : .right
+    }
+    
+    func align(to alignment: NSTextAlignment) {
+        textAlignment = alignment
+    }
+}
diff --git a/MiniScanner/Helpers/Keys.swift b/MiniScanner/Helpers/Keys.swift
new file mode 100644
index 0000000000000000000000000000000000000000..101d1ac154226b0c231f18df00e256da9439de5e
--- /dev/null
+++ b/MiniScanner/Helpers/Keys.swift
@@ -0,0 +1,14 @@
+//
+//  Keys.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 08/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+import Foundation
+import UIKit
+let tag: String = "BN_"
+
+struct Keys {
+    static let appLanguage = tag + "_appLanguage"
+}
diff --git a/MiniScanner/Managers/LocalFileManager.swift b/MiniScanner/Managers/LocalFileManager.swift
index 3859467babb96642773cd5dfb6d436153177615c..440de56fec88e17f68631726ac6ae4213cc99359 100644
--- a/MiniScanner/Managers/LocalFileManager.swift
+++ b/MiniScanner/Managers/LocalFileManager.swift
@@ -16,8 +16,8 @@ class LocalFileManager {
     return filesManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
   }
   
-  var scannerURL: URL {
-      let iFinderURL = documentsURL.appendingPathComponent(AppConfigurator.Folders.AllDocument.rawValue, isDirectory: true)
+  var AllDocUrl: URL {
+      let iFinderURL = documentsURL.appendingPathComponent("all_documents", isDirectory: true)
     /// Check if file not exist and create
     if !filesManager.fileExists(atPath: iFinderURL.path) {
       try? filesManager.createDirectory(at: iFinderURL, withIntermediateDirectories: true, attributes: nil)
diff --git a/MiniScanner/Managers/PDFManager.swift b/MiniScanner/Managers/PDFManager.swift
index 623a17da34c1d7c63a8b18d14f272c4b62e7af48..12d33ed7b29b3d7ce6c53f0b79e321308b2635d2 100644
--- a/MiniScanner/Managers/PDFManager.swift
+++ b/MiniScanner/Managers/PDFManager.swift
@@ -2,75 +2,85 @@ import UIKit
 import PDFKit
 
 class PDFManager {
-  
-  class func pdfThumbnail(url: URL, width: CGFloat = 240) -> UIImage? {
-    guard let data = try? Data(contentsOf: url),
-          let page = PDFDocument(data: data)?.page(at: 0) else {
-      return nil
-    }
-    
-    let pageSize = page.bounds(for: .mediaBox)
-    let pdfScale = width / pageSize.width
-    
-    let scale = UIScreen.main.scale * pdfScale
-    let screenSize = CGSize(width: pageSize.width * scale,
-                            height: pageSize.height * scale)
     
-    return page.thumbnail(of: screenSize, for: .mediaBox)
-  }
-  
-  class func generatePdfThumbnail(of thumbnailSize: CGSize, for documentUrl: URL) -> UIImage? {
-    guard let data = try? Data(contentsOf: documentUrl),
-          let page = PDFDocument(data: data)?.page(at: 0) else {
-      return nil
+    class func pdfThumbnail(url: URL, width: CGFloat = 240) -> UIImage? {
+        guard let data = try? Data(contentsOf: url),
+              let page = PDFDocument(data: data)?.page(at: 0) else {
+            return nil
+        }
+        
+        let pageSize = page.bounds(for: .mediaBox)
+        let pdfScale = width / pageSize.width
+        
+        let scale = UIScreen.main.scale * pdfScale
+        let screenSize = CGSize(width: pageSize.width * scale,
+                                height: pageSize.height * scale)
+        
+        return page.thumbnail(of: screenSize, for: .mediaBox)
     }
-
-    return page.thumbnail(of: thumbnailSize, for: .trimBox)
-  }
-  
-  class func getPDFPageToImage(page: PDFPage, pageIndex: Int) -> UIImage? {
-    let pageSize = page.bounds(for: .mediaBox)
-    let screenSize = CGSize(width: pageSize.width,
-                            height: pageSize.height)
-
-    return page.thumbnail(of: screenSize, for: .mediaBox)
-  }
-  
-    class func createPDFDocument(from image: UIImage, localFileManager: LocalFileManager?, folder: AppConfigurator.Folder) {
-    guard let scannerURL = localFileManager?.getFolderUrl(folder: folder) else { return }
-    let urlPDFtoSave = scannerURL.appendingPathComponent(String.getDocumentName())
-    let document = PDFDocument()
     
-    if let pdfPage = PDFPage(image: image) {
-      document.insert(pdfPage, at: 0)
+    class func generatePdfThumbnail(of thumbnailSize: CGSize, for documentUrl: URL) -> UIImage? {
+        guard let data = try? Data(contentsOf: documentUrl),
+              let page = PDFDocument(data: data)?.page(at: 0) else {
+            return nil
+        }
+        
+        return page.thumbnail(of: thumbnailSize, for: .trimBox)
     }
-    do {
-      try document.dataRepresentation()?.write(to: urlPDFtoSave)
-    } catch {
-      print(error.localizedDescription)
+    
+    class func getPDFPageToImage(page: PDFPage, pageIndex: Int) -> UIImage? {
+        let pageSize = page.bounds(for: .mediaBox)
+        let screenSize = CGSize(width: pageSize.width,
+                                height: pageSize.height)
+        
+        return page.thumbnail(of: screenSize, for: .mediaBox)
     }
-  }
-  
-  class func createPDFDocument(from image: UIImage, urlPDFtoSave: URL) {
-    let document = PDFDocument()
     
-    if let pdfPage = PDFPage(image: image) {
-      document.insert(pdfPage, at: 0)
+    class func createPDFDocument(from image: UIImage, localFileManager: LocalFileManager?, folder: AppConfigurator.Folder) {
+        guard let allDoc = localFileManager?.AllDocUrl else { return }
+        guard let scannerURL = localFileManager?.getFolderUrl(folder: folder) else { return }
+        
+        let urlPDFtoSaveInAllDoc = allDoc.appendingPathComponent(String.getDocumentName())
+        let urlPDFtoSave = scannerURL.appendingPathComponent(String.getDocumentName())
+        
+        let document = PDFDocument()
+        
+        if let pdfPage = PDFPage(image: image) {
+            document.insert(pdfPage, at: 0)
+        }
+        do {
+            try document.dataRepresentation()?.write(to: urlPDFtoSave)
+            if folder.savedName != "all_documents" {
+                try document.dataRepresentation()?.write(to: urlPDFtoSaveInAllDoc)
+            }
+        } catch {
+            print(error.localizedDescription)
+        }
     }
-    do {
-      try document.dataRepresentation()?.write(to: urlPDFtoSave)
-    } catch {
-      print(error.localizedDescription)
+    
+    class func createPDFDocument(from image: UIImage, urlPDFtoSave: URL) {
+        let document = PDFDocument()
+        
+        if let pdfPage = PDFPage(image: image) {
+            document.insert(pdfPage, at: 0)
+        }
+        do {
+            try document.dataRepresentation()?.write(to: urlPDFtoSave)
+        } catch {
+            print(error.localizedDescription)
+        }
     }
-  }
     
     class func createMultiPDFPage(from imageURLs: [URL], localFileManager: LocalFileManager?, folder: AppConfigurator.Folder, _ completion: @escaping () -> ()) {
+        guard let allDoc = localFileManager?.AllDocUrl else { return }
         guard let scannerURL = localFileManager?.getFolderUrl(folder: folder) else { return }
-        let urlPDFtoSave = scannerURL.appendingPathComponent(String.getDocumentName())
         
+        let urlPDFtoSave = scannerURL.appendingPathComponent(String.getDocumentName())
+        let urlPDFtoSaveInAllDoc = allDoc.appendingPathComponent(String.getDocumentName())
+
         if imageURLs.isEmpty { return }
         let document = PDFDocument()
-
+        
         let dispatchGroup = DispatchGroup()
         
         // Iterate through image URLs
@@ -85,6 +95,9 @@ class PDFManager {
                         if document.pageCount == imageURLs.count {
                             do {
                                 try document.dataRepresentation()?.write(to: urlPDFtoSave)
+                                if folder.savedName != "all_documents" {
+                                    try document.dataRepresentation()?.write(to: urlPDFtoSaveInAllDoc)
+                                }
                                 completion()
                             } catch {
                                 print(error.localizedDescription) // handle error
@@ -101,19 +114,19 @@ class PDFManager {
             print("All images have been processed")
         }
     }
-  
-  class func appendPage(image: UIImage, pdfView: PDFView, documentURL: URL?) {
-    guard let page = PDFPage(image: image),
-          let documentURL = documentURL,
-          let lastIndex = pdfView.document?.pageCount else  { return }
-    pdfView.document?.insert(page, at: lastIndex)
-    pdfView.document?.write(to: documentURL)
-    pdfView.go(to: page)
     
-    LocalFileManager().updateThumbnail(forURL: documentURL)
-  }
+    class func appendPage(image: UIImage, pdfView: PDFView, documentURL: URL?) {
+        guard let page = PDFPage(image: image),
+              let documentURL = documentURL,
+              let lastIndex = pdfView.document?.pageCount else  { return }
+        pdfView.document?.insert(page, at: lastIndex)
+        pdfView.document?.write(to: documentURL)
+        pdfView.go(to: page)
+        
+        LocalFileManager().updateThumbnail(forURL: documentURL)
+    }
     
-class func appendPage(imageURL: URL, pdfView: PDFView, documentURL: URL?) {
+    class func appendPage(imageURL: URL, pdfView: PDFView, documentURL: URL?) {
         DispatchQueue.global().async {
             if let data = try? Data(contentsOf: imageURL),
                let image = UIImage(data: data),
@@ -130,49 +143,49 @@ class func appendPage(imageURL: URL, pdfView: PDFView, documentURL: URL?) {
             }
         }
     }
-  
-  class func appendPage(images: [UIImage], pdfView: PDFView, documentURL: URL?) {
-    guard let documentURL = documentURL else  { return }
-    let currentIndex = pdfView.getCurrentPageIndex()
     
-    for image in images {
-      if let page = PDFPage(image: image) {
-        pdfView.document?.insert(page, at: currentIndex)
-      }
-    }
-    
-    if let page = pdfView.visiblePages.first {
-      pdfView.document?.write(to: documentURL)
-      pdfView.go(to: page)
+    class func appendPage(images: [UIImage], pdfView: PDFView, documentURL: URL?) {
+        guard let documentURL = documentURL else  { return }
+        let currentIndex = pdfView.getCurrentPageIndex()
+        
+        for image in images {
+            if let page = PDFPage(image: image) {
+                pdfView.document?.insert(page, at: currentIndex)
+            }
+        }
+        
+        if let page = pdfView.visiblePages.first {
+            pdfView.document?.write(to: documentURL)
+            pdfView.go(to: page)
+        }
+        
+        LocalFileManager().updateThumbnail(forURL: documentURL)
+        
+        pdfView.document = PDFDocument(url: documentURL)
+        pdfView.layoutDocumentView()
     }
     
-    LocalFileManager().updateThumbnail(forURL: documentURL)
-    
-    pdfView.document = PDFDocument(url: documentURL)
-    pdfView.layoutDocumentView()
-  }
-  
-  class func deletePage(at index: Int, pdfDocument: PDFDocument?, documentURL: URL?, pdfView: PDFView!) {
-    guard let pdfDocument = pdfDocument, let documentURL = documentURL, let pdfView = pdfView else  { return }
-    pdfDocument.removePage(at: index)
-    pdfDocument.write(to: documentURL)
-    pdfView.document = pdfDocument
-    pdfView.layoutDocumentView()
-    LocalFileManager().updateThumbnail(forURL: documentURL)
-    if pdfView.canGoToNextPage {
-      pdfView.goToNextPage(pdfView)
-    } else if pdfView.canGoToPreviousPage {
-      pdfView.goToPreviousPage(pdfView)
-    } else if pdfView.canGoToLastPage {
-      pdfView.goToLastPage(pdfView)
-    } else if pdfView.canGoForward {
-      pdfView.goForward(pdfView)
-    } else if pdfView.canGoBack {
-      pdfView.goBack(pdfView)
-    } else if pdfView.canGoToFirstPage {
-      pdfView.goToFirstPage(pdfView)
-    } else {
-      pdfView.layoutDocumentView()
+    class func deletePage(at index: Int, pdfDocument: PDFDocument?, documentURL: URL?, pdfView: PDFView!) {
+        guard let pdfDocument = pdfDocument, let documentURL = documentURL, let pdfView = pdfView else  { return }
+        pdfDocument.removePage(at: index)
+        pdfDocument.write(to: documentURL)
+        pdfView.document = pdfDocument
+        pdfView.layoutDocumentView()
+        LocalFileManager().updateThumbnail(forURL: documentURL)
+        if pdfView.canGoToNextPage {
+            pdfView.goToNextPage(pdfView)
+        } else if pdfView.canGoToPreviousPage {
+            pdfView.goToPreviousPage(pdfView)
+        } else if pdfView.canGoToLastPage {
+            pdfView.goToLastPage(pdfView)
+        } else if pdfView.canGoForward {
+            pdfView.goForward(pdfView)
+        } else if pdfView.canGoBack {
+            pdfView.goBack(pdfView)
+        } else if pdfView.canGoToFirstPage {
+            pdfView.goToFirstPage(pdfView)
+        } else {
+            pdfView.layoutDocumentView()
+        }
     }
-  }
 }
diff --git a/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift
index 354beffd59d8852ab392ccf4bb432cc219234c37..c8c458e217993e07c7be3c24aaa121182f1594b2 100644
--- a/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift
+++ b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift
@@ -34,12 +34,13 @@ class FolderCollectionViewCell: UICollectionViewCell {
     }
     
     private func setSelected() {
-        self.titleLabel.textColor = isFolderSelected ? .white : .black
-        self.boxView.backgroundColor = isFolderSelected ? .blue : .white
+        
+        self.titleLabel.textColor = isFolderSelected ? .white : .mainText
+        self.boxView.backgroundColor = isFolderSelected ? .mainBlue : .white
     }
     
     func set(folder: AppConfigurator.Folder) {
-        self.titleLabel.text = folder.name
+        self.titleLabel.set(text: folder.name, color: isFolderSelected ? .white : .mainText, font: isFolderSelected ? .bold(18) : .medium(18))
         isFolderSelected = folder.isSelected
         setSelected()
     }
diff --git a/MiniScanner/Modules/Documents/DocumentsTableViewController.swift b/MiniScanner/Modules/Documents/DocumentsTableViewController.swift
index 3c11fa76131ab39694f101dd2460956009db6e03..e8617d4b93b194b0501ff0c41670694809107e9d 100644
--- a/MiniScanner/Modules/Documents/DocumentsTableViewController.swift
+++ b/MiniScanner/Modules/Documents/DocumentsTableViewController.swift
@@ -94,7 +94,7 @@ final class DocumentsTableViewController: UITableViewController {
     }
     
     override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
-        220
+        240
     }
     
     
diff --git a/MiniScanner/Supporting Files/AppDelegate.swift b/MiniScanner/Supporting Files/AppDelegate.swift
index 627a6d8e1e4a01e8ebf7a467cfca7beaef189850..b9fea47e28e79fd26f6f2102e644b82847475b1f 100644
--- a/MiniScanner/Supporting Files/AppDelegate.swift	
+++ b/MiniScanner/Supporting Files/AppDelegate.swift	
@@ -1,4 +1,5 @@
 import UIKit
+import LanguageManager_iOS
 
 @main
 class AppDelegate: UIResponder, UIApplicationDelegate {
@@ -12,6 +13,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
       } else {
           AppConfigurator().setDefaults()
       }
+      setAppLanguage()
     return true
   }
   
@@ -31,6 +33,39 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
   }
     
+    // MARK: - Set Language
+    private func setAppLanguage() {
+        if let language = UserDefaults.standard.string(forKey: Keys.appLanguage) {
+            if language == .en {
+                setEnglishLanguage()
+            } else {
+                setArabicLanguage()
+            }
+        } else {
+            if let deviceLanguage = Bundle.main.preferredLocalizations.first {
+                if deviceLanguage == "ar" || deviceLanguage == "ar-KW" {
+                    setArabicLanguage()
+                } else if deviceLanguage == "en" {
+                    setEnglishLanguage()
+                }
+            } else {
+                setEnglishLanguage()
+            }
+        }
+    }
+    
+    private func setArabicLanguage() {
+        LanguageManager.shared.setLanguage(language: .ar)
+        LanguageManager.shared.defaultLanguage = .ar
+        UserDefaults.standard.setValue(String.ar, forKey: Keys.appLanguage)
+    }
+    
+    private func setEnglishLanguage() {
+        LanguageManager.shared.setLanguage(language: .en)
+        LanguageManager.shared.defaultLanguage = .en
+        UserDefaults.standard.setValue(String.en, forKey: Keys.appLanguage)
+    }
+    
     
 }
 
diff --git a/MiniScanner/Supporting Files/Fonts/.DS_Store b/MiniScanner/Supporting Files/Fonts/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..4b7c1a1adca3a52e54ffdd27da7d1c1f0aa10d84
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/.DS_Store differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Black.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Black.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-Black.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Black.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Bold.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Bold.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-Bold.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Bold.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraBold.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-ExtraBold.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-ExtraBold.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-ExtraBold.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraLight.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-ExtraLight.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-ExtraLight.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-ExtraLight.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Light.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Light.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-Light.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Light.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Medium.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Medium.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-Medium.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Medium.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Regular.ttf b/MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Regular.ttf
similarity index 100%
rename from MiniScanner/Supporting Files/Fonts/Tajawal-Regular.ttf
rename to MiniScanner/Supporting Files/Fonts/Arabic/Tajawal-Regular.ttf
diff --git a/MiniScanner/Supporting Files/Fonts/English/Poppins-Bold.ttf b/MiniScanner/Supporting Files/Fonts/English/Poppins-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..00559eeb290fb8036f10633ff0640447d827b27c
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/English/Poppins-Bold.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/English/Poppins-Medium.ttf b/MiniScanner/Supporting Files/Fonts/English/Poppins-Medium.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..6bcdcc27f22e001e46defdfd9e23f224ff65dd67
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/English/Poppins-Medium.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/English/Poppins-Regular.ttf b/MiniScanner/Supporting Files/Fonts/English/Poppins-Regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..9f0c71b70a49664ced448c63edc9c4ff2bf8cf4a
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/English/Poppins-Regular.ttf differ
diff --git a/MiniScanner/Supporting Files/Info.plist b/MiniScanner/Supporting Files/Info.plist
index a8a4dbc9b774d6d48f3d1a326594526abb568a21..c0684c7307f2fcde8ac0788ddabc5a2d378f263c 100644
--- a/MiniScanner/Supporting Files/Info.plist	
+++ b/MiniScanner/Supporting Files/Info.plist	
@@ -70,12 +70,15 @@
 	<key>UIAppFonts</key>
 	<array>
 		<string>Tajawal-ExtraBold.ttf</string>
-        <string>Tajawal-Light.ttf</string>
-        <string>Tajawal-Bold.ttf</string>
-        <string>Tajawal-ExtraLight.ttf</string>
-        <string>Tajawal-Regular.ttf</string>
-        <string>Tajawal-Medium.ttf</string>
-        <string>Tajawal-Black.ttf</string>
+		<string>Tajawal-Light.ttf</string>
+		<string>Tajawal-Bold.ttf</string>
+		<string>Tajawal-ExtraLight.ttf</string>
+		<string>Tajawal-Regular.ttf</string>
+		<string>Tajawal-Medium.ttf</string>
+		<string>Tajawal-Black.ttf</string>
+		<string>Poppins-Regular.ttf</string>
+		<string>Poppins-Medium.ttf</string>
+		<string>Poppins-Bold.ttf</string>
 	</array>
 </dict>
 </plist>
diff --git a/Podfile b/Podfile
new file mode 100644
index 0000000000000000000000000000000000000000..114e943ae5102f7086baa862b6fac644e1b05e68
--- /dev/null
+++ b/Podfile
@@ -0,0 +1,19 @@
+# Uncomment the next line to define a global platform for your project
+# platform :ios, '9.0'
+
+target 'MiniScanner' do
+  # Comment the next line if you don't want to use dynamic frameworks
+  use_frameworks!
+
+  # Pods for MiniScanner
+  pod 'LanguageManager-iOS'
+
+post_install do |installer|
+  installer.pods_project.targets.each do |target|
+    target.build_configurations.each do |config|
+      #config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
+    end
+  end
+end 
+
+end
diff --git a/Podfile.lock b/Podfile.lock
new file mode 100644
index 0000000000000000000000000000000000000000..913eeddfa19742652c823b0ac5c8768a19d19132
--- /dev/null
+++ b/Podfile.lock
@@ -0,0 +1,16 @@
+PODS:
+  - LanguageManager-iOS (1.2.7)
+
+DEPENDENCIES:
+  - LanguageManager-iOS
+
+SPEC REPOS:
+  trunk:
+    - LanguageManager-iOS
+
+SPEC CHECKSUMS:
+  LanguageManager-iOS: 6b2dbb3793445827114708f0759b76e96932d7c8
+
+PODFILE CHECKSUM: b552b1df80271db8c0ce748b0da6dd348ea0f82d
+
+COCOAPODS: 1.14.3
diff --git a/Pods/LanguageManager-iOS/LICENSE b/Pods/LanguageManager-iOS/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..46273a97f8f642612e8cf4ef5c6783469f373323
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2017 Abedalkareem
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/DefaultsKeys.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/DefaultsKeys.swift
new file mode 100644
index 0000000000000000000000000000000000000000..1a130b78b3a6b313a4535dac67ee5d5e07880a33
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/DefaultsKeys.swift
@@ -0,0 +1,13 @@
+//
+//  DefaultsKeys.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import Foundation
+
+enum DefaultsKeys: String {
+  case selectedLanguage = "LanguageManagerSelectedLanguage"
+  case defaultLanguage = "LanguageManagerDefaultLanguage"
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/Languages.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/Languages.swift
new file mode 100644
index 0000000000000000000000000000000000000000..1ed7cc7f9b1ede25e22bf90707585d052087551b
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/Languages.swift
@@ -0,0 +1,26 @@
+//
+//  Languages.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import Foundation
+
+public enum Languages: String {
+  case ar, en, nl, ja, ko, vi, ru, sv, fr, es, pt, it, de, da, fi, nb, tr, el, id,
+  ms, th, hi, hu, pl, cs, sk, uk, hr, ca, ro, he, ur, fa, ku, arc, sl, ml, am, zh, mn, ka, sw
+  case enGB = "en-GB"
+  case enAU = "en-AU"
+  case enCA = "en-CA"
+  case enIN = "en-IN"
+  case frCA = "fr-CA"
+  case esMX = "es-MX"
+  case ptBR = "pt-BR"
+  case zhHans = "zh-Hans"
+  case zhHant = "zh-Hant"
+  case zhHK = "zh-HK"
+  case es419 = "es-419"
+  case ptPT = "pt-PT"
+  case deviceLanguage
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/ViewDirection.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/ViewDirection.swift
new file mode 100644
index 0000000000000000000000000000000000000000..5c1d2251fcd303a4ef44726fa59914b4eb1b6492
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Constants/ViewDirection.swift
@@ -0,0 +1,12 @@
+//
+//  ViewDirection.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import Foundation
+
+public enum ViewDirection: Int {
+  case fixed, leftToRight, rightToLeft
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/String+Localiz.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/String+Localiz.swift
new file mode 100644
index 0000000000000000000000000000000000000000..bd9bbfe8dd6c66f7d1a9fe169dd14052c6ee2ddb
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/String+Localiz.swift
@@ -0,0 +1,27 @@
+//
+//  String+Helpers.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import Foundation
+
+public extension String {
+
+  ///
+  /// Localize the current string to the selected language
+  ///
+  /// - returns: The localized string
+  ///
+  func localiz(comment: String = "") -> String {
+    guard let bundle = Bundle.main.path(forResource: LanguageManager.shared.currentLanguage.rawValue,
+                                        ofType: "lproj") else {
+      return NSLocalizedString(self, comment: comment)
+    }
+
+    let langBundle = Bundle(path: bundle)
+    return NSLocalizedString(self, tableName: nil, bundle: langBundle!, comment: comment)
+  }
+
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIButton+Direction.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIButton+Direction.swift
new file mode 100644
index 0000000000000000000000000000000000000000..c669713883d67dddae18c457a9b9839b58316f13
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIButton+Direction.swift
@@ -0,0 +1,32 @@
+//
+//  UIButton+Direction.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import UIKit
+
+@IBDesignable
+public extension UIButton {
+  ///
+  /// Change the direction of the image depeneding in the language, there is no return value for this variable.
+  /// The expectid values:
+  ///
+  /// -`fixed`: if the image must not change the direction depending on the language you need to set the value as 0.
+  ///
+  /// -`leftToRight`: if the image must change the direction depending on the language
+  /// and the image is left to right image then you need to set the value as 1.
+  ///
+  /// -`rightToLeft`: if the image must change the direction depending on the language
+  /// and the image is right to left image then you need to set the value as 2.
+  ///
+  @IBInspectable var imageDirection: Int {
+    get {
+      return direction.rawValue
+    }
+    set {
+      direction = ViewDirection(rawValue: newValue)!
+    }
+  }
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIImageView+Direction.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIImageView+Direction.swift
new file mode 100644
index 0000000000000000000000000000000000000000..d68735afc69e4cb5d7188ff769b8c9153a163350
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIImageView+Direction.swift
@@ -0,0 +1,32 @@
+//
+//  UIImageView+Direction.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import UIKit
+
+@IBDesignable
+public extension UIImageView {
+  ///
+  /// Change the direction of the image depeneding in the language, there is no return value for this variable.
+  /// The expectid values:
+  ///
+  /// -`fixed`: if the image must not change the direction depending on the language you need to set the value as 0.
+  ///
+  /// -`leftToRight`: if the image must change the direction depending on the language
+  /// and the image is left to right image then you need to set the value as 1.
+  ///
+  /// -`rightToLeft`: if the image must change the direction depending on the language
+  /// and the image is right to left image then you need to set the value as 2.
+  ///
+  @IBInspectable var imageDirection: Int {
+    get {
+      return direction.rawValue
+    }
+    set {
+      direction = ViewDirection(rawValue: newValue)!
+    }
+  }
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Direction.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Direction.swift
new file mode 100644
index 0000000000000000000000000000000000000000..0d9172c7a43364478631fe192ca87850a26d24e0
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Direction.swift
@@ -0,0 +1,44 @@
+//
+//  UIView+Direction.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import UIKit
+
+extension UIView {
+  ///
+  /// Change the direction of the view depeneding in the language, there is no return value for this variable.
+  ///
+  /// The expectid values:
+  ///
+  /// -`fixed`: if the view must not change the direction depending on the language.
+  ///
+  /// -`leftToRight`: if the view must change the direction depending on the language
+  /// and the view is left to right view.
+  ///
+  /// -`rightToLeft`: if the view must change the direction depending on the language
+  /// and the view is right to left view.
+  ///
+  var direction: ViewDirection {
+    get {
+      fatalError("""
+                 There is no value return from this variable,
+                 this variable used to change the view direction depending on the langauge
+                 """)
+    }
+    set {
+      switch newValue {
+      case .fixed:
+        break
+      case .leftToRight where LanguageManager.shared.isRightToLeft:
+        transform = CGAffineTransform(scaleX: -1, y: 1)
+      case .rightToLeft where !LanguageManager.shared.isRightToLeft:
+        transform = CGAffineTransform(scaleX: -1, y: 1)
+      default:
+        break
+      }
+    }
+  }
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Swizzling.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Swizzling.swift
new file mode 100644
index 0000000000000000000000000000000000000000..0a5fed81fdafacafc5623a00e0fb29bcb4b58ed3
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Swizzling.swift
@@ -0,0 +1,58 @@
+//
+//  UIView+Swizzling.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import UIKit
+
+extension UIView {
+  static func localize() {
+
+    let orginalSelector = #selector(awakeFromNib)
+    let swizzledSelector = #selector(swizzledAwakeFromNib)
+
+    let orginalMethod = class_getInstanceMethod(self, orginalSelector)
+    let swizzledMethod = class_getInstanceMethod(self, swizzledSelector)
+
+    let didAddMethod = class_addMethod(self,
+                                       orginalSelector,
+                                       method_getImplementation(swizzledMethod!),
+                                       method_getTypeEncoding(swizzledMethod!))
+
+    if didAddMethod {
+      class_replaceMethod(self,
+                          swizzledSelector,
+                          method_getImplementation(orginalMethod!),
+                          method_getTypeEncoding(orginalMethod!))
+    } else {
+      method_exchangeImplementations(orginalMethod!, swizzledMethod!)
+    }
+
+  }
+
+  @objc
+  func swizzledAwakeFromNib() {
+    swizzledAwakeFromNib()
+
+    switch self {
+    case let txtf as UITextField:
+      txtf.text = txtf.text?.localiz()
+      txtf.placeholder = txtf.placeholder?.localiz()
+    case let lbl as UILabel:
+      lbl.text = lbl.text?.localiz()
+    case let tabbar as UITabBar:
+      tabbar.items?.forEach({ $0.title = $0.title?.localiz() })
+    case let btn as UIButton:
+      btn.setTitle(btn.title(for: .normal)?.localiz(), for: .normal)
+    case let sgmnt as UISegmentedControl:
+      (0 ..< sgmnt.numberOfSegments)
+        .forEach { sgmnt.setTitle(sgmnt.titleForSegment(at: $0)?.localiz(), forSegmentAt: $0) }
+    case let txtv as UITextView:
+      txtv.text = txtv.text?.localiz()
+    default:
+      break
+    }
+  }
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Storage.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Storage.swift
new file mode 100644
index 0000000000000000000000000000000000000000..57aa59dbc3d6e05ad717a24b004b31fba6580d68
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Helpers/Storage.swift
@@ -0,0 +1,27 @@
+//
+//  Storage.swift
+//  LanguageManager-iOS
+//
+//  Created by abedalkareem omreyh on 10/11/2020.
+//
+
+import Foundation
+
+class Storage {
+
+  // MARK: - Private properties
+
+  private var defaults: UserDefaults {
+    UserDefaults.standard
+  }
+
+  // MARK: - Methods
+
+  func string(forKey key: DefaultsKeys) -> String? {
+    defaults.string(forKey: key.rawValue)
+  }
+
+  func set(_ value: String, forKey: DefaultsKeys) {
+    defaults.set(value, forKey: forKey.rawValue)
+  }
+}
diff --git a/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Main/LanguageManager.swift b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Main/LanguageManager.swift
new file mode 100755
index 0000000000000000000000000000000000000000..afa115bcb2dbdeef70d46f86902933f4903db99f
--- /dev/null
+++ b/Pods/LanguageManager-iOS/LanguageManager-iOS/Classes/Main/LanguageManager.swift
@@ -0,0 +1,215 @@
+//
+//  LanguageManager.swift
+//
+//  Created by abedalkareem omreyh on 10/23/17.
+//  Copyright © 2017 abedlkareem omreyh. All rights reserved.
+//  GitHub: https://github.com/Abedalkareem/LanguageManager-iOS
+//  The MIT License (MIT)
+//
+//  Copyright (c) 2017 Abedalkareem
+//
+//  Permission is hereby granted, free of charge, to any person obtaining a copy
+//  of this software and associated documentation files (the "Software"), to deal
+//  in the Software without restriction, including without limitation the rights
+//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+//  copies of the Software, and to permit persons to whom the Software is
+//  furnished to do so, subject to the following conditions:
+//
+//  The above copyright notice and this permission notice shall be included in all
+//  copies or substantial portions of the Software.
+//
+//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+//  SOFTWARE.
+
+import UIKit
+
+public class LanguageManager {
+
+  public typealias Animation = ((UIView) -> Void)
+  public typealias ViewControllerFactory = ((String?) -> UIViewController)
+  public typealias WindowAndTitle = (UIWindow?, String?)
+
+  // MARK: - Private properties
+
+  private var storage = Storage()
+
+  // MARK: - Properties
+
+  ///
+  /// The singleton LanguageManager instance.
+  ///
+  public static let shared = LanguageManager()
+
+  ///
+  /// Current app language.
+  /// *Note, This property just to get the current lanuage,
+  /// To set the language use:
+  /// `setLanguage(language:, for:, viewControllerFactory:, animation:)`*
+  ///
+  public private(set) var currentLanguage: Languages {
+    get {
+      guard let currentLang = storage.string(forKey: .selectedLanguage) else {
+        fatalError("Did you set the default language for the app?")
+      }
+      return Languages(rawValue: currentLang)!
+    }
+    set {
+      storage.set(newValue.rawValue, forKey: .selectedLanguage)
+    }
+  }
+
+  ///
+  /// The default language that the app will run with first time.
+  /// You need to set the `defaultLanguage` in the `AppDelegate`, specifically in
+  /// the first line inside the `application(_:willFinishLaunchingWithOptions:)` method.
+  ///
+  public var defaultLanguage: Languages {
+    get {
+      guard let defaultLanguage = storage.string(forKey: .defaultLanguage) else {
+        fatalError("Did you set the default language for the app?")
+      }
+      return Languages(rawValue: defaultLanguage)!
+    }
+    set {
+      // swizzle the awakeFromNib from nib and localize the text in the new awakeFromNib
+      UIView.localize()
+
+      let defaultLanguage = storage.string(forKey: .defaultLanguage)
+      guard defaultLanguage == nil else {
+        // If the default language has been set before,
+        // that means that the user opened the app before and maybe
+        // he changed the language so here the `currentLanguage` is being set.
+        setLanguage(language: currentLanguage)
+        return
+      }
+
+      var language = newValue
+      if language == .deviceLanguage {
+        language = deviceLanguage ?? .en
+      }
+
+      storage.set(language.rawValue, forKey: .defaultLanguage)
+      storage.set(language.rawValue, forKey: .selectedLanguage)
+      setLanguage(language: language)
+    }
+  }
+
+  ///
+  /// The device language is deffrent than the app language,
+  /// to get the app language use `currentLanguage`.
+  ///
+  public var deviceLanguage: Languages? {
+    guard let deviceLanguage = Bundle.main.preferredLocalizations.first else {
+      return nil
+    }
+    return Languages(rawValue: deviceLanguage)
+  }
+
+  /// The diriction of the language.
+  public var isRightToLeft: Bool {
+    return isLanguageRightToLeft(language: currentLanguage)
+  }
+
+  /// The app locale to use it in dates and currency.
+  public var appLocale: Locale {
+    return Locale(identifier: currentLanguage.rawValue)
+  }
+
+  // MARK: - Public Methods
+
+  ///
+  /// Set the current language of the app
+  ///
+  /// - parameter language: The language that you need the app to run with.
+  /// - parameter windows: The windows you want to change the `rootViewController` for. if you didn't
+  ///                      set it, it will change the `rootViewController` for all the windows in the
+  ///                      scenes.
+  /// - parameter viewControllerFactory: A closure to make the `ViewController` for a specific `scene`,
+  ///                                    you can know for which `scene` you need to make the controller you can check
+  ///                                    the `title` sent to this clouser, this title is the `title` of the `scene`,
+  ///                                    so if there is 5 scenes this closure will get called 5 times
+  ///                                    for each scene window.
+  /// - parameter animation: A closure with the current view to animate to the new view controller,
+  ///                        so you need to animate the view, move it out of the screen, change the alpha,
+  ///                        or scale it down to zero.
+  ///
+  public func setLanguage(language: Languages,
+                          for windows: [WindowAndTitle]? = nil,
+                          viewControllerFactory: ViewControllerFactory? = nil,
+                          animation: Animation? = nil) {
+
+    changeCurrentLanguageTo(language)
+
+    guard let viewControllerFactory = viewControllerFactory else {
+      return
+    }
+
+    let windowsToChange = getWindowsToChangeFrom(windows)
+
+    windowsToChange?.forEach({ windowAndTitle in
+      let (window, title) = windowAndTitle
+      let viewController = viewControllerFactory(title)
+      changeViewController(for: window,
+                              rootViewController: viewController,
+                              animation: animation)
+    })
+
+  }
+
+  // MARK: - Private Methods
+
+  private func changeCurrentLanguageTo(_ language: Languages) {
+    // change the dircation of the views
+    let semanticContentAttribute: UISemanticContentAttribute = isLanguageRightToLeft(language: language) ?
+      .forceRightToLeft :
+      .forceLeftToRight
+    UIView.appearance().semanticContentAttribute = semanticContentAttribute
+
+    // set current language
+    currentLanguage = language
+  }
+
+  private func getWindowsToChangeFrom(_ windows: [WindowAndTitle]?) -> [WindowAndTitle]? {
+    var windowsToChange: [WindowAndTitle]?
+    if let windows = windows {
+      windowsToChange = windows
+    } else {
+      if #available(iOS 13.0, *) {
+        windowsToChange = UIApplication.shared.connectedScenes
+          .compactMap({ $0 as? UIWindowScene })
+          .map({ ($0.windows.first, $0.title) })
+      } else {
+        windowsToChange = [(UIApplication.shared.keyWindow, nil)]
+      }
+    }
+
+    return windowsToChange
+  }
+
+  private func changeViewController(for window: UIWindow?,
+                                    rootViewController: UIViewController,
+                                    animation: Animation? = nil) {
+    guard let snapshot = window?.snapshotView(afterScreenUpdates: true) else {
+      return
+    }
+    rootViewController.view.addSubview(snapshot)
+
+    window?.rootViewController = rootViewController
+
+    UIView.animate(withDuration: 0.5, animations: {
+      animation?(snapshot)
+    }, completion: { _ in
+      snapshot.removeFromSuperview()
+    })
+  }
+
+  private func isLanguageRightToLeft(language: Languages) -> Bool {
+    return Locale.characterDirection(forLanguage: language.rawValue) == .rightToLeft
+  }
+
+}
diff --git a/Pods/LanguageManager-iOS/README.md b/Pods/LanguageManager-iOS/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..05158a72ac089f5d2ebf975c1d9a97a705e8775a
--- /dev/null
+++ b/Pods/LanguageManager-iOS/README.md
@@ -0,0 +1,105 @@
+<p align="center">
+<img src="https://github.com/Abedalkareem/LanguageManager-iOS/blob/master/Images/logo.png?raw=true"  width="150">  </center>
+</p>
+<br>
+
+A Language manager to handle changing app language without restarting the app.
+
+<br>
+
+
+## ScreenShots
+
+<img src="https://raw.githubusercontent.com/Abedalkareem/LanguageManager-iOS/master/Images/screenrec.gif"  width="450">
+
+
+## LanguageManager-SwiftUI
+
+For SwiftUI please visit the [LanguageManager-SwiftUI](https://github.com/Abedalkareem/LanguageManager-SwiftUI)
+
+## Usage
+
+<a href="http://www.youtube.com/watch?v=CuZb8nUglcg">Youtube: iOS - Support multiple languages (Localization).</a> <br>
+[![Watch the video](http://img.youtube.com/vi/CuZb8nUglcg/0.jpg)](http://www.youtube.com/watch?v=CuZb8nUglcg "iOS - Support multiple languages (Localization).")
+
+First of all, remember to add the ```Localizable.strings``` to your project, after adding the ```Localizable.strings``` file, select it then go to file inspector and below localization press localize, after that go to ```PROJECT > Localisation```  then add the languages you want to support (Arabic for example), dialog will appear to ask you which resource file you want to localize, select just the ```Localizable.strings``` file. <br>  <br>
+Now, go to your storyboard and add ```UILable``` and add text to it, for example ```"Hello !"```, then go to your ```Localizable.strings``` file expand it, you will find Localizable strings file for English and Arabic, for English, add this line with the string you used in the ```UILabel``` inside the storyboard   <br>
+```"Hello !" = "Hello !";```  <br>
+and for Arabic file :  <br>
+```"Hello !" = "مرحبا !";```  <br>
+
+
+<br>
+After that in the `didFinishLaunchingWithOptions` method inside the `AppDelegate.swift` file, set your default language that your app will run first time
+
+```swift
+LanguageManager.shared.defaultLanguage = .en // you can use .deviceLanguage to keep the device default language.
+```
+
+If you want to change the language use the ```setLanguage(language:)``` method by passing to it the new language
+
+```swift
+  @IBAction func changeLanguage(_ sender: UIButton) {
+
+    let selectedLanguage: Languages = sender.tag == 1 ? .en : .ar
+
+    // change the language
+    LanguageManager.shared.setLanguage(language: selectedLanguage)
+    { title -> UIViewController in
+      let storyboard = UIStoryboard(name: "Main", bundle: nil)
+      // the view controller that you want to show after changing the language
+      return storyboard.instantiateInitialViewController()!
+    } animation: { view in
+      // do custom animation
+      view.transform = CGAffineTransform(scaleX: 2, y: 2)
+      view.alpha = 0
+    }
+  }
+```
+
+If you have an image and you want to change the direction of the image depending on the language, you can use image direction property, the property can be one of the following values:
+
+-`fixed`: if the image must not change the direction depending on the language, you need to set the value as 0.
+
+-`leftToRight`: if the image must change the direction depending on the language
+and the image is left to right image then you need to set the value as 1.
+
+-`rightToLeft`: if the image must change the direction depending on the language
+and the image is right to left image then you need to set the value as 2.
+
+<img src="https://raw.githubusercontent.com/Abedalkareem/LanguageManager-iOS/master/Images/ibdesignable.png"  width="450">
+
+Please check the example project to see how it works.
+
+## Installation
+
+LanguageManager-iOS is available through [CocoaPods](https://cocoapods.org). To install
+it, simply add the following line to your Podfile:
+
+```ruby
+pod 'LanguageManager-iOS'
+```
+
+Or you can use [Carthage](https://github.com/Carthage/Carthage).
+
+```
+github "Abedalkareem/LanguageManager-iOS"
+```
+
+You can also use [Swift Package Manager](https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app).
+
+## Support me 🚀
+
+You can support this project by:  
+
+1- Checking my [apps](https://apps.apple.com/us/developer/id928910207).  
+2- Star the repo.  
+3- Share the repo with your friends.  
+
+## Follow me ❤️  
+
+[Facebook](https://www.facebook.com/Abedalkareem.Omreyh/) | [Twitter](https://twitter.com/abedalkareemomr) | [Instagram](https://instagram.com/abedalkareemomreyh/) | [Youtube](https:/٧٦٧٦٩٦٧٠ /www.youtube.com/user/AbedalkareemOmreyh)
+
+## License  
+
+Please check the license file.  
diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock
new file mode 100644
index 0000000000000000000000000000000000000000..913eeddfa19742652c823b0ac5c8768a19d19132
--- /dev/null
+++ b/Pods/Manifest.lock
@@ -0,0 +1,16 @@
+PODS:
+  - LanguageManager-iOS (1.2.7)
+
+DEPENDENCIES:
+  - LanguageManager-iOS
+
+SPEC REPOS:
+  trunk:
+    - LanguageManager-iOS
+
+SPEC CHECKSUMS:
+  LanguageManager-iOS: 6b2dbb3793445827114708f0759b76e96932d7c8
+
+PODFILE CHECKSUM: b552b1df80271db8c0ce748b0da6dd348ea0f82d
+
+COCOAPODS: 1.14.3
diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000000000000000000000000000000000..c5356412cb8e08b572e960fa6641d8c267a392ee
--- /dev/null
+++ b/Pods/Pods.xcodeproj/project.pbxproj
@@ -0,0 +1,642 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 54;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		0718CCD0E19136B8DB2A7D4C6585E3ED /* LanguageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C3AD529D7D4EE4869591BF3965031B /* LanguageManager.swift */; };
+		10D1A87F45AFB52D2B34D9ABA1A86105 /* UIImageView+Direction.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4005C2FC9E5447CF8F35CFDF18F517 /* UIImageView+Direction.swift */; };
+		3E21C9612D00C6B92D3FCE3589917729 /* UIView+Direction.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD718E6CB3EA4175288EFD1790ABE180 /* UIView+Direction.swift */; };
+		48A4D5E4D954CB4212E540A92570BBF0 /* UIView+Swizzling.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1EB585FB79943D0D18D7F79322CD60 /* UIView+Swizzling.swift */; };
+		4A525A4C45A6519919550C49896FCE30 /* Pods-MiniScanner-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E8A070B594D65627DD64F5ABC65D271 /* Pods-MiniScanner-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		6418A8A5D32E73D898AB155952180B0C /* LanguageManager-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 84D1BEBD5F5E11A9D5238E1D4F0C3DBB /* LanguageManager-iOS-dummy.m */; };
+		64484197CAEC8EED5DA42F253B6B342F /* Pods-MiniScanner-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 123ADF4A6B2F1DEBA5B7482D4983B685 /* Pods-MiniScanner-dummy.m */; };
+		6D55C34EF7CE4718D8B2FE6CE95C5674 /* DefaultsKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49E1F485A63A2B53CB08135A73181730 /* DefaultsKeys.swift */; };
+		6F875A0983E3FB0E0CC0BDA6376F73E8 /* String+Localiz.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DCBFDDD0C4940F9BDA4210B9FC4013D /* String+Localiz.swift */; };
+		852E6AB133CF7BDE7DE7D836AE201868 /* Languages.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4F0CAC9E7319EF75A58C536C7ABC1C2 /* Languages.swift */; };
+		9E704111CAAACBF64155A576FC337323 /* LanguageManager-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6124DDB354EE4056C15AF1DC9BDDF9F7 /* LanguageManager-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		A20B3459E909921BC2C959C88BE242C7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
+		AF715064CF6458D3D89BB563DFDB00C6 /* UIButton+Direction.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBBB81FFD7C4FB528DA38696A9C3AA42 /* UIButton+Direction.swift */; };
+		CC897E71556348377B4C31307E208C80 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
+		D2A598E7174826A7B04036E7AC8AA3B6 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91343805CF84C0BAD5E26535BF5997A9 /* Storage.swift */; };
+		F7C3A4FED58118F9ADC5B4AF9A10B9FC /* ViewDirection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8654CFEB66C546C2FE3322C42342254C /* ViewDirection.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		4DD7884B512AC0A832BF2E14C2F07FC2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 75F1EA88CB9544AB5CBE20DEC9A011AE;
+			remoteInfo = "LanguageManager-iOS";
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+		0E8A070B594D65627DD64F5ABC65D271 /* Pods-MiniScanner-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MiniScanner-umbrella.h"; sourceTree = "<group>"; };
+		123ADF4A6B2F1DEBA5B7482D4983B685 /* Pods-MiniScanner-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MiniScanner-dummy.m"; sourceTree = "<group>"; };
+		21A62BB316C6336F03408E50D730FD01 /* Pods-MiniScanner.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-MiniScanner.modulemap"; sourceTree = "<group>"; };
+		229E7A3D5222D6F61C14A0F5D81ED987 /* LanguageManager-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "LanguageManager-iOS.release.xcconfig"; sourceTree = "<group>"; };
+		260B9319B575951CF8E8007D061EAE1C /* LanguageManager-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "LanguageManager-iOS.debug.xcconfig"; sourceTree = "<group>"; };
+		262BB6CF17E9AE775EAB68F69517D6D3 /* LanguageManager-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "LanguageManager-iOS.modulemap"; sourceTree = "<group>"; };
+		3438B9790556194C521D4C9806D29C85 /* Pods-MiniScanner */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-MiniScanner"; path = Pods_MiniScanner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		369DE03EA683F0F0E8F6CE4CC611561E /* LanguageManager-iOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LanguageManager-iOS-Info.plist"; sourceTree = "<group>"; };
+		3B6258C4E2C1059AABC67D66F9314FE8 /* Pods-MiniScanner-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MiniScanner-acknowledgements.markdown"; sourceTree = "<group>"; };
+		49E1F485A63A2B53CB08135A73181730 /* DefaultsKeys.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DefaultsKeys.swift; path = "LanguageManager-iOS/Classes/Constants/DefaultsKeys.swift"; sourceTree = "<group>"; };
+		5DCBFDDD0C4940F9BDA4210B9FC4013D /* String+Localiz.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Localiz.swift"; path = "LanguageManager-iOS/Classes/Helpers/Extensions/String+Localiz.swift"; sourceTree = "<group>"; };
+		6124DDB354EE4056C15AF1DC9BDDF9F7 /* LanguageManager-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LanguageManager-iOS-umbrella.h"; sourceTree = "<group>"; };
+		6473C16F43F7217C13AEA5FBA6C8247F /* LanguageManager-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "LanguageManager-iOS"; path = LanguageManager_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		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; };
+		76C3AD529D7D4EE4869591BF3965031B /* LanguageManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LanguageManager.swift; path = "LanguageManager-iOS/Classes/Main/LanguageManager.swift"; sourceTree = "<group>"; };
+		798C61760B9BC4B07BC60D42FCC09855 /* Pods-MiniScanner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MiniScanner.release.xcconfig"; sourceTree = "<group>"; };
+		7CC191E7994C3C7161A6641B457C9166 /* Pods-MiniScanner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MiniScanner.debug.xcconfig"; sourceTree = "<group>"; };
+		84D1BEBD5F5E11A9D5238E1D4F0C3DBB /* LanguageManager-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LanguageManager-iOS-dummy.m"; sourceTree = "<group>"; };
+		8654CFEB66C546C2FE3322C42342254C /* ViewDirection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ViewDirection.swift; path = "LanguageManager-iOS/Classes/Constants/ViewDirection.swift"; sourceTree = "<group>"; };
+		89194C84FD5E62D9D2C9F2157676FF5C /* Pods-MiniScanner-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MiniScanner-acknowledgements.plist"; sourceTree = "<group>"; };
+		91343805CF84C0BAD5E26535BF5997A9 /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = "LanguageManager-iOS/Classes/Helpers/Storage.swift"; sourceTree = "<group>"; };
+		9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+		B2968141E72EA49CC006DD4020E3386D /* Pods-MiniScanner-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MiniScanner-frameworks.sh"; sourceTree = "<group>"; };
+		BB1EB585FB79943D0D18D7F79322CD60 /* UIView+Swizzling.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Swizzling.swift"; path = "LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Swizzling.swift"; sourceTree = "<group>"; };
+		BBBB81FFD7C4FB528DA38696A9C3AA42 /* UIButton+Direction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIButton+Direction.swift"; path = "LanguageManager-iOS/Classes/Helpers/Extensions/UIButton+Direction.swift"; sourceTree = "<group>"; };
+		BD4005C2FC9E5447CF8F35CFDF18F517 /* UIImageView+Direction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImageView+Direction.swift"; path = "LanguageManager-iOS/Classes/Helpers/Extensions/UIImageView+Direction.swift"; sourceTree = "<group>"; };
+		BD718E6CB3EA4175288EFD1790ABE180 /* UIView+Direction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Direction.swift"; path = "LanguageManager-iOS/Classes/Helpers/Extensions/UIView+Direction.swift"; sourceTree = "<group>"; };
+		E4F0CAC9E7319EF75A58C536C7ABC1C2 /* Languages.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Languages.swift; path = "LanguageManager-iOS/Classes/Constants/Languages.swift"; sourceTree = "<group>"; };
+		ED8E7C0ED656254925E918D5509B655C /* Pods-MiniScanner-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MiniScanner-Info.plist"; sourceTree = "<group>"; };
+		F4DF5D970CBDDD74A26B1FFADEC0369F /* LanguageManager-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LanguageManager-iOS-prefix.pch"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		1FFF1AD677D25574B8A7374F5CA7F8D7 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A20B3459E909921BC2C959C88BE242C7 /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		A576A6B66E7FF54F0F06CD54397C2528 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CC897E71556348377B4C31307E208C80 /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		2DBE059E42E3C9D4261BFE1075C913EB /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+				438113CAA065394280E48B252880DFF2 /* LanguageManager-iOS */,
+			);
+			name = Pods;
+			sourceTree = "<group>";
+		};
+		438113CAA065394280E48B252880DFF2 /* LanguageManager-iOS */ = {
+			isa = PBXGroup;
+			children = (
+				49E1F485A63A2B53CB08135A73181730 /* DefaultsKeys.swift */,
+				76C3AD529D7D4EE4869591BF3965031B /* LanguageManager.swift */,
+				E4F0CAC9E7319EF75A58C536C7ABC1C2 /* Languages.swift */,
+				91343805CF84C0BAD5E26535BF5997A9 /* Storage.swift */,
+				5DCBFDDD0C4940F9BDA4210B9FC4013D /* String+Localiz.swift */,
+				BBBB81FFD7C4FB528DA38696A9C3AA42 /* UIButton+Direction.swift */,
+				BD4005C2FC9E5447CF8F35CFDF18F517 /* UIImageView+Direction.swift */,
+				BD718E6CB3EA4175288EFD1790ABE180 /* UIView+Direction.swift */,
+				BB1EB585FB79943D0D18D7F79322CD60 /* UIView+Swizzling.swift */,
+				8654CFEB66C546C2FE3322C42342254C /* ViewDirection.swift */,
+				5CECBC0D2A5BDAB0FD79B22FACD52DA7 /* Support Files */,
+			);
+			name = "LanguageManager-iOS";
+			path = "LanguageManager-iOS";
+			sourceTree = "<group>";
+		};
+		4D4CEF8B268059E0EAA55587E7875E88 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				6473C16F43F7217C13AEA5FBA6C8247F /* LanguageManager-iOS */,
+				3438B9790556194C521D4C9806D29C85 /* Pods-MiniScanner */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		578452D2E740E91742655AC8F1636D1F /* iOS */ = {
+			isa = PBXGroup;
+			children = (
+				73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
+			);
+			name = iOS;
+			sourceTree = "<group>";
+		};
+		5CECBC0D2A5BDAB0FD79B22FACD52DA7 /* Support Files */ = {
+			isa = PBXGroup;
+			children = (
+				262BB6CF17E9AE775EAB68F69517D6D3 /* LanguageManager-iOS.modulemap */,
+				84D1BEBD5F5E11A9D5238E1D4F0C3DBB /* LanguageManager-iOS-dummy.m */,
+				369DE03EA683F0F0E8F6CE4CC611561E /* LanguageManager-iOS-Info.plist */,
+				F4DF5D970CBDDD74A26B1FFADEC0369F /* LanguageManager-iOS-prefix.pch */,
+				6124DDB354EE4056C15AF1DC9BDDF9F7 /* LanguageManager-iOS-umbrella.h */,
+				260B9319B575951CF8E8007D061EAE1C /* LanguageManager-iOS.debug.xcconfig */,
+				229E7A3D5222D6F61C14A0F5D81ED987 /* LanguageManager-iOS.release.xcconfig */,
+			);
+			name = "Support Files";
+			path = "../Target Support Files/LanguageManager-iOS";
+			sourceTree = "<group>";
+		};
+		67EA5FFBCFCDDED6A445407A917EE0A1 /* Targets Support Files */ = {
+			isa = PBXGroup;
+			children = (
+				EC99F10DC5C191754BE16B2F6AC739A8 /* Pods-MiniScanner */,
+			);
+			name = "Targets Support Files";
+			sourceTree = "<group>";
+		};
+		CF1408CF629C7361332E53B88F7BD30C = {
+			isa = PBXGroup;
+			children = (
+				9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
+				D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
+				2DBE059E42E3C9D4261BFE1075C913EB /* Pods */,
+				4D4CEF8B268059E0EAA55587E7875E88 /* Products */,
+				67EA5FFBCFCDDED6A445407A917EE0A1 /* Targets Support Files */,
+			);
+			sourceTree = "<group>";
+		};
+		D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				578452D2E740E91742655AC8F1636D1F /* iOS */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		EC99F10DC5C191754BE16B2F6AC739A8 /* Pods-MiniScanner */ = {
+			isa = PBXGroup;
+			children = (
+				21A62BB316C6336F03408E50D730FD01 /* Pods-MiniScanner.modulemap */,
+				3B6258C4E2C1059AABC67D66F9314FE8 /* Pods-MiniScanner-acknowledgements.markdown */,
+				89194C84FD5E62D9D2C9F2157676FF5C /* Pods-MiniScanner-acknowledgements.plist */,
+				123ADF4A6B2F1DEBA5B7482D4983B685 /* Pods-MiniScanner-dummy.m */,
+				B2968141E72EA49CC006DD4020E3386D /* Pods-MiniScanner-frameworks.sh */,
+				ED8E7C0ED656254925E918D5509B655C /* Pods-MiniScanner-Info.plist */,
+				0E8A070B594D65627DD64F5ABC65D271 /* Pods-MiniScanner-umbrella.h */,
+				7CC191E7994C3C7161A6641B457C9166 /* Pods-MiniScanner.debug.xcconfig */,
+				798C61760B9BC4B07BC60D42FCC09855 /* Pods-MiniScanner.release.xcconfig */,
+			);
+			name = "Pods-MiniScanner";
+			path = "Target Support Files/Pods-MiniScanner";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+		1E7BDC089B22E2F58EEE97E5CC40B0DB /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				9E704111CAAACBF64155A576FC337323 /* LanguageManager-iOS-umbrella.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		605D18A3E1F2C5A519716B3E3574E87E /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4A525A4C45A6519919550C49896FCE30 /* Pods-MiniScanner-umbrella.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+		4372AB6A3C495222906A1ABFD39A4463 /* Pods-MiniScanner */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 6F6CE1FB7DDC767B55B89C1A2DFBC636 /* Build configuration list for PBXNativeTarget "Pods-MiniScanner" */;
+			buildPhases = (
+				605D18A3E1F2C5A519716B3E3574E87E /* Headers */,
+				8A2C45DB9ED445D641C1976833472DC7 /* Sources */,
+				1FFF1AD677D25574B8A7374F5CA7F8D7 /* Frameworks */,
+				41C60577E673C501BA87D47FD416DC0D /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				1E2DC51A6663DD85438DF52518053178 /* PBXTargetDependency */,
+			);
+			name = "Pods-MiniScanner";
+			productName = Pods_MiniScanner;
+			productReference = 3438B9790556194C521D4C9806D29C85 /* Pods-MiniScanner */;
+			productType = "com.apple.product-type.framework";
+		};
+		75F1EA88CB9544AB5CBE20DEC9A011AE /* LanguageManager-iOS */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 3E005A95330A065B56DC3405DE620CD6 /* Build configuration list for PBXNativeTarget "LanguageManager-iOS" */;
+			buildPhases = (
+				1E7BDC089B22E2F58EEE97E5CC40B0DB /* Headers */,
+				E4E13B13EC996935352882F0DB7D948C /* Sources */,
+				A576A6B66E7FF54F0F06CD54397C2528 /* Frameworks */,
+				3B58EC4259531E84AFA63D59D1133D3E /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "LanguageManager-iOS";
+			productName = LanguageManager_iOS;
+			productReference = 6473C16F43F7217C13AEA5FBA6C8247F /* LanguageManager-iOS */;
+			productType = "com.apple.product-type.framework";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastSwiftUpdateCheck = 1500;
+				LastUpgradeCheck = 1500;
+			};
+			buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
+			compatibilityVersion = "Xcode 12.0";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				Base,
+				en,
+			);
+			mainGroup = CF1408CF629C7361332E53B88F7BD30C;
+			productRefGroup = 4D4CEF8B268059E0EAA55587E7875E88 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				75F1EA88CB9544AB5CBE20DEC9A011AE /* LanguageManager-iOS */,
+				4372AB6A3C495222906A1ABFD39A4463 /* Pods-MiniScanner */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		3B58EC4259531E84AFA63D59D1133D3E /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		41C60577E673C501BA87D47FD416DC0D /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		8A2C45DB9ED445D641C1976833472DC7 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				64484197CAEC8EED5DA42F253B6B342F /* Pods-MiniScanner-dummy.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		E4E13B13EC996935352882F0DB7D948C /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				6D55C34EF7CE4718D8B2FE6CE95C5674 /* DefaultsKeys.swift in Sources */,
+				0718CCD0E19136B8DB2A7D4C6585E3ED /* LanguageManager.swift in Sources */,
+				6418A8A5D32E73D898AB155952180B0C /* LanguageManager-iOS-dummy.m in Sources */,
+				852E6AB133CF7BDE7DE7D836AE201868 /* Languages.swift in Sources */,
+				D2A598E7174826A7B04036E7AC8AA3B6 /* Storage.swift in Sources */,
+				6F875A0983E3FB0E0CC0BDA6376F73E8 /* String+Localiz.swift in Sources */,
+				AF715064CF6458D3D89BB563DFDB00C6 /* UIButton+Direction.swift in Sources */,
+				10D1A87F45AFB52D2B34D9ABA1A86105 /* UIImageView+Direction.swift in Sources */,
+				3E21C9612D00C6B92D3FCE3589917729 /* UIView+Direction.swift in Sources */,
+				48A4D5E4D954CB4212E540A92570BBF0 /* UIView+Swizzling.swift in Sources */,
+				F7C3A4FED58118F9ADC5B4AF9A10B9FC /* ViewDirection.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+		1E2DC51A6663DD85438DF52518053178 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = "LanguageManager-iOS";
+			target = 75F1EA88CB9544AB5CBE20DEC9A011AE /* LanguageManager-iOS */;
+			targetProxy = 4DD7884B512AC0A832BF2E14C2F07FC2 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+		39440596D0B39AE8ECC2717121684FEC /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 229E7A3D5222D6F61C14A0F5D81ED987 /* LanguageManager-iOS.release.xcconfig */;
+			buildSettings = {
+				"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+				CURRENT_PROJECT_VERSION = 1;
+				DEFINES_MODULE = YES;
+				DYLIB_COMPATIBILITY_VERSION = 1;
+				DYLIB_CURRENT_VERSION = 1;
+				DYLIB_INSTALL_NAME_BASE = "@rpath";
+				GCC_PREFIX_HEADER = "Target Support Files/LanguageManager-iOS/LanguageManager-iOS-prefix.pch";
+				INFOPLIST_FILE = "Target Support Files/LanguageManager-iOS/LanguageManager-iOS-Info.plist";
+				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				MODULEMAP_FILE = "Target Support Files/LanguageManager-iOS/LanguageManager-iOS.modulemap";
+				PRODUCT_MODULE_NAME = LanguageManager_iOS;
+				PRODUCT_NAME = LanguageManager_iOS;
+				SDKROOT = iphoneos;
+				SKIP_INSTALL = YES;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+				VERSIONING_SYSTEM = "apple-generic";
+				VERSION_INFO_PREFIX = "";
+			};
+			name = Release;
+		};
+		695DE66A04B5C2E768CF22F8AE139AFB /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7CC191E7994C3C7161A6641B457C9166 /* Pods-MiniScanner.debug.xcconfig */;
+			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
+				CLANG_ENABLE_OBJC_WEAK = NO;
+				"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+				CURRENT_PROJECT_VERSION = 1;
+				DEFINES_MODULE = YES;
+				DYLIB_COMPATIBILITY_VERSION = 1;
+				DYLIB_CURRENT_VERSION = 1;
+				DYLIB_INSTALL_NAME_BASE = "@rpath";
+				INFOPLIST_FILE = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner-Info.plist";
+				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				MACH_O_TYPE = staticlib;
+				MODULEMAP_FILE = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner.modulemap";
+				OTHER_LDFLAGS = "";
+				OTHER_LIBTOOLFLAGS = "";
+				PODS_ROOT = "$(SRCROOT)";
+				PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+				SDKROOT = iphoneos;
+				SKIP_INSTALL = YES;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VERSIONING_SYSTEM = "apple-generic";
+				VERSION_INFO_PREFIX = "";
+			};
+			name = Debug;
+		};
+		7F0A375D6344ACFC096C1061D7F3628B /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 798C61760B9BC4B07BC60D42FCC09855 /* Pods-MiniScanner.release.xcconfig */;
+			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
+				CLANG_ENABLE_OBJC_WEAK = NO;
+				"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+				CURRENT_PROJECT_VERSION = 1;
+				DEFINES_MODULE = YES;
+				DYLIB_COMPATIBILITY_VERSION = 1;
+				DYLIB_CURRENT_VERSION = 1;
+				DYLIB_INSTALL_NAME_BASE = "@rpath";
+				INFOPLIST_FILE = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner-Info.plist";
+				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				MACH_O_TYPE = staticlib;
+				MODULEMAP_FILE = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner.modulemap";
+				OTHER_LDFLAGS = "";
+				OTHER_LIBTOOLFLAGS = "";
+				PODS_ROOT = "$(SRCROOT)";
+				PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+				SDKROOT = iphoneos;
+				SKIP_INSTALL = YES;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+				VERSIONING_SYSTEM = "apple-generic";
+				VERSION_INFO_PREFIX = "";
+			};
+			name = Release;
+		};
+		8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"POD_CONFIGURATION_DEBUG=1",
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+				MTL_FAST_MATH = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				STRIP_INSTALLED_PRODUCT = NO;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+				SWIFT_VERSION = 5.0;
+				SYMROOT = "${SRCROOT}/../build";
+			};
+			name = Debug;
+		};
+		9E406C6AAF85E580207CD97B0044DEAB /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"POD_CONFIGURATION_RELEASE=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				MTL_FAST_MATH = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				STRIP_INSTALLED_PRODUCT = NO;
+				SWIFT_COMPILATION_MODE = wholemodule;
+				SWIFT_OPTIMIZATION_LEVEL = "-O";
+				SWIFT_VERSION = 5.0;
+				SYMROOT = "${SRCROOT}/../build";
+			};
+			name = Release;
+		};
+		A73A28CEE205ACFB6072250615C7D39D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 260B9319B575951CF8E8007D061EAE1C /* LanguageManager-iOS.debug.xcconfig */;
+			buildSettings = {
+				"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
+				"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
+				CURRENT_PROJECT_VERSION = 1;
+				DEFINES_MODULE = YES;
+				DYLIB_COMPATIBILITY_VERSION = 1;
+				DYLIB_CURRENT_VERSION = 1;
+				DYLIB_INSTALL_NAME_BASE = "@rpath";
+				GCC_PREFIX_HEADER = "Target Support Files/LanguageManager-iOS/LanguageManager-iOS-prefix.pch";
+				INFOPLIST_FILE = "Target Support Files/LanguageManager-iOS/LanguageManager-iOS-Info.plist";
+				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+					"@loader_path/Frameworks",
+				);
+				MODULEMAP_FILE = "Target Support Files/LanguageManager-iOS/LanguageManager-iOS.modulemap";
+				PRODUCT_MODULE_NAME = LanguageManager_iOS;
+				PRODUCT_NAME = LanguageManager_iOS;
+				SDKROOT = iphoneos;
+				SKIP_INSTALL = YES;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VERSIONING_SYSTEM = "apple-generic";
+				VERSION_INFO_PREFIX = "";
+			};
+			name = Debug;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		3E005A95330A065B56DC3405DE620CD6 /* Build configuration list for PBXNativeTarget "LanguageManager-iOS" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				A73A28CEE205ACFB6072250615C7D39D /* Debug */,
+				39440596D0B39AE8ECC2717121684FEC /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
+				9E406C6AAF85E580207CD97B0044DEAB /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		6F6CE1FB7DDC767B55B89C1A2DFBC636 /* Build configuration list for PBXNativeTarget "Pods-MiniScanner" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				695DE66A04B5C2E768CF22F8AE139AFB /* Debug */,
+				7F0A375D6344ACFC096C1061D7F3628B /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+}
diff --git a/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/LanguageManager-iOS.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/LanguageManager-iOS.xcscheme
new file mode 100644
index 0000000000000000000000000000000000000000..798a93aecfec03a6dd7c9492e7e67f3c17c5ba13
--- /dev/null
+++ b/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/LanguageManager-iOS.xcscheme
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1500"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "75F1EA88CB9544AB5CBE20DEC9A011AE"
+               BuildableName = "LanguageManager_iOS.framework"
+               BlueprintName = "LanguageManager-iOS"
+               ReferencedContainer = "container:Pods.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
diff --git a/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/Pods-MiniScanner.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/Pods-MiniScanner.xcscheme
new file mode 100644
index 0000000000000000000000000000000000000000..77582bb1fe9ab91f2b4ef714b92b37f05e5258a0
--- /dev/null
+++ b/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/Pods-MiniScanner.xcscheme
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1500"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "4372AB6A3C495222906A1ABFD39A4463"
+               BuildableName = "Pods_MiniScanner.framework"
+               BlueprintName = "Pods-MiniScanner"
+               ReferencedContainer = "container:Pods.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES">
+      <Testables>
+      </Testables>
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
diff --git a/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000000000000000000000000000000000000..911616b4e10183e995d4758d90d7b36d3fc5151b
--- /dev/null
+++ b/Pods/Pods.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>LanguageManager-iOS.xcscheme</key>
+		<dict>
+			<key>isShown</key>
+			<false/>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+		<key>Pods-MiniScanner.xcscheme</key>
+		<dict>
+			<key>isShown</key>
+			<false/>
+			<key>orderHint</key>
+			<integer>1</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict/>
+</dict>
+</plist>
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-Info.plist b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..b58bca3977529a6b08e0d9ca701078c106e54df5
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-Info.plist	
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>CFBundleDevelopmentRegion</key>
+  <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+  <key>CFBundleExecutable</key>
+  <string>${EXECUTABLE_NAME}</string>
+  <key>CFBundleIdentifier</key>
+  <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+  <key>CFBundleInfoDictionaryVersion</key>
+  <string>6.0</string>
+  <key>CFBundleName</key>
+  <string>${PRODUCT_NAME}</string>
+  <key>CFBundlePackageType</key>
+  <string>FMWK</string>
+  <key>CFBundleShortVersionString</key>
+  <string>1.2.7</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>CFBundleVersion</key>
+  <string>${CURRENT_PROJECT_VERSION}</string>
+  <key>NSPrincipalClass</key>
+  <string></string>
+</dict>
+</plist>
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-dummy.m b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-dummy.m
new file mode 100644
index 0000000000000000000000000000000000000000..d91438aace6f78c35c43b4c4b0e05d876abd3894
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-dummy.m	
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_LanguageManager_iOS : NSObject
+@end
+@implementation PodsDummy_LanguageManager_iOS
+@end
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-prefix.pch b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-prefix.pch
new file mode 100644
index 0000000000000000000000000000000000000000..beb2a2441835aeaf9ee2ba30c557a8f2b6e4363f
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-prefix.pch	
@@ -0,0 +1,12 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-umbrella.h b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-umbrella.h
new file mode 100644
index 0000000000000000000000000000000000000000..5613e4887ca09d6d586cea9d36abea6d707857cc
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS-umbrella.h	
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double LanguageManager_iOSVersionNumber;
+FOUNDATION_EXPORT const unsigned char LanguageManager_iOSVersionString[];
+
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.debug.xcconfig b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.debug.xcconfig
new file mode 100644
index 0000000000000000000000000000000000000000..154e1a36d49a04372770fd6c816857d456e474c8
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.debug.xcconfig	
@@ -0,0 +1,14 @@
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/LanguageManager-iOS
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.modulemap b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.modulemap
new file mode 100644
index 0000000000000000000000000000000000000000..4b5ef1cfeff93f0159f1e55d27f9a1c75e8992e3
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.modulemap	
@@ -0,0 +1,6 @@
+framework module LanguageManager_iOS {
+  umbrella header "LanguageManager-iOS-umbrella.h"
+
+  export *
+  module * { export * }
+}
diff --git a/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.release.xcconfig b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.release.xcconfig
new file mode 100644
index 0000000000000000000000000000000000000000..154e1a36d49a04372770fd6c816857d456e474c8
--- /dev/null
+++ b/Pods/Target Support Files/LanguageManager-iOS/LanguageManager-iOS.release.xcconfig	
@@ -0,0 +1,14 @@
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE}
+PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/LanguageManager-iOS
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-Info.plist b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-Info.plist
new file mode 100644
index 0000000000000000000000000000000000000000..19cf209d21ec5e4913848c36a3b5687ad901f05e
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-Info.plist	
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>CFBundleDevelopmentRegion</key>
+  <string>${PODS_DEVELOPMENT_LANGUAGE}</string>
+  <key>CFBundleExecutable</key>
+  <string>${EXECUTABLE_NAME}</string>
+  <key>CFBundleIdentifier</key>
+  <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+  <key>CFBundleInfoDictionaryVersion</key>
+  <string>6.0</string>
+  <key>CFBundleName</key>
+  <string>${PRODUCT_NAME}</string>
+  <key>CFBundlePackageType</key>
+  <string>FMWK</string>
+  <key>CFBundleShortVersionString</key>
+  <string>1.0.0</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>CFBundleVersion</key>
+  <string>${CURRENT_PROJECT_VERSION}</string>
+  <key>NSPrincipalClass</key>
+  <string></string>
+</dict>
+</plist>
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-acknowledgements.markdown b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-acknowledgements.markdown
new file mode 100644
index 0000000000000000000000000000000000000000..48594d570793096423e69beff3c86d8cbde327e1
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-acknowledgements.markdown	
@@ -0,0 +1,28 @@
+# Acknowledgements
+This application makes use of the following third party libraries:
+
+## LanguageManager-iOS
+
+The MIT License (MIT)
+
+Copyright (c) 2017 Abedalkareem
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Generated by CocoaPods - https://cocoapods.org
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-acknowledgements.plist b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-acknowledgements.plist
new file mode 100644
index 0000000000000000000000000000000000000000..52c389111427f741dadff43a2f76014d072b9fe0
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-acknowledgements.plist	
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>PreferenceSpecifiers</key>
+	<array>
+		<dict>
+			<key>FooterText</key>
+			<string>This application makes use of the following third party libraries:</string>
+			<key>Title</key>
+			<string>Acknowledgements</string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
+		<dict>
+			<key>FooterText</key>
+			<string>The MIT License (MIT)
+
+Copyright (c) 2017 Abedalkareem
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+</string>
+			<key>License</key>
+			<string>MIT</string>
+			<key>Title</key>
+			<string>LanguageManager-iOS</string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
+		<dict>
+			<key>FooterText</key>
+			<string>Generated by CocoaPods - https://cocoapods.org</string>
+			<key>Title</key>
+			<string></string>
+			<key>Type</key>
+			<string>PSGroupSpecifier</string>
+		</dict>
+	</array>
+	<key>StringsTable</key>
+	<string>Acknowledgements</string>
+	<key>Title</key>
+	<string>Acknowledgements</string>
+</dict>
+</plist>
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-dummy.m b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-dummy.m
new file mode 100644
index 0000000000000000000000000000000000000000..d5f922309c921ceb4191824e468ede840c9190af
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-dummy.m	
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Pods_MiniScanner : NSObject
+@end
+@implementation PodsDummy_Pods_MiniScanner
+@end
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Debug-input-files.xcfilelist b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Debug-input-files.xcfilelist
new file mode 100644
index 0000000000000000000000000000000000000000..6d9163b426f1dfb36ec625e02622b60156374f09
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Debug-input-files.xcfilelist	
@@ -0,0 +1,2 @@
+${PODS_ROOT}/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks.sh
+${BUILT_PRODUCTS_DIR}/LanguageManager-iOS/LanguageManager_iOS.framework
\ No newline at end of file
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Debug-output-files.xcfilelist b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Debug-output-files.xcfilelist
new file mode 100644
index 0000000000000000000000000000000000000000..c2f68ee9bd2e8dc30ad2e450fe51da18b4a86385
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Debug-output-files.xcfilelist	
@@ -0,0 +1 @@
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LanguageManager_iOS.framework
\ No newline at end of file
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Release-input-files.xcfilelist b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Release-input-files.xcfilelist
new file mode 100644
index 0000000000000000000000000000000000000000..6d9163b426f1dfb36ec625e02622b60156374f09
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Release-input-files.xcfilelist	
@@ -0,0 +1,2 @@
+${PODS_ROOT}/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks.sh
+${BUILT_PRODUCTS_DIR}/LanguageManager-iOS/LanguageManager_iOS.framework
\ No newline at end of file
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Release-output-files.xcfilelist b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Release-output-files.xcfilelist
new file mode 100644
index 0000000000000000000000000000000000000000..c2f68ee9bd2e8dc30ad2e450fe51da18b4a86385
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks-Release-output-files.xcfilelist	
@@ -0,0 +1 @@
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LanguageManager_iOS.framework
\ No newline at end of file
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks.sh b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks.sh
new file mode 100755
index 0000000000000000000000000000000000000000..06343c786171c40581f1bdc59fdb55ad201ef8e1
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-frameworks.sh	
@@ -0,0 +1,186 @@
+#!/bin/sh
+set -e
+set -u
+set -o pipefail
+
+function on_error {
+  echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
+}
+trap 'on_error $LINENO' ERR
+
+if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
+  # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
+  # frameworks to, so exit 0 (signalling the script phase was successful).
+  exit 0
+fi
+
+echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+
+COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
+SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
+BCSYMBOLMAP_DIR="BCSymbolMaps"
+
+
+# This protects against multiple targets copying the same framework dependency at the same time. The solution
+# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
+RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
+
+# Copies and strips a vendored framework
+install_framework()
+{
+  if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
+    local source="${BUILT_PRODUCTS_DIR}/$1"
+  elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
+    local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
+  elif [ -r "$1" ]; then
+    local source="$1"
+  fi
+
+  local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+
+  if [ -L "${source}" ]; then
+    echo "Symlinked..."
+    source="$(readlink -f "${source}")"
+  fi
+
+  if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
+    # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
+    find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
+      echo "Installing $f"
+      install_bcsymbolmap "$f" "$destination"
+      rm "$f"
+    done
+    rmdir "${source}/${BCSYMBOLMAP_DIR}"
+  fi
+
+  # Use filter instead of exclude so missing patterns don't throw errors.
+  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}\""
+  rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
+
+  local basename
+  basename="$(basename -s .framework "$1")"
+  binary="${destination}/${basename}.framework/${basename}"
+
+  if ! [ -r "$binary" ]; then
+    binary="${destination}/${basename}"
+  elif [ -L "${binary}" ]; then
+    echo "Destination binary is symlinked..."
+    dirname="$(dirname "${binary}")"
+    binary="${dirname}/$(readlink "${binary}")"
+  fi
+
+  # Strip invalid architectures so "fat" simulator / device frameworks work on device
+  if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
+    strip_invalid_archs "$binary"
+  fi
+
+  # Resign the code if required by the build settings to avoid unstable apps
+  code_sign_if_enabled "${destination}/$(basename "$1")"
+
+  # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
+  if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
+    local swift_runtime_libs
+    swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
+    for lib in $swift_runtime_libs; do
+      echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
+      rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
+      code_sign_if_enabled "${destination}/${lib}"
+    done
+  fi
+}
+# Copies and strips a vendored dSYM
+install_dsym() {
+  local source="$1"
+  warn_missing_arch=${2:-true}
+  if [ -r "$source" ]; then
+    # Copy the dSYM into the targets temp dir.
+    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}\""
+    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}"
+
+    local basename
+    basename="$(basename -s .dSYM "$source")"
+    binary_name="$(ls "$source/Contents/Resources/DWARF")"
+    binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
+
+    # Strip invalid architectures from the dSYM.
+    if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
+      strip_invalid_archs "$binary" "$warn_missing_arch"
+    fi
+    if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
+      # Move the stripped file into its final destination.
+      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}\""
+      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}"
+    else
+      # 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.
+      mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
+      touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
+    fi
+  fi
+}
+
+# Used as a return value for each invocation of `strip_invalid_archs` function.
+STRIP_BINARY_RETVAL=0
+
+# Strip invalid architectures
+strip_invalid_archs() {
+  binary="$1"
+  warn_missing_arch=${2:-true}
+  # Get architectures for current target binary
+  binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
+  # Intersect them with the architectures we are building for
+  intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
+  # If there are no archs supported by this binary then warn the user
+  if [[ -z "$intersected_archs" ]]; then
+    if [[ "$warn_missing_arch" == "true" ]]; then
+      echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
+    fi
+    STRIP_BINARY_RETVAL=1
+    return
+  fi
+  stripped=""
+  for arch in $binary_archs; do
+    if ! [[ "${ARCHS}" == *"$arch"* ]]; then
+      # Strip non-valid architectures in-place
+      lipo -remove "$arch" -output "$binary" "$binary"
+      stripped="$stripped $arch"
+    fi
+  done
+  if [[ "$stripped" ]]; then
+    echo "Stripped $binary of architectures:$stripped"
+  fi
+  STRIP_BINARY_RETVAL=0
+}
+
+# Copies the bcsymbolmap files of a vendored framework
+install_bcsymbolmap() {
+    local bcsymbolmap_path="$1"
+    local destination="${BUILT_PRODUCTS_DIR}"
+    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}""
+    rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
+}
+
+# Signs a framework with the provided identity
+code_sign_if_enabled() {
+  if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
+    # Use the current code_sign_identity
+    echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
+    local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
+
+    if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+      code_sign_cmd="$code_sign_cmd &"
+    fi
+    echo "$code_sign_cmd"
+    eval "$code_sign_cmd"
+  fi
+}
+
+if [[ "$CONFIGURATION" == "Debug" ]]; then
+  install_framework "${BUILT_PRODUCTS_DIR}/LanguageManager-iOS/LanguageManager_iOS.framework"
+fi
+if [[ "$CONFIGURATION" == "Release" ]]; then
+  install_framework "${BUILT_PRODUCTS_DIR}/LanguageManager-iOS/LanguageManager_iOS.framework"
+fi
+if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+  wait
+fi
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-umbrella.h b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-umbrella.h
new file mode 100644
index 0000000000000000000000000000000000000000..1bbbf388839f673d0dfc3c16a70be5930a1c1b73
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner-umbrella.h	
@@ -0,0 +1,16 @@
+#ifdef __OBJC__
+#import <UIKit/UIKit.h>
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
+
+FOUNDATION_EXPORT double Pods_MiniScannerVersionNumber;
+FOUNDATION_EXPORT const unsigned char Pods_MiniScannerVersionString[];
+
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.debug.xcconfig b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.debug.xcconfig
new file mode 100644
index 0000000000000000000000000000000000000000..b10d8e547eba5625f777dde8141f1daf343fecd4
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.debug.xcconfig	
@@ -0,0 +1,15 @@
+ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS"
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS/LanguageManager_iOS.framework/Headers"
+LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -framework "LanguageManager_iOS"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
+PODS_ROOT = ${SRCROOT}/Pods
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.modulemap b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.modulemap
new file mode 100644
index 0000000000000000000000000000000000000000..25ed2693c22f59f56d42afde46c77e8c732d1485
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.modulemap	
@@ -0,0 +1,6 @@
+framework module Pods_MiniScanner {
+  umbrella header "Pods-MiniScanner-umbrella.h"
+
+  export *
+  module * { export * }
+}
diff --git a/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.release.xcconfig b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.release.xcconfig
new file mode 100644
index 0000000000000000000000000000000000000000..b10d8e547eba5625f777dde8141f1daf343fecd4
--- /dev/null
+++ b/Pods/Target Support Files/Pods-MiniScanner/Pods-MiniScanner.release.xcconfig	
@@ -0,0 +1,15 @@
+ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS"
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/LanguageManager-iOS/LanguageManager_iOS.framework/Headers"
+LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
+LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
+OTHER_LDFLAGS = $(inherited) -framework "LanguageManager_iOS"
+OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
+PODS_BUILD_DIR = ${BUILD_DIR}
+PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
+PODS_ROOT = ${SRCROOT}/Pods
+PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
+USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES