diff --git a/Keyboards/LanguageKeyboards/Hebrew/HEInterfaceVariables.swift b/Keyboards/LanguageKeyboards/Hebrew/HEInterfaceVariables.swift index c4dc9ce0..2dd74d02 100644 --- a/Keyboards/LanguageKeyboards/Hebrew/HEInterfaceVariables.swift +++ b/Keyboards/LanguageKeyboards/Hebrew/HEInterfaceVariables.swift @@ -20,13 +20,8 @@ import UIKit public enum HebrewKeyboardConstants { - static let defaultCurrencyKey = "$" - static let currencyKeys = ["$", "€", "£", "¥"] - - // Alternate key vars. - static let keysWithAlternates = [""] - static let keysWithAlternatesLeft = [""] - static let keysWithAlternatesRight = [""] + static let defaultCurrencyKey = "₪" + static let currencyKeys = ["₪", "€", "£", "$"] } struct HebrewKeyboardProvider: KeyboardProviderProtocol { @@ -36,7 +31,7 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow(["פ", "ם", "ן", "ו", "ט", "א", "ר", "ק", "delete"]) .addRow(["ף", "ך", "ל", "ח", "י", "ע", "כ", "ג", "ד", "ש"]) .addRow(["ץ", "ת", "צ", "מ", "נ", "ה", "ב", "ס", "ז"]) - .addRow(["123", "selectKeyboard", "space", "return"]) // "undo", "accent" + .addRow(["123", "selectKeyboard", "space", "return"]) .build() } @@ -45,7 +40,7 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow(["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]) .addRow(["-", "/", ":", ";", "(", ")", "$", "&", "@", "\""]) .addRow(["#+=", ".", ",", "?", "!", "'", "delete"]) - .addRow(["ABC", "selectKeyboard", "space", "return"]) // "undo", "accent" + .addRow(["אבג", "selectKeyboard", "space", "return"]) .replaceKey(row: 1, column: 6, to: currencyKey) .build() } @@ -55,7 +50,7 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow(["[", "]", "{", "}", "#", "%", "^", "*", "+", "="]) .addRow(["_", "\\", "|", "~", "<", ">", "€", "£", "¥", "·"]) .addRow(["123", ".", ",", "?", "!", "'", "delete"]) - .addRow(["ABC", "selectKeyboard", "space", "return"]) // "undo", "accent" + .addRow(["אבג", "selectKeyboard", "space", "return"]) if currencyKeys.count < 3 { return keyboardBuilder.build() @@ -75,7 +70,7 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow([",", ".", "פ", "ם", "ן", "ו", "ט", "א", "ר", "ק", "delete"]) .addRow(["ף", "ך", "ל", "ח", "י", "ע", "כ", "ג", "ד", "ש"]) .addRow(["ץ", "ת", "צ", "מ", "נ", "ה", "ב", "ס", "ז", "return"]) - .addRow(["selectKeyboard", ".?123", "space", ".?123", "hideKeyboard"]) // "undo" + .addRow(["selectKeyboard", ".?123", "space", ".?123", "hideKeyboard"]) .build() } @@ -84,7 +79,7 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow(["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "delete"]) .addRow(["!", "@", "#", "&", "_", "-", "'", "\"", "(", ")", "return"]) .addRow(["#+=", "%", "...", "&", ";", ":", "=", "+", "/", "?", "#+="]) - .addRow(["selectKeyboard", "ABC", "space", "ABC", "hideKeyboard"]) // "undo" + .addRow(["selectKeyboard", "אבג", "space", "אבג", "hideKeyboard"]) // .replaceKey(row: 1, column: 4, to: currencyKey) .build() } @@ -94,7 +89,7 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow(["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "*", "delete"]) .addRow(["^", "€", "$", "£", "[", "]", "'", "\"", "<", ">", "return"]) .addRow(["123", "§", "|", "~", "*", "·", "{", "}", "\\", "~", "123"]) - .addRow(["selectKeyboard", "ABC", "space", "ABC", "hideKeyboard"]) // "undo" + .addRow(["selectKeyboard", "אבג", "space", "אבג", "hideKeyboard"]) if currencyKeys.count < 3 { return keyboardBuilder.build() @@ -113,8 +108,8 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { .addRow(["§", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "delete"]) .addRow([SpecialKeys.indent, "/", "'", "פ", "ם", "ן", "ו", "ט", "א", "ר", "ק", "[", "]", "+"]) .addRow([SpecialKeys.capsLock, "ף", "ך", "ל", "ח", "י", "ע", "כ", "ג", "ד", "ש", ",", "\"", "return"]) - .addRow(["shift", ";", "ץ", "ת", "צ", "מ", "נ", "ה", "ב", "ס", "ז", ".", "shift"]) - .addRow(["selectKeyboard", ".?123", "space", ".?123", "hideKeyboard"]) // "microphone", "scribble" + .addRow(["⇧", ";", "ץ", "ת", "צ", "מ", "נ", "ה", "ב", "ס", "ז", ".", "⇧"]) + .addRow(["selectKeyboard", ".?123", "space", ".?123", "hideKeyboard"]) .build() } @@ -122,15 +117,97 @@ struct HebrewKeyboardProvider: KeyboardProviderProtocol { return KeyboardBuilder() .addRow(["`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "<", ">", "delete"]) .addRow([SpecialKeys.indent, "[", "]", "{", "}", "#", "%", "^", "*", "+", "=", "\"", "|", "—"]) - .addRow([SpecialKeys.capsLock, "°", "/", ":", ";", "(", ")", "$", "&", "@", "£", "¥", "€", "return"]) // "undo" - .addRow(["shift", "…", "?", "!", "~", "≠", "'", "\"", "_", ",", ".", "-", "shift"]) // "redo" - .addRow(["selectKeyboard", "ABC", "space", "ABC", "hideKeyboard"]) // "microphone", "scribble" + .addRow([SpecialKeys.capsLock, "°", "/", ":", ";", "(", ")", "$", "&", "@", "£", "¥", "€", "return"]) + .addRow(["⇧", "…", "?", "!", "~", "≠", "'", "\"", "_", ",", ".", "-", "⇧"]) + .addRow(["selectKeyboard", "אבג", "space", "אבג", "hideKeyboard"]) .build() } } /// Gets the keys for the Hebrew keyboard. -func getHEKeys() {} +func getHEKeys() { + guard let userDefaults = UserDefaults(suiteName: "group.be.scri.userDefaultsContainer") else { + fatalError() + } + + var currencyKey = HebrewKeyboardConstants.defaultCurrencyKey + var currencyKeys = HebrewKeyboardConstants.currencyKeys + let dictionaryKey = controllerLanguage + "defaultCurrencySymbol" + + if let currencyValue = userDefaults.string(forKey: dictionaryKey) { + currencyKey = currencyValue + } else { + userDefaults.setValue(currencyKey, forKey: dictionaryKey) + } + if let index = currencyKeys.firstIndex(of: currencyKey) { + currencyKeys.remove(at: index) + } + + if DeviceType.isPhone { + letterKeys = HebrewKeyboardProvider.genPhoneLetterKeys() + numberKeys = HebrewKeyboardProvider.genPhoneNumberKeys(currencyKey: currencyKey) + symbolKeys = HebrewKeyboardProvider.genPhoneSymbolKeys(currencyKeys: currencyKeys) + allKeys = Array(letterKeys.joined()) + Array(numberKeys.joined()) + Array(symbolKeys.joined()) + + leftKeyChars = ["ק", "1", "-", "[", "_"] + rightKeyChars = ["פ", "0", "\"", "=", "·"] + centralKeyChars = allKeys.filter { !leftKeyChars.contains($0) && !rightKeyChars.contains($0) } + } else { + // Use the expanded keys layout if the iPad is wide enough and has no home button. + if usingExpandedKeyboard { + letterKeys = HebrewKeyboardProvider.genPadExpandedLetterKeys() + symbolKeys = HebrewKeyboardProvider.genPadExpandedSymbolKeys() + + allKeys = Array(letterKeys.joined()) + Array(symbolKeys.joined()) + } else { + letterKeys = HebrewKeyboardProvider.genPadLetterKeys() + numberKeys = HebrewKeyboardProvider.genPadNumberKeys(currencyKey: currencyKey) + symbolKeys = HebrewKeyboardProvider.genPadSymbolKeys(currencyKeys: currencyKeys) + + letterKeys.removeFirst(1) -/// Provides the Hebrew keyboard layout. -func setHEKeyboardLayout() {} + allKeys = Array(letterKeys.joined()) + Array(numberKeys.joined()) + Array(symbolKeys.joined()) + } + + leftKeyChars = ["1", "ק"] + rightKeyChars = [] + centralKeyChars = allKeys.filter { !leftKeyChars.contains($0) && !rightKeyChars.contains($0) } + } +} + +func setHEKeyboardLayout() { + getHEKeys() + + currencySymbol = "" + currencySymbolAlternates = roubleAlternateKeys + spaceBar = "רווח" + language = "עברית" + invalidCommandMsg = "אין מידע" + baseAutosuggestions = ["אתמ", "אני", "היי"] + numericAutosuggestions = ["", "", ""] + + translateKeyLbl = "לְתַרְגֵם" + translatePlaceholder = "לְתַרְגֵם" + translatePrompt = commandPromptSpacing + "he -› \(getControllerLanguageAbbr()): " + translatePromptAndCursor = translatePrompt + commandCursor + translatePromptAndPlaceholder = translatePromptAndCursor + " " + translatePlaceholder + translatePromptAndColorPlaceholder = NSMutableAttributedString(string: translatePromptAndPlaceholder) + translatePromptAndColorPlaceholder.setColorForText(textForAttribute: translatePlaceholder, withColor: UIColor(cgColor: commandBarPlaceholderColorCG)) + + conjugateKeyLbl = "לְהַטוֹת" + conjugatePlaceholder = "לְהַטוֹת" + conjugatePrompt = commandPromptSpacing + " :נְטִיָה" + conjugatePromptAndCursor = conjugatePrompt + commandCursor + conjugatePromptAndPlaceholder = conjugatePromptAndCursor + " " + conjugatePlaceholder + conjugatePromptAndColorPlaceholder = NSMutableAttributedString(string: conjugatePromptAndPlaceholder) + conjugatePromptAndColorPlaceholder.setColorForText(textForAttribute: conjugatePlaceholder, withColor: UIColor(cgColor: commandBarPlaceholderColorCG)) + + pluralKeyLbl = "רַבִּים" + pluralPlaceholder = "רַבִּים" + pluralPrompt = commandPromptSpacing + " :רַבִּים" + pluralPromptAndCursor = pluralPrompt + commandCursor + pluralPromptAndPlaceholder = pluralPromptAndCursor + " " + pluralPlaceholder + pluralPromptAndColorPlaceholder = NSMutableAttributedString(string: pluralPromptAndPlaceholder) + pluralPromptAndColorPlaceholder.setColorForText(textForAttribute: pluralPlaceholder, withColor: UIColor(cgColor: commandBarPlaceholderColorCG)) + alreadyPluralMsg = "כבר בצורת רבים" +} diff --git a/Scribe.xcodeproj/project.pbxproj b/Scribe.xcodeproj/project.pbxproj index b35e7e1e..5bdf4186 100644 --- a/Scribe.xcodeproj/project.pbxproj +++ b/Scribe.xcodeproj/project.pbxproj @@ -198,6 +198,18 @@ D111E9BE27AFE7B200746F92 /* Annotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D111E9B927AFE7B200746F92 /* Annotate.swift */; }; D111E9BF27AFE7B200746F92 /* Annotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D111E9B927AFE7B200746F92 /* Annotate.swift */; }; D111E9C027AFE7B200746F92 /* Annotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D111E9B927AFE7B200746F92 /* Annotate.swift */; }; + D12EB9BA2C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9BB2C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9BC2C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9BD2C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9BE2C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9BF2C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9C02C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9C12C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9C22C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9C32C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9C42C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; + D12EB9C52C81C10900181765 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */; }; D1362A39274C106A00C00E48 /* ColorVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D190B240274056D400705659 /* ColorVariables.swift */; }; D15E297F29E41B3B006B2C81 /* FRLanguageData.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = D15E297E29E41B3B006B2C81 /* FRLanguageData.sqlite */; }; D15E298229E41B56006B2C81 /* DELanguageData.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = D15E298129E41B56006B2C81 /* DELanguageData.sqlite */; }; @@ -659,7 +671,6 @@ D1CDED772A859E4800098546 /* DACommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED762A859E4800098546 /* DACommandVariables.swift */; }; D1CDED792A859FB600098546 /* ENCommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED782A859FB600098546 /* ENCommandVariables.swift */; }; D1CDED7B2A859FBF00098546 /* ENInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7A2A859FBF00098546 /* ENInterfaceVariables.swift */; }; - D1CDED7D2A85A05100098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; D1CDED7F2A85A05C00098546 /* HECommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7E2A85A05C00098546 /* HECommandVariables.swift */; }; D1CDED812A85A12400098546 /* NBInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED802A85A12400098546 /* NBInterfaceVariables.swift */; }; D1CDED832A85A12C00098546 /* NBCommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED822A85A12C00098546 /* NBCommandVariables.swift */; }; @@ -718,17 +729,6 @@ D1CDEDB92A85AE8300098546 /* HECommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7E2A85A05C00098546 /* HECommandVariables.swift */; }; D1CDEDBA2A85AE8400098546 /* HECommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7E2A85A05C00098546 /* HECommandVariables.swift */; }; D1CDEDBB2A85AE8500098546 /* HECommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7E2A85A05C00098546 /* HECommandVariables.swift */; }; - D1CDEDBC2A85AE8800098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDBD2A85AE8800098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDBE2A85AE8900098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDBF2A85AE8A00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC02A85AE8A00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC12A85AE8B00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC22A85AE8B00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC32A85AE8C00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC42A85AE8D00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC52A85AE8D00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; - D1CDEDC62A85AE8D00098546 /* HEInterfaceVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */; }; D1CDEDC72A85AE9100098546 /* NBCommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED822A85A12C00098546 /* NBCommandVariables.swift */; }; D1CDEDC82A85AE9100098546 /* NBCommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED822A85A12C00098546 /* NBCommandVariables.swift */; }; D1CDEDC92A85AE9100098546 /* NBCommandVariables.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CDED822A85A12C00098546 /* NBCommandVariables.swift */; }; @@ -931,6 +931,7 @@ D111E9A927AFE78600746F92 /* Plural.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Plural.swift; sourceTree = ""; }; D111E9B127AFE79500746F92 /* Translate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Translate.swift; sourceTree = ""; }; D111E9B927AFE7B200746F92 /* Annotate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Annotate.swift; sourceTree = ""; }; + D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HEInterfaceVariables.swift; sourceTree = ""; }; D1362A37274C040F00C00E48 /* PRIVACY.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = PRIVACY.txt; sourceTree = ""; }; D155AD282BDC6CC20075B18C /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; D15E297E29E41B3B006B2C81 /* FRLanguageData.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; name = FRLanguageData.sqlite; path = Keyboards/LanguageKeyboards/French/FRLanguageData.sqlite; sourceTree = SOURCE_ROOT; }; @@ -1004,7 +1005,6 @@ D1CDED762A859E4800098546 /* DACommandVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DACommandVariables.swift; sourceTree = ""; }; D1CDED782A859FB600098546 /* ENCommandVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENCommandVariables.swift; sourceTree = ""; }; D1CDED7A2A859FBF00098546 /* ENInterfaceVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENInterfaceVariables.swift; sourceTree = ""; }; - D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HEInterfaceVariables.swift; sourceTree = ""; }; D1CDED7E2A85A05C00098546 /* HECommandVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HECommandVariables.swift; sourceTree = ""; }; D1CDED802A85A12400098546 /* NBInterfaceVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NBInterfaceVariables.swift; sourceTree = ""; }; D1CDED822A85A12C00098546 /* NBCommandVariables.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NBCommandVariables.swift; sourceTree = ""; }; @@ -1481,7 +1481,7 @@ isa = PBXGroup; children = ( D1CDED7E2A85A05C00098546 /* HECommandVariables.swift */, - D1CDED7C2A85A05100098546 /* HEInterfaceVariables.swift */, + D12EB9B92C81C0E700181765 /* HEInterfaceVariables.swift */, D1AFDFCA29CA6BF60033BF27 /* HEKeyboardViewController.swift */, D1AFDFCC29CA6BF60033BF27 /* Info.plist */, ); @@ -2122,10 +2122,10 @@ 69B81EBC2BFB8C77008CAB85 /* TipCardView.swift in Sources */, 30453964293B9D18003AE55B /* InformationToolTipData.swift in Sources */, 30453969293B9DB4003AE55B /* ToolTipViewUpdatable.swift in Sources */, - D1CDED7D2A85A05100098546 /* HEInterfaceVariables.swift in Sources */, D17193E027AECAA60038660B /* RUInterfaceVariables.swift in Sources */, D1B81D5327BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D17193D827AECA450038660B /* PTInterfaceVariables.swift in Sources */, + D12EB9C32C81C10900181765 /* HEInterfaceVariables.swift in Sources */, D17193C427AEAD7D0038660B /* AppStyling.swift in Sources */, D111E9AA27AFE78600746F92 /* Plural.swift in Sources */, D1F0367227AAE12200CD7921 /* InterfaceVariables.swift in Sources */, @@ -2160,13 +2160,13 @@ 38BD214F22D592CA00C6795D /* DEKeyboardViewController.swift in Sources */, D171943A27AEF0560038660B /* KeyboardStyling.swift in Sources */, CE1378C628F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9BB2C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453972293B9E04003AE55B /* ToolTipViewTheme.swift in Sources */, 3045395B293B911C003AE55B /* AppTextStyling.swift in Sources */, D1B81D5527BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D171943127AEDE110038660B /* KeyboardKeys.swift in Sources */, 30489C212936DAFF00B59393 /* ToolTipView.swift in Sources */, D1CDED872A85AE5A00098546 /* DACommandVariables.swift in Sources */, - D1CDEDBF2A85AE8A00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED912A85AE6200098546 /* DAInterfaceVariables.swift in Sources */, D171941A27AECD070038660B /* ESCommandVariables.swift in Sources */, D1B071A227C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */, @@ -2222,13 +2222,13 @@ D171942127AECD170038660B /* SVCommandVariables.swift in Sources */, D171943927AEF0560038660B /* KeyboardStyling.swift in Sources */, CE1378C528F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9C42C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453970293B9DFF003AE55B /* ToolTipViewTheme.swift in Sources */, 30453959293B911B003AE55B /* AppTextStyling.swift in Sources */, D1B81D5427BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D171943027AEDE110038660B /* KeyboardKeys.swift in Sources */, 30489C1F2936DAFE00B59393 /* ToolTipView.swift in Sources */, D1CDED862A85AE5A00098546 /* DACommandVariables.swift in Sources */, - D1CDEDBE2A85AE8900098546 /* HEInterfaceVariables.swift in Sources */, D1CDED922A85AE6300098546 /* DAInterfaceVariables.swift in Sources */, D17193F927AECC930038660B /* FRCommandVariables.swift in Sources */, D1B071A127C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */, @@ -2284,13 +2284,13 @@ D171942327AECD170038660B /* SVCommandVariables.swift in Sources */, D171943B27AEF0560038660B /* KeyboardStyling.swift in Sources */, CE1378C828F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9BA2C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453974293B9E05003AE55B /* ToolTipViewTheme.swift in Sources */, 3045395D293B911D003AE55B /* AppTextStyling.swift in Sources */, D1B81D5727BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D171943227AEDE110038660B /* KeyboardKeys.swift in Sources */, 30489C232936DB0100B59393 /* ToolTipView.swift in Sources */, D1CDED8B2A85AE5C00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC22A85AE8B00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED962A85AE6400098546 /* DAInterfaceVariables.swift in Sources */, D17193FB27AECC930038660B /* FRCommandVariables.swift in Sources */, D1B071A427C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */, @@ -2346,13 +2346,13 @@ D171942527AECD170038660B /* SVCommandVariables.swift in Sources */, D171943D27AEF0560038660B /* KeyboardStyling.swift in Sources */, CE1378CA28F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9C52C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453976293B9E06003AE55B /* ToolTipViewTheme.swift in Sources */, 3045395F293B911E003AE55B /* AppTextStyling.swift in Sources */, D1B81D5927BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D171943427AEDE110038660B /* KeyboardKeys.swift in Sources */, 30489C252936DB0100B59393 /* ToolTipView.swift in Sources */, D1CDED8D2A85AE5E00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC52A85AE8D00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED992A85AE6600098546 /* DAInterfaceVariables.swift in Sources */, D17193FD27AECC930038660B /* FRCommandVariables.swift in Sources */, D1B071A627C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */, @@ -2408,13 +2408,13 @@ D171942427AECD170038660B /* SVCommandVariables.swift in Sources */, D171943C27AEF0560038660B /* KeyboardStyling.swift in Sources */, CE1378C928F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9C02C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453975293B9E06003AE55B /* ToolTipViewTheme.swift in Sources */, 3045395E293B911E003AE55B /* AppTextStyling.swift in Sources */, D1B81D5827BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D171943327AEDE110038660B /* KeyboardKeys.swift in Sources */, 30489C242936DB0100B59393 /* ToolTipView.swift in Sources */, D1CDED8C2A85AE5D00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC42A85AE8D00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED972A85AE6500098546 /* DAInterfaceVariables.swift in Sources */, D17193FC27AECC930038660B /* FRCommandVariables.swift in Sources */, D1B071A527C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */, @@ -2470,13 +2470,13 @@ D171942627AECD170038660B /* SVCommandVariables.swift in Sources */, D171943E27AEF0560038660B /* KeyboardStyling.swift in Sources */, CE1378CB28F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9C22C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453977293B9E06003AE55B /* ToolTipViewTheme.swift in Sources */, 30453960293B911F003AE55B /* AppTextStyling.swift in Sources */, D1B81D5A27BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D171943527AEDE110038660B /* KeyboardKeys.swift in Sources */, 30489C262936DB0200B59393 /* ToolTipView.swift in Sources */, D1CDED8E2A85AE5E00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC62A85AE8D00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED982A85AE6500098546 /* DAInterfaceVariables.swift in Sources */, D17193FE27AECC930038660B /* FRCommandVariables.swift in Sources */, D1B071A727C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */, @@ -2532,13 +2532,13 @@ D1AB5B2829C757A100CCB0C1 /* ESInterfaceVariables.swift in Sources */, D1AB5B2929C757A100CCB0C1 /* SVInterfaceVariables.swift in Sources */, D1AB5B2A29C757A100CCB0C1 /* ScribeColor.swift in Sources */, + D12EB9BC2C81C10900181765 /* HEInterfaceVariables.swift in Sources */, D1AB5B2B29C757A100CCB0C1 /* ToolTipViewTheme.swift in Sources */, D1AB5B2C29C757A100CCB0C1 /* AppTextStyling.swift in Sources */, D1AB5B2D29C757A100CCB0C1 /* ITInterfaceVariables.swift in Sources */, D1AB5B2E29C757A100CCB0C1 /* PTInterfaceVariables.swift in Sources */, D1AB5B2F29C757A100CCB0C1 /* ToolTipView.swift in Sources */, D1CDED8A2A85AE5C00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC32A85AE8C00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED952A85AE6400098546 /* DAInterfaceVariables.swift in Sources */, D1AB5B3029C757A100CCB0C1 /* DECommandVariables.swift in Sources */, D1AB5B3129C757A100CCB0C1 /* KeyAltChars.swift in Sources */, @@ -2594,13 +2594,13 @@ D1AFDF0629CA66D00033BF27 /* ESInterfaceVariables.swift in Sources */, D1AFDF0729CA66D00033BF27 /* SVInterfaceVariables.swift in Sources */, D1AFDF0829CA66D00033BF27 /* ScribeColor.swift in Sources */, + D12EB9BD2C81C10900181765 /* HEInterfaceVariables.swift in Sources */, D1AFDF0929CA66D00033BF27 /* ToolTipViewTheme.swift in Sources */, D1AFDF0A29CA66D00033BF27 /* AppTextStyling.swift in Sources */, D1AFDF0B29CA66D00033BF27 /* ITInterfaceVariables.swift in Sources */, D1AFDF0C29CA66D00033BF27 /* PTInterfaceVariables.swift in Sources */, D1AFDF0D29CA66D00033BF27 /* ToolTipView.swift in Sources */, D1CDED852A85AE5900098546 /* DACommandVariables.swift in Sources */, - D1CDEDBD2A85AE8800098546 /* HEInterfaceVariables.swift in Sources */, D1CDED902A85AE6100098546 /* DAInterfaceVariables.swift in Sources */, D1AFDF0E29CA66D00033BF27 /* DECommandVariables.swift in Sources */, D1AFDF0F29CA66D00033BF27 /* KeyAltChars.swift in Sources */, @@ -2656,13 +2656,13 @@ D1AFDF8329CA66F40033BF27 /* ESInterfaceVariables.swift in Sources */, D1AFDF8429CA66F40033BF27 /* SVInterfaceVariables.swift in Sources */, D1AFDF8529CA66F40033BF27 /* ScribeColor.swift in Sources */, + D12EB9BF2C81C10900181765 /* HEInterfaceVariables.swift in Sources */, D1AFDF8629CA66F40033BF27 /* ToolTipViewTheme.swift in Sources */, D1AFDF8729CA66F40033BF27 /* AppTextStyling.swift in Sources */, D1AFDF8829CA66F40033BF27 /* ITInterfaceVariables.swift in Sources */, D1AFDF8929CA66F40033BF27 /* PTInterfaceVariables.swift in Sources */, D1AFDF8A29CA66F40033BF27 /* ToolTipView.swift in Sources */, D1CDED842A85AE5800098546 /* DACommandVariables.swift in Sources */, - D1CDEDBC2A85AE8800098546 /* HEInterfaceVariables.swift in Sources */, D1CDED8F2A85AE6100098546 /* DAInterfaceVariables.swift in Sources */, D1AFDF8B29CA66F40033BF27 /* DECommandVariables.swift in Sources */, D1AFDF8C29CA66F40033BF27 /* KeyAltChars.swift in Sources */, @@ -2718,13 +2718,13 @@ D1AFDFD929CA6E900033BF27 /* ESInterfaceVariables.swift in Sources */, D1AFDFDA29CA6E900033BF27 /* SVInterfaceVariables.swift in Sources */, D1AFDFDB29CA6E900033BF27 /* ScribeColor.swift in Sources */, + D12EB9C12C81C10900181765 /* HEInterfaceVariables.swift in Sources */, D1AFDFDC29CA6E900033BF27 /* ToolTipViewTheme.swift in Sources */, D1AFDFDD29CA6E900033BF27 /* AppTextStyling.swift in Sources */, D1AFDFDE29CA6E900033BF27 /* ITInterfaceVariables.swift in Sources */, D1AFDFDF29CA6E900033BF27 /* PTInterfaceVariables.swift in Sources */, D1AFDFE029CA6E900033BF27 /* ToolTipView.swift in Sources */, D1CDED892A85AE5B00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC02A85AE8A00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED932A85AE6300098546 /* DAInterfaceVariables.swift in Sources */, D1AFDFE129CA6E900033BF27 /* DECommandVariables.swift in Sources */, D1AFDFE229CA6E900033BF27 /* KeyAltChars.swift in Sources */, @@ -2780,13 +2780,13 @@ D1B81D3327BBB6AD0085FE5E /* ESInterfaceVariables.swift in Sources */, D1B81D3527BBB6B50085FE5E /* SVInterfaceVariables.swift in Sources */, CE1378C728F5D7AC00E1CBC2 /* ScribeColor.swift in Sources */, + D12EB9BE2C81C10900181765 /* HEInterfaceVariables.swift in Sources */, 30453973293B9E05003AE55B /* ToolTipViewTheme.swift in Sources */, 3045395C293B911D003AE55B /* AppTextStyling.swift in Sources */, D1B81D5627BBBA360085FE5E /* ITInterfaceVariables.swift in Sources */, D1B81D2F27BBB69E0085FE5E /* PTInterfaceVariables.swift in Sources */, 30489C222936DB0000B59393 /* ToolTipView.swift in Sources */, D1CDED882A85AE5B00098546 /* DACommandVariables.swift in Sources */, - D1CDEDC12A85AE8B00098546 /* HEInterfaceVariables.swift in Sources */, D1CDED942A85AE6300098546 /* DAInterfaceVariables.swift in Sources */, D1B81D2A27BBB6780085FE5E /* DECommandVariables.swift in Sources */, D1B071A327C6A1AA00FD7DBD /* KeyAltChars.swift in Sources */,