/// <summary> /// Creates for language. /// </summary> /// <param name="culture">The culture.</param> /// <returns>Collection of prompts</returns> public TypePromptCollection CreateForLanguage(CultureInfo culture) { var prompts = new TypePromptCollection(culture); SaveLanguage(culture, prompts); _languages.Add(culture, prompts); return(prompts); }
/// <summary> /// Create translation for a new language /// </summary> /// <param name="culture">Language to create</param> /// <param name="templateCulture">Language to use as a template</param> public void CreateLanguage(CultureInfo culture, CultureInfo templateCulture) { var prompts = GetLanguage(templateCulture).Select(p => new TypePrompt(culture.LCID, p)); var newLanguage = new TypePromptCollection(culture); newLanguage.AddRange(prompts); lock (_languages) { _languages[culture] = newLanguage; } }
/// <summary> /// Load a language /// </summary> /// <param name="culture">Culture to get.</param> /// <returns>Collection if found; otherwise <c>null</c>.</returns> protected TypePromptCollection LoadLanguage(CultureInfo culture) { var filename = GetFullPath(culture); if (!File.Exists(filename)) { return(null); } using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var prompts = new TypePromptCollection(culture); var items = Deserialize(stream); prompts.AddRange(items); return(prompts); } }