static void Main(string[] path) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); if (!string.IsNullOrWhiteSpace(string.Join("", path))) { string ustFileStr = File.ReadAllText(string.Join("", path)) .Replace(UstHeader, ""); UstData = new FileIniDataParser().Parser.Parse(ustFileStr); UstData.Sections.RemoveSection("#PREV"); UstData.Sections.RemoveSection("#NEXT"); UstData.Sections.RemoveSection("#SETTING"); //foreach (var itemSection in UstData.Sections) Parallel.ForEach(UstData.Sections, itemSection => { if (itemSection.Keys["Lyric"] == "R") { return; } try { if (itemSection.Keys["Lyric"].Contains(" ")) { itemSection.Keys["Lyric"] = itemSection.Keys["Lyric"].Trim().Split(' ')[0] + " " + KanaConverter.RomajiToHiragana(itemSection.Keys["Lyric"].Trim() .Split(' ')[1]); } else { itemSection.Keys["Lyric"] = KanaConverter.RomajiToHiragana(itemSection.Keys["Lyric"]); } } catch (Exception e) { Console.WriteLine(e); } }); File.WriteAllText(string.Join("", path), UstHeader + UstData.ToString().Replace(" = ", "=").Replace("\r\n\r\n", "\r\n"), EncodeJPN); } else { Console.WriteLine("未包含应有的参数,请作为UTAU插件使用"); Console.ReadKey(); } }
public void Translate() { if (L.Source == "") { return; } L.Source = Regex.Replace(L.Source, @"\p{Cs}", ""); switch (WhatLanguage()) { case "ko": L.SoruceType = "ko"; L.Korean = L.Source; L.Japanese = Translate("ko", "ja", L.Korean); L.Retranslated = Translate("ja", "ko", L.Japanese); break; case "ja": L.SoruceType = "ja"; L.Japanese = L.Source; L.Korean = Translate("ko", "ja", L.Japanese); L.Retranslated = Translate("ja", "ko", L.Korean); break; case "rmj": L.SoruceType = "rmj"; L.Japanese = KanaConverter.RomajiToHiragana(L.Source); L.Korean = Translate("ko", "ja", L.Japanese); L.Retranslated = Translate("ja", "ko", L.Korean); break; case "err": L.SoruceType = "err"; return; default: L.SoruceType = "err"; return; } MakeFurigana(L.Japanese); }
public static string ParseRomaji(this string romaji) { return(KanaConverter.RomajiToHiragana(romaji)); }
public static string RomajiToHiragana(string input) { return(KanaConverter.RomajiToHiragana(input)); }