Blazor Webデザイナは、ブラウザの言語設定によって言語を自動的に検出し、英語、日本語、中国語で表示されます。このトピックスでは、サポートされている言語に対してブラウザと異なるUI言語を設定する方法と、明示的にサポートされていない言語にカスタムローカリゼーションを追加する方法について説明します。
Blazor Webデザイナの表示言語を設定するには、初期化中にdivタグ内でLanguageプロパティを使用します。Webデザイナを英語(en-US)、日本語(ja-JP)、中国語(zh-CN)で表示できます。
| Index.razor |
コードのコピー
|
|---|---|
@page "/" @inject IJSRuntime JSRuntime <PageTitle>Index</PageTitle> <div id="designerContainer"> <ReportDesigner @ref="_designer" PreviewSettings=@_preview Language="ja-JP" /> </div> @code { private ReportDesigner _designer; private PreviewSettings _preview; public Index() { _preview = new PreviewSettings { CanPreview = false }; } } |
|
以下は、完全なHTMLコードです。このコードはBlazorビューワをローカライズしないことに注意してください。詳細については、Blazorビューワの「表示言語の設定」を参照してください。
Blazor Webデザイナのローカライゼーションンファイルは、custom-resources.jsonです。このファイルは、MESCIUS.ActiveReports.Blazor.Designer.jaパッケージをインストールするときに、mescius.activereports.blazor.designer.ja\staticwebassets\docs\フォルダ内のプロジェクトに自動的に追加されます。このパッケージは、Blazor Webデザイナを使用するために必要です。custom-resources.jsonファイルには、ファイルに保存されているリソースがあります。
| custom-resources.jsonの構造 |
コードのコピー
|
|---|---|
{
"ns": "bundle namespace",
"lng": "bundle language",
"resources": Record<string,any>
}
|
|
Blazor WebデザイナのUIにカスタムローカリゼーションを追加するには、次の手順を実行します。
| fr-resources.jsonのサンプルコード |
コードのコピー
|
|---|---|
[
{
"ns": "components",
"lng": "fr-FR",
"resources": {
"appBar": {
"btnPreview": "Aperçu",
"btnFile": "Déposer",
"btnHome": "Maison",
"btnInsert": "Insérer",
"textUnsavedChanges": "Modifications non enregistrées",
"btnParameters": "Paramètres"
},
"menu": {
"btnClose": "Fermer",
"titlePin": "Broche",
"btnLayerList": "Couches",
"btnGroupEditor": "Éditeur de groupe",
"btnReportExplorer": "Explorateur"
}
}
}
]
|
|
翻訳されたリソースバンドルがfr-resources.jsonファイルにあるため、このファイルをロードし、LocalizationResourcesとLanguageプロパティを使用して、Blazor Webデザイナをローカライズします。以下は、完全なコードです。このコードはBlazorビューワをローカライズしないことに注意してください。詳細については、Blazorビューワの「表示言語の設定」を参照してください。
| Index.razor |
コードのコピー
|
|---|---|
@page "/" @inject IJSRuntime JSRuntime <PageTitle>Index</PageTitle> <div id="designerContainer"> <ReportDesigner @ref="_designer" PreviewSettings=@_preview LocalizationResources=@_localizationResources Language="fr"/> </div> @code { private ReportDesigner _designer; private PreviewSettings _preview; public Index() { _preview = new PreviewSettings { CanPreview = false }; } private LocalizationResources[] _localizationResources; protected override async Task OnInitializedAsync() { _localizationResources = new LocalizationResources[]{ new LocalizationResources(){ Language = "fr", Resources =(await JSRuntime.InvokeAsync<object>("getJsonData", new object[] { "./fr-resources.json" })).ToString() } }; } } |
|