Skip to content

feat(lab): EN translations, fix routing and i18n#70

Merged
GMNAPI merged 18 commits into
feature/monorepo-docusaurus-labfrom
master
Mar 12, 2026
Merged

feat(lab): EN translations, fix routing and i18n#70
GMNAPI merged 18 commits into
feature/monorepo-docusaurus-labfrom
master

Conversation

@GMNAPI

@GMNAPI GMNAPI commented Mar 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Complete EN translations: blog post, docs intro, 3 architecture guides, category sidebar, homepage
  • Fix cross-plugin link in EN blog post (/docs/intro/en/docs/intro)
  • Add <Translate> to homepage components (buttons, tagline, feature cards)
  • Remove fr locale, set trailingSlash: false
  • Fix absolute paths in intro links for trailingSlash

Test plan

  • Home EN shows translated text (tagline, buttons, feature cards)
  • Blog EN shows English content
  • Docs sidebar shows "Architecture Guides" in EN
  • All 3 guides show EN content
  • ES locale unaffected

GMNAPI and others added 18 commits January 19, 2026 19:33
* chore(portfolio): normalize line endings to LF

Convert CRLF to LF across portfolio files for consistency

* feat(portfolio): anonimizar proyectos y actualizar timeline profesional

- Anonimizar todos los proyectos con nombres descriptivos genéricos (ej: 'Plataforma de Gestión Empresarial', 'Ecosistema Enterprise')

- Actualizar timeline profesional con 5 experiencias y períodos hasta 2025

- Actualizar subtítulo de proyectos eliminando referencia directa a clientes

- Corregir test de About para manejar múltiples elementos con año 2025

- Aplicar formato Prettier a archivos modificados

* chore(monorepo): add .gitattributes to enforce LF line endings

- Configure all text files to use LF on checkout
- Renormalize existing files with CRLF
- Prevent future CRLF issues in WSL/Windows environments

---------

Co-authored-by: DevFBI <dev@fastbyte.es>
…stions

- Resolve merge conflicts with feature/monorepo-docusaurus-lab
- Add *.svg to .gitattributes for proper line ending handling
- Fix empty achievements rendering in About.tsx (conditional ul)
- Normalize CRLF to LF in all affected files
* feat(portfolio): update CV files for ES and EN

* fix(ci): add permissions for PR comments and Lighthouse artifacts
* feat(portfolio): add LlarJove project with ia-chatbots category

- Add 'ia-chatbots' to ProjectCategoryId union type
- Add 'llarjove' slug to PROJECT_SLUGS
- Add new category and LlarJove item to es.json and en.json

* style(portfolio): fix Prettier formatting in translation files

* style(portfolio): sort ProjectCategoryId and PROJECT_SLUGS alphabetically
…67)

* feat(projects): redesign section with compact cards and detail modal

* style(projects): apply prettier formatting

* fix(modal): use ref pattern to avoid stale onClose dependency
Apply the same two-level pattern as Projects: compact SkillCard (icon +
summary + first 3 skill pills + hover overlay with usage bars) opens a
SkillModal with full skill metadata (description, years, projects,
keywords). Adds `leadership` id to SkillCategory type and fixes the
missing icon. 263 tests pass.
feat(lab): complete EN translations for blog, docs and homepage
@vercel

vercel Bot commented Mar 12, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

There is no GitHub account connected to this Vercel account.

@vercel

vercel Bot commented Mar 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
desenvolupadormaster Ready Ready Preview, Comment Mar 29, 2026 0:37am
dev-portfolio-lab Ready Ready Preview, Comment Mar 29, 2026 0:37am

@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly improves the internationalization of the lab application by providing comprehensive English translations and refining routing. Concurrently, the portfolio application receives a major UI/UX upgrade in its project and skills sections, transitioning to an interactive modal-based detail view, enhancing content presentation and user engagement.

