Skip to content

Commit

Permalink
Mejora en localización y UI de Experiencia
Browse files Browse the repository at this point in the history
Se han realizado múltiples mejoras en la página de Experiencia para mejorar la localización y la presentación visual de la información. En detalle, los cambios incluyen:

- Actualización del archivo `CV.csproj.user` para marcar `AllResourcesRes.en.resx` como un recurso de diseño, facilitando la gestión de cadenas de localización.
- Modificación de `Experiencia.razor` para soportar rutas localizadas (`/Experiencia` y `/Experience`), inyección de `IStringLocalizer<AllResourcesRes>` para localización de texto, y reestructuración de la sección de experiencia usando `RadzenCard` para una presentación más organizada y visual.
- Refactorización del método `GetDateSince` en `Experiencia.razor` para usar estructuras `switch`, mejorando la legibilidad del código.
- Adición de nuevas entradas de recursos en `AllResourcesRes.Designer.cs` y `AllResourcesRes.resx` para ambos idiomas, ampliando el contenido de la página con nuevas experiencias y roles.
- Modificación de `SharedSection.razor` para mostrar condicionalmente imágenes y distintivos (`Badges`), enriqueciendo la representación visual de las tecnologías y habilidades asociadas a cada experiencia.

Estos cambios contribuyen a una mejor experiencia de usuario al visitar la página de Experiencia, con una localización más robusta y una presentación de información más clara y atractiva.
  • Loading branch information
hesolar committed Jul 1, 2024
1 parent 42623bd commit b17c13a
Show file tree
Hide file tree
Showing 6 changed files with 232 additions and 60 deletions.
5 changes: 5 additions & 0 deletions CV.csproj.user
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,9 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Update="Shared\Resources\AllResourcesRes.en.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
</Project>
143 changes: 100 additions & 43 deletions Pages/Experiencia.razor
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

@page "/Experiencia"
@page "/Experiencia"
@page "/Experience"
@using CV.Shared.Resources
@using CV.Shared
Expand All @@ -11,47 +10,86 @@
<section class="resume-section" id="experiencia">




<div class="resume-section-content">
<h2 class="mb-0">
<span class="text-primary"> @AllResourcesResolver["navbar_experiencia"]</span>
</h2>
<br>

<SharedSection AltImagen="Hiberus Tecnología"
Description=@(@$"{AllResourcesResolver["programadorWebJuniorHiberusDescripcion1"]}<br><li>{AllResourcesResolver["programadorWebJuniorHiberusDescripcion2"]}</li><li>{AllResourcesResolver["programadorWebJuniorHiberusDescripcion3"]}</li>".StringToRenderFragament())
Subtitulo=@AllResourcesResolver["programadorWebJuniorHiberusSubTitulo"]
SrcImagen="assets/img/logoHiberus.png"
Titulo=@AllResourcesResolver["programadorWebJuniorHiberusTitulo"]
TiempoTrabajo=@GetDateSince(new DateTime(2022,6,1))/>

<SharedSection AltImagen="Hiberus Tecnología"
Description=@(AllResourcesResolver["contratoPracticasHiberus1Descripcion"].ToString().StringToRenderFragament())
Subtitulo=@AllResourcesResolver["contratoPracticasHiberus1Subitulo"]
SrcImagen="assets/img/logoHiberus.png"
Titulo=@AllResourcesResolver["contratoPracticasHiberus1Titulo"]
TiempoTrabajo=@($"dc 2011 - mar. 2013 · 4 {AllResourcesResolver["meses"]}") />

<SharedSection AltImagen="Gnoss Tecnología"
Description=@AllResourcesResolver["contratoPracticasGnossDescripcion"].ToString().StringToRenderFragament()
Subtitulo=@AllResourcesResolver["contratoPracticasGnossSubitulo"]
SrcImagen="assets/img/logoGnoss.png"
Titulo=@AllResourcesResolver["contratoPracticasHiberus1Titulo"]
TiempoTrabajo=@($"sept. 2021 - dc. 2021 · 4 {AllResourcesResolver["meses"]})") />

<SharedSection AltImagen="Hiberus Tecnología"
Description=@AllResourcesResolver["contratoPracticasHiberus2Descripcion"].ToString().StringToRenderFragament()
Subtitulo=@AllResourcesResolver["contratoPracticasGnossSubitulo"]
SrcImagen="assets/img/logoHiberus.png"
Titulo=@AllResourcesResolver["contratoPracticasHiberus1Titulo"]
TiempoTrabajo=@($"jul. 2021 - sept. 2021 · 3 {AllResourcesResolver["meses"]}") />

<RadzenCard>


