Skip to content

Commit 4edab32

Browse files
committed
refactor: 增加 Language 参数
1 parent 260618f commit 4edab32

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

src/components/BootstrapBlazor.EmbedPDF/EmbedPDF.razor.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.AspNetCore.Components;
2+
using System.Globalization;
23

34
namespace BootstrapBlazor.Components;
45

@@ -38,6 +39,12 @@ public partial class EmbedPDF
3839
[Parameter]
3940
public EmbedPDFTheme Theme { get; set; }
4041

42+
/// <summary>
43+
/// 获得/设置 语言 默认 null 未设置
44+
/// </summary>
45+
[Parameter]
46+
public string? Language { get; set; }
47+
4148
private string? StyleString => CssBuilder.Default()
4249
.AddClass("border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); overflow: hidden;", ShowBorder)
4350
.AddClass($"height: {ViewHeight};", !string.IsNullOrEmpty(ViewHeight))
@@ -46,6 +53,7 @@ public partial class EmbedPDF
4653

4754
private string? _url;
4855
private EmbedPDFTheme _theme;
56+
private string? _language;
4957

5058
/// <summary>
5159
/// <inheritdoc/>
@@ -59,6 +67,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
5967
if (firstRender)
6068
{
6169
_url = Url;
70+
_language = Language;
6271
_theme = Theme;
6372
return;
6473
}
@@ -83,6 +92,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
8392
{
8493
TabBar = TabBarMode.ToDescriptionString(),
8594
Theme = Theme.ToDescriptionString(),
86-
Src = Url
95+
Src = Url,
96+
Lang = Language ?? CultureInfo.CurrentUICulture.Name
8797
});
8898
}

src/components/BootstrapBlazor.EmbedPDF/EmbedPDF.razor.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export function init(id, invoke, options) {
1010
}
1111

1212
const target = el.querySelector('.pdf-viewer');
13-
const { src, tabBar, theme } = options;
13+
const { src, tabBar, theme, lang } = options;
1414
const wasmUrl = `${location.origin}/_content/BootstrapBlazor.EmbedPDF/pdfium.wasm`;
1515

1616
let preference = theme;
@@ -27,7 +27,11 @@ export function init(id, invoke, options) {
2727
theme: {
2828
preference: preference
2929
},
30-
wasmUrl
30+
wasmUrl,
31+
i18n: {
32+
defaultLocale: lang,
33+
fallbackLocale: 'en'
34+
}
3135
});
3236

3337
registerBootstrapBlazorModule('EmbedPDF', id, () => {

0 commit comments

Comments
 (0)