/// <summary> /// Scan for alle dicitionaries (default resx files, without culture identification) /// </summary> private void ScanForDictionaries() { Dictionaries.Clear(); var culturInfoList = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.Name.Length > 0); _resourceDirectory = ProjectDirectory.GetDirectories("Resources").Single(); var resxFiles = _resourceDirectory.GetFiles("*.resx"); foreach (FileInfo resxFile in resxFiles) { if (culturInfoList.Any(ci => resxFile.Name.EndsWith(ci.Name + ".resx"))) { continue; } Dictionaries.Add(resxFile.Name.Replace(".resx", String.Empty)); } if (Dictionaries.Any()) { if (!_settingsCache.Keys.Contains("dictionary")) { SelectedDictionary = Dictionaries.First(); } else { SelectedDictionary = Dictionaries.First(d => d == _settingsCache["dictionary"]); } } }
internal void SaveChanges(DataTable dataTable) { string targetFileName = SelectedDictionary + ".resx"; DirectoryInfo resourceDirectory = ProjectDirectory.GetDirectories("Resources").First(); FileInfo targetFile = resourceDirectory.GetFiles(targetFileName).First(); WriteColumnToResx(targetFile); FileInfo[] targetFiles = resourceDirectory.GetFiles(SelectedDictionary + ".*.resx"); foreach (var localizedTargetFile in targetFiles) { string columnName = localizedTargetFile.Name.Replace(".resx", String.Empty) .Replace(SelectedDictionary + ".", String.Empty); WriteColumnToResx(localizedTargetFile, columnName); } }
public void IndexDirectory(ProjectDirectory dir, TreeNode node) { if (node.Tag == null) { node.Tag = dir; } node.Nodes.Clear(); //get sub directory and files ProjectDirectory[] dirs = dir.GetDirectories(); ProjectFile[] files = dir.GetFiles(); //recursively invoke this function for every sub-directory for (int c = 0; c < dirs.Length; c++) { //add the tree node for the sub directory TreeNode n = node.Nodes.Add(dirs[c].Name); n.ImageKey = "folder"; n.SelectedImageKey = "folder"; //index the child directory IndexDirectory(dirs[c], n); } for (int c = 0; c < files.Length; c++) { //get the type for the image key to apply //to this file. string type = files[c].FileType.ToString(); //add the node TreeNode n = node.Nodes.Add(files[c].Name); n.ImageKey = type; n.SelectedImageKey = type; n.Tag = files[c]; } }