From e0f3f01d8d7c31c5c08c4b26ef74d55860af40e3 Mon Sep 17 00:00:00 2001 From: lebeaulato Date: Mon, 27 Jan 2025 11:55:17 +0100 Subject: [PATCH 1/7] test encore de cette langue qui marche pas --- .../Controllers/CultureController.cs | 31 +++++ .../WF-WebAdmin/Pages/DeleteUser.razor | 3 +- .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 4 + WF-WebAdmin/WF-WebAdmin/Pages/Login.razor | 5 +- WF-WebAdmin/WF-WebAdmin/Program.cs | 40 +++++- .../Resources/Pages.DeleteUser.en-US.resx | 123 ++++++++++++++++++ .../Resources/Pages.DeleteUser.fr-FR.resx | 123 ++++++++++++++++++ .../WF-WebAdmin/Shared/CultureSelector.razor | 43 ++++++ .../WF-WebAdmin/Shared/MainLayout.razor | 3 + WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj | 12 ++ WF-WebAdmin/WF-WebAdmin/_Imports.razor | 1 + 11 files changed, 385 insertions(+), 3 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx create mode 100644 WF-WebAdmin/WF-WebAdmin/Shared/CultureSelector.razor diff --git a/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs b/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs new file mode 100644 index 0000000..8f8cfec --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs @@ -0,0 +1,31 @@ +using Microsoft.AspNetCore.Localization; +using Microsoft.AspNetCore.Mvc; + +/// +/// The culture controller. +/// +[Route("[controller]/[action]")] +public class CultureController : Controller +{ + /// + /// Sets the culture. + /// + /// The culture. + /// The redirect URI. + /// + /// The action result. + /// + public IActionResult SetCulture(string culture, string redirectUri) + { + if (culture != null) + { + // Define a cookie with the selected culture + this.HttpContext.Response.Cookies.Append( + CookieRequestCultureProvider.DefaultCookieName, + CookieRequestCultureProvider.MakeCookieValue( + new RequestCulture(culture))); + } + + return this.LocalRedirect(redirectUri); + } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor index c0c86ce..e867a87 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor @@ -1,8 +1,9 @@ @page "/deleteuser" +@using WF_WebAdmin.Model Gestion utilisateur -

Gestion des utilisateurs

+

@Localizer["Title"]

