public void Edit <T>(IAssetData asset) { if (!asset.AssetNameEquals(Content.DataFarmAnimalsContentPath)) { return; } var data = asset.AsDictionary <string, string>().Data; var locale = asset.Locale.Split('-')[0]; foreach (var farmAnimalType in FarmAnimals.GetCategories().SelectMany(o => (IEnumerable <FarmAnimalType>)o.Types)) { if (farmAnimalType.Data != null) { data[farmAnimalType.Type] = farmAnimalType.LocalizeData(locale); data[farmAnimalType.Type] = SanitizeData(farmAnimalType.Data); } } Monitor.Log("Data/FarmAnimals:\n" + string.Join("\n", data.Select(o => o.Key + ": " + o.Value))); }