public void LoadMessages(CultureFile culture = CultureFile.FR) { Debug.Log(string.Format("CultureMessage: Load messages with culture {0}", culture.ToString())); MessageAsset = Resources.Load("AppMessages/" + culture.ToString() + "/messages") as TextAsset; if (MessageAsset != null) { Messages.Clear(); string[] lines = MessageAsset.text.Split('\n'); int countLines = 0; while (countLines <= lines.Length - 1) { string line = lines[countLines]; string[] values = line.Split('|'); if (!Messages.ContainsKey(values[0])) { Messages.Add(values[0], values[1]); } else { Debug.LogError("CultureMessage: Language file has redondant keys !"); } countLines++; } } else { Debug.Log(string.Format("AppMessages/{0}/messages", culture.ToString())); Debug.LogError("CultureMessage: Cannot found relative file !"); } }
public void TestCultureFilesIntegrity() { List <string> files = FileProvider.GetFilesInDirectory(ApplicationPaths.CulturesDirectory).ToList(); foreach (string file in files) { string fileName = PathExt.GetFileNameWithoutRootDirectory(file); List <string> lines = FileProvider .ReadAllLines(FileEncoding.Windows1252, file) .ToList(); IEnumerable <Culture> cultures = CultureFile .ReadAllCultures(file) .ToDomainModels(); string content = string.Join(Environment.NewLine, lines); int openingBrackets = content.Count(x => x == '{'); int closingBrackets = content.Count(x => x == '}'); Assert.AreEqual(openingBrackets, closingBrackets, $"There are mismatching brackets in {fileName}"); AssertCultureChanceValues(cultures, file); } }