2017-12-27 21 views
1

현재 코드에서 새 페이지를 작성하여 코드에서 작성한 sitedefinition의 시작 페이지로 사용하고 있습니다 ... 새로 작성한 시작 페이지를 게시하더라도 나는 항상 CMS UI에서 다음 메시지로 끝납니다.프로그래밍 방식으로 EPiServer 10에서 페이지를 번역하는 방법

"이 콘텐츠는 svenska에 존재하지 않습니다. 지금 번역 하시겠습니까?"

페이지를 프로그래밍 방식으로 "번역"하고 어떻게 게시 할 수 있습니까? 나는 이것에 관련되거나 여기를 찾는 동안 아무것도 찾을 수 없었다.

아이디어가 있으십니까?

미리 감사드립니다.

답변

4

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);