private async Task <bool> TranslateMenuListAsync(SerializableList <ModuleAction> menu, string language, Func <string, bool> isHtml, Func <List <string>, Task <List <string> > > translateStringsAsync, Func <string, Task <string> > translateComplexStringAsync) { bool changed = false; foreach (ModuleAction action in menu) { changed = await ObjectSupport.TranslateObject(action, language, isHtml, translateStringsAsync, translateComplexStringAsync) || changed; if (action.SubMenu != null && action.SubMenu.Count > 0) { changed = await TranslateMenuListAsync(action.SubMenu, language, isHtml, translateStringsAsync, translateComplexStringAsync) || changed; } } return(changed); }