/// <summary> /// Return a substring of the given maximum length. /// </summary> /// <param name="I18NText">A text.</param> /// <param name="Length">The maximum length of the substring.</param> public static I18NString SubstringMax(this I18NString I18NText, Int32 Length) { if (I18NText == null) { return(null); } return(new I18NString(I18NText.Select(text => new I18NPair( text.Language, text.Text.Substring(0, Math.Min(text.Text.Length, Length)) )))); }
/// <summary> /// Trim all texts. /// </summary> /// <param name="I18NText">A text.</param> public static I18NString TrimAll(this I18NString I18NText) { if (I18NText == null) { return(null); } return(new I18NString(I18NText.Select(text => new I18NPair( text.Language, text.Text.Trim() )))); }
/// <summary> /// Convert the given internationalized (I18N) text/string to a HTML link. /// </summary> /// <param name="I18NString">An internationalized (I18N) text/string.</param> /// <param name="URI">An URI.</param> public static String ToHTMLLink(this I18NString I18NString, String URI) { return(I18NString. Select(v => @"<span class=""I18N_" + v.Language + @"""><a href=""" + URI + @"?language=en"">" + v.Text + "</a></span>"). AggregateWith(Environment.NewLine)); }
/// <summary> /// Convert the given internationalized (I18N) text/string to HTML. /// </summary> /// <param name="I18NString">An internationalized (I18N) text/string.</param> /// <param name="Prefix">A prefix.</param> /// <param name="Postfix">A postfix.</param> public static String ToHTML(this I18NString I18NString, String Prefix, String Postfix) { return(I18NString. Select(v => @"<span class=""I18N_" + v.Language + @""">" + Prefix + v.Text + Postfix + "</span>"). AggregateWith(Environment.NewLine)); }