diff --git a/MiniScanner.xcodeproj/project.pbxproj b/MiniScanner.xcodeproj/project.pbxproj index 689bf2178044c4bf32c044aa0486825e184f5ad0..62636d0d8764c1370d4599804c3d35dd93639bfc 100644 --- a/MiniScanner.xcodeproj/project.pbxproj +++ b/MiniScanner.xcodeproj/project.pbxproj @@ -171,6 +171,7 @@ 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 */; }; 672C46442C47B1F300497EF0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 672C46432C47B1F300497EF0 /* Localizable.xcstrings */; }; + 672C464A2C47BD8800497EF0 /* String+StringKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46492C47BD8800497EF0 /* String+StringKeys.swift */; }; B827E5196CC419E773B843E1 /* Pods_MiniScanner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9A37DC9F9A8E3AF632DFB98 /* 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 */; }; @@ -392,6 +393,7 @@ 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>"; }; 672C46432C47B1F300497EF0 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; }; + 672C46492C47BD8800497EF0 /* String+StringKeys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StringKeys.swift"; sourceTree = "<group>"; }; E8AF4FB39674DF589D719DCF /* 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>"; }; E9A37DC9F9A8E3AF632DFB98 /* Pods_MiniScanner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MiniScanner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EC0CF1FA254D8BBF00888722 /* MiniScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniScanner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1007,6 +1009,7 @@ EC8A9B0A254DC2FD00F9AF99 /* Extensions */ = { isa = PBXGroup; children = ( + 672C46492C47BD8800497EF0 /* String+StringKeys.swift */, EC0CF21C254D8F3900888722 /* String+Extensions.swift */, EC8A9AFF254DBFC600F9AF99 /* UserDefaults+Extensions.swift */, EC8A9B19254DCE3E00F9AF99 /* UIImage+Extensions.swift */, @@ -1375,6 +1378,7 @@ 53CD5F582C1504CF0010424B /* UIButton+Extensions.swift in Sources */, 539D1C8B2C16E97F009DB24A /* ShareSheetViewController.swift in Sources */, 539996A12C27130000671340 /* ConstraintLayoutGuide+Extensions.swift in Sources */, + 672C464A2C47BD8800497EF0 /* String+StringKeys.swift in Sources */, 53014F962C11A8E80071CE39 /* ScannerViewController.swift in Sources */, 53014FA52C11A8E80071CE39 /* EditScanCornerView.swift in Sources */, 53E7D3382C1B00880025A1D3 /* FSPagerViewLayoutAttributes.swift in Sources */, diff --git a/MiniScanner/Extensions/String+StringKeys.swift b/MiniScanner/Extensions/String+StringKeys.swift new file mode 100644 index 0000000000000000000000000000000000000000..131dbc033ab2d8b72e195a0f2c8cd2289d9fbcac --- /dev/null +++ b/MiniScanner/Extensions/String+StringKeys.swift @@ -0,0 +1,55 @@ +// +// String+StringKeys.swift +// MiniScanner +// +// Created by Mustafa Merza on 7/17/24. +// Copyright © 2024 AppsNectar. All rights reserved. +// + +import Foundation + +extension String { + + static let today = "today" + static let yesterday = "yesterday" + static let thisWeek = "this_week" + + static let scan = "scan" + + static let discard = "discard" + static let cancel = "cancel" + static let delete = "delete" + static let rename = "rename" + static let move = "move" + + static let renameDocument = "rename_document" + static let deleteDocument = "delete_document" + + static let camera = "camera" + static let gallery = "gallery" + + static let areYouSure = "are_you_sure" + + static let currentPage = "current_page" + + static let entireDocument = "entire_document" + + static let discardScannerMsg = "discard_scanner_msg" + + static let addFolder = "add_folder" + static let addFolderMessage = "add_folder_message" + + static let deleteDocumentMsg = "delete_document_msg" + static let yesDelete = "yes_delete" + + static let whatsapp = "whatsapp" + static let telegram = "telegram" + static let gmail = "gmail" + static let print = "print" + static let more = "more" + + static let fileName = "file_name" + + static let yes = "yes" + static let no = "no" +} diff --git a/MiniScanner/Supporting Files/Localization/Localizable.xcstrings b/MiniScanner/Supporting Files/Localization/Localizable.xcstrings index 5dbe50f738d2bf1078bcce56ebb41eb0508399ca..1a615973dc4c27688749e3678616e63541853382 100644 --- a/MiniScanner/Supporting Files/Localization/Localizable.xcstrings +++ b/MiniScanner/Supporting Files/Localization/Localizable.xcstrings @@ -1,6 +1,281 @@ { "sourceLanguage" : "en", "strings" : { + "add_folder" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Folder" + } + } + } + }, + "add_folder_message" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Folder ?" + } + } + } + }, + "are_you_sure" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Are you sure?" + } + } + } + }, + "camera" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Camera" + } + } + } + }, + "cancel" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" + } + } + } + }, + "current_page" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Current Page" + } + } + } + }, + "delete" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete" + } + } + } + }, + "delete_document" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete document" + } + } + } + }, + "delete_document_msg" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Are you sure you want to delete this document?" + } + } + } + }, + "discard" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Discard" + } + } + } + }, + "discard_scanner_msg" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You have captured some images, do you want to discard them?" + } + } + } + }, + "entire_document" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entire document" + } + } + } + }, + "file_name" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "File name" + } + } + } + }, + "gallery" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gallery" + } + } + } + }, + "gmail" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gmail" + } + } + } + }, + "more" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "More" + } + } + } + }, + "move" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Move" + } + } + } + }, + "no" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "No" + } + } + } + }, + "print" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Print" + } + } + } + }, + "rename" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rename" + } + } + } + }, + "rename_document" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rename document" + } + } + } + }, + "scan" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scan" + } + } + } + }, + "telegram" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Telegram" + } + } + } + }, + "this_week" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This week" + } + } + } + }, + "today" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Today" + } + } + } + }, "wescan.edit.button.done" : { "comment" : "A generic done button", "extractionState" : "extracted_with_value", @@ -90,6 +365,50 @@ } } } + }, + "whatsapp" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Whatsapp" + } + } + } + }, + "yes" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yes" + } + } + } + }, + "yes_delete" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yes, delete!" + } + } + } + }, + "yesterday" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yesterday" + } + } + } } }, "version" : "1.0"