public void WriteToFile(IProcessInstance proc, FinalFile file) { if (proc.CurrentScope.Exists(proc.DefaultWriter)) { string writer = proc.CurrentScope.GetVariable(proc.DefaultWriter).ValueString; o2Mate.LocaleGroup lg = new LocaleGroup(); string groupName; string title; if (lg.ExtractGroupAndName(this.localeName, out groupName, out title)) { ILocaleSet set = lg.Get(groupName) as ILocaleSet; string language = System.Threading.Thread.CurrentThread.CurrentUICulture.Name; try { // lève une exception si l'élement n'existe pas FinalFile.WriteToFile(ref writer, set.Get(title, language), this.enc); } catch { FinalFile.WriteToFile(ref writer, this.localeName, this.enc); } } proc.CurrentScope.GetVariable(proc.DefaultWriter).Value = writer; } }
/// <summary> /// Make a translation of the summary data in the current language /// </summary> /// <param name="value">value format to translate</param> /// <returns>the text translated</returns> public string Translate(string value) { o2Mate.LocaleGroup group = new LocaleGroup(); string groupName, localeName; if (group.ExtractGroupAndName(value, out groupName, out localeName)) { if (group.Exists(groupName)) { o2Mate.ILocaleSet set = group.Get(groupName); if (set.ExistsOne(localeName, System.Threading.Thread.CurrentThread.CurrentUICulture.Name)) { return(set.Get(localeName, System.Threading.Thread.CurrentThread.CurrentUICulture.Name)); } else { return(value); } } else { return(value); } } else { return(value); } }
/// <summary> /// Update summary from html element /// </summary> /// <param name="elem">html element object</param> public void Update(System.Windows.Forms.HtmlElement elem) { this.context = elem.GetAttribute("context"); this.name = elem.GetAttribute("name"); this.description = elem.GetAttribute("description"); this.type = elem.GetAttribute("typeLegende"); this.expression = elem.GetAttribute("expression"); this.commentaire = elem.GetAttribute("commentaire"); this.free = Boolean.Parse(elem.GetAttribute("free")); o2Mate.LocaleGroup group = new LocaleGroup(); string groupName, localeName; if (group.ExtractGroupAndName(this.description, out groupName, out localeName)) { if (!group.Exists(groupName)) { group.Create(groupName); } o2Mate.ILocaleSet set = group.Get(groupName); if (!set.ExistsOne(localeName, "fr-FR")) { set.Add(localeName, "fr-FR", ""); } if (!set.ExistsOne(localeName, "en-US")) { set.Add(localeName, "en-US", ""); } } if (group.ExtractGroupAndName(this.commentaire, out groupName, out localeName)) { if (!group.Exists(groupName)) { group.Create(groupName); } o2Mate.ILocaleSet set = group.Get(groupName); if (!set.ExistsOne(localeName, "fr-FR")) { set.Add(localeName, "fr-FR", ""); } if (!set.ExistsOne(localeName, "en-US")) { set.Add(localeName, "en-US", ""); } } }
private IVersion TestModifiedFiles(IVersion currentVersion) { DirectoryInfo dir = new DirectoryInfo(Path.Combine(this.sources.FullName, this.ProgramName)); ILocaleGroup group = new LocaleGroup(CodeCommander.Documents.HostVersions); ILocaleSet set; if (!group.Exists(this.ProgramName + "_files")) { group.Create(this.ProgramName + "_files"); } set = group.Get(this.ProgramName + "_files"); // compte le nombre de fichiers modifiés uint countModified = 0; // chercher les dernières dates de modification des fichiers foreach (FileInfo fi in this.GetFiles(dir)) { if (set.ExistsOne(fi.Name, this.Language)) { string value = set.Get(fi.Name.Replace(" ", "_"), this.Language); if (value != fi.LastWriteTimeUtc.ToString()) { set.Modify(fi.Name.Replace(" ", "_"), this.Language, fi.LastWriteTimeUtc.ToString()); ++countModified; } } else { set.Add(fi.Name.Replace(" ", "_"), this.Language, fi.LastWriteTimeUtc.ToString()); ++countModified; } } if (countModified > 0) { return(new Version(countModified, currentVersion.Minor + 1, currentVersion.Build, currentVersion.Revision)); } else { return(new Version(currentVersion.Major, currentVersion.Minor + 1, currentVersion.Build, currentVersion.Revision)); } }