/// <summary> /// Translate text to the specified language<br/> /// 翻译文本到指定的语言<br/> /// </summary> /// <param name="text">Original text</param> /// <param name="code">Language code, eg: zh-CN</param> /// <returns></returns> public virtual string Translate(string text, string code) { // If text is empty, no needs to translate if (string.IsNullOrEmpty(text)) { return(""); } // Get translated text from cache return(TranslateCache.GetOrCreate(Pair.Create(code, text), () => { // Get translate providers var providers = GetTranslateProviders(code); // Translate text and store to cache // If no provider is able to translate, then return the original text foreach (var provider in providers) { var translated = provider.Translate(text); if (translated != null) { return translated; } } return text; }, TranslateCacheTime)); }
/// <summary> /// Clear cache /// </summary> public virtual void ClearCache() { TranslateCache.Clear(); }