public void LoadDictionary() { Log.InfoFormat("LoadDictionary called. Keyboard language setting is '{0}'.", Settings.Default.KeyboardAndDictionaryLanguage); try { manageAutoComplete = CreateAutoComplete(); // Create reference to the actual storage of the dictionary entries. entries = manageAutoComplete.GetEntries(); //Load the user dictionary var userDictionaryPath = GetUserDictionaryPath(Settings.Default.KeyboardAndDictionaryLanguage); if (File.Exists(userDictionaryPath)) { LoadUserDictionaryFromFile(userDictionaryPath); } else { //Load the original dictionary var originalDictionaryPath = Path.GetFullPath(string.Format(@"{0}{1}{2}", OriginalDictionariesSubPath, Settings.Default.KeyboardAndDictionaryLanguage, DictionaryFileType)); if (File.Exists(originalDictionaryPath)) { LoadOriginalDictionaryFromFile(originalDictionaryPath); SaveUserDictionaryToFile(); //Create a user specific version of the dictionary } else { throw new ApplicationException(string.Format(Resources.DICTIONARY_FILE_NOT_FOUND_ERROR, originalDictionaryPath)); } } } catch (Exception exception) { PublishError(this, exception); } }