private string AdjustForUsageAndContext(CapitalizationContextUsage usage, string name) { if (name != null && name.Length > 0 && UChar.IsLower(name.CodePointAt(0)) && (displayContextOptions.Capitalization == Capitalization.BeginningOfSentence || (capitalizationUsage != null && capitalizationUsage[(int)usage]))) { // Note, won't have capitalizationUsage != null && capitalizationUsage[usage.ordinal()] // unless capitalization is CAPITALIZATION_FOR_UI_LIST_OR_MENU or CAPITALIZATION_FOR_STANDALONE // should only happen when deserializing, etc. LazyInitializer.EnsureInitialized(ref capitalizationBrkIter, () => BreakIterator.GetSentenceInstance(locale)); return(UChar.ToTitleCase(locale, name, capitalizationBrkIter, UChar.TitleCaseNoLowerCase | UChar.TitleCaseNoBreakAdjustment)); } return(name); }