     public func clearTranslations(includingPersisted: Bool = false) {
         logger.logVerbose("In memory translations cleared.")
         translationsObject = nil
-
+        
         if includingPersisted {
             persistedTranslations = nil
         }
     }
-
+    
     /// Loads and initializes the translations object from either persisted or fallback dictionary.
     func loadTranslations() {
         logger.logVerbose("Loading translations.")
-        let parsed = processAllTranslations(translationsDictionary)
+        let dictionary = translationsDictionary
+        let parsed = processAllTranslations(dictionary)
         let translations = translationsType.init(dictionary: parsed)
         translationsObject = translations
-    }
-
+        currentLanguage = processLanguage(dictionary)
+    }
+    
     // MARK: - Dictionaries -
-
+    
     /// Saves the translations set.
     ///
     /// - Parameter translations: The new translations.

                    logger.logError("Failed to get NSDictionary from fallback JSON file.")
                    continue
                }

                return dictionary
            } catch {
                logger.logError("Error loading translations JSON file: " +
                    error.localizedDescription)
            }
        }

        logger.logError("Failed to load fallback translations, file non-existent.")
        return [:]
    }

    // MARK: - Parsing -

    /// Unwraps and extracts proper language dictionary out of the dictionary containing
    /// all translations.
    ///

            logger.logError("Failed to get data from all translations NSDictionary. \(dictionary)")
            return nil
        }
        
        return extractLanguageDictionary(fromDictionary: translations)
    }
    
    /// Unwraps and extracts last language dictionary out of the meta containing
    /// all translations.
    ///
    /// - Parameter dictionary: Dictionary containing all translations under the `meta` key.
    /// - Returns: Returns extracted language for last language.
    func processLanguage(_ dictionary: NSDictionary) -> Language? {
        logger.logVerbose("Processing translations dictionary.")
        guard let meta = dictionary.value(forKey: "data") as? NSDictionary else {
            logger.logError("Failed to get meta from all translations NSDictionary. \(dictionary)")
            return nil
        }
        
        guard let language = meta.value(forKey: "language") as? NSDictionary else {
            logger.logError("Failed to get language from all meta NSDictionary. \(meta)")
            return nil
        }
        
        return Language(dictionary: language)
    }
    
    /// Uses the device's current locale to select the appropriate translations set.
    ///
    /// - Parameter json: A dictionary containing translation sets by language code key.
