※他のやり方がわかったら、逐次アップデートします。
環境:Umbraco7.4.2
既存のコンテンツをまるっとコピー
仮にRootに”ホーム”というコンテンツがあり、サブコンテンツがいくつか入っていたとします。
まず"ホーム"を選択状態で右クリックをします。すると”Copy”という選択肢がでてくるので、選びます。
表示されたページで”Contents”を選択し、”Relate to Original”, ”Include Decendants”にチェックをいれて、Copyを押します。
すると”ホーム(1)”という新たなコンテンツが表示されます。先ほど”Include Decendants”にチェックを入れたので、サブコンテンツもしっかり入っています。
この状態だとまだユーザー側画面に反映されていないので、Publishを行います。”ホーム(1)”を右クリックし、Publishを押します。
サブコンテンツも含めて一括でPublishしたいので、” Publish ホーム (1) and all its subpages ” と、”Include unpublished child pages” にチェックを入れて、Publishボタンを押します。
Publishしても管理画面上の文字が薄くて、Publishされていないように見えますが、ブラウザをリフレッシュすると文字が濃くなり、Publishされていることが分かります。
URLをきめる
追加した言語のURLを決めます。仮に英語ページをexample.com/en/ にするとします。
対象のコンテンツを右クリックし、”Culture and hostname”をクリックします。
Cultureでen-usを選びます。(事前に管理画面のsettingからLanguageで英語と日本語を追加しておきます)
さらにDomainはexample.com/enのように記入します。
言語切り替えリンクを作成
これで元ダネはできたので、言語を切り替えるリンクをつくります。
ヘッダー部分に作るのが常套だと思います。
Templateでヘッダーを生成している部分に追加します。
変数を作成します。
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using System.Text.RegularExpressions
@{
Layout = null;
var home = @CurrentPage.Site();
ここに追加
}
[crayon]
var contentURL = Regex.Replace(@CurrentPage.url,"en/","");
[/crayon]