diff --git a/Oqtane.Client/Modules/Admin/Languages/Add.razor b/Oqtane.Client/Modules/Admin/Languages/Add.razor index 17a02d67..52a958c2 100644 --- a/Oqtane.Client/Modules/Admin/Languages/Add.razor +++ b/Oqtane.Client/Modules/Admin/Languages/Add.razor @@ -94,7 +94,6 @@ else var language = new Language { SiteId = PageState.Page.SiteId, - Name = CultureInfo.GetCultureInfo(_code).DisplayName, Code = _code, IsDefault = (_default == null ? false : Boolean.Parse(_default)) }; diff --git a/Oqtane.Server/Controllers/LanguageController.cs b/Oqtane.Server/Controllers/LanguageController.cs index 6ee66cac..36750b83 100644 --- a/Oqtane.Server/Controllers/LanguageController.cs +++ b/Oqtane.Server/Controllers/LanguageController.cs @@ -55,6 +55,10 @@ namespace Oqtane.Controllers else { languages = _languages.GetLanguages(SiteId).ToList(); + foreach (Language language in languages) + { + language.Name = CultureInfo.GetCultureInfo(language.Code).DisplayName; + } if (!string.IsNullOrEmpty(packagename)) { foreach (var file in Directory.EnumerateFiles(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), $"{packagename}*{Constants.SatelliteAssemblyExtension}", SearchOption.AllDirectories)) @@ -85,6 +89,7 @@ namespace Oqtane.Controllers var language = _languages.GetLanguage(id); if (language != null && language.SiteId == _alias.SiteId) { + language.Name = CultureInfo.GetCultureInfo(language.Code).DisplayName; return language; } else diff --git a/Oqtane.Server/Migrations/Tenant/05020401_RemoveLanguageName.cs b/Oqtane.Server/Migrations/Tenant/05020401_RemoveLanguageName.cs new file mode 100644 index 00000000..063b7027 --- /dev/null +++ b/Oqtane.Server/Migrations/Tenant/05020401_RemoveLanguageName.cs @@ -0,0 +1,28 @@ +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Oqtane.Databases.Interfaces; +using Oqtane.Migrations.EntityBuilders; +using Oqtane.Repository; + +namespace Oqtane.Migrations.Tenant +{ + [DbContext(typeof(TenantDBContext))] + [Migration("Tenant.05.02.04.01")] + public class RemoveLanguageName : MultiDatabaseMigration + { + public RemoveLanguageName(IDatabase database) : base(database) + { + } + + protected override void Up(MigrationBuilder migrationBuilder) + { + var languageEntityBuilder = new LanguageEntityBuilder(migrationBuilder, ActiveDatabase); + languageEntityBuilder.DropColumn("Name"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + // not implemented + } + } +} diff --git a/Oqtane.Shared/Models/Language.cs b/Oqtane.Shared/Models/Language.cs index 82a837ce..b64a9381 100644 --- a/Oqtane.Shared/Models/Language.cs +++ b/Oqtane.Shared/Models/Language.cs @@ -19,11 +19,6 @@ namespace Oqtane.Models /// public int? SiteId { get; set; } - /// - /// Language Name - corresponds to , _not_ - /// - public string Name { get; set; } - /// /// Language / Culture code, like 'en-US' - corresponds to /// @@ -34,6 +29,12 @@ namespace Oqtane.Models /// public bool IsDefault { get; set; } + [NotMapped] + /// + /// Language Name - corresponds to , _not_ + /// + public string Name { get; set; } + [NotMapped] /// /// Version of the satellite assembly