private void ProcessXliffFile(XliffFile file) { foreach (var unit in file.Body) { unit.Target = unit.Source; unit.Source = null; } }
static void Main() { /// RotorEnigma Ia = RotorEnigma.I; /// Ia.InitialPosition = Ia.OperatingAlphabet[5]; /// Hexa h = new Hexa(byte.MaxValue); /// /// Enigma enigma1 = new Enigma(Reflector.B, Ia, RotorEnigma.II, RotorEnigma.VIII); /// enigma1.ToString(); /// string test = enigma1.Process("HELLO WORLD !"); /// enigma1.Reset(); /// string rslt0 = enigma1.Process(test); /// /// Enigma enigma3 = enigma1.Clone(true); /// string rslt3 = enigma3.Process(test); string[] tbl = new string[] { HashKey.DigestFile(HashAlgorithmEnum.MD5, "XLIFF_2.xlf"), HashKey.DigestFile(HashAlgorithmEnum.SHA1, "XLIFF_2.xlf"), HashKey.DigestFile(HashAlgorithmEnum.SHA256, "XLIFF_2.xlf"), HashKey.DigestFile(HashAlgorithmEnum.SHA384, "XLIFF_2.xlf"), HashKey.DigestFile(HashAlgorithmEnum.SHA512, "XLIFF_2.xlf"), HashKey.DigestFile(HashAlgorithmEnum.KeyedHashAlgorithm, "XLIFF_2.xlf"), HashKey.DigestFile(HashAlgorithmEnum.RIPEMD160, "XLIFF_2.xlf"), }; Chromatik.Unicode.Unicode.Load("en"); tbl.ForEach(Incremente); //System.Globalization.Localization.QtTranslation trs = System.Globalization.Localization.QtTranslation.LoadTranslation(@"for_translation_sigil_sigil_fr.ts.xml"); //trs.Save("test.ts.xml"); ; Xliff xliff = Xliff.LoadXliff("XLIFF_2.xlf"); string fI = xliff.IDs[1]; XliffFile fS = xliff.Identifieds[1]; xliff[0].ID = "f3"; xliff[0].ID = "f2"; XmlDocument xml = XmlDocumentCreate.DocumentXML("<xml><span>kkkkkkk</span> <span de=\"\">yyyy</span><i> 65246541 </i><span>sdfwsfd</span></xml>"); XmlDocumentWriter.Document("test.0.xml", xml, DocumentType.HTML5); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
public static void FlagAsObsoleteMigratedKey(List <string> migratedKeys, XliffFile file, string xlfFilesRootPath) { var filePtah = Path.Combine(xlfFilesRootPath, file.Name); var raw = File.ReadAllText(filePtah); foreach (var key in migratedKeys) { raw = raw.Replace($"id=\"{key}\"", $"id=\"obsolete_{key}\""); } File.WriteAllText(filePtah, raw); }
public void Can_compute_IsEligibleToMigrate_true() { var i18NFile = new XliffFile { Tag = "Desktop", CultureInfo = new CultureInfo("es-ES"), Name = "messages.es.xlf" }; var file = _parserService.GetTranslations(i18NFile); var translationWithHtml = file.Translations.Single(t => t.Key == "creditCost"); Check.That(translationWithHtml.IsEligibleToMigrate).IsTrue(); }
public async Task Can_compute_IsEligibleToMigrate_false() { var i18NFile = new XliffFile { Tag = "Desktop", CultureInfo = new CultureInfo("es-ES"), Name = "messages.es.xlf" }; var file = _parserService.GetTranslations(i18NFile); var translationWithHtml = file.Translations.Single(t => t.Key == "offerDetails"); Check.That(translationWithHtml.IsEligibleToMigrate).IsFalse(); }
public async Task Can_parse() { var i18NFile = new XliffFile { Tag = "Desktop", CultureInfo = new CultureInfo("es-ES"), Name = "messages.es.xlf" }; var file = _parserService.GetTranslations(i18NFile); Check.That(file.Translations.Count).Equals(552); Check.That(file.Translations.Single(t => t.Key == "informationSecurity_header").Translation).Equals("Seguridad"); }
public async Task Can_replace_html() { var i18NFile = new XliffFile { Tag = "Desktop", CultureInfo = new CultureInfo("es-ES"), Name = "messages.es.xlf" }; var file = _parserService.GetTranslations(i18NFile); var translationWithHtml = file.Translations.Single(t => t.Key == "emailStepSubCaption"); Check.That(translationWithHtml.FormattedTranslation).Equals(@" <strong> Necesitamos tu email para enviarte la oferta </strong> (sin compromiso)"); }
/// <summary>Creates a new language from a file stream</summary> /// <param name="languageReader">The file stream</param> /// <param name="languageCode">The language code</param> internal Language(TextReader languageReader, string languageCode) { Name = "Unknown"; LanguageCode = languageCode; FallbackCodes = new List <string> { "en-US" }; myCommandInfos = new CommandInfo[CommandInfos.Length]; KeyInfos = new KeyInfo[TranslatedKeys.Length]; myQuickReferences = new InterfaceQuickReference(); Array.Copy(CommandInfos, myCommandInfos, myCommandInfos.Length); Array.Copy(TranslatedKeys, KeyInfos, TranslatedKeys.Length); string prefix = string.Empty; XliffFile file = new XliffFile(languageReader, languageCode); List <InterfaceString> strings = new List <InterfaceString>(); ExportUnits(prefix, file.Units, strings); foreach (XliffFile.Group group in file.Groups) { ExportGroup(prefix, group, strings); } InterfaceString[] groupLanguage = strings.Where(s => s.Name.StartsWith("language_")).ToArray(); foreach (var interfaceString in groupLanguage) { string key = interfaceString.Name.Split('_')[1]; switch (key) { case "name": Name = interfaceString.Text; strings.Remove(interfaceString); break; case "flag": Flag = interfaceString.Text; strings.Remove(interfaceString); break; } } InterfaceString[] groupOpenBve = strings.Where(s => s.Name.StartsWith("openbve_")).ToArray(); foreach (var interfaceString in groupOpenBve) { string section = interfaceString.Name.Split('_')[1]; string key = string.Join("_", interfaceString.Name.Split('_').Skip(2)); switch (section) { case "handles": switch (key) { case "forward": myQuickReferences.HandleForward = interfaceString.Text; strings.Remove(interfaceString); break; case "neutral": myQuickReferences.HandleNeutral = interfaceString.Text; strings.Remove(interfaceString); break; case "backward": myQuickReferences.HandleBackward = interfaceString.Text; strings.Remove(interfaceString); break; case "power": myQuickReferences.HandlePower = interfaceString.Text; strings.Remove(interfaceString); break; case "powernull": myQuickReferences.HandlePowerNull = interfaceString.Text; strings.Remove(interfaceString); break; case "brake": myQuickReferences.HandleBrake = interfaceString.Text; strings.Remove(interfaceString); break; case "locobrake": myQuickReferences.HandleLocoBrake = interfaceString.Text; strings.Remove(interfaceString); break; case "brakenull": myQuickReferences.HandleBrakeNull = interfaceString.Text; strings.Remove(interfaceString); break; case "release": myQuickReferences.HandleRelease = interfaceString.Text; strings.Remove(interfaceString); break; case "lap": myQuickReferences.HandleLap = interfaceString.Text; strings.Remove(interfaceString); break; case "service": myQuickReferences.HandleService = interfaceString.Text; strings.Remove(interfaceString); break; case "emergency": myQuickReferences.HandleEmergency = interfaceString.Text; strings.Remove(interfaceString); break; case "holdbrake": myQuickReferences.HandleHoldBrake = interfaceString.Text; strings.Remove(interfaceString); break; } break; case "doors": switch (key) { case "left": myQuickReferences.DoorsLeft = interfaceString.Text; strings.Remove(interfaceString); break; case "right": myQuickReferences.DoorsRight = interfaceString.Text; strings.Remove(interfaceString); break; } break; case "misc": switch (key) { case "score": myQuickReferences.Score = interfaceString.Text; strings.Remove(interfaceString); break; } break; case "commands": for (int k = 0; k < myCommandInfos.Length; k++) { if (string.Compare(myCommandInfos[k].Name, key, StringComparison.OrdinalIgnoreCase) == 0) { myCommandInfos[k].Description = interfaceString.Text; strings.Remove(interfaceString); break; } } break; case "keys": for (int k = 0; k < KeyInfos.Length; k++) { if (string.Compare(KeyInfos[k].Name, key, StringComparison.OrdinalIgnoreCase) == 0) { KeyInfos[k].Description = interfaceString.Text; strings.Remove(interfaceString); break; } } break; case "fallback": switch (key) { case "language": FallbackCodes.Add(interfaceString.Text); strings.Remove(interfaceString); break; } break; } } InterfaceStrings = strings.ToArray(); for (int i = 0; i < InterfaceStrings.Length; i++) { if (InterfaceStrings[i].Name.StartsWith("openbve_")) { InterfaceStrings[i].Name = InterfaceStrings[i].Name.Replace("openbve_", string.Empty); } } }