言語を指定してアイテムを取得するときは「Sitecore.Context.Database.GetItem(itemId, language)」などで取得する方法があると思いますが、
LanguageSwitcherを使用すれば、毎回指定しなくても範囲内であれば指定言語のまま処理をすることが可能になります。
string changeLang = "en";
using (new Sitecore.Globalization.LanguageSwitcher(changeLang))
{
// ここに処理を書く
}
上記のようにusingで括った中で書いたものはすべて指定した言語でアイテムが取得されます。
例ではstringを入れていますが、LanguageSwitcherはstringとLanguageの両方の型に対応しています。
「Sitecore.Globalization.LanguageSwitcher」はSitecore.Context.Languageを変更してくれます。
他にも「Sitecore.Sites.SiteContextSwitcher」や「Sitecore.Security.Accounts.UserSwitcher」などがあり、上記と同様にContextで取得されるSiteやUserを切り替えることができます。
以上です。
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。