@if(users == null) { diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index b14bdec..ce460da 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -1,5 +1,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Configuration.UserSecrets; +using Microsoft.Extensions.Localization; +using System.Collections.Generic; using WF_WebAdmin.Model; namespace WF_WebAdmin.Pages @@ -9,6 +11,8 @@ namespace WF_WebAdmin.Pages private List users; + [Inject] + public IStringLocalizer Localizer { get; set; } private bool showPopupDelete = false; private User userToDelete = null; diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor index 411b655..d035565 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor @@ -1,5 +1,6 @@ @page "/" @using WF_WebAdmin.Model +@using System.Globalization

▶ Connexion ◀

@@ -22,7 +23,9 @@

Indice de connexion : admin / admin

- +

+ CurrentCulture: @CultureInfo.CurrentCulture +

@code { diff --git a/WF-WebAdmin/WF-WebAdmin/Program.cs b/WF-WebAdmin/WF-WebAdmin/Program.cs index fb07a82..2e00bd1 100644 --- a/WF-WebAdmin/WF-WebAdmin/Program.cs +++ b/WF-WebAdmin/WF-WebAdmin/Program.cs @@ -3,9 +3,13 @@ using Blazorise.Bootstrap; using Blazorise.Icons.FontAwesome; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; +using Microsoft.AspNetCore.Localization; +using System.Globalization; using WF_WebAdmin.Data; using WF_WebAdmin.Model; - +using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Options; +using Blazored.Modal; var builder = WebApplication.CreateBuilder(args); // Add services to the container. @@ -22,6 +26,25 @@ builder.Services .AddHttpClient() .AddFontAwesomeIcons(); + +builder.Services.AddBlazoredModal(); +// Add the controller of the app +builder.Services.AddControllers(); + +// Add the localization to the app and specify the resources path +builder.Services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; }); + +// Configure the localtization +builder.Services.Configure(options => +{ + // Set the default culture of the web site + options.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US")); + + // Declare the supported culture + options.SupportedCultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; + options.SupportedUICultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; +}); + var app = builder.Build(); // Configure the HTTP request pipeline. @@ -38,6 +61,21 @@ app.UseStaticFiles(); app.UseRouting(); +// Get the current localization options +var options = ((IApplicationBuilder)app).ApplicationServices.GetService>(); + +if (options?.Value != null) +{ + // use the default localization + app.UseRequestLocalization(options.Value); +} + +// Add the controller to the endpoint +app.UseEndpoints(endpoints => +{ + endpoints.MapControllers(); +}); + app.MapBlazorHub(); app.MapFallbackToPage("/_Host"); diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx new file mode 100644 index 0000000..edd17b0 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + User management + + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx new file mode 100644 index 0000000..8b7d899 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Gestion des utilisateurs + + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/CultureSelector.razor b/WF-WebAdmin/WF-WebAdmin/Shared/CultureSelector.razor new file mode 100644 index 0000000..44d3c10 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Shared/CultureSelector.razor @@ -0,0 +1,43 @@ +@using System.Globalization +@inject NavigationManager NavigationManager + +

+ +

+ +@code +{ + private CultureInfo[] supportedCultures = new[] + { + new CultureInfo("en-US"), + new CultureInfo("fr-FR") + }; + + private CultureInfo Culture + { + get => CultureInfo.CurrentCulture; + set + { + if (CultureInfo.CurrentUICulture == value) + { + return; + } + + var culture = value.Name.ToLower(CultureInfo.InvariantCulture); + + var uri = new Uri(this.NavigationManager.Uri).GetComponents(UriComponents.PathAndQuery, UriFormat.Unescaped); + var query = $"?culture={Uri.EscapeDataString(culture)}&" + $"redirectUri={Uri.EscapeDataString(uri)}"; + + // Redirect the user to the culture controller to set the cookie + this.NavigationManager.NavigateTo("/Culture/SetCulture" + query, forceLoad: true); + } + } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor b/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor index d62d291..eab28e1 100644 --- a/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor +++ b/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor @@ -15,6 +15,9 @@
+
+ +
@if (!string.IsNullOrEmpty(uLogin.Name)) { diff --git a/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj b/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj index a060d8e..f3b9e76 100644 --- a/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj +++ b/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj @@ -8,11 +8,23 @@ + + + + + + + + PublicResXFileCodeGenerator + + + PublicResXFileCodeGenerator + diff --git a/WF-WebAdmin/WF-WebAdmin/_Imports.razor b/WF-WebAdmin/WF-WebAdmin/_Imports.razor index cbc1f08..ebfca63 100644 --- a/WF-WebAdmin/WF-WebAdmin/_Imports.razor +++ b/WF-WebAdmin/WF-WebAdmin/_Imports.razor @@ -9,4 +9,5 @@ @using WF_WebAdmin @using WF_WebAdmin.Shared @using Blazorise.DataGrid +@using Blazored.Modal From b68613d4da92d6c4d2e988944e6acb0fe37409fc Mon Sep 17 00:00:00 2001 From: lebeaulato Date: Mon, 27 Jan 2025 15:26:08 +0100 Subject: [PATCH 2/7] marche pas encore --- .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 1 + .../Resources/Pages.DeleteUser.Designer.cs | 72 ++++++++++ ...er.en-US.resx => Pages.DeleteUser.en.resx} | 0 ...er.fr-FR.resx => Pages.DeleteUser.fr.resx} | 0 .../Resources/Pages.DeleteUser.resx | 123 ++++++++++++++++++ WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj | 16 ++- 6 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.Designer.cs rename WF-WebAdmin/WF-WebAdmin/Resources/{Pages.DeleteUser.en-US.resx => Pages.DeleteUser.en.resx} (100%) rename WF-WebAdmin/WF-WebAdmin/Resources/{Pages.DeleteUser.fr-FR.resx => Pages.DeleteUser.fr.resx} (100%) create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.resx diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index ce460da..112e305 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -13,6 +13,7 @@ namespace WF_WebAdmin.Pages [Inject] public IStringLocalizer Localizer { get; set; } + private bool showPopupDelete = false; private User userToDelete = null; diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.Designer.cs b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.Designer.cs new file mode 100644 index 0000000..a00ee47 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.Designer.cs @@ -0,0 +1,72 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace WF_WebAdmin.Resources { + using System; + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Pages_DeleteUser { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Pages_DeleteUser() { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WF_WebAdmin.Resources.Pages.DeleteUser", typeof(Pages_DeleteUser).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Recherche une chaîne localisée semblable à Titre par défaut. + /// + public static string Title { + get { + return ResourceManager.GetString("Title", resourceCulture); + } + } + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en.resx similarity index 100% rename from WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx rename to WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en.resx diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr.resx similarity index 100% rename from WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx rename to WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr.resx diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.resx new file mode 100644 index 0000000..2e9bfff --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Titre par défaut + + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj b/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj index f3b9e76..82f2810 100644 --- a/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj +++ b/WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj @@ -19,11 +19,23 @@ - + + True + True + Pages.DeleteUser.resx + + + + + + PublicResXFileCodeGenerator + + PublicResXFileCodeGenerator - + PublicResXFileCodeGenerator + Pages.DeleteUser.Designer.cs From 0b836046d6c03eceef19ae0f427d57763bc78de3 Mon Sep 17 00:00:00 2001 From: lebeaulato Date: Thu, 30 Jan 2025 14:39:19 +0100 Subject: [PATCH 3/7] les langues marchent --- .../Controllers/CultureController.cs | 45 ++++--- .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 1 + WF-WebAdmin/WF-WebAdmin/Pages/Login.razor | 2 +- WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs | 3 + WF-WebAdmin/WF-WebAdmin/Program.cs | 12 +- .../Resources/Pages.DeleteUser.Designer.cs | 72 ---------- ...er.en.resx => Pages.DeleteUser.en-US.resx} | 3 +- ...er.fr.resx => Pages.DeleteUser.fr-FR.resx} | 3 +- ...DeleteUser.resx => Pages.Login.en-US.resx} | 5 +- .../Resources/Pages.Login.fr-FR.resx | 124 ++++++++++++++++++ WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj | 22 +--- 11 files changed, 169 insertions(+), 123 deletions(-) delete mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.Designer.cs rename WF-WebAdmin/WF-WebAdmin/Resources/{Pages.DeleteUser.en.resx => Pages.DeleteUser.en-US.resx} (96%) rename WF-WebAdmin/WF-WebAdmin/Resources/{Pages.DeleteUser.fr.resx => Pages.DeleteUser.fr-FR.resx} (96%) rename WF-WebAdmin/WF-WebAdmin/Resources/{Pages.DeleteUser.resx => Pages.Login.en-US.resx} (96%) create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.fr-FR.resx diff --git a/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs b/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs index 8f8cfec..834b808 100644 --- a/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs +++ b/WF-WebAdmin/WF-WebAdmin/Controllers/CultureController.cs @@ -1,31 +1,34 @@ using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Mvc; -/// -/// The culture controller. -/// -[Route("[controller]/[action]")] -public class CultureController : Controller +namespace WF_WebAdmin.Controllers { /// - /// Sets the culture. + /// The culture controller. /// - /// The culture. - /// The redirect URI. - /// - /// The action result. - /// - public IActionResult SetCulture(string culture, string redirectUri) + [Route("[controller]/[action]")] + public class CultureController : Controller { - if (culture != null) + /// + /// Sets the culture. + /// + /// The culture. + /// The redirect URI. + /// + /// The action result. + /// + public IActionResult SetCulture(string culture, string redirectUri) { - // Define a cookie with the selected culture - this.HttpContext.Response.Cookies.Append( - CookieRequestCultureProvider.DefaultCookieName, - CookieRequestCultureProvider.MakeCookieValue( - new RequestCulture(culture))); - } + if (culture != null) + { + // Define a cookie with the selected culture + this.HttpContext.Response.Cookies.Append( + CookieRequestCultureProvider.DefaultCookieName, + CookieRequestCultureProvider.MakeCookieValue( + new RequestCulture(culture))); + } - return this.LocalRedirect(redirectUri); + return this.LocalRedirect(redirectUri); + } } -} \ No newline at end of file +} diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index 112e305..0903099 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.Configuration.UserSecrets; using Microsoft.Extensions.Localization; using System.Collections.Generic; using WF_WebAdmin.Model; +using WF_WebAdmin.Service; namespace WF_WebAdmin.Pages { diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor index d035565..f82fe75 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor @@ -2,7 +2,7 @@ @using WF_WebAdmin.Model @using System.Globalization -

▶ Connexion ◀

+

▶@Localizer["LoginTitle"]◀

Indice de connexion : admin / admin

-

- CurrentCulture: @CultureInfo.CurrentCulture -

+ @code { diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx index 095c714..28d0e43 100644 --- a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.en-US.resx @@ -117,8 +117,53 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + User Management gestionaire user + + Add as Admin + + + Administrator + + + Comment(s) Posted by + + + Confirm + + + Account Creation Date: + + + Delete User + + + Remove as Admin + + + Cancel + + + User Email: + + + Users present: + + + Username + + + No users present on the site + + + No comments on the site + + + Are you sure you want to delete this user? + + + Are you sure you want to change this user's role? + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx index de52c05..b43dcf4 100644 --- a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.DeleteUser.fr-FR.resx @@ -117,8 +117,53 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Gestionnaire des utilisateurs gestion user + + Ajouter en tant qu'administrateur + + + Administrateur + + + Commentaire(s) posté(s) par + + + Confirmer + + + Date de création du compte : + + + Supprimer l'utilisateur + + + Retirer en tant qu'administrateur + + + Annuler + + + Email de l'utilisateur : + + + Utilisateurs présents: + + + Nom d'utilisateur : + + + Aucun utilisateur présent sur le site + + + Aucun commentaire sur le site + + + Êtes-vous sûr de vouloir supprimer cet utilisateur ? + + + Êtes-vous sûr de vouloir changer le rôle de cet utilisateur ? + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.en-US.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.en-US.resx index b485dca..3359872 100644 --- a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.en-US.resx +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.en-US.resx @@ -117,6 +117,22 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Login + + + Enter your password + + + Enter your pseudo + + + Pseudo + id + + + Password + Login connexion diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.fr-FR.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.fr-FR.resx index 9e7752e..99aef05 100644 --- a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.fr-FR.resx +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Login.fr-FR.resx @@ -117,6 +117,22 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Se Connecter + + + Entrez votre mot de passe + + + Entrez votre pseudo + + + Identifiant + id + + + Mot de passe + Connexion connexion From 2f381cb77f0ae917c1e70d47869530678db55602 Mon Sep 17 00:00:00 2001 From: lebeaulato Date: Thu, 30 Jan 2025 15:29:38 +0100 Subject: [PATCH 5/7] trad Accueil --- WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor | 16 +- .../WF-WebAdmin/Pages/Accueil.razor.cs | 3 + WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs | 2 +- .../Resources/Pages.Accueil.en-US.resx | 141 ++++++++++++++++++ .../Resources/Pages.Accueil.fr-FR.resx | 141 ++++++++++++++++++ 5 files changed, 294 insertions(+), 9 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.en-US.resx create mode 100644 WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.fr-FR.resx diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor index 1cd75b6..099d4dd 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor @@ -1,11 +1,11 @@ @page "/Accueil" - +@using WF_WebAdmin.Model Accueil -

Bienvenu sur le tableau de bord de What the Fantasy

+

@Localizer["AccueilWelcome"]

-

Citation du jour

+

@Localizer["AccueilTitle"]

@if (Dailyquote != null) { @@ -15,8 +15,8 @@

@quote.Content

-

Personnage : @quote.Charac

-

Source : @quote.TitleSrc

+

@Localizer["AccueilCharacter"] @quote.Charac

+

@Localizer["AccueilSrc"] @quote.TitleSrc

} @@ -24,9 +24,9 @@ } else { -

Aucune citation du jour

+

@Localizer["AccueilNoQuote"]

} -

Changement de la citation manuellement

- +

@Localizer["AccueilManualChange"]

+ diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs index 379853e..797b255 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs @@ -1,5 +1,6 @@ using Blazorise.DataGrid; using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Localization; using WF_WebAdmin.Model; @@ -15,6 +16,8 @@ namespace WF_WebAdmin.Pages [Inject] public NavigationManager NavigationManager { get; set; } + [Inject] + public IStringLocalizer Localizer { get; set; } protected override async Task OnInitializedAsync() { Dailyquote = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-dataDailyQuote.json"); diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs index 2317ada..3ba9767 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs @@ -47,7 +47,7 @@ namespace WF_WebAdmin.Pages uLogin.Name = user.Name; uLogin.Image = user.Image; - NavigationManager.NavigateTo(NavigationManager.BaseUri + "/accueil"); + NavigationManager.NavigateTo(NavigationManager.BaseUri + "accueil"); return; } diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.en-US.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.en-US.resx new file mode 100644 index 0000000..5ff2d4a --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.en-US.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Put a New Random Quote + + + Character: + + + Changed Quote Manually + + + No Quote of the Day + + + Source: + + + Quote of the Day + + + Welcome to the What the Fantasy Dashboard + + \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.fr-FR.resx b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.fr-FR.resx new file mode 100644 index 0000000..607d271 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Resources/Pages.Accueil.fr-FR.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Mettre une nouvellement citation aléatoire + + + Personnage : + + + Changement de la citation manuellement + + + Aucune citation du jour + + + Source : + + + Citation du jour + + + Bienvenu sur le tableau de bord de What the Fantasy + + \ No newline at end of file From 4ee638eae7348ee2b0706481da2f67d1d510b8cc Mon Sep 17 00:00:00 2001 From: Kevin MONDEJAR Date: Thu, 30 Jan 2025 15:32:03 +0100 Subject: [PATCH 6/7] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b98784e..417ac1c 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ L'application devrait se lancer automatiquement dans votre navigateur par défau # Blazor Apps (30 points) 🟨 En cours / ✅ Fait / ❌ Pas fait

✅ Mise en place d'une page de visualisation des données avec pagination (2 points)
-🟨 Page d'ajout d'un élement avec validation (2 point)
-🟨 Page d'édition d'un élement avec validation (2 point)
+✅ Page d'ajout d'un élement avec validation (2 point)
+✅ Page d'édition d'un élement avec validation (2 point)
✅ Supression d'un élement avec une confirmation (2 point)
🟨 Composant complexe (5 point)
🟨 Use API (Get / Insert / Update / Delete) (3 point)
From f17fa7e31eee4a06f3800537c321eb5b53f8fee9 Mon Sep 17 00:00:00 2001 From: Kevin MONDEJAR Date: Thu, 30 Jan 2025 15:34:16 +0100 Subject: [PATCH 7/7] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 417ac1c..50fc366 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ L'application devrait se lancer automatiquement dans votre navigateur par défau 🟨 Use API (Get / Insert / Update / Delete) (3 point)
❌ Utilisation IOC & DI (4 point)
🟨 Localisation & Globalisation (au moins deux langues) (1 point)
-🟨 Utilisation de la configuration (1 point)
+❌ Utilisation de la configuration (1 point)
🟨 Logs (2 point)
❌ Propreté du code (Vous pouvez vous servir de sonarqube) (2 point)
✅ IHM (Design global, placement des boutons, ...) (2 point)