フロントエンドにCulturePickerを使用できる一方で、Orchardにバックエンドに固定言語を使用させる方法を探しています。
醜いハッキングを除いて、オーチャードとの最初のプロジェクトであるため、どこから始めればよいのかよくわかりません。
フロントエンドにCulturePickerを使用できる一方で、Orchardにバックエンドに固定言語を使用させる方法を探しています。
醜いハッキングを除いて、オーチャードとの最初のプロジェクトであるため、どこから始めればよいのかよくわかりません。
最も簡単な方法は、独自のを実装することICultureSelector
です。
最初に、ユーザーが管理画面を表示しているかどうかを確認する必要があります。その場合は、デフォルトのサイトカルチャを返します。それ以外の場合は、nullを返します(このようにして、次のカルチャセレクタ(この場合はCulturePickerからのもの)が起動します)。
例:
public class AdminCultureSelector : ICultureSelector {
private readonly IWorkContextAccessor _workContextAccessor;
public AdminCultureSelector(IWorkContextAccessor workContextAccessor) {
_workContextAccessor = workContextAccessor;
}
public CultureSelectorResult GetCulture(HttpContextBase context)
{
string currentCultureName = _workContextAccessor.GetContext().CurrentSite.SiteCulture;
if (!String.IsNullOrEmpty(currentCultureName) && AdminFilter.IsApplied(context.Request.RequestContext)) {
return new CultureSelectorResult { Priority = 1000, CultureName = currentCultureName };
}
return null;
}
}