private static bool ShouldUseDedicatedSegmenter(string languageTag) { bool result = true; try { var language = new Globalization.Language(languageTag); string script = language.Script; if (ScriptCodesRequiringDedicatedSegmenter.FindIndex(s => s.Equals(script, StringComparison.InvariantCultureIgnoreCase)) == -1) { result = false; } } catch (Exception e) when((e is NotSupportedException) || (e is ArgumentException) || (e is TargetInvocationException) || (e is MissingMemberException)) { // Do nothing - return true as the default result } return(result); }
private string BuildSitemapXML(List <Item> items, Site site, SiteContext siteContext) { string strSiteLanguage = ""; site.Properties.TryGetValue("language", out strSiteLanguage); XmlDocument doc = new XmlDocument(); string url = ""; XmlNode declarationNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null); doc.AppendChild(declarationNode); XmlNode urlsetNode = doc.CreateElement("urlset"); XmlAttribute xmlnsAttr = doc.CreateAttribute("xmlns"); xmlnsAttr.Value = SitemapManagerConfiguration.XmlnsTpl; urlsetNode.Attributes.Append(xmlnsAttr); doc.AppendChild(urlsetNode); foreach (Item itm in items) { // If an item version exists in the site's default language Globalization.Language language = itm.Languages.FirstOrDefault(i => i.Name.ToLower().Equals(strSiteLanguage.ToLower())); if (language != null && Sitecore.Data.Managers.ItemManager.GetVersions(itm, language).Any()) { url = HtmlEncode(this.GetItemUrl(itm, site)); doc = this.BuildSitemapItem(doc, itm, site, url); } } return(doc.OuterXml); }
private Models.Language Create(Globalization.Language language) { return(new Models.Language { Name = language.Name, NativeName = language.CultureInfo.NativeName, Url = Context.Item != null?GetItemUrlByLanguage(language) : null, Icon = string.Concat("/~/icon/", language.GetIcon(Context.Database)), TwoLetterCode = language.CultureInfo.TwoLetterISOLanguageName }); }
public static LanguageModel Create(Globalization.Language language) { return(new LanguageModel { Name = language.Name, NativeName = language.CultureInfo.NativeName, Url = GetItemUrlByLanguage(language), Icon = string.Concat("/~/icon/", language.GetIcon(Context.Database)), TwoLetterCode = language.CultureInfo.TwoLetterISOLanguageName }); }
private string GetItemUrlByLanguage(Globalization.Language language) { using (new LanguageSwitcher(language)) { //var options = new UrlOptions //{ // AlwaysIncludeServerUrl = true, // LanguageEmbedding = LanguageEmbedding.Always, // LowercaseUrls = true //}; var url = "";// this.LinkManager.GetItemUrl(Context.Item, options); return(StringUtil.EnsurePostfix('/', url).ToLower()); } }
static async Task <string> RecognizeAsync(string imagePath, string language) { StorageFile storageFile; var path = Path.GetFullPath(imagePath); // x.png var extName = Path.GetExtension(path); // .png var outPath = path.Replace(extName, "") + "-out" + extName; // x-out.png storageFile = await StorageFile.GetFileFromPathAsync(path); IRandomAccessStream randomAccessStream = await storageFile.OpenReadAsync(); BitmapDecoder decoder = await BitmapDecoder.CreateAsync(randomAccessStream); SoftwareBitmap softwareBitmap = await decoder.GetSoftwareBitmapAsync(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied); Globalization.Language lang = new Globalization.Language(language); string space = language.Contains("zh") ? "" : " "; string result = null; if (OcrEngine.IsLanguageSupported(lang)) { OcrEngine engine = OcrEngine.TryCreateFromLanguage(lang); if (engine != null) { OcrResult ocrResult = await engine.RecognizeAsync(softwareBitmap); foreach (var tempLine in ocrResult.Lines) { string line = ""; foreach (var word in tempLine.Words) { line += word.Text + space; } result += line + Environment.NewLine; } } } else { throw new Exception(string.Format("Language {0} is not supported", language)); }; randomAccessStream.Dispose(); softwareBitmap.Dispose(); return(await Task <string> .Run(() => { return result; })); }