Highlights

  • English Translations & i18n Enhancements (Lab App): Completed English translations for the blog post, documentation introduction, three architecture guides, category sidebar, and homepage elements. Fixed cross-plugin links in the English blog post and integrated <Translate> components for better internationalization on the homepage. The French locale was removed, and trailingSlash was set to false in the Docusaurus configuration.
  • Project & Skill Detail Modals (Portfolio App): Refactored the display of projects and skills to use interactive modal dialogs for detailed information, improving the user experience. This involved introducing new ProjectCard, ProjectModal, SkillCard, and SkillModal components.
  • New Content & Categories (Portfolio App): Added new project categories, including 'AI & Chatbots', and updated existing project entries with new titles and descriptions. Also updated the skill categories to include 'Leadership'.
  • Codebase Maintenance: Introduced a .gitattributes file to enforce consistent line endings (LF) across various file types and updated .nvmrc files to specify Node.js version 24.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .gitattributes
    • Added a new file to enforce consistent line endings (LF) for various text and binary files.
  • .gitignore
    • Updated the file, though the content remained functionally the same.
  • .nvmrc
    • Updated the Node.js version specification to 24.
  • apps/lab/blog/2025-03-12-bienvenida-al-blog-lab.md
    • Added a new blog post in Spanish.
  • apps/lab/blog/tags.yml
    • Updated blog tags to be more specific and tech-related.
  • apps/lab/docs/intro.md
    • Updated internal links from relative to absolute paths.
  • apps/lab/docusaurus.config.js
    • Configured trailingSlash to false and enabled the blog link in both the navbar and footer.
  • apps/lab/i18n/en/code.json
    • Added new English translation keys for homepage elements.
  • apps/lab/i18n/en/docusaurus-plugin-content-blog/2025-03-12-bienvenida-al-blog-lab.md
    • Added a new English translation for the blog post.
  • apps/lab/i18n/en/docusaurus-plugin-content-blog/options.json
    • Updated the blog sidebar title to English.
  • apps/lab/i18n/en/docusaurus-plugin-content-docs/current.json
    • Updated translation keys for the docs sidebar, changing category labels and descriptions to English.
  • apps/lab/i18n/en/docusaurus-plugin-content-docs/current/guides/category.json
    • Added a new English category definition for architecture guides.
  • apps/lab/i18n/en/docusaurus-plugin-content-docs/current/guides/clean-architecture.md
    • Added a new English documentation guide on Clean Architecture.
  • apps/lab/i18n/en/docusaurus-plugin-content-docs/current/guides/i18n-patterns.md
    • Added a new English documentation guide on i18n Patterns.
  • apps/lab/i18n/en/docusaurus-plugin-content-docs/current/guides/testing-strategy.md
    • Added a new English documentation guide on Testing Strategy.
  • apps/lab/i18n/en/docusaurus-plugin-content-docs/current/intro.md
    • Added a new English introduction page for the documentation.
  • apps/lab/i18n/en/docusaurus-theme-classic/footer.json
    • Updated English translations for footer links.
  • apps/lab/i18n/en/docusaurus-theme-classic/navbar.json
    • Updated English translations for navbar items.
  • apps/lab/src/components/HomepageFeatures/index.tsx
    • Modified homepage feature items to use <Translate> components and added links.
  • apps/lab/src/components/HomepageFeatures/styles.module.css
    • Added styles for feature links.
  • apps/lab/src/pages/index.module.css
    • Added styles for homepage buttons layout.
  • apps/lab/src/pages/index.tsx
    • Modified homepage header to use <Translate> components for tagline and buttons, and updated layout properties.
  • apps/portfolio/.nvmrc
    • Updated the Node.js version specification to 24.
  • apps/portfolio/messages/en.json
    • Updated English translations for project categories, project titles, and career experiences, and added new project entries.
  • apps/portfolio/messages/es.json
    • Updated Spanish translations for project categories, project titles, and career experiences, and added new project entries.
  • apps/portfolio/package.json
    • Added a new script dev:lab.
  • apps/portfolio/public/images/avatar-placeholder.svg
    • Updated the file, though the content remained functionally the same.
  • apps/portfolio/src/core/entities/Project.ts
    • Updated ProjectCategoryId type to include ia-chatbots and reordered categories, and added an optional imageUrl property.
  • apps/portfolio/src/features/about/About.tsx
    • Conditionally rendered achievement lists in career experiences.
  • apps/portfolio/src/features/projects/Projects.tsx
    • Refactored project display to use ProjectCard and ProjectModal components for detailed views.
  • apps/portfolio/src/features/projects/components/ProjectCard.tsx
    • Added a new component ProjectCard to display a summary of a project with hover effects.
  • apps/portfolio/src/features/projects/components/ProjectModal.tsx
    • Added a new component ProjectModal to display detailed project information in a modal dialog.
  • apps/portfolio/src/features/projects/utils/categoryColors.ts
    • Added a new utility file to define gradient colors for project categories.
  • apps/portfolio/src/features/skills/Skills.tsx
    • Refactored skill display to use SkillCard and SkillModal components for detailed views.
  • apps/portfolio/src/features/skills/components/SkillCard.tsx
    • Added a new component SkillCard to display a summary of a skill category with hover effects.
  • apps/portfolio/src/features/skills/components/SkillModal.tsx
    • Added a new component SkillModal to display detailed skill category information in a modal dialog.
  • apps/portfolio/src/shared/components/layout/Navigation.tsx
    • Updated the file, though the content remained functionally the same.
  • apps/portfolio/src/shared/components/ui/Modal.tsx
    • Added a new reusable Modal component.
  • apps/portfolio/src/shared/constants/experience.ts
    • Updated the file, though the content remained functionally the same.
  • apps/portfolio/src/shared/constants/personal.ts
    • Updated the file, though the content remained functionally the same.
  • apps/portfolio/src/shared/constants/project-slugs.ts
    • Updated project slugs to include llarjove and reordered the list.
  • apps/portfolio/src/shared/constants/skills.ts
    • Updated SkillCategory type to include leadership.
  • apps/portfolio/tests/features/about/About.test.tsx
    • Updated a test assertion to account for multiple instances of '2025' in the rendered text.
  • apps/portfolio/tests/features/hero/Hero.test.tsx
    • Updated the file, though the content remained functionally the same.
  • apps/portfolio/tests/features/projects/Projects.test.tsx
    • Updated project tests to reflect the new modal-based display for project details.
  • apps/portfolio/tests/features/projects/components/ProjectCard.test.tsx
    • Added new tests for the ProjectCard component.
  • apps/portfolio/tests/features/projects/components/ProjectModal.test.tsx
    • Added new tests for the ProjectModal component.
  • apps/portfolio/tests/features/skills/Skills.test.tsx
    • Updated skill tests to reflect the new modal-based display for skill details.
  • apps/portfolio/tests/features/skills/components/SkillCard.test.tsx
    • Added new tests for the SkillCard component.
  • apps/portfolio/tests/features/skills/components/SkillModal.test.tsx
    • Added new tests for the SkillModal component.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/ci.yml
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@GMNAPI GMNAPI merged commit 4d9dbcb into feature/monorepo-docusaurus-lab Mar 12, 2026
9 of 10 checks passed

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a wide range of improvements across both the lab and portfolio applications. For the lab app, it successfully completes English translations, fixes routing issues related to trailingSlash, and enables the blog. For the portfolio app, it significantly refactors the projects and skills sections to use a more scalable and interactive modal-based UI. The code quality is excellent, with well-structured components and thorough tests for the new features. I have one suggestion to further improve performance on the new project cards. In the future, consider splitting large, unrelated changes into separate pull requests to streamline the review process.

{/* Image / Gradient area */}
<div className="relative h-44 w-full overflow-hidden">
{project.imageUrl ? (
<img src={project.imageUrl} alt={project.title} className="h-full w-full object-cover" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For performance, consider adding loading="lazy" to this <img> tag. Since these cards are in a grid, lazy loading images that are off-screen can improve initial page load time and reduce unnecessary data transfer.

Suggested change
<img src={project.imageUrl} alt={project.title} className="h-full w-full object-cover" />
<img src={project.imageUrl} alt={project.title} className="h-full w-full object-cover" loading="lazy" />

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants