/// <summary> /// Adds new definition pair /// </summary> /// <param name="A">a.</param> /// <param name="B">The b.</param> public void Add(String A, String B) { var entry = new transliterationPairEntry(A, B); fromAtoB.Add(entry); fromBtoA.Add(entry.GetInversed()); }
/// <summary> /// Populates the pairs from string form /// </summary> /// <param name="input">The input.</param> public void LoadFromString(String input) { // loading parameters var par = transliteration.regex_paramSelector.Matches(input); foreach (Match m in par) { String[] parParts = m.Value.Split(new string[] { transliteration.DEF_PARAM_SEPARATOR }, StringSplitOptions.RemoveEmptyEntries); if (parParts.Length == 2) { switch (parParts[0].ToLower()) { case "lang_a_id": lang_A_id = parParts[1]; break; case "lang_b_id": lang_B_id = parParts[1]; break; case "auto_capital_case": if (parParts[1] == "1") { auto_capital_case = true; } if (parParts[1].ToLower() == "true") { auto_capital_case = true; } if (parParts[1] == "yes") { auto_capital_case = true; } break; case "comment": comment = parParts[1]; break; default: throw new ArgumentOutOfRangeException(nameof(input), "Parameter name [" + parParts[0] + "] unknown, declaration [" + m.Value + "]"); break; } } else { throw new ArgumentOutOfRangeException(nameof(input), "Parameter declaration [" + m.Value + "] is not in proper format"); } } // loading definitions var mch = transliteration.regex_pairSelector.Matches(input); foreach (Match m in mch) { transliterationPairEntry entry = new transliterationPairEntry(); entry.ConvertFromEntry(m.Value); fromAtoB.Add(entry); fromBtoA.Add(entry.GetInversed()); if (auto_capital_case) { transliterationPairEntry entry_capital = new transliterationPairEntry(entry.A.ToUpper(), entry.B.ToUpper()); fromAtoB.Add(entry_capital); fromBtoA.Add(entry_capital.GetInversed()); } } auto_capital_case = false; }