C# 如何以编程方式;翻译;episerver10中的页面

C# 如何以编程方式;翻译;episerver10中的页面,c#,asp.net,content-management-system,episerver,C#,Asp.net,Content Management System,Episerver,我目前正在从代码创建一个新页面,用作我的sitedefinition起始页面,我也从代码创建了sitedefinition。但是。。即使我发布了新创建的startpage,我也总是在CMS UI中显示以下消息: “此内容为英文。svenska中不存在此内容。是否立即翻译?” 如何以编程方式“翻译”页面,然后将其发布?我在这里或在谷歌搜索时找不到任何与此相关的内容。您需要使用IContentRepository中提供的CreateLanguageBranch 在我下面的例子中,瑞典语是网站的默认语

我目前正在从代码创建一个新页面,用作我的sitedefinition起始页面,我也从代码创建了sitedefinition。但是。。即使我发布了新创建的startpage,我也总是在CMS UI中显示以下消息:

“此内容为英文。svenska中不存在此内容。是否立即翻译?”


如何以编程方式“翻译”页面,然后将其发布?我在这里或在谷歌搜索时找不到任何与此相关的内容。

您需要使用IContentRepository中提供的
CreateLanguageBranch

在我下面的例子中,瑞典语是网站的默认语言

var parent = ContentReference.RootPage;

IContentRepository contentRepository = 
    EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentRepository>();
StartpagePage startpage = contentRepository.GetDefault<StartpagePage>(parent);

startpage.PageName = "Teststartsida";
startpage.Title = "Teststartsida";

// this will create a startpage in the default language, Swedish in my case, 
// use SaveAction.Publish and save the page into a new variable
var createdPage = contentRepository.Save(startpage,
    EPiServer.DataAccess.SaveAction.Publish, 
    AccessLevel.NoAccess);

// invoke CreateLanguageBranch with LanguageSelector
var startpageLanguageBranch = 
    contentRepository.CreateLanguageBranch<StartpagePage>(createdPage, 
        new LanguageSelector("en"));

startpageLanguageBranch.PageName = "Start page test";
startpageLanguageBranch.Title = "Start page test";

// this will create a languagebranch in the language stated with the LanguageSelector. 
// Use SaveAction.Save
contentRepository.Save(startpageLanguageBranch, 
    EPiServer.DataAccess.SaveAction.Save, 
    AccessLevel.NoAccess);
var parent=ContentReference.RootPage;
IContentRepository内容存储库=
epserver.ServiceLocation.ServiceLocator.Current.GetInstance();
startpage startpage=contentRepository.GetDefault(父级);
startpage.PageName=“Teststartsida”;
startpage.Title=“Teststartsida”;
//这将创建一个默认语言的起始页,在我的例子中是瑞典语,
//使用SaveAction。发布页面并将其保存到新变量中
var createdPage=contentRepository.Save(起始页,
epserver.DataAccess.SaveAction.Publish,
AccessLevel.NoAccess);
//使用LanguageSelector调用CreateLanguageBranch
var startpageLanguageBranch=
CreateLanguageBranch(createdPage,
新语言选择器(“en”);
startpageLanguageBranch.PageName=“起始页测试”;
startpageLanguageBranch.Title=“起始页测试”;
//这将使用LanguageSelector指定的语言创建languagebranch。
//使用SaveAction.Save
contentRepository.Save(startpageLanguageBranch,
epserver.DataAccess.SaveAction.Save,
AccessLevel.NoAccess);