From d8d1412a8f28d9813fcebdb8625a3d8809fa9003 Mon Sep 17 00:00:00 2001 From: hishamco Date: Tue, 17 Nov 2020 22:28:17 +0300 Subject: [PATCH] Fallback to English as default culture --- .../Modules/Controls/ActionDialog.razor | 4 ++-- Oqtane.Client/Modules/Controls/Label.razor | 10 ++++++++-- .../Modules/Controls/LocalizableComponent.cs | 17 ++++++++++++++++- Oqtane.Client/Modules/Controls/Section.razor | 4 ++-- Oqtane.Client/Modules/Controls/TabPanel.razor | 4 ++-- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/Oqtane.Client/Modules/Controls/ActionDialog.razor b/Oqtane.Client/Modules/Controls/ActionDialog.razor index fa992e97..ac7e4690 100644 --- a/Oqtane.Client/Modules/Controls/ActionDialog.razor +++ b/Oqtane.Client/Modules/Controls/ActionDialog.razor @@ -99,8 +99,8 @@ if (IsLocalizable) { - Header = Localize(nameof(Header)); - Message = Localize(nameof(Message)); + Header = Localize(nameof(Header), Header); + Message = Localize(nameof(Message), Message); } _authorized = IsAuthorized(); diff --git a/Oqtane.Client/Modules/Controls/Label.razor b/Oqtane.Client/Modules/Controls/Label.razor index 3869d8b4..85e65d14 100644 --- a/Oqtane.Client/Modules/Controls/Label.razor +++ b/Oqtane.Client/Modules/Controls/Label.razor @@ -45,8 +45,14 @@ else if (IsLocalizable) { - ChildContent =@@Localize("Text"); - HelpText = Localize(nameof(HelpText)); + var value = Localize("Text"); + var key = $"{ResourceKey}.Text"; + if (!value.Equals(key)) + { + ChildContent =@@Localize("Text"); + } + + HelpText = Localize(nameof(HelpText), HelpText); } } } diff --git a/Oqtane.Client/Modules/Controls/LocalizableComponent.cs b/Oqtane.Client/Modules/Controls/LocalizableComponent.cs index 80222e66..657494d7 100644 --- a/Oqtane.Client/Modules/Controls/LocalizableComponent.cs +++ b/Oqtane.Client/Modules/Controls/LocalizableComponent.cs @@ -24,10 +24,25 @@ namespace Oqtane.Modules.Controls { return name; } - + return _localizer?[key] ?? name; } + protected string Localize(string name, string defaultValue) + { + var key = $"{ResourceKey}.{name}"; + var value = Localize(name); + + if (value == key) + { + return defaultValue; + } + else + { + return value; + } + } + protected override void OnParametersSet() { if (!String.IsNullOrEmpty(ResourceKey)) diff --git a/Oqtane.Client/Modules/Controls/Section.razor b/Oqtane.Client/Modules/Controls/Section.razor index 573a536b..fd8b9a52 100644 --- a/Oqtane.Client/Modules/Controls/Section.razor +++ b/Oqtane.Client/Modules/Controls/Section.razor @@ -49,8 +49,8 @@ if (IsLocalizable) { _heading = !string.IsNullOrEmpty(Heading) - ? Localize(nameof(Heading)) - : Localize(nameof(Name)); + ? Localize(nameof(Heading), Heading) + : Localize(nameof(Name), Name); } } } diff --git a/Oqtane.Client/Modules/Controls/TabPanel.razor b/Oqtane.Client/Modules/Controls/TabPanel.razor index 9472bab3..7c2eaa24 100644 --- a/Oqtane.Client/Modules/Controls/TabPanel.razor +++ b/Oqtane.Client/Modules/Controls/TabPanel.razor @@ -44,11 +44,11 @@ else { if (string.IsNullOrEmpty(Heading)) { - Name = Localize(nameof(Name)); + Name = Localize(nameof(Name), Name); } else { - Heading = Localize(nameof(Heading)); + Heading = Localize(nameof(Heading), Heading); } } }