<SharedSection AltImagen="Hiberus Tecnología"
Description=@(@$"{AllResourcesResolver["GAD_descripcion"] }<br>{AllResourcesResolver["GAD_descripcion2"]}".ToString().StringToRenderFragament())
SrcImagen="assets/img/logoHiberus.png"
Titulo=@AllResourcesResolver["GAD"]
TiempoTrabajo=@($"jn 2022 - {AllResourcesResolver["actualidad"]}, {GetDateSince(new DateTime(2022,6,1))}")
Subtitulo=@($"{AllResourcesResolver["participating"]} {AllResourcesResolver["GAD"]}")
Badges=@(new List<string> { "C#", "ASP.NET", "HTML", "CSS", "Jenkins", "Bootstrap", "Git", "SonarQube" ,"Gitlab", "Nexus"}) />

<SharedSection Description=@(@$"{AllResourcesResolver["GAT_descripcion"] }<br>{AllResourcesResolver["GAT_descripcion2"]}".ToString().StringToRenderFragament())
Titulo=@AllResourcesResolver["GAT"]
TiempoTrabajo=@($"feb 2024 - {AllResourcesResolver["actualidad"]}, {GetDateSince(new DateTime(2024,1,1))}")
Subtitulo=@($"{AllResourcesResolver["participating"]} {AllResourcesResolver["GAT"]}")
Badges=@(new List<string> { "C#", "ASP.NET", "Blazor", "CSS", "EF", "OpenAPI Swagger", "NET8", "DDD" ,"Scrum", "SqlServer"}) />



<SharedSection AltImagen="Hiberus Tecnología"
Description=@(@$"<li>{AllResourcesResolver["programadorWebJuniorHiberusDescripcion3"]}</li>".StringToRenderFragament())
Subtitulo=@AllResourcesResolver["programadorWebJuniorHiberusSubTitulo"]
Titulo=@AllResourcesResolver["programadorWebJuniorHiberusTitulo"]
TiempoTrabajo=@($"jn 2022 - nov 2023 1 {AllResourcesResolver["year"]}, 6 {AllResourcesResolver["months"]}")
Badges=@(new List<string> { "C#", "ASP.NET Framework", "MVC", "CSS", "WebForms" ,"SqlServer"}) />



<SharedSection AltImagen="Hiberus Tecnología"
Description=@(AllResourcesResolver["contratoPracticasHiberus1Descripcion"].ToString().StringToRenderFragament())
Subtitulo=@AllResourcesResolver["contratoPracticasHiberus1Subitulo"]
Titulo=@AllResourcesResolver["contratoPracticasHiberus1Titulo"]
TiempoTrabajo=@($"dc 2011 - mar. 2013 · 4 {AllResourcesResolver["meses"]}")
Badges=@(new List<string> { "C#", "ASP.NET", "Blazor Server", "CSS", "HTML"}) />




</RadzenCard>
<hr />

<RadzenCard>

<SharedSection AltImagen="Gnoss Tecnología"
Description=@AllResourcesResolver["contratoPracticasGnossDescripcion"].ToString().StringToRenderFragament()
Subtitulo=@AllResourcesResolver["contratoPracticasGnossSubitulo"]
SrcImagen="assets/img/logoGnoss.png"
Titulo=@AllResourcesResolver["contratoPracticasHiberus1Titulo"]
TiempoTrabajo=@($"sept. 2021 - dc. 2021 · 4 {AllResourcesResolver["meses"]})")
Badges=@(new List<string> { "C#", "ASP.NET", "MVC", "CSS", "HTML"}) />


</RadzenCard>
<hr />
<RadzenCard>


<SharedSection AltImagen="Hiberus Tecnología"
Description=@AllResourcesResolver["contratoPracticasHiberus2Descripcion"].ToString().StringToRenderFragament()
Subtitulo=@AllResourcesResolver["contratoPracticasGnossSubitulo"]
SrcImagen="assets/img/logoHiberus.png"
Titulo=@AllResourcesResolver["contratoPracticasHiberus1Titulo"]
TiempoTrabajo=@($"jul. 2021 - sept. 2021 · 3 {AllResourcesResolver["meses"]}")
Badges=@(new List<string> { "C#", "ASP.NET", "MVC", "CSS", "HTML", "SQL Server"}) />

</RadzenCard>

</div>
</section>
<hr class="m-0" />

