public static void InsertLocale(string from, string groupName, string name, string language, string value) { if (!LocaleSystem.ExistsGroup(from, groupName)) { LocaleSystem.CreateGroup(from, groupName); } LocaleElement newLe = new LocaleElement(name, language, value); bool done = false; FileInfo fi = new FileInfo(LocaleSystem.GetDirectoryString(from) + groupName + ".tsv"); List <LocaleElement> list = LocaleSystem.GetAll(from, groupName); using (StreamWriter sw = new StreamWriter(fi.Open(FileMode.Truncate, FileAccess.Write, FileShare.Write))) { foreach (LocaleElement le in list) { if (le.Name == name && le.Language == language) { done = true; } le.WriteToFile(sw); } if (!done) { newLe.WriteToFile(sw); } } }
public static void RemoveLocale(string from, string groupName, string name) { if (LocaleSystem.ExistsGroup(from, groupName)) { FileInfo fi = new FileInfo(LocaleSystem.GetDirectoryString(from) + groupName + ".tsv"); List <LocaleElement> list = LocaleSystem.GetAll(from, groupName); using (StreamWriter sw = new StreamWriter(fi.Open(FileMode.Truncate, FileAccess.Write, FileShare.Write))) { foreach (LocaleElement le in list) { if (!(le.Name == name)) { le.WriteToFile(sw); } } } } }
public static List <LocaleElement> GetAll(string from, string groupName) { List <LocaleElement> list = new List <LocaleElement>(); if (LocaleSystem.ExistsGroup(from, groupName)) { FileInfo fi = new FileInfo(LocaleSystem.GetDirectoryString(from) + groupName + ".tsv"); using (StreamReader sr = new StreamReader(fi.Open(FileMode.Open, FileAccess.Read, FileShare.Read))) { int next = 0; while (!sr.EndOfStream) { LocaleElement le = LocaleElement.Parse(sr, ref next); list.Add(le); } } } return(list); }
public static LocaleElement GetLocale(string from, string groupName, string name, string language) { if (LocaleSystem.ExistsGroup(from, groupName)) { FileInfo fi = new FileInfo(LocaleSystem.GetDirectoryString(from) + groupName + ".tsv"); using (StreamReader sr = new StreamReader(fi.Open(FileMode.Open, FileAccess.Read, FileShare.Read))) { int next = 0; while (!sr.EndOfStream) { LocaleElement le = LocaleElement.Parse(sr, ref next); if (le.Name == name && le.Language == language) { return(le); } } } } return(null); }
/// <summary> /// Says if a locale group by name exists /// </summary> /// <param name="name">the group name to search</param> /// <returns>true if exists</returns> public bool Exists(string name) { return(LocaleSystem.ExistsGroup(this.directory, name)); }