public override bool Translate(Guid webApplicationId, Guid siteId, Guid webId, string text, string languageSource, string languageDestination, out string translated)
        {
            Uri    uri     = HttpContext.Current.Request.Url;
            string fullUrl = uri.AbsoluteUri.ToLower();

            if (!string.IsNullOrEmpty(uri.Query))
            {
                fullUrl = fullUrl.Replace(uri.Query, string.Empty);
            }

            foreach (KeyValuePair <string, BaseDictionary> baseDictionary in _items)
            {
                if (fullUrl.Contains(baseDictionary.Key))
                {
                    if (baseDictionary.Value.Translate(webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated))
                    {
                        return(true);
                    }
                }
            }

            if (Connected != null)
            {
                return(Connected.Translate(webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated));
            }

            translated = string.Empty;

            return(false);
        }
示例#2
0
        public override bool Translate(int hashCode, Guid webApplicationId, Guid siteId, Guid webId, string text, string languageSource, string languageDestination, out string translated)
        {
            if (string.IsNullOrEmpty(text))
            {
                translated = string.Empty;
                return(false);
            }

            List <int> list;

            if (Index.TryGetValue(text.Substring(0, 1).GetHashCode(), out list))
            {
                foreach (int id in list)
                {
                    if (TranslateItem(id, webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated))
                    {
                        return(true);
                    }
                }
            }

            if (Connected != null)
            {
                return(Connected.Translate(hashCode, webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated));
            }

            foreach (KeyValuePair <int, List <int> > keyValuePair in _startingWildcardIndex)
            {
                foreach (int id in keyValuePair.Value)
                {
                    if (TranslateItem(id, webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated))
                    {
                        return(true);
                    }
                }
            }

            translated = string.Empty;

            return(false);
        }
        public virtual bool Translate(int hashCode, Guid webApplicationId, Guid siteId, Guid webId, string text, string languageSource, string languageDestination, out string translated)
        {
            List <int> list;

            if (Index.TryGetValue(hashCode, out list))
            {
                foreach (int id in list)
                {
                    if (TranslateItem(id, webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated))
                    {
                        return(true);
                    }
                }
            }

            if (Connected != null)
            {
                return(Connected.Translate(hashCode, webApplicationId, siteId, webId, text, languageSource, languageDestination, out translated));
            }

            translated = string.Empty;

            return(false);
        }