@code{
@code {
String GetDateSince(DateTime fromDate)
{
DateTime currentDate = DateTime.Now;
Expand Down Expand Up @@ -79,17 +117,36 @@
string monthResource;
string yearResource;

if (months == 0) monthResource = "";
if (months == 1) monthResource = $"1 {AllResourcesResolver["month"]}";
else monthResource = $"{months} {AllResourcesResolver["months"]}";


if (years == 0) yearResource = "";
if (years == 1) yearResource = $"1 {AllResourcesResolver["year"]}";
else yearResource = $"{years} {AllResourcesResolver["years"]}";
return ($" {monthResource}, {yearResource} ");


switch (months)
{
case 0:
monthResource = "";
break;
case 1:
monthResource = $"1 {AllResourcesResolver["month"]}";
break;
default:
monthResource = $"{months} {AllResourcesResolver["months"]}";
break;
}


switch (years)
{
case 0:
yearResource = "";
break;
case 1:
yearResource = $"1 {AllResourcesResolver["year"]}, ";
break;
default:
yearResource = $"{years} {AllResourcesResolver["years"]}, ";
break;
}

return ($" {yearResource}{monthResource} ");


}


Expand Down
66 changes: 60 additions & 6 deletions Shared/Resources/AllResourcesRes.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 22 additions & 7 deletions Shared/Resources/AllResourcesRes.en.resx
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="actualidad" xml:space="preserve">
<value>actualidad</value>
</data>
<data name="actualidad1" xml:space="preserve">
<value>actualidad</value>
<value>Up to the present</value>
</data>
<data name="Az204Descripcion" xml:space="preserve">
<value>Desarrollo de aplicaciones en la nube y gestión de infraestructura</value>
Expand Down Expand Up @@ -309,6 +306,24 @@
<data name="EntityFrameworkDeVerdadTitle" xml:space="preserve">
<value>Curso Entity Framework Core </value>
</data>
<data name="GAD" xml:space="preserve">
<value>Grupo de Arquitectura de Desarrollo</value>
</data>
<data name="GAD_descripcion" xml:space="preserve">
<value>El grupo de Arquitectura de Desarrollo is a cross-functional team whose main role is to support developers in aspects related to development and the integration of their products into the CI/CD process</value>
</data>
<data name="GAD_descripcion2" xml:space="preserve">
<value>.In addition to providing support, the team also undertakes work to improve the organization's infrastructure, for example, by implementing pipelines in Jenkins and automating QA processes using SonarQube. Another small part of the work involves researching and proposing new technologies that help developers meet service needs.</value>
</data>
<data name="GAT" xml:space="preserve">
<value>Grupo de Arquitectura Técnico</value>
</data>
<data name="GAT_descripcion" xml:space="preserve">
<value>Develop the foundational architecture for the new products to be onboarded onto the service, using a new architecture in NET8 based on DDD."</value>
</data>
<data name="GAT_descripcion2" xml:space="preserve">
<value>In addition to this, support is also provided and incidents that the development team may encounter are reviewed, working with Scrum.</value>
</data>
<data name="idCredencial" xml:space="preserve">
<value>ID de la credencial:</value>
</data>
Expand Down Expand Up @@ -369,15 +384,15 @@
<data name="navbar_tecnologias1" xml:space="preserve">
<value>Tecnologías</value>
</data>
<data name="Participating" xml:space="preserve">
<value>Participating in </value>
</data>
<data name="programadorWebJuniorHiberusDescripcion1" xml:space="preserve">
<value>Mi trabajo en gobierno de Navarra se puede dividir en dos áreas: GAD y Vivienda.</value>
</data>
<data name="programadorWebJuniorHiberusDescripcion11" xml:space="preserve">
<value>Mi trabajo en gobierno de Navarra se puede dividir en dos áreas: GAD y Vivienda.</value>
</data>
<data name="programadorWebJuniorHiberusDescripcion2" xml:space="preserve">
<value>El equipo GAD (Grupo de Arquitectura de Desarrollo) es un equipo transversal cuya función principal es apoyar a los desarrolladores en aspectos relacionados con el desarrollo e integración de sus productos en el proceso de CI/CD. He podido colaborar con el proceso de CI/CD dentro de la organización a través de Jenkins, y mejorar la calidad del código a través de procesos de QA automatizados con SonarQube, además de investigar y proponer nuevas tecnologías que ayuden a la organización con las necesidades que van surgiendo.</value>
</data>
<data name="programadorWebJuniorHiberusDescripcion21" xml:space="preserve">
<value>El equipo GAD (Grupo de Arquitectura de Desarrollo) es un equipo transversal cuya función principal es apoyar a los desarrolladores en aspectos relacionados con el desarrollo e integración de sus productos en el proceso de CI/CD. He podido colaborar con el proceso de CI/CD dentro de la organización a través de Jenkins, y mejorar la calidad del código a través de procesos de QA automatizados con SonarQube, además de investigar y proponer nuevas tecnologías que ayuden a la organización con las necesidades que van surgiendo.</value>
</data>
Expand Down
Loading

0 comments on commit b17c13a

Please sign in